網站域名查詢系統推薦,伺服器地址查詢所在地

一次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服務為了了避免分⽚片,都會對應⽤用做⼀個包長度的限制;

DNS為什麼查詢根域名伺服器只返回13個IP地址

先來直觀的看⼀一下TCP協議傳輸⻓長度的協商機制:

DNS為什麼查詢根域名伺服器只返回13個IP地址

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為什麼查詢根域名伺服器只返回13個IP地址

看⼀一下DNS 響應包中的欄位:

DNS為什麼查詢根域名伺服器只返回13個IP地址

其中,Truncated:欄位代表響應是否被截斷,當時Truncated:被置為1時,就意味著響應超過了了512位元組,當前響應只返回了前512位元組,這時DNS server會使⽤用TCP重發原來的請求,這樣顯然增加了了域 名解析時間。

當查詢根域的NS記錄時,為了了在⼀一個報⽂文中傳完響應,512位元組只夠返回包含13個根域名伺服器器的NS記錄和A記錄;所以雖然從⽹絡覆蓋角度考慮根域名伺服器器的地址越多越好,實際上一次查詢根域名服 務器器只返回到13個IP地址。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/233232.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-11 13:25
下一篇 2024-12-11 13:30

相關推薦

發表回復

登錄後才能評論