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