congestion
2016-03-30 14:40:53 0 举报
登录查看完整内容
作者其他创作
大纲/内容
乱序||有包丢失||有重传
结束
恢复拥塞变量
OPEN
没确认新数据且不支持SACK
否
是否进入RECOVERY状态
重传对头报文并重置定时器
标记重传队列中没有SACK|LOST标记的段为LOST
是
支持SACK
OPEN处理
RECOVERY
Reno相关
减小cwnd
CWR
DISORDER
虚假SACK?
检测丢失的包,标记LOST标记
LOSS
重传LOST标记的包
重传定时器超时
恢复拥塞变量清除LOST标记
是否有新数据需要传输
对于Reno,仅当snd_una high_seq才退出RECOVERY状态避免错误的进入快速重传
减小拥塞变量
确认了所有数据?
ACK
拥塞变量减小
调整拥塞窗口大小
标记重传队列所有段为LOST
调整cwnd不超过上限值
ECN?
不支持SACK ||fackets_out reordering
乱序报文被确认?
确认了部分数据?
重传标记为LOST的数据
是否做了没必要的重传?
FRTO
进入recover状态时发送窗口已发送的所有数据
调整拥塞窗口
如果可能,传输没有任何标记的数据包
对于Reno,仅当snd_una high_seq才退出LOSS状态避免错误的进入快速重传
修改拥塞变量
根据DSACK判断之前LOSS状态是否做了没必要的重传?
重复的ACK
确认了进入CWR状态时SND.NXT之外的数据?
收藏
0 条评论
回复 删除
下一页