靜態路由關聯下一跳與出接口

在華爲設備上,靜態路由可關聯下一跳或者出接口,或者同時關聯。
接下來我們探究靜態路由寫法不同有何區別
實驗拓撲:
靜態路由關聯下一跳與出接口
R1:
int g0/0/0
ip add 192.168.12.1 24
ip route-static 192.168.23.0 24 192.168.12.2
R2:
int g0/0/0
ip add 192.168.12.2 24
int g0/0/1
ip add 192.168.23.2 24
ip route-static 3.3.3.0 24 192.168.23.3
R3:
int g0/0/0
ip add 192.168.23.3 24
int lo0
ip add 3.3.3.3 24
ip route-static 192.168.12.0 24 192.168.23.2
實驗一:只關聯下一跳
那麼路由器在查錶轉發的時候,會對下一跳做遞歸操作,找到通過哪個接口到達下一跳路由器。
以太網中需要arp請求下一跳對應的MAC地址封裝二層。
[R1]ip route-static 3.3.3.0 24 192.168.12.2

實驗二:只關聯出接口
那麼路由器會認爲該報文目的地址終端與該接口是同一網段,因此在以太網鏈路中直接ARP請求報文目的地址對應的MAC,如果對端設備接口沒有arp-proxy enable,將導致傳輸失敗。
先undo ip route-static 3.3.3.0 24 192.168.12.2
[R1]ip route-static 3.3.3.0 24 GigabitEthernet 0/0/0
R1上ping 3.3.3.3 在R1 g0/0/0口抓包
靜態路由關聯下一跳與出接口
靜態路由關聯下一跳與出接口
R1直接ARP請求3.3.3.3的MAC地址,顯然不會得到迴應。通信失敗
在R2上g0/0/0口arp-proxy enable
靜態路由關聯下一跳與出接口

再次在R1上ping 3.3.3.3,抓包
靜態路由關聯下一跳與出接口
靜態路由關聯下一跳與出接口
R2對R1發出的arp請求3.3.3.3的MAC作出了迴應,把自己的MAC與3.3.3.3對應告訴R1
補充一下arp代理(欺騙)的內容,進行ARP代理需具備兩個條件
1.接口arp-proxy enable 2.路由器上有去往該IP地址的路由(顯然R2有去往3.3.3.0的路由,因此對R1作出arp迴應,即使請求的不是自己的MAC)

假如出接口爲點對點鏈路呢?如ppp、hdlc鏈路
由於點對點鏈路二層不需要mac,自然不就不需要arp,在路由表中查到路由直接從出接口發出就可以了。
如果在幀中繼FR網絡中,需要指明下一跳,只關聯出接口將導致傳輸失敗,因爲幀中繼網絡二層需要目的地址的DLCI數據鏈路連接標識。

實驗三:同時關聯下一跳和出接口
[R1]ip route-static 3.3.3.0 24 GigabitEthernet 0/0/0 192.168.12.2 #下一跳爲R2
Ping 3.3.3.3 通信成功,arp請求192.168.12.2的MAC

實驗四:同時關聯下一跳和出接口(但下一跳與自己不是直連)
如果同時關聯了下一跳和出接口,路由器會認爲下一跳就在出接口上,與自己直連,不會進行遞歸操作。
先undo ip route-static 3.3.3.0 24 GigabitEthernet 0/0/0
[R1]ip route-static 3.3.3.0 24 192.168.23.3 #下一跳寫R3
當路由器有去往3.3.3.0網絡的報文時,查路由表發現下一跳爲192.168.23.3,
進行遞歸,192.168.23.3怎麼去,於是找到去192.168.23.3的下一跳爲192.168.12.2,
封裝好192.168.23.3對應的MAC從g0/0/0口發送出去。
但是再加上出接口呢?
[R1]undo ip route-static 3.3.3.0 24 192.168.23.3
[R1]ip route-static 3.3.3.0 24 GigabitEthernet 0/0/0 192.168.23.3 #下一跳依然爲R3
由於之前實驗已經arp 3.3.3.3的MAC地址爲R2的g0/0/0口,我們先將R1的arp緩存清空
靜態路由關聯下一跳與出接口
靜態路由關聯下一跳與出接口
再將R2的g0/0/0口 arp-proxy enable關閉
靜態路由關聯下一跳與出接口
此時再ping 3.3.3.3,發現ping不通,因爲路由器認爲下一跳192.168.23.3與出接口g0/0/0
直連。不再對下一跳192.168.23.3進行遞歸操作,直接ARP請求192.168.23.3的MAC地址。如果R2的g0/0/0口沒有arp-proxy enable,不對這個arp請求迴應,R1對IP報文封裝二層目的MAC失敗,通信失敗。
靜態路由關聯下一跳與出接口
靜態路由關聯下一跳與出接口
華爲設備靜態路由寫法總結:
只關聯出接口路由器會認爲是直連網絡,直接arp請求遠端網絡的MAC,因此BMA網
絡下一跳路由器需開啓ARP代理功能。
如果是NBMA網絡則不需要,點對點鏈路不需要對端地址就可以封裝二層報文,如
ppp、hdlc,NBMA中如幀中繼網絡需要指明下一跳,幀中繼網絡二層需要目的地址的DLCI
如果只指明瞭下一跳沒有出接口,路由器會進行遞歸查到達下一跳的路由,直到找到去往
下一跳的出接口
同時關聯出接口和下一跳路由器會認爲下一跳路由器與所關聯的出接口直連,發送arp直
接請求下一跳的mac,而不會在路由表中對下一跳進行遞歸查詢
實例:下一跳並非是自己的直連,那麼出接口對端設備需要開啓arp-proxy
因此:多路訪問網絡(以太網、幀中繼等)必須關聯下一跳,非多路訪問(點對點ppp,hdlc等)既可以關聯下一跳,也可以關聯出接口或者同時關聯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章