Computer Networks
Module 4: Transport Layer & Congestion Control
Q1c. Which one of the following statements is FALSE? (i) TCP guarantees a minimum communication rate (ii) TCP ensures in-order delivery (iii) TCP reacts to congestion by reducing sender window size (iv) TCP employs retransmission to compensate for packet loss20162m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Which one of the following statements is FALSE?
(i) TCP guarantees a minimum communication rate
(ii) TCP ensures in-order delivery
(iii) TCP reacts to congestion by reducing sender window size
(iv) TCP employs retransmission to compensate for packet lossWorked SolutionAnswer
(i) TCP guarantees a minimum communication rate is FALSE.
Explanation
TCP provides reliable, ordered byte-stream delivery and uses congestion control, but it does not guarantee a minimum data rate. Actual throughput depends on network capacity, congestion, receiver conditions, RTT, and other factors.
The remaining statements are true:
- TCP provides in-order delivery using sequence numbers.
- TCP reacts to congestion by reducing its congestion window.
- TCP uses retransmission when data is considered lost.
Final answer: (i).
Q1d. Which one of the following functionalities do TCP and UDP have in common? (i) In-order delivery (ii) Reliable transfer (iii) Checksum (iv) Connection establishment20232m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Which one of the following functionalities do TCP and UDP have in common?
(i) In-order delivery
(ii) Reliable transfer
(iii) Checksum
(iv) Connection establishmentWorked SolutionAnswer
(iii) Checksum
Explanation
TCP and UDP both use a checksum to detect errors in the transmitted segment/datagram.
- In-order delivery: TCP provides it; UDP does not guarantee it.
- Reliable transfer: TCP provides reliability through acknowledgements, retransmissions, etc.; UDP does not.
- Checksum: Both TCP and UDP include a checksum field for error detection.
- Connection establishment: TCP is connection-oriented and establishes a connection; UDP is connectionless.
Therefore, the correct answer is (iii) Checksum.
Q1e. Consider an instance of TCP's Additive Increase Multiplicative Decrease (AIMD) algorithm where the window size at the start of the slow start phase is 2 MSS and the threshold at the start of the first transmission is 8 MSS. Assume that a time-out occurs during the fifth transmission. Find the congestion window size at the end of the tenth transmission. (i) 8 MSS (ii) 14 MSS (iii) 7 MSS (iv) 12 MSS20212m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Consider an instance of TCP's Additive Increase Multiplicative Decrease (AIMD) algorithm where the window size at the start of the slow start phase is 2 MSS and the threshold at the start of the first transmission is 8 MSS. Assume that a time-out occurs during the fifth transmission. Find the congestion window size at the end of the tenth transmission.
(i) 8 MSS
(ii) 14 MSS
(iii) 7 MSS
(iv) 12 MSSWorked SolutionAnswer
(iii) 7 MSS
Step-by-step solution
Initial values:
- MSS
- MSS
During slow start, the window grows rapidly until the threshold:
Transmission cwnd (MSS) Phase 1 2 → 4 Slow start 2 4 → 8 Slow start; reaches threshold 3 9 Congestion avoidance 4 10 Congestion avoidance 5 11 Congestion avoidance; timeout occurs On a timeout, TCP sets the new threshold approximately to half of the current congestion window:
MSS
and resets to 1 MSS.
The next transmissions then grow as:
Transmission cwnd (MSS) 6 2 7 4 8 5 9 6 10 7 Therefore, the congestion window at the end of the tenth transmission is 7 MSS.
Final answer: (iii) 7 MSS.
Q1e. The address which is used to identify a process on a host is (i) physical address (ii) port address (iii) logical address (iv) specific address20222m
Module 4: Transport Layer & Congestion Control
View this question on its own page →The address which is used to identify a process on a host is
(i) physical address
(ii) port address
(iii) logical address
(iv) specific addressWorked SolutionAnswer
(ii) Port address
Explanation
A port number identifies a particular process or service on a host at the Transport layer.
For example, a host may have one IP address but many active processes. The destination IP address identifies the host, while the destination port identifies the intended application/process.
- Physical address: MAC address; identifies a network interface on a local network.
- Logical address: IP address; identifies a host/interface at the Network layer.
- Port address: identifies a process/service at the Transport layer.
Final answer: (ii) Port address.
Q1f. What is TCP?20152m
Q1g. Transport layer protocol deals with (i) application-to-application communication (ii) node-to-node communication (iii) the process-to-process communication (iv) Both (i) and (ii)20222m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Transport layer protocol deals with
(i) application-to-application communication
(ii) node-to-node communication
(iii) the process-to-process communication
(iv) Both (i) and (ii)Q1g. In TCP, sending and receiving data is done as: (i) stream of bytes (ii) sequence of characters (iii) lines of data (iv) packets20192m
Module 4: Transport Layer & Congestion Control
View this question on its own page →In TCP, sending and receiving data is done as:
(i) stream of bytes
(ii) sequence of characters
(iii) lines of data
(iv) packetsQ1h. Which one of the following statements is true about TCP's Slow Start algorithm? (i) TCP's congestion window size increases linearly (ii) TCP's congestion window size decreases linearly (iii) TCP's congestion window size increases exponentially (iv) TCP's congestion window size decreases exponentially20232m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Which one of the following statements is true about TCP's Slow Start algorithm?
(i) TCP's congestion window size increases linearly
(ii) TCP's congestion window size decreases linearly
(iii) TCP's congestion window size increases exponentially
(iv) TCP's congestion window size decreases exponentiallyQ1h. Suppose a TCP connection is transferring a file of 1000 bytes. The first byte is numbered 10001. What is the sequence number of the segment if all data is sent in only one segment? (i) 10000 (ii) 10001 (iii) 12001 (iv) 1100120192m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Suppose a TCP connection is transferring a file of 1000 bytes. The first byte is numbered 10001. What is the sequence number of the segment if all data is sent in only one segment?
(i) 10000
(ii) 10001
(iii) 12001
(iv) 11001Q1j. TCP (i) operates at the data link layer (ii) is connection-oriented and unreliable (iii) is connection-oriented and reliable (iv) is connectionless and unreliable20202m
Module 4: Transport Layer & Congestion Control
View this question on its own page →TCP
(i) operates at the data link layer
(ii) is connection-oriented and unreliable
(iii) is connection-oriented and reliable
(iv) is connectionless and unreliableQ1j. In the slow start phase of the TCP congestion control algorithm, the size of the congestion window: (i) does not increase (ii) increases linearly (iii) increases quadratically (iv) increases exponentially20162m
Module 4: Transport Layer & Congestion Control
View this question on its own page →In the slow start phase of the TCP congestion control algorithm, the size of the congestion window:
(i) does not increase
(ii) increases linearly
(iii) increases quadratically
(iv) increases exponentiallyQ2a. Suppose that the stop-and-wait protocol is used on a link with a bit rate of 64 kilobits per second and 20 milliseconds propagation delay. Assume that the transmission time for the acknowledgment and the processing time at nodes are negligible. What is the minimum frame size in bytes to achieve a link utilization of at least 50%.20167m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Suppose that the stop-and-wait protocol is used on a link with a bit rate of 64 kilobits per second and 20 milliseconds propagation delay. Assume that the transmission time for the acknowledgment and the processing time at nodes are negligible. What is the minimum frame size in bytes to achieve a link utilization of at least 50%.
Q2b. Explain how sliding window protocol works at transport layer.20217m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Explain how sliding window protocol works at transport layer.
Q2b. Consider an instance of TCP's Additive Increase Multiplicative Decrease (AIMD) algorithm where the window size at the start of the slow start phase is 2 MSS and the threshold at the start of the first transmission is 8 MSS. Assume that a timeout occurs during the fifth transmission. Find the congestion window size at the end of the tenth transmission.20167m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Consider an instance of TCP's Additive Increase Multiplicative Decrease (AIMD) algorithm where the window size at the start of the slow start phase is 2 MSS and the threshold at the start of the first transmission is 8 MSS. Assume that a timeout occurs during the fifth transmission. Find the congestion window size at the end of the tenth transmission.
Q4a. A client uses TCP to send data to a server. The data are 16 bytes. Calculate the efficiency of this transmission at the TCP level (ratio of useful bytes to total bytes). Calculate the efficiency of transmission at the IP level. Assume no options for the IP header. Calculate the efficiency of transmission at the data link layer. Assume no options for the IP header and use Ethernet at the data link layer.20217m
Module 4: Transport Layer & Congestion Control
View this question on its own page →A client uses TCP to send data to a server. The data are 16 bytes. Calculate the efficiency of this transmission at the TCP level (ratio of useful bytes to total bytes). Calculate the efficiency of transmission at the IP level. Assume no options for the IP header. Calculate the efficiency of transmission at the data link layer. Assume no options for the IP header and use Ethernet at the data link layer.
Q4b. Why does the transport layer take measures to control congestion when it is primarily handled at the network layer? TCP is provided with techniques to control congestion, but not UDP. Why?20207m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Why does the transport layer take measures to control congestion when it is primarily handled at the network layer? TCP is provided with techniques to control congestion, but not UDP. Why?
Q5a. In the context of Transmission Control Protocol (TCP), explain the statement, "TCP help us to establish a reliable connection over an unreliable network".20197m
Module 4: Transport Layer & Congestion Control
View this question on its own page →In the context of Transmission Control Protocol (TCP), explain the statement, "TCP help us to establish a reliable connection over an unreliable network".
Q5b. Outline the difference between TCP and UDP.20197m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Outline the difference between TCP and UDP.
Q6b. An IP datagram is carrying a TCP segment destined for address 130.14.16.17/16. The destination port address is corrupted, and it arrives at destination 130.14.16.19/16. How does the receiving TCP react to this error? Show the entries for the header of a TCP segment that carries a message from an FTP client to an FTP server. Fill the checksum field with Os. Choose an appropriate ephemeral port number and the correct well-known port number. The length of the data is 40 bytes.20207m
Module 4: Transport Layer & Congestion Control
View this question on its own page →An IP datagram is carrying a TCP segment destined for address 130.14.16.17/16. The destination port address is corrupted, and it arrives at destination 130.14.16.19/16. How does the receiving TCP react to this error? Show the entries for the header of a TCP segment that carries a message from an FTP client to an FTP server. Fill the checksum field with Os. Choose an appropriate ephemeral port number and the correct well-known port number. The length of the data is 40 bytes.
Q6b. Compare any two of the following: (i) TCP and UDP, (ii) Packet switching and Circuit switching, (iii) Bit-stuffing and Byte-stuffing20237m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Compare any two of the following: (i) TCP and UDP, (ii) Packet switching and Circuit switching, (iii) Bit-stuffing and Byte-stuffing
Q6b. A computer on a 6-Mbps network is regulated by a token bucket. The token bucket is filled at a rate of 1 Mbps. It is initially filled to capacity with 8 megabits. How long can the computer transmit at the full 6 Mbps?20167m
Module 4: Transport Layer & Congestion Control
View this question on its own page →A computer on a 6-Mbps network is regulated by a token bucket. The token bucket is filled at a rate of 1 Mbps. It is initially filled to capacity with 8 megabits. How long can the computer transmit at the full 6 Mbps?
Q7a. Compare and contrast the protocol field at the network layer with the port numbers at the transport layer. What is their common purpose? Why do we need two port-number fields but only one protocol field? Why is the size of the protocol field only half the size of each port number?20217m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Compare and contrast the protocol field at the network layer with the port numbers at the transport layer. What is their common purpose? Why do we need two port-number fields but only one protocol field? Why is the size of the protocol field only half the size of each port number?
Q7b. What are the differences between leaky bucket algorithm and token bucket algorithm?20237m
Module 4: Transport Layer & Congestion Control
View this question on its own page →What are the differences between leaky bucket algorithm and token bucket algorithm?
Q8. Draw and describe the TCP header. Assume that a host receives a UDP segment with 01011101 11110010 (we separated the values of each byte with a space for clarity) as the checksum. The host adds the 16-bit words over all necessary fields excluding the checksum and obtains the value 00110010 00001101. Is the segment considered correctly received or not? What does the receiver do?202114m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Draw and describe the TCP header. Assume that a host receives a UDP segment with 01011101 11110010 (we separated the values of each byte with a space for clarity) as the checksum. The host adds the 16-bit words over all necessary fields excluding the checksum and obtains the value 00110010 00001101. Is the segment considered correctly received or not? What does the receiver do?
Q8. How transport layer provides congestion control? Differentiate between leaky bucket and token bucket algorithms.202214m
Module 4: Transport Layer & Congestion Control
View this question on its own page →How transport layer provides congestion control? Differentiate between leaky bucket and token bucket algorithms.
Q8a. A TCP connection is using a window size of 10,000 bytes, and the previous acknowledgment number was 22,001. It receives a segment with acknowledgment number 24,001 and window size advertisement of 12,000. Draw a diagram to show the situation of the window before and after.20207m
Module 4: Transport Layer & Congestion Control
View this question on its own page →A TCP connection is using a window size of 10,000 bytes, and the previous acknowledgment number was 22,001. It receives a segment with acknowledgment number 24,001 and window size advertisement of 12,000. Draw a diagram to show the situation of the window before and after.
Q8a. Write down the handshaking steps required to setup a TCP connection between two applications running on two end hosts A and B. Also, write down the purpose of each data unit of TCP that is sent and received for establishing TCP connection.20237m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Write down the handshaking steps required to setup a TCP connection between two applications running on two end hosts A and B. Also, write down the purpose of each data unit of TCP that is sent and received for establishing TCP connection.
Q8b. Show the entries for the header of a TCP segment that carries a message from an FTP client to an FTP server. Fill the checksum field with Os. Choose an appropriate ephemeral port number and the correct well-known port number. The length of the data is 40 bytes.20207m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Show the entries for the header of a TCP segment that carries a message from an FTP client to an FTP server. Fill the checksum field with Os. Choose an appropriate ephemeral port number and the correct well-known port number. The length of the data is 40 bytes.
Q9. Explain the difference between TCP and UDP. A client residing on a host with IP address 122.45.12.7 sends a message to the corresponding server residing on a host with IP address 200.112.45.90. If the well-known port is 161 and the ephemeral port is 51000, what are the pair of socket addresses used in this communication?202214m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Explain the difference between TCP and UDP. A client residing on a host with IP address 122.45.12.7 sends a message to the corresponding server residing on a host with IP address 200.112.45.90. If the well-known port is 161 and the ephemeral port is 51000, what are the pair of socket addresses used in this communication?
Q9a. Compare the TCP header and the UDP header. List the fields in the TCP header that are missing from UDP header. Give the reason for their absence.20167m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Compare the TCP header and the UDP header. List the fields in the TCP header that are missing from UDP header. Give the reason for their absence.
Q9a. TCP is sending data at 2 Mbytes/sec. If the sequence number starts with 7000, how long does it take before the sequence number goes back to zero?20157m
Module 4: Transport Layer & Congestion Control
View this question on its own page →TCP is sending data at 2 Mbytes/sec. If the sequence number starts with 7000, how long does it take before the sequence number goes back to zero?
Q9b. Explain the following terms: (b) User Datagram Protocol20177m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Explain the following terms: (b) User Datagram Protocol
Q9b. What is the difference between open-loop congestion control and closed-loop congestion control?20167m
Module 4: Transport Layer & Congestion Control
View this question on its own page →What is the difference between open-loop congestion control and closed-loop congestion control?
Q9b. Explain connection establishment in TCP using three-way handshaking.20157m
Module 4: Transport Layer & Congestion Control
View this question on its own page →Explain connection establishment in TCP using three-way handshaking.