ARP動態條目的生命週期
動態條目隨時間推移自動添加和刪除。
- q 每個動態ARP緩存條目默認的生命週期是兩分鐘。當超過兩分鐘,該條目會被刪掉。所以,生命週期也被稱爲超時值。
- q 延長規則:當ARP條目已存在,使用該條目後,將會重設超時值爲兩分鐘。
【實例1-12】下面將驗證動態條目的生命週期是兩分鐘。具體操作步驟如下所示:
(1)查看本機的ARP緩存表。執行命令如下所示:
- C:\Documents and Settings\Administrator>arp -a
- No ARP Entries Found
輸出的信息表示本節中沒有任何ARP緩存條目。
(2)在本機上執行ping命令,通過ARP請求廣播獲取動態ARP條目。如下所示:
- C:\Documents and Settings\Administrator>ping 192.168.7.6
- Pinging 192.168.7.6 with 32 bytes of data:
- Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
- Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
- Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
- Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
- Ping statistics for 192.168.7.6:
- Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
- Approximate round trip times in milli-seconds:
- Minimum = 0ms, Maximum = 0ms, Average = 0ms
執行以上命令後,將會產生接口地址爲192.168.7.6的動態ARP緩存條目。
(3)查看ARP緩存表。執行命令如下所示:
- C:\Documents and Settings\Administrator>arp -a
- Interface: 192.168.7.8 --- 0x2
- Internet Address Physical Address Type
- 192.168.7.6 50-e5-49-eb-46-8d dynamic
從輸出的信息中可以看到,本機中存在一條ARP緩存條目。
(4)過兩分鐘後,再次查看ARP緩存表。發現該條目已被刪除。顯示結果如下所示:
- C:\Documents and Settings\Administrator>arp -a
- No ARP Entries Found
從輸出信息中,可以確定前面的動態ARP條目已被刪除。
【實例1-13】下面將驗證重複使用動態條目,條目會一直生效。具體操作步驟如下所示:
(1)查看本機的ARP緩存表。執行命令如下所示:
- C:\Documents and Settings\Administrator>arp -a
- No ARP Entries Found
輸出的信息表示本節中沒有任何ARP緩存條目。
(2)在本機上執行ping命令,通過-t選項實現一直使用獲取到的動態條目。如下所示:
- C:\Documents and Settings\Administrator>ping 192.168.6.100 -t
- Pinging 192.168.6.100 with 32 bytes of data:
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
- ......
執行以上命令後,將會產生接口地址爲192.168.6.100的動態ARP緩存條目。
(3)查看ARP緩存表。如下所示:
- C:\Documents and Settings\Administrator>arp -a
- Interface: 192.168.7.8 --- 0x2
- Internet Address Physical Address Type
- 192.168.6.100 50-e5-49-eb-46-8d dynamic
從輸出的信息中,可以看到本機中有一條動態ARP條目。該主機的ARP條目緩存時間,可以通過抓包工具獲取到。下面使用Wireshark過濾只顯示ARP協議的數據包,如圖1.20所示。
圖1.20 動態條目重複使用
從該界面可以看到,捕獲到的所有數據包中只有第9個數據幀是ARP廣播請求包。這是因爲在第一次通信時,不知道對方(192.168.6.100)的MAC地址。在後面捕獲到的數據包中,沒有出現過這樣的廣播包。這說明在該過程中,主機中的ARP條目沒有發送變化。
ARP靜態條目的生命週期
靜態條目一直保留在ARP緩存中,意思是永久生效。但不同的操作系統中,靜態條目的保存方式是不同的。例如,在Windows XP系統中,重新啓動計算機後該條目失效。而在Windows 7中,即使重新啓動計算機後,該靜態條目仍然保存。下面通過幾個實例依次驗證各種操作系統對靜態條目的處理方式。
【實例1-14】下面驗證Windows XP的靜態條目不保存情況。具體操作步驟如下所示:
(1)手動綁定接口爲192.168.7.8的ARP條目。執行命令如下所示:
- C:\Documents and Settings\Administrator>arp -s 192.168.7.7 00-19-21-3f-c3-e5
執行以上命令後,沒有任何輸出信息。
(2)查看ARP緩存表。執行命令如下所示:
- C:\Documents and Settings\Administrator>arp -a
- Interface: 192.168.7.8 --- 0x2
- Internet Address Physical Address Type
- 192.168.7.7 00-19-21-3f-c3-e5 static
從輸出的信息中,可以看到接口爲192.168.7.7的ARP緩存條目爲static(靜態)。
(3)重新啓動計算機。啓動後,再次查看ARP緩存表。如下所示:
- C:\Documents and Settings\Administrator>arp -a
- No ARP Entries Found
輸出的信息表示沒有找到ARP條目。
【實例1-15】下面驗證Windows 7的靜態條目保存。具體操作步驟如下所示:
(1)手動綁定接口爲192.168.7.6的ARP條目。執行命令如下所示:
- C:\Documents and Settings\Administrator>arp -s 192.168.7.6 50-e5-49-eb-46-8d
執行以上命令後,沒有任何輸出信息。
(2)查看ARP緩存表。執行命令如下所示:
- C:\Documents and Settings\Administrator>arp -a
- Interface: 192.168.7.8 --- 0x2
- Internet Address Physical Address Type
- 192.168.7.6 50-e5-49-eb-46-8d 靜態
從輸出的信息中,可以看到接口爲192.168.7.6的ARP緩存條目爲靜態。
(3)重新啓動計算機。啓動後,再次查看ARP緩存表。如下所示:
- C:\Documents and Settings\Administrator>arp -a
- Interface: 192.168.7.8 --- 0x2
- Internet Address Physical Address Type
- 192.168.7.6 50-e5-49-eb-46-8d 靜態
從輸出的信息中可以看到綁定的靜態條目仍然存在。
【實例1-16】下面驗證Linux的靜態緩存是否保存。具體操作步驟如下所示:
(1)查看本機的ARP緩存表。執行命令如下所示:
- [email protected]:~# arp -a
- localhost (192.168.5.5) at 00:0c:29:56:bd:21 [ether] on eth0
輸出的信息,表示本機中有一條動態ARP緩存條目。
(2)將192.168.5.5的IP地址與MAC地址綁定。執行命令如下所示:
執行以上命令後,接口爲192.168.5.5的ARP條目將爲靜態。
(3)查看ARP緩存表。執行命令如下所示:
- [email protected]:~# arp -a
- localhost (192.168.5.5) at 00:0c:29:56:bd:00 [ether] PERM on eth0
從輸出的信息中可以看到查看到的ARP條目中,出現了一個PERM關鍵字。該關鍵字表示這條ARP條目爲靜態。
(4)重新啓動計算機。啓動後,再次查看ARP緩存表。執行命令如下所示:
執行以上命令後,沒有任何信息輸出。這表示該靜態條目,重新啓動計算機後將被刪除。