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