CERTIFICATION EVALUATION EXAMS
COMPLETE QUESTIONS AND ANSWERS
PRACTICE SOLUTION
⩥ ● What is end-to-end congestion control?
Answer: E2E does not provide any explicit feedback about congestion to
the end hosts. Instead, the hosts infer congestion from the network
behavior and adapt the transmission rate.
Eventually, TCP ended up using the end-to-end approach. This largely
aligns with the end-to-end principle adopted in the design of the
networks. Congestion control is a primitive provided in the transport
layer, whereas routers operate at the network layer. Therefore, the
feature resides in the end nodes with no support from the network. Note
that this is no longer true as certain routers in the modern networks can
provide explicit feedback to the end-host by using protocols such as
ECN and QCN.
⩥ ● How does a host infer congestion?
Answer: The host infer congestion from the network behavior mainly
through 2 signals:
First is the packet delay. As the network gets congested, the queues in
the router buffers build up. This leads to increased packet delays. Thus,
an increase in the round-trip time, which can be estimated based on
,ACKs, can be an indicator of congestion in the network. However, it
turns out that packet delay in a network tends to be variable, making
delay-based congestion inference quite tricky.
Another signal for congestion is packet loss. As the network gets
congested, routers start dropping packets. Note that packets can also be
lost due to other reasons such as routing errors, hardware failure, TTL
expiry, error in the links, or flow control problems, although it is rare.
⩥ ● How does a TCP sender limit the sending rate?
Answer: TCP uses a congestion window which is similar to the receive
window used for flow control. It represents the maximum number of
unacknowledged data that a sending host can have in transit (sent but not
yet acknowledged).
TCP uses a probe-and-adapt approach in adapting the congestion
window. Under regular conditions, TCP increases the congestion
window trying to achieve the available throughput. Once it detects
congestion then the congestion window is decreased.
In the end, the number of unacknowledged data that a sender can have is
the minimum of the congestion window and the receive window.
⩥ ● Explain Additive Increase/Multiplicative Decrease (AIMD) in the
context of TCP.
, Answer: TCP decreases the window when the level of congestion goes
by halving the window size, and it increases the window when the level
of congestion goes down by adding to the window size. This causes
convergence to the optimal bandwidth by quickly cutting use in times of
congestion while slowly increasing utilization when the congestion
clears.
The idea behind additive increase is to increase the window by one
packet every RTT (Round Trip Time).
Once TCP Reno detects congestion, it reduces the rate at which the
sender transmits. So, when the TCP sender detects that a timeout
occurred, then it sets the CongestionWindow (cwnd) to half of its
previous value.
⩥ ● What is a slow start in TCP?
Answer: Slow start is called "slow" start despite using an exponential
increase because in the beginning it sends only one packet and starts
doubling it after each RTT.
⩥ ● Is TCP fair in the case where two connections have the same RTT?
Explain. Different RTT?
Answer: In TCP, fairness means: for k-connections passing through one
common link with capacity R bps, each connection gets an average
throughput of R/k