1. 程式人生 > >arp地址解析

arp地址解析

物理地址 啟動 數據鏈路層 ip地址 消息 地址映射 流程 靜態 周期

技術分享圖片

A: 192.168.1.2

0A-11-22-33-44-01


B: 192.168.1.3

0A-11-22-33-44-02


C: 192.168.1.4

0A-11-22-33-44-03



ARP(地址解析協議),OSI把網絡工作分為七層,ip地址在OSI模型的第三層(網絡層),mac地址在第二層(數據鏈路層)


在鏈路層上,主機和交換機用他們的物理地址來標誌,即48位的物理地址,也是是我們通常所說的網卡地址(MAC地址)。


在網絡層上,主機和路由器用邏輯地址來標誌,邏輯地址在本地是唯一的,但在全局上不一定。在TCP/IP協通過以太網發送IP數據包時,需要先封裝第三層(32位IP地址)、第二層(48位MAC地址)的報頭,但由於發送時只知道目標IP地址,不知道其MAC地址,又不能跨第二、三層,所以需要使用地址解析協議。使用地址解析協議,可根據網絡層IP數據包包頭中的IP地址信息解析出目標硬件地址(MAC地址)信息,以保證通信的順利進行。



地址解析協議ARP(Address Resolution Protocol),負責完成邏輯地址向物理地址的動態映射,將32位邏輯地址(IP地址)轉換為48位的物理地址(MAC地址)。



當主機A和主機B通信時,arp協議可以將主機B的ip地址(192.168.1.3)解析成主機B的mac地址(0A-11-22-33-44-02),工作流程:

1. 確定已知B的ip地址為192.168.1.3,A查看自己的arp緩存表檢查主機B匹配的mac地址,如果有記錄,則通過arp緩存表直接轉發。


2. 如果主機A沒有在arp緩存表中找到映射,它將詢問192.168.1.3的ip地址,從而將arp的請求廣播發送到局域網,


arp請求中mac地址和ip地址如下:

源A:

mac 192.168.1.2

ip 0A-11-22-33-44-01


目標B:

mac:為空(00:00:00:00:00:00)

ip 192.168.1.3


3. 局域網中的所有主機收到arp報文之後,主機B查看目標ip與本地匹配,則將arp中的源mac,ip添加到自己的arp緩存表中,並將包含自己的mac與ip的arp消息回復給A;主機C查看arp消息中的目標ip地址與本地不匹配,則將arp請求丟棄。


4. A收到回復消息後,將arp消息的目標mac與ip映射關系添加到自己的arp緩存表中,下次通信則直接通過arp緩存表通信


為使廣播量最小,ARP維護IP地址到MAC地址映射的緩存以便將來使用。ARP緩存可以包含動態和靜態項目。動態項目隨時間推移自動添加和刪除。每個動態ARP緩存項的潛在生命周期是10分鐘。新加到緩存中的項目帶有時間戳,如果某個項目添加後2分鐘內沒有再使用,則此項目過期並從ARP緩存中刪除;如果某個項目已在使用,則又收到2分鐘的生命周期;如果某個項目始終在使用,則會另外收到2分鐘的生命周期,一直到10分鐘的最長生命周期。靜態項目一直保留在緩存中,直到重新啟動計算機為止


arp地址解析