摘 要 在網絡中,計算機是通過IP地址來進行通訊的。但通常我們在上網的時候輸入的是域名,而不是IP地址。網絡需要通過某個域名獲取所對應的IP地址,DNS域名系統(tǒng)能夠將域名解析成IP地址。本文將對DNS域名結構及解析過程進行探討。
關鍵詞 IP地址;DNS;域名結構;域名解析
1IP地址
IP是Internet Protocol Address的縮寫,全稱是網際協(xié)議地址。IP地址是給網絡中的每臺計算機或其他設備規(guī)定的一個唯一的地址[1]。IP地址是一個32位的二進制數,通常用“點分十進制”表示,如192.168.1.1。
2DNS域名系統(tǒng)
DNS是Domain Name Service的縮寫,中文的意思是域名服務。 DNS是一種采用客戶機/服務器機制,實現域名與IP地址轉換的系統(tǒng),DNS為每臺主機建立域名與IP地址之間的映射關系。網絡是通過IP地址進行尋址的,IP地址記錄起來比較困難,但域名比較容易記,如www.bitc.edu.cn等。所以我們在訪問網站時通常用域名進行訪問,再由DNS域名系統(tǒng)將域名解析成IP地址。類似于手機中的電話簿,電話簿中有人名和電話號碼,如果記下來電話號碼會比較困難,但是記住人名比較容易,如果要給某人打電話只要找到對應人名,手機就會解析成電話號碼[2]。
3域名空間結構
要在Internet上使用自己的域名,用戶必須先向DNS域名注冊頒發(fā)機構申請合法的域名。完整的域名是一個由“.”分隔的字符串,其中每個部分都代表一個域或主機名。
下面以www.baidu.com為例來分析域名結構。
DNS域名空間采用樹形結構,自上而下分為根域,頂級域,二級域,子域以及主機名。
根域,代表域名命名空間的根,用點“.”來表示。www.baidu.com中com后面省略了一個點,這個點代表根域。
頂級域,直接處于根域下面的域,代表一種類型的組織或一些國家。www.baidu.com中com為頂級域。頂級域是固定的,一共有7個:Com、Edu、Gov、Net、Org、Mil、其他的國家或地區(qū)代碼。
二級域:在頂級域下面,用來表示頂級域以內的一個特定的組織。www.baidu.com中baidu為二級域。
子域:在二級域的下面所創(chuàng)建的域,它一般由各個組織根據自己的需求自行創(chuàng)建和維護。
主機名:是域名命名空間中的最下面一層。www.baidu.com中www為主機名。
4DNS查詢類型
DNS查詢類似于114查詢臺,如果你有不知道的電話號碼,只需打電話向114查詢臺詢問,同樣如果你想知道某個域名所對應的IP地址或者某個IP地址所對應的域名,只需向? 網絡中的DNS服務器進行詢問。DNS查詢分為兩種,遞歸查詢和迭代查詢。
當收到DNS客戶機的查詢請求后,本地DNS服務器在自己的緩存或區(qū)域數據庫中查找,如果能查找到對應的域名和IP的映射關系,則把該域名所對應的IP地址返回給客戶機。如果查找不到,則宣告查詢失敗。該DNS服務器不會主動地告訴DNS客戶機另外的DNS服務器的地址,而需要DNS客戶機自行向其他DNS服務器詢問。這種查詢叫遞歸查詢。
當收到DNS客戶機的查詢請求后,如果在本地DNS服務器中沒有查到所需數據,該DNS服務器便會告訴DNS客戶機網絡中另外一臺DNS服務器的IP地址,然后,再由DNS客戶機自行向此DNS服務器查詢,依次類推一直到查到所需數據為止。如果到最后一臺DNS服務器都沒有查到所需數據,則通知DNS客戶機查詢失敗。這種查詢模式叫作遞歸查詢。
5DNS查詢過程
下面以www.baidu.com的解析為例,介紹完整的DNS查詢過程。
(1)在瀏覽器中輸入www.baidu.com域名,操作系統(tǒng)會先檢查自己本地的hosts文件,是否有這個網址和IP地址的映射關系,如果有,就先調用這個映射,完成域名解析。
(2)如果hosts里沒有這個域名的映射,則查找本地DNS解析器緩存,是否有這個網址和IP地址的映射關系,如果有,直接返回,完成域名解析。
(3)如果hosts與本地DNS解析器緩存都沒有對應的映射關系,瀏覽器首先本地DNS服務器,此服務器收到查詢時,如果要查詢映射關系包含在本地配置區(qū)域資源中,則返回解析結果給客戶機,完成域名解析。
(4)如果本地DNS服務器解析失敗,則根據本地DNS服務器的設置(是否設置轉發(fā)器)進行查詢。如果設置了轉發(fā)器,本地DNS就會把請求發(fā)至轉發(fā)器進行查詢。如果沒有設置轉發(fā)器,本地DNS就把請求發(fā)至根DNS服務器(網絡中一共有13臺根DNS服務器),根DNS收到請求后會判斷這個域名(.com)是由誰管理,并會返回一個管理.com域名的DNS服務器的IP地址。本地DNS服務器收到IP信息后,將會發(fā)送請求給這臺服務器。這臺服務器收到請求后,如果自己無法解析,它就會尋找一個管理.com域的下一級域(baidu.com)的DNS服務器的IP地址返回給本地DNS服務器。當本地DNS服務器收到這個地址后,就會發(fā)送請求給負責baidu.com域的DNS服務器進行查詢,重復上面的動作,直至找到www.baidu.com主機。至此,完成整個查詢過程。
綜上所述,DNS是將域名與IP地址相互轉換的系統(tǒng),DNS的查詢類型分為兩類,遞歸查詢和迭代查詢。從客戶端到本地DNS服務器是屬于遞歸查詢,而DNS服務器之間的交互查詢就是迭代查詢。
參考文獻
[1] 羅煒,王來志.淺析DNS的基本原理及工作流程[J].智能城市,2016 (10):335.
[2] 楊龍.DNS服務器淺談[J].電腦知識與技術,2017(21):38-39.
作者簡介
郭麗(1981-),女,山東聊城市人;畢業(yè)院校:曲阜師范大學,專業(yè):計算機應用,學歷:研究生,現就職單位:北京信息職業(yè)技術學院,研究方向:計算機網絡技術。