标签:统计 时间间隔 effect 程序猿 数据 原理 c89 china row
? RTT:发送一个数据包到收到对应的ACK,所花费的时间
? RTO:重传时间间隔,TCP在发送一个数据包之后,会启动一个重传定时器,RTO就是这个定时器的重传时间,再通俗的讲就是,一开始先算一个定时器时间,如果你回复了ACK,那重传定时器就自动失效,也就是说不用重传了,但是如果没有回复给我ACK,RTO定时器的时间又到了,就重传,由于RTO是本次数据包所发送的超时时间,那么RTO就需要一个很好的算法去统计,来更好的预测这次的超时时间,RTO不是固定写死的配置,而是经过RTT计算出来的,有了RTT才能计算出RTO.基于RTO才有了重传机制,而后才有滑动窗口
滑动窗口主要有两个作用:
? 1.保证TCP可靠性
? 2.保证TCP的流控特性
◇EffectiveWindow = AdvertisedWindow-(LastByteSent-LastByteAcked)
任何时候都能分为4类
1:已经发送并且得到端的回应的
2:已经发送但是没有得到端的回应的
3:未发送,但允许对端发送的
4:未发送,且不允许对端发送的
其中:2+3即为发送端口
在某一时刻,在接受缓存范围内有四种状态
1+2.已接收,已发送回执
3.未接收,但是可以接收(准备接收)
4.未接受,也不能接收
其中3为接收窗口
滑动窗口的大小可以根据一定策略动态调整.
Java每日一面(Part1:计算机网络)[19/11/02]
标签:统计 时间间隔 effect 程序猿 数据 原理 c89 china row
原文地址:https://www.cnblogs.com/jsccc520/p/11780435.html