关于TCP SYN泛洪:为什么半开连接比已建立的连接更差?

时间:2013-03-08 01:09:00

标签: tcp ddos denial-of-service

这不是黑客的要求。我正在学习计算机科学,我只是好奇。

所以.. 当主机A向主机B发送TCP SYN时,主机B为接收缓冲区等分配空间,将SYNACK发送回主机A,主机A也分配这样的空间,然后将ACK发送回主机B.连接是然后建立。

但为什么半开连接(从A发送的最后一个ACK永远不会被发送)会导致主机B超出完全建立的连接?

1 个答案:

答案 0 :(得分:1)

半开连接并不比完全打开的连接占用更多资源,而且它们中的一堆连接不会比完全打开的连接更容易,更快速或更确定地压倒服务器。

但是您只需要将一个数据包发送到服务器以使其创建半开连接,而您需要完成TCP握手(1次发送,1次接收,另一次发送)以创建完全打开的连接。因此,您可以从欺骗性IP地址创建大量半开连接,或者从DDoS平台快速生成数百万个连接。您无需接收SYN|ACK个回复。您甚至不必关心服务器是否能够足够快地生成这些回复。

假设没有SYN cookie或其他防止半开连接的防御。