一种隧道实现方法及装置制造方法及图纸

技术编号:21552148 阅读:49 留言:0更新日期:2019-07-07 00:11
本申请公开了一种隧道实现方法及装置;上述隧道实现方法包括:确定隧道创建的路由选择策略;根据路由选择策略,从隧道所使用的多路径负荷分担ECMP的下一跳中选择其中一跳作为隧道的下一跳,创建隧道。如此,通过软件实现ECMP场景中隧道实现,从而节省硬件资源。

A Tunnel Implementation Method and Device

【技术实现步骤摘要】
一种隧道实现方法及装置
本申请涉及但不限于通信
,尤其涉及一种隧道实现方法及装置。
技术介绍
隧道技术是一种OVERLAY网络技术。OVERLAY网络是在原有物理网络的基础之上建立的一张应用层网络,将网络资源通过软件量化的方式表现出来。这样,数据中心不用关心实际网络设备是如何互联的、网络配置如何,只要关心能提供的端口和带宽就可以完成业务的部署。OVERLAY网络可以很好地解决数据中心网络目前面临的主要问题,是未来数据中心网络的主流技术,代表了数据中心网络技术的发展方向。多路径负载分担(ECMP,Equal-CostMulti-pathRouting)是通信网络中常用的一个术语,就是指网络设备及业务处理实体之间工作负荷的彼此分担、分享功能。负载分担可以有效地减轻网络单一链路的负载,并具有很大的弹性和网络收缩性,能够避免单一链路故障影响整个网络。OVERLAY场景下ECMP是目前一种比较流行的组网方式,特别是在数据中心交换机领域,应用非常广泛,已经成为一种通用场景。目前,主流网络通信设备的网络转发大部分都是采用硬件转发的方式,硬件转发相对于软件转发,有比较明显的优势。硬件可以达到线速转发,软件受限于算法及CPU(CentralProcessingUnit,中央处理器)性能,在转发速率方面具有明显缺陷。然而,虽然硬件转发相对于软件转发有明显优势,但也有明显缺陷。在设备研制过程中,由于严重依赖硬件本身设计,对于一些应用场景,由于硬件实现机制问题,无法通过纯硬件转发的方式实现。比如,在UNDERLAY网络(即物理网络)为ECMP场景,而OVERLAY网络为非ECMP场景中,在OVERLAY隧道数量超过ECMP硬件表项数量的情况下,无法通过硬件方式实现网络转发。
技术实现思路
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。本申请实施例提供一种隧道实现方法及装置,通过软件实现ECMP场景中隧道实现,从而节省硬件资源。第一方面,本申请实施例提供一种隧道实现方法,包括:确定隧道创建的路由选择策略;根据所述路由选择策略,从隧道所使用的多路径负荷分担(ECMP)的下一跳中选择其中一跳作为所述隧道的下一跳,创建所述隧道。第二方面,本申请实施例提供一种隧道实现装置,包括:策略确定模块,适于确定隧道创建的路由选择策略;隧道创建模块,适于根据所述路由选择策略,从隧道所使用的ECMP的下一跳中选择其中一跳作为所述隧道的下一跳,创建所述隧道。第三方面,本申请实施例提供一种网络设备,包括:存储器和处理器,所述存储器用于存储隧道实现程序,所述隧道实现程序被所述处理器执行时实现上述第一方面提供的隧道实现方法的步骤。此外,本申请实施例还提供一种计算机可读介质,存储有隧道实现程序,所述隧道实现程序被处理器执行时实现上述第一方面提供的隧道实现方法的步骤。在本申请实施例中,确定隧道创建的路由选择策略,根据路由选择策略,从隧道所使用的ECMP的下一跳中选择其中一跳作为该隧道的下一跳,创建该隧道。如此,通过软件实现ECMP场景下隧道的创建,节省了硬件资源,能够满足大规格隧道部署场景应用。在阅读并理解了附图和详细描述后,可以明白其他方面。附图说明图1为本申请实施例提供的隧道实现方法的网络架构示例图;图2为本申请实施例提供的隧道实现方法的流程图;图3为本申请实施例提供的隧道实现装置的示意图;图4为本申请实施例提供的隧道创建的流程图;图5为本申请实施例提供的隧道更新的流程图;图6为本申请实施例提供的网络设备的示意图。具体实施方式以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本申请实施例提供一种隧道实现方法及装置,可以部署在数据中心场景中,然而,本申请对此并不限定。图1为本申请实施例的隧道实现方法的网络架构示例图。本示例中,OVERLAY隧道以VXLAN(VirtualExtensibleLAN,虚拟扩展局域网)隧道为例进行说明,然而,本申请对此并不限定。如图1所示,服务器(Server)A和服务器B分别单网卡接入网络设备E;网络设备A上行连接路由器,下行连接网络设备B、C、D;网络设备B、C、D下行和网络设备E连接。网络设备A和网络设备E之间走VXLAN隧道,网络设备A和网络设备B、C、D之间走UNDERLAYECMP。其中,由北向南的流量在网络设备A上走VXLAN的L3接入,报文进入网络设备A后,通过VXLAN隧道封装,由隧道创建的路由选择策略决定流量流入的网络设备(即B、C、D的其中一台),然后流量再到网络设备E,网络设备E上进行VXLAN解封装后,走传统转发到服务器A或B。由南到北的流量在网络设备E上进行VXLAN封装,由隧道创建的路由选择策略决定流量流入的网络设备(即B、C、D的其中一台),然后流量再到网络设备A,网络设备A解封装之后走传统转发到路由器。在UNDERLAY网络(即物理网络)为ECMP场景,而OVERLAY网络为非ECMP场景中,对于OVERLAY表项下发,主流交换芯片的机制为:通过路由表查找一个转发等价类(FEC,ForwardingEquivalenceClass),这个FEC指向一个OVERLAY隧道(tunnel),由隧道再唯一索引一个下一跳;如此,虽然OVERLAY网络不是ECMP,但是由于UNDERLAY网络是ECMP,所以查找到的FEC需要是一个ECMP类型的FEC。这样对于有N个隧道的情况下,即使UNDERLAY网络只有一个ECMP组,OVERLAY网络也需要N个ECMP硬件表项,然而,交换芯片支持的ECMP硬件表项数量非常有限(比如,BCM的Arad系列芯片只有1K个ECMP组,Jericho系列芯片只有4K个ECMP组),对于隧道数量超过ECMP硬件表项数量的情况下,通过硬件方式就无法实现网络转发。在本实施例中,在网路设备A到网络设备E之间建立OVERLAY隧道时,通过软件方式在UNDERLAYECMP中选择其中一条路径,不占用ECMP类型的FEC,而是采用普通的FEC创建隧道;这样,建立OVERLAY隧道时,由于只选择其中一条路径,所以不需要占用ECMP的硬件资源。因此,在UNDERLAY网络为ECMP,但OVERLAY网络为非ECMP的场景下,节省了硬件资源,能够扩展部署隧道数量,避免ECMP硬件资源对隧道大规模部署的限制。图2为本申请实施例提供的隧道实现方法的流程图。如图2所示,本实施例提供的隧道实现方法,包括:S201、确定隧道创建的路由选择策略;S202、根据路由选择策略,从隧道所使用的ECMP的下一跳中选择其中一跳作为该隧道的下一跳,创建该隧道。本实施例提供的隧道实现方法可以由网络设备(比如,数据中心的交换机)执行;在图1所示的网络架构中,本实施例提供的隧道实现方式可以分别在网络设备A、网络设备E上执行。本实施例提供的隧道实现方法可以应用于如图1所示的UNDERLAY网络为ECMP,但OVERLAY网络为非ECMP的场景中。其本文档来自技高网
...

【技术保护点】
1.一种隧道实现方法,其特征在于,包括:确定隧道创建的路由选择策略;根据所述路由选择策略,从隧道所使用的多路径负荷分担ECMP的下一跳中选择其中一跳作为所述隧道的下一跳,创建所述隧道。

【技术特征摘要】
1.一种隧道实现方法,其特征在于,包括:确定隧道创建的路由选择策略;根据所述路由选择策略,从隧道所使用的多路径负荷分担ECMP的下一跳中选择其中一跳作为所述隧道的下一跳,创建所述隧道。2.根据权利要求1所述的方法,其特征在于,所述路由选择策略,包括以下至少之一:根据隧道标识ID和ECMP的下一跳的总个数的哈希计算结果,在所述ECMP的下一跳中选择其中一跳分配给所述隧道ID标记的隧道;按照多个隧道的下发先后顺序给每个隧道分配下一跳,且每个隧道的下一跳为从所述ECMP的有效下一跳中选择的其中一跳;按照多个隧道的下发先后顺序给每个隧道分配下一跳,且每个隧道的下一跳为从所述ECMP的全部下一跳中选择的其中一跳。3.根据权利要求2所述的方法,其特征在于,所述根据隧道ID和ECMP的下一跳的总个数的哈希计算结果,在所述ECMP的下一跳中选择其中一跳分配给所述隧道ID标记的隧道,包括:针对隧道ID为Q的隧道,选择所述ECMP的第(QmodK1)个下一跳作为所述隧道的下一跳,其中,K1为所述ECMP的全部下一跳的总个数。4.根据权利要求2所述的方法,其特征在于,所述每个隧道的下一跳为从所述ECMP的全部下一跳中选择的其中一跳,包括:针对下发的第i条隧道,在i小于或等于K1时,选择所述ECMP的第i个下一跳作为所述第i条隧道的下一跳;在i大于K1时,选择第(imodK1)个下一跳作为所述第i条隧道的下一跳;其中,K1为所述ECMP的全部下一跳的总个数。5.根据权利要求2所述的方法,其特征在于,所述每个隧道的下一跳为从所述ECMP的有效下一跳中选择的其中一跳,包括:针对下发的第i条隧道,在i小于或等于K2时,选择所述ECMP的第i个有效下一跳作为所述第i条隧道的下一跳;在i大于K2时,选择第(imodK2)个有效下一跳作为所述第i条隧道的下一跳;其中,K2为所述ECMP的有效下一跳的总个数。6.根据权利要求1所述的方法,其特征在于,所述创建所述隧道,包括:给所述隧道创建一条普通的转发等价类、隧道表项以...

【专利技术属性】
技术研发人员:孙军欢陈志伟夏迎春张平平
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1