我正在计算IPV6数据包的校验和值。
如果是扩展标题,如何计算伪地址的目标地址和长度字段的值?
答案 0 :(得分:2)
RFC 2460 section 8.1指定了所有这些。一些亮点:
当使用更改目标地址的扩展标头时确定伪标头目标地址时,使用收件人可以看到的目标地址:
如果IPv6数据包包含路由标头,则为目标地址 伪标头中使用的是最终目的地的标头。在 发起节点,该地址将在最后一个元素中 路由头;在收件人,该地址将在 IPv6标头的目标地址字段。
确定上层数据包长度时,不计算任何扩展标头,只计算最终(上层)标头及其数据:
伪标头中的上层分组长度是长度 上层报头和数据(例如,TCP报头加TCP数据)。 一些上层协议携带自己的长度信息(例如, UDP头中的Length字段);对于这样的协议,就是这样 伪标头中使用的长度。其他协议(如TCP)可以 不携带自己的长度信息,在这种情况下使用的长度 在伪标头中是来自IPv6标头的有效负载长度减去 IPv6标头之间存在的任何扩展标头的长度 和上层标题。