TCP_CA_Recovery状态到TCP_CA_Open状态

本文深入解析TCP协议中从TCP_CA_Recovery状态到TCP_CA_Open状态的转换条件与流程。当snd_una大于等于high_seq,表示所有重传数据包已得到确认,可恢复正常数据传输,且snd_cwnd值保持不变,按当前状态增长。文章还概述了其他TCP状态跳转机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1. TCP_CA_Recovery状态到TCP_CA_Open状态

从TCP_CA_Recovery状态到TCP_CA_Open状态的条件:
当snd_una >= high_seq时 : 表示重传队列中的skb全部被重传并得到了ACK,可以开始正常数据传输了,且snd_cwnd值保持原值不变,按当前状态进行增长

注:
high_seq:snd_nxt at onset of congestion, 拥塞开始时, 准备发送的下一个数据的序列号值
snd_una: First byte we want an ack for, 对于发出的数据,都需要对方的ACK,这里标示当前需要被确认的第一个字节。因为接受到数据包,就知道本地要发送的数据包seq, 等于snd_nxt=acked_req, 当回复该数据包以后,就 snd_una=snd_nxt了

2. 调用流程

在这里插入图片描述

3. 其他状态跳转

点击如下:
TCP状态跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值