(我們用-n選項運行t c p d u m p命令,打印出點分十進制的地址,而不是主機名)。對于A R P請求中的各字段來說,發送端的協議地址和目的端的協議地址是一致的:即主機b s d i的地址1 4 0 . 2 5 2 . 1 3 . 3 5。另外,以太網報頭中的源地址0 : 0 : c 0 : 6 f : 2 d : 4 0,正如t c p d u m p命令顯示的那樣,等于發送端的硬件地址(見圖4 - 4)。 免費A R P可以有兩個方面的作用: 1) 一個主機可以通過它來確定另一個主機是否設置了相同的I P地址。主機b s d i并不希望對此請求有一個回答。但是,假如收到一個回答,那么就會在終端日志上產生一個錯誤消息“以太網地址:a : b : c : d : e : f發送來重復的I P地址”。這樣就可以警告系統治理員,某個系統有不正確的設置。 2) 假如發送免費A R P的主機正好改變了硬件地址(很可能是主機關機了,并換了一塊接口卡,然后重新啟動),那么這個分組就可以使其他主機高速緩存中舊的硬件地址進行相應的更新。一個比較聞名的A R P協議事實[Plummer 1982]是,假如主機收到某個I P地址的A R P請求,而且它已經在接收者的高速緩存中,那么就要用A R P請求中的發送端硬件地址(如以太網地址)對高速緩存中相應的內容進行更新。主機接收到任何A R P請求都要完成這個操作(A R P 請求是在網上廣播的,因此每次發送A R P請求時網絡上的所有主機都要這樣做)。 文獻[ B h i d e、E l n o z a h y和M o rgan 1991] 中有一個應用例子,通過發送含有備份硬件地址和故障服務器的I P地址的免費A R P請求,使得備份文件服務器可以順利地接替故障服務器進行工作。這使得所有目的地為故障服務器的報文都被送到備份服務器那里,客戶程序不用關心原來的服務器是否出了故障。 不幸的是,作者卻反對這個做法,因為這取決于所有不同類型的客戶端都要有正確的ARP協議實現。他們顯然碰到過客戶端的ARP協議實現與規范不一致的情況。通過檢查作者所在子網上的所有系統可以發現,SunOS 4.1.3和4 . 4 B S D在引導時都發送免費ARP,但是SVR4卻沒有這樣做。