domain-name-system – 为什么DNS通过UDP限制为512字节?

前端之家收集整理的这篇文章主要介绍了domain-name-system – 为什么DNS通过UDP限制为512字节?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在寻找这个问题的答案(标题中的那个),我发现的最好的事情是:

In DNS Protocol design,UDP transport Block size (payload size) has
been limited to 512-Bytes to optimize performance whilst generating
minimal network traffic.

我的问题是:这是如何增强性能的,并且在使用UDP时是否有任何其他原因导致此限制?

解决方法

512字节有效负载可确保在传输中分段时可以重新组装DNS数据包.而且,一般来说,较小的数据包随机丢弃的可能性较小.

IPv4 standard指定每个主机必须能够重组576字节或更少的数据包.使用IPv4标头(20字节,尽管它可以高达60字节w /选项)和8字节UDP标头,具有512字节有效负载的DNS数据包将小于576字节.

正如@RyanRies所说:DNS可以将TCP用于更大的有效载荷以及区域传输和DNSSEC.当TCP发挥作用时,有更多的延迟,因为与UDP不同,在任何数据开始流动之前,客户端和服务器之间会有握手.

猜你在找的HTML相关文章