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.