OSI模型、网际网协议模型

OSI模型和网际网协议模型对应关系如下图所示:


       计算机网络各层对等实体间交换的单位信息称为协议数据单元(protocol data unit,PDU)。按照协议与服务之间的关系(物理层除外),每层的PDU都是由紧邻下层提供给本层的服务接口,作为下层的服务数据单元(service data unit,SDU)传递给下层,并由下层间接完成本层的PDU交换。如果本层的PDU大小超过紧邻下层的最大SDU限制,那么本层还要事先把PDU划分成若干个合适的片段让下层分开载送,再在相反方向把这些片段重组成PDU。同一层内SDU作为PDU的净荷(头部信息除外的信息)字段出现,因此可以说上层PDU由本层PDU(通过其SDU字段)承载。每层的PDU除用于承载紧邻上层的PDU外,也用于承载本层协议内部通信所需的控制信息。

        应用层实体(如客户或者服务器进程)间交换的PDU称为应用数据(application data),其中在TCP应用进程之间交换的是没有长度限制的单个双向字节流,在UDP应用进程之间交换的是其长度不超过UDP发送缓冲区大小的单个记录(record)。

        传输层实体间交换的PDU称为消息(message),其中TCP的PDU特称为分节(segment)。消息或分节的长度是有限的。在TCP传输层中,发送端TCP把来自应用进程的字节流数据按顺序经分割后封装在各个分节中传送给接收端TCP,其中每个分节所封装的数据既可能是发送端应用进程单次输出操作的结果,也可能是连续数次输出操作的结果,而且每个分节所封装的单次输出操作的结果或者首尾两次输出操作的结果既可能是完整的,也可能是不完整的,具体取决于在连接建立阶段由对端通告的最大分节大小(maximum segment size,MSS)以及外出接口的最大传输单元(maximun transmission unit,MTU)或外出路径的MTU(如果网络层具有路径MTU发现功能,如IPv6)。分节除了用于承载应用数据外,也用于建立连接(SYN分节)、终止连接(FIN分节)、中止连接(RST分节)、确认数据接收(ACK分节)、刷送待发数据(PSH分节)、携带紧急数据指针(URG分节),而且这些功能(包括承载数据)可以灵活组合。 UDP传输层相当简单,发送端UDP就把来自应用进程的单个记录整个封装在UDP消息中传送给接收端UDP。

        网络层实体间交换的PDU称为IP数据报(IP datagram),其长度有限:IPv4数据报最大65535字节,IPv6数据报最大65575字节。发送端IP把来自传输层的消息(或TCP分节)整个封装在IP数据报中传送。IP数据报由IP首部和所承载的传输层数据(即网络层的SDU)构成。

        链路层实体间交换的PDU称为帧(frame),其长度取决于具体的接口。过长的IP数据报无法封装在单个帧中,需要先对其SDU进行分片,再把分成的各个片段冠以新的IP首部封装到多个帧中。在一个IP数据报从源端到目的端的传送过程中,分片操作既可能发生在源端,也可能发生在途中,而其重做一般只发生在目的端。TCP/IP协议族为提高效率会尽可能避免IP的分片/重组操作:TCP根据MSS和MTU限定每个分节的大小。IPv6禁止在途中的分片操作(基于其路径MTU发现功能),IPv4也尽量避免这种操作。不论是否分片,都由IP数据报作为链路层的SDU传入链路层,并由链路层封装在帧中的数据称为分组(packet,俗称包)。可见一个分组既可能是一个完整的IP数据报,也可能是某个数据报的SDU的一个片段被冠以新的IP首部后的结果。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值