1:資料受損怎麼辦
2:資料丟失怎麼辦
2:重傳(如果傳輸受損,重傳;如果傳輸丟失,重傳)
通過以上兩個方法外加序列號,校驗等已經實現了可靠性傳輸。但是有效能問題
通道利用率u=傳輸時間 /傳輸時間 + rtt。當rtt很大是,傳輸效率會非常低下。
把通道假設為一條高速公路,停等類似於前一輛車到達終點後下一輛車才能開始進入高速公路,效率可想而知。
不再以停等的形式進行傳送,而是一次傳輸多個,下圖為例,一次性傳輸三組資料使得通道的利用率提高了三倍。
同樣用高速公路作為例子,車子一輛跟著一輛進入高速公路。
1. 更多的序號,停等0,1就夠了。
2.傳送的過程中可能會亂序,傳送方最低限度需要快取已經傳送但是沒有確認的資料分組,接收方也許也要快取已經收到的資料。
下圖為乙個基本的滑動視窗在傳送端的模型
gbn的好處就是簡單,接收方只需要維護乙個期待的序列號即可。
最大的問題是資源浪費,上圖可以看出即使分組3,4,5被正確接受了,但是因為分組2丟失了,導致2,3,4,5被全部重傳。
gbn中接收方直接丟棄失序分組,簡單但是資源浪費,sr協議就是為了解決浪費。
解決浪費的核心就是不丟棄失序分組。但是作為接收方,傳輸層要保證按序把資料傳輸給上層的應用層,所以相比gbn,sr最大的改造是在接受方增加和快取。作為傳送方,sr在視窗內也有亂序的已經確認的資料分組。
接收方快取了正確接收但是亂序的資料。當receivebase(期望的正確分組)到達時,資料會被交付給上層應用,同時接受視窗會移動。receivebase=receivebase+1
以上,滑動視窗的基本原理已經介紹完畢,通過對比發現,不管時gnb還是sr,為了保證資料不會亂序,都有乙個共同特點:
可靠資料傳輸原理
概述 可靠資料傳輸原理 tcp的可靠資料傳輸 tcp可靠資料傳輸的滑動視窗既不是純粹的gbn,也不是純粹的sr,在這兩個協議之外又引入了新的東西。資料傳輸發生錯誤怎麼辦?傳送方的有限狀態機 圓圈代表當前所處的狀態,帶箭頭的線代表狀態的轉換,橫線上方指示引起狀態變遷的事件,橫線下方指示狀態轉換中採取的...
可靠資料傳輸原理(下)
上篇筆記中,我們主要討論了可靠資料傳輸協議的作用,以及如何從零開始一步一步構建乙個可靠的資料傳輸協議,在最後,我們構建出了 rdt 3.0 協議,它可以很好的在現實世界的底層通道上面工作。但問題是它是乙個停等協議,傳送端必須確認接收端已經接收到了正確的分組資料後才能傳送下乙個分組資料,這在現實生活中...
可靠資料傳輸的原理 位元差錯
讀完 計算機網路自頂向下設計方法 第三章可靠資料傳輸的原理,有些明白為什麼tcp報文要這樣設計。第一種情況 僅考慮通訊通道上不會丟包,只會有位元差錯產生。通過校驗和機制 checksum 和重傳機制,在雙方保證資料報可靠性。傳送方 接收方狀態機如下所示。資料報傳送後,傳送方等待接收方的nak 否定 ...