Monday, December 9, 2013

Brandon Sullivan
Net-Centric
Chapter 3 Problems

Question 5: Suppose that the UDP receiver computes the Internet checksum for the received UDP segment and finds that it matches the value carried in the checksum field.Can the receiver be absolutely certain that no bit errors have occurred? Explain

No, the UDP receiver cannot be completely sure that no errors have occurred.  One single erro will always be detected by checksum but if multiple errors are present, a checksum may not be able to locate the errors.  For instance, if a packet were to send a packet that is [2|7], then the checksum would be [9|2|7].  Due to the limited capabilities of checksum, it recognizes this as 9 and as long as checksum reads 9, it will assume it's correct with no errors.  If you look at the binary codes for 2 and 7 which are 010 and 111 respectively, if bit errors occurred then the code could very well change to [1|8] and the checksum wouldn't pick up on the errors because at the end of the day both packets equal 9.

Question 10: Consider a channel that can lose packets but has a maximum delay that is known. Modify protocol rdt 2.1 to include sender timeout and retransmit. Informally argue why your protocol can communicate correctly over this channel.

 If you were to modify RDT 2.1 and add a sender timer it would communicate correctly.  The reason for this would be that once you have the timer in place, it no longer requires that a message be received, just that if it is not received the message must be resent.  This is a picture of RDT 3.0 sender which has the sender and the protocol communicates correctly.


Question 8: Draw the FSM for the receiver side of protocol rdt 3.0.


Question 15: Consider the cross-country example shown in Figure 3.17. How big would the window size have to be for the channel utilization to be greater than 98 percent? Suppose that the size of a packet is 1,500 bytes, including both header fields and data.

2451 packets must be sent in order for 98% utilization occur.

Question 26: Consider transferring an enormous file of  L bytes from Host A to Host B.Assume an MSS of 536 bytes.

a.What is the maximum value of  L such that TCP sequence numbers are not exhausted? Recall that the TCP sequence number field has 4 bytes.

b.For the L you obtain in (a), find how long it takes to transmit the file. Assume that a total of 66 bytes of transport, network, and data-link header are added to each segment before the resulting packet is sent out over a 155 Mbps link. Ignore flow control and congestion control so A can pump out the segments back to back and continuously


Question 28: Host A and B are directly connected with a 100 Mbps link. There is one TCP connection between the two hosts, and Host A is sending to Host B an enormous file over this connection. Host A can send its application data into its TCP socket at a rate as high as 120 Mbps but Host B can read out of its TCP receive buffer at a maximum rate of 50 Mbps. Describe the effect of TCP flow control.

 Host A sends data faster than host B (120 mbps to 50 mbps).  Because host A is over double the speed of host B, the buffer will fill up quickly and host A will stop sending until host B lets it know it's ready by having the receiving window at 0 packets. It will then send the rest at the rate the receiving window specifies for it to send at and that's the effect of TCP flow control.