配置靜態路由的下一跳使用出站介面和下一跳IP的差別

2021-07-05 16:57:47 字數 2050 閱讀 1647

在配置靜態路由時,下一跳可以使用下一路由器的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 iproute 命令看出,如下圖示:

在乙太網中,直連網路中主機間的通訊是通過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將不能正常通訊。

從上述實驗中我們知道,當r1中使用f0/1介面做為到達目標網路192.168.2.0/24的下一跳時,r1左側網路中的pc,如果要和r2右側的192.168.2.0/24網路中的所有pc通訊,那麼在r1上均會產生arp快取記錄。可以想象:當雙方通訊的pc很多時,r1中勢必會產生大量的arp快取,從而可能會導致r1的記憶體被耗盡。

如果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快取而導致記憶體耗盡。

總結:在配置靜態路由時,既可指定傳送介面,也可指定下一跳位址,到底採用哪種方法,需要根據實際情況而定:對於支援網路位址到鏈路層位址解析的介面(直接連到主機)或點到點介面(ppp),指定傳送介面即可;對於nbma介面,如乙太網介面、vlan介面、封裝x.25或幀中繼的介面、撥號口等,支援點到多點,這時除了配置ip路由外,還需在鏈路層建立二次路由,即ip位址到鏈路層位址的對映(如dialer map ip、x.25 map ip或frame-relay map ip等),這種情況配置靜態路由不能指定傳送介面,應配置下一跳ip位址。

如果在點到點網路環境下,無論是指定下一跳位址還是出介面,其效果都是一樣的。但是在廣播網路環境下,指定下一跳位址和指定出介面將會達到不同的效果。如果指定為出介面的話,那麼不管資料報的目標位址是否有效,每次當資料報到達時都會觸發乙個arp請求和相應,又因為arp**功能在ios環境下預設是開啟的,這就意味著路由器需要配備大量的arp快取記憶體。而如果是指定為下一跳位址的話,僅當第乙個去往目標網路的資料報到達時,才會觸發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位址,將通訊資料轉換成資料幀後交付給網路,...