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