拓撲圖
node
實驗要求:網絡
實驗步驟:
分別在五臺路由器上配置好IGP,並在R5上引入直連的5.5.5.0的路由,cost類型爲2,metric值爲5。 在R2 和 R3上進行重分佈。app
1、 解決環路問題:經過路由標記來完成。
如今查看2.2.2.0的路由表。R4上顯示下一跳爲R3,R3顯示下一跳爲R1,R1指向R2,R2指向R4,這樣就產生了環路。爲何會產生環路:
站在R4的立場,首先它從R5學習到了ASE的路由,類型爲E2,Cost爲5,外部路由的優先級是150. 這條路由通過R2和R3會傳遞到ISIS區域,再從ISIS傳遞迴到OSPF區域,從ISIS傳遞回來的路由,優先級150,類型爲E2,Cost爲1。因此它會優選從ISIS傳遞過來的5.5.5.0的路由。
怎麼解決這個問題呢?有兩個思路:ide
============================================================================ R2和R3上的TAG配置: ospf 110 router-id 2.2.2.2 import-route isis 1 route-policy isistoospf //在引入ISIS路由到OSPF中時調用Policy
route-policy isistoospf deny node 10
if-match tag 10 //將打上了TAG10的路由拒絕,不能重分佈到OSPF中學習
route-policy isistoospf permit node 20
apply tag 15 //重分佈到OSPF中的路由,打上TAG15code
=============================================================================
isis 1
is-level level-2
cost-style wide // 使用Wide類型的度量值,才能識別TAG
network-entity 49.0123.0000.0000.2222.00
import-route ospf 110 route-policy ospftoisis router
route-policy ospftoisis deny node 10 // 將OSPF重分佈到ISIS時,拒絕TAG爲15的路由
if-match tag 15blog
route-policy ospftoisis permit node 20
apply tag 10 //OSPF重分佈到ISIS時,將路由打上TAG10進程
=============================================================================ip
在R2和R3上作了TAG之後,如今就沒有環路了。 R3到5.5.5.0指向R1, R1指向R2,R2指向R4,R4指向R5. 如今沒有環路了。 <R3>display ip routing-table 5.5.5.0 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table : Public Summary Count : 1 Destination/Mask Proto Pre Cost Flags NextHop Interface 5.5.5.0/24 ISIS-L2 15 20 D 13.1.1.1 GigabitEthernet0/0/1 <R1>display ip routing-table 5.5.5.0 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table : Public Summary Count : 1 Destination/Mask Proto Pre Cost Flags NextHop Interface 5.5.5.0/24 ISIS-L2 15 10 D 12.1.1.2 GigabitEthernet0/0/0 <R2>display ip routing-table 5.5.5.0 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table : Public Summary Count : 1 Destination/Mask Proto Pre Cost Flags NextHop Interface 5.5.5.0/24 O_ASE 150 5 D 24.1.1.4 GigabitEthernet0/0/1 <R4>display ip routing-table 5.5.5.0 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table : Public Summary Count : 1 Destination/Mask Proto Pre Cost Flags NextHop Interface 5.5.5.0/24 O_ASE 150 5 D 45.1.1.5 GigabitEthernet0/0/2 2、 這個時候,再來看看是否存在次優路由。仍是5.5.5.0的路由。上面實驗中,在R3上去往5.5.5.0的路由,下一跳指向R1,按照正常狀況下來看,5.5.5.0的路由是R4傳遞過來的,下一跳要指向R4纔是最優的。爲何R3上的5.5.5.0的路由指向了R1,一樣仍是由於從R1的ISIS協議傳遞過來的協議優先值要低。 下一跳 管理距離 Cost 優選 下一跳 管理距離 Cost 優選 R1 15 20 √ R4 150 5 那咱們怎麼來解決次優路徑的問題呢,其實也有兩種辦法: 1. 能夠使用fileter-policy在入方向過濾路由,在R2和R3的協議進程下,使用fileter過濾從ISIS學習到的2.2.2.0的路由。 2. 能夠針對這條路由修改其協議優先級的值大於從OSPF協議學習到的優先級的值。那麼路由器會優選從協議優先級小的路由協議學習到的路由。須要在R2和R3上都完成操做。
=============================================================================
ip ip-prefix 55 index 10 permit 5.5.5.0 24 #
route-policy pref permit node 10
if-match ip-prefix 55
apply preference 188
isis 1
preference route-policy pref
改完了協議優先級的值之後,就解決了次優路徑的問題。到此爲止,問題獲得解決。總結一下: 1. 多點雙向重分佈,可能產生環路問題,環路能夠經過對路由打標記來實現路由過濾,這種方法能夠解決環路問題。 2. 對於由於協議優先級而帶來的次優路徑問題,能夠手動針對特定的路由修改優先級。 3. 對於由於Cost而致使的問題,也能夠修改Cost。 4. 路由器選路,若是有多條路徑,不一樣路由協議之間經過比較協議優先級,協議優先級值小的協議優先;對於從同種路由協議學習到的路由,比較Cost值,值小的優先 5. 對於ISIS路由協議,若是需識別TAG,它的cost樣式須要爲wide。