李海艦
摘要:隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大、應(yīng)用性的增加,導(dǎo)致網(wǎng)絡(luò)擁塞可能性增大。為解決Web服務(wù)器前可能存在的擁塞,本文提出了一種基于多Agent的網(wǎng)絡(luò)擁塞控制模型。研究了擁塞控制方法,并對(duì)隊(duì)列管理、調(diào)度策略等關(guān)鍵技術(shù)進(jìn)行了討論,給出了相關(guān)的算法。
關(guān)鍵詞:網(wǎng)絡(luò)擁塞;muti-Agent;Qos
1引言
隨著Web應(yīng)用和HTTP請(qǐng)求的爆炸性增長(zhǎng),ISP服務(wù)提供商所提供的服務(wù)的多樣化,多媒體應(yīng)用的急劇發(fā)展,使得目前許多熱門(mén)的Web服務(wù)器都經(jīng)常面臨嚴(yán)峻考驗(yàn),嚴(yán)重情況下,服務(wù)器可能出現(xiàn)延遲服務(wù)或者由超載引起癱瘓的問(wèn)題,如何在服務(wù)器端處理好網(wǎng)絡(luò)請(qǐng)求量過(guò)大,數(shù)據(jù)傳輸過(guò)多等造成的ISP源端網(wǎng)絡(luò)擁塞,如何控制擁塞,滿足網(wǎng)絡(luò)Qos和為用戶提供優(yōu)質(zhì)的網(wǎng)絡(luò)服務(wù)是現(xiàn)在迫切需要解決的一個(gè)問(wèn)題。 為了解決這些問(wèn)題,本文提出了基于多Agent的網(wǎng)絡(luò)擁塞控制方法。該方法充分利用Agent的社會(huì)性、自主性和智能性,通過(guò)各個(gè)Agent的功能實(shí)現(xiàn),相互協(xié)調(diào)來(lái)解決Web服務(wù)器端出現(xiàn)的網(wǎng)絡(luò)擁塞,保證服務(wù)質(zhì)量。
2基于多Agent的網(wǎng)絡(luò)擁塞控制模型
Agent具有自主性、交互性、主動(dòng)性和反應(yīng)性等,它不僅能作用于自身,而且可以施動(dòng)作于環(huán)境,并能接收環(huán)境的反饋信息,重新評(píng)估自己的行為;同時(shí),它能與其他Agent協(xié)同工作。
2.1 基本模型
當(dāng)網(wǎng)絡(luò)服務(wù)的請(qǐng)求過(guò)多或服務(wù)器過(guò)載時(shí),多Agent系統(tǒng)對(duì)所引發(fā)的擁塞狀態(tài)進(jìn)行監(jiān)測(cè),并通過(guò)擁塞控制策略,管理請(qǐng)求隊(duì)列,合理分配帶寬,提高服務(wù)器性能,滿足Qos需求。
該多代理系統(tǒng),主要有以下幾個(gè)部分組成:
(1)功能代理:完成特定功能的代理,在此系統(tǒng)中,主要分為三類代理—監(jiān)測(cè)代理、控制代理和執(zhí)行代理。這些功能代理負(fù)責(zé)對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行監(jiān)測(cè),獲取系統(tǒng)相關(guān)信息,然后交由控制代理來(lái)進(jìn)行處理,通過(guò)執(zhí)行代理來(lái)執(zhí)行請(qǐng)求服務(wù)。
(2)代理通信語(yǔ)言:代理通信語(yǔ)言(ACL)是代理之間進(jìn)行知識(shí)共享和知識(shí)交換的協(xié)議性語(yǔ)言。通常使用的代理通信語(yǔ)言包括兩種:知識(shí)查詢與操作語(yǔ)言(KQML)和FIPA ACL。
(3)知識(shí)庫(kù):包括規(guī)則庫(kù)和事例庫(kù)。規(guī)則庫(kù)存放代理執(zhí)行時(shí)必須執(zhí)行的規(guī)則,事例庫(kù)存放存在的事例,供代理學(xué)習(xí)。知識(shí)庫(kù)的更新及維護(hù)主要通過(guò)網(wǎng)絡(luò)管理員管理和代理通過(guò)事例和事件學(xué)習(xí)累積。
2.2 Agent功能
監(jiān)測(cè)代理主要負(fù)責(zé)監(jiān)聽(tīng)信道和網(wǎng)絡(luò)設(shè)備,完成對(duì)服務(wù)器請(qǐng)求數(shù)據(jù)包的統(tǒng)計(jì)和相關(guān)數(shù)據(jù)的收集。主要職責(zé)包括TCP連接信息,解析數(shù)據(jù)包,分析并記錄服務(wù)請(qǐng)求類型,數(shù)量以及可能需要的帶寬,并提交給控制代理。
控制代理:分析由檢測(cè)模塊上傳的服務(wù)請(qǐng)求數(shù)據(jù),判別鏈路擁塞情況,在盡量滿足用戶需求的情況下,由擁塞的程度,服務(wù)請(qǐng)求的優(yōu)先級(jí)以及請(qǐng)求數(shù)據(jù)的大小,分配合適的帶寬,建立請(qǐng)求隊(duì)列。
執(zhí)行代理:負(fù)責(zé)建立調(diào)度策略庫(kù),針對(duì)各種網(wǎng)絡(luò)擁塞情況以及隊(duì)列,給出合適的調(diào)度,以響應(yīng)Http請(qǐng)求。
2.3 Agent之間的協(xié)調(diào)
Agent之間通過(guò)代理通信語(yǔ)言,將各自無(wú)法完成的任務(wù)或者是需要發(fā)送的信息,進(jìn)行協(xié)調(diào)。在該系統(tǒng)中,監(jiān)測(cè)代理將監(jiān)聽(tīng)到的數(shù)據(jù)發(fā)送給控制代理,控制代理根據(jù)策略庫(kù)進(jìn)行排隊(duì)、分配帶寬,并將這些策略發(fā)送給執(zhí)行代理,由執(zhí)行代理完成調(diào)度工作,響應(yīng)Http的請(qǐng)求。
在擁塞控制過(guò)程中,如果處于某種特殊情況時(shí),各Agent可以再次協(xié)商,重新排隊(duì),分配帶寬以及合理調(diào)度。
2.4知識(shí)庫(kù)的建立
在知識(shí)庫(kù)的建立是通過(guò)Agent的學(xué)習(xí)過(guò)程,在各Agent中都有相應(yīng)事件的策略,當(dāng)某類事件的發(fā)生在所列策略庫(kù)以外,則其自動(dòng)建立新的策略,并協(xié)商其他Agent建立各自的策略。
3擁塞控制
當(dāng)網(wǎng)絡(luò)中存在過(guò)多的報(bào)文時(shí),網(wǎng)絡(luò)的性能會(huì)下降,網(wǎng)絡(luò)擁塞時(shí),發(fā)送端吞吐量下降,分組的時(shí)延增加,在路由器中分組的丟棄概率增大等等。
擁塞產(chǎn)生的根本原因在于用戶提供給網(wǎng)絡(luò)的負(fù)載大于網(wǎng)絡(luò)資源容量和處理能力。也就是說(shuō),網(wǎng)絡(luò)的資源與網(wǎng)絡(luò)的流量不均衡,用戶對(duì)網(wǎng)絡(luò)的需求和網(wǎng)絡(luò)的供給不匹配,將會(huì)產(chǎn)生擁塞。
3.1 基于多Agent的網(wǎng)絡(luò)擁塞控制策略
ISP為用戶提供服務(wù),用戶總希望在最短的時(shí)間里得到更好更快的服務(wù),但是現(xiàn)在的網(wǎng)絡(luò)瓶頸無(wú)法滿足用戶的全部需求,所以只能盡量滿足,目前所使用的網(wǎng)絡(luò)擁塞控制方法都是基于TCP/IP來(lái)做的。
本模型將擁塞控制系統(tǒng)建立在服務(wù)器端,通過(guò)多Agent協(xié)作,來(lái)處理服務(wù)請(qǐng)求,使帶寬最大程度的使用。
3.2 擁塞判別算法
通常ISP能提供的主干帶寬是一定的。我們將擁塞狀態(tài)劃分為四種:無(wú)擁塞、輕度擁塞、中度擁塞、嚴(yán)重?fù)砣?/p>
依據(jù)Red算法的核心思想,選取ISP出口輸出隊(duì)列長(zhǎng)度為判別依據(jù),通過(guò)SNMP輪詢ISP至廣域網(wǎng)端口MIB庫(kù)中的對(duì)象ifOutQlen來(lái)取得L值.令L表示出口輸出隊(duì)列當(dāng)前長(zhǎng)度,L1,L2 和 L3分別表示相應(yīng)的擁塞判別閾值,擁塞狀態(tài)判別規(guī)則為:
3.2.1無(wú)擁塞,0≤L 3.2.2輕度擁塞,L1≤L 3.2.3中度擁塞,L2≤L 3.2.4嚴(yán)重?fù)砣?,L3≤L;此時(shí)吞吐率急劇下降,必須采用丟包等較強(qiáng)控制手段來(lái)保證網(wǎng)絡(luò)的正常運(yùn)行。令L 為ISP出口輸出隊(duì)列允許的最大長(zhǎng)度,L1,L2和L3的求取規(guī)則為:L1=L×40%;L2=L×60%;L3=L×95%。 3.3 擁塞控制相關(guān)流量統(tǒng)計(jì) 通過(guò)解析捕獲的IP數(shù)據(jù)包,可以獲得Web服務(wù)器的所有TCP連接請(qǐng)求及帶寬需求信息,形成TCP連接統(tǒng)計(jì)表.該表包括源IP,目的IP,源端口,目的端口,應(yīng)用類型,數(shù)據(jù)量以及Contral Flag。該表記錄了TCP連接及這些連接在SNMP輪詢間隔內(nèi)的流量統(tǒng)計(jì)信息。數(shù)據(jù)量字段給出了在給定統(tǒng)計(jì)時(shí)間內(nèi),當(dāng)前TCP連接的會(huì)話數(shù)據(jù)量總和;應(yīng)用類型字段給出了由目的端口中的熟知端口所代表的公共應(yīng)用服務(wù);Contral Flag 控制標(biāo)記中的Urgent data ,如果URG為1,表示這是一個(gè)攜有緊急資料的封包。 3.4 隊(duì)列管理 隊(duì)列管理是通過(guò)選擇何時(shí)丟棄何種業(yè)務(wù)流分組來(lái)控制隊(duì)列長(zhǎng)度。 分類機(jī)制分為兩大類: 3.4.1基于客戶的分類 基于客戶的分類是根據(jù)客戶某些特有的屬性和特征來(lái)進(jìn)行分類,具體包括: 基于客戶端IP地址的分類 基于HTTP cookie分類 基于Web瀏覽器即Plug-ins插件的分類 3.4.2基于目標(biāo)的分類 基于請(qǐng)求目標(biāo)的分類是根據(jù)請(qǐng)求的目標(biāo)所特有的一些屬性和特征來(lái)進(jìn)行分類,具體包括 基于請(qǐng)求URL的分類 基于目標(biāo)IP地址或端口號(hào) 采用優(yōu)先級(jí)隊(duì)列的形式,解決網(wǎng)絡(luò)擁塞。由D-Agent檢測(cè)信道的閑與忙,當(dāng)信道閑時(shí),ISP以最快的速度滿足用戶請(qǐng)求;信道忙時(shí),擬采取優(yōu)先級(jí)隊(duì)列的方法,重新排列隊(duì)列,分配帶寬;根據(jù)ISP提供的各種服務(wù),分配原始帶寬和優(yōu)先級(jí);通過(guò)對(duì)TCP連接信息統(tǒng)計(jì)表,按IP段分類并計(jì)算這N個(gè)IP段各自實(shí)際占用帶寬比例。然后,計(jì)算各IP段超過(guò)預(yù)定義帶寬的百分比,值越越大,說(shuō)明IP段超出預(yù)分配流量越大,相應(yīng)IP地址所建立的TCP連接優(yōu)先級(jí)越低,進(jìn)入較低優(yōu)先級(jí)隊(duì)列;反之進(jìn)入較高優(yōu)先級(jí)隊(duì)列.如此就可以形成優(yōu)先級(jí)隊(duì)列.另外如果在TCP連接統(tǒng)計(jì)表中某IP請(qǐng)求Contral Flag值為1時(shí),將其優(yōu)先級(jí)設(shè)為最高,其它類推。 3.5 調(diào)度策略 執(zhí)行代理使用請(qǐng)求調(diào)度策略從中選擇請(qǐng)求進(jìn)行服務(wù),為每類服務(wù)提供不同的服務(wù)級(jí)別。常用的調(diào)度策略有: 3.5.1絕對(duì)優(yōu)先級(jí):總是調(diào)度優(yōu)先級(jí)最高的請(qǐng)求,然后再處理低優(yōu)先級(jí)請(qǐng)求。 3.5.2加權(quán)優(yōu)先級(jí):根據(jù)客戶請(qǐng)求的加權(quán)重要程度進(jìn)行選擇服務(wù)。 3.5.3共享容量:根據(jù)某一事先設(shè)定好的系統(tǒng)資源容量對(duì)每類請(qǐng)求進(jìn)行調(diào)度,任何未使用的系統(tǒng)資源可以分給其它類請(qǐng)求。 3.6 控制策略 3.6.1無(wú)擁塞或輕度擁塞 不啟動(dòng)網(wǎng)絡(luò)擁塞控制,保證通信效率 3.6.2中度擁塞需要實(shí)施流量控制來(lái)緩解擁塞.根據(jù)TCP流量統(tǒng)計(jì)表形成優(yōu)先級(jí)隊(duì)列,向優(yōu)先級(jí)隊(duì)列中記錄的TCP連接發(fā)送ICMP源站抑制報(bào)文,減小TCP連接發(fā)送窗口大小,以達(dá)到流量控制的目的 3.6.3嚴(yán)重?fù)砣趪?yán)重?fù)砣麪顩r下,對(duì)各個(gè)隊(duì)列內(nèi)TCP連接發(fā)送ICMP源站抑制報(bào)文的同時(shí),還要通過(guò)發(fā)送TCPRST來(lái)斷開(kāi)各個(gè)隊(duì)列相應(yīng)分類對(duì)象新的連接請(qǐng)求以達(dá)到擁塞控制的目的. 4小結(jié) 本文運(yùn)用多Agent的方法對(duì)擁塞進(jìn)行控制是可行的,Agent具有自主性、交互性、主動(dòng)性和反應(yīng)性等,都符合網(wǎng)絡(luò)智能化的需求,如果在策略庫(kù)上增加更加豐富的學(xué)習(xí)庫(kù),可增加擁塞控制的靈活性,但是可能會(huì)影響通信效率。 參考文獻(xiàn): [1]Stevens W R,陸雪瑩,蔣慧等譯.TCP/IP詳解(卷1:協(xié)議).北京:機(jī)械工業(yè)出版社,2000. [2]溫文.網(wǎng)絡(luò)擁塞的解決措施及實(shí)例分析設(shè)計(jì),計(jì)算機(jī)時(shí)代,2005(3). [3]范玉順,曹軍威.多代理系統(tǒng)理論、方法與應(yīng)用.清華大學(xué)出版社,2002. [4]Ramadas Shanmuam、 R.Padmini、S.Nivedita、NIIT公司.TCP/IP詳解.電子工業(yè)出版社, 2004. [5]肖道舉,王悅,陳曉蘇.基于偵聽(tīng)機(jī)制的網(wǎng)絡(luò)擁塞控制模型.華中科技大學(xué)學(xué)報(bào),2003(8). [6]Barford P.Critical path analysis of TCP transactions.IEI、E/ACM Transactionson Networking,2001,9(3):238~248. [7]林闖,單志廣,任豐原.計(jì)算機(jī)網(wǎng)絡(luò)的服務(wù)質(zhì)量.清華大學(xué)出版社,2004.