天天看點

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

    本文主要對根伺服器的部署情況、根伺服器為什麼可以有幾十台實體伺服器共用同一個IP位址、為什麼全球隻有13個ipv4根伺服器等進行論述,其中,對一些涉及的關鍵技術進行重點說明。

一、DNS部署情況:

1.1部署情況

    根域名伺服器(英語:root name server)是網際網路域名解析系統(DNS)中最進階别的域名伺服器,負責傳回頂級域的權威域名伺服器位址。它們是網際網路基礎設施中的重要部分,因為所有域名解析操作均離不開它們。由于DNS和某些協定(未分片的使用者資料報協定(UDP)資料包在IPv4内的最大有效大小為512位元組)的共同限制,根域名伺服器位址的數量被限制為13個。幸運的是,采用anycast技術架設鏡像伺服器可解決該問題,并使得實際運作的根域名伺服器數量大大增加。根伺服器分布情況:

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

    截至2018-05-31,根伺服器系統由12個獨立根伺服器營運商營運的928個執行個體組成。以下為根伺服器管理機構及設定地點:

字母 IPv4位址 IPv6位址 自治系統編号[2] 曾用名 營運機關

設定地點

#數量(全球/地區)[3]

軟體
A 198.41.0.4 2001:503:ba3e::2:30 AS19836,[2][note 1] AS36619, AS36620, AS36622, AS36625, AS36631, AS64820[note 2][4] ns.internic.net 威瑞信

以任播技術設定于多處

5/0

NSD、威瑞信ATLAS
B 199.9.14.201[note 3][5][6] 2001:500:200::b[7] AS394353[8] ns1.isi.edu 美國南加州大學資訊學研究所

以任播技術設定于多處

2/0

BIND
C 192.33.4.12 2001:500:2::c AS2149[2][9] c.psi.net Cogent通信

以任播技術設定于多處

8/0

BIND
D 199.7.91.13[note 4][10] 2001:500:2d::d AS27[2][11] terp.umd.edu 美國馬裡蘭大學學院市分校

以任播技術設定于多處

50/67

BIND
E 192.203.230.10 2001:500:a8::e AS21556[2][12] ns.nasa.gov 美國國家航空航天局埃姆斯研究中心

以任播技術設定于多處

95/96

BIND、NSD
F 192.5.5.241 2001:500:2f::f AS3557,[2][13] AS1280, AS30132[13] ns.isc.org 網際網路系統協會

以任播技術設定于多處

57/0

BIND [14]
G[note 5] 192.112.36.4[note 6] 2001:500:12::d0d[note 7] AS5927[2][15] ns.nic.ddn.mil 美國國防資訊系統局

以任播技術設定于多處

6/0

BIND
H 198.97.190.53[note 8][16] 2001:500:1::53[note 9][17] AS1508[17][note 10][18] aos.arl.army.mil 美國陸軍研發實驗室

美國馬裡蘭州阿伯丁試驗場

以及加利福尼亞州聖地牙哥

2/0

NSD
I 192.36.148.17 2001:7fe::53 AS29216[2][19] nic.nordu.net Netnod

以任播技術設定于多處

58/0

BIND
J 192.58.128.30[note 11] 2001:503:c27::2:30 AS26415,[2][20] AS36626, AS36628, AS36632[20] 不适用 威瑞信

以任播技術設定于多處

61/13

NSD、威瑞信ATLAS
K 193.0.14.129 2001:7fd::1 AS25152[2][21][22] 不适用 歐洲IP資源網絡協調中心

以任播技術設定于多處

5/23

BIND、NSD、Knot DNS[23]
L 199.7.83.42[note 12][24] 2001:500:9f::42[note 13][25] AS20144[2][26][27] 不适用 ICANN

以任播技術設定于多處

161/0

NSD、Knot DNS[28]
M 202.12.27.33 2001:dc3::35 AS7500[2][29][30] 不适用 日本WIDE項目

以任播技術設定于多處

6/1

BIND

1.2 Anycast技術

    任播(英語:Anycast)是一種網絡定址和路由的政策,使得資料可以根據路由拓撲來決定送到“最近”或“最好”的目的地。

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料
關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

        路由圖                                                       geocast

    任播是與單點傳播(unicast)、廣播(broadcast)和多點傳播(multicast)不同的方式,如下面路由圖所示。

    在單點傳播中,在網絡位址和網絡節點之間存在一一對應的關系。在用戶端與媒體伺服器之間需要建立一個單獨的資料通道,從一台伺服器送出的每個資料包隻能傳送給一個客戶機,這種傳送方式稱為單點傳播。指網絡中從源向目的地轉發單點傳播流量的過程。單點傳播流量位址唯一。每個使用者必須分别對媒體伺服器發送單獨的查詢,而媒體伺服器必須向每個使用者發送所申請的資料包拷貝。這種巨大備援首先造成伺服器沉重的負擔,響應需要很長時間,甚至停止播放;管理人員也被迫購買硬體和帶寬來保證一定的服務品質。文字單點傳播方式下,隻有一個發送方和一個接收方。與之比較,多點傳播是指單個發送方對應一組標明接收方。

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

單點傳播

    在廣播和多點傳播中,在網絡位址和網絡節點之間存在一對多的關系:每一個目的位址對應一群接收可以複制資訊的節點。其中,多點傳播指網絡中一個節點發出的資訊被多個節點收到。與此相對的有Unicast和Broadcast,前者是指一個節點發出的資訊隻被一個節點收到,後者是指一個節點發出的資訊被子網内所有節點收到。實際上,在資料鍊路層和網絡層都有Multicast,通常所說的Multicast大多是針對IP的。這種技術用于多媒體應用、多使用者互動(如聊天室)、軟體分發等,相比與傳統的Unicast可以大大提高效率。在子網内實作 Multicast 較為簡單,跨越子網時需要路由器、網關等裝置的支援。

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

    在任播中,在網絡位址和網絡節點之間存在一對多的關系:每一個位址對應一群接收節點,但在任何給定時間,隻有其中之一可以接收到傳送端來的資訊。

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

    在網際網路中,通常使用邊界網關協定(BGP)來實作任播。

    在過去,任播适合無連線協定(通常建立在使用者資料報協定(UDP))多于連線導向協定(如會記錄狀态的傳輸控制協定(TCP))。然而,也有很多情況是傳輸控制協定使用任播的,包含運載網絡如Prolexic使用傳輸控制協定任播。

    是以,任播通常用于提供高可靠性和負載平衡。

    Anycast 指IP協定中一個發送方同最近的一組接收方之間的通信。Anycast 的定義是: 當一個單點傳播位址被配置設定到多于一個的接口上時,發到該接口的封包被網絡路由到由路由協定度量的“最近”的目标接口上。 Anycast 允許源結點向一組目标結點中的一個結點發送資料報,而這個結點由路由系統選擇,對源結點透明;同時,路由系統選擇“最近”的結點為源結點提供服務,進而在一定程度上為源結點提供了更好的服務也減輕了網絡負載。正是Anycast 這一通信模式的特點,使它在IP網絡中具有了應用前景。首先,分布的服務共享相同的IP位址,同時在IP層進行透明的服務定位,這使得各種網絡服務特别是應用層服務具有更強的透明性,比如DNS(Domain Name System,域名系統),在IPv6網絡中它可以共享一個熟知的IP位址,使用者不需要特殊配置也不用關心通路的是哪一台DNS伺服器;其次,路由系統選擇了“最近”的服務,縮短了服務響應的時間,同時減輕了網絡負載;最後,相同的服務在網絡上備援分布,路由系統可以提供機制選擇負載相對輕的帶寬相對高的路徑來轉發封包,這樣就給使用者帶來了兩個方面的好處:

    1) 減弱了分布式拒絕服務攻擊(DDoS:Distributed Denial of Service)對使用者帶來的影響。當 Anycast 組中某一個成員或者幾個成員受到攻擊時,負責封包轉發的路由器可以根據各個組成員的響應時間來決定封包應該轉發到哪個成員上,這樣受到攻擊的成員由于沒有響應,是以封包就不會被轉發到那裡,同時,由于 Anycast 提供的服務通路透明性,組成員也相對較難受到DDoS攻擊。

    2) 減弱了網絡擁塞給使用者帶來的影響。同上面的道理,當 Anycast 的某些組成員處在擁塞的網段時,它的響應時間就較長,封包可以被轉發到響應較好的成員那裡。

    舉例說Anycast的應用,以DNS請求為例,假設全國人民同一時間發送1百萬個DNS請求,他們都是發送給1.1.1.1的Anycast  DNS伺服器位址。

    宏觀上來說,所有資料包都送達給了分布在全國各地的DNS伺服器。處于各地的DNS伺服器分别接收到了一定數量的DNS請求,并作出回複。這展現了Multicast的特性。

    微觀上,某一個特定的DNS請求資料包,一定是發送給了某一台DNS主機,而不是同時又多台DNS主機接收到了此資料包。此為Unicast特性。

    在Anycast 環境下,總的來說,同時存在多個有效的資料包接收端,但是就某一個特定IP資料包而言,僅有一個接收端主機收到了此資料包。

二、多台伺服器共用IP原理

2.1概述

    DNS領域的多點部署大多采用IP Anycast+BGP方式,采用這種方式不需要額外采購裝置,部署靈活多樣。

    IP Anycast+BGP的部署必須使用能夠運作BGP的裝置與其他自治域進行路由交換,通常使用的裝置是路由器或三層交換機。然後将目标主機直接接入

    路由器或通過負載均衡裝置将多台主機接入路由器,當然此時也可以采用subnet Anycast接入目标主機。而路由器向上聯自治域廣播目标主機共享的單點傳播位址; 路由器可以從上聯自治域接收全路由表,也可以将預設路由的下一跳指向上聯自治域的路由器接口。

    這種路由器加目标主機的組合形成了單一節點,将單一節點進行複制,分别上聯到不同地理位置的不同自治域中,且路由器廣播位址相同,就形成了Anycast。當然,每個單一節點内部結構可以不同,隻要BGP廣播位址相同,目标主機提供相同服務即可。各單一節點可以使用相同的自治域号,也可以使用不同自治域号。

    Anycast名為任播,實際上也可以翻譯為無處不在的單點傳播。在如圖所示的Anycast DNS架構中,Anycast節點分别吸引就近的使用者通路,一旦其中的一個節點失效,通過路由的收斂,使用者會自動選擇另一個次優Anycast節點路徑。而在形成這種分布式伺服器架構後,網絡中特定的某一點不複存在,取而代之的是無處不足的服務站點。

    Anycast通過以下實施方案來實作DNS根伺服器的多伺服器同一IP。

    一部分是路由上的Anycast,這是動态路由的先天優勢,在IGP範圍内可利用域内路由優于外部路由的IGP特性,也可以利用設定特定的IGP Metric實作路由的優選。當IGP路由失效的情況下,通過BGP路由來選路即可獲得遠端統一服務,即對于多台伺服器使用同一IP。

    而在實際通路中,由于服務IP地被Anycast,通過服務IP位址已完全無法唯一确定一台伺服器,而任何網絡存在的主機必須至少有一個唯一的IP位址與其對應,目的是首先使其被管理成為可能,其次是為保證它所提供的服務能夠正常運作。解決方法比較簡單,即為這些伺服器再配置一個可唯一辨別的IP位址,伺服器使用這個IP位址來完成以下工作:

    a. 對于第一類DNS,即根DNS來說,它們僅僅提供非遞歸查詢服務,使用者請求的目的位址和回應使用者的源位址應該是DNS的服務IP位址,即Anycast IP位址。同時,由于第一類DNS屬于全球授權樹,除被管理外,它們和域内其它伺服器的域資料傳輸也需要一個unicast的固定IP位址;

    b. 對于第二類DNS來說,它們提供遞歸查詢服務。和第一類DNS一樣,使用者請求的目的位址和響應使用者請求的源位址是Anycast統一服務IP位址。不同的是,它們是Cache伺服器,不會存在域資料傳輸的需求,但恰恰由于它們所提供的遞歸查詢服務,它們還是需要一個可唯一辨別它的固定IP位址與DNS全球授權伺服器進行通信。

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

    舉個例子來說:

    當我們在浏覽器的位址欄中輸入www.someplace.com并按下Enter鍵時,該網站将在我們的浏覽器中顯示(希望)幾秒鐘。在幕後發生了許多事情,将請求發送到該網站,以便我們可以檢視内容。邊界網關協定(BGP)確定請求通過網際網路的最佳路由到達該網站的伺服器。使用Unicast,DNS用戶端解析程式可以配置多個DNS名稱伺服器目标。如果解析程式沒有收到清單中第一個伺服器的任何響應,它通常會在切換到解析程式清單中的第二個伺服器(和後續伺服器)之前等待逾時值。下一次解析器必須執行查找時,它不會“記住”清單中的伺服器無響應,并且它将開始查詢清單中的第一台伺服器,即使它仍然不可用。根據用戶端的作業系統,每次在解析器清單中輪換時嘗試失敗的伺服器可能需要一到五秒鐘的時間。

    使用Anycast的DNS用戶端解析程式實際上消除了此延遲,因為解析由路由協定處理。在下圖中,顯示了配置了任播DNS IP位址123.10.10.10的單個DNS用戶端工作站對使用同一個任播IP位址部署的最近的三個DNS名稱伺服器執行DNS解析。 

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

    用戶端的DNS解析器可以解析上述三個DNS伺服器中的任何一個。由于路由拓撲的原因,第3層路由會通過路由器R1發送我們的DNS用戶端資料包。如果路由器R1或伺服器A發生故障,我們的DNS用戶端資料包将自動通過路由器R2和R3重新路由到下一個最近的DNS伺服器。此外,我們的伺服器A的路由将從路由表中删除,進而阻止進一步使用該名稱伺服器。伺服器A将不會被使用,直到其被恢複并且IP任播位址路由重新注入網絡。

2.2 IGP

    IGP(内部網關協定)是在一個自治網絡内網關(主機和路由器)間交換路由資訊的協定。路由資訊能用于網間協定(IP)或者其它網絡協定來說明路由傳送是如何進行的。IGP協定包括RIP、OSPF、IS-IS、IGRP、EIGRP。

2.3 BGP

    邊界網關協定(BGP)是運作于 TCP 上的一種自治系統的路由協定。 BGP 是唯一一個用來處理像網際網路大小的網絡的協定,也是唯一能夠妥善處理好不相關路由域間的多路連接配接的協定。 BGP 建構在 EGP 的經驗之上。 BGP 系統的主要功能是和其他的 BGP 系統交換網絡可達資訊。網絡可達資訊包括列出的自治系統(AS)的資訊。這些資訊有效地構造了 AS 互聯的拓樸圖并由此清除了路由環路,同時在 AS 級别上可實施政策決策。

    自治系統:autonomous system。在網際網路中,一個自治系統(AS)是一個有權自主地決定在本系統中應采用何種路由協定的小型機關。這個網絡機關可以是一個簡單的網絡也可以是一個由一個或多個普通的網絡管理者來控制的網絡群體,它是一個單獨的可管理的網絡單元(例如一所大學,一個企業或者一個公司個體)。一個自治系統有時也被稱為是一個路由選擇域(routing domain)。一個自治系統将會配置設定一個全局的唯一的16位号碼,有時我們把這個号碼叫做自治系統号(ASN)。

    ——SPTN 自治系統号10(傳統域)  自治系統号20(SDN域)

    一個自治系統就是處于一個管理機構控制之下的路由器和網絡群組。它可以是一個路由器直接連接配接到一個LAN上,同時也連到Internet上;它可以是一個由企業骨幹網互連的多個區域網路。在一個自治系統中的所有路由器必須互相連接配接,運作相同的路由協定,同時配置設定同一個自治系統編号。自治系統之間的連結使用外部路由協定,例如BGP.。

    多出口的自治系統

    多出口的自治系統(Multihomed AS)是指與其它的自治系統具有多于一個連接配接的自治系統。一旦那些連接配接中的某一個完全失效,這個多出口的自治系統也仍然能保持和網際網路絡的聯系。但是,這類自治系統不允許與自己所連接配接的其它任一個自治系統穿過自己來通路另一個自治系統。

    如圖所示,AS1、AS2、AS3、AS4和AS5是五個自治系統,如果自治系統AS2和AS3的連接配接發生了故障,其他的自治系統之間的連接配接不受影響。而且如果自治系統AS4想通過AS2來連接配接AS1,這是不可能實作的。

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

                        末端自治系統

    末端自治系統(stub AS)是指僅與一個其它自治系統相連的自治系統,如圖2中的自治系統AS1它僅僅與自治系統AS2相連接配接。如果該AS的路由政策與其上遊的AS完全相同,這說明該AS其實浪費了一個ASN。這種情況更常發生在網際網路路由環境中:表面上的末端自治系統可能實際上與其它未被公共路由顯示伺服器反映出來的AS之間存在着對等互聯關系。具體的例子如(美國)财政和交通部門的專用網際網路絡。

關于DNS部署與根伺服器的幾點論述一、DNS部署情況:二、多台伺服器共用IP原理二、隻有13台根伺服器原因四、參考資料

                        中轉自治系統

    中轉自治系統是指一個自治系統通過自己來為幾個隔離開的網絡提供連通服務。即,網絡A可通過作為中轉AS的網絡B來連接配接到網絡C。比如圖1中的自治系統AS1可以通過自治系統AS2連接配接到自治系統AS4。所有的ISP都是這類的中轉自治系統,因為這原本是它們的根本業務目的。因為我們認為ISP是在向客戶網絡“販售中轉服務”,是以使用中轉自治系統這個術語來表示。

    BGP的結構和功能

    BGP用于在不同的自治系統(AS)之間交換路由資訊。當兩個AS需要交換路由資訊時,每個AS都必須指定一個運作BGP的節點,來代表AS與其他的AS交換路由資訊。這個節點可以是一個主機。但通常是路由器來執行BGP。兩個AS中利用BGP交換資訊的路由器也被稱為邊界網關(Border Gateway)或邊界路由器(Border Router)[1]  。

    由于可能與不同的AS相連,在一個AS内部可能存在多個運作BGP的邊界路由器。同一個自治系統(AS)中的兩個或多個對等實體之間運作的BGP 被稱為 IBGP(Internal/Interior BGP)。歸屬不同的AS的對等實體之間運作的BGP稱為EBGP (External/Exterior BGP)。在AS邊界上與其他AS交換資訊的路由器被稱作邊界路由器(border/edge router)。在網際網路作業系統(Cisco IOS)中,IBGP通告的路由的距離為200,優先級比EBGP和任何内部網關協定(IGP)通告的路由都低。其他的路由器實作中,優先級順序也是EBGP高于IGP,而IGP又高于IBGP。

    BGP屬于外部網關路由協定,可以實作自治系統間無環路的域間路由。BGP是溝通Internet廣域網的主用路由協定,例如不同省份、不同國家之間的路由大多要依靠BGP協定。BGP可分為IBGP(Internal BGP)和EBGP(External BGP)。BGP的鄰居關系(或稱通信對端/對等實體)是通過人工配置實作的,對等實體之間通過TCP(端口179)會話互動資料。BGP路由器會周期地發送19位元組的保持存活keep-alive消息來維護連接配接(預設周期為30秒)。在路由協定中,隻有BGP使用TCP作為傳輸層協定。

二、隻有13台根伺服器原因

    實際上,13台DNS根伺服器這一說法并不準确,應該是13個DNS根伺服器IP,因為所謂的a-mDNS根伺服器實際上是指伺服器叢集,且這個叢集是分布式的。至于為何是13個,首先我們從RFC中指定資料包大小為512位元組出發進行分析。

    我們知道,啟動查詢是名稱伺服器啟動時擷取的根名稱伺服器IP位址清單執行的查詢。這樣做是為了驗證(并可能更新)它所具有的内置位址清單。 在DNS初期,RFC 791.中指定最大資料包大小被設定為512位元組,是以該清單需要适合512位元組。

    傳回的消息看起來像這樣。在這裡,隻列出{a,b} .root-servers.net并删除一些現代功能AAAA和OPT記錄。

;; QUESTION SECTION:;.              IN  NS

;; ANSWER SECTION:

.           518400  IN  NS  a.root-servers.net.

.           518400  IN  NS  b.root-servers.net.

;; ADDITIONAL SECTION:

a.root-servers.net. 3600000 IN  A   198.41.0.4

b.root-servers.net. 3600000 IN  A   192.228.79.201

    那麼這條消息有多大?DNS資料包标題是12個位元組。問題部分的大小是:

    root-label:00,1個位元組;

    class,2個位元組;

    的qtype:2個位元組。

    總共5個位元組。現在答案部分中的一個資源記錄的大小是:

    root-label:1個位元組;

    ttl: 4位元組;

    class:2個位元組;

    type:2個位元組;

    rdlength:2個位元組

    nameserver name:<1>a<12>root-servers<3>net<0>:20個位元組。

    總計:31個位元組。其他記錄可以采用DNS壓縮,是以随後的記錄具有root-label,ttl,class,type,rdlength和然後<1><letter><compression pointer>,這是4個位元組,是以這涉及到:15個位元組。

    附加部分中的A記錄涉及:

    nameserver name:<1>a<12>root-servers<3>net<0>:20個位元組;

    ttl: 4位元組;

    class:2個位元組;

    type:2個位元組;

    rdlength:2個位元組;

    address: 4位元組。

    但是這裡的名字可以完全壓縮,是以我們可以使用2個位元組作為壓縮指針,而不是20個位元組。是以這總計16個位元組。同樣的資料包,但隻有大小:

12       ;; ->>HEADER<<-

 5       ;; QUESTION SECTION:31 + 15n ;; ANSWER SECTION:

     16m ;; ADDITIONAL SECTION:

    通常m = n,是以方程變成:

48 + 31n = 512

       n = 464 / 31 = 14.96

    根據Jaap Akkerhuis的說法,比爾曼甯表示他們希望保守,為未來的擴充留下一些空間。

    原始清單不使用root-servers.net字尾,但小于512位元組。當清單被擴充時,root-servers.net字尾被建立以節省空間(壓縮)并且使得有可能具有14個根伺服器,其中13個已經被配置設定。根據Bill Maning的說法,這個選擇早于選播,是以需要大量的伺服器:

    這在任播之前,是以需要慎重選擇所有剩餘的營運商。事實證明,重組并沒有按計劃進行,VSGN有兩個,而ICANN有一個。最初的想法是在亞洲和南美洲的第二個營運商......

    此外,從一個混合名稱到另一個具有共同字尾和512位元組計算的步驟一步完成。

    總結一下,網際網路域名系統 在層次結構的根部使用13個DNS伺服器叢集有幾個原因:13号被選為網絡可靠性和性能之間的折中,13是基于網際網路協定(IP)的限制,版本4(IPv4)。

    盡管IPv4中隻存在13個指定的DNS根伺服器名稱,但實際上,這些名稱中的每一個都不代表單個計算機,而是代表由多台計算機組成的伺服器群集。這種使用叢集可提高DNS的可靠性,而不會對其性能産生任何負面影響。

    由于新出現的IP版本6标準對單個資料報的大小沒有如此低的限制,我們可以預計,随着時間的推移,未來的DNS将包含更多的根伺服器來支援IPv6。

四、參考資料

    中文RFC文檔目錄:http://man.chinaunix.net/develop/rfc/default.htm

    根伺服器操作協會:root-servers.org

    Why 13 DNS root servers:

    https://miek.nl/2013/november/10/why-13-dns-root-servers/

    RFC791:http://www.ietf.org/rfc/rfc791.txt

            為什麼DNS根伺服器隻有13台:https://www.zhihu.com/question/22587247

    BGP、IBGP、EBGP、IGP、EGP:

    https://blog.csdn.net/zhaomax/article/details/52399403

繼續閱讀