趙隴
(淮安信息職業技術學院,淮安 223003)
基于802.11環境的TCP協議改進研究
趙隴
(淮安信息職業技術學院,淮安 223003)
在有線網中,數據包的丟失一般是由網絡擁塞所引起的,但在無線網絡中,數據包的丟失通常是由于很高的誤碼率和無線鏈路故障所造成的。很顯然,把作用于有線網絡的TCP協議直接用于無線網絡是不合適的。提出一種端到端自適應機制,允許TCP動態調整TCP會話的RTO(重傳超時),服務器將根據客戶端的反饋來調整定時器。該機制通過仿真驗證,并與原始TCP協議進行比較,結果表明:由于超時次數的減少,服務器端重發的概率大大降低,無線接入點的擁塞明顯改善。
IEEE 802.11;TCP;RTO;網絡擁塞
TCP是目前應用最為廣泛的互聯網協議,需要通過互聯網進行可靠的數據傳輸。最初,TCP被設計在有線環境下工作,其中擁塞是數據分組丟失的主要原因,這是因為有線鏈路的誤碼率很低。每個TCP數據段由一個序列號標識,只有按順序正確接收才能被接收端確認。錯誤也主要是由于丟包或報文亂序所造成的,為了避免這些錯誤,TCP協議使用流量控制和擁塞控制機制[1-2]。
隨著802.11無線網絡的發展,TCP在無線環境中的角色就變得日益重要。與有線網絡相比,無線網絡面臨重大問題。因此,當端對端連接不完全是有線時,必須對依賴于窗口大小的TCP擁塞控制算法進行改進[3]。目前,擁塞算法假設的超時是由于端到端路徑的擁塞,而不是由于無線鏈路上可能發生的傳輸錯誤。無線鏈路遭受高誤碼率和信號衰減的干擾,其上任何數據的丟失都被TCP視為擁塞,因此在發送方運行的TCP擁塞算法會將窗口大小縮到很小,這直接降低吞吐量[4]。事實上,在無線網絡的超時情況下,TCP通常會做出這種錯誤的決定。
筆者認為,依靠802.11 MAC層控制無線鏈路的錯誤至關重要。這需要額外的時間延遲,這個值應是一個近似值并回送服務器。該延遲可以搭載在TCP ACK消息字段內;因此TCP服務器將會有更少的超時并因此減少重傳以減少無線接入點的擁塞。為此,服務器需要一種新的機制來估計RTO。
在IEEE 802.11[5]的DCF協議中定義了如何在移動節點之間共享介質。DCF協議的核心是CSMA/CA(載波偵聽多路訪問/沖突避免)。節點發送分組之前必須監聽該信道以確定另一個節點是否正在傳輸,如果信道空閑的時間超過了DIFS(分布式幀間間隙),節點繼續傳輸,如果信道被監測為忙,則節點將延遲傳輸直到正在進行的傳輸結束。在這一過程開始時,節點首先在競爭窗口中選擇一個隨機數為基準的隨機退避計數值,同時在每一個slot(時隙),節點監聽信道是否空閑,若信道空閑,那么進行一次倒數,即計數值減1,若信道忙,則不進行相應倒數。當該隨機退避數值退避到0時,節點可以發送數據。
此外,即使介質在DIFS時間內被監測為空閑,節點必須在兩個連續的新分組傳輸之間等待一個隨機退避時間[6-7]。隨著沖突避免,802.11引入了ACK(肯定確認)機制。實現802.11 MAC的節點接收的所有數據包必須由接收MAC確認。在接收到一個數據包之后,在發送ACK之前,接收端會等待短暫的一段時間,稱為SIFS(短幀間間隔)。

圖1 DCF訪問機制
網絡設計如圖2所示,由許多連接到接入點的移動節點組成,網絡對端為一臺FTP服務器。移動節點都試圖訪問共享介質,這可能導致擁塞,從而發生沖突,一旦某節點獲得傳輸介質,它將向FTP服務器發送請求以下載文件,傳輸過程中的任何錯誤將通過DCF機制進行修正。用戶估計成功地將數據包傳送到接入點所需的平均時間,這個時間用以擴展RTO。

圖2 網絡設計
對DCF中的退避窗口進行建模,以便推導出延遲D。在802.11中,節點傳輸之前,初始化的退避時間是分布在(0,W-1)上的一個隨機整數,其中W表示競爭窗口,取決于每個分組失敗傳輸的次數。對于第一次傳輸嘗試,該值等于CWmin,這被稱為最小競爭窗口。
令p為兩個或更多個節點在同一時隙發送數據包產生沖突的概率。在這個案例中,每次不成功的傳輸后,W的值加倍,直到最大值CWmax,這里CWmax=2mCWmin,m表示該分組的不成功發送的次數。一旦W成為CWmax,它保持此值,直到它重新為CWmin。可以得出節點選擇的競爭窗口等于W的概率。這個概率由下式給出:

在文獻[8]中給出了飽和網絡的情況下的沖突概率p,其中發送節點總是具有待發送的數據分組隊列,所以每個進入的數據都立即被退回。因此,飽和網絡情況下的平均退避窗口由下式給出:

在本案例中,我們使用泊松過程來獲得非飽和網絡中沖突概率的近似值。假如一個無線網絡內,有NC個節點在離散時間內運行,其中每個節點可以被表示為具有無限存儲的M/G/1排隊系統。分組到達率為λ,而分組發出為μ,因此,一個M/G/1系統,分組接口隊列為空的概率可以通過以下公式近似給出:

如果系統不為空,則數據分組在抵達時會被積壓,因此,網絡(NC節點處于穩定狀態)是空的概率由以下公式給出:

那么,對概率為π0(cell)的任意分組,退避窗口為0,并且以概率1-π0(cell)積壓。因此,一般(非飽和)抵達率的平均退避窗口大小由下式給出:

考慮到網絡包含NC個節點,只有具有非空隊列的節點才能與來自其他節點的數據分組沖突。數據分組沖突概率可以通過下式解決:

另外,令q是節點在隨機選擇的時隙中發送的概率,發送的數據分組在給定時隙的信道上沖突的概率p相當于在(NC-1)個剩余節點中至少一個在相同時隙中發送的概率。因此,發生沖突的概率p由下式給出:


幀交換周期由成功發送數據幀的周期加上沖突周期再加上空閑時間組成。因此,

這里,

通過替代,我們得到以下等式:
α表示節點成功傳輸所捕獲的時間,β表示沖突持續時間,γ表示時隙的持續時間。參數α和β的值根據訪問模型而不同,假設數據包只是數據片段,這意味著沒有碎片,從而,對于沒有RTS/CTS的基本DCF接入機制,最終,通過求解方程(9),可以得到各參數之間的關系:

TCP的重傳超時策略由RFC 2988[9]中描述的規則給出。在接收到ACK,平滑測量樣本之后計算RTO,并對最近的RTT(回環時間)變化情況進行加權。標準[6]計算RTT如下:

通常,α的取值為0.125,我們可以清楚地看到,過去的RTT樣本的影響呈指數下降。為設置RTO,標準使用估計的RTT(EstimatedRTT)和安全邊距:

DevRTT用于估計采樣RTT(SampleRTT)如何偏離EstimatedRTT,DevRTT計算如下:

通常,β的值為0.25。在設計中,我們以這樣的方式擴展RTO,它將包括從客戶端反饋中收到的延遲值D。因此,在接收到TCP頭部字段中的ACK所攜帶的D后,我們提出了動態RTO的計算:

為了驗證提出的方法,我們選擇了FTP服務來模擬批量TCP數據。FTP通信配置如下:請求時間設置為10秒,它定義了文件傳輸之間的時間間隔,文件大小設置為50000字節,服務類型設置為最佳,在仿真過程中,我們用了10到50個活動節點的數量。
圖3顯示了TCP修改之前和之后發送的平均流量(bytes/sec),藍色曲線表示基于新RTO機制修改過的TCP。在流量達到一定程度后,仿真顯示FTP在流量方面有所增強。這是由于FTP服務器的超時次數減少,因此,在服務器和訪問點之間的傳輸速度更快。

圖3 FTP服務器的流量

圖4 FTP服務器上的TCP重傳數
圖4顯示與原始TCP相比,服務器端的TCP平均重傳計數也得到了增強。重傳次數減少,因此超時數也減少,這將導致吞吐量的增加。
在本文中,我們建模了802.11網絡成功交付數據包所需的時間,通過在TCP Options字段中搭載,并以反饋的形式發送給TCP服務器,這些反饋將用于動態調整RTO。仿真結果表明,就發送的TCP流量和TCP服務器重傳方面,性能有了顯著改進,這種改進將有助于降低無線網絡中接入點的擁塞程度。
[1]王志強.無線網絡中TCP協議的改進研究[J].阜陽師范學院學報(自然科學版),2013,30(3):60-62.
[2]劉純麗.移動無線網絡中TCP協議改進研究[J].池州學院學報,2009,23(6):21-23.
[3]周武旸,姚順銓,文莉.無線Internet技術[M].北京:人民郵電出版社,2006:229-230.
[4]李牧,張勇丁.無線網絡環境中傳輸控制協議的改進機制[J].計算機工程,2016,42(1):103-108.
[5]IEEE.Wireless LAN Medium Access Control(MAC)and Physical Layer(PHY)Specifications:High Speed Physical Layer in the 5 GHz Band[S].USA:IEEE Computer Society,1999.
[6]劉利強,周細義,張舸.改進無線網絡TCP性能的研究[J].無線電通信技術,2008,34(1):4-5.
[7]Hala Elaarag.Improving TCP Performance over Mobile Network[J].ACM Computing Surveys,2002,34(3):357-374.
[8]K.Chua Y.Tay,A Capacity Analysis for the IEEE 802.11 Mac Protocol[J].Wireless Networks,2001,7(2):159-171.
[9]V.Paxson and M.Allman.Computing TCP's Retransmission Timer[R].RFC 2988,2011.
Abstract:In the wired network,the loss of data packets is generally caused by the network congestion,however,in wireless networks,the loss of data packets is usually due to the high bit error rate and wireless link failures.Obviously,it is not appropriate to use the TCP protocol acting on a wired network directly for a wireless network.Proposes an end to end adaptive mechanism that allows the TCP session to dynamically ad?just the RTO(Retransmission Timeout)of a TCP session,the server will have to adjust the timers based on feedbacks from clients.The mechanism is verified by simulation and compared with the original TCP protocol.The results show that the probability of retransmission of the server is greatly reduced due to the decrease of the number of timeouts,and the congestion of the wireless access point is obviously im?proved.
Keywords:IEEE 802.11;TCP;RTO;Network Congestion
Research on Improvement of TCP Protocol Based on 802.11 Environment
ZHAO Long
(Huaian College of Information Technology,Huaian 223003)
1007-1423(2017)26-0025-04
10.3969/j.issn.1007-1423.2017.26.006
趙隴(1976-),男,甘肅張掖人,碩士研究生,講師,研究方向為網絡集成、網絡安全
2017-06-20
2017-09-05