CMP_SCI_4730_Homework 2
1/3
Assigned: 30th September, 2022
Due: 10th October, 2022
Computer Networks and Communications (CMP_SCI 4730)
Homework 2
(Transport Layer)
Remarks: Maximum raw score achievable is 115, maximum scaled score achievable
is 100.
1. Give
ief answers for each of the following parts: [15]
a) Explain at least two features of TCP that make the data transfer reliable.
) Explain two features that TCP has and UDP does not, making the latter an
unreliable protocol.
c) Why would an application programmer choose to run an application over
UDP rather than TCP?
2. Explain
iefly how multiplexing and demultiplexing work in the transport layer.
Use a sketch if that helps your explanation. [5]
3. QUIC (Quick UDP Internet Connections) is a new transport layer protocol. What
features makes this protocol better than UDP? [5]
4. State True or false for each of the following parts: [2 each]
a) Host A sends a large multi-segment file to Host B over a TCP connection.
If a segment with a sequence number ‘s’ is sent, then the next segment will
necessarily have the sequence number ‘s+1’.
) In TCP, the sequence number of the segment is the same as that of the
first byte of the segment.
c) UDP can ca
y extra control information in its header because of which it
ecomes a reliable transport protocol.
d) In the network assisted congestion control both the network and the
transport layers have to co-operate.
e) The size of ‘rwnd’ remains same throughout the duration of a TCP
connection.
5. A packet is transmitted from St. Louis to Chicago over a 1 Gbps link. The packet
size is 5000 bits has a transmission delay of 10 microseconds. If the ACK from
Chicago is received in 20 msec., then what is the channel utilization? What is
CMP_SCI_4730_Homework 2
2/3
the effective throughput? Assume that the ACK packet is very small and has
no transmission delay. [10]
6. In problem 4, it is seen that the utilization of the 1 Gbps channel is low, and the
effective throughput is less than 1 Mbps. [10]
a) How does pipelining in TCP improve channel utilization?
) If the sender could send 10 packets without waiting for an ACK, then what
would be the utilization and throughput?
7. UDP uses 16-bit checksums for e
or control. The following three 16-bit words
are to be sent from host A to host B: XXXXXXXXXX, XXXXXXXXXX,
and XXXXXXXXXX. [12]
a) Calculate the checksum that A will send to B.
) How will B use the checksum to verify integrity of data?
c) Does the method that you suggest detect all one-bit e
ors? Why?
d) Can it co
ect one-bit e
ors? Why?
8. To set up a connection, TCP uses a 3-way handshake using segments with the
following flags SYN, SYN-ACK and ACK set as required. [20]
a) What is the sequence in which these flags are used in the handshake
process?
) What feature of TCP handshake makes TCP vulnerable to DoS attack
known as SYN flooding?
c) During the handshake, the server sends and Initial Sequence Number (ISN)
with the SYN-ACK. Why is this number randomly generated?
d) If the attacker can steal a large number of ISNs sent by the server, can the
attacker cause server to create many fully open connections by sending
ACKs using those ISNs? What can server do to prevent such an attack?
9. Host A sends data segments to B and receives ACKs for co
ectly received data
segments. If the timeout value is large enough such that 5 consecutive data
segments can be received by B and their ACKs can be received by A, if none of
these are lost. Suppose host A sends 5 segments to B and the 2nd segment is
lost. In the next attempt all 5 data segments are co
ectly received by B. Based
on the given information, answer the following for both GBN and SR. [10]
a) How many segments does A have to send in all and how many ACKs does
B send?
) What are their sequence numbers?
CMP_SCI_4730_Homework 2
3/3
10. The hypothetical data transfer protocol (HDTP) uses only negative ACKs. If you
were the sender and transfer data only infrequently, would you prefer HDTP
over the normal implementations of TCP that use ACKs? Explain your answer.
Now suppose that you have a lot of data to send and the end-to-end connection
experiences few losses. Would you still prefer HDTP? Explain your answer.
[10]
11. The figure below pertains to the TCP Reno behavior. Answer the following with
a
ief justification. [Based on Chap 3, Prob 40 of the textbook]
[1 point each]
a) Identify the intervals where slow start is operating.
) Identify the intervals where congestion avoidance is operating.
c) After the 16th transmission round, is the segment loss detected by a triple
duplicate ACK or by a timeout?
d) After the 22nd transmission round, is the segment loss detected by a triple
duplicate ACK or by a timeout?
e) What is the initial value of sshthresh?
f) What is the value of ssthresh at the 24th transmission round?
g) Assuming a packet loss is detected after the 26th round by the receipt of a
triple duplicate ACK, what will be the values of the congestion window size
and of ssthresh?
h) Suppose TCP Tahoe is used (instead of TCP Reno) and assume that triple
duplicate ACKs are received at the 16th round. What are the ssthresh and
the congestion window size at the 19th round?