摘要:下面是由希賽小編整理的通信互聯(lián)網(wǎng)技術(shù)知識點精講之域名和地址解析,希望能幫助學(xué)友們。
下面是由希賽小編整理的通信互聯(lián)網(wǎng)技術(shù)知識點精講之域名和地址解析,希望能幫助學(xué)友們。具體內(nèi)容如下:
域名和地址解析
1.域名系統(tǒng)
盡管通過IP地址可以識別主機上的網(wǎng)絡(luò)接口,進而訪問主機,但是人們最喜歡使用的還是主機名。在TCP/IP領(lǐng)域中,域名系統(tǒng)(DNS)是一個分布的數(shù)據(jù)庫,由它來提供IP地址和主機名之間的映射信息。
網(wǎng)絡(luò)上的每臺計算機都有自己的名字,如東南大學(xué)的WWW服務(wù)器的名字是www.seu.edu.cn,其中cn表示中國,edu表示教育網(wǎng),seu表示東南大學(xué),www表示W(wǎng)WW服務(wù)器。用戶通信時直接使用對方計算機的名字,網(wǎng)絡(luò)軟件會自動在域名服務(wù)器中查詢對方的具體地址號碼。就像電話網(wǎng)中的114査號臺能根據(jù)用戶名査出電話號碼一樣,Internet域名系統(tǒng)(DNS)是將域名地址與IP數(shù)字地址來回轉(zhuǎn)換的一種TCP/IP服務(wù),并且是在用戶不知道的情況下由計算機自動進行的,以方便通信。
IP地址的各部分并不直接與子域名字一一對應(yīng),因此不可機械地用這個模式去套用。
域名形象易記,并有簡單的規(guī)范如下。
域,如xn表示中國,.jp表示日本,.us表示美國,域省略時表示美國。最近又增加了7個域,如。web表示W(wǎng)WW研究組織,.info表示提供信息服務(wù)的單位。域名系統(tǒng)通過DNS協(xié)議和客戶機/服務(wù)器處理模式,提供計算機域名和IP地址間的翻譯。這種翻譯過程稱為域名解析(解答)。其中,服務(wù)器是名字服務(wù)器,對客戶機提出的域名或地址進行翻譯??蛻魴C也稱為名字解答器,用戶程序利用名字解答器查詢計算機域名對應(yīng)的IP地址。每個名字解答器再向一個或多個名字服務(wù)器查詢。
域名解析過程如圖5-33所示。用戶提供計算機名,用戶程序利用例程“客戶端解答器”向名字服務(wù)器發(fā)出域名查詢請求,名字服務(wù)器解答査詢,將計算機域名翻譯成IP地址,然后將IP地址返回給客戶端解答器,最后再提交給用戶程序。名字服務(wù)器可以從名字緩存、自身故據(jù)庫或其他名字服務(wù)器中獲得所需的IP地址。域名系統(tǒng)也可以提供相反的翻譯過程,即從IP地址到域名的翻譯。
地址解析協(xié)議
數(shù)據(jù)鏈路,如以太網(wǎng)或令牌環(huán)網(wǎng),都有自己的尋址機制(常為48bit地址),這是使用數(shù)據(jù)鏈路的任何網(wǎng)絡(luò)層都必須遵從的。一個網(wǎng)絡(luò)(如以太網(wǎng))可以同時被不同的網(wǎng)絡(luò)層使用。例如,一組使用TCP/IP的主機和另一組使用某種網(wǎng)絡(luò)軟件的主機可以共享相同的電纜。
當(dāng)一臺主機把以太網(wǎng)數(shù)據(jù)幀發(fā)送到位于同一局域網(wǎng)上的另一臺主機時,是根據(jù)48bit的以太網(wǎng)地址來確定目的接口的。設(shè)備驅(qū)動程序從不檢査IP數(shù)據(jù)報中的目的IP地址。
地址解析為這兩種不同的地址形式提供映射:32bit的IP地址和數(shù)據(jù)鏈路層使用的任何類型的地址。RFC826[Plummerl982]是ARP規(guī)范描述文檔。
ARP為IP地址到對應(yīng)的硬件地址之間提供動態(tài)映射,這個過程是自動完成的,一般應(yīng)用程序用戶或系統(tǒng)管理員不必關(guān)心,如圖5-34所示。
例如,任何時候鍵入命令:%ftp bsdi都會進行以下這48位以太網(wǎng)地址勝;步驟。
應(yīng)用程序FTP客戶端調(diào)用函數(shù)gethostbyname把主機名(bsdi)轉(zhuǎn)換成32bit的IP地址。
FTP客戶端請求TCP用得到的IP地址建立連接。
TCP發(fā)送一個連接請求分段到遠(yuǎn)端的主機,即用上述IP地址發(fā)送一份IP數(shù)據(jù)報。
如果目的主機在本地網(wǎng)絡(luò)(如以太網(wǎng)、令牌環(huán)網(wǎng)或點對點鏈接的另一端)上,那么IP數(shù)據(jù)報可以直接傳送到目的主機上。如果目的主機在一個遠(yuǎn)程網(wǎng)絡(luò)上,那么就通過IP選路函數(shù)來確定位于本地網(wǎng)絡(luò)上的下一站路由器地址,并讓它轉(zhuǎn)發(fā)IP數(shù)據(jù)報。在這兩種情況下,IP數(shù)據(jù)報都是被送到位于本地網(wǎng)絡(luò)上的一臺主機或路由器。
假定是一個以太網(wǎng),那么發(fā)送端主機必須把32bit的IP地址變換成48bit的以太網(wǎng)地址。
從邏輯Internet地址到對應(yīng)的物理硬件地址需要進行翻譯。這就是ARP的功能。ARP本是用于廣播網(wǎng)絡(luò)的,有許多主機或路由器連在同一個網(wǎng)絡(luò)上。
ARP發(fā)送一份稱做ARP請求的以太網(wǎng)數(shù)據(jù)幀給以太網(wǎng)上的每個主機。這個過程稱為廣播,ARP請求數(shù)據(jù)幀中包含目的主機的IP地址(主機名為bsdi),其含義是“如果你是這個IP地址的擁有者,請回答你的硬件地址。
目的主機的ARP層收到這份廣播報文后,識別出這是發(fā)送端在尋問它的IP地址,于是發(fā)送一個ARP應(yīng)答。這個ARP應(yīng)答包含IP地址及對應(yīng)的硬件地址。
收到ARP應(yīng)答后,使ARP進行請求一應(yīng)答交換的IP數(shù)據(jù)報就可以傳送了。
發(fā)送IP數(shù)據(jù)報到目的主機。
在ARP中有一個基本概念,那就是網(wǎng)絡(luò)接口有一個硬件地址(一個48bit的值,標(biāo)識不同的以太網(wǎng)或令牌環(huán)網(wǎng)絡(luò)接口)。在硬件層次上進行的數(shù)據(jù)幀交換必須有正確的接口地址。但是,TCP/IP有自己的地址:32bit的IP地址。了解主機的IP地址并不能讓內(nèi)核發(fā)送一幀數(shù)據(jù)給主機。內(nèi)核(如以太網(wǎng)驅(qū)動程序)必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù)。ARP的功能是在32bit的IP地址和采用不同網(wǎng)絡(luò)技術(shù)的硬件地址之間提供動態(tài)映射。
點對點鏈路不使用ARP.當(dāng)設(shè)置這些鏈路時(一般在引導(dǎo)過程進行),必須告知內(nèi)核鏈路每一端的IP地址。并不涉及像以太網(wǎng)地址這樣的硬件地址。
為使ARP高效運行,在每個主機上都有一個ARP高速緩存。這個高速緩存存放了最近Internet地址到硬件地址之間的映射記錄。高速緩存中每一項都有一個生存時間,一般為20min,起始時間從被創(chuàng)建時開始算起。
在以太網(wǎng)上解析IP地址時,ARP請求和應(yīng)答分組的格式如圖5-35所示。ARP可以用于其他類型的網(wǎng)絡(luò),可以解析IP地址以外的地址,緊跟著幀類型字段的前四個字段指定了最后四個字段的類型和長度。
以太網(wǎng)報頭中的前兩個字段是以太網(wǎng)的源地址和目的地址。目的地址為全1的特殊地址是廣播地址。電纜上的所有以太網(wǎng)接口都要接收廣播的數(shù)據(jù)幀。
兩個字節(jié)長的以太網(wǎng)幀類型表示后面數(shù)據(jù)的類型。對于ARP請求或應(yīng)答來說,該字段的值為0x0806。
形容詞hardware(硬件〉和protocol(協(xié)議>用來描述ARP分組中的各個字段。例如,一個ARP請求分組詢問協(xié)議地址(這里是IP地址)對應(yīng)的硬件地址(這里是以太網(wǎng)地址)。
硬件類型字段表示硬件地址的類型。它的值為1表示以太網(wǎng)地址。協(xié)議類型字段表示要映射的協(xié)議地址類型。它的值為0x0800表示IP地址。它的值與包含IP數(shù)據(jù)報的以太網(wǎng)數(shù)據(jù)幀中的類型字段的值相同,這是有意設(shè)計的。
接下來的兩個1字節(jié)的字段,硬件地址長度和協(xié)議地址長度分別指出硬件地址和協(xié)議地址的長度,以字節(jié)(Byte)為單位。對于以太網(wǎng)上IP地址的ARP請求或應(yīng)答來說,它們的值分別為6和4。
操作字段指出4種操作類型,它們是ARP請求(值為1)、ARP應(yīng)答(值為2)、RARP請求(值為3)和RARP應(yīng)答(值為4)。這個字段是必需的,因為ARP請求和ARP應(yīng)答的幀類型字段值是相同的。接下來的四個字段是發(fā)送端的硬件地址(在本例中是以太網(wǎng)地址)、發(fā)送端的協(xié)議地址(IP地址)、目的端的硬件地址和目的端的協(xié)議地址。注意,這里有一些重復(fù)信息:在以太網(wǎng)的數(shù)據(jù)幀報頭中和ARP請求數(shù)據(jù)幀中都有發(fā)送端的硬件地址。對于一個ARP請求來說,除目的端硬件地址外的所有其他字段都有填充值。當(dāng)系統(tǒng)收到一份目的端為本機的ARP請求報文后,它就把硬件地址填進去,然后用兩個目的端地址分別替換兩個發(fā)送端地址,并把操作字段置為2,最后把它發(fā)送回去。
如果ARP請求是從一個網(wǎng)絡(luò)的主機發(fā)往另一個網(wǎng)絡(luò)上的主機,那么連接這兩個網(wǎng)絡(luò)的路由器就可以回答該請求,這個過程稱做委托ARP或ARP代理(ProxyARP)。這樣可以“欺騙”發(fā)起ARP請求的發(fā)送端,使它誤以為路由器就是目的主機,而事實上目的主機是在路由器的“另一邊”。路由器的功能相當(dāng)于目的主機的代理,把分組從其他主機轉(zhuǎn)發(fā)給它。
ARP代理舉例如下。如圖5-36所示,系統(tǒng)sun與兩個以太網(wǎng)相連。在sun和子網(wǎng)140.252.1之間實際存在一個路由器。就是這個具有ARP代理功能的路由器使得系統(tǒng)sun就好像在子網(wǎng)140.252.1上一樣。具體安置如圖5-36所示,路由器TelebitNetBlazer,取名為netb,在子網(wǎng)和主機sun之間,當(dāng)子網(wǎng)140.252.1(稱做gemini)上的其他主機有一份IP數(shù)據(jù)報要傳給地址為140.252.1.29的sun時,gemini比較網(wǎng)絡(luò)號(140.252)和子網(wǎng)號(1),因為它們都是相同的,因而在圖5-36上的以太網(wǎng)中發(fā)送IP地址140.252.1.29的ARP請求。路由器netb識別出該IP地址屬于它的一個拔號主機,于是把它的以太網(wǎng)接口地址140.252.1作為硬件地址來回答。主機gemini通過以太網(wǎng)發(fā)送IP數(shù)據(jù)報到netb,netb通過撥號SLIP鏈路把數(shù)據(jù)報轉(zhuǎn)發(fā)到sun.這個過程對于所有140.252.1子網(wǎng)上的主機來說都是透明的,主機sun實際上是在路由器netb后面進行配置的。
ARP代理也稱做混合ARP(promiscuousARP)或ARP出租(ARPhack)?這些名字來自于ARP代理的其他用途:通過兩個物理網(wǎng)絡(luò)之間的路由器可以互相隱藏物理網(wǎng)絡(luò)。在這種情況下,兩個物理網(wǎng)絡(luò)可以使用相同的網(wǎng)絡(luò)號,只要把中間的路由器設(shè)置成一個ARP代理,以響應(yīng)一個網(wǎng)絡(luò)到另一個網(wǎng)絡(luò)主機的ARP請求。這種技術(shù)在過去用來隱藏一組在不同物理電纜上運行舊版TCP/IP的主機。分開這些舊主機有兩個共同的理由,其一是它們不能處理子網(wǎng)劃分,其二是它們使用舊的廣播地址(所有比特值為0的主機號,而不是目前使用的所有比特值為1的主機號)。
反向ARP(ReverseAddressResolutionProtocol,RARP),是由硬件地址查找邏輯地址。
通常主機的IP地址保存在硬盤上,機器關(guān)電時也不會丟失,系統(tǒng)啟動時自動讀入內(nèi)存中。但是無盤工作站無法保存IP地址,它的IP地址由RARP服務(wù)器保存。當(dāng)無盤工作站啟動時,
廣播一個RARP服務(wù)器請求分組,把自己的硬件地址同時寫入發(fā)送方和接收方的硬件地址字段中。RARP服務(wù)器接收這個請求,并填寫目標(biāo)IP地址字段,把操作字段改為RARP響應(yīng)分組,發(fā)回請求的主機。
相關(guān)推薦:
通信互聯(lián)網(wǎng)技術(shù)知識點精講之網(wǎng)絡(luò)操作系統(tǒng)匯總
中級通信互聯(lián)網(wǎng)技術(shù)知識點精講之網(wǎng)絡(luò)安全技術(shù)匯總
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取