Ip地址为32位,即4字节。然而,在13个根dns服务器上,所有问题的答案都是相反的。

Ip地址为32位,即4字节。然而,在13个根dns服务器上,所有问题的答案都是相反的。

“.由于每个IPv4地址需要32个字节,13个服务器使用416字节,剩下的协议信息最多为96个字节。”

DNS协议从不只传输普通的IP地址,而是由DNS资源记录组成的格式正确的查询和答案。

"IPv4地址需要32个字节“可能并不是指普通IP地址的大小,而是指为在DNS协议中传输而格式化的A资源记录的大小。

当所有根DNS服务器都有唯一的、非系统的名称时,这个值看起来应该是准确的,但是由于根名称服务器现在已经被重新命名为x.ROOT-SERVERS.NET格式,所以当前的状态要复杂一些。

我刚刚在一个tcpdump DNS服务器启动时运行了BIND9,看起来第一个A记录所花费的字节略多于32个字节,因为它包括:

全名a.root-servers.net (每个名称组件的长度为一个字节,结尾为一个零字节,总计为20个字节)16位记录类型代码(2字节)16位记录类代码(2字节)32位TTL值(4个字节)16位数据长度值(2字节)32位IP地址(4字节)因此,如果您请求根DNS服务器的A记录,那么第一个应答记录实际上需要34个字节。

同一DNS消息中的任何后续应答记录都可以引用任何前面提到的名称或部分,因此,如果完整地提到了a.root-servers.net,那么b.root-servers.net可以仅用4个字节表示( b部分是2个字节,后面是两个字节-引用root-servers.net后缀)。因此,根服务器的任何其他A记录都只需要17个字节。

BIND9的实际启动查询相当于dig . NS,并且是在TCP而不是UDP上发生的。

因此,第一个应答记录是一个31字节的NS记录,列出了第一个具有全名的根DNS服务器。其他根服务器的后续NS记录每个只需要15个字节。由于作为附加信息提供的A记录将能够完整地引用每个根服务器主机名,因此根DNS服务器的每个A记录只需16个字节。响应还包括根名称服务器的IPv6 AAAA记录。即使如此,DNS响应的总长度仅为1097字节。

相关推荐

魅蓝Note5和魅蓝5谁值得入手?带出去有面子
365直播网APP下载

魅蓝Note5和魅蓝5谁值得入手?带出去有面子

08-28 👁️ 4764
还需查看航天二院更多信息?
365bet亚洲官网

还需查看航天二院更多信息?

08-16 👁️ 5657
深入观察分析!五业神香烟多少钱一条,探讨价格区间与购买因素分析