動態選路協定

動態選路協定

動態選路協定(Dynamic routing protocols)用於路由器間的通信,當相鄰路由器之間進行通信,以告知對方每個路由器當前所連線的網路,這時就出現了動態選路。動態選路協定主要包括RIPOSPFBGP協定。

中文名稱動態選路協定
英文名稱dynamic routing protocol;DRP
定  義通過網路中各路由器之間相互傳遞路由信息,利用收到的路由信息動態更新路由器表的協定。
套用學科通信科技(一級學科),通信協定(二級學科)

基本介紹

  • 中文名:動態選路協定
  • 外文名:Dynamic routing protocols
簡介,分類,按工作原理分,按工作範圍分,按路由更新時是否攜帶子網掩碼,RIP協定,概述,分類,工作原理,OSPF協定,概述,工作原理,BGP協定,概述,工作原理,

簡介

當相鄰路由器之間進行通信,以告知對方每個路由器當前所連線的網路,這時就出現了動態選路。路由器之間必須採用選路協定進行通信,這樣的選路協定有很多種。路由器上有一個進程稱為路由守護程式(routing daemon),它運行選路協定,並與其相鄰的一些路由器進行通信。路由守護程式根據它從相鄰路由器接收到的信息,更新核心中的路由表。
動態路由協定在協定棧中位置動態路由協定在協定棧中位置
動態選路並不改變核心在IP層的選路方式。這種選路方式稱為選路機制(routing mechanism)。核心搜尋路由表,查找主機路由、網路路由以及默認路由的方式並沒有改變。僅僅是放置到路由表中的信息改變了—當路由隨時間變化時,路由是由路由守護程式動態地增加或刪除,而不是來自於自引導程式檔案中的route命令。
正如前面所描述的那樣,路由守護程式將選路策略(routing policy)加入到系統中,選擇路由並加入到核心的路由表中。如果守護程式發現前往同一信宿存在多條路由,那么它(以某種方法)將選擇最佳路由並加入核心路由表中。如果路由守護程式發現一條鏈路已經斷開(可能是路由器崩潰或電話線路不好),它可以刪除受影響的路由或增加另一條路由以繞過該問題。
在像Internet這樣的系統中,目前採用了許多不同的選路協定。Internet是以一組自治系統(AS,Autonomous System)的方式組織的,每個自治系統通常由單個實體管理。常常將一個公司或大學校園定義為一個自治系統。NSFNET的Internet骨幹網形成一個自治系統,這是因為骨幹網中的所有路由器都在單個的管理控制之下。
每個自治系統可以選擇該自治系統中各個路由器之間的選路協定。這種協定我們稱之為內部網關協定IGP(Interior Gateway Protocol)或域內選路協定(intradomain routing protocol)。最常用的IGP是選路信息協定RIP。一種新的IGP是開放最短路徑優先OSPF(Open Shortest Path First)協定。它意在取代RIP。另一種1986年在原來NSFNET骨幹網上使用的較早的IGP協定—HELLO,現在已經不用了。
新的RFC[Almquist1993]規定,實現任何動態選路協定的路由器必須同時支持OSPF和RIP,還可以支持其他IGP協定。
外部網關協定EGP(ExterierGatewayProtocol)或域內選路協定的分隔選路協定用於不同自治系統之間的路由器。在歷史上,(令人容易混淆)改進的EGP有著一個與它名稱相同的協定:EGP。新EGP是當前在NSFNET骨幹網和一些連線到骨幹網的區域性網路上使用的是邊界網關協定BGP(BorderGatewayProtocol)。BGP意在取代EGP。

分類

動態路由協定可以按工作原理,工作範圍,是否攜帶掩碼來劃分。

按工作原理分

  • 距離矢量協定:路由器依賴自己相鄰的路由器學習路由。如RIP,EIGRP
  • 鏈路狀態協定:把路由器分成區域,收集區域內所有路由器的鏈路狀態生成網路拓撲圖,每個路由器根據拓撲結構計算出路由,如OSPF2.

按工作範圍分

  • IGP(InteriorGatewayProtocol):同一自治系統(使用相同路由協定的網路集合)內部交換路由信息,如OSPF
  • EGP(ExteriorGatewayProtocol):不同自治系統間交換路由信息,如BGP3.

按路由更新時是否攜帶子網掩碼

  • 有類路由協定:已被淘汰,如RIPv1,即宣告時不支持可變長子網掩碼,只使用默認的ABC三類IP的默認掩碼;
  • 無類路由協定:即宣告時支持可變長子網掩碼,現在都是無類路由協定。

RIP協定

概述

RIP協定比較簡單,容易實現,在網路拓撲比較穩定時,其工作特性比較理想。其缺點是,網路拓撲變化時,收斂較慢,可能出現路由不一致現象,從而引起數據包轉發混亂,另外鏈路度量方式比較簡單,不適宜在大規模的網路中運行。
報文格式報文格式
RIP只使用“跳數”來決定到達遠程網路的最佳方式,並規定源站和目的站之間經過的路由器最多為15個,如果路由器收到了路由更新信息,且把距離加1後等於16(意為無窮大),就認為該目的網路不可達。在小型網路中,RIP會運行良好, 但是對於使用慢速 WAN 連結的大型網路或者對於安裝有大量路由器的網路來說,它的效率很低。

分類

RIP協定分為RIPv1和RIPv2兩個版本,二者具有很多相同的功能。它們的區別在於:RIPv1是有類路由協定,該網路中的所有設備必須使用相同的子網掩碼,RIPv1不傳送帶有子網掩碼信息的更新數據,而RIPv2是無類路由協定,RIPv2在路由更新時攜帶子網信息;RIPv1不支持VLSM(VariableLengthSubnetMask,可變長子網掩碼)和CIDR(ClasslessInter-DomainRouting,無類別域間路由),而RIPv2支持VLSM和CIDR;RIPv1採用廣播更新,而RIPv2採用組播更新;RIPv1不提供認證,而RIPv2提供認證。

工作原理

RIP協定每30秒向相鄰路由器傳送一次路由更新信息,同時監聽來自網路中的相鄰路由器的路由更新信息,從而實現對本地路由表的動態維護,以確保IP層傳送數據時選擇正確的路由。針對路由表中某一條路由信息,如果180秒內沒有接收到新的關於它的路由更新信息,則將其標記為失效,即跳數值標記為16;再經過120秒後,如果仍然沒有收到更新信息,則將該條失效信息刪除。
RIP協定中對“距離”的定義為:從一個路由器到直接連線的網路的距離定義為1,從一個路由器到非直接連線的網路的距離定義為所經過的路由器數目加1。因此,這裡的“距離”也稱為“跳數”,因為每經過一個路由器,跳數就加1。
依據距離向量算法,當網路中的路由器收到相鄰路由器的一個RIP報文後,執行如下操作:
  • 先修改RIP報文中的所有條目,將“下一跳”欄位中的地址都改為發出該RIP報文的路由器的地址,並將所有的“距離”欄位的值加1。
  • 對修改後的RIP報文中的每一個條目,重複以下步驟:若條目中的目的網路不在路由表中,則將該條目添加到路由表中。否則,若“下一跳”欄位給出的路由器地址是相同的,則用收到的條目替換原路由表中的條目。否則,若收到的條目中的距離小於路由表中條目的距離,則進行更新。否則,什麼都不做。
  • 若超過3分鐘還沒有收到相鄰路由器更新路由表的信息,則將此相鄰路由器記為不可達的路由器,即將距離置為16(距離16表示不可達)。

OSPF協定

概述

現在Internet已套用于軍事,科技,教育,工農業等各個領域,發揮著越來越重要的作用,它標誌著資訊時代的興起。Internet的重要基礎是TCP/IP協定,該協定是計算機用於網路通信的標準,它是一個協定族,包含控制,傳輸,標識等各方面的子協定。
TCP/IP協定中,尋找一台計算機到另一台計算機的路由是很重要的,一方面,要判斷是否能找到路,~方面,找到路後找一條短的路(花費時間最小),再一方面,不能循環。最好還應該能動態處理路由變化,如:接口的uP和DOWN,時間花費的變網路結構的改變等。網路上的節點通常通過路由器與整個網路連續,需要知道到達網路的另一個節點的路由。當IP包要在網路上傳送時,需要進行IP選路。
IP選路(路由):IP可以從上層的TCP、UDP、ICMP和IGMP協定中接收數據報(即在本地生成的數據報)進行傳送,或者從一個網路接口接收數據報(待轉發的數據報)進行傳送。在傳送之前,IP層都要查詢在記憶體中的路由表來確定往那個網路接口傳送數據報文。每當數據報來自某個網路接口時,IP首先檢查目的IP位址是否為本機的IP位址之一或者IP廣播地址。如果確實是,數據報就被送到由IP首部協定欄位所指定的協定模組進行處理。如果數據報的目的不是這些地址,那么如果IP層被設定為路由器的功能,那么就對數據報進行轉發;否則數據報被丟棄。然後傳送ICMP報文給源主機通知目的地不可達,並且給出原因。

工作原理

OSPF協定的基本思路如下:在自治系統中每一台運行OSPF的路由器收集各自的接口、鄰接信息稱為鏈路狀態,通過Flooding算法在整個系統廣播自己的鏈路狀態,使得在整個系統內部維護一個同步的鏈路狀態資料庫,根據這一資料庫,路由器計算出以自己為根,其它網路節點為葉的一根最短的路徑樹,從而計算出自己到達系統內部各可達的最佳路由。它處理在一個自治系統中,路由器的網路的路由表信息。
OSPF路由協定是一種典型的鏈路狀態(Link—state)的路由協定,一般用於同一個路由域內。在這裡,路由域是指一個自治系統(Autonomous System),即AS,它是指一組通過統一的路由政策或路由協定互相交換路由信息的網路。在這個As中,所有的OSPF路由器都維護一個相同的描述這個As結構的資料庫,該資料庫中存放的是路由域中相應鏈路的狀態信息,OSPF路由器正是通過這個資料庫計算出其OSPF路由表的。
作為一種鏈路狀態的路由協定,OSPF將鏈路狀態廣播數據包LSA(LinkStateAdvertisement)傳送給在某一區域內的所有路由器,這一點與距離矢量路由協定不同。運行距離矢量路由協定的路由器是將部分或全部的路由表傳遞給與其相鄰的路由器。

BGP協定

概述

BGP(Border Gateway Protoc01)邊界網關協定是一種路由協定,用於交換網際網路自治域系統間的路由信息,其主要功能是在系統之間交換網路可達信息(NetworkLayerReachableInformation,簡稱NLRI)。隨著網路拓撲的日益複雜,多個自治域系統之間通信的要求越來越高,需要配置的策略越來越複雜,BGP協定已經成為網際網路路由體系的重要組成部分。國際和國內許多的網路和電信設備供應商已經實現和配置BGP協定,用於支撐網際網路運行,減少交換和路由設備的運行負荷。
BGP協定是一種路徑向量協定,在一定程度上綜合了距離向量和鏈路狀態算法的優點。BGP認為自治域內的路由選擇由IGP完成,並不對自治域內的路由作任何假設。BGP不需要所有自治域都運行同樣的內部路由協定,對底層的網路拓撲沒有任何限制,通過BGP的Update訊息交換的信息已經足夠建立一個自治域連線圖。有了自治域連線圖,就能夠消除路由環路,並在自治系統內套用路由策略。
BGP是一種不同自治系統的路由器之間進行通信的外部網關協定。BGP是ARPANET所使用的老EGP的取代品。RFC1267[Lougheed and Rekhter1991]對第3版的BGP進行了描述。RFC1268[Rekhter and Gross1991]描述了如何在Internet中使用BGP。下面對於BGP的大部分描述都來自於這兩個RFC文檔。同時,1993年開發第4版的BGP(見RFC1467[Topolcic1993])。

工作原理

BGP協定運行在TCP之上,使用TCP連線埠179作為它的傳輸連線埠。通過TCP建立可靠的傳輸機制,在BGP鄰居(對等體)之間交換信息。在BGP的對等體交換信息之前,BGP首先建立鄰居關係。BGP的對等體使用一個特殊的IP位址來配置,而不是動態發現BGP的鄰居。建立鄰居關係後,BGP使用周期的KeepAlive訊息來確認BGP鄰居的可訪問性。BGP訊息包括OPEN、UPDATE、NOTIFICATION和KEEPALIVE四種。
動態選路協定
  1. BGP處於Idle狀態,當收到bgpStart件,初始化所有BGP資源,初始化到對端的TCP接。當偵聽到遠端連線請求,轉到Connect狀態;
  2. Connect狀態下,若TCP連線成功,傳送EN訊息到對端,轉到OpenSent。如果TCP連線敗,轉到Active狀態;
  3. 在Active狀態,BGP初始化TCP連線建立居關係,若連線成功,傳送OPEN訊息,轉到enSent狀態。若連線逾時,到Connect狀態;
  4. 在OpenSent狀態,若收到BGP對等體發來確的OPEN訊息,傳送KEEPALIVE訊息,轉到enConfirm狀態。若收到不正確OPEN訊息,轉Idle狀態。若TCP連線斷開,轉到Active狀態;
  5. 在OpenConfirm狀態,若收到對端EPALIVE訊息,到Established狀態。若出現錯,傳送NOTIFICATION訊息,改變狀態到Idle;
  6. 在Established狀態,BGP和對等體之間交UPDATE、NOTIFICATION和KEEPALIVE訊息。出現錯誤,傳送NOTIFICATION訊息,轉到Idle。
BGP鄰居關係建立後開始交換完整的BGP由表,之後當路由有變化時傳送路由更新操作即UPDATE訊息。BGP不要求周期性地刷新路由,只有周期性的KEEPALIE信息在形成BGP鄰關係的路由器之間傳送,以保證BGP鄰居關係維持。如果在。路由信息交換的過程中發生錯誤,其中的一台路由器向鄰居傳送NOTIFICATION訊息指出錯誤的類型並關閉BGP連線。

相關詞條

熱門詞條

聯絡我們