- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TCP三次握手原理.pdf
TCP三次握手
TCP是面向连接的,所谓面向连接,就是当计算机双方通信时必需先建立连接,然后数据传送,
最后拆除连接三个过程
并且TCP 在建立连接时又分三步走:
第一步是请求端(客户端)发送一个包含SYN 即同步(Synchronize )标志的TCP 报文,SYN
同步报文会指明客户端使用的端口以及TCP 连接的初始序号;
第二步,服务器在收到客户端的SYN 报文后,将返回一个SYN+ACK 的报文,表示客户端的
请求被接受,同时TCP 序号被加一,ACK 即确认(Acknowledgement )。
第三步,客户端也返回一个确认报文ACK 给服务器端,同样TCP 序列号被加一,到此一个TCP
连接完成。然后才开始通信的第二步:数据处理。
这就是所说的TCP 三次握手(Three-way Handshake )。
简单的说就是:(C:客户端,S:服务端)
C:SYN 到S
S:如成功--返回给C (SYN+ACK )
C:如成功返回给S (ACK )
以上是正常的建立连接方式,但如下:
假设一个C 向S 发送了SYN 后无故消失了,那么S 在发出SYN+ACK 应答报文后是无法收到
C 的ACK 报文的(第三次握手无法完成),这种情况下S 一般会重试(再次发送SYN+ACK 给
客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,
一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个C 出现异常导致S 的一个线程
等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,S 将为了维
护一个非常大的半连接列表而消耗非常多的资源数以万计的半连接,即使是简单的保存并遍
历也会消耗非常多的CPU 时间和内存,何况还要不断对这个列表中的IP 进行SYN+ACK 的重
试。实际上如果S 的TCP/IP 栈不够强大,最后的结果往往是堆栈溢出崩溃 即使S 的系统
足够强大,S 也将忙于处理攻击者伪造的TCP 连接请求而无暇理睬客户的正常请求(毕竟C 的
正常请求比率非常之小),此时从正常客户的角度看来,S 失去响应,这种情况我们称作:服务
器端受到了SYN Flood 攻击(SYN 洪水攻击)。
以上的例子常被称作DoS (拒绝服务攻击)与DDoS (分布式拒绝服务攻击)
注意:其中这儿的C 和S 都是相对的,对于现在的计算机来讲,只要自己的计算机建立任一服
务,在一定情况下都可被称为S
文档评论(0)