隧道选择方法及装置与流程

文档序号:14351123阅读:155来源:国知局
隧道选择方法及装置与流程

本公开涉及通信技术领域,尤其涉及一种隧道选择方法及装置。



背景技术:

vxlan(virtualextensiblelan,虚拟可扩展局域网)是基于ip网络、采用“macinudp”封装形式的二层vpn(virtualprivatenetwork,虚拟专用网络)技术。vxlan可以基于已有的服务提供商或企业ip网络,为分散的物理站点提供二层互联,并且能够为不同的租户提供业务隔离。vxlan主要应用于数据中心网络。

mpls(multiprotocollabelswitching,多协议标签交换)是目前应用比较广泛的一种骨干网技术。te(trafficengineering,流量工程)用于解决负载不均衡导致的拥塞问题。mplste隧道是从头节点到目的节点的一条虚拟点到点连接。



技术实现要素:

有鉴于此,本公开提出了一种隧道选择方法及装置。

根据本公开的一方面,提供了一种隧道选择方法,应用于虚拟可扩展局域网络vxlan组网中的任意一个虚拟可扩展局域网隧道端点vtep,所述方法包括:

确定与接收到的报文所携带的vxlan标识相对应的虚拟交换实例vsi上所配置的隧道转发类;

根据确定出的隧道转发类对与所述报文相对应的报文描述符中的隧道转发类进行重标记;

从所述vtep上所创建的多协议标签交换流量工程mplste隧道中,选择所配置的隧道转发类与重标记的隧道转发类匹配的mplste隧道。

根据本公开的另一方面,提供了一种隧道选择装置,应用于虚拟可扩展局域网络vxlan组网中的任意一个虚拟可扩展局域网隧道端点vtep,所述装置包括:

确定模块,用于确定与接收到的报文所携带的vxlan标识相对应的虚拟交换实例vsi上所配置的隧道转发类;

重标记模块,用于根据确定出的隧道转发类对与所述报文相对应的报文描述符中的隧道转发类进行重标记;

选择模块,用于从所述vtep上所创建的多协议标签交换流量工程mplste隧道中,选择所配置的隧道转发类与重标记的隧道转发类匹配的mplste隧道。

本公开的实施例提供的技术方案可以包括以下有益效果:基于vxlan标识确定要对报文所配置的隧道转发类进行重标记时所使用的隧道转发类,使用确定出的隧道转发类重标记报文所配置的隧道转发类,并选择所配置的隧道转发类与重标记的隧道转发类匹配的mplste隧道,由此,能够实现为属于不同的vxlan的用户终端提供不同的转发服务,从而服务提供商能够更精确地对vxlan网络进行流量控制。

另外,由于vtep基于vxlan标识选择隧道,因此vtep要进行的配置不会随着vtep上所配置的vsi的ac增多而增加,简化了用户要进行的配置。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1是本公开实施例的隧道选择机制的应用场景示意图。

图2是本公开实施例的通过qos重标记隧道转发类来实现流量的隧道选择机制的应用场景示意图。

图3是本公开实施例的一种vxlan组网的示意图。

图4是根据一示例性实施例示出的一种隧道选择方法的流程图。

图5示出报文描述符的格式。

图6是本公开实施例的另一种vxlan组网的示意图。

图7是根据一示例性实施例示出的一种隧道选择装置的结构框图。

图8是根据一示例性实施例示出的一种隧道选择装置的硬件结构框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

为便于说明,以下首先对本公开涉及的部分概念进行解释说明。

vxlan网络通过vxlanid来标识,vxlanid又称vni(vxlannetworkidentifier,vxlan网络标识符),vni的长度为24比特,不同的vxlan网络中的虚拟机不能进行二层互通。

vtep为一个vxlan提供二层交换服务的vsi(virtualswitchinstance,虚拟交换实例),vsi可以看作是vtep上的一台基于vxlan进行二层转发的虚拟交换机,vsi与vxlan一一对应。

mplste隧道是从头节点到目的节点的一条虚拟点到点连接。通常情况下,mplste隧道由一条crlsp(constraint-basedroutedlabelswitchedpaths,基于约束路由的标签交换路径)构成。在部署crlsp备份或需要将流量通过多条路径传输等的情况下,需要为同一种流量建立多条crlsp。在这种情况下,mplste隧道由一组crlsp构成。头节点上的mplste隧道由mplste模式的隧道(tunnel)接口标识。当流量的出接口为tunnel接口时,该流量将通过构成mplste隧道的crlsp来转发。

流量的隧道选择机制的工作原理为:在设备接入流量(报文)的方向上通过流行为(behavior)配置隧道转发类(service-class),为流量制定隧道转发类;配置隧道的隧道转发类,与隧道的隧道转发类匹配的流量可以通过该隧道转发,而不是像普通负载分担一样使用所有的隧道进行转发。

也就是说,对流量和mplste隧道均配置隧道转发类,并且使用所配置的配置隧道转发类与流量所配置的配置隧道转发类匹配的隧道,对该流量进行转发。

图1是本公开实施例中的隧道选择机制的应用场景示意图。如图1所示,该应用场景包括设备a、设备p1至p3和设备b。

设备a和设备b之间可以创建mplste隧道。其中,设备a和设备b之间创建的mplste隧道包括:隧道1、隧道2和隧道3,隧道1为设备a-设备p1-设备b,隧道2为设备a-设备p2-设备b,隧道3为设备a-设备p3-设备b。其中,隧道1未配置隧道转发类,隧道2所配置的隧道转发类为3,隧道3所配置的隧道转发类为6。

如果从设备a到设备b的流量的隧道转发类为3,则设备a通过隧道2将该流量转发至设备b。相应地,如果从设备a到设备b的流量的隧道转发类为6,则设备a通过隧道3将该流量转发至设备b。如果从设备a到设备b的流量未配置隧道转发类,则设备a通过隧道1将该流量转发至设备b。

可以通过qos重标记隧道转发类来实现流量的隧道选择机制。

图2是本公开实施例中的通过qos重标记隧道转发类来实现流量的隧道选择机制的应用场景示意图。如图2所示,该应用场景包括ce(customeredge,用户网络边缘)1、ce2、ce3、设备a、设备p1至p3和设备b。

设备a包括以太网接口gigabitethernet1/0/1、gigabitethernet1/0/2和gigabitethernet1/0/3。其中,ce1、ce2和ce3分别通过以太网接口gigabitethernet1/0/1、gigabitethernet1/0/2和gigabitethernet1/0/3接入设备a。

设备a到设备b之间创建的mplste隧道包括:隧道1、隧道2和隧道3,隧道1为设备a-设备p1-设备b,隧道2为设备a-设备p2-设备b,隧道3为设备a-设备p3-设备b。其中,隧道1所配置的隧道转发类为1,隧道2所配置的隧道转发类为2,隧道3所配置的隧道转发类为3。

设备a通过执行以下处理来实现ce1从设备a到设备b的流量通过隧道1(tunnel1)转发。对于来自ce1的流量(报文),定义流行为behavior_tunnel1,该流行为的动作为重标记报文的隧道转发类为1。定义qos策略policy1,为该隧道转发类指定流行为为behavior_tunnel1。将qos策略policy1应用到以太网接口gigabitethernet1/0/1上。

设备a将在处理从以太网接口gigabitethernet1/0/1进入的报文时专用的报文描述符的头中的隧道转发类(tagservice-class)字段重标记为1,即,该流量的隧道转发类的值被重标记为1。

设备a的转发模块对该报文进行隧道优选。具体地,转发模块根据流量的隧道选择机制的优选规则,优先选择隧道转发类与流量的隧道转发类相同的隧道来转发该流量,即选择隧道1来转发该流量。设备a的转发模块根据报文的目的地址使用选择的隧道1对该报文进行转发。

实现ce2或ce3从设备a到设备b的流量通过隧道2或隧道3转发所执行的处理与实现ce1从设备a到设备b的流量通过隧道1转发所执行的处理类似,在此不再赘述。

因此,通过qos重标记隧道转发类来实现流量的隧道选择机制,能够在设备a上实现ce1从设备a到设备b的流量通过隧道1转发、ce2从设备a到设备b的流量通过隧道2转发、ce3从设备a到设备b的流量通过隧道3转发。

然而,对于上述qos重标记隧道转发类,基于ce接入设备a的以太网接口实现流量的隧道选择机制,因此仅适用于多个ce分别通过不同的以太网接口接入设备的应用场景,而难以适用于如下的vxlan组网:在该vxlan组网中,ce是服务器上创建的vm(virtualmachine,虚拟机)并且该服务器通过一个以太网接口接入vtep(vxlantunnelendpoint,vxlan隧道端点),即多个ce通过一个以太网接口接入vtep。

以下结合说明书附图对本公开的实施例进行详细阐述。

图3是本公开实施例的一种vxlan组网的示意图。如图3所示,该xlan组网包括服务器、vtepa、设备p1至p3和vtepb。

设备p1至p3为ip核心网络中的设备p,例如为交换机,并且设备p仅需要根据vtep封装后的报文的外层目的ip地址对该报文进行三层转发,而不参与vxlan处理,例如设备p不参与报文的封装与解封装。

vtepa和vtepb为vxlan的边缘设备,vtepa和vtepb可以是一台独立的物理设备,例如交换机,也可以是虚拟机所在的服务器。vtepa和vtepb之间可以创建vxlan隧道,vtepa可以为数据帧封装vxlan头、udp头以及ip头,然后通过vxlan隧道经由设备p将该封装后的报文转发给vtepb,再由vtepb对该报文进行解封装。

vtepa包括以太网接口gigabitethernet1/0/1,vtepa上配置有vsi1、vsi2和vsi3,vsi1、vsi2和vsi3分别对应的vxlan标识为vxlan1、vxlan2和vxlan3。

服务器上创建有vm1、vm2和vm3,并且vm1、vm2和vm3分别属于vxlan1、vxlan2和vxlan3。服务器上的vm1、vm2和vm3分别通过ac(attachmentcircuit,接入电路)接入vtepa上所配置的vsi1、vsi2和vsi3。

vtepa和vtepb之间可以创建mplste隧道,并且如图3所示,vtepa到vtepb的mplste隧道包括:隧道1、隧道2和隧道3,隧道1为vtepa-设备p1-vtepb,隧道2为vtepa-设备p2-vtepb,隧道3为vtepa-设备p3-vtepb。并且vtepa在vsi1上为隧道1配置隧道转发类1,在vsi2上为隧道2配置隧道转发类2,在vsi3上为隧道3配置隧道转发类3。

为便于说明,以下以图3所示的vxlan组网为例对本公开的实施例进行详细阐述。

图4示出根据本公开一实施例的隧道选择方法的流程图。该隧道选择方法应用于vxlan组网中的任意一个vtep,例如,该隧道选择方法可应用于图3所示的vxlan组网中的vtepa。如图4所示,该隧道选择方法包括如下步骤。

在步骤s410中,确定与接收到的报文所携带的vxlan标识相对应的虚拟交换实例vsi上所配置的隧道转发类。

本实施例中,vtep通过以太网接口从用户设备接收报文,其中用户设备例如为服务器上配置的虚拟机。vtep接收到的报文携带有vxlan标识(vni),由于在vxlan组网中vsi与vxlan一一对应,因此vtep可以先获取该报文所携带的vni,再根据获取到的vni唯一确定出一个vsi,该vsi为发送该报文的用户设备所接入的vsi。

本实施例中,vtep可以配置vsi,并且可以在该vsi上针对与该vsi相对应的mplste隧道配置隧道转发类。vtep可以配置一个vsi,也可以配置多个vsi。在配置多个vsi的情况下,多个vsi中的每个vsi都与vtep上所创建的一条mplste隧道相对应,vtep可以在该vsi上为该mplste隧道配置隧道转发类。vtep可以在多个vsi上配置各不相同的隧道转发类,也可以在多个vsi上配置相同的隧道转发类。

示例性的,在图3所示的vxlan组网中,vtepa在vsi1上为隧道1配置隧道转发类1,在vsi2上为隧道2配置隧道转发类2,在vsi3上为隧道3配置隧道转发类3。

因此,vtep确定隧道转发类的过程可如下:获取该报文所携带的vxlan标识;根据获取到的vxlan标识确定该报文所属的vsi;获取在该vsi上配置的隧道转发类。

示例性的,在图3所示的vxlan组网中,如果vtepa从以太网接口gigabitethernet1/0/1接收到携带有vxlan标识vxlan1的报文,则vtepa获取该报文所携带的vxlan标识vxlan1;根据vxlan1确定出该报文所属的vsi为与vxlan1相对应的vsi1;获取该vsi1上为隧道1配置的隧道转发类1。

在某些实施例中,隧道转发类的取值越小,隧道转发的优先级越低,具有相同的隧道转发类的取值,隧道转发的优先级相同,没有配置隧道转发类的隧道的优先级最低。

在某些实施例中,隧道转发类的取值越小,隧道转发的优先级越高,具有相同的隧道转发类的取值,隧道转发的优先级相同,没有配置隧道转发类的隧道的优先级最高。

需要说明的是,本公开对隧道转发类的取值与隧道转发的优先级的关系不作具体限定。

在步骤s430中,根据确定出的隧道转发类对与报文相对应的报文描述符中的隧道转发类进行重标记。

关于隧道转发类的说明可以参阅前文关于步骤s410的描述,在此不再赘述。

本实施例中,vtep为接收到的报文分配一个专用的报文描述符,因此每个报文具有与该报文相对应的报文描述符。图5示出报文描述符的格式,如图5所示,报文描述符包括块信息(blockinfo)字段、隧道服务类(tagserviceclass)字段和扩展信息字段,其中块信息字段包括df_head_s字段、数据区字段和产品预留字段。数据区字段包括:以太网(ethernet)字段、ip字段、udp字段、vxlan字段和数据(data)字段。

本实施例中,vtep将报文描述符中的隧道转发类重标记为在步骤s410中确定出的vsi上所配置的隧道转发类。因此,本实施例中,基于报文携带的vni重标记隧道转发类。

示例性的,继续上述示例,在步骤s410中确定出在vsi1上为隧道1配置的隧道转发类1,则vtep将报文描述符中的隧道转发类重标记为1。

在步骤s450中,从vtep上所创建的mplste隧道中,选择所配置的隧道转发类与重标记的隧道转发类匹配的mplste隧道。

本实施例中,对流量和mplste隧道均配置隧道转发类,并且使用所配置的隧道转发类与流量所配置的隧道转发类匹配的隧道,对该流量进行转发。

并且,如上所述的,vtep基于vni对流量所配置的隧道转发类进行重标记,vtep可以使基于vni重标记的隧道转发类与在vsi上为mplste隧道所配置的隧道转发类分别进行匹配,并选择匹配成功的mplste隧道。由此,vtep可以基于vni选择隧道。

示例性的,继续上述示例,由于在步骤s430中vtepa将报文描述符中的隧道转发类重标记为1,因此在步骤s450中,vtepa可以将1分别与mplste隧道中的隧道1的隧道转发类1、隧道2的隧道转发类2和隧道3的隧道转发类3进行匹配,并选择匹配成功的隧道1。

类似地,采用本公开的实施例,对于图3所示的vxlan组网,在vtepa上能够实现如下需求:vm1从vtepa到vtepb的流量通过隧道1转发;vm2从vtepa到vtepb的流量通过隧道2转发;vm3从vtepa到vtepb的流量通过隧道3转发。

因此,在本公开的实施例中,基于vni确定要对报文所配置的隧道转发类进行重标记时所使用的隧道转发类,使用确定出的隧道转发类重标记报文所配置的隧道转发类,并选择隧道转发类与重标记的隧道转发类匹配的mplste隧道,由此,能够实现为属于不同的vxlan的用户终端提供不同的转发服务,从而服务提供商能够更精确地对vxlan网络进行流量控制,这使得服务提供商能够利用现有的vxlan网络资源提供多样化的服务,同时可以优化vxlan网络资源,并对vxlan网络资源进行合理的网络管理。

另外,由于vtep基于vni选择隧道,因此vtep要进行的配置不会随着vtep上所配置的vsi的ac增多而增加,简化了用户要进行的配置。

示例性的,图6是本公开实施例的另一种vxlan组网的示意图。如图6所示,该xlan组网包括服务器1、服务器2、vtepa、ip核心网络中的设备p1至p3和vtepb。

vtepa包括以太网接口gigabitethernet1/0/1和gigabitethernet1/0/2,vtepa上配置有vsi1、vsi2和vsi3,vsi1、vsi2和vsi3分别对应的vxlan标识为vxlan1、vxlan2和vxlan3。

服务器1通过以太网接口gigabitethernet1/0/1接入vtepa,服务器1上创建有vm1、vm2和vm3,并且vm1、vm2和vm3分别属于vxlan1、vxlan2和vxlan3。服务器1上的vm1、vm2和vm3分别通过ac接入vtepa上所配置的vsi1、vsi2和vsi3。

服务器2通过以太网接口gigabitethernet1/0/2接入vtepa,服务器2上创建有vm4、vm5和vm6,并且vm4、vm5和vm6分别属于vxlan1、vxlan2和vxlan3。服务器2上的vm4、vm5和vm6分别通过ac接入vtepa上所配置的vsi1、vsi2和vsi3。

vtepa和vtepb之间可以创建mplste隧道,并且如图6所示,vtepa到vtepb的mplste隧道包括:隧道1、隧道2和隧道3,隧道1为vtepa-设备p1-vtepb,隧道2为vtepa-设备p2-vtepb,隧道3为vtepa-设备p3-vtepb。

用户只需要针对vtepa在vsi1上为隧道1配置隧道转发类1,在vsi2上为隧道2配置隧道转发类2,在vsi3上为隧道3配置隧道转发类3,即,进行与图3所示的vxlan组网中的vtepa相同的配置,就能够实现如下需求:vm1和vm4从vtepa到vtepb的流量通过隧道1转发;vm2和vm5从vtepa到vtepb的流量通过隧道2转发;vm3和vm6从vtepa到vtepb的流量通过隧道3转发。

因此,vtepa要进行的配置随着vtepa上所配置的vsi的ac增多而保持不变。

在一种可能的实现方式中,隧道选择方法还可以包括:将报文封装为vxlan报文;将vxlan报文封装为mpls报文;根据mpls报文的目的地址,使用所选择的mplste隧道对mpls报文进行转发。

本实施例中,vxlan隧道的目的地址与所选择的mplste隧道的目的地址相同。vtep可以在接收到的ip报文的基础上,通过增加vxlan头、udp头以及ip头来将ip报文封装为vxlan报文,然后可以在该vxlan报文的基础上,通过增加mpls的报文头来将vxlan报文封装为mpls报文,再通过所选择的mplste隧道将该mpls报文转发给mplste隧道的目的地址。

在一种可能的实现方式中,从vtep上所创建的多协议标签交换流量工程mplste隧道中,选择所配置的隧道转发类与重标记的隧道转发类匹配的mplste隧道,包括:

从vtep上所创建的mplste隧道中,选择所配置的隧道转发类与重标记的隧道转发类相同的mplste隧道,

其中,若vtep上所创建的mplste隧道中的多条mplste隧道所配置的隧道转发类与重标记的隧道转发类相同,则选择多条mplste隧道中的任意一条mplste隧道;

若vtep上所创建的mplste隧道所配置的隧道转发类均与重标记的隧道转发类不同,则从vtep上所创建的mplste隧道中选择与预设规则匹配的mplste隧道。

其中,用户可以根据需要设置预设规则。示例性的,该预设规则例如为隧道转发类的取值越小,具备该隧道转发类的mplste隧道的隧道转发的优先级越高。示例性的,该预设规则例如为隧道转发类的取值越小,具备该隧道转发类的mplste隧道的隧道转发的优先级越低。

图7是根据一示例性实施例示出的一种隧道选择装置的结构框图,该隧道选择装置可以应用于vxlan组网中的任意一个vtep,例如,该隧道选择装置可应用于图3中的vtepa或图6中的vtepa。如图7所示,该隧道选择装置700可以包括确定模块710、重标记模块730和选择模块750。

其中,确定模块710用于确定与接收到的报文所携带的vxlan标识相对应的虚拟交换实例vsi上所配置的隧道转发类。

重标记模块730与确定模块710连接,用于根据确定模块710确定出的隧道转发类对与报文相对应的报文描述符中的隧道转发类进行重标记。

选择模块750与重标记模块730连接,用于从vtep上所创建的多协议标签交换流量工程mplste隧道中,选择所配置的隧道转发类与重标记模块730重标记的隧道转发类匹配的mplste隧道。

在一种可能的实现方式中,选择模块750具体用于:从vtep上所创建的mplste隧道,选择所配置的隧道转发类与重标记的隧道转发类相同的mplste隧道,其中,若vtep上所创建的mplste隧道中的多条mplste隧道所配置的隧道转发类与重标记的隧道转发类相同,则选择多条mplste隧道中的任意一条mplste隧道;若vtep上所创建的mplste隧道均与重标记的隧道转发类不同,则从vtep上所创建的mplste隧道中选择与预设规则匹配的mplste隧道。

在一种可能的实现方式中,隧道选择装置700还可以包括配置模块(未示出),用于在所配置的vsi上为与vsi相对应的mplste隧道配置隧道转发类。

在一种可能的实现方式中,确定模块710具体用于:确定接收到的报文所携带的vxlan标识;确定与vxlan标识相对应的vsi;确定与vxlan标识相对应的vsi上所配置的隧道转发类。

在一种可能的实现方式中,隧道选择装置700还可以包括vxlan封装模块(未示出),用于将报文封装为vxlan报文;mpls封装模块(未示出),用于将vxlan报文封装为mpls报文;转发模块(未示出),用于根据mpls报文的目的地址,使用所选择的mplste隧道对mpls报文进行转发。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图8是根据一示例性实施例示出的一种隧道选择装置的硬件结构框图。参照图8,该装置800可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与隧道选择逻辑对应的机器可执行指令以执行上文所述的隧道选择方法。

本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1