欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1959|回復: 0
打印 上一主題 下一主題
收起左側

TCP數據流穩定性--TCP分片,重組及亂序

[復制鏈接]
跳轉到指定樓層
樓主
ID:107189 發表于 2016-3-6 02:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1、IP分片的情況。IP軟件包有一個[分片]和[重組]模塊,一個IP數據報在傳輸中可以被ip軟件包的[分片]模塊分片,在目的接收端B的IP軟件包 的[重組]模塊重新組合。接收端B的IP軟件包如果收到亂序的IP報文,是不會把這個包交付到高層TCP協議的,直到收到同一個IP報文的全部分片。所 以,如果發送端的FIN被分片,接收端B在收到完整的此IP數據報之前,TCP模塊不會收到這個包的任何分片。

2、發送端A發送了一個FIN,這僅代表發送端A想終止傳輸,并不代表另一端B想終止。這就是說,終止雙向鏈接需要4次握手斷開(也有3次握手斷開,類似 3次握手鏈接),比如,發送端A向發送端B發一個查詢請求,發送端A已經沒有更多的數據要發送了,因此可以發送FIN請求一端斷開,也稱為半斷開,然后, 另一端B則需要時間處理請求,再把查詢結果返回給A,最后B發送FIN。
1)首先是A發送FIN,然后收到來自B的對這個FIN的確認,此時,發送端A將不能發送任何數據包,但可以接受B發來的數據包(這是非常常見的傳輸模式,客戶端發完,終止鏈接)。
2)發送端B仍舊可以繼續發送數據包,直到高層沒有更多的數據,發送端B發送FIN,A收到后發送對這個FIN的確認。此時,雙方都不能再傳輸任何數據了。

3、TCP協議規定,對于收到的亂序報文并不丟棄,而是緩存下來(這樣做是為了減少更多的重傳),立即發送希望接受的報文確認。例如:發送端A發送了以下幾個包:第一個:1001-1100,第二個1101-1200,第三個FIN包(序列號是1201,一個虛字節)。
1)第二個包在傳輸的過程中丟失了,接收端收到第三個包后并不丟棄,而是緩存下來,然后,立即發送一個ACK,確認號是1101(這樣做的目的是不必等到發送端A的第二個包超時后重傳,發送端A收到3個同樣的ACK后立即重傳,這是快速重傳的概念)。
2)當發送端A收到3個確認號都是1101或者第二個包的超時計時器到時間后,立即重新發送第二個包(之所以可以重傳,是因為TCP協議在接收端和發送端都各自建立了兩個發送、接收緩存)。
3)這樣,當接收端B收到來自A的第二個包后,緩存中的數據都是按序的了。
4)對于按序包,接收端B對序列號的最后一個字節+1,也就是發送確認號是1202的ACK包。
5)發送端A收到確認號是1202后,便不能再發送任何數據了。

TCP 的傳輸機構有多個定時器。當一個包發送時,重發定時器開始計數;當收到確認信號后,重發定時器停止計數。如果超過設定時間段還沒有收到確認信號,就 重發該包。一個比較棘手的問題是如何設置該時間段。如果太長,當網絡傳輸錯誤增加時將導致不必要的等待時間;如果太短,就會產生過多的重復包從而降低網絡 的反應時間。現代TCP協議根據實際情況對重發定時器進行動態設定。
     不 管重發過程執行得多么有效,很少的丟失包就能嚴重地降低TCP連接的流量。每個未收到的包或包的片段只會在重發定時器超時的時候才會丟失。在數據重發 時,接收過程一直在遞送這些重發的數據,這樣就使總體的數據傳輸陷于停頓,直到丟失的數據被取代為止。這些重發過程導致基于TCP的連接有時處于不穩定狀 態。

IP丟包:
1。接受方:在以太網上,服務端有可能響應不過來(大量客戶端有讀寫需求),服務端訪問密集,丟棄包在所難免
2。 發送方:大量客戶端同時請求服務器發送數據,并且通告窗口很大,那么服務器會很快的把分組送到網卡上,考慮一種比較極端的情況,網絡中還有大量流量占用帶寬,致使 服務器不能迅速將數據發送出去,而網卡可以緩存的分組數是有一定限制的,那么肯定會有數據在未發送前就被丟棄了!而接收方對這種情況毫無所知,不會更改通 告窗口的大小,即流量控制不會起作用

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表