淺析三層乙太網交換機中對於RSVP的構建和功能實現,在向大家詳細介紹三層乙太網交換機之前,首先讓大家了解下RSVP的基礎知識,很多人對RSVP這個詞還不熟悉,在文章中,會給你滿意答覆的。
第三層乙太網交換機中RSVP的設計和實現關鍵詞:資源預留機制,以大網交換機,RSVP軟體設計本文研究了資源預留機制(RSVP)的基本原理和操作過程,根據參與設計的第三層乙太網交換機現有的軟硬體條件,提出了在第三層乙太網交換機中RSVP軟體設計和實現的方案。
為解決傳統路由器產生的網絡瓶頸,滿足用戶帶寬的要求,推動了千兆位交換路由器的發展。但千兆位的速率並不能完全解決擁塞問題,服務質量(QOS)還得不到完全保證,因為Internet是基於TCP/IP協議,在通信子網中對數據進行「盡力傳送」,不提供任何服務質量保證。
為實現各種應用,網際網路工程任務組(IETF)提出了基於IP的綜合業務結構,通過資源預留機制(RSVP)在數據流經過的所有結點上建立端到端的資源預留,從而為不同的用戶提供不同的服務質量保證。
為實現QoS,本文根據現有的軟硬體條件,包括第三層乙太網交換機和其上運行的實時作業系統 RTXC及其它應用軟體,提出了在該交換機上RSVP軟體設計和實現的方案。 一、RSVP的基本原理 RSVP是基於IP協議的資源預留協議。
用戶通過RSVP協議向網絡請求滿足特殊服務質量要求的緩存和帶寬;中間結點利用RSVP協議在數據傳輸通路上建立起資源預留並維護該通路,以實現相應的服務質量。RSVP的實現與數據包分類機制,準入控制機制和轉發機制密不可分,並由2條通路——控制通路和數據通路完成QoS保證。
控制通路實現資源預留通路的建立,維護和釋放,是一種信令,在後臺實現;而數據通路實現數據的傳輸。 1.控制通路 在控制通路中,有2個基本的消息:PATH和RESV來建立資源預留的通路。
資源預留通路建立過程如下: Step1:源應用程式通過應用程式接口將用戶的業務特徵和期望的服務質量要求送到RSVP進程,RSVP進程根據要求形成PATH消息送到下一跳; Step2:中間結點的RSVP進程收到PATH消息,建立PATH軟狀態,保存該業務的參數和前一跳的地址,並收集該結點可用資源的信息,形成新的PATH消息轉發至下一跳;
目的主機的RSVP進程收到PATH消息通過RSVP應用程式接口送到目的應用程式,該應用程式根據收到的業務特徵和可用資源參數形成RESV消息,該消息包括服務質量參數和滿足該參數的三層乙太網交換機業務特徵。
然後將該消息按保存的前一跳地址原路返回; Step4:中間結點的RSVP進程收到RESV消息,建立RESV軟狀態,包括設置包分類器和包轉發器的參數,並將該消息按保存的前一跳地址轉發; Step5:源主機RSVP進程收到RESV消息通過應用程式接口送到相應的應用程式; Step6:到Step5已建立了資源預留的通路。
為適應路由、QOS要求等的變化,RSVP 定期地發送刷新消息,包括PATH和RESV刷新消息。 2.數據通路 數據通路是真正用來傳送用戶數據的,數據的傳送是沿著控制通路建立的資源預留鏈路實現的。
當某個具有RSVP的結點收到數據包,將數據包分類,按照RSVP控制通路建立資源預留時的數據流分類標準將該數據包送到相應的輸出隊列中,並由轉發機制按一定的優先級算法轉發出去。在數據通路中通常要監控收到的數據流,確定其是否符合預先定義的業務標準。
若是受控載荷業務則將不符合的數據包通過盡力傳送轉發,若是保證業務則對該業務重新整型使之符合預先定義的業務特徵。 二、 RSVP軟體的設計 與傳輸通路相對應,RSVP的軟體實現有2個平面:控制平面和數據平面。
控制平面負責不同數據流資源預留的建立、維護和刪除;而數據平面實現數據的傳輸。在主機中實現RSVP在文獻已有論述,本文根據現有的軟硬體條件,提出了第三層乙太網交換機中RSVP 軟體實現的總體框架。
為了便於在不同鍵路層上實現資源預留,控制平面設計成2個層次:與鏈路層無關的核心層和依賴於數據鏈路的適配層。核心層由RSVP消息處理模塊實現,負責資源預留消息的處理和狀態的管理。
適配層則由資源管理模塊和業務控制模塊實現,資源管理模塊對可用的緩存和帶寬籌資源進行管理,為業務控制模塊提供可用資源信息;而業務控制模塊則主要負責難人控制和為每個數據流分配帶寬和緩存。路由處理模塊進行路由管理,為數據包轉發提供適當的路由。
根據需要可以由網絡配置和管理模塊對RS VP消息模塊、資源管理模塊和業務控制模塊進行配置和管理。 1.網絡驅動程序的擴展 在交換機的轉發控制器中,輸入隊列管理器(IQM)支持256個輸出埠,每個埠有4個優先級隊列。
在輸出隊列管理器(EQM)中可以有3種排隊轉發方法(SPQ、WPO和 WFQ)對數據進行轉發,但是這種分類方法是基於類的,即根據IP頭中的TOS來分類,而 RSVP的實現必須以按數據流來分類。
另外,RTXC提供的網絡驅動程序,不支持優先級轉發,所以本文提出了對乙太網網絡驅動程序進行擴展的方法使之實現流的優先級轉發。在每個輸出埠中建立3個隊列Q1、Q2和Q3,分別支持3類業務:保證業務、受控載荷業務和盡力傳送業務,傳輸優先級大小為Q1>Q2>Q3。
保證業務在隊列Q1中,受控載荷業務中符合預先定義的業務標準部分送到Q2隊列中,不符合的則將之作為盡力傳送業務由Q3進行轉發。這3個隊列與轉發控制瑞口中3個優先級隊列相對應,將Q1、Q2和Q3隊列的輸出通過控制管理接口映射到轉發控制器輸出隊列中,並由輸出隊列管理器(EQM)對之進行管理。
資源管理模塊為每個隊列分配一定的資源,只要該隊列中有足夠的資源並為某數據流分配了資源,該數據流的服務質量就可得到保證。 2.資源管理模塊 資源管理模塊負責緩存和帶寬的動態管理。
為實現帶寬的管理,本文提出了利用資源管理模塊來監視每個輸出隊列的資源使用情況。每個隊列包括3個參數:最小帶寬、最大帶寬和當前使用帶寬。最小和最大帶寬由網絡配置和管理模塊在系統初始化配置階段設定,反映在每個輸出埠中所希望的3類業務各自的帶寬。
若將受控載荷業務和保證業務的最大帶寬設置為0,則表示不能提供這2類業務而只能提供盡力傳送業務。在第三層乙太網交換機中提供256個輸出埠,在網絡配量時可以為每個埠進行這樣的配置。
為了更高效地利用網絡的帶寬,在配置時將總的帶寬分為兩部分:公共帶寬和各隊列私有帶寬。最小帶寬就是隊列的私有帶寬,而最大帶寬是私有帶寬與公共帶寬的和。各隊列先使用本隊列的帶寬,若該隊列耗淨了私有帶寬則可以使用公共帶寬直到公共帶寬也用完。
在該設計中使用的緩存管理方法與帶寬管理類似。 3.業務控制模塊 業務控制模塊是實現RSVP的一個關鍵的功能單元,主要負責建立數據流分類資料庫,實現準人控制並為每個數據流分配綴存和帶寬。
當要建立或刪除數據流資源預留,或因預困狀態的變化,需為該數據流重新分配級存和帶寬時,RSVP消息處理模塊與業務控制模塊通信,發出相應的命令。業務控制模塊接收到命令及有關參數後。
通過資源管理模塊獲得可用資源的狀態,若所要求的資源小於可用資源則建立該數據流的類資料庫,並為之分配實現QoS所需的緩存和帶寬,否則禁止接入,發響應告訴RSVP消息處理模塊資源預留失敗。
為了實現這兩個功能,本文提出了由業務控制模塊為每個數據流分配一個唯一的標識符以實現數據流的分類,並建立和維護兩個資料庫,一個建立數據流源、目的地址與標識符間的關係。
通過建立這兩個資料庫,可以很容易實現對不同數據流的監控和整形。當交換機接收到數據包後,根據其源和目的地址為該數據包分配一個標識符,實現對數據流的分類。然後將該數據包送到業務監控和整形功能單元,統計收到數據包的平均速率和峰值速率,實現對數據流的監控和整形。
若業務符合領先定義的要求,則根據標識符與分配資源關係將數據包送到相應的輸出隊列中。為了將業務控制模塊作為獨立的一個處理單元,與RSVP消息處理模塊完全分開。
但又能很好地實現兩者間地相互通信,業務控制模塊向上提供了一個應用程式接口,接收來自RSVP消息處理模塊關於資源預留的命令,包括增加,修改和刪除資源預留並作響應,獲取可用資源信息等三層乙太網交換機功能。
RSVP消息處理模塊 RSVp消息處理模塊負責消息處理,建立、維護和刪除QOS連接資源預留狀態,並根據從路由處理模塊獲得的路由轉發相應的消息。根據收到的PATH、RESV、PATH刷新、RESV刷新等消息則為該數據流建立和修改通道狀態PSB和預留狀態RSB,這兩個狀態中包含每個數據流的業務參數和資源預留參數。
在多路廣播的情況下,RSVP消息處理模塊需對來自不同接收者發往同一接收者的資源預留消息進行合併,並修改本地資源預留狀態。因業務特徵和預留要求都是多維的,故不是簡單地選擇某參數的較大值來確定合併的資源預留,而是對其中的每一個參數按一定的算法綜合成一個能滿足合併的每個消息的資源預留狀態,即最低上限(LUB)。
RSVP是一種很複雜的信令系統,包括對資源預留鏈路的建立、刷新和刪除,並需對各種出錯信息進行處理,若某個數據流的狀態發生變化則利用RSVP消息處理模塊和業務控制模塊間的應用程式接口觸發業務控制模塊在鏈路層上對預留的資源進行調整。
【責任編輯:
唐偉TEL:(010)68476606】