0
$\begingroup$

I am trying to learn about GoBackN and Selective Repeat ARQ. And I have the following practice question:

Consider sender A and receiver B which communicate using an ARQ protocol. The current window at A is [12, 18] and A receives ACK 16 from B.

a. What is the new window of A when A and B implement Go Back N ARQ? Provide an explanation of how you obtained your result.

b. What is the new window of A when A and B implement Selective Repeat ARQ? Provide an explanation of how you obtained your result.

My answers are:

a) The slider doesn't move until the ACK 12 arrives, if the ACK 12 doesn't arrive until the timer goes off, then A sends the packets 12 to packet 18 once again.

b) The slider doesn't move until the ACK 12 arrives, if the ACK 12 doesn't arrive until the timer goes off, then A sends the packets 12. Other packets that didn't receive their relative ACKs are also sent if their timers go off as well, but packet 16 is acknowledged so it is skipped.

Are my answer and logic correct? If not, what is the problem with it? Thanks a lot in advance

$\endgroup$
6
  • 3
    $\begingroup$ I’m voting to close this question because this is a check-my-answer question. $\endgroup$
    – xskxzr
    Nov 10, 2021 at 2:48
  • $\begingroup$ @xskxzr How do you think that makes sense, I have a problem and an attempt. If I don't post my attempt I would get downvoted, If I post my attempt my question gets deleted. Sorry but I disagree with your vote. Clearly, the person who would answer this question can give a deeper answer than it is correct. $\endgroup$
    – 7p4
    Nov 10, 2021 at 7:03
  • $\begingroup$ We discourage "please check whether my answer is correct" questions, as only "yes/no" answers are possible, which won't help you or future visitors. See here and here. Can you edit your post to ask about a specific conceptual issue you're uncertain about? As a rule of thumb, a good conceptual question should be useful even to someone who isn't looking at the problem you happen to be working on. If you just need someone to check your work, you might seek out a friend, classmate, or teacher. $\endgroup$
    – D.W.
    Nov 11, 2021 at 7:05
  • $\begingroup$ Where did you encounter that question? We require you to credit the original source of all copied material: cs.stackexchange.com/help/referencing $\endgroup$
    – D.W.
    Nov 11, 2021 at 7:05
  • $\begingroup$ @D.W. I respect your community's policies but as a MATH.SE user for years, I find it odd, unnecessary, and illogical since the answerer can easily add depth to the question with their answer, creating context, thus helping future visitors understand the topic with a "peer-reviewed" question and answer if they have similar questions (thanks to Google Search!). You can delete my question but as I said I don't agree with your policy and I won't be using CS.SE in the future. $\endgroup$
    – 7p4
    Nov 11, 2021 at 7:38

1 Answer 1

0
$\begingroup$

You should check whether GoBackN uses cummulative acknowledgements or not. Personally, I do not see how GoBackN can work with selective acknowledgements, but I have heard that there are some books that describe GoBackN without them.

Assuming that acknowledgements are cummulative, your answer to (a) is incorrect. In this case packet 16 will implicitly acknowledge packets before 16 and thus window will slide, to (please check numbers) [17, 23].

Note: missing ACKs can mean either that the packets were not delivered, or that packets were delivered, but ACKs were lost. The sender can obviously not distinguish between these two. In case of GoBackN with cummulative acknowledgements, in this case you can actually avoid retransmissions.

Note 2: why I don't understand how GoBackN works without cummulative ACKs. Suppose that packets 12-16 are actually delivered, but ACKs 12-15 are lost. ACK 16 is ignored, and eventually, packets starting with 12 are retransmitted. At the same time the receiver is expecting packet 17. What is the receiver supposed to ACK when packet 12 arrives. In case of cummulative ACKs, receiver always ACKs last received (or next expected) sequence numbers, and sender corrects his window.

The case with selective acknowledgements works as you descirbed.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.