TCP/IP / 三次握手之状态转换图和原因
一、状态转换图

二、握手是三次的原因
1、验证 SYN 包的有效性。
- 防止伪造的 IP 和 Port 向 Server 不断地进行连接。因为上述情况若是两次握手,就直接导致了 Server 为了建立这些连接而浪费大量资源。若是三次握手,就可以向上述的 IP 和 Port 发送确认的包含 ACK 和 Seq 包,并等待正确地回复。这就有效的避免伪造的 IP 和 Port 对 Server 的攻击,其实也就是验证该 SYN 的有效性。
- Client 向 Server 发送 SYN 包请求连接,但是该包在网内滞留超时,Client 又发送了一个 SYN 包,后者与 Server 顺利的建立了连接。此时之前的 SYN 包终于到达 Server ,Server 也为其建立了连接并发送 SYN + ACK 包,Client 收到该包之后就会丢弃,而 Server 还为该连接分配了资源并一直占用,这就造成了资源的浪费。 其实使用三次握手就是为了验证该 SYN 的有效性。
2、实现双方交换序列号并确认已收到。
(SAW:Game Over!)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
