CN109068328A - 安全网络通信方法、终端及系统 - Google Patents
安全网络通信方法、终端及系统 Download PDFInfo
- Publication number
- CN109068328A CN109068328A CN201811182738.9A CN201811182738A CN109068328A CN 109068328 A CN109068328 A CN 109068328A CN 201811182738 A CN201811182738 A CN 201811182738A CN 109068328 A CN109068328 A CN 109068328A
- Authority
- CN
- China
- Prior art keywords
- data frame
- data
- communication
- communication terminal
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/11—Allocation or use of connection identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/18—Management of setup rejection or failure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本发明提供的安全网络通信方法、终端及系统中,当第一通信终端接收到的第一DFLP信号(第二通信终端发出的)中携带有预设身份标识时,从预设寄存器中读取预设建立时长;并根据第一DFLP信号建立与第二通信终端之间的通信连接;当通信连接的建立在预设建立时长内未完成时,确定通信连接建立失败,由此提高了安全网络通信的时间确定性;而且,本发明提供了改进的全双工自协商功能,其可兼容标准的以太网自协商协议,由此提高了安全网络通信的智能性与灵活性;再者,本发明提供了基于状态的冗余通信协议以及确定的内存缓冲区溢出防护方案,由此提高了安全网络通信的行为确定性与空间确定性,从而全方位的提高了安全通信网络的确定性。
Description
技术领域
本发明涉及安全网络技术领域,更具体的说,涉及安全网络通信方法、终端及系统。
背景技术
安全关键系统(Safety Critical System)是指其不正确的功能或失效会导致人员伤亡、财产损失等严重后果的计算机系统。计算机网络技术已在安全关键系统的广泛应用,安全网络通信的确定性对保障系统安全(Safety)十分重要,一旦发生故障可能会引发严重的安全后果。
以太网是目前使用最广泛的局域网技术,具有高带宽、简单化和低成本的特点。但传统以太网的通信的确定性较差,难以满足安全关键系统对内部通信的要求。在提高安全网络的可靠性和确定性方面,发达国家在以太网和TCP/IP协议的基础上推出了一系列工业以太网协议,如HSE、MODBUS/TCP、EtherNet/IP、Profinet等,但这些网络协议所采用的通常是在传输层、数据链路层和物理层沿用以太网的原有机制,而在用户层或应用层再对数据的传输进行控制的较为折衷的解决方案,其并没有从实质上解决以太网通信确定性较差的问题。
因此,目前迫切需要一种切实有效的安全网络通信方案,以提高安全网络通信的确定性。
发明内容
有鉴于此,本发明提供了一种安全网络通信方法、终端及系统,以解决目前安全网络通信的确定性较差的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种安全网络通信方法,应用于第一通信终端;所述方法包括:
接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号;
当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长;
根据所述第一DFLP信号,建立与所述第二通信终端之间的通信连接;
当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败。
优选的,所述方法还包括:
向所述第二通信终端发出第二DFLP信号。
优选的,所述方法还包括:
当在预设接收等待时长内未接收到所述第一DFLP信号时,确定所述通信连接建立失败。
优选的,在所述接收第二通信终端发出的第一快速连接脉冲DFLP信号之后,所述方法还包括:
根据DFLP信号的编码格式,解析所述第一DFLP信号的技术能力域;
当所述第一DFLP信号的技术能力域中定义有所述预设身份标识时,确定所述第一DFLP信号中携带有所述预设身份标识。
优选的,所述方法还包括:
检测所述第一通信终端的工作模式、连接状态与建立时长;
当所述第一通信终端的工作模式为非全双工通信模式时,确定所述第一通信终端的工作模式异常;
当所述第一通信终端的连接状态表征所述通信连接的建立在所述预设建立时长内未完成时,确定所述第一通信终端的连接状态异常;
当所述第一通信终端的建立时长大于所述预设建立时长时,确定所述第一通信终端不满足设计要求。
优选的,在所述通信连接建立成功之后,所述方法还包括:
按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧;
按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧。
优选的,所述按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧包括:
在同一数据发送周期内,向所述第二通信终端多次发送同一第一数据帧。
优选的,在所述按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧之后,所述方法还包括:
根据预设数据帧格式对所述第二数据帧进行解析,得到所述第二数据帧的数据传输参数;
根据所述第二数据帧的数据传输参数,确定网络数据通信状态。
优选的,所述第二通信终端还用于在同一数据发送周期内向所述第一通信终端多次发送同一第二数据帧;所述数据传输参数至少包括:重传位、报文序列号与时间戳;所述根据所述第二数据帧的数据传输参数,确定网络数据通信状态包括:
当所述第二数据帧的重传位表征所述第二数据帧为重传帧时,确定所述第二数据帧对应的首帧是否正确;
当所述第二数据帧对应的首帧正确时,丢弃所述第二数据帧;
当所述第二数据帧对应的首帧不正确时,确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟;
当所述第二数据帧的报文序列号正常,且,所述第二数据帧的时间戳未延迟时,获取第二数据帧中的应用层数据;
当所述第二数据帧的报文序列号不正常,或,所述第二数据帧的时间戳有延迟时,丢弃所述第二数据帧,并确定网络数据通信异常;
当所述第二数据帧的重传位表征所述第二数据帧不是重传帧时,直接执行所述确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟的步骤。
优选的,所述数据传输参数至少还包括:目标地址、源地址、协议类型与校验码;所述根据所述第二数据帧的数据传输参数,确定网络数据通信状态还包括:
当所述第二数据帧的校验码、目的地址、源地址与协议类型中任一项有误时,丢弃所述第二数据帧,并确定网络数据通信异常。
优选的,在所述按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧之后,所述方法还包括:
统计接收到的网络数据帧的累计长度;
当所述累计长度超出内存缓冲区的容量时,生成表征所述内存缓冲区容量不足的报警信息,并清除网络芯片中的多余数据帧;其中,所述内存缓冲区的容量是依据预期数据量预先设定的固定值;
检测所述内存缓冲区尾端的特殊标志字;
当检测到所述特殊标志字被修改时,生成表征所述内存缓冲区异常的故障信息。
优选的,所述方法还包括:
当所述累计长度未超过所述内存缓冲区的容量时,将所述第二数据帧存储至所述内存缓冲区,并对所述第二数据帧进行诊断处理;
读取所述第二数据帧;
当所述第二数据帧的读取结果为空时,执行所述检测所述内存缓冲区尾端的特殊标志字的步骤。
优选的,所述方法还包括:
当所述第二数据帧的读取结果不为空时,确定预期数据帧是否读取完成;
当所述预期数据帧读取完成时,清除所述网络芯片中的多余数据帧,并执行所述检测所述内存缓冲区尾端的特殊标志字的步骤;
当所述预期数据帧未读取完成时,返回执行所述接收所述第二通信终端发出的第二数据帧的步骤。
一种安全网络通信终端,所述终端包括:信号收发单元与网络建立单元;
所述信号收发单元,用于接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号;
所述网络建立单元,用于当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长;根据所述第一DFLP信号,建立与所述第二通信终端之间的通信连接;当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败。
优选的,所述终端还包括:数据收发单元;
所述数据收发单元,用于在所述通信连接建立成功之后,按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧;按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧。
优选的,所述终端还包括:通信诊断单元;
所述通信诊断单元,用于根据预设数据帧格式对所述第二数据帧进行解析,得到所述第二数据帧的数据传输参数;根据所述第二数据帧的数据传输参数,确定网络数据通信状态。
优选的,所述第二通信终端还用于在同一数据发送周期内向所述第一通信终端多次发送同一第二数据帧;所述数据传输参数至少包括:重传位、报文序列号与时间戳;所述通信诊断单元具体用于:
当所述第二数据帧的重传位表征所述第二数据帧为重传帧时,确定所述第二数据帧对应的首帧是否正确;
当所述第二数据帧对应的首帧正确时,丢弃所述第二数据帧;
当所述第二数据帧对应的首帧不正确时,确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟;
当所述第二数据帧的报文序列号正常,且,所述第二数据帧的时间戳未延迟时,获取第二数据帧中的应用层数据;
当所述第二数据帧的报文序列号不正常,或,所述第二数据帧的时间戳有延迟时,丢弃所述第二数据帧,并确定网络数据通信异常;
当所述第二数据帧的重传位表征所述第二数据帧不是重传帧时,直接执行所述确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟的步骤。
优选的,所述数据传输参数至少还包括:目标地址、源地址、协议类型与校验码;所述通信诊断单元具体还用于:
当所述第二数据帧的校验码、目的地址、源地址与协议类型中任一项有误时,丢弃所述第二数据帧,并确定网络数据通信异常。
优选的,所述终端还包括:缓冲区检测单元;所述缓冲区检测单元用于:
在所述按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧之后,统计接收到的网络数据帧的累计长度;
当所述累计长度超出内存缓冲区的容量时,生成表征所述内存缓冲区容量不足的报警信息,并清除网络芯片中的多余数据帧;其中,所述内存缓冲区的容量是依据预期数据量预先设定的固定值;
检测所述内存缓冲区尾端的特殊标志字;
当检测到所述特殊标志字被修改时,生成表征所述内存缓冲区异常的故障信息。
一种安全网络通信系统,其特征在于,所述系统包括:至少两个如前述所述的安全网络通信终端。
从上述的技术方案可以看出,本发明提供的安全网络通信方法,应用于第一通信终端,接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号,当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长,在根据所述第一DFLP信号建立与所述第二通信终端之间的通信连接时,基于预设建立时长对通信连接的建立时长进行监控,并当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败,从而在预设建立时长内一定能够确定出网络连接是否建立成功,从而在时间确定性维度上提高了安全网络通信的确定性。
其次,本发明提供的安全网络通信方法,按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧;并按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧,使数据收发过程均不依赖对端的行为,从而保证了通信收发行为的确定性,从而在行为确定性维度上提高了安全网络通信的确定性。
再者,本发明提供的安全网络通信方法,采用预先设定的固定大小的内存缓冲区和尾端特殊标志字设置的设计,对数据缓存过程进行控制,保证了所使用的内存空间确定性,从而在空间确定性维度上提高了安全网络通信的确定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的安全网络通信方法的一种流程图;
图2为本发明实施例提供的FLP信号脉冲群格式及编码方式的示意图;
图3为本发明实施例提供的FLP信号的基本页信息编码的示意图;
图4为本发明实施例提供的FLP和NLP的波形对比图;
图5为本发明实施例提供的基于确定状态的通信机制的示意图;
图6为本发明实施例提供的安全网络通信方法的另一种流程图;
图7为本发明实施例提供的预设数据帧格式的示意图;
图8为本发明实施例提供的安全网络通信方法的又一种流程图;
图9为本发明实施例提供的安全网络通信方法的再一种流程图;
图10为本发明实施例提供的协议实例模型;
图11为本发明实施例提供的安全网络通信终端的结构示意图;
图12为本发明实施例提供的安全网络通信系统的结构示意图;
图13为本申请实施例提供的安全网络通信系统的整体架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以太网是目前使用最广泛的局域网技术,具有高带宽、简单化和低成本的特点。但传统以太网所采用的事件触发(Event Triggered)通信方式和CSMA/CD(载波监听多路访问及冲突检测)竞争访问策略,导致通信的确定性较差,难以满足安全关键系统对内部通信的要求。
网络确定性主要表现在三个主要方面,即时间确定、空间确定和行为确定。时间确定是指一旦传输,网络在预定的时间内确定能完成数据传输,或对不能完成传输给出及时的诊断信息;空间确定是指网络协议所使用的最大内存空间是确定的,不能超出给定的容量,即其占用内存区都是可预期的;行为确定指网络按预先给定的方式执行数据传输功能,不会意外重发包,不会插入其它非法数据包、预防有伪装的数据夹带传输,甚至该发送的包不发送。因此,本发明提供了以下的安全网络通信方法、终端及系统,旨在解决目前安全网络的确定性较差的技术问题,以满足安全关键系统通信方面的要求。
本发明采用FPGA(Field-Programmable Gate Array,现场可编程门阵列)技术来实现满足时间确定性要求的物理层和数据链路层协议,实现全双工自协商功能,同时可兼容标准以太网自协商功能。
请参阅图1~4,图1为本发明实施例提供的安全网络通信方法的一种流程图。
本发明的安全网络通信方法,应用于第一通信终端,所述第一通信终端可与其他通信终端建立通信连接,以实现第一通信终端与其他通信终端之间的数据传输。
如图1所示,所述安全网络通信方法可包括:
S101:接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号。
以太网自协商是通过一种叫做快速连接脉冲(Fast Link Pulse)的信号来实现的,简称FLP。DFLP信号是一种兼容快速连接脉冲FLP信号的自定义的FLP信号。自协商的双方均通过DFLP信号来交换数据。也就是说,本发明的第一通信终端,不仅会接收第二通信终端发出的第一DFLP信号,而且会向第二通信终端发出第二DFLP信号。其中,第一DFLP信号是指第二通信终端发出的DFLP信号,第二DFLP信号是指第一通信终端发出的DFLP信号。第二通信终端是与第一通信终端不同的其他通信终端。
FLP信号中包含一系列连接整合性测试脉冲组成的时钟/数字序列,将这些数据从中提取出来就可以得到对端设备所支持的工作模式以及一些用于协商握手机制的相关信息。其中,FLP信号的脉冲群格式可参见图2所示。
在具备自协商能力的端口没有连接(Link)的情况下,该端口会一直发送FLP信号,并在发送的FLP信号中包含着自身的连接能力信息,例如,支持的速率能力、双工能力、流控能力等。FLP信号中的编码方式也可参见图2所示。
FLP信号依靠脉冲位置编码携带数据。一个FLP信号的突发(Burst)包含33个脉冲位置,其中17个奇数位置脉冲为时钟脉冲,时钟脉冲总是存在的;其中16个偶数位置脉冲用来表示数据,例如,此位置有脉冲则表示数值1,此位置没有脉冲表示数值0。这样1个FPL信号的突发就可以传输16bit的数据。自协商交互数据就这样通过物理线路被传输。
FLP信号的信息编码可以分为两类,一类是基本连接码字(基本页),支持基本的信息的交换;另一类是下一页码字,以支持附加信息页的交换。FLP信号的基本页信息编码可参见图3所示。在图3所示的FLP信号的基本页信息编码中,可以看出,FLP信号包括选择域(Selector Field)与技术能力域(Technology Ability Field)。
选择域(Selector Field):S[0:4]用于标识自协商消息的类型。目前已定义的类型可如下表1所示,所有未列出的组合的意义均保留。
表1 FLP信号的选择域信息
技术能力域(Technology Ability Field):A[0:7]用于描述本端网络接口所支持的各种工作模式。不同的选择域类型对应不同的技术能力域定义。下面表2给出了IEEE802.3标准下定义的各种技术能力及其编码。
表2 FLP信号的技术能力域
本发明采用FPGA技术实现标准的以太网自协商功能设计,具体可包括以下方面:
1)、如果两端都支持自协商,则两端都会接收到对方的FLP,并且把FLP中的信息解码出来,得到对方的连接能力。并且把对端的自协商能力值记录在自协商对端能力寄存器中(Auto-Negotiation Link Partner Ability Register,PHY标准寄存器地址5)。同时把状态寄存器(PHY标准寄存器地址1)的自协商完成bit(bit5)置成1。在自协商未完成的情况下,这个bit一直为0。
2)、然后各自根据自己和对方的最大连接能力,选择最好的连接方式连接(Link)。比如,如果双方都即支持10M也支持100M,则速率按照100M连接;双方都即支持全双工也支持半双工,则按照全双工连接。
一旦连接建立后,双方的FLP信号就停止发送,直到链路中断,或者得到自协商重启(Restart)命令时,才会再次发送FLP信号。
3)、并行检测。为了保证在对端不能支持自协商的情况下也能连接,引入了被称为并行检测(Parallel Detection)的机制。在一端打开自协商,另一端关闭自协商的情况下,连接的建立就依靠并行检测功能实现。
并行检测机制:在具有自协商能力的设备端口上,如果接收不到FLP信号,则检测是否有10M链路的特征信号或100M链路的特征信号。
如果设备是10M设备,不支持自协商,则在链路上发送普通连接脉冲(Normal LinkPulse)简称NLP。NLP信号仅仅表示设备在位,不包含其它的额外信息。NLP脉冲波形要比FLP简单,它只是在没有数据帧发送时每隔16ms发送一次正脉冲。FLP Burst信号和NLPs信号的波形对比可参见图4所示。
如果是100M设备,不支持自协商,则在没有数据的情况下,在链路上一直发送4B/5B编码的Idle符号。
并行检测机制如果检测到NLP信号,则知道对方支持10M速率;如果检测到4B/5B编码的Idle符号,则知道对方支持100M速率。但是对方是否支持全双工,以及是否支持流控帧这些信息是无法得到的。因此,在这种情况下,判定对方只支持半双工,不支持全双工,且不支持流控帧。
按照802.3协议规定,通过并行检测建立连接后,PHY的状态寄存器(PHY标准寄存器地址1)的自协商完成bit(bit5)依然要置位成1。同时规定在自协商完成bit为1的情况下,本地自协商能力寄存器(PHY标准寄存器地址4)和对端自协商能力寄存器(PHY标准寄存器地址5)是有意义的。所以,要把寄存器5中的数据更新。如果建立的连接为10M,则寄存器5的10M能力bit(bit5)置1,其它bit置0,表示对端只能支持10M半双工;如果建立的连接为100M,则寄存器5的100M能力bit(bit7)置1,其它bit置0,表示对端只能支持100M半双工。
S102:当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长。
本发明采用FPGA技术,除了实现上述以太网自协商的标准设计外,还设计了兼容标准格式的自定义身份标识的链路连接脉冲DFLP(self-Defined FLP,自定义FLP),并相应增加了独立时钟电路和链路建立时间配置接口。
DFLP信号脉冲除了兼容标准以太网的测试脉冲外,还包含了预设身份标识,可以说,DFLP是一种自定义的FLP信号。DFLP信号的基本页选择域与标准FLP的基本页选择域一致,但是,DFLP信号在技术能力域(Technology Ability Field)的A[6:7]中定义了新的内容,具体如下表3所示。
表3 DFLP信号的技术能力域新增内容
当第一通信终端与第二通信终端之间的通信连接尚未建立的时候,第一通信终端的网络端口会向外部发送DFLP信号(第二DFLP信号),同时也会接收来自第二通信终端的的DFLP信号(第一DFLP信号)。
本发明在第一通信终端的FPGA处理器中增加了连接建立时间寄存器(也即,预设寄存器),以提供用户设置连接建立过程允许的最大时长,作为预设建立时长,其单位可以为微秒。
一示例中,第一通信终端在接收第二通信终端发出的第一DFLP信号之后,该方法还可包括:
a1、根据DFLP信号的编码格式,解析所述第一DFLP信号的技术能力域;
a2、当所述第一DFLP信号的技术能力域中定义有所述预设身份标识时,确定所述第一DFLP信号中携带有所述预设身份标识。
若A[6:7]字段未定义,则表示第一通信终端接收到的DFLP信号为通用FLP,第一通信终端的FPGA按标准自协商方式进行工作模式协商。
若A[6:7]字段被定义为上述DFLP,则第一通信终端读取预设寄存器来获取预设建立时长,并基于预设建立时长来监控通信连接的建立过程。
S103:根据所述第一DFLP信号,建立与所述第二通信终端之间的通信连接。
在根据第一DFLP信号建立与所述第二通信终端之间的通信连接的过程中,可从第一DFLP信号中获取第二通信终端的最大连接能力信息,并根据自己和第二通信终端的最大连接能力,选择最好的连接方式,与第二通信终端建立通信连接。
S104:当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败。
例如,若一次建立未完成,则双方重发DFLP,但若在预设建立时长(例如,100ms)内一直未完成该通信连接的建立,则在MII接口(即MAC层和物理层之间传送数据和控制状态等信息的接口)设置连接故障状态(Link Status),以表明通信连接建立失败,这样通信双方就能够在确定时间内获取到当前连接状态并进行故障反馈,避免不确定时间地延时等待过程。
一示例中,该方法还包括:当在预设接收等待时长内未接收到所述第一DFLP信号时,确定所述通信连接建立失败。
其中,预设接收等待时长,可以具体是指前述的预设建立时长,也可以是另外设置的时长。
例如,当第一通信终端与第二通信终端在建立通信连接后至少一方重启上电,并进入初始状态时,则开始等待100ms(预设接收等待时长),若在100ms内等不到对端的DFLP信号,则确定通信连接建立失败;或者,当第一通信终端与第二通信终端在建立通信连接后至少一方发生故障时,开始等待100ms(预设接收等待时长),若在100ms内等不到对端的DFLP信号,则确定通信连接建立失败。
另一方面,在等到DFLP信号之后后,若在100ms(预设建立时长)内未完成通信连接的建立过程,则确定通信连接建立失败,从而在建立通信连接方面保证200ms内的时间确定性。
一示例中,本发明还提供了FPGA网络模块的自诊断功能。该功能可包括:
①读取寄存器获取工作模式,若读取到的工作模式不是全双工通信模式,则报警并进入故障处理环节,停止相应通信端口的功能。
②读取寄存器获取Link状态,若未在规定时间内建立通信连接,则报警并提示通信链路异常。同时,上层设计可根据该报警信号进行相应的异常处理。
③对于通信链路状况较好的点对点网络,如发现未按预期时间完成通信时间建立,理论上设备未满足设计要求,应立即维修并排查错误。
相应的,本发明的安全网络通信方法还包括网络模块自诊断流程,所述网络模块自诊断流程具体可包括:
b1、检测所述第一通信终端的工作模式、连接状态与建立时长;
b2、当所述第一通信终端的工作模式为非全双工通信模式时,确定所述第一通信终端的工作模式异常;
b3、当所述第一通信终端的连接状态表征所述通信连接的建立在所述预设建立时长内未完成时,确定所述第一通信终端的连接状态异常;
b4、当所述第一通信终端的建立时长大于所述预设建立时长时,确定所述第一通信终端不满足设计要求。
通过以上设计,可以进一步保证安全网络通信在通信连接建立方面的时间确定性。
传统的基于以太网802.3端口协商及数据链路层设计个体间连接时间差异很大,即使同一型号同一批次产品,不同个体有的能在200ms能完成连接,但有的甚至需要5s,缺乏确定性方面的控制和诊断,这给通信连接建立时间的实时性和确定性及故障判断带来影响,尤其是对网络故障后通信恢复的确定性设计带来干扰,在实时性要求很高的系统中影响更大,设备通信链路建立及故障后恢复确定性不足。
本发明在兼容标准以太网自协商功能的基础上,改进物理层和数据链路层设计,增加独立时钟电路、计时模块、诊断模块和建立时间配置接口(Link time寄存器)。设计了一种兼容标准以太网的自定义身份链路连接脉冲DFLP。一旦确定对端也是采用该脉冲,自协商功能将在预设建立时长内完成工作模式匹配和链路建立工作。若不能如期完成,则上报通信物理层出现异常。本发明采用物理层协议设计,在兼容以太网802.3的基础上,使通信链路建立时长稳定在预设建立时长内,为网络建立时间和通信故障后恢复的实时性和确定性提供了有力保障。
本实施例提供的安全网络通信方法,应用于第一通信终端,接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号,当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长,在根据所述第一DFLP信号建立与所述第二通信终端之间的通信连接时,基于预设建立时长对通信连接的建立时长进行监控,当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败,从而在预设建立时长内一定能够确定出网络连接是否建立成功,从而在时间确定性维度上提高了安全网络通信的确定性。
请参阅图5~6,图6为本发明实施例提供的安全网络通信方法的另一种流程图。
本实施例提供的安全网络通信方法主要描述的是通信连接建立成功之后的应用场景,同样可应用于第一通信终端。本发明的应用层协议采用基于状态的通信机制,即只要物理层链路连接,不管对端状态如何,都按固定方式向接收端发送数据,具体地,发送端可按照固定时长的数据发送周期向接收端发送数据帧,并且还可以在同一数据发送周期内向接收端多次发送同一数据帧(如图5所示)。
如图6所示,所述安全网络通信方法可包括:
S201:按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧。
其中,可以在同一数据发送周期内,向所述第二通信终端多次发送同一第一数据帧。例如,在同一数据发送周期内,向所述第二通信终端两次发送同一第一数据帧。
其中,所述第一数据帧为,所述第一通信终端按照固定时长的数据发送周期向所述第二通信终端发送的数据帧。
S202:按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧。
其中,所述第二数据帧为,所述第二通信终端按照固定时长的数据发送周期向所述第一通信终端发送的数据帧。
具体地,所述第二通信终端可用于在同一数据发送周期内向所述第一通信终端多次发送同一第二数据帧。例如,所述第二通信终端可用于在同一数据发送周期内向所述第一通信终端两次发送同一第二数据帧。
在传统的呼叫/应答机制中,没有呼叫就没有应答,在安全通信网络中往往要保证数据要确保地在规定的时间传输,发送方要保证不受干扰地发送数据以实现安全功能。而呼叫/应答机制自身造成通信双方行为不确定,不能很好满足安全关键系统对网络确定性的要求。也就是说,基于事件的呼叫/应答机制不能保证通信行为的确定性。
本实施例提供的安全网络通信方法,采用基于确定状态的冗余通信(重发)方式,按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧;并按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧,而不是基于请求/应答的通信机制,本发明的数据收发均不依赖对方的行为,在正常通信周期内,不管对方如何,都按既定程序发送与接收数据,自身行为是可预期的,保证了通信收发功能的行为是确定的,并且采用重发机制以提高通信可靠性,解决了TCP/IP协议基于事件的呼叫/应答机制带来的不确定问题,从而在行为确定性维度上提高了安全网络通信的确定性。
请参阅图7~8,图8为本发明实施例提供的安全网络通信方法的又一种流程图。
本实施例中,在所述按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧之后,可以根据预设数据帧格式对所述第二数据帧进行解析,得到所述第二数据帧的数据传输参数;根据所述第二数据帧的数据传输参数,确定网络数据通信状态。
大量研究表明(IEC 61784),网络通信通常有八种传输错误:报文破坏、非预期报文重复、报文顺序错序、报文丢失、报文延时、报文插入、伪装报文、错误寻址。为了提高通信可靠性和信息安全,本发明采用自定义的预设数据帧格式并加以诊断来实现高可靠通信协议,预设数据帧格式可参见图7所示,其中包括:
①引入约定的MAC地址(目的地址、源地址),可有效预防无效插入、伪装报文、寻址错误。当识别未按约定MAC地址的数据帧,系统将过滤该数据并报警。
②使用协议类型特有标识,增加安全性。该标识为特有的加密算法,和一些协议帧动态字段相关,若解密失败,则直接舍弃该帧。
③冗余重传机制,在协议帧中增加重传位,标识首传帧和重传帧。
每个时间周期发送这两帧,除重传位其它数据一致。接收方如首帧正确则直接取用,扔掉重传帧。如首帧不正确,则检查重传帧,正确则取用,不正确则判定帧错误并上报。通过重传机制,可以大大提高通信的可靠性,同时也解决请求/应答机制所带来传输延时。
④引入报文序列号字段,根据序列号之间的关系,检查丢包,错序,逆序,无效插入通信错误。
⑤引入时间戳字段,用以检查延迟超时错误。
⑥采用了软件32位数据校验码CRC,检查数据有无被破坏,提高传输的残差率控制。
相应的,如图8所示,所述安全网络通信方法可包括:
S301:接收第二数据帧并存储至内存缓冲区。
第一通信终端中的内存缓冲区可用于存储接收到的网络数据帧。首先,按照固定时长的数据接收周期接收所述第二通信终端发送的第二数据帧,然后根据预设数据帧格式对所述第二数据帧进行解析,得到所述第二数据帧的数据传输参数。
其中,所述数据传输参数可包括:目标地址、源地址、协议类型与校验码。
S302:判断第二数据帧的校验码是否正确,若是,执行S303;若否,执行S311。
S303:判断第二数据帧的目的地址与源地址是否正确,若是,执行S304;若否,执行S311。
S304:判断第二数据帧的协议类型是否正确,若是,执行S305;若否,执行S311。
其中,所述数据传输参数还可包括:重传位、报文序列号与时间戳。
S305:判断第二数据帧是否为重传帧,若是,执行S306;若否,执行S307;
其中,具体可通过第二数据帧的重传位来判断第二数据帧是否为重传帧,例如,若第二数据帧的重传位的值为1,则判定第二数据帧为重传帧;若第二数据帧的重传位的值为0,则判定第二数据帧不是重传帧。
S306:判断第二数据帧对应的首帧是否正确,若是,执行S310;若否,执行S307。
当所述第二数据帧的重传位表征所述第二数据帧为重传帧时,确定所述第二数据帧对应的首帧是否正确。
第二数据帧对应的首帧,是指首次接收到的第二数据帧。
S307:判断第二数据帧的报文序号是否正常,若是,执行S308;若否,执行S311。
S308:判断第二数据帧的时间戳是否未延迟,若是,执行步骤S309;若否,执行步骤S311。
当所述第二数据帧对应的首帧不正确时,确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟。
并且,当所述第二数据帧的重传位表征所述第二数据帧不是重传帧时,直接执行所述确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟的步骤。
S309:获取应用层数据。
当所述第二数据帧的报文序列号正常,且,所述第二数据帧的时间戳未延迟时,获取第二数据帧中的应用层数据。
S310:丢弃重传帧。
当所述第二数据帧对应的首帧正确时,丢弃所述第二数据帧(即本次的重传帧)。
S311:丢失第二数据帧,并执行S312。
本实施例中,根据所述第二数据帧的数据传输参数,确定网络数据通信状态可包括:当所述第二数据帧的校验码、目的地址、源地址与协议类型中任一项有误时,丢弃所述第二数据帧,并确定网络数据通信异常。
并且,当所述第二数据帧的报文序列号不正常,或,所述第二数据帧的时间戳有延迟时,丢弃所述第二数据帧,并确定网络数据通信异常。
S312:上报报警信息。
在确定网络数据通信异常后,可上报与之对应的报警信息,以便工作人员及时发现问题。
其中,步骤S302-S305、S307-S308的判断逻辑的先后顺序可以根据具体需求灵活调整,并不局限于前面所描述的先后顺序。
本实施例提供的安全网络通信方法,采用简洁可靠的基于状态的通信机制保证通信行为的确定性,发送方和接收方按自身既定的功能进行数据收发,而且,采用自定义的预设数据帧格式和自诊断技术,该帧覆盖了检查通信错误的精简字段集,并提出完整的自诊断对8中网络通信错误进行全覆盖检查,如检查源地址、目标地址、协议类型、报文序列号、时间戳、校验码,从而保证了网络通信的安全性和可靠性。
安全系统中的安全网络协议要保障安全、可靠地传输数据,过程中识别数据是否完整、正确。目前利用网络协议漏洞进行网络攻击屡见不鲜,其中攻击内存缓冲区溢出是一种常见手段。顾名思义,缓冲区溢出的含义是为缓冲区提供了多于其存储容量的数据。通常情况下,缓冲区溢出的数据只会破坏程序数据,造成意外终止。但是如果有人精心构造溢出数据的内容,那么就有可能获得系统的控制权,造成目标主机死机、瘫痪、数据被篡改等情况。
请参阅图9,图9为本发明实施例提供的安全网络通信方法的再一种流程图。
本实施例中,提供了一种预先设定固定大小的内存缓冲区,并在该内存缓冲区尾端设置特殊标志字,该内存缓冲区采用循环队列,从存储机制上消除内存缓冲区溢出的影响。该内存缓冲区的设置内容具体可包括:
i、根据预期数据量为每个通信端口准备一块固定大小的内存块,作为内存缓冲区;
ii、在该内存缓冲区尾端设置特殊标志字;
iii、每个通信端口周期性地接收数据帧时,进行长度和内容正确性检查。当报文总长度超出规定长度(缓冲区长度-尾端特殊标志字长度)时,结束数据的接收并报警;
iv、为了确保缓冲区未溢出,接收数据功能完成后,检查缓冲区最尾端特殊标志字是否被修改。如修改,表示缓冲区溢出且软件程序出现异常(正常情况是不可能溢出),进入故障状态(不仅仅报警)。
本实施例提供的安全网络通信方法,可应用于第一通信终端,如图9所示,所述安全网络通信方法可包括:
S401:读取新数据帧并获取其长度。
在接收所述第二通信终端发出的第二数据帧之后,可以先读取第二数据帧并获取其长度,从而统计出接收到的网络数据帧的累计长度。
S402:判断累计长度是否超出内存缓冲区容量,若否,则执行S403,若是,执行S407。
其中,所述内存缓冲区的容量是依据预期数据量预先设定的固定值。
S403:对新数据帧进行诊断处理,诊断处理结束后执行S404。
当所述累计长度未超过所述内存缓冲区的容量时,将所述第二数据帧存储至所述内存缓冲区,并对所述第二数据帧进行诊断处理。其中,所述诊断处理可以是指前述实施例中的S301-S312的过程。
S404:判断新数据帧是否读空,若是,执行S409,若否,执行S405。
在对第二数据帧进行诊断处理后,会自动读取所述第二数据帧;当所述第二数据帧的读取结果为空时,执行所述检测所述内存缓冲区尾端的特殊标志字的步骤。
S405:判断预期数据是否读取完成,若否,则执行S401;若是,执行S406。
当所述第二数据帧的读取结果不为空时,确定预期数据帧是否读取完成;当所述预期数据帧未读取完成时,返回执行所述接收所述第二通信终端发出的第二数据帧的步骤,以继续接收新的数据帧,直至预期数据帧读取完成。
当所述第二数据帧的读取结果为空时,执行所述检测所述内存缓冲区尾端的特殊标志字的步骤。
S406:清除网络芯片的多余数据帧,并执行S409。
当所述预期数据帧读取完成时,清除所述网络芯片中的多余数据帧,并执行所述检测所述内存缓冲区尾端的特殊标志字的步骤。
S407:上报报警信息,并执行S408。
S408:清除网络芯片的多余数据帧,并执行S409。
当所述累计长度超出内存缓冲区的容量时,生成表征所述内存缓冲区容量不足的报警信息,并清除网络芯片中的多余数据帧。
S409:读取内存缓冲区尾端特征标志字。
S410:判断特殊标志字是否被修改,若是,执行S411;若否,则结束流程。
通过检测所述内存缓冲区尾端的特殊标志字,来判断其特殊标志字是否被修改。
当检测到所述特殊标志字未被修改时,结束流程。
S411:上报故障信息,并结束流程。
当检测到所述特殊标志字被修改时,生成表征所述内存缓冲区异常的故障信息。
其中,报警信息与故障信息的级别不同,报警信息表示目前情况不会影响系统正常执行;故障信息表示系统软件出现重大错误,系统运行变得不再可信,目前需要及时进行故障处理。
本实施例提供的安全网络通信方法中,采用预先设定的固定大小的内存缓冲区和尾端特殊标志字设置的设计,一方面满足了确定性要求,即通过缓冲区最大长度的控制,保证了所使用的内存空间确定性,并控制了数据传输的时间(系统不会无原则地不停接收非预期的数据)。另外通过检查尾端特殊标志字是否修改,进一步确保缓冲区是否溢出,避免软件出现内存不足或缓冲区溢问题,提高了系统的可靠性和安全性。
本发明对应于安全网络通信方案,提供了一种协议实例模型,如图10所示。该协议模型中采用三层协议,物理层和数据链路层采用FPGA技术实现,兼容标准以太网物理层和数据链路层。应用层采用自定义协议帧,通过自诊断功能,可以覆盖8种网络错误。该实例可应用于实时性和安全性高的通信领域。
依据前述实施例的内容,本发明还提出一种通信协议帧实例,具体描述如下表4所示。
表4通信协议帧实例
上述帧定义采用的安全措施对传输错误的控制覆盖情况,可如下表5所示:
表5安全措施对传输错误的覆盖情况表
从上表可以看出,本协议做到了标准中所指出的8种网络错误诊断全覆盖。
本发明针对当前基于工业以太网的通信协议机制中存在不确定的问题,设计了一套实现时间确定性、空间确定性、行为确定性的通信协议,同时加入可靠性和信息安全防护设计,从而能够有效保证安全关键系统网络通信的安全性和可靠性。
本发明实施例还提供了安全网络通信终端,所述安全网络通信终端可用于实施本发明实施例提供的安全网络通信方法,下文描述的安全网络通信终端的技术内容,可与上文描述的安全网络通信方法的技术内容与相互对应参照。
请参阅图11,图11为本发明实施例提供的安全网络通信终端的结构示意图。
本实施例中的安全网络通信终端,实际上就是前述实施例中的第一通信终端。
如图11所示,所述安全网络通信终端可包括:信号收发单元100与网络建立单元200;
所述信号收发单元100,用于接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号;
所述网络建立单元200,用于当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长;根据所述第一DFLP信号,建立与所述第二通信终端之间的通信连接;当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败。
一示例中,所述信号收发单元100还用于:向所述第二通信终端发出第二DFLP信号。
所述网络建立单元200还用于:当在预设接收等待时长内未接收到所述第一DFLP信号时,确定所述通信连接建立失败。
一示例中,所述网络建立单元200还可用于:在所述接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号之后,根据DFLP信号的编码格式,解析所述第一DFLP信号的技术能力域;
当所述第一DFLP信号的技术能力域中定义有所述预设身份标识时,确定所述第一DFLP信号中携带有所述预设身份标识。
一示例中,所述终端还可包括自诊断单元300;所述自诊断单元300可用于:
检测所述第一通信终端的工作模式、连接状态与建立时长;
当所述第一通信终端的工作模式为非全双工通信模式时,确定所述第一通信终端的工作模式异常;
当所述第一通信终端的连接状态表征所述通信连接的建立在所述预设建立时长内未完成时,确定所述第一通信终端的连接状态异常;
当所述第一通信终端的建立时长大于所述预设建立时长时,确定所述第一通信终端不满足设计要求。
一示例中,在数据收发方面,所述终端还包括:数据收发单元400;
所述数据收发单元400,用于在所述通信连接建立成功之后,按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧;按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧。
其中,所述数据收发单元400还用于:在同一数据发送周期内,向所述第二通信终端多次发送同一第一数据帧。
一示例中,所述终端还包括:通信诊断单元500;
所述通信诊断单元500,用于根据预设数据帧格式对所述第二数据帧进行解析,得到所述第二数据帧的数据传输参数;根据所述第二数据帧的数据传输参数,确定网络数据通信状态。
一示例中,所述第二通信终端还用于在同一数据发送周期内向所述第一通信终端多次发送同一第二数据帧;所述数据传输参数至少包括:重传位、报文序列号与时间戳。相应的,所述通信诊断单元500具体用于:
当所述第二数据帧的重传位表征所述第二数据帧为重传帧时,确定所述第二数据帧对应的首帧是否正确;
当所述第二数据帧对应的首帧正确时,丢弃所述第二数据帧;
当所述第二数据帧对应的首帧不正确时,确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟;
当所述第二数据帧的报文序列号正常,且,所述第二数据帧的时间戳未延迟时,获取第二数据帧中的应用层数据;
当所述第二数据帧的报文序列号不正常,或,所述第二数据帧的时间戳有延迟时,丢弃所述第二数据帧,并确定网络数据通信异常;
当所述第二数据帧的重传位表征所述第二数据帧不是重传帧时,直接执行所述确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟的步骤。
一示例中,所述数据传输参数至少还包括:目标地址、源地址、协议类型与校验码;所述通信诊断单元500还用于:
当所述第二数据帧的校验码、目的地址、源地址与协议类型中任一项有误时,丢弃所述第二数据帧,并确定网络数据通信异常。
一示例中,所述终端还包括:缓冲区检测单元600;所述缓冲区检测单元600用于:
在所述按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧之后,统计接收到的网络数据帧的累计长度;
当所述累计长度超出内存缓冲区的容量时,生成表征所述内存缓冲区容量不足的报警信息,并清除网络芯片中的多余数据帧;其中,所述内存缓冲区的容量是依据预期数据量预先设定的固定值;
检测所述内存缓冲区尾端的特殊标志字;
当检测到所述特殊标志字被修改时,生成表征所述内存缓冲区异常的故障信息。
一示例中,所述缓冲区检测单元600还用于:
当所述累计长度未超过所述内存缓冲区的容量时,将所述第二数据帧存储至所述内存缓冲区,并对所述第二数据帧进行诊断处理;
读取所述第二数据帧;
当所述第二数据帧的读取结果为空时,执行所述检测所述内存缓冲区尾端的特殊标志字的步骤。
一示例中,所述缓冲区检测单元600还用于:
当所述第二数据帧的读取结果不为空时,确定预期数据帧是否读取完成;
当所述预期数据帧读取完成时,清除所述网络芯片中的多余数据帧,并执行所述检测所述内存缓冲区尾端的特殊标志字的步骤;
当所述预期数据帧未读取完成时,返回执行所述接收所述第二通信终端发出的第二数据帧的步骤。
在本发明的安全网络通信终端中,信号收发单元100、网络建立单元200与自诊断单元300主要用于在时间确定性维度来提高安全网络通信的确定性;数据收发单元400与通信诊断单元500主要用于在行为确定性维度来提高安全网络通信的确定性;缓冲区检测单元600主要用于在空间确定性维度;来提高安全网络通信的确定性。
当仅需要从时间确定性维度来提高安全网络通信的确定性时,该安全网络通信终端可以仅包括信号收发单元100、网络建立单元200与自诊断单元300;当需要从时间确定性与行为确定性维度来提高安全网络通信的确定性时,该安全网络通信终端可以仅包括信号收发单元100、网络建立单元200、自诊断单元300、数据收发单元400与通信诊断单元500;当需要从时间确定性、行为确定性与空间确定性三个维度同时提高安全网络通信的确定性时,该安全网络通信终端需要包括上述所有功能单元。
本实施例提供的安全网络通信终端,接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号,当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长,在根据所述第一DFLP信号建立与所述第二通信终端之间的通信连接时,基于预设建立时长对通信连接的建立时长进行监控,并当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败,从而在预设建立时长内一定能够确定出网络连接是否建立成功,从而在时间确定性维度上提高了安全网络通信的确定性。
其次,本发明提供的安全网络通信终端,按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧;并按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧,使数据收发过程均不依赖对端的行为,从而保证了通信收发行为的确定性,从而在行为确定性维度上提高了安全网络通信的确定性。
再者,本发明提供的安全网络通信终端,采用预先设定的固定大小的内存缓冲区和尾端特殊标志字设置的设计,对数据缓存过程进行控制,保证了所使用的内存空间确定性,从而在空间确定性维度上提高了安全网络通信的确定性。
本发明实施例还提供了安全网络通信系统,所述系统可包括前述实施例中的至少两个安全网络通信终端。
请参阅图12,图12为本发明实施例提供的安全网络通信系统的结构示意图。在图12中,仅以两个安全网络通信终端为例(如,第一通信终端10与第二通信终端20),具体方案可参照前述实施例中描述的安全网络通信方法与终端的技术内容。
在其他实施例中,该安全网络通信系统还可以由三个以上的安全网络通信终端组成,在此不再赘述。
请参阅图13,图13为本申请实施例提供的安全网络通信系统的整体架构图。如图13所示,本发明提供的安全网络通信系统的整体架构主要包括以下三大功能模块:
时间确定性模块1,在时间确定性维度,本发明提供了改进的全双工自协商功能,其可兼容标准的以太网自协商协议,第一通信终端接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号,当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长,在根据所述第一DFLP信号建立与所述第二通信终端之间的通信连接时,基于预设建立时长对通信连接的建立时长进行监控,并当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败,从而在预设建立时长内一定能够确定出网络连接是否建立成功,从而在时间确定性维度上提高了安全网络通信的确定性,并提高了安全网络通信的智能性与灵活性。
行为确定性模块2,在行为确定性维度,本发明提供了基于状态的冗余通信协议,按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧;并按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧,使数据收发过程均不依赖对端的行为,从而保证了通信收发行为的确定性,从而在行为确定性维度上提高了安全网络通信的确定性。
空间确定性模块3,在空间确定性维度,本发明提供了确定的内存缓冲区溢出防护方案,采用预先设定的固定大小的内存缓冲区和尾端特殊标志字设置的设计,对数据缓存过程进行控制,保证了所使用的内存空间确定性,从而在空间确定性维度上提高了安全网络通信的确定性。
最后,还需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式来实现。基于这样的理解,本申请的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (20)
1.一种安全网络通信方法,其特征在于,应用于第一通信终端;所述方法包括:
接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号;
当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长;
根据所述第一DFLP信号,建立与所述第二通信终端之间的通信连接;
当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
向所述第二通信终端发出第二DFLP信号。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当在预设接收等待时长内未接收到所述第一DFLP信号时,确定所述通信连接建立失败。
4.如权利要求1所述的方法,其特征在于,在所述接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号之后,所述方法还包括:
根据DFLP信号的编码格式,解析所述第一DFLP信号的技术能力域;
当所述第一DFLP信号的技术能力域中定义有所述预设身份标识时,确定所述第一DFLP信号中携带有所述预设身份标识。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述第一通信终端的工作模式、连接状态与建立时长;
当所述第一通信终端的工作模式为非全双工通信模式时,确定所述第一通信终端的工作模式异常;
当所述第一通信终端的连接状态表征所述通信连接的建立在所述预设建立时长内未完成时,确定所述第一通信终端的连接状态异常;
当所述第一通信终端的建立时长大于所述预设建立时长时,确定所述第一通信终端不满足设计要求。
6.如权利要求1所述的方法,其特征在于,在所述通信连接建立成功之后,所述方法还包括:
按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧;
按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧。
7.如权利要求6所述的方法,其特征在于,所述按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧包括:
在同一数据发送周期内,向所述第二通信终端多次发送同一第一数据帧。
8.如权利要求6所述的方法,其特征在于,在所述按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧之后,所述方法还包括:
根据预设数据帧格式对所述第二数据帧进行解析,得到所述第二数据帧的数据传输参数;
根据所述第二数据帧的数据传输参数,确定网络数据通信状态。
9.如权利要求8所述的方法,其特征在于,所述第二通信终端还用于在同一数据发送周期内向所述第一通信终端多次发送同一第二数据帧;所述数据传输参数至少包括:重传位、报文序列号与时间戳;所述根据所述第二数据帧的数据传输参数,确定网络数据通信状态包括:
当所述第二数据帧的重传位表征所述第二数据帧为重传帧时,确定所述第二数据帧对应的首帧是否正确;
当所述第二数据帧对应的首帧正确时,丢弃所述第二数据帧;
当所述第二数据帧对应的首帧不正确时,确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟;
当所述第二数据帧的报文序列号正常,且,所述第二数据帧的时间戳未延迟时,获取第二数据帧中的应用层数据;
当所述第二数据帧的报文序列号不正常,或,所述第二数据帧的时间戳有延迟时,丢弃所述第二数据帧,并确定网络数据通信异常;
当所述第二数据帧的重传位表征所述第二数据帧不是重传帧时,直接执行所述确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟的步骤。
10.如权利要求9所述的方法,其特征在于,所述数据传输参数至少还包括:目标地址、源地址、协议类型与校验码;所述根据所述第二数据帧的数据传输参数,确定网络数据通信状态还包括:
当所述第二数据帧的校验码、目的地址、源地址与协议类型中任一项有误时,丢弃所述第二数据帧,并确定网络数据通信异常。
11.如权利要求8所述的方法,其特征在于,在所述按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧之后,所述方法还包括:
统计接收到的网络数据帧的累计长度;
当所述累计长度超出内存缓冲区的容量时,生成表征所述内存缓冲区容量不足的报警信息,并清除网络芯片中的多余数据帧;其中,所述内存缓冲区的容量是依据预期数据量预先设定的固定值;
检测所述内存缓冲区尾端的特殊标志字;
当检测到所述特殊标志字被修改时,生成表征所述内存缓冲区异常的故障信息。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
当所述累计长度未超过所述内存缓冲区的容量时,将所述第二数据帧存储至所述内存缓冲区,并对所述第二数据帧进行诊断处理;
读取所述第二数据帧;
当所述第二数据帧的读取结果为空时,执行所述检测所述内存缓冲区尾端的特殊标志字的步骤。
13.如权利要求12所述的方法,其特征在于,所述方法还包括:
当所述第二数据帧的读取结果不为空时,确定预期数据帧是否读取完成;
当所述预期数据帧读取完成时,清除所述网络芯片中的多余数据帧,并执行所述检测所述内存缓冲区尾端的特殊标志字的步骤;
当所述预期数据帧未读取完成时,返回执行所述接收所述第二通信终端发出的第二数据帧的步骤。
14.一种安全网络通信终端,其特征在于,所述终端包括:信号收发单元与网络建立单元;
所述信号收发单元,用于接收第二通信终端发出的兼容快速连接脉冲FLP信号的第一自定义快速连接脉冲DFLP信号;
所述网络建立单元,用于当所述第一DFLP信号中携带有预设身份标识时,从预设寄存器中读取预设建立时长;根据所述第一DFLP信号,建立与所述第二通信终端之间的通信连接;当所述通信连接的建立在所述预设建立时长内未完成时,确定所述通信连接建立失败。
15.如权利要求14所述的终端,其特征在于,所述终端还包括:数据收发单元;
所述数据收发单元,用于在所述通信连接建立成功之后,按照固定时长的数据发送周期,向所述第二通信终端发送第一数据帧;按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧。
16.如权利要求15所述的终端,其特征在于,所述终端还包括:通信诊断单元;
所述通信诊断单元,用于根据预设数据帧格式对所述第二数据帧进行解析,得到所述第二数据帧的数据传输参数;根据所述第二数据帧的数据传输参数,确定网络数据通信状态。
17.如权利要求16所述的终端,其特征在于,所述第二通信终端还用于在同一数据发送周期内向所述第一通信终端多次发送同一第二数据帧;所述数据传输参数至少包括:重传位、报文序列号与时间戳;所述通信诊断单元具体用于:
当所述第二数据帧的重传位表征所述第二数据帧为重传帧时,确定所述第二数据帧对应的首帧是否正确;
当所述第二数据帧对应的首帧正确时,丢弃所述第二数据帧;
当所述第二数据帧对应的首帧不正确时,确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟;
当所述第二数据帧的报文序列号正常,且,所述第二数据帧的时间戳未延迟时,获取第二数据帧中的应用层数据;
当所述第二数据帧的报文序列号不正常,或,所述第二数据帧的时间戳有延迟时,丢弃所述第二数据帧,并确定网络数据通信异常;
当所述第二数据帧的重传位表征所述第二数据帧不是重传帧时,直接执行所述确定所述第二数据帧的报文序列号是否正常以及所述第二数据帧的时间戳是否未延迟的步骤。
18.如权利要求17所述的方法,其特征在于,所述数据传输参数至少还包括:目标地址、源地址、协议类型与校验码;所述通信诊断单元具体还用于:
当所述第二数据帧的校验码、目的地址、源地址与协议类型中任一项有误时,丢弃所述第二数据帧,并确定网络数据通信异常。
19.如权利要求16所述的终端,其特征在于,所述终端还包括:缓冲区检测单元;所述缓冲区检测单元用于:
在所述按照固定时长的数据接收周期,接收所述第二通信终端发送的第二数据帧之后,统计接收到的网络数据帧的累计长度;
当所述累计长度超出内存缓冲区的容量时,生成表征所述内存缓冲区容量不足的报警信息,并清除网络芯片中的多余数据帧;其中,所述内存缓冲区的容量是依据预期数据量预先设定的固定值;
检测所述内存缓冲区尾端的特殊标志字;
当检测到所述特殊标志字被修改时,生成表征所述内存缓冲区异常的故障信息。
20.一种安全网络通信系统,其特征在于,所述系统包括:至少两个如权利要求14~19中任一项所述的安全网络通信终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811182738.9A CN109068328B (zh) | 2018-10-11 | 2018-10-11 | 安全网络通信方法、终端及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811182738.9A CN109068328B (zh) | 2018-10-11 | 2018-10-11 | 安全网络通信方法、终端及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109068328A true CN109068328A (zh) | 2018-12-21 |
CN109068328B CN109068328B (zh) | 2021-08-24 |
Family
ID=64763850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811182738.9A Active CN109068328B (zh) | 2018-10-11 | 2018-10-11 | 安全网络通信方法、终端及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109068328B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109962827A (zh) * | 2019-02-22 | 2019-07-02 | 生迪智慧科技有限公司 | 设备链路检测方法、装置、设备及可读存储介质 |
CN115052051A (zh) * | 2022-04-26 | 2022-09-13 | 深圳市云伽智能技术有限公司 | 基于icap协议的信息处理方法、系统、控制器及终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0869643B1 (en) * | 1997-03-31 | 2005-12-14 | Hewlett-Packard Company, A Delaware Corporation | Electronic communications network |
US7616587B1 (en) * | 2004-04-14 | 2009-11-10 | Marvell International Ltd. | Methods and apparatus for performing reverse auto-negotiation in network communication |
CN102082671A (zh) * | 2009-11-30 | 2011-06-01 | 智微科技股份有限公司 | 网络装置及其控制方法 |
CN106664716A (zh) * | 2014-08-08 | 2017-05-10 | 三星电子株式会社 | 用于设备到设备通信的资源分配的方法和装置 |
CN106888114A (zh) * | 2017-01-24 | 2017-06-23 | 北京广利核系统工程有限公司 | 一种核电站安全级仪控系统通信协议的自诊断方法 |
-
2018
- 2018-10-11 CN CN201811182738.9A patent/CN109068328B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0869643B1 (en) * | 1997-03-31 | 2005-12-14 | Hewlett-Packard Company, A Delaware Corporation | Electronic communications network |
US7616587B1 (en) * | 2004-04-14 | 2009-11-10 | Marvell International Ltd. | Methods and apparatus for performing reverse auto-negotiation in network communication |
CN102082671A (zh) * | 2009-11-30 | 2011-06-01 | 智微科技股份有限公司 | 网络装置及其控制方法 |
CN106664716A (zh) * | 2014-08-08 | 2017-05-10 | 三星电子株式会社 | 用于设备到设备通信的资源分配的方法和装置 |
CN106888114A (zh) * | 2017-01-24 | 2017-06-23 | 北京广利核系统工程有限公司 | 一种核电站安全级仪控系统通信协议的自诊断方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109962827A (zh) * | 2019-02-22 | 2019-07-02 | 生迪智慧科技有限公司 | 设备链路检测方法、装置、设备及可读存储介质 |
CN109962827B (zh) * | 2019-02-22 | 2021-06-15 | 生迪智慧科技有限公司 | 设备链路检测方法、装置、设备及可读存储介质 |
CN115052051A (zh) * | 2022-04-26 | 2022-09-13 | 深圳市云伽智能技术有限公司 | 基于icap协议的信息处理方法、系统、控制器及终端 |
CN115052051B (zh) * | 2022-04-26 | 2023-11-17 | 深圳市云伽智能技术有限公司 | 基于icap协议的信息处理方法、系统、控制器及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109068328B (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7991351B2 (en) | Extension of wired controller area networks to wireless personal area networks | |
US7185045B2 (en) | Ethernet interface device for reporting status via common industrial protocols | |
CN102752084B (zh) | 一种多设备can通讯智能重发方法 | |
CN108282897A (zh) | 一种随机接入反馈、处理方法、基站及终端 | |
CN104956626A (zh) | 网络装置以及数据收发系统 | |
JP2006287981A (ja) | 網通信システムにおいてデータパケットを伝送するための誤り訂正通信方法 | |
WO1992010893A1 (en) | Method of error recovery in a data communication system | |
CN102780593B (zh) | 基于bfd协议检测链路的方法、装置和网络处理器 | |
EP2241044B1 (en) | Method of communication, in particular with capability of frame abortion or retransmission indication, between a transmitter and a receiver based on frames, and corresponding communication node | |
CN110297800B (zh) | 一种主控芯片与安全芯片之间稳定通信的实现方法及系统 | |
CN109495215A (zh) | 一种半双工总线的通信方法、系统装置及可读存储介质 | |
JPH04165844A (ja) | 通信装置 | |
CN102123110B (zh) | 一种网关系统的数据传输方法及网关系统 | |
CN109068328A (zh) | 安全网络通信方法、终端及系统 | |
WO2005074195A1 (en) | Method of retransmitting data frame and network apparatus using the method | |
CN105634894B (zh) | 一种增强型can总线数据重发方法和装置 | |
CN115657646B (zh) | 一种can控制器的测试方法及装置 | |
EP1696604B1 (en) | Communication control system | |
JP4448029B2 (ja) | データ伝送の監視方法,データ伝送の監視装置,およびコンピュータプログラム | |
CN114006742B (zh) | 一种基于CANOpen协议的通信转换方法及系统 | |
JP3148733B2 (ja) | 信号処理装置及び信号処理システム | |
So | Delay modeling and controller design for networked control systems | |
JP3131455B2 (ja) | 通信データ保証方式 | |
KR950001520B1 (ko) | 공통선 신호방식 메시지전달부의 신호단말 그룹버스 통신 프로토콜 | |
EP2405627B1 (en) | Method for operating a remote procedure call handler in a client and a server and computer system comprising the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221114 Address after: 100005 No. 69, inner main street, Dongcheng District, Beijing, Jianguomen Patentee after: AGRICULTURAL BANK OF CHINA Patentee after: Agricultural Bank of China Financial Technology Co.,Ltd. Address before: 100005 No. 69, inner main street, Dongcheng District, Beijing, Jianguomen Patentee before: AGRICULTURAL BANK OF CHINA |
|
TR01 | Transfer of patent right |