System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及报文过滤,更具体地说,它涉及一种gre协议报文的过滤方法、系统、设备及介质。
技术介绍
1、网络报文过滤是一种基于应用层的流量监测和控制技术,但网络报文的协议众多,复杂程度也不相一致,进一步增加了报文过滤设备的性能需求;而gre协议因其自身格式复杂,前后支持的报文协议也众多,针对过滤gre报文的方式有待开发。
技术实现思路
1、本专利技术的目的在于提供一种gre协议报文的过滤方法、系统、设备及介质,以解决上述
技术介绍
中存在的问题。
2、本专利技术的上述技术目的是通过以下技术方案得以实现的:
3、第一方面,本申请实施例提供了一种gre协议报文的过滤方法,包括以下步骤:
4、获取待过滤的网络报文,网络报文包括网络内层报文和网络外层报文;
5、确定网络外层报文中目标报文层的起始位置,并得到目标报文层中是否含有gre报文的识别结果;
6、若识别结果为含有gre报文,执行预置的过滤方式并得到网络报文中的gre报文。
7、本专利技术的有益效果是:本方案中,利用提出的过滤方式可以实现增加网络处理器的报文过滤支持协议类型,提高灵活性,并精准提取出gre报文中的指定字段,并可结合报文中其他层的元素完成校验,标记,实现更多的需求;同时,过滤gre报文时,通过采用的流水设计,不阻塞,加速了复杂协议下网络处理器的性能。
8、在上述技术方案的基础上,本专利技术还可以做如下改进。
9、进一步,上述方法
10、根据gre报文得到gre报文的结束位置,将gre报文的结束位置确定为网络外层报文和网络内层报文之间的分界位置。
11、采用上述进一步方案的有益效果是:可以找出网络报文中的网络外层报文和网络内层报文之间的分界位置,以便于对网络内层报文的处理。
12、进一步,上述网络外层报文包括依次排列的第一目标层、第二目标层和目标报文层;确定网络外层报文中目标报文层的起始位置,包括:
13、获取第一目标层的报文类型,根据第一目标层的报文类型得到第一目标层的结束位置;
14、将第一目标层的结束位置确定为第二目标层的起始位置,根据第二目标层的报文类型,得到第二目标层的结束位置,并将第二目标层的结束位置作为目标报文层的起始位置。
15、采用上述进一步方案的有益效果是:经过逐级处理,最终得出每个报文中gre部分的匹配结果,完成多层报文过滤处理。
16、进一步,上述过滤方式具体为:
17、将目标报文层的起始位置作为gre报文中头部层的起始位置,并得到头部层的结束位置;
18、将头部层的结束位置作为gre报文中数据层的起始位置,从数据层的起始位置进行逐拍扫描,得到数据层中的连续排列的多个变长负载,变长负载包括数据头和数据负载;
19、直到最后一个变长负载中的数据负载的长度为零,将最后一个变长负载中数据头的结束位置确定为gre报文的结束位置。
20、采用上述进一步方案的有益效果是:本方案中,通过当拍确定gre报文的边界,保证报文的过滤不阻塞,提高整体系统性能;克服了现有方法中过滤范围局限,过滤不灵活的缺点;而通过确定每一个gre部分的界限,可以过滤复杂变长的包含gre的网络报文,从而兼顾网络报文过滤大带宽和灵活性的要求。
21、第二方面,本申请实施例提供了一种gre协议报文的过滤系统,应用于第一方面中任一项的一种gre协议报文的过滤方法,包括:
22、第一模块,用于获取待过滤的网络报文,网络报文包括网络内层报文和网络外层报文;
23、第二模块,用于确定网络外层报文中目标报文层的起始位置,并得到目标报文层中是否含有gre报文的识别结果;
24、第三模块,用于若识别结果为含有gre报文,执行预置的过滤方式并得到网络报文中的gre报文。
25、进一步,上述系统还包括:
26、第四模块,用于根据gre报文得到gre报文的结束位置,将gre报文的结束位置确定为网络外层报文和网络内层报文之间的分界位置。
27、进一步,上述网络外层报文包括依次排列的第一目标层、第二目标层和目标报文层;第二模块,包括:
28、第一子模块,用于获取第一目标层的报文类型,根据第一目标层的报文类型得到第一目标层的结束位置;
29、第二子模块,用于将第一目标层的结束位置确定为第二目标层的起始位置,根据第二目标层的报文类型,得到第二目标层的结束位置,并将第二目标层的结束位置作为目标报文层的起始位置;
30、进一步,上述第三模块包括:
31、第四子模块,用于将目标报文层的起始位置作为gre报文中头部层的起始位置,并得到头部层的结束位置;
32、第五子模块,用于将头部层的结束位置作为gre报文中数据层的起始位置,从数据层的起始位置进行逐拍扫描,得到数据层中的连续排列的多个变长负载,变长负载包括数据头和数据负载;
33、第六子模块,用于直到最后一个变长负载中的数据负载的长度为零,将最后一个变长负载中数据头的结束位置确定为gre报文的结束位置。
34、第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面中任一项的方法。
35、第四方面,一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面中任一项的方法。
36、与现有技术相比,本专利技术至少具有以下的有益效果:
37、在本申请中,利用提出的过滤方式可以实现增加网络处理器的报文过滤支持协议类型,提高灵活性,并精准提取出gre报文中的指定字段,并可结合报文中其他层的元素完成校验,标记,实现更多的需求;同时,过滤gre报文时,通过采用的流水设计,不阻塞,加速了复杂协议下网络处理器的性能。
38、在本申请中,通过当拍确定gre报文的边界,保证报文的过滤不阻塞,提高整体系统性能;克服了现有方法中过滤范围局限,过滤不灵活的缺点;而通过确定每一个gre部分的界限,可以过滤复杂变长的包含gre的网络报文,从而兼顾网络报文过滤大带宽和灵活性的要求;并通过经过逐级处理,最终得出每个报文中gre部分的匹配结果,完成多层报文过滤处理,同时可以找出网络报文中的网络外层报文和网络内层报文之间的分界位置,以便于对网络内层报文的处理。
本文档来自技高网...【技术保护点】
1.一种GRE协议报文的过滤方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种GRE协议报文的过滤方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的一种GRE协议报文的过滤方法,其特征在于,所述网络外层报文包括依次排列的第一目标层、第二目标层和目标报文层;所述确定所述网络外层报文中目标报文层的起始位置,包括:
4.根据权利要求1所述的一种GRE协议报文的过滤方法,其特征在于,所述过滤方式具体为:
5.一种GRE协议报文的过滤系统,应用于权利要求1-4中任一项所述的一种GRE协议报文的过滤方法,其特征在于,包括:
6.根据权利要求5所述的一种GRE协议报文的过滤系统,其特征在于,所述系统还包括:
7.根据权利要求5所述的一种GRE协议报文的过滤系统,其特征在于,所述网络外层报文包括依次排列的第一目标层、第二目标层和目标报文层;所述第二模块,包括:
8.根据权利要求5所述的一种GRE协议报文的过滤系统,其特征在于,所述第三模块包括:
9.一种电子设备,其特征在于,包括
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行权利要求1-4中任一项所述的方法。
...【技术特征摘要】
1.一种gre协议报文的过滤方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种gre协议报文的过滤方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的一种gre协议报文的过滤方法,其特征在于,所述网络外层报文包括依次排列的第一目标层、第二目标层和目标报文层;所述确定所述网络外层报文中目标报文层的起始位置,包括:
4.根据权利要求1所述的一种gre协议报文的过滤方法,其特征在于,所述过滤方式具体为:
5.一种gre协议报文的过滤系统,应用于权利要求1-4中任一项所述的一种gre协议报文的过滤方法,其特征在于,包括:
6.根据权利要求5所述的一种gre协议报...
【专利技术属性】
技术研发人员:董建雄,杨成勇,王寅,张琴,
申请(专利权)人:成都北中网芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。