因特網(wǎng)中客戶端與服務(wù)器相互通訊時使用的是IP地址,但是對人來講32位整數(shù)實在是太難記了,所以因特網(wǎng)定義了域名(domain name),和將域名映照到IP地址的機(jī)制。而將域名映照到IP地址的進(jìn)程就叫做域名解析。
域名到IP地址的解析進(jìn)程的要點(diǎn)以下:當(dāng)某1個利用程序需要把主機(jī)名解析為IP地址時,該利用程序就調(diào)用解析程序,并成為DNS的客戶,把待解析的域名放在DNS要求報文中,以UDP用戶數(shù)據(jù)報的方式發(fā)給本地域名服務(wù)器。本地域名服務(wù)器在查找域名后,把相應(yīng)的IP地址放在回答報文中返回。
DNS服務(wù)器在域名解析進(jìn)程中的查詢順序為:本地緩存記錄、區(qū)域記錄、轉(zhuǎn)發(fā)域名服務(wù)器、根域名服務(wù)器。下面簡單討論下域名的解析進(jìn)程:
1. 主機(jī)向本地域名服務(wù)器的查詢1般都是采取遞歸查詢,所謂遞歸查詢就是:如果主機(jī)所詢問的本地域名服務(wù)器不知道被查詢域名的IP地址,本地域名服務(wù)器就以DNS客戶的身份,向其他根域名服務(wù)器繼續(xù)發(fā)出查詢要求報文(即替該主機(jī)繼續(xù)查詢),而不是讓該主機(jī)自己進(jìn)1步下1步的查詢。因此,遞歸查詢返回的查詢結(jié)果或是所要查詢的IP地址,或是報錯,表示沒法查詢到所需的IP地址。、
2. 本地域名服務(wù)器向根域名服務(wù)器的查詢通常是采取迭代查詢。迭代查詢的特點(diǎn)是:當(dāng)根域名服務(wù)器收到本地域名服務(wù)器發(fā)出的迭代查詢要求報文時,要末給出所要查詢的IP地址,要末告知本地域名服務(wù)器:“你下1步應(yīng)當(dāng)向哪個域名服務(wù)器進(jìn)行查詢”。然后讓本地域名服務(wù)器進(jìn)行后續(xù)的查詢(而不是替本地域名服務(wù)器進(jìn)行后續(xù)的查詢)。根域名服務(wù)器通常是把自己知道的頂級域名服務(wù)器的IP地址告知本地域名服務(wù)器,讓本地域名服務(wù)器再向頂級域名服務(wù)器查詢。頂級域名服務(wù)器在收到本地域名服務(wù)器發(fā)出的查詢要求以后,要末給出所要查詢的IP地址,要末告知本地域名服務(wù)器下1步應(yīng)當(dāng)向哪個權(quán)限域名服務(wù)器進(jìn)行查詢。本地域名服務(wù)器就這樣進(jìn)行迭代查詢,最后將解析到的域名IP地址返回給發(fā)起查詢的主機(jī)。
關(guān)于遞歸查詢和迭代查詢的實例步驟以下: