對於網絡的傳輸,IP地址也就是主機地址的解析是離不開ARP協議的使用的。但這方面也非常容易出現問題。我們現在就來簡單談談ARP協議的一些基本地址解析的內容。
解釋本地IP地址(要了解地址解析工作過程的朋友看好了)主機IP地址解析為硬件地址:
(1)當一台主機要與別的主機通信時,初始化ARP請求。當該IP斷定IP地址是本地時,源主機在ARP緩存中查找目標主機的硬件地址。
(2)要是找不到映射的話,ARP協議建立一個請求,源主機IP地址和硬件地址會被包括在請求中,該請求通過廣播,使所有本地主機均能接收並處理。
(3)本地網上的每個主機都收到廣播並尋找相符的IP地址。
(4)當目標主機斷定請求中的IP地址與自己的相符時,直接發送一個ARP答復,將自己的硬件地址傳給源主機。以源主機的IP地址和硬件地址更新它的ARP緩存。源主機收到回答後便建立起了通信。
解析遠程IP地址
不同網絡中的主機互相通信,ARP協議廣播的是源主機的缺省網關。
目標IP地址是一個遠程網絡主機的話,ARP將廣播一個路由器的地址。
(1)通信請求初始化時,得知目標IP地址為遠程地址。源主機在本地路由表中查找,若無,源主機認為是缺省網關的IP地址。在ARP緩存中查找符合該網關記錄的IP地址(硬件地址)。
(2)若沒找到該網關的記錄,ARP協議將廣播請求網關地址而不是目標主機的地址。路由器用自己的硬件地址響應源主機的ARP請求。源主機則將數據包送到路由器以傳送到目標主機的網絡,最終達到目標主機。
(3)在路由器上,由IP決定目標IP地址是本地還是遠程。如果是本地,路由器用ARP協議(緩存或廣播)獲得硬件地址。如果是遠程,路由器在其路由表中查找該網關,然後運用ARP獲得此網關的硬件地址。數據包被直接發送到下一個目標主機。
(4)目標主機收到請求後,形成ICMP響應。因源主機在遠程網上,將在本地路由表中查找源主機網的網關。找到網關後,ARP即獲取它的硬件地址。
(5)如果此網關的硬件地址不在ARP協議緩存中,通過ARP廣播獲得。一旦它獲得硬件地址,ICMP響應就送到路由器上,然後傳到源主機。