IP包头格式.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IP包头格式 |8 | 8 |8 | 8 | 版本头部长度服务类型总长度标识符标记分片偏移生存时间协议头部校验和源地址目的地址可选项 …… 填充项 *版本(version)——标识了数据包的IP版本号。这个4位字段的值设置为二进制的0100表示IP版本4(IPv4),设置为0110表示IP版本6(IPv6)。 *报头长度(header length)——字段长度为4位,正如字段名所示,它表示32位字长的IP报头长度。设计报头长度字段是因为数据包的可选项字段的大小会发生变化。IP报头最小长度为20个八位组,最大可以扩展到60个八位组——通过这个字段也可以描述32位字的最大长度。 *服务类型(TOS,type of service)——字段长度为8位,它用来指定特殊的数据包处理方式。服务类型字段实际上被划分为两个子字段:优先级和ToS。优先级用来设置数据包的优先级,这就像邮寄包裹一样,可以是平信、隔日送到或两日内送到。ToS允许按照吞吐量、时延、可靠性和费用方式选择传输服务。虽然ToS字段通常不用(所有位均被设置为0),但是开放式最短路径优先(OSPF)协议的早期规范中还是称为ToS路由选择。优先权位偶尔在服务质量(QoS)应用中使用。更详细的信息可以参见RFC1340和RFC1349。 *总长度(total length)——数据包总长度字段的长度为16位,以八位组为单位计,其中包括IP报头。接收者用IP数据包总长度减去IP报头长度,就可以确定数据包数据有效负载的大小。16位长的二进制数用十进制表示最大可以为65535,所以IP数据包的最大长度是65535。 *标识符(identifier)——字段长度为16位,通常与标记字段和分片偏移字段一起用于数据包的分段。如果数据包原始长度超过数据包所要经过的数据链路的最大传输单元(MTU),那么必须将数据包分段为更小的数据包。例如,一个大小为5000字节的数据包在穿过网络时,如果遇到一条MTU为1500字节的数据链路,即数据帧最多容纳大小为1500字节的数据包。路由器需要在数据成帧之前将数据包分段成多个数据包,其中每个数据包长度不得超过1500字节;然后路由器在??片数据包的标识字段上打上相同的标记,以便接收设备可以识别出属于一个数据包的分段。 *标记字段(flag)——长度为3位,其中第1位没有使用。第2位是不分段(DF)位。当DF位被设置为1时,表示路由器不能对数据包进行分段处理。如果数据包由于不能被分段而未能被转发,那么路由器将丢弃该数据包并向源点发送错误消息。这一功能可以在网络上用于测试MTU值。第3位表示还有更多分段(MF)位,当路由器对数据包进行分段时,除了最后一个分段的MF位位置为0外,其他所有分段的MF位均设置为1,以便接收者直到收到MF位为的分段为止。 *分片偏移(fragment offset)——字段长度为13位,以8个八位组为单位,用于指明分段起始点相对于报头起始点的偏移量。由于分片到达时可能错序,所发分片偏移字段可以使接收者按照正确的顺序重组数据包。 请注意,如果一个分片在传输中丢失,那么必须在网络中同一点对整个数据包重新分片重新发送。因此,容易发生故障的数据链路会造成时延不成比例。另外,如果由于网络拥塞而造成分片丢失,那么和重传分片会进一步加重网络拥塞。 当一个分片在丢失后,一整个数据包会被要求重传,而且是由源地址进行重传,而不是由进行分片的路由器来进行重传。 *生存时间(TTL,time to live)——字段长度为8位,在最初创建数据包时TTL即被设置为某个特定值。当数据包逐个沿路由器被传输时,每台路由器都会降低TTL值。当TTL值减为0时,路由器会丢弃该数据包并向源点发送错误信息。这种方法可以防止数据包在网络中无休止的被传输。 按照最初构想,TTL值以S(秒)为单位。如果数据包在路由器上被延迟的时间超过1S,路由器将会相应地调整TTL值。然而,这种方法实施起来十分困难,从来没有被广泛地支持。现在的路由器不管实际时延是多少,统统将TTL值减少1,所以TTL实际上是表示跳数。虽然TTL常见的值为15和32,但是建议的缺省值是64。 路由器的tracert命令即是使用的这个字段。当数据包从源地址发出时TTL值被置为1,当第一跳路由器收到时,会进行路由,同时TTL会减1,此时会发现TTL为0,则不能正常发送,向源地址传送一个错误信息。这时候源地址接收到错误信息后,会根据该错误信息中的源地址,来判断路由路径中的第一步,这时候,再将TT

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档