文章插图
文章插图
一次DNS的递归查询,首先会查询根域名服务器(.),然后是com.,edu.,等顶级域,根域名服务器承载了全球ipv4的域名解析,他的数量肯定是越多越好,为什么一次查询根域名服务器器只返回13个IP地 址呢?我们先看看DNS包结构,再分析DNS包传输的?一些限制;
【查询网站服务器所在地 服务器查看地址】1、DNS包传输限制
以太?的最?传输单元(MTU)是1500,就是说一次链路上传输的最?长度是1500,结合下图,IP?部20字节,UDP?部8字节,DNS包的?度是否是1500减去28呢?
DNS主要使?用UDP协议,由于UDP协议是不不可靠的传输,没有TCP协议的超时和重传机制,所以UDP服务为了了避免分?片,都会对应?用做?个包长度的限制;
先来直观的看?一下TCP协议传输?长度的协商机制:
TCP协议在三次握手的时候,SYN包?里面的MSS字段代表TCP协议的最?报文段?度,通常情况下,MSS=MTU-20(IP?部长度)-20(TCP首部长度),通信的两端都通告?己能接收的最?大MSS,TCP协 议会选择两边较小的MSS作为这条连接的MSS,TCP协议设计的这种机制可以避免链路发生分片;
DNS限制?度是512字节,那么为什么是512呢?查阅相关资料料得知,IP协议实现规定,要求主机最少能 够收发576个字节的数据报 。UDP的应用程序的限制?这个?度要小,?多应用限制在512字节 。
2、DNS之UDP和TCP传输
DNS协议有UDP,TCP两种,通常wireshark抓包看到的DNS请求通常都是UDP协议的,例如以下包:
看?一下DNS 响应包中的字段:
其中,Truncated:字段代表响应是否被截断,当时Truncated:被置为1时,就意味着响应超过了了512字节,当前响应只返回了前512字节,这时DNS server会使?用TCP重发原来的请求,这样显然增加了了域 名解析时间 。
当查询根域的NS记录时,为了了在?一个报?文中传完响应,512字节只够返回包含13个根域名服务器器的NS记录和A记录;所以虽然从?络覆盖角度考虑根域名服务器器的地址越多越好,实际上一次查询根域名服 务器器只返回到13个IP地址 。
- linux服务器dns配置安装 Linux安装DNS服务
- 主流服务器有哪些 高端服务器品牌
- 电商网页源代码 电子商务网站源代码
- oracle 查询分页 oracle分页查询sql语句怎么写
- mysql找出重复的数据 mysql重复数据查询
- 服务器的主机名是什么意思 主机名和服务器名
- 阿里云服务器怎么建网站 阿里云搭建网页
- 阿里云服务器数据备份 阿里云服务器如何备份数据
- 服务器装liunx系统 Linux服务器配置与管理
- hp服务器驱动下载 HP安装驱动