System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理领域以及通信,具体而言,涉及一种报文处理方法、系统以及装置。
技术介绍
1、ipsec(internet protocol security)是一组用于在网络上建立安全连接的通信规则或协议。互联网协议是确定数据如何通过互联网传输的通用标准。ipsec在此基础上融入加密和身份验证,使此协议更加安全。ipsec使用非对称和对称加密在数据传输过程中提供速度和安全性。在非对称加密中,加密密钥是公开的,而解密密钥是保密的。对称加密使用相同的公钥来加密和解密数据。ipsec通过非对称加密建立安全连接,然后切换到对称加密以加快数据传输。
2、首先,要使用ipsec安全服务,必须先在通信双方之间创建安全关联(securityassociation,sa)。sa数据是一组在建立ipsec关系的设备之间协商的ipsec规范。这些规范包括在建立ipsec连接时应使用的身份验证、加密和ipsec协议类型的偏好。由于对称加密和身份验证都是计算复杂性任务,如果用基于通用cpu的软件实现,其效能一般很低。因此,采用硬件加速芯片或设备来分担cpu的压力是很常见的选择。
3、但是,一个sa数据至少需要定义加密算法和密钥,身份验证算法和密钥。主流的对称加密算法和身份验证算法一般使用256-bit密钥,因此一个单向的sa数据仅保存密钥部分就需要64字节。在此基础上,由于每处理一个报文都必须要读取其对应的sa数据,因此当一个设备同时支持数万个sa数据时,sa数据本身对内存的带宽压力就非常大,进而影响报文处理的速度。
技术实现思路
1、本申请实施例提供了一种报文处理方法、系统以及装置,以至少解决现有技术中利用sa数据处理ipsec报文时,由于大量的sa数据需要从内存中读取,导致的报文处理速度慢的技术问题。
2、根据本申请实施例的一个方面,提供了一种报文处理方法,包括:在接收到目标报文的情况下,通过数据读取控制器检测目标缓存中是否存储与目标报文携带的报文元数据相对应的目标协商数据,其中,目标缓存用于缓存通信系统中正在使用的协商数据,协商数据表征通信双方协商使用的数据加密协议信息;在检测到目标缓存中已存储目标协商数据的情况下,将报文元数据和目标协商数据发送至调度控制器;通过调度控制器将报文元数据和目标协商数据发送至n个处理引擎中的任意一个处于空闲状态的处理引擎,其中,n为大于1的整数,n个处理引擎用于采用并行处理方式对多个报文进行处理;通过处于空闲状态的处理引擎依据报文元数据和目标协商数据对目标报文进行处理。
3、可选地,在通过数据读取控制器检测目标缓存中是否存储与目标报文携带的报文元数据相对应的目标协商数据之后,报文处理方法还包括:在检测到目标缓存中未存储目标协商数据的情况下,将报文元数据发送至m个协商数据接收站中的任意一个处于空闲状态的协商数据接收站,其中,m为大于1的整数,协商数据接收站用于读取目标内存中的协商数据;通过处于空闲状态的协商数据接收站从目标内存中读取与报文元数据相对应的目标协商数据,并将目标协商数据和报文元数据发送至调度控制器,以及将目标协商数据存储至目标缓存中。
4、可选地,目标缓存中包括多个存储单元,多个存储单元中的每个存储单元用于存储一个完整的协商数据,报文处理方法还包括:在数据读取控制器接收到目标报文的报文元数据,并且检测到目标报文的目标协商数据存储在第i个存储单元中时,对第i个存储单元的计数器进行加一操作,其中,加一操作表征新增一个需要利用第i个存储单元中的目标协商数据进行处理的报文,第i个存储单元为多个存储单元中的任意一个存储单元;在检测到目标报文被任意一个处理引擎完成处理之后,对第i个存储单元的计数器进行减一操作,其中,减一操作表征减少一个需要利用第i个存储单元中的目标协商数据进行处理的报文。
5、可选地,报文处理方法还包括:在检测到第i个存储单元的计数器的当前计数为0时,确定通信系统中不存在需要利用第i个存储单元中的目标协商数据进行处理的报文;对第i个存储单元进行回收操作,其中,回收操作用于控制第i个存储单元删除目标协商数据并且允许存储除目标协商数据之外的其他协商数据。
6、可选地,通过调度控制器将报文元数据和目标协商数据发送至n个处理引擎中的任意一个处于空闲状态的处理引擎,包括:从多个结果缓存区域中确定处于空闲状态的结果缓存区域作为第一缓存区域,其中,结果缓存区域用于存储每处理完一个报文后所生成的元数据;获取目标报文的报文标识和第一缓存区域的区域标识;将报文标识和区域标识组成一个队列元素;将队列元素添加到与目标协商数据相对应的保序队列中,其中,保序队列中的第j个队列元素进入保序队列的时刻早于第j+1个队列元素进入保序队列的时刻,j为大于或等于1的整数;将由报文标识和区域标识组成的队列元素、报文元数据以及目标协商数据发送至n个处理引擎中的任意一个处于空闲状态的处理引擎。
7、可选地,在将由报文标识和区域标识组成的队列元素、报文元数据以及目标协商数据发送至n个处理引擎中的任意一个处于空闲状态的处理引擎之后,报文处理方法还包括:在控制处于空闲状态的处理引擎依据报文元数据和目标协商数据对目标报文进行处理的过程中,获取目标报文在处理过程中生成的目标元数据,其中,目标元数据用于描述目标报文的处理结果;将目标元数据写入第一缓存区域,并将第一缓存区域的状态标记为目标状态,其中,目标状态表征目标报文已经处理完成。
8、可选地,报文处理方法还包括:检测保序队列中的首个队列元素中的区域标识所对应的结果缓存区域是否标记为目标状态;在检测到首个队列元素中的区域标识所对应的结果缓存区域被标记为目标状态的情况下,输出与首个队列元素相对应的报文的处理结果,并且将首个队列元素从保序队列中删除;在检测到首个队列元素中的区域标识所对应的结果缓存区域未被标记为目标状态的情况下,禁止输出保序队列中的任何一个队列元素所对应的报文的处理结果。
9、根据本申请的另一方面,还提供了一种报文处理系统,其中,包括:目标缓存,用于缓存通信系统中正在使用的协商数据,其中,协商数据表征通信双方协商使用的数据安全信息;数据读取控制器,用于在接收到目标报文的情况下,检测目标缓存中是否存储与目标报文携带的有报文元数据相对应的目标协商数据;在检测到目标缓存中存在目标协商数据的情况下,将报文元数据和目标协商数据发送至调度控制器;调度控制器,用于将报文元数据和目标协商数据发送至n个处理引擎中的任意一个处于空闲状态的处理引擎,其中,n为大于1的整数,n个处理引擎用于采用并行处理方式对多个报文进行处理;n个处理引擎,其中,n个处理引擎中的处于空闲状态的处理引擎,用于依据报文元数据和目标协商数据对目标报文进行处理。
10、可选地,报文处理系统还包括:m个协商数据接收站,每个所述协商数据接收站用于读取所述目标内存中的协商数据,其中,m为大于1的整数;数据读取控制器,还用于在检测到目标缓存本文档来自技高网...
【技术保护点】
1.一种报文处理方法,其特征在于,包括:
2.根据权利要求1所述的报文处理方法,其特征在于,在通过数据读取控制器检测目标缓存中是否存储与目标报文携带的报文元数据相对应的目标协商数据之后,所述报文处理方法还包括:
3.根据权利要求1所述的报文处理方法,其特征在于,所述目标缓存中包括多个存储单元,所述多个存储单元中的每个存储单元用于存储一个完整的协商数据,所述报文处理方法还包括:
4.根据权利要求3所述的报文处理方法,其特征在于,所述报文处理方法还包括:
5.根据权利要求1所述的报文处理方法,其特征在于,通过所述调度控制器将所述报文元数据和所述目标协商数据发送至N个处理引擎中的任意一个处于空闲状态的处理引擎,包括:
6.根据权利要求5所述的报文处理方法,其特征在于,在将由所述报文标识和所述区域标识组成的队列元素、所述报文元数据以及所述目标协商数据发送至N个处理引擎中的任意一个处于空闲状态的处理引擎之后,所述报文处理方法还包括:
7.根据权利要求5或6所述的报文处理方法,其特征在于,所述报文处理方法还包括:
...【技术特征摘要】
1.一种报文处理方法,其特征在于,包括:
2.根据权利要求1所述的报文处理方法,其特征在于,在通过数据读取控制器检测目标缓存中是否存储与目标报文携带的报文元数据相对应的目标协商数据之后,所述报文处理方法还包括:
3.根据权利要求1所述的报文处理方法,其特征在于,所述目标缓存中包括多个存储单元,所述多个存储单元中的每个存储单元用于存储一个完整的协商数据,所述报文处理方法还包括:
4.根据权利要求3所述的报文处理方法,其特征在于,所述报文处理方法还包括:
5.根据权利要求1所述的报文处理方法,其特征在于,通过所述调度控制器将所述报文元数据和所...
【专利技术属性】
技术研发人员:王章磊,
申请(专利权)人:山石网科通信技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。