打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
为什么有的DNS使用的是UDP而不是TCP?

谢谢网络极客的邀请。为什么有的DNS使用的是UDP而不是TCP?

UDP和TCP

UDP和TCP是网络通信的两种基本协议,这两种协议各有优缺点。TCP采用连接式的通信方式,可进行多数据包的传输,并保证多数据包的传输顺序,防止丢包, TCP是一种信赖度较高的方式。但是,TCP传输延迟的问题比较明显,而且一次则只能向一台已建立连接的主机发送请求。TCP不适用于需要实时和多方通信的场合。UDP是非连接的传送方式,除了传送数据以外什么都不做。UDP的传输速度较快,但容易丢包。UDP比较适合进行单一数据包的传输,一个数据包大小是512字节,它的传输速度非常快,同时,UDP还可以同时向网段内多台主机发送数据包,这也使得UDP被很多需要实时和多方通信的应用所青睐。为了提高UDP数据传输的信赖度,在UDP的基础上,人们还开发了RTP等实时传输协议。



DNS的前世今生

网络通信依靠的是IP地址,但IP地址不太容易记忆。因此,人们给网络上的主机起了一些比较容易记忆的名称。最初,这些名称被保存在名为hosts.txt的文本文件中,这种方法现在仍然被保留着,比如,Linux上该文件被保存在/etc/hosts下。为了共享这些信息,人们把hosts.txt保存在FTP服务器上,并通过匿名访问实现统一管理。但是,这个文件迅速增大,同时,FTP服务器也不堪重负,于是,80年代初人们制定了DNS标准(RFC1034和RFC1035),对域名实施分布式管理。



DNS使用的协议

域名服务器同时使用TCP和UDP。进行域名解析的时候使用UDP,此时用一个UDP包就够了,延迟少响应快的优势可以最大限度地发挥出来。客户端或者辅助DNS需要同主DNS上的域名列表缓存进行同步时(一般3小时一次),则使用TCP协议,因为此时的数据已经远超一个UDP包的大小了。



随着IPv6的使用,域名解析的数据包已经超过了512字节,使用UDP进行域名解析就不那么可靠了,面对这个新课题,人们正在研究扩展UDP协议的办法。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
清华大佬耗时3天总结出的'常见网络协议汇总'
DNS用的是TCP协议还是UDP协议
图解计算机网络那些事儿
计算机网络基础知识大总汇
TCP和UDP协议简介
计算机网络知识汇总(超全)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服