我正在分析我们在现场拥有的服务器 (SCADA) 和远程终端单元 (RTU) 之间的一些通信问题。通讯是IEC104协议,使用TCP/IP。IEC104 协议有其如何编号机制。因此,当 IEC104 消息 (APDU) 丢失时,它会被检测到。
我们遇到的问题是,有时,来自 RTU 的 IEC104 APDU 丢失(编号中的漏洞),但底层 TCP 序列号是正确的。我用wireshark分析了这个。
连接正在通过几个路由器、防火墙和无线电。NAT 也曾一度被使用。
我试图找出问题是在 RTU 还是在网络中。
我对 TCP 协议的理解是它进行端到端的检查。连接的每一端都对 paquet 进行编号,并在每一端进行确认。如果是这种情况,则问题出在 RTU 和 IEC104 编号上。
我错了吗?是否存在网络上的设备(路由器、带有 NAT 的防火墙)可以重新编号 TCP 序列的情况?如果是这种情况,那么问题将出在网络上。在我看来,情况并非如此,因为路由器、防火墙在第 3 层(网络/IP)上工作。它不应该触及 TCP 层……但我不了解最新的创新 :)
有专家可以给点建议吗?
谢谢
亚历克斯