路由設備進行路由選擇時,依據到達同一目的地的路由,通過路由優先級和開銷值來比較,選擇其中最優路由,先比較優先級,再比較開銷值。若優先級值不同,則優先級值最小的為最優路由;若優先級值相同,開銷值不同,則開銷值最小的為最優路由;若優先級值和開銷值相同,則互為平衡分擔路由。
工程上常用的華為和思科路由器,其路由協議因系統不同默認優先級也不相同,如華為OSPF協議默認優先級為10,思科默認優先級為110,因此配置路由時要根據路由設備類型,規劃路由重分布和篩選策略。華為和思科路由默認優先級如表1。

圖1 路由引入規劃不當導致路由環路
路由協議的不同在于其使用的算法和判斷標準不同,RIP路由協議采用跳數作為標準,選出跳數最小的路徑;OSPF缺省采用帶寬的反比作為標準,即COST值,選出帶寬最大的路徑,其計算方式為COST=100M/接口帶寬,值越小,系統使用該接口轉發數據的可能性越大。
在自治域邊界路由器進行不同域網絡互聯時,邊界路由器采用了路由引入,因使用的引入配置規劃不當,導致出現路由環路問題,配置如下所述。
網絡拓撲如圖1所示,RT2和RT4作為邊界路由器,在OSPF和ISIS間進行路由引入,RT4配置為將OSPF協議路由引入到ISIS協議中,而RT2配置為將ISIS路由引入到OSPF協議中。RT4從RT1學習到路由172.0.0.0/16后,將其引入到ISIS協議中,并發布到RT3,由RT3再發布給RT2;此時RT2并不知道這條路由是從OSPF區域中引來,所以會再次引到OSPF區域中。
下面具體分析為什么會產生路由環路。
如圖2所示,RT1配置將靜態路由172.0.0.0/16引入至OSPF區域內,然后再通過RT4將路由引入到ISIS區域內。其路由生成過程為:

表1 默認優先級
[RT1]ip route-static 172.0.0.0 16 10.0.1.2 perference 200
[RT1-ospf-1]importroute static
[RT2-ospf-1]importroute isis
[RT4-isis-1]importroute ospf
1.RT1將靜態路由172.0.0.0/16引入到OSPF中。因為RT1配置有靜態路由172.0.0.0/16,且其為有效路由,所以此路由會被引入到OSPF的LSDB中,并以LSA形式發布到OSPF區域。RT2和RT4收到此LSA后,成OSPF區域外路由,優先級為150,下一跳指向RT1。
2.RT4將OSPF區 域外路由172.0.0.0/16引入到ISIS中。因為RT4從RT1學到區域外路由172.0.0.0/16,且其為有效路由,放入IP路由表中,又因為RT4配置將OSPF路由引入到ISIS中,所以RT4將此路由以ISIS中的LSA形式發布到ISIS中,其優先級為15。RT3收到此LSA后,放入路由表生成路由,下一跳指向RT4。

圖2 生成路由的過程

圖3 使用Tag來選擇性引入路由
3.RT2將ISIS路 由172.0.0.0/16引入到OSPF中。RT2同時從OSPF區域和ISIS區域學到了同一條路由172.0.0.0/16,根據路由選擇比較原則,RT2將比較路由來源的優先級,因為ISIS的優先級值為15,而OSPF區域外路由的優先級值為150,所以ISIS路由優先。RT2把來自ISIS的路由172.0.0.0/16放入IP路由表中,作為有效路由,下一跳指向RT3。
因為ISIS路由172.0.0.0/16是有效路由,所以RT2將此路由引入到OSPF中。
4.R T 1將路由172.0.0.0/16的下一跳改為RT2。RT1收到RT2發布的路由172.0.0.0/16后,將此路由與自己的靜態路由進行比較。因為RT1所配置的靜態路由優先級為200,而OSPF區域外路由優先級值為150,所以RT1會將從RT2收到的路由作為有效路由,同時修改下一跳為RT2。從而形成了RT2-RT3-RT4-RT1-RT2的路由環路。
環路產生的根本原因是原本為某區域內始發的路由又被錯誤地引回到此區域中,從而使路由協議本身的環路機制失效。所以避免路由引入環路發生的辦法是在邊界路由器有選擇性地進行路由引入。
選擇性路由引入可以使用路由屬性中的標記值(Tag)來實現。在圖3中,RT4將OSPF區域中引入的路由加上Tag值等于5的標記,發布到ISIS區域中。在RT2上,配置把ISIS區域中除了Tag值等于5的其他路由引入到OSPF區域中。這樣,RT2就不會把路由172.0.0.0/16引入到OSPF區域中,也就實現了選擇性引入。使用Tag來選擇性引入路由簡單易用,因而將會得到廣泛的應用。