摘要:形容詞hardware(硬件〉和protocol(協議>用來描述ARP分組中的各個字段。例如,一個ARP請求分組詢問協議地址(這里是IP地址)對應的硬件地址(這里是以太網地址)。硬件類型字段表示硬件地址的類型。它的值為1表示以太網地址。協議類型字段表示要映射的協議地址類型。它的值為0x0800表示IP地址。它的值與包含IP數據報的以太網數據幀
形容詞hardware(硬件〉和protocol(協議>用來描述ARP分組中的各個字段。例如,一個ARP請求分組詢問協議地址(這里是IP地址)對應的硬件地址(這里是以太網地址)。
硬件類型字段表示硬件地址的類型。它的值為1表示以太網地址。協議類型字段表示要映射的協議地址類型。它的值為0x0800表示IP地址。它的值與包含IP數據報的以太網數據幀中的類型字段的值相同,這是有意設計的。
接下來的兩個1字節的字段,硬件地址長度和協議地址長度分別指出硬件地址和協議地址的長度,以字節(Byte)為單位。對于以太網上IP地址的ARP請求或應答來說,它們的值分別為6和4。
操作字段指出4種操作類型,它們是ARP請求(值為1)、ARP應答(值為2)、RARP請求(值為3)和RARP應答(值為4)。這個字段是必需的,因為ARP請求和ARP應答的幀類型字段值是相同的。接下來的四個字段是發送端的硬件地址(在本例中是以太網地址)、發送端的協議地址(IP地址)、目的端的硬件地址和目的端的協議地址。注意,這里有一些重復信息:在以太網的數據幀報頭中和ARP請求數據幀中都有發送端的硬件地址。對于一個ARP請求來說,除目的端硬件地址外的所有其他字段都有填充值。當系統收到一份目的端為本機的ARP請求報文后,它就把硬件地址填進去,然后用兩個目的端地址分別替換兩個發送端地址,并把操作字段置為2,最后把它發送回去。
如果ARP請求是從一個網絡的主機發往另一個網絡上的主機,那么連接這兩個網絡的路由器就可以回答該請求,這個過程稱做委托ARP或ARP代理(ProxyARP)。這樣可以“欺騙”發起ARP請求的發送端,使它誤以為路由器就是目的主機,而事實上目的主機是在路由器的“另一邊”。路由器的功能相當于目的主機的代理,把分組從其他主機轉發給它。
ARP代理舉例如下。如圖5-36所示,系統sun與兩個以太網相連。在sun和子網140.252.1之間實際存在一個路由器。就是這個具有ARP代理功能的路由器使得系統sun就好像在子網140.252.1上一樣。具體安置如圖5-36所示,路由器TelebitNetBlazer,取名為netb,在子網和主機sun之間,當子網140.252.1(稱做gemini)上的其他主機有一份IP數據報要傳給地址為140.252.1.29的sun時,gemini比較網絡號(140.252)和子網號(1),因為它們都是相同的,因而在圖5-36上的以太網中發送IP地址140.252.1.29的ARP請求。路由器netb識別出該IP地址屬于它的一個拔號主機,于是把它的以太網接口地址140.252.1作為硬件地址來回答。主機gemini通過以太網發送IP數據報到netb,netb通過撥號SLIP鏈路把數據報轉發到sun.這個過程對于所有140.252.1子網上的主機來說都是透明的,主機sun實際上是在路由器netb后面進行配置的。

ARP代理也稱做混合ARP(promiscuousARP)或ARP出租(ARPhack)?這些名字來自于ARP代理的其他用途:通過兩個物理網絡之間的路由器可以互相隱藏物理網絡。在這種情況下,兩個物理網絡可以使用相同的網絡號,只要把中間的路由器設置成一個ARP代理,以響應一個網絡到另一個網絡主機的ARP請求。這種技術在過去用來隱藏一組在不同物理電纜上運行舊版TCP/IP的主機。分開這些舊主機有兩個共同的理由,其一是它們不能處理子網劃分,其二是它們使用舊的廣播地址(所有比特值為0的主機號,而不是目前使用的所有比特值為1的主機號)。
反向ARP(ReverseAddressResolutionProtocol,RARP),是由硬件地址查找邏輯地址。
通常主機的IP地址保存在硬盤上,機器關電時也不會丟失,系統啟動時自動讀入內存中。但是無盤工作站無法保存IP地址,它的IP地址由RARP服務器保存。當無盤工作站啟動時,
廣播一個RARP服務器請求分組,把自己的硬件地址同時寫入發送方和接收方的硬件地址字段中。RARP服務器接收這個請求,并填寫目標IP地址字段,把操作字段改為RARP響應分組,發回請求的主機。
返回目錄:通信工程師考試培訓互聯網技術重點匯總
編輯相關推薦:
[1] [2]
通信工程師備考資料免費領取
去領取
專注在線職業教育25年