Home Common Problem In tcp congestion control, what is slow start?

In tcp congestion control, what is slow start?

Jan 19, 2021 pm 02:30 PM
tcp

In TCP congestion control, slow start means that when the host just starts sending a message segment, the congestion window cwnd can be set to a value of the maximum message segment MSS; after each pair is received After the new message segment is confirmed, the congestion window is increased to a value of at most one MSS; in this way, the congestion window cwnd of the sender is gradually increased.

In tcp congestion control, what is slow start?

The operating environment of this article: Windows 7 system, Dell G3 computer.

Slow start:

When the host just starts sending message segments, the congestion window cwnd can be set to a value of the maximum message segment MSS. After receiving an acknowledgment of a new segment, the congestion window is increased by up to one MSS value. By gradually increasing the congestion window cwnd of the sender in this way, the rate of packet injection into the network can be more reasonable.

Congestion avoidance:

When the congestion window value is greater than the slow start threshold, stop using the slow start algorithm and switch to the congestion avoidance algorithm. The congestion avoidance algorithm increases the size of the sending congestion window by one MSS every time a round-trip delay RTT passes.

Fast retransmission algorithm stipulates:

As long as the sender receives three repeated ACKs in a row, it can conclude that a packet has been lost, and it should retransmit it immediately. segment without having to wait for the retransmission timer set for the segment to expire.

Fast recovery algorithm:

When the sender receives three consecutive repeated ACKs, it resets the slow start threshold ssthresh

and slow The first difference is that the congestion window cwnd is not set to 1, but to ssthresh

If the number of duplicate AVKs received is n (n>3), set cwnd to ssthresh

If the sending window value still allows the sending of message segments, continue to send message segments according to the congestion avoidance algorithm.

If an ACK confirming the new segment is received, the cwnd will be reduced to ssthresh

Multiply reduction:

means regardless of Whether in the slow start phase or the congestion avoidance phase, as long as a timeout occurs (that is, a network congestion occurs), the slow start threshold value ssthresh is set to the current congestion window value multiplied by 0.5.

When the network is frequently congested, the ssthresh value drops quickly to greatly reduce the number of packets injected into the network.

Additional increase:

means that after executing the congestion avoidance algorithm, after receiving confirmation of all message segments (that is, after a round trip time), Increase the congestion window cwnd by an MSS size to slowly increase the congestion window to prevent premature network congestion.

For more related knowledge, please visit PHP Chinese website!

The above is the detailed content of In tcp congestion control, what is slow start?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to reset tcp/ip protocol in win10? How to reset the tcp/ip protocol stack in windows 10 How to reset tcp/ip protocol in win10? How to reset the tcp/ip protocol stack in windows 10 Mar 16, 2024 am 11:07 AM

How to reset tcp/ip protocol in win10? In fact, the method is very simple. Users can directly enter the command prompt, and then press the ctrl shift enter key combination to perform the operation, or directly execute the reset command to set it up. Let this site do the following. Let us carefully introduce to users how to reset the TCP/IP protocol stack in Windows 10. Method 1 to reset the tcp/ip protocol stack in Windows 10. Administrator permissions 1. We use the shortcut key win R to directly open the run window, then enter cmd and hold down the ctrl shift enter key combination. 2. Or we can directly search for command prompt in the start menu and right-click

How to use TCP to implement conversation between client and server in python How to use TCP to implement conversation between client and server in python May 17, 2023 pm 03:40 PM

TCP client A client sample code that uses the TCP protocol to achieve continuous dialogue: importsocket#Client configuration HOST='localhost'PORT=12345#Create a TCP socket and connect to the server client_socket=socket.socket(socket.AF_INET,socket .SOCK_STREAM)client_socket.connect((HOST,PORT))whileTrue:#Get user input message=input("Please enter the message to be sent:&

See you soon! TCP waves twice, have you seen it? What about the four handshakes? See you soon! TCP waves twice, have you seen it? What about the four handshakes? Jul 24, 2023 pm 05:18 PM

The "connection-oriented" mentioned here means that you need to establish a connection, use the connection, and release the connection. Establishing a connection refers to the well-known TCP three-way handshake. When using a connection, data is transmitted in the form of one send and one confirmation. There is also the release of the connection, which is our common TCP four wave waves.

Using Netty4 for TCP communication in Java API development Using Netty4 for TCP communication in Java API development Jun 17, 2023 pm 11:18 PM

TCP is a type of computer network communication protocol and a connection-oriented transmission protocol. In Java application development, TCP communication is widely used in various scenarios, such as data transmission between client and server, real-time transmission of audio and video, etc. Netty4 is a high-performance, highly scalable, and high-performance network programming framework that can optimize the data exchange process between the server and the client to make it more efficient and reliable. The specific implementation steps of using Netty4 for TCP communication are as follows: Introduction

How to send multiple files using a single TCP connection in Java? How to send multiple files using a single TCP connection in Java? Apr 27, 2023 am 08:49 AM

Why is there this blog about using one TCP connection to send multiple files? I have been reading some related things recently. There is no problem in simply using Socket for programming, but this only establishes some basic concepts. Still nothing can be done about the real problem. When I need to transfer files, I find that I seem to have just sent the data (binary data), but some information about the file is lost (the file extension). And each time I can only use one Socket to send one file, there is no way to send files continuously (because I rely on closing the stream to complete sending files, which means that I actually don’t know the length of the file, so I can only send files as one Socket connection represents a file).

Linux SIGPIPE signal Linux SIGPIPE signal Feb 19, 2024 pm 04:00 PM

Among the TCP communication parties, for the convenience of description, the communication parties are replaced by A and B in the following. According to the TCP protocol, if B continues to send data after A closes the connection, B will receive A's RST response. If B continues to send data, the system will send a SIGPIPE signal to inform that the connection has been disconnected and stop sending. The system's default processing behavior for the SIGPIPE signal is to let process B exit. The default processing behavior of the operating system for the SIGPIPE signal is very unfriendly. Let us analyze it. TCP communication is a full-duplex channel, which is equivalent to two simplex channels, and each end of the connection is responsible for one. When the opposite end "closes", although the intention is to close the entire two channels, the local end only receives the FIN packet. According to the provisions of the TCP protocol, when a

The interviewer asked: How many HTTP requests can a TCP connection send? The interviewer asked: How many HTTP requests can a TCP connection send? Feb 22, 2023 pm 12:00 PM

There was once such a classic interview question: What happens in the process from the URL being entered in the browser to the page being displayed? I believe that most students who have prepared can answer it, but if you continue to ask: If the received HTML contains dozens of image tags, in what way, in what order, how many connections are established, and what protocol are used to download these images? What about?

High-concurrency TCP long connection processing skills for swoole development function High-concurrency TCP long connection processing skills for swoole development function Aug 25, 2023 pm 10:01 PM

[Title] Highly concurrent TCP long connection processing techniques for Swoole development functions [Introduction] With the rapid development of the Internet, applications have increasingly higher demands for concurrent processing. As a high-performance network communication engine based on PHP, Swoole provides powerful asynchronous, multi-process, and coroutine capabilities, which greatly improves the concurrent processing capabilities of applications. This article will introduce how to use the Swoole development function to handle high-concurrency TCP long connection processing techniques, and provide detailed explanations with code examples. 【Text】1. Swo