計算機網路中的選擇重發ARQ是什麼?


選擇重發自動重傳請求(ARQ)是一種資料鏈路層可能用來控制錯誤的技術。

控制ARQ的技術

通常,有三種技術透過自動重傳請求(ARQ)來控制錯誤,它們是:

  • 停止等待ARQ
  • 後退N ARQ
  • 選擇重發ARQ

錯誤控制的要求

錯誤控制機制有一些要求,如下所示:

  • 錯誤檢測 - 傳送方和接收方,或任何一方必須確定傳輸過程中是否存在錯誤。

  • 肯定確認 (ACK) - 接收方每收到一個正確的幀,都應進行確認。

  • 否定確認 (NACK) - 每當接收方收到損壞的幀或重複的幀時,它會向傳送方傳送NACK,傳送方必須重新傳輸正確的幀。

  • 重傳 - 傳送方始終維護一個時鐘並設定超時週期。如果先前傳輸的資料幀的ACK在超時前沒有到達,則傳送方會重新傳輸該幀,認為該幀或其ACK在傳輸過程中丟失了。

讓我們看看選擇重發ARQ的工作情況。

選擇重發ARQ

它也稱為滑動視窗協議,用於資料鏈路層的錯誤檢測和控制。

在選擇重發中,傳送方傳送由視窗大小指定的多個幀,甚至不需要像後退N ARQ那樣等待接收方的單個確認。在選擇重發協議中,重新傳輸的幀是亂序接收的。

在選擇重發ARQ中,只有丟失或錯誤的幀才會被重新傳輸,而正確的幀則被接收並緩衝。

接收方在跟蹤序列號的同時將幀緩衝在記憶體中,並且僅對丟失或損壞的幀傳送NACK。傳送方將傳送/重新傳輸收到NACK的包。

示例

以下是選擇重發ARQ的示例:

解釋

步驟1 - 幀0從傳送方傳送到接收方並設定計時器。

步驟2 - 傳送方在不等待接收方確認的情況下,傳送另一個幀,幀1,併為其設定計時器。

步驟3 - 同樣,幀2也在不等待之前的確認的情況下發送到接收方,並設定計時器。

步驟4 - 每當傳送方在幀0計時器內從接收方收到ACK0時,它就會關閉併發送到下一個幀,幀3。

步驟5 - 每當傳送方在幀1計時器內從接收方收到ACK1時,它就會關閉併發送到下一個幀,幀4。

步驟6 - 如果傳送方在時間段內沒有從接收方收到ACK2,則它宣告幀2超時並再次重新發送幀2,因為它認為幀2可能丟失或損壞。

更新於:2023年11月1日

54K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告