動態路由協議
動態路由協議
動態路由協議通過路由信息的交換生成並維護轉發引擎所需的路由表。當網路拓撲結構改變時動態路由協議可以自動更新路由表,並負責決定數據傳輸最佳路徑。
在動態路由中,管理員不再需要與靜態路由一樣,手工對路由器上的路由表進行維護,而是在每台路由器上運行一個路由協議。這個路由協議會根據路由器上的介面的配置(如IP地址的配置)及所連接的鏈路的狀態,生成路由表中的路由表項。
以下是其管理距離:RIP120 IGRP100 EIGRP90 EIGRP匯總路由—5;外部EIGRP---170;OSPF110 BGP200(從IBGP鄰居收到的路由)外部BGP—20(從EBGP鄰居收到的路由)IS-IS150未知255
動態路由協議的作用主要有以下三點:
(1)維護路由信息。
(2)建立路由表。
(3)決定最佳路由。
動態路由協議的優點:
(1)可以自動適應網路狀態的變化。
(2)自動維護路由信息而不需要網路管理員的參與。
動態路由協議的缺點:
(1)由於需要相互交換路由信息,因而佔用網路帶寬與系統資源。
(2)安全性不如靜態路由。
在有冗餘連接的複雜網路環境中,適合採用動態路由協議。在動態路由協議中,目的網路是否可達取決於網路狀態。
所有的動態路由協議在TCP/IP協議棧中都屬於應用層的協議。但是不同的路由協議使用的底層協議不同。
OSPF將協議報文直接封裝在IP報文中,協議號89,由於IP協議本身是不可靠傳輸協議,所以OSPF傳輸的可靠性需要協議本身來保證。
BGP使用TCP作為傳輸協議,提高了協議的可靠性,TCP的埠號是179。
RIP使用UDP作為傳輸協議,埠號520。
動態路由協議按定址演演算法的不同,可以分為距離矢量路由協議和鏈路狀態路由協議。
距離矢量路由協議
採用距離矢量(Distance-Vector,DV)演演算法,是相鄰的路由器之間互相交換整個路由表,並進行矢量的疊加,最後學習到整個路由表。
距離矢量演演算法具有以下特點:
(1)路由器之間周期性的交換路由表。
(2)交換的是整張路由表的內容。
(3)每個路由器和它直連的鄰居之間交換路由表。
(4)網路拓撲發生了變化之後,路由器之間會通過定期交換更新包來獲得網路的變化信息。
距離矢量路由協議的缺陷:
(1)metric的可信度。因為距離僅僅表示的是跳數,對路由器之間鏈路的帶寬,延遲等無考慮。這會導致數據包的傳送會走在一個看起來跳數小但實際帶寬窄和延時大的鏈路上。
(2)交換路由信息的方式,即路由器交換信息是通過定期廣播整個路由表所能到達的適用網路號碼。但在稍大一點的網路中,路由器之間交換的路由表會很大,而且很難維護,導致收斂很緩慢。
距離矢量路由協議有RIP、BGP等。
鏈路狀態路由協議
採用鏈路狀態(Link State,LS)演演算法。
鏈路狀態是一個層次式的,執行該演演算法的路由器不是簡單地從相鄰的路由器學習路由,而是把路由器分成區域,收集區域內所有路由器的鏈路狀態信息,根據鏈路狀態信息生成網路拓撲結構,每一個路由器再根據拓撲結構圖計算出路由。
鏈路狀態路由協議有OSPF、IS-IS等。
大的ISP的網路可能含有上千台路由器,而小的提供商通常只有十幾台路由器。每個ISP管理的自己的內部網路,一般稱為一個管理域,它和其他ISP的連通稱為域間連接。因此,Internet又可以看成是由一個個域互連而成。
由於將網路分割為一個個管理域(AS),則根據協議適用的範圍,產生了相應的兩種路由協議,分別是域內路由協議和域間路由協議。
域內路由協議(Interior Gateway Protocol,IGP)
域內路由協議是負責一個路由域(在一個管理域內運行同一種路由協議的域,稱為一個路由域)內路由的路由協議。
域內路由協議的作用是確保在一個域內的每個路由器均遵循相同的方式表示路由信息,並且遵循相同的發布和處理信息的規則,主要用於發現和計算路由。
域內路由協議有:RIP、OSPF、IS-IS等。
域間路由協議(Exterior Gateway Protocol,EGP)
域間路由協議負責在自治系統之間或域間完成路由和可到達信息的交互,主要用於傳遞路由。
域間路由協議有:EGP、BGP。
EGP協議,主要是早期的EGP協議(此處的EGP是外部網關協議的一種,兩者不能混淆)其效率太低,僅被作為一種標準的外部網關協議,沒有被廣泛使用。而BGP協議特別是BGP-4,由於能處理聚合(採用CIDR無類域間路由技術)和超網(supernet)的功能,為網際網路提供可控制的無循環拓撲,因此在網際網路上被大量使用。
Internet中的IP數據包一般是點到點的應用,但也有某些情況是點到多點的應用,如音頻/視頻會議(多媒體會議),某些信息(如股票)的實時數據傳送,網路遊戲和模擬等,我們分別稱這兩種IP數據包的路由為單播路由和組播路由。
單播路由和組播路由在傳送IP數據包時使用的路由轉發表的結構是不同的,並且使用的IP數據包中的信息也是不同的(不詳細介紹),由此分出兩種路由協議,分別是單播路由協議和組播路由協議。
單播路由協議
單播路由協議是生成和維護單播路由表的協議。
單播路由協議有RIP、OSPF、IS-IS、IGRP、BGP等。
組播路由協議是生成和維護組播路由表的協議。
組播路由協議有DVMRP、PIM-SM、PIM-DM、MOSPF、MBGP等。
衡量動態路由協議的性能指標有:
(1)正確性:能正確找到最優路徑,且無路由自環。
(2)快速收斂:當拓撲結構發生變化時,能夠迅速在自治系統中做相應的路由改變。
現有路由協議的性能比較
(4)安全性:協議自身不易受到攻擊。
(5)普適性:適應各種拓撲結構和網路規模。
現有動態路由協議的性能比較,如圖所示。
根據是否在一個自治域內部使用,動態路由協議分為內部網關協議(IGP)和外部網關協議(EGP)。這裡的自治域指一個具有統一管理機構、統一路由策略的網路。自治域內部採用的路由選擇協議稱為內部網關協議,常用的有RIP、OSPF;外部網關協議主要用於多個自治域之間的路由選擇,常用的是BGP和BGP-4。下面分別進行簡要介紹。
RIP路由協議
RIP協議最初是為Xerox網路系統的Xerox parc通用協議而設計的,是Internet中常用的路由協議。RIP採用距離向量演演算法,即路由器根據距離選擇路由,所以也稱為距離向量協議。路由器收集所有可到達目的地的不同路徑,並且保存有關到達每個目的地的最少站點數的路徑信息,除到達目的地的最佳路徑外,任何其它信息均予以丟棄。同時路由器也把所收集的路由信息用RIP協議通知相鄰的其它路由器。這樣,正確的路由信息逐漸擴散到了全網。RIP使用非常廣泛,它簡單、可靠,便於配置。但是RIP只適用於小型的同構網路,因為它允許的最大站點數為15,任何超過15個站點的目的地均被標記為不可達。而且RIP每隔30s一次的路由信息廣播也是造成網路的廣播風暴的重要原因之一。
OSPF路由協議
80年代中期,RIP已不能適應大規模異構網路的互連,0SPF隨之產生。它是網間工程任務組織(IETF)的內部網關協議工作組為IP網路而開發的一種路由協議。OSPF是一種基於鏈路狀態的路由協議,需要每個路由器向其同一管理域的所有其它路由器發送鏈路狀態廣播信息。在OSPF的鏈路狀態廣播中包括所有介面信息、所有的量度和其它一些變數。利用OSPF的路由器首先必須收集有關的鏈路狀態信息,並根據一定的演演算法計算出到每個節點的最短路徑。而基於距離向量的路由協議僅向其鄰接路由器發送有關路由更新信息。與RIP不同,OSPF將一個自治域再劃分為區,相應地即有兩種類型的路由選擇方式:當源和目的地在同一區時,採用區內路由選擇;當源和目的地在不同區時,則採用區間路由選擇。這就大大減少了網路開銷,並增加了網路的穩定性。當一個區內的路由器出了故障時並不影響自治域內其它區路由器的正常工作,這也給網路的管理、維護帶來方便。
IS-IS
IS-IS是中間系統到中間系統的路由選擇協議,是由國際標準化組織(ISO)提出的一種路由選擇協議。ISIS協議主要用於城域網和承載網。
一個路由器是Intermediate System(IS),一個主機就是End System(ES)。主機和路由器之間運行的協議稱為ES-IS,路由器與路由器之間運行的協議稱為IS-IS。
IS-IS是一種鏈路狀態協議,實際上與TCP/IP網路中的OSPF協議非常相似,它也使用Hello報文尋找毗鄰節點,使用一個傳播協議發送鏈接信息。
一個非技術問題是IS-IS受OSI約束,使得以前與OSPF相比它的發展比較緩慢。但IS-IS在RFC方面(Integrated)得到了很多的擴展,使得它可以比OSPF更容易、更簡單地實現對新要求的支持,如IPv6、TE等。
BGP和BGP4
BGP是為TCP/IP網際網路設計的外部網關協議,用於多個自治域之間。它既不是基於純粹的鏈路狀態演演算法,也不是基於純粹的距離向量演演算法。它的主要功能是與其它自治域的BGP交換網路可達信息。各個自治域可以運行不同的內部網關協議。BGP更新信息包括網路號/自治域路徑的成對信息。自治域路徑包括到達某個特定網路須經過的自治域串,這些更新信息通過TCP傳送出去,以保證傳輸的可靠性。為了滿足Internet日益擴大的需要,BGP還在不斷地發展。在最新的BGp4中,還可以將相似路由合併為一條路由。
表項的優先問題
在一個路由器中,可同時配置靜態路由和一種或多種動態路由。它們各自維護的路由表都提供給轉發程序,但這些路由表的表項間可能會發生衝突。這種衝突可通過配置各路由表的優先順序來解決。通常靜態路由具有默認的最高優先順序,當其它路由表表項與它矛盾時,均按靜態路由轉發。
路由協議(Routing Protocol):用於路由器動態尋路由協議
找網路最佳路徑,保證所有路由器擁有相同的路由表,一般路由協議決定數據包在網路上的行走路徑。這類協議的例子有OSPF,RIP等路由協議,通過提供共享路由選擇信息的機制來支持被動路由協議。路由選擇協議消息在路由器之間傳送。路由選擇協議允許路由器與其他路由器通信來修改和維護路由選擇表。典型的路由選擇方式有兩種:靜態路由和動態路由。
是在路由器中設置的固定的路由表。除非網路管理員干預,否則靜態路由不會發生變化。由於靜態路由不能對網路的改變作出反映,一般用於網路規模不大、拓撲結構固定的網路中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路由優先順序最高。當動態路由與靜態路由發生衝突時,以靜態路由為準。
是網路中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應網路結構的變化。如果路由更新信息表明發生了網路變化,路由選擇軟體就會重新計算路由,併發出新的路由更新信息。這些信息通過各個網路,引起各路由器重新啟動其路由演演算法,並更新各自的路由表以動態地反映網路拓撲變化。動態路由適用於網路規模大、網路拓撲複雜的網路。當然,各種動態路由協議會不同程度地佔用網路帶寬和CPU資源。
靜態路由和動態路由有各自的特點和適用範圍,因此在網路中動態路由通常作為靜態路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態路由,如果查到則根據相應的靜態路由轉發分組;否則再查找動態路由。