經常使用路由協議的分析及比較
1 概述
路由分爲靜態路由和動態路由,其相應的路由表稱爲靜態路由表和動態路由表。靜態路由表由網絡管理員在系統安裝時根據網絡的配置狀況預先設定,網絡結構 發生變化後由網絡管理員手工修改路由表。動態路由隨網絡運行狀況的變化而變化,路由器根據路由協議提供的功能自動計算數據傳輸的最佳路徑,由此獲得動態路由表。
根據路由算法,動態路由協議可分爲距離向量路由協議(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公司的私有協議,是一種混合協議,它既有距離向量路由協議的特色,同時又繼承了鏈路狀態路由協議的優勢。各類路由協議各有特色,適合不一樣類型的網絡。下面分別加以闡述。
2 靜態路由
靜態路由表在開始選擇路由以前就被網絡管理員創建,而且只能由網絡管理員更改,因此只適於網絡傳輸狀態比較簡單的環境。靜態路由具備如下特色:
· 靜態路由無需進行路由交換,所以節省網絡的帶寬、CPU的利用率和路由器的內存。
· 靜態路由具備更高的安全性。在使用靜態路由的網絡中,全部要連到網絡上的路由器都需在鄰接路由器上設置其相應的路由。所以,在某種程度上提升了網絡的安全性。
· 有的狀況下必須使用靜態路由,如DDR、使用NAT技術的網絡環境。
靜態路由具備如下缺點:
· 管理者必須真正理解網絡的拓撲並正確配置路由。
· 網絡的擴展性能差。若是要在網絡上增長一個網絡,管理者必須在全部路由器上加一條路由。
· 配置煩瑣,特別是當須要跨越幾臺路由器通訊時,其路由配置更爲複雜。
3 動態路由
動態路由協議分爲距離向量路由協議和鏈路狀態路由協議,兩種協議各有特色,分述以下。
1. 距離向量(DV)協議
距離向量指協議使用跳數或向量來肯定從一個設備到另外一個設備的距離。不考慮每跳鏈路的速率。
距離向量路由協議不使用正常的鄰居關係,用兩種方法獲知拓撲的改變和路由的超時:
· 當路由器不能直接從鏈接的路由器收到路由更新時;
· 當路由器從鄰居收到一個更新,通知它網絡的某個地方拓撲發生了變化。
在小型網絡中(少於100個路由器,或須要更少的路由更新和計算環境),距離向量路由協議運行得至關好。當小型網絡擴展到大型網絡時,該算法計算新路 由的收斂速度極慢,並且在它計算的過程當中,網絡處於一種過渡狀態,很可能發生循環並形成暫時的擁塞。再者,當網絡底層鏈路技術多種多樣,帶寬各不相同時, 距離向量算法對此視而不見。
距離向量路由協議的這種特性不只形成了網絡收斂的延時,並且消耗了帶寬。隨着路由表的增大,須要消耗更多的CPU資源,並消耗了內存。
2. 鏈路狀態(LS)路由協議
鏈路狀態路由協議沒有跳數的限制,使用「圖形理論」算法或最短路徑優先算法。
鏈路狀態路由協議有更短的收斂時間、支持VLSM(可變長子網掩碼)和CIDR。
鏈路狀態路由協議在直接相連的路由之間維護正常的鄰居關係。這容許路由更快收斂。鏈路狀態路由協議在會話期間經過交換Hello包(也叫鏈路狀態信息)建立對等關係,這種關係加速了路由的收斂。
不像距離向量路由協議那樣,更新時發送整個路由表。鏈路狀態路由協議只廣播更新的或改變的網絡拓撲,這使得更新信息更小,節省了帶寬和CPU利用率。另外,若是網絡不發生變化,更新包只在特定的時間內發出(一般爲30min到2h)。
3. 鏈路狀態路由協議和距離向量路由協議的比較 算法
1,在信息更新時,鏈路狀態協議只發送更新了的或改變了的網絡拓撲(這樣信息更少),而距離向量路由協議會發送整個路由表,寬帶和CPU利用率上更高。
2,距離向量路由協議不使用正常的鄰居關係,收斂速度較慢,鏈路狀態協議使用正確的鄰居關係,收斂速度較快(在會話期間經過交換hello包(鏈路狀態信息)建立對等關係,這種關係加速了路由的收斂)。
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)。
· 支持非等值路徑的負載均衡。
· 因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路由表)。安全
OSPF和EIGRP都是近年來出現的比較好的動態路由協議,OSPF以協議標準化強,支持廠家多,受到普遍應用,而EIGRP協議由網絡界公認的領先廠商Cisco公司發明,並靠其在業界的影響力和絕對的市場份額,也受到用戶的廣泛認同。然而這兩種協議究竟哪一種更好,誰更適合網絡將來發展的須要?本文就用戶廣泛關心的問題,從技術角度客觀分析這兩種協議各自的優缺點,以便網絡集成商和企業用戶在網絡設計規劃時,能做爲參考。網絡
1、OSPF路由協議負載均衡
(一)、OSPF路由協議介紹less
OSPF是Open Shortest Path First(即「開放最短路由優先協議」)的縮寫。它是IETF組織開發的一個基於鏈路狀態的自治系統內部路由協議。在IP網絡上,它經過收集和傳遞自治系統的鏈路狀態來動態地發現並傳播路由。ide
每一臺運行OSPF協議的路由器老是將本地網絡的鏈接狀態,(如可用接口信息、可達鄰居信息等)用LSA(鏈路狀態廣播)描述,並廣播到整個自治系統中去。這樣,每臺路由器都收到了自治系統中全部路由器生成的LSA,這些LSA的集合組成了LSDB(鏈路狀態數據庫)。因爲每一條LSA是對一臺路由器周邊網絡拓撲的描述,則整個LSDB就是對該自治系統網絡拓撲的真實反映。根據LSDB,各路由器運行SPF(最短路徑優先)算法。構建一棵以本身爲根的最短路徑樹,這棵樹給出了到自治系統中各節點的路由。在圖論中,「樹」是一種無環路的鏈接圖。因此OSPF計算出的路由也是一種無環路的路由。性能
OSPF協議爲了減小自身的開銷,提出瞭如下概念:ui
(1). DR:
在各種能夠多址訪問的網絡中,若是存在兩臺或兩臺以上的路由器,該網絡上要選舉出一個「指定路由器」(DR)。「指定路由器」負責與本網段內全部路由器進行LSDB的同步。這樣,兩臺非DR路由器之間就再也不進行LSDB的同步。大大節省了同一網段內的帶寬開銷。
(2). AREA:
OSPF能夠根據自治系統的拓撲結構劃分紅不一樣的區域(AREA),這樣區域邊界路由器(ABR)向其它區域發送路由信息時,以網段爲單位生成摘要LSA。這樣能夠減小自治系統中的LSA的數量,以及路由計算的複雜度。區域內和區域間路由描述的是自治系統內部的網絡結構,而外部路由則描述了應該如何選擇到自治系統之外目的地的路由。通常來講,第一類外部路由對應於OSPF從其它內部路由協議所引入的信息,這些路由的花費和OSPF自身路由的花費具備可比性;第二類外部路由對應於OSPF從外部路由協議所引入的信息,它們的花費遠大於OSPF自身的路由花費,於是在計算時,將只考慮外部的花費。spa
(二)、OSPF路由協議介紹優勢:
1、OSPF是真正的LOOP- FREE(無路由自環)路由協議。源自其算法自己的優勢。(鏈路狀態及最短路徑樹算法)
2、OSPF收斂速度快:可以在最短的時間內將路由變化傳遞到整個自治系統。
3、提出區域(area)劃分的概念,將自治系統劃分爲不一樣區域後,經過區域之間的對路由信息的摘要,大大減小了需傳遞的路由信息數量。也使得路由信息不會隨網絡規模的擴大而急劇膨脹。
4、將協議自身的開銷控制到最小。
1)用於發現和維護鄰居關係的是按期發送的是不含路由信息的hello報文,很是短小。包含路由信息的報文時是觸發更新的機制。(有路由變化時纔會發送)。但爲了加強協議的健壯性,每1800秒所有重發一次。
2)在廣播網絡中,使用組播地址(而非廣播)發送報文,減小對其它不運行ospf 的網絡設備的干擾。
3)在各種能夠多址訪問的網絡中(廣播,NBMA),經過選舉DR,使同網段的路由器之間的路由交換(同步)次數由 O(N*N)次減小爲 O (N)次。
4)提出STUB區域的概念,使得STUB區域內再也不傳播引入的ASE路由。
5)在ABR(區域邊界路由器)上支持路由聚合,進一步減小區域間的路由信息傳遞。
6)在點到點接口類型中,經過配置按需播號屬性(OSPF over On Demand Circuits),使得ospf再也不定時發送hello報文及按期更新路由信息。只在網絡拓撲真正變化時才發送更新信息。
5、經過嚴格劃分路由的級別(共分四極),提供更可信的路由選擇。
6、良好的安全性,ospf支持基於接口的明文及md5 驗證。
7、OSPF適應各類規模的網絡,最多可達數千臺。
2、EIGRP路由協議介紹
EIGRP和早期的IGRP協議都是由Cisco發明,是基於距離向量算法的動態路由協議。EIGRP(Enhanced Interior Gateway Routing Protocol)是加強版的IGRP協議。它屬於動態內部網關路由協議,仍然使用矢量-距離算法。但它的實現比IGRP已經有很大改進,其收斂特性和操做效率比IGRP有顯著的提升。EIGRP的收斂特性是基於DUAL ( Distributed Update Algorithm ) 算法的。DUAL 算法使得路徑在路由計算中根本不可能造成環路。它的收斂時間能夠與已存在的其餘任何路由協議相匹敵。EIGRP協議主要具備以下特色:
1. 精確的路由計算和多路由的支持
EIGRP協議繼承了IGRP協議的最大的優勢:矢量路由權。EIGRP協議在路由計算中要對網絡帶寬,網絡時延,信道佔用率,信道可信度等因素做全面的綜合考慮,因此EIGRP的路由計算更爲準確,更能反映網絡的實際狀況。同時EIGRP協議支持多路由,使路由器能夠按照不一樣的路徑進行負載分擔。
2. 較少的帶寬佔用
使用EIGRP協議的對等路由器之間週期性的發送很小的hello報文,以此來保證從前發送報文的有效性。路由的發送使用增量發送方法,即每次只發送發生變化的路由。發送的路由更新報文采用可靠傳輸,若是沒有收到確認信息則從新發送,直至確認。EIGRP還能夠對發送的EIGRP報文進行控制,減小EIGRP報文對接口帶寬的佔用率。