网络层——IP协议(IP协议报头&IP报文的分片与组装)

1 IP协议报头
IP协议报头
各字段解释:
版本号:占4位,指IP协议的版本,有IPv4和IPv6两种,对于IPv4协议该字段就是4
首部长度:占4位,指IP协议的报头长度,范围在20-60字节
区分服务:占8位,只有在使用区分服务时该字段才有作用,一般情况下不使用该字段
长度:占16位,指IP协议的总长度:报头长度+数据长度
根据IP报头来看,长度占16位,长度应该在65535个字节,但实际传送不了这么大长度的IP报文;
IP报文的长度是依据下层数据链路层规定的数据帧中的数据字段的最大长度,称为最大传输单元MTU;
一般最大传输单元MTU的长度为1500个字节,所以IP报文最大长度为1500个字节,若超过该长度,IP报文会被分片。

16位标识、3位标志、13位片偏移用于IP报文的分片和组装
标识:占16位,由于IP报文有长度的限制,超过MTU会被分片,而在交付给上层时需要将IP报文组装,该字段用于唯一标识一个IP报文
标志:占3位,第一位为保留位,第二位表示该IP报文是否分片(1表示禁止分片,0表示分片),第三位表示该IP报文是否为最后一个
片偏移:占13位,在报文分片时有效,表示该片报文应位于整个IP报文的那个位置

生存时间TTL:占8位,在路由时通过一跳与多跳的方式查找路径,为防止某个报文在网络中一直处于游离状态,无限循环,所以在报头中规定了报文在网络中最多经过路由器的数量,也就是该报文的最大跳数
协议类型:占8位,表示该IP报文要交给上层的那个协议(UDP或TCP)
首部校验和:占16位,鉴别头部是否有损坏
源IP:占32位,表示该IP报文从哪里来
目的IP:占32位,表示该IP报文要发送到哪里

2 IP报文的分片和组装
当IP报文的总长度超过MTU(1500)字节时,该IP报文需要在网络中分片发送,
接收端会根据接收到的IP报文报头的16位标识,3位标志和13位片偏移有效的对分片报文进行组装。
IP报文的分片和组装
报文分片组装的缺点:
(1)报文的其中一个分片丢失会造成整个报文的丢失,增大报文丢失的可能性,降低了数据传输的可靠性;
(2)报文的分片组装需要IP层自己来做,借助IP协议报头中的标识、标志和片偏移字段进行报文的分片和组装会增大数据传输的成本,降低数据传输的性能。
【注】:若某IP报文分片后在网络传输的过程中,某一篇报文丢失,则会认为该IP报文整体丢失,触发重传机制

猜你喜欢

转载自blog.csdn.net/weixin_39294633/article/details/81154914
今日推荐