TCP/IP 协议分层

协议分层

  • 节点(主机、路由器)上的软件结构
  • 分层的基本原理
  • IP的实现软件通过分层后便于理解
  • 在此协议架构上,分组传递的路径

1 分层的原因

协议需要解决的问题:
1 硬件故障
2 网络拥塞
3 分组丢失
4 延迟
5 数据污染
6 数据包重复、乱序
……
所以需要分成子问题,再分别对子问题进行解决

2 分层的基本原理

ISO 7-layer (没有具体的实现) - X.25 - (数字通信,非模拟)

​ 物理层: 主机需要与分组交换机连接,(串形线
​ 数据链路层: 主机与分组交换机之间传输数据(帧,校验与确认
​ 网络层: 定义传输的基本单位(分组 -> 分成几个帧进行传输,处理拥塞问题)
​ 传输层: 提供端到端的可靠传输 double check
​ 会话层: 处理远程终端接入
​ 表示层: 为应用层提供服务(语法转换、数据压缩加密、格式转换等
​ 应用层: 用户使用的最终目标

(复杂功能定义在网络核心上)

TCP/IP 5-layer(层与层之间的接口 -> 消息,传输分组,IP数据报,帧)

​ 应用层: 应用,(根据自身需求选择传输服务,提供报文的序号,确保传输顺序或是连续的流(流服务)
​ 传输层: 端到端的可靠通信
​ 网络层: 主机到主机间的通信(传递IP分组,使用路由算法转发)
​ (一个节点收到IP分组后:检查IP分组的合法性,选择路由输出接口,ICMP协议报文交换)
​ 网络接口层: 将网络层交付来的IP分组在具体的物理网络上传输 (例如在局域网使用MAC协议)

(网络的核心功能相对较弱,主要智能部分在传输层以上部分)

TCPIP分层传输的两种模型:

1 端到端 (分层原理:接收方收到的东西与发送方收到的东西完全一致)
高层协议(网际层以上的部分

2 机器到机器
网际层(IP分组在进过路由转发TTL时,会减1,发生的数据的改变,所以也是机器到机器
低层(网际层以下

分层的缺点:

效率降低(解决效率问题是跨层优化问题的解决方案)

多路复用 和 解多路复用

上层向下层递交的时候会添加信息,是用来解多路复用的依据

说明:

​ 1 链路层上的传输基本单位为帧,帧的TYPE字段是作为解多路复用的依据。

​ 例如,TYPE=0x800->IP, TYPE=0x806->ARP, TYPE=0x8035->RARP

​ 2 网络层上传输的IP报文中,首部Protocol字段作为解多路复用的依据。

​ 例如,protocol=1->ICMP, protocol=17->UDP, protocol=6->TCP

​ 3 传输层上的TCP/UDP报文根据目标端口号来解多路复用,对应到特定的应用。


参考资料:

  • INTERNETWORKING WITH TCP/IP PRINCIPLES, PROTOCOLS, AND ARCHITECTURE Vol1 (6th Edition). DOUGLASE E. COMER