专利名称:层2拓扑中针对单播帧和多播帧的差别化服务的利记博彩app
层2拓扑中针对单播帧和多播帧的差别化服务
背景技术:
本公开一般地涉及通信网络,并且更具体地涉及在层2 (U)拓扑中针对单播帧和 多播帧提供差别化服务。在传统的L2网络中,特定VLAN(虚拟局域网)中的帧基于通过生成树协议(STP) 或其变体(例如,RSTP (快速生成树协议)、MSTP (多生成树协议))设立的树来获得服务。 STP及相关协议是距离-矢量协议,因此,帧沿着网络中的属于此树的链路被路由。L2帧不 能沿着等价多路径(ECMP)被发送,因为STP的一个要求是要确保这些树保持没有环路。在这些传统网络中的多播是使用诸如IGMP(因特网组管理协议)探听(snooping) 和MLD (多播侦听发现)探听之类的探听机制被服务的,这些探听机制沿着生成树学习感兴 趣的主机在特定多播群组或多播群组中的位置以及源层2/层3地址并从而转发流量。这 些基于STP的树不能在给定STP实例中为多播帧提供多路径服务。
图1示出可以在其中实现在此描述的实施例的网络的示例。图2示出在图1的网络中的多播图和广播图。图3示出与图2的多播图相对应的表。图4是示出可在该网络的节点处操作的组件的示例的框图。图5是示出用于在层2拓扑中针对单播帧和多播帧提供差别化服务的处理的流程 图。图6描述在实现在此描述的实施例中有用的网络设备的示例。在附图的各图中,相应的标号指示相应的部件。
具体实施例方式概要在一个实施例中,一种方法一般地包括在核心网络中的网络设备处接收有关层 2拓扑的信息;将一个或多个虚拟局域网(VLAN)映射到所述层2拓扑,以在所述层2拓扑 中提供差别化服务;为所述层2拓扑中的每个定义多条路径;以及在所述多条路径的一条 上转发在所述网络设备处接收到的分组。在另一实施例中,一种装置一般地包括用于存储有关层2拓扑的信息的数据库; 用于存储所述层2拓扑和一个或多个虚拟局域网(VLAN)之间的映射以在所述层2拓扑中 提供差别化服务的数据库;以及被配置来为所述层2拓扑的每个计算多条路径并且基于与 分组相关联的VLAN在所述多条路径的一条上转发分组的处理器。示例实施例下面的描述被呈现以使得本领域普通技术人员能够实现和使用本发明。具体实 施例和应用的描述被提供仅作为示例,并且各种修改对于本领域技术人员来说将是很明显 的。在不脱离本发明的范围的前提下,在此描述的一般原理可被应用于其他实施例和应用。因此,本发明不受所示出的实施例的限制,而是与符合在此描述的原理和特征的最宽范围 一致。为了清楚的目的,不对与作为在与本发明有关的技术领域中已知的技术素材有关的 细节进行详细描述。现在参考附图,并且首先参考图1,可以实现在此描述的实施例的网络的示例被示 出。为了简明,只有少量节点被示出。本系统在包括多个网络元件的数据通信网络的环境 中操作。采用本系统的网络中的某些元件可以是诸如交换机、路由器、网关或服务器之类的 网络设备。这样的网络设备可以包括,例如,主控中央处理单元(CPU)、接口以及总线。CPU 优选地包括存储器和处理器。这样的网络设备可以在诸如下面参考图6描述的通用网络机 器上实现。在图1所示的示例中,两个CE(传统以太网)网络12、14与DCE(数据中心以太 网)网络10通信。DCE网络包括通过链路31、32、33、;34、35、36、37、38互连的五个交换机 21、22、23、24、25。边缘交换机22和23与CE网络12通信并且边缘交换机M与网络14通 信。为了简明,只有两个CE网络被示出。应当理解,DCE网络中的边缘交换机可以与任意 数量的CE网络通信。此外,在图1中所示的网络只是一个示例,并且在不脱离本发明的范 围的前提下,可以使用具有不同组件或拓扑的其他类型的网络。DCE网络10包括层2网络,其使用链路状态协议(LSP)来学习层2处的单播和多 播位置以及可达性信息。层2网络用作到与其连接的网络的“线(wire) ”。层2网络控制平 面协议支持在所连接的网络之间的帧转发。在此描述的实施例考虑来自CE网络12、14的、 需要来自L2核心网络的类似服务的虚拟局域网(VLAN)的聚合。DCE网络10可以包含任意 数目的拓扑。拓扑由节点、接口和度量(metric)的集合构成。每个拓扑允许各链路上的不 同度量,以为网络流量提供路径分集。如下面详细描述的,L2拓扑被创建并且单播帧和多 播帧沿着L2网络核心中的多条路径在拓扑内被递送。在此描述的实施例将一组VLAN(在 此被称为vlan组)聚合成L2拓扑,并且在该拓扑中使用链路状态协议来(1)为单播帧提 供ECMP (等价多路径)以及(2)为多播帧提供多路径服务(路径分集)。结果,在与vlan 组相关联的拓扑上实现了差别化服务,并且由于条目数目不再是VLAN颗粒(granular)而 是改为拓扑颗粒,所以硬件要求被降低了。再次参考图1,来自CE VLAN的分组在DCE网络边缘处被映射到特定拓扑。下面描 述将VLAN映射到拓扑的细节。一旦分组被标记为针对特定拓扑,则转发发生在此拓扑中。 来自CE网络12、14的帧被用DCE头封装并且在DCE网络10上被发送。在一个实施例中, DCE IS-IS(中间系统到中间系统)控制平面协议支持这些帧的转发,并且DCE网络中的节 点运行IS-IS作为控制平面协议。每个节点为其控制平面DCE IS-IS处理使用唯一的系统 ID。应当理解,IS-IS在此被用作一个示例,并且在不脱离本发明的范围的前提下,可以使 用其他链路状态路由协议(例如,0SPFv3(开放最短路径优先版本幻、EIGRP (增强型内部 网关路由协议))。到达DCE网络10的边缘端口(例如,交换机2 的数据分组被封装并且被递送到 网络的另一边缘(例如,交换机对)。封装头包括作为源地址和目的地地址的交换机ID。 在系统ID和交换机ID之间存在一对一映射。交换机ID可以由DRM(DCE资源管理器)生 成并且被洪泛到所有的DCE IS-IS节点。对于每个DCE节点,交换机ID值跨越拓扑是相同 的,并且优选地在重新启动(reboot)期间被保持。帧基于交换机ID查找而在DCE网络10中被转发。在一个实施例中,这些基于交换机ID的转发条目被DCE IS-IS学习、分发并被 填充在RIB(路由信息库)中。多播CE帧的目的地MAC地址在封装期间被拷贝,并且转发发生在群组目的地MAC 地址上。在多播DCE中,每Vlan(Per-Vlan)多播群组MAC状态被维护在核心中,这与核心 交换机只维护基于交换机ID的转发状态的单播不同。这用于将多播流量只转发到所感兴 趣的边缘,而不是遍及核心地洪泛流量。多播协议因此将状态建立在核心中。在一个实施 例中,IS-IS被用于将状态建立在用于多播协议的核心中。IS-IS被用于联合下面描述的学 习边缘上的多播状态的IGMP探听特征来散布和散播多播状态。IS-IS检测网络拓扑的改变并且计算到网络中其他节点的无环路路由(route)。 每个路由器维护描述网络的状态的链路状态数据库。每个路由器还负责更新与其相邻的链 路的状态。IS-IS协议跨越网络10洪泛链路状态信息。每个路由器在DCE核心链路31、32、 33、34、35、36、37、38上发送hello分组以发现邻居(neighbor) 0当邻居被发现了时,邻接 (adjacency)被创建。路由器还通过所有现有的邻接发送广告和对链路状态数据库的更新。从链路状态数据库,每个交换机21、22、23、24、25计算以其本身作为根到每个节 点的最短路径。这得出了到网络中的每个目的地的路由。当网络中的每个路由器已经学习 了网络拓扑并且计算出了到每个节点的最短路径时,该系统被完全汇聚。另外,每个交换机 还计算根为其他节点的广播图和多播图,以帮助按照负荷分享的方式转发多播分组(下面 描述)O在每个拓扑中,广播图被默认地创建,以承载广播流量和未知单播流量。此图类似 于生成树,其中,节点的所有成员只可达一次。术语“图”在此被用于与被设置用于多播转 发的基于群组的条目(其被称为树)相区别。图2示出以交换机M为树的根的广播图。每个拓扑还具有与其相关联的多播图,以供用在多播流量负荷分享的多播转发 中。在一个实施例中,为每个拓扑创建两个共享多播图。在图2中所示的网络具有两个多 播图T1、T2。多播图Tl以交换机21为根。多播图Τ2以交换机22为根。如下面进一步描 述的,这些多播图为拓扑中的多播帧提供多路径服务。每个交换机在拓扑标识符(TLV)中通告广播根优先级和多播根优先级。从这些通 告,形成了有序列表,其中联系(tie)基于较低IS-IS系统ID被断开。一旦节点接收到网 络中的所有LSP,则IS-IS就在所有符合条件的交换机上与网络中的其他交换机相独立地 运行选择算法,以确定拓扑的广播根。通告广播列表中最低优先级的节点成为广播图的根。 广播图是默认计算出的,并且控制平面状态被散播。广播图计算涉及以广播根作为根节点 运行的SPF(最短路径优先)以及洪泛端口列表的计算。所选择的广播根基于在TLV中广 告的多播优先级来选择多播根。所选择的广播根节点然后决定对于此拓扑要计算的多播图 的数目,并且获取并通告其转发标签(FTAG)值和根。广播根节点在LSP中通告多播根节点 和相应的多播FTAG标识符。FTAG值可以从DRM获得并且此通告例如可以在TLV的多播根 子tlv中发生。一旦接收到多播TLV,这些节点就独立地计算多播图。—旦知道了多播根,IS-IS就以每个多播根作为SPF根节点来运行各自的SPF,并 且计算到交换机中的每个的路由。在图计算完成之后,这些路由被更新在路由信息库中,此 路由信息库在此被称为M2RIB (多播路由信息库)。M2RIB是存储广播和多播状态的DCE多 播路由信息库组件。图3示出被存储在交换机M处的M2RIB中的、针对在图2中所示的多播图Tl、T2的表的示例。用于图Tl的表指示在多播图Tl上从交换机M到每个目的地交 换机01、22、2;3)的可达性。用于图T2的表指示在多播图T2上从交换机M到每个目的地 交换机01、22、23)的可达性。M2RIB中的条目可以是如下形式FTAG,{目的地交换机ID- >下一跳交换机Id}对于每个图,可以以如下形式设置活动VLAN {FTAG,VLAN 组,激活 / 去激活}IS-IS还基于由LSP描述的拓扑来为网络中的每个节点计算交换机ID可达性,并 且发送对于DCE U2RIB(单播路由信息库)的更新。U2RIB中的路由条目的示例有{拓扑 ID,VLAN,交换机 ID}-— >{下一跳交换机Id,下一跳0IF}多播群组成员关系(或者群组和源成员关系)经由在直接连接到发送IGMP(或 MLD)报告的主机的边缘交换机上的探听而被学习。在DCE网络的边缘处执行的IGMP探 听限制多播流量在核心中流动,以便只达到具有多播接收机的那些边缘。L3路由器的存 在性也被这些边缘交换机通过检测标准多播路由器检测(MRD)或其他盛行的方法(例如, 在PIMhello消息或IGMP/MLD查询消息上的探听)而被学习。此探听到的消息被中继到 在同一边缘交换机上运行的IS-IS,此边缘交换机进而广告这些本地加入的多播群组/源、 使用洪泛到L2 IS-IS核心的链路状态的群组信息。新的PDU类型(群组成员关系LSP或 GM-LSP)可用于广告此多播信息。运行L2 IS-IS的所有交换机接收到这些GM-LSP以及源 发此GM-LSP的交换机在其后具有接收机的事实。这些交换机基于它们可以使用路由表信 息如何达到源发交换机来建立多播群组状态(或群组和源状态)以及相应的外出接口列表 (0IF列表)。IGMP探听保持跟踪具有多播主机和路由器的边缘端口以及他们感兴趣的群组。利 用GM-LSP洪泛,此信息被中继到IS-IS,IS-IS将其分发给DCE网络中的所有交换机。IGMP 通过M2RIB与IS-IS通信。IGMP将在边缘端口处学习到的多播信息添加到M2RIB。此信息 通过M2RIB通知给相应地源发GM-LSP并将其进行洪泛的IS-IS。当IS-IS在其核心端口上 经由GM-LSP的接收学习到多播信息时,此多播信息被添加到M2RIB。IGMP探听提供如下对 M2RIB的更新{VLAN}_> {启用 I 禁用}{VLAN,源,群组} - > {0IF 列表}“启用I禁用VLAN”更新被用于启用/禁用在VLAN中的IGMP探听。在一个实施例中,M2RIB将IP地址转换成MAC地址并且设置基于群组MAC (GMAC) 的条目。iGRIB还向IS-IS通知IGMP探听的GMAC。在一个实施例中,IS-IS在GM-LSP中通告GMAC。在接收节点处,IS-IS更新M2RIB。 下面是用于从IS-IS到M2RIB的多播群组更新的格式的示例 {VLAN,源,群组} - > {交换机ID列表}由IS-IS建立的用来承载多播流量的多播拓扑图被提供给M2RIB,从而使得流量 可以在这些拓扑之一上被转发。M2RIB保持每vlan多播群组和所感兴趣的成员端口的全部 数据库并且对DCE硬件表进行编程以便进行适当的转发。下面描述在节点处进行初始化和端口提升(bringup)过程中的处理流程的示例。在DCE网络中的初始化期间,节点获取路由器-MAC地址,获取用于DCE拓扑的CLI配置,并 且请求未来的通知。节点还询问VLAN管理器并且请求VLAN通知。节点从DRM获得本地交 换机ID以及任何相关的DCE IS-IS接口配置。在端口提升期间,节点交换hello并且形成 邻接。LSP数据库被交换并且DRM被通知新学习到的交换机ID和FTAG。邻居可达性也被 传送。SPF在用于受影响的拓扑的LSP数据库上被运行。然后广播根从可达节点中被选出, 并且多播根TLV利用FTAG值被生成。根据需要,广播图和多播图以及U2RIB和M2RIB被更 新。图4是示出根据一个实施例的位于DCE网络中的节点之一处的DCE IS-IS组件的 功能架构的框图。此IS-IS组件可以被配置为在每个VDC(虚拟设备环境)中运行。每个 VDC中的单个多线程处理可以运行IS-IS协议引擎的多个实例,其中,每个实例包含多个拓 扑。链路状态数据库(LSDB) 42存储LSP (链路状态分组)。接口数据库04)存储所配 置的接口。数据库44包含所配置的接口的列表以及任何IS-IS参数,例如每个拓扑被分配 的度量。邻接数据库46保持每个所发现的邻接的状态并且与接口数据库44有关,因为每 个邻接与接口相关联。路由数据库48包括单播路由表和多播路由表。单播路由表包含由DCE IS-IS基 于通过LSP描述的网络拓扑计算出的路由。关于拓扑ID、VLAN、交换机ID和下一跳交换机 信息的ECMP路由被馈送到U2RIB67。多播路由表包含通过外部GM-LSP和内部M2RIB通知 学习到的多播路由。如前所述,这些路由可以是如下形式{VLAN,源,群组}-> {交换机ID 列表},其中,‘源,和‘群组,是基于MAC的条目。广播图表52包含被标记为路由器端口的接口以及基于本地交换机在全网络同意 的广播图(其可以以别处为根)中的位置的指定端口。多播图表M包含被标记为根端口 的接口以及基于本地交换机在全网络同意的多播图(其可以以别处为根)中的位置的指定 端口。如上所述,DCE IS-IS协议允许所有节点都同意用于广播图的根以及用于多播图的 根。IS-IS维护交换机ID表56,交换机ID表56包含系统ID与由每个IS-IS节点通 告的交换机ID之间的映射,以及他们的各种状态(例如,主要的/次要的,试验性的/确定 性的)。IS-IS还维护拓扑表58,拓扑表58包括对于(一个或多个)FTAG的映射的拓扑以 及对于vlan组映射的拓扑。协议状态机60负责发送hello分组,建立邻接,以及运行邻接 和接口状态机。协议状态机60与LSDB 42以及GM LSDB 51接口连接。GM LSDB提供对多 播群组缓存器50的输入。随着协议的发展,协议状态机60相应地修改接口和邻接数据库 44、46。协议子系统60还负责LSDB同步、协议扩展以及可靠地洪泛DCE应用TLV。本地引 擎62处理与诸如CLI、DRM、M2RIB 65、U2RIB 67、IM和VLAN-MGR之类的各种组件的交互,以 获得IS-IS感兴趣的各种数据。此数据例如可以包括拓扑配置及其特性(接口 /度量); VLAN状态;本地交换机ID/FTAG ;通过IGMP探听学习到的本地多播群组成员关系;以及DCE 接口状态。路由计算和图计算组件64、66、68负责从LDSB 42的内容运行SPF计算和生成适 当的路由。路由计算组件64使用Dijkstra算法来计算到网络中的每个交换机的最短路 径。广播图计算组件66和多播图计算组件68使用Di jkstra算法来针对给定图计算本节点相对于网络中的其他节点的位置。路由分发子系统(未示出)负责层间路由广告。路由分 发子系统还使用来自不同层的路由信息以及用户配置的路由映射来向用于其他路由的LSP 注入可达性信息。本系统可以包括用户接口 69,用户接口 69例如用于通过适当的VLAN来配置拓扑 以及在给定接口上配置IS-IS。图5是描述在L2拓扑中针对单播和多播帧提供差别化服务的处理的一个示例的 流程图。在步骤70,在节点(例如,边缘交换机2 处接收拓扑和VLAN信息。在步骤72, VLAN(例如vlan组)被映射到L2拓扑。此步骤包括其中在所述节点处接收到映射信息(例 如,用户配置、在其他节点处生成的VLAN到拓扑映射)的情况。如前所述,VLAN可被分组 成vlan组,每个vlan组被映射到一个拓扑。在VLAN被聚合成各种拓扑桶(bucket)之后, 为每个拓扑定义多条路径,以在每个拓扑上提供多路径传送服务(步骤74)。如下面详细 描述的,这涉及为单播帧定义ECMP以及为多播帧定义多播图。在所述节点处接收的单播帧 (分组)被利用ECMP通过DCE网络10转发(步骤75、76和79)。在所述节点处接收的多 播帧(分组)被在所选择的多播图上通过DCE网络10转发(步骤75、78和79)。此ECMP 或多播图是基于与分组相关联的VLAN(或vlan组)选择的。此相关联的VLAN可以在分组 头部中被标识或基于分组的源被识别。ECMP或多播图的选择优选地还考虑负荷均衡要求。 根据示例实施例的步骤72-79的细节在下面描述。下面描述用于运行L2 IS-IS控制协议和聚合VLAN的两个实施例。在第一实施 例中,每个vlan组(VLAN的范围)具有与其相关联的度量。例如,vlan组1_50和vlan组 51-100可以以不同的度量运行在相同的接口上。每个vlan组被编码作为LSP中的单独的 拓扑,从而度量差异为不同vlan组间的流量提供路径分集。在本实施例中,每个vlan组 (或者分离的vlan组的群组)由拓扑表示并且在LSP数据库中被广告。在同一拓扑中可以 有多个不连续的VLAN(或者多个分离的vlan组)。针对此实施例,用户配置被提供。在第二实施例中,每个处理(VDC (虚拟设备上下文))支持单个拓扑,这单个拓扑 进而支持全部vlan组(VLAN的范围)。本实施例可以在没有用户配置(零配置默认设置) 时使用。下面是样本配置,其中,各种VLAN被映射到VDC中各自的拓扑vlan 组 1-50拓扑蓝(topology blue)vlan 组 51—100拓扑红(topology red)vlan 组 101-4000 拓扑基础(topology base)节点的所有接口属于具有默认度量的基础拓扑。可以将接口分配给具有不同度 量的其他拓扑。在基础拓扑以外的任意拓扑中,如果拓扑没有被配置,则默认度量可以是 (MAX_LINK_C0ST)。接口因此可以如下被配置
权利要求
1.一种方法,包括在核心网络中的网络设备处接收有关层2拓扑的信息;将一个或多个虚拟局域网(VLAN)映射到所述层2拓扑,以在所述层2拓扑中提供差别 化服务;为所述层2拓扑中的每个定义多条路径;以及 在所述多条路径的一条上转发在所述网络设备处接收到的分组。
2.根据权利要求1所述的方法,其中,所述一个或多个VLAN包括多个VLAN,并且还包 括将所述多个VLAN分组成两个或多个VLAN组。
3.根据权利要求1所述的方法,其中,所述网络设备位于数据中心以太网(DCE)网络 中,并且所述一个或多个VLAN与和所述DCE网络通信的传统以太网(CE)网络相关联。
4.根据权利要求1所述的方法,其中,所述分组是单播帧,并且定义多条路径包括定义 等价多路径(ECMP)。
5.根据权利要求1所述的方法,其中,所述分组是多播帧,并且定义多条路径包括定义 两个或多个多播图。
6.根据权利要求1所述的方法,其中,将所述VLAN映射到所述层2拓扑包括将量度与 所述VLAN的组相关联。
7.根据权利要求1所述的方法,其中,定义多条路径包括为所述层2拓扑的每个计算转发表。
8.根据权利要求1所述的方法,其中,定义多条路径包括为所述层2拓扑的每个建立广 播图和多播图。
9.根据权利要求8所述的方法,其中,建立广播图包括接收链路状态分组并且运行选 择算法来为所述广播图选择广播根节点。
10.根据权利要求8所述的方法,其中,建立多播图包括从所述广播图的广播根节点接 收标识出所述多播图的多播根节点的分组。
11.根据权利要求8所述的方法,其中,建立多播图包括运行最短路径优先算法来定义 生成树。
12.根据权利要求8所述的方法,还包括将所述多播图设置在路由信息库中。
13.根据权利要求8所述的方法,其中,转发所述分组包括以标识出所述多播图中的一 个的头来封装所述分组。
14.根据权利要求1所述的方法,其中,所述层2网络是中间系统到中间系统(IS-IS) 网络。
15.一种装置,包括用于存储有关层2拓扑的信息的数据库;用于存储所述层2拓扑和一个或多个虚拟局域网(VLAN)之间的映射以在所述层2拓 扑中提供差别化服务的数据库;以及被配置来为所述层2拓扑的每个计算多条路径并且在所述多条路径上转发分组的处理器。
16.根据权利要求15所述的装置,其中,所述网络设备位于数据中心以太网(DCE)网络 中,并且所述一个或多个VLAN与和所述DCE网络通信的传统以太网(CE)网络相关联。
17.根据权利要求15所述的装置,其中,所述分组是单播帧,并且所述多条路径包括等 价多路径(ECMP)。
18.根据权利要求15所述的装置,其中,所述分组是多播帧,并且所述多条路径包括两 个或多个多播图。
19.根据权利要求15所述的装置,其中,所述多条路径包括多播图,并且还包括用于存 储所述多播图的表。
20.一种装置,包括用于在核心网络中的网络设备处接收有关层2拓扑的信息的装置; 用于将一个或多个虚拟局域网(VLAN)映射到所述层2拓扑以在所述层2拓扑中提供 差别化服务的装置;用于为所述层2拓扑中的每个定义多条路径的装置;以及用于在所述多条路径的一条上转发在所述网络设备处接收到的分组的装置。
全文摘要
在一个实施例中,一种方法包括在核心网络中的网络设备处接收有关层2拓扑的信息;将一个或多个虚拟局域网(VLAN)映射到所述层2拓扑,以在所述层2拓扑中提供差别化服务;为所述层2拓扑中的每个定义多条路径;以及在这多条路径的一条上转发在所述网络设备处接收到的分组。一种用于在层2拓扑中提供差别化服务的装置也被公开。
文档编号G06F15/16GK102150148SQ200980135096
公开日2011年8月10日 申请日期2009年9月8日 优先权日2008年9月9日
发明者拉戈哈瓦·西瓦拉姆, 桑杰伊·塞恩, 迪诺·法里纳齐, 那伊尔·凡高帕勒, 阿扬·本那杰, 阿沛·罗伊 申请人:思科技术公司