官术网_书友最值得收藏!

1.2.5 ARP協議

ARP全稱Address Resolution Protocol,中文譯為地址解析協議,它工作在數據鏈路層,在本層和硬件接口聯系,同時對上層提供服務。ARP協議用于將網絡中的IP地址解析為目的硬件地址(MAC地址),以保證通信的順利進行。在硬件層次上進行的數據幀交換必須有正確的接口地址(即硬件地址),但TCP/IP只能識別32bit的IP地址,知道主機的IP地址并不能讓內核(如以太網驅動程序)發送一幀數據給主機,內核必須知道目的端的硬件地址才能發送數據,ARP的功能是在32bit的IP地址和采用不同網絡技術的硬件地址之間提供動態映射。從邏輯Internet地址到對應的物理硬件地址需要進行翻譯,這就是ARP的功能。

ARP的工作原理如下:

首先,每臺主機都會在自己的ARP高速緩沖區(ARP Cache)中建立一個ARP列表,以表示IP地址和MAC地址的對應關系。

當源主機需要將一個數據包發送到目的主機時,會首先檢查ARP列表中是否存在該IP地址對應的MAC地址。如果有,直接使用此MAC地址;如果沒有,主機先將目的主機的IP地址與自己的子網掩碼進行“與”操作,以判定目的主機與自己是否位于同一網段內。假如目的主機與自己在同一網段內,向本地網段發起一個ARP請求的廣播包,查詢此目的主機對應的MAC地址;如果目的主機在一個遠程網絡上,會通過路由器等路由設備轉發此ARP請求到遠程網絡中廣播。此ARP請求數據包中包括源主機的IP地址、硬件地址、以及目的主機的IP地址。

源主機和目的主機在一個網絡內的情況下:網絡中所有的主機收到ARP請求后,會檢查數據包中的目的主機IP和自己的IP地址是否一致。如果不相同就不回應,但是該主機仍然會檢查自己的ARP高速緩存,如果此請求的源IP地址已經在高速緩存中,可以用ARP請求幀中的發送端硬件地址對高速緩存中相應的內容進行更新;如果相同,該主機首先將發送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已經存在該IP的信息,則將其覆蓋,然后給源主機發送一個ARP響應數據包,告訴它需要查找的MAC地址。

如果源主機和目的主機不在同一個網絡內,ARP請求將由路由器轉發至其他網絡。如果能找到目的主機,將路由器的MAC地址當作目的主機的網絡地址發給源主機,以后源主機和目的主機之間的信息交換都要經過此路由器,這個路由器就被稱作ARP代理;如果沒有找到目的主機,在ARP高速緩存中會產生一條不完整的表項記錄下來。

源主機收到這個ARP響應數據包后,將得到的目的主機的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息開始數據的傳輸。

ARP高效運行的關鍵是由于每個主機上都有一個ARP高速緩存。這個高速緩存存放了最近Internet地址到硬件地址之間的映射記錄。高速緩存中每一項都有一個默認的生成時間,起始時間從被創建時開始計算。

在Windows操作系統中,可以在命令提示符窗口中使用ARP命令來查看ARP緩存表,具體操作方法如下:

01 顯示ARP緩存表信息 在命令提示符窗口中輸入命令“arp -a”。按【Enter】鍵,即可顯示本地電腦中的ARP緩存表信息,如下圖所示。

02 捆綁IP地址與MAC地址 還可使用ARP命令將自己的IP地址與MAC地址捆綁起來,以避免局域網中的其他電腦使用自己的IP地址,執行命令“arp/s 192.168.1.10148-5B-39-E9-DE-9E”,前者為IP地址,后者為MAC地址。若無法執行此命令,需要以管理員身份運行命令提示符。要想解除IP地址與MAC地址的綁定,只需執行命令“arp-d 192.168.1.154”,如下圖所示。

主站蜘蛛池模板: 浦江县| 诸暨市| 哈密市| 五台县| 衡东县| 绥德县| 宿迁市| 邹平县| 剑河县| 离岛区| 奉新县| 隆安县| 金堂县| 长垣县| 习水县| 醴陵市| 新津县| 凤冈县| 汝阳县| 全南县| 通辽市| 多伦县| 保山市| 临海市| 洛南县| 桦川县| 黄骅市| 宁强县| 昌吉市| 陆丰市| 九龙城区| 揭西县| 马公市| 通河县| 怀化市| 教育| 安乡县| 台中县| 浮山县| 上饶市| 易门县|