免费注册 查看新帖 |

Chinaunix

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

请问tcp 三次握手问题 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2007-11-16 12:55 |只看该作者
原帖由 Arthur_ 于 2007-11-16 09:50 发表
一般client想server发送第一syn的时候,

server收到这个syn就认为连接上。然后回个ack给client ,client收到这个ack就认为连接上。
不需要在向server发送ack了

嗯,然后如果这个 ack 丢失了呢?丢失了该怎么办呢?

论坛徽章:
0
22 [报告]
发表于 2007-11-16 13:28 |只看该作者
原帖由 放驴娃 于 2007-11-16 12:55 发表

嗯,然后如果这个 ack 丢失了呢?丢失了该怎么办呢?




你的意思是想说不能判断这个回给client的ack是否丢失吧?

这样的,如果client发送的syn没有收到ack,它会继续发送直到超时。
对于server当发出ack后在一段时间没有data数据的到来的时候就认为超时。

如果server超时,而这时候client却收到ack建立了连接, 然后向server发送数据,这时候因为server已经超时所以会返回给client一个RST
这就和udp返回icmp差不多。


不知道这样理解对不?

论坛徽章:
0
23 [报告]
发表于 2007-11-16 13:31 |只看该作者
原帖由 Arthur_ 于 2007-11-16 10:14 发表
我找到了这个东西,可以省掉最后一个ack。

TCP_DEFER_ACCEPT

我们首先考虑的第1个选项是TCP_DEFER_ACCEPT(这是Linux系统上的叫法,其他一些操作系统上也有同样的选项但使用不同的名字)。为了理解TCP_D ...



当时比较忙没有验证上面的东西, 现在比较闲了,环境也没有了。所以很郁闷。
我也是怀疑
至于scip没有碰过。我看看

论坛徽章:
0
24 [报告]
发表于 2007-11-16 13:45 |只看该作者
能实现,但不是TCP
后面两步自确认,不就可以了吗.

论坛徽章:
0
25 [报告]
发表于 2007-11-16 14:23 |只看该作者
原帖由 mcbigollowulf 于 2007-11-16 13:45 发表
能实现,但不是TCP
后面两步自确认,不就可以了吗.


不是说实现不实现,而是想知道现在tcp是否有这样的选项setsockopt

论坛徽章:
0
26 [报告]
发表于 2007-11-16 20:29 |只看该作者
直接发个syn成不?

论坛徽章:
0
27 [报告]
发表于 2007-11-19 10:36 |只看该作者
面向连接与面向无连接
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP