免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Godbach
打印 上一主题 下一主题

TCP/IP实现刨根究底大讨论【活动结束】 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2011-03-25 21:51 |显示全部楼层
回复 89# ynchnluiti


    也就是说只有两种情况会启动重传定时器:
   1、在发送数据之前检查当前的prior_packets(还未确认的包的个数),是0,说明先前的发包都被确认,于是启动重传定时器;
   2、当RTO被更新时(要么通过ACK计算出新的RTO,要么RTO因为超时而指数退避),无论接下来有没有数据要发送,重传定时器都被重启
   请问我的理解是否正确

论坛徽章:
0
2 [报告]
发表于 2011-03-26 08:39 |显示全部楼层
回复 96# goter

所谓的“收到ack(tcp_ack_probe)会更新定时器”里的“更新”是不是就是重启重传定时器?

论坛徽章:
0
3 [报告]
发表于 2011-03-26 20:15 |显示全部楼层
回复 102# yifangyou


    可能是受《tcp/ip详解》的影响吧,这本书入门还是很经典的,毕竟是十多年前的东西了,深入的话,只有阅读源码了

论坛徽章:
0
4 [报告]
发表于 2011-03-30 16:10 |显示全部楼层
回复 109# ynchnluiti


    我也是刚开始看tcp内核实现,慢慢来吧,不过还是想把这个问题先搞清楚:重传定时器到底在什么情况下会重启(重启和更新TRO是两回事)
   1、收到一个非重传的ACK时,此时会重新计算RTO,那么计算出新的RTO之后,重传定时器重启吗?
   2、开始发送新的一个窗口的数据时,会重启
   3、超时了,RTO更新,指数退避,然后开始重传第一个未被确认的包,这时会重启

那么1中的情况重传定时器会不会重启?

评分

参与人数 1可用积分 +2 收起 理由
Godbach + 2 欢迎提问

查看全部评分

论坛徽章:
0
5 [报告]
发表于 2011-04-08 16:35 |显示全部楼层
本帖最后由 EasyIOCP 于 2011-04-08 16:38 编辑

提个问题,tcp里的带外数据实际中还有什么作用?感觉用处不是很大。有实际的项目用到带外数据了么?
还有PSH标记位,现在的内核是不是已经都忽略PSH标记了

评分

参与人数 1可用积分 +2 收起 理由
Godbach + 2 欢迎提问

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP