路由下一跳為介面 或 IP位址的區別

2021-05-23 14:44:05 字數 1499 閱讀 3028

在配置靜態路由時,下一跳可以使用下一路由器的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位址,將通訊資料轉換成資料幀後交付...