DNS解析過程及原理
DNS 解析過程及原理DNS 的角色在互聯(lián)網(wǎng)上,最終確定訪問主機位置的不是域名,也不是計算機的MAC 地址,而是IP 地址。而DNS 服務(wù),或者叫域名服務(wù)、域名解析服務(wù),就是提供域名與IP 地址的相互
DNS 解析過程及原理
DNS 的角色
在互聯(lián)網(wǎng)上,最終確定訪問主機位置的不是域名,也不是計算機的MAC 地址,而是IP 地址。而DNS 服務(wù),或者叫域名服務(wù)、域名解析服務(wù),就是提供域名與IP 地址的相互轉(zhuǎn)換,也可以說是一種對應(映射)關(guān)聯(lián)。在DNS 服務(wù)器中通常會有一個域名與IP 地址的映射表,以便用戶無論是輸入服務(wù)器名(相當于域名),還是服務(wù)器的IP 地址都可以及時得到轉(zhuǎn)換,查找到相應的服務(wù)器。DNS 服務(wù)器所提供的服務(wù)是完成將主機名和域名轉(zhuǎn)換為IP 地址的工作。
網(wǎng)絡(luò)上的計算機之間實現(xiàn)連接卻是通過每臺計算機在網(wǎng)絡(luò)中擁有的惟一的IP 地址來完成的,這樣就需要在用戶容易記憶的地址和計算機能夠識別的IP 地址之間有一個解析,DNS 服務(wù)器便充當了地址解析的重要角色。
DNS 工作原理
域名解析有正向解析和反向解析之說,正向解析就是將域名轉(zhuǎn)換成對應的IP 地址的過程,它應用于在瀏覽器地址欄中輸入網(wǎng)站域名時的情形;而反向解析是將IP 地址轉(zhuǎn)換成對應域名的過程,但在訪問網(wǎng)站時無須進行反向解析,即使在瀏覽器地址欄中輸入的是網(wǎng)站服務(wù)器IP 地址,因為互聯(lián)網(wǎng)主機的定位本身就是通過IP 地址進行的,只是在同一IP 地址下映射多個域名時需要。另外反向解析經(jīng)常被一些后臺程序使用,用戶看不到。
除了正向、反向解析之外,還有一種稱為“遞歸查詢”的解析?!斑f歸查詢”的基本含義就是在某個DNS 服務(wù)器上查找不到相應的域名與IP 地址對應關(guān)系時,自動轉(zhuǎn)到另外一臺DNS 服務(wù)器上進行查詢。通常遞歸到的另一臺DNS 服務(wù)器對應域的根DNS 服務(wù)器。因為對于提供互聯(lián)網(wǎng)域名解析的互聯(lián)網(wǎng)服務(wù)商,無論從性能上,還是從安全上來說,都不可能只有一臺DNS 服務(wù)器,而是由一臺或者兩臺根DNS 服務(wù)器(兩臺根DNS 服務(wù)器通常是鏡像關(guān)系),然后再在下面配置了多臺子DNS 服務(wù)器來均衡負載的(各子DNS 服務(wù)器都是從根DNS 服務(wù)器中復制查詢信息的),根DNS 服務(wù)器一般不接受用戶的直接查詢,只接受子DNS 服務(wù)器的遞歸查詢,以確保整個域名服務(wù)器系統(tǒng)的可用性。
當用戶訪問某網(wǎng)站時,在輸入了網(wǎng)站網(wǎng)址(其實就包括了域名)后,首先就有一臺首選子DNS 服務(wù)器進行解析,如果在它的域名和IP 地址映射表中查詢到相應的網(wǎng)站的IP 地址,則立即可以訪問,如果在當前子DNS 服務(wù)器上沒有查找到相應域名所對應的IP 地址,它就會自動把查詢請求轉(zhuǎn)到根DNS 服務(wù)器上進行查詢。如果是相應域名服務(wù)商的域名,在根DNS 服務(wù)器中是肯定可以查詢到相應域名IP 地址的,如果訪問的不是相應域名服務(wù)商域名下的網(wǎng)站,則會把相應查詢轉(zhuǎn)到對應域名服務(wù)商的域名服務(wù)器上。 DNS 解析過程
DNS 服務(wù)器解析的過程如下所示:
第一步:客戶機提出域名解析請求, 并將該請求發(fā)送給本地的域名服務(wù)器。
第二步:當本地的域名服務(wù)器收到請求后, 就先查詢本地的緩存, 如果有該紀錄項, 則本地的域名服務(wù)器就直接把查詢的結(jié)果返回。 第三步:如果本地的緩存中沒有該紀錄, 則本地域名服務(wù)器就直接把請求發(fā)給根域名服務(wù)器, 然后根域名服務(wù)器再返回給本地域名服務(wù)器一個所查詢域(根的子域) 的主域名服務(wù)器的地址。
第四步:本地服務(wù)器再向上一步返回的域名服務(wù)器發(fā)送請求, 然后接受請求的服務(wù)器查詢自己的緩存, 如果沒有該紀錄, 則返回相關(guān)的下級的域名服務(wù)器的地址。
第五步:重復第四步, 直到找到正確的紀錄。
第六步:本地域名服務(wù)器把返回的結(jié)果保存到緩存, 以備下一次使用, 同時還將結(jié)果返回給客戶機。
讓我們舉一個例子來詳細說明解析域名的過程。假設(shè)我們的客戶機如果想要訪問站點:www.linejet.com , 此客戶本地的域名服務(wù)器是dns.company.com ,一個根域名服務(wù)器是NS.INTER.NET ,所要訪問的網(wǎng)站的域名服務(wù)器是dns.linejet.com, 域名解析的過程如下所示:
(1)客戶機發(fā)出請求解析域名www.linejet.com 的報文。
(2)本地的域名服務(wù)器收到請求后, 查詢本地緩存, 假設(shè)沒有該紀錄, 則本地域名服務(wù)器dns.company.com 則向根域名服務(wù)器NS.INTER.NET 發(fā)出請求解析域名www.linejet.com 。
(3)根域名服務(wù)器NS.INTER.NET 收到請求后查詢本地記錄得到如下結(jié)果:linejet.com NS dns.linejet.com (表示linejet.com 域中的域名服務(wù)器為:dns.linejet.com ), 同時給出dns.linejet.com 的地址, 并將結(jié)果返回給域名服務(wù)器dns.company.com 。
(4)域名服務(wù)器dns.company.com 收到回應后, 再發(fā)出請求解析域名www.linejet.com 的報文。
(5)域名服務(wù)器 dns.linejet.com收到請求后, 開始查詢本地的記錄,找到如下一條記錄:www.linejet.com A 211.120.3.12 (表示linejet.com 域中域名服務(wù)器dns.linejet.com 的IP 地址為:211.120.3.12), 并將結(jié)果返回給客戶本地域名服務(wù)器dns.company.com 。
(6)客戶本地域名服務(wù)器將返回的結(jié)果保存到本地緩存,同時將結(jié)果返回給客戶機。
這樣就完成了一次域名解析過程。
,A
B
C