1.ARP作用
ARP(Address Resolution Protocol,地址解析協議)是将IP地址解析為以太網MAC地址(或稱物理地址)的協議。
在網絡中,當主機或其它網絡設備有數據要發送給另一個主機或設備時,它必須知道對方的網絡層地址(即IP地址)。但是僅僅有IP地址是不夠的,因為IP數據報必須封裝成幀才能通過物理網絡發送,因此發送站還必須有接收站的物理地址,所以需要一個從IP地址到物理地址的映射。ARP就是實現這個功能的協議。
2 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地址。
3 ARP地址解析過程
假設主機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。
4 ARP表
設備通過ARP解析到目的MAC地址後,将會在自己的ARP表中增加IP地址和MAC地址映射關系的表項,以用于後續到同一目的地報文的轉發。
ARP表項分為動态ARP表項、靜态ARP表項和OpenFlow ARP表項。
1. 動态ARP表項
動态ARP表項由ARP協議通過ARP報文自動生成和維護,可以被老化,可以被新的ARP報文更新,可以被靜态ARP表項覆蓋。當到達老化時間、接口狀态down時,系統會删除相應的動态ARP表項。
2. 靜态ARP表項
靜态ARP表項通過手工配置和維護,不會被老化,不會被動态ARP表項覆蓋。
配置靜态ARP表項可以增加通信的安全性。靜态ARP表項可以限制和指定IP地址的設備通信時隻使用指定的MAC地址,此時攻擊報文無法修改此表項的IP地址和MAC地址的映射關系,從而保護了本設備和指定設備間的正常通信。
靜态ARP表項分為短靜态ARP表項、長靜态ARP表項和多端口ARP表項。
在配置長靜态ARP表項時,除了配置IP地址和MAC地址項外,還必須配置該ARP表項所在VLAN和出接口。長靜态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表項。
3. OpenFlow ARP表項
OpenFlow ARP表項由OpenFlow添加,不會被老化,不能通過ARP報文更新,可以被靜态ARP表項覆蓋。可以直接用于轉發報文。關于OpenFlow的介紹,請參見“OpenFlow”中的“OpenFlow”。
備注:内容來自華三官網!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!