9.1网络通信基础

一.基础概念:

1)IP地址:描述网络上的一个设备所在的位置.

2)端口号(port):区分一个主机上不同的进程,和pid一样的作用,但两者不同.

3)协议:网络通信传输数据的含义,协议表示一种约定,这种约定可以是任意的.协议分层之后,上层不需要知道下层协议的细节,可以灵活地调整,替换某层协议.

二.协议分层:

1)OSI七层网络模型(理论,并不使用):

2)TCP/IP五层(四层)网络模型(目前使用):

a.物理层:描述网络通信中一些基础设施需要遵守的规范(比如网线,网口).

b.数据链路层:相邻节点之间,数据传输的方式.

c.网络层:路径规划(起点和终点间有很多道路可供选择).

d.传输层:只关心起点和终点,不关心之间过程(数据从哪里出发,要到哪里去).

e.应用层:拿到这个数据具体用来干什么.

三.网络数据传输的基本流程(封装和分用):

1.封装:在载荷(payload)的基础上加上一些协议信息,比如报头(header).实际上就是字符串的拼接.

2.数据链路层会添加帧头和帧尾,其它协议只是添加头.

3.分用就是封装的逆过程,一次一次剥开了.

相关推荐
步行cgn几秒前
为什么 Spring 建议使用构造器注入?
java·后端·spring
Nefu_lyh2 分钟前
【工作杂谈_20261012】数据平台与工程治理: Spark OOM 排查:Java Heap、Executor 与代码内存模型
java·大数据·spark
小蒜学长3 分钟前
基于Vue.js + Spring Boot的酒店客房预订系统设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·酒店客房预订系统
真恋寄语枫秋8 分钟前
【Java零基础入门28】Java包机制详解:package包定义、import导入、权限访问、项目分层管理
java
豆角焖肉9 分钟前
SpringBoot + Redis 缓存实战
java·spring boot·redis·后端·缓存·菜单缓存
西柚不烦恼9 分钟前
jenkins版本和java版本的依赖
java·开发语言·jenkins
牧瀬クリスだ13 分钟前
Ajax入门:从原生XHR到axios实战
java·spring boot·ajax·okhttp
豆角焖肉28 分钟前
SpringBoot+JWT 实现前后端分离登录鉴权
java·开发语言·spring boot·jwt·前后端分离·登录认证
Wang's Blog36 分钟前
Java 项目部署之 Docker工具快速入门: 自定义镜像的分层结构与写时复制
java·开发语言·docker
别动我齐刘海10 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人