路由協(xié)議基礎(chǔ)
路由(Routing)是數(shù)據(jù)通信網(wǎng)絡(luò)中一個基本的概念。路由就是通過互聯(lián)的網(wǎng)絡(luò)把信息從源地址傳輸?shù)侥康牡刂返幕顒印?/strong>路由發(fā)生在OSI網(wǎng)絡(luò)參考模型中的第三層(即網(wǎng)絡(luò)層)。我們將具有路由轉(zhuǎn)發(fā)功能的設(shè)備稱為廣義上的路由器。
當路由器收到一個IP數(shù)據(jù)包,路由器會根據(jù)目的IP地址在設(shè)備上的路由表(Routing Table)中進行查找,找到“最匹配”的路由條目后,將數(shù)據(jù)包根據(jù)路由條目所指示的出接口或下一跳IP轉(zhuǎn)發(fā)出去。路由表中裝載著路由器通過各種途徑獲知的路由條目(Routes)。路由器可通過靜態(tài)、動態(tài)等方式獲取路由條目并維護自己的路由表。
什么是路由協(xié)議?
較小的網(wǎng)絡(luò)通常可以手動設(shè)置路由表(即靜態(tài)方式),但較大且擁有復(fù)雜拓撲的網(wǎng)絡(luò)可能常常變化,若要手動創(chuàng)建、維護路由表是不切實際的。因此,人們希望路由器可以動態(tài)的(即動態(tài)方式)按照某種協(xié)議來自動創(chuàng)建維護路由表以解決這個問題,從而使得網(wǎng)絡(luò)能夠近自主的適應(yīng)變化,避免故障。這些協(xié)議被稱為路由協(xié)議。
路由協(xié)議的分類?
路由協(xié)議可以有多種分類方式,常見的分類方式如下:
按照路由協(xié)議使用的算法分:
距離矢量路由協(xié)議
例如:RIP(Routing Information Protocol)
鏈路狀態(tài)路由協(xié)議
例如:OSPF(Open Shortest Path First)
按照路由協(xié)議作用的區(qū)域劃分:
內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protocol)在單一的自治系統(tǒng)中交換路由信息
例如:OSPF(Open Shortest Path First)
外部網(wǎng)關(guān)協(xié)議(Exterior Gateway Protocol),在不同的自治系統(tǒng)中交換路由信息
例如:BGP(Border Gateway Protocol)
常見的路由協(xié)議有哪些
目前常用的路由協(xié)議有:
OSPF(Open Shortest Path First)
RIP(Routing Information Protocol)
IS-IS(Intermediate System to Intermediate System)
BGP(Border Gateway Protocol)
其中,最多被使用到的路由協(xié)議為OSPF和BGP。
路由迭代
路由必須有直連的下一跳才能夠指導(dǎo)轉(zhuǎn)發(fā),但是路由生成時下一跳可能不是直連的,因此需要計算出一個直連的下一跳和對應(yīng)的出接口,這個過程就叫做路由迭代。BGP路由、靜態(tài)路由和UNR路由的下一跳都有可能不是直連的,都需要進行路由迭代。
例如,BGP路由的下一跳一般是非直連的對端loopback地址,不能指導(dǎo)轉(zhuǎn)發(fā),需要進行迭代。即根據(jù)以BGP學(xué)習(xí)到的下一跳為目的地址在IP路由表中查找,當找到一條具有直連的下一跳、出接口信息的路由后(一般為一條IGP路由),將其下一跳、出接口信息填入這條BGP路由的IP路由表中并生成對應(yīng)的FIB表項。
對于BGP私網(wǎng)路由,需要隧道進行轉(zhuǎn)發(fā),路由的下一跳一般是遠端PE的Loopback地址,不能指導(dǎo)轉(zhuǎn)發(fā),也需要進行路由迭代,即在隧道列表中查找到達該Loopback地址的隧道,將該隧道信息填入路由表中并生成對應(yīng)的FIB表項。
路由器及路由基本原理
在因特網(wǎng)中,網(wǎng)絡(luò)連接設(shè)備用來控制網(wǎng)絡(luò)流量和保證網(wǎng)絡(luò)數(shù)據(jù)傳輸質(zhì)量。常見的網(wǎng)絡(luò)連接設(shè)備有集線器(Hub)、網(wǎng)橋(Bridge)、交換機(Switch)和路由器(Router)。這些設(shè)備的基本原理類似,下面就以路由器為例來介紹一下設(shè)備的基本原理。
路由器是一種典型的網(wǎng)絡(luò)連接設(shè)備,用來進行路由選擇和報文轉(zhuǎn)發(fā)。路由器根據(jù)收到報文的目的地址選擇一條合適的路徑(包含一個或多個路由器的網(wǎng)絡(luò)),然后將報文傳送到下一個路由器,路徑終端的路由器負責(zé)將報文送交目的主機。
路由就是報文從源端到目的端的路徑。當報文從路由器到目的網(wǎng)段有多條路由可達時,路由器可以根據(jù)路由表中最佳路由進行轉(zhuǎn)發(fā)。最佳路由的選取與發(fā)現(xiàn)此路由的路由協(xié)議的優(yōu)先級、路由的度量有關(guān)。當多條路由的協(xié)議優(yōu)先級與路由度量都相同時,可以實現(xiàn)負載分擔,緩解網(wǎng)絡(luò)壓力;當多條路由的協(xié)議優(yōu)先級與路由度量不同時,可以構(gòu)成路由備份,提高網(wǎng)絡(luò)的可靠性。
靜態(tài)路由與動態(tài)路由
靜態(tài)路由與動態(tài)路由的區(qū)別
路由協(xié)議是路由器之間維護路由表的規(guī)則,用于發(fā)現(xiàn)路由,生成路由表,并指導(dǎo)報文發(fā)。依據(jù)來源的不同,路由可以分為三類:
通過鏈路層協(xié)議發(fā)現(xiàn)的路由
稱為直連路由。
通過網(wǎng)絡(luò)管理員手動配置的路由
稱為靜態(tài)路由。
通過動態(tài)路由協(xié)議發(fā)現(xiàn)的路由
稱為動態(tài)路由。
靜態(tài)路由配置方便,對系統(tǒng)要求低,適用于拓撲結(jié)構(gòu)簡單并且穩(wěn)定的小型網(wǎng)絡(luò)。缺點是不能自動適應(yīng)網(wǎng)絡(luò)拓撲的變化,需要人工干預(yù)。
動態(tài)路由協(xié)議有自己的路由算法,能夠自動適應(yīng)網(wǎng)絡(luò)拓撲的變化,適用于具有一定數(shù)量三層設(shè)備的網(wǎng)絡(luò)。缺點是配置對用戶要求比較高,對系統(tǒng)的要求高于靜態(tài)路由,并將占用一定的網(wǎng)絡(luò)資源和系統(tǒng)資源。
動態(tài)路由的分類
對動態(tài)路由協(xié)議的分類可以采用以下不同標準:
根據(jù)作用范圍不同,路由協(xié)議可分為:
內(nèi)部網(wǎng)關(guān)協(xié)議IGP(Interior Gateway Protocol):在一個自治系統(tǒng)內(nèi)部運行。常見的IGP協(xié)議包括RIP、OSPF和IS-IS。
外部網(wǎng)關(guān)協(xié)議EGP(Exterior Gateway Protocol):運行于不同自治系統(tǒng)之間。BGP是目前最常用的EGP協(xié)議。
根據(jù)使用算法不同,路由協(xié)議可分為:
距離矢量協(xié)議(Distance-Vector Protocol):包括RIP和BGP。其中,BGP也被稱為路徑矢量協(xié)議(Path-Vector Protocol)。
鏈路狀態(tài)協(xié)議(Link-State Protocol):包括OSPF和IS-IS。
以上兩種算法的主要區(qū)別在于發(fā)現(xiàn)路由和計算路由的方法不同。
路由表和FIB表
路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的關(guān)鍵是路由表和FIB表,每個路由器都至少保存著一張路由表和一張FIB(Forwarding Information Base)表。路由器通過路由表選擇路由,通過FIB表指導(dǎo)報文進行轉(zhuǎn)發(fā)。
路由表:
每臺路由器中都保存著一張本地核心路由表(即設(shè)備的IP路由表),同時各個路由協(xié)議也維護著自己的路由表。
本地核心路由表路由器使用本地核心路由表用來保存決策優(yōu)選路由,并負責(zé)把優(yōu)選路由下發(fā)到FIB表,通過FIB表指導(dǎo)報文進行轉(zhuǎn)發(fā)。這張路由表依據(jù)各種路由協(xié)議的優(yōu)先級和度量值來選取路由。
協(xié)議路由表協(xié)議路由表中存放著該協(xié)議發(fā)現(xiàn)的路由信息。路由協(xié)議可以引入并發(fā)布其他協(xié)議生成的路由。例如,在路由器上運行OSPF協(xié)議,需要使用OSPF協(xié)議通告直連路由、靜態(tài)路由或者IS-IS路由時,要將這些路由引入到OSPF協(xié)議的路由表中。
路由表中的內(nèi)容:
在路由器中,執(zhí)行命令display ip routing-table時,可以查看路由器的路由表概要信息,如下所示:
路由表中包含了下列關(guān)鍵項:
Destination:表示此路由的目的地址。用來標識IP包的目的地址或目的網(wǎng)絡(luò)。
Mask:表示此目的地址的子網(wǎng)掩碼長度。與目的地址一起來標識目的主機或路由器所在的網(wǎng)段的地址。將目的地址和子網(wǎng)掩碼“邏輯與”后可得到目的主機或路由器所在網(wǎng)段的地址。例如:目的地址為10.1.1.1,掩碼為255.255.255.0的主機或路由器所在網(wǎng)段的地址為10.1.1.0。
掩碼由若干個連續(xù)“1”構(gòu)成,既可以用點分十進制表示,也可以用掩碼中連續(xù)“1”的個數(shù)來表示。
例如掩碼255.255.255.0長度為24,即可以表示為24。
Proto:表示學(xué)習(xí)此路由的路由協(xié)議。
Pre:表示此路由的路由協(xié)議優(yōu)先級。針對同一目的地,可能存在不同下一跳、出接口等多條路由,這些不同的路由可能是由不同的路由協(xié)議發(fā)現(xiàn)的,也可以是手工配置的靜態(tài)路由。
優(yōu)先級高(數(shù)值小)者將成為當前的最優(yōu)路由。各協(xié)議路由優(yōu)先級請參見路由協(xié)議的優(yōu)先級。
Cost:路由開銷。當?shù)竭_同一目的地的多條路由具有相同的路由優(yōu)先級時,路由開銷最小的將成為當前的最優(yōu)路由。
NextHop:表示此路由的下一跳地址。指明數(shù)據(jù)轉(zhuǎn)發(fā)的下一個設(shè)備。
Interface:表示此路由的出接口。指明數(shù)據(jù)將從本地路由器哪個接口轉(zhuǎn)發(fā)出去。
所示的網(wǎng)絡(luò)中,路由器A與三個網(wǎng)絡(luò)相連,因此有三個IP地址和三個出接口,其路由表如圖所示。
路由超限自動恢復(fù)
本地核心路由表里保存著各路由協(xié)議的路由,如果本地核心路由表里的路由數(shù)量達到系統(tǒng)上限,協(xié)議路由表將無法向本地核心路由表添加路由。
本地核心路由表有以下幾種路由限制:
整機路由限制:指定所有路由條數(shù)的上限值。
整機路由前綴限制:指定所有路由的地址前綴范圍。
組播IGP路由限制:指定組播IGP路由條數(shù)的上限值。
多拓撲路由限制:指定多拓撲路由條數(shù)的上限值。
所有私網(wǎng)路由限制:指定所有私網(wǎng)路由條數(shù)的上限值。
VPN路由限制:指定VPN路由條數(shù)的上限值。
VPN路由前綴限制:指定VPN路由的地址前綴范圍。
如果協(xié)議由于某種路由限制而向本地核心路由表添加路由失敗,系統(tǒng)會記錄本次添加路由的協(xié)議和對應(yīng)的路由表Table ID。
當協(xié)議刪除本地核心路由表里的路由釋放了路由表的空間之后,路由超限解除,系統(tǒng)會通知所有向本地核心路由表添加路由失敗的協(xié)議,重新向本地核心路由表添加路由,使得本地核心路由表中的路由能夠得到最大程度的恢復(fù)。是否可以完全恢復(fù),取決于釋放的路由表空間的大小。
FIB表的匹配
在路由表選擇出路由后,路由表會將激活路由下發(fā)到FIB表中。當報文到達路由器時,會通過查找FIB表進行轉(zhuǎn)發(fā)。
FIB表中每條轉(zhuǎn)發(fā)項都指明到達某網(wǎng)段或某主機的報文應(yīng)通過路由器的哪個物理接口或邏輯接口發(fā)送,然后就可到達該路徑的下一個路由器,或者不再經(jīng)過別的路由器而傳送到直接相連的網(wǎng)絡(luò)中的目的主機。
FIB表的匹配遵循最長匹配原則。查找FIB表時,報文的目的地址和FIB中各表項的掩碼進行按位“邏輯與”,得到的地址符合FIB表項中的網(wǎng)絡(luò)地址則匹配。最終選擇一個最長匹配的FIB表項轉(zhuǎn)發(fā)報文。
例如,一臺路由器上的路由表如下:
Routing Tables: Destination/Mask Proto Pre Cost Flags NextHop Interface 0.0.0.0/0 Static 60 0 D 192.168.0.2 GigabitEthernet1/0/0 10.8.0.0/16 Static 60 3 D 192.168.0.2 GigabitEthernet1/0/0 10.9.0.0/16 Static 60 50 D 172.16.0.2 GigabitEthernet3/0/0 10.9.1.0/24 Static 60 4 D 192.168.0.2 GigabitEthernet2/0/0 10.20.0.0/16 Direct 0 0 D 172.16.0.1 GigabitEthernet4/0/0一個目的地址是10.9.1.2的報文進入路由器,查找對應(yīng)的FIB表。
FIB Table: Total number of Routes : 5 Destination/Mask Nexthop Flag TimeStamp Interface TunnelID 0.0.0.0/0 192.168.0.2 SU t[37] GigabitEthernet1/0/0 0x0 10.8.0.0/16 192.168.0.2 DU t[37] GigabitEthernet1/0/0 0x0 10.9.0.0/16 172.16.0.2 DU t[9992] GigabitEthernet3/0/0 0x0 10.9.1.0/24 192.168.0.2 DU t[9992] GigabitEthernet2/0/0 0x0 10.20.0.0/16 172.16.0.1 U t[9992] GigabitEthernet4/0/0 0x0首先,目的地址10.9.1.2與FIB表中各表項的掩碼“0、16、24”作“邏輯與”運算,得到下面的網(wǎng)段地址:0.0.0.0/0、10.9.0.0/16、10.9.1.0/24。這三個結(jié)果可以匹配到FIB表中對應(yīng)的三個表項。
最終,路由器會選擇最長匹配10.9.1.0/24表項,從接口GE2/0/0轉(zhuǎn)發(fā)這條目的地址是10.9.1.2的報文。
路由協(xié)議的優(yōu)先級 對于相同的目的地,不同的路由協(xié)議(包括靜態(tài)路由)可能會發(fā)現(xiàn)不同的路由,但這些路由并不都是最優(yōu)的。
事實上,在某一時刻,到某一目的地的當前路由僅能由唯一的路由協(xié)議來決定。
為了判斷最優(yōu)路由,各路由協(xié)議(包括靜態(tài)路由)都被賦予了一個優(yōu)先級,當存在多個路由信息源時,具有較高優(yōu)先級(取值較小)的路由協(xié)議發(fā)現(xiàn)的路由將成為最優(yōu)路由,并將最優(yōu)路由放入本地路由表中。
路由器分別定義了外部優(yōu)先級和內(nèi)部優(yōu)先級。其中,0表示直接連接的路由,255表示任何來自不可信源端的路由;數(shù)值越小表明優(yōu)先級越高。
外部優(yōu)先級是指用戶可以手工為各路由協(xié)議配置的優(yōu)先級,缺省情況下如表1-1所示。
路由協(xié)議的內(nèi)部優(yōu)先級則不能被用戶手工修改,如表1-2所示。
表1-2路由協(xié)議內(nèi)部優(yōu)先級
選擇路由時先比較路由的外部優(yōu)先級,當不同的路由協(xié)議配置了相同的優(yōu)先級后,系統(tǒng)會通過內(nèi)部優(yōu)先級決定哪個路由協(xié)議發(fā)現(xiàn)的路由將成為最優(yōu)路由。例如,到達同一目的地10.1.1.0/24有兩條路由可供選擇,一條靜態(tài)路由,另一條是OSPF路由,且這兩條路由的外部優(yōu)先級都被配置成5。這時路由器系統(tǒng)將根據(jù)表1-2所示的內(nèi)部優(yōu)先級進行判斷。
因為OSPF協(xié)議的內(nèi)部優(yōu)先級是10,高于靜態(tài)路由的內(nèi)部優(yōu)先級60。所以系統(tǒng)選擇OSPF協(xié)議發(fā)現(xiàn)的路由作為最優(yōu)路由。
路由的度量
路由的度量標示出了這條路由到達指定的目的地址的代價,通常以下因素會影響到路由的度量。
路徑長度
路徑長度是最常見的影響路由度量的因素。鏈路狀態(tài)路由協(xié)議可以為每一條鏈路設(shè)置一個鏈路開銷來標示此鏈路的路徑長度。在這種情況下,路徑長度是指經(jīng)過的所有鏈路的鏈路開銷的總和。距離矢量路由協(xié)議使用跳數(shù)來標示路徑長度。跳數(shù)是指數(shù)據(jù)從源端到目的端所經(jīng)過的設(shè)備數(shù)量。例如,路由器到與它直接相連網(wǎng)絡(luò)的跳數(shù)為0,通過一臺路由器可達的網(wǎng)絡(luò)的跳數(shù)為1,其余以此類推。
網(wǎng)絡(luò)帶寬
網(wǎng)絡(luò)帶寬是一個鏈路實際的傳輸能力。例如,一個10千兆的鏈路要比1千兆的鏈路更優(yōu)越。雖然帶寬是指一個鏈路能達到的最大傳輸速率,但這不能說明在高帶寬鏈路上路由要比低帶寬鏈路上更優(yōu)越。比如說,一個高帶寬的鏈路正處于擁塞的狀態(tài)下,那報文在這條鏈路上轉(zhuǎn)發(fā)時將會花費更多的時間。
負載
負載是一個網(wǎng)絡(luò)資源的使用程度。計算負載方法包括CPU的利用率和它每秒處理數(shù)據(jù)包的數(shù)量。持續(xù)監(jiān)測這些參數(shù)可以及時了解網(wǎng)絡(luò)的使用情況。
通信開銷通
信開銷衡量了一條鏈路的運營成本。尤其是只注重運營成本而不在乎網(wǎng)絡(luò)性能的時候,通信開銷則就成了一個重要的指標。 負載分擔與路由備份 當多條路由的路由優(yōu)先級和路由度量都相同時,這幾條路由就稱為等價路由,多條等價路由可以實現(xiàn)負載分擔。當這幾條路由為非等價路由時,就可以實現(xiàn)路由備份。
負載分擔
路由器支持多路由模式,即允許配置多條目的地相同且優(yōu)先級也相同的路由。當?shù)竭_同一目的地存在同一路由協(xié)議發(fā)現(xiàn)的多條路由時,且這幾條路由的開銷值也相同,那么就滿足負載分擔的條件。
當實現(xiàn)負載分擔時,路由器根據(jù)五元組(源地址、目的地址、源端口、目的端口、協(xié)議)進行轉(zhuǎn)發(fā),當五元組相同時,路由器總是選擇與上一次相同的下一跳地址發(fā)送報文。當五元組不同時,路由器會選取相對空閑的路徑進行轉(zhuǎn)發(fā)。 圖1-2 負載分擔組網(wǎng)圖
如所示,RouterA已經(jīng)通過接口GE1/0/0轉(zhuǎn)發(fā)到目的地址10.1.1.0/24的第1個報文P1,隨后又需要分別轉(zhuǎn)發(fā)報文到目的地址10.1.1.0/24和10.2.1.0/24。其轉(zhuǎn)發(fā)過程如下:
當轉(zhuǎn)發(fā)到達10.1.1.0/24的第2個報文P2時,發(fā)現(xiàn)此報文與到達10.1.1.0/24的第1個報文P1的五元組一致。所以之后到達該目的地的報文都從GE1/0/0轉(zhuǎn)發(fā)。
當轉(zhuǎn)發(fā)到達10.2.1.0/24的第1個報文P1時,發(fā)現(xiàn)此報文與到達10.1.1.0/24的第1個報文P1的五元組不一致。所以選取從GE2/0/0轉(zhuǎn)發(fā),并且之后到達該目的地的報文都從GE2/0/0轉(zhuǎn)發(fā)。
路由備份
路由備份功能,可以提高網(wǎng)絡(luò)的可靠性。用戶可以根據(jù)實際情況,配置到同一目的地的多條路由,其中一條路由的優(yōu)先級最高,作為主路由,其余的路由優(yōu)先級較低,作為備份路由。
正常情況下,路由器采用主路由轉(zhuǎn)發(fā)數(shù)據(jù)。當主鏈路出現(xiàn)故障時,主路由變?yōu)榉羌せ顮顟B(tài),路由器選擇備份路由中優(yōu)先級最高的路由轉(zhuǎn)發(fā)數(shù)據(jù)。
這樣,也就實現(xiàn)了主路由到備份路由的切換。當主鏈路恢復(fù)正常時,由于主路由的優(yōu)先級最高,路由器重新選擇主路由來發(fā)送數(shù)據(jù)。這樣,就實現(xiàn)了從備份路由回切到主路由。
IP FRR
定義
快速重路由FRR(Fast Reroute)是指當物理層或鏈路層檢測到故障時將故障消息上報至上層路由系統(tǒng),并立即啟用一條備份鏈路轉(zhuǎn)發(fā)報文。IP FRR是一種快速實現(xiàn)路由備份的方式。
目的
在傳統(tǒng)的IP網(wǎng)絡(luò)上,轉(zhuǎn)發(fā)鏈路出現(xiàn)底層故障后,最為直觀的表現(xiàn)是路由器上的物理接口狀態(tài)變?yōu)镈own狀態(tài)。路由器檢測到這種故障后,會通知上層路由系統(tǒng)進行相應(yīng)更新,并重新計算路由。通常從鏈路故障發(fā)生到路由系統(tǒng)完成路由收斂(重新選擇了一條可用的路由),要經(jīng)歷幾秒鐘的時間。
但是對于網(wǎng)絡(luò)上某些對延時、丟包等非常敏感的業(yè)務(wù)來說,秒級的收斂時間是不能忍受的,因為這將導(dǎo)致當前業(yè)務(wù)的中斷。比如VoIP業(yè)務(wù)所能容忍的網(wǎng)絡(luò)中斷時間為毫秒級。 IP FRR特性能夠保證轉(zhuǎn)發(fā)系統(tǒng)快速應(yīng)對出現(xiàn)的鏈路故障,直接啟用備份路由進行數(shù)據(jù)轉(zhuǎn)發(fā),盡快讓業(yè)務(wù)恢復(fù)正常。
IP FRR的分類與實現(xiàn)
IP FRR針對IP網(wǎng)絡(luò)路由而設(shè)計,分為公網(wǎng)IP FRR和私網(wǎng)IP FRR: 公網(wǎng)IP FRR:用于保護公網(wǎng)路由器。 私網(wǎng)IP FRR:用于保護CE(Customer Edge)。
IP FRR的主要實現(xiàn)手段如下: 在主鏈路可用時,通過設(shè)置IP FRR策略,把備份路由的轉(zhuǎn)發(fā)信息同時提供給轉(zhuǎn)發(fā)引擎。 當轉(zhuǎn)發(fā)引擎感知到主鏈路不可用時,能夠在控制平面路由收斂前直接使用備份路徑轉(zhuǎn)發(fā)報文。
IP FRR的典型應(yīng)用
如所示,網(wǎng)絡(luò)中通過部署IP FRR來增強可靠性。其中CE1雙歸到PE1和PE2,并配置私網(wǎng)備份出接口和備份下一跳,使鏈路B為鏈路A的備份,鏈路A出現(xiàn)故障時可以快速切換到鏈路B上。
路由的收斂
定義
路由收斂是指網(wǎng)絡(luò)拓撲變化引起的通過重新計算路由而發(fā)現(xiàn)替代路由的行為。隨著網(wǎng)絡(luò)的融合,區(qū)分服務(wù)的需求越來越強烈。某些路由可能指導(dǎo)關(guān)鍵業(yè)務(wù)的轉(zhuǎn)發(fā),如VoIP,視頻會議、組播等,這些關(guān)鍵的業(yè)務(wù)路由需要盡快收斂,而非關(guān)鍵路由可以相對慢一點收斂。因此,系統(tǒng)需要對不同路由按不同的收斂優(yōu)先級處理,來提高網(wǎng)絡(luò)可靠性。
按優(yōu)先級收斂是指系統(tǒng)為路由設(shè)置不同的收斂優(yōu)先級,分為critical、high、medium、low四種。系統(tǒng)根據(jù)這些路由的收斂優(yōu)先級采用相對的優(yōu)先收斂原則,即按照一定的調(diào)度比例進行路由收斂安裝,指導(dǎo)業(yè)務(wù)的優(yōu)先轉(zhuǎn)發(fā)。
原理描述
路由協(xié)議優(yōu)先計算并下發(fā)高收斂優(yōu)先級的路由給系統(tǒng)。缺省情況下的公網(wǎng)路由收斂優(yōu)先級如所示。 缺省時的公網(wǎng)路由收斂優(yōu)先級
路由協(xié)議或路由種類 | 收斂優(yōu)先級 |
Direct | high |
Static | medium |
OSPF和IS-IS的32位主機路由 | medium |
OSPF(除32位主機路由外) | low |
IS-IS(除32位主機路由外) | low |
RIP | low |
BGP | low |
對于私網(wǎng)路由,除了OSPF和IS-IS的32位主機路由標識為medium,其余路由統(tǒng)一標識為low。
路由按優(yōu)先級收斂的應(yīng)用
如示,在圖中的組播服務(wù)中,網(wǎng)絡(luò)上運行OSPF和IS-IS協(xié)議,接收者在RouterA端,組播源服務(wù)器10.10.10.10/32在RouterB端。其中要求到組播服務(wù)器的路由優(yōu)先于其他路由(例如10.12.10.0/24)收斂。這時可以配置路由10.10.10.10/32的收斂優(yōu)先級高于路由10.12.10.0/24的收斂優(yōu)先級,這樣當網(wǎng)絡(luò)路由重新收斂時,就能確保到組播源的路由10.10.10.10/32優(yōu)先收斂,保證組播業(yè)務(wù)的轉(zhuǎn)發(fā)。 圖1-4 路由按優(yōu)先級收斂應(yīng)用組網(wǎng)圖
缺省路由 缺省路由是另外一種特殊的路由。
簡單來說,缺省路由是沒有在路由表中找到匹配的路由表項時才使用的路由。如果報文的目的地址不能與路由表的任何目的地址相匹配,那么該報文將選取缺省路由進行轉(zhuǎn)發(fā)。如果沒有缺省路由且報文的目的地址不在路由表中,那么該報文將被丟棄,并向源端返回一個ICMP(Internet Control Message Protocol)報文,報告該目的地址或網(wǎng)絡(luò)不可達。
在路由表中,缺省路由以到網(wǎng)絡(luò)0.0.0.0(掩碼也為0.0.0.0)的路由形式出現(xiàn)??赏ㄟ^命令display ip routing-table查看當前是否設(shè)置了缺省路由。通常情況下,管理員可以通過手工方式配置缺省靜態(tài)路由;但有些時候,也可以使動態(tài)路由協(xié)議生成缺省路由,如OSPF和IS-IS。 不同路由協(xié)議的互相引入
由于采用的算法不同,不同的路由協(xié)議可以發(fā)現(xiàn)不同的路由。
當網(wǎng)絡(luò)規(guī)模比較大,使用多種路由協(xié)議時,不同的路由協(xié)議間通常需要發(fā)布其他路由協(xié)議發(fā)現(xiàn)的路由。
各路由協(xié)議都可以引入其它路由協(xié)議的路由、直連路由和靜態(tài)路由,每種路由協(xié)議都有相應(yīng)的路由引入機制,具體內(nèi)容請參見各路由協(xié)議模塊有關(guān)引入外部路由的描述。
自治系統(tǒng)
在互聯(lián)網(wǎng)中,自治系統(tǒng)AS(Autonomous System)是指在一個(有時是多個)實體管轄下的所有IP網(wǎng)絡(luò)和路由器的網(wǎng)絡(luò),它們對互聯(lián)網(wǎng)執(zhí)行共同的路由策略。
每一個AS可以支持多個內(nèi)部網(wǎng)關(guān)路由協(xié)議。
一個AS內(nèi)的所有網(wǎng)絡(luò)都被分配同一個AS號,屬于一個行政單位管轄。AS號分為2字節(jié)AS號和4字節(jié)AS號。其中2字節(jié)AS號的范圍為1至65535。
隨著時間推進,可分配的2字節(jié)AS號已經(jīng)瀕臨枯竭,需要將AS號的范圍從之前的2字節(jié)擴展為4字節(jié),其中4字節(jié)AS號的取值范圍為1至4294967295。
4字節(jié)AS號還可以用X.Y的形式表示,其中X的取值范圍為1至65535,Y的取值范圍為0至65535。 AS號根據(jù)在不同的網(wǎng)絡(luò)上使用可以分為兩類,如所示:AS號的分類及其取值范圍
AS號的類別 | 2字節(jié)AS號 | 4字節(jié)AS號 |
公有AS號 | 1~64511 | 1~64511,65536~4294967295 |
私有AS號 | 64512~65535 | 64512~65535 |
可變長子網(wǎng)掩碼
可變長子網(wǎng)掩碼VLSM(Variable-Length Subnet Masks)規(guī)定了如何在一個進行了子網(wǎng)劃分的網(wǎng)絡(luò)中的不同部分使用不同的子網(wǎng)掩碼。
適用于網(wǎng)絡(luò)內(nèi)部需要不同大小子網(wǎng)的場景。實現(xiàn)VLSM通常被稱為“子網(wǎng)劃分子網(wǎng)”。
A類的第一段是網(wǎng)絡(luò)號(前八位),B類地址的前兩段是網(wǎng)絡(luò)號(前十六位),C類的前三段是網(wǎng)絡(luò)號(前二十四位)。而VLSM的作用就是在類的IP地址的基礎(chǔ)上,從它們的主機號部分借出相應(yīng)的位數(shù)來做網(wǎng)絡(luò)號,也就是增加網(wǎng)絡(luò)號的位數(shù)。
全0和全1子網(wǎng) 通過將IP地址的主機部分進一步劃分為若干個子網(wǎng),可以解決IP地址空間利用率低和兩級IP地址不夠靈活的問題。 圖1-5 IP地址子網(wǎng)劃分
把一個B類地址的Host-id的高位5bits用來劃分子網(wǎng),Subnet-id的范圍是從00000~11111,總共可以劃分32(25)個子網(wǎng)。
子網(wǎng)對應(yīng)的子網(wǎng)掩碼也會相應(yīng)的發(fā)生變化,比如Subnet-id為11111的子網(wǎng)掩碼就是255.255.248.0。將IP地址與其相應(yīng)掩碼位執(zhí)行與運算的結(jié)果就是網(wǎng)絡(luò)地址。
多劃分出一個子網(wǎng)號碼字段是要付出代價的。舉例來說,本來一個B類IP地址可以容納65534(216 ? 2)個主機號碼。
但劃分出5bits長的子網(wǎng)字段后,最多可有32個子網(wǎng),每個子網(wǎng)有11bit的主機號碼,即每個子網(wǎng)最多可有2046(211 - 2,去掉全1和全0的主機號碼)個主機號碼。
因此主機號碼的總數(shù)是(32 x 2046 = 65472)個,比不劃分子網(wǎng)時要少62個。
其中,全0的主機號碼表示該IP地址就是網(wǎng)絡(luò)的地址,用于網(wǎng)絡(luò)路由;全1的主機號碼表示廣播地址,即對該網(wǎng)絡(luò)上所有的主機進行廣播。 路由策略
定義
路由策略主要實現(xiàn)了路由過濾和路由屬性設(shè)置等功能,它通過改變路由屬性(包括可達性)來改變網(wǎng)絡(luò)流量所經(jīng)過的路徑。
目的
路由協(xié)議在發(fā)布、接收和引入路由信息時,根據(jù)實際組網(wǎng)需求實施一些策略,以便對路由信息進行過濾和改變路由信息的屬性,如:
控制路由的接收和發(fā)布只發(fā)布和接收必要、合法的路由信息,以控制路由表的容量,提高網(wǎng)絡(luò)的安全性。
控制路由的引入在一種路由協(xié)議在引入其它路由協(xié)議發(fā)現(xiàn)的路由信息豐富自己的路由信息時,只引入一部分滿足條件的路由信息。
設(shè)置特定路由的屬性修改通過路由策略過濾的路由的屬性,滿足自身需要。 策略路由
定義
策略路由PBR(Policy-Based Routing)是一種依據(jù)用戶制定的策略進行路由選擇的機制。
目的
傳統(tǒng)的路由轉(zhuǎn)發(fā)原理是首先根據(jù)報文的目的地址查找路由表,然后進行報文轉(zhuǎn)發(fā)。但是目前越來越多的用戶希望能夠在傳統(tǒng)路由轉(zhuǎn)發(fā)的基礎(chǔ)上根據(jù)自己定義的策略進行報文轉(zhuǎn)發(fā)和選路。
策略路由使網(wǎng)絡(luò)管理者不僅能夠根據(jù)報文的目的地址,而且能夠根據(jù)報文的源地址、報文大小和鏈路質(zhì)量等屬性來制定策略路由,以改變數(shù)據(jù)包轉(zhuǎn)發(fā)路徑,滿足用戶需求。
實現(xiàn)原理
策略路由只對轉(zhuǎn)發(fā)的報文起作用,對本地下發(fā)的報文(比如本地的Ping報文)不起作用。策略路由僅對IP類型的報文生效。
設(shè)備不支持基于策略路由的TRACERT,當設(shè)備收到一個TRACERT報文,如果設(shè)備上沒有該TRACERT報文目的IP地址對應(yīng)的路由表項,只有對應(yīng)的策略路由,則設(shè)備丟棄該TRACERT報文。
策略路由通過在流行為中配置重定向?qū)崿F(xiàn),只對接口入方向的報文生效。
缺省情況下,設(shè)備按照路由表的下一跳進行報文轉(zhuǎn)發(fā),如果配置了策略路由,則設(shè)備按照策略路由指定的下一跳進行轉(zhuǎn)發(fā)。也可以配置設(shè)備對于匹配所定義策略的報文,優(yōu)先選擇路由表中明細路由中的下一跳/出接口轉(zhuǎn)發(fā);當路由表中明細路由失效后,才使用策略路由中配置的下一跳/出接口轉(zhuǎn)發(fā)報文。
只有當明細路由和策略路由下一跳都失效后,如果路由表中還有缺省路由,則報文將按照缺省路由繼續(xù)轉(zhuǎn)發(fā)。
在按照策略路由指定的下一跳進行報文轉(zhuǎn)發(fā)時,如果設(shè)備上沒有該下一跳IP地址對應(yīng)的ARP表項,設(shè)備會觸發(fā)ARP學(xué)習(xí),如果學(xué)習(xí)不到下一跳IP地址對應(yīng)的ARP表項,則報文按照路由表指定的下一跳進行轉(zhuǎn)發(fā)。
如果設(shè)備上有或者學(xué)習(xí)到了此ARP表項,則按照策略路由指定的下一跳IP地址進行報文轉(zhuǎn)發(fā)。
策略路由和路由策略差異
策略路由與路由策略(Routing Policy)存在以下不同:
策略路由的操作對象是數(shù)據(jù)包,在路由表已經(jīng)產(chǎn)生的情況下,不按照路由表進行轉(zhuǎn)發(fā),而是根據(jù)需要,依照某種策略改變數(shù)據(jù)包轉(zhuǎn)發(fā)路徑。
路由策略的操作對象是路由信息。路由策略主要實現(xiàn)了路由過濾和路由屬性設(shè)置等功能,它通過改變路由屬性(包括可達性)來改變網(wǎng)絡(luò)流量所經(jīng)過的路徑。
審核編輯:劉清
-
交換機
+關(guān)注
關(guān)注
21文章
2640瀏覽量
99646 -
路由器
+關(guān)注
關(guān)注
22文章
3732瀏覽量
113788 -
集線器
+關(guān)注
關(guān)注
0文章
387瀏覽量
39496 -
OSPF協(xié)議
+關(guān)注
關(guān)注
0文章
17瀏覽量
9385 -
BGP
+關(guān)注
關(guān)注
0文章
83瀏覽量
15331
原文標題:萬字爆肝整理-詳解路由協(xié)議;全網(wǎng)最全解析!看這篇干貨就夠了
文章出處:【微信號:網(wǎng)絡(luò)工程師筆記,微信公眾號:網(wǎng)絡(luò)工程師筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論