本发明涉及通信,具体而言,涉及一种隧道识别方法、装置、交换机芯片及存储介质。
背景技术:
1、网络隧道技术是一种通过使用互联网络的基础设施在网络之间建立一条虚拟链路以传递数据的方式。当前,存在多种隧道技术,如二层mac-in-mac隧道、三层mpls(multi-protocol label switching,多协议标签交换)隧道、ip-in-ip隧道等等。对于不同的隧道格式的报文,交换机芯片需要先对其进行识别和区分,才能针对不同隧道进行不同的处理。
2、然而,经发明人研究发现,现有的网络隧道技术一般仅能对常见的隧道进行识别,识别不够精准。
技术实现思路
1、本发明的目的包括,例如,提供了一种隧道识别方法、装置、交换机芯片及存储介质,其能够至少部分解决上述技术问题。
2、本发明的实施例可以这样实现:
3、第一方面,本发明实施例提供了一种隧道识别方法,所述方法包括:
4、获取目标报文,并对所述目标报文进行解析,得到报文解析数据;
5、基于所述报文解析数据与预设隧道类型表,确定所述目标报文的隧道类型;
6、根据所述隧道类型对应的索引信息,从所述报文解析数据中截取出与所述索引信息对应的目标关联数据;
7、基于所述目标关联数据,从多个隧道查找字段中确定出目标隧道查找字段;
8、基于所述目标隧道查找字段,查找与所述目标报文对应的目标隧道。
9、可选地,所述预设隧道类型表包括多个隧道类型匹配信息;所述基于所述报文解析数据与预设隧道类型表,确定所述目标报文的隧道类型,包括:
10、将所述报文解析数据分别与各所述隧道类型匹配信息进行匹配,并对匹配成功的隧道类型匹配信息进行标记;
11、根据标记的所述隧道类型匹配信息,确定所述目标报文的隧道类型。
12、可选地,所述方法还包括:
13、若所述报文解析数据与各所述隧道类型匹配信息匹配失败,则确定所述目标报文为非隧道类型报文;
14、按照预设非隧道类型报文流程对所述非隧道类型报文进行处理。
15、可选地,所述隧道类型匹配信息包括报文层头匹配信息以及端口匹配信息,所述报文解析数据包括报文层头数据以及端口配置数据;所述将所述报文解析数据分别与各所述隧道类型匹配信息进行匹配,并对匹配成功的隧道类型匹配信息进行标记,包括:
16、根据所述报文解析数据的报文层头数据确定所述目标报文各层头的类型;
17、根据所述目标报文各层头的类型,从所述报文层头匹配信息中确定对应的目标报文层头,并对所述目标报文层头进行标记;
18、根据所述报文解析数据的端口配置数据确定所述目标报文的端口配置信息;
19、根据所述目标报文的端口配置信息,从所述端口匹配信息中确定对应的目标端口信息,并对所述目标端口信息进行标记。
20、可选地,所述隧道类型匹配信息还包括组播匹配信息、路由匹配信息以及自定义匹配信息;所述将所述报文解析数据分别与各所述隧道类型匹配信息进行匹配,并对匹配成功的隧道类型匹配信息进行标记,还包括:
21、根据所述报文解析数据判断所述目标报文是否组播;若是,则对所述组播匹配信息进行标记;
22、根据所述报文解析数据判断所述目标报文是否路由;若是,则对所述路由匹配信息进行标记;
23、判断所述报文解析数据中是否包含有与所述自定义匹配信息对应的预设自定义报文格式信息;若是,则对所述自定义匹配信息进行标记。
24、可选地,所述索引信息包括隧道类型索引信息、隧道选择索引信息以及自定义索引信息;所述根据所述隧道类型对应的索引信息,从所述报文解析数据中截取出与所述索引信息对应的目标关联数据,包括:
25、分别根据所述隧道类型索引信息、所述隧道选择索引信息以及所述自定义索引信息,从所述报文解析数据中确定对应的第一目标字段、第二目标字段以及第三目标字段;
26、截取所述第一目标字段、所述第二目标字段以及所述第三目标字段,并将截取的所述第一目标字段、所述第二目标字段以及所述第三目标字段进行组合,得到所述目标关联数据。
27、可选地,所述方法还包括:
28、基于所述目标隧道,确定目标解封装方式;
29、基于所述目标解封装方式对所述目标报文解封装。
30、第二方面,本发明实施例提供了一种隧道识别装置,所述隧道识别装置包括:
31、目标报文获取单元,用于获取目标报文,并对所述目标报文进行解析,得到报文解析数据;
32、隧道类型确定单元,用于基于所述报文解析数据与预设隧道类型表,确定所述目标报文的隧道类型;
33、目标关联数据截取单元,用于根据所述隧道类型对应的索引信息,从所述报文解析数据中截取出与所述索引信息对应的目标关联数据;
34、目标隧道查找字段确定单元,用于基于所述目标关联数据,从多个隧道查找字段中确定出目标隧道查找字段;
35、目标隧道查找单元,用于基于所述目标隧道查找字段,查找与所述目标报文对应的目标隧道。
36、第三方面,本发明实施例提供了一种交换机芯片,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。
37、第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在服务器实现上述任一项所述方法的步骤。
38、本发明实施例的有益效果包括,例如:
39、通过获取目标报文,对目标报文解析得到报文解析数据,然后将报文解析数据与预设隧道类型表进行匹配,确定出目标报文的隧道类型。再根据隧道类型对应的索引信息,从报文解析数据中截取出对应的目标关联数据。通过目标关联数据从多个隧道查找字段中确定出目标隧道查找字段。最后再通过目标隧道查找字段查找出与目标报文对应的目标隧道。由于设置了隧道类型表、索引信息、隧道查找字段等,因而在对报文进行隧道识别时需要进行多次的对比、匹配,最终才能够识别出报文对应的隧道,使得隧道识别更加准确。
1.一种隧道识别方法,其特征在于,所述方法包括:
2.如权利要求1所述的隧道识别方法,其特征在于,所述预设隧道类型表包括多个隧道类型匹配信息;所述基于所述报文解析数据与预设隧道类型表,确定所述目标报文的隧道类型,包括:
3.如权利要求2所述的隧道识别方法,其特征在于,所述方法还包括:
4.如权利要求2所述的隧道识别方法,其特征在于,所述隧道类型匹配信息包括报文层头匹配信息以及端口匹配信息,所述报文解析数据包括报文层头数据以及端口配置数据;所述将所述报文解析数据分别与各所述隧道类型匹配信息进行匹配,并对匹配成功的隧道类型匹配信息进行标记,包括:
5.如权利要求4所述的隧道识别方法,其特征在于,所述隧道类型匹配信息还包括组播匹配信息、路由匹配信息以及自定义匹配信息;所述将所述报文解析数据分别与各所述隧道类型匹配信息进行匹配,并对匹配成功的隧道类型匹配信息进行标记,还包括:
6.如权利要求1所述的隧道识别方法,其特征在于,所述索引信息包括隧道类型索引信息、隧道选择索引信息以及自定义索引信息;所述根据所述隧道类型对应的索引信息,从所述报文解析数据中截取出与所述索引信息对应的目标关联数据,包括:
7.如权利要求1所述的隧道识别方法,其特征在于,所述方法还包括:
8.一种隧道识别装置,其特征在于,所述隧道识别装置包括:
9.一种交换机芯片,其特征在于,所述交换机芯片在运行时实现权利要求1~7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在服务器实现权利要求1~7任一项所述方法的步骤。