01-ARP配置
本章節下載: 01-ARP配置 (601.39 KB)
ARP(Address Resolution Protocol,地址解析協議)是將IP地址解析為以太網MAC地址(或稱物理地址)的協議。
在網絡中,當主機或其它網絡設備有數據要發送給另一個主機或設備時,它必須知道對方的網絡層地址(即IP地址)。但是僅僅有IP地址是不夠的,因為IP數據報必須封裝成幀才能通過物理網絡發送,因此發送站還必須有接收站的物理地址,所以需要一個從IP地址到物理地址的映射。ARP就是實現這個功能的協議。
ARP報文分為ARP請求和ARP應答報文,報文格式如圖1-1所示。
圖1-1 ARP報文結構
· 硬件類型:表示硬件地址的類型。它的值為1表示以太網地址;
· 協議類型:表示要映射的協議地址類型。它的值為0x0800即表示IP地址;
· 硬件地址長度和協議地址長度分別指出硬件地址和協議地址的長度,以字節為單位。對於以太網上IP地址的ARP請求或應答來說,它們的值分別為6和4;
· 操作類型(OP):1表示ARP請求,2表示ARP應答;
· 發送端MAC地址:發送方設備的硬件地址;
· 發送端IP地址:發送方設備的IP地址;
· 目標MAC地址:接收方設備的硬件地址;
· 目標IP地址:接收方設備的IP地址。
假設主機A和B在同一個網段,主機A要向主機B發送信息。如圖1-2所示,具體的地址解析過程如下:
(1) 主機A首先查看自己的ARP表,確定其中是否包含有主機B對應的ARP表項。如果找到了對應的MAC地址,則主機A直接利用ARP表中的MAC地址,對IP數據報進行幀封裝,並將IP數據報發送給主機B。
(2) 如果主機A在ARP表中找不到對應的MAC地址,則將緩存該IP數據報,然後以廣播方式發送一個ARP請求報文。ARP請求報文中的發送端IP地址和發送端MAC地址為主機A的IP地址和MAC地址,目標IP地址和目標MAC地址為主機B的IP地址和全0的MAC地址。由於ARP請求報文以廣播方式發送,該網段上的所有主機都可以接收到該請求,但隻有被請求的主機(即主機B)會對該請求進行處理。
(3) 主機B比較自己的IP地址和ARP請求報文中的目標IP地址,當兩者相同時進行如下處理:將ARP請求報文中的發送端(即主機A)的IP地址和MAC地址存入自己的ARP表中。之後以單播方式發送ARP響應報文給主機A,其中包含了自己的MAC地址。
(4) 主機A收到ARP響應報文後,將主機B的MAC地址加入到自己的ARP表中以用於後續報文的轉發,同時將IP數據報進行封裝後發送出去。
圖1-2 ARP地址解析過程
當主機A和主機B不在同一網段時,主機A就會先向網關發出ARP請求,ARP請求報文中的目標IP地址為網關的IP地址。當主機A從收到的響應報文中獲得網關的MAC地址後,將報文封裝並發給網關。如果網關沒有主機B的ARP表項,網關會廣播ARP請求,目標IP地址為主機B的IP地址,當網關從收到的響應報文中獲得主機B的MAC地址後,就可以將報文發給主機B;如果網關已經有主機B的ARP表項,網關直接把報文發給主機B。
設備通過ARP解析到目的MAC地址後,將會在自己的ARP表中增加IP地址和MAC地址映射關係的表項,以用於後續到同一目的地報文的轉發。
ARP表項分為動態ARP表項、靜態ARP表項、OpenFlow ARP表項和Rule ARP表項。
動態ARP表項由ARP協議通過ARP報文自動生成和維護,可以被老化,可以被新的ARP報文更新,可以被靜態ARP表項覆蓋。當到達老化時間、接口狀態down時,係統會刪除相應的動態ARP表項。
靜態ARP表項通過手工配置和維護,不會被老化,不會被動態ARP表項覆蓋。
配置靜態ARP表項可以增加通信的安全性。靜態ARP表項可以限製和指定IP地址的設備通信時隻使用指定的MAC地址,此時攻擊報文無法修改此表項的IP地址和MAC地址的映射關係,從而保護了本設備和指定設備間的正常通信。
靜態ARP表項分為短靜態ARP表項、長靜態ARP表項和多端口ARP表項。
· 在配置長靜態ARP表項時,除了必須配置IP地址和MAC地址項外,還需要進行以下兩種配置之一:
¡ 該ARP表項所在VLAN和出接口;
¡ 該ARP表項的入接口和出接口對應關係。
· 長靜態ARP表項可以直接用於報文轉發。
· 在配置短靜態ARP表項時,隻需要配置IP地址和MAC地址項。如果出接口是三層以太網接口,短靜態ARP表項可以直接用於報文轉發;如果出接口是VLAN接口,短靜態ARP表項不能直接用於報文轉發,需要對表項進行解析:當要發送IP數據報時,設備先發送ARP請求報文,如果收到的響應報文中的發送端IP地址和發送端MAC地址與所配置的IP地址和MAC地址相同,則將接收ARP響應報文的接口加入該靜態ARP表項中,此時,該短靜態ARP表項由未解析狀態變為解析狀態,之後就可以用於報文轉發。
· 配置多端口ARP表項時,除了配置IP地址和MAC地址外,還必須配置該ARP表項所在的VLAN,當多端口ARP表項中的MAC地址和VLAN信息與多端口單播MAC/組播MAC地址表項中的MAC地址和VLAN相同時,該多端口ARP表項可用來指導IP轉發。多端口ARP表項通過手工配置和維護,不會被老化,不會被動態ARP表項覆蓋。組播MAC的相關介紹,請參見“IP組播”的“組播路由與轉發”。
一般情況下,ARP動態執行並自動尋求IP地址到以太網MAC地址的解析,無需管理員的介入。當希望設備和指定用戶隻能使用某個固定的IP地址和MAC地址通信時,可以配置短靜態ARP表項,當進一步希望限定這個用戶隻在某VLAN內的某個特定接口上連接時就可以配置長靜態ARP表項。
OpenFlow ARP表項由OpenFlow添加,不會被老化,不能通過ARP報文更新。可以直接用於轉發報文。關於OpenFlow的介紹,請參見“OpenFlow配置指導”中的“OpenFlow”。
Rule ARP表項由Portal等協議添加,不會被老化,不能通過ARP報文更新,可以被靜態ARP表項覆蓋。可以直接用於轉發報文。關於Portal的詳細介紹,請參見“安全配置指導”中的“Portal”。
靜態ARP表項分為短靜態ARP表項和長靜態ARP表項:
· 對於已經解析的短靜態ARP表項,會由於外部事件,比如解析到的出接口狀態down或設備的ARP表項所對應的VLAN或VLAN接口被刪除等原因,恢複到未解析狀態。
· 對於長靜態ARP表項,根據設備的當前狀態可能處於有效或無效兩種狀態。處於無效狀態的原因可能是該ARP表項對應的VLAN接口狀態down或出接口狀態down、該ARP表項中的IP地址與本地IP地址衝突或設備上沒有與該ARP表項中的IP地址在同一網段的接口地址等原因。處於無效狀態的長靜態ARP表項不能指導報文轉發。當長靜態ARP表項所對應的VLAN或VLAN接口被刪除時,該ARP表項會被刪除。
靜態ARP表項在設備正常工作時間一直有效。
表1-1 手工添加靜態ARP表項
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
手工添加靜態ARP表項 |
手工添加長靜態ARP表項 |
arp static ip-address mac-address [ vlan-id interface-type interface-number ] [ vpn-instance vpn-instance-name ] [ description text ] |
二者選其一 缺省情況下,不存在靜態ARP表項 |
手工添加短靜態ARP表項 |
arp static ip-address mac-address [ vpn-instance vpn-instance-name ] [ description text ] |
在某些設備上,為使手工添加的多端口ARP表項生效,還必須創建Multiport類型業務環回組,並將設備的若幹空閑端口加入該業務環回組。關於業務環回組的創建和配置,請參見“二層技術-以太網交換配置指導”中的“業務環回組”。
多端口ARP表項由多端口單播/組播MAC地址表項指定VLAN和出端口,由多端口ARP表項指定IP地址。多端口ARP表項可以覆蓋其它動態、短靜態和長靜態ARP表項;短靜態或長靜態ARP表項也可以覆蓋多端口ARP表項。多端口單播MAC的相關內容,請參見“二層技術-以太網交換命令參考/MAC地址表”中的命令mac-address multiport;組播MAC的相關內容,請參見“IP組播命令參考/IGMP Snooping”中的命令mac-address multicast。
當多端口ARP表項中IP地址與VLAN接口的IP地址屬於同一網段,且存在對應的多端口單播MAC/組播MAC時,該多端口ARP表項才能正常指導轉發。
表1-2 手工添加多端口ARP表項
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
配置多端口單播MAC地址表項或配置組播MAC地址表項 |
配置多端口單播MAC地址表項 |
mac-address multiport mac-address interface interface-list vlan vlan-id |
二者必選其一 |
配置組播MAC地址表項 |
mac-address multicast mac-address interface interface-list vlan vlan-id |
||
手工添加多端口ARP表項 |
arp multiport ip-address mac-address vlan-id [ vpn-instance vpn-instance-name ] [ description text ] |
缺省情況下,不存在多端口ARP表項 其中mac-address, vlan-id應該和多端口單播MAC或組播MAC中的mac-address, vlan-id相一致 |
設備可以通過ARP協議自動生成動態ARP表項。為了防止用戶占用過多的ARP資源,可以通過設置設備學習動態ARP表項的最大數目來進行限製。當設備學習動態ARP表項的數目達到所設置的值時,該設備上將不再學習動態ARP表項。
表1-3 配置設備學習動態ARP表項的最大數目
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置設備允許學習動態ARP表項的最大數目(獨立運行模式) |
arp max-learning-number max-number slot slot-number |
缺省情況下,設備允許學習動態ARP表項的最大個數為當前設備剩餘資源的最大值 當配置設備允許學習動態ARP表項的最大數目為0時,表示禁止本設備學習動態ARP表項 |
配置設備允許學習動態ARP表項的最大數目(IRF模式) |
arp max-learning-number max-number chassis chassis-number slot slot-number |
缺省情況下,設備允許學習動態ARP表項的最大個數為當前設備剩餘資源的最大值 當配置設備允許學習動態ARP表項的最大數目為0時,表示禁止本設備學習動態ARP表項 |
當本命令配置的動態ARP表項的最大數目小於設備當前已經學到的動態ARP表項數目,已學到的動態ARP表項不會被直接刪除,用戶可以通過執行reset arp dynamic命令直接清除動態ARP表項。
設備可以通過ARP協議自動生成動態ARP表項。為了防止部分接口下的用戶占用過多的ARP資源,可以通過設置接口學習動態ARP表項的最大數目來進行限製。當接口學習動態ARP表項的數目達到所設置的值時,該接口將不再學習動態ARP表項。
如果二層接口及其所屬的VLAN接口都配置了允許學習動態ARP表項的最大數目,則隻有二層接口及VLAN接口上的動態ARP表項數目都沒有超過各自配置的最大值時,才會學習ARP表項。
設備各接口學習的動態ARP表項之和不會超過該設備學習動態ARP表項的最大數目。
表1-4 配置接口學習動態ARP表項的最大數目
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口允許學習動態ARP表項的最大數目 |
arp max-learning-num max-number [ alarm alarm-threshold ] |
缺省情況下,接口允許學習動態ARP表項的最大數目為當前設備剩餘資源的最大值 當配置接口允許學習動態ARP表項的最大數目為0時,表示禁止接口學習動態ARP表項 |
為適應網絡的變化,ARP表需要不斷更新。ARP表中的動態ARP表項並非永遠有效,每一條記錄都有一個生存周期,到達生存周期仍得不到刷新的記錄將從ARP表中刪除,這個生存周期被稱作老化時間。如果在到達老化時間前記錄被刷新,則重新計算老化時間。
係統視圖和接口視圖下都可以配置動態ARP表項的老化時間,接口視圖下配置的動態ARP表項的老化時間優先級高於係統視圖下配置的動態ARP表項的老化時間。
表1-5 在係統視圖下配置動態ARP表項的老化時間
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置動態ARP表項的老化時間 |
arp timer aging { aging-minutes | second aging-seconds } |
缺省情況下,動態ARP表項的老化時間為20分鍾 |
表1-6 在接口視圖下配置動態ARP表項的老化時間
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置動態ARP表項的老化時間 |
arp timer aging { aging-minutes | second aging-seconds } |
缺省情況下,動態ARP表項的老化時間以係統視圖下配置的老化時間為準 |
某條動態ARP表項老化前,設備會向該表項中的IP地址發送ARP請求報文進行老化探測,設備收到ARP應答報文後,動態ARP表項的老化時間會刷新,如果未收到應答,則刪除此動態ARP表項。動態ARP表項老化刷新機製保證了合法的動態ARP表項不會被老化,流量轉發時不需要重新發起ARP解析過程。
係統視圖和接口視圖下都可以配置動態ARP表項老化探測次數,接口視圖下配置的動態ARP表項老化探測次數優先級高於係統視圖下配置的動態ARP表項老化探測次數。
表1-7 在係統視圖下配置動態ARP表項的老化探測次數
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置動態ARP表項的老化探測次數 |
arp timer aging probe-count count |
缺省情況下,動態ARP表項老化探測次數為3次 |
表1-8 在接口視圖下配置動態ARP表項的老化探測次數
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置動態ARP表項的老化探測次數 |
arp timer aging probe-count count |
缺省情況下,動態ARP表項老化探測次數以係統視圖下配置的探測次數為準 |
動態ARP表項老化刷新機製保證了合法的動態ARP表項不會被老化,流量轉發時不需要重新發起ARP解析過程。動態ARP表項老化前,設備會按照配置的老化探測時間間隔向該表項中的IP地址發送ARP請求報文進行老化探測。
· 如果在老化探測時間間隔內,設備收到ARP應答報文後,動態ARP表項的老化時間會刷新;
· 如果在老化探測時間間隔內,設備未收到ARP應答報文,探測次數加1,開始下一次探測;
· 如果到達最大探測次數後,設備仍未收到ARP應答報文,則該動態ARP表項會被刪除。
如果網絡負載較大,請配置較大的老化探測時間間隔。
動態ARP表項老化探測過程中,老化時間超時的動態ARP表項不會被馬上刪除。在動態ARP表項老化探測過程結束前收到ARP應答報文後,動態ARP表項的老化時間還可以被刷新。
配置的動態ARP表項的老化時間需要大於配置的動態ARP表項的老化探測次數乘以配置的動態ARP表項的老化探測時間間隔。否則,ARP表項老化探測功能可能無法按照配置的探測時間間隔進行探測。
表1-9 在係統視圖下配置動態ARP表項的老化探測時間間隔
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置動態ARP表項的老化探測時間間隔 |
arp timer aging probe-interval interval |
缺省情況下,動態ARP表項老化探測時間間隔為5秒 |
表1-10 在接口視圖下配置動態ARP表項的老化探測時間間隔
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置動態ARP表項的老化探測時間間隔 |
arp timer aging probe-interval interval |
缺省情況下,動態ARP表項老化探測次數以係統視圖下配置的探測次數為準 |
動態ARP表項檢查功能可以控製設備上是否可以學習ARP報文中的發送端MAC地址為組播MAC的動態ARP表項。
· 開啟ARP表項的檢查功能後,設備上不能學習ARP報文中發送端MAC地址為組播MAC的動態ARP表項,也不能手工添加MAC地址為組播MAC的靜態ARP表項。
· 關閉ARP表項的檢查功能後,設備可以學習以太網源MAC地址為單播MAC且ARP報文中發送端MAC地址為組播MAC的動態ARP表項,也可以手工添加MAC地址為組播MAC的靜態ARP表項。
表1-11 開啟動態ARP表項的檢查功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟動態ARP表項的檢查功能 |
arp check enable |
缺省情況下,動態ARP表項的檢查功能處於開啟狀態 |
當設備各板間出現了ARP表項不一致的異常情況時,執行該命令行後,可保證設備各板的ARP表項處於一致狀態。
為了防止長時間工作後,各板間的ARP表項出現差異的情況,可通過schedule機製控製arp smooth命令的起始時間及執行的時間間隔,關於schedule機製的介紹,請參見“基礎配置指導”中的“設備管理”。
表1-12 將主用主控板的ARP表項同步到其他所有板
操作 |
命令 |
說明 |
將主用主控板的ARP表項同步到其他所有板 |
arp smooth |
- |
當接口連接終端主機時,可以配置接口為用戶側接口。對於這種接口上學到的ARP表項,不再和設備上的路由信息相關聯。
當接口連接網絡設備時,需要配置接口為網絡側接口。對於這種接口上學到的ARP表項,可以與設備上的路由信息關聯,可作為路由信息的下一跳。
通過實際使用情況,正確配置接口的工作模式,可以適當的節省硬件資源。
表1-13 配置接口為用戶側接口
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口為用戶側接口 |
arp mode uni |
缺省情況下,接口為網絡側接口 |
開啟本功能後,ARP模塊收到非免費ARP報文時,會將ARP報文中的發送端IP地址和已有ARP表項中的IP地址進行比較。如果發現發送端IP地址和某條ARP表項中的IP地址相同,但MAC地址不同,則認為網絡中存在終端用戶間的IP地址衝突。此時,ARP模塊會生成終端用戶間IP地址衝突表項,同時生成對應的IP地址衝突日誌。生成的IP地址衝突日誌將被發送給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。信息中心的詳細描述請參見“網絡管理和監控配置指導”中的“信息中心”。
開啟了ARP模塊終端用戶間IP地址衝突的告警功能後,設備會將衝突報文的發送端IP地址和MAC地址、發生衝突的本地表項的MAC地址等信息作為告警信息發送到設備的SNMP模塊。可以通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。關於開啟ARP模塊的告警功能的詳細介紹,請參見“安全配置指導”中的“ARP攻擊防禦”。
表1-14 開啟ARP記錄終端用戶間IP地址衝突功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP記錄終端用戶間IP地址衝突功能 |
arp user-ip-conflict record enable |
缺省情況下,ARP記錄終端用戶間IP地址衝突功能處於關閉狀態 |
開啟ARP模塊的告警功能 |
snmp-agent trap enable arp [ user-ip-conflict ] |
如果不指定user-ip-conflict參數,則表示打開ARP模塊的所有告警功能;若指定user-ip-conflict參數,則表示僅開啟了ARP模塊的用戶間IP地址衝突的告警功能 |
當網絡環境不穩定時,設備收到某個用戶發送的報文的接口可能會發生變化。這時,設備會更新該用戶的MAC地址表項中的接口信息。由於該用戶對應的ARP表項的出接口信息無法及時更新,匹配該ARP表項的報文會從錯誤的接口轉發出去。開啟本功能後,ARP會定時檢查某個用戶的ARP表項的出接口和MAC地址表項的出接口是否一致。如果不一致,ARP會在該用戶的ARP表項記錄的VLAN內發送ARP請求報文進行探測,並將收到ARP應答報文的接口信息更新到ARP表項中,保證了ARP表項的出接口信息能夠及時更新,解決了某個用戶的ARP表項出接口和MAC地址表項出接口不一致的問題。
使用display mac-address命令可以查看MAC地址表信息。關於display mac-address命令的詳細描述,請參見“二層技術-以太網交換命令參考”中的“MAC地址表”。
表1-15 開啟ARP表項出接口和MAC地址表項出接口一致性檢查功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP表項出接口和MAC地址表項出接口一致性檢查功能 |
arp mac-interface-consistency check enable |
缺省情況下,ARP表項出接口和MAC地址表項出接口一致性檢查功能處於關閉狀態 |
開啟本功能後,設備收到ARP報文時,會將收到ARP報文中的信息和已有ARP表項進行比較。如果發現ARP報文中的發送端IP地址和MAC地址與某條ARP表項中的IP地址和MAC地址相同,但端口不同,則認為該ARP表項對應的用戶發生了端口遷移。此時,設備會生成終端用戶的遷移表項,同時生成對應用戶的遷移日誌,並刷新ARP表項中的接口信息。生成的遷移日誌將被發送給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。信息中心的詳細描述請參見“網絡管理和監控配置指導”中的“信息中心”。
如果發生大量用戶遷移操作時,設備會輸出大量日誌信息,這可能會降低設備性能。為了避免該情況的發生,用戶可以關閉ARP記錄終端用戶端口遷移功能。
開啟了ARP模塊終端用戶端口遷移的告警功能後,設備會將發生了端口遷移的用戶的IP地址、MAC地址、遷移前後的端口名稱等信息作為告警信息發送到設備的SNMP模塊。可以通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關特性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。關於開啟ARP模塊的告警功能的詳細介紹,請參見“安全配置指導”中的“ARP攻擊防禦”。
表1-16 開啟ARP記錄終端用戶端口遷移功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP記錄終端用戶端口遷移功能 |
arp user-move record enable |
缺省情況下,ARP記錄終端用戶端口間遷移功能處於關閉狀態 |
開啟ARP模塊的告警功能 |
snmp-agent trap enable arp [ user-move ] |
缺省情況下,ARP模塊的告警功能處於關閉狀態 如果不指定user-move參數,則表示打開ARP模塊的所有告警功能;若指定user-move參數,則表示僅開啟了ARP模塊終端用戶端口遷移的告警功能 |
開啟ARP表項一致性檢查功能後,設備將定時遍曆所有的ARP軟件表項並下發驅動進行檢查,如果與驅動硬件表項不一致則打印日誌信息,同時根據ARP軟件表項刷新驅動硬件表項。
表1-17 開啟ARP表項一致性檢查功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP表項一致性檢查功能 |
arp consistency-check enable |
缺省情況下,ARP表項一致性檢查功能處於關閉狀態 |
ARP日誌是為了滿足網絡管理員審計的需要,對處理ARP報文的信息進行的記錄。例如,ARP日誌可以記錄如下事件:
· 設備未使能ARP代理功能時收到目的IP不是設備接口IP地址或VRRP備份組中的虛擬IP地址;
· 收到的ARP報文中源地址和接收接口IP地址或VRRP備份組中的虛擬IP地址衝突,且此報文不是ARP請求報文等。
設備生成的ARP日誌信息會交給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。關於信息中心的詳細描述請參見“網絡管理和監控配置指導”中的“信息中心”。
表1-18 開啟ARP日誌信息功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP日誌信息功能 |
arp check log enable |
缺省情況下,ARP日誌信息功能處於關閉狀態 |
設備學習ARP表項後,會將ARP表項下發到硬件,以供芯片轉發報文時使用。開啟ARP表項下發硬件日誌功能後,如果ARP表項下發到硬件的過程產生異常,設備會時輸出日誌信息記錄此事件。生成的日誌信息將被發送到設備的信息中心,通過設置信息中心的參數,最終決定日誌報文的輸出規則(即是否允許輸出以及輸出方向)。有關信息中心參數的設置請參見“網絡管理和監控配置指導”中的“信息中心”。
為了避免生成日誌的過程占用內存,建議用戶隻在流量的轉發產生異常,需要定位問題時開啟本功能。如果每秒鍾生成的日誌條目達到最大值,則即使有新的ARP表項在下發到硬件的過程中產生異常,設備也不會輸出此ARP表項的日誌。
表1-19 開啟ARP表項下發硬件日誌功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟ARP表項下發硬件日誌功能 |
arp hardware log enable [ count-limit count-limit-value ] |
缺省情況下,ARP表項下發硬件日誌功能處於關閉狀態 |
清除ARP表項,將取消IP地址和MAC地址的映射關係,可能導致無法正常通信。清除前請務必仔細確認。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令清除ARP表項。
表1-20 ARP顯示和維護
操作 |
命令 |
顯示ARP表項(獨立運行模式) |
display arp [ [ all | dynamic | multiport | static ] [ slot slot-number ] | vlan vlan-id | interface interface-type interface-number ] [ count | verbose ] |
顯示ARP表項(IRF模式) |
display arp [ [ all | dynamic | multiport | static ] [ chassis chassis-number slot slot-number ] | vlan vlan-id | interface interface-type interface-number ] [ count | verbose ] |
顯示指定IP地址的ARP表項(獨立運行模式) |
display arp ip-address [ slot slot-number ] [ verbose ] |
顯示指定IP地址的ARP表項(IRF模式) |
display arp ip-address [ chassis chassis-number slot slot-number ] [ verbose ] |
顯示設備支持ARP表項的最大數目 |
display arp entry-limit |
顯示指定VPN實例的ARP表項 |
display arp vpn-instance vpn-instance-name [ count ] |
顯示OpenFlow類型ARP表項個數(獨立運行模式) |
display arp openflow count [ slot slot-number ] |
顯示OpenFlow類型ARP表項個數(IRF模式) |
display arp openflow count [ chassis chassis-number slot slot-number ] |
顯示動態ARP表項的老化時間 |
display arp timer aging |
顯示ARP表項數的使用率 |
display arp usage |
顯示ARP記錄的終端用戶間IP地址衝突表項信息(獨立運行模式) |
display arp user-ip-conflict record [ slot slot-number ] |
顯示ARP記錄的終端用戶間IP地址衝突表項信息(IRF模式) |
display arp user-ip-conflict record [ chassis chassis-number slot slot-number ] |
顯示ARP記錄的終端用戶遷移表項信息(獨立運行模式) |
display arp user-move record [ slot slot-number ] |
顯示ARP記錄的終端用戶遷移表項信息(IRF模式) |
display arp user-move record [ chassis chassis-number slot slot-number ] |
清除ARP表項(獨立運行模式) |
reset arp { all | dynamic | interface interface-type interface-number | multiport | slot slot-number | static } |
清除ARP表項(IRF模式) |
reset arp { all | chassis chassis-number slot slot-number | dynamic | interface interface-type interface-number | multiport | static } |
· Device B連接主機,通過接口GigabitEthernet1/0/1連接Device A。接口GigabitEthernet1/0/1屬於VLAN 10。
· Device A的IP地址為192.168.1.1/24,MAC地址為00e0-fc01-0000。
為了增加Device B和Device A通信的安全性,可以在Device B上為Device A配置一條靜態ARP表項,從而防止攻擊報文修改此表項的IP地址和MAC地址的映射關係。
圖1-3 長靜態ARP表項配置組網圖
在Device B上進行下列配置。
# 創建VLAN 10。
<DeviceB> system-view
[DeviceB] vlan 10
[DeviceB-vlan10] quit
# 將接口GigabitEthernet1/0/1加入到VLAN 10中。
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] port access vlan 10
[DeviceB-GigabitEthernet1/0/1] quit
# 創建接口Vlan-interface10,並配置IP地址。
[DeviceB] interface vlan-interface 10
[DeviceB-vlan-interface10] ip address 192.168.1.2 8
[DeviceB-vlan-interface10] quit
# 配置一條長靜態ARP表項,IP地址為192.168.1.1,對應的MAC地址為00e0-fc01-0000,此條ARP表項對應的出接口為屬於VLAN 10的接口GigabitEthernet1/0/1。
[DeviceB] arp static 192.168.1.1 00e0-fc01-0000 10 gigabitethernet 1/0/1
# 查看長靜態ARP表項信息。
[DeviceB] display arp static
Type: S-Static D-Dynamic O-Openflow R-Rule M-Multiport I-Invalid
IP address MAC address VLAN/VSI name Interface Aging Type
192.168.1.1 00e0-fc01-0000 10 GE1/0/1 -- S
· Device B通過接口GigabitEthernet1/0/1連接主機,通過接口GigabitEthernet1/0/2連接Device A。
· Device A的IP地址為192.168.1.1/24,MAC地址為00e0-fc01-001f。
網絡管理員需要通過某種方法來防止惡意用戶對Device B進行ARP攻擊,增加Device B和Device A通信的安全性。如果Device A的IP地址和MAC地址是固定的,則可以通過在Device B上配置靜態ARP表項的方法,防止惡意用戶進行ARP攻擊。
圖1-4 短靜態ARP表項配置組網圖
在Device B上進行下列配置。
# 在接口GigabitEthernet1/0/2配置IP地址。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ip address 192.168.1.2 24
[DeviceB-GigabitEthernet1/0/2] quit
# 配置一條短靜態ARP表項,IP地址是192.168.1.1,對應的MAC地址是00e0-fc01-001f。
[DeviceB] arp static 192.168.1.1 00e0-fc01-001f
# 查看短靜態ARP表項信息。
[DeviceB] display arp static
Type: S-Static D-Dynamic O-Openflow R-Rule M-Multiport I-Invalid
IP address MAC address VLAN/VSI name Interface Aging Type
192.168.1.1 00e0-fc01-001f -- -- -- S
· Device連接服務器群,通過屬於VLAN 10的三個二層接口GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3分別連接三台服務器。
· 服務器群的共享IP地址為192.168.1.1/24,共享MAC地址為00e0-fc01-0000。
配置多端口ARP表項,使目的IP為192.168.1.1的IP數據報文能同時發送到三台服務器上。
圖1-5 多端口ARP表項配置組網圖
在Device上進行下列配置。
# 創建VLAN 10。
<Device> system-view
[Device] vlan 10
[Device-vlan10] quit
# 將接口GigabitEthernet1/0/1、GigabitEthernet1/0/2、GigabitEthernet1/0/3加入到VLAN 10中。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] port access vlan 10
[Device-GigabitEthernet1/0/1] quit
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] port access vlan 10
[Device-GigabitEthernet1/0/2] quit
[Device] interface gigabitethernet 1/0/3
[Device-GigabitEthernet1/0/3] port access vlan 10
[Device-GigabitEthernet1/0/3] quit
# 創建接口Vlan-interface10,並配置IP地址。
[Device] interface vlan-interface 10
[Device-vlan-interface10] ip address 192.168.1.2 24
[Device-vlan-interface10] quit
# 配置多端口單播MAC表項,MAC地址為00e0-fc01-0000,對應的出接口為GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3,接口屬於VLAN 10。
[Device] mac-address multiport 00e0-fc01-0000 interface gigabitethernet 1/0/1 to gigabitethernet 1/0/3 vlan 10
# 配置一條多端口ARP表項,IP地址為192.168.1.1,對應的MAC地址為00e0-fc01-0000。
[Device] arp multiport 192.168.1.1 00e0-fc01-0000 10
# 查看ARP表項信息。
[Device] display arp
Type: S-Static D-Dynamic O-Openflow R-Rule M-Multiport I-Invalid
IP address MAC address VLAN/VSI name Interface Aging Type
192.168.1.1 00e0-fc01-0000 10 -- -- M
免費ARP報文是一種特殊的ARP報文,該報文中攜帶的發送端IP地址和目標IP地址都是本機IP地址。
設備通過對外發送免費ARP報文來實現以下功能:
· 確定其它設備的IP地址是否與本機的IP地址衝突。當其它設備收到免費ARP報文後,如果發現報文中的IP地址和自己的IP地址相同,則給發送免費ARP報文的設備返回一個ARP應答,告知該設備IP地址衝突。
· 設備改變了硬件地址,通過發送免費ARP報文通知其它設備更新ARP表項。
開啟了免費ARP報文學習功能後,設備會根據收到的免費ARP報文中攜帶的信息(發送端IP地址、發送端MAC地址)對自身維護的ARP表進行修改。設備先判斷ARP表中是否存在與此免費ARP報文中的發送端IP地址對應的ARP表項:
· 如果沒有對應的ARP表項,設備會根據該免費ARP報文中攜帶的信息新建ARP表項;
· 如果存在對應的ARP表項,設備會根據該免費ARP報文中攜帶的信息更新對應的ARP表項。
關閉免費ARP報文學習功能後,設備不會根據收到的免費ARP報文來新建ARP表項,但是會更新已存在的對應ARP表項。如果用戶不希望通過免費ARP報文來新建ARP表項,可以關閉免費ARP報文學習功能,以節省ARP表項資源。
定時發送免費ARP功能可以及時通知下行設備更新ARP表項或者MAC地址表項,主要應用場景如下:
· 防止仿冒網關的ARP攻擊
如果攻擊者仿冒網關發送免費ARP報文,就可以欺騙同網段內的其它主機,使得被欺騙的主機訪問網關的流量被重定向到一個錯誤的MAC地址,導致其它主機用戶無法正常訪問網絡。
為了降低這種仿冒網關的ARP攻擊所帶來的影響,可以在網關的接口上開啟定時發送免費ARP功能。開啟該功能後,網關接口上將按照配置的時間間隔周期性發送接口主IP地址和手工配置的從IP地址的免費ARP報文。這樣,每台主機都可以學習到正確的網關,從而正常訪問網絡。
· 防止主機ARP表項老化
在實際環境中,當網絡負載較大或接收端主機的CPU占用率較高時,可能存在ARP報文被丟棄或主機無法及時處理接收到的ARP報文等現象。這種情況下,接收端主機的動態ARP表項會因超時而老化,在其重新學習到發送設備的ARP表項之前,二者之間的流量就會發生中斷。
為了解決上述問題,可以在網關的接口上開啟定時發送免費ARP功能。啟用該功能後,網關接口上將按照配置的時間間隔周期性發送接口主IP地址和手工配置的從IP地址的免費ARP報文。這樣,接收端主機可以及時更新ARP映射表,從而防止了上述流量中斷現象。
· 防止VRRP虛擬IP地址衝突
當網絡中存在VRRP備份組時,需要由VRRP備份組的Master路由器周期性的向網絡內的主機發送免費ARP報文,使主機更新本地ARP地址表,從而確保網絡中不會存在IP地址與Master路由器VRRP虛擬IP地址相同的設備。免費ARP報文中的發送端MAC為VRRP虛擬路由器對應的虛擬MAC地址。關於VRRP的詳細介紹,請參見“可靠性配置指導”中的“VRRP”。
配置免費ARP時,需要注意:
· 設備最多允許同時在1024個接口上開啟定時發送免費ARP功能。
· 開啟定時發送免費ARP功能後,隻有當接口鏈路狀態up並且配置IP地址後,此功能才真正生效。
· 如果修改了免費ARP報文的發送時間間隔,則在下一個發送時間間隔才能生效。
· 如果同時在很多接口下開啟定時發送免費ARP功能,或者每個接口有大量的從IP地址,又或者是兩種情況共存的同時又配置很小的發送時間間隔,那麼免費ARP報文的實際發送時間間隔可能會遠遠高於用戶設定的時間間隔。
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
開啟免費ARP報文學習功能 |
gratuitous-arp-learning enable |
缺省情況下,免費ARP報文的學習功能處於開啟狀態 |
開啟設備收到非同一網段ARP請求時發送免費ARP報文功能 |
gratuitous-arp-sending enable |
缺省情況下,設備收到非同一網段的ARP請求時發送免費ARP報文功能處於關閉狀態 |
interface interface-type interface-number |
- |
|
開啟定時發送免費ARP功能 |
arp send-gratuitous-arp [ interval interval ] |
缺省情況下,定時發送免費ARP功能處於關閉狀態 |
設備接收到其它設備發送的ARP報文後,如果發現報文中的源IP地址和自己的IP地址相同,該設備會根據當前源IP地址衝突提示功能的狀態,進行如下處理:
· 如果源IP地址衝突提示功能處於關閉狀態時,設備發送一個免費ARP報文確認是否衝突,如果收到對應的ARP應答後才提示存在IP地址衝突。
· 如果源IP地址衝突提示功能處於開啟狀態時,設備立刻提示存在IP地址衝突。
表2-2 開啟源IP地址衝突提示功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟源IP地址衝突提示功能 |
arp ip-conflict log prompt |
缺省情況下,源IP地址衝突提示功能處於關閉狀態 |
當設備的MAC地址發生變化後,設備會通過免費ARP報文將修改後的MAC地址通告給其他設備。由於目前免費ARP報文沒有重傳機製,其他設備可能無法收到免費ARP報文。為了解決這個問題,用戶可以配置當接口MAC地址變化時,該接口重新發送免費ARP報文的次數和時間間隔,保證其他設備可以收到該免費ARP報文。
表2-3 配置當接口MAC地址變化時,該接口重新發送免費ARP報文的次數和時間間隔
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置當接口MAC地址變化時,重新發送免費ARP報文的次數和時間間隔 |
gratuitous-arp mac-change retransmit times interval seconds |
缺省情況下,當設備的接口MAC地址變化時,該接口隻會發送一次免費ARP報文 |
當認證域內接入的用戶進行認證時,若設備檢測到該域下所有認證服務器都不可達,設備進入逃生狀態,並允許該逃生用戶免認證上線,同時將其加入逃生域。開啟本地代理ARP功能後(配置local-proxy-arp enable命令),通過配置VSI的免費ARP報文轉發功能,可以讓設備對逃生域內當前VSI下的逃生用戶發送的免費ARP報文進行轉發。
如果關閉了指定VSI的免費ARP報文轉發功能,則設備接收到該VSI內的免費ARP報文後會丟棄該報文,不會進行正常轉發。
建議僅在逃生用戶所在的VSI下配置本命令。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建一個VSI,並進入VSI視圖 |
vsi vsi-name |
- |
開啟VSI的免費ARP報文轉發功能 |
arp local-proxy gratuitous-arp forward enable |
缺省情況下,VSI的免費ARP報文轉發功能處於開啟狀態 |
如果ARP請求是從一個網絡的主機發往同一網段卻不在同一物理網絡上的另一台主機,那麼連接它們的具有代理ARP功能的設備就可以回答該請求,這個過程稱作代理ARP(Proxy ARP)。
代理ARP功能屏蔽了分離的物理網絡這一事實,使用戶使用起來,好像在同一個物理網絡上。
代理ARP分為普通代理ARP和本地代理ARP,二者的應用場景有所區別:
· 普通代理ARP的應用場景為:想要互通的主機分別連接到設備的不同三層接口上,且這些主機不在同一個廣播域中。
· 本地代理ARP的應用場景為:想要互通的主機連接到設備的同一個三層接口上,且這些主機不在同一個廣播域中。
如無特殊說明,本章後續描述中的代理ARP均指普通代理ARP。
代理ARP和本地代理ARP功能均可在VLAN接口視圖/三層以太網接口視圖/三層以太網子接口視圖/三層聚合接口視圖/三層聚合子接口視圖下進行配置。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟代理ARP功能 |
proxy-arp enable |
缺省情況下,代理ARP功能處於關閉狀態 |
表3-2 開啟本地代理ARP功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟本地代理ARP功能 |
local-proxy-arp enable [ ip-range start-ip-address to end-ip-address ] |
缺省情況下,本地代理ARP功能處於關閉狀態 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後代理ARP的運行情況,查看顯示信息驗證配置的效果。
表3-3 代理ARP顯示和維護
操作 |
命令 |
顯示代理ARP的狀態 |
display proxy-arp [ interface interface-type interface-number ] |
顯示本地代理ARP的狀態 |
display local-proxy-arp [ interface interface-type interface-number ] |
顯示代理ARP應答報文數的統計信息 |
display proxy-arp statistics |
· Host A和Host D配置為同一網段的主機(Host A的IP地址是192.168.10.100/16,Host D的IP地址是192.168.20.200/16),但卻被設備Switch分在兩個不同的子網(Host A屬於VLAN 1,Host D屬於VLAN 2)。
· Host A和Host D沒有配置缺省網關,要求在設備Switch上開啟代理ARP功能,使處在兩個子網的Host A和Host D能互通。
圖3-1 配置代理ARP組網圖
# 創建VLAN 2。
<Switch> system-view
[Switch] vlan 2
[Switch-vlan2] quit
# 配置接口Vlan-interface1的IP地址。
[Switch] interface vlan-interface 1
[Switch-Vlan-interface1] ip address 192.168.10.99 255.255.255.0
# 開啟接口Vlan-interface1的普通代理ARP功能。
[Switch-Vlan-interface1] proxy-arp enable
[Switch-Vlan-interface1] quit
# 配置接口Vlan-interface2的IP地址。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.20.99 255.255.255.0
# 開啟接口Vlan-interface2的普通代理ARP功能。
[Switch-Vlan-interface2] proxy-arp enable
配置完成後,Host A和Host D可以互相ping通。
ARP Snooping功能是一個用於二層交換網絡環境的特性,通過偵聽ARP報文建立ARP Snooping表項,從而提供給ARP快速應答和MFF(MAC-Forced Forwarding,MAC強製轉發)手動方式等使用。關於MFF的詳細介紹,請參見“安全配置指導”中的“MFF”。
設備上在一個VLAN內開啟ARP Snooping後,該VLAN內接收的ARP報文都會被上送到CPU。CPU對上送的ARP報文進行分析,獲取ARP報文的發送端IP地址、發送端MAC地址、VLAN和入端口信息,建立記錄用戶信息的ARP Snooping表項。
ARP Snooping表項的老化時間為25分鍾,有效時間為15分鍾。如果一個ARP Snooping表項自最後一次更新後12分鍾內沒有收到ARP更新報文,設備會向外主動發送一個ARP請求進行探測;若ARP Snooping表項自最後一次更新後15分鍾時,還沒有收到ARP更新報文,則此表項開始進入失效狀態,不再對外提供服務,其他特性查找此表項將會失敗。當收到發送端IP地址和發送端MAC與已存在的ARP Snooping表項IP地址和MAC均相同的ARP報文時,此ARP Snooping表項進行更新,重新開始生效,並重新老化計時。當ARP Snooping表項達到老化時間後,則將此ARP Snooping表項刪除。
如果ARP Snooping收到ARP報文時檢查到相同IP的ARP Snooping表項已經存在,但是MAC地址發生了變化,則認為發生了攻擊,此時ARP Snooping表項處於衝突狀態,表項失效,不再對外提供服務,並在1分鍾後刪除此表項。
表4-1 在VLAN內開啟ARP Snooping功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
開啟ARP Snooping功能 |
arp snooping enable |
缺省情況下,ARP Snooping功能處於關閉狀態 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP Snooping的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,用戶可以執行reset命令清除ARP Snooping表中的表項。
表4-2 ARP Snooping顯示和維護
操作 |
命令 |
顯示ARP Snooping表項(獨立運行模式) |
display arp snooping { vlan [ vlan-id ]| vsi [vsi-name ] } [ slot slot-number ] [ count ] display arp snooping vlan ip ip-address [ slot slot-number ] |
顯示ARP Snooping表項(IRF模式) |
display arp snooping { vlan [ vlan-id ] | vsi [vsi-name ] } [ chassis chassis-number slot slot-number ] [ count ] display arp snooping vlan ip ip-address [ chassis chassis-number slot slot-number ] |
清除ARP Snooping表項 |
reset arp snooping { vlan [ vlan-id ] | vsi [ vsi-name ] } reset arp snooping vlan ip ip-address |
ARP快速應答功能就是根據設備上生成的IP Source Guard表項或者ARP Snooping表項包含的信息,在指定的VLAN內,對ARP請求進行應答,從而減少ARP廣播報文。關於IP Source Guard的詳細介紹,請參見“安全配置指導”中的“IP Source Guard”。
(1) 設備接收到ARP請求報文時,如果請求報文的目的IP地址是設備的VLAN接口的IP地址,則由ARP特性進行處理;
(2) 如果ARP請求報文的目的IP地址不是VLAN接口的IP地址,則根據報文中的目的IP地址查找IP Source Guard表項:
· 如果查找成功,當接口是以太網接口且查找到的表項的接口和收到請求報文的接口一致時,不進行應答,否則立即進行應答。
· 如果查找失敗且設備開啟了ARP Snooping,則繼續查找ARP Snooping表項,如果查找成功,當接口是以太網接口且查找到的表項的接口和收到請求報文的接口一致時,不進行應答,否則立即進行應答。
· 如果兩個表均查找失敗,則向指定VLAN內除收到請求報文的接口外的其他接口轉發該請求報文或將報文交於其他特性處理。
為了提高ARP快速應答的應答幾率,可以在應用ARP快速應答功能的場合同時開啟ARP Snooping功能。
表5-1 開啟ARP快速應答功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
開啟ARP快速應答功能 |
arp fast-reply enable |
缺省情況下,ARP快速應答功能處於關閉狀態 |
Client 1~Client 32通過Switch接入網絡,所有客戶端接入VLAN為VLAN 2。
當Client 1需要訪問Client 32時,Client 1發送ARP請求報文,ARP請求報文在Switch上被複製其他所有接口上發送(除了與Client 1直連的接口),在設備上具有多個接口的情況下,這種複製的廣播會占用接口資源。
為減少對接口資源的占用,可以在VLAN 2上開啟ARP快速應答。啟用ARP快速應答,當Client 32通過DHCP服務器獲得IP地址後,Client 1需要訪問Client 32時,ARP請求報文可以在Switch上得到應答,而Switch不會再對報文進行廣播,從而減少了對接口資源的占用。
圖5-1 開啟ARP快速應答組網圖
(1) 開啟Switch上VLAN2開啟ARP Snooping功能。
<Switch> system-view
[Switch] vlan 2
[Switch-vlan2] arp snooping enable
(2) 開啟Switch上VLAN 2開啟ARP快速應答功能。
[Switch-vlan2] arp fast-reply enable
[Switch-vlan2] quit
ARP直連路由通告功能用於使設備從ARP表中學到對應的直連路由信息,以便其他路由協議發布該直連路由或指導報文轉發。通過路由優先級,可以確定生成的直連路由條目的匹配順序;通過路由標記值,以便於動態路由協議引用對應標記值的直連路由,從而實現將該直連路由通告到對應的網絡中的目的。
開啟ARP直連路由通告功能後,設備可以通過ARP表項生成到對端設備的直連路由及相關的鄰接表。當直連路由先於鄰接表生成時,會因報文封裝時缺少二層信息產生丟包情況。為了避免這種情況發生,可以配置ARP直連路由生成的延遲時間,設備學到ARP表項後會等待一定時間再生成直連路由。
開啟ARP直連路由通告功能且配置了ARP直連路由生成的延遲時間後,如果在達到延遲時間之前修改了ARP直連路由通告功能的配置,設備會立即根據修改後的配置發送ARP直連路由通告。
如圖6-1所示,Server A和Server B通過三層接口接入到Device A與Device B。在Device A的Interface A和Device B的Interface B下開啟ARP直連路由通告功能後,Device A可以通過ARP表項生成到Server A的主機路由,Device B可以通過ARP表項生成到Server B的主機路由。其他路由協議可以僅發布該主機路由,減少由於發布網段路由而引入的無效流量,節約帶寬。
如圖6-2所示,基站設備、PE分別與PE-agg1、PE-agg2建立L2VPN連接。在PE-agg1和PE-agg2上開啟ARP直連路由通告功能,這兩台設備才能將基站的主機路由對L3VPN內的PE設備發布。這時,該PE設備到基站設備上會生成經過PE-agg1和PE-agg2的兩條等價路由,PE發往基站設備的流量同時經過PE-agg1和PE-agg2。如果PE-agg1設備發生故障,從PE發往基站設備的流量能快速地完全切換到由PE-agg2轉發。
圖6-2 ARP直連路由通告功能組網圖
關於“L2VPN接入L3VPN”功能的詳細介紹,請參見“MPLS配置指導”中的“L2VPN接入L3VPN或IP骨幹網”。
表6-1 開啟ARP直連路由通告功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置ARP直連路由生成的延遲時間 |
arp route-direct advertise delay delay-time |
缺省情況下,ARP直連路由不延遲生成 |
開啟ARP直連路由通告功能 |
arp route-direct advertise [ preference preference-value | tag tag-value ] * |
缺省情況下,ARP直連路由通告功能處於關閉狀態 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP的運行情況,通過查看顯示信息驗證配置的效果。
表6-2 開啟ARP直連路由通告功能
操作 |
命令 |
說明 |
顯示通過ARP模塊通告生成的直連路由的相關信息 |
display arp route-direct advertise interface interface-type interface-number |
- |
轉發表匹配的ARP請求報文的丟棄功能
缺省情況下,當接口收到ARP請求報文時,無論IP地址是否在轉發表中,接口都會返回ARP應答報文。開啟此功能後,如果ARP請求報文的目的IP地址在轉發表中,則接口直接丟棄ARP請求報文,不會返回ARP應答報文。開啟此功能可減少網絡內的ARP報文,從而起到抑製ARP泛洪的作用。
缺省情況下,當設備收到目的IP地址非本機的數據報文時,如果查詢不到該報文下一跳對應的ARP表項,則發送ARP請求報文去學習該下一跳的MAC地址,以便根據學習到的MAC地址生成對應的ARP表項。
當網絡中出現大量的ARP請求報文時,會占用過多的網絡資源,影響用戶業務的正常運行。可以通過配置本功能,當IP數據報文觸發ARP解析時,禁止設備為收到的目的IP地址非本機數據報文主動發送ARP請求報文進行ARP表項學習,減少網絡內的ARP報文,從而起到抑製ARP泛洪的作用。
配置本功能後,即使設備主動發送數據報文觸發ARP解析,設備也不會主動發送ARP請求報文進行ARP表項學習,建議僅在有ARP泛洪攻擊的網絡環境中配置本功能。
表7-1 配置與轉發表匹配的ARP請求報文的丟棄功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置數據報文觸發ARP解析時禁止主動發送ARP請求功能 |
arp fib-miss drop |
缺省情況下,數據報文觸發ARP解析時,設備會主動發送ARP請求報文進行ARP表項學習 |
針對IPv4地址的ARP-Ping功能是利用ARP報文在局域網內探測IPv4地址是否被其他設備使用的一種方法。
設備向目的IPv4地址發送一個ARP請求報文後,如果在指定的時間內未收到對應的ARP應答報文,且未達到指定的發送次數,則繼續發送下一個ARP請求報文;如果已達到指定的發送次數,則認為此IPv4地址未被其他設備使用,將停止發送探測用途的ARP請求報文。
通過ping命令也可以探測IPv4地址是否被網絡上的其他設備使用。但是如果目的端設備帶有防火牆功能且配置為對ICMP報文不進行回複時,就不會響應ICMP報文,造成探測結果不準確。由於ARP報文是二層協議,大多數情況下報文不會被防火牆攔下,從而避免了此類情況的發生。另外,ARP請求報文長度小於ICMP報文長度,占用的網絡資源更少。
如果要使用目的端的主機名使用針對IPv4地址的ARP-Ping功能,請事先在設備上配置DNS功能。關於DNS的詳細介紹,請參見“三層技術-IP業務”中的“域名解析”。
當局域網內有多台設備時,使用本功能可能會消耗較多時間。可以在執行命令過程中,輸入<Ctrl+C>終止ping arp ip命令。
可在任意視圖下,利用ARP報文在局域網內探測IPv4地址是否被其他設備使用。
ping arp ip host [ interface interface-type interface-number ] [ timeout timeout ] [ count count ]
當已知某網段一個特定的MAC地址而不知道其對應的IPv4地址時,通過針對MAC地址的ARP-Ping功能發送廣播的三層ICMP報文可以得到該MAC所對應的IPv4地址。
設備發送ICMP回顯請求報文後,如果在指定的時間內未收到ICMP回顯應答報文,且未達到指定的發送次數,則繼續發送ICMP回顯請求報文;如果已達到指定的發送次數,則認為此MAC地址不存在,不再發送ICMP回顯請求報文。
當指定網段內有多台設備時,使用本功能可能會消耗較多時間。可以在執行命令過程中,輸入<Ctrl+C>可終止ping arp mac命令。
可在任意視圖下,利用三層ICMP報文查詢MAC所對應的IPv4地址。
ping arp mac mac-address { interface interface-type interface-number | ip ipv4-address [ vpn-instance vpn-instance-name ] } [ timeout timeout ] [ count count ]
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!