linux重复数据包,linux – 大规模数据包重复

精简版:

我们遇到了一个特定服务器接收大量数据包的问题.经过多次故障查找后,我们发现问题是由交换机将每个端口的数据包发送出去(即充当集线器),3个路由器正在反映数据包.当路由器反射数据包时,交换机将再次将数据包发送到每个其他端口,并且它们将再次被其他路由器反射回来.这将持续到TTL递减到0.我不明白为什么路由器正在发回数据包.路由器不应该丢弃数据包,因为dest mac地址与其mac地址不匹配吗?

长版:

假设有3个路由器(A,B和C)连接到交换机和我的VM.一个udp数据包将从路由器A到达我的VM.在这个阶段,TTL是60.交换机没有我的VM的mac地址,因此它会将数据包从每个其他端口溢出.路由器B和C接收数据包并看到IP地址在同一端口上,因此递减TTL并将数据包发送回同一端口.我们现在有2个TTL为59的数据包.交换机再次将2个数据包溢出并从其他2个路由器反射出来,因此我们最终获得了4个TTL为58的数据包.然后我们得到8个,57个,16个,56个等等,直到数据包开始被丢弃.我的VM一直在接收所有这些数据包的副本.因为VM只接收它,所以永远不会设法进入交换机的MAC表. ARP在这里有帮助,但它的超时大于mac表上的交换机超时.降低解决问题但问题仍然是路由器为什么反射数据包.据我所知,这不是标准行为.

编辑:来自wireshark捕获的详细信息(仅显示mac的最后2位数字):

MAC TTL

95 60

99 59

EC 59

95 58

EC 58

95 58

99 58

then 8 packets at 57 etc

看看它是如何从MAC地址以95结尾,然后从其他2个路由器反弹,那么这两个数据包再次从另一个2反弹以产生4个数据包?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值