首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在UDP中MAC地址的正确性重要吗?

在UDP中MAC地址的正确性重要吗?
EN

Unix & Linux用户
提问于 2022-06-15 02:16:56
回答 1查看 113关注 0票数 0

事情是这样的,我使用了tcpdump并从生产环境中创建了一个UDP专用的pcap文件。

然后使用工具tcprewrite,将UDP数据包dst和MAC地址更新为vm2,src更新为vm1,src更新为00:00:00:00:00:00。我重新计算校验和。

然后我从tcpreplay中提取了精心构建的pcap文件,然后检查了vm2上的tcpdump,我看到vm2实际上得到了UDP数据包,但是src MAC被更新到了网络网关。

我使用gcloud,vm1和vm2在相同的子网中。

代码语言:javascript
复制
|-----|            |-----|
| vm1 | ---|gw|----| vm2 |
|-----|            |-----|

然后我在vm1上运行vm1,我看到UDP数据包作为MAC地址00:00:00:00:00:00发送,所以路由器(网关)接受它(尽管它是“错误的”)并更新该MAC并转发给vm2。

所以我发现,只要IP地址和数据包校验和是好的,MAC地址就不重要了,否则路由器为什么不放弃它呢?

EN

回答 1

Unix & Linux用户

发布于 2022-06-27 10:25:06

我是否正确理解vm1-gw连接有一个不同于vm2-gw的IP网络?

如果是这样的话,那么gw就像L3路由器一样工作。MAC地址是仅绑定到第二层的值,当数据包通过路由器时总是丢失。更改您描述的MAC地址是正常行为。路由器在这两个接口上都有不同的广播域。MAC地址仅在广播域中保持不变,其中L2层值,即MAC地址(ARP除外)足以进行通信。ARP协议将帮助广播域中的节点使用各自的IP地址查找彼此的MAC地址,然后节点之间的连接仅由MAC进行。

如果您想使用gw作为防火墙过滤不同IP网络之间的连接,则需要使用IP地址,而不是MAC。

如果你的意图不同,请澄清这个问题。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/706231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档