RDT可靠數據傳輸
目標:不錯,不丟,不亂
情景1:底層信道完全可靠
- 不會發生數據錯誤
- 不會丟棄分組
RDT設計:
- 只需目的端口與源端口,以及長度即可。
情景2:底層信道有數據錯誤
-
存在數據錯誤
-
不會丟棄分組
RDT設計:
-
差錯檢測:校驗和
-
確認機制:ACK,接收方顯式告知分組已經正確接受;NAK,接收方顯式告知分組有錯誤
-
重傳機制:發送方收到NAK後,重傳分組
補充:若ACK/NAK出錯,會產生重複分組:
-
序列號機制:發送方給每一個分組添加序列號,接收方丟掉序列號重複的分組
-
去掉NAK:接收方當收到錯誤分組時,發送上一個序列號的ACK表示出錯
情景3:底層信道有丟棄分組
- 存在數據錯誤
- 存在丟棄分組
RDT設計:
- 定時器機制:發送若沒有收到ACK,重傳
RDT性能優化
Go-Back-N協議
特點:
- 累積確認
- 接收方沒有緩存
- 只有一個定時器
SR協議
特點:
- 接收方設置緩存機制
- 位每個分組設置定時器
缺陷:無法區分前後的窗口