可靠資料傳輸原理

2021-08-17 06:09:31 字數 2041 閱讀 7766

- 概述

- 可靠資料傳輸原理

- tcp的可靠資料傳輸

tcp可靠資料傳輸的滑動視窗既不是純粹的gbn,也不是純粹的sr,在這兩個協議之外又引入了新的東西。

資料傳輸發生錯誤怎麼辦?

傳送方的有限狀態機:

(圓圈代表當前所處的狀態,帶箭頭的線代表狀態的轉換,橫線上方指示引起狀態變遷的事件,橫線下方指示狀態轉換中採取的活動)

接收方的有限狀態機:

ack/nak訊息發生錯誤/被破壞怎麼辦?

傳送方的有限狀態機:

接收方的有限狀態機:

假如不使用nak訊息只使用ack?

如果分組丟失怎麼辦?

傳送方的有限狀態機:

定時器工作狀態圖:

可靠資料傳輸協議效能很差,怎麼解決?

解決辦法:打破停等協議——通過滑動視窗協議實現流水線機制。

gbn sr

接收方sr協議的缺陷:無法分清下圖兩種情況,傳送方重發分組0,接收方或許會將它當成新發的分組0。

因此要滿足:傳送方視窗尺寸+接收方視窗尺寸<=序列號長度。

tcp可靠資料傳輸機制

tcp可靠資料傳輸與sr不同的是:

接收方可能會採取的三種動作:

tcp快速重傳機制

有其他辦法檢測分組丟失嗎?

快速重傳機制:

為什麼是收到三個相同的ack就重傳?

tcp流量控制機制

當接收方告知傳送方rcvwindow = 0時,會如何?

tcp擁塞控制機制

擁塞控制與流量控制有什麼區別?

tcp的擁塞控制機制:慢啟動、擁塞避免、快重傳、快恢復。

乙個典型的演示如下圖:

【例題】乙個tcp連線總是以1 kb的最大段長傳送tcp段,傳送方有足夠多的資料要傳送。當擁塞視窗為16 kb時發生了超時,如果接下來的4個rtt(往返時間)時間內的tcp段的傳輸都是成功的,那麼當第4個rtt時間內傳送的所有tcp段都得到肯定應答時,擁塞視窗大小是多少?

【答案】:threshold=16/2=8 kb,congwin=1 kb, 1個rtt後,congwin=2 kb ,2個rtt後,congwin=4 kb ,3個rtt後,congwin=8 kb ,slowstart is over; 4個rtt後,congwin=9 kb。

可靠資料傳輸原理(下)

上篇筆記中,我們主要討論了可靠資料傳輸協議的作用,以及如何從零開始一步一步構建乙個可靠的資料傳輸協議,在最後,我們構建出了 rdt 3.0 協議,它可以很好的在現實世界的底層通道上面工作。但問題是它是乙個停等協議,傳送端必須確認接收端已經接收到了正確的分組資料後才能傳送下乙個分組資料,這在現實生活中...

可靠資料傳輸的原理 位元差錯

讀完 計算機網路自頂向下設計方法 第三章可靠資料傳輸的原理,有些明白為什麼tcp報文要這樣設計。第一種情況 僅考慮通訊通道上不會丟包,只會有位元差錯產生。通過校驗和機制 checksum 和重傳機制,在雙方保證資料報可靠性。傳送方 接收方狀態機如下所示。資料報傳送後,傳送方等待接收方的nak 否定 ...

TCP中的可靠資料傳輸

前面我們講到了可靠資料傳輸的實現,而tcp就是一種可靠資料傳輸,因此我們有必要了解一下tcp中的可靠資料傳輸跟前面的回退n步和選擇重傳有什麼區別 首先,我們明確乙個概念,累積確認 累計確認跟前面的ack不太一樣,在tcp報文段中有乙個確認號字段,該欄位表示接收方希望接收到的下乙個報文段的序號,而tc...