IPV6数据包的伪头字段

时间:2013-07-09 06:57:29

标签: c network-programming ipv6

我正在计算IPV6数据包的校验和值。

如果是扩展标题,如何计算伪地址的目标地址和长度字段的值?

1 个答案:

答案 0 :(得分:2)

RFC 2460 section 8.1指定了所有这些。一些亮点:

当使用更改目标地址的扩展标头时确定伪标头目标地址时,使用收件人可以看到的目标地址:

  

如果IPv6数据包包含路由标头,则为目标地址   伪标头中使用的是最终目的地的标头。在   发起节点,该地址将在最后一个元素中   路由头;在收件人,该地址将在   IPv6标头的目标地址字段。

确定上层数据包长度时,不计算任何扩展标头,只计算最终(上层)标头及其数据:

  

伪标头中的上层分组长度是长度   上层报头和数据(例如,TCP报头加TCP数据)。   一些上层协议携带自己的长度信息(例如,   UDP头中的Length字段);对于这样的协议,就是这样   伪标头中使用的长度。其他协议(如TCP)可以   不携带自己的长度信息,在这种情况下使用的长度   在伪标头中是来自IPv6标头的有效负载长度减去   IPv6标头之间存在的任何扩展标头的长度   和上层标题。