ARP協議的工作流程
一說到ARP協議,很多人都對它沒有好感,更有甚者對它是深惡痛絕……那么為什么它會如此聲名狼藉呢?這還要從它的基礎和工作過程來慢慢說。現在就讓我們認識一下這個可悲的家伙……ARP協議和ICMP協議是常用的TCP/IP底層協議。在對網絡故障進行診斷的時候,它們也是最常用的協議。
ARP(Address Resolution Protocol,地址解析協議)是一個位于TCP/IP協議棧中的低層協議,負責將某個IP地址解析成對應的MAC地址。
ARP協議工作過程
當一個基于TCP/IP的應用程序需要從一臺主機發送數據給另一臺主機時,它把信息分割并封裝成包,附上目的主機的IP地址。然后,尋找IP地址到實際MAC地址的映射,這需要發送ARP廣播消息。當ARP找到了目的主機MAC地址后,就可以形成待發送幀的完整以太網幀頭。***,協議棧將IP包封裝到以太網幀中進行傳送。
如圖1所示,描述了ARP廣播過程。
在圖1中,當主機A要和主機B通信(如主機A Ping主機B)時。主機A會先檢查其ARP緩存內是否有主機B的MAC地址。如果沒有,主機A會發送一個ARP請求廣播包,此包內包含著其欲與之通信的主機的IP地址,也就是主機B的IP地址。
當主機B收到此廣播后,會將自己的MAC地址利用ARP協議響應包傳給主機A,并更新自己的ARP緩存,也就是同時將主機A的IP地址/MAC地址對保存起來,以供后面使用。主機A在得到主機B的MAC地址后,就可以與主機B通信了。同時,主機A也將主機B的IP地址/MAC地址對保存在自己的ARP協議緩存內。