美文网首页
DNS分别在什么情况下使用UDP和TCP

DNS分别在什么情况下使用UDP和TCP

作者: JackyTsuuuy | 来源:发表于2016-04-28 00:26 被阅读144次

(本文源于转载或摘抄整理)

DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。

如果用wireshark、sniffer或古老些的tcpdump抓包分析,会发现几乎所有的情况都是在使用UDP,使用TCP的情况非常罕见,神秘兮兮。其实当解析器发出一个request后,返回的response中的tc删节标志比特位被置1时,说明反馈报文因为超长而有删节。这是因为UDP的报文最大长度为512字节。解析器发现后,将使用TCP重发request,TCP允许报文长度超过512字节。既然TCP能将data stream分成多个segment,它就能用更多的segment来传送任意长度的数据。

另外一种情况是,当一个域的辅助域名服务器启动时,将从该域的主域名服务器primary DNS server执行区域传送。除此之外,辅域名服务器也会定时(一般时3小时)向PDS进行查询以便了解SOA的数据是否有变动。如有变动,也会执行一次区域传送。区域传送将使用TCP而不是UDP,因为传送的数据量比一个request或response多得多。

DNS主要还是使用UDP,解析器还是服务端都必须自己处理重传和超时。DNS往往需要跨越广域网或互联网,分组丢失率和往返时间的不确定性要更大些,这对于DNS客户端来说是个考验,好的重传和超时检测就显得更重要了。

(本篇为转载,内容稍作删减)

相关文章

  • DNS分别在什么情况下使用UDP和TCP

    (本文源于转载或摘抄整理) DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情...

  • DNS服务器(1)

    一、基础概念 DNS:Domain Name ServiceDNS使用TCP和UDP两个协议的53端口。 DNS正...

  • TCP协议为什么可靠?

    我们都知道,TCP和UDP协议的区别在于TCP可以提供可靠的网络数据传输,但UDP不能。 为什么TCP比较可靠呢?...

  • DNS何时使用TCP协议,何时使用UDP协议?

    DNS 同时占用 UDP 和 TCP 端口 53 是公认的,这种单个应用协议同时使用两种传输协议的情况在 TCP/...

  • DNS使用TCP还是UDP数据报?

    DNS同时占用TCP和UDP的53号端口。因为查询很频繁,使用UDP报文给服务器带来的负担小,所以查询的时候使用的...

  • note_19.1_DNS

    DNS and Bind 传输层协议: TCP, UDP, SCTP TCP: Transmission Cont...

  • DNS何时使用TCP与UDP协议?

    导读DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是...

  • DNS和BIND

    DNS DNS:Domain Name Service 应用层协议(C/S,53/udp, 53/tcp) 域名 ...

  • DNS同时使用TCP和UDP协议

    DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另...

  • 第十章、网络相关

    一、了解DNS解析吗? 域名到IP地址的映射,DNS解析请求采用UDP数据报,且明文。之所以采用UDP,TCP连接...

网友评论

      本文标题:DNS分别在什么情况下使用UDP和TCP

      本文链接:https://www.haomeiwen.com/subject/sugrlttx.html