TCP定时器
来源:互联网 发布:淘宝助理使用 编辑:程序博客网 时间:2024/05/16 15:41
TCP中一共有四种定时器:
重传计时器:Retransmission Timer
坚持计时器:Persistent Timer
保活计时器:Keeplive Timer
时间等待计时器:Time_Wait Timer。
重传计时器
为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传计时器,可能发生了两种情况:若在计时器超时之前收到对报文段的确认,则撤销计时器;若在收到对特定报文段的确认之前计时器超时,则重传该报文,并把计时器复位;
重传时间=2*RTT;
RTT的值应该动态计算。常用的公式是:RTT=previous RTT*i + (1-i)*current RTT。i的值通常取90%,即新的RTT是以前的RTT值的90%加上当前RTT值的10%.坚持计时器
专门为对付零窗口通知而设立的;
当发送端收到零窗口的确认时,就启动坚持计时器,当坚持计时器截止期到时,发送端TCP就发送一个特殊的报文段,被称为探测报文段,这个报文段只有一个字节的数据;探测报文段有序号,但序号永远不需要确认,甚至在计算对其他数据的确认时这个序号也被忽略,探测报文段提醒接收端,确认已丢弃,必须重传。
坚持计时器的截止期为重传时间的值,但若没有收到从接收端来的响应,则发送另外一个探测报文段,并将坚持计时器的值加倍和并复位u,发送端继续发送探测报文段,将坚持计时器的值加倍和复位,直到这个值增大到阈值为止(通常是60s),之后,发送端每隔60s就发送一个报文段,直到窗口重新打开;保活计时器
每当服务器收到客户的信息,就将keeplive timer复位,超时通常设置为2小时,若服务器超过2小时还没收到来自客户的信息,就发送探测报文段,若发送了10个探测报文段(每75s发送一个)还没收到响应,则终止连接;- 时间等待计时器
在连接终止期使用,当TCP关闭连接时,并不认为这个连接就真正的关闭了,在时间等待期,连接还处于一种中间过渡状态,这样就可以使重复的fin报文段在到达终点后被丢弃,这个计时器的值通常设置为MSL的两倍。
- TCP定时器
- tcp 定时器
- TCP定时器
- tcp定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- tcp定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- LeetCode 435. Non-overlapping Intervals
- LeetCode 406. Queue Reconstruction by Height
- leetcode--3. Longest Substring Without Repeating Characters
- 使用WebUploader解决安卓微信浏览器上传图片中遇到的bug
- 输出小星星
- TCP定时器
- [sicily] 1000.函数求值
- Android应用在不同版本间兼容性处理
- App进入首页三秒后跳转到主页面,第二次进入直接跳到主页面,带倒计时
- Python基础-元类
- 每日算法(二)
- 协调者布局:CoordinatorLayout
- Handler和Timer实现倒计时跳转页面
- Visual Studio的一些帮助提升代码速度的小技巧