前文我們瞭解了路由控制技術策略路由相關話題,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/15333139.html;今天我們來聊一聊路由引入技術相關話題;
路由引入對我們來說應該不是很陌生,前邊聊ospf時就提到外部路由;所謂路由引入就是指把原本不屬於本路由協議的路由,通過import-route命令將對應路由引入至本路由協議,使得其他路由器能夠通過本路由協議學習到相關路由;在ospf裡我們把引入的路由叫外部路由,對應通過5類LSA在全網泛洪,對應引入外部路由的路由器叫ASBR;
路由引入原則
假如把路由協議A引入進路由協議B,則會遵循以下原則
1、跟A有關的所有路由都會引入進B(從A學習到的路由會引入進B;啟用了A的介面所在的網路路由會進入B);
2、引入的路由必須位於路由表中;即引入的路由必須是本路由器上最優路由(存在路由表中的路由,在本路由器上都是最優路由);
3、引入是外向的,即負責引入的路由器不會更改自身路由表;比如我們把A引入進B,那麼對於該路由器來說,它的路由表原來是什麼樣,引入後還是什麼,並不會發生變化;
提示:通過上述引入原則,對於引入路由的路由器,必須滿足對應路由表裡有對應路由;即在多路由協議的網路環境中,對應做引入路由的路由器一般都是邊界路由器(abr);如上圖路由器B就是邊界路由器,它既有OSPF裡的路由,同時也有RIP裡的路由;
提示:路由引入並不會改變負責引入路由器原有路由表;如上所示,對於R2來說,它把ospf路由引入至RIP程式,對應自身路由表並不會發生變化,3.0和4.0還是ospf裡的路由;我們可以理解為引入路由就是把原本A協議的路由,通過引入技術,將對應路由在B協議中釋出,類似一個翻譯的過程;
種子度量值(Seed Metric)
提示:對於不同協議的路由,其度量值的描述也有所不同;比如ospf裡度量值是通過介面頻寬/頻寬參考值算出來的;而在RIP裡對應度量值是每經過一個路由器,對應度量值+1,它是通過經過路由器的跳數來作為度量值;那麼對於上圖我們把RIP路由引入至ospf裡對應開銷度量值該怎麼計算呢?種子度量值就是解決這樣的問題;它是用來描述對應路由引入至其他路由協議時,對應路由的預設開銷;
提示:這個表主要描述了不同路由協議,對應預設種子度量值;如上,我們把ospf裡的路由引入至RIP裡,則對應路由在RIP裡開銷就是0跳,然後再根據RIP裡的度量值規則進行計算;如果我們把RIP裡的路由引入至OSPF裡,那麼對應開銷就為1;
引入規劃
單向路由引入
提示:單向路由引入是指在兩個路由器之間,只引入一個方向的路由;如上圖所示,對於核心路由器來說,它可以通過引入直連路由,學習讓核心區域裡的其他路由器學習到對應到達邊緣網路的明細路由;對於邊緣網路路由器來說,對應路由器不需要學習到核心區域網路中對應網路的明細路由,它也不學要引入核心網路中的路由;它可以通過一條預設路由實現和核心網路通訊;
雙向路由引入
提示:雙向路由引入就是指兩個路由協議之間,相互引入對方的路由;這種雙向引入多用於對應區域裡的網路都需要學習到對端網路中的明細路由場景中;如上圖所示,對於is-is區域來講它需要學習172.0.0.0/16網路的路由,此時IS-IS程式裡就需要將OSPF路由引入進來;對於ospf區域來講10.0.0.0/24網路的路由,需要ospf程式引入IS-IS路由;通過相互引入對方的路由以後,對應區域就會學習到對方的明細路由;
路由引入相關配置
實驗:如下拓撲,通過路由引入實現全網互通
R1的配置
sys sys R1 int g0/0/0 ip add 12.0.0.1 24 int lo 1 ip add 1.1.1.1 32 ospf 1 router-id 1.1.1.1 area 0 net 12.0.0.1 0.0.0.0
R2的配置
sys sys R2 int g0/0/0 ip add 12.0.0.2 24 int g0/0/01 ip add 23.0.0.2 24 ospf 1 router-id 2.2.2.2 area 0 net 12.0.0.2 0.0.0.0 rip 1 ver 2 net 23.0.0.0
R3的配置
sys sys R3 int g0/0/0 ip add 23.0.0.3 24 int lo 1 ip add 3.3.3.3 32 rip 1 ver 2 net 23.0.0.0
驗證:在R1上檢視路由表
提示:可以看到對應R1並不會學習到RIp裡的路由;
將RIP裡的路由引入至ospf裡
提示:路由引入需要在ABR上進行配置;引入的命令是import-route,需要引入什麼路由,後面跟上對應路由協議和程式號;這裡需要注意一點,引入RIP至ospf,需要在ospf程式裡進行引入;
驗證:檢視R1是否學習到RIP裡的路由呢?
提示:可以看到R1學習到23.0.0.0/24網路的路由;
驗證:檢視R3的路由表,看看是否會有ospf裡的路由呢?
提示:可以看到R3並沒有左邊ospf區域裡網路的路由;
將ospf路由引入至rip
驗證:檢視R3的路由表,看看是否學習到ospf裡的路由?
提示:可以看到R3通過RIP學習到12.0.0.0/24網路的路由;
在R3上將直連路由3.3.3.3引入至RIP,並將其開銷更改為5
提示:做acl和路由策略的主要是用於過濾3.3.3.3的路由,即上述命令表示至引入3.3.3.3的路由至RIP;
驗證:在R2上檢視路由表,看看R2是否能夠通過RIP學習到3.3.3.3的路由
提示:可以看到R2能夠通過RIp學習到3.3.3.3的路由,對應路由的開銷為6;這是因為我們在R3上做路由引入是修改了對應路由開銷為5,所以R3發出來的路由對應開銷為5,所以到達R2時對應路由開銷+1,即5+1=6;
驗證:檢視R1的路由表,看看R1是否學習到3.3.3.3的路由呢?
提示:R1能夠通過ospf學習到3.3.3.3的路由,其原因是R2在ospf程式裡引入了RIP,對於R2來說3.3.3.3是通過RIP學習到的路由,所以R2在ospf引入RIP路由時,對應3.3.3.3也會被引入至ospf,所以R1能夠通過ospf學習到3.3.3.3的路由;
在R1上講直連路由1.1.1.1引入至ospf,讓R2、R3能夠學習到對應路由
驗證:檢視R2的路由表,看看R2是否能夠通過ospf學習到1.1.1.1的路由呢?
提示:可以看到R2能夠通過ospf學習到1.1.1.1的路由,對應開銷為1 ;
驗證:在R3上檢視路由表,看看R3是否能夠通過RIP學習到1.1.1.1的路由呢?
提示:可以看到R3能夠學習到1.1.1.1的路由,對應開銷為1;這是因為我們在R2上做引入時,並沒有修改開銷,所以對應ospf的路由進入RIP,對應開銷是預設的種子度量值0,到達R3時對應路由開銷+1,所以我們在R3上看到對應路由的開銷為1;
在R2上修改種子度量值為10,看看R3學習到的路由有什麼變化?
在R3上檢視對應路由的開銷
提示:可以看到R3上通過RIP學習到的路由對應開銷變為了11;從上面的實驗過程可以看到種子度量值就是影響路由從本端發出時的開銷;
在R3上配置預設靜態路由
在R3上講靜態路由引入至RIP
驗證:在R2上檢視路由表,看看R2是否能夠學習到預設路由呢?
提示:可以看到R2並沒有學習到對應預設路由;其原因是預設路由是一個特殊的路由條目,它不像其他明細或網路路由能夠隨便引入至其他路由協議程式,我們需要明確配置開啟預設路由宣告;
在R3上配置RIP開啟預設路由宣告
驗證:在R2上檢視路由表,看看是否能夠通過RIP學習到對應預設路由?
驗證:在R1上是否能夠學習到R1釋出的預設路由呢?
提示:可以看到R1是學習不到預設路由的,其原因和前邊一樣,ospf裡我們也需要明確配置宣告預設路由;
在R2上開啟ospf預設路由宣告
驗證:在R1上檢視路由表,看看對應預設路由是否學習到了呢?
提示:可以看到在R2上開啟了ospf預設路由宣告以後,對應R2通過RIP學習到的預設路由會注入至ospf程式,而對應ospf程式又明確配置了宣告預設路由,所以R1能夠通過ospf學習到預設路由;