服务器半连接队列长度为1024,重试次数设为5次,重试间隔时间从1s开始每次都翻倍,请问需要构造多少个SYN请求包,足以占满半连接队列,从而使真正的连接无法建立
时间: 2023-06-01 21:02:57 浏览: 149
rabbitroutine:为您处理 RabbitMQ 自动重新连接和发布重试例程的轻量级库
半连接队列长度为1024,每个SYN请求包占用一个半连接队列位置,因此需要构造1024个SYN请求包才能占满半连接队列。
重试次数为5次,重试间隔时间从1s开始每次都翻倍,即第一次重试间隔为1s,第二次为2s,第三次为4s,第四次为8s,第五次为16s。
因此,每个SYN请求包需要重试5次,总共需要构造1024*5=5120个SYN请求包。
假设第一个SYN请求包发出后,需要等待1秒才能收到第一个RST响应包,那么第二个SYN请求包需要等待2秒,第三个SYN请求包需要等待4秒,以此类推。因此,构造5120个SYN请求包所需的时间为1+2+4+8+16+32+64+128+256+512+1024+2048+4096+8192+16384+32768+65536+131072+262144+524288+1048576+2097152+4194304+8388608+16777216+33554432+67108864+134217728+268435456+536870912+1073741824=2147483647秒,约为68年。
阅读全文