專利名稱:基于ospf協(xié)議的支持多種服務質(zhì)量的方法
技術(shù)領(lǐng)域:
基于0SPF協(xié)議的支持多種服務質(zhì)量的方法屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及網(wǎng)絡層的路由 器轉(zhuǎn)發(fā)技術(shù)。
背景技術(shù):
為了實現(xiàn)網(wǎng)絡狀態(tài)信息的高速傳播和快速路由收斂,域內(nèi)通常采用基于鏈路狀態(tài)的協(xié)議, 如0SPF。但是OSPF在計算路由時一般只會考慮源和目的節(jié)點之間的跳數(shù),而不會根據(jù)諸如 鏈路帶寬、延遲、丟失率等度量來計算路徑。為了能在自治系統(tǒng)內(nèi)部支持用戶提出的服務質(zhì) 量需求,人們提出了 0SPF協(xié)議的QoS擴展QOSPF (Quality Of Service Path First),但它 支持的QoS度量僅限于可用帶寬和延遲兩種,同時由于QOSPF采用源路由和資源預留機制, 因此無法在面向無連接的網(wǎng)絡中大規(guī)模實施。SQOSPF協(xié)議支持諸如可用帶寬、延遲、丟失率、 花費等多種QoS度量,并且在計算路由時支持多種QoSR算法,可以根據(jù)當時網(wǎng)絡的鏈路狀態(tài) 動態(tài)地為IP分組選擇路徑,同時具有實現(xiàn)簡單的特點。
發(fā)明內(nèi)容
本發(fā)明的目的在于設計實現(xiàn)OSPF協(xié)議的QoS擴展QOSPF,包括根據(jù)計算得到的最優(yōu)路徑, 維護QoS路由表,并完成分組的轉(zhuǎn)發(fā)。
本發(fā)明所提出的方法的特征在于在簡化的OSPF協(xié)議的基礎(chǔ)上設計實現(xiàn),且只保留了 OSPF協(xié)議中的兩種消息Router LSA和External LSA。 SQ0SPF協(xié)議包只在域內(nèi)相鄰路由器 之間進行交互,路由器采用周期和觸發(fā)相結(jié)合的方式向相鄰路由器發(fā)送協(xié)議包。SQOSPF周期 性的獲得本地路由器各個網(wǎng)絡接口所連鏈路的QoS度量,然后封裝在Router LSA中和其它相 鄰域內(nèi)路由器進行交互。通過交互Router LSA,每臺路由器維護全域的網(wǎng)絡狀態(tài)信息(包括 網(wǎng)絡拓撲結(jié)構(gòu)和域內(nèi)每臺路由器所有接口所連鏈路的雙向QoS度量),然后采用預計算算法計 算出本路由器到域內(nèi)網(wǎng)絡地址前綴的最優(yōu)路徑;同時根據(jù)收到的由邊界路由器產(chǎn)生的 External LSA,綜合本路由器到邊界路由器的最優(yōu)路徑,計算出到其它域網(wǎng)絡地址前綴的最 優(yōu)路徑。SQOSPF根據(jù)計算得到的最優(yōu)路徑,維護QoS路由表。當攜帶有QoS需求的IP分組 到達路由器后,根據(jù)分組的目的地址和QoS需求在路由表中査找相應路由,從而完成對分組 的轉(zhuǎn)發(fā)。
該方法依次含有以下步驟
歩驟(1) SQOSPF周期性的獲得本地路由器各個網(wǎng)絡接口所連鏈路的QoS度量,然后更
新本地所維護的域內(nèi)路由器詳細信息表中本地路由器的信息。在更新過程中,如果發(fā)現(xiàn)至少 有一條本地鏈路的至少一種QoS度量的相對變化量超過了更新閾值或本地鏈路發(fā)生了斷開或
恢復的情況,依次執(zhí)行以下步驟
歩驟(1.1)向相鄰的域內(nèi)路由器廣播表示此時本地鏈路信息的Router LSA; 歩驟(1.2)觸發(fā)本地域內(nèi)路由的重計算;
歩驟(2)當SQOSPF收到相鄰的本域路由器發(fā)送來的LSA時,會根據(jù)LSA的類型轉(zhuǎn)入不 同的處理過程,當收到的為Router LSA時,執(zhí)行步驟(2. 1),當收到的為External LSA時, 執(zhí)行步驟(2.2);
步驟(2.1)根據(jù)LSA的序列號判斷此LSA是否過時,若過時,則轉(zhuǎn)歩驟(2.1.1),若不 過時,則轉(zhuǎn)歩驟(2. 1.2);
步驟(2.1.1)直接丟棄不作處理;
歩驟(2.1.2)向相鄰的域內(nèi)路由器廣播此LSA,同時根據(jù)LSA中的鏈路信息更新本地所
維護的域內(nèi)路由器詳細信息;
歩驟(2.2)根據(jù)LSA的序列號判斷此LSA是否過時,過時,則轉(zhuǎn)步驟(2.2.1),若不過 時,則轉(zhuǎn)步驟(2.2.2);
步驟(2.2.1)直接丟棄不作處理;
歩驟(2.2.2)根據(jù)LSA攜帶的路徑信息及本地路由器到產(chǎn)生此LSA的邊界路由器的路由 信息,來計算本地路由器到域外目的網(wǎng)絡地址前綴的最優(yōu)路由,并將路由更新到域內(nèi)路由表 中;
歩驟(3)當SQOSPF收到路由管理重分配來的域間路由(本路由器到其它域網(wǎng)絡地址前 綴帶有QoS度量的路徑信息)時,依次執(zhí)行以下步驟 步驟(3.1)將此路由更新到域內(nèi)路由表中;
歩驟(3.2)向相鄰的域內(nèi)路由器廣播由重分配來的域間路由組成的External LSA,如 果一個LSA中裝不下到同一目的前綴的所有路徑信息,則直接丟棄溢出的信息。;
本發(fā)明測試環(huán)境由五臺QoSR路由器原型(R1到R5)、 一臺流媒體服務器(Server)、五 臺流媒體接收客戶端(Clientl到Client5)和我們自己開發(fā)的測試儀(Tester)、測試服務 器(Tester Server)組成,所有網(wǎng)絡接口均采用Intel 82559百兆以太網(wǎng)卡,為了模擬出網(wǎng) 絡資源不足的情況,作者通過軟件進行流控,保證每個網(wǎng)卡在全雙工工作模式下單向流速限 制在10Mbps。通過本測試環(huán)境實現(xiàn)了 0SPF協(xié)議的QoS擴展。
圖1、 Router LSA分組格式; 圖2、 External LSA分組格式;
圖3.特殊的External LSA; 圖4.與路由管理模塊通信示意圖; 圖5.實驗部署環(huán)境示意圖6.基于0SPF協(xié)議的支持多種服務質(zhì)量的方法的流程示意圖。
具體實施例方式
本地鏈路狀態(tài)發(fā)生變化SQOSPF周期性的獲得本地路由器各個網(wǎng)絡接口所連鏈路的QoS 度量,然后更新本地所維護的域內(nèi)路由器詳細信息表中本地路由器的信息。在更新過程中, 如果發(fā)現(xiàn)至少有一條本地鏈路的至少一種QoS度量的相對變化量超過了更新閾值或本地鏈路 發(fā)生了斷開或恢復的情況,就會向相鄰的域內(nèi)路由器廣播表示此時本地鏈路信息的Router LSA,同時觸發(fā)本地域內(nèi)路由的重計算。
收到相鄰的本域路由器發(fā)送來的LSA:當SQ0SPF收到相鄰的本域路由器發(fā)送來的LSA時, 會根據(jù)LSA的類型轉(zhuǎn)入以下不同的處理過程。
當收到的為Router LSA時,首先根據(jù)LSA的序列號判斷此LSA是否過時如果過時,直 接丟棄不作處理;否則向相鄰的域內(nèi)路由器廣播此LSA,同時根據(jù)LSA中的鏈路信息更新本 地所維護的域內(nèi)路由器詳細信息。在更新過程中如果發(fā)現(xiàn)LSA中攜帶的鏈路信息滿足下面三 個條件之一并且路由保持時間己到,則會觸發(fā)域內(nèi)路由的重計算1)產(chǎn)生此LSA的路由器為 新加入自治域的路由器;2) LSA中含有鏈路增刪信息;3)至少有一條鏈路的至少一種QoS 度量的相對變化量超過了更新閾值。
當收到的為External LSA時,首先根據(jù)LSA的序列號判斷此LSA是否過時如果過時, 直接丟棄不作處理;否則向相鄰的域內(nèi)路由器廣播此LSA,同時根據(jù)LSA攜帶的路徑信息及 本地路由器到產(chǎn)生此LSA的邊界路由器的路由信息,來計算本地路由器到域外目的網(wǎng)絡地址 前綴的最優(yōu)路由,并將路由更新到域內(nèi)路由表中。
收到路由管理重分配的域間路由這種情況只會發(fā)生在配置有域間路由協(xié)議的邊界路由 器上。當SQOSPF收到路由管理重分配來的域間路由(本路由器到其它域網(wǎng)絡地址前綴帶有 QoS度量的路徑信息)時,將此路由更新到域內(nèi)路由表中,同時向相鄰的域內(nèi)路由器廣播由 重分配來的域間路由組成的External LSA。由于IP分組長度的限制, 一次可能會產(chǎn)生多個 External LSA,要注意將具有相同目的網(wǎng)絡地址前綴的最優(yōu)路徑信息封裝在同一個External LSA中。如果一個LSA中裝不下到同一目的前綴的所有路徑信息,則直接丟棄溢出的信息。
當域間路由協(xié)議發(fā)現(xiàn)本邊界路由器無法到達其它域的某一網(wǎng)絡地址前綴時,會通過路由 管理通知SQOSPF刪除到此網(wǎng)絡地址前綴的所有路由。然后SQOSPF會通過一種特殊的External LSA,通知域內(nèi)的所有路由器刪除到此網(wǎng)絡地址前綴的所有路由。
圖2的報文格式如下所述
Type: 8位,表示協(xié)議包的類型和協(xié)議包中攜帶的鏈路信息的服務類型。 # of Link: 8位,Router LSA中所攜帶的鏈路信息的個數(shù)。
QoSMap: 8位,標識Router LSA中鏈路信息的QoS度量的類型。每一位對應于一種QoS 度量。如果此位為l,表示PVA的路徑信息中攜帶此QoS度量;如果此位為0,不攜帶此QoS 度量,所以一共可在每條路徑信息中攜帶8種QoS度量。目前的實現(xiàn)使用低四位,從右面開 始的4位分別對應可用帶寬、延遲、花費和丟失率,高4位均置為0。
Advertising Router: 32位,表示產(chǎn)生此LSA的路由器的ID,通常取路由器所有接口地 址的最小值作為此ID。
Sequence Number: 32位無符號整數(shù),Router LSA的序列號,用來檢測過時的Router LSA。 Link Address: 32位,鏈路所連接的路由器網(wǎng)絡接口的IP地址。 Network Mask: 32位,此網(wǎng)絡接口的子網(wǎng)掩碼。
QoS Mtr. n:每種QoS度量用8位來表示。定義常數(shù)MAX_MTR—NUMBER,這8位表示的數(shù) 值中,
表示QoS度量,具體的編碼方式見下文。(MAX—REQ_NUMBER, 255) 保留為系統(tǒng)使用。
每種QoS度量的編碼方式
可用帶寬單位為KB,取值范圍[l, le6/8],取10§1力5。
1 一
延遲單位為ms,取值范圍[O, 100Xl0e3],取丄u&o5 。 花費取值范圍[O, 100Xl0e3],取10§1.05。 丟失率取值范圍[O, 100%],取百分數(shù)的數(shù)值。
External LSA由域邊界路由器產(chǎn)生,負責將域邊界路由器到其它域某一網(wǎng)絡地址前綴的 路由廣播給域內(nèi)路由器。其格式如圖2所示。External LSA的頭部比Router LSA多出了 Destination Address/Network Mask信息,用來表示目的網(wǎng)絡地址前綴。頭部后面的為路徑 信息而非鏈路信息,其中包含每條路徑的QoS度量。由于到達同一目的網(wǎng)絡地址前綴可能有 多條最優(yōu)路徑,因此在一個External LSA中會攜帶多條最優(yōu)路徑信息。圖3表示的為一種特 殊的External LSA,其中不包含有路徑信息,用來通知路由器刪除域內(nèi)路由表中所有到達它 表示的網(wǎng)絡地址前綴的路由。
權(quán)利要求
1.基于開放最短路徑優(yōu)先協(xié)議的支持多種服務質(zhì)量的方法,其特征在于,該方法依次含有以下步驟步驟(1)本地路由器根據(jù)簡單服務質(zhì)量路由優(yōu)先協(xié)議周期性的獲得與自己相鄰的路由器發(fā)來的本地路由器各個網(wǎng)絡接口所連鏈路的服務質(zhì)量度量QoS,然后更新本地路由器信息。在更新過程中,如果發(fā)現(xiàn)至少有一條本地鏈路的至少一種QoS度量的相對變化量超過了預先定義的值或本地鏈路發(fā)生了斷開或恢復的情況,就會向相鄰的域內(nèi)路由器廣播表示此時本地鏈路信息的Router LSA,同時觸發(fā)本地域內(nèi)路由的重計算,所述的服務質(zhì)量度量Qos至少包含可用帶寬,延遲,丟失率以及花費,所述Router LSA至少包含類型Type,本地鏈路信息Router LSA的個數(shù),QoS映射QoS Map,產(chǎn)生路由鏈路狀態(tài)廣告LSA的路由器的IP用Advertising Router表示,序列號Sequence Number,鏈路所連接的路由器網(wǎng)絡接口的IP地址Link Address,網(wǎng)絡接口的子網(wǎng)掩碼Network Mask,服務質(zhì)量度量QoS Mtr.n;步驟(2)當所述SQOSPF收到相鄰的本域路由器發(fā)送來鏈路狀態(tài)廣告LSA,若判斷為RouterLSA時,執(zhí)行步驟(2.1),若為擴展的鏈路狀態(tài)廣告External LSA時,轉(zhuǎn)入步驟(2.2);步驟(2.1)根據(jù)鏈路狀態(tài)廣告Router LSA到達時間序列號是否早于設定的判斷序列號判斷該廣告是否過時,若過時,則丟棄,否則,向相鄰的域內(nèi)路由器廣播此鏈路狀態(tài)廣告LSA,并同時根據(jù)該廣告中的鏈路信息更新本地所維護的域內(nèi)路由器的對應信息;步驟(2.2)根據(jù)擴展的鏈路狀態(tài)廣告Extenal LSA的到達時間序列號是否早于設定的判斷序列號來判斷該廣告是否過時,若過時,則丟棄,否則,根據(jù)擴展鏈路狀態(tài)廣告Extenal LSA攜帶的路徑信息及本地路由器到發(fā)來該廣告的邊界路由器的路由信息,用Dijkstra算法來計算本地路由器到域外目的網(wǎng)絡地址前綴的最優(yōu)路由,并把計算得到的最優(yōu)路由更新到本地路由器的域內(nèi)路由表中;步驟(3)當本地路由器根據(jù)簡單服務質(zhì)量路徑優(yōu)先協(xié)議收到路由管理重分配來的從本地路由器到其他域網(wǎng)絡地址前綴的帶有服務質(zhì)量度量QoS的路徑信息時,依次執(zhí)行以下步驟步驟(3.1)把此路由更新到本地路由器的域內(nèi)路由表中;步驟(3.2)向相鄰的域內(nèi)路由器廣播由重分配來的域間路由組成的擴展的鏈路廣告External LSA,若一個該廣告中裝不下到同一目的前綴的所有路徑信息,則直接丟棄溢出的信息。
2. 根據(jù)權(quán)利要求1所述基于開放最短路徑優(yōu)先協(xié)議的支持多種服務質(zhì)量的方法,其特征 在于,在所述的步驟(2. l)中,在更新過程中,如果發(fā)現(xiàn)該Router LSA中攜帶的鏈路信息滿 足下面三個條件之一,并且路由保持時間已到,則觸發(fā)域內(nèi)路由的重計算(1) 產(chǎn)生此LSA的路由器為新加入自治域的路由器;(2) LSA中含有鏈路增刪信息;(3) 至少有一條鏈路的至少一種QoS度量的相對變化量超過了預先定義的值。
全文摘要
本發(fā)明屬于互聯(lián)網(wǎng)網(wǎng)絡層的路由器轉(zhuǎn)發(fā)技術(shù),其特征在于,根據(jù)路由鏈路狀態(tài)廣告和擴展到域外的路由鏈路狀態(tài)廣告并基于周期和觸發(fā)相結(jié)合的方式向相鄰路由器發(fā)送簡單服務質(zhì)量路由優(yōu)先協(xié)議包,通過交互路由鏈路狀態(tài)廣告LSA,使每臺路由器都維護包括網(wǎng)絡拓撲結(jié)構(gòu)和域內(nèi)每臺路由器所有接口所連鏈路的雙向服務質(zhì)量度量Qos,由此計算出本地路由器到域內(nèi)網(wǎng)絡地址的最優(yōu)路徑同時根據(jù)邊界路由器產(chǎn)生的擴展路由鏈路狀態(tài)廣告,結(jié)合本地路由器到邊界路由器的最優(yōu)路徑計算到網(wǎng)絡地址前綴的最優(yōu)路徑,并維護服務質(zhì)量路由路由表。本發(fā)明據(jù)此實現(xiàn)了開放最短路徑優(yōu)先的服務質(zhì)量的擴展。
文檔編號H04L29/06GK101110765SQ20071009996
公開日2008年1月23日 申請日期2007年6月1日 優(yōu)先權(quán)日2007年6月1日
發(fā)明者周云濤, 勇 崔, 濤 桂 申請人:清華大學