问题
应该丢弃带有未知IPv6扩展头的数据包吗?
详细信息
通过检查RFC,我找不到这个问题的答案。“IPv6 Essentials”一书第22页写道:
如果一个节点需要下一个报头,但无法识别下一个标头字段中的值,则需要丢弃该数据包并将ICMPv6参数问题消息发送回数据包的源。
我将其理解为:不能丢弃带有自定义扩展头的IPv6数据包,除非路径上的所有IPv6堆栈都知道如何处理标头。或者,如果路径上的单个IPv6设备不知道如何处理自定义标头,它就会丢弃数据包。
这似乎与扩展的一般思想不一致:在不升级整个网络的情况下,我不能引入新的扩展,即使自定义扩展不影响一般的IPv6堆栈。
发布于 2012-03-24 05:31:49
来自RFC2460 (因特网协议,版本6 (IPv6)):
If, as a result of processing a header, a node is required to proceed
to the next header but the Next Header value in the current header is
unrecognized by the node, it should discard the packet and send an
ICMP Parameter Problem message to the source of the packet, with an
ICMP Code value of 1 ("unrecognized Next Header type encountered")
and the ICMP Pointer field containing the offset of the unrecognized
value within the original packet. The same action should be taken if
a node encounters a Next Header value of zero in any header other
than an IPv6 header.当扩展头使用下一个标头字段时,我会将其解释为意味着您将丢弃数据包并将ICMP错误发回。注意,他只适用于目标主机。路由器应该忽略所有扩展头:
With one exception, extension headers are not examined or processed
by any node along a packet's delivery path, until the packet reaches
the node (or each of the set of nodes, in the case of multicast)
identified in the Destination Address field of the IPv6 header.https://stackoverflow.com/questions/9847923
复制相似问题