吳瑤 王欣 夏巍
當(dāng)前TCP網(wǎng)絡(luò)規(guī)模迅速擴(kuò)大,數(shù)據(jù)傳輸速率不斷提高,網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量也成級(jí)數(shù)式增長(zhǎng),這種情況下,很容易出現(xiàn)數(shù)據(jù)分組的丟失,造成網(wǎng)絡(luò)擁塞,致使部分乃至全網(wǎng)絡(luò)性能惡化,甚至發(fā)生死鎖,因此對(duì)網(wǎng)絡(luò)擁塞現(xiàn)象的控制具有迫切的現(xiàn)實(shí)意義。針對(duì)計(jì)算機(jī)網(wǎng)絡(luò)這一復(fù)雜的系統(tǒng),從控制理論的角度去研究擁塞問題已經(jīng)成為當(dāng)前研究的熱點(diǎn),人們也陸續(xù)提出了一些主動(dòng)隊(duì)列管理(active queue management,AQM)算法,其中最著名的AQM算法是Floyd提出的隨機(jī)早檢測(cè)(random early dete?tion,RED)算法[1],目前 IETF[RFC 2309]已推薦在因特網(wǎng)中的路由器使用RED機(jī)制。但RED算法在不同的網(wǎng)絡(luò)環(huán)境下參數(shù)很難調(diào)節(jié),且對(duì)網(wǎng)絡(luò)負(fù)載非常敏感,為克服上述問題,文獻(xiàn)[2]采用控制理論的方法分析RED,對(duì)RED進(jìn)行了更為深入的研究,文獻(xiàn)[3]設(shè)計(jì)了一種PI控制器作為新的AQM方法,但這些方法是基于確定的線性化TCP模型,對(duì)于TCP/IP網(wǎng)絡(luò)中存在的模型不確定性、網(wǎng)絡(luò)參數(shù)時(shí)變性并不適用。
滑??刂疲⊿MC)方法通過控制量的切換使系統(tǒng)狀態(tài)沿著滑模面滑動(dòng),使系統(tǒng)在受到參數(shù)攝動(dòng)和外干擾的時(shí)候具有不變性,因此非常適合在擁塞控制中采用該方法。目前SMC在網(wǎng)絡(luò)擁塞控制中已有應(yīng)用[4~6],同時(shí)反步法在實(shí)現(xiàn)不確定非線性系統(tǒng)(特別是當(dāng)干擾或不確定性不滿足匹配條件時(shí))魯棒控制或自適應(yīng)控制方面有著明顯的優(yōu)越性[7~11],文獻(xiàn)[4]采用基于反步法的滑??刂扑惴ú⒔Y(jié)合自適應(yīng)理論提出了一種自適應(yīng)滑模控制器,但是反步法本身對(duì)虛擬控制求導(dǎo)過程中引起的項(xiàng)數(shù)膨脹及由項(xiàng)數(shù)膨脹引起的問題沒有很好的解決辦法。本文采用動(dòng)態(tài)面的控制方法,利用一階積分濾波器來計(jì)算虛擬控制的導(dǎo)數(shù),消除微分項(xiàng)的膨脹,使控制器和參數(shù)設(shè)計(jì)簡(jiǎn)單,并結(jié)合滑模控制算法,實(shí)現(xiàn)TCP網(wǎng)絡(luò)主動(dòng)隊(duì)列管理動(dòng)態(tài)面滑??刂破鞯脑O(shè)計(jì)。
文獻(xiàn)[12]中,采用AIMD分析方法,建立了N個(gè)TCP連接共享一個(gè)瓶頸路由器的非線性動(dòng)態(tài)模型如下
式中,r(t)為TCP連接的源端數(shù)據(jù)發(fā)送速率,q(t)為路由器的瞬間隊(duì)列長(zhǎng)度,N(t)為TCP連接的負(fù)載因子,R(t)為往返時(shí)延,Tp為傳播時(shí)延,C0為鏈路帶寬,0≤p(t)≤1為分組丟棄/標(biāo)記概率。
取eq=q()t-qd,qd為期望隊(duì)列長(zhǎng)度。記x1=eq,x2=e˙q,則式(1)可表示為
其中:
文獻(xiàn)[4]中,考慮到TCP網(wǎng)絡(luò)系統(tǒng)模型具有很強(qiáng)的不確定性、非線性以及附加干擾,定義R(t)的參考值為Rˉ,N(t)的參考值為Nˉ,進(jìn)一步將模型式(3)描述為如下形式:
下一步是結(jié)合動(dòng)態(tài)面和滑??刂品椒?,設(shè)計(jì)一個(gè)動(dòng)態(tài)面滑??刂破鳎瓜到y(tǒng)的使隊(duì)列長(zhǎng)度迅速穩(wěn)定在期望值附近,并維持較小的隊(duì)列震蕩,具有較好的魯棒性。
步驟1:定義位置誤差為
則 z˙1=x˙1。
定義Lyapunov函數(shù)為
則 V˙1=z1z˙1=z1x2。
定義
則V˙1=z1(z2+ α1)。
在反步法設(shè)計(jì)中,通常取a1=-c1z1,導(dǎo)致求a˙1時(shí)出現(xiàn)微分爆炸。通過采用低通濾波器可克服這一缺點(diǎn),取 α1為 xˉ2的低通濾波器的輸出,定義 xˉ2=-c1z1,并滿足:
步驟2:結(jié)合滑模變結(jié)構(gòu)控制定義滑模面為s=z2,考慮到位置誤差、虛擬控制和濾波誤差,定義Lyapunov函數(shù):
則
其中 B2=c1z˙1。
由于
上式說明B2為z1、z2和 y2的函數(shù)。
設(shè)計(jì)控制器為
定理 取V(0)≤p,p>0,則閉環(huán)系統(tǒng)所有信號(hào)有界,收斂。
取
則
上式說明V也在緊集之內(nèi),即如果V(0)≤p,則V(t)≤p。定理得證。即針對(duì)非線性系統(tǒng)模型式(4),采用控制律式(9),取V(0)≤p,p>0,則閉環(huán)系統(tǒng)所有信號(hào)有界且收斂。
仿真中,取 Nˉ=100,Rˉ=0.2s,C0=1250分組/s,qd=100分組,系統(tǒng)總不確定性干擾取一組隨機(jī)數(shù)d(t)∈[-2,2],取 p=1,r=1。采用控制律式(9),采用飽和函數(shù)式(12)代替切換函數(shù):
取 Δ=0.02,D=2,η=2+0.1,按式(10),取τ=0.01,c1=1.5+r=2.5,c2=1+r=2,仿真結(jié)果如圖1至圖4所示。
圖1 參數(shù)固定時(shí)隊(duì)列長(zhǎng)度
圖3 參數(shù)變化時(shí)隊(duì)列長(zhǎng)度
圖4 參數(shù)變化時(shí)分組丟棄/標(biāo)記概率
由圖1和圖2可以看出,在網(wǎng)絡(luò)參數(shù)固定時(shí),所設(shè)計(jì)的動(dòng)態(tài)面滑模控制器,能迅速使隊(duì)列長(zhǎng)度穩(wěn)定在期望值附近,且分組丟棄/標(biāo)記概率合理有效,最后穩(wěn)定在一個(gè)小于1的恒定值附近。由圖3和圖4可以看出,在網(wǎng)絡(luò)參數(shù)變化的情況下,所設(shè)計(jì)控制器仍能快速有效的控制系統(tǒng)穩(wěn)定,且隊(duì)列長(zhǎng)度和分組丟棄/標(biāo)記概率抖動(dòng)輕微,表現(xiàn)出了對(duì)系統(tǒng)不確定性具有較強(qiáng)的魯棒性。對(duì)比文獻(xiàn)[4]中所示的PI控制器及常規(guī)滑??刂破鞯姆抡娼Y(jié)果,在收斂速度及抖振幅度上,本文所設(shè)計(jì)的控制器控制效果明顯更好,且消除了微分項(xiàng)的膨脹,使控制器和參數(shù)設(shè)計(jì)更加簡(jiǎn)單。
針對(duì)TCP網(wǎng)絡(luò)中的擁塞問題,本文提出了一種基于動(dòng)態(tài)面滑??刂频闹鲃?dòng)隊(duì)列管理算法,采用動(dòng)態(tài)面的控制方法,利用一階積分濾波器來計(jì)算虛擬控制的導(dǎo)數(shù),解決了反步法對(duì)虛擬控制求導(dǎo)過程中引起的項(xiàng)數(shù)膨脹問題,并結(jié)合滑??刂品椒ǎ瑢?shí)現(xiàn)對(duì)TCP網(wǎng)絡(luò)這種不確定非線性系統(tǒng)的魯棒控制,通過Simulink仿真,證明了該算法能夠克服系統(tǒng)的不確定性干擾,使隊(duì)列長(zhǎng)度迅速穩(wěn)定在期望值附近,并維持較小的隊(duì)列震蕩,有效避免擁塞現(xiàn)象的發(fā)生。
[1]Floyd S,Jacobson V.Random early detection gateways for congestion avoidance[J].IEEE/ACM Transactions on Networking,1993,1(4):397-181.
[2]Hollot C,Misra V,Towsley D,et al.A control theoretic analysis of RED Proceedings of IEEE INFOCOM 2001[C]//Anchorage:IEEE Press,2001.1510-1519.
[3]Hollot C,Misra V,Towsley D,et al.On designing im?proved controllers for AQM routers supporting TCP flows[C]//Proceedings of the IEEE INFOCOM.Anchorage,2001:1726-1734.
[4]葉成蔭.基于自適應(yīng)反步滑??刂频闹鲃?dòng)隊(duì)列管理[J].科學(xué)技術(shù)與工程,2012,12(11):2595-2597.
[5]陶仲.基于滑模控制的TCP網(wǎng)絡(luò)主動(dòng)隊(duì)列管理算法的研究[D].沈陽(yáng):東北大學(xué),2014.
[6]魏海平,葉成蔭.基于終端滑模的自適應(yīng)有限時(shí)主動(dòng)隊(duì)列管理[J].控制工程,2016,10:1510-1514.
[7]潘永平,黃道平,孫宗海.欠驅(qū)動(dòng)船舶航跡Backstepping自適應(yīng)模糊控制[J].控制理論與應(yīng)用,2011,28(7):907-914.
[8]李鐵山,楊鹽生,洪碧光.船舶航跡控制魯棒自適應(yīng)模糊設(shè)計(jì)[J].控制理論與應(yīng)用,2007,24(3):445-448.
[9]劉金琨,孫富春.滑模變結(jié)構(gòu)控制理論及其算法研究與進(jìn)展[J].控制理論與控制應(yīng)用,2007,24(3):407-418.
[10]王耀南,孫煒.智能控制理論及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2010:31-32.
[11]劉金琨.滑模變結(jié)構(gòu)控制MATLAB仿真[M].北京:清華大學(xué)出版社,2005:152-153.
[12]Kelly F P.Mathematical modeling of the internet[C]//Mathematics Unlimited-2001 and Beyond, 2001:685-702.