DNS
来源:互联网 发布:scala array 转java 编辑:程序博客网 时间:2024/06/05 04:38
DNS:一种在TCP和UDP层同时占用着53端口的域名解析服务。
DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议;
DNS的规范规定了2种类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并加载数据信息,这就叫做区传送(zone transfer)。
为什么既使用TCP又使用UDP?
首先了解一下TCP与UDP传送字节的长度限制:
UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。
区域传送时使用TCP,主要有一下两点考虑:
1.辅域名服务器会定时(一般时3小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一次区域传送,进行数据同步。区域传送将使用TCP而不是UDP,因为数据同步传送的数据量比一个请求和应答的数据量要多得多。
2.TCP是一种可靠的连接,保证了数据的准确性。
域名解析时使用UDP协议:
客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过TCP三次握手,这样DNS服务器负载更低,响应更快。虽然从理论上说,客户端也可以指定向DNS服务器查询的时候使用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。
- DNS
- dns
- dns
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- DNS
- 8. CURD 操作
- 互联网的上一个五年和下一个五年(1)
- 解决fedora下右键没有新建文件
- EncodingUtils 编译不通过
- const、volatile、mutable的用法
- DNS
- Linux下的实时流媒体编程
- org.springframework.web.servlet.DispatcherServlet cannot be cast to javax.servle
- 为什么要使用SLF4J
- Latex常用数学符号
- 工厂三兄弟之工厂方法模式(四):重载,隐藏,总结
- GitHub Top 100 简介(Objective-C 项目 )
- Spring注入依赖对象
- linux c socket之多路复用:绑定多个端口