路由協定

路由協定

路由器提供了異構網互聯的機制,實現將一個網路的數據包傳送到另一個網路。而路由就是指導IP數據包傳送的路徑信息。路由協定就是在路由指導IP數據包傳送過程中事先約定好的規定和標準。路由協定主要運行於路由器上,路由協定是用來確定到達路徑的,它包括RIP,IGRP(Cisco私有協定),EIGRP(Cisco私有協定),OSPF,IS-IS,BGP。內部網關路由協定(Interior Gateway Routing Protocol,IGRP)是Cisco公司20世紀80年代開發的,是一 種動態的、長跨度(最大可支持255跳)的路由協定,使用度量(向量)來確定到達一個網路的最佳路由,由延時、頻寬、可靠性和負載等來計算最優路由,它在 同個自治系統內具有高跨度,適合複雜的網路。

作用

路由協定主要運行於路由器上,路由協定是用來確定到達路徑的,它包括RIP,IGRP(Cisco私有協定),EIGRP(Cisco私有協定),OSPF,IS-IS,BGP。起到一個地圖導航,負責找路的作用。它工作在網路層。

路由選擇協定主要是運行在路由器上的協定,主要用來進行路徑選擇。

路由協定作為TCP/IP協定族中重要成員之一,其選路過程實現的好壞會影響整個Internet網路的效率。按套用範圍的不同,路由協定可分為兩類:在一個AS(Autonomous System,自治系統,指一個互連網路,就是把整個Internet劃分為許多較小的網路單位,這些小的網路有權自主地決定在本系統中應採用何種路由協定)內的路由協定稱為內部網關協定(interior gateway protocol),AS之間的路由協定稱為外部網關協定(exterior gateway protocol)。這裡網關是路由器的舊稱。正在使用的內部網關路由協定有以下幾種:RIP-1,RIP-2,IGRP,EIGRP,IS-IS和OSPF。其中前3種路由協定採用的是距離向量算法,IS-IS和OSPF採用的是鏈路狀態算法,EIGRP是結合了鏈路狀態和距離矢量型路由選擇協定的Cisco私有路由協定。對於小型網路,採用基於距離向量算法的路由協定易於配置和管理,且套用較為廣泛,但在面對大型網路時,不但其固有的環路問題變得更難解決,所占用的頻寬也迅速增長,以至於網路無法承受。因此對於大型網路,採用鏈路狀態算法的IS-IS和OSPF較為有效,並且得到了廣泛的套用。IS-IS與OSPF在質量和性能上的差別並不大,但OSPF更適用於IP,較IS-IS更具有活力。IETF始終在致力於OSPF的改進工作,其修改節奏要比IS-IS快得多。這使得OSPF正在成為套用廣泛的一種路由協定。不論是傳統的路由器設計,還是即將成為標準的MPLS(多協定標記交換),均將OSPF視為必不可少的路由協定。

外部網關協定最初採用的是EGP。EGP是為一個簡單的樹形拓撲結構設計的,隨著越來越多的用戶和網路加入Internet,給EGP帶來了很多的局限性。為了擺脫EGP的局限性,IETF邊界網關協定工作組制定了標準的邊界網關協定--BGP。

常用分析

簡介

路由分為靜態路由和動態路由,其相應的路由表稱為靜態路由表和動態路由表。靜態路由表由網路管理員在系統安裝時根據網路的配置情況預先設定,網路結構 發生變化後由網路管理員手工修改路由表。動態路由隨網路運行情況的變化而變化,路由器根據路由協定提供的功能自動計算數據傳輸的最佳路徑,由此得到動態路由表。

根據路由算法,動態路由協定可分為距離向量路由協定(Distance Vector Routing Protocol)和鏈路狀態路由協定(Link State Routing Protocol)。距離向量路由協定基於Bellman-Ford算法,主要有RIP、IGRP(IGRP為 Cisco公司的私有協定);鏈路狀態路由協定基於圖論中非常著名的Dijkstra算法,即最短優先路徑(Shortest Path First, SPF)算法,如OSPF。在距離向量路由協定中,路由器將部分或全部的路由表傳遞給與其相鄰的路由器;而在鏈路狀態路由協定中,路由器將鏈路狀態信息傳 遞給在同一區域內的所有路由器。 根據路由器在自治系統(AS)中的位置,可將路由協定分為內部網關協定 (Interior Gateway Protocol,IGP)和外部網關協定(External Gateway Protocol,EGP,也叫域 間路由協定)。域間路由協定有兩種:外部網關協定(EGP)和邊界網關協定(BGP)。EGP是為一個簡單的樹型拓撲結構而設計的,在處理選路循環和設定 選路策略時,具有明顯的缺點,已被BGP代替。

EIGRP是Cisco公司的私有協定,是一種混合協定,它既有距離向量路由協定的特點,同時又繼承了鏈路狀態路由協定的優點。各種路由協定各有特點,適合不同類型的網路。下面分別加以闡述。

靜態路由

靜態路由表在開始選擇路由之前就被網路管理員建立,並且只能由網路管理員更改,所以只適於網路傳輸狀態比較簡單的環境。靜態路由具有以下特點:

· 靜態路由無需進行路由交換,因此節省網路的頻寬、CPU的利用率和路由器的記憶體。

· 靜態路由具有更高的安全性。在使用靜態路由的網路中,所有要連到網路上的路由器都需在鄰接路由器上設定其相應的路由。因此,在某種程度上提高了網路的安全性。

· 有的情況下必須使用靜態路由,如DDR、使用NAT技術的網路環境。

靜態路由具有以下缺點:

· 管理者必須真正理解網路的拓撲並正確配置路由。

· 網路的擴展性能差。如果要在網路上增加一個網路,管理者必須在所有路由器上加一條路由。

· 配置煩瑣,特別是當需要跨越幾台路由器通信時,其路由配置更為複雜。

動態路由

動態路由協定內部網關協定IGP和外部網關協定EGP。而內部網關協定IGP可以分為距離矢量路由協定和鏈路狀態路由協定,兩種協定各有特點,分述如下:

路由協定分類圖路由協定分類圖

1. 距離矢量(DV)協定

距離向量指協定使用跳數或向量來確定從一個設備到另一個設備的距離。不考慮每跳鏈路的速率。

距離向量路由協定不使用正常的鄰居關係,用兩種方法獲知拓撲的改變和路由的逾時:

· 當路由器不能直接從連線的路由器收到路由更新時;

· 當路由器從鄰居收到一個更新,通知它網路的某個地方拓撲發生了變化。

在小型網路中(少於100個路由器,或需要更少的路由更新和計算環境),距離向量路由協定運行得相當好。當小型網路擴展到大型網路時,該算法計算新路 由的收斂速度極慢,而且在它計算的過程中,網路處於一種過渡狀態,極可能發生循環並造成暫時的擁塞。再者,當網路底層鏈路技術多種多樣,頻寬各不相同時, 距離向量算法對此視而不見。

距離向量路由協定的這種特性不僅造成了網路收斂的延時,而且消耗了頻寬。隨著路由表的增大,需要消耗更多的CPU資源,並消耗了記憶體。

2. 鏈路狀態(LS)路由協定

鏈路狀態路由協定沒有跳數的限制,使用“圖形理論”算法或最短路徑優先算法。

鏈路狀態路由協定有更短的收斂時間、支持VLSM(可變長子網掩碼)和CIDR。

鏈路狀態路由協定在直接相連的路由之間維護正常的鄰居關係。這允許路由更快收斂。鏈路狀態路由協定在會話期間通過交換Hello包(也叫鏈路狀態信息)創建對等關係,這種關係加速了路由的收斂。

3.鏈路狀態路由協定和距離向量路由協定的比較

不像距離向量路由協定那樣,更新時傳送整個路由表。鏈路狀態路由協定只廣播更新的或改變的網路拓撲,這使得更新信息更小,節省了頻寬和CPU利用率。另外,如果網路不發生變化,更新包只在特定的時間內發出(通常為30min到2h)。

4 常用動態路由協定的分析

4.1 RIP(國際公有,最古老的路由協定,不過有很多缺陷)

RIP(路由信息協定)是路由器生產商之間使用的第一個開放標準,是最廣泛的路由協定,在所有IP路由平台上都可以得到。當使用RIP時,一台 Cisco路由器可以與其他廠商的路由器連線。RIP有兩個版本:RIPv1和RIPv2,它們均基於經典的距離向量路由算法,最大跳數為15跳。

RIPv1是有類路由(Classful Routing)協定,因路由上不包括掩碼信息,所以網路上的所有設備必須使用相同的子網掩碼,不支持VLSM。RIPv2可傳送子網掩碼信息,是無類路由(Classless Routing)協定,支持VLSM。

RIP使用UDP數據包更新路由信息。路由器每隔30s更新一次路由信息,如果在180s內沒有收到相鄰路由器的回應,則認為去往該路由器的路由不可用,該路由器不可到達。如果在240s後仍未收到該路由器的應答,則把有關該路由器的路由信息從路由表中刪除。

RIP具有以下特點:

· 不同廠商的路由器可以通過RIP互聯;

· 配置簡單; · 適用於小型網路(小於15跳);

· RIPv1不支持VLSM;

· 需消耗廣域網頻寬;

· 需消耗CPU、記憶體資源。

RIP的算法簡單,但在路徑較多時收斂速度慢,廣播路由信息時占用的頻寬資源較多,它適用於網路拓撲結構相對簡單且數據鏈路故障率極低的小型網路中,在大型網路中,一般不使用RIP。

4.2 IGRP(已經退出歷史的舞台)

內部網關路由協定(Interior Gateway Routing Protocol,IGRP)是Cisco公司20世紀80年代開發的,是一 種動態的、長跨度(最大可支持255跳)的路由協定,使用度量(向量)來確定到達一個網路的最佳路由,由延時、頻寬、可靠性和負載等來計算最優路由,它在 同個自治系統內具有高跨度,適合複雜的網路。Cisco IOS允許路由器管理員對IGRP的網路頻寬、延時、可靠性和負載進行權重設定,以影響度量的計 算。

像RIP一樣,IGRP使用UDP傳送路由表項。每個路由器每隔90s更新一次路由信息,如果270s內沒有收到某路由器的回應,則認為該路由器不可到達;如果630s內仍未收到應答,則IGRP進程將從路由表中刪除該路由。

與RIP相比,IGRP的收斂時間更長,但傳輸路由信息所需的頻寬減少,此外,IGRP的分組格式中無空白位元組,從而提高了IGRP的報文效率。但IGRP為Cisco公司專有,僅限於Cisco產品。

4.3 EIGRP(思科私有)

隨著網路規模的擴大和用戶需求的增長,原來的IGRP已顯得力不從心,於是,Cisco公司又開發了增強的IGRP,即EIGRP。EIGRP使用與IGRP相同的路由算法,但它集成了鏈路狀態路由協定和距離向量路由協定的長處,同時加入散播更新算法(DUAL)。

EIGRP具有如下特點:

· 快速收斂。快速收斂是因為使用了散播更新算法,通過在路由表中備份路由而實現,也就是到達目的網路的最小開銷和次最小開銷(也叫適宜後繼, feasible successor)路由都被保存在路由表中,當最小開銷的路由不可用時,快速切換到次最小開銷路由上,從而達到快速收斂的目的。

· 減少了頻寬的消耗。EIGRP不像RIP和IGRP那樣,每隔一段時間就交換一次路由信息,它僅當某個目的網路的路由狀態改變或路由的度量發生變 化時,才向鄰接的EIGRP路由器傳送路由更新,因此,其更新路由所需的頻寬比RIP和EIGRP小得多——這種方式叫觸髮式(triggered)。

· 增大網路規模。對於RIP,其網路最大只能是15跳(hop),而EIGRP最大可支持255跳(hop)。

· 減少路由器CPU的利用。路由更新僅被傳送到需要知道狀態改變的鄰接路由器,由於使用了增量更新,EIGRP比IGRP使用更少的CPU。

· 支持可變長子網掩碼。

· IGRP和EIGRP可自動移植。IGRP路由可自動重新分發到EIGRP中,EIGRP也可將路由自動重新分發到IGRP中。如果願意,也可以關掉路由的重分發。

· EIGRP為模組化設計,支持三種可路由的協定(IP、IPX、AppleTalk),更新版本支持IPv6。

· 支持非等值路徑的負載均衡。

· 因EIGIP是Cisco公司開發的專用協定,因此,當Cisco設備和其他廠商的設備互聯時,不能使用EIGRP

4.4 OSPF(國際公有)

開放式最短路徑優先(Open Shortest Path First,OSPF)協定是一種為IP網路開發的內部網關路由選擇協定,由IETF開 發並推薦使用。OSPF協定由三個子協定組成:Hello協定、交換協定和擴散協定。其中Hello協定負責檢查鏈路是否可用,並完成指定路由器及備份指 定路由器;交換協定完成“主”、“從”路由器的指定並交換各自的路由資料庫信息;擴散協定完成各路由器中路由資料庫的同步維護。

OSPF協定具有以下優點:

· OSPF能夠在自己的鏈路狀態資料庫內表示整個網路,這極大地減少了收斂時間,並且支持大型異構網路的互聯,提供了一個異構網路間通過同一種協定交換網路信息的途徑,並且不容易出現錯誤的路由信息。 · OSPF支持通往相同目的的多重路徑。

· OSPF使用路由標籤區分不同的外部路由。

· OSPF支持路由驗證,只有互相通過路由驗證的路由器之間才能交換路由信息;並且可以對不同的區域定義不同的驗證方式,從而提高了網路的安全性。

· OSPF支持費用相同的多條鏈路上的負載均衡。

· OSPF是一個無類路由協定,路由信息不受跳數的限制,減少了因分級路由帶來的子網分離問題。

· OSPF支持VLSM和無類路由查表,有利於網路地址的有效管理。

· OSPF使用AREA對網路進行分層,減少了協定對CPU處理時間和記憶體的需求。

4.5 BGP

BGP用於連線Internet。BGPv4是一種外部的路由協定。可認為是一種高級的距離向量路由協定。

在BGP網路中,可以將一個網路分成多個自治系統。自治系統間使用eBGP廣播路由,自治系統內使用iBGP在自己的網路內廣播路由。

Internet由多個互相連線的商業網路組成。每個企業網路或ISP必須定義一個自治系統號(ASN)。這些自治系統號由IANA (Internet Assigned Numbers Authority)分配。共有65535個可用的自治系統號,其中65512~65535為私 用保留。當共享路由信息時,這個號碼也允許以層的方式進行維護。

BGP使用可靠的會話管理,TCP中的179連線埠用於觸發Update和Keepalive信息到它的鄰居,以傳播和更新BGP路由表。

在BGP網路中,自治系統有: 1. Stub AS

只有一個入口和一個出口的網路。

2. 轉接AS(Transit AS)

當數據從一個AS到另一個AS時,必須經過Transit AS。

如果企業網路有多個AS,則在企業網路中可設定Transit AS。

IGP和BGP最大的不同之處在於運行協定的設備之間通過的附加信息的總數不同。IGP使用的路由更新包比BGP使用的路由更新包更小(因此BGP承載更多的路由屬性)。BGP可在給定的路由上附上很多屬性。

當運行BGP的兩個路由器開始通信以交換動態路由信息時,使用TCP連線埠179,他們依賴於面向連線的通信(會話)。

BGP必須依靠面向連線的TCP會話以提供連線狀態。因為BGP不能使用Keepalive信息(但在普通頭上存放有Keepalive信息,以允許 路由器校驗會話是否Active)。標準的Keepalive是在電路上從一個路由器送往另一個路由器的信息,而不使用TCP會話。路由器使用電路上的這 些信號來校驗電路沒有錯誤或沒有發現電路。 某些情況下,需要使用BGP:

· 當你需要從一個AS傳送流量到另一個AS時;

· 當流出網路的數據流必須手工維護時;

· 當你連線兩個或多個ISP、NAP(網路訪問點)和交換點時。

以下三種情況不能使用BGP:

· 如果你的路由器不支持BGP所需的大型路由表時;

· 當Internet只有一個連線時,使用默認路由;

· 當你的網路沒有足夠的頻寬來傳送所需的數據時(包括BGP路由表)。

視頻教程

http://pre.visualland.net/view.php?cid=899

相關搜尋

熱門詞條

聯絡我們