IoT Communication Performance Analysis by Chuzo Ninagawa

IoT Communication Performance Analysis by Chuzo Ninagawa

Author:Chuzo Ninagawa
Language: eng
Format: epub
ISBN: 9789811908590
Publisher: Springer Singapore


3.2.5 Congestion Algorithm of the TCP Protocol

Congestion is a condition in which a network is extremely congested. When a network is congested, routers and other devices in the path of the Internet are unable to process packets, and large numbers of packets are discarded and lost. Since the Internet is a best-level communication system, congestion causes a problem of extremely low communication performance.

As we saw in the section on windows and flow control, TCP has a function to improve transmission performance by sending multiple consecutive segments without waiting for an ACK reply. However, sending a large number of segments without checking the network status may cause congestion, and TCP has a congestion control function called slow start to avoid this problem.

When we keep sending segments up to the window size obtained from the receiver, it is good if the two hosts, the sender and the receiver, are on the same network, but if there are routers or slow lines, it can cause problems. Some of the routers need to queue segments and may run out of buffers. This shows how such a situation can significantly reduce the transmission performance of TCP.

Slow start means that the sender operates based on the rate at which the acknowledgment is returned from the receiver. Slow start adds a congestion window to the sender, starting with a single segment, and increasing the congestion window with each ACK returned. The sender can send multiple segments up to the smaller of the congestion window and the window size obtained from the receiver. The congestion window is the flow control of the sender, and the window is the flow control of the receiver. When congestion occurs and no ACK is returned, the congestion window is reduced. This action is called congestion avoidance.

There are various algorithms for slow start and increasing/decreasing the congestion window, but Reno (Padhye et al. 2000) and NewReno (Altman et al. 2005) are introduced here as typical examples. As shown in Fig. 3.8, Reno starts with a congestion window of 1 at the time of slow start when the network status is not known, and increases the congestion window exponentially when ACK is returned successfully. When no ACK is returned and congestion occurs, the congestion window is set to 1/2 of the current congestion window. After that, the congestion window is increased linearly by one. This is called Fast Recovery because it does not return the congestion window to 1 when it fails, but tries to return to the original number of congestion windows.

Fig. 3.8Congestion window of the TCP Reno algorithm



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.