• 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包只能由源节点进行分割、目标节点进行重新组装:不允许路由器介入进 来对包进行分割或重新组装。这种分片特性的目的在于降低传输中的处理开销,而且假定如今网络的帧大小足够大,大多数包不需要分片。

  • 相关阅读:
    leetcode Super Ugly Number
    leetcode Find Median from Data Stream
    leetcode Remove Invalid Parentheses
    leetcode Range Sum Query
    leetcode Range Sum Query
    leetcode Minimum Height Trees
    hdu 3836 Equivalent Sets
    hdu 1269 迷宫城堡
    hud 2586 How far away ?
    poj 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/goodloop/p/124106.html
Copyright © 2020-2023  润新知