停止等待、回退N和選擇重傳協議之間的區別


這三種協議都提供了一種流量控制機制。通讀本文以瞭解停止等待、回退N和選擇重傳協議的基本概述。

停止等待協議

這是最基本的流量控制策略。傳送方使用此方法一次向接收方傳送一個幀。傳送方將停止並等待接收方響應。傳送訊息和接收確認之間的時間間隔稱為傳送方的等待時間,在此期間傳送方處於空閒狀態。收到確認(ACK)後,傳送方將向接收方傳送下一個資料包,依此類推,只要傳送方有資料要傳送。

回退N

回退N ARQ 協議是自動重傳請求 (ARQ) 協議的一個變體。即使接收方沒有用確認 (ACK) 資料包響應,傳送方也會根據視窗大小發送多個幀。傳輸視窗大小為 N,接收視窗大小為 1 是基本滑動視窗協議的一個特例。它可以在請求確認之前向對等方傳送 N 個幀。

它基於協議流水線的概念,允許在第一個幀被確認之前傳遞多個幀。由於回退N ARQ 同時提供多個括號,因此需要一種編號策略來區分一個幀與另一個幀,因此回退N ARQ 中的架子按順序編號。這些數字稱為序列號。

一次可以傳送的幀的最大數量完全取決於傳送方的視窗大小。如果在商定的時間範圍內未收到幀的確認,則當前視窗中的所有結構都將重新傳輸。

回退N 消耗更多頻寬,因為它即使只有一個數據包丟失也會重新傳輸整個視窗。如果錯誤率較高,則回退N 將消耗大量頻寬。

回退N 使用累積確認,這可以減少流量;但是,始終存在丟失累積確認的風險。如果發生這種情況,則所有相應資料包的確認都會丟失。

選擇重傳協議

選擇重傳 ARQ 是在可靠通訊中用於處理序列號和重傳的自動重傳請求 (ARQ) 協議的一個變體。特定重複允許傳送方在不等待接收方的單個 ACK 的情況下(如在回退N ARQ 中)傳遞一組幀。

它使用兩個大小相等的視窗:一個傳送視窗,用於儲存要傳送的幀;一個接收視窗,用於儲存接收方接收到的幀。大小為幀最大序列號的一半。

即使它在此期間沒有確認任何幀,選擇重傳協議也允許它根據傳送視窗中結構的可用性發送多個幀。傳送視窗的大小決定了可以傳送的幀的最大數量。

如果您必須考慮頻寬需求,則選擇重傳是一個更好的選擇,因為它只會重新發送有缺陷或丟失的資料包,而不是整個視窗。

停止等待、回退N和選擇重傳之間的區別

下表重點介紹了停止等待、回退N和選擇重傳協議之間的主要區別:

關鍵 停止等待協議 回退N 協議 選擇重傳協議
傳送方視窗大小 停止等待協議中的傳送方視窗大小為 1。 回退N 協議中的傳送方視窗大小為 N。 選擇重傳技術中的傳送方視窗大小為 N。
接收方視窗大小 停止等待協議中的接收方視窗大小為 1。 回退N 協議中的接收方視窗大小為 1。 選擇重傳技術中的接收方視窗大小為 N。
最小序列號 停止等待過程中的最小序列號為 2。 回退N 協議中的最小序列號為 N+1,其中 N 是傳送的資料包數量。 選擇重傳協議中的最小序列號為 2N,其中 N 是傳輸的資料包數量。
效率 在停止等待協議中,效率公式為 1/(1+2*a),其中 a 是傳播延遲與傳輸延遲的比率。 在回退N 協議中,效率公式為 N/(1+2*a),其中 a 是傳播延遲與傳輸延遲的比率,N 是傳送的資料包數量。 在選擇重傳協議中,效率公式為 N/(1+2*a),其中 a 是傳播延遲與傳輸延遲的比率,N 是傳送的資料包數量。
確認型別 在停止等待協議中,確認型別為單個。 在回退N 協議中,確認型別為累積。 在選擇重傳協議中,確認型別為單個。
支援的順序 在停止等待協議的接收端,不需要特定的順序。 在回退N 協議的接收端,僅接受按順序交付。 在選擇重傳協議中,接收端也可以接受亂序交付。
重傳 在停止等待協議中,如果資料包丟失,則重傳次數為 1。 在回退N 協議中,如果資料包丟失,則重傳次數為 N。 在選擇重傳協議中,如果資料包丟失,則重傳次數為 1。

結論

回退N 和選擇重傳是滑動視窗協議的型別,它們允許在不等待接收方確認的情況下自發地傳輸多個幀。停止等待協議的不同之處在於,它允許傳送方一次僅傳輸一個幀,然後等待接收方的確認,然後再傳輸第二個幀。

更新於:2022-08-25

9K+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告