ARP工作原理

ARP工作過程
當一個基於TCP/IP的應用程序需要從一臺主機發送數據給另一臺主機時,它把信息分割並封裝成包,附上目的主機的IP地址。然後,尋找IP地址到實際MAC地址的映射,這需要發送ARP廣播消息。當ARP找到了目的主機MAC地址後,就可以形成待發送幀的完整以太網幀頭。最後,協議棧將IP包封裝到以太網幀中進行傳送。
當主機A要和主機B通信(如主機A Ping主機B)時。主機A會先檢查其ARP緩存內是否有主機B的MAC地址。如果沒有,主機A會發送一個ARP請求廣播包,此包內包含着其欲與之通信的主機的IP地址,也就是主機B的IP地址。當主機B收到此廣播後,會將自己的MAC地址利用ARP響應包傳給主機A,並更新自己的ARP緩存,也就是同時將主機A的IP地址/MAC地址對保存起來,以供後面使用。主機A在得到主機B的MAC地址後,就可以與主機B通信了。同時,主機A也將主機B的IP地址/MAC地址對保存在自己的ARP緩存內。
ARP緩衝區
爲了節省ARP緩衝區內存,被解析過的ARP條目的壽命都是有限的。如果一段時間內該條目沒有被參考過,則條目被自動刪除。在工作站PC的Windows環境中,ARP條目的壽命是2分鐘,在大部分Cisco交換機中,該值是5分鐘。(不同系統的動態Cache壽命不同)

在工作站PC的Windows環境中,可以使用命令arp -a查看當前的ARP緩存,而在路由器和交換機中可以命令show arp完成相同的功能。
ARP不能通過IP路由器發送廣播,所以不能用來確定遠程網絡設備的硬件地址。對於目標主機位於遠程網絡的情況,IP利用ARP確定默認網關(路由器)的硬件地址,並將數據包發到默認網關,由路由器按它自己的方式轉發數據包。

反向ARP(Reverse ARP,RARP)用於把物理地址(MAC地址)轉換到對應的 IP 地址。例如,在無盤工作站啓動的時候,因爲無法從自身的操作系統獲得自己的IP地址配置信息。這時,無盤工作站可發送廣播請求獲得自己的IP地址信息,而RARP服務器則響應IP請求消息-爲無盤工作站分配1個未用的IP地址(通過發送RARP應答包)。

反向ARP(RARP)在很大程度上已被BOOTP、DHCP所替代,後面這兩種協議對RARP的改進是可以提供除了IP地址外的其它更多的信息,如默認網關、DNS服務器的IP地址等信息。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章