首页> 中国专利> 用于改进的多播的源主动社区

用于改进的多播的源主动社区

摘要

本公开的实施例涉及用于改进的多播的源主动社区。本公开描述了用于源VLAN多播业务的改进的多播的技术。例如,一种方法包括:由叶脊网络的数据中心内的交换设备从多播源接收多播业务;由交换设备向数据中心内的边界设备发送用以指示交换设备正在从多播源接收多播业务的源主动路由消息,该边界设备被通信地耦合至在数据中心外部的多播汇聚点;由交换设备从边界设备接收包括扩展社区的响应路由消息,扩展社区指示是否存在任何感兴趣的多播接收器;以及由交换设备基于扩展社区来配置交换设备的转发引擎。

著录项

  • 公开/公告号CN113014495A

    专利类型发明专利

  • 公开/公告日2021-06-22

    原文格式PDF

  • 申请/专利权人 瞻博网络公司;

    申请/专利号CN202011499036.0

  • 申请日2020-12-17

  • 分类号H04L12/761(20130101);H04L12/723(20130101);H04L12/721(20130101);H04L12/753(20130101);H04L12/46(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人马明月

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 11:32:36

说明书

技术领域

本公开涉及计算机网络。

背景技术

数据中心是在一个或多个设施中的互连的计算机服务器和相关联的组件的类集。在典型的数据中心中,互连的服务器的大型类集提供用于执行各种应用的计算能力和/或存储能力。例如,数据中心可以包括为订户(即,数据中心的客户)托管应用和服务的设施。例如,数据中心可以托管所有基础设施设备,诸如联网和存储系统、冗余电源以及环境控件。在大多数数据中心中,存储系统和应用服务器的集群经由高速交换结构被互连,该高速交换结构由一层或多层物理网络交换机和路由器提供。更复杂的数据中心利用被定位在各种物理托管设施(站点)中的订户支持设备来遍布全球提供基础设施。

数据中心通常由大量设备组成,包括形成互联网协议(IP)结构的服务器和设备。IP结构可以被表示为具有叶设备和脊设备的底层(underlay)网络。叶设备和脊设备可以分别参与层2虚拟专用网(“L2VPN”)服务,诸如以太网虚拟专用网(EVPN)。EVPN可以被用于按照透明的方式通过中间的层三(L3)网络(通常被称为提供方网络)来扩展两个或更多个层二(L2)客户网络(例如被定位在不同机架中的客户网络),即,仿佛不存在中间的L3网络。

网络可以支持多播。多播业务可以包括互联网协议电视(IPTV)、桌面会议、公司广播、音乐和视频网播以及其他形式的多媒体内容。网络可以利用协议无关多播(PIM)作为多播路由协议,以控制从多播源向用于特定多播组的多播接收器传递多播业务。

发明内容

大体上,本公开描述了用于提供多播业务的改进的(例如优化的)多播的技术。在一些示例中,针对数据中心描述这些技术,该数据中心包括向多播源提供与数据中心的连接性的网络交换机(例如机架式(TOR)交换机)、以及提供与在数据中心外部的设备的连接性的一个或多个边界设备。描述了示例,在这些示例中,开始从多播源接收多播业务的TOR交换机被配置为:向边界设备通知多播源,而不使多播业务泛洪到数据中心结构,除非在数据中心内或者在数据中心外部存在对多播业务感兴趣的一个或多个多播接收器。

在一个示例中,从多播源接收多播业务的TOR交换机发送路由消息(“源主动(source-active)”路由消息),该路由消息包括用以指示TOR交换机正在从多播源接收多播业务的信息。在一些示例中,源主动路由消息是EVPN选择性多播以太网标签(SMET)路由(例如类型6路由),该EVPN选择性多播以太网标签(SMET)路由指定主动的多播源,并且包括用以指示TOR交换机正在从多播源接收多播业务的源主动扩展社区(community)(在本文中被称为“源主动社区”或者“SA-COM”)。在其他示例中,源主动路由消息可以表示用以指示TOR交换机正在从多播源接收多播业务的专用EVPN源主动自动发现(A-D)路由(例如类型10路由)。当数据中心的边界设备接收到源主动路由消息时,边界设备确定是否存在任何感兴趣的多播接收器。如果不存在感兴趣的多播接收器,则边界设备发送例如包括用以指示不存在感兴趣的多播接收器的修剪扩展社区(prune extended community)(在本文中被称为“修剪社区(prune community)”或者简称为“修剪”)的SMET路由。响应于接收到包括修剪社区的SMET路由,TOR交换机被配置为丢弃多播业务,而不是朝边界设备将多播业务发送给数据中心结构。如果在数据中心内部或者外部存在至少一个感兴趣的多播接收器,则边界设备发送包括用以指示存在至少一个感兴趣的多播接收器的加入扩展社区(join extendedcommunity)(在本文中被称为“加入社区(join community)”)的SMET路由。响应于接收到包括加入社区的SMET路由,TOR交换机被配置为朝边界设备向数据中心结构发送多播业务。按照这种方式,TOR交换机仅在存在至少一个感兴趣的多播接收器时发送多播业务。

这些技术可以提供实现实际应用的一个或多个技术优点。例如,通过实现在本公开中所描述的技术,即使当在数据中心内部或者外部不存在感兴趣的多播接收器时,TOR交换机也不必向边界设备发送多播业务,否则,这些边界设备将利用核心带宽。此外,通过仅在数据中心内部或者外部存在至少一个感兴趣的多播接收器时使得TOR交换机能够发送多播业务,可以减少在TOR交换机上的负载。附加地,本公开中所描述的技术避免了边界设备在不存在感兴趣的多播接收器时不必要地处理多播业务,这减少了在边界设备上的负载。

在一个示例中,一种方法包括:由叶脊网络(leaf and spine network)的数据中心内的交换设备从多播源接收多播业务。该方法还包括:由交换设备向数据中心内被通信地耦合至在数据中心外部的多播汇聚点的边界设备发送源主动路由消息,该源主动路由消息用以指示交换设备正在从多播源接收多播业务。该方法还包括:由交换设备从边界设备接收包括扩展社区的响应路由消息,扩展社区指示是否存在任何感兴趣的多播接收器。此外,该方法包括:由交换设备基于扩展社区来配置交换设备的转发引擎。

在另一示例中,一种方法包括:由数据中心内的边界设备从被连接至多播源的交换设备接收指示交换设备正在从多播源接收多播业务的源主动路由消息。该方法还包括:由边界设备确定对于多播业务是否存在任何感兴趣的多播接收器。该方法还包括:由边界设备响应于确定是否存在任何感兴趣的多播接收器而发送响应路由消息,该响应路由消息包括用以指示是否存在任何感兴趣的多播接收器的扩展社区。

在另一示例中,网络设备包括:多个端口,其中每个端口被配置为被通信地耦合至叶脊网络的多个网络设备中的相应网络设备;以及一个或多个处理器,被可操作地耦合至存储器,其中一个或多个处理器被配置为:从多播源接收多播业务;向数据中心内被通信地耦合至在数据中心外部的多播汇聚点的边界设备发送源主动路由消息,该源主动路由消息用以指示被通信地耦合至交换设备的多播源是主动的;从边界设备接收响应路由消息,该包括指示在数据中心外部是否存在任何感兴趣的多播接收器的扩展社区;以及基于扩展社区来配置网络设备的转发引擎。

在又一示例中,数据中心内被通信地耦合至在数据中心外部的多播汇聚点的一种网络设备包括:一个或多个处理器,被可操作地耦合至存储器,其中一个或多个处理器被配置为:从被连接至多播源的交换设备接收指示交换设备正在从多播源接收多播业务的源主动路由消息;确定对于多播业务是否存在任何感兴趣的多播接收器;以及响应于确定是否存在任何感兴趣的多播接收器而发送响应路由消息,该响应路由消息包括多个扩展社区中用以指示是否存在任何感兴趣的多播接收器的扩展社区。

在附图和下面的描述中阐述了一个或多个示例的细节。其他特征、目的和优点将通过描述和附图以及权利要求书而变得明显。

附图说明

图1是图示了根据在本公开中所描述的技术的被配置为提供多播业务的改进的多播的示例网络的框图。

图2是图示了根据在本公开中所描述的技术的被配置为提供多播业务的改进的多播的交换设备的示例的框图。

图3是图示了根据在本公开中所描述的技术的被配置为提供多播业务的改进的多播的边界设备的示例的框图。

图4是图示了根据在本公开中所描述的技术的用于改进多播业务的多播的示例方法的流程图。

具体实施方式

图1是图示了根据在本公开中所描述的技术的被配置为提供多播业务的改进的(例如优化的)多播的示例网络的框图。在图1的示例中的网络100包括数据中心102,数据中心102经由服务提供方网络120而与关联于一个或多个外部客户设备116的客户网络115互连。

在图1的示例中,网络100包括客户网络115,客户网络115经由服务提供方网络120来向一个或多个客户设备116提供与数据中心102的连接性。例如,客户可以表示企业、政府、住宅订户或者移动订户。客户设备116可以是:例如个人计算机、膝上型计算机或者与客户相关联的其他类型的计算设备。另外,客户设备116可以包括经由无线电接入网(RAN)来接入服务提供方网络120的数据服务的移动设备。示例移动订户设备包括移动电话、具有例如3G或者4G无线卡的膝上型计算机或者台式计算机、具有无线功能的上网本、视频游戏设备、寻呼机、智能电话、个人数据助理(PDA)等。每个客户设备116可以运行各种软件应用,诸如文字处理和其他办公支持软件、web浏览软件、用于支持视频通话、视频游戏、视频会议和电子邮件的软件等。在图1的示例中,客户网络115可以独立于其他网络(诸如服务提供方网络120和数据中心102)进行操作。

服务提供方网络120向被附接至客户网络115的客户设备116提供基于分组的连接性,以便访问数据中心102。服务提供方网络120可以被耦合至由其他提供方管理的一个或多个网络,并且因此,可以形成大规模公共网络基础设施(例如互联网)的一部分。服务提供方网络120表示层3(L3)网络,其中对其后跟有数字的层的引用是指开放式系统互连(OSI)模型中的对应层。在服务提供方网络120在本地支持如在OSI模型中所描述的L3操作的意义上,服务提供方网络120是L3网络。常见的L3操作包括根据L3协议(诸如互联网协议(IP))而被执行的那些操作。L3还在OSI模型中被称为“网络层”以及在TCP/IP模型中被称为“IP层”,并且贯穿本公开,术语L3可以与“网络层”和“IP”互换使用。服务提供方网络120还可以实现多协议标记交换(MPLS)转发,并且在这种实例中,服务提供方网络120可以被称为MPLS网络或者MPLS骨干网。备选地,服务提供方网络120可以被称为“MPLS/IP核心网络”或者“核心网络”。虽然服务提供方网络120被图示为在数据中心102与客户网络115之间的单个网络,但是服务提供方网络120可以包括用于将一个或多个客户设备116与数据中心102连接的多个服务提供方网络。

例如,数据中心102可以托管基础设施设备,诸如联网和存储系统、冗余电源以及环境控件。在一些示例中,数据中心102可以是单独的网络服务器、网络对等体等。在一些示例中,数据中心102是企业数据中心或者内部数据中心。如在图1的示例中所图示的,数据中心102可以是可以为客户设备116提供网络服务的设施。例如,数据中心102可以为企业和最终用户托管web服务。其他示例服务可以包括:数据存储、虚拟专用网、业务工程、文件服务、数据挖掘、科学计算或者超级计算等。客户设备116经由客户网络115和服务提供方网络120连接至网关设备112,以接收与由数据中心102提供的服务的连接性。网关设备112将业务流重定向到提供网络服务的数据中心102和从该数据中心102对业务流进行重定向。

在该示例中,数据中心102包括经由一层或多层物理网络交换机和路由器所提供的IP交换结构110而被互连的一组存储系统和应用服务器,例如设备122A至122N(统称为“设备122”)。设备122充当数据中心的计算节点和/或服务器。术语“计算节点”和“服务器”在本文中可互换使用以指代设备122。

在该示例中,IP结构110(或者,在本文中被称为“数据中心结构”)表示在设备122之间提供点对点连接性的层二(L2)交换和路由组件以及层三(L3)交换和路由组件。在一个示例中,IP结构110包括实现各种协议的一组互连的基于分组的路由器和交换机。在一个示例中,IP结构110可以包括提供IP点对点连接性的设备。在一些多级网络(诸如IP结构110)中,每个交换机驻留在被称为CLOS拓扑或者叶脊网络的网络的定义层中。如在图1的示例中所示出的,设备106A和106B可以操作为叶设备或者脊设备(统称为“叶/脊设备106”),这些叶设备或者脊设备聚集业务流并且在叶/脊设备106之间提供高速连接性。

边界设备104A和104B(统称为“边界设备104”)经由服务提供方网络120和数据中心102内的VLAN间通信来提供对数据中心102的外部访问。例如,边界设备104向设备122提供与外部设备(例如,服务提供方网络120或者在IP结构110的外部)的连接性,以经由网关设备112来在数据中心102与外部客户设备116之间路由网络业务。边界设备104和叶/脊设备106可以分别包括一个或多个处理器以及存储器,并且该一个或多个处理器以及存储器能够执行一个或多个软件进程。在图1中所图示的网络100的配置仅是示例。例如,在该示例中,边界设备104可以操作为边界叶设备,但是备选地,可以操作为边界脊设备。此外,数据中心102可以包括任何数量的叶设备和脊设备以及边界设备。

IP结构110由一组互连的网络交换机(例如机架式(TOR)交换机108A至108N(统称为“TOR交换机108”))提供。在该示例中,TOR交换机108向设备122提供与IP结构110和服务提供方网络120的连接性。TOR交换机108可以是提供层二(例如MAC)路由和/或交换功能性、和/或层三(例如IP)路由和交换功能性的网络设备。TOR交换机108可以包括一个或多个处理器以及存储器,并且该一个或多个处理器以及存储器能够执行一个或多个软件进程。

在图1的示例中,设备122A可以操作为用于待被传递给一个或多个多播组(multicast group)的多播业务的源(在本文中被称为“多播源122A”)。多播业务通常由特定多播组和用于该多播组的特定源的唯一组合指定。例如,多播网络业务(诸如内容的特定多播流)可以利用用于指定业务的源(例如多播源122A)和业务所属的多播组的(源,组)(即,(S,G))标记被唯一地指定。

加入多播组的在数据中心102内部的多播接收器(例如设备122B至122N)和/或在数据中心102外部的多播接收器(例如客户设备116)可以从多播源122A接收多播业务。在图1的示例中,在数据中心102内部的多播接收器可以实现互联网组管理协议(IGMP),多播接收器通过该互联网组管理协议(IGMP)来宣布其对接收特定多播业务的兴趣。例如,多播接收器可以向任何紧邻的多播路由设备发送IGMP报告,以指示其对在给定的虚拟局域网(VLAN)上从多播组接收多播业务的兴趣。作为一个特定示例,设备122B可以操作为多播接收器,并且使用IGMP来向中间网络设备(例如TOR交换机108B)发送加入消息和修剪消息,该中间网络设备将加入消息和修剪消息转发给边界设备104。在一些示例中,多播源和一个或多个多播接收器可以配置有不同的VLAN。边界设备104维持多播源和接收器及其相关联的VLAN的多播转发状态,以在数据中心102内提供VLAN间多播。

边界设备104和汇聚点(RP)设备114可以向多播源122A提供与在数据中心102外部的设备(例如客户设备116)的通信。RP设备114用作信息交换点,其中来自多播源的多播业务和来自感兴趣的多播接收器的路由器的加入消息在RP设备114处“汇聚”。RP设备114可以表示路由器、交换机、在路由器上运行的虚拟机或者其他合适的网络设备。

边界设备104、RP设备114和路由器117可以使用一个或多个多播控制平面协议(诸如协议无关多播(PIM))来交换用于构建和修改多播分发树的多播信息,以及控制通过层3网络(例如服务提供方网络120(例如在数据中心102外部))从多播源向用于特定多播组的多播接收器传递多播业务。PIM协议可以在若干不同的模式下操作,包括:源特定多播(SSM)模式或者任何源多播(ASM)模式下的密集模式(DM)、稀疏模式(SM),以及双向(BIDIR)模式。可以在Adams,A等人于2005年发布的“Protocol Independent Multicast Version2-DenseMode Specification”(RFC 3973);Fenner,B.等人于2006年发布的“ProtocolIndependent Multicast-Sparse Mode(PIM-SM):Protocol Specification(Revised)”(RFC 4601);Holbrook,H.和B.Cain等人于2006年发布的“Source-Specific Multicastfor IP”(RFC 4607);以及Handley,M.等人于2007年发布的“Bidirectional ProtocolIndependent Multicast(BIDIRPIM)”(RFC 5015)中找到有关PIM协议的附加信息,以上每个申请的全部内容通过引用并入本文。

作为一个示例,感兴趣的多播接收器(例如客户设备116)可以向其指定的路由器(例如路由器117)发布IGMP加入消息,该路由器转而向RP设备114发送PIM(*,G)加入消息。RP设备114接收PIM(*,G)加入消息,并且将在其上接收PIM(*,G)加入消息的接口添加到针对(*,G)的汇聚点树(RPT)多播转发状态条目的传出接口列表(OIL)。按照这种方式,RP设备114可以将针对组G的多播业务转发给感兴趣的多播接收器。即使没有主动的多播源产生业务,从RP设备114到用于客户设备116的路由器117的RPT也仍然有效。

通常,针对(*,G)条目或者(S,G)条目的多播转发状态是网络设备用于转发多播业务的信息。S是源IP地址,G是多播组地址,并且*表示向多播组G进行发送的任何源。网络设备可以针对用于每个多播组的传入接口和传出接口追踪多播转发状态。针对由网络设备存储的条目的多播转发状态可以指定网络设备的用于与条目相匹配的多播业务的输出接口。

当多播源变为主动的时,被连接至源的TOR交换机通常朝边界设备104使多播业务泛洪到数据中心,而不管是否存在感兴趣的多播接收器。边界设备向RP设备114发送例如PIM注册消息,以注册主动的多播源。响应于接收到PIM注册消息,如果存在感兴趣的多播接收器,则RP设备114发送PIM加入消息。例如,如果RP设备114在PIM域中对于多播组G具有感兴趣的多播接收器,则响应于接收到PIM注册消息,RP设备114可以朝向多播源发送PIM(S,G)加入消息,以构建返回多播源的最短路径树(SPT),其中S是多播源的IP地址,RP设备114接收该IP地址作为源地址。如果不存在感兴趣的多播接收器,则RP设备114发送PIM修剪消息。

由于边界设备104维持多播状态信息,因此,TOR交换机不知道在数据中心102内部的不同VLAN上是否存在任何感兴趣的多播接收器,或者不知道在数据中心102外部是否存在任何感兴趣的多播接收器。当TOR交换机从多播源接收多播业务时,即使可能不存在感兴趣的多播接收器,TOR交换机也默认朝边界设备104使多播业务泛洪到数据中心结构。边界设备确定是否存在任何感兴趣的接收器,并且如果不存在感兴趣的多播接收器,则边界设备丢弃多播业务。通过即使在没有感兴趣的多播接收器时也发送多播业务,不必要地消耗了数据中心结构的带宽,TOR交换机经历额外的复制负载,并且边界设备经历额外的处理负载以处理待被丢弃的多播业务。

根据本公开的技术,IP结构110的设备可以提供多播业务的改进的多播。在图1的示例中,TOR交换机108A可以被配置为:向边界设备通知多播源,而不使多播业务泛洪到数据中心结构,除非在数据中心内或者在数据中心外部存在对多播业务感兴趣的一个或多个多播接收器。例如,响应于从多播源122接收到多播业务,TOR交换机108A可以发送源主动路由消息128以指示多播源是主动的。在一些示例中,源主动路由消息128可以表示EVPN选择性多播以太网标签(SMET)路由(例如类型6路由),该EVPN选择性多播以太网标签(SMET)路由指定主动的多播源,并且包括用以指示TOR交换机108A正在从多播源122接收多播业务的源主动社区。在其他示例中,源主动路由消息128可以表示EVPN源主动自动发现(AD)路由(例如类型10路由),该EVPN源主动自动发现(AD)路由指定主动的多播源以指示TOR交换机108A正在从多播源122接收多播业务。

当边界设备104B接收到源主动路由消息128时,边界设备104B确定在数据中心102内部或者外部是否存在任何感兴趣的多播接收器。例如,边界设备104B可以向RP设备114发送PIM注册消息,以指示多播源(例如多播源122)是主动的。如果在数据中心102外部存在任何感兴趣的接收器,则边界设备104B从RP设备114接收指示感兴趣的接收器的PIM加入消息。如果在数据中心102外部不存在感兴趣的接收器,则边界设备104B从RP设备114接收指示不存在感兴趣的接收器的PIM修剪消息。边界设备104B还可以对多播状态信息执行查找以确定数据中心102内部是否存在任何多播接收器。

当不存在感兴趣的多播接收器时,边界设备104B发送响应路由消息,例如SMET路由130,包括用以指示不存在感兴趣的多播接收器的修剪扩展社区(在本文中被称为“修剪社区”或者简称为“修剪”)。响应于接收到包括修剪社区的SMET路由130,TOR交换机108A被配置为丢弃多播业务,而不是向边界设备104发送多播业务。例如,TOR交换机108A可以将TOR交换机108A的转发引擎配置为丢弃TOR交换机108A从多播源接收到的多播业务。

在存在至少一个感兴趣的多播接收器的一些示例中,边界设备104B发送包括用以指示存在至少一个感兴趣的多播接收器的加入扩展社区(在本文中被称为“加入社区”)的SMET路由132。响应于接收到包括加入社区的SMET路由132,TOR交换机108A被配置为朝边界设备104向数据中心结构发送多播业务。例如,TOR交换机108A可以向边界设备104发送多播业务,这些边界设备104在向在数据中心102内部或者外部的一个或多个感兴趣的接收器发送多播业务。按照这种方式,TOR交换机108A可以向边界设备通知多播源,而不使多播业务泛洪到数据中心结构,除非在数据中心内或者在数据中心外部存在对多播业务感兴趣的一个或多个多播接收器。

图2是图示了根据在本公开中所描述的技术的被配置为提供多播业务的改进的多播的交换设备的示例的框图。

在一个示例中,网络设备200可以表示图1所示TOR交换机108A的示例实例,或者表示被配置为从多播源接收和转发业务并且不维持多播转发状态的任何设备。在该示例中,网络设备200包括控制单元202,该控制单元202包括路由引擎204,并且控制单元202被耦合至转发引擎206。转发引擎206与经由入站链路258A至258N(“入站链路258”)来接收分组以及经由出站链路260A至260N(“出站链路”260)来发送分组的接口卡232A至232N(“IFC232”)中的一个或多个接口卡相关联。IFC 232通常经由若干接口端口(未示出)被耦合至链路258、260。用于入站链路258和出站链路260的接口可以表示物理接口、逻辑接口或者其某种组合。用于链路258、260的接口可以表示网络设备200的本地接口。

控制单元202和转发引擎206的元件可以被单独地实现在软件或者硬件中,或者可以被实现为软件、硬件或者固件的组合。例如,控制单元202可以包括:一个或多个微处理器、一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者任何其他等效的集成或者分立逻辑电路系统或者其任何组合,它们执行软件指令。在那种情况下,控制单元202的各种软件模块可以包括被存储、实施或者编码在包含指令的计算机可读介质(诸如计算机可读存储介质)中的可执行指令。被嵌入或者编码在计算机可读介质中的指令可以使可编程处理器或者其他处理器执行该方法,例如当指令被执行时。计算机可读存储介质可以包括:随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPRQM)、非易失性随机存取存储器(NVRAM)、闪速存储器、硬盘、CD-ROM、软盘、磁带盒、固态驱动器、磁性介质、光学介质或者其他计算机可读介质。计算机可读介质可以利用与网络设备200的各个方面(例如协议)相对应的指令而被编码。在一些示例中,对于这些方面,控制单元202从存储器中取回并且执行指令。

路由引擎204包括内核243,该内核243为用户级进程提供运行时操作环境。内核243可以表示例如UNIX操作系统衍生物,诸如Linux或者伯克利软件发行版(BSD)。内核243提供库和驱动,用户级进程可以通过这些库和驱动来与底层系统交互。路由引擎204的硬件环境255包括微处理器257,该微处理器257执行从存储设备(在图2中未示出)被加载到主存储器(在图2中也未示出)中的程序指令,以便执行软件堆栈,包括内核243和在由内核243提供的操作环境上执行的进程两者。微处理器257可以表示一个或多个通用或者专用处理器,诸如数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者任何其他等效的逻辑设备。因此,如在本文中所使用的术语“处理器”或者“控制器”可以是指前述结构中的任何一个或多个结构、或者可操作以执行在本文中所描述的技术的任何其他结构。

内核243为路由进程245提供操作环境,该路由进程245在网络堆栈的不同层执行各种协议244,包括用于实现以太网虚拟专用网的协议。例如,路由引擎204包括在网络堆栈的网络层操作的网络协议。在图2的示例中,网络协议包括边界网关协议(BGP)246,该边界网关协议(BGP)246是路由协议。路由引擎204还可以包括其他协议,诸如MPLS标记分发协议和/或在图2中未示出的其他MPLS协议。路由引擎204负责维持路由信息242,以反映网络设备200所连接的网络和其他网络实体的当前拓扑。特别地,路由协议基于由网络设备200接收的路由协议消息来周期性地更新路由信息242,以准确地反映网络和其他实体的拓扑。

内核243包括接口表249(“接口249”),该接口表249表示针对被配置用于网络设备200的每个逻辑接口包括对应条目的数据结构。逻辑接口可以与网络设备200的用于以太网段的本地接口相对应。针对相应逻辑接口的条目可以指定描述逻辑接口的相应当前信息。

路由信息242可以包括定义网络的拓扑的信息,包括一个或多个路由表和/或链路状态数据库。通常,路由信息定义通过网络到达网络中经由距离矢量路由协议(例如BGP)而获悉的目的地/前缀的路由(即,一系列下一跳),或者路由信息定义具有使用链路状态路由协议(例如IS-IS或者OSPF)而获悉的互连的链路的网络拓扑。

路由引擎204还包括使用BGP 246来执行L2学习的EVPN模块248。EVPN模块248可以维持用于由网络设备200建立的每个EVPN实例(EVI)的表,或者在备选示例中,可以维持独立于每个相应EVI的一个或多个表。在一些示例中,网络设备200可以使用EVPN模块248来广告例如EVPN路由,包括用于广告有关主动的多播源的信息的选择性多播以太网标签(SMET)(类型6)路由。EVPN模块248还可以被配置为向SMET路由添加扩展社区(例如源主动社区)。在其他示例中,备选地或者附加地,EVPN模块248可以发送其他EVPN路由,诸如以太网A-D路由(类型10),以指示多播源是主动的。

信令模块240输出控制平面消息,以自动建立用于将包括网络设备200的多个网络设备互连的隧道,以及以其他方式提供被配置用于网络设备200和其他网络设备的一个或多个EVI。信令模块240可以使用一种或多种合适的隧道信令协议(诸如GRE、VXLAN和/或MPLS协议)来用信号通知网络设备。信令模块240可以与转发引擎206通信以自动更新转发信息256。在一些示例中,信令模块240可以是路由进程245的一部分或者由路由进程245执行。

路由引擎204还包括配置接口241,配置接口241接收用于网络设备200的配置数据并且可以报告用于网络设备200的配置数据。配置接口241可以表示命令行接口;图形用户界面;简单网络管理协议(SNMP)、Netconf或者另一配置协议;或者在一些示例中,表示上述内容的某种组合。配置接口241接收配置数据,该配置数据对网络设备200以及至少部分地定义网络设备200的操作的其他构造(包括在本文中所描述的技术)进行配置。例如,在对网络设备200进行加电、激活网络设备200或者以其他方式使得网络设备200能够在网络内操作之后,管理员可以经由配置接口241来与控制单元202交互以将网络设备200配置为发送源主动路由消息(例如,包括扩展社区的SMET路由,或者EVPN源主动自动发现(A-D)路由)。此外,如在本公开中所描述的,管理员可以经由配置接口241来与控制单元202交互以将转发引擎206配置为:仅在网络设备200接收到例如包括加入社区的SMET路由时转发多播业务,并且如果网络设备200接收到包括修剪社区的SMET路由,则丢弃多播业务。

路由进程245可以使用EVPN模块248来生成EVPN路由,并且经由与其他网络设备的BGP 246会话来发送和接收EVPN路由。例如,EVPN模块248使用BGP 246来生成包括用以指示网络设备200正在从多播源接收多播业务的源主动社区的SMET路由(类型6)。备选地或者附加地,EVPN模块248使用BGP 246来生成用以指示网络设备200正在从多播源接收多播业务的EVPN源主动自动发现(A-D)路由(类型10)。

路由进程245可以存储生成的EVPN路由,并且将接收到的EVPN路由导入/存储到将EVPN路由270存储在路由信息242中的路由表。例如,响应于接收到包括修剪社区的SMET路由,路由进程245可以将包括修剪社区的SMET路由存储在路由信息242中作为EVPN路由270。备选地或者附加地,响应于接收到包括加入社区的SMET路由,路由进程245可以将包括加入社区的SMET路由存储在路由信息中242作为EVPN路由270。在一些示例中,路由进程245可以在路由信息242中存储指示是否存在至少一个感兴趣的多播接收器的信息。

转发引擎206表示提供网络业务的高速转发的硬件和逻辑功能。转发引擎206通常包括利用转发信息256而被编程的一个或多个转发芯片的集合,该转发信息256将网络目的地与特定的下一跳和对应的输出接口端口进行映射。通常,当网络设备200经由一个入站链路258接收到分组时,转发引擎206通过基于分组内的信息遍历已编程的转发信息256来针对数据分组标识相关联的下一跳。转发引擎206在被映射到对应的下一跳的一个出站链路260上转发分组。

在图2的示例中,转发引擎206包括转发信息256。根据路由信息242,转发引擎206存储将分组字段值映射到具有特定的下一跳和对应的出站接口端口的网络目的地的转发信息256。例如,路由引擎204分析路由信息242,并且根据路由信息242来生成转发信息256。可以按照一个或多个表、链路列表、基数(radix)树、数据库、平面文件或者任何其他数据结构的形式来维持转发信息256。

转发引擎206为由网络设备200建立的每个EVI存储转发信息256,以将网络目的地与特定的下一跳和对应的接口端口相关联。转发引擎206根据转发信息256来在一个出站链路260上将数据分组转发给对应的下一跳。此时,转发引擎206可以从分组推送和/或弹出标记,以沿着正确的标记交换路径转发分组。

根据路由信息242中的EVPN路由270,转发引擎205被配置为转发多播业务或者丢弃多播业务。例如,如果EVPN路由270包括SMET路由,该SMET路由包括加入社区,则转发引擎205被配置为例如向一个或多个出站接口端口发送多播业务,该一个或多个出站接口端口被用于朝一个或多个边界设备向数据中心结构发送多播业务。按照这种方式,当网络设备200经由一个入站链路258接收到多播业务时,转发引擎206遍历已编程的转发信息256,并且将多播业务发送给一个或多个出站接口端口,该一个或多个出站接口端口被用于朝边界设备向数据中心结构转发业务。备选地,如果EVPN路由270包括SMET路由,该SMET路由包括修剪社区,则转发引擎205被配置为丢弃多播业务。按照这种方式,当网络设备200经由一个入站链路258接收到多播业务时,转发引擎206不通过遍历已编程的转发信息256来针对多播业务标识下一跳,并且丢弃多播业务。

图3是图示了根据在本公开中所描述的技术的被配置为提供多播业务的改进的多播的边界设备的示例的框图。在一个示例中,网络设备300可以表示图1所示边界设备104B的示例实例。除了如下面所描述的之外,网络设备300可以包括与针对图2所示示例网络设备200所描述的引擎、单元和/或模块类似的引擎、单元和/或模块。

在该示例中,网络设备300的协议344包括协议无关多播(PIM)345,该协议无关多播(PIM)345用以交换用于构建和修改多播分发树的多播信息,以及控制通过服务提供方网络(例如图1所示服务提供方网络120)从多播源向用于特定多播组的多播接收器传递多播业务。例如,网络设备300为在数据中心内部或者外部的多播接收器维持多播状态信息372。为了为在数据中心外部的多播接收器维持多播状态信息,网络设备300使用PIM 345来发送PIM注册消息,该PIM注册消息指示多播源是主动的。网络设备300通过层3网络将PIM注册消息发送给在数据中心外部的RP设备(例如图1所示RP设备114)。网络设备300针对外部多播接收器从RP设备接收PIM加入/修剪消息,并且将该信息存储在多播状态信息372中。

网络设备300的协议344还包括互联网组管理协议(IGMP)347。例如,网络设备300从网络设备(例如被连接至感兴趣的多播接收器的TOR交换机108)接收IGMP加入/修剪消息,并且将该消息存储在多播状态信息372中。多播状态信息372可以包括与多播源和多播接收器相关联的VLAN以提供VLAN间多播。多播状态信息372可以表示用于存储多播状态信息的表、列表、索引或者其他数据结构。

根据在本公开中所描述的技术,网络设备300可以从TOR交换机108A接收源主动路由消息(例如,包括源主动社区的SMET路由,或者EVPN源主动A-D路由)。响应于接收到包括源主动社区的SMET路由、或者EVPN源主动A-D路由,网络设备300确定在数据中心外部是否存在任何感兴趣的多播接收器。例如,网络设备300可以对其多播状态信息372执行查找,以确定对于由源主动路由消息标识的多播源是否存在任何感兴趣的多播接收器。

如果不存在感兴趣的外部多播接收器,则路由进程345使用EVPN模块348来发送包括用以指示不存在感兴趣的多播接收器的修剪社区的SMET路由。如果存在至少一个感兴趣的多播接收器,则路由进程345使用EVPN模块348来发送包括用以指示存在至少一个感兴趣的多播接收器的加入社区的SMET路由。

图4是图示了根据在本公开中所描述的技术的用于改进多播业务的多播的示例方法400的流程图。针对图1所示TOR交换机108和边界设备104来解释图4的方法。图4的方法仅是一个示例,并且不一定需要按照所示出的顺序被执行。

在图4的示例中,TOR交换机108A生成源主动路由消息作为TOR交换机108A的指示(402)。作为一个示例,TOR交换机108A被配置为生成包括源主动扩展社区的SMET路由,该源主动扩展社区用以指示多播源是主动的(例如,TOR交换机108A正在从多播源接收多播业务)。在其他示例中,TOR交换机108A被配置为生成EVPN源主动自动发现路由(类型10)以指示多播源是主动的。

TOR交换机108A发送源主动路由消息(404)。响应于接收到源主动路由消息(406),边界设备104B确定是否存在任何感兴趣的多播接收器(408)。例如,边界设备104B可以向RP设备114发送PIM注册消息以注册主动的多播源。响应于接收到PIM注册消息,RP设备114基于是否存在感兴趣的多播接收器来发送PIM加入/修剪消息。边界设备104B存储多播状态信息。使用多播状态信息,边界设备104B可以对其多播状态信息执行查找,以确定对于由源主动路由消息标识的多播源是否存在任何感兴趣的多播接收器。如果存在至少一个感兴趣的多播接收器(步骤408中的“是”),则边界设备104B向TOR交换机108A发送响应路由消息,例如包括加入社区的SMET路由(410)。如果不存在感兴趣的多播接收器(步骤408中的“否”),则边界设备104B向TOR交换机108A发送响应路由消息,例如包括修剪社区的SMET路由(412)。

响应于接收到响应路由消息(414),TOR交换机108A确定响应路由消息是包括加入社区还是修剪社区(416)。如果SMET路由包括加入社区(步骤416中的“加入”),则TOR交换机108A将转发引擎配置为发送多播业务(418)。例如,TOR交换机108A可以朝边界设备104使多播业务泛洪到数据中心结构。如果SMET路由包括修剪社区(步骤416中的“修剪”),则TOR交换机108A将转发引擎配置为丢弃多播业务(420)。

在本公开中所描述的技术可以至少部分地被实现在硬件、软件、固件或者其任何组合中。例如,所描述的技术的各个方面可以被实现在一个或多个处理器中,包括:一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者任何其他等效的集成或者分立逻辑电路系统以及这种组件的任何组合。术语“处理器”或者“处理电路系统”通常可以是指前述逻辑电路系统中的任何逻辑电路系统(单独地或者结合其他逻辑电路系统)或者任何其他等效的电路系统。包括硬件的控制单元也可以执行本公开的技术中的一种或多种技术。

这种硬件、软件和固件可以被实现在同一设备内或者单独的设备内以支持在本公开中所描述的各种操作和功能。附加地,所描述的单元、模块或者组件中的任何一个可以被一起或者单独地实现为分立的但是可互操作的逻辑设备。将不同的特征描述为模块或者单元旨在突出显示不同的功能方面,并且不一定暗示必须通过单独的硬件组件或者软件组件来实现这种模块或者单元。相反,与一个或多个模块或者单元相关联的功能性可以由单独的硬件组件或者软件组件执行,或者被集成在共同的或者单独的硬件组件或者软件组件内。

在本公开中所描述的技术还可以被实施或者编码在包括指令的计算机可读介质(诸如计算机可读存储介质)中。被嵌入或者编码在计算机可读介质中的指令可以使可编程处理器或者其他处理器执行该方法,例如当指令被执行时。计算机可读介质可以包括非瞬态计算机可读存储介质和瞬态通信介质。计算机可读存储介质(该计算机可读存储介质是有形的和非瞬态的)可以包括:随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPRQM)、闪速存储器、硬盘、CD-ROM、软盘、磁带盒、磁性介质、光学介质或者其他计算机可读存储介质。术语“计算机可读存储介质”是指物理存储介质,而不是信号、载波或者其他瞬态介质。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号