轉載請註明出處:
概念:
ARP(Address Resolution Protocol)是一種網路協議,用於將網路層的IP地址對映到物理網路介面(MAC地址),以便在區域網(LAN)上進行通訊。其主要作用是解決從IP地址到MAC地址的對映關係,使得資料包能夠透過物理網段正確地傳遞。
當計算機傳送資料包到目標IP地址時,它需要知道目標IP對應的MAC地址才能正確地轉發資料。這時就會使用ARP協議來完成以下過程:
-
-
ARP應答(ARP Reply):擁有目標IP地址的裝置收到ARP請求後,會向傳送方主機傳送一個ARP應答,其中包含它的IP地址和MAC地址。
-
ARP快取(ARP Cache):傳送方主機在收到ARP應答時,將對應IP地址和MAC地址的對映關係儲存在ARP快取中,在之後的通訊中可以直接使用該對映關係。
ARP協議的使用場景:
-
在區域網內部,當主機A要傳送資料給主機B時,會先透過ARP協議查詢目標主機B的MAC地址,並將資料包封裝在乙太網幀中傳送到目標MAC地址。
-
當一個路由器接收到一個來自外部網路的資料包,並需要將其轉發到目標主機時,也會利用ARP協議查詢目標主機的MAC地址。
ARP協議的常用配置:
-
ARP協議的配置通常涉及以下兩個方面:
-
ARP快取表:每個主機或路由器都維護一個ARP快取表,其中儲存了IP地址和相應的MAC地址的對應關係。該表用於快速查詢目標MAC地址,在必要時可以手動新增或刪除條目。
-
ARP請求與回應:當一個主機需要獲取另一個主機的MAC地址時,它會傳送一個ARP請求廣播訊息,詢問該IP地址對應的MAC地址。而目標主機則會回覆一個ARP響應訊息,包含自己的MAC地址。
ARP協議的使用過程:
以下是一個示例說明ARP的使用過程:
假設有兩臺主機A和B,它們連線在同一個區域網上,具有以下資訊:
-
主機A的IP地址:192.168.0.10,MAC地址:AA:BB:CC:DD:EE:FF
-
主機B的IP地址:192.168.0.20,MAC地址:11:22:33:44:55:66
-
主機A想要向主機B傳送資料包。
-
主機A首先檢查ARP快取,看是否有目標IP地址(192.168.0.20)對應的MAC地址。
-
如果在ARP快取中找到了目標IP地址對應的MAC地址,則直接使用該對映關係傳送資料包。
-
如果ARP快取中沒有目標IP地址的對映關係,在主機A上傳送一個ARP請求,廣播給整個區域網。
-
主機B收到ARP請求後,檢查請求中的IP地址是否與自己的IP地址相匹配。
-
如果匹配,主機B會傳送一個ARP應答,將自己的IP地址和MAC地址作為應答傳送給主機A。
-
主機A收到ARP應答後,將目標IP地址(192.168.0.20)和相應的MAC地址(11:22:33:44:55:66)儲存在ARP快取中,並使用此對映關係傳送資料包到主機B。
這樣,透過ARP協議的幫助,主機A成功地獲取了主機B的MAC地址,並可以進行正常的通訊。
需要注意的是,ARP協議僅適用於同一物理網路的區域網內部,而不涉及跨越路由器的網路通訊。對於跨越子網的通訊,使用ARP的方法與上述過程略有不同,包括使用代理ARP或者透過閘道器進行通訊。
檢視路由器或主機上的ARP快取表:
-
在Windows作業系統上,可以使用命令
arp -a
來檢視本地主機的ARP快取表。在路由器上,具體的檢視方法可能因廠商和作業系統而異。 -
在Linux作業系統上,可以使用命令
arp -n
來檢視本地主機的ARP快取表。路由器上的具體檢視方法可能需要參考相關文件或執行特定的命令。 -
在路由交換裝置上,可以透過dispaly arp all 命令檢視當前所有得arp快取表。