TCP 总结

主要对于超时重传 慢启动 快速恢复,快速重传进行整理


超时重传:

  1. tcp维护了一个定时器在规定时间内没有收到对自己发出报文的确认报文,会进行重传

具体过程:

超时重传一般重传5次对应的间隔时间为0.2,0..4,0.8,1.6.3.2s每次重传都是前面的2倍,若5次都失败,交给底层的IP和arp进行接管,知道telnet放弃这个链接

超时重传的传参数主要是由

/proc/sys/net/ipv4/tcp_retries1 /proc/sys/net/ipv4/tcp_retries2
前者决定了他的最小重传次数,后者决定最大重传次数


拥塞控制

慢启动 拥塞避免 快速重传 和快速回复


SWND send windows 发送窗口 大小
SMSS send max segment size 最大报文长度
发送窗口过小导致网络延迟高 发送窗口过大导致网络拥塞
因此引入发送端引入拥塞窗口

CWND
SWND=min(CWND,RWND)

慢启动和拥塞避免

TCP建立好之后CWND设置成最小值两个2SMESS 然后每接受到一个确认之后
CWND+=min(N,SMSS)N代表发送的数据还没被确认的 所以CWND会不断的怎打。
但时如果不加以控制CWND会不增加。
所以定义了一个叫慢启动门限
超过此值时进入拥塞避免阶段。
重新计算CWND减慢其扩大的速度
CWND=SMSS*SMESS/CWND

快重传 参考博客

如果接收端接收到了一个已经失序的报文后立刻回复丢失报文前的ACK如果接收端收到3个重复确认的报文段,就认为拥塞发生。

具体如该图所示

这里写图片描述
具体内容:
1. 要求接收方每收到一个失序的报文段后就立即发出重复确认而不是等待自己发送数据时才捎带确认
2. 发送方只要一连收到三个重复确认就立即重传对方尚未收到的报文段,而不必等待设置的重传计时器到期


快恢复

当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把慢开始门限ssthresh减半,为了预防网络拥塞
将拥塞窗口cwnd值设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法
发送方的发送窗口的上限值 = Min[rwnd, cwnd]
todo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值