劉士賢
(遼寧職業(yè)學院計算機系,遼寧鐵嶺112000)
無線網(wǎng)絡中TCP性能分析及改進方案研究
劉士賢
(遼寧職業(yè)學院計算機系,遼寧鐵嶺112000)
本文對TCP在無線移動網(wǎng)絡中的性能進行了分析,指出其在無線網(wǎng)絡中的不足,并介紹了當前幾種常用的TCP性能改進方法,最后詳細介紹了ADTCP方案的思想,提出一種新的基于端到端TCP改進方案,有效地提高了TCP在無線網(wǎng)絡中的性能。
無線網(wǎng)絡;ADTCP;端到端;TCP性能改進
傳統(tǒng)的TCP協(xié)議是為有線網(wǎng)絡環(huán)境而設計的,因此TCP假定網(wǎng)絡擁塞是引起報文丟失的唯一原因,并相應地采取擁塞控制機制。然而在無線網(wǎng)絡中,無線鏈路的高誤碼率和主機的移動切換也經(jīng)常引起報文丟失,而TCP仍然將這些報文丟失歸咎于網(wǎng)絡擁塞,這種錯誤的推論最終導致無線網(wǎng)絡中TCP性能的嚴重下降。鑒于TCP協(xié)議應用的廣泛性,如何提高TCP在無線網(wǎng)絡中的性能成為大家普遍關注的問題。
TCP協(xié)議雖然是一個可靠的傳輸層協(xié)議,但只適用于有線鏈路和固定主機構成的傳統(tǒng)網(wǎng)絡。而由無線鏈路和移動主機組成的無線網(wǎng)絡打破了TCP的許多假設,導致了TCP性能的下降,它主要有以下幾個缺點:
1.錯誤檢測機制
這個機制不能區(qū)別不同類型的錯誤。TCP有一個基本假設,即一旦發(fā)生連續(xù)的丟包行為,TCP就判斷網(wǎng)絡擁塞。但是這套機制搬到無線環(huán)境中會使TCP的性能大大降低,因為丟包現(xiàn)象不一定是擁塞導致的,而可能是移動導致的。
2.錯誤恢復機制
這個機制不能針對無線環(huán)境的具體特點(如移動節(jié)點的頻繁變動和信道的衰弱)做出相應的行為。
3.協(xié)議的策略
這個策略并不考慮到各種性能參數(shù)(比如有效的吞吐量和網(wǎng)路開銷)之間的折衷,而是經(jīng)常把時間浪費在重傳和其他鏈接上。
現(xiàn)階段為了改善TCP在無線網(wǎng)絡中的性能,主要有以下幾種解決方案:端到端的解決方案,分段連接的解決方案,鏈路層解決方案和基于ADTCP的改進方案。
1.端到端的解決方案
(1)TCP SACK(Selective Acknowledge)協(xié)議。SACK算法是在Reno算法基礎上進行擴展得來的,它在確認包的包頭中增加了附加域,可以標識沒有被正確接收的一個發(fā)送窗口內的多個數(shù)據(jù)包,從而對數(shù)據(jù)包進行有選擇地確認和重傳。
(2)TCP-New Reno。New Reno對Reno中的“快速恢復”算法進行了補充。當多個報文在一個窗口中丟失后,TCP可以保持一個快速恢復模式。
(3)聰明代理機制(SMART)。SMART機制與上文提到的SACK基于相同的原理,它使用的SACK中包含了積累的確認和已經(jīng)成功接收的報文段的序號,當發(fā)現(xiàn)序號不連續(xù)時,立刻重發(fā)。
(4)顯式丟失通告機制(Explicit Loss Notificaiton,簡稱ELN)。ELN協(xié)議在ACK中增加了顯式丟失通告選項,它能夠通告發(fā)送方數(shù)據(jù)丟失的真正原因,以區(qū)別對待與網(wǎng)絡擁塞有關及其他與網(wǎng)絡擁塞無關的數(shù)據(jù)丟失。
(5)Freeze-TCP協(xié)議。這種改進方案主要用于解決TCP在移動終端進行越區(qū)切換時遇到的問題。其原理是由接收方對收到信號的強弱進行判別,預測將要發(fā)生的越區(qū)切換。
2.分段連接的解決方案
(1)非直接TCP(I-TCP)。這種方法在無線鏈路連接中使用常規(guī)的TCP,基站只簡單地在兩個連接間雙向復制報文。
(2)M-TCP(TCP formobile cellular networks)協(xié)議。M-TCP主要設計目標是處理無線網(wǎng)絡移動終端頻繁地進行越區(qū)切換時碰到的問題,防止發(fā)送方進入不必要的慢啟動階段。
(3)無線TCP(W-TCP)?;臼褂脙煞N協(xié)議TCP和W-TCP,TCP用于處理有線鏈路數(shù)據(jù)的傳送,W-TCP則應用于無線鏈路。
3.鏈路層解決方案
鏈路層解決方案是一種試圖從底層(數(shù)據(jù)鏈路層)來解決TCP性能的方法。對于TCP這樣的可靠傳輸協(xié)議,問題產(chǎn)生的主要原因是由于無線媒介的自然屬性不同,所以在產(chǎn)生問題的根部解決問題是比較有效的方法。位于物理層上的鏈路層能夠馬上得到幀丟失的信息,因此能夠比高層協(xié)議做出更快的反應。同時,鏈路層協(xié)議能夠對物理層進行更有效的控制。還有一個主要優(yōu)點是它本身非常適應網(wǎng)絡協(xié)議的分層結構。鏈路層協(xié)議的操作獨立于高層協(xié)議,這使得它能廣泛適應各種情況,因此它不必維持每一種連接的狀態(tài)。
4.基于ADTCP的改進方案
ADTCP作為一個典型的端到端協(xié)議,具有端到端技術的普遍優(yōu)勢,但是在ADTCP樣本值的判別上,由于其樣本空間中各個樣本權重隨著其歷史的久遠而變小,使得當前時間附近的樣本對于檢測結果影響很大,導致檢測靈敏度的下降,所以針對其不足,做如下改進:
(1)在判別手段上進一步提高,同時盡量減少計算復雜度。CON的判別建立在ADTCP關于IDD檢測的成果上,以提高判別的準確性,能夠反映通路中隊列大小的RTT度量的檢測來推斷CON狀態(tài)。因為RTT可以直接從TCP中獲取,CON判別相對于ADTCP中利用IDD和STT的聯(lián)合檢測,其計算復雜度稍有減少。
(2)在不同狀態(tài)的判別上,需要有所區(qū)別,如最主要狀態(tài)CON的判別,需要進一步完善,因為判別失誤產(chǎn)生的影響很大;而對于其他的網(wǎng)絡狀態(tài)如RTCHG、DISC、CHERR之間的判別應力求簡單,因為這些狀態(tài)所對應的措施操作差別不大,誤判帶來的影響較小,也可考慮合并某些狀態(tài),提高CON的判別準確性。
(3)從RTCHG的響應措施來看,可以結合事后的恢復措施,降低檢測手段的時效性要求。對于除了CON以外的其他狀態(tài)的判別,對路由更新(RTCHG)和鏈路差錯(CHERR)進行具體區(qū)分,而不像ADTCP那樣還要區(qū)分連接中斷(DISC)、路由更新(RTCHG)和鏈路差錯(CHERR)三種狀態(tài),因為DISC在這里完全可以看成是中斷事件較長的RTCHG事件。因此,完全可以合并這兩個狀態(tài),有效降低復雜度。
(4)對傳統(tǒng)TCP保持向后兼容,并且盡量做到TCP友好。根據(jù)檢測到丟包所用的手段來決定到底采用事前凍結措施還是事后恢復措施。如果丟包是由重復ACK檢測到,說明后續(xù)數(shù)據(jù)包可以到達目的端,通路已經(jīng)恢復,則執(zhí)行恢復措施,否則采取事前凍結措施。☉
[1][美]W.R ichard Stevens著.范建華等譯.TCP/IP詳解卷一:協(xié)議[M].北京:機械工業(yè)出版社,2000:258-289.
[2]David B Hohnson,and Charles Perkins,Mobility Support in IPv6,IETF draft,Nov 2000:98-99.
[3]Brian Van Lceuwen,Juan Espinoza Jr,Peter Scholander: Effective Protocols for Mobile Communications and networking, Jan 1999.
[4]徐雷鳴,龐博,趙耀.NS與網(wǎng)絡模擬[M],北京:人民郵電出版社,2003.
(編輯:隗爽)
book=13,ebook=38
TP393.04
A
1673-8454(2010)13-0013-02