23-ARP操作
本章節下載 (217.78 KB)
目 錄
ARP(Address Resolution Protocol,地址解析協議)用於將網絡層的IP地址解析為數據鏈路層的物理地址。
IP地址隻是主機在網絡層中的地址,如果要將網絡層中數據包傳送給目的主機,必須知道目的主機的數據鏈路層地址(比如以太網絡MAC地址)。因此必須將IP地址解析為數據鏈路層地址。
& 說明:
本章中除特殊說明,數據鏈路層地址均以48bit的以太網MAC地址為例。
ARP報文分為ARP請求和ARP應答報文,ARP請求和應答報文的格式如圖1-1所示。
l
當一個ARP請求發出時,除了接收方硬件地址(即,請求方想要獲取的地址)字段為空外,其他所有的字段都被使用。
l
ARP應答報文使用了所有的字段。
圖1-1 ARP報文格式
ARP報文各字段的含義如表1-1所示。
表1-1 ARP報文字段解釋
報文字段 |
字段含義 |
硬件類型 |
表示硬件接口的類型,合法取值請參見表1-2 |
協議類型 |
表示要映射的協議地址類型,它的值為0x0800即表示IP地址 |
硬件地址長度 |
數據報文中硬件地址以字節為單位的長度 |
協議地址長度 |
數據報文中協議地址以字節為單位的長度 |
操作碼 |
指明數據報是ARP請求報文還是ARP應答報文 取值為1——數據報是ARP請求報文 取值為2——數據報是ARP應答報文 取值為3——數據報是RARP請求報文 取值為4——數據報是RARP應答報文 |
發送方硬件地址 |
發送方設備的硬件地址 |
發送方IP地址 |
發送方設備的IP地址 |
接收方硬件地址 |
接收方設備的硬件地址 ARP請求報文中——這個字段為空 ARP應答報文中——這個字段為應答報文返回的接收方硬件地址 |
接收方IP地址 |
接收方設備的IP地址 |
類型 |
描述 |
1 |
以太網 |
2 |
實驗以太網 |
3 |
X.25 |
4 |
Proteon ProNET(令牌環) |
5 |
混沌網(chaos) |
6 |
IEEE802.X |
7 |
ARC網絡 |
以太網上的兩台主機需要通信時,雙方必須知道對方的MAC地址。每台主機都要維護IP地址到MAC地址的轉換表,稱為ARP映射表。ARP映射表中存放著最近用到的一係列與本主機通信的其他主機的IP地址和MAC地址的映射關係,每一條映射關係稱為一條ARP表項。S5100-SI/EI係列以太網交換機支持使用display arp命令查看ARP表項信息。
S5100-SI/EI係列以太網交換機的ARP表項分為:靜態表項和動態表項,如表1-3所示。
表1-3 ARP表項
分類 |
生成方式 |
維護方式 |
靜態ARP表項 |
用戶手工配置的IP地址到MAC地址的映射 |
手工維護 |
動態ARP表項 |
交換機動態生成的IP地址到MAC地址的映射 |
動態生成的ARP表項,通過動態ARP老化定時器設定的時間進行老化 |
圖1-2 ARP地址解析過程
假設主機A和B在同一個網段,主機A要向主機B發送信息。地址解析過程如下:
(1)
主機A首先查看自己的ARP表,確定其中是否包含有與主機B對應的ARP表項。如果找到了對應的MAC地址,則主機A直接利用ARP表中的MAC地址,對IP數據包進行幀封裝,並將數據包發送給主機B。
(2)
如果主機A在ARP表中找不到對應的MAC地址,則將緩存該數據報文,然後以廣播方式發送一個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數據包進行封裝後發送出去。
一般情況下,ARP動態執行並自動尋求IP地址到以太網MAC地址的解析,無需管理員的介入。
按照ARP協議的設計,一個主機即使收到的ARP應答並非自身請求得到的,也會將其IP地址和MAC地址的對應關係添加到自身的ARP映射表中。這樣可以減少網絡上過多的ARP數據通信,但也為“ARP 欺騙”創造了條件。
如圖1-3所示,Host A和Host C通過Switch進行通信。此時,如果有黑客(Host B)想探聽Host A和Host C之間的通信,它可以分別給這兩台主機發送偽造的ARP應答報文,使Host A和Host C用MAC_B更新自身ARP映射表中與對方IP地址相應的表項。此後,Host A 和Host C之間看似“直接”的通信,實際上都是通過黑客所在的主機間接進行的,即Host B擔當了“中間人”的角色,可以對信息進行了竊取和篡改。這種攻擊方式就稱作“中間人(Man-In-The-Middle)攻擊”。
圖1-3 ARP“中間人”攻擊示意圖
為了防止黑客或攻擊者通過ARP報文實施“中間人”攻擊,S5100-SI/EI係列以太網交換機支持ARP入侵檢測功能,即:將經過交換機的所有ARP(請求與回應)報文重定向到CPU,利用DHCP Snooping表或手工配置的IP靜態綁定表,對ARP報文進行合法性檢測。DHCP Snooping表和手工配置的IP靜態綁定表的具體介紹請參見“DHCP”中的DHCP Snooping部分。
開啟ARP入侵檢測功能後,如果ARP報文中的源MAC地址、源IP地址、接收ARP報文的端口編號以及端口所在VLAN與DHCP Snooping表或手工配置的IP靜態綁定表表項一致,則認為該報文是合法的ARP報文,進行轉發;否則認為是非法ARP報文,直接丟棄。
l
用戶可以通過配置信任端口,靈活控製ARP報文檢測。對於來自信任端口的所有ARP報文不進行檢測,對其它端口的ARP報文通過查看DHCP Snooping表或手工配置的IP靜態綁定表進行檢測;
l
用戶可以通過配置ARP嚴格轉發功能,使ARP請求報文僅通過信任端口進行轉發;對於接收到的ARP應答報文,首先按照報文中的目的MAC地址進行轉發,若目的MAC地址不在MAC地址表中,則將此ARP應答報文通過信任端口進行轉發。
免費ARP報文的特點:
l
報文中攜帶的源IP和目的IP地址都是本機地址,報文源MAC地址是本機MAC地址。
l
當設備收到免費ARP報文後,如果發現報文中的IP地址和自己的IP地址衝突,則給發送免費ARP報文的設備返回一個ARP應答,告知該設備IP地址衝突。
設備通過對外發送免費ARP報文來實現以下功能:
l
確定其它設備的IP地址是否與本機的IP地址衝突。
l
使其它設備及時更新高速緩存中舊的該設備硬件地址。
設備通過學習免費ARP報文來實現以下功能:
在開啟了免費ARP報文學習功能後,一個設備收到免費ARP報文後,如果高速緩存中已存在與此報文對應的ARP表項,那麼此設備就用免費ARP報文中攜帶的發送端硬件地址更新ARP表項中相應的內容。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
手工添加靜態ARP表項 |
arp static ip-address
mac-address [ vlan-id interface-type interface-number ] |
可選 缺省情況下,係統ARP映射表為空,地址映射由ARP協議動態獲取 |
配置動態ARP表項的老化時間 |
arp timer aging aging-time |
可選 缺省情況下,動態ARP表項的老化時間為20分鍾 |
開啟ARP表項的檢查功能(即不學習源MAC地址為組播MAC的ARP表項) |
arp check enable |
可選 缺省情況下,ARP表項的檢查功能處於開啟狀態 |
注意:
l 靜態ARP表項在以太網交換機正常工作時間一直有效,但如果執行刪除VLAN或把端口從VLAN中刪除等使ARP表項不再合法的操作,則相應的靜態ARP表項將被自動刪除。
l 參數vlan-id必須是已經存在的VLAN ID,且vlan-id參數後麵指定的以太網端口必須屬於這個VLAN。
l 目前,不支持在彙聚組中的端口上配置靜態ARP表項。
表1-5 配置ARP入侵檢測功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟DHCP Snooping功能 |
dhcp-snooping |
必選 缺省情況下,交換機的DHCP Snooping功能處於關閉狀態 |
進入以太網端口視圖 |
interface interface-type interface-number |
- |
配置DHCP Snooping信任端口 |
dhcp-snooping trust |
必選 缺省情況下,開啟DHCP Snooping功能後,設備的所有端口均為非信任端口 |
退出至係統視圖 |
quit |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
開啟ARP入侵檢測功能 |
arp detection enable |
必選 缺省情況下,指定VLAN內所有端口的ARP入侵檢測功能處於關閉狀態 |
退出至係統視圖 |
quit |
- |
進入以太網端口視圖 |
interface interface-type interface-number |
- |
配置ARP信任端口 |
arp detection trust |
可選 缺省情況下,端口為非ARP信任端口 |
退出至係統視圖 |
quit |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
開啟ARP嚴格轉發功能 |
arp restricted-forwarding enable |
可選 缺省情況下,ARP嚴格轉發功能處於關閉狀態 |
& 說明:
l 配置ARP入侵檢測功能之前,需要先在交換機上開啟DHCP Snooping功能,並設置DHCP Snooping信任端口,具體介紹可參見本手冊“DHCP”中DHCP Snooping部分的介紹。
l 一般情況下,需要配置交換機的上行端口作為ARP信任端口。
l 在開啟ARP嚴格轉發功能之前,需要先在交換機上開啟ARP入侵檢測功能,並配置ARP信任端口。
l 建議用戶不要在彙聚組中的端口上配置ARP入侵檢測功能。
表1-6 配置免費ARP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟免費ARP報文學習功能 |
gratuitous-arp-learning enable |
可選 缺省情況下,交換機的免費ARP報文學習功能處於開啟狀態 |
& 說明:
S5100-SI/EI係列以太網交換機在VLAN接口變為開啟狀態(包括鏈路開啟或為VLAN接口配置IP地址),或VLAN接口的IP地址發生變化時,會對外發送免費ARP報文,這個操作不需命令行進行控製。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後ARP的運行情況,通過查看顯示信息驗證配置的效果。在用戶視圖下執行reset命令清除ARP表項。
表1-7 ARP的顯示和維護
配置項 |
命令 |
說明 |
查看ARP映射表 |
display arp [ static | dynamic | ip-address ] |
display命令可以在任意視圖執行 |
查看包含指定內容的ARP映射表 |
display arp [ dynamic | static ] | { begin | include | exclude } text |
|
查看指定類型的ARP表項的數目 |
display arp count [ [ dynamic | static ] [ | { begin | include | exclude } text ] | ip-address ] |
|
查看指定端口被丟棄掉的不可信任的ARP報文的數量 |
display arp
detection statistics interface interface-type interface-number |
|
查看動態ARP老化定時器的時間 |
display arp timer aging |
|
清除ARP表項 |
reset arp [ dynamic | static | interface interface-type interface-number ] |
reset命令在用戶視圖下執行 |
l
關閉ARP表項檢查功能。
l
設置交換機上動態ARP表項的老化時間為10分鍾。
l
增加一個靜態ARP表項,IP地址為192.168.1.1,對應的MAC地址為000f-e201-0000,對應的出端口為屬於VLAN 1的端口GigabitEthernet1/0/10。
<H3C> system-view
[H3C] undo arp check enable
[H3C] arp timer aging 10
[H3C] arp static 192.168.1.1 000f-e201-0000 1 GigabitEthernet1/0/10
如圖1-4所示,Switch A的端口GigabitEthernet1/0/1連接DHCP服務器,端口GigabitEthernet1/0/2和GigabitEthernet1/0/3分別連接Client A和Client B,且三個端口都屬於VLAN 1。
l
開啟交換機的DHCP Snooping功能,並設置端口GigabitEthernet1/0/1為DHCP Snooping信任端口。
l
為防止ARP中間人攻擊,配置VLAN 1的ARP入侵檢測功能,設置Switch的端口GigabitEthernet1/0/1為ARP信任端口;
圖1-4 配置ARP入侵檢測組網圖
# 開啟交換機DHCP Snooping功能。
<SwitchA> system-view
[SwitchA] dhcp-snooping
# 設置端口GigabitEthernet1/0/1為DHCP Snooping信任端口,ARP信任端口。
[SwitchA] interface GigabitEthernet1/0/1
[SwitchA-GigabitEthernet1/0/1] dhcp-snooping trust
[SwitchA-GigabitEthernet1/0/1] arp detection trust
[SwitchA-GigabitEthernet1/0/1] quit
# 開啟VLAN 1內所有端口的ARP入侵檢測功能。
[SwitchA] vlan 1
[SwitchA-vlan1] arp detection enable
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!