并行冗余网络中重复报文的检测方法和装置与流程

文档序号:16276134发布日期:2018-12-14 22:35阅读:389来源:国知局
并行冗余网络中重复报文的检测方法和装置与流程

本申请涉及通信技术领域,尤其涉及一种并行冗余网络中重复报文的检测方法和装置。

背景技术

随着工业技术的进步,为了进一步提升报文冗余备份的技术的可靠性,出现了并行冗余协议(parallelredundancyprotocol,prp)网络,该网络应用在应用层中。如图1所示,prp网络依赖于支持prp协议的两个网络设备,如网络设备1和网络设备2,该两个网络设备为支持prp协议的双连接节点,每个网络设备都有两个独立运行的端口,如端口1和端口2,两个端口分别连接到两个独立并行工作的局域网上,如局域网a和局域网b。网络设备1将每一个需要发送的数据报文进行复制,得到两个完全相同的数据报文,并通过两个端口与局域网a和局域网b发送至网络设备2。网络设备2接收到数据报文后进行重复报文检测,具体为:根据数据报文中的源物理地址(mediaaccesscontrol,mac)地址和序列号,确定该数据报文是否为重复报文,若存储的节点信息表中没有记录该mac地址和序列号,则确定该数据报文不是重复报文,并将该数据报文的mac地址和序列号进行存储,以更新该表;若存储的节点信息表中记录有该mac地址和序列号,则确定该数据报文是重复报文,删除该数据报文。序列号为网络设备1按递增顺序来标识重复的数据报文。

然而,发明人发现prp网络中对两个局域网的大小有一定的限制,当局域网a的网络较大,局域网b的网络较小时,如局域网a只有一台交换机,局域网b有几十台交换机,局域网a的传输时延将远小于局域网b的传输时延,同一个数据报文同时从网络设备1的两个端口发出到达网络设备2的时间差超过了网络设备2内存储的节点信息表的保存时间(或称“老化时间”),网络设备2就可能会重复接收到相同的数据报文。

如局域网a与局域网b间的网络延时差为2毫秒,节点信息表的保存时间(或称“保存时长”)为1毫秒;接收端t时刻(单位毫秒),通过局域网a接收到序列号为1的数据报文,并将序列号和源mac地址记录在节点信息表;t+1时刻,通过局域网a接收到序列号为2的数据报文,并将序列号和源mac地址记录在节点信息表;由于t+1时刻之后超过了节点信息表的保存时长,故序列号为1的数据报文的序列号和源mac地址和序列号为2的数据报文的序列号和源mac地址都将被删除。t+3时刻,通过局域网a接收到序列号为3的数据报文,将其序列号和源mac地址记录在节点信息表,通过局域网a接收到序列号为1的数据报文,由于节点信息表中不存在其序列号和源mac地址,故将该信息记录在节点信息表中,造成接收到重复报文。

节点信息表的保存时长是根据数据报文中序列号的位数和相邻数据报文间的发送间隔来确定的。若序列号的位数越少,且发送间隔越短,则确定的保存时长越短,若序列号的位数越多,且发送间隔越长,则确定的保存时长越长。若序列号的位数只有16bit(范围0~65536),且发送间隔较短(可忽略不计),则确定的保存时长只有几十毫秒,也就是说,在节点信息表的保存时长不变的情况下,当prp网络中的两个局域网的网络延时差值较大时,且网络延时大于节点信息表的保存时长时,上述重复报文检测的准确性较低。



技术实现要素:

本申请实施例提供一种并行冗余网络中重复报文的检测方法和装置,该方法用于解决上述现有技术中存在的问题,提高重复报文检测的准确性。

第一方面,提供了一种并行冗余网络中重复报文的检测方法,并行冗余网络中第一网络设备的第一端口通过第一局域网向第二网络设备发送数据报文和管理报文,第一网络设备的第二端口通过第二局域网向第二网络设备发送数据报文和管理报文,该方法包括:

第二网络设备的第一端口接收通过第一局域网发送的数据报文和管理报文,第一局域网的传输时延远大于第二局域网的传输时延;

获取数据报文和管理报文的报文信息,报文信息包括数据报文的源mac地址、该数据报文的序列号和相邻管理报文的序列号;相邻管理报文为第二网络设备的第一端口在接收数据报文之前,最后一次接收的管理报文;

基于存储的节点信息表中记录的通过第二网络设备的第二端口已接收的数据报文的源mac地址、该数据报文的序列号和相应相邻管理报文的序列号,对接收的数据报文进行重复报文检测;其中,节点信息表中已接收的数据报文的源mac地址、该数据报文的序列号和相应相邻管理报文的序列号的保存时长不大于管理报文的序列号的未反转时长,且相邻两个管理报文间的发送间隔小于数据报文的序列号的未反转时长;

当节点信息表中不存在获取的报文信息时,确认报文信息对应的数据报文为非重复报文;

当节点信息表中存在获取的报文信息时,确认报文信息对应的所述数据报文为重复报文。

与现在有技术相比,本申请上述方法通过数据报文的报文信息和相应管理报文的序列号来共同识别是否接收了重复报文,从而提高了重复报文检测的准确性。

在一个可选的实现中,基于存储的节点信息表中记录的通过第二网络设备的第二端口已接收的数据报文的源mac地址、该数据报文的序列号和相应相邻管理报文的序列号,对接收的数据报文进行重复报文检测,包括:

识别节点信息表中是否同时存在与获取的报文信息一致的已接收的数据报文的源mac地址、序列号和相应相邻管理报文的序列号。

上述方法进一步描述了通过查询节点信息表中数据报文的报文信息与该数据报文相邻的管理报文的序列号是否与接收的数据报文的报文信息与管理报文的序列号一致,来实现重复报文的检测。

在一个可选的实现中,确认报文信息对应的数据报文为非重复报文之后,该方法还包括:

向目标网络设备发送报文信息对应的数据报文,并在节点信息表中记录报文信息,以实现数据报文的传输。

在一个可选的实现中,确认删除报文信息对应的数据报文为重复报文之后,该方法还包括:

删除报文信息对应的数据报文。

第二方面,提供了一种检测装置,该装置包括:接收单元、获取单元、检测单元和确认单元;

接收单元,用于接收通过第一局域网发送的数据报文和管理报文,第一局域网的传输时延远大于第二局域网的传输时延;

获取单元,用于获取数据报文和管理报文的报文信息,报文信息包括数据报文的源mac地址、该数据报文的序列号和相邻管理报文的序列号;相邻管理报文为第二网络设备的第一端口在接收数据报文之前,最后一次接收的管理报文;

检测单元,用于基于存储的节点信息表中记录的通过第二网络设备的第二端口已接收的数据报文的源mac地址、该数据报文的序列号和相应相邻管理报文的序列号,对接收的数据报文进行重复报文检测;其中,节点信息表中已接收的数据报文的源mac地址、该数据报文的序列号和相应相邻管理报文的序列号的保存时长不大于管理报文的序列号的未反转时长,且相邻两个管理报文间的发送间隔小于数据报文的序列号的未反转时长;

确认单元,用于当节点信息表中不存在获取的报文信息时,确认报文信息对应的数据报文为非重复报文;

当节点信息表中存在获取的报文信息时,确认报文信息对应的所述数据报文为重复报文。

在一个可选的实现中,检测单元,具体用于识别节点信息表中是否同时存在与获取的报文信息一致的已接收的数据报文的源mac地址、该数据报文的序列号和相应相邻管理报文的序列号。

在一个可选的实现中,该装置还包括记录单元和发送单元;

发送单元,用于确认报文信息对应的数据报文为非重复报文之后,向目标网络设备发送报文信息对应的数据报文;

记录单元,用于在节点信息表中记录报文信息。

在一个可选的实现中,该装置还包括删除单元;

删除单元,还用于在确认删除报文信息对应的数据报文为重复报文之后,删除报文信息对应的数据报文。

第三方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤。

第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。

本申请技术方案在接收通过第一局域网发送的数据报文和管理报文,第一局域网的传输时延远大于第二局域网的传输时延,获取数据报文的源mac地址、数据报文的序列号和相邻管理报文的序列号;基于存储的节点信息表记录的已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号,对接收的数据报文进行重复报文检测,通过检测节点信息表中是否存在获取的上述信息,确定上述信息对应的数据报文是否为重复报文。其中,节点信息表的保存时长不大于管理报文序列号的未反转时长,且相邻两个管理报文间的发送间隔小于数据报文的序列号的未反转时长,提高了重复报文检测的准确性。

附图说明

图1为提供的一种prp网络的结构示意图;

图2为本发明实施例提供的一种并行冗余网络中重复报文的检测方法所应用的通信网络的结构示意图;

图3为本发明实施例提供的一种并行冗余网络中重复报文的检测方法的流程示意图;

图4为提供的一种prp报文的格式示意图;

图5为提供的一种ptp管理报文的格式示意图;

图6为本发明实施例提供的另一种并行冗余网络中重复报文的检测方法的流程示意图;

图7为本发明实施例提供的一种检测装置的结构示意图;

图8为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本发明实施例提供的并行冗余网络中重复报文的检测方法可以应用在图2所示的通信网络中。该网络包括第一网络设备、第二网络设备、第一局域网、第二局域网和目标网络设备。

第一网络设备与第二网络设备支持prp协议,第一网络设备包括本地接收端口,以及第一端口和第二端口,如端口a1和端口b1,第二网络设备包括本地发送端口,以及第一端口和第二端口,如端口a2和端口b2。第一局域网和第二局域网分别为两个独立并行工作的局域网,即具有不同的ip地址,如分别为ip1地址和ip2地址。在对同一网络设备的相同报文的传输中,第一局域网与第二局域网间的传输时差大于预设时长。目标网络设备用于接收报文。其中,第一网络设备、第二网络设备和目标网络设备可以是终端,也可以是服务器。终端可以是支持prp协议用户设备(userequipment,ue)、具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(mobilestation,ms)等,服务器可以是应用服务器或云服务器等。

第一网络设备的本地接收端口用于接收数据报文,端口a1和端口b1均用于数据报文和管理报文的发送,第二网络设备的本地发送端口用于向目标网络设备发送重复报文检测后的数据报文,端口a2用于通过第一局域网接收端口a1发送的数据报文和管理报文,端口b1用于通过第二局域网接收端口b2发送的数据报文和管理报文。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

下面结合图2所示的网络框架,对本发明实施例进行详细描述。

图3为本发明实施例提供的一种并行冗余网络中重复报文的检测方法的流程示意图。如图3所示,该方法可以包括:

步骤310、第二网络设备的第一端口接收通过第一局域网发送的数据报文和管理报文。

其中,第一局域网的传输时延远大于第二局域网的传输时延。

在执行该步骤之前,第一网络设备的本地接口接收到一个数据报文后,将该数据报文复制成两份相同的数据报文,并在这两份相同的数据报文的末尾加上6个字节的冗余控制标签(redundancycontroltag,rct),再经tcp/ip协议层封装成prp帧格式的数据报文。

可选地,prp报文(或称“帧”)格式如图4所示,该帧包括帧头、数据部分(data)、rct和帧校验序列(framechecksequence,fcs)。其中,帧头包括6比特(byte)的目的物理(mediaaccesscontrol,mac)地址、6yte的源mac地址和2byte的帧类型;rct包括16bit的序列号(sequencenumber,seqnr)、4bit的局域网标识符lanid、12bit的数据长度lsdu、16bit的类型后缀prpsuffix,data占用的bit数可以依据实际要传输的数据大小而确定。

可以理解的是,为了达到时间和频率同步,第二网络设备也需要通过局域网向第一网络设备发送管理报文。

可选地,ptp管理报文(或称“帧”)格式如图5所示,包括报文头、报文主体和扩展字段。

第一网络设备配置时钟同步协议(precisiontimeprotocol,ptp)的管理报文,并复制两份相同的管理报文,相同的管理报文具有相同的报文信息。ptp是一种对标准以太网设备进行时间和频率同步的协议。同步的基本原理包括时间发出和接收时间信息的记录,并且对每一条信息增加一个“时间戳”。管理报文的发送周期可以预先设定。

第一网络设备可以通过自身的第一端口将一份prp的数据报文和一份管理报文从第一局域网发送出去,通过自身的第二端口将另一份prp的数据报文和另一份管理报文从第二局域网发送出去。

需要说明的是,第一网络设备的第一端口和第二端口对应的局域网,以及第二网络设备的第一端口和第二端口对应的局域网可以预先设定,如第一网络设备和第二网络设备的第一端口均对应ip1地址的第一局域网,第一网络设备和第二网络设备的第二端口均对应ip2地址的第二局域网。

进一步的,prp的数据报文与ptp的管理报文均设置序列号的反转时长,数据报文的序列号与管理报文的序列号的反转时长为序列号重新排序的时长,反之数据报文的序列号与管理报文的序列号的未反转时长为序列号未重新排序的时长。相邻两个管理报文间的发送间隔小于数据报文的序列号的未反转时长,数据报文的序列号的未反转时长为数据报文的序列号未重新排序的时长,管理报文的序列号的未反转时长为管理报文的序列号未重新排序的时长。

以prp的数据报文的序列号为例,预先设置prp的数据报文的序列号为1-100。当第一网络设备将序列号为1的数据报文到序列号为100的数据报文发出后,数据报文的序列号将进行重新排序,之后第一网络设备将发出序列号为1的数据报文,即序列号为1-100的数据报文全部发出经历的时长为序列号的未反转时长。

步骤320、获取数据报文和管理报文的报文信息,报文信息包括数据报文的源mac地址、数据报文的序列号和相邻管理报文的序列号。

其中,相邻管理报文为第二网络设备的第一端口在接收数据报文之前,最后一次接收的管理报文。

该步骤中的相邻管理报文为第二网络设备的第一端口在接收数据报文之前,最后一次接收的管理报文。也就是说,该相邻管理报文是前一时刻与该数据报文相邻的管理报文。如,第二网络设备的第一端口基于管理报文和数据报文的接收时间,可以得到如下表1。

表1

表1中,在t1时刻接收到第一管理报文,t2时刻接收到第二管理报文,t3时刻接收到第一数据报文,t4时刻接收到第二数据报文,t5时刻接收到第三管理报文。基于表1,第一数据报文的相邻管理报文为第二管理报文,第二数据报文的相邻管理报文为第二管理报文,第三数据报文的相邻管理报文为第三管理报文,故可以获取到第一数据报文的源mac地址为mac1、序列号为001b和第二管理报文的序列号为002a、第二数据报文的源mac地址为mac1、序列号为002b和第二管理报文的序列号为002a、第三数据报文的源mac地址为mac1、序列号为003b和第三管理报文的序列号为003a。

可以理解的是,由于第一局域网的传输时延远大于第二局域网的传输时延,故在表1中第二网络设备的第一端口通过第一局域网的接收时间减去传输时延后,可以得到第二网络设备的第二端口通过第二局域网的接收时间,可以理解的是,第二网络设备的第一端口和第二端口接收的管理报文和数据报文的顺序与表1中的相同,只是接收时间不同。

例如,对于同一数据报文,若第一局域网的传输时延远大于第二局域网的传输时延,且传输时延差为t,则第二网络设备的第二端口通过第二局域网接收的管理报文和数据报文如表2所示,经时间t后,第二网络设备的第一端口通过第一局域网接收的管理报文和数据报文如表3所示。其中,mac表示数据报文的源mac地址、seq表示数据报文的、管理帧表示管理报文。

表2

表3

结合表2与表3可知,二者接收的管理报文和数据报文相同,只是接收时间不同。

步骤330、基于存储的节点信息表中记录的通过第二网络设备的第二端口已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号,对接收的数据报文进行重复报文检测。

存储的节点信息表用于记录通过第二网络设备的第二端口已接收的管理报文的序列号、数据报文的源mac地址和数据报文的序列号,以及保存时长。

保存时长为保存已接收的相邻管理报文的序列号、数据报文的源mac地址和数据报文的序列号的最大时长。若节点信息表记录的已接收的管理报文的序列号、数据报文的源mac地址和数据报文的序列号达到保存时长,则该信息将被删除。其中,节点信息表中已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号的保存时长不大于管理报文序列号的未反转时长,即节点信息表中最先接收的数据报文的源mac地址、序列号和相应相邻管理报文的序列号达到保存时长时,管理报文序列号一定处于未反转时长内。

可选地,节点信息表中数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号的最大保存时长ts为管理报文的反转时长tf与当前数据报文的接收时间t1和相邻管理报文的接收时间t2的时间差的差,可以表示为:ts=tf-(t1-t2)(公式一)。

存储的节点信息表如表4所示。

表4

表4中,节点信息表包括源mac地址均为第一网络设备的mac1地址、序列号为0的数据报文,和其序列号为0的相邻管理报文,该信息的剩余保存时长为t1;序列号为1的数据报文,和其序列号为0的相邻管理报文,该信息的剩余保存时长为t2;序列号为2的数据报文,和其序列号为0的相邻管理报文,该信息的剩余保存时长为t3;序列号为3的数据报文,和其序列号1的相邻管理报文,该信息的剩余保存时长为t4。

第二网络设备按照数据报文的序列号和管理报文的序列号中序列号顺序进行接收,故节点信息表中序列号为0的数据报文和相邻的管理报文的剩余保存时长小于序列号为1的数据报文和相邻管理报文的剩余保存时长,以此类推,序列号为n的数据报文和相邻管理报文的剩余保存时长小于序列号为n+1的数据报文和管理报文的剩余保存时长,n不小于零的整数,故t1小于t2小于t3小于t4。若剩余保存时长t1为零,则删除t1所在行的所有信息。

例如,节点信息表对每条信息的保存时长为60s,每条信息均包括已接收的相邻管理报文的序列号、数据报文的源mac地址和数据报文的序列号。

序列号为0的数据报文的当前接收时间为t+0,该数据报文的相邻管理报文的序列号为0,此时,该数据报文对应的剩余保存时长为60s;

序列号为1的数据报文的当前接收时间为t+20,该数据报文的相邻管理报文的序列号为0,此时,序列号为0的数据报文对应的剩余保存时长为40s,序列号为1的数据报文对应的剩余保存时长为60s;

序列号为2的数据报文的当前接收时间为t+40,该数据报文的相邻管理报文的序列号为0,此时,序列号为0的数据报文对应的剩余保存时长为0s,序列号为1的数据报文对应的剩余保存时长为20s,序列号为2的数据报文对应的剩余保存时长为60s。

回到步骤330,对从第一网络设备接收的数据报文进行重复报文检测。

对于同一数据报文,若第一局域网的传输时延远大于第二局域网的传输时延,则节点信息表中数据报文的源mac地址、数据报文的序列号和相邻管理报文的序列号对应的管理报文和数据报文是由第二局域网对应的第二端口接收到的,步骤320中获取的报文信息是由第一局域网对应的第一端口接收到的。

查询节点信息表,识别节点信息表中是否同时存在与获取的报文信息一致的已接收的数据报文的源mac地址、序列号和相邻管理报文的序列号。

当节点信息表中不存在获取的报文信息时,确认该报文信息对应的数据报文为非重复报文;之后,向目标网络设备发送该报文信息对应的数据报文,并在节点信息表中记录该报文信息,以实现数据报文的正常传输。

当节点信息表中存在获取的报文信息时,确认该报文信息对应的数据报文为重复报文。此时,丢弃该数据报文。

可见,与现在有技术相比,本申请上述方法通过数据报文的源mac地址、序列号和相邻管理报文的序列号来共同识别是否接收了重复报文,即不仅查询节点信息表中接收的数据报文的源mac地址、序列号,还查询该数据报文的相邻管理报文的序列号,从而提高了重复报文检测的准确性。

下面对于同一数据报文,第一局域网的传输时延远大于第二局域网的传输时延为例。

图6为本发明实施例提供的另一种并行冗余网络中重复报文的检测方法的流程示意图。如图6所示,该方法可以包括:

步骤610、第一网络设备将接收的数据报文和预先配置的管理报文复制为两份相同的添加rct的数据报文和两份相同的管理报文。

步骤620、第一网络设备将添加rct的数据报文和管理报文通过第一端口发送至第一局域网和第二端口发送至第二局域网。

步骤630、第二网络设备通过自身的第二端口接收第二局域网发送的添加rct的数据报文和管理报文。

步骤640、第二网络设备基于第二端口接收的添加rct的数据报文的源mac地址、数据报文的序列号和管理报文的序列号,生成节点信息表。

步骤650、第二网络设备通过自身的第一端口接收第一局域网发送的添加rct的数据报文和管理报文。

步骤660、第二网络设备基于第一端口接收的添加rct的数据报文的源mac地址、数据报文的序列号和管理报文的序列号,获取报文信息。

报文信息包括所述数据报文的源mac地址、数据报文的序列号和相邻管理报文的序列号。

步骤670、当节点信息表中不存在获取的报文信息时,确认该报文信息对应的数据报文为非重复报文,并在节点信息表中记录该报文信息。

步骤680、向目标网络设备发送该报文信息对应的数据报文。

步骤690、当节点信息表中存在获取的报文信息时,确认该报文信息对应的数据报文为重复报文,并丢弃该数据报文。

本发明实施例的上述方法在接收通过第一局域网发送的数据报文和管理报文,第一局域网的传输时延远大于第二局域网的传输时延后,获取数据报文和管理报文的报文信息,报文信息包括数据报文的源mac地址、数据报文的序列号和相邻管理报文的序列号;基于存储的节点信息表中记录的通过第二网络设备的第二端口已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号,对接收的数据报文进行重复报文检测,通过检测节点信息表中是否存在获取的报文信息,确定报文信息对应的数据报文是否为重复报文,与现有技术相比,该方法在节点信息表的保存时长不大于管理报文序列号的未反转时长,且相邻两个管理报文间的发送间隔小于数据报文序列号的未反转时长的情况下,通过数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号来共同识别是否接收了重复报文,提高了重复报文检测的准确性。

与上述方法对应的,本发明实施例还提供一种检测装置,如图7所示,该检测装置包括:接收单元710、获取单元720、检测单元730和确认单元740;

接收单元710,用于接收通过第一局域网发送的数据报文和管理报文,第一局域网的传输时延远大于第二局域网的传输时延;

获取单元720,用于获取数据报文和管理报文的报文信息,报文信息包括数据报文的源mac地址、数据报文的序列号和相邻管理报文的序列号;相邻管理报文为第二网络设备的第一端口在接收数据报文之前,最后一次接收的管理报文;

检测单元730,用于基于存储的节点信息表中记录的通过第二网络设备的第二端口已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号,对接收的数据报文进行重复报文检测;其中,节点信息表中已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号的保存时长不大于管理报文的序列号的未反转时长,且相邻两个管理报文间的发送间隔小于数据报文序列号的未反转时长;

确认单元740,用于当节点信息表中不存在获取的报文信息时,确认报文信息对应的数据报文为非重复报文;

当节点信息表中存在获取的报文信息时,确认报文信息对应的所述数据报文为重复报文。

在一个可选的实现中,检测单元730,具体用于识别节点信息表中是否同时存在与获取的报文信息一致的已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号。

在一个可选的实现中,该装置还包括记录单元750和发送单元760;

发送单元760,用于确认报文信息对应的数据报文为非重复报文之后,向目标网络设备发送所述报文信息对应的数据报文;

记录单元750,用于在节点信息表中记录所述报文信息。

在一个可选的实现中,该装置还包括删除单元770;

删除单元770,还用于在确认删除报文信息对应的数据报文为重复报文之后,删除报文信息对应的数据报文。

本发明上述实施例提供的检测装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的检测装置中的各个单元的具体工作过程和有益效果,在此不复赘述。

本发明实施例还提供了一种电子设备,如图8所示,包括处理器810、通信接口820、存储器830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。

存储器830,用于存放计算机程序;

处理器810,用于执行存储器830上所存放的程序时,实现如下步骤:

接收通过第一局域网发送的数据报文和管理报文,第一局域网的传输时延远大于第二局域网的传输时延;

获取数据报文和管理报文的报文信息,报文信息包括数据报文的源mac地址、数据报文的序列号和相邻管理报文的序列号;相邻管理报文为第二网络设备的第一端口在接收数据报文之前,最后一次接收的管理报文;

基于存储的节点信息表中记录的通过第二网络设备的第二端口已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号,对接收的数据报文进行重复报文检测;其中,节点信息表中已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号的保存时长不大于管理报文的序列号的未反转时长,且相邻两个管理报文间的发送间隔小于数据报文的序列号的未反转时长;

当节点信息表中不存在获取的报文信息时,确认报文信息对应的数据报文为非重复报文;

当节点信息表中存在获取的报文信息时,确认报文信息对应的数据报文为重复报文。

在一个可选的实现中,基于存储的节点信息表中记录的通过第二网络设备的第二端口已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号,对接收的数据报文进行重复报文检测,包括:

识别节点信息表中是否同时存在与获取的报文信息一致的已接收的数据报文的源mac地址、数据报文的序列号和相应相邻管理报文的序列号。

在一个可选的实现中,确认报文信息对应的数据报文为非重复报文之后,向目标网络设备发送报文信息对应的数据报文,并在节点信息表中记录所述报文信息。

在一个可选的实现中,确认删除报文信息对应的数据报文为重复报文之后,删除报文信息对应的数据报文。

上述提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图3所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的重复报文的检测方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的重复报文的检测方法。

本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1