In tcp congestion control, what is slow start?
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.
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



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

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:&

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.

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

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).

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

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?

[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