基础 | 网络 - [网络模型]
@
§1 七层/四层模型
OSI(Open System Interconnect),即开放系统互联模型,就是我们说的七层模型
层次如下:
- 引用层(Application):提供应用服务
- 表示层(presentation):数据格式化、加密等
- 会话层(Session):建立、管理、维护会话
- 传输层(Transport):建立、维护端对端连接
- 网络层(Network):IP选址路由等
- 数据链路层(DataLink):提供介质访问与链路管理
- 物理层(Physical):硬件资源
TCP/IP,就是我们说的四层模型,是对七层模型的封装简化
层次如下:
- 应用层:七层协议中传输层以上
- 传输层:七层协议中传输层
- 网络层:七层协议中网络层
- 网络接口层:七层协议中数据链路和物理层,网络接口是指硬件设备对接网络的接口
七层/四层协议对照关系如下:
| 七层 | 含义 | 四层 |
|---|---|---|
| 引用层(Application) | 提供应用服务 | 应用层 |
| 表示层(presentation) | 数据格式化、加密等 | 应用层 |
| 会话层(Session) | 建立、管理、维护会话 | 应用层 |
| 传输层(Transport) | 建立、维护端对端连接 | 传输层 |
| 网络层(Network) | IP选址路由等 | 网络层 |
| 数据链路层(DataLink) | 提供介质访问与链路管理 | 网络接口层 |
| 物理层(Physical) | 硬件资源 | 网络接口层 |
§2 网络协议过程简明过程(以浏览器发送请求到服务器为例)
客户端(浏览器)发送请求
- 浏览器发起对服务器的请求
- 到达应用层:收集 http 协议头信息
包括请求行、请求头、请求体等,示例如下GET URI HTTP/1.1 Connection:keep-alive Content-Type:application/json [params] - 到达传输层:收集 TCP 头信息,增加端口号
----------------TCP-------------- 客户端端口信息 服务端端口信息 ----------------HTTP-------------- GET URI HTTP/1.1 Connection:keep-alive Content-Type:application/json [params] - 到达网络层:收集网络信息,增加 IP、MAC
-----------------MAC------------- 客户端 MAC 网关 MAC -----------------IP----------------- 客户端 IP 服务端 IP -----------------TCP-------------- 客户端端口信息 服务端端口信息 ----------------HTTP------------- GET URI HTTP/1.1 Connection:keep-alive Content-Type:application/json [params] - 到达网络接口层:把上述内容作为二进制流传输
服务端接收请求
- 到达网络接口层:解析二进制流
-----------------MAC------------- 客户端 MAC 网关 MAC -----------------IP----------------- 客户端 IP 服务端 IP -----------------TCP-------------- 客户端端口信息 服务端端口信息 ----------------HTTP------------- GET URI HTTP/1.1 Connection:keep-alive Content-Type:application/json [params] - 到达网络层:拆掉 MAC/IP 信息
----------------TCP-------------- 客户端端口信息 服务端端口信息 ----------------HTTP-------------- GET URI HTTP/1.1 Connection:keep-alive Content-Type:application/json [params] - 到达传输层:拆掉 TCP 信息
GET URI HTTP/1.1 Connection:keep-alive Content-Type:application/json [params] - 到达应用层:解析 Http 信息,封装为 request 对象

浙公网安备 33010602011771号