井元偉, 亓雪蕾, 申金棟, 井江山
(東北大學(xué) 信息科學(xué)與工程學(xué)院, 遼寧 沈陽 110819)
自有互聯(lián)網(wǎng)出現(xiàn)以來,如何避免網(wǎng)絡(luò)擁塞、提升網(wǎng)絡(luò)性能一直是人們致力追求的目標(biāo).在互聯(lián)網(wǎng)中廣泛使用的數(shù)據(jù)傳輸協(xié)議是端到端傳輸控制協(xié)議(transport control protocol, TCP),它能夠有效地避免網(wǎng)絡(luò)崩潰[1].而能保證端到端數(shù)據(jù)傳輸隊(duì)列穩(wěn)定到期望值的是一類叫作主動(dòng)隊(duì)列管理(active queue management, AQM)的算法,出現(xiàn)于20世紀(jì)末[2].將二者結(jié)合的TCP/AQM系統(tǒng)可實(shí)現(xiàn)合理的資源利用、可接受的數(shù)據(jù)包丟棄及穩(wěn)定可靠的網(wǎng)絡(luò)運(yùn)行[3].目前,已提出了許多AQM方案.基于研究方法的不同,主要有由計(jì)算機(jī)學(xué)者發(fā)展的啟發(fā)式方法,基于對(duì)策論等數(shù)學(xué)工具的方法和基于控制理論的方法等[4].
早在20世紀(jì)末和21世紀(jì)初,就有學(xué)者基于一定的假設(shè)提出了各種模型[5-10].這些模型各有其特點(diǎn),如Mathis等[5]基于某些簡化假設(shè)使得模型簡單易于設(shè)計(jì),但這些假設(shè)也易引起顯著的誤差;Kelly等[6]和Low等[7]的模型更接近實(shí)際系統(tǒng)但卻不具備可擴(kuò)展性;Ajmone[8]的偏微分方程形式的TCP模型較好地刻畫了大規(guī)模網(wǎng)絡(luò),但過于復(fù)雜,不易于分析.而Misra等[9]提出的流體流模型可以很好地分析TCP/AQM系統(tǒng)的性能,為TCP/AQM系統(tǒng)的數(shù)值分析提供了理論基礎(chǔ).Hollot等[10]提出了改進(jìn)的簡化流體流模型,使其更便于應(yīng)用,是目前廣泛使用的TCP/AQM網(wǎng)絡(luò)系統(tǒng)擁塞控制研究的模型之一[1],并由此產(chǎn)生了許多新的AQM方案.諸多方案中應(yīng)用了線性化技術(shù)或非線性控制技術(shù)等控制理論分析與設(shè)計(jì)方法,包括廣義預(yù)測控制、T-S模糊控制、模型預(yù)測控制、最優(yōu)控制、H∞控制、PI控制、滑模控制、數(shù)據(jù)驅(qū)動(dòng)控制、逆推控制等控制技術(shù).
主動(dòng)隊(duì)列管理算法是基于鏈路的控制算法.其擁塞控制算法部署在路由器中,可以直接判斷網(wǎng)絡(luò)是否擁塞,但是其無法直接控制數(shù)據(jù)包的發(fā)送速率.在2007年,Barbera等[11]提出了一種叫作主動(dòng)窗口管理(active window management, AWM)的新模型機(jī)制,這種控制機(jī)制與各端節(jié)點(diǎn)的協(xié)議兼容,不需要修改端節(jié)點(diǎn)的控制算法.該方法將擁塞控制算法部署在網(wǎng)關(guān)之中,不需要通過丟包、吞吐量的改變來感知網(wǎng)絡(luò)狀態(tài),即可直接控制源端的發(fā)送速率.在單瓶頸鏈路下,AWM機(jī)制更具優(yōu)勢(shì).文獻(xiàn)[12-14]對(duì)于AWM機(jī)制進(jìn)行了研究,但主要集中在對(duì)網(wǎng)絡(luò)性能的分析、比較上,并沒有從控制理論的角度對(duì)AWM機(jī)制進(jìn)行分析和研究.在2016年,首次有研究者將AWM機(jī)制同控制理論相結(jié)合,提出了一種基于PID的窗口控制規(guī)律[15].所設(shè)計(jì)的控制算法在兼容所有版本的TCP協(xié)議的情況下,使得窗口的變化規(guī)律可設(shè)計(jì),而不是簡單的AIMD的方式.但是PID控制算法參數(shù)設(shè)置固定,當(dāng)網(wǎng)絡(luò)情況變化時(shí),算法的性能會(huì)下降.
考慮到系統(tǒng)的非線性特性,采用back-stepping方法進(jìn)行控制器的設(shè)計(jì),而對(duì)于外部干擾,采用H∞性能函數(shù)進(jìn)行處理,得到TCP/AWM網(wǎng)絡(luò)系統(tǒng)的穩(wěn)定性條件.
考慮如下單路由TCP/AWM網(wǎng)絡(luò)系統(tǒng)動(dòng)態(tài)模型[11]:
(1)
式中:W(t)為以數(shù)據(jù)包個(gè)數(shù)為度量的TCP源端窗口大小;q(t)為以數(shù)據(jù)包個(gè)數(shù)為度量的路由器瞬時(shí)隊(duì)列長度;N(t)為TCP網(wǎng)絡(luò)負(fù)載因子(即激活的TCP會(huì)話數(shù));C為以數(shù)據(jù)包個(gè)數(shù)為度量的鏈路帶寬;Tp為傳播時(shí)延;u(t)為待設(shè)計(jì)的窗口變化率.
近年來,越來越多的基于用戶數(shù)據(jù)報(bào)協(xié)議(user datagram protocol, UDP)的一些應(yīng)用出現(xiàn)在TCP通信網(wǎng)絡(luò)中.在實(shí)際的網(wǎng)絡(luò)中,運(yùn)行在用戶數(shù)據(jù)報(bào)上的UDP流會(huì)干擾TCP流的正常傳輸.為了能更準(zhǔn)確地建立數(shù)學(xué)模型,考慮在常值鏈路帶寬的基礎(chǔ)上,減去UDP流所帶來的外部干擾,以此來表示某一時(shí)刻的鏈路容量.
受文獻(xiàn)[16-17]的啟發(fā),考慮UDP流的干擾,將描述發(fā)送窗口大小和路由器隊(duì)列長度的TCP/AWM模型,即式(1)擴(kuò)展為
(2).
(3)
式中:d(t)為由UDP流帶來的外部干擾;R(t)為往返傳播時(shí)間,各項(xiàng)符號(hào)表達(dá)的意義同式(1).
由于網(wǎng)絡(luò)窗口對(duì)于大多數(shù)人來說是一個(gè)相對(duì)虛擬的概念,并考慮到速率與窗口之間的關(guān)系[17],可以用源端的發(fā)送速率r(t)來描述窗口的變化:
(4)
綜合式(2)~式(4),可以得到基于r(t)和q(t)的新方程:
(5)
其中,
令x1(t)=q(t),x2(t)=r(t),于是,式(5)可以表示為
(6)
(7)
式中:ε=e1(t)+qref(t)+TpC;qref(t)為期望的隊(duì)列長度.
在本節(jié)中,將給出系統(tǒng)(7)的控制器設(shè)計(jì)過程.系統(tǒng)(7)針對(duì)狀態(tài)變量具有嚴(yán)格下三角結(jié)構(gòu),故可以應(yīng)用backstepping設(shè)計(jì)這一非線性控制方法,與H∞性能相結(jié)合,設(shè)計(jì)一種H∞擁塞跟蹤控制器,使得系統(tǒng)的輸出可以跟蹤期望的隊(duì)列長度.下面給出跟蹤問題可解的結(jié)果.
定理 1如果存在狀態(tài)反饋控制律u=u(t),使得閉環(huán)系統(tǒng)滿足以下兩個(gè)條件,則式(7)的H∞跟蹤問題是可解的:
i.所得到的閉環(huán)系統(tǒng)(7)的跟蹤誤差z1(t)穩(wěn)定.
ii.閉環(huán)系統(tǒng)是L2穩(wěn)定的,即對(duì)于任意初始條件存在一個(gè)非負(fù)常數(shù)φ(x0)滿足
其中,T>0,γ>0,d∈L2[0,T).
根據(jù)backstepping方法的設(shè)計(jì)思想,首先考慮系統(tǒng)(7)中關(guān)于狀態(tài)變量x1的子系統(tǒng),對(duì)其進(jìn)行控制器設(shè)計(jì),然后在虛擬控制器的基礎(chǔ)上設(shè)計(jì)控制器u(t).為此,定義如下的狀態(tài)變換:
(8)
其中,α為待設(shè)計(jì)的虛擬控制器.于是有,
(9)
針對(duì)系統(tǒng)(7)采用backstepping方法進(jìn)行穩(wěn)定控制器設(shè)計(jì).由于系統(tǒng)(7)有2個(gè)子系統(tǒng),于是設(shè)計(jì)過程分為2個(gè)步驟.
步驟 1 系統(tǒng)(7)的第一個(gè)子系統(tǒng)可寫為
(10)
這一步驟的目的是設(shè)計(jì)虛擬反饋控制器α使得z1→0.為此,選取Lyapunov函數(shù):
(11)
將V1沿著子系統(tǒng)(10)對(duì)時(shí)間求導(dǎo)數(shù),得
(12)
進(jìn)而,有
(13)
選擇一個(gè)適當(dāng)?shù)奶摂M控制律:
(14)
將式(14)代入式(13),可得
(15)
步驟 2 系統(tǒng)(7)的第二個(gè)子系統(tǒng)可寫為
(16)
進(jìn)一步,有
(17)
其中:
在這一步,目的是要設(shè)計(jì)一個(gè)狀態(tài)反饋控制器使得狀態(tài)方程在e2=0處漸近穩(wěn)定.
構(gòu)造如下的Lyapunov函數(shù):
(18)
將V沿著子系統(tǒng)(10)和(16)對(duì)時(shí)間求導(dǎo)數(shù),得
(19)
進(jìn)一步,有
(20)
其中:υ(t)=?(t)-ω(t)ψ(t);γ2=γ12+γ22.
根據(jù)式(20)的結(jié)構(gòu),可以設(shè)計(jì)如下的反饋控制律:
(21)
以使V<0.其中,c2是正的設(shè)計(jì)參數(shù).
將式(21)代入式(20),可得
(22)
為了驗(yàn)證系統(tǒng)的H∞性能,將式(22)轉(zhuǎn)化為
(23)
其中,c10=c1-1>0.
對(duì)式(23)兩邊求積分,有
(24)
整理得
(25)
由式(25)可以看出,定義的條件ii成立.
由上述的推導(dǎo)分析過程可知,在所設(shè)計(jì)的逆推反饋控制器作用下,系統(tǒng)(6)漸近穩(wěn)定.也就是說,系統(tǒng)(2)實(shí)現(xiàn)了主動(dòng)窗口管理擁塞控制,可以達(dá)到期望的隊(duì)列長度和適當(dāng)?shù)拇翱诖笮?
基于改進(jìn)的擾動(dòng)誤差模型給出相應(yīng)的兩組仿真.在第1組仿真中,對(duì)相同參數(shù)下的仿真結(jié)果逐一進(jìn)行了分析;在第2組仿真中,針對(duì)改進(jìn)的TCP/AWM模型,在不同的擾動(dòng)情況下,給出了仿真結(jié)果.
仿真1:系統(tǒng)的各參數(shù)取值為
N=100,C=1 250,Tp=0.01,qref=200,x0=[400 0],c1=15,c2=30,γ1=40,γ2=10.
在本組仿真中,以d=10為例,對(duì)仿真結(jié)果進(jìn)行分析.控制律u隨時(shí)間的變化情況如圖1所示.
由圖1可以看出,控制律u從0.3 s開始穩(wěn)定,并且在其后的時(shí)間段內(nèi)一直處于穩(wěn)定狀態(tài),系統(tǒng)的收斂速度非???,可以快速穩(wěn)定隊(duì)列長度.由圖1還可以看出,在d=10的情況下,控制律u最后穩(wěn)定到0.這表明,在有少數(shù)UDP流占據(jù)鏈路帶寬的情況下,并不影響源端對(duì)于TCP流的正常發(fā)送,亦即影響并不明顯.
圖2給出了在d=10時(shí),隊(duì)列跟蹤誤差e1隨時(shí)間的變化情況.
由圖2可以看出,當(dāng)d=10,C=1 250時(shí),跟蹤誤差最終穩(wěn)定到零.這表明當(dāng)外部擾動(dòng)比較小時(shí),瞬時(shí)隊(duì)列q(t)可以成功地跟蹤期望隊(duì)列,即所設(shè)計(jì)控制器是有效的.
仿真2:本組仿真的主要目的是為了對(duì)改進(jìn)系統(tǒng)模型的有效性進(jìn)行驗(yàn)證.在本組仿真中用到的系統(tǒng)參數(shù)和設(shè)計(jì)參數(shù)同上一組仿真.此組仿真主要為了對(duì)比d分別等于1,10,100和500時(shí),控制律和跟蹤誤差隨時(shí)間變化的情況.
不同d值下控制律隨時(shí)間變化的情況如圖3所示.
由圖3可以看出,在不同d值下,控制律隨時(shí)間變化的整體趨勢(shì)相同,這說明基于改進(jìn)的TCP/AWM模型所設(shè)計(jì)的backstepping控制器具有很好的抗干擾能力.為了能進(jìn)行進(jìn)一步的分析,對(duì)圖3的矩形框選部分進(jìn)行了等比例放大,如圖4所示.
由圖4可以看出,對(duì)應(yīng)不同的d值,4種情況下的仿真結(jié)果在同一坐標(biāo)中大部分還是處于交疊狀態(tài).但是,在轉(zhuǎn)折點(diǎn)處可以看到,4種情況下的曲線是處于分離狀態(tài).也就是說,控制律在系統(tǒng)中有外部擾動(dòng)存在時(shí),整體波動(dòng)不大,系統(tǒng)的魯棒性良好.
當(dāng)d分別等于1,10,100和500時(shí),隊(duì)列跟蹤誤差隨時(shí)間變化的情況如圖5所示.
由圖5可以看出,跟蹤誤差對(duì)不同d值并不敏感,因?yàn)槌宿D(zhuǎn)折處和穩(wěn)定后能清楚看出沒有交疊之外,仿真結(jié)果的交疊現(xiàn)象比較明顯,而且在穩(wěn)定后,基本上都穩(wěn)定到了e1(t)=0處.為了對(duì)仿真結(jié)果進(jìn)行更深層次的分析,圖6對(duì)圖5中的矩形框選部分進(jìn)行了局部放大,可以更清楚地看到轉(zhuǎn)折點(diǎn)處隨時(shí)間的變化情況.
由圖6可知,在0.06 s之前,4種情況下的仿真結(jié)果處于交疊狀態(tài),但并不是完全重合;在0.06 s之后,4種情況下的仿真結(jié)果開始存在不同程度的波動(dòng).其中d=500時(shí)波動(dòng)程度最小,但是此時(shí)UDP流占據(jù)了將近一半的鏈路帶寬.不同d值下隊(duì)列跟蹤誤差的局部放大圖如圖7所示.
由圖7可以看出,d=1時(shí)的跟蹤效果最好.其次是d=10時(shí),隨著外部擾動(dòng)增加,跟蹤效果越來越差.當(dāng)存在外部擾動(dòng)時(shí),所設(shè)計(jì)的控制器為了抵消其帶來的影響,損失了一部分能量,這也導(dǎo)致瞬時(shí)隊(duì)列沒有足夠的能力衰減至期望的隊(duì)列長度,這種影響會(huì)隨著外部擾動(dòng)的增加而更加明顯.
1) 本文基于TCP/AWM機(jī)制,給出了一個(gè)改進(jìn)的TCP/AWM網(wǎng)絡(luò)模型,為了達(dá)到跟蹤控制的目標(biāo),利用誤差變換將改進(jìn)后的模型轉(zhuǎn)化為等效誤差模型.考慮到系統(tǒng)的非線性特性和存在UDP流等外部干擾的情況,將backstepping方法和H∞控制相結(jié)合,設(shè)計(jì)了H∞擁塞跟蹤控制器.仿真結(jié)果表明,所設(shè)計(jì)的控制器,在外部擾動(dòng)較小時(shí),能夠成功跟蹤控制目標(biāo),而在外部擾動(dòng)較大時(shí),為抵消外部干擾的影響會(huì)損失一部分能量,只能跟蹤到控制目標(biāo)附近,此時(shí)控制器仍然有效.
2) 這一研究思路和所得結(jié)果不難擴(kuò)展到多路由的情況,同時(shí)也可以以其他模型為基礎(chǔ),將多個(gè)子系統(tǒng)模型并聯(lián)組合構(gòu)成多路由網(wǎng)絡(luò)系統(tǒng).然后,采用先進(jìn)控制技術(shù)設(shè)計(jì)控制器,為TCP/AWM系統(tǒng)提供主動(dòng)窗口管理方案.