2015年10月5日 星期一

Data Communication 1 ARQ

ARQ: Automatic Retransmission reQuest (自動回傳機制)
目的在於傳輸過程如果出錯,這個機制能夠重新傳送packets/frames
目前有三種做法~ 各有利弊


  • Stop and Wait
  • Go back n
  • Selective repeat

Stop and Wait

當A成功傳送packet 0 給B時,B經過確認無誤便會傳送要求packet1的ACK給A,以便A繼續傳送下一個封包。(ACK 內含Resquest Number)







失敗情況:A沒傳送成功,B接收不到,會有一個 wait time超過的話,B會再發送RN給A

S&W ARQ 成功率非常高,但缺點是沒有效率

Go back n

Most popular scheme~
概念是先傳送一連串的封包(解決站線不傳的問題),最後再檢查失敗狀況
使用sliding window ARQ










sliding window:當ACQ 傳到的的時候(表示n-th的packet已經傳到了),上圖的為Go Back 7
也就是傳7個封包後會檢查sliding window 以上圖為例
傳完第7個(packet6) 所得的sliding window 為[5,11]
然後會有個等待時間
若這個wait time 中間NodeA沒有拿到 7的ACQ(表示packet6是否傳成功)
就會對照sliding window
~下次的連續封包要從packet 5開始傳

Note: Go back n Node B 所接收的packet 必須要為連續的,若中間斷掉,之後所傳的packet都是做拉基 XD

Selective repeat

每個packet 都有計時器的功能
也就是當n過了多久都還沒有收到
便會重新再傳一次
雖然這樣如果封包斷掉,之後的packet也不會變成拉基,但是每個封包就會又多加接收端不需要的資訊。

沒有留言:

張貼留言