俄烏戰爭還在持續,網絡中的戰爭也同樣在上演著。
從最近幾天的微博熱搜就能看出,輿論陣地是何等的重要,一張圖、一個視頻、一段文字就能把人帶跑偏,可見保持獨立思考和判斷的能力多么難能可貴。
網絡陣地如此之重要,大家有沒有想過一個問題:美國那么愛制裁,互聯網是美國人發明的,如果美國制裁俄羅斯互聯網,把根域名服務器封了,俄羅斯是否就從互聯網消失了?
美國會不會干出這事兒我不知道,咱們就從技術上來分析一下,通過封禁根服務器,能不能實現將一個國家從互聯網消失。
要回答這個問題,需要了解一些互聯網工作的基本常識。
我們平時上網,其本質就是用你手里的客戶端軟件(比如微博、抖音、微信、瀏覽器等等)去訪問它們背后的服務器(微博服務器、抖音服務器、微信服務器、其他網站的服務器等等),請求數據然后呈現給你。
那如何訪問呢?
這些服務器都有屬于它們的IP地址,這是一個在互聯網中使用的身份標識號碼,憑借這個數字,我們手機和電腦發出的網絡數據包就能被網絡中的“快遞系統”不斷轉發,最終投遞到目標服務器。
但這些號碼數字對我們人類來說沒那么好記憶,所以,人們發明了域名這個東西。
www.baidu.com,這就是百度的域名。
這個東西可比數字好記多了!
但互聯網的協議是用IP地址進行身份識別的,現在搞了這么個域名,怎么用起來呢?
計算機科學家們又搞了一個翻譯系統出來:域名解析系統DNS。
在訪問真正的服務器之前,先通過這個解析系統,把這個域名“翻譯”成對應的IP地址,拿到這個IP地址后,再去進行后面的網絡訪問。
當然,這個過程都被現在的軟件自動化的進行了,比如你在瀏覽器里輸入www.baidu.com之后按下回車,瀏覽器自動完成了這個解析的過程,這對我們普通的用戶來說是透明的(看不見的)。
那么問題來了,這個負責域名解析的東西是什么樣的?
它是一臺服務器嗎?它位于哪個地方呢?
首先,它不是一臺服務器,萬一崩了,那全世界都上不了網了。
其次,它也不是一個簡單的多點集群,全世界的網站這么多,每個節點要存儲所有的域名——IP映射關系,那也是不切實際的。
事實上,真正的域名解析系統它是一個分層級的龐大系統。
本地DNS服務器權威域名服務器頂級域名服務器根域名服務器我們每個電腦和手機里面都設置了本地DNS服務器(簡稱LDNS),需要解析域名的時候,就向LDNS發出請求。
大家可以在自己的電腦上執行nslookup或ipconfig命令,查看自己電腦上配置的DNS服務器地址是什么:
我們以www.example.com這個域名為例,來看一下DNS的解析過程。
你的電腦問LDNS:www.example.com的IP是什么?LDNS:查無此域名,問一下根服務器看看:www.example.com的IP是什么?根服務器:我可是十三大長老,哪管這些。你去問負責.com域名解析的頂級域名服務器吧,它肯定知道。LDNS問.com頂級域名服務器:大佬,www.example.com的IP是什么?.com頂級域名服務器:這我也不知道,你問問ns.example.com看看,它負責解析所有example.com下面的域名。LDNS問ns.example.com:大佬,www.example.com的IP是什么?ns.example.com:這我知道,是xxx.xxx.xx.xxxLDNS:謝謝大佬LDNS回復你的電腦:查到了,是xxx.xxx.xx.xxx,可累死我了···整個過程大概是下面這圖所示,不過需要說明的是,并不是每一次DNS請求都會經歷這樣的過程,有些時候中間節點有緩存,路徑就會變得不一樣了。
由此可見,根域名解析服務器在整個過程中扮演的角色至關重要。
那么,問題又來了,全世界有多少根DNS?
答案是13個,其中10個在美國,英國和瑞典各1個,日本1個。
這13個根的名字和IP在這里可以公開查閱:
https://www.internic.net/domain/named.root
他們的名字從A.root-servers.net到M.root-servers.net。
其中,A開頭那個是主根,其他12個(B、C、D、E、F、G、H、I、J、K、L、M)是輔根。
但是需要注意的是,這里說的13個,并非真的只有13臺物理機器,全球的互聯網如果都只靠這十三臺計算機維系,那風險還是很大的。
在邏輯上,根確實只有13個,但每個根都有鏡像啊!
所以,根服務器實際上總共有1518個(截止2022-02-27)之多,在下面這個網站,你可以看到全球所有的根服務器分布情況:
https://root-servers.org/
從A到M,每一個根服務器背后都有許多鏡像節點,分布在全球不同的地方。
下面是我們中國所擁有的根鏡像服務器:
單是北京,就擁有8個節點。
再次注意,根服務器的IP只有13個,但是卻有一千多個物理服務器節點。
那這是怎么辦到的呢?這里用到了一個叫“任播”的網絡技術。簡單理解就是:可以讓世界上不同的多臺計算機,擁有同一個IP地址。
注意,這里的IP地址是公網地址,如果是私有地址那沒啥討論的。
小伙伴兒們可能一臉問號了,具體在網絡路由的時候,具體選擇哪一臺計算機呢?
我國境內發出的對根DNS的請求,基本上都由國內的鏡像完成了,并沒有路由到國外的根服務器上去。
注意這一點,非常重要!
這么多臺根服務器,它們是如何協同工作的呢?
簡單來說:所有的輔根從主根同步數據,而所有的鏡像從對應的根服務器來同步數據。
按照這個邏輯,A根就是超級大boss,只要它改了,其他一千多個節點都得跟著改。
那么,如果某一天美國把A根中關于.cn的相關信息全部刪掉,那全世界的根服務器都會跟著刪掉,那中國將從互聯網消失嗎?
這個時候,建設自主可控的根鏡像服務器的重要性就體現出來了。
服務器在我這兒,我不同步刪除的內容,或者同步完加上刪除的內容,就能破解這個問題!
因為前面交代了,國內對根DNS的請求,基本都是國內鏡像完成的,并沒有路由出去。
當然,其他國家的根鏡像我們控制不了,他們可能無法訪問.cn的域名,但只要他們想要訪問,就會加回去,并拒絕同步美國刪除的內容,如此一來,最后只有美國人自己訪問不了.cn的域名。
同樣的道理也適用于俄羅斯,在root-servers網站上,也可以看到俄羅斯同樣建設了許多的根鏡像服務器,比如首都莫斯科:
他們同樣可以拒絕同步刪除俄羅斯的國家域名.ru的解析信息。
所以,想通過封禁根域名解析服務讓一個國家從互聯網消失,沒那么容易。
但如果是一個沒有建設根鏡像服務器的國家呢?
X 關閉
X 關閉