本實驗感謝計嵌老大哥LYJ的幫助
目錄
☀️| 一、實驗原理
- 掌握ARP協議的報文格式
- 掌握ARP協議的工作原理
- 理解ARP高速緩存的作用
☀️| 二、實驗環境
- 吉林中軟計算機網絡教學平台
- 每6台計算機為一個實驗組。
- 使用網絡拓撲二,如圖2-1所示。

圖2-1 網絡拓撲二
- 按照網絡拓撲二上的標注配置各主機的IP地址,子網掩碼全部為255.255.255.0。
- 主機A、C、D的默認網關設為172.16.1.1;主機E、F的默認網關設為172.16.0.1。
- 主機B是雙網卡,需要分別配置IP地址。網絡連接的IP地址配置為172.16.1.1,網絡連接2的IP地址配置為172.16.0.1。這兩個連接的默認網關設為空。左端物理接口為物理接口1,右端物理接口為物理接口2。
☀️| 三、實驗原理
- 因特網是由各種各樣的物理網絡通過使用諸如路由器之類的設備連接在一起組成的。主機發送一個數據包到另一台主機時可能要經過多種不同的物理網絡。主機和路由器都是在網絡層通過邏輯地址來識別的,這個地址是在全世界范圍內是惟一的。然而,數據包是通過物理網絡傳遞的。在物理網絡中,主機和路由器通過其物理地址來識別的,其范圍限於本地網絡中。物理地址和邏輯地址是兩種不同的標識符。這就意味着將一個數據包傳遞到一個主機或路由器需要進行兩級尋址:邏輯地址和物理地址。需要能將一個邏輯地址映射到相應的物理地址。
- ARP協議(地址解析協議)是“Address Resolution Protocol”的縮寫。所謂“地址解析”就是主機在發送幀前將目的邏輯地址轉換成目的物理地址的過程。在使用TCP/IP協議的以太網中,ARP協議完成將IP地址映射到MAC地址的過程。
- 圖2-2為ARP數據報的報文格式:

圖2-2 ARP報文格式
- ARP數據報直接封裝在數據鏈路幀中。例如,在圖2-3中,ARP數據包封裝在以太網的幀中。類型字段值為0x0806指出了此幀所攜帶的數據是ARP數據包。

圖2-3 ARP數據包的封裝
☀️| 四、實驗內容
⭐️練習1——領略真實的ARP(同一子網)
- 配置IP地址:
- 按照網絡拓撲二上(圖2-1)的標注配置各主機的IP地址,子網掩碼全部為255.255.255.0。
- 主機A、C、D的默認網關設為172.16.1.1;主機E、F的默認網關設為172.16.0.1。
- 主機B是雙網卡,需要分別配置IP地址。網絡連接的IP地址為172.16.1.1,網絡連接2的IP地址為172.16.0.1。這兩個連接的默認網關設為空。左端物理接口為物理接口1,右端物理接口為物理接口2。
- 各主機打開協議分析器,進入相應的網絡結構並驗證網絡拓撲的正確性,如果通過拓撲驗證,關閉協議分析器繼續進行實驗,如果沒有通過拓撲驗證,請檢查網絡連接。
- 主機A、B、C、D、E、F啟動協議分析器,打開捕獲窗口進行數據捕獲並設置過濾條件(提取ARP、ICMP)。
- 主機A、B、C、D、E、F在命令行下運行“arp -d”命令,清空ARP高速緩存。
- 主機A ping 主機D。
- 主機E ping 主機F。
- 主機A、B、C、D、E、F停止捕獲數據,並立即在命令行下運行“arp -a”命令察看ARP高速緩存。
● ARP高速緩存表由哪幾項組成?
● 結合協議分析器上采集到的ARP報文和ARP高速緩存表中新增加的條目,簡述ARP協議的報文交互過程以及ARP高速緩存表的更新過程。
⭐️練習2——編輯並發送ARP報文(同一子網)
- 本練習將主機A、B、C、D、E、F作為一組進行實驗。
- 在主機E上啟動協議編輯器,並編輯一個ARP請求報文。其中:
MAC層:
目的MAC地址:設置為FFFFFF-FFFFFF
源MAC地址:設置為主機E的MAC地址
協議類型或數據長度:0806
ARP層:
發送端硬件地址:設置為主機E的MAC地址
發送端邏輯地址:設置為主機E的IP地址
目的端硬件地址:設置為000000-000000
目的端邏輯地址:設置為主機F的IP地址 - 主機B、F啟動協議分析器,打開捕獲窗口進行數據捕獲並設置過濾條件(提取ARP協議)。
- 主機B、E、F在命令行下運行“arp -d”命令,清空ARP高速緩存。主機E發送已編輯好的ARP報文。
- 主機B、F停止捕獲數據,分析捕獲到的數據,進一步體會ARP報文交互過程。
⭐️練習3——跨路由地址解析(不同子網)
- 本練習將主機A、B、C、D、E、F作為一組進行實驗。
- 主機B在命令行方式下輸入staticroute_config命令,開啟靜態路由服務。
- 主機A、B、C、D、E、F在命令行下運行“arp -d”命令,清空ARP高速緩存。
- 主機A、B、C、D、E、F重新啟動協議分析器,打開捕獲窗口進行數據捕獲並設置過濾條件(提取ARP、ICMP)。
- 主機A ping 主機E。
- 主機A、B、C、D、E、F停止數據捕獲,察看協議分析器中采集到的ARP報文,並回答以下問題:
● 單一ARP請求報文是否能跨子網進行地址解析?為什么?
● ARP地址解析在跨越子網的通信中所起到的作用? - 主機B在命令行方式下輸入recover_config命令,停止靜態路由服務。
☀️| 五、實驗結果
⭐️練習1

圖1.1

圖1.2

圖1.3

圖1.4
問題1.ARP高速緩存表由哪幾項組成?
答:Ip地址,物理地址,狀態。
問題2.結合協議分析器上采集到的ARP報文和ARP高速緩存表中新增加的條目,簡述ARP協議的報文交互過程以及ARP高速緩存表的更新過程。
答:假設網絡中的主機A要和主機B交換數據,首先主機A要得到主機B的IP地址和MAC地址的映射關系,工作過程如下:
①ARP模塊接收來自上層的協議(IP)的數據報后,提取其目的的IP地址。
②主機A檢查自己的高速緩存中的ARP表,判斷ARP表中是否存有主機B的IP地址與MAC地址的映射關系。如果找到,則完成ARP地址解析;如果沒有找到,則轉至③。
③主機A廣播含有自身IP地址與MAC地址映射關系的請求信息包,請求解析主機B的IP的地址與MAC地址映射關系。
④主機A等待接收ARP應答。
⑤如果主機A沒有收到ARP應答,則停止發送數據報;如果收到ARP應答,執行⑥。
⑥主機A收到主機B的響應信息,使用應答中的物理地址(MAC)作為數據報的mac 地址,並將主機B的IP地址與MAC地址的映射關系存入自己的ARP表中,從而完成主機B的ARP地址解析。
⭐️練習2:

圖2.1
⭐️練習3:

圖3.1

圖3.2
問題1. 單一ARP請求報文是否能夠跨越子網進行地址解析?為什么?
答:不能,由於ARP請求是以廣播的方式進行,而廣播報文不能跨越子網,因此,單ARP請求報文不能夠跨越子網進行地址解析。
問題2. ARP地址解析在跨越子網的通信中所起到的作用?
答:作用是解析網關的MAC地址,ARP本身無法跨躍不同的網段。
☀️| 六、思考題
⭐️ARP協議的作用?數據報如何封裝傳輸?
- ARP協議的主要功能是將IP地址解析為物理地址。
- ARP報文封裝在IP數據報中傳送。
⭐️圖中ARP報文首部包括哪些字段?

- 字段1:ARP請求的目的以太網地址,全1時,代表廣播地址。
- 字段2:發送ARP請求的以太網地址。
- 字段3:以太網幀類型表示后面的數據類型,ARP請求和ARP應答此字段為:0x0806。
- 字段4:硬件地址類型,硬件地址不止以太網一種,是以太網類型時,值為1。
- 字段5:表示要映射的協議地址的類型,要對IPv4地址進行映射,此值為0x0800。
- 字段6和7:表示硬件地址長度和協議地址長度,MAC地址占6字節,IP地址占4字節。
- 字段8:是操作類型字段,值為1,表示進行ARP請求;值為2,表示進行ARP應答;值為3,表示進行RARP請求;值為4,表示進行RARP應答。
- 字段9:是發送端ARP請求或應答的硬件地址,這里是以太網地址,和字段2相同。
- 字段10:是發送ARP請求或應答的IP地址。
- 字段11和12:是目的端的硬件地址和IP地址。
