P包分片
图片.png网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文需要分割成若干个较小的片段才能够在链路上传输。将报文分割为多个片段的过程叫作分片。
接受端根据分片报文中的标识符(Identification),标识(Flags),以及片偏移(Fragment Offset)字段对分片报文进行重组。标识符用于识别属于同一个数据包的分片,以区别于同一主机或其他主机发送的其他数据包分片,保证分片被正确的重新组合。标识字段用于判断是否已经收到最后一个分片。最后一个分片的标志字段设置为0,其他分片的标志字段设置为1,目的端在收到标志字段为0的分片后,开始重组报文。片偏移字段表示每个分片在原始报文中的位置。第一个分片的片便宜为0,第二个分片的片便宜表示紧跟第一个分片后的第一个比特的位置。
eg: 如果首片报文包含1259 bit,那么第二个片报文的片偏移字段值就应该是1260。
生存时间
生存时间:TTL = Time to live
图片.png
报文在网段间转发时,如果网络设备上的路由规则不合理,就可能会出现环路,导致报文在网络中无限循环,无法到达目的端。环路发送后,所有发往这个目的地的报文都会循环被循环转发,随着这种报文逐渐增多,网络将会发送拥塞。
为了避免环路导致的网络拥塞,IP报文头中包含一个生存时间TTL(Time To Live)字段。报文每经过一台三层设备(有可能是三层交换机),TTL值减1.初始TTL值由源端设备设置。当报文中的TTL降为0时,报文会被丢弃掉。同时,丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。
协议号
图片.png目的端的网络层在接受并处理报文以后,需要决定下一步对报文该做如何处理。IP报文头中的协议字段标识了将会继续处理报文的协议。与以太帧头中的Type字段类似,协议字段也是一个十六进制数。该字段可以标识网络层协议(eg: ICMP),也可以标识上传协议(eg: TCP(0x06), UDP(0x11))。
网友评论