日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP丢包检测技术详解

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP丢包检测技术详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
TCP丟包檢測技術詳解
http://www.cctime.com/html/2007-12-6/20071261023151210.htm
? ?
?
?
?
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丟包檢測技術詳解
? ?
?
?
?
2007年12月6日 10:23??中國新通信??作 者:李雪徐昌彪

??? 3.1.2TCP-Jersey

??? 該算法與TCP-W的思想類似,即在發送端通過觀察返回ACK的速率來估計帶寬,算法如下:

?

??? 這里Rn是在tn時刻第n個ACK達到時的估計帶寬,tn是接收到第n個ACK的時刻,Ln是被確認的分組n的尺寸,RTT是往返時間,可以看出,當遇到ACK壓縮或路由變更時會更高。

??? 3.2突發丟包的解決方案

??? 3.2.1TCP-Feedback

??? TCP-F是一種在MANET中基于反饋的處理路由失效的方法。該方法使TCP發送方能夠區分出丟包是由于路由失敗還是由于網絡擁塞。其實現過程如下:當中間節點的路由進程檢測到路由中斷后,顯式地發送一個路由失敗通知RFN(RouteFailureNotification)給TCP發送方;當TCP發送方接收到RFN后,進入到一個凍結狀態,處于凍結狀態的TCP發送方停止發送數據分組并凍結所有的變量如定時器與擁塞窗口大小;TCP發送方一直處于凍結狀態,直到收到中間節點發來的路由重建通知RRN(RouteRe-establishment Notification);收到RRN后,TCP發送方從凍結狀態回到正常狀態,并且在原有TCP變量的基礎上開始發送數據。為了避免一直處于凍結狀態的死鎖狀態,在收到RFN后,TCP發送方會觸發一個路由實效定時器,當該定時器超時,則進入正常的擁塞控制算法。它的不足之處在于當連接重新建立時向網絡中注入大量的突發通信量,可能會發生網絡擁塞。

??? 3.2.2ELFN

??? 顯式鏈路失效通知ELFN(ExplicitLinkFailureNotification)與TCP-F相似。然而,它們的不同之處包括以下兩個方面:

??? (1)ELFN靠路由失效信息而不是TCP-F中RFN包來通知源端鏈路或路由失敗;

??? (2)ELFN不需要中間節點發送RRN啟動已經凍結的狀態。

??? 3.3包重新排序的解決方案

??? 3.3.1DynamicDelayedAck

??? 動態延遲確認(DynamicDelayedACK)通過減少TCP接收方發出的ACK確認分組的數量來提高TCP性能。在該方法中,累計確認的系數d的值會隨著TCP分組的序號N而改變。當N<L1時d取1;當L1≤N≤L2時d取2;當L2≤N≤L3時d取3;當L3≤N時d取4(L1、L2、L3為定義的門限值)。該方法的缺點是:每次發送端收到延遲確認后會發送大量的數據包進入網絡,這將會導致網絡擁塞。

??? 3.3.2TCP-DOOR

??? TCP失序檢測與響應TCP-DOOR是一個端對端的方法,基于失序傳遞事件的發生作為判斷的目標,失序事件的發生被解釋成路由改變的指示。它的主要思想是:使用ACK序號非遞減的特性來檢測失序事件的發生。在重復ACK的分組中,這些分組有相同的序號。所以發送方需要附加的信息來檢測失序事件。采用在接收方把傳出的ACK分組新增ADSN(ACKDuplicationSequenceNumber)字段,該字段占1字節,對于每一個重復傳送的ACK分組,ADSN的值會增加。這樣在發送方就可以通過ADSN的值來判定失序事件的發生。一旦TCP發送方得知失序事件時,應做出如下的響應:臨時關閉擁塞控制,并且立刻從擁塞避免階段恢復。該方法的弊端是:路由發生改變后發送速率的值設置的不適當。

??? 4、結束語

??? 為了提高無線網絡中的TCP性能,針對無線網絡的特點,本文分析了丟包產生的原因并討論了各國研究者提出的解決方案,他們的區別在于不同的丟包情況采用不同的響應機制。但是幾乎沒有一種機制可以同時解決三種丟包情況,這也將是以后我們的一個研究方向。

編 輯:王彬


總結

以上是生活随笔為你收集整理的TCP丢包检测技术详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。