ARP(Address Resolution Protocol),ARP的基本功能就是通過目標設備的IP位址,查詢目標設備的MAC地址,以保證通信的順利進行。IPv6中已不再適用,並被ICMPv6取代。
在每台安裝有TCP/IP協議的電腦或路由器裡都有一個ARP緩存表,表裡的IP位址與MAC地址是一對應的,如下表所示。
| 主機名稱 | IP位址 | MAC地址 |
|---|---|---|
| A | 192.168.38.10 | 00-AA-00-62-D2-02 |
| B | 192.168.38.11 | 00-BB-00-62-C2-02 |
| C | 192.168.38.12 | 00-CC-00-62-C2-02 |
| D | 192.168.38.13 | 00-DD-00-62-C2-02 |
| E | 192.168.38.14 | 00-EE-00-62-C2-02 |
| ... | ... | ... |
以主機A(192.168.38.10)向主機B(192.168.38.11)發送數據為例。
當發送數據時,主機A會在自己的ARP緩存表中尋找是否有目標IP位址。如果找到了,也就知道了目標MAC地址為(00-BB-00-62-C2-02),直接把目標MAC地址寫入幀裡面發送就可以了;如果在ARP緩存表中沒有找到相對應的IP位址,主機A就會在網路上發送一個廣播(ARP request),目標MAC地址是「FF.FF.FF.FF.FF.FF」,這表示向同一網段內的所有主機發出這樣的詢 問:「192.168.38.11的MAC地址是什麼?」網路上其他主機並不響應ARP詢問,只有主機B接收到這個幀時,才向主機A做出這樣的回應(ARP response):「192.168.38.11的MAC地址是(00-BB-00-62-C2-02)」。 這樣,主機A就知道了主機B的MAC地址,它就可以向主機B發送信息了。同時它還更新了自己的ARP緩存表,下次再向主機B發送信息時,直接從ARP緩存表裡查找就可以了。








