9.1 定时器初始化

本文详细介绍了TCP连接中的9个定时器,包括SYN-ACK、重传、丢失探测等,阐述了如何用5个定时器结构实现9个功能。在Linux内核中,所有TCP定时器超时都在软中断上下文中执行。文章将按'Why-When-What'结构分析每个定时器的作用、设置时机及超时处理。
摘要由CSDN通过智能技术生成

  TCP为每条连接先后设置9个定时器,分别为:SYN-ACK定时器、重传定时器、丢失探测LOSS_PROBE定时器、EREarly Retransmit定时器、延迟ACK定时器坚持定时器、保活定时器、FIN_WAIT2定时器、TIME_WAIT定时器。由于一些定时器不能同时设置,故TCP使用了5个定时器结构完成全部9个定时器的功能。相关数据结构如下:

 285 struct sock {
...
381     struct timer_list   sk_timer;//用于保活定时器、SYN-ACK定时器、FIN_WAIT2定时器
...
include/net/inet_connection_sock.h
 87 struct inet_connection_sock {
...
 93     struct timer_list     icsk_retransmit_timer;//用于重传定时器、丢失探测定时器、ER定时器、坚持定时器
 94     struct timer_list     ic
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值