本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種基于SDN(Software Define Network)架構(gòu)的資源分配方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,帶寬接入速率的不斷提高,多媒體應(yīng)用在互聯(lián)網(wǎng)中得到了廣泛部署。多媒體應(yīng)用通常對端到端時(shí)延及帶寬有著較高的需求,如網(wǎng)絡(luò)電話、視頻會議、視頻點(diǎn)播等。因此,為了更好的支持多媒體應(yīng)用,有效地為網(wǎng)絡(luò)業(yè)務(wù)提供服務(wù)質(zhì)量QoS(Quality of Service)保證成為了網(wǎng)絡(luò)技術(shù)發(fā)展的重要難題。
對此,互聯(lián)網(wǎng)工程任務(wù)組在QoS解決方案上提出了集成服務(wù)模型IntServ(Integrated Services)。該模型采用資源預(yù)留協(xié)議RSVP(Resource Reservation Protocol),從接受端開始向發(fā)送端逐條發(fā)送資源預(yù)約請求報(bào)文,并在路由器等網(wǎng)絡(luò)元素上建立和維護(hù)QoS控制服務(wù)用的路徑狀態(tài)和預(yù)約狀態(tài),從而在發(fā)送端至接受端路徑中的逐臺網(wǎng)絡(luò)元素中預(yù)留資源,來實(shí)現(xiàn)端到端的網(wǎng)絡(luò)服務(wù)質(zhì)量保證。但是,現(xiàn)有的技術(shù)通過分布式的方式(如基于約束的標(biāo)簽分發(fā)協(xié)議CR-LDP)進(jìn)行網(wǎng)絡(luò)資源的分配,這種分布式方式難以感知全網(wǎng)鏈路帶寬的使用情況,因而不能合理地規(guī)劃傳輸路徑并高效地利用網(wǎng)絡(luò)資源,從而導(dǎo)致在復(fù)雜網(wǎng)絡(luò)條件下端到端的網(wǎng)絡(luò)服務(wù)質(zhì)量難以保證,以及全網(wǎng)網(wǎng)絡(luò)資源利用率降低的問題。
鑒于此,如何設(shè)計(jì)一種基于SDN架構(gòu)的資源分配方法,實(shí)現(xiàn)網(wǎng)絡(luò)資源的統(tǒng)一管控,從而更高效地提供網(wǎng)絡(luò)服務(wù)質(zhì)量保證成為了本領(lǐng)域研究人員亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種基于SDN架構(gòu)的資源分配方法,用于解決現(xiàn)有技術(shù)中不能高效地利用全網(wǎng)網(wǎng)絡(luò)資源,難以提供QoS保證的問題。
為了實(shí)現(xiàn)以上目的,本發(fā)明提供一種基于SDN架構(gòu)的資源分配方法,通過以下技術(shù)方案實(shí)現(xiàn):
第一步,構(gòu)建基于三層管理節(jié)點(diǎn)的QoS管理架構(gòu)。底層管理節(jié)點(diǎn)為路由器,負(fù)責(zé)路由信息的通告與上報(bào),以及QoS隧道(即有資源保證的標(biāo)簽路徑)的維護(hù);二層管理節(jié)點(diǎn)為N個(gè)自治域服務(wù)節(jié)點(diǎn)S-QoSN(Area QoS Node),每個(gè)自治域(指一個(gè)管理機(jī)構(gòu)管轄下的所有網(wǎng)絡(luò)和路由器的全體)部署一個(gè)S-QoSN,負(fù)責(zé)本自治域的資源分配管理,N為自治域個(gè)數(shù);頂層管理節(jié)點(diǎn)為總控服務(wù)節(jié)點(diǎn)M-QoSN(Master QoS Node),全網(wǎng)部署一個(gè)M-QoSN,M-QoSN與每個(gè)S-QoSN相連,負(fù)責(zé)跨自治域的資源分配管理,M-QoSN還與映射服務(wù)器相連。映射服務(wù)器是網(wǎng)絡(luò)中裝有映射數(shù)據(jù)庫的服務(wù)器,映射數(shù)據(jù)庫的內(nèi)容為映射數(shù)據(jù)表,映射數(shù)據(jù)表的每個(gè)表項(xiàng)為<終端標(biāo)識,與終端相連的接入路由器的ID號>。M-QoSN節(jié)點(diǎn)通過查詢映射數(shù)據(jù)庫獲得終端與該終端相連的接入路由器之間的映射關(guān)系。
M-QoSN節(jié)點(diǎn)是一臺服務(wù)器,其上安裝有QoS需求輸入模塊、資源預(yù)留管理模塊、域間QoS管理模塊、流標(biāo)簽管理模塊;S-QoSN節(jié)點(diǎn)也是一臺服務(wù)器,其上安裝有域內(nèi)QoS管理模塊;路由器上安裝有路由管理模塊、QoS隧道維護(hù)模塊。
QoS需求輸入模塊與資源預(yù)留管理模塊相連,負(fù)責(zé)接收用戶提出的QoS需求(包括源終端標(biāo)識、目的終端標(biāo)識、帶寬、跳數(shù)、協(xié)議類型、端口、通信行為的發(fā)生時(shí)間),QoS需求使用5W(Who、Where、Which、What、When)描述。Who(何人)定義需要通信的雙方終端實(shí)體,即源終端標(biāo)識、目的終端標(biāo)識,Where(何地)定義本次傳輸系統(tǒng)需要經(jīng)過的自治域(沒有特殊要求時(shí),自治域可以為空),Which(何協(xié)議)定義本次通信需要使用的協(xié)議類型、端口,What(何要求)表示本次通信要求的帶寬、跳數(shù),When(何時(shí))定義本次通信行為的發(fā)生時(shí)間。同時(shí),QoS需求輸入模塊會將QoS需求通告給資源預(yù)留管理模塊。
資源預(yù)留管理模塊與QoS需求輸入模塊、域間QoS管理模塊、流標(biāo)簽管理模塊相連。該模塊接收QoS需求輸入模塊發(fā)送的QoS需求,并將QoS需求保存到QoS需求表中,其中QoS需求表的內(nèi)容為:<源終端標(biāo)識、目的終端標(biāo)識、帶寬、協(xié)議類型、端口、通信行為的發(fā)生時(shí)間>。該模塊根據(jù)QoS需求向域間QoS管理模塊發(fā)送傳輸路徑計(jì)算請求以及資源預(yù)留請求,并負(fù)責(zé)向流標(biāo)簽管理模塊發(fā)送流標(biāo)簽分配請求及流標(biāo)簽釋放請求。資源預(yù)留管理模塊將從域間QoS管理模塊接收的QoS隧道的路徑計(jì)算結(jié)果以及資源預(yù)留結(jié)果保存到QoS隧道管理表中。QoS隧道管理表有N1個(gè)表項(xiàng),表項(xiàng)的內(nèi)容為:<隧道ID、傳輸路徑計(jì)算狀態(tài)、資源預(yù)留狀態(tài)、流標(biāo)簽分配狀態(tài)>,其中,隧道ID是隧道的標(biāo)識、傳輸路徑計(jì)算狀態(tài)表示該隧道是否完成傳輸路徑的計(jì)算、資源預(yù)留狀態(tài)表示該隧道是否完成資源預(yù)留、流標(biāo)簽分配狀態(tài)表示該隧道是否完成流標(biāo)簽分配,N1等于隧道的個(gè)數(shù)。資源預(yù)留管理模塊還從域間QoS管理模塊接收隧道路徑失效信息,若接收到隧道路徑失效信息,則資源預(yù)留管理模塊嘗試重新建立QoS隧道,并將QoS隧道建立成功消息發(fā)送給域間QoS管理模塊。
域間QoS管理模塊與資源預(yù)留管理模塊、域內(nèi)QoS管理模塊相連。該模塊從資源預(yù)留管理模塊接收傳輸路徑計(jì)算請求,完成域間傳輸路徑的計(jì)算,再根據(jù)域間傳輸路徑的計(jì)算結(jié)果,向該域間傳輸路徑所經(jīng)過自治域的域內(nèi)QoS管理模塊發(fā)送域內(nèi)傳輸路徑計(jì)算請求,同時(shí)將域間傳輸路徑的計(jì)算結(jié)果保存至域間傳輸路徑表中。域間傳輸路徑表為鏈表形式,鏈表的每個(gè)元素即為傳輸路徑中的路由器ID,上游路由器ID與下游路由器ID逐個(gè)相連。域間QoS管理模塊從資源預(yù)留管理模塊接收資源預(yù)留請求和隧道建立成功消息,向域間傳輸路徑所經(jīng)過自治域的域內(nèi)QoS管理模塊發(fā)送域內(nèi)資源預(yù)留請求、隧道建立成功消息。域間QoS管理模塊負(fù)責(zé)從域內(nèi)QoS管理模塊收集域間鏈路狀態(tài)信息、域內(nèi)路徑計(jì)算結(jié)果、域內(nèi)資源預(yù)留結(jié)果和域內(nèi)隧道路徑失效信息。域間QoS管理模塊維護(hù)域間鏈路狀態(tài)數(shù)據(jù)庫InterLSDB,該數(shù)據(jù)庫有N2個(gè)表項(xiàng),表項(xiàng)內(nèi)容為:<路由器ID 1、路由器ID 2、最大鏈路帶寬、可用鏈路帶寬、不可用鏈路帶寬>,其中,路由器ID 1、路由器ID 2表示一個(gè)域間鏈路兩端路由器的ID,最大鏈路帶寬表示該鏈路的最大鏈路帶寬、可用鏈路帶寬表示該鏈路當(dāng)前可以預(yù)約的鏈路帶寬、不可用鏈路帶寬表示該鏈路當(dāng)前不可預(yù)約的鏈路帶寬,N2等于域間鏈路的個(gè)數(shù)。
流標(biāo)簽管理模塊與資源預(yù)留管理模塊相連。該模塊對全網(wǎng)的流標(biāo)簽(流標(biāo)簽指用于唯一標(biāo)識一個(gè)轉(zhuǎn)發(fā)等價(jià)類的固定長度的短標(biāo)識符)信息進(jìn)行統(tǒng)一管理,負(fù)責(zé)接收資源預(yù)留管理模塊的分配流標(biāo)簽請求及釋放流標(biāo)簽請求,對流標(biāo)簽進(jìn)行分配及釋放,并將分配流標(biāo)簽結(jié)果及釋放流標(biāo)簽結(jié)果發(fā)送給資源預(yù)留管理模塊。流標(biāo)簽管理模塊維護(hù)空閑流標(biāo)簽表和已分配流標(biāo)簽表,其中,空閑流標(biāo)簽表和已分配流標(biāo)簽表均以鏈表的形式保存數(shù)據(jù),空閑流標(biāo)簽表的鏈表元素為空閑的流標(biāo)簽,初始化為1000個(gè)流標(biāo)簽;已分配流標(biāo)簽表的鏈表元素為已分配的流標(biāo)簽,初始化為空。
域內(nèi)QoS管理模塊與域間QoS管理模塊、路由管理模塊、QoS隧道維護(hù)模塊相連。該模塊從域間QoS管理模塊接收域內(nèi)傳輸路徑計(jì)算請求,完成域內(nèi)傳輸路徑的計(jì)算,并將域內(nèi)路徑計(jì)算結(jié)果返回域間QoS管理模塊。域內(nèi)QoS管理模塊從域間QoS管理模塊接收域內(nèi)資源預(yù)留請求,根據(jù)域內(nèi)傳輸路徑表(域內(nèi)傳輸路徑表為鏈表形式,鏈表的每個(gè)元素即為域內(nèi)傳輸路徑中的路由器ID,上游路由器ID與下游路由器ID逐個(gè)相連)的傳輸路徑信息,向該域內(nèi)路徑所經(jīng)過的路由器發(fā)送流標(biāo)簽添加消息,并將域內(nèi)資源預(yù)留結(jié)果反饋到域間QoS管理模塊。域內(nèi)QoS管理模塊從域間QoS管理模塊接收域內(nèi)資源釋放請求,根據(jù)域內(nèi)路徑計(jì)算結(jié)果,向該域內(nèi)路徑所經(jīng)過的路由器發(fā)送流標(biāo)簽刪除消息,并將域內(nèi)資源釋放結(jié)果反饋到域間QoS管理模塊。同時(shí),域內(nèi)QoS管理模塊定期收集本自治域內(nèi)路由器中QoS隧道維護(hù)模塊發(fā)送的QoS隧道鄰居不可達(dá)信息,當(dāng)收到QoS隧道鄰居不可達(dá)信息,則向域間QoS管理模塊通告域內(nèi)隧道路徑失效信息。域內(nèi)QoS管理模塊維護(hù)域內(nèi)鏈路狀態(tài)數(shù)據(jù)庫IntraLSDB。該數(shù)據(jù)庫有N3個(gè)表項(xiàng),表項(xiàng)內(nèi)容為:<路由器ID 1、路由器ID 2、最大鏈路帶寬、可用鏈路帶寬、不可用鏈路帶寬>,其中,路由器ID 1、路由器ID 2表示一個(gè)域內(nèi)鏈路兩端路由器的ID,最大鏈路帶寬表示該鏈路的最大鏈路帶寬、可用鏈路帶寬表示該鏈路當(dāng)前可以預(yù)約的鏈路帶寬、不可用鏈路帶寬表示該鏈路當(dāng)前不可預(yù)約的鏈路帶寬,N3等于域內(nèi)鏈路的個(gè)數(shù)。
QoS隧道維護(hù)模塊與域內(nèi)QoS管理模塊相連。該模塊從域內(nèi)QoS管理模塊接收流標(biāo)簽添加請求或者流標(biāo)簽刪除請求,確定流標(biāo)簽的生存時(shí)間,對安裝在路由器的流標(biāo)簽表進(jìn)行管理。流標(biāo)簽表有N4項(xiàng),每個(gè)表項(xiàng)的內(nèi)容為:<流標(biāo)簽、建立時(shí)間、生存時(shí)間、隧道帶寬>,其中,建立時(shí)間指該條記錄在流標(biāo)簽表所建立的時(shí)間,生存時(shí)間指該流標(biāo)簽表項(xiàng)有效的生存時(shí)間,隧道帶寬指該流標(biāo)簽對應(yīng)的隧道所占用的帶寬,N4等于該路由器的流標(biāo)簽個(gè)數(shù)。該模塊還將流標(biāo)簽添加請求或者流標(biāo)簽刪除請求操作結(jié)果反饋給域內(nèi)QoS管理模塊。同時(shí),QoS隧道維護(hù)模塊維護(hù)標(biāo)簽轉(zhuǎn)發(fā)表,該表有N5項(xiàng),每個(gè)表項(xiàng)的內(nèi)容為:<流標(biāo)簽、轉(zhuǎn)發(fā)接口>,其中,轉(zhuǎn)發(fā)接口表示該條隧道對應(yīng)的轉(zhuǎn)發(fā)接口,N5等于該路由器的流標(biāo)簽個(gè)數(shù)。QoS隧道維護(hù)模塊對域間及域內(nèi)傳輸路徑上的鄰居定期發(fā)送隧道維護(hù)報(bào)文,當(dāng)QoS隧道維護(hù)模塊檢測到隧道鄰居不可達(dá)時(shí),將QoS隧道鄰居不可達(dá)信息發(fā)送給域內(nèi)QoS管理模塊。
路由管理模塊與域內(nèi)QoS管理模塊相連,該模塊定期向域內(nèi)QoS管理模塊發(fā)送域內(nèi)鏈路狀態(tài)信息及域間鏈路狀態(tài)信息,內(nèi)容均為相鄰路由器之間的帶寬信息。
第二步,各自治域S-QoSN上的的域內(nèi)QoS管理模塊并行初始化域內(nèi)鏈路狀態(tài)數(shù)據(jù)庫IntraLSDB,方法是:
2.1在各自治域中,域內(nèi)的路由器之間通過鏈路狀態(tài)更新報(bào)文交互域內(nèi)鏈路狀態(tài)信息,包括最大鏈路帶寬、可用鏈路帶寬和不可用鏈路帶寬信息,從而使該自治域內(nèi)所有路由器都具有該自治域內(nèi)完整的鏈路狀態(tài)數(shù)據(jù)。
2.2每個(gè)自治域內(nèi)擁有最小路由器ID的路由器被指派為該自治域的代理路由器,每個(gè)代理路由器的路由管理模塊將該自治域的域內(nèi)鏈路狀態(tài)信息上報(bào)給該代理路由器所屬自治域中S-QoSN的域內(nèi)QoS管理模塊;
2.3各自治域的域內(nèi)QoS管理模塊對其域內(nèi)狀態(tài)數(shù)據(jù)庫IntraLSDB進(jìn)行初始化,即將域內(nèi)鏈路狀態(tài)信息中路由器間的最大鏈路帶寬、可用鏈路帶寬和不可用鏈路帶寬信息及其相應(yīng)路由器ID號填入IntraLSDB。
第三步,M-QoSN上的域間QoS管理模塊初始化域間鏈路狀態(tài)數(shù)據(jù)庫InterLSDB,方法是:
3.1域間的邊界路由器(指自治域的網(wǎng)關(guān)路由器)之間交互鄰居通告消息,通過路由學(xué)習(xí)后,每個(gè)邊界路由器得到本自治域到其他自治域的路由,隨后每個(gè)邊界路由器通過路由管理模塊將本路由器的域間路由信息上報(bào)給該自治域的S-QoSN的域內(nèi)QoS管理模塊,再由該S-QoSN上報(bào)給M-QoSN的域間QoS管理模塊。
3.2域間QoS管理模塊接收域內(nèi)QoS管理模塊發(fā)送的域間鏈路信息,對域間鏈路狀態(tài)數(shù)據(jù)庫InterLSDB進(jìn)行初始化,即將域間鏈路狀態(tài)信息中路由器間的最大鏈路帶寬、可用鏈路帶寬和不可用鏈路帶寬信息及其相應(yīng)路由器ID號填入InterLSDB。
第四步,QoS需求輸入模塊接收網(wǎng)絡(luò)管理員輸入的QoS需求,并將QoS需求發(fā)送給資源預(yù)留管理模塊。資源預(yù)留管理模塊從QoS需求輸入模塊接收QoS需求消息,并將QoS需求保存到QoS需求表中。
第五步,資源預(yù)留管理模塊從QoS需求輸入模塊接收QoS需求,向域間QoS管理模塊發(fā)送傳輸路徑計(jì)算請求。
第六步,域間QoS管理模塊從資源預(yù)留管理模塊接收傳輸路徑計(jì)算請求,通過查詢映射服務(wù)器確定源終端和目的終端的接入路由器,若源終端和目的終端分屬不同自治域,則執(zhí)行步驟6.1;若源終端和目的終端屬于相同自治域,則執(zhí)行步驟6.2;
6.1域間QoS管理模塊進(jìn)行跨域傳輸路徑計(jì)算:
6.1.1域間QoS管理模塊采用CSPF路由計(jì)算算法(基于約束的最短路徑計(jì)算,被運(yùn)用于MPLS流量工程中,如RFC 4105(第3頁)),根據(jù)域間鏈路狀態(tài)數(shù)據(jù)庫InterLSDB,計(jì)算域間傳輸路徑,若具有多條等價(jià)路徑,轉(zhuǎn)步驟6.1.7;若正好計(jì)算結(jié)果只有一條域間傳輸路徑,轉(zhuǎn)6.1.2;若不能找到滿足條件的路徑,域間QoS管理模塊將傳輸路徑計(jì)算結(jié)果置為失敗,并發(fā)送給資源預(yù)留管理模塊,轉(zhuǎn)第6.3步;
6.1.2域間QoS管理模塊根據(jù)域間傳輸路徑計(jì)算結(jié)果向該路徑所經(jīng)過自治域的域內(nèi)QoS管理模塊發(fā)送域內(nèi)傳輸路徑計(jì)算請求,并將域間傳輸路徑保存到本地的域間傳輸路徑表中;
6.1.3域內(nèi)QoS管理模塊接收域間QoS管理模塊發(fā)送的域內(nèi)傳輸路徑計(jì)算請求,同樣采用CSPF路由計(jì)算算法,根據(jù)域內(nèi)鏈路狀態(tài)數(shù)據(jù)庫IntraLSDB,計(jì)算本自治域的傳輸路徑,若具有多條等價(jià)路徑,則將多條等價(jià)路徑發(fā)送給域間QoS管理模塊,轉(zhuǎn)步驟6.1.7;若正好計(jì)算結(jié)果只有一條域內(nèi)傳輸路徑,轉(zhuǎn)6.1.4;若不能找到滿足條件的路徑,域內(nèi)QoS管理模塊將域內(nèi)傳輸路徑計(jì)算結(jié)果置為失敗,并發(fā)送給域間QoS管理模塊,并轉(zhuǎn)第6.1.6步;
6.1.4域內(nèi)QoS管理模塊將域內(nèi)傳輸路徑保存到本地的域內(nèi)傳輸路徑表中,并將域內(nèi)傳輸路徑計(jì)算結(jié)果發(fā)送到域間QoS管理模塊;
6.1.5域間QoS管理模塊接收從域內(nèi)QoS管理模塊發(fā)送的域內(nèi)傳輸路徑計(jì)算結(jié)果,將傳輸路徑計(jì)算結(jié)果發(fā)送給資源預(yù)留管理模塊;轉(zhuǎn)第6.3步;
6.1.6域間QoS管理模塊將傳輸路徑計(jì)算結(jié)果置為失敗,并發(fā)送給資源預(yù)留管理模塊,轉(zhuǎn)到第6.3步;
6.1.7域間QoS管理模塊按多條路徑仲裁方法進(jìn)行對多條等價(jià)路徑進(jìn)行仲裁,多條路徑仲裁方法是:
6.1.7.1.選擇擁有最大的預(yù)留帶寬的路徑;
6.1.7.2.如果最大的預(yù)留帶寬的路徑仍有多條,選擇具有最小跳數(shù)的路徑,路數(shù)在域間路徑中指經(jīng)過的自治域個(gè)數(shù),在域內(nèi)路徑中指經(jīng)過的路由器個(gè)數(shù);
6.1.7.3.如果仍然有多條路徑,隨機(jī)選擇一條。
6.1.8若等價(jià)路徑為域間傳輸路徑,轉(zhuǎn)到步驟6.1.2;若等價(jià)路徑為域內(nèi)傳輸路徑,則轉(zhuǎn)到6.1.4;
6.2域間QoS管理模塊進(jìn)行非跨域傳輸路徑計(jì)算:
6.2.1域間QoS管理模塊向源終端和目的終端的接入路由器所在自治域的域內(nèi)QoS管理模塊發(fā)送域內(nèi)傳輸路徑計(jì)算請求;
6.2.2域內(nèi)QoS管理模塊接收域間QoS管理模塊發(fā)送的域內(nèi)傳輸路徑計(jì)算請求,采用CSPF路由計(jì)算算法,根據(jù)域內(nèi)鏈路狀態(tài)數(shù)據(jù)庫IntraLSDB,計(jì)算本自治域的傳輸路徑,若具有多條等價(jià)路徑,則將多條等價(jià)路徑發(fā)送給域間QoS管理模塊,轉(zhuǎn)步驟6.2.6;若正好計(jì)算結(jié)果只有一條域內(nèi)傳輸路徑,轉(zhuǎn)6.2.3;若不能找到滿足條件的路徑,則轉(zhuǎn)第6.2.5步;
6.2.3域內(nèi)QoS管理模塊將域內(nèi)傳輸路徑計(jì)算結(jié)果保存到本地的域內(nèi)傳輸路徑表中,并將計(jì)算結(jié)果發(fā)送到域間QoS管理模塊;
6.2.4域間QoS管理模塊接收從域內(nèi)QoS管理模塊發(fā)送的域內(nèi)傳輸路徑計(jì)算結(jié)果,將傳輸路徑計(jì)算結(jié)果發(fā)生給資源預(yù)留管理模塊;轉(zhuǎn)第6.3步;
6.2.5域間QoS管理模塊將傳輸路徑計(jì)算結(jié)果置為失敗,并發(fā)送給資源預(yù)留管理模塊。轉(zhuǎn)到第6.3步;
6.2.6域間QoS管理模塊按6.1.7所述多條路徑仲裁方法對多條等價(jià)路徑進(jìn)行仲裁,仲裁得到的路徑為域內(nèi)傳輸路徑計(jì)算結(jié)果,轉(zhuǎn)到6.2.3。
6.3資源預(yù)留管理模塊從域間QoS管理模塊接收傳輸路徑計(jì)算結(jié)果,如果傳輸路徑計(jì)算結(jié)果為成功,則將QoS隧道管理表的傳輸路徑計(jì)算狀態(tài)置為成功,轉(zhuǎn)第七步;如果傳輸路徑計(jì)算結(jié)果為失敗,則將QoS隧道管理表的傳輸路徑計(jì)算狀態(tài)置為失敗,轉(zhuǎn)第四步;
第七步,資源預(yù)留管理模塊請求流標(biāo)簽分配,流標(biāo)簽管理模塊對流標(biāo)簽進(jìn)行分配方法是:
7.1資源預(yù)留管理模塊向流標(biāo)簽管理模塊發(fā)送流標(biāo)簽分配請求,請求全網(wǎng)唯一的流標(biāo)簽;
7.2流標(biāo)簽管理模塊接收資源預(yù)留模塊的流標(biāo)簽分配請求,判斷空閑流標(biāo)簽表是否為空,若不為空,則從空閑流標(biāo)簽表中取出一個(gè)流標(biāo)簽,并插入到已分配流標(biāo)簽表中,同時(shí)將該流標(biāo)簽分配結(jié)果返回給資源預(yù)留管理模塊;如果空閑流標(biāo)簽表為空,則向給資源預(yù)留管理模塊發(fā)送流標(biāo)簽分配失敗消息;
7.3資源預(yù)留管理模塊從流標(biāo)簽管理模塊接收流標(biāo)簽分配結(jié)果,若流標(biāo)簽分配成功,則轉(zhuǎn)第八步;若流標(biāo)簽分配失敗,則轉(zhuǎn)第四步。
第八步,資源預(yù)留管理模塊將流標(biāo)簽分配狀態(tài)保存到QoS隧道管理表中,然后對網(wǎng)絡(luò)資源進(jìn)行分配,方法是:
8.1資源預(yù)留模塊向域間QoS管理模塊發(fā)送資源預(yù)留請求;
8.2域間QoS管理模塊從資源預(yù)留管理模塊接收資源預(yù)留請求,根據(jù)資源預(yù)留請求查詢域間傳輸路徑表,以獲得該隧道的域間傳輸路徑,然后向所經(jīng)過所有自治域的域內(nèi)QoS管理模塊發(fā)送資源預(yù)留請求;
8.3域內(nèi)QoS管理模塊從域間QoS管理模塊接收資源預(yù)留請求,根據(jù)資源預(yù)留請求查詢域內(nèi)傳輸路徑表,以獲得域內(nèi)傳輸路徑包含的路由器,然后向該路徑包含的路由器發(fā)送流標(biāo)簽添加請求;
8.4路由器的QoS隧道維護(hù)模塊從域內(nèi)QoS管理模塊接收流標(biāo)簽添加請求,提取流標(biāo)簽添加請求中的流標(biāo)簽、建立時(shí)間、生存時(shí)間、帶寬,并將這些信息保存到路由器流標(biāo)簽表中,同時(shí),將流標(biāo)簽、轉(zhuǎn)發(fā)接口添加到路由器的標(biāo)簽轉(zhuǎn)發(fā)表中,并將操作結(jié)果(成功或者失敗)返回給域內(nèi)QoS管理模塊;
8.5域內(nèi)QoS管理模塊從路由器的QoS隧道維護(hù)模塊接收返回結(jié)果,若路徑包含的所有路由器的返回結(jié)果均為成功,則表明域內(nèi)資源預(yù)留成功,將域內(nèi)資源預(yù)留結(jié)果置為成功并發(fā)送給域間QoS管理模塊;若存在一個(gè)路由器的返回結(jié)果為失敗,則表明域內(nèi)資源預(yù)留失敗,將域內(nèi)資源預(yù)留結(jié)果置為失敗并發(fā)送給域間QoS管理模塊;
8.6域間QoS管理模塊從域內(nèi)QoS管理模塊接收域內(nèi)資源預(yù)留結(jié)果,若路徑包含的所有自治域的域內(nèi)資源預(yù)留結(jié)果為成功,則表明資源預(yù)留成功,將資源預(yù)留結(jié)果置為成功并發(fā)送給資源預(yù)留管理模塊;若存在一個(gè)自治域的域內(nèi)資源預(yù)留結(jié)果為失敗,則表明資源預(yù)留失敗,將資源預(yù)留結(jié)果置為失敗并發(fā)送給資源預(yù)留管理模塊;
8.7資源預(yù)留模塊接收域間QoS管理模塊的資源預(yù)留結(jié)果,將資源預(yù)留結(jié)果保存到QoS隧道管理表中,如果資源預(yù)留結(jié)果為成功,則下發(fā)隧道建立成功的通知到域間路由管理模塊,轉(zhuǎn)第九步;如果結(jié)果為失敗,則等待t秒(t一般為60),然后返回第四步,嘗試重新建立QoS隧道。
第九步,資源預(yù)留管理模塊逐級下發(fā)QoS隧道建立成功通知,方法是:
9.1資源預(yù)留模塊發(fā)送隧道建立成功的通知到域間路由管理模塊;
9.2域間QoS管理模塊從資源預(yù)留管理模塊接收隧道建立成功的通知,并在本地的傳輸路徑表中將該條傳輸路徑置為建立成功,然后向域內(nèi)QoS管理模塊下發(fā)隧道建立成功的通知;
9.3域內(nèi)QoS管理模塊接收域間QoS管理模塊發(fā)送的隧道建立成功的通知,將本地域內(nèi)傳輸路徑表中該條傳輸路徑置為建立成功。
采用本發(fā)明可以達(dá)到以下技術(shù)效果:
1.采用基于三層管理節(jié)點(diǎn)的QoS管理架構(gòu),以集中式與分布式相結(jié)合的方式對全網(wǎng)的QoS進(jìn)行資源分配;
2.能根據(jù)應(yīng)用業(yè)務(wù)系統(tǒng)的QoS需求和流量需求進(jìn)行全局的傳輸路徑計(jì)算,并能在源終端的接入路由器和目的終端的接入路由器之間建立一條能夠確保帶寬資源的QoS隧道。
3.與現(xiàn)有的基于分布式方式的網(wǎng)絡(luò)資源分配技術(shù)相比,本發(fā)明能夠感知網(wǎng)絡(luò)鏈路帶寬使用情況,提高全網(wǎng)資源利用率,用于解決現(xiàn)有技術(shù)中不能高效地利用全網(wǎng)網(wǎng)絡(luò)資源,難以提供QoS保證的問題。
附圖說明
圖1為本發(fā)明總體流程圖;
圖2為本發(fā)明第一步構(gòu)建的基于三層管理節(jié)點(diǎn)的QoS管理架構(gòu)示意圖;
圖3為本發(fā)明基于三層管理節(jié)點(diǎn)的QoS管理架構(gòu)中軟件布署邏輯結(jié)構(gòu)圖;
圖4為本發(fā)明在QoS需求輸入中的5W模型描述圖。
具體實(shí)施方式
圖1為本發(fā)明總體流程圖;本發(fā)明包括以下步驟:
第一步,構(gòu)建如圖1所示的基于三層管理節(jié)點(diǎn)的QoS管理架構(gòu)。
如圖1所示,底層管理節(jié)點(diǎn)為路由器,負(fù)責(zé)路由信息的通告與上報(bào),以及QoS隧道的維護(hù);二層管理節(jié)點(diǎn)為N個(gè)自治域服務(wù)節(jié)點(diǎn)S-QoSN,每個(gè)自治域部署一個(gè)S-QoSN,負(fù)責(zé)本自治域的資源分配管理,N為自治域個(gè)數(shù);頂層管理節(jié)點(diǎn)為總控服務(wù)節(jié)點(diǎn)M-QoSN,全網(wǎng)部署一個(gè)M-QoSN,M-QoSN與每個(gè)S-QoSN相連,負(fù)責(zé)跨自治域的資源分配管理,M-QoSN還與映射服務(wù)器相連。映射服務(wù)器是網(wǎng)絡(luò)中裝有映射數(shù)據(jù)庫的服務(wù)器,映射數(shù)據(jù)庫的內(nèi)容為映射數(shù)據(jù)表,映射數(shù)據(jù)表的每個(gè)表項(xiàng)為<終端標(biāo)識,與終端相連的接入路由器的ID號>。M-QoSN節(jié)點(diǎn)通過查詢映射數(shù)據(jù)庫獲得終端與該終端相連的接入路由器之間的映射關(guān)系。
如圖2所示,M-QoSN節(jié)點(diǎn)是一臺服務(wù)器,其上安裝有QoS需求輸入模塊、資源預(yù)留管理模塊、域間QoS管理模塊、流標(biāo)簽管理模塊;S-QoSN節(jié)點(diǎn)也是一臺服務(wù)器,其上安裝有域內(nèi)QoS管理模塊;路由器上安裝有路由管理模塊、QoS隧道維護(hù)模塊。
QoS需求輸入模塊與資源預(yù)留管理模塊相連,負(fù)責(zé)接收用戶提出的QoS需求(包括源終端標(biāo)識、目的終端標(biāo)識、帶寬、跳數(shù)、協(xié)議類型、端口、通信行為的發(fā)生時(shí)間)同時(shí),QoS需求輸入模塊會將QoS需求通告給資源預(yù)留管理模塊。
資源預(yù)留管理模塊與QoS需求輸入模塊、域間QoS管理模塊、流標(biāo)簽管理模塊相連。該模塊接收QoS需求輸入模塊發(fā)送的QoS需求,并將QoS需求保存到QoS需求表中,其中QoS需求表的內(nèi)容為:<源終端標(biāo)識、目的終端標(biāo)識、帶寬、協(xié)議類型、端口、通信行為的發(fā)生時(shí)間>。該模塊根據(jù)QoS需求向域間QoS管理模塊發(fā)送傳輸路徑計(jì)算請求以及資源預(yù)留請求,并負(fù)責(zé)向流標(biāo)簽管理模塊發(fā)送流標(biāo)簽分配請求及流標(biāo)簽釋放請求。資源預(yù)留管理模塊將從域間QoS管理模塊接收的QoS隧道的路徑計(jì)算結(jié)果以及資源預(yù)留結(jié)果保存到QoS隧道管理表中。QoS隧道管理表有N1個(gè)表項(xiàng),表項(xiàng)的內(nèi)容為:<隧道ID、傳輸路徑計(jì)算狀態(tài)、資源預(yù)留狀態(tài)、流標(biāo)簽分配狀態(tài)>,其中,隧道ID是隧道的標(biāo)識、傳輸路徑計(jì)算狀態(tài)表示該隧道是否完成傳輸路徑的計(jì)算、資源預(yù)留狀態(tài)表示該隧道是否完成資源預(yù)留、流標(biāo)簽分配狀態(tài)表示該隧道是否完成流標(biāo)簽分配,N1由隧道的個(gè)數(shù)決定。資源預(yù)留管理模塊還從域間QoS管理模塊接收隧道路徑失效信息,若接收到隧道路徑失效信息,則資源預(yù)留管理模塊嘗試重新建立QoS隧道,并將QoS隧道建立成功消息發(fā)送給域間QoS管理模塊。
域間QoS管理模塊與資源預(yù)留管理模塊、域內(nèi)QoS管理模塊相連。該模塊從資源預(yù)留管理模塊接收傳輸路徑計(jì)算請求,完成域間傳輸路徑的計(jì)算,再根據(jù)域間傳輸路徑的計(jì)算結(jié)果,向該域間傳輸路徑所經(jīng)過自治域的域內(nèi)QoS管理模塊發(fā)送域內(nèi)傳輸路徑計(jì)算請求,同時(shí)將域間傳輸路徑的計(jì)算結(jié)果保存至域間傳輸路徑表中。域間傳輸路徑表為鏈表形式,鏈表的每個(gè)元素即為傳輸路徑中的路由器ID,上游路由器ID與下游路由器ID逐個(gè)相連。域間QoS管理模塊從資源預(yù)留管理模塊接收資源預(yù)留請求和隧道建立成功消息,向域間傳輸路徑所經(jīng)過自治域的域內(nèi)QoS管理模塊發(fā)送域內(nèi)資源預(yù)留請求、隧道建立成功消息。域間QoS管理模塊負(fù)責(zé)從域內(nèi)QoS管理模塊收集域間鏈路狀態(tài)信息、域內(nèi)路徑計(jì)算結(jié)果、域內(nèi)資源預(yù)留結(jié)果和域內(nèi)隧道路徑失效信息。域間QoS管理模塊維護(hù)域間鏈路狀態(tài)數(shù)據(jù)庫InterLSDB,該數(shù)據(jù)庫有N2個(gè)表項(xiàng),表項(xiàng)內(nèi)容為:<路由器ID 1、路由器ID 2、最大鏈路帶寬、可用鏈路帶寬、不可用鏈路帶寬>,其中,路由器ID 1、路由器ID 2表示一個(gè)域間鏈路兩端路由器的ID,最大鏈路帶寬表示該鏈路的最大鏈路帶寬、可用鏈路帶寬表示該鏈路當(dāng)前可以預(yù)約的鏈路帶寬、不可用鏈路帶寬表示該鏈路當(dāng)前不可預(yù)約的鏈路帶寬,N2由域間鏈路的個(gè)數(shù)決定。
流標(biāo)簽管理模塊與資源預(yù)留管理模塊相連。該模塊對全網(wǎng)的流標(biāo)簽(流標(biāo)簽指用于唯一標(biāo)識一個(gè)轉(zhuǎn)發(fā)等價(jià)類的固定長度的短標(biāo)識符)信息進(jìn)行統(tǒng)一管理,負(fù)責(zé)接收資源預(yù)留管理模塊的分配流標(biāo)簽請求及釋放流標(biāo)簽請求,對流標(biāo)簽進(jìn)行分配及釋放,并將分配流標(biāo)簽結(jié)果及釋放流標(biāo)簽結(jié)果發(fā)送給資源預(yù)留管理模塊。流標(biāo)簽管理模塊維護(hù)空閑流標(biāo)簽表和已分配流標(biāo)簽表,其中,空閑流標(biāo)簽表和已分配流標(biāo)簽表均以鏈表的形式保存數(shù)據(jù),空閑流標(biāo)簽表的鏈表元素為空閑的流標(biāo)簽,初始化為1000個(gè)流標(biāo)簽;已分配流標(biāo)簽表的鏈表元素為已分配的流標(biāo)簽,初始化為空。
域內(nèi)QoS管理模塊與域間QoS管理模塊、路由管理模塊、QoS隧道維護(hù)模塊相連。該模塊從域間QoS管理模塊接收域內(nèi)傳輸路徑計(jì)算請求,完成域內(nèi)傳輸路徑的計(jì)算,并將域內(nèi)路徑計(jì)算結(jié)果返回域間QoS管理模塊。域內(nèi)QoS管理模塊從域間QoS管理模塊接收域內(nèi)資源預(yù)留請求,根據(jù)域內(nèi)傳輸路徑表(域內(nèi)傳輸路徑表為鏈表形式,鏈表的每個(gè)元素即為域內(nèi)傳輸路徑中的路由器ID,上游路由器ID與下游路由器ID逐個(gè)相連)的傳輸路徑信息,向該域內(nèi)路徑所經(jīng)過的路由器發(fā)送流標(biāo)簽添加消息,并將域內(nèi)資源預(yù)留結(jié)果反饋到域間QoS管理模塊。域內(nèi)QoS管理模塊從域間QoS管理模塊接收域內(nèi)資源釋放請求,根據(jù)域內(nèi)路徑計(jì)算結(jié)果,向該域內(nèi)路徑所經(jīng)過的路由器發(fā)送流標(biāo)簽刪除消息,并將域內(nèi)資源釋放結(jié)果反饋到域間QoS管理模塊。同時(shí),域內(nèi)QoS管理模塊定期收集本自治域內(nèi)路由器中QoS隧道維護(hù)模塊發(fā)送的QoS隧道鄰居不可達(dá)信息,當(dāng)收到QoS隧道鄰居不可達(dá)信息,則向域間QoS管理模塊通告域內(nèi)隧道路徑失效信息。域內(nèi)QoS管理模塊維護(hù)域內(nèi)鏈路狀態(tài)數(shù)據(jù)庫IntraLSDB。該數(shù)據(jù)庫有N3個(gè)表項(xiàng),表項(xiàng)內(nèi)容為:<路由器ID 1、路由器ID 2、最大鏈路帶寬、可用鏈路帶寬、不可用鏈路帶寬>,其中,路由器ID 1、路由器ID 2表示一個(gè)域內(nèi)鏈路兩端路由器的ID,最大鏈路帶寬表示該鏈路的最大鏈路帶寬、可用鏈路帶寬表示該鏈路當(dāng)前可以預(yù)約的鏈路帶寬、不可用鏈路帶寬表示該鏈路當(dāng)前不可預(yù)約的鏈路帶寬,N3由域內(nèi)鏈路的個(gè)數(shù)決定。
QoS隧道維護(hù)模塊與域內(nèi)QoS管理模塊相連。該模塊從域內(nèi)QoS管理模塊接收流標(biāo)簽添加請求或者流標(biāo)簽刪除請求,確定流標(biāo)簽的生存時(shí)間,對安裝在路由器的流標(biāo)簽表進(jìn)行管理。流標(biāo)簽表有N4項(xiàng),每個(gè)表項(xiàng)的內(nèi)容為:<流標(biāo)簽、建立時(shí)間、生存時(shí)間、隧道帶寬>,其中,建立時(shí)間指該條記錄在流標(biāo)簽表所建立的時(shí)間,生存時(shí)間只該流標(biāo)簽表項(xiàng)有效的生存時(shí)間,隧道帶寬指該流標(biāo)簽對應(yīng)的隧道所占用的帶寬,N4由該路由器的流標(biāo)簽個(gè)數(shù)決定。該模塊還將流標(biāo)簽添加請求或者流標(biāo)簽刪除請求操作結(jié)果反饋給域內(nèi)QoS管理模塊。同時(shí),QoS隧道維護(hù)模塊維護(hù)標(biāo)簽轉(zhuǎn)發(fā)表,該表有N5項(xiàng),每個(gè)表項(xiàng)的內(nèi)容為:<流標(biāo)簽、轉(zhuǎn)發(fā)接口>,其中,轉(zhuǎn)發(fā)接口表示該條隧道對應(yīng)的轉(zhuǎn)發(fā)接口,N5由該路由器的流標(biāo)簽個(gè)數(shù)決定。QoS隧道維護(hù)模塊對域間及域內(nèi)傳輸路徑上的鄰居定期發(fā)送隧道維護(hù)報(bào)文,當(dāng)QoS隧道維護(hù)模塊檢測到隧道鄰居不可達(dá)時(shí),將QoS隧道鄰居不可達(dá)信息發(fā)送給域內(nèi)QoS管理模塊。
路由管理模塊與域內(nèi)QoS管理模塊相連,該模塊定期向域內(nèi)QoS管理模塊發(fā)送域內(nèi)鏈路狀態(tài)信息及域間鏈路狀態(tài)信息,內(nèi)容均為相鄰路由器之間的帶寬信息。
第二步,各自治域S-QoSN上的的域內(nèi)QoS管理模塊并行初始化域內(nèi)鏈路狀態(tài)數(shù)據(jù)庫IntraLSDB。
第三步,M-QoSN上的域間QoS管理模塊初始化域間鏈路狀態(tài)數(shù)據(jù)庫InterLSDB。
第四步,QoS需求輸入模塊接收網(wǎng)絡(luò)管理員輸入的QoS需求,并將QoS需求發(fā)送給資源預(yù)留管理模塊。資源預(yù)留管理模塊從QoS需求輸入模塊接收QoS需求消息,并將QoS需求保存到QoS需求表中。
第五步,資源預(yù)留管理模塊從QoS需求輸入模塊接收QoS需求,向域間QoS管理模塊發(fā)送傳輸路徑計(jì)算請求。
第六步,域間QoS管理模塊從資源預(yù)留管理模塊接收傳輸路徑計(jì)算請求,通過查詢映射服務(wù)器確定源終端和目的終端的接入路由器,若源終端和目的終端分屬不同自治域,則執(zhí)行步驟6.1;若源終端和目的終端屬于相同自治域,則執(zhí)行步驟6.2;
6.1域間QoS管理模塊進(jìn)行跨域傳輸路徑計(jì)算:
6.1.1域間QoS管理模塊采用CSPF路由計(jì)算算法(基于約束的最短路徑計(jì)算,被運(yùn)用于MPLS流量工程中,如RFC 4105(第3頁)),根據(jù)域間鏈路狀態(tài)數(shù)據(jù)庫InterLSDB,計(jì)算域間傳輸路徑,若具有多條等價(jià)路徑,轉(zhuǎn)步驟6.1.7;若正好計(jì)算結(jié)果只有一條域間傳輸路徑,轉(zhuǎn)6.1.2;若不能找到滿足條件的路徑,域間QoS管理模塊將傳輸路徑計(jì)算結(jié)果置為失敗,并發(fā)送給資源預(yù)留管理模塊,轉(zhuǎn)第6.3步;
6.1.2域間QoS管理模塊根據(jù)域間傳輸路徑計(jì)算結(jié)果向該路徑所經(jīng)過自治域的域內(nèi)QoS管理模塊發(fā)送域內(nèi)傳輸路徑計(jì)算請求,并將域間傳輸路徑保存到本地的域間傳輸路徑表中;
6.1.3域內(nèi)QoS管理模塊接收域間QoS管理模塊發(fā)送的域內(nèi)傳輸路徑計(jì)算請求,同樣采用CSPF路由計(jì)算算法,根據(jù)域內(nèi)鏈路狀態(tài)數(shù)據(jù)庫IntraLSDB,計(jì)算本自治域的傳輸路徑,若具有多條等價(jià)路徑,則將多條等價(jià)路徑發(fā)送給域間QoS管理模塊,轉(zhuǎn)步驟6.1.7;若正好計(jì)算結(jié)果只有一條域內(nèi)傳輸路徑,轉(zhuǎn)6.1.5;若不能找到滿足條件的路徑,域內(nèi)QoS管理模塊將域內(nèi)傳輸路徑計(jì)算結(jié)果置為失敗,并發(fā)送給域間QoS管理模塊,并轉(zhuǎn)第6.1.6步;
6.1.4域內(nèi)QoS管理模塊將域內(nèi)傳輸路徑保存到本地的域內(nèi)傳輸路徑表中,并將域內(nèi)傳輸路徑計(jì)算結(jié)果發(fā)送到域間QoS管理模塊;
6.1.5域間QoS管理模塊接收從域內(nèi)QoS管理模塊發(fā)送的域內(nèi)傳輸路徑計(jì)算結(jié)果,將傳輸路徑計(jì)算結(jié)果發(fā)送給資源預(yù)留管理模塊;轉(zhuǎn)第6.3步;
6.1.6域間QoS管理模塊將傳輸路徑計(jì)算結(jié)果置為失敗,并發(fā)送給資源預(yù)留管理模塊,轉(zhuǎn)到第6.3步;
6.1.7域間QoS管理模塊按多條路徑仲裁方法進(jìn)行對多條等價(jià)路徑進(jìn)行仲裁,多條路徑仲裁方法是:
6.1.7.1.選擇擁有最大的預(yù)留帶寬的路徑;
6.1.7.2.如果最大的預(yù)留帶寬的路徑仍有多條,選擇具有最小跳數(shù)的路徑,路數(shù)在域間路徑中指經(jīng)過的自治域個(gè)數(shù),在域內(nèi)路徑中指經(jīng)過的路由器個(gè)數(shù);
6.1.7.3.如果仍然有多條路徑,隨機(jī)選擇一條。
6.1.8若等價(jià)路徑為域間傳輸路徑,轉(zhuǎn)到步驟6.1.2;若等價(jià)路徑為域內(nèi)傳輸路徑,則轉(zhuǎn)到6.1.4;
6.2域間QoS管理模塊進(jìn)行非跨域傳輸路徑計(jì)算:
6.2.1域間QoS管理模塊向源終端和目的終端的接入路由器所在自治域的域內(nèi)QoS管理模塊發(fā)送域內(nèi)傳輸路徑計(jì)算請求;
6.2.2域內(nèi)QoS管理模塊接收域間QoS管理模塊發(fā)送的域內(nèi)傳輸路徑計(jì)算請求,采用CSPF路由計(jì)算算法,根據(jù)域內(nèi)鏈路狀態(tài)數(shù)據(jù)庫IntraLSDB,計(jì)算本自治域的傳輸路徑,若具有多條等價(jià)路徑,則將多條等價(jià)路徑發(fā)送給域間QoS管理模塊,轉(zhuǎn)步驟6.2.6;若正好計(jì)算結(jié)果只有一條域內(nèi)傳輸路徑,轉(zhuǎn)6.2.3;若不能找到滿足條件的路徑,則轉(zhuǎn)第6.2.5步;
6.2.3域內(nèi)QoS管理模塊將域內(nèi)傳輸路徑計(jì)算結(jié)果保存到本地的域內(nèi)傳輸路徑表中,并將計(jì)算結(jié)果發(fā)送到域間QoS管理模塊;
6.2.4域間QoS管理模塊接收從域內(nèi)QoS管理模塊發(fā)送的域內(nèi)傳輸路徑計(jì)算結(jié)果,將傳輸路徑計(jì)算結(jié)果發(fā)生給資源預(yù)留管理模塊;轉(zhuǎn)第6.3步;
6.2.5域間QoS管理模塊將傳輸路徑計(jì)算結(jié)果置為失敗,并發(fā)送給資源預(yù)留管理模塊。轉(zhuǎn)到第6.3步;
6.2.6域間QoS管理模塊按6.1.7所述多條路徑仲裁方法對多條等價(jià)路徑進(jìn)行仲裁,仲裁得到的路徑為域內(nèi)傳輸路徑計(jì)算結(jié)果,轉(zhuǎn)到6.2.3。
6.3資源預(yù)留管理模塊從域間QoS管理模塊接收傳輸路徑計(jì)算結(jié)果,如果傳輸路徑計(jì)算結(jié)果為成功,則將QoS隧道管理表的傳輸路徑計(jì)算狀態(tài)置為成功,轉(zhuǎn)第七步;如果傳輸路徑計(jì)算結(jié)果為失敗,則將QoS隧道管理表的傳輸路徑計(jì)算狀態(tài)置為失敗,轉(zhuǎn)第四步;
第七步,資源預(yù)留管理模塊請求流標(biāo)簽分配,流標(biāo)簽管理模塊對流標(biāo)簽進(jìn)行分配方法是:
7.1資源預(yù)留管理模塊向流標(biāo)簽管理模塊發(fā)送流標(biāo)簽分配請求,請求全網(wǎng)唯一的流標(biāo)簽;
7.2流標(biāo)簽管理模塊接收資源預(yù)留模塊的流標(biāo)簽分配請求,判斷空閑流標(biāo)簽表是否為空,若不為空,則從空閑流標(biāo)簽表中取出一個(gè)流標(biāo)簽,并插入到已分配流標(biāo)簽表中,同時(shí)將該流標(biāo)簽分配結(jié)果返回給資源預(yù)留管理模塊;如果空閑流標(biāo)簽表為空,則向給資源預(yù)留管理模塊發(fā)送流標(biāo)簽分配失敗消息;
7.3資源預(yù)留管理模塊從流標(biāo)簽管理模塊接收流標(biāo)簽分配結(jié)果,若流標(biāo)簽分配成功,則轉(zhuǎn)第八步;若流標(biāo)簽分配失敗,則轉(zhuǎn)第四步。
第八步,資源預(yù)留管理模塊將流標(biāo)簽分配狀態(tài)保存到QoS隧道管理表中,然后對網(wǎng)絡(luò)資源進(jìn)行分配,方法是:
8.1資源預(yù)留模塊向域間QoS管理模塊發(fā)送資源預(yù)留請求;
8.2域間QoS管理模塊從資源預(yù)留管理模塊接收資源預(yù)留請求,根據(jù)資源預(yù)留請求查詢域間傳輸路徑表,以獲得該隧道的域間傳輸路徑,然后向所經(jīng)過所有自治域的域內(nèi)QoS管理模塊發(fā)送資源預(yù)留請求;
8.3域內(nèi)QoS管理模塊從域間QoS管理模塊接收資源預(yù)留請求,根據(jù)資源預(yù)留請求查詢域內(nèi)傳輸路徑表,以獲得域內(nèi)傳輸路徑包含的路由器,然后向該路徑包含的路由器發(fā)送流標(biāo)簽添加請求;
8.4路由器的QoS隧道維護(hù)模塊從域內(nèi)QoS管理模塊接收流標(biāo)簽添加請求,提取流標(biāo)簽添加請求中的流標(biāo)簽、建立時(shí)間、生存時(shí)間、帶寬,并將這些信息保存到路由器流標(biāo)簽表中,同時(shí),將流標(biāo)簽、轉(zhuǎn)發(fā)接口添加到路由器的標(biāo)簽轉(zhuǎn)發(fā)表中,并將操作結(jié)果(成功或者失敗)返回給域內(nèi)QoS管理模塊;
8.5域內(nèi)QoS管理模塊從路由器的QoS隧道維護(hù)模塊接收返回結(jié)果,若路徑包含的所有路由器的返回結(jié)果均為成功,則表明域內(nèi)資源預(yù)留成功,將域內(nèi)資源預(yù)留結(jié)果置為成功并發(fā)送給域間QoS管理模塊;若存在一個(gè)路由器的返回結(jié)果為失敗,則表明域內(nèi)資源預(yù)留失敗,將域內(nèi)資源預(yù)留結(jié)果置為失敗并發(fā)送給域間QoS管理模塊;
8.6域間QoS管理模塊從域內(nèi)QoS管理模塊接收域內(nèi)資源預(yù)留結(jié)果,若路徑包含的所有自治域的域內(nèi)資源預(yù)留結(jié)果為成功,則表明資源預(yù)留成功,將資源預(yù)留結(jié)果置為成功并發(fā)送給資源預(yù)留管理模塊;若存在一個(gè)自治域的域內(nèi)資源預(yù)留結(jié)果為失敗,則表明資源預(yù)留失敗,將資源預(yù)留結(jié)果置為失敗并發(fā)送給資源預(yù)留管理模塊;
8.7資源預(yù)留模塊接收域間QoS管理模塊的資源預(yù)留結(jié)果,將資源預(yù)留結(jié)果保存到QoS隧道管理表中,如果資源預(yù)留結(jié)果為成功,則下發(fā)隧道建立成功的通知到域間路由管理模塊,轉(zhuǎn)第九步;如果結(jié)果為失敗,則等待60秒,然后返回第四步,嘗試重新建立QoS隧道。
第九步,資源預(yù)留管理模塊逐級下發(fā)QoS隧道建立成功通知,方法是:
9.1資源預(yù)留模塊發(fā)送隧道建立成功的通知到域間路由管理模塊;
9.2域間QoS管理模塊從資源預(yù)留管理模塊接收隧道建立成功的通知,并在本地的傳輸路徑表中將該條傳輸路徑置為建立成功,然后向域內(nèi)QoS管理模塊下發(fā)隧道建立成功的通知;
9.3域內(nèi)QoS管理模塊接收域間QoS管理模塊發(fā)送的隧道建立成功的通知,將本地域內(nèi)傳輸路徑表中該條傳輸路徑置為建立成功。
圖4為本發(fā)明在QoS需求輸入中的5W模型描述圖。Who(何人)定義需要通信的雙方終端實(shí)體,即源終端標(biāo)識、目的終端標(biāo)識,Where(何地)定義本次傳輸系統(tǒng)需要經(jīng)過的自治域(沒有特殊要求時(shí),自治域可以為空),Which(何協(xié)議)定義本次通信需要使用的協(xié)議類型、端口,What(何要求)表示本次通信要求的帶寬、跳數(shù),When(何時(shí))定義本次通信行為的發(fā)生時(shí)間。