automatic??

CS 105 Gossip Corner: Discussions related to homework assignments: Ex. 4: Reliable Message Delivery: automatic??
By
Margalotti, Jaime L. (00jlm) on Tuesday, December 1, 1998 - 10:08 am:

We send a "0" message first and then a "1" message. If the "1" message is received and acknowledged, will the next message be sent automatically? ( I assume it could be either a "0" or a "1", right?)


By Tom Murtagh (Admin) on Tuesday, December 1, 1998 - 08:12 pm:

Since you don't mention what happened to message '0', I assume you mean that it has not been received or at least not acknowledged. In that case, it would not make sense to go ahead and send the next message. Instead, it would be more reasonable to resend the last message numbered '0' and wait until it is acknowledged.

If, on the other hand, '0' had already been acknowledged, then the computer would have already gone ahead and sent the next message (reusing sequence number '0' as its label). In that case, when an acknowledgement for message 1 arrived it would cause the sending computer to send a fourth message reusing the sequence number 1 as its label.

Tom


By Margalotti, Jaime L. (00jlm) on Tuesday, December 1, 1998 - 11:11 pm:

So what you're saying is that a third message won't be sent until BOTH message 1 and message 2 have been received and acknowledged? If so, it seems that the only way we can have confusion is if message 1's acknowledgements keep getting lost. This perpetuates the retransmission of the message even after it has been received multiple times. But I think I'm losing sight of the question . . .


By Tom Murtagh (Admin) on Tuesday, December 1, 1998 - 11:15 pm:

Actually, what I said is that a third message won't be sent until at least message 1 has been received and acknowledged. The sender can send the third packet while the second is outstanding. In general, the sender is not allowed to send any packet more than one ahead of the oldest packet not yet acknowledged.

Tom


By Margalotti, Jaime L. (00jlm) on Tuesday, December 1, 1998 - 11:29 pm:

Am I right in saying that the problem with sending a second packet is caused, not by the second packet itself, but because its successful acknowledgement will cause a third packet (with the same "0" as the first packet) to be sent? Or is this too much like the example you gave using three packets sent at once?


By Tom Murtagh (Admin) on Tuesday, December 1, 1998 - 11:34 pm:

No, that's not quite right.

The acknowledgement of the second packet does not cause the transmission of the third packet. Rather, the acknowledgment of the first packet causes the transmission of the third packet. When the second packet is acknowledged, the sender can then send the fourth packet (assuming the first packet has also been acknowledged.

Basically, assuming nothing is lost, the receipt of an acknowledgement with sequence number 0 "frees up" that sequence number allowing the sender to reuse it for the next unsent packet.

Tom


By Margalotti, Jaime L. (00jlm) on Wednesday, December 2, 1998 - 08:56 pm:

So is the confusion going to come from the fact that a machine could end up with multiple copies of a message (say the acknowledgement keeps getting lost), or is the machine who receives them smart enough to know that is has multiple copies of the same message? Otherwise, I just don't see how we'd have a problem with only two messages.


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"