一、域名系統概述
域名系統(DNS,Domain Name System)是互聯網(Internet)中的重要基礎設施之一,主要作用是建立域名與IP地址之間的映射關系,用于將域名轉換為對應的IP地址。有了域名,使人們在浩瀚的互聯網上的尋址大大的方便起來。因此,人們在互聯網上(尤其是尋找網站)尋址可以有兩種方法:一種是通過域名,另一是直接通過IP地址。
欲更多了解互聯網(Internet)介紹的請進入。
1、域名系統的由來
我們知道,互聯網是一個龐大數據的制作、傳輸、存儲的數據網絡,網上數以億級數量的主機(包括工作站、服務器、路由器、網關等網絡設備),依靠IP地址能夠互相通信。然而,IP地址全是數字代碼,既不直觀又難以記憶(目前的IPv4地址是一個32bit的數字,何況IPv6地址為128bit啊)。為方便用戶,Internet在IP地址的基礎上提供了一種友好且容易記憶的、字符化的地址。這種字符化的IP地址稱為域名或DNS地址,如:工信部網站的域名為www.miit.gov.cn(其IP地址可能為175.6.201.213)、通信人在線網站的域名為www.fbt5758.com(IP地址可能為120.27.92.179)等等。這也就引出了將域名映射(解析)成IP地址的域名服務系統。與IP地址尋址相比,帶來的好處可詳見下表1-1所描述。
表 1-1:互聯網采用域名帶來的好處
欲具體了解互聯網(Internet)IP地址介紹的請進入。
2、域名系統的相關術語與定義
在國家標準GB/T 32402-2015《通信名詞術語 數據通信 因特網》中,對于域名和域名系統的定義非常簡單:域名(Domain Name)即用來標識因特網上站點的唯一名字;域名系統(DNS)是指在因特網上保持域名和IP地址之間對應關系的一個分布式數據庫(域名服務器)的集合。那么,關于“域(Domain)”則是一個很寬泛的概念,對于因特網上的域名系統,域(Domain)是指DNS命名層次結構的一部分,它代表一個可管理的實體,一個域名包括一系列用圓點隔開的名字。
然而,在我國通信行業標準YD/T 2135-2010《域名系統運行總體技術要求》中,對于域、域名和域名系統給出了比較學術的定義,具體列于下表1-2中,可以加深相關概念的理解。定義中還涉及到“資源記錄(RR,Resource Record)”、“名字空間(Name Space)”等術語,其定義一并列在表1-2中。
表 1-2:YD/T 2135-2010的相關術語的定義
由上定義可知,域名系統可以稱之為互聯網的一種基礎設施,也可稱之為互聯網的一種基本服務。因此域名系統有時也稱域名服務(DNS,Domain Name Service)系統。
3、域名系統的標準
域名系統(DNS)的標準,主要是由提供互聯網標準的互聯網工程任務組(IETF)來研究編制,因為DNS畢竟是互聯網的一種基本服務。IETF編制出版了大量的相關DNS 的RFC文檔,有的作為互聯網標準,有的是非互聯網標準。比較直接和基本的文檔有:RFC 1034《域名系統-概念和基礎設施》、RFC 1035《域名系統-實現和詳述》、RFC 1591《域名系統-結構與授權》、RFC 2136《域名系統-動態更新》、RFC 7766《基于TCP的DNS傳輸-實施要求》等等。我們知道,IETF的RFC變化較復雜,應注意到IETF網站查詢。
欲具體了解互聯網工程任務組(IETF)與RFC介紹的請進入。
關于IETF相關DNS的RFC標準或文檔,我國主要是由中國通信標準化協會(CCSA)轉化成為了通信行業標準。或參照其IETF的RFC,結合我國互聯網的具體情況,注意與國際互聯網標準接軌,制定出了大量的相關DNS通信行業標準(特別是中文域名系統),為我國互聯網的域名服務提供了有力的技術支撐。
欲詳細了解我國域名系統(DNS)通信行業標準索引的請進入。
二、域名系統(DNS)的命名機制
1、名字空間-DNS的結構
域名系統(DNS)與許多編址策略相近,同樣使用分層策略建立命名機制。DNS的層次結構類似于電話編號系統,根部為國家代碼,以下層次依次為本地網代碼、局號,分層結構最底層為用戶號(樹葉)。為此,DNS的結構如下圖2-1所示,是一個分層次的(Hierachical)樹狀結構,這個樹狀結構稱為域名系統的名字空間(Name Space)。名字空間中每個節點對應于相應的資源集合(注意:子曰集合有的可能為空);名字空間中每個節點不區別樹內節點和葉子節點,統稱為節點(Node)。名字空間中每個節點有一個標記(Label),標記的長度不超過63字節。父節點不同的節點可以使用相同的標記,只有根節點(Root)的標記長度為零(空標記)。
圖 2-1:DNS的名字空間示意圖
2、域名
域名的命名是指,在DNS名字空間中,從當前節點到根節點的路徑上所有節點標記的點分順序連接,如圖2-1中對應的域名www.cnnic.cn(注意根節點為空)。為了簡化實現,域名的總長度(即標簽字節和標簽長度字節)被限制為255個字節或更少。
我們常用到的域名分為兩種類型:一種是包含了由數字、英文字母、及連接符“-”等ASCII編碼字符組成的英文域名;另一種是由非ASCII編碼字符組成的國際化域名(IDN),如“中國”、“網絡”、“公司”等。
欲詳細了解國際化域名(IDN)之中文域名(CDN)的請進入。
3、域
域(Domain)是指DNS名字空間中的一個子集,也就是樹型結構名字空間中的一棵子樹。這個子樹根節點的域名就是該域的名字,如圖2-1中虛線圓圈所示的域“net.cn”。對于DNS名字空間中根節點(Root)下的最頂層的域稱為頂級域(TLD,Top Level Domain)。
欲詳細了解頂級域(TLD)介紹的請進入。
4、資源記錄
在資源記錄(RR)存儲了包含IP地址等與域名相關的多種信息,這些信息分布在與名字空間對應的各級域名服務器上,從而實現對域名屬性信息的分布式檢索。每個域名對應的記錄可能為空或多條。所有的RR具有相同的頂層格式,其字段包括:名字(NAME)、類型(TYPE)、種類(CLASS)、生存時間(TTL)、記錄數據長度(RD LENGTH)、記錄數據(RDATA)等。其格式如下圖2-4所示;各字段的含義及要求詳見下表2-4。
圖 2-4:資源記錄(RR)的格式
表 2-4:RR各字段的含義及要求
三、域名的服務系統
域名服務是一種互聯網應用層資源的尋址服務,是其它互聯網絡應用服務的基礎。常見的互聯網絡應用服務有:Web服務、電子郵件服務、FTP服務等等,它們都是以域名服務為基礎,來實現系統內部資源的尋址和定位的。
域名的服務主要是通過分布式的域名服務器提供的。域名服務器也稱名字服務器(Name Server),用于存儲域名和資源記錄及其它相關信息并負責處理用戶的查詢請求。從功能上,名字服務器可分為權威服務器和遞歸服務器。
1、權威服務器與遞歸服務器
權威服務器(Authoritative Server)是指對于某個或者多個區(區是指域名系統名字空間中面向管理的基本單元,通常是若干個域的集合)具有權威的服務器,它保存著其所擁有的原始域名資源記錄信息。遞歸服務器(Recursive Server)也被稱為本地域名服務器或緩存服務器。它負責用戶端(解析器)發送的請求,然后通過向各級權威服務器發出查詢請求獲得用戶需要的查詢結果,最后返回給用戶端的解析器。
欲詳細了解域名系統名字服務器服務(權威和遞歸)技術要求的請進入。
2、域名系統的解析服務設置
域名的解析服務同樣是以樹型的拓撲結構來構成的。由不同類別的域名解析服務提供機構負責不同級域名的解析服務,其對應關系如下圖3-2所示。由圖可知,它設置有頂層域或稱根域(Root)的服務、頂級域(TLD)的服務、三級域的服務、以及再下一層的子域的域名服務,其每層的設置要求與管理要求詳見下表3-2。
圖 3-2:全球域名服務體系結構
表 3-2:全球域名服務體系的設置要求與管理要求
3、域名系統服務的基本工作原理(解析過程)
域名系統服務過程也稱為域名的解析過程。所謂域名解析,就是域名和IP地址間的互相映射及資源記錄信息的查詢,由域名映射到IP地址稱為正向解析,由IP地址映射到域名稱為逆向解析。域名系統中應用了分布式數據庫技術,因此域名解析時采用客戶機/服務器模式。所謂客戶機/服務器模式,即用戶使用被稱為客戶程序的軟件(解析器),向域名服務器發出請求,服務器對用戶的請求做出回答后,通過客戶程序顯示給用戶。客戶端稱為域名解析器,主要提出域名解析申請,服務器端稱為域名服務器,負責控制本地域名數據庫及解析。本地解析器和本地服務器直接相連,多數名字在本地解析,只有少數經過網絡傳輸到上級服務器解析。例如,我們要訪問東方通信股份有限公司技術中心一臺名為gen的計算機,其域名地址為gen.rd.eastcom.com,則域名系統的完整工作過程分為如下7個步驟,詳見下表3-3。
表 3-3:域名系統服務的工作過程
上述內容依據我國通信行業標準YD/T 2135《域名系統運行總體技術要求》及相關RFC文檔而編制,若要詳細了解高標準具體內容的請查閱下附件。
附件:YD/T 2135-2010《域名系統運行總體技術要求》
欲進一步了解關于我國互聯網絡域名體系的請進入。