一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于策略路由的数据转发方法、装置及存储介质与流程

2022-04-27 10:33:23 来源:中国专利 TAG:


1.本发明涉及网络通信技术领域,尤其涉及一种基于策略路由的数据转发方法、装置及存储介质。


背景技术:

2.通过overlay技术,可以在两个物理设备之上构建逻辑上的网络通信链路,可以非常灵活的构建多个虚拟子网以支持多租户,虚拟机迁移等服务。
3.rfc7348定义了vxlan(virtual extensible local area network,vlan扩展方案)。vxlan采用mac in udp(user datagram protocol,用户数据报协议)的封装方式,是nvo3(network virtualization over layer 3)中的一种网络虚拟化技术。作为云计算的核心技术之一,服务器虚拟化凭借其大幅降低it成本、提高业务部署灵活性、降低运维成本等优势已经得到越来越多的认可和部署。vxlan overlay ecmp通过ecmp group达到vxlan隧道的等价多路径负载均衡和链路备份。而在这其中,就需要根据具体工况对pbr(policy-based routing,策略路由)进行设计。
4.pbr是一种依据用户制定的策略进行路由选择的机制。传统的路由转发原理是首先根据报文的目的地址查找路由表,然后进行报文转发。但在这个过程中,也需要占用大量的路由转发表项资源,并且对网关设备本身的硬件要求也很高,导致初期建设和后期扩容的成本较高。


技术实现要素:

5.本发明的实施例提供一种基于策略路由的数据转发方法、装置及存储介质,能够节省路由转发表项资源,也降低对网关设备本身的硬件要求。
6.为达到上述目的,本发明的实施例采用如下技术方案:
7.第一方面,本发明的实施例提供的方法,包括:
8.对策略路由转发的数据流的数据包进行解析,所述并从所述数据包中提取匹配信息;
9.利用所述匹配信息触发策略路由进行匹配,对符合匹配条件的数据流进行重定向,其中,重定向的类型为ecmp group;
10.对于匹配条件的数据流,根据ecmp group表查找对应的ecmp成员,并根据查到的ecmp成员选择需要转发到的下一个设备;
11.进行报文vxlan封装,并将封装后的报文转发至所述下一个设备。
12.第二方面,本发明的实施例提供的方法,包括:
13.接收模块,用于对策略路由转发的数据流的数据包进行解析,所述并从所述数据包中提取匹配信息,所述数据包采用ip格式;
14.匹配模块,用于利用所述匹配信息触发策略路由进行匹配,对符合匹配条件的数据流进行重定向,其中,重定向的类型为ecmp group;
protocol)和四层端口号(port)。具体的,本实施例的虚拟ip地址可以作为重定向中的目的ip,四层端口号具体是udp/tcp四层端口号。本实施例中,区分普通路由和策略路由,按照业内通常所定义的,通常使用的路由即为普通路由也可称之为目的路由,其目的ip固定。而策略路由则更灵活,可以根据配置的规则对转发目的。策略路由本质上是一个路由转发规则,具体是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器。在实际应用中,策略路由通过程序实现的,部署在网关等硬件设备上,如图2中所示的switch。策略路由需要对所转发的数据流的数据包进行解析,而所述数据包采用ip格式,后文中将这种采用ip格式的数据包也可以称之为ip报文。
27.具体的,解析得到的结果包括第四层报头的信息,例如:服务端口号。实际应用中,除了ip报文还有二层报文即不包括ip头的。本实施例是基于策略路由的,需要解析查找路由转发的报文,该报文含有ip头,因此可也称之为ip报文。以太报文格式是二层头 三层头(ip层) 四层头。三层报文是指走三层转发(查路由转发)的报文,内部承载了四层头。以太报文格式是二层头 三层头(ip层) 四层头。三层报文是指走三层转发(查路由转发)的报文,内部承载了四层头。
28.s2、利用所述匹配信息触发策略路由进行匹配,对符合匹配条件的数据流进行重定向。
29.其中,增加重定向的类型为ecmp group。
30.s3、对于匹配条件的数据流,根据ecmp group表查找对应的ecmp成员,并根据查到的ecmp成员选择需要转发到的下一个设备。
31.进一步的,而对于非匹配的数据流,则可以通过普通路由转发处理。具体的,对于非匹配条件的数据流,所述策略路由查找当前加载的路由表,并确定需要转发到的下一个设备。
32.具体的,所述根据查到的ecmp成员选择需要转发到的下一个设备,包括:确定各个ecmp成员对应的设备;在所述查到的ecmp成员对应的设备中,利用哈希规则确定所述下一个设备。本实施例中可以根据哈希规则来“选择”下一跳的设备,例如图2中,标号为10.1.1.2~10.1.1.4的ecmp为成员,3个成员组成一个group,每一个成员对应多个设备(server),需要通过哈希规则选择。其中,需要转发到的下一个设备可以称之为vxlan下一跳,在vxlan三层组网中,部署了vxlan业务的设备,报文需要转发到的下一个设备。具体在图2中,pbr表示策略路由;match:125.10.1.2/tcp/port表示匹配条件,具体表示为:路由为125.10.1.2,tcp协议号为0x06,以及tcp端口号;action:redirect ecmp group表示动作,具体表示为:重定向到ecmp group;vxlan overlay ecmp表示vxlan叠加ecmp(等价路由);vswitch smart nic表示虚拟交换机 智能网卡;匹配信息为vip 125.10.1.2/tcp/port。
33.其中,普通路由是指取报文的dip进行路由查找的这类路由。switch是指交换设备,该设备上同时存在多种路由查找方式,普通路由直接取报文的dip查找,而该专利中提到的匹配了条件的路由则按照文中的方式处理。实际应用中,不管是匹配的数据流还是不匹配的数据流,都需要查找转发表获取转发信息,转发到下一个设备。非匹配的数据流,就是查找路由表,获取下一跳索引,查找下一跳表,获取ecmp group索引,再查找ecmp group表,最终获得出口。而匹配了条件的数据流,则不是查找路由,是直接在匹配条件的这个表
里获取到对应的ecmp group索引。
34.s4、进行报文vxlan封装,并将封装后的报文转发至所述下一个设备。
35.进一步的,还包括:在对符合匹配条件的数据流进行重定向之前,筛选出匹配条件的数据流。所述筛选出匹配条件的数据流,包括:
36.从待筛选的数据流提取报文,从所提取的报文中读取的信息包括:虚拟ip地址信息、协议号信息和四层端口号信息;将从报文中读取的信息与预先配置的值进行匹配,若匹配一致,则判定为匹配条件的数据流,例如:将所读取的虚拟ip地址信息、协议号信息和四层端口号信息与预先配置的值进行匹配,若三个信息与预先配置的值一致,则判定为匹配条件的数据流。其中,如本领域技术人员所知的,预先配置的值可以事先设定在策略路由里,在策略路由的配置表中以数值和字符的形式记录,其具体的内容其实与虚拟ip地址信息、协议号信息和四层端口号等信息的格式是相符合的。所述预先配置的值与所述匹配信息一致。例如:本实施例中所述的匹配指的是报文中的vip、/ip protocol/port字段的值与预配置的值进行匹配。实际应用中,数据流是三层数据流,数据报文携带了dip、ip protocol和port,提取报文中的这些字段与预配置的值进行匹配,如果一致就表面匹配了条件的数据报文以及数据流。
37.本实施例中,在对符合匹配条件的数据流进行重定向的过程中,获取ecmp group id。所述根据ecmp group表查找对应的ecmp成员包括:利用ecmp group id从ecmp group表中查找对应的ecmp成员,各个ecmp成员分别对应预设的vxlan隧道。
38.其中,新增重定向类型为ecmp group,并且获取到ecmp group id。具体的,可以配置基于五元组任意组合的ecmphash算法,对下一跳进行四层负载均衡,通过ecmp group id可以从ecmp group中选出实际的vxlan下一跳成员,该下一跳成员是预设的vxlan隧道。根据获取的ecmp成员选择vxlan下一跳,进行报文vxlan封装,vxlan外层封装目的ip。例如:vxlan外层封装目的ip为10.1.1.3和查找对应的出口转发到服务器1。
39.举例来说,本实施例可以应用在典型数据中心的集中式应用场景,如图2所示:对于internet上注册的ip地址10.1.1.2 10.1.1.3 10.1.1.4三个服务器组成一个服务器群组,分配一个vip(virtual ip address)虚拟ip地址。再通过四层负载均衡,从而选取服务器群中最优的服务器处理应用请求。通过虚拟ip地址,加四层的端口号,来决定选择哪台服务器处理,并且保证后续同一个流量都能转发到该服务器处理。对于组网中的流量进入该网关设备,执行如下过程:
40.发往服务器端的应用流进入switch交换机,报文先进行解析,对于进入switch设备的三层报文解析到四层报文头。
41.提取报文的vip、/ip protocol/port号的策略匹配,对于进入设备的流量,匹配到vip为125.10.1.2,ip protocol为tcp/port号为80的数据流进行分流,匹配的流量进入步骤3,否则进入步骤4
42.对于步骤2中策略匹配的流量,获取对应的动作,该动作为ecmp group处理,并且获取对应的ecmp groupid。进入步骤5
43.非匹配的流进入普通路由转发处理
44.报文根据ecmp groupid查找ecmp group表,获取对应的ecmp成员
45.根据获取的ecmp成员选择vxlan下一跳,进行报文vxlan封装,vxlan外层封装目的
ip为10.1.1.3和查找对应的出口转发到服务器1。
46.报文经过该装置,直接通过策略路由匹配就进入到下一跳处理流程。可以极大的缩短数据流的流水线处理流程,对于报文的转发性能能极大提升,同时还节省了路由表项资源,对设备本身的硬件要求也极大的降低。
47.本实施例中,通过策略路由进行vxlan overlay ecmp负载均衡转发选路。switch为网关交换设备,通过控制平面打通各计算节点vxlan隧道,逻辑网络映射,下发转发表项。vxlan组网可以支持大量虚拟机、服务器的mac地址和ip地址重叠,实现dc网络高扩展性。vxlan支持ecmp,实现基于流的精细化颗粒度负载均衡,充分利用网络资源并提供网络高冗余性。switch上数据平面对报文进行选路和转发。报文到达switch设备上,查找acl获取pbr重定向路由下一跳为ecmp group,根据该ecmp group id查找ecmp group,获取ecmp成员为下一跳vxlan隧道索引,完成vxlan隧道封装和转发到对应的服务器上。
48.通过策略路由匹配进入到ecmp group的处理流程,可以极大的缩短数据流的流水线处理流程,对于报文的转发性能能极大提升。策略路由重定向节省了路由转发表项资源,对网关设备本身的硬件要求也极大的降低。
49.本实施例中,还提供一种基于策略路由的数据转发装置,如图3所示的,包括:
50.接收模块,用于对策略路由转发的数据流的数据包进行解析,所述并从所述数据包中提取匹配信息。其中,该模块接收报文,并且按照报文格式进行解析,对于ip报文解析到四层头信息。
51.匹配模块,用于利用所述匹配信息触发策略路由进行匹配,对符合匹配条件的数据流进行重定向,其中,重定向的类型为ecmp group。其中,匹配模块提取报文的vip、/ip protocol/port号进行策略路由匹配模块,包括匹配条件以及动作,对于匹配了条件的数据流则执行预设的动作。这里预设的动作为重定向,增加重定向类型为ecmp group。并且获取到ecmp group id。
52.负载分担模块,用于对于匹配条件的数据流,根据ecmp group表查找对应的ecmp成员,并根据查到的ecmp成员选择需要转发到的下一个设备。其中,在负载分担模块中可以配置基于五元组任意组合的ecmphash算法,对下一跳进行四层负载均衡。通过ecmp group id可以从ecmp group中选出实际的vxlan下一跳成员。该下一跳成员是预设的vxlan隧道。
53.转发模块,用于进行报文vxlan封装,并将封装后的报文转发至所述下一个设备。其中,基于vxlan的隧道处理,包括隧道封装以及从出口进行转发
54.其中,匹配模块,还用于在对符合匹配条件的数据流进行重定向之前,筛选出匹配条件的数据流。其中,所述匹配信息包括虚拟ip地址、协议号和四层端口号。所述匹配模块,具体用于从待筛选的数据流提取报文,从所提取的报文中读取的信息包括:虚拟ip地址信息、协议号信息和四层端口号信息;将从报文中读取的信息与预先配置的值进行匹配,若匹配一致,则判定为匹配条件的数据流。所述匹配模块,还用于在对符合匹配条件的数据流进行重定向的过程中,获取ecmp group id。所述根据ecmp group表查找对应的ecmp成员包括:利用ecmp group id从ecmp group表中查找对应的ecmp成员,各个ecmp成员分别对应预设的vxlan隧道。实际应用中,策略路由转发的数据流,在采用本实施例的方案的同时,也可以同时采用其他的方案来进行数据流的转发处理,因此可以实现先判定一下数据流是否采用本实施例方案进行处理,即待筛选的数据流。
55.本发明的实施例还提供一种存储介质,存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现本实施例中的方法。
56.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献