what is the number numbering?

CS 105 Gossip Corner: Discussions related to homework assignments: Ex. 4: Reliable Message Delivery: what is the number numbering?
By
Sellers, Lindsay R. (99lrs) on Tuesday, December 1, 1998 - 09:11 pm:

Is this digit, this 1 or 0, numbering the sequence of the packet in the order in which it's supposed to be processed as part of a greater message, or is it numbering the version of any one packet being sent and resent (numbering the duplicates of a copy that has been and lost)? Or is it both? It a receiver gets a message whose contents are the same as something it's already seen before, does it automatically throw it away, or does the numbering scheme somehow determine what gets thrown away?
And, can the sender send consecutive packets with the same number?


By Tom Murtagh (Admin) on Tuesday, December 1, 1998 - 09:51 pm:

The best way to answer your questions is backwards. You ended by asking how a receiver knows whether a packet should be thrown away or kept. The answer is that the receiver must depend on the sequence number to tell it. In the case I've asked you to consider, the problem is that the sequence numbers get reused too quickly to provide enough information to allow the receiver to make these decisions correctly. What you need to do is argue that this is in fact the case by showing an example in which there is no rule the receiver could follow that would always enable it to correctly decide whether to keep or discard a packet.

What you are allowed to assume is something about how the sender behaves. The sender has a long list of packets it would like to send. To avoid the confusion that might arise by identifying them with numbers, lets call them packet A, packet B, ...

The sender will assign sequence number 0 to packet A, number 1 to packet B, number 0 again (reusing it) to packet C, number 1 again to packet D, number 0 to packet E, etc. If, due to lack of acknowledgement, it has to send packet B more than once, all copies of packet B sent will be identified with sequence number 1.

Obviously, since only two sequence numbers are available, things will get very confused if the sender were to send copies of packets A, B and C (or any three distinct packets) to the receiver before the first of the three packets had been acknowledged. In this case, when the copies of A and C were received they would both be labeled 0 and the receiver could not tell them apart. So, you are to assume that the sender will never send more than two packets beyond the last packet that has been acknowledged. If A has been acknowledged it can send B and C. If E has been acknowledged, it can send F and G.

This, in fact, is not enough. The receiver can still get confused. To answer the question, all you have to do is show me an example were such confusion is inevitable.

Tom


Add a Message


This is a private posting area. A valid username and password combination is required to post messages to this discussion.
Username:  
Password:
Post as "Anonymous"