System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及信息处理,更具体的说是涉及一种报文处理方法、装置及网络设备。
技术介绍
1、目前,针对智能网卡(smartnic)中针对虚拟交换机(如ovs:open vswitch)的数据平面进行卸载,减少网络处理对cpu(中央处理器)资源消耗,释放cpu核给云业务,并且可以降低虚拟交换机快路径处理时延,在云计算中有广泛的应用场景。为了满足云计算的虚拟化需求,可以通过特定网络构建云网络的网络协议,例如,通过vxlan网络构建云网络是当前最主流的协议方案。
2、但是,目前虚拟交换机数据平面卸载解决方案在分组处理和转发前,需要对报文进行进行串行解析,时延较大,会影响基于智能网卡的虚拟交换机卸载方案。
技术实现思路
1、有鉴于此,本申请提供如下技术方案:
2、一种报文处理方法,包括:
3、响应于当前虚拟隧道端点接收到待传输报文,获取所述待传输报文的外层报文数据;其中,所述待传输报文为将虚拟网络中的数据帧封装在物理网络中进行传输的报文,所述待传输报文通过目标隧道进行传输,所述目标隧道包括至少一个虚拟隧道端点;所述待传输报文包括外层报文数据和内层报文数据,所述外层报文数据表征虚拟网络层数据,所述内层报文数据表征物理网络层数据;
4、对所述外层报文数据进行解析,获得外层报文数据解析结果;
5、若所述外层报文数据解析结果表征所述当前虚拟隧道端点不是虚拟隧道终点,将所述待传输报文传输至与所述当前虚拟隧道端点对应的下一虚拟隧道端点。
7、若所述外层报文数据解析结果表征所述当前虚拟隧道端点是虚拟隧道终点,获得所述待传输报文的内层报文数据;
8、对所述内层报文数据进行解析,获得内层报文数据解析结果;
9、基于所述内层报文数据解析结果,确定物理网络的目的端点;
10、将所述待传输报文传输至所述物理网络的目的端点。
11、可选地,所述外层报文数据解析结果表征所述当前虚拟隧道端点不是虚拟隧道终点,包括:
12、若所述外层报文数据解析结果中获得的用户数据包协议头端口号与目标端口号不相等,确定所述当前虚拟隧道端点不是虚拟隧道终点;
13、或者,
14、若所述外层报文数据解析结果中的虚拟隧道终点网络地址与当前虚拟隧道端点的网络地址不同,确定所述当前虚拟隧道端点不是虚拟隧道终点。
15、可选地,所述将所述待传输报文传输至与所述当前虚拟隧道端点对应的下一虚拟隧道端点,包括:
16、若所述外层报文数据解析结果中获得目的用户数据包协议头端口号与目标端口号不相等,确定所述待传输报文与所述目标隧道传输的报文类型不同;
17、基于所述目标端口号对所述待传输报文进行重封装;
18、将重封装的待传输报文传输至与所述当前虚拟隧道端点对应的下一虚拟隧道端点。
19、可选地,若所述外层报文数据解析结果中的虚拟隧道终点网络地址与当前虚拟隧道端点的网络地址不同,所述方法还包括:
20、响应于将所述待传输报文传输至与所述当前虚拟隧道端点对应的下一虚拟隧道端点,获得所述下一虚拟隧道端点的网络地址;
21、若所述虚拟隧道终点网络地址与所述下一虚拟隧道端点的网络地址不同,将所述待传输报文传输至与所述下一虚拟隧道端点对应的下一虚拟隧道端点。
22、可选地,所述获取所述待传输报文的外层报文数据,包括:
23、对所述待传输报文进行解封装,获得所述待传输报文的外层报文数据;
24、其中,所述将所述待传输报文传输至与所述当前虚拟隧道端点对应的下一虚拟隧道端点,包括:
25、将解封装后的待传输报文进行封装,并将封装后的待传输报文传输至与所述当前虚拟隧道端点对应的下一虚拟隧道端点。
26、可选地,所述基于所述内层报文数据解析结果,确定物理网络的目的端点,包括:
27、基于所述外层报文数据解析结果中的外层头数据对所述内层报文数据进行解析,获得内层目的mac地址;
28、根据内层报文的二层转发表信息和内层目的mac地址进行二层转发表查找,获得物理网络的目的端点。
29、一种报文处理装置,包括:
30、获取单元,用于响应于当前虚拟隧道端点接收到待传输报文,获取所述待传输报文的外层报文数据;其中,所述待传输报文为将虚拟网路中的数据帧封装在物理网络中进行传输的报文,所述待传输报文通过目标隧道进行传输,所述目标隧道包括至少一个虚拟隧道端点;所述待传输报文包括外层报文数据和内层报文数据,所述外层报文数据表征虚拟网络层数据,所述内层报文数据表征物理网络层数据;
31、解析单元,用于对所述外层报文数据进行解析,获得外层报文数据解析结果;
32、传输单元,用于若所述外层报文数据解析结果表征所述当前虚拟隧道端点不是虚拟隧道终点,将所述待传输报文传输至与所述当前虚拟隧道端点对应的下一虚拟隧道端点。
33、一种网络设备,包括:
34、存储器,用于存储应用程序和所述应用程序运行所产生的数据;
35、处理器,用于执行所述应用程序,以实现如上述中任一项所述的报文处理方法。
36、一种存储介质,包括计算机指令,当所述计算机指令在网络设备上运行时,使得所述网络设备执行如上述中任一项所述的报文处理方法。
本文档来自技高网...【技术保护点】
1.一种报文处理方法,包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求1所述的方法,所述外层报文数据解析结果表征所述当前虚拟隧道端点不是虚拟隧道终点,包括:
4.根据权利要求3所述的方法,所述将所述待传输报文传输至与所述当前虚拟隧道端点对应的下一虚拟隧道端点,包括:
5.根据权利要求3所述的方法,若所述外层报文数据解析结果中的虚拟隧道终点网络地址与当前虚拟隧道端点的网络地址不同,所述方法还包括:
6.根据权利要求1所述的方法,所述获取所述待传输报文的外层报文数据,包括:
7.根据权利要求2所述的方法,所述基于所述内层报文数据解析结果,确定物理网络的目的端点,包括:
8.一种报文处理装置,包括:
9.一种网络设备,包括:
10.一种存储介质,包括计算机指令,当所述计算机指令在网络设备上运行时,使得所述网络设备执行如权利要求1至7中任一项所述的报文处理方法。
【技术特征摘要】
1.一种报文处理方法,包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求1所述的方法,所述外层报文数据解析结果表征所述当前虚拟隧道端点不是虚拟隧道终点,包括:
4.根据权利要求3所述的方法,所述将所述待传输报文传输至与所述当前虚拟隧道端点对应的下一虚拟隧道端点,包括:
5.根据权利要求3所述的方法,若所述外层报文数据解析结果中的虚拟隧道终点网络地址与当前虚拟隧道端点的网络地址不同...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。