發表於 2018-12-02 11:15:34
有一個廣為流傳的說法是「全球只有13臺DNS根伺服器,在這13臺根伺服器中,名字分別為「A」至「M」,其中10臺設置在美國,另外各有一臺設置於英國、瑞典和日本。」
實際情況是怎麼樣的呢?
截止到2018年9月4日,已經部署的DNS根伺服器的數量達到了937臺,這些根伺服器廣泛地分布在全球各個地方,這其中當然也包括了中國。
在這些部署在中國的根伺服器中,臺灣有5個,香港有7個,大陸地區的則有北京的4個和杭州的1個。
部署在北京的4個根伺服器分別是F、I、J、L,部署在杭州的就只有上圖中的J一個了。
驗證這個事情其實也很簡單,用ping命令看延時就行,我在北京聯通網內分別ping了下這4臺根伺服器,得到的延時大概就是2.7ms、56ms、4.5ms和3.2ms
上面F、J、L這3個2-4ms延時的根伺服器無疑就是部署在北京本地的了,可為什麼i.root-servers.net的延時會有56ms那麼大呢?
用mtr看一下到i.root-servers.net的路徑,倒數第二跳IP的反解域名是as8674.dix-ie.jp ,也就是日本的域名了。
再用whois命令看一下as2497和as2500的歸屬信息,所有者是日本網絡信息中心(JPNIC),註冊地址在東京
很顯然,我訪問i.root-servers.net這個根伺服器的時候跑到部署在日本東京的這節點上去了。
i.root-servers.net這個根伺服器的運營管理者是Netnod,雖然對應的IPv4和IPv6地址都只有1個,AS號也僅有29216這一個,但實際在全球部署了68個站點,這些站點並不能簡單的說是一般意義上的鏡像站點,因為對用戶來說,這些站點是完全一致和透明的,具體會訪問到哪一個取決於用戶所在網絡運營商的BGP路由策略。
i.root-servers.net這個根伺服器雖然也有在北京部署,但顯然沒有直接跟聯通對接,與之對應的是J和L這兩個根伺服器都是直接接到聯通網內的,所以才能做到2-4ms的延時,以l.root-servers.net為例:
F則又略有差異,它是先掛到中國網際網路網絡信息中心CINIC(as24151)的網絡裡再跟北京聯通城域網連接的。
而如果你在電信網絡裡,也許訪問i.root-servers.net就是直接訪問的北京本地這臺了。
上面說了這些,其實就只是想說DNS根伺服器都已經採用了BGP anycast技術做多站點跨地域部署。而BGP anycast這個技術的引入,已經是十幾年前的事情了,國內流行的說什麼美國一斷DNS根伺服器,中國網際網路就癱瘓這種事情,不存在的。
打開APP閱讀更多精彩內容
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴