zoukankan      html  css  js  c++  java
  • IPv6报头结构以及与IPv4的比较

    下面比较一下两种报头。Version  字段在两种协议中没有变化。IPv6 丢弃了 IPv4 的 Internet Header Length  、Type of Service  、Identification  、Flags 、Fragment Offset  和 Header Checksum  字段。Total Lenght 、Time to Live  和 Protocol  字段在 IPv6 中有了新名字,功能稍微进行了重新定义。IPv4中的 Option 字段已从报头中消失,改为 Extension 功能。最后,IPv6 加入了两个新字段:Traffic Class 和Flow Label 。分别介绍一下IPv6包的每个报头字段。

         Version:Version 字段的长度仍是4位,它指明了协议版本号。

         Traffic Class:这个8位字段可以为包赋予不同的类别或优先级。它类似IPv4的Type of Service字段,为差异化服务留有余地。

         Flow Label:Flow Label字段是IPv6的新增字段。源节点使用这个20位字段,为特定序列的包请求特殊处理(效果好于尽力转发)。实时数据传输如语音和视频可以使用Flow Label字段以确保QoS。

         Payload Length:这个16位字段表明了有效载荷长度。与IPv4包中的 Total Length字段不同,这个字段的值并未算上IPv6的40位报头。计算的只是报头后面的扩展和数据部分的长度。因为该字段长16位,所以能表示高达 64KB的数据有效载荷。如果有效载荷更大,则由超大包(jumbogram)扩展部分表示。

         Next Header:这个8位字段类似IPv4中的Protocol字段,但有些 差异。在IPv4包中,传输层报头如TCP或UDP始终跟在IP报头后面。在IPv6中,扩展部分可以插在IP报头和传输层报头当中。这类扩展部分包括验 证、加密和分片功能。Next Header字段表明了传输层报头或扩展部分是否跟在IPv6报头后面。

         Hop Limit:这个8位代替了IPv4中的TTL字段。它在经过规定数量的路由 段后会将包丢弃,从而防止了包被永远转发。包经过一个路由器,Hop Limit字段的值就减少一个。IPv4使用了时值(time value),每经过一个路由段就从TTL字段减去一秒。IPv6用段值(hop value)换掉了时值。

         Source Address:该字段指明了始发主机的起始地址,其长度为128位。

         Destination Address:该字段指明了传输信号的目标地址,其长度为128位。

         网络人员可能会惊讶地发现校验和与分片字段从 IPv6 的报头当中消失了。丢弃包的报头校验和是为了提高路由效率。虽然包报头仍有可能出现错误,新协议的设计人员却认为这种风险可以接受,尤其是考虑到IP层的 上下层:数据链路层和传输层会检查错误。

         至于分片,IPv6 确实允许对包进行分割,但这过程在报头的扩展部分而不是报头本身进行。此外,IPv6包只能由源节点进行分割、目标节点进行重新组装:不允许路由器介入进 来对包进行分割或重新组装。这种分片特性的目的在于降低传输中的处理开销,而且假定如今网络的帧大小足够大,大多数包不需要分片。

  • 相关阅读:
    2、react-生命周期1※※※
    4.vue class 绑定- model基础应用
    1.react的基础
    Leetcode 5429 数组中的 k 个最强值
    leetcode 21.合并两个有序链表(迭代)
    【Postman请求无响应】Can not get any response
    【PageHelper】插件不生效的原因及解决办法
    【fasterxml.jackson】字段(反)序列号问题Access.WRITE_ONLY
    【SpringCloud-Maven】依赖版本比对
    【Charles】抓包工具使用
  • 原文地址:https://www.cnblogs.com/goodloop/p/124106.html
Copyright © 2011-2022 走看看