ARP快取表
from https://zh.wikipedia.org/wiki/%E5%9C%B0%E5%9D%80%E8%A7%A3%E6%9E%90%E5%8D%8F%E8%AE%AE
原理[編輯]
在每台安裝有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)傳送資料為例。
1.當傳送資料時,主機A會在自己的ARP快取表中尋找是否有目標IP位址。如果找到就知道目標MAC位址為(00-BB-00-62-C2-02),直接把目標MAC位址寫入影格裡面傳送就可。
2.如果在ARP快取表中沒有找到相對應的IP位址,主機A就會在網路上傳送一個廣播(ARP request),目標MAC位址是「FF.FF.FF.FF.FF.FF」,這表示向同一網段內的所有主機發出這樣的詢問:「192.168.38.11的MAC位址是什麼?」
1.當傳送資料時,主機A會在自己的ARP快取表中尋找是否有目標IP位址。如果找到就知道目標MAC位址為(00-BB-00-62-C2-02),直接把目標MAC位址寫入影格裡面傳送就可。
2.如果在ARP快取表中沒有找到相對應的IP位址,主機A就會在網路上傳送一個廣播(ARP request),目標MAC位址是「FF.FF.FF.FF.FF.FF」,這表示向同一網段內的所有主機發出這樣的詢問:「192.168.38.11的MAC位址是什麼?」
3.網路上其他主機並不回應ARP詢問,只有主機B接收到這個影格時,才向主機A做出這樣的回應(ARP response):「192.168.38.11的MAC位址是00-BB-00-62-C2-02」,此回應以單播方式。這樣,主機A就知道主機B的MAC位址,它就可以向主機B傳送資訊。同時它還更新自己的ARP高速緩衝記憶體(ARP cache),下次再向主機B傳送資訊時,直接從ARP快取表里尋找就可。
ARP快取表採用老化機制,在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可減少快取表的長度,加快查詢速度。
免費ARP(gratuitous ARP),他是指主機傳送ARP查詢(廣播)自己的IP位址,當ARP功能被開啟或者是埠初始組態完成,主機向網路傳送免費ARP來查詢自己的IP位址確認位址唯一可用。
作用:
- 確定網路中是否有其他主機使用了IP位址,如果有應答則產生錯誤訊息。
- 免費ARP可以做更新ARP快取用,網路中的其他主機收到該廣播則在快取中更新條目,收到該廣播的主機無論是否存在與IP位址相關的條目都會強制更新,如果存在舊條目則會將MAC更新為廣播包中的MAC。
ARP(Address Resolution Protocol)とは、TCP/IPネットワークにおいてIPアドレスからイーサネット上のMACアドレスを求めるためのプロトコルです。
C:\Users\xhtsai>arp -a
介面: 192.168.162.74 --- 0xb
網際網路網址 實體位址 類型
192.168.162.11 00-22-19-0e-9b-34 動態
192.168.162.19 00-90-27-4e-dc-8a 動態
192.168.162.21 24-31-84-58-0f-20 動態
192.168.162.42 88-d7-f6-55-15-e6 動態
192.168.162.43 04-92-26-e0-70-7c 動態
192.168.162.44 88-d7-f6-56-fe-77 動態
192.168.162.47 b0-6e-bf-cc-2c-aa 動態
192.168.162.48 88-d7-f6-56-ff-1e 動態
192.168.162.49 b0-6e-bf-cc-2c-bf 動態
留言
張貼留言