在2016年11月,Geoff对DNS根服务器进行了一系列测试,评估了它们在处理大于1,280字节UDP DNS响应时的表现。根据服务器在IPv4和IPv6环境下处理大型响应的能力,每个服务器最多可获评五星级。本文将在此基础上,进一步探讨DNS服务器在IPv6环境下处理大型UDP响应的能力。
IPv6环境下大型UDP响应的定义
在IPv6环境中,“大型”UDP响应指的是超过1,280字节的响应。这是因为1,280字节是IPv6网络中最大的非分片数据包大小,超出这个大小的数据包在标准网络中可能需要分片。IPv6主机在发送超过1,280字节的数据包时,需要能够通过IPv6分片来成功传输,或者在数据包被丢弃时,使用其他传输协议来避免发送大型数据包。
IPv6分片与ICMPv6 PTB消息
当IPv6数据包超过1,280字节时,网络元素会生成一个ICMPv6 Packet Too Big(PTB)消息,通知发送方数据包过大。这个消息包含一个常规的IPv6头部和一个ICMP有效负载,其中包含PTB代码、下一跳链路的最大传输单元(MTU)值以及尽可能多的原始IPv6数据包内容。当发送主机接收到这样的ICMPv6 PTB消息时,IP处理元素需要检查内部IPv6有效负载。根据RFC443,这个控制消息“必须传递给上层进程,如果可以识别相关进程的话”。
TCP与ICMPv6 PTB消息的处理
对于TCP,ICMPv6 PTB消息应该传递给TCP进程,并使用MTU值来减少本地主机的路径最大分段大小(MSS),以确保TCP会话适应新的路径MSS值。发送主机应该使用新的MSS值重新发送任何未确认的数据,以确保数据流符合新的MSS值。
结尾:对于运维和网络工程师来说,了解DNS根服务器在IPv6环境下处理大型UDP响应的能力具有重要意义。这有助于确保网络在高负载情况下能够稳定运行,并为用户提供更好的服务体验。通过评估和优化DNS服务器的性能,可以提升整个网络系统的可靠性和效率。
原文: APNIC Blog(2016-12-12)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog