一、OSI七层网络模型
OSI 网络模型共有 7 层,分别是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。
- 应用层,负责给应用程序提供统一的接口;
- 表示层,负责把数据转换成兼容另一个系统能识别的格式;
- 会话层,负责建立、管理和终止表示层实体之间的通信会话;
- 传输层,负责端到端的数据传输;
- 网络层,负责数据的路由、转发、分片;
- 数据链路层,负责数据的封帧和差错检测,以及 MAC 寻址;
- 物理层,负责在物理网络中传输数据帧;
OSI 网络模型提出的只是概念理论上的分层,并没有提供具体的实现方案。
二、TCP/IP四层网络模型
TCP/IP 网络模型共有 4 层,分别是应用层、传输层、网络层和网络接口层。
- 应用层:负责向用户提供一组应用程序,比如 HTTP、DNS、FTP 等;
- 传输层:负责端到端的通信,比如 TCP、UDP 等;
- 网络层:负责网络包的封装、分片、路由、转发,比如 IP、ICMP 等;
- 网络接口层:负责网络包在物理网络中的传输,比如网络包的封帧、 MAC 寻址、差错检测,以及通过网卡传输网络帧等;
数据在各层的封装如下图:
在以太网中,规定最大传输单元(MTU)是 1500
字节,也就是规定了单次传输的最大 IP 包大小。
当网络包超过 MTU 的大小,就会在网络层分片,以确保分片后的 IP 包不会超过 MTU 大小,如果 MTU 越小,需要的分包就越多,那么网络吞吐能力就越差,相反的,如果 MTU 越大,需要的分包就越少,那么网络吞吐能力就越好。
三、OSI七层模型与TCP/IP四层模型的区别
1.TCP/IP 网络模型:常见、实用、简单
2.常说的七层和四层负载均衡,是用 OSI 网络模型来描述的,七层对应的是应用层,四层对应的是传输层。