什麼是三位元滑動視窗協議?


滑動視窗協議是一種傳輸控制協議。為了儲存傳送和接收的資料包,傳送方和接收方都維護一個有限的緩衝區。傳送方傳送的每個資料包都必須由接收方確認。

傳送方為傳送的每個資料包維護一個計時器,並在一定時間內未收到確認的資料包將被重新發送。傳送方會在收到視窗中第一個資料包的確認之前傳送一整個視窗的資料包。這導致更高的傳輸速率,因為傳送方可以在不等待每個資料包確認的情況下發送多個數據包。

接收方會通告一個視窗大小,告訴傳送方它可以接收多少資料,以防止傳送方填滿接收方的緩衝區。

3 位元滑動視窗協議

3 位元滑動視窗協議被稱為基於資料包的協議,它包含資料傳輸協議。它用於傳輸控制協議和資料鏈路層。

解釋

3 位元滑動視窗協議可以用以下圖表表示:

在 3 位元滑動視窗中,傳送方在收到確認之前一次傳送三個幀。滑動視窗指的是傳送方和接收方兩側儲存幀的虛擬框。

例如:

2 5 6 2 1 3 9
2 5 6 2 1 3 9
2 5 6 2 1 3 9
2 5 6 2 1 3 9
2 5 6 2 1 3 9

分步解釋如下:

步驟 1 - 上述塊表示大小為 3 的滑動視窗。

步驟 2 - 接收方在收到來自發送方的幀後,會發送一個確認 (ACK),其中包含它期望接收的下一幀的編號。

步驟 3 - 上圖顯示了 3 位元滑動視窗的傳送視窗和接收視窗之間訊號傳輸的一個示例。您可以看到傳送方首先向接收方傳送 1、2 和 3,然後在收到接收方接收 1 的確認並從接收方傳送 4 後,傳送方再次傳送 4。傳送 5 和 6 的工作方式類似。

步驟 4 - 但是這個過程有時會遇到錯誤。如果接收方在接收幀時遇到某些錯誤,則接收方不會發送 ACK。對於這些情況,傳送方會為每個幀的 ACK 接收維護一個超時。

步驟 5 - 如果超過時間,則傳送方會重新發送該幀,如果該幀不存在則將其新增到接收方,否則忽略它。

步驟 6 - 另一個錯誤是接收方傳送 ACK 但在傳送方收到它之前丟失了。類似地,也會使用超時來處理此錯誤。

更新於: 2021 年 9 月 11 日

1K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.