Due: Friday, Mar. 6, 1998This assignment is a combination of problems about retransmission protocols used at the data link layer and medium access control protocols (used primarily in Local Area Networks).
To prepare for the discussion of the medium access control problem you should go back to chapter 3 in Shay and read §3.4 and then move ahead to chapter 6 and read §6.1 through 6.2.
In addition, I will put two papers I would like you to read on reserve in the library. I have been able to find both of these papers online in various electronic forms, so those who prefer can read them using an appropriate viewer.
The first paper, Ethernet: Distributed Packet Switching for Local Computer Networks, is the report by the inventors of the Ethernet on the "experimental" Ethernet built at Xerox PARC (Palo Alto Research Center). The second paper, Measured Capacity of an Ethernet, discusses an experimental evaluation of the performance of an Ethernet and reviews analytical work on Ethernet performance. Complete references to the papers can be found in the "Topics and readings" sub-section of the course home page.
One first step the sender might be expected to take upon receiving a nak from the receiver is to determine which packet caused the receiver to send the nak. While this may seem obvious, actually, it is not immediately clear that it is even possible.
The problem arises from the fact that it is typical when implementing Go Back N to take advantage of the fact that if the sender's window size is W, then sequence numbers can be computed modulo W+1. In class, we saw that while using such a range of sequence numbers was enough to enable the receiver to distinguish the packet it should accept next from all others, it was not enough to enable the receiver to know whether a packet it rejects is a repeat copies of a previously accepted packet or an out-of-order first arrival. Luckily, the receiver didn't need to make such distinctions.
When a receiver sends a nak, it can only identify the packet being rejected using its sequence number modulo W+1. In addition, it will include the sequence number of the packet it hopes to receive next in the nak. When the nak reaches the sender, it may be very desirable for the sender to be able to tell whether the packet was rejected because it was a repeat copy of a previously accepted packet or an out-of-order first arrival. In the former case, the sender will not need to retransmit the packet that caused the nak. In the later case, retransmission of the packet will be required.
What I would like you to determine is whether or not the sender can distinguish between these two kinds of naks. If you believe they can be distinguished, give an argument similar to those presented in class explaining how the information available to the sender about the state of the system makes it possible to work with sequence numbers modulo W+1. If you believe they can not in general be distinguished, describe two example sequences of events that would appear identical from the sender's perspective such that in one sequence the final event is the receipt of a nak for a duplicate transmission and the second ends with the receipt of a nak for an out of sequence transmission. You should assume that the receiver will transmit one nak for each packet that it can not accept based on its sequence number (i.e. naks are not sent for damaged packets).