在配置靜態路由時,下一跳可以使用下一路由器的ip位址,也可以使用本路由器的出站介面。在點對點的網路中,兩者可能沒有什麼差別,但在乙太網中,兩者有很大差別。
在乙太網中,兩個相鄰介面之間的通訊是依靠mac位址。相鄰介面通訊時,需要知道對方的mac位址,根據mac位址,將通訊資料轉換成資料幀後交付給網路,進而到對方。而對方mac位址的獲得,是通過第二層資料幀廣播,由arp協議完成的。
當靜態路由中使用出站介面做為下一跳時,路由器會認為目標網路和介面處在「直連網路」中。看下圖的拓撲:
在路由器r1中的靜態路由為 ip route 192.168.2.0 255.255.255.0 fastethernet0/1 時,r1就認為192.168.2.0/24網路和自己直連。可以在r1中使用 show ip route 命令看出,如下圖示
在乙太網中,直連網路中主機間的通訊是通過arp協議廣播來獲取到要交付的目標主機的mac位址的。也就是說,當r1左側網路中的pc1要和r2右側網路的pc2和pc3通訊時,資料傳遞到r1時,r1看到目標網路是自己的直連網路(由於靜態路由中指定下一跳為自身介面所致),於是r1就要在f0/1所處網路發出arp請求廣播,來尋找192.168.2.11/12對應的mac位址。
這時,如果r2啟用了arp**,那麼r2將代替pc2和pc3應答此arp請求,也就是說返回給r1:192.168.2.11和12對應的mac位址是r2的f0/1介面mac。這樣,r1中將產生兩條arp快取記錄,分別為:
192.168.2.11 r2的f0/1的mac
192.168.2.12 r2的f0/1的mac
在pc1上分別ping 192.168.11和12,然後在r1上使用show arp命令檢視到的結果如下圖示:
c803.0f8c.0001正是r2的f0/1介面的mac。
當r2中沒有啟用arp**時,pc1和pc2、pc3將不能正常通訊。
【在介面模式下:no ip proxy-arp,關閉arp**】
從上述實驗中我們知道,當r1中使用f0/1介面做為到達目標網路192.168.2.0/24的下一跳時,r1左側網路中的pc,如果要和r2右側的192.168.2.0/24網路中的所有pc通訊,那麼在r1上均會產生arp快取記錄。可以想象:當雙方通訊的pc很多時,r1中勢必會產生大量的arp快取,從而可能會導致r1的記憶體被耗盡。[cisco 裝置arp的老化時間為4小時]
如果以ip做為下一跳,r1中到192.168.2.0/24網路的靜態路由設定為 ip route 192.168.2.0 255.255.255.0 10.0.0.2,這樣的話,r1中到192.168.2.0/24網路的資料報,都只會交付給10.0.0.2。r1通過arp協議來獲取 10.0.0.2對應的mac位址,然後將資料報以第二層資料幀方式交付出去。也就是說,r1上只會保留一條arp快取資訊,即:10.0.0.2 r2的f0/1的mac。這樣可以避免r1中產生大量arp快取而導致記憶體耗盡。
配置靜態路由的下一跳使用出站介面和下一跳IP的差別
在配置靜態路由時,下一跳可以使用下一路由器的ip位址,也可以使用本路由器的出站介面。在點對點的網路中,兩者可能沒有什麼差別,但在乙太網中,兩者有很大差別。在乙太網中,兩個相鄰介面之間的通訊是依靠mac位址。相鄰介面通訊時,需要知道對方的mac位址,根據mac位址,將通訊資料轉換成資料幀後交付給網路,...
靜態路由中下一跳
r5 config ip route 34.0.0.0 255.255.255.0 12.45.1.2 這裡r5和對方路由器r6是通過e0連線到e0,所以我們也可以這樣 r5 config ip route 34.0.0.0 255.255.255.0 e0 這裡直接用本路由器埠e0作為下一跳 在對...
配置靜態路由使用出站介面和下一跳IP的差別
在配置靜態路由時,下一跳可以使用下一路由器的 ip位址,也可以使用本路由器的出站介面。在點對點的網路中,兩者可能沒有什麼差別,但在乙太網中,兩者有很大差別。在乙太網中,兩個相鄰介面之間的通訊是依靠 mac位址。相鄰介面通訊時,需要知道對方的 mac位址,根據 mac位址,將通訊資料轉換成資料幀後交付...