问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

TCP关闭过程中有哪些定时器?各自的取值为多少?

发布网友 发布时间:2022-04-23 05:20

我来回答

4个回答

热心网友 时间:2023-10-16 04:23

定时器在TCP可靠传输的过程中起着举足轻重的作用。TCP在建立连接之后可能(保活keep-alive定时器是可选的)会 启动四个定时器。 TCP使用四种定时器(Timer,也称为“计时器”): 重传计时器:Retransmission Timer 坚持计时器:Persistent Timer 保活计时器:Keeplive Timer 时间等待计时器:Time_Wait Timer。 (1)重传计时器:Retransmission Timer 重传定时器:为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传计时器,可能 发生两种情况:若在计时器超时之前收到对报文段的确认,则撤销计时器;若在收到对特定报文段的确认之前计时器超时,则重传该报文,并把计时器复位; 重传时间=2*RTT; RTT的值应该动态计算。常用的公式是:RTT=previous RTT*i + (1-i)*current RTT。i的值通常取90%,即新的RTT是以前的RTT值的90%加上当前RTT值的10%. Karn算法:对重传报文,在计算新的RTT时,不考虑重传报文的RTT。因为无法推理出:发送端所收到的确认是对上一次报文段的确认还是对重传报文段的确认。干脆不计入。 (2)坚持计时器:persistent timer 专门为对付零窗口通知而设立的。 当发送端收到零窗口的确认时,就启动坚持计时器,当坚持计时器截止期到时,发送端TCP就发送一个特殊的报文段,叫探测报文段,这个报文段只有一个 字节的数据。探测报文段有序号,但序号永远不需要确认,甚至在计算对其他部分数据的确认时这个序号也被忽略。探测报文段提醒接收端TCP,确认已丢失,必 须重传。 坚持计时器的截止期设置为重传时间的值,但若没有收到从接收端来的响应,则发送另一个探测报文段,并将坚持计时器的值加倍和并复位,发送端继续发送 探测报文段,将坚持计时器的值加倍和复位,知道这个值增大到阈值为止(通常为60秒)。之后,发送端每隔60s就发送一个报文段,直到窗口重新打开为止; 补充: 坚持定时器的原理是简单的,当TCP服务器收到了客户端的0滑动窗口报文的时候,就启动一个定时器来计时,并在定时器溢出的时候向向客户端查询窗口 是否已经增大,如果得到非零的窗口就重新开始发送数据,如果得到0窗口就再开一个新的定时器准备下一次查询。通过观察可以得知,TCP的坚持定时器使用 1,2,4,8,16……64秒这样的普通指数退避序列来作为每一次的溢出时间。 糊涂窗口综合症 TCP的窗口协议,会引起一种通常叫做糊涂窗口综合症的问题,具体表现为,当客户端通告一个小的非零窗口时,服务器立刻发送小数据给客户端并充满其缓冲区,一来二去就会让网络中充满小TCP数据报,从而影响网络利用率。对于发送方和接收端的这种糊涂行为。 再次补充: TCP通过让接收方指明希望从发送方接收的数据字节数(即窗口大小)来进行流量控制。如果窗口大小为 0会发生什么情况呢?这将有效地阻止发送方传送数据,直到窗口变为非0为止。 TCP不对ACK报文段进行确认, TCP只确认那些包含有数据的ACK报文段。 如果一个确认丢失了(这个确认是”接收方“向”发送方“发送的ACK,通知”发送方“自己的窗口已经非0了),则双方就有可能因为等待对方而使连接 终止:接收方等待接收数据(因为它已经向发送方通告了一个非 0的窗口),而发送方在等待允许它继续发送数据的窗口更新。为防止这种死锁情况的发生,发送方使用一个坚持定时器 (persist timer)来周期性地向接收方查询,以便发现窗口是否已增大。这些从发送方发出的报文段称为窗口探查 (window probe)。 (3)保活计时器:keeplive timer 每当服务器收到客户的信息,就将keeplive timer复位,超时通常设置2小时,若服务器超过2小时还没有收到来自客户的信息,就发送探测报文段,若发送了10个探测报文段(没75秒发送一个)还没收到响应,则终止连接。 补充: 保活定时器更加的简单,还记得FTP或者Http服务器都有Sesstion Time机制么?因为TCP是面向连接的,所以就会出现只连接不传送数据的“半开放连接”,服务器当然要检测到这种连接并且在某些情况下释放这种连接,这 就是保活定时器的作用。其时限根据服务器的实现不同而不通。另外要提到的是,当其中一端如果崩溃并重新启动的情况下,如果收到该端“前生”的保活探察,则 要发送一个RST数据报文帮助另一端结束连接。 (4)时间等待计时器:Time_Wait Timer 在连接终止期使用,当TCP关闭连接时,并不认为这个连接就真正关闭了,在时间等待期间,连接还处于一种中间过度状态。这样就可以时重复的fin报文段在到达终点后被丢弃,这个计时器的值通常设置为一格报文段寿命期望值的两倍。 补充: 2MSL定时器:MSL是报文段做大生存时间(Maximum Segment Lifetime),设置这个定时器有两个目的: 其一是为了测量连接处于TIME_WAIT状态的时间.这样可以让TCP再次发送最后的ACK以防止这个ACK丢失(如果丢失,另一端会重传FIN)。 其二,为允许老的重复分节在网络中消逝。具体可以解释为,如果一个TCP连接在断开之前有迷途分节尚未消逝,在断开该TCP连接之后立刻重启一个同 样的连接(双方的IP地址和端口port相同),这时之前的迷途的老分节可能对新的新的TCP连接接收,从而造成未定义的错误。为了避免这种情况,TCP 规定在TIME_WAIT状态,不能启动一个连接的化身。既然TIME_WAIT状态维持2MSL,这就保证了一个连接上的分组及其应该在 2MSL内都会消失。

热心网友 时间:2023-10-16 04:24

定时器在TCP可靠传输的过程中起着举足轻重的作用。TCP在建立连接之后可能(保活
keep-alive定时器是可选的)会 启动四个定时器。 TCP使用四种定时器(Timer,也称为“计时器”):
重传计时器:Retransmission Timer 坚持计时器:Persistent Timer 保活计时器:Keeplive Timer
时间等待计时器:Time_Wait Timer。 (1)重传计时器:Retransmission Timer
重传定时器:为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传计时器,可能
发生两种情况:若在计时器超时之前收到对报文段的确认,则撤销计时器;若在收到对特定报文段的确认之前计时器超时,则重传该报文,并把计时器复位;
重传时间=2*RTT; RTT的值应该动态计算。常用的公式是:RTT=previous RTT*i + (1-i)*current
RTT。i的值通常取90%,即新的RTT是以前的RTT值的90%加上当前RTT值的10%.
Karn算法:对重传报文,在计算新的RTT时,不考虑重传报文的RTT。因为无法推理出:发送端所收到的确认是对上一次报文段的确认还是对重传报文段的
确认。干脆不计入。 (2)坚持计时器:persistent timer 专门为对付零窗口通知而设立的。
当发送端收到零窗口的确认时,就启动坚持计时器,当坚持计时器截止期到时,发送端TCP就发送一个特殊的报文段,叫探测报文段,这个报文段只有一个
字节的数据。探测报文段有序号,但序号永远不需要确认,甚至在计算对其他部分数据的确认时这个序号也被忽略。探测报文段提醒接收端TCP,确认已丢失,必
须重传。
坚持计时器的截止期设置为重传时间的值,但若没有收到从接收端来的响应,则发送另一个探测报文段,并将坚持计时器的值加倍和并复位,发送端继续发送
探测报文段,将坚持计时器的值加倍和复位,知道这个值增大到阈值为止(通常为60秒)。之后,发送端每隔60s就发送一个报文段,直到窗口重新打开为止;
补充:
坚持定时器的原理是简单的,当TCP服务器收到了客户端的0滑动窗口报文的时候,就启动一个定时器来计时,并在定时器溢出的时候向向客户端查询窗口
是否已经增大,如果得到非零的窗口就重新开始发送数据,如果得到0窗口就再开一个新的定时器准备下一次查询。通过观察可以得知,TCP的坚持定时器使用
1,2,4,8,16……64秒这样的普通指数退避序列来作为每一次的溢出时间。 糊涂窗口综合症
TCP的窗口协议,会引起一种通常叫做糊涂窗口综合症的问题,具体表现为,当客户端通告一个小的非零窗口时,服务器立刻发送小数据给客户端并充满其缓冲
区,一来二去就会让网络中充满小TCP数据报,从而影响网络利用率。对于发送方和接收端的这种糊涂行为。 再次补充:
TCP通过让接收方指明希望从发送方接收的数据字节数(即窗口大小)来进行流量控制。如果窗口大小为
0会发生什么情况呢?这将有效地阻止发送方传送数据,直到窗口变为非0为止。 TCP不对ACK报文段进行确认,
TCP只确认那些包含有数据的ACK报文段。
如果一个确认丢失了(这个确认是”接收方“向”发送方“发送的ACK,通知”发送方“自己的窗口已经非0了),则双方就有可能因为等待对方而使连接
终止:接收方等待接收数据(因为它已经向发送方通告了一个非
0的窗口),而发送方在等待允许它继续发送数据的窗口更新。为防止这种死锁情况的发生,发送方使用一个坚持定时器 (persist
timer)来周期性地向接收方查询,以便发现窗口是否已增大。这些从发送方发出的报文段称为窗口探查 (window probe)。
(3)保活计时器:keeplive timer 每当服务器收到客户的信息,就将keeplive
timer复位,超时通常设置2小时,若服务器超过2小时还没有收到来自客户的信息,就发送探测报文段,若发送了10个探测报文段(没75秒发送一个)还
没收到响应,则终止连接。 补充: 保活定时器更加的简单,还记得FTP或者Http服务器都有Sesstion
Time机制么?因为TCP是面向连接的,所以就会出现只连接不传送数据的“半开放连接”,服务器当然要检测到这种连接并且在某些情况下释放这种连接,这

就是保活定时器的作用。其时限根据服务器的实现不同而不通。另外要提到的是,当其中一端如果崩溃并重新启动的情况下,如果收到该端“前生”的保活探察,则
要发送一个RST数据报文帮助另一端结束连接。 (4)时间等待计时器:Time_Wait Timer
在连接终止期使用,当TCP关闭连接时,并不认为这个连接就真正关闭了,在时间等待期间,连接还处于一种中间过度状态。这样就可以时重复的fin报文段在
到达终点后被丢弃,这个计时器的值通常设置为一格报文段寿命期望值的两倍。 补充: 2MSL定时器:MSL是报文段做大生存时间(Maximum
Segment Lifetime),设置这个定时器有两个目的:
其一是为了测量连接处于TIME_WAIT状态的时间.这样可以让TCP再次发送最后的ACK以防止这个ACK丢失(如果丢失,另一端会重传FIN)。
其二,为允许老的重复分节在网络中消逝。具体可以解释为,如果一个TCP连接在断开之前有迷途分节尚未消逝,在断开该TCP连接之后立刻重启一个同
样的连接(双方的IP地址和端口port相同),这时之前的迷途的老分节可能对新的新的TCP连接接收,从而造成未定义的错误。为了避免这种情况,TCP
规定在TIME_WAIT状态,不能启动一个连接的化身。既然TIME_WAIT状态维持2MSL,这就保证了一个连接上的分组及其应该在
2MSL内都会消失。

热心网友 时间:2023-10-16 04:24

我知道的只有一个RTT时间,每秒增加128000,每次连接增加64000.

热心网友 时间:2023-10-16 04:25

111111111111111111
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
iphone4被偷/被盗/丢失了后怎么办呢? 韩语对话:被盗的经验和防御方法 ipad2在飞机上丢失,有什么方法可以找回来吗?ipad的条码是:MC979ZP/A... ...被抓到并报案,公安机关应该怎样处理案件,被偷2万元左右的财物是否... (1/2)刚才在交车上我的钱包被偷了里面有刚办好的2万定期存单和身份证和... 老丢东西/钱如何转运 我用eXeScope修改资料后qq怎么打不开了 肚子针打完后用湿棉签按住药水会不会流出来 怎样给别人打针才不会痛? 打完新冠疫苗棉签要按压多久? js定时器有哪些? 三菱Q系列PLC的定时器分为哪几类,有什么区别?谢谢各位 你对555定时器有什么认识?它可以用在哪里,请详细列举说明 学生穷游国庆的时候去哪里合适? 微信好友被删了,自己又不知道他的了。怎么找回? 绍兴饮食文化浙江绍兴饮食团购 绍兴文化旅游集团 绍兴文化 绍兴酒文化 手机哪个旅游的软件最好用? 安徽宿松到湖南凤凰古城多少距离 五月份去三亚玩怎么样,有什么好的建议 芜湖方特附近有什么好吃的没有 计算机地址线根数为32根,求内存。这里面的单位为什么是B而不是b?32位难道不是小b吗? 凤凰楼宾馆怎么样 去三亚玩,到达是凤凰机场,去南山寺、亚龙湾、呀诺达三个景点玩4天,请问怎么安排顺序最方便 去宁波凤凰山主题乐园住宿问题 夏天去凤凰古城旅游好吗 凤凰古城三日游攻略 我在烟台莱山区山东工商学院,我想问一下莱山区离我们学校近的游泳馆有哪些,都是什么价格!拜托了! 巢湖市姥山岛码头处有没有快捷酒店或者农家客栈?请告知联系电话,准备今年国庆自驾出游巢湖姥山岛,谢谢 谁能推荐一家离三亚凤凰机场比较近的酒店,环境好的,有特色的? 太白山凤凰温泉酒店怎么样 51单片机有多少个定时器其核心是什么 定时器是什么 除pic外,目前的pc机中还有哪些硬件定时器?其定时精度如何 LTE中的定时器,计时器有哪些?什么作用 定时器mo代表什么意思 stm32f103微控制器不同类型的定时器有什么区别? 游戏设计中真实时间定时器是什么?急要 我国古代计时器有哪些? STM32F103微控制器不同类型 的定时器有什么区别? 30点的plc 计时器100毫秒、10毫秒、1毫秒用什么定时器,倒计时定时器怎么做,指令是那些啊?有人知道吗? 有什么定时器可以实现插上市电交流电源220v,等待一定时间后通电(要防瞬间打火),再过一段时间后断开 什么定时器可以定时在1分钟左右。 stm32 3种定时器 高级定时器,通用定时器,基本定时器之间都有什么区别 还有高级定时器为什么在APB2上? 既然单片机本身有定时器,为什么还需要采用DS1302来定时呢,DS1302的优点是什么呢? dnf风暴女皇怎么配装备? 到底是风暴女皇还是暴风女皇,我搞不懂 DNF风暴女皇最佳装备选择什么好 dnf风暴女皇带什么武器好 DNF风暴女皇80技能叫什么 为什么lcd屏会有144hz的刷新率