This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM623:关于子网

Guru**** 2332000 points
Other Parts Discussed in Thread: SK-AM62
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1514810/am623-about-subnet

器件型号:AM623
主题中讨论的其他器件:SK-AM62

工具/软件:

你(们)好

基于 SK-am62、在 sdk8.6过程中、两个网络被配置为相同的网段、发现192.168.1.100和192.168.1.200无法 ping 通这两个网卡。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1.请更新到较新的 SDK ,8.6已有几年的历史

    2.您运行的网络拓扑是什么,包括哪台设备具有什么 IP 地址

    3.在每个板上运行哪些命令

     Pekka

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我正在使用 tisdk-default-image-rt-am62xx-evm-8.6和10.01版本、并修改了/etc/systemd/network 下的配置文件、将 eth0配置为192.168.1.101、将 eth1配置为192.168.1.102。 使用计算机或其他 am62 IP 地址 ping eth0和 eth1时、我发现无法 ping 通它。 Linux 无法使用 ping-i 指定网卡。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    已修改/etc/systemd/network 下的配置文件、将 eth0配置为192.168.1.101、将 eth1配置为192.168.1.102。

    您是否将 eth0和 eth1都连接到同一台计算机(或另一个 AM62板)? 您是从受测器件 AM62板发送 Ping 数据包还是从计算机发送 Ping 数据包? ping -i 失败时您看到的日志是什么?  

    将两个以太网端口(eth0和 eth1)置于同一子网(例如192.168.1.x)上通常会导致 ping 问题、尤其是从 DUT/EVM 向主机/另一器件执行 ping 操作时。 这是因为在 ping 过程中、主机将发送 ARP 消息来查找 DUT/EVM 的 MAC 地址、并且由于 ARP 是广播消息、错误的接口可能会用其 MAC 地址进行响应、从而导致 ping 失败。

    请尝试将 eth0和 eth1的 IP 地址设置为不同的子网。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我通过计算机 ip1.210连接到 am62-EVM 1.101、并通过计算机 ip1.112连接到 am62-EVM 1.100。 我通过修改 IP 路由和 IP 规则实现了相同的子网、但测试发现它对 EtherCAT 产生了影响、这与新版本 SDK 中实时优化的最初目的背道而驰。 它是 Linux 系统不支持同一子网的功能吗? 如果修改网络管理、我是否能够在不影响实时性能的情况下实施相同的子网?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    它是不支持同一子网的 Linux 系统的功能吗? 如果修改网络管理、我是否能够在不影响实时性能的情况下实现同一子网?

    是否有将 eth0和 eth1都保留在同一子网上的特定要求?  

    将两个以太网端口(eth0和 eth1)位于同一子网上(例如192.168.1.x)通常会导致 ping 问题、尤其是当从 DUT/EVM ping 主机/另一台设备时。 这是因为在 ping 过程中、主机将发送 ARP 消息来查找 DUT/EVM 的 MAC 地址、并且由于 ARP 是广播消息、错误的接口可能会用其 MAC 地址响应、从而导致 ping 失败。

    根据我的理解、这不太可能是 Linux 的问题/特性、它只是 ping 的一个特性、它需要广播 ARP 消息来查找 MAC 地址、如果 eth0和 eth1都在同一子网上、ping 的结果可能会混淆应该响应的接口(eth0或 eth1)。 因此、我们不建议将 EVM 上的两个 eth 接口设置为同一子网。 据我所知、 通过 Wireshark 观察以太网数据包可以观察到这个确切问题。

    如果修改网络管理、我是否能够在不影响实时性能的情况下实现同一子网?

    我不完全理解这个问题。 无论实时性能如何或不需要实时、在 EVM 上的同一子网上使用两个 eth 接口都将导致 ping 问题。 请尝试在两个接口上设置两个 eth 接口  不同  子网、而不是同一子网。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否有将 eth0和 eth1都保留在同一子网上的特定要求?  [/报价]

    是的、该项目的客户提出了要求、我们需要提出解决方案。

    根据我的理解、这不太可能是 Linux 的问题/特性、它只是 ping 的一个功能、它需要广播 ARP 消息来查找 MAC 地址、如果 eth0和 eth1都在同一个子网上、ping 的结果可能会混淆哪个接口(eth0或 eth1)应该响应。 因此、我们不建议将 EVM 上的两个 eth 接口设置为同一子网。 据我所知、通过 Wireshark 观察以太网数据包可以观察到这个确切问题。

    我使用"route"命令发现了问题。 只有 eth0在同一子网内响应。 禁用 eth0后、eth1可以响应。 该工程需要 eth0和 eth1来执行 EtherCAT。 虽然我通过 IP 路由和 IP 规则实现了基于 IP 地址的路由策略、但我可以正确地响应 ARP 数据包、并且网络可以正常通信。 但是、在 EtherCAT 测试期间、仍然存在过度抖动和网络接口之间干扰等问题。 我使用 BuildRoot 来创建 rootfs。 网络管理应该是 ipupdown。 我认为在默认映像中、网络管理和 systemd 管理可以为相同的子网情况提供更好的支持。 现在我不知道如何解决这个问题。 非常感谢您的帮助。

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该工程需要 eth0和 eth1来执行 EtherCAT。

    EtherCAT 不是一种普遍使用 ARP 或 IP 堆栈的 LAN 技术。 EtherCAT 仅使用以太网第1层和第2层的某些部分、但不是 IEEE802.1Q 以太网。 因此、子网或 ping 等概念在 EtherCAT 网络中没有任何意义。

     Pekka

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、非常感谢您的帮助。 我将回复客户、表示目前无法实现。