文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)05-0104-03
傳輸控制協(xié)議TCP(Transmission Control Protocol)是目前Internet中最普遍的傳輸服務(wù)協(xié)議,作為端到端的傳輸協(xié)議,TCP為互聯(lián)網(wǎng)提供了一種可靠的運(yùn)輸層服務(wù)?,F(xiàn)有的TCP算法主要有Tanoe、Reno、NewReno、SACK、Vegas等,其中最廣泛使用的是Reno算法。TCP擁有一套完整的擁塞控制機(jī)制,通過擁塞窗口TCP能控制數(shù)據(jù)包的發(fā)送,當(dāng)網(wǎng)絡(luò)鏈路上有較大的時(shí)延或丟包出現(xiàn)時(shí)能自動(dòng)減慢數(shù)據(jù)包的發(fā)送速率,防止網(wǎng)絡(luò)出現(xiàn)嚴(yán)重的阻塞。
相比有線網(wǎng)絡(luò)鏈路上傳輸數(shù)據(jù)時(shí)極低的誤碼率,在噪聲干擾下無(wú)線網(wǎng)鏈路的誤碼率遠(yuǎn)遠(yuǎn)高于有線網(wǎng)絡(luò),而且移動(dòng)通信環(huán)境還存在帶寬低、移動(dòng)性等特點(diǎn),并且3 G和LTE等移動(dòng)通信網(wǎng)絡(luò)普遍使用2 GHz或是更高的頻段,該頻段的電磁波穿透性能較差,所以無(wú)線網(wǎng)絡(luò)時(shí)常因空口環(huán)境變差而發(fā)生數(shù)據(jù)包丟失或較大的時(shí)延,而TCP運(yùn)行機(jī)制會(huì)將這一類事故認(rèn)定為發(fā)生網(wǎng)絡(luò)擁塞,并促使數(shù)據(jù)發(fā)送端進(jìn)入“TCP慢啟動(dòng)階段”,降低數(shù)據(jù)包發(fā)送速率。但是當(dāng)無(wú)線空口環(huán)境變好以后數(shù)據(jù)包的發(fā)送速率不會(huì)很快地恢復(fù),這會(huì)嚴(yán)重影響時(shí)分高速分組接入TD-HSPA(Time Division-High Speed Packet Access)這種高速數(shù)據(jù)傳輸網(wǎng)絡(luò)的帶寬利用率和數(shù)據(jù)傳輸速率。
本文提出了一種TD-HSUPA系統(tǒng)的TCP優(yōu)化方法:利用無(wú)線網(wǎng)絡(luò)控制器RNC(Radio Network Controller)解析TCP連接鏈路上服務(wù)器的反饋包信息,分析當(dāng)前TCP連接的狀態(tài),在上行鏈路的TCP超時(shí)發(fā)生之前,控制NodeB對(duì)終端做優(yōu)先調(diào)度并在短期內(nèi)分配更多的時(shí)隙和碼道,有效防止無(wú)線鏈路進(jìn)入“TCP慢啟動(dòng)階段”而影響無(wú)線帶寬利用。本方法的優(yōu)點(diǎn)在于僅在RNC內(nèi)做TCP數(shù)據(jù)包的分析處理工作,不影響整個(gè)網(wǎng)絡(luò),有很好的系統(tǒng)兼容性。
1 TD-HSUPA系統(tǒng)的TCP優(yōu)化方法
高速上行鏈路分組接入HSUPA(High Speed Uplink Packet Access)是TD-SCDMA的上行數(shù)據(jù)傳輸標(biāo)準(zhǔn),作為匹配HSDPA高速下行數(shù)據(jù)傳輸,HSUPA通過引入了基于NodeB的快速調(diào)度、快速混合自動(dòng)重傳請(qǐng)求HARQ(Hybrid Automatic Repeat Request)、高階調(diào)制和增強(qiáng)專用信道E-DCH(Enhance-Dedicated Channel)等關(guān)鍵技術(shù),使得TD-SCDMA理論上行最大速率為2.2 Mb/s,為在線游戲、高清視頻通話等業(yè)務(wù)提供足夠的帶寬,豐富3G無(wú)線通信的應(yīng)用。
HSUPA的TCP數(shù)據(jù)包傳輸流程是:終端、RNC和遠(yuǎn)端服務(wù)器的連接建立以后,TCP數(shù)據(jù)包由終端發(fā)送,經(jīng)過無(wú)線空口傳輸后被基站接收,然后基站會(huì)將數(shù)據(jù)包通過傳輸網(wǎng)發(fā)送給RNC,RNC提供一個(gè)路由的功能將數(shù)據(jù)包轉(zhuǎn)發(fā)到核心網(wǎng)并最終到達(dá)遠(yuǎn)端服務(wù)器。TD-HSUPA系統(tǒng)的協(xié)議結(jié)構(gòu)如圖1所示[1]。
在HSUPA系統(tǒng)中數(shù)據(jù)的發(fā)送端是終端,因?yàn)椴皇撬械慕K端都支持TCP SACK等較新版本的傳輸協(xié)議,大部分終端只支持標(biāo)準(zhǔn)的TCP NewReno,所以考慮到系統(tǒng)的兼容性問題,HSUPA系統(tǒng)只能以使用TCP NewReno為主。
無(wú)線網(wǎng)絡(luò)中優(yōu)化TCP的有效手段(如TCP westwood[2]等)大都是針對(duì)數(shù)據(jù)的發(fā)送方。但是對(duì)HSUPA系統(tǒng)來(lái)說(shuō)對(duì)所有的終端做改進(jìn)比較困難,從圖1中所示的HSUPA系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)來(lái)看,HSUPA的擁塞控制優(yōu)化工作可考慮由無(wú)線鏈路的接收端來(lái)做[3-4],也就是交由RNC和基站來(lái)完成。
本文提出了一種在RNC和NodeB優(yōu)化 HSUPA系統(tǒng)TCP的方法,結(jié)構(gòu)如圖2所示。
具體方案如下:
(1)數(shù)據(jù)由用戶設(shè)備UE(User Equipment)發(fā)出后經(jīng)過Node B轉(zhuǎn)交給RNC,RNC解析每個(gè)數(shù)據(jù)包的TCP包頭信息,由式Bw′=L/tint[5]可計(jì)算出每個(gè)用戶利用的無(wú)線鏈路帶寬,其中L為數(shù)據(jù)包大小,tint為數(shù)據(jù)包到達(dá)時(shí)間間隔。根據(jù)Bw′的計(jì)算結(jié)果由式Bw=αBw+(1-α)Bw′ [2]可計(jì)算得到帶寬估計(jì)值Bw,其中?琢為加權(quán)系數(shù)取0.9,帶寬的計(jì)算有90%都來(lái)源于先前的值,這也是平滑帶寬的估計(jì)值。
(2)RNC并不知道UE的超時(shí)重傳時(shí)間RTO(Retransmission Timeout),只能通過其他的途徑估算該值。TCP連接的RTO是根據(jù)數(shù)據(jù)包的往返時(shí)延RTT(Round-Trip Time)計(jì)算得到的,RTT包含有線鏈路的時(shí)延、RNC轉(zhuǎn)發(fā)的時(shí)延和無(wú)線鏈路的傳輸時(shí)延,由步驟(1)中解析數(shù)據(jù)包可以很容易地計(jì)算有線鏈路的傳輸時(shí)延tc,RNC轉(zhuǎn)發(fā)的時(shí)延相比RTO的值較小,可以認(rèn)為是定值tr,無(wú)線鏈路的時(shí)延可以由式tw=L/Bw計(jì)算得到,其中L為TCP/IP數(shù)據(jù)包大小,可設(shè)為1 500 B,Bw為步驟(1)中計(jì)算的帶寬,所以RNC側(cè)可估算得到TCP的超時(shí)時(shí)間RTO=2×(tc+tw+tr)。
(3)服務(wù)器收到數(shù)據(jù)包以后會(huì)發(fā)送含有反饋信息的數(shù)據(jù)包,這些含有反饋信息的數(shù)據(jù)包在到達(dá)RNC時(shí),RNC需要解析這些數(shù)據(jù)包的TCP/IP包頭信息,如果檢測(cè)到這些反饋數(shù)據(jù)包含有3個(gè)重復(fù)的ACK信息,RNC將通過Iur傳達(dá)信令通知Node B在下一次調(diào)度周期中臨時(shí)提高該UE的調(diào)度優(yōu)先級(jí)并為該UE增加物理信道以擴(kuò)大該UE的可用帶寬,使UE能盡快重傳數(shù)據(jù)以免進(jìn)入慢啟動(dòng)階段,持續(xù)一個(gè)RTO時(shí)間后,Node B自動(dòng)還原UE的優(yōu)先級(jí)和被分配的物理信道。
在上述方法中RNC根據(jù)對(duì)反饋數(shù)據(jù)包解析的情況分析UE出現(xiàn)擁塞的原因。如果擁塞出現(xiàn)的次數(shù)較少,則說(shuō)明是無(wú)線空口環(huán)境的抖動(dòng)引起,RNC根據(jù)步驟(1)計(jì)算出UE所需的帶寬,并且將計(jì)算出的帶寬值發(fā)送給Node B,讓Node B為UE在接下來(lái)的一段時(shí)間調(diào)度增加信道數(shù),來(lái)保證UE能夠盡快重傳數(shù)據(jù)。如果長(zhǎng)時(shí)間多次出現(xiàn)擁塞,則說(shuō)明是由其他原因所致,在HSUPA系統(tǒng)中這種問題由無(wú)線資源管理RRM(Radio Resource Management)來(lái)處理,所以只需要為本方案設(shè)定一個(gè)靜默時(shí)間,在執(zhí)行一次本方案以后需要啟動(dòng)一個(gè)定時(shí)器,靜默一段時(shí)間后再激活本方法,靜默時(shí)間應(yīng)根據(jù)網(wǎng)絡(luò)的負(fù)載情況來(lái)定,如過負(fù)載較小則可將時(shí)間設(shè)得較短,否之則需要設(shè)置較長(zhǎng)。
2 仿真的實(shí)現(xiàn)
目前互聯(lián)網(wǎng)上使用最為廣泛的TCP版本是1990年HOE J C提出的TCP NewReno。在使用C++語(yǔ)言編寫的TD-SCDMA系統(tǒng)仿真平臺(tái)上,本文對(duì)所提出的方法和TCP NewReno作仿真比較。 HSUPA的仿真系統(tǒng)結(jié)構(gòu)如圖1所示。使用離散事件時(shí)間驅(qū)動(dòng)機(jī)制的方法來(lái)模擬業(yè)務(wù)發(fā)起的過程,所有用戶均使用FTP業(yè)務(wù)來(lái)仿真測(cè)試,小區(qū)采用WrapAround 19小區(qū)的模型,每個(gè)小區(qū)分為3個(gè)扇區(qū),每個(gè)扇區(qū)均勻分布1個(gè)用戶。有線鏈路的仿真模型簡(jiǎn)化為從RNC到遠(yuǎn)端服務(wù)器的鏈路中數(shù)據(jù)傳輸?shù)耐禃r(shí)延為固定值200 ms。智能天線模型和同頻干擾的計(jì)算見參考文獻(xiàn)[6]。
首先仿真穩(wěn)定狀態(tài)下的TCP,假定所有用戶靜止,通過調(diào)節(jié)背景噪音功率使所有數(shù)據(jù)傳輸?shù)钠骄`幀率達(dá)到相應(yīng)的值,經(jīng)過200 s仿真得到結(jié)果如圖3和圖4所示。
由圖3可以看到,當(dāng)誤幀率較低時(shí),本文提出的方法對(duì)于減少超時(shí)次數(shù)有很好的效果;由圖4對(duì)應(yīng)的吞吐量也可以看出,相比TCP NewReno,本文提出的改進(jìn)方法使得HSUPA系統(tǒng)的吞吐量隨誤幀率的升高而劇烈的降低得到緩解,說(shuō)明本文提出的方法能減弱無(wú)線環(huán)境中TCP慢啟動(dòng)機(jī)制帶來(lái)的性能下降。
仿真內(nèi)容改為更一般的情形:設(shè)背景噪聲為定值,每個(gè)用戶以3 km/h的速度運(yùn)動(dòng),當(dāng)用戶數(shù)增多的情況下,比較本文提出的方法和TCP NewReno之間的性能結(jié)果如圖5所示。
因?yàn)橛脩羲艿母蓴_主要為TD-SCDMA系統(tǒng)內(nèi)的同頻干擾,所以當(dāng)用戶數(shù)增大時(shí),同頻干擾增大,終端通過增大發(fā)射功率來(lái)保證通信的信噪比大于門限值,這會(huì)加劇無(wú)線信道的惡化,導(dǎo)致吞吐量的降低。從圖5中可以看到,每個(gè)小區(qū)的用戶數(shù)為4時(shí),本文提出的方法能提高大約12%的系統(tǒng)吞吐量,當(dāng)用戶數(shù)為5時(shí),因?yàn)門D-SCDMA系統(tǒng)的物理信道數(shù)有限,所以在遇到可能發(fā)生超時(shí)之前,可能會(huì)出現(xiàn)由于物理資源的限制而使得本文提出的方法不能很好地執(zhí)行。不過在配合更好的動(dòng)態(tài)信道分配算法的條件下,本文提出的方法將能提升更好的效果。
本文分析了TD-HSUPA系統(tǒng)網(wǎng)絡(luò)的結(jié)構(gòu),并且提出了一種適應(yīng)TD-HSUPA網(wǎng)絡(luò)的擁塞控制方法,通過RNC解析該TCP連接中UE與服務(wù)器之間的數(shù)據(jù)包和反饋包,經(jīng)過計(jì)算能分析UE的TCP狀態(tài),在UE可能出現(xiàn)超時(shí)之前,及時(shí)擴(kuò)大UE的傳輸帶寬和提高UE調(diào)度優(yōu)先級(jí),使UE能更快地重傳數(shù)據(jù),從而有效地防止因無(wú)線空口環(huán)境變差所導(dǎo)致的TCP慢啟動(dòng)。經(jīng)仿真表明,對(duì)于復(fù)雜多變的無(wú)線環(huán)境,本方法能有效保證TD-HSUPA數(shù)據(jù)傳輸?shù)姆€(wěn)定性,保持良好的數(shù)據(jù)傳輸效率。
參考文獻(xiàn)
[1] NADAS S, RACZ S. HSUPA transport network congestion control. EURASIP Journal on Wireless Communication and Networking. Volume 2009. Article ID 924096:1-10.
[2] CASETTI C, GERLA M. TCP westwood: bandwidth estimation for enhanced transport over wireless links. in Proc[C]. 7th ACM Annu. Int. Conf. Mobile Compute Networking, Rome, Italy,2001:287-297.
[3] 俞一帆,紀(jì)紅. 針對(duì)無(wú)線上行鏈路的TCP跨層改進(jìn)機(jī)制[J]. 電路與系統(tǒng)學(xué)報(bào),2008,13(2):104-108.
[4] HSIEH H, KIM K, ZHU Y. A receiver-centric transport protocol for mobile hosts with heterogeneous wireless interfaces in Proc[C]. 9th ACM Annu. Int. Conf. Mobile Compute Networking, San Diego, 2003:1-15.
[5] SHI K, SHU Y. Receiver centric fuzzy logic congestion control for TCP throughput improvement over wireless networks. In Proc[C]. 6th International Conference on Fuzzy Systems, 2009:146-150.
[6] 彭木根,王文博. TD-SCDMA系統(tǒng)上行鏈路接入控制機(jī)制[J].北京郵電大學(xué)學(xué)報(bào),2006,29(1):9-31.