ARP協(xié)議解析流程
ARP協(xié)議是對地址進行解析的一種協(xié)議,那么我們今天就來對這個協(xié)議的的基本流程做一下介紹。首先我們來了解一下常規(guī)的IP地址解析情況。解釋本地IP地址(要了解地址解析工作過程的朋友看好了)主機IP地址解析為硬件地址:
(1)當(dāng)一臺主機要與別的主機通信時,初始化ARP請求。當(dāng)該IP斷定IP地址是本地時,源主機在ARP緩存中查找目標(biāo)主機的硬件地址。
(2)要是找不到映射的話,ARP協(xié)議建立一個請求,源主機IP地址和硬件地址會被包括在請求中,該請求通過廣播,使所有本地主機均能接收并處理。
(3)本地網(wǎng)上的每個主機都收到廣播并尋找相符的IP地址。
(4)當(dāng)目標(biāo)主機斷定請求中的IP地址與自己的相符時,直接發(fā)送一個ARP答復(fù),將自己的硬件地址傳給源主機。以源主機的IP地址和硬件地址更新它的ARP緩存。源主機收到回答后便建立起了通信。
解析遠程IP地址
不同網(wǎng)絡(luò)中的主機互相通信,ARP協(xié)議廣播的是源主機的缺省網(wǎng)關(guān)。
目標(biāo)IP地址是一個遠程網(wǎng)絡(luò)主機的話,ARP將廣播一個路由器的地址。
(1)通信請求初始化時,得知目標(biāo)IP地址為遠程地址。源主機在本地路由表中查找,若無,源主機認(rèn)為是缺省網(wǎng)關(guān)的IP地址。在ARP緩存中查找符合該網(wǎng)關(guān)記錄的IP地址(硬件地址)。
(2)若沒找到該網(wǎng)關(guān)的記錄,ARP協(xié)議將廣播請求網(wǎng)關(guān)地址而不是目標(biāo)主機的地址。路由器用自己的硬件地址響應(yīng)源主機的ARP請求。源主機則將數(shù)據(jù)包送到路由器以傳送到目標(biāo)主機的網(wǎng)絡(luò),最終達到目標(biāo)主機。
(3)在路由器上,由IP決定目標(biāo)IP地址是本地還是遠程。如果是本地,路由器用ARP協(xié)議(緩存或廣播)獲得硬件地址。如果是遠程,路由器在其路由表中查找該網(wǎng)關(guān),然后運用ARP獲得此網(wǎng)關(guān)的硬件地址。數(shù)據(jù)包被直接發(fā)送到下一個目標(biāo)主機。
(4)目標(biāo)主機收到請求后,形成ICMP響應(yīng)。因源主機在遠程網(wǎng)上,將在本地路由表中查找源主機網(wǎng)的網(wǎng)關(guān)。找到網(wǎng)關(guān)后,ARP即獲取它的硬件地址。
(5)如果此網(wǎng)關(guān)的硬件地址不在ARP協(xié)議緩存中,通過ARP廣播獲得。一旦它獲得硬件地址,ICMP響應(yīng)就送到路由器上,然后傳到源主機。