2013-04-27 242 views
0

我一直在努力從書中學習這個協議,除了在這一點上他們似乎迴避它,他們表示序列位是可以發送和接收的幀數,但除此之外他們不再接近它了。序列號如何影響固定窗口大小的滑動窗口協議?

我想知道它是如何影響一個固定的窗口大小的協議。 窗口大小爲4的序列位3是否意味着發送方在任何時候都不能發送3個以上的幀?

還是意味着該幀序列中編號爲:0,1,2,0,1,2

正如你所看到的,我很困惑,但對於任何幫助!其非常感謝:)

回答

2

嘗試wikipedia->http://en.wikipedia.org/wiki/Sliding_window_protocol

「在需要可靠按順序傳送分組被用於滑動窗口協議」。數據包的排序使用附加在每個數據包上的「序列號」來定義。雙向通信雙方在傳輸任何包含實際數據的數據包之前都同意窗口大小。該窗口大小可以是固定的或動態改變的。

  1. 因此,對於客戶端到客戶端的通信,例如可以說窗口大小爲10個數據包。依賴於序列號,這意味着它最初是從序列0的數據包到序列10的數據包。

  2. 協議發生並且數據傳輸開始後,客戶端A將開始發送第一個包含序列號的數據包: 1,2,3,4,5,6,7,8,9,10。

  3. 客戶端A將停止發送數據包時,所述窗口大小(10)根據序列號爲止。

  4. 客戶端B以一個確認(ACK)答覆它已經接收到的報文1,2,3,4。

  5. 這意味着在移動窗口從0-10到5-14。偏移量10在固定大小的滑動窗口協議中保持不變。

  6. 因此客戶端A是能夠發送下一個4個包其是11,12,13,14。

一般來說,只要客戶端A有數據要發送,它會一直髮送,直到達到窗口大小。然後它會等待來自另一側的ACK,然後才能繼續發送。

0

序列號指示正在發送的幀是如何編號的。

例如,如果所述幀被從0-7編號,則它是一個3位的序列號。
如果幀從0-15開始編號,那麼它是一個4位序列號。