[PConline 雜談]域名系統(tǒng),也就是我們口中常說的DNS,可以將域名和IP地址相互映射,省去了記住IP數(shù)串的麻煩,從而讓人們更方便快捷的訪問互聯(lián)網(wǎng)。對于DNS想必各位都已非常熟悉,但是它是由誰發(fā)明并設(shè)計出來的,你真的了解嗎?
域名系統(tǒng)通常被稱為互聯(lián)網(wǎng)的“電話簿”,是互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的基本組成部分。在互聯(lián)網(wǎng)的早期,主機和IP地址信息儲存在斯坦福研究院維護(hù)的一個文本文件HOSTS.TXT 中,當(dāng)一臺新計算機加入到網(wǎng)絡(luò)或一臺舊電腦修改了它的資料,人們需要聯(lián)系斯坦福研究院,讓他們手動更新文件。
不僅如此,若想知道一臺計算機的IP地址,也需要聯(lián)系斯坦福研究院。重要的是,每個工作日的下午五點就會關(guān)閉,而且節(jié)假日不開放,可以說非常的不方便。
為此,當(dāng)時還在南加州大學(xué)工作的Paul Mockapetris博士發(fā)明和設(shè)計了DNS系統(tǒng),通過利用分布式數(shù)據(jù)庫來解決這個問題,主要作用是轉(zhuǎn)換我們可讀的主機名,例如www.welcometothejungle.com,轉(zhuǎn)換成機器可讀的IP地址52.211.16.159。
Mockapetris博士表示,雖然DNS系統(tǒng)設(shè)計的非常靈活,但頂級域名本身更像是各國政治間的一場博弈。有人說域名系統(tǒng)并不完美,因為它存在很多安全漏洞,如欺騙、DDoS攻擊等等。對于這個說法,Mockapetris博士解釋稱DNS設(shè)計的不安全是有意為之,當(dāng)時的首要問題是盡快讓人們接受分布式系統(tǒng)這個概念。
域名解析體系第一層就是根服務(wù)器,負(fù)責(zé)管理世界各國的域名信息,在根服務(wù)器下面是頂級域名服務(wù)器,也就是相關(guān)國家域名管理機構(gòu)的數(shù)據(jù)庫,然后是下一級的域名數(shù)據(jù)庫和ISP的緩存服務(wù)器。我國普通網(wǎng)民在訪問帶有.com等后綴的國外網(wǎng)站時,大多需要經(jīng)過國外的域名服務(wù)器進(jìn)行解析。
那么,根DNS服務(wù)器有什么作用呢?根域名服務(wù)器中沒有每個域名的具體信息,儲存的是負(fù)責(zé)每個域的解析的域名服務(wù)器的地址信息,根域名服務(wù)器是架構(gòu)因特網(wǎng)所必須的基礎(chǔ)設(shè)施。
都知道全世界只有13臺根域名服務(wù)器,但你知道為什么只有13臺嗎?這還得從DNS的協(xié)議說起,DNS使用的是端口UDP和TCP協(xié)議。所有UDP實現(xiàn)中能保證正常工作的最大包長是512字節(jié),這512字節(jié)限制了根服務(wù)器的數(shù)量和名字。要讓所有的根服務(wù)器數(shù)據(jù)能包含在一個512字節(jié)的UDP包中,根服務(wù)器只能限制在13個。
能不能自己搭建根服務(wù)器?實際上,在去年12月份左右,俄羅斯宣布正在建設(shè)一個主權(quán)內(nèi)部網(wǎng),重建DNS基礎(chǔ)設(shè)施,對此Mockapetris博士表示技術(shù)本身并不難,俄羅斯可以使用開源DNS來實現(xiàn)他們的想法。但從商業(yè)角度來看,對外連接仍然是重要的,即使是“防火墻”也并沒有切斷連接,而只是尋求控制。
此外,另一個值得我們關(guān)注的是,現(xiàn)在各國都在加速部署IPv6,那么DNS是否會因過渡到IPv6而受到影響呢?想必這也是很多人所擔(dān)心問題。實際上,DNS可以處理任何類型的IP并且不會丟失域。目前的問題不是缺乏域,而是對某些特定域的需求,就好像每個人都想搬到A城市,但不是每個人都能搬進(jìn)來一樣。