首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

慢启动 && 拥塞避免 | 快速重传 && 快速恢复

---- 文章目录 概念清晰 图解 出现变故 快速重传 快速恢复 概念清晰 拥塞控制:为了防止过多的数据注入到网络中。拥塞控制要做的都有一个前提:就是网络能够承受现有的网络负荷。...---- 快速重传 我们都知道,数据包是有序号的,如果A给B发送M1, M2, M3, M4, M5…N个数据包,如果B收到了M1, M2, M4…却始终没有收到M3,这个时候就会重复确认M2,意在告诉...这时候就需要立即重传丢失的数据段,这个地方不用等待定时器溢出。 ---- 快速恢复 快速重传快速恢复算法一般同时使用。...快速恢复算法是认为,你还有3个Duplicated Acks说明网络也不那么糟糕,所以没有必要像RTO超时那么强烈,并不需要重新回到慢启动进行,这样可能降低效率。...ACK) 重传丢失的数据包(对于重传丢失的那个数据包,可以参考TCP-IP详解:SACK选项) 如果只收到Dup ACK,那么cwnd = cwnd + 1, 并且在允许的条件下发送一个报文段

53310

速读原著-TCPIP(快速重传快速恢复算法)

第21章 TCP的超时与重传 21.7 快速重传快速恢复算法 拥塞避免算法的修改建议 1 9 9 0年提出 [Jacobson 1990b]。...于是我们就重传丢失的数据报文段,而无需等待超时定时器溢出。这就是快速重传算法。接下来执行的不是慢启动算法而是拥塞避免算法。这就是快速恢复算法。...相反,发送方进行重传,接着在收到重传的A C K以前,发送了3个新的数据的报文段(报文段 67, 69和7 1)。...这个A C K应该是在进行重传后的一个往返时间内对步骤 1中重传的确认。另外,这个 A C K也应该是对丢失的分组和收到的第 1个重复的A C K之间的所有中间报文段的确认。...快速重传算法最早出现在 4.3BSD Ta h o e版本中,但它随后错误地使用了慢启动。快速恢复算法出现在4.3BSD Reno版本中。

1.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

实战网络问题排查(五) -- 利用 wireshark 排查 TCP 快速重传问题

相比于超时重传机制,快速重传机制将时间触发机制改为了事件触发机制,接收端接收三个报文的耗时通常要远低于重传超时,同时,已经接收到的后续报文在快速重传发生后,也不会被清除,而是会 ACK 后续未收到的序列号...但是,由于 IP 协议包的无序性,偶发的 TCP 快速重传是可以接受的,如果有 1% 以上的快速重传,那就需要引起注意了。 3....通过 wireshark 排查 TCP 快速重传 3.1 wireshark 中的快速重传 在 wireshark 中,重复 ACK 的关键字是“TCP Dup ACK”,快速重传的关键字是“TCP Fast...如图所示,就是一个51个重复ACK之后发生了快速重传的例子: 3.2 问题排查 快速重传是由于乱序或丢包引起的,通常原因是网络延迟或抖动造成的。...可以重点检查服务器或链路中的各个节点的缓存和 CPU 负载情况或者有条件的话可以更换网络环境。

2.3K20

“云”时代开启快速、安全服务

云计算是一个分布式的计算机集群,有计算的服务器,有存储的服务器,是现在十分火爆的商业计算模式,也是一个分布在很多计算机上的资源群,其实就是对计算机的横向扩展。...把单台的计算机或者是服务器的数据和资源放到这个资源池中,用户可以按需存取而不用考虑自己所需要的资源放在那一朵“云”上,也就Hadoop的HDFS中,取数据的时候并不知道自己所需要的数据具体在哪个节点上,...通过云计算,用户可以不必购买新的服务器和部署软件,就可以得到应用环境或者应用本身。对于用户来说,软硬件不必是部署在自己身边的、专属于自己的产品,而是可以变身为可利用的、虚拟的一种资源。

84130

macOS apache配置及开启虚拟服务器开启,apache开启重写模式

apache是系统自带的,因为是mac目前的最新系统,所以出现了好多问题,整理了一下午也没有啥进展,最后还是把原来的在云盘保存的文件放到指定的位置,文件在我博客的文件中可以下载,文件名为mac,apache服务器配置文件...该位置的引号中的路径为项目的路径 然后httpd-vhosts.conf中的为虚拟服务器的配置文件 ?...路径为项目路径 servername为虚拟服务器的名字,可以更改,不过改过后,要在hosts中 ?...上面加上虚拟服务器名  ip 本地的ip为127.0.0.1 开启服务器的重写模式: 去掉下面这句话前面的#(切记配置文件中的所有符号都是英文的,如果写成中文的会出意想不到的问题) ?...然后把所有的AllowOverride None,都改成 AllowOverride All,然后重启服务器就好 具体详细的mac上apache配置,见http://www.cnblogs.com/zhuchenglin

2.9K40

开启1521端口监听_服务器1521端口被关闭,如何开启

我试着telnet Oracle服务器1521 端口,提示连接失败; (2)D:\Documents and Settings\Administrator>telnet 10.201.70.68 1521...正在连接到10.201.70.68…不能打开到主机的连接, 在端口 1521: 连接失败; (3)Oracle服务器与本机都在局域网内,不存在网络不通问题,怎么会无法连接。...检查10.201.70.68并未启动防火墙,可以ping通; (4)但发现直接在Oracle服务器上连接oracle也不能正常连接; (5)后发现为listener.ora导致,经过修改 \product...\10.2.0\db_1\NETWORK\ADMIN\listener.ora 数据库恢复正常; (6)再次telnet Oracle服务器的1521端口,依然连接失败; (7)D:\Documents...\Administrator>netstat -a -n; (19)看来成功的概率很高,然后我通过我电脑telnet Oracle服务器1521端口,果然成功。

10.8K20

服务器开启谷歌BBR加速网络

BBR 由 Google 开发,供 Linux 内核的 TCP 协议栈使用,有了 BBR 算法,Linux 服务器可以显著提高吞吐量并减少连接延迟,简单来说 BBR 能加速网络传输速度。...相比锐速BBR的加速效果更为温和,并且占用内存小对服务器压力也很小,当时理想情况下是可以跑满整个服务器物理带宽,比锐速更加稳定,能够有效的降低服务器的网络丢包率,减少网络拥堵。...我的服务器用的是debian,由于Debian 9默认的内核版本就是4.9.x,我们不需要像别的系统需要更换内核,直接就能开启BBR算法。...0x2.3 查看内核是否已开启BBR sysctl net.ipv4.tcp_available_congestion_control 如下显示表示开启成功: # sysctl net.ipv4.tcp_available_congestion_control...查看BBR是否启动 lsmod | grep bbr 如下显示表示已经开始: lsmod | grep bbr tcp_bbr 20480 4 0x03 结语 综上,开启

3.9K31

【计算机网络】传输层 : TCP 可靠传输 ( 可靠传输机制 | 快速重传机制 )

文章目录 一、TCP 可靠传输 二、TCP 可靠传输机制 三、TCP 快速重传 机制 一、TCP 可靠传输 ---- 可靠性 : 保证 接收方进程 从 TCP 缓冲区 中读取的数据 与 发送方进程 发送的数据...--- TCP 实现可靠传输机制 : ① 校验 : 使用 伪首部 进行校验 ; ② 序号 : 每个字节编一个序号 ; 序号 字段 的值是 报文段 第一个字节的序号 ; ③ 确认 : 累计确认 ; ④ 重传...: 重传 与 确认机制 结合使用 , 发送方 如果 在 规定时间内 , 没有收到 接收端的确认 , 就要重发报文段 ; 重传时间 : TCP 使用 自适应 算法 , 动态改变重传时间 RTTs , 该时间成为...加权平均往返时间 ; 三、TCP 快速重传 机制 ---- TCP 快速重传 机制 : 使用 冗余确认 机制 , 实现快速重传 ; ① 冗余 ACK 确认信息 : 接收方 接收到 接收到 比 期望序号大的...失序报文段 , 就向 发送方 发送 冗余 ACK , 表明下一个期待的序号 ; ② 快速重传示例 : 发送方 发送 1 , 2 , 3 , 4 , 5 报文段 ; 接收方 收到 1 号报文 , 向 发送方

1.2K00

aliyun服务器MySQL开启远程连接

aliyun服务器MySQL开启远程连接 说下阿里云服务器开启MySQL远程连接吧 每次执行SQL命令都得去服务器上操作 很是不爽。所以。。。。。。...哈哈,错啃爹的阿里MySQL 3306没有设置访问权限 6.登陆阿里云服务器 进入控制台-》云服务器ECS-》网络和安全-》安全组 选择你服务器所在大区(这里不得不吐槽一下,我只有一个大区,你还让我选啊...点击“配置规则” 接着点击快速创建规则 规则方向:入方向; 授权策略: 允许; 常用端口:MySQL(3306); 自定义端口:TCP; 授权类型:地址段访问; 授权对象:0.0.0.0/0;...优先级:1(我这里设置的1) 再次提醒 如果上述操作完毕还是不能连接,那么再次执行 flush privileges; OK,至此MySQL就开启远程访问了,不足之处,欢迎指正

3.5K30

linux安装samba服务器_开启samba服务

我们都知道windows上面有一个很方便的文件共享的功能,samba服务主要就是实现了linux平台上的文件共享功能,使得linux平台也能够和windows进行文件共享,但是使用linux搭建的文件共享服务器对于...(1)全局配置项与相关参数 workgroup=WORKGROUP :工作组 server string = “xxxxx” :服务器的备注 netbios name = “xxx” :主机名 interfaces...encrypt passwords =yes / no :是否开启密码加密保存,默认开启 smb passwd file =/etc/samba/smbpasswd : 定义samba用户的密码文件路径...:非交互方式创建用户,比如echo 111 | smbpasswd -a xxx 用户映射文件 如果只是单纯的将系统用户作为samba用户,那么别人如果拿到samba用户的话,依然可以将这个用户去登录服务器...不知道为什么如果用windows去访问samba服务器,那么使用用户登录之后,再次访问默认就把你登录成之前的那个用户了,很烦每次都要重启。

9.6K20

你的MySQL服务器开启SSL了吗?

所以,现在很多大型网站都开启了SSL功能。同样地,在我们数据库方面,如果客户端连接服务器获取数据不是使用SSL连接,那么在传输过程中,数据就有可能被窃取。...2、如果安装MySQL57时没有运行过mysql_ssl_rsa_setup,那么如何开启SSL呢?...同时在MySQL服务器端(10.126.126.160)上用tshark进行抓包: ? 【结论】未使用SSL情况下,在数据库服务器端可以通过抓包的方式获取数据,安全性不高。    ...从测试数据可以发现,开启SSL后,数据库QPS平均降低了23%左右,相对还是比较影响性能的。从SSL实现方式来看,建立连接时需要进行握手、加密、解密等操作。...五、总结 1、MySQL5.7默认是开启SSL连接,如果强制用户使用SSL连接,那么应用程序的配置也需要明确指定SSL相关参数,否则程序会报错。

3.2K20
领券