ip-fragmentation相关内容

更新分片数据包中的UDP校验和

我正在构建网络设备.我需要支持NAT和IP数据包分段.当我更改UDP数据包的源或目标地址时,我必须更正UDP校验和(以及IP校验和,但这很简单).当数据包被分段时,我必须收集所有分段以重新计算校验和.我知道旧地址和新地址.我想: 取消对校验和的求和 减去旧地址 添加新地址 减少总和并取反 此过程并不总是有效.有什么方法可以更新校验和,而不必从头开始重新计算? 我尝试过: ..
发布时间:2020-05-16 21:16:33 其他开发

ip碎片有多糟糕

据我所知,当发送ip消息时,be和我的数据包目的地之间的网络路径中的每一跳将检查下一跳的MTU是否大于我发送的数据包的大小。如果是这样,则数据包将被分段,并且两个数据包将分别发送到下一跳,仅在目的地重新组装(或者,在某些情况下,在遇到的第一个NAT路由器处)。 据我了解,这件事情可能很糟糕,但我真的不明白为什么。 我明白了如果连接倾向于丢弃大量数据包,丢失单个片段意味着我必须重新发送整个数 ..
发布时间:2018-09-26 14:26:54 其它硬件开发

是否有可能与libnetfilter_queue访问IP碎片

我使用 libnetfilter_queue 在C捕获数据包。我设置的iptable的规则来排队,后来被用户空间实现这样的处理传入的数据包:的iptables -A INPUT -j NFQUEUE --queue-NUM 0 。我用 nfqnl_test 例如作为一个框架,以实现捕获。一切都按预期工作。不过,我注意到,这是不可能去检查IP片段的水平的队列。也就是说,如果一个数据包中的片段来它被放 ..
发布时间:2016-08-25 09:19:44 服务器开发