網絡設備有數據要發送給另一臺網絡設備時,必須要知道對方的網絡層地址(即IP地址)。IP地址由網絡層來提供,但是僅有IP地址是不夠的,IP數據報文必須封裝成幀才能通過數據鏈路進行發送。數據幀必須要包含目的MAC地址,因此發送端還必須獲取到目的MAC地址
ARP作用:已知對方ip地址,來獲取對方的mac地址
因爲主機在發送數據之前,會進行封裝 發現封裝到二層的時候 DMAC地址這一塊我獲取不了 我主機這邊會發送一個request的廣播報文出去 知道收到reply相應消息後 我主機才能夠封裝完成,並把數據發送出去
普通ARP的工作過程
第一步:主機A想要和主機C通信
第二步:主機A首先會查詢自己的ARP緩存表
這個ARP緩存表根據主機系統的不同,緩存時間也會不同,在windows系統當中緩存時間爲20分鐘左右
第三步:主機A發送廣播
的ARP請求(REQUEST)
第四步:目標主機收到,回覆ARP,發送單播
的REPAY響應
注意:此時目標主機也會在對應的緩存表裏面存儲着主機A的IP地址和對應的MAC地址
第五步:主機A收到目標主機的回覆
免費ARP
主機被分配了IP地址或者IP地址發生變更後,必須立刻檢測其所分配的IP地址在網絡上是否是唯一的,以避免地址衝突
功能一: 檢查IP地址配置是否有衝突
功能二:刷新交換機的MAC地址表(VRRP的場景下)
如果Master發生故障 設備的狀態變爲Master之後,會立刻發送免費ARP來刷新交換機上的MAC表項,從而把用戶的流量引到此設備上來,整個過程對用戶完全透明。
圖片來源於:
https://blog.51cto.com/13817711/2450225