IPv6徽标认证测试用例v6LC.4.1.12:验证数据包太大

IPv6徽标认证测试用例v6LC.4.1.12:验证数据包太大,ip,ping,ipv6,network-protocols,icmpv6,Ip,Ping,Ipv6,Network Protocols,Icmpv6,我已经问了一个问题,这个问题与数据包过大ICMPv6消息中有效负载的用途有关 根据最新的IPv6徽标认证,我遇到了这样一个测试用例:发送方将ICMPV6回显请求消息发送到目标,中间有一些路由器,而接收方(目标)收到了回显请求。 那么 接收方发送ICMPv6回显回复,但从路由器获得的ICMPv6数据包过大消息介于两者之间,错误/伪造的回显回复头作为有效负载附加到(PTB)数据包过大消息。(故意发送错误的有效载荷) 同样,发送方发送的ICMPv6回显请求,由于上述步骤1,现在接收方开始分割回显回复(

我已经问了一个问题,这个问题与数据包过大ICMPv6消息中有效负载的用途有关

根据最新的IPv6徽标认证,我遇到了这样一个测试用例:发送方将ICMPV6回显请求消息发送到目标,中间有一些路由器,而接收方(目标)收到了回显请求。 那么

  • 接收方发送ICMPv6回显回复,但从路由器获得的ICMPv6数据包过大消息介于两者之间,错误/伪造的回显回复头作为有效负载附加到(PTB)数据包过大消息。(故意发送错误的有效载荷)

  • 同样,发送方发送的ICMPv6回显请求,由于上述步骤1,现在接收方开始分割回显回复(即,在未验证PTB有效负载的情况下,接收方更改了其MTU值)

  • 根据测试用例,在收到PTB消息上错误或伪造的有效负载时,我们不应更改MTU(有效负载将是由于路径MTU较少而无法转发的原始数据包)

    但是这看起来不需要为echo reply验证PTB,而且似乎没有合适的用例,这个测试用例对我来说是无效的,因为我们从不存储内核发送的echo reply的状态来验证PTB,以防PTB在其负载上携带错误的ICMPv6 reply头

    如果这是一个有效的案例,那么我想知道我们如何实现它的逻辑,如果不是,那么为什么这个测试案例会出现在IPV6徽标认证中


    链接到包含测试用例的文档(测试用例编号v6LC.4.1.12)

    这一切都是为了方便PMTUD。IPv6无法像IPv4那样对路径中的数据包进行分段,因此需要执行PMTUD。有些人只是将IPv6 MTU设置为路径中允许的最小值(1280)以避免PMTUD。@RonMaupin你说的是对的,但这不是我的问题。我想知道为什么要验证回送回复的有效负载,却因为路径MTU较小而无法发送到目的地。我从RFC 8021点1中了解到这一点许多实现无法对ICMP错误执行验证,应该注意的是,在某些情况下,例如(假定)无连接传输协议(或封装在IPv6中的其他无连接协议)引发ICMPv6错误消息时,实际上,可能无法对收到的ICMPv6错误消息执行验证检查。而且,由于IPv6扩展头的原因,ICMPv6负载甚至可能不包含任何有用的信息来执行验证检查通常进行更新,以反映到这样一个目的地的任何后续数据包都应该包括一个片段头。这意味着单个ICMPv6 PTB错误消息可能会影响与此目的地的多个通信实例(例如TCP连接)。正在测试您的操作系统是否不会接受不正确或伪造的信息来调整其MTU。请理解,在某些合法情况下,您有不对称路由(非常常见),并且返回路径中的MTU将不同,因此您必须考虑到这一点,并针对此类情况调整MTU,但您需要针对无效消息进行保护。