轻知 | 为什么全球只有13组根域名服务器?
歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術實踐干貨哦~
本文由9527發(fā)表
根域名服務器是域名解析系統(tǒng)(DNS)中最為頂級的域名服務器,它們負責管理頂級域的權(quán)威域名服務器地址。作為互聯(lián)網(wǎng)基礎設施的重要部分,所有域名的解析操作均離不開它們。下面我們將從 DNS 協(xié)議實現(xiàn)的角度分析為什么全球只有13組根域名服務器。
13組根域名服務器的信息
其中,13組根域名服務器以英文字母 a 到 m 順序命名,域名格式為“a~m.root-servers.net”,如“b.root-servers.net”。
DNS 數(shù)據(jù)包的大小限制
我們知道 DNS 協(xié)議是應用層協(xié)議,大多數(shù)情況下依賴傳輸層的 UDP 協(xié)議進行數(shù)據(jù)的傳輸(僅在重試的情況下可能使用 TCP 協(xié)議)。根據(jù)RFC 791規(guī)定,未保證 UDP 數(shù)據(jù)包傳輸成功率,盡量數(shù)據(jù)包控制在 571 字節(jié)以使數(shù)據(jù)包不會被分片傳輸。
除去 UDP 數(shù)據(jù)包自身包頭占用的字節(jié)數(shù),DNS 數(shù)據(jù)包被設計為不超過512字節(jié)。
DNS 協(xié)議格式
下面我們從根域名解析的返回數(shù)據(jù)包截圖:
我們假設根域名由 N 組,計算數(shù)據(jù)包各部分字節(jié)占用的情況如下:
Header 部分占用12個字節(jié),包括 Transaction ID (2字節(jié)),F(xiàn)lags (2字節(jié)),Questions (2字節(jié)),Answer RRs (2字節(jié)),Authority RRs (2字節(jié)),Additional RRs (2字節(jié));
Question Section 部分占用5個字節(jié),包括根標簽(1字節(jié)),Class (2字節(jié),基本取值都是IN),查詢類型(2字節(jié));
Answer Section 部分占用的字節(jié)數(shù)為所有記錄字節(jié)數(shù)之和,每條記錄包括根標簽(1字節(jié)),TTL (4字節(jié)),Class (2字節(jié),基本取值都是IN),查詢類型(2字節(jié)),域名存儲占用的字節(jié)數(shù);因為域名在 DNS 解析協(xié)議當中按照長度(2字節(jié))+數(shù)據(jù)的形式存儲,其中數(shù)據(jù)部分是分段存儲的,存儲格式如下所示,所以第一條記錄的域名存儲占用22個字節(jié),繼而第一條記錄總共占用31個字節(jié);而從第二條記錄開始,因為記錄中出現(xiàn)的域名存在部分內(nèi)容與第一條記錄重復,即“root-servers.net”部分,這部分可以利用 DNS 指針壓縮存儲,只需要存儲2個字節(jié)的指針,指向第一條記錄出現(xiàn)的部分,而不需要存儲實際的內(nèi)容,所以第二條記錄~N條記錄占用的字節(jié)數(shù)分別為11+4=15個字節(jié);
Additional Section 部分占用的字節(jié)數(shù)為所有記錄字節(jié)數(shù)之和,每條記錄包括域名,TTL (4字節(jié)),Class (2字節(jié),基本取值都是IN),查詢類型(2字節(jié)),IP 地址(2字節(jié)長度+4字節(jié)內(nèi)容);因為 Additional Section 記錄的域名都在 Answer Section 中出現(xiàn)過,所以這部分都可以利用 DNS 指針壓縮存儲,只需要存儲2個字節(jié)的指針即可表示對應的域名,所以Additional Section 部分的記錄占用的字節(jié)數(shù)為2+4+2+2+6=16個字節(jié);
綜上所述,數(shù)據(jù)包總長度為12+5+(31+(15(N-1))+16N,再根據(jù)前述 DNS 大小限制不超過512字節(jié)的要求,可以得 N 不超過15組,再加上早期設計的時候考慮到預留一些 buffer 于是就有了現(xiàn)在全球13組根域名服務器的結(jié)果。
此文已由作者授權(quán)騰訊云+社區(qū)發(fā)布,更多原文請點擊
搜索關注公眾號「云加社區(qū)」,第一時間獲取技術干貨,關注后回復1024 送你一份技術課程大禮包!
總結(jié)
以上是生活随笔為你收集整理的轻知 | 为什么全球只有13组根域名服务器?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Winform-图片上传
- 下一篇: 招商银行手机银行怎么开通?要收费吗?