一种报文转发方法和叶子节点设备技术

技术编号:19126109 阅读:59 留言:0更新日期:2018-10-10 07:34
本申请提供一种报文转发方法和叶子节点设备,该方法可应用于包括骨干节点和叶子节点的数据中心内的任一叶子节点,该任一叶子节点与每个骨干节点建立BGP邻居,任一叶子节点执行如下方法:向骨干节点同步网段路由和主机路由;学习骨干节点同步的网段路由;当第一报文命中网段路由时,将第一报文发送给命中的网段路由的下一跳对应的骨干节点,以使该骨干节点将第一报文发送给命中的主机路由的下一跳对应的叶子节点。由于数据中心内的网段路由的数量远少于主机路由的数量,因此叶子节点上的路由表项和硬件表项承载能力能够满足数据中心少量的网段路由,从而可以解决叶子结点的路由表项规格和硬件表项规格受限的问题。

【技术实现步骤摘要】
一种报文转发方法和叶子节点设备
本申请涉及通信
,尤其涉及一种报文转发方法和叶子节点设备。
技术介绍
目前数据中心已普遍采用“骨干(Spine)节点+叶子(Leaf)节点”的组网方式,Leaf节点负责接入主机。在一种方式下,数据中心可以采取分布式网关的部署方式,即每个Leaf节点都是一个分布式网关,这样Leaf节点既可提供二层接入,也可作为IP(InternetProtocol,网际协议)网关,提供跨网段转发。在分布式网关的部署方式下,各Leaf节点需要将本地上线的主机(可以是物理机,也可以是虚拟机)的MAC(MediumAccessControl,媒体接入控制)地址和IP地址作为路由发布给其它Leaf节点,其它Leaf节点收到后会将其保存在路由表项(内存中),并下发到本节点的转发平面,即硬件芯片。但随着数据中心规模的增大,一个数据中心内可能会有上万台服务器,每台服务器还可以虚拟化出多个虚拟机,比如假设数据中心内有2万台服务器,每台服务器虚拟出10个虚拟机,那么数据中心内将达到200000个主机,这对分布式网关的路由表项规格和硬件表项规格有了较大的要求。而出于成本的考虑,分布式网关通常不会是特别高端的设备,路由表项规格和硬件表项规格均有限,可能不足以承载规模较大的数据中心内部的所有路由。
技术实现思路
有鉴于此,本申请提供一种报文转发方法和Leaf节点设备,用以解决在数据中心采用分布式网关的部署方式时,Leaf节点的路由表项规格和硬件表项规格不足以承载整个数据中心内部的所有主机路由的问题。具体地,本申请是通过如下技术方案实现的:本申请第一方面,提供了一种路由发布方法,应用于包括Spine节点和Leaf节点的数据中心内的任一Leaf节点,所述任一Leaf节点与每个Spine节点建立BGP邻居,该方法包括:向所述Spine节点同步网段路由和主机路由;学习所述Spine节点同步的网段路由;当第一报文命中网段路由时,将所述第一报文发送给命中的网段路由的下一跳对应的Spine节点,以使该Spine节点将所述第一报文发送给命中的主机路由的下一跳对应的Leaf节点。本申请第三方面,提供了一种Leaf节点设备,所述Leaf节点设备包括:CPU和硬件芯片,其中,所述CPU,用于向Spine节点同步的网段路由和主机路由;学习所述Spine节点同步的网段路由;并将学习到的网段路由下发到所述硬件芯片;所述硬件芯片,用于当第一报文命中网段路由时,将所述第一报文发送给命中的网段路由的下一跳对应的Spine节点,以使该Spine节点将所述第一报文发送给命中的主机路由的下一跳对应的Leaf节点。在本申请中,Spine节点会同时学习网段路由和主机路由,而Leaf节点会先从Spine节点处学习到网段路由,通过该网段路由可以实现将报文发送到Spine节点,最终由Spine节点将报文根据主机路由发送,如此Leaf节点即使不从Spine节点学习主机路由,也可以实现报文的转发。由于数据中心内的网段路由的数量远少于主机路由的数量,因此Leaf节点上的路由表项和硬件表项承载能力能够满足数据中心中少量的网段路由,从而可以解决Leaf节点的路由表项规格及硬件表项规格受限的问题。附图说明图1是本申请提供的一种Spine节点+Leaf节点组网示意图;图2是本申请提供的方法流程图;图3是本申请提供的Spine节点与Leaf节点之间的交互流程图;图4是本申请提供的主机路由下发前后报文的转发示例图;图5是本申请提供的装置结构框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。目前的数据中心部署,越来越倾向于分布式网关的部署方式,即每个Leaf节点都是一个分布式网关,各分布式网关之间可以通过标准的EVPN(EthernetVirtualPrivateNetwork,以太网虚拟专用网络)协议建立VXLAN(VirtualExtensibleLAN,虚拟扩展局域网)隧道,同步租户的路由。但随着数据中心规模的增大和虚拟化技术的发展,一个数据中心内可能会有上万台服务器,每台服务器还可以虚拟化出多个虚拟机,这可能会导致数据中心内租户的路由数量远远超过分布式网关可支持的路由表项规格和硬件表项规格。针对网关的硬件表项规格不能满足数据中心规模的问题,现有技术中有如下一种解决方案:各分布式网关的控制层面在收到远端同步来的路由后,不立即将路由下发到自身的转发层面,而是在有流量到达时,根据流量的目的MAC地址或目的IP地址,再将对应的路由下发到转发层面。但此方案只能解决分布式网关的硬件表项规格不能匹配路由数量的问题,由于分布式网关还是需要保存完整的路由,其路由表项规格大小不能匹配路由数量的问题还是无法解决。本申请提供了一种报文转发方案,通过利用数据中心内处于中心位置的Spine节点的能力,来解决目前所面临的困境。为便于描述,下文基于Spine节点+Leaf节点组网,来说明本申请提供的方案。参考图1,为一种典型的Spine节点+Leaf节点组网,该组网中的核心节点包括两种,第一种为Leaf节点,用于接入主机;第二种为Spine节点,负责连接Leaf节点。在Leaf节点为IP网关的场景下,为了避免网关太多导致连接太多,通常不会采用网关之间建立BGP(BorderGatewayProtocol,边界网关协议)连接的方式,而是使用Spine节点作为RR(RouteReflector,路由反射器),所有Leaf节点都和Spine节点建立BGP连接(建立BGP邻居),这样,各Leaf节点可以将本地上线的主机的路由发布给Spine节点,由Spine节点将路由发布给其它Leaf节点。实际应用中,Spine节点一般为高端设备,因此Spine节点的路由表项规格和硬件表项规格一般可以支持数据中心内的所有路由。对于路由,可以包括网段路由和主机路由。网段路由即到达某一网段的路由,如图1中,目的IP地址为10.1.0.0/16、10.2.0.0/16和10.3.0.0/16的路由是网段路由;主机路由即到达某一个具体主机的路由,如图1中,目的IP地址为10.2.0.11./32和10.3.0.56/32的路由是主机路由。现有技术中,在S本文档来自技高网...
一种报文转发方法和叶子节点设备

【技术保护点】
1.一种报文转发方法,其特征在于,应用于包括Spine节点和Leaf节点的数据中心内的任一Leaf节点,所述任一Leaf节点与每个Spine节点建立边界网关协议BGP邻居,该方法包括:向所述Spine节点同步网段路由和主机路由;学习所述Spine节点同步的网段路由;当第一报文命中网段路由时,将所述第一报文发送给命中的网段路由的下一跳对应的Spine节点,以使该Spine节点将所述第一报文发送给命中的主机路由的下一跳对应的Leaf节点。

【技术特征摘要】
1.一种报文转发方法,其特征在于,应用于包括Spine节点和Leaf节点的数据中心内的任一Leaf节点,所述任一Leaf节点与每个Spine节点建立边界网关协议BGP邻居,该方法包括:向所述Spine节点同步网段路由和主机路由;学习所述Spine节点同步的网段路由;当第一报文命中网段路由时,将所述第一报文发送给命中的网段路由的下一跳对应的Spine节点,以使该Spine节点将所述第一报文发送给命中的主机路由的下一跳对应的Leaf节点。2.如权利要求1所述的方法,其特征在于,将所述第一报文发送给命中的网段路由的下一跳对应的Spine节点,包括:在所述命中的网段路由的下一跳对应多个Spine节点时,将所述第一报文发送给满足预设的负载分担策略的一个Spine节点。3.如权利要求1所述的方法,其特征在于,将所述第一报文发送给命中的网段路由的下一跳对应的Spine节点时,该方法还包括:向所述Spine节点请求与所述第一报文匹配的主机路由;学习所述Spine节点同步的与所述第一报文匹配的主机路由;当第二报文命中与第一报文匹配的主机路由时,将所述第二报文发送给该主机路由的下一跳对应的Leaf节点。4.如权利要求3所述的方法,其特征在于,所述向所述Spine节点请求与所述第一报文匹配的主机路由,包括:将所述第一报文发送给命中的网段路由的下一跳对应的Spine节点时,根据该网段路由包含的动作属性,向所述Spine节点请求与所述第一报文匹配的主机路由。5.如权利要求3所述的方法,其特征在于,若在预设时长内没有报文命中与所述第一报文匹配的主机路由,则老化该主机路由。6.如权利要求3所述的方法,其特征在于,所述向所述Spine节点请求与所述第一报文匹配的主机路由之后,该方法还包括:接收所述Spine节点发送的路由请求抑制指令,所述路由请求抑制指令指示不存在与所述第一报文匹配的主机路由;在预设时长内,禁止向所述Spine节点请求与所述第一报文匹配的主机路由。7.一种Leaf节点设备,其特征在于,所述Leaf节点设备包括:中央处理器CPU和硬件芯片,其中,所述CPU,用于向Spine节点同步网段路由和主机路由;学习所述Spine节点同步的网段路由;并将学习到的网段路由下发...

【专利技术属性】
技术研发人员:李昊
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

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

1