ARP與RARP詳細解析 路由器里ARP映射表啥作用

地址解析協議ARP和反向地址解析協議RARP
1.基本關系:

ARP與RARP詳細解析 路由器里ARP映射表啥作用

文章插圖

2.地址解析協議ARP的實現過程;
無論網絡層使用什么協議,當在實際網絡的鏈路上傳輸數據幀時,最終都必須使用硬件地址 。
每臺主機都有一個ARP緩存,其中包含局域網中每臺主機和路由器的IP地址到硬件地址的映射表 。
【ARP與RARP詳細解析 路由器里ARP映射表啥作用】當主機A想要向局域網中的主機B發送一個IP數據報時,首先要檢查其ARP緩存中是否有主機B的IP地址 。如果是,可以找出它對應的硬件地址,然后把這個硬件地址寫入MAC幀,再通過局域網把這個MAC幀發送到這個硬件地址 。
ARP與RARP詳細解析 路由器里ARP映射表啥作用

文章插圖

3.3的作用 。ARP緩存
為了減少網絡上的流量,主機A在發送其ARP請求包時,會將其IP地址到硬件地址的映射寫入到ARP請求包中 。
當主機B收到主機A的ARP請求包時,會將主機A的這個地址映射寫入主機B自己的ARP緩存中 。主機B以后向A發送數據報更方便 。
5.5注意到的問題 。ARP協議:
ARP是為了解決同一局域網上的主機或路由器的IP地址和硬件地址之間的映射問題 。
如果你要找的主機和源主機不在同一個局域網上,你應該通過ARP找到位于局域網上的一臺路由器的硬件地址,然后將數據包發送到這臺路由器,這樣路由器就可以將數據包轉發到下一個網絡 。剩下的將由下一個網絡完成 。
從IP地址到硬件地址的解析是自動的,主機的用戶不知道這個地址解析過程 。
只要主機或路由器想要與該網絡上具有已知IP地址的另一臺主機或路由器通信,ARP協議就會自動將該IP地址解析為鏈路層所需的硬件地址 。
6.使用ARP的四個典型案例
(1)發送方是主機,需要將IP數據報發送到該網絡上的另一臺主機 。然后用ARP找到目的主機的硬件地址 。
(2)發送方是主機,需要將IP數據報發送到另一個網絡上的主機 。然后使用ARP查找該網絡中路由器的硬件地址 。其余的工作由這臺路由器完成 。
(3)發送方是路由器,它會將IP數據報轉發到該網絡上的主機 。然后用ARP找到目的主機的硬件地址 。
(4)發送方是將IP數據報轉發到另一個網絡上的主機的路由器 。然后使用ARP查找該網絡中路由器的硬件地址 。其余的工作由這臺路由器完成 。
7.ARP數據報消息格式
網絡上的每臺主機或設備都有一個或多個IP地址 。IP地址是網絡層的地址,數據在這里被組裝成IP數據包 。但是,發送IP包需要物理設備(通常是以太網設備,我們在本課程設計中將其指定為以太網設備)的支持,即發送方在發送IP包之前必須知道目的物理地址,因此需要一種將IP地址映射到物理地址的機制 。ARP協議用來完成這個任務 。給定目的主機或設備的IP地址,ARP協議可以獲得同一物理網絡中目的主機或設備的物理地址 。ARP協議的數據包格式如圖1所示:
ARP與RARP詳細解析 路由器里ARP映射表啥作用

文章插圖

圖1數據報的消息格式
下面描述數據包的每個部分 。
硬件類型:指定硬件接口類型 。例如,值1表示以太網 。
協議類型:指定發送方支持的上層協議的類型 。
物理地址長度:指定物理(硬件)地址的啟動網絡的長度 。
協議長度:網絡層協議的地址長度 。對于IP協議,其值為4 。
操作:指定ARP的操作類型,例如1表示ARP請求,2表示ARP回復 。
源地址:指定發件人的IP地址 。
目標物理地址:指定目標物理地址 。
目標IP地址:指定目標IP地址 。
ARP數據包必須封裝在數據鏈路層,然后才能發送出去進行封裝 。
8.ARP協議工作流程
(1)首先,每臺主機將在其ARP緩存中設置一個ARP列表,以表示IP地址和MAC地址之間的對應關系 。
(2)當源主機需要向目的主機發送數據包時,首先會檢查其ARP列表中是否有與該IP地址對應的MAC地址,如果有,則直接將數據包發送到該MAC地址;如果不是,則向本地網段發送一個ARP請求的廣播包,查詢該目的主機對應的MAC地址 。ARP請求包包括源主機的IP地址、硬件地址和目的主機的IP地址 。
(3)網絡中的所有主機收到這個ARP請求后,都會檢查數據包中的目的IP是否與自己的IP地址一致 。如果沒有,忽略這個包;如果二者相同,主機先將發送方的MAC地址和IP地址添加到自己的ARP表中,如果該IP的信息已經存在于ARP表中,則將其覆蓋,然后向源主機發送一個ARP響應包,告訴對方這是需要查找的MAC地址;

推薦閱讀