arp地址解析
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地址解析