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