代理arp的深入學習和實踐實驗


Gratuitous ARP

定義

代理arp為arp的一種特定,為了解決局域網IP地址沖突問題而產生。

組成

ARP request、ARP reply

報文內容

ARP request

 

 

 

 

源IP、MAC是自己;目的IP是檢測的IP(自己)、MAC是全0

ARP reply

 

 

 

 

源IP、MAC是自己,目的IP、MAC是發送request方

作用

  1. 更新伙伴arp:當設備的硬件地址發生變化時,可以發送arp request來更新同一廣播域下所有設備變化設備的arp表項;
  2. 檢測沖突:當arp request發出后,沒有reply,證明局域網內沒有其他使用該IP;如果收到reply后,說明局域網內有設備在使用該IP;

當主機收到reply包后,系統會提醒用戶IP地址沖突,並會周期性的發送arp reply報文,直到沖突接觸。

優點:通過周期廣播代理arp來檢測IP是否沖突;

缺點:廣播泛濫會導致局域網不穩定;

Address Conflict Detect

定義

Address Conflict Detection,地址沖突檢測,簡稱ACD。鑒於代理ARP的缺陷,RFC 5227提出ACD機制。其中ACD將arp request分為ARP probe和ARP announcement兩種;

報文

ARP probe:用於檢測IP地址沖突,發送端IP填充為0,填充為0是為了避免對其他設備的ARP cache造成污染(ARP probe報文不會使局域網中的其他設備刷新ARP映射關系,若已經有設備正在使用目標IP地址了,其通信不會受影響)

 

 

源IP是全0,MAC是自己;目的IP是檢測的IP(自己)、MAC是全0

ARP announcement:用於“昭示天下”(LAN/VLAN)本設備要使用某個IP地址了,它其實就是一個免費ARP request,即發送端IP地址和目標IP地址都是本設備IP地址的ARP request報文,

 

 

源IP、MAC是自己;目的IP是檢測的IP(自己)、MAC是全0

工作原理

  1. 網卡啟動或從睡眠狀態醒來時,會發送一個ARP probe;
  2. 發送設備收到其他主機發送的arp probe時或者ARP reply。當收到ARP reply時,證明IP有其他主機在使用了。當收到arp probe時,證明有其他主機想要這個ip。 無論是收到arp reply或者prboe,兩段將提示用戶地址沖突,並激發地址沖突處理機制。
  3. 如果上面兩種包都沒有收到,說明IP地址可用。設備將發送arp announcement,告訴大家這個IP已經被我在使用了,並且讓其他設備更新arp表項。

地址沖突處理機制

當檢測到IP地址沖突后,RFC5527提供了三種可選的解決機制:

  1. 直接放棄使用該IP地址;
  2. 發送一個ARP announcement來進行IP地址“守衛”,如果沖突仍然繼續存在,放棄使用這個IP;
  3. 無視沖突,繼續使用這個IP。

 

 

 

Windows系統主機的地址沖突檢測實現情況

參考本文最后參考文獻

 

 

 

 

華三交換機\路由器\防火牆 處理IP地址沖突處理機制

通過以下的實驗進行分析:

一、設備“不開啟源IP地址沖突提示功能”(默認情況)

如下拓撲所示,將SW與測試儀器互聯的地址配置為100.1.1.1/24,然后用測試儀器向SW分別持續打入3種報文。

1、 打入ARP probe

 

 

可以觀察到當SW持續收到地址100.1.1.1的ARP probe報文后,會不斷以地址100.1.1.1的免費ARP進行回應,但不會產生地址沖突的告警日志。

2、 打入ARP announcement(免費ARP request)

 

 

可以觀察到當SW持續收到地址100.1.1.1的免費ARP request報文后,會不斷以地址100.1.1.1的免費ARP進行回應,但不會產生地址沖突的告警日志。

3、打入ARP reply(發送者IP與標記IP均為100.1.1.1)

 

 

可以觀察到當SW持續收到地址100.1.1.1的免費ARP reply報文后,每隔6s會回應一個免費ARP request報文,檢測沖突是否消除,而且會生成地址沖突的告警日志。

二、設備“開啟源IP地址沖突提示功能”

重復上述三個打流過程,此時設備收到地址100.1.1.1的三種免費ARP報文后,每隔6s都會回應一個免費ARP request報文,檢測沖突是否消除,而且會生成地址的沖突的告警日志。

1、PC/服務器等終端設備通常采用RFC 5227中新的ACD檢測流程,當檢測到地址沖突后,其處理方式與RFC 5227中提供的“機制一”一致,即直接放棄對沖突地址的使用。在修改終端地址、新終端接入局域網等應用場景下,如果產生地址沖突,該方式最有利於網絡的穩定性。

2、H3C網絡設備直接采用免費ARP實現地址沖突檢測,而非RFC 5227中新的ACD檢測流程。當檢測到地址沖突時,其處理方式與RFC 5227中提供的“機制三”一致,即繼續占用沖突地址。在修改終端地址、新終端接入局域網等應用場景下,如果產生地址沖突,網絡設備比終端設備更“強勢”,終端設備更容易放棄對沖突地址的使用,這樣有利於網絡的整體穩定性。但在網絡設備間地址沖突的情況下,該機制對整網穩定性會造成持續影響。

3、當H3C網絡設備關閉源IP地址沖突提示功能時(默認情況),僅在收到免費ARP reply后,每隔6s會回應一個免費ARP request報文,檢測沖突是否消除,而且會生成地址沖突的告警日志;當開啟源IP地址沖突提示功能時,只要收到ARP報文的目標IP與本地地址一致,每隔6s會回應一個免費ARP request報文,檢測沖突是否消除,而且會生成地址沖突的告警日志

 

 

 

本文參考文獻:

https://zhiliao.h3c.com/Theme/details/27896 免費ARP實現IPv4地址沖突檢測原理分析(知了社區)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM