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