我正在尝试创建一个测试来验证 PHY 环回是否正常工作。用c语言在linux上开发。这基本上就是测试当前正在做的事情:
- 调出接口并确保它具有有效的 IP 地址
- 在 UDP 模式下创建两个套接字 (SOCK_DGRAM)
- 将两个套接字绑定到正在测试的特定接口
- 将传入套接字绑定到特定端口
- 使用 sendto 写入传出套接字,指定端口和 IP 地址
- 从传入的套接字读取
我遇到的问题是,无论是否启用环回,我总是在读回数据。该接口未连接到交换机,因此我不希望数据通过物理电缆返回。我怀疑堆栈会在数据到达 PHY 之前将数据路由回去。有什么方法可以确保数据包物理地从接口发送出去?