首页 > 其他分享 >TCP拥塞机制

TCP拥塞机制

时间:2024-07-16 14:31:50浏览次数:13  
标签:启动 ACK 网络 TCP 拥塞 机制 CWND

 

慢启动

原理

默认,TCP连接,都是慢启动,也可以关闭。因为还不了解网络的带宽,不了解服务器能接受的最大窗口。所以,第一个数据包,一般是1个或者2个MSS那么大,这也就是CWND,拥塞窗口的大小。如果发过去,收到了一个ACK的确认包,发送方就以指数来增长CWND,如果上一次是1次,那下一次就是2的1次方。又收到了ACK,那下一次就是2的2次方,这样来增长CWND。

1)正常的停止:如果直到达到预设的慢启动阈值(ssthresh)了,那就不再增长CWND。发送方不再使用指数增长,而是进行线性增长,每个RTT周期,我就增加一个MSS,这样又可以继续缓慢试探对方能承受的数据大小,也不至于一下子拥塞了网络;

2)非正常的停止:如果在慢启动过程中,检测到网络拥塞了(比如检测到超时或者连续3次没有收到ACK了),CWND将重置为初始值(一般为1个MSS),并且ssthresh也会设置为当前CWND的一半。然后继续进入慢启动。

优点

1)避免网络一开始就会拥塞;

2)动态适应网络的变化,逐步增加 、减慢发送速度。

缺点

1)一开始增长比较慢,可能会导致传输延迟;

2)在高带宽、低延迟网络中,慢启动可能会使得访问变慢。

 

标签:启动,ACK,网络,TCP,拥塞,机制,CWND
From: https://www.cnblogs.com/1234roro/p/18304867

相关文章

  • 注意力机制中三种掩码技术详解和Pytorch实现
    注意力机制是许多最先进神经网络架构的基本组成部分,比如Transformer模型。注意力机制中的一个关键方面是掩码,它有助于控制信息流,并确保模型适当地处理序列。在这篇文章中,我们将探索在注意力机制中使用的各种类型的掩码,并在PyTorch中实现它们。在神经网络中,掩码是一种用于阻止模......
  • vit的自注意力机制的范围
    在VisionTransformer(ViT)中,自注意力机制的范围是指模型在处理图像块时,每个图像块能够与其他哪些图像块进行交互。ViT的自注意力机制具有全局范围,这意味着在自注意力层中,每个图像块都可以与其他所有图像块进行交互,而不管它们在原始图像中的空间位置如何。以下是ViT自......
  • tcp ip组成
                            ......
  • 【云原生】ptcpdump捕获任何进程、容器或 Pod 的网络流量的抓包神器——筑梦之路
    ptcpdump是一个使用eBPF技术开发的、类tcpdump的网络抓包工具。它除了兼容tcpdump的常用命令行参数以及包过滤语法外,还额外提供了如下核心特性:在输出中记录和显示发送网络流量的进程、容器、Pod信息。支持对指定进程、容器以及Pod进行抓包。支持将抓取的数据......
  • python网络编程---TCP协议进行
        在这里简单实现一个TCP服务器,用于监听来自客户端的连接,接收客户端发送的消息,并向客户端发送响应消息。下面我将详细解释这个代码的工作原理和各个部分的作用。    首先建立一个客户端(client),一个服务端(server),在客户端进行连接到运行在本地机器(IP地址为127.......
  • TCP和UDP
    【1】TCP服务器#include<stdio.h>#include<sys/types.h>/*SeeNOTES*/#include<sys/socket.h>#include<netinet/in.h>#include<netinet/ip.h>#include<unistd.h>#include<arpa/inet.h>intmain(intargc,charcon......
  • Modbus Tcp协议
    一:modbus起源1.起源Modbus由Modicon公司于1979年开发,是一种工业现场总线协议标准。Modbus通信协议具有多个变种,其中有支持串口,以太网多个版本,其中最著名的是ModbusRTU、ModbusASCII和ModbusTCP三种其中ModbusTCP是在施耐德收购Modicon后1997年发布的。分类:1)Modb......
  • 满满干活-wireshark进阶篇《Wireshark的TCP协议数据包常见报错提示》,练就你火眼金睛,助
    文章目录概要1.TCPPORTNUMBERSREUSED当四元组相同时会出现报错2.TCPWINDOWFULL与TCPZEROWINDOW之你怎么还不回我啊与我不行了。3.TCPWindowUpdate之我又行了能工作了小结概要本文介绍Wireshark的数据包常见报错提示,包括TCPPORTNUMBERSREUSED和TCPW......
  • Go语言---TCP服务端以及客服端的实现
    TCP的C/S架构TCP服务器的实现监听的底层实现funcListen(network,addressstring)(Listener,error){ varlcListenConfig returnlc.Listen(context.Background(),network,address)}typeListenerinterface{ //Acceptwaitsforandreturnsthenextc......
  • Java面试八股之Redis哨兵机制
    Redis哨兵机制RedisSentinel(哨兵)模式是一种高可用解决方案,用于监控和自动故障转移Redis主从集群。以下是对哨兵模式详细过程的描述:1.初始化与配置部署哨兵节点:在不同的服务器上部署一个或多个RedisSentinel节点,它们作为独立进程运行,负责监控Redis主从集群的状态。配置......