1. 程式人生 > >停止等待協議和連續ARQ協議

停止等待協議和連續ARQ協議

協議:兩臺計算機通訊時對傳送資訊內容的理解、資訊表示形式以及各種情況下的應答訊號都必須遵循的一個共同的約定。

停止等待協議(資料鏈路層):

工作原理:傳送方每傳送一幀就暫停,等待應答(ACK)到來。收方收到資料幀後傳送應答(ACK)幀給傳送方,傳送方再發送下一個資料幀。

問題解決:

1. Data幀出錯:收方用NAK應答。

2. Data幀丟失:使用定時器,一定時間未收到ACK幀就重發。

3. 收方收到重複的data幀:進行幀編號。

缺點:資料每次傳送都要等待應答幀的到來,效率較低。尤其是利用衛星進行通訊的時候,衛星的傳播延遲是270毫秒,每發一幀要用540毫秒。

連續ARQ協議(資料鏈路層)

ARQ(Automatic Repeat reQuest)--自動請求重發,又稱GO-BACK-N

特徵:

1. 一次可發多幀。

2. 流水線傳送和接收。

工作原理:接收端只按序接收資料幀。雖然在有差錯的2號幀之後接著又收到了正確的3個數據幀,但都必須將它們丟棄,因為這些幀的傳送序號都不是所需的2號。結點A重傳2號幀時, 以後的各幀也要全部進行重傳。結點A在每傳送完一個數據幀時都要設定超時定時器。在定時器超時(Timeout)後仍未收到確認幀,就要重發。在等待2#資料幀時,收到非2#,或出錯的2#,有兩種解決方法:一是收方傳送應答幀“REJ 2#--拒收2#,要求發方重發2#資料幀;二是不傳送應答幀。