arp,全稱address resolution protocol,中文名為位址解析協議,它工作在資料鏈路層,在本層和硬體介面聯絡,同時對上層提供服務。
ip資料報常通過乙太網傳送,乙太網裝置並不識別32位ip位址,它們是以48位乙太網位址傳輸乙太網資料報。因此,必須把ip目的位址轉換成乙太網目的位址。在乙太網中,乙個主機要和另乙個主機進行直接通訊,必須要知道目標主機的mac位址。但這個目標mac位址是如何獲得的呢?它就是通過位址解析協議獲得的。arp協議用於將網路中的ip位址解析為的硬體位址(mac位址),以保證通訊的順利進行。
arp和rarp使用相同的報頭結構,如圖1所示。
(圖1 arp/rarp報頭結構)
硬體型別字段:指明了傳送方想知道的硬體介面型別,乙太網的值為1;
協議型別字段:指明了傳送方提供的高層協議型別,ip為0800(16進製制);
硬體位址長度和協議長度:指明了硬體位址和高層協議位址的長度,這樣arp報文就可以在任意硬體和任意協議的網路中使用;
操作字段:用來表示這個報文的型別,arp請求為1,arp響應為2,rarp請求為3,rarp響應為4;
傳送方的硬體位址(0-3位元組):源主機硬體位址的前3個位元組;
傳送方的硬體位址(4-5位元組):源主機硬體位址的後3個位元組;
傳送方ip(0-1位元組):源主機硬體位址的前2個位元組;
傳送方ip(2-3位元組):源主機硬體位址的後2個位元組;
目的硬體位址(0-1位元組):目的主機硬體位址的前2個位元組;
目的硬體位址(2-5位元組):目的主機硬體位址的後4個位元組;
目的ip(0-3位元組):目的主機的ip位址。
arp的工作原理如下:
1. 首先,每台主機都會在自己的arp緩衝區 (arp cache)中建立乙個 arp列表,以表示ip位址和mac位址的對應關係。
2. 當源主機需要將乙個資料報要傳送到目的主機時,會首先檢查自己 arp列表中是否存在該 ip位址對應的mac位址,如果有﹐就直接將資料報傳送到這個mac位址;如果沒有,就向本地網段發起乙個arp請求的廣播包,查詢此目的主機對應的mac位址。此arp請求資料報裡包括源主機的ip位址、硬體位址、以及目的主機的ip位址。
3. 網路中所有的主機收到這個arp請求後,會檢查資料報中的目的ip是否和自己的ip位址一致。如果不相同就忽略此資料報;如果相同,該主機首先將傳送端的mac位址和ip位址新增到自己的arp列表中,如果arp表中已經存在該ip的資訊,則將其覆蓋,然後給源主機傳送乙個 arp響應資料報,告訴對方自己是它需要查詢的mac位址;
4. 源主機收到這個arp響應資料報後,將得到的目的主機的ip位址和mac位址新增到自己的arp列表中,並利用此資訊開始資料的傳輸。如果源主機一直沒有收到arp響應資料報,表示arp查詢失敗。
rarp的工作原理:
1. 傳送主機傳送乙個本地的rarp廣播,在此廣播包中,宣告自己的mac位址並且請求任何收到此請求的rarp伺服器分配乙個ip位址;
2. 本地網段上的rarp伺服器收到此請求後,檢查其rarp列表,查詢該mac位址對應的ip位址;
3. 如果存在,rarp伺服器就給源主機傳送乙個響應資料報並將此ip位址提供給對方主機使用;
4. 如果不存在,rarp伺服器對此不做任何的響應;
5. 源主機收到從rarp伺服器的響應資訊,就利用得到的ip位址進行通訊;如果一直沒有收到rarp伺服器的響應資訊,表示初始化失敗。
網路協議第四 五章 ARP RARP
網路協議第 四 五章 arp rarp 網路協議第三章 ip網際協議 引言當一台主機將乙太網資料幀傳送到同乙個區域網上的另一台主機時,是根據48bit的乙太網位址來確定目的介面的,裝置驅動程式從不檢查ip資料報中的ip位址。arp為ip位址和硬體位址之間提供動態對映,說是動態的,因為這個過程是自動完...
細聊網路層協議之ARP RARP協議
首先我們必須明白一點的是,ip位址只在網路及其以上的層有用,在鏈路層及以下的層是沒有用的。tcp ip協議棧從上層到下層的封裝過程中,第三層封裝需要知道目的ip,第二層封裝需要知道目的mac 實體地址 在實際網路的鏈路上傳送資料幀時,最終還必須是硬體位址。說到底ip位址是虛的,兩台主機的通訊歸根結底...
TCP IP詳解之IP協議和ARP,RARP
概念 ip 是tcp ip協議族中最為核心的協議。所有tcp udp icmp igmp資料都以ip資料報格式傳輸。ip提供不可靠 無連線的資料報傳送服務。arp為位址解析協議,為ip位址到對應的硬體位址之間提供動態對映。rarp是被那些沒有磁碟驅動器的系統使用的。這三個協議都處於同一層中,arp通...