首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCP四次握手

TCP四次握手
EN

Stack Overflow用户
提问于 2014-02-09 00:35:05
回答 1查看 12.2K关注 0票数 2

四次握手连接的终止可以简化为三次握手,甚至两次握手。是否有可能将三次握手连接建立扩展到四次握手连接?

代码语言:javascript
复制
SYN=>
<=ACK
<=SYN
ACK=>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-09 02:36:57

鉴于SYN和ACK的语义,应该可以在不同的数据包中发送SYN+ACK,并延迟握手。例如,客户端发送SYN,服务器用ACK应答以确认客户端对新连接的愿望,但是它还没有同意该愿望。随后,服务器发送SYN,并从客户端获取匹配的ACK,从而建立连接。但我怀疑任何人都会以这种方式建立连接,而且可能是,一些操作系统会在它上面崩溃。

但是,还有另一种情况用于四次握手,但是具有不同的分组顺序。如果两端同时尝试建立到另一端的连接,例如,双方都向对等方发送SYN,并获得ACK,则可能会发生这种情况。RFC 793 (TCP) 3.4节对此进行了说明。但我怀疑您是否会看到这样的握手,因为它不适合典型的客户端-服务器场景,即一端等待连接,另一端进行连接。

编辑:你预想的握手是存在的,它叫做“拆分握手”。参见http://hackmageddon.com/2011/04/17/tcp-split-handshake-attack-explained/。正如我预期的那样,它并没有得到普遍的支持。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21648663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档