网络协议学习

八.网络协议学习笔记 传输层TCP-流量控制_拥塞控制

2021-07-11  本文已影响0人  crazyfox

TCP-流量控制

如果接收方的缓存区满了,发送方还在发送数据
接收方只能把收到的数据包丢弃
所以要流量控制
什么是流量控制
发送方发送速率不要太快,让接收方来的及处理

原理

通过确认报文中窗口字段控制发送方的发送速率
发送方的发送窗口大小不能超过接收方给的窗口大小
发送方收到的接收窗口大小为0,发送方停止发送

特殊情况

接收方给发送方发送窗口0的报文
后面接收方给发送方的非0报文丢失了
发送方窗口一直为0
解决方案
发送方收到0窗口通知,发送方停止发送报文
开启定时器,隔一段时间发送报文区询问接收方窗口大小
接收窗口为0,刷新启动定时器

TCP-拥塞控制

拥塞控制
防止过多数据到网络中
避免网络路由器或链路过载

拥塞控制是个全局过程

TCP-拥塞控制-方法

慢开始(slow start )

1-2-4-8 包数目成指数增长
cwnd初始值比较小,然后随着数据包被接收方确认
cwnd成倍增长

拥塞避免(congestion avoidance)

ssthresh(slow start threshold)慢开始阀值,cwnd达到阀值后,线性方式增大
拥塞避免(加法增大)拥塞窗口缓慢增大,防止网络过早出现拥塞
乘法减小,网络拥塞,ssthresh减半,执行慢开始算法
网络出现频繁拥塞,ssthresh下降的很快

快速重传(fast retransmit)

一旦发现包丢了,发送最后接收到的包的确认
,重复三次之后,接收方接收到确认,立即发送丢失的包

快速恢复(fast recovery)

从ssthresh值开始进行慢开始

MSS(Maximum Segment Size)每个段最大的数据部分大小
建立连接时确认
cwnd(congestion window)拥塞窗口
rwnd(receive window)接收窗口
swnd(send window)发送窗口
swnd = min(rwnd,cwnd)

上一篇 下一篇

猜你喜欢

热点阅读