一、
arp(address resolution protocol,位址解析協議)位於tcp/ip協議棧中的底層,一般歸類在網路層,因為它要使用ip位址,它用於對映計算機的實體地址與網路ip位址。
arp的工作就是在主機傳送幀之前,根據目標的ip位址獲取mac位址,以保證通訊過程的順暢。
具體過程:
每台主機都會在自己的arp緩衝區建立乙個arp列表(也就是arp快取記憶體--arp cache),用於儲存ip位址和mac位址的對應關係。
然後當源主機需要將乙個資料報傳送到目標主機的時候,會先檢查自己的arp列表是否存在該ip位址對應的mac位址。如果存在則直接將資料報傳送到該mac位址;如果不存在,就向本地網段發起乙個arp請求的廣播包,用於查詢目標主機的mac位址。
此arp請求資料報包括源主機的ip位址、硬體位址以及目標主機的ip位址等。
網路中所有主機收到這個arp請求之後,會檢查資料報中的目的ip是否與自己的ip位址一致,如果不同就忽略此資料報;如果相同,該主機會將傳送端的mac位址與ip位址新增到自己的arp列表中。如果arp列表已經存在該ip位址的相關資訊,則將其覆蓋掉,接著給源主機傳送乙個arp響應包,告訴對方自己是它所需要查詢的mac位址。
最後源主機收到這個arp響應包之後,將得到的目的主機的ip位址和mac位址新增到自己的arp列表中,並利用此資訊開始資料的傳輸。如果源主機一直沒有收到arp響應包,則表示arp查詢失敗。
二、arp是解決同乙個區域網上的主機或路由器的ip位址和硬體位址的對映問題。如果所要找的主機和源主機不在同乙個區域網上,就只能通過解析中間相連的路由器,進而得到目的主機的硬體位址。
例如:主機h1傳送給另乙個區域網的主機h2的硬體位址,那麼主機h1需要把路由器r1的ip位址解析為硬體位址,以便能把ip資料報傳送到路由器r1,,然後,r1從**表找出下一跳路由器r2,同時使用arp解析出r2的硬體位址,直到最後找到目的主機。
從ip位址到硬體位址的解析是自動執行的,主機的使用者對這種位址解析過程是不知道的。只要主機或路由器要和本網路的另乙個已知ip位址的主機或路由器進行通訊,那麼arp協議就會自動把這個ip位址解析為鏈路層所需要的硬體位址。
參考《計算機網路6th》,謝希仁。
ARP協議詳解
arp addressresolutionprotocol 位址解析協議用於將計算機的網路位址 ip位址32位 轉化為實體地址 mac位址 48位 rfc826 arp協議是屬於鏈路層的協議,在乙太網中的資料幀從乙個主機到達網內的另一台主機是根據48位的乙太網位址 硬體位址 來確 定介面的,而不是根...
ARP協議詳解
arp addressresolutionprotocol 位址解析協議用於將計算機的網路位址 ip位址32位 轉化為實體地址 mac位址48位 rfc826 arp協議是屬於鏈路層的協議,在乙太網中的資料幀從乙個主機到達網內的另一台主機是根據48位的乙太網位址 硬體位址 來確定介面的,而不是根據3...
ARP協議詳解
arp address resolution protocol 位址解析協議用 於將計算機的網路位址 ip位址32位 轉化為實體地址 mac位址48位 rfc826 arp協議是屬於鏈路層的協議,在乙太網中的資料幀從乙個 主機到達網內的另一台主機是根據48位的乙太網位址 硬體位址 來確定介面的,而不...