tcp定时器
来源:互联网 发布:js遍历对象属性 编辑:程序博客网 时间:2024/05/22 08:07
1:建立链接定时器
定时器在发送syn报文段建立一条新连接是启动。如果没有在75s收到响应,连接建立将中断。
2:重传定时器
定时器在tcp发送数据时设定。如果定时器已超时而对端的确定还没到达,tcp将重传数据,重传定时器的值是动态计算,取决于tcp为该链接测量的往返时间和该报文段已经被重传的次数。
3:延迟ack定时器
定时器在tcp收到必须被确定但是无需马上发出确定的数据时设定。tcp等待200ms后发送确定响应。如果在这200ms内,有数据要在该链接上发送,延迟ack响应就可以随着数据一起发送回对端,称为挟带确认。
4:持续定时器
定时器在连接对端通知接收窗口为0,阻止tcp继续发送数据时设定。由于连接对端发送的窗口通知不可靠【只有数据才会被确定,ack不会被确定】,允许tcp继续发送数据的后续窗口更新有可能丢失。因此,如果tcp有数据要发送,但对端通知接收窗口为0,则持续定时器启动,超时后向对端发送1字节的数据,判断对端窗口是否打开。与重传的定时器一样,持续时间也是动态计算, 取决于连接往返时间, 在5s-60s的区间取值
5:FIN_WAIT_2定时器
当某个连接从FIN_WAIT_1的状态变成FIN_WAIT_2,并且不能再接收任何新数据时,FIN_WAIT_2定时器启动,设置为10min。定时器超时后,重新设为75s,第二次超时连接被关闭。加入该定时器的母的就是为了避免对端一直不发送FIN,整个tcp链接永远处于FIN_WAIT_2状态。
6:2MSL定时器
7:tcp心跳定时器 keeplive
定时器在应用进程选取接SO_KEEPLIVE的选项生效。如果链接的连续空闲时间超过2hour,保活定时器超时,向对端发送链接探测报文段,强迫对端响应。
- TCP定时器
- tcp 定时器
- TCP定时器
- tcp定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- tcp定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- TCP定时器
- PCA算法
- 得十分好地方十年读书房间内东方
- Android Studio 项目基本结构
- 用VS Express 2010开发第一个应用程序
- Navicat连接Oracle 报 ORA-12737
- tcp定时器
- ubuntu14.04搭建LAMP
- ios开发之使用block引发循环引用导致内存泄露
- New与malloc的区别
- Itween插件用法
- 第四周上机实践项目1——三角形类的构造函数(2)
- Android 最佳实践之 UI 篇
- hibernate源码中缺少的几个类
- 从5人的创业公司到A轮融资