專(zhuān)利名稱(chēng):一種基于Ant-Like移動(dòng)代理的QoS多播路由的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于Ant-Like移動(dòng)代理的QoS多播路由的方法(MAMRQoS),屬于網(wǎng)絡(luò)技術(shù),通信技術(shù),多媒體應(yīng)用技術(shù)領(lǐng)域(QoS的含義是服務(wù)質(zhì)量)。
背景技術(shù):
螞蟻算法是一種基于種群的模擬進(jìn)化算法,經(jīng)過(guò)大量研究發(fā)現(xiàn),螞蟻具有尋找蟻穴和食物源之間最短(最優(yōu))路徑的能力,這種能力是靠其在所經(jīng)過(guò)的路徑上留下的一種揮發(fā)性分泌物信息素(Pheromone)來(lái)實(shí)現(xiàn),螞蟻在一條路上前進(jìn)時(shí)選擇該路徑的概率與這條路徑上信息素的強(qiáng)度成正比。對(duì)于最短路徑,選擇它的螞蟻越來(lái)越多,導(dǎo)致更多的信息素積累,吸引更多的螞蟻,從而形成了一種正反饋,這樣最短路徑將會(huì)很快被絕大多數(shù)螞蟻發(fā)現(xiàn),螞蟻個(gè)體之間的交流信息與相互協(xié)作達(dá)到搜索食物的目的。
AntNet是一種基于移動(dòng)Agent的分布式自適應(yīng)最短路徑計(jì)算方法,起源于仿生學(xué)中著名的蟻群算法。AntNet的基本思想是網(wǎng)絡(luò)中任意一個(gè)節(jié)點(diǎn)為源節(jié)點(diǎn),以一定的時(shí)間間隔向一個(gè)隨機(jī)選擇的節(jié)點(diǎn)為目的節(jié)點(diǎn),派發(fā)一個(gè)移動(dòng)Agent為前向Agent搜索兩節(jié)點(diǎn)之間的最短路徑,同時(shí)收集記錄路徑狀態(tài)信息,Agent在每個(gè)中間節(jié)點(diǎn)根據(jù)路由表中相鄰節(jié)點(diǎn)的取向概率的比例值或以隨機(jī)方式選取下一跳節(jié)點(diǎn),同時(shí)記錄節(jié)點(diǎn)的標(biāo)識(shí)符以及從源節(jié)點(diǎn)到該節(jié)點(diǎn)所經(jīng)歷的旅行時(shí)間,重復(fù)此過(guò)程,直至到達(dá)目的節(jié)點(diǎn),到達(dá)目的節(jié)點(diǎn)的前向Agent產(chǎn)生一個(gè)后向Agent,并將收集的信息全部傳給該Agent之后消亡,后向Agent沿同一路徑的相反方向移動(dòng),并用其攜帶的信息對(duì)所經(jīng)過(guò)的節(jié)點(diǎn)的路由表中的取向概率值和旅行時(shí)間等參數(shù)進(jìn)行更新,并通過(guò)模擬實(shí)驗(yàn)證明其性能優(yōu)于傳統(tǒng)的鏈路狀態(tài)算法與距離向量算法,但該算法只針對(duì)盡力而為的數(shù)據(jù)報(bào)傳遞,沒(méi)有考慮具有服務(wù)質(zhì)量要求的實(shí)時(shí)數(shù)據(jù)流的路由計(jì)算問(wèn)題,具有一定的局限性。
基于Agent的路由算法是人工智能在網(wǎng)絡(luò)中的一個(gè)應(yīng)用,Appleby和Steward最初提出了類(lèi)似螞蟻Agent的算法可以用于網(wǎng)絡(luò)控制如路由和負(fù)載平衡等,但是他們沒(méi)有給出實(shí)現(xiàn)原型?;谝苿?dòng)Agent的分布式QoS(服務(wù)質(zhì)量)路由計(jì)算方法,該方法采用移動(dòng)Agent搜索網(wǎng)絡(luò),尋找滿足QoS請(qǐng)求的路徑,引入移動(dòng)Agent后,系統(tǒng)更具靈活性與適應(yīng)性。
螞蟻路由是一種新穎的路由算法,它來(lái)源于生物學(xué)中蟻群搜索食物的模型。在螞蟻路由中稱(chēng)之為Agents,一群螞蟻被用來(lái)探索指定的源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的最短路徑,對(duì)于一個(gè)目的節(jié)點(diǎn),在路由表中不是具有一個(gè)固定的下一跳節(jié)點(diǎn),而是具有多個(gè)可選的下一跳節(jié)點(diǎn),每一個(gè)候選的下一跳節(jié)點(diǎn)都具有一個(gè)概率值,表示在計(jì)算最短路徑情況下該候選值被選擇的可能性。這些候選節(jié)點(diǎn)的概率值在初始時(shí)是相等的,在算法的運(yùn)行過(guò)程中,隨時(shí)被經(jīng)過(guò)的螞蟻包更新。對(duì)于一對(duì)給定的源節(jié)點(diǎn)與目的節(jié)點(diǎn),源節(jié)點(diǎn)將產(chǎn)生一定數(shù)量的螞蟻,根據(jù)它自身的路由表項(xiàng)向網(wǎng)絡(luò)發(fā)送這些螞蟻包,它們將完成探索網(wǎng)絡(luò)尋找路徑的任務(wù)。螞蟻能夠記住經(jīng)過(guò)的路徑節(jié)點(diǎn),因此當(dāng)一個(gè)螞蟻到達(dá)目的節(jié)點(diǎn)時(shí),它將能夠沿源路徑返回源節(jié)點(diǎn),在返回的過(guò)程中,螞蟻習(xí)慣于根據(jù)自身攜帶的信息狀態(tài)按照下面的規(guī)則改變它經(jīng)過(guò)的每一個(gè)節(jié)點(diǎn)的路由表。路由表的更新規(guī)則是在當(dāng)前節(jié)點(diǎn)的路由表中增加螞蟻來(lái)自的那個(gè)候選節(jié)點(diǎn)的概率值,減少其它候選節(jié)點(diǎn)的概率值,概率值較高的路徑總是被優(yōu)先選擇,這樣又增加了該路徑的選擇概率,越來(lái)越多的螞蟻將遵循這條路徑,進(jìn)一步增加了概率值,最終使得更多的螞蟻?zhàn)裱@條路徑,正是由于這種正反饋循環(huán),使得一條最好的路徑很快出現(xiàn),而且當(dāng)網(wǎng)絡(luò)負(fù)載改變一條新的最好的路徑出現(xiàn)時(shí),螞蟻會(huì)迅速認(rèn)同與加強(qiáng),因此螞蟻路由是動(dòng)態(tài)的、自適應(yīng)的,而且具有很好的擴(kuò)展性與靈活性。
以上這些都沒(méi)有用來(lái)解決QoS多播路由的約束問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的是解決QoS多播路由的約束問(wèn)題,提出一種基于Ant-Like移動(dòng)代理的QoS多播路由的方法,用它來(lái)解決實(shí)時(shí)應(yīng)用中的時(shí)延、時(shí)延振動(dòng)、寬帶和包丟失率等約束。
本發(fā)明的技術(shù)方案本發(fā)明給出一種基于Ant-Like移動(dòng)代理的QoS多播路由的方法,在網(wǎng)絡(luò)模擬器NS2下實(shí)現(xiàn)移動(dòng)代理,其特征在于一、建立網(wǎng)絡(luò)模型多播樹(shù)T(VT,ET)滿足時(shí)延約束,delay(P(s,m))≤D,Pm∈M.(1)帶寬約束bandwidth(P(s,m))≥B,e∈P(s,t) (2)式中P代表路徑,s代表源節(jié)點(diǎn),m代表目標(biāo)節(jié)點(diǎn),D代表最大延時(shí),B代表最小寬帶;
二、對(duì)NS2作以下四個(gè)方面的擴(kuò)展1)類(lèi)的擴(kuò)展在地址分類(lèi)器中擴(kuò)展移動(dòng)代理MA分類(lèi)器;2)分組擴(kuò)展在NS2的分組頭中擴(kuò)展MA頭;3)節(jié)點(diǎn)node的擴(kuò)展在原始NS2的節(jié)點(diǎn)node結(jié)構(gòu)中,增加了一種包含移動(dòng)代理的特殊數(shù)據(jù)報(bào);4)Agent的擴(kuò)展建立移動(dòng)代理執(zhí)行環(huán)境MAE,并在節(jié)點(diǎn)上加載;擴(kuò)展包括兩個(gè)部分首先是增強(qiáng)switcn_的功能,使其能判斷收到的Packet是否是移動(dòng)代理;其次是增加一個(gè)處理移動(dòng)代理數(shù)據(jù)包的MA分類(lèi)器。
本發(fā)明的優(yōu)點(diǎn)提高了移動(dòng)代理獲得最短路徑的成功率;解決了網(wǎng)絡(luò)平衡問(wèn)題。
圖1是網(wǎng)絡(luò)模型示意圖;圖2建立網(wǎng)絡(luò)模型流程圖;圖3結(jié)構(gòu)擴(kuò)展示意圖;圖4Node的擴(kuò)展示意圖。
具體實(shí)施例方式
一、理論依據(jù)本發(fā)明首先提出了多QoS約束的多播路由的網(wǎng)絡(luò)模型,QoS多播路由的目的就是在分布的網(wǎng)絡(luò)中尋找最優(yōu)路徑,要求從源節(jié)點(diǎn)出發(fā),歷經(jīng)所有的目的節(jié)點(diǎn),并且滿足所有的約束條件,達(dá)到花費(fèi)最小或達(dá)到特定的服務(wù)水平,QoS多播路由問(wèn)題是NP完全問(wèn)題。
一個(gè)網(wǎng)絡(luò)可表示成一個(gè)加權(quán)圖G=(V,E),其中V表示節(jié)點(diǎn)集,E表示連接節(jié)點(diǎn)的通信鏈路集,|V|和|E|分別表示該網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)和鏈路數(shù)。為不失一般性,只考慮這樣的一類(lèi)圖,即在該類(lèi)網(wǎng)絡(luò)中一對(duì)節(jié)點(diǎn)之間最多只有一條鏈路,鏈路旁的參數(shù)可用于描述該鏈路當(dāng)前的狀態(tài)。設(shè)T(s,M)表示多播樹(shù),其中s∈V為一棵多播樹(shù)的源節(jié)點(diǎn),M{V-{s}}為該多播樹(shù)的端節(jié)點(diǎn)或葉節(jié)點(diǎn)集,設(shè)R+為正實(shí)數(shù)集。在這里定義兩個(gè)函數(shù)c(u,v)和d(u,v),分別代表鏈路l上的代價(jià)和時(shí)延,設(shè)l=(u,v)∈E,則c(u,v) d(u,v) 其中d(u,v)包含了分組在節(jié)點(diǎn)及鏈路上的排隊(duì)、發(fā)送和傳播三部分時(shí)延,假設(shè)P(u,v)代表從節(jié)點(diǎn)u到節(jié)點(diǎn)v的一條路徑,而多播樹(shù)為T(mén),那么應(yīng)存在下列關(guān)系時(shí)延是指鏈路的時(shí)延總和,即為
delay(P(s,m))=Σl∈P(s,m)d(l),m∈M---(1-1)]]>寬帶是指鏈路的最小寬帶值,即為bandwidth(P(s,m))=min{bandwidth(e),e∈P(s,t)}(1-2)代價(jià)是指鏈路的代價(jià)總和cost(T)=Σl∈Tc(l)]]>時(shí)延及帶寬限制的代價(jià)最小多播路由問(wèn)題,給定一個(gè)網(wǎng)絡(luò)G=(V,E),多播源節(jié)點(diǎn)s∈V,多播組M{V-{s}},時(shí)延函數(shù)d(u,v)∈R+,代價(jià)函數(shù)c(u,v)∈R+,要求找到一棵從s出發(fā),連接所有目標(biāo)節(jié)點(diǎn)的多播樹(shù)T(VT,ET)滿足時(shí)延約束,delay(P(s,m))≤D,Pm∈M. (1)帶寬約束bandwidth(P(s,m))≥B,e∈P(s,t)(2)代價(jià)約束在滿足條件(1),(2)兩式的所有多播樹(shù)中,T(VT,ET)的代價(jià)cost(T)最小。
其次是提出了一種基于Ant-Like移動(dòng)代理的QoS多播路由的方法(MAMRQoS),其主要思想是根據(jù)QoS服務(wù)請(qǐng)求,讓移動(dòng)Agent在每個(gè)結(jié)點(diǎn)只沿那些滿足QoS需求的鏈路移動(dòng),搜索出滿足QoS請(qǐng)求的可行路徑,并在結(jié)點(diǎn)逐跳記錄路徑信息,為了更好地描述MAMRQoS,進(jìn)行了描述性地定義,定義包括路由表、鏈路可用帶寬表、有源路徑和路徑向量。
二具體實(shí)施方式
在NS2下實(shí)現(xiàn),移動(dòng)代理(Mobile Agents)是近年來(lái)迅速發(fā)展的研究課題,它具有獨(dú)特的自主性、智能性和移動(dòng)性為分布式計(jì)算和網(wǎng)絡(luò)控制引入了一種全新的模型。為使模擬軟件能適應(yīng)多種網(wǎng)絡(luò)環(huán)境,通過(guò)成熟的通用網(wǎng)絡(luò)仿真工具的擴(kuò)展進(jìn)行開(kāi)發(fā),應(yīng)是一種高效而又可靠的方法,首選的通用仿真工具是NS2模擬軟件。
1.Mobile Agents模型的建立,如圖1所示建立模型并實(shí)現(xiàn)移動(dòng)代理,該模型可以模擬真實(shí)移動(dòng)代理的行為,如預(yù)定任務(wù)的執(zhí)行、訪問(wèn)當(dāng)前節(jié)點(diǎn)、主動(dòng)遷移等。
建立網(wǎng)絡(luò)模型多播樹(shù)T(VT,ET)滿足時(shí)延約束,delay(P(s,m))≤D,Pm∈M. (1)帶寬約束bandwidth(P(s,m))≥B,e∈P(s,t)(2)式中P代表路徑,s代表源節(jié)點(diǎn),m代表目標(biāo)節(jié)點(diǎn),D代表最大延時(shí),B代表最小寬帶。
具體如圖2建立網(wǎng)絡(luò)模型流程圖初始化后利用矩陣公式pt’rs計(jì)算滿足(1)、(2)兩式條件的所有節(jié)點(diǎn);調(diào)整參數(shù),再計(jì)算,取達(dá)到代價(jià)最小的所有節(jié)點(diǎn);利用滿足(1)、(2)兩式條件代價(jià)最小的所有節(jié)點(diǎn)生成多播樹(shù)。
最后對(duì)MAMRQoS實(shí)現(xiàn)進(jìn)行描述,實(shí)現(xiàn)的主要偽代碼如下在QoSMRMA中,是通過(guò)一個(gè)簡(jiǎn)單的移動(dòng)代理來(lái)實(shí)現(xiàn)的,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)假定保存所需的自動(dòng)回歸的參數(shù),當(dāng)前所處地址(address)和當(dāng)前的最小代價(jià)(cost),當(dāng)網(wǎng)絡(luò)拓?fù)鋭?chuàng)建后,網(wǎng)絡(luò)id就確定,最小代價(jià)(cost)的更新是通過(guò)代理訪問(wèn)節(jié)點(diǎn)和調(diào)整參數(shù)b的值來(lái)實(shí)現(xiàn)的,因此算法的主要偽代碼可表示為switch(主要循環(huán)的控制)case初始化(tabulist,t)tabulist={};t=當(dāng)前時(shí)間L_min=0;home_node=current_node.address;b=初值;breakcase向前搜索(tabulist,current_node.address,s)L_min=Min(L_min,current_node.L_min);r=current_node.address;p(s)=計(jì)算pt,rs;X=(0.0,1.0);if(X<p(s)) //s是鄰居節(jié)點(diǎn)移到節(jié)點(diǎn)s;else p(s)=0L_min=計(jì)算代價(jià)(cost)的值end ifbreakcase 調(diào)整參數(shù)(b)b=重新賦值;//重新賦值>初值
rt+1、rt+1和cost的參數(shù)值breakcase返回while(如果tabulist不為空)s=current_node;移動(dòng)到tabulist的最后一個(gè)節(jié)點(diǎn)r=current_node;升級(jí)Pt’rs其中rt+1路徑向量,Pt’rs信息素變化矩陣。
以上代碼可用邏輯圖表示如下2.根據(jù)移動(dòng)代理運(yùn)行環(huán)境的功能需求,分析NS2的現(xiàn)有功能和結(jié)構(gòu)特點(diǎn)和多QoS約束的多播路由算法特點(diǎn),NS2需要作以下四個(gè)方面的擴(kuò)展。
1)結(jié)構(gòu)的擴(kuò)展NS2通過(guò)Tclcl將C++和Otcl兩種語(yǔ)言中的對(duì)象和變量連接起來(lái),NS2的構(gòu)件庫(kù)是一個(gè)層次結(jié)構(gòu),其中的構(gòu)件通常都是由相互關(guān)聯(lián)的兩個(gè)類(lèi)來(lái)實(shí)現(xiàn)的,一個(gè)在C++中,另一個(gè)在Otcl中,因此,NS2中就包含了一個(gè)C++類(lèi)的層次結(jié)構(gòu)和一個(gè)Otcl類(lèi)的層次結(jié)構(gòu),構(gòu)件的主要功能由C++程序?qū)崿F(xiàn),Otcl中的類(lèi)則主要提供C++對(duì)象面向用戶(hù)的配置接口。
如圖3所示在NS2中,一個(gè)節(jié)點(diǎn)Node包含一個(gè)地址分類(lèi)器classifier_、類(lèi)型(多播、單播和移動(dòng)代理MA)分類(lèi)器或一個(gè)端口分類(lèi)器dmux_,它們的作用是將進(jìn)來(lái)的數(shù)據(jù)包分發(fā)到正確的鏈路、agent或者移動(dòng)代理上,對(duì)類(lèi)地址AddressClassifier進(jìn)行擴(kuò)展,派生出類(lèi)MAAddressClassifier,下面是對(duì)地址分類(lèi)器的擴(kuò)展class SwitchClassifierpublic Classifier{public……SwitchClassifier()mask_(:0),shift_(0){}……}class_switch_classifier;2)分組(Packet)的擴(kuò)展
如圖2在NS2的網(wǎng)絡(luò)模擬中,分組(Packet)對(duì)象間交互的基本單元,它由一系列分組頭和一個(gè)可選的數(shù)據(jù)空間組成,分組頭的結(jié)構(gòu)在Simulator對(duì)象創(chuàng)建時(shí)就被初始化,同時(shí)每個(gè)分組頭相對(duì)于分組的起始地址的偏移量也被記錄下來(lái),在這里NS2的分組頭就包括commom頭、IP頭、TCP頭、RTP頭、MA頭和trace頭,這意味著在缺省情況下無(wú)論某個(gè)分組頭是否會(huì)被使用,它都會(huì)被初始化。用戶(hù)可以為新的協(xié)議定義自己的分組頭,也可以通過(guò)增加域的方式擴(kuò)展現(xiàn)有的分組頭。添加新分組頭的方法,就是先在C++中定義包含所需的域結(jié)構(gòu)(structure),再定義一個(gè)static類(lèi)來(lái)提供到Otcl的連接,然后修改一些模擬的初始化代碼來(lái)指定新分組頭在分組中的字節(jié)偏移量。
編輯NS2源代碼中的相關(guān)文件(如ns-packet.tcl等),以使這個(gè)新的頭部結(jié)構(gòu)在NS2啟動(dòng)的時(shí)候自動(dòng)加載并初始化,因此分組頭的主要部分可表示為enum packet_t{……PT_MA,……};……class p_info{publicp_info(){……name_[PT_MA]=″ma″;……}};3)Node的擴(kuò)展,如圖3在原始NS2的節(jié)點(diǎn)node結(jié)構(gòu)中,一個(gè)數(shù)據(jù)報(bào)到達(dá)該節(jié)點(diǎn)之后,首先判斷是單播數(shù)據(jù)報(bào)還是多播數(shù)據(jù)報(bào),并據(jù)此將數(shù)據(jù)報(bào)傳遞給相應(yīng)的單播模塊或者多播模塊。由于現(xiàn)在增加了一種包含移動(dòng)代理的特殊數(shù)據(jù)報(bào),因此就需要修改原來(lái)的節(jié)點(diǎn)結(jié)構(gòu),當(dāng)判斷收到一個(gè)移動(dòng)代理類(lèi)型的數(shù)據(jù)報(bào)時(shí),應(yīng)將其傳遞到該節(jié)點(diǎn)的移動(dòng)代理執(zhí)行環(huán)境(MAE)中運(yùn)行。
4)Agent的擴(kuò)展建立MAE,并在節(jié)點(diǎn)上加載。當(dāng)移動(dòng)代理遷移到加載了MAE的節(jié)點(diǎn)之后,就可以在其上運(yùn)行。在NS2中,將節(jié)點(diǎn)中處理各種協(xié)議數(shù)據(jù)包的功能組件稱(chēng)為“代理”(Agent),因此,從最基本的Agent派生出可以支持移動(dòng)代理運(yùn)行的Agent作為MAE。
如圖3所示,擴(kuò)展包括兩個(gè)部分首先是增強(qiáng)switch_的功能,使其能判斷收到的Packet是否是移動(dòng)代理;其次是增加一個(gè)處理移動(dòng)代理數(shù)據(jù)包的MA分類(lèi)器。當(dāng)switch_判定一個(gè)Packet是移動(dòng)代理后,就將其傳送給MA分類(lèi)器,然后由后者將移動(dòng)代理傳送給附著在該節(jié)點(diǎn)上的MAE,其后,MAE就可以調(diào)用移動(dòng)代理的Activate函數(shù)將其激活。此外,還可以指定一個(gè)節(jié)點(diǎn)是否能加載MAE。移動(dòng)代理只能在加載了MAE的節(jié)點(diǎn)上運(yùn)行,而在沒(méi)有加載MAE的節(jié)點(diǎn)中,移動(dòng)代理將作為普通數(shù)據(jù)報(bào)處理。
二.MAMRQoS在NS2中的實(shí)現(xiàn)NS2的體系結(jié)構(gòu)是開(kāi)放的,所以它允許研究者為其添加新的功能,實(shí)現(xiàn)新的網(wǎng)絡(luò)拓樸結(jié)構(gòu)和新的流量模型。NS使用兩種語(yǔ)言,C++和Otcl,C++程序運(yùn)行速度比較快,是強(qiáng)制類(lèi)型語(yǔ)言,需要進(jìn)行嚴(yán)格的數(shù)據(jù)類(lèi)型檢查,容易實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)類(lèi)型,容易實(shí)現(xiàn)精確的、復(fù)雜的算法,但是修改、debug和重新編譯所花費(fèi)的時(shí)間要長(zhǎng)一些,因此C++適應(yīng)于具體的協(xié)議的實(shí)現(xiàn)。Otcl運(yùn)行較慢,但是很方便地進(jìn)行交互式修改,不需要編譯,而且不是強(qiáng)制類(lèi)型,不易出錯(cuò),它適應(yīng)用來(lái)做模擬配置。在做模擬配置根據(jù)的任務(wù)選擇不同語(yǔ)言來(lái)實(shí)現(xiàn),新的代碼添加到NS2體系中,來(lái)實(shí)現(xiàn)對(duì)Ant-like移動(dòng)代理的QoS多播路由算法的仿真。由于要實(shí)現(xiàn)的是Ant-like移動(dòng)代理的QoS機(jī)制,編寫(xiě)具有Mobile Agent機(jī)制的軟件,然后添加到NS2中,進(jìn)行仿真與模擬。
三.仿真結(jié)果通過(guò)對(duì)Ant、OQMRA和MAMRQoS三者的仿真比較來(lái)評(píng)估算法的平均性能,在仿真實(shí)驗(yàn)中由改進(jìn)的NS2軟件包生成,節(jié)點(diǎn)數(shù)為50,端到端的延遲由發(fā)送延遲和線路傳播延遲決定,主要比較了3種算法在不同網(wǎng)絡(luò)負(fù)載情況下的平均接通率和相應(yīng)的通信開(kāi)銷(xiāo),曲線上每點(diǎn)是20次仿真結(jié)果的平均值,每次仿真產(chǎn)生100連接請(qǐng)求,請(qǐng)求的產(chǎn)生服從以下規(guī)律,呼叫的源和目的對(duì)以均勻的概率隨機(jī)地從節(jié)點(diǎn)集中選取,呼叫請(qǐng)求的帶寬、持續(xù)時(shí)間、端到端的最大允許延遲均服從均勻分布。通過(guò)實(shí)驗(yàn)證明,OQMRA不僅可以有效地提高網(wǎng)絡(luò)數(shù)據(jù)包的傳輸質(zhì)量,而且還可以大大節(jié)約路由選擇時(shí)間,很快找到最優(yōu)解(或近優(yōu)解),OQMRA還可以實(shí)現(xiàn)全局優(yōu)化。根據(jù)螞蟻移動(dòng)代理QoS多播路由的特點(diǎn),提出了MAMRQoS的方法,仿真結(jié)果表明,MAMRQoS很好地解決了網(wǎng)絡(luò)平衡問(wèn)題,為解決多約束的QoS多播路由問(wèn)題提供一個(gè)新的思維方法。
權(quán)利要求
1.一種基于Ant-Like移動(dòng)代理的QoS多播路由的方法,在網(wǎng)絡(luò)模擬器NS2下實(shí)現(xiàn)移動(dòng)代理,其特征在于一、建立網(wǎng)絡(luò)模型多播樹(shù)T(VT,ET)滿足時(shí)延約束,delay(P(s,m))≤D,Pm∈M. (1)帶寬約束bandwidth(P(s,m))≥B,e∈P(s,t) (2)式中P代表路徑,s代表源節(jié)點(diǎn),m代表目標(biāo)節(jié)點(diǎn),D代表最大延時(shí),B代表最小寬帶;二、對(duì)NS2作以下四個(gè)方面的擴(kuò)展1)類(lèi)的擴(kuò)展在地址分類(lèi)器中擴(kuò)展移動(dòng)代理MA分類(lèi)器;2)分組擴(kuò)展在NS2的分組頭中擴(kuò)展MA頭;3)節(jié)點(diǎn)node的擴(kuò)展在原始NS2的節(jié)點(diǎn)node結(jié)構(gòu)中,增加了一種包含移動(dòng)代理的特殊數(shù)據(jù)報(bào);4)Agent的擴(kuò)展建立移動(dòng)代理執(zhí)行環(huán)境MAE,并在節(jié)點(diǎn)上加載;擴(kuò)展包括兩個(gè)部分首先是增強(qiáng)switch_的功能,使其能判斷收到的Packet是否是移動(dòng)代理;其次是增加一個(gè)處理移動(dòng)代理數(shù)據(jù)包的MA分類(lèi)器。
全文摘要
本發(fā)明給出一種基于Ant-Like移動(dòng)代理的QoS多播路由的方法,在網(wǎng)絡(luò)模擬器NS2下實(shí)現(xiàn)移動(dòng)代理,包括一、建立網(wǎng)絡(luò)模型多播樹(shù)T(V
文檔編號(hào)H04L12/56GK1710885SQ20051001898
公開(kāi)日2005年12月21日 申請(qǐng)日期2005年6月24日 優(yōu)先權(quán)日2005年6月24日
發(fā)明者李臘元, 李春林, 許毅 申請(qǐng)人:武漢理工大學(xué)