基于帧记忆池的PRP协议重复帧判别处理方法及系统技术方案

技术编号:35018026 阅读:37 留言:0更新日期:2022-09-24 22:45
本发明专利技术公开了一种基于帧记忆池(Frame Memory Pool,FMP)的并行冗余协议(Parallel Redundancy Protocol,PRP)重复帧判别处理方法及系统。本方法中,首先,FMP记录报文帧及对应的相关信息,并根据发送方MAC地址建立帧记忆子池(Frame Memory SubPool,FMSP);接着,FMP池通过发送方MAC地址进行分类索引,将源于同一MAC地址的信息存放于同一个FMSP中;最后,当节点接收到新报文帧时,根据帧的MAC地址索引到对应的FMSP,并对新接收到的报文帧和FMSP进行处理。本系统应用于一种基于帧记忆池的并行冗余协议重复帧判别处理方法,包括接收模块、索引模块、处理模块。本发明专利技术既可适应帧乱序接收,又可避免出现帧重复提交,同时FMSP的大小依据应用通信报文频率设定,即可满足应用需求,避免了设置过大影响查找效率。避免了设置过大影响查找效率。避免了设置过大影响查找效率。

【技术实现步骤摘要】
基于帧记忆池的PRP协议重复帧判别处理方法及系统


[0001]本专利技术属于高可用网络通信
,特别是涉及一种基于帧记忆池的PRP重复帧判别处理方法及系统。

技术介绍

[0002]并行冗余协议(ParallelRedundancyProtocol,PRP)是IEC62439标准中针对控制领域网络通信高可用需求,在TCP/IP基础上改进的一种零丢包通信机制,PRP通过连接在两个独立的子网上的两个网口发送复制的、在数据尾部追加PRP特定信息RCT(帧号SequenceNumber、长度、PRP协议类型、通道号等)字段的报文,接收方也通过连接在独立的子网上的两个网口接收报文,通过对数据尾部RCT字段信息判断,提交先接收到的报文,丢弃后接收到的帧(Frame)。
[0003]现有的重复帧判别处理算法主要有基于序列号的双窗口丢弃机制、基于源MAC(MediaAccessControlAddress)及序列号表的查找机制,基本上都没考虑帧乱序接收情形,并且偶尔还会出现提交个别重复帧的现象。所谓传统帧乱序接收是指接收方接收到的帧序号出现非递增顺序的情形,也就是新、后到帧帧号小于先到帧帧号,在这种情形下现有的机制会丢弃合法帧。所谓提交个别重复帧是指重复提交应该丢弃的同一帧号的报文,往往出现在基于滑动窗口的丢弃机制中。

技术实现思路

[0004]本专利技术目的在于提供一种可以兼容以太网报文乱序情形时用于重复帧判断处理的数据结构及判断方法,解决现有技术在帧乱序接收情形下,处理效率较低,并且偶尔还会出现提交个别重复帧的问题。
[0005]为了实现本专利技术目的,本专利技术公开了一种基于帧记忆池FMP(FrameMemoryPool)的PRP重复帧判别处理方法,包括以下步骤:
[0006]步骤1、帧记忆池FMP记录PRP报文帧及对应的相关信息,并根据发送方MAC地址建立帧记忆子池FMSP(FrameMemorySubPool);
[0007]步骤2、帧记忆池FMP通过发送方MAC地址进行分类索引,将源于同一MAC地址的信息存放于同一个FMSP中;
[0008]步骤3、当节点接收到新PRP报文帧F
p
时,根据F
p
的源MAC地址SMAC
Fp
索引到对应于SMAC
Fp
的帧记忆子池,并对F
p
和进行处理。
[0009]进一步地,所述的与PRP报文帧F
p
对应的相关信息包括发送方的源MAC地址SMAC
Fp
、PRP报文帧帧号SN
Fp
、到达时间、接收通道号。
[0010]进一步地,FMP为结构数组链表或二维数组链表,初始时为空,并分别设有一个空的头指针pFMPHead和尾指针pFMPTail;结构数组链表或二维数组链表的每一个成员对应网络中每个发送节点的FMSP,每个FMSP存放从相应发送节点MAC地址的接收到的报文帧帧号SN
Fp
及对应的相关信息。
[0011]进一步地,检查中是否存在F
p
的帧号SN
Fp
,并根据检查结果作出进一步处理,具体步骤如下:
[0012]步骤3

1、根据F
p
的SMAC
Fp
查找到对应的,如果未查找到,则跳到步骤3

3;
[0013]步骤3

2、检查中是否存在F
p
的SN
Fp
;如果存在,则删除中的SN
Fp
及对应的相关信息,并丢弃F
p
,跳到步骤3

5;
[0014]步骤3

3、为SMAC
Fp
创建一个帧记忆子池,并将F
p
对应的相关信息填入;如果pHead为空,则pFMPHead指向,pFMPTail 指向;否则,pFMPTail

Next指向,然后pFMPTail指向;
[0015]步骤3

4、在中增加SN
Fp
及相关信息,然后将F
p
中的RCT字段删除后,提交到上层协议;
[0016]步骤3

5、完成处理。
[0017]进一步地,组成PRP网络的每个节点中的两个网卡驱动同时维护一个FMP。
[0018]进一步地,当到达时间不为0时,表示PRP报文帧帧号SN
Fp
对应的成员有效;当到达时间为0时,表示PRP报文帧帧号SN
Fp
对应的成员无效,即能够用来存储新的帧信息。
[0019]进一步地,步骤3

2中删除中的SN
Fp
及对应的相关信息,是通过将到达时间置为0来实现的。
[0020]进一步地,步骤3中,为避免FMSP满的情形,在进行PRP报文帧帧号比对时,同时比对帧号的老化时间,所述老化时间是指当前时间与帧接收时间的差值;系统在初始化时预设老化时间阈值,若帧号的老化时间超出设定的老化阈值,则从FMSP中删除帧号对应的相关信息。
[0021]进一步地,FMSP的大小依据应用通信网络报文频率设定调节。
[0022]为了实现本专利技术的目的,本专利技术还公开了一种基于帧记忆池的PRP重复帧判别处理系统,包括以下模块:
[0023]接收模块,所述接收模块中,帧记忆池FMP记录PRP报文帧及对应的相关信息,并根据发送方MAC地址建立帧记忆子池FMSP;
[0024]索引模块,所述索引模块中,帧记忆池FMP通过发送方MAC地址进行分类索引,将源于同一MAC地址的信息存放于同一个FMSP中;
[0025]处理模块,所述处理模块中,当节点接收到新PRP报文帧F
p
时,根据F
p
的源MAC地址SMAC
Fp
索引到对应于SMAC
Fp
的帧记忆子池,并对F
p
和进行处理。
[0026]与现有技术相比,本专利技术具有以下有益效果:1)通过采用接收池缓存近一段时间内接收到的帧信息,采用比较查找的方式判别重复帧,既可适应帧乱序接收,又可避免出现帧重复提交;2)FMSP的大小依据应用通信报文频率设定,即可满足应用需求,又避免了设置过大影响查找效率。
[0027]为更清楚说明本专利技术的功能特性以及结构参数,下面结合附图及具体实施方式进一步说明。
附图说明
[0028]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0029]图1为一种基于帧记忆池的PRP重复帧判别处理方法流程示意图。
具体实施方式
[0030]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于帧记忆池的PRP重复帧判别处理方法,其特征在于,包括以下步骤:步骤1、帧记忆池FMP记录PRP报文帧及对应的相关信息,并根据发送方MAC地址建立帧记忆子池FMSP;步骤2、帧记忆池FMP通过发送方MAC地址进行分类索引,将源于同一MAC地址的信息存放于同一个FMSP中;步骤3、当节点接收到新PRP报文帧F
p
时,根据F
p
的源MAC地址索引到对应于的帧记忆子池并对F
p
和进行处理。2.根据权利要求1所述的一种基于帧记忆池的PRP重复帧判别处理方法,其特征在于,所述的与PRP报文帧F
p
对应的相关信息包括发送方的源MAC地址PRP报文帧帧号到达时间接收通道号3.根据权利要求2所述的一种基于帧记忆池的PRP重复帧判别处理方法,其特征在于,FMP为结构数组链表或二维数组链表,初始时为空,并分别设有一个空的头指针pFMPHead和尾指针pFMPTail;结构数组链表或二维数组链表的每一个成员对应网络中每个发送节点的FMSP,每个FMSP存放从相应发送节点MAC地址的接收到的报文帧帧号及对应的相关信息。4.根据权利要求3所述的一种基于帧记忆池的PRP重复帧判别处理方法,步骤3、当节点接收到新PRP报文帧F
p
时,根据F
p
的源MAC地址索引到对应于的帧记忆子池其特征在于,检查中是否存在F
p
的帧号并根据检查结果作出进一步处理,具体步骤如下:步骤3

1、根据F
p
的查找到对应的如果未查找到则跳到步骤3

3;步骤3

2、检查中是否存在F
p
的如果存在,则删除中的及对应的相关信息,并丢弃F
p
,跳到步骤3

5;步骤3

3、为创建一个帧记忆子池并将F
p
对应的相关信息填入如果pHead为空,则pFMPHead指向pFMPTa...

【专利技术属性】
技术研发人员:孔祥营陈学兵张振华王凯龙凌云锋沈毅南
申请(专利权)人:中国船舶重工集团公司第七一六研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1