This homework assignment has five questions; answer all of them. This assignment is due no later than 1:00 p.m. on Monday, 15 April.
If you mail in your assignment, please submit a printable document
— a PostScript .ps
or PDF .pdf
document, for
example — and not a source document — a
Word .docx
or Latex .tex
document, for example.
As the propagation delay changes, both the round-trip time (RTT) and the round-trip time-out (RTO) changes in proportion. Increasing propagation delay causes packets to spend more time going end-to-end, increasing the RTT. The RTO is a combination of the RTT and variation in the RTT, although because RTT changes are fast, the contribution from RTT variation will be small. Similar arguments hold when the RTT decreases.
Assuming steady-state data transfer (that is, no start-up or shut-down transients, no interruptions due to time-out and retransmissions, and rate-matched end-points), sliding-window flow control essentially turns into rate-based flow control, with sender i dropping a packet into the network every 2ρi msec, ρi the propagation delay for sender i.
With ρ = 150 msec, a sender transmits a packet every 300 msec; the sender transmits two packets every 600 msec. A sender with ρ = 100 transmits three packets every 600 msec. A sender with ρ = 10 msec transmits 30 packets every 600 msec.
Of the 35 packets entering the router queue every 600 msec, 86% (30 of 35) belong to the fast sender, 6% (2 of 35) belong to the slow sender, and 8% (3 of 35) belong to the third sender.Probably not. Replacing sequence numbers with time-stamps requires the fairly strong assumption that each RTP packet represent the same-sized temporal slice of the media stream (125 msec of speech, for example). This is expensive because the media protocol wastes bandwidth encoding less useful information (125 msec of silence, for example), and it fixes packet size for the life of the stream (a problem for multicast streams).
Variable bit-rate encodings are more economical, but make it difficult or impossible to interpret time-stamp gaps.
The problem also exists in the opposite direction: if a data unit is too large (an uncompressed video frame, for example), RTP fragments it into several packets, all having the same time-stamp associated with the data unit. This makes it difficult or perhaps impossible to order the fragments without sequence numbers.TCP and UDP (and other protocols) violate layering by reaching down into the network (or IP) layer for a pseudo-header, which contains the information needed to compute the checksums.
One approach is to modify stop-and-wait slightly so it sends to a list of receivers rather than one receiver. The sender works through the list, running the usual stop-and-wait protocol for each receiver, moving to the next receiver after successfully sending to the previous receiver. This change requires modifications only at the sender.
A second, more simultaneous, approach collapses the n-round scheme used in the first approach into one round by sending messages to all receivers on the list at once, and then collecting the expected acks. This approach also requires changes only at the sender.
The second approach still sends n messages when there are n receivers. A third, mulicast, approach sends one message for all receivers (assuming no errors). This approach requires significant changes at the sender and receiver, mainly to include mulicast addressing. The packet format would also have to change to include a sequence number so successful receivers could distinguish retransmissions of old packets from new packets.