張超
(咸陽職業技術學院,陜西 咸陽 712000)
隨著我國互聯網技術和網絡技術的飛速發展,無線通信網絡取得了廣泛的應用。TCP協議作為無線網絡通信中的重要組成部分,對其性能進行研究具有非常重要的理論意義。TCP通常采用窗口、序列號、重傳定時器和確認這四種技術來實現流量控制、差錯控制和擁塞控制這三個功能。標準TCP在有線網絡中能很好地工作,具有很好的工作性能,但是在蜂窩網絡、Ad hoc網絡和衛星網絡這三種無線網絡中的性能很差。為了能在無線網絡中有效地使用TCP,就必須為標準TCP增加一些額外的技術。本文主要對蜂窩網絡和衛星網絡中的TCP性能進行了相應的闡述。
所謂TCP(Transm ission Control Protocol)是對傳輸控制協議的簡稱。它是一種面向連接的、可靠的、基于字節流的運輸層通信協議。它位于OSI參考模型中的網絡層協議之上,用來完成傳輸層所指定的功能。OSI參考模型如圖1所示。

圖1 OSI參考模型
TCP通過對用戶數據進行透明分段和重組,來完成流量控制和擁塞控制等功能。其中,擁塞控制是指發送方可以根據網絡的擁塞狀況自適應調整數據發送的速率,來緩解網絡的擁塞狀況。流量控制是指發送方必須保證發送數據速率不超過接收方處理能力,避免因接受方處理能力有限造成的丟包。
由于無線網絡中的傳輸錯誤、鏈路/路由中斷等因素的影響,使得TCP經常會在網絡沒有擁塞的情況下啟動擁塞控制,從而大大降低了TCP的性能。造成無線網絡TCP性能下降的因素主要包括以下幾個方面:
(1)高比特誤碼率(BER)。由于無線網絡的鏈路是有損介質,它具有很高的比特誤碼率,從而導致數據包的損壞甚至出現丟包現象,因此發送端出現超時和重傳數據包,這時并會起動相應的擁塞控制。如果重復性地發生這種錯誤,那么將會大大降低TCP的性能,高比特誤碼率對蜂窩網絡、Ad hoc網絡和衛星網絡都有很大的影響。
(2)錯誤的丟包探測機制。由于標準TCP不能區分無線網絡存在的不同類型的錯誤,因此它會把任何丟包都看作是擁塞丟包并啟動相應的擁塞控制,而不管無線網絡是否處于擁塞狀態,這樣就使得無線網絡中的TCP性能大大下降,該因素會對蜂窩網絡、Ad hoc網絡和衛星網絡都有很大的影響。
(3)無線鏈路帶寬。由于無線鏈路的帶寬有限,結點只能使用很少的帶寬,這樣將會導致發送端超時和信息丟失的時間增多等現象的產生,該因素將對蜂窩網絡和Ad hoc網絡產生影響,對衛星網絡沒有影響。
(4)鏈路中斷。在蜂窩網絡中,由于移動結點需要在蜂窩網絡切換中有一個信號消失階段。在信號消失這個階段,移動結點由于不能收到發送端的任何數據,從而造成發送端數據超時,此時TCP發送端會重傳這些數據器啟動相應的擁塞控制,這樣就導致了TCP性能的下降。
為了減輕上述因素對無線網絡中TCP性能的影響,需要引入一些額外機制,主要是丟包探測機制、顯示通知和擁塞檢測。
(1)丟包探測機制。丟包探測機制的原理是根據探測丟包的本質原因來尋找和確定合適的錯誤恢復策略,針對具體情況進行具體分析,采用該機制可以達到降低比特誤碼和鏈路中斷對TCP的影響。
(2)顯示通知。把丟包的原因或網絡狀況實時的顯示通知給發送端,進而可以使得發送端采取相應的措施。顯示通知這種機制可以有效降低比特誤碼、鏈路中斷和路由中斷對無線網絡中TCP性能的影響。
(3)擁塞檢測。在連接的正向和反向兩個方向上都可以進行擁塞檢測,該機制可以有效解決不對稱鏈路超時對無線網絡中TCP性能的影響。
蜂窩網絡是目前研究TCP性能改進應用最為廣泛的無線網絡模型,關于這方面的研究比較多。研究的中心主要集中于屏蔽發送端和發送端覺察這兩個方面進行改進,改進的方法主要有以下幾類。
I-TCP方法是該方案的一種方法,I-TCP方法通過將移動主機(MH)和固定主機(FH)間的TCP連接在基站處分成兩段,然而在有線和無線鏈路段分別采取不同的策略來改進TCP性能。其中,有線鏈路段使用標準TCP,無線鏈路段則采用適于無線環境的改進協議。它對網絡發送端是屏蔽丟包的,基站保留了數據包的“硬”狀態,然而該方案破壞了TCP連接的端對端語義,此外還需要修改移動主機和中間結點的TCP。
該方案常用的方法主要由不完全應答法ACKP、Snoop法和WTCP法等。TCP緩存方案和分段連接方案類似,不同的是TCP緩存方案在代理中保留數據的“軟”狀態,軟狀態的丟失雖然會影響TCP的性能,但是不會改變TCP的端對端語義。
該方案由鏈路層或網絡層將鏈路層環境狀態反饋到TCP層,TCP通過采取相應的手段和方法來處理網絡丟包。按照反饋方式和TCP處理措施的不同,該方案又分為重傳機制改進、顯示狀態通知法和超時凍結機制三類。其中,延遲重復確認法是重傳機制改進方案常用的方法。延遲重復確認法通過采用對重復確認進行延遲發送的機制,從而使發送端重傳丟包之前無線鏈路層能進行局部重傳。壞狀態通知EBSN是顯示狀態通知法中比較常用的一種方法,M-TCP法是超時凍結機制中比較常用的方法。當TCP接收端將接收窗口大小減為零時,TCP的發送端會進入堅持模式,它凍結了所有數據包的重傳定時器,并且不減小擁塞窗口。蜂窩網絡中主要TCP改進方法性能比較如表1所示。
衛星網絡除了具有無線鏈路固有的高誤碼率特點以外,還具有帶寬時延-乘積大和上/下行帶寬不對稱等特點。以上這些特點都會影響衛星網絡中TCP的性能,例如一般的TCP連接的RTT時間通常僅為幾十毫秒,然而在衛星網絡中的TCP連接的RTT通常至少是500毫秒,大大降低了衛星網絡中TCP的性能。我們通常采用TCP層技術和應用層技術來改善衛星網絡中的TCP性能。

表1 蜂窩網絡中主要TCP改進方法性能比較
我們為了有效的利用衛星鏈路的高帶寬,需要在TCP層引入一些特殊的技術。(1)首先使用T/TCP來建立TCP連接。通常在一對主機建立了一次TCP連接之后,如果再次建立TCP連接是就可以省去三次握手階段,這樣就大大提高了請求/響應的性能。(2)改變慢啟動的策略。該策略的改變主要采用更大的初始窗口和使用新的慢啟動閾值來改變。(3)在擁塞避免階段,采用每個RTT時間擁塞窗口增加K的策略。(4)采用ACKS擁塞控制和過濾技術來減少ACKS在中間結點阻塞的可能性。
我們除了可以在TCP層上使用一些特殊技術來改善衛星網絡中的TCP性能之外,還可以采用應用層技術來有效的使用衛星鏈路,例如XFTP技術。XFTP是FTP的一個變形,它同時采用多個并行的TCP進行連接。我們通過選擇合適的并行連接數,從而可以使得XFTP獲得將近90%的衛星鏈路使用率,這樣就大大提高了衛星網絡中TCP的性能。
綜上所述,本文對無線網絡中的TCP性能進行了相關研究,針對其中的蜂窩網絡提出了具體的改進方法,取得了一定的成果,但是還有很多問題值得我們進行進一步的研究,從而來更好的提高TCP性能。
[1]謝希仁.計算機網絡[M].大連:大連理工大學出版社,2000.
[2]馬刈非.衛星通信網絡技術[M].北京:國防工業出版社,2003.
[3]龍承志,馬玉秋,沈樹群.基于低速率的短距離無線通信網絡新技術-ZigBee[J].數據通信,2005,1:10-12.
[4]曲大鵬,黃東軍.一種新的適用于異構網絡的TCP算法[J].計算機應用,2007,(10):63-64.