我正在调试以太网通信问题。基本上使用 Wireshark 来监控源数据,当电缆被移除并随后重新连接时,流是间歇性的。
我希望制造商说他们的硬件在这种情况下不会停止传输。
我突然想到,由于被测系统的状态,大量 >1400 的有效载荷可能是 0x00。这是否会导致接收硬件出现问题,使传输出现断断续续的情况?
当时我所看到的只是头信息和已知固定数据的前几个字节是正确的。
我正在调试以太网通信问题。基本上使用 Wireshark 来监控源数据,当电缆被移除并随后重新连接时,流是间歇性的。
我希望制造商说他们的硬件在这种情况下不会停止传输。
我突然想到,由于被测系统的状态,大量 >1400 的有效载荷可能是 0x00。这是否会导致接收硬件出现问题,使传输出现断断续续的情况?
当时我所看到的只是头信息和已知固定数据的前几个字节是正确的。
沿以太网链路发送的数据总是以某种方式编码。数据通信和存储系统中相同逻辑电平的长序列引起的问题是众所周知的。解决方案是某种形式的编码,在这种情况下称为行编码。例如,10 Mbps 以太网使用曼彻斯特编码,将数据位编码为转换。例如,00000000 将作为 1010101010101010 发送。更快版本的以太网使用更高效的编码,包括 4/5b、8b/10b 和 64b/66b。
正确设计的线路代码通过确保另一端的接收器有足够的转换来跟踪位来防止此问题。现代线路代码非常好,但过去曾出现过设计不当的线路代码导致的问题。一个著名的例子是称为 SONET 的标准。SONET 中使用的线路代码使用 7 位 LFSR 来加扰数据。这被证明太短了,因此是可以预测的,因为恶意用户可以制作少量 IP 数据包,这些数据包在扰码器的所有可能状态之间循环,结果产生足够长的 1 或 0 字符串,导致接收器丢失锁定并中断链路,导致大量数据包丢失。现代行代码要么是完全确定的(因此不可能生成一长串 0 或 1,
不,测试数据中的大量零位不会导致以太网出现问题。您没有指定您使用的是哪种以太网变体,但在以太网变体上使用的不同编码方案处理连续零问题。
您可以搜索“以太网编码方案”以了解有关您的以太网变体中使用的特定编码方案的更多信息。
编辑:
我建议您聘请经验丰富的电缆安装人员和适当的测试设备来测试您的布线。在进行故障排除时,您应该始终从第 1 层开始,尤其是对于间歇性问题。
在数据流期间断开/重新连接电缆时的一个问题来源是接口被禁用,然后它必须重新初始化,可能需要自动协商,并且需要运行 ARP 以发现目标 MAC 地址。