本说明书涉及工业控制领域,尤其涉及一种适用于工业控制的网络通信方法、系统及cpe设备。
背景技术:
1、cpe(customer premise equipment,客户前置设备)作为接入网设备,是网络通信的基础设施,其具备多种链路模式,可支持建立以太网链路、wifi链路、5g链路等物理连接,广泛应用于工业控制、家庭网关等领域。在工业控制领域,各类工业终端设备与远端cpe的lan口连接,用户可通过设置在机房的主机或者控制平台主动访问和控制远端cpe lan侧的终端设备。
2、然而基于wifi或者5g的无线链路易受信号覆盖、干扰等因素的影响,导致在实际工业环境中的通信经常出现报文延时、报文丢失等情况,无法满足工业控制领域中高稳定性、低延时的要求,而基于以太网的有线连接在很多工业环境中因基础条件不足而难以实现,例如煤矿等特殊工业环境,从而降低了与工业设备间的通信可靠性。与此同时,对核心网而言,远端的lan侧设备的网络地址是不可见的,为了使控制器能够主动访问远端的设备,需要进行复杂的网络配置,这也会导致网络的灵活性较差。并且,这种情况下的网络通信是基于三层(即ip层)网络的,无法实现与设备间的二层(即mac层)报文通信,然而,工业控制领域中有大量工业设备是基于plc(programmable logic controller,可编程逻辑控制器)而进行控制的,在一些情况下,需要与工业设备间进行二层通信,比如plc的二层发现等。
3、因此,从控制器侧访问远端的终端设备时,如何提供简单、高效且可靠的传输通道,同时还能满足二层通信的要求,是亟待解决的问题。
技术实现思路
1、本说明书实施例提供一种适用于工业控制的网络通信方法、系统及cpe设备,用于解决控制器与远端设备间的通信存在的通信时延大、可靠性低、网络复杂的技术问题。
2、为解决上述技术问题,本说明书实施例是这样实现的:
3、本说明书实施例提供一种适用于工业控制的网络通信方法,包括:
4、构建网络连接和二层隧道链路,包括:控制器与用户端cpe的lan口连接,终端设备与远端cpe的lan口连接,所述用户端cpe与所述远端cpe之间基于隧道协议创建二层隧道链路;
5、所述用户端cpe,接收所述控制器产生的针对目标终端设备的控制侧原始报文,在所述控制侧原始报文的二层报文中添加与所述隧道协议类型一致的隧道报文头,得到控制侧隧道报文,并将所述控制侧隧道报文通过所述二层隧道链路发送至所述远端cpe;
6、所述远端cpe,接收所述控制侧隧道报文,从所述控制侧隧道报文还原出所述控制侧原始报文的二层报文,并将所述二层报文发送至所述目标终端设备。
7、根据本说明书实施例的方法,所述用户端cpe与所述远端cpe之间基于隧道协议创建二层隧道链路包括:
8、所述用户端cpe与所述远端cpe之间基于5g链路、以太网链路、wifi链路中的一种或多种建立多条物理连接,在所述多条物理连接上基于隧道协议创建多条二层隧道链路。
9、根据本说明书实施例的方法,所述用户端cpe将所述控制侧隧道报文通过所述二层隧道链路发送至所述远端cpe,包括:
10、在检测到多个所述二层隧道链路的情况下,所述用户端cpe将所述控制侧隧道报文复制多份,分别通过多个所述二层隧道链路发送至所述远端cpe。
11、根据本说明书实施例的方法,所述远端cpe接收所述控制侧隧道报文,从所述控制侧隧道报文中还原出所述控制侧原始报文的二层报文后发送至所述目标终端设备,包括:
12、所述远端cpe通过多个所述二层隧道链路接收所述控制侧隧道报文,从最先接收的所述控制侧隧道报文中还原出所述控制侧原始报文的二层报文后发送至所述目标终端设备。
13、根据本说明书实施例的方法,所述方法还包括:所述远端cpe丢弃后接收的所述控制侧隧道报文。
14、根据本说明书实施例的方法,所述方法还包括:所述远端cpe接收所述终端设备产生的设备侧原始报文,对所述设备侧原始报文的二层报文添加与所述隧道协议类型一致的隧道报文头后得到设备侧隧道报文,并将所述设备侧隧道报文通过所述二层隧道链路发送至所述用户端cpe。
15、根据本说明书实施例的方法,在将所述控制侧隧道报文通过所述二层隧道链路发送至所述远端cpe之前,所述方法还包括:所述用户端cpe对所述控制侧隧道报文进行分片处理;在所述远端cpe接收所述隧道报文之后,所述方法还包括:所述远端cpe对所述控制侧隧道报文进行分片重组。具体而言,若控制侧隧道报文超出mtu(maximum transmissionunit,最大传输单元,即数据链路层能够传输的最大数据帧的大小),用户端cpe对该控制侧隧道报文进行分片处理。
16、根据本说明书实施例的方法,所述用户端cpe与所述远端cpe之间基于隧道协议创建二层隧道链路包括:
17、所述用户端cpe与所述远端cpe之间通过应用层socket技术创建二层隧道链路。
18、本说明书还提供了一种适用于工业控制的cpe设备,包括:
19、lan口模块,用于连接控制器或连接终端设备,接收与所述lan口连接的控制器或终端设备产生的第一原始报文,以及将接收后得到的第二原始报文发送至与所述lan口连接的控制器或终端设备;
20、链路模块,用于通过5g链路、以太网链路、wifi链路中一种或多种与对端cpe建立物理连接;
21、隧道模块,用于在所述物理连接上基于隧道协议建立与所述对端cpe之间的二层隧道链路;
22、报文模块,用于将所述第一原始报文封装为第一隧道报文,并通过所述二层隧道链路发送到对端cpe;以及将对端cpe发送的第二隧道报文还原为所述第二原始报文。
23、本说明书还提供了一种适用于工业控制的网络通信系统,包括:
24、控制器、用户端cpe、远端cpe和终端设备;
25、所述控制器与所述用户端cpe的lan口连接,所述终端设备与所述远端cpe的lan口连接,所述用户端cpe与所述远端cpe之间基于隧道协议创建二层隧道链路;
26、所述控制器,用于产生针对目标终端设备的控制侧原始报文;
27、所述用户端cpe,用于接收所述控制侧原始报文,在所述控制侧原始报文的二层报文中添加与所述隧道协议类型一致的隧道报文头,得到控制侧隧道报文,并将所述控制侧隧道报文通过所述二层隧道链路发送至所述远端cpe;
28、所述远端cpe,用于接收所述控制侧隧道报文,从所述控制侧隧道报文中还原出所述控制侧原始报文的二层报文,并将所述二层报文发送至所述目标终端设备。
29、本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过在控制器侧增设用户端cpe,在用户端cpe和远端cpe之间基于三层网络建立二层通信隧道,实现了从控制器主动访问终端设备的二层通信,满足了工业控制的特殊需求;基于隧道技术通过相同或者不同传输介质建立的多隧道链路发送报文,接收端优选最先到达的报文进行转发,在满足二层通信要求的同时改善了单链路通信过程中出现的偶发性报文延时大、报文丢失问题,提高了网络的稳定性和可靠性。