【技術】思科設備配置新手篇--路由選擇

思科路由器的一個迷人之處,特別是對那些對路由不熟悉的人來說,在於路由器可以通過路由協議、手動配置和各種其它方法,選擇最佳路由。


在Cisco路由器裡建立和維護路由表涉及三個進程:


1、各種路由進程,實際上運行一個網絡(或路由)協議,如增強的內部網關路由協議(EIGRP)、邊界網關協議(BGP)、中間系統到中間系統(IS-IS)和開放式最短路徑優先(OSPF)。


2、路由表本身接收路由進程的信息,並且回覆轉發進程的信息請求。


3、轉發進程需要路由表中的信息來做出數據包轉發決定。


構建路由表時的主要考慮事項為:


1 管理距離 - 這是路由來源的可信度度量。如果路由器從多個路由協議瞭解某個目的地,將對管理距離進行比較,為路由指定更低的管理距離。換句話說,它就是路由來源的可信程度。


2 權值---這是路由協議用於計算通過指定目的地的最佳路徑的一種測量方法,如果需要了解通過同一目的地的多條路徑。每種路由協議都使用一種不同的度量。


前綴長度


當每個路由進程接收更新和其他信息時,會選擇到任一指定目的地的最佳路徑,並嘗試將該路徑安裝到路由表。例如,如果EIGRP得知通往10.1.1.0/24的路徑,並確定此特定路徑是該目的地的最佳EIGRP路徑,會設法將已獲悉的路徑安裝到路由表。


路由器決定是否安裝由路由進程呈現的路由,取決於相關路由的管理距離。如果該路徑具有到該目的地的最短管理距離(與路由表中的其他路由比較)時,該路徑將被安裝在路由表中。如果這個路由不是具有最佳管理距離的路由,那麼該路由被拒絕。


為了更好地理解,讓我們看一個示例。假設路由器有四個路由進程正在運行:EIGRP、OSPF、RIP 和 IGRP。現在,通過這4道程序,獲知了到192.168.24.0/24網絡的各種路由,並且每個路由通過它的內部測量標準和程序選擇了它到該網絡的最佳路徑。


這四個進程企圖將它們到192.168.24.0/24的路由安裝到路由表中。每個路由進程都分配了一個管理距離,用來決定安裝哪個路由。


【技術】思科設備配置新手篇--路由選擇


由於內部EIGRP路由具有最佳管理距離(管理距離越短,首選可能性越大),因此內部EIGRP路由安裝在路由表中。


備份路由


其他協議、RIP、IGRP和OSPF會對它們未安裝的路由產生什麼作用?如果首選路由發生故障,能從 EIGRP 瞭解到什麼?


Cisco IOS® 軟件通過二種途徑來解決此問題:第一種是讓每個路由進程嘗試定期安裝其最佳路由。如果大多數首選路由發生故障,下一條最佳路由(根據管理距離)會在下一次嘗試中成功。其他解決方案用於路由協議在路由表中安裝其路失敗的情形,如果最佳路徑失效,則報告路由表進程。


對於沒有它們自己的路由信息表的協議(例如IGRP),則使用第一種方法。每次IGRP接收路由更新時,它都嘗試在路由表裡安裝更新的信息。如果在路由表裡已經有一個到相同目的地的路由,則不能完成安裝嘗試。


對於擁有自己數據庫的路由信息的協議,例如EIGRP、IS-IS、OSPF、BGP和RIP,初始嘗試安裝路由失敗時,將註冊備份路由。如果路由表中安裝的路由由於某種原因而失敗,路由表維護進程將調用已經註冊了備份路由的每一個路由協議進程,並且要求它們將路由重新安裝到路由表中。如果有多個協議註冊了備份路由,將根據管理距離選擇首選路由。


調整管理距離


默認管理距離可能並不總是適合您的網絡;您可能希望調整它們,例如讓RIP路由優於IGRP 路由。說明如何調整管理距離之前,我們需要查看管理距離更改提示。


更改路由協議上的管理距離非常危險!更改默認距離有可能導致網絡中出現路由環路和其他異常。我們建議您慎重更改管理距離。在進行此操作前,請務必反覆考慮您進行操作的目的,以及操作產生的所有後果。


對於整個協議,更改距離相對容易;在路由進程的子配置模式中,使用 distance 命令可輕鬆配置距離。您還能夠更改路由的距離,這些距離只能從某一些協議獲得,您只能更改部分路由的距離。


對於靜態路由,ip route 命令發出後輸入距離,您便可以更改每條路由的距離:

ip route 網絡子網掩碼的下一跳距離

您不能一次性更改所有靜態路由的管理距離。


度量如何決定路由選擇進程


路由是根據路由協議的管理距離在路由表裡選擇並構建的。從路由協議獲知的管理距離最短的路由將安裝到路由表中。如果有多條路徑使用一個路由協議通往同一個目的地,那麼多條路徑則具有相同的管理距離,並且依據測量標準選擇最佳路徑。權值是與特定路由相關的值,從最主要到最次要的優先次序排列。用於確定度量的參數由於不同的路由協議而有所不同。帶有最低權值的路徑被選為最佳路徑,並安裝在路由表中。如果有多條帶有相等權值的路徑到達同一個目的地,將在這些相等成本的路徑上執行負載平衡。


前綴長度


請看另一個方案,瞭解路由器如何處理另一個常見情況:可變的前綴長度。再次假設路由器上有四個路由進程運行,並且每個進程已經接收了這些路由:

  • EIGRP(內部):192.168.32.0/26
  • RIP :192.168.32.0/24
  • OSPF:192.168.32.0/19

要將哪些路由安裝在路由表中?因為EIGRP內部路由有最佳的管理距離,假設第一個將安裝很具有吸引力。然而,由於這些路由中的每一個路由具有不同的前綴長度(子網掩碼),因此將這些路由的目的地視為不同目的地,全部安裝在路由表中。

讓我們看一下轉發引擎如何使用路由表中的信息來做出轉發決策。


做出轉發決定


請查看我們在路由表中安裝的三個路由,並查看在路由器上查找這三個路由的方法。


router# show ip route ....

D 192.168.32.0/26 [90/25789217] via 10.1.1.1

R 192.168.32.0/24 [120/4] via 10.1.1.2

O 192.168.32.0/19 [110/229840] via 10.1.1.3 ....


如果信息包到達指定到192.168.32.1的路由器接口,路由器會選擇哪一條路由?它取決於子網中的前綴長度或子網掩碼中的比特集數量。在轉發數據包時,較長的前綴總是優先於較短的前綴。


在這種情況下,被指定到192.168.32.1的信息包受控於10.1.1.1,因為192.168.32.1屬於192.168.32.0/26網絡(192.168.32.0到192.168.32.63)。它也屬於其他2個可用路由,但192.168.32.0/26具有路由表(26位與24或19位)中最長的前綴。


同樣,如果指定到192.168.32.100的信息包到達某個路由器接口,會轉發到10.1.1.2,因為192.168.32.100不屬於192.168.32.0/26 (192.168.32.0至192.168.32.63),但屬於192.168.32.0/24目的地(192.168.32.0至192.168.32.255)。它再一次進入192.168.32.0/19包括的範圍,但192.168.32.0/24有一個更長的前綴。


IP CLASSLESS


ip classless 配置命令在路由和轉發進程中的位置經常讓人困惑。實際上,ip classless 隻影響 IOS 中轉發進程的操作;它不會影響路由表的構建方式。如果沒有配置ip classless (使用 no ip classless 命令),路由器不會轉發信息包到超網。例如,我們再次在路由表中放置三條路由,並通過路由器路由信息包。


注意:如果超網或默認路由通過IS-IS或OSPF獲取,將忽略no ip classless 配置命令。在這種情況下,數據包交換行為就像已經配置了 ip classless 一樣。


router# show ip route....

172.30.0.0/16 is variably subnetted, 2 subnets, 2 masks

D 172.30.32.0/20 [90/4879540] via 10.1.1.2

D 172.30.32.0/24 [90/25789217] via 10.1.1.1

S* 0.0.0.0/0 [1/0] via 10.1.1.3


切記172.30.32.0/24網絡包括172.30.32.0至172.30.32.255的地址,而172.30.32.0/20網絡包括172.30.32.0至172.30.47.255的地址,因此我們能夠通過此路由表設法轉換三個信息包,並查看結果。


  • 指定到172.30.32.1的信息包被轉發到10.1.1.1,因為這是最長前綴匹配。

  • 指定到172.30.33.1 的信息包被轉發到10.1.1.2,因為這是最長的前綴匹配。

  • 將發往 192.168.10.1 的數據包轉發到 10.1.1.3;因為路由表裡不存在此網絡,所以此信息包轉發到默認路由。

  • 發往 172.30.254.1 的數據包被丟棄。

這四種結果中,令人意外的是被丟棄的最後一個數據包。信息包丟棄的原因是其目的地,172.30.254.1位於已知主要網絡172.30.0.0/16內,但路由器不瞭解主要網絡內的該特定子網。


這就是有類路由的實質:如果瞭解主要網絡的某個部件,但主要網絡中的子網指定的信息是未知的,信息包將丟棄。


此規則最容易混淆的地方是:如果目的地主要網絡在路由表中根本不存在,路由器則只能使用默認路由。


如圖所示,網絡遠程站點採用無路由協議和單連接與其他網絡相連,可能導致網絡遠程站點出現問題。


【技術】思科設備配置新手篇--路由選擇

遠程站點路由器的配置如下:

interface Serial 0

ip address 10.1.2.2 255.255.255.0

!

interface Ethernet 0

ip address 10.1.1.1 255.255.255.0

!

ip route 0.0.0.0 0.0.0.0 10.1.2.1

!

no ip classless


使用此配置,遠程站點的主機能夠到達互聯網中的目的地(通過10.x.x.x網雲),而不是10.x.x.x網雲中(公司網絡)的目的地。由於遠程路由器瞭解10.0.0.0/8網絡的某些部分、2個直接連接的子網,但不瞭解10.x.x.x的其他子網,因此假設這些其他子網不存在,並且丟棄目標為這些子網的信息包。


指定到互聯網的流量,沒有10.x.x.x地址範圍的目的地,因此可以通過默認路由進行適當路由。


在遠程路由器上配置 ip classless,允許路由器忽略其路由表中的網絡有類別邊界,並簡單路由到它可以找到的最長前綴匹配,從而解決該問題。


總結


總之,做出轉發決策實際上包括三組流程:路由協議、路由表、以及做出轉發決策並交換信息包的實際過程。下面是關於這三組流程的演示,包括它們之間的關係。


【技術】思科設備配置新手篇--路由選擇

最長前綴匹配總是在實際已安裝在路由表中的路由中贏取,而贏取帶有最短管理距離的路由協議需要在路由表中安裝路由時



分享到:


相關文章: