【发布时间】:2017-02-25 01:53:35
【问题描述】:
为什么 DNS 使用 UDP 作为传输层协议?
【问题讨论】:
-
大多数查询适合一条消息。如果没有得到答复,您可以重新发送消息。开销低于 TCP。
为什么 DNS 使用 UDP 作为传输层协议?
【问题讨论】:
你可以在这里阅读: https://www.geeksforgeeks.org/why-does-dns-use-udp-and-not-tcp/
【讨论】:
DNS 仅使用 不 UDP - 有时它也使用 TCP。 2)TCP的慢主要在于not在连接建立上(反过来not只是3次握手)。 3) 可靠性可以添加到更高层,但 不是 DNS 的情况。
UDP 很便宜。 UDP 本身并不可靠,但更高级别的协议(如 DNS)可以保持可靠性,例如在没有响应的情况下重复UDP数据报。
但DNS 的情况并非如此。 DNS 本身有时也使用除了UDP(作为其主要协议)之外的可靠传输控制协议 (TCP)。
当响应数据大小超过512 字节时使用最后一个,并且用于需要可靠传递的任务(例如区域传输)。
此外,还有一些解析器实现将TCP 用于所有个查询。
【讨论】: