ARP 簡介

1.1.1 ARP 作用

ARPAddress Resolution Protocol,地址解析協議)是將IP 地址解析爲以太網MAC 地址(或稱

物理地址)的協議。

在局域網中,當主機或其它網絡設備有數據要發送給另一個主機或設備時,它必須知道對方的網絡

層地址(即IP 地址)。但是僅僅有IP 地址是不夠的,因爲IP 數據報文必須封裝成幀才能通過物理

網絡發送,因此發送站還必須有接收站的物理地址,所以需要一個從IP 地址到物理地址的映射。

APR 就是實現這個功能的協議。

1.1.2 ARP 報文結構

ARP報文分爲ARP請求和ARP應答報文,報文格式如1-1所示。

165407472.png

1-1 ARP 報文結構

硬件類型:表示硬件地址的類型。它的值爲 1 表示以太網地址;

協議類型:表示要映射的協議地址類型。它的值爲0x0800 即表示IP 地址;

硬件地址長度和協議地址長度分別指出硬件地址和協議地址的長度,以字節爲單位。對於以

太網上IP 地址的ARP 請求或應答來說,它們的值分別爲6 4

操作類型(OP):1 表示ARP 請求,2 表示ARP 應答;

發送端 MAC 地址:發送方設備的硬件地址;

發送端 IP 地址:發送方設備的IP 地址;

目標 MAC 地址:接收方設備的硬件地址。

目標 IP 地址:接收方設備的IP 地址。

1.1.3 ARP 地址解析過程

假設主機AB在同一個網段,主機A要向主機B發送信息。如1-2所示,具體的地址解析過程如下:

165425367.png

(1) 主機A 首先查看自己的ARP 表,確定其中是否包含有主機B 對應的ARP 表項。如果找到了

對應的MAC 地址,則主機A 直接利用ARP 表中的MAC 地址,對IP 數據包進行幀封裝,並

將數據包發送給主機B

1-2

(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 數據包進行封裝後發送出去。

1-2 ARP 地址解析過程

當主機 A 和主機B 不在同一網段時,主機A 就會先向網關發出ARP 請求,ARP 請求報文中的目標

IP 地址爲網關的IP 地址。當主機A 從收到的響應報文中獲得網關的MAC 地址後,將報文封裝併發

給網關。如果網關沒有主機B ARP 表項,網關會廣播ARP 請求,目標IP 地址爲主機B IP

址,當網關從收到的響應報文中獲得主機B MAC 地址後,就可以將報文發給主機B;如果網關

已經有主機B ARP 表項,網關直接把報文發給主機B

1.1.4 ARP

設備通過 ARP 解析到目的MAC 地址後,將會在自己的ARP 表中增加IP 地址到MAC 地址的映射

表項,以用於後續到同一目的地報文的轉發。

ARP 表項分爲動態ARP 表項和靜態ARP 表項。

1. 動態ARP 表項

動態 ARP 表項由ARP 協議通過ARP 報文自動生成和維護,可以被老化,可以被新的ARP 報文更

新,可以被靜態ARP 表項覆蓋。當到達老化時間、接口down 時會刪除相應的動態ARP 表項。

2. 靜態ARP 表項

靜態 ARP 表項通過手工配置和維護,不會被老化,不會被動態ARP 表項覆蓋。

配置靜態 ARP 表項可以增加通信的安全性。靜態ARP 表項可以限制和指定IP 地址的設備通信時

只使用指定的MAC 地址,此時***報文無法修改此表項的IP 地址和MAC 地址的映射關係,從而

保護了本設備和指定設備間的正常通信。

靜態 ARP 表項分爲短靜態ARP 表項和長靜態ARP 表項。

在配置長靜態 ARP 表項時,除了配置IP 地址和MAC 地址項外,還必須配置該ARP 表項所

VLAN 和出接口。長靜態ARP 表項可以直接用於報文轉發。

1-3

在配置短靜態 ARP 表項時,只需要配置IP 地址和MAC 地址項。如果出接口是三層以太網接

口,短靜態ARP 表項可以直接用於報文轉發;如果出接口是VLAN 虛接口,短靜態ARP

項不能直接用於報文轉發,當要發送IP 數據包時,先發送ARP 請求報文,如果收到的響應報

文中的源IP 地址和源MAC 地址與所配置的IP 地址和MAC 地址相同,則將接收ARP 響應報

文的接口加入該靜態ARP 表項中,之後就可以用於IP 數據包的轉發。

本文檔所有權歸H3C所有;僅供學習參考。謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章