首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络协议 >

TCP慢启动阶段产生丢包,之后的状态是?(可用分不够了,之后会加分)

2013-01-01 
TCP慢启动阶段发生丢包,之后的状态是?(可用分不够了,之后会加分)《TCP/IP详解:卷1》page235,拥塞避免算法中

TCP慢启动阶段发生丢包,之后的状态是?(可用分不够了,之后会加分)
《TCP/IP详解:卷1》page235,拥塞避免算法中提到:
3)当拥塞发生时(超时或收到重复确认),ssthresh被设置为当前窗口的一半(cwnd和接收方通告窗口的最小值,但至少为2*MSS)。此外,如果是超时引起了拥塞,则cwnd被设置为1个报文段(这就是慢启动)
(如何判断超时?重复确认发生时cwnd又该如何设定?)
page237提到当收到3个重复的ACK时,就重传丢失的报文段,而无需等待定时器溢出。这就是快速重传算法。接下来执行的不是慢启动算法而是拥塞避免算法。

这里似乎矛盾了,假设慢启动阶段发生了丢包,是继续慢启动,还是直接进入拥塞避免呢?
[解决办法]
tcp 的重传有2种情况:
1、RTO重传定时器超时
2、收到连续3个ACK。

1的反应是:
把ssthresh降低为cwnd值的一半.把cwnd重新设置为1.重新进入慢启动过程。
2的反应便是快速重传了。

tcp没有所谓的快速重传阶段,
tcp只有2个阶段:慢启动到拥塞避免。
慢启动阶段,cwnd(发送窗口)级数增长,意思就是成倍数增长的意思。
当cwnd达到ssthresh慢启动门限时,就进入拥塞避免阶段,cwnd成加法增长,也就是增长的速度变慢了。

从上面2个阶段可以看出,cwnd在tcp的所有阶段是一直增加的,只有在RTO超时重传或者快速重传时才会导致cwnd减少。

另外还有快速恢复的算法比较复杂,没仔细研究

热点排行