為什麼域名根服務器只能有13臺呢?

念念舊!


嚴格說來,這個問題應該這麼問:為什麼『IPv4協議』的域名根服務『節點』只能有13『個』呢?

只有IPv4協議的域名才有這個限制,IPv6的根節點不止13個;而且每個『節點』肯定不是隻有一臺服務器,不然怎麼扛得住。

至於為什麼IPv4協議的域名根服務節點只能有13個呢?

因為IPv4協議一族設計之初就是用UDP協議來實現域名解析,而一個UDP報文的有效負載(payload)也就512個字節,當一個非根DNS服務器啟動的時候,設計成一個UDP報文要能裝下所有的根服務節點基本信息,畢竟512個字節有限,所以根服務節點數量當然要限制住了。

我也不想做精確的計算,我也不覺得必須是13,把協議設計得稍微複雜一點,不要只用一個UDP報文來啟動行不行呢?理論上肯定行啊,但是前人的規(xie)矩(yi)就是這麼指定的,後人也只能遵守了。

IPv6無此限制。


不一樣的程序猿


確切的說不是13臺,是13個集群。

這也是受當時的技術限制造成的,因為網絡傳輸限制,必須讓所有的根服務器數據能包含在一個512字節的UDP包中,所以根服務器只能限制在13個,並且每個服務器要使用字母表中的單個字母命名,這也是根服務器從A到M命名的原因。

不過,這是IPv4時代的事兒了,現在在與現有IPv4根服務器體系架構充分兼容基礎上,由下一代互聯網國家工程中心牽頭髮起的“雪人計劃”於2016年在美國、日本、印度、俄羅斯、德國、法國等全球16個國家完成了25臺IPv6(互聯網協議第六版)根服務器架設,事實上形成了13臺原有根域名服務器+25臺IPv6根域名服務器的新格局。

咱們中國部署了其中的4臺,由1臺主根服務器和3臺輔根服務器組成,打破了中國過去沒有根服務器的困境!


域名家


為什麼域名根服務器只能有 13 臺呢?

其實對於一個小白,這個問題核心並不是 13 臺,而是,域名根服務器什麼,查詢的過程是怎麼樣呢?

不算太久以前的基礎知識

DNS 是一種分層結構,在整個互聯網中組成一個樹狀系統,頂層是系統的根域名,下層為 TLD 以及二級域名,葉子就構成了所謂的 FQDN ( Fully Qualified Domain Names ),根域名通常使用 "." 來表示,其實際上也是由域名組成,全世界目前有 13 組域名根節點,由少數幾個國家進行管理,而國內僅有幾臺根節點鏡像。

為什麼是 13,還重要嗎?

是不是感覺沒那麼重要了呢。

是這樣的,在 DNS 設計之初,在龜速的網絡下,當然是希望做Prime Query查Root Servers性價比達到最高啦。

DNS 是用 UDP 傳數據的,而設計的時候規定 DNS 查詢時,一個包的能放的數據最多是 512 Bytes,為什麼是 512 Bytes,為什麼域名根服務器只能有 13 臺呢? - 車小胖的回答 - 知乎 做了完整的回答,摘錄一點如下:

Internet 大多數網絡接口 MTU>512,即使 DNS 報文 + UDP+ IP= 512+8+20=540,這個大小几乎可以在 Internet 上暢通無阻,而無需 IP 分片。

為何 IP 分片不好? 一個 UDP 報文如果因為 size > MTU,則會被 IP 層分成兩片多片,但是隻有一片有端口號,由於其它分片沒有端口號,能否通過防火牆則完全看防火牆的臉色,所以對於能否通信成功是一個未知數。

如果防火牆網開一面,不檢查端口號,分片可以全部通行,到目的地再組裝到一起,IP 層提交給 UDP/DNS,一點問題沒有。但是防火牆的安全功能大打折扣,如何阻止非法的外來攻擊包?

如果防火牆嚴格檢查端口號,則沒有端口號的分片則統統丟棄,造成通信障礙。

所以選擇一個合適的 UDP size 至關重要,避免分片。

有同學說,對於 MTU <512 物理接口的 DNS 如何處理?這個其實好辦,這些只是接入層接口,用於接入終端用戶,用戶的 DNS 請求是請求其上一級 DNS 服務器做遞歸查詢(告訴我最終查詢結果)

接著就是13這個數字的果了。

為了做Prime Query查Root Servers性價比達到最高,肯定是一個包能放多少東西就塞多少東西,所以把所有Root Servers的結果都塞進去,剛好能塞 14 個,不全用就塞 13 個吧,留下一點東西以備後患,留待擴展。


小夜數碼


根服務器主要用於管理互聯網的主目錄,全球只有13臺(從A到M命名),1個主根服務器在美國,其餘12個均為輔根服務器,其中美國9個,剩下三個分別在英國、瑞典、日本。

只有13個的原因,是受限於DNS協議(域名解析協議),DNS使用了端口上的UDP和TCP協議,UDP通常用於查詢和響應,TCP用於主服務器與從服務器之間的傳送。由於在所有UDP查詢和響應中能保證正常工作的長度為512字節,從而限制了根服務器的數量和名字。

從某種程度上來說,根服務器控制著全球範圍內的互聯網,掌握了根服務器的國家相當於掌控了多國互聯網命脈。(ipv4的IP地址在2011年2月已經全部分配完,想想那個時候是不是感覺手機、電腦啥的總是很卡,而且那個時間段前後流量上網費是不是稍微上提。)。

同時在全球共享13臺根服務器的管理體系下卻以美國為主導,對於其他國家的網絡安全構成巨大威脅。

1997年,根服務器之間自動傳遞了一份因人為失誤造成的空白互聯網地址分配清單。此次失誤導致互聯網出現了最嚴重的局部服務中斷,數天之內電子郵件無法發送,網頁無法訪問。

2002年,13臺根服務器遭遇歷來規模最龐大的DDoS攻擊(分佈式拒絕服務,可以理解為採取合理請求佔用過多系統資源)。超過常規數量30~40倍的數據猛烈地入侵根服務器,致使7臺喪失對網絡通信的處理能力,2臺無法正常運作,陷於癱瘓。

2014年,“65.49.2.178事件”。由於DNS汙染或DNS劫持等原因,我國境內DNS域名解析系統出現大範圍的訪問故障,導致百度、新浪等多家知名網站長達數小時無法訪問。

由我國互聯網工程中心牽頭於2013年聯合WIDE機構(現國際互聯網M根運營者)、國際互聯網工程中心等組織發起“雪人計劃”。基於第六版互聯網協議IPV6等全新技術框架,旨在打破全球共享13臺根服務器的數量限制。目前,已在全球範圍內完成了25臺IPV6根服務器架設,主根服務器3個分佈在中美日,輔根服務器中國3個,美國2個,其餘國家分享17個輔根服務器。

2017年11月,由國務院辦公廳下發了《推進互聯網協議第六版(IPV6)規模部署行動計劃》。對相關行業制定詳細目標。(有興趣可以瞭解下,國務院官網上有)

計劃提出,到2025年,我國IPV6網絡規模、用戶規模、流量規模要位居世界第一,網絡、應用、終端全面支持IPV6,全面完成向下一代互聯網的平滑演進升級,形成全球領先的下一代互聯網技術產業體系。

與IPV4相比,IPV6具有

1更大的地址空間,IP地址長度為128,最大地址數量為2^128個

2使用更小的路由表,提高了路由器轉發數據包的速度

3增加增強的組播支持以及對流支持,為服務質量控制提供了良好的網絡平臺

4加入了對自動設置的支持,對網絡的管理更加方便快捷

5用戶可以對網絡層的數據進行加密並對IP報文進行校驗,安全性更高

6有新的技術或應用需要,IPV6允許協議進行補充。

因為題主並不是問IPV6的相關問題,這裡我就簡單說了幾條。

補充:

1目前我國IPV4地址3.37億個,佔比不到全球10%,人均不到0.45個。

2國內16年三大運營商數據

電信,全網城域網邊緣的寬帶網絡接入服務器/多業務邊緣 路由器已有96%支持IPV6協議,超過220個城域網開啟IPV4/IPV6雙棧協議。全國三星級以上IDC已全部支持IPV6接入。

移動,在北京,上海等十幾個城市等對移動/固定上網、移動核心網、IP城域網、IP骨幹網等進行IPV6升級,同時改造部分業務平臺支持IPV6。

聯通,已經完成對China169骨幹網的IPV6改造,在骨幹網所有核心層設備和北京、上海、廣州、深圳、瀋陽、大連、濟南、青島、鄭州、武漢等10個試點城市骨幹網設備開啟IPV4/IPV6雙棧協議,並對40個四星和五星機房進行了IPV6改造。


感冒灬了


根域名服務器只有13臺的說法是怎麼來的呢?這是源於DNS協議在不使用EDNS0和TCP協議時,通過UDP協議傳輸的DNS消息最大長度需要限制在512字節(不包括IP頭部、UDP頭部),超出部分要被截斷。有了最大長度限制後,一個UDP協議傳輸的DNS響應能夠返回的資源記錄數量就是有限的。

512字節的限制是在RFC 1035中規定的,為了更好的性能我們需要將響應限制在一個響應報文中完成,也就是隻有512字節可以用了。

當我們查詢根域(.)的NS記錄時,512字節只夠返回包含13個由A-M命名的根域名服務器的NS記錄和A記錄的響應。NS記錄在回答區段中,A記錄在額外信息區段中,A記錄用於幫助你接下來向根域名服務器進一步查詢。


互聯網產品規劃師


13臺,130臺,你倒是用起來啊。說了很多年了,服務器都被放成老爺機了。


狐說百道


不是十三臺,也不是十三個集群,而是13個IP。

多臺服務器採用相同的ip,但是地理位置可以不同。

DNS根服務器採用任播連接,也就是連接離你最近的根服務器。大多數情況下,我們並不連接或直接連接根服務器,而是其它公共dns服務器,運營商的最多。

實際上,DNS根服務器也不會直接解析域名,而是告訴你可以到哪個服務器上去解析。舉個例子吧:

你要訪問a.bb.cc.com,你連接到了你的運營商的dns服務器,然後運營商DNS服務器沒有相關緩存的話,就會返回它的父DNS服務器。然後你的電腦連接新的DNS服務器,,,最終如果這一系列的服務器都沒查詢到,你會連接到根服務器上去查詢,但根服務器只會告訴你.com這個頂級域名的DNS服務器,然後告訴你.cc.com的DNS服務器,,,這樣,你就拿到了a.bb.cc.com的ip了,這時才開始訪問目標服務器。

當然在實際設計中,會有很多優化。

DNS服務器設計上也有多種,一種是返回其它DNS服務器ip,你自己重新發起dns查詢。另一種代為連接其它DNS服務器進行查詢,最終直接返回目標ip。


夢中有你12094026


根服務器其實並不複雜,不是不可取代的,只是使用方便程度的區別,當然也是可以安裝更多根服務器的,但是為了避免網絡混亂,必須在其他服務器分配一些網段給新的服務器。

排除服務器硬件性能的區別,根服務器所處的網絡位置,決定了他所能管理的機器數量。

舉個例子,比如說一個學校的校園網也是可以組一臺根服務器,而這臺根服務器只限於管理整個校園網。把這個方案無限放大,城網,國網,再到全球根服務器。

假設美國關閉根服務器,網絡也不會中斷,因為早就有緩存服務器,記錄了各種網絡信息。

公網IP的不同隻影響了全球網絡的訪問,而不會影響區域內網絡訪問,只要一個網段內的網絡沒有重複IP就可以互訪。比如8.1.1.1是由美國根服務器分配,但你隨時可以在自己的區域網內使用這個IP,只要雙方沒有互訪,完全不受影響。

為了保證網絡的有序,不能大量重複的部署,否則大家都無法互訪,互聯網就不復存在了。但是我還得重提,這並不是什麼高端技術,如果美國拿這個來說事,沒有任何意義。


遙歌莫名


那是美國自己歸定的,假如國內自己建個自己的互聯網,不允許他國接入,那麼域名服務器多少個都可以。而互聯網起源以美國,所以人家要控制了。所以現在科學家們在研究怎麼使互聯網不被國家控制,像比特幣一樣,為分部式互聯機制。


一生何求22953


這個東西沒什麼為什麼,只是當初設計的時候就沒考慮什麼太大的擴展性,就像傳聞很久的比爾蓋茨的640K內存那樣,什麼技術都有侷限性,只是有些技術可以快速迭代更新,有些技術不行。互聯網傳輸模型就屬於更新迭代慢的技術代表,ipv4在20年前就知道問題所在了,但現在全球的ipv6普及度也不是很高。國家大力推廣ipv6其實對運營商來說,很多核心是設備都不一定支持,然後更新這些設備是很困難的。


分享到:


相關文章: