資料鏈路層的可靠傳輸通常使用確認和超時重傳兩種機制來完成
流量控制:
停止等待協議:
滑動視窗與後退N幀協議(GBN):
傳送視窗為n,接收視窗為1
累計確認:無須在收到上一個幀的確認才傳送,而是可以連續傳送幀。接收方連續收到幾個正確的資料幀後,才對最後一個資料幀傳送確認資訊
請求重傳:當檢測失序的資訊幀後,要求傳送方重發最後一個正確接收的資訊幀之後所有未被確認的幀
超時重傳:如果出現超時,傳送方重傳所有已傳送但未被確認的幀。
舉個例子:假如傳送方傳送一個0號幀,接受方收到,期待1號幀,然後傳送方繼續傳送1號幀,但1號幀丟失,接收方期待1號幀,
傳送方繼續傳送234號幀,但不是接受方所期待的,就丟棄,1號幀的計時器到期後就重傳1號幀。
1.累計確認(偶爾捎帶確認)
2.接收方只按順序接收幀,不按序無情丟棄
3.確認序列號最大的、按序到達的幀
4.傳送視窗2^n-1,接收視窗大小為1(n位組成的資料幀)
缺點:批次重傳代價太大
選擇重傳協議(SR):
SR選擇重傳原理:
例子:
1.對資料幀逐一確認,收一個確認一個
2.只重傳出錯幀
3.接收方有快取
4.WT max=WR max=2^(n-1)