现在使用零碎的IP吗?

现在使用零碎的IP吗?

问题描述:

具有默认设置的Linux通过立即发送RST来拒绝ip碎片化的SYN,并且我尝试了使用ddos保护的antiddos云服务和托管提供程序,看起来他们完全忽略了这些数据包。现在使用零碎的IP吗?

我写antiddos过滤器,将处理使用NETMAP,不知道的10Gbit是安全的忽略这些零碎的IP数据包,也可以从合法用户出现?因为我不知道如何有效地重组和万兆速度,分组过滤

+0

我所看到的IP层分段用于大UDP数据包,但它在TCP使用? – user1940679

任何节点或路由器可以分段IPv4的PDU。奇怪的是TCP SYN消息可能被分割,因为没有选项,它的长度将是40个八位字节。但是,您可能需要查看RFC 7413: TCP Fast Open,它允许SYN和SYN/ACK消息传送数据。

在IPv6中只有源节点可以分段的PDU。

+0

任何路由器都可以,但实际上它是平常的事情吗?但是你给了我一个好主意,SYN不会被分割,其他数据包将被转发到知道如何重新组装它们的内核网络堆栈。 TCP有控制数据包大小的MSS选项,所以不应该被分割。当你试图在x86服务器上处理10gbit时,支持fastopen是不可能的,目前我使用预分配存储小状态的散列表,对于fopen数据,需要动态大小缓冲区,mem copy,管理在这样的速度下过于昂贵。 windows不支持它,所以它对http站点无用 – user1940679

+0

@ user1940679,我不明白10gbitE和fastopen之间的关系。你是否这样说,是因为你可以拥有巨大的MTU和巨型帧?否则,这只是第1层,不应该影响上层。我不明白你最后的评论,你是在创建自己的TCP实现还是在实现一个TCP连接管理器,稍后将控制权交给操作系统的TCP? – rodolk

+0

我正在实现类似synproxy的过滤器,它位于OS网络堆栈之前,并将有效的数据包转发给内核。如果系统将被随机大小的数据命中,你将需要将这些数据存储在某个地方一段时间,接受任何额外的syn数据是太cpu /内存昂贵,这增加了很多复杂性和实验性tcp扩展,甚至不支持99有%的用户不会遇到它。如果你被大量的随机ip包淹没,重新组装分段的数据包也是一项昂贵的任务,所以我问是否可以忽略它们,因为看起来像99.9%的tcp数据包没有被分割。 – user1940679