TCP/IP协议族体系结构及主要协议
TCP/IP协议族是一个四层协议系统,自底而上分别是数据链路层、网络层、传输层、应用层。每一层完成不同的功能,通过若干协议来实现,上层协议使用下层协议提供的服务。
数据链路层
数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介(以太网、令牌环等)上的传输。不同的物理网络具有不同的电气特性,网络驱动程序隐藏这些细节,为上层协议提供一个统一的接口。
数据链路层两个常用的协议ARP和RARP。实现了IP地址和机器物理地址的(MAC地址)之间的相互转换。
网络层
网络层实现数据包的选路和转发。
网络层最核心的协议是IP协议,IP协议根据数据包的目的IP地址来决定如何投递。
网络层另一个重要的协议是ICMP协议,是IP协议的重要补充,主要用于检测网络连接。
传输层
传输层为两台主机上的应用程序提供端到端(end to end)的通信。
传输层协议主要有三个:TCP协议、UDP协议、SCTP协议。
TCP协议为应用层提供可靠的、面向连接的和基于流的服务。
UDP协议与TCP协议相反,为应用层提供不可靠、无连接和基于数据报的服务。
SCTP协议是一种相对较新的传输层协议,为在因特网上传输电话信号而设计的。
应用层
应用层负责处理应用程序的逻辑。
封装
上层协议是如何使用下层协议提供的服务?通过封装实现的。
应用程序数据在发送到物理网络上之前,将沿着协议栈从上往下一次传递。每层协议都将在上层数据的基础上加上自己的头部信息(有时还有尾部信息),以实现该层的功能。这个过程称为封装。
经过TCP封装后的数据称为TCP报文段。
经过UDP封装后的数据称为UDP数据报。
经过IP封装后的数据称为IP数据报。
经过数据链路层封装的数据称为帧。
帧的最大传输单元(MTU),即帧最多能携带多少上层协议数据,通常收到网络类型的限制。以太网的MTU是1500字节。因此,过长的IP数据报可能需要被分片传输。
分用
当帧到达目的主机时,将沿着协议栈自底向上依次传递。各层协议依次处理帧中本层负责的头部数据,以获取所需的信息,最终将处理后的帧交给目标应用程序。这个过程称为分用。
在顶层目标服务看来,封装和分用似乎没有发生过。