TCP丢包检测技术详解
| TCP丟包檢測技術詳解 | |||||||||||
| |||||||||||
| ? | |||||||||||
| ? | |||||||||||
| ? | |||||||||||
| 2007年12月6日 10:23??中國新通信??作 者:李雪徐昌彪 | |||||||||||
| ??? 1、引言 ??? 傳輸控制協議(TransportControlProtocol,TCP)是目前Internet中廣泛采用的一種傳輸協議,它為各個主機之間提供可靠、按序傳輸、端到端的數據包傳輸服務。TCP擁塞控制是其成功的重要因素。TCP擁塞控制的前提是網絡擁塞為數據丟失的唯一原因,即只要終端檢測出有數據丟失,均認為是網絡擁塞所致,于是調用擁塞控制機制。 ??? 隨著無線通信技術的發展,由于無線環境具有誤碼率高、信號衰落以及頻繁的移動等特性,網絡擁塞已不能再被看成是數據丟失的唯一原因,直接沿用現有的TCP技術勢必會惡化TCP性能。這樣,能否區分丟包自然成為改善無線環境下TCP性能的關鍵。為此,人們在這方面做了大量的研究和探索,提出了多種技術。但是針對特定丟包情況給出某一方法的文章還很少見。 ??? 2、無線網絡環境中三種丟包情況分析 ??? TCP擁塞控制機制的前提是網絡擁塞為數據丟失的唯一原因,由于無線信道特性,在無線網絡環境中大量的數據會因切換、信道衰落、干擾等而被丟棄,在這種情況下若TCP啟動擁塞控制,會造成不必要的數據發送速率的降低,導致帶寬利用率不高、系統時延加大、吞吐量下降。 ??? 2.1隨機丟包(RandomLoss) ??? 傳統的TCP擁塞控制機制是為有線網絡而設計的。由比特差錯以及鏈路差錯引起的數據丟失幾乎可以忽略不計。但是在無線網絡中,數據丟失是由信號衰落引起的。對基于IS-95CDMA數據服務來說,有1%~2%是隨機丟包。 ??? 2.2突發丟包(BurstLoss) ??? 突發丟包是在一段很短的時間內,導致許多數據連續的丟失。它是由信號衰落引起的。 ??? 以無線局域網為例,對一個移動主機來說,它的所有通信量(流入和流出)都是通過與它相連的基站路由出去的。當移動主機從一個基站的覆蓋范圍移出時,它需要在它所運動到的另一基站處登記它的信息。所有之后的通信都是通過新的基站來完成的。然而,當發生切換時,通過原基站遞交給移動主機的一系列數據包將會丟失。因此,切換可以導致突發丟包事件的發生。 ??? 2.3包的重新排序(PacketReordering) ??? 當接受端收到包的順序與發送端發送順序不同時,就要對包進行重新排序。同樣是以無線局域網為例,包的重新排序與切換有關。當移動主機從一個基站切換到另一個基站時,發往移動主機或者是從移動主機發出的包通過新的基站路由信息。因為數據包在不同的路徑上傳輸會經歷不同的RTT,導致了數據包不能按序遞交。 ??? 3、針對三種情況的解決方案 ??? 我們對一些有代表性的端到端的解決方案進行了總結,并分析了相應的一些解決方法。 ??? 3.1隨機丟包的解決方案 ??? 3.1.1TCPWestwood ??? TCPWestwood是一種由發送方通過測量ACK的速率來調整擁塞窗口的TCP協議。它是在發生擁塞之后用于設置ssthresh和cwnd的,不像傳統的TCP擁塞控制機制檢測到數據丟失后盲目將發送速率減半,因此TCP-W在面臨隨機丟包的情況下可以達到較高的鏈路利用率。帶寬估算方法如下: ??? bn是在tn時刻第n個ACK到達時的估計帶寬,tn是接收到第n個ACK的時刻,Ln是被確認的分組n的尺寸。實驗結果表明,TCP-W在吞吐量、公平性方面都優于Reno,但它也有不足之處,如與Reno共存時,友好性問題以及過高的估計帶寬出現ACK壓縮。
| |||||||||||
總結
以上是生活随笔為你收集整理的TCP丢包检测技术详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows 下单机最大TCP连接数
- 下一篇: 妙用0元素数组 实现大小可变结构体