TCP可靠傳輸原理

2021-09-19 09:26:28 字數 1283 閱讀 3218

1、分為首部和資料兩部分,二十個位元組固定首部;

2、分析:

1)兩個位元組源埠、兩個位元組目的埠;

2)四個位元組序號(報文段序號)、四個位元組確認號(期望收到對方下乙個報文段的第乙個資料位元組的序號);

3)四位資料偏移、六位保留、六位控制位:緊急urg、確認ack、推送psh、復位rst、同步syn、終止fin;

4)兩位元組視窗(視窗值作為接收方讓傳送方設定其傳送視窗的依據);

5)兩位元組檢驗和(檢驗方法類似udp,加偽首部)、兩位元組緊急指標(結合緊急控制位urg);

6)最大四十個位元組選項,包括mss(最大報文段長度,預設536)、十字節時間戳(時間戳值、時間戳回送回答,計算rtt,防止序號繞回)等

傳輸通道不產生差錯;與速度無關,接收方總能及時處理收到的資料。
1、無差錯情況;

2、出現差錯:設定超時計時器。

注意三點:1)傳送方保留分組副本;2)分組和確認分組進行編號;3)超時計時器比平均往返時間長一些。

3、確認丟失和確認遲到:

超時。重新傳送分組,接收方兩個個操作:1)丟棄重複分組;2)向a傳送確認;

這種可靠傳輸機制也稱arq(自動重傳請求)

特點:接收方不用請求傳送方重傳某個出錯分組;通道利用率低。

改進:連續arq協議(流水線傳輸)與滑動視窗協議

1、滑動視窗協議:

1)傳送視窗與接收視窗不總是一樣大;傳送方和接收方各自維護乙個傳送視窗和接收視窗,單位是位元組

2)對於不按序到達的資料不丟棄,臨時存放在接收視窗中;

3)接收方必須有累計確認功能;

2、超時重傳時間的選擇:tcp中記錄傳送時間和接收到的時間rtt

平均往返時間rtt,加權平均往返時間rtts

新rtts =(1 - a)*(舊的rtts)+ a *(新的rtt樣本)(0 <= a < 1,推薦0.125)

超時重傳時間rto,rtt偏差的加權平均值rttd

rto = rtts + 4 x rttd

新的rttd =(1 - y)*(舊的rttd)+ y * |rtts –新的rtt樣本| (y推薦0.25)

在計算平均加權rtts時,只要報文段重傳了,就不採用其往返時間樣本。這樣rtts和rto比較精確;

3、選擇確認sack

如果收到的報文段無差錯,只是未按序號,中間缺少一些序號資料。可以在首部新增選項「選擇確認」記錄缺少序號段的邊界,在建立連線時協商。

以上為一些要點記錄,詳細請參考《計算機網路(第七版)》謝希仁

tcp 可靠傳輸的原理

在網路 tcp報文段首部結構這篇部落格中,介紹了tcp的報文頭結構,本文介紹tcp的可靠傳輸如何實現及與報文頭結構的關係。報文頭如下 tcp可靠傳輸的原理是什麼?重傳。包丟失,導致傳送方一直沒收到接收方的回包 包損壞,接收方返回nak,或者接收方的回包本身被損壞 需要用到tcp報頭第五行的16位校驗...

TCP 可靠傳輸的工作原理

感謝原作者 tcp 可靠傳輸的工作原理 arq automatic repeat request 自動重傳請求 全雙工通訊的雙發既是傳送方也是接收方。下面為了討論問題的方便,我們僅考慮a傳送資料而b接受資料並傳送確認。因此a就做傳送方,b叫做接收方。因為這裡是討論可靠傳輸的原理,因此把傳送的資料單元...

TCP可靠傳輸的工作原理

1.1.簡介 1.2.確認資料報丟失和遲到 記住一點 只要沒有告訴我你收到了,就表明你沒收到,我就要重發。1.3.可靠通訊的實現 1.4.通道利用率 停止等待協議的優點是簡單,但缺點是通道利用率太低。可以到這樣通道的利用率u是很低的。1.5.流水線傳輸 由以上公式可知,只要提高傳送資料報時間td就可...