ECN引起的KEPServerEX常见网络故障分析及解决方案

N3N312-2449 阅读0 评论

工业通讯中我们经常会碰到一些网络通讯问题,导致数据采集中断或者获取不到数据,今天我们就来浅聊一下因ECN引起的KEPServerEX常见通讯故障以及相应的故障处理方法。


什么是ECN?


ECN全称是显式拥塞通知(Explicit Congestion Notification),在IPV4数据包报头中占DS字段后两位。


ECN能做什么?


我们看一下常规TCP针对网络拥塞的应对:


常规TCP针对网络拥塞过程:


1.当网络中出现拥塞的时候,TCP/IP会丢包,在接收定时器超时后重传。


2.源端检测到丢包后,就会下调发送性能,降低传输速率来缓解拥塞。


3.拥塞缓解后TCP为了获得发送的最优性能,又继续扩大发送窗口,直到发现丢包,重复之前问题。


ECN通过TCP发送端和接收端以及中间路由器的配合,感知中间路径的拥塞。


在发送端和接收端成功协商ECN后,支持ECN的路由器就可以发生拥塞时在IP报头中设置一个标记,发出即将发生拥塞的信号,减缓TCP的发送速率,而不是直接丢弃数据包。从而从早期避免拥塞而导致的丢包,实现网络性能的最大利用。


ECN可以减少TCP的丢包数量,通过避免重传,减少了延迟,尤其是抖动,提升了应用的性能。


通讯问题分析:


KEPServerEX中遇到的ECN问题:


如果您遇到以下几个问题那可能就要考虑一下是不是由于ECN导致的通讯故障。


1. 在较旧的操作系统上可以通讯,但是使用较新的服务器反而读不到(网络端口都是通的)


2. 刚连接的时候可以读到数据,但是几分钟后数据状态变成BAD了


3. KEPServerEX事件日志中的设备无响应消息,但是网络及端口都是通的


4. Windows Server 2012系统上查看通讯诊断报文时没有TX/RX


注1:三菱、AB、Omron、Modbus等都可能遇到此问题。


注2:Microsoft在Windows 10、Windows Server 2012 和 Windows Server 2016 中默认在所有网络适配器上启用ECN。


那可能大家就有疑问了,前面不是说ECN可以减少丢包提升网络性能吗?那为什么还会导致出现问题呢?


一般在ECN使用上,需要发送端、接收端、路由器同时启用才可以正常工作。而一些较旧的设备会因为操纵标头而丢弃或拒绝数据包,导致无法进行数据通讯。


解决方案:


通常此时需要禁用计算机上的ECN来避免此问题


通过以下方式在机器上禁用ECN:


● 通过右键单击并选择以管理员身份运行来启动DOS 命令 提示符;


● 输入以下内容:netsh int tcp set global ecncapability=disabled然后按Enter


● 重新启动计算机


The End 微信扫一扫

文章声明:以上内容(如有图片或视频亦包括在内)除非注明,否则均为Net3C原创文章,转载或复制请以超链接形式并注明出处。
定制服务:需要定制服务请加V:Net3c_2022

上一篇 下一篇

相关阅读

发表评论

访客 访客
快捷回复: 表情:
评论列表 (暂无评论,49人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码