「作者主頁」:士別三日wyx
ARP協議
- 一、什么是ARP協議
- 1. Mac地址
- 2. 網路層的資料
- 3. ARP協議
- 二、ARP協議執行原理
- 1. 局域網內
- 2. 局域網外
- 3. ARP執行流程圖
一、什么是ARP協議
我們平時想要聯系一個人的時候,可以給她打電話,電話號碼是用戶的唯一標識,只要知道了對方的電話號碼,就可以與對方通話,
計算機也是如此,計算機之間想要進行通信,也需要知道對方的 “電話號碼”,計算機的“電話號碼” 稱為Mac地址,也叫計算機的物理地址,
1. Mac地址
使用命令 ipconfig -all ,可以查看電腦的 Mac地址,

當前網路中,物理地址這一項,就是計算機的 Mac地址,
Mac地址與計算機一一對應,是計算機的唯一標識,
計算機之間想要通信,就必須知道對方的 Mac地址,
2. 網路層的資料
資料到達網路層的時候,網路層會為資料添加源IP和目的IP,
隨后網路層需要將資料傳遞到資料鏈路層,但資料鏈路層傳輸資料需要知道源Mac地址和目的Mac地址,因此,網路層需要根據IP地址找到對應的Mac地址,大致流程如下:

這個根據IP地址尋找Mac地址的動作,就是由ARP協議完成的,
源Mac地址就是發送資料的計算機的Mac地址,可以輕易的獲取到,就比如你給別人打電話,你肯定是知道自己的手機號;但對方的手機號就不一定知道了,
因此,尋找目的IP地址對應的Mac地址,是ARP協議的主要作業,
3. ARP協議
ARP協議設定了幾條不證自明的公理:
- 每一個計算機或者路由器中都有一個ARP高速快取,也就是IP地址與Mac地址的映射表
- ARP 高速快取表只會存盤當前局域網內的設備資訊,這些設備包括但不限于計算機、交換機、路由器連接此局域網的介面所對應的 IP 和 Mac 映射資訊
ARP高速快取也叫ARP地址快取表,使用命令 arp -a 可以查看ARP地址快取表

二、ARP協議執行原理
首先,計算機會判斷目的IP地址是否是同網段的IP,如果是同網段,則在當前局域網內查詢,
1. 局域網內
計算機先在自己的ARP地址表中查詢目的IP地址,
如果ARP地址表能查詢到,就會獲取IP地址對應的Mac地址,將資訊發送到這個Mac地址對應的計算機中;
如果ARP地址表中查詢不到,就會在局域網內廣播請求,請求的內容中帶有源IP地址和目的IP地址,局域網內所有的設備都會收到廣播請求,
- 如果請求中的IP地址不是自己的,就不會理會,
- 如果是自己的IP地址,則會通過單播的方式,將自己的IP地址和Mac地址根據請求中的源IP地址,回應給計算機;計算機會將接收到的IP地址和Mac地址添加到自己的ARP地址表中,然后根據Mac地址,將資料發送給對方,
上面的這種情況,源主機和目標主機是在一個局域網內的,
2. 局域網外
如果是不同的局域網,計算機會通過路由器與局域網的連介面,先將資料發送給路由器(路由器的每個介面都有對應的IP地址和Mac地址),路由器通過路由演算法選擇最優的路線將資訊發送到目標主機所在局域網的路由器上,
目標主機的路由器收到資訊后,也會先檢查自己的ARP地址表,
- 如果有目標IP地址,就直接發送資訊
- 如果沒有目標IP地址,則會在局域網內廣播,目標主機收到廣播后回傳自己的IP地址和Mac地址,路由器將收到的IP地址和Mac地址存盤到自己的ARP地址表中,然后將資料發送給Mac地址對應的目標主機
3. ARP執行流程圖

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/413875.html
標籤:其他
