Data Communications II Autumn 2001

Problem set 2. (Tuesday 6.11.2001)

  1. Suppose that the SACK option is not used, but instead the partial acknowlegdements of NewReno. How does the TCP handle the situation where after a succesfull transmit of one segment, three following segments will get lost. After that there are no problems in the transmission. The congestion window is 16 MSS.

  2. Assume there are 100 active TCP connections passing through a router. The segmets of these connections are arriving in a randomly mixed even stream to the router. Each connection is sending IP packets in 10 ms intervals. So the router gets 100 packets in 10 ms. Suppose the router is using the normal tail drop algorithm for its buffers ie. in congestion situation it drops packets from the tail of the buffer queue.
    In a very bad congestion situation the router has to drop almost at once packets from all these 100 connections, one packet from each connection. At this moment each connection has a congestion window of 32 MSS. How much the load of the network will decrease because of this loss of packets, when
    1. retransmission is due to the retransmission timeout
    2. fast retransmission and fast recovery is used?
    3. How does the load of the network grow, it the TCP connections are recovering and increasing their sending rate in synchronization?

  3. RED buffer
    1. How does a RED buffer work?
    2. How much does the load in the problem above decrease and increase, if RED buffers are used? Assume the RED buffer is dropping (or removing) approximately 2 packets from each 100 packets i.e. 2 packets in each 10 ms.

  4. Form the IP headers needed in following situations.
    1. Sending an email message of 1024 bytes from machine A to machine B.
    2. A supercomputer A sends a message of 264144 bytes to another supercomputer B. To avoid fragmentation the message has to follow the given route through routers C, D, E, and F in that order.

    How does IPv6 handle large packets?

  5. IPv6 includes the flow label field.
    1. Give examples of situations where flow labels are useful. What kind of sendings do not benefit from flow labels? Would it be useful to use flow labels when transmitting large amounts of data in a TCP connection?
    2. What happens when a router receives an IP packet with a flow label unknown to that router so that the router does not know how to handle the packet? Can this cause problems?