专利名称:Management of topology changes in layer two networks的制作方法
技术领域:
本发明一般地涉及采用双宿主(dual-homing)的第2层网络(即,数据链路层网 络)中的数据通信。
背景技术:
具有其自身的物理连通性的第2层用户(customer)网络可在一个以上的附接点 处连接到提供商骨干网。这种类型的拓扑称为双宿主,并且被用于增加用户网络的数据传 送连接的可靠性。例如,这种网络拓扑被设计为通过提供冗余网络路径来保护用户网络免 遭特定网络组件的故障或移除所带来的不便。用户网络可使用其自身的生成树协议(STP)的实例来配置和分割它们的网络活 动拓扑,以使得提供商骨干连通性不会产生数据环路。但是,从提供商骨干边缘桥接器的角 度看,重配置用户的活动拓扑可能会导致用户端设备的明显移动。例如,在特定提供商边缘 桥接器出故障的情况下,双宿主用户端设备可以经由替代冗余网络路径来发送帧。但是,其 它提供商边缘桥接器可能具有地址表,例如,包含MAC (介质访问控制)地址的桥接表,这些 地址表仍然参考先前的活动数据路径。从远程用户端设备去往双宿主用户设备的任何所 桥接流量因此可能被错误地用地址表中的数据来封装并经由到出故障的提供商边缘桥接 器的MAC隧道而被发送,这导致数据不能被目的地用户端设备接收并因此数据被黑洞吞并 (black-holed)0
附图中通过示例而非限制地例示了本发明,附图中的相似标号指示相似元素,并 且其中图1示出了根据一个示例实施例的第2层网络的示例,该网络采用一系统来管理 网络中的拓扑改变;图2示出了根据一个示例实施例的、可在图1所示的网络和系统中使用的提供商 边缘桥接设备的示意图;图3示出了根据一个示例实施例的、在图1的网络中传输的用于改变通知的帧的 示例;图4示出了根据一个示例实施例的、封装了图3所示的改变通知的数据帧的示 例;图5示出了根据一个示例实施例的、用于管理图1的网络中的拓扑改变的示例方 法的流程图;图6示出了根据一个示例实施例的、用于管理图1的网络中的拓扑改变的另一示 例方法的流程图;图7示出了根据一个示例实施例的、部署了图5和图6的示例方法的、图1的第2 层网络的示例;以及
图8示出了具有计算机系统的示例形式的机器的示图表示,用于致使机器执行这 里所讨论的任何一个或多个方法的指令集可在该计算机系统中执行。
具体实施例方式在以下描述中,为了说明的目的,阐述了许多具体细节来提供对本发明实施例的 完整理解。但是,本领域技术人员显然明白,在没有这些具体细节的情况下也可实现本发 明。舰提供了用于管理第2层网络中的拓扑改变的装置和方法。该方法可以包括在提供 商边缘桥接设备处接收改变通知并将该改变通知与一用户服务相关联。该方法还可包括识 别与用户服务相关联的提供商边缘桥接设备的集合,将改变通知封装在数据帧中,以及经 由服务隧道将该数据帧隧道传输到与该用户服务相关联的(一个或多个)目的地提供商边 缘桥接设备。服务隧道包括基于与目的地提供商边缘桥接设备相关的信息来转发数据帧的 零个或更多个核心桥接设备。在示例实施例中,提供商网络可能依赖于如下隧道传输机制, 该隧道传输机制允许提供商核心装置在不知晓用户MAC地址的情况下在提供商边缘设备 之间转发第2层用户帧。示例实施例参考图1,标号10 —般性地指示出根据一个示例实施例的用于通过提供商骨干网 12在用户网络的两个远程部分之间桥接数据帧的网络。在图1所示的示例实施例中,两个 用户网络节点,例如,用户边缘桥接设备14和16通过形成提供商骨干网12的一部分的多 个设备来连接。提供商骨干网12可以是第2层网络(亦即,数据链路层网络),例如,虚拟 桥接广域网,根据IEEE标准802. Iah的当前草案,替代地称为提供商骨干桥接网络(PBBN)。用户边缘桥接设备14可以连接到提供商边缘桥接设备18和20,在一示例实施例 中,提供商边缘桥接设备18和20可以是骨干边缘桥接器(BEB)。提供商边缘桥接设备18 和20进而可以连接到提供商核心桥接设备22,提供商核心桥接设备22可连接到两个提供 商核心桥接设备24和26。类似地,提供商核心桥接设备24和26进而可以连接到提供商边 缘桥接设备28,该提供商边缘桥接设备28也可以是骨干边缘桥接器(BEB)。将会了解,提 供商骨干网12可以包括以不同配置布置的任意数目的桥接设备。如上所述,提供商边缘桥接设备18、20和28与提供商核心桥接设备22、24和26 一起形成了用于在用户节点(例如,远程用户边缘桥接设备14和16)之间传送数据的提供 商骨干网。还将会了解,可以存在任意数目的用户节点,并且两个用户节点仅仅是以例示方 式来示出的。提供商骨干桥接网络(PBBN)通过各种虚拟局域网(VLAN)(例如,骨干 VLAN(B-VLAN))来互连提供商边缘桥接设备,所述各种虚拟局域网是物理网络内的独立逻 辑网络。每一个独立逻辑网络可以与向其提供服务的多个用户相关联。例如,IEEE草案标 准802. Iah指定了封装用户地址的服务实例标签(I-TAG)的格式,并且还引入了服务实例 标识符(I-SID),服务实例标识符使得每一个骨干边缘桥接器可以支持多个虚拟介质服务 实例并且允许对单个PBBN中的服务实例或用户服务的不清楚的标识。服务VLAN标识符 (S-VID)也被用于标识与特定用户相关联的特定VLAN,同时草案标准还指定了提供商骨干网能够设置用于传送针对特定用户S-VLAN的数据帧的接口。在一示例实施例中,用户边缘桥接设备14和16各自分别连接到用户网络的远程 部分。用户网络的这些部分分别由连接到用户边缘桥接设备14的端用户设备或计算机30 和连接到用户边缘桥接设备16的端用户设备或计算机32示出。如上所述,用户边缘桥接设备14连接到两个提供商边缘桥接设备18和20,这为该 用户创建了双宿主配置。利用到提供商网络12的两个连接,提供了数据流的冗余路径以保 护用户网络免遭特定网络组件(例如,提供商边缘桥接设备18或提供商边缘桥接设备20, 或者用户边缘桥接设备14与这两个提供商边缘桥接设备之间的链路)的故障或移除所带 来的不便。在一示例实施例中,用户网络使用其自身的生成树协议(STP)来配置和分割它 们的活动拓扑,以使得提供商网络连通性不会产生数据环路。生成树协议例如可以找出网 格网络内的生成树,并且通常可以禁用不形成该特定树的一部分的链路。在诸如图1所示的网络之类的第2层网络中,桥接设备不是自动获悉某一网络设 备位于哪里。而是,第2层网络中的桥接设备根据在数据帧转发过程期间接收的信息来填 充(populate)地址表,通常称为透明桥接。可称为桥接表、MAC(介质访问控制)地址表或 内容可寻址存储器(CAM)表格的地址表可以包含各种设备以及如下端口的MAC地址,桥接 设备应当通过该端口向外转发帧以使得那些帧到达正确目的地。在一示例实施例中,桥接 设备可以为提供商网络的每一用户维护桥接表格。桥接设备因此可以在转发和/或过滤决 定以例如确定要将帧发送或隧道传输到哪里期间使用各个用户的桥接表。在一示例实施例中,由桥接设备维护的桥接表可在预定时段之后(例如,每五分 钟)超时。该超时可用于清除桥接表以确保桥接表中维护的MAC地址保持最新。例如,在所有的提供商边缘桥接设备18、20和28都已清除它们的桥接表的情况 下,后面可能跟随以下处理以确定特定用户设备的位置。用户边缘桥接设备14可以从计 算机30接收数据以待经由服务隧道(例如,S-VLAN)发送到形成用户网络一部分的计算机 32。用户边缘桥接设备14可通过STP选择到提供商边缘桥接设备18的链路作为其活动上 行链路路径,并且可将数据帧发送到提供商边缘桥接设备18。提供商边缘桥接设备18读 取源设备的MAC地址,例如,用户计算机30的CM1,并且可以将该地址保存在与用户相关联 的桥接表中。根据S-VID或服务VLAN标识符来获得关于用户的所获得信息,S-VID或服务 VLAN标识符可以包括在要发送的数据帧的头部中。如果以后数据应当被发送到该用户计算 机30,那么提供商边缘桥接设备18现在可以知道到哪去找用户计算机30。由于提供商边缘桥接设备18不知道目的地设备(例如,连接到用户边缘桥接设备 16的计算机32)位于哪里,所以其可以使用例如IEEE802. Iah帧格式来封装数据帧,并将其 发送到提供商骨干网12中参与有关服务的所有提供商边缘桥接设备,例如,提供商边缘桥 接设备28。提供商边缘桥接设备28随后可以利用MAC地址CMl来获悉用户端设备,例如, 计算机30。提供商边缘桥接设备28还可以获悉该设备可利用目的地地址MAC Ml(即,提 供商边缘桥接设备18的MAC地址)经由MAC隧道来到达。提供商边缘桥接设备28在解封 装数据帧之后可以将数据帧发送到用户边缘桥接设备16,以供进一步发送到具有MAC地址 CM2的计算机32。因此,将会了解,提供商边缘桥接设备获悉用户MAC地址与骨干MAC地址 二者,并维护用户MAC地址到骨干MAC地址的映射。此外,为了经由PBBN转发用户服务帧, 提供商边缘桥接设备将这些服务帧封装在骨干MAC地址(B-MAC)内。
在这种类型的网络中,获悉用户MAC地址仅限于边缘设备,例如,提供商边缘桥接 设备18、20和28。如上所述,经封装数据帧的头部包括服务实例标识符(I-SID),该服务实 例标识符可以是使得I-SID标识出特定用户服务的24比特字段。对于特定数据帧,有效载 荷也包括经封装用户目的地地址和经封装用户源地址。在获悉MAC地址和网络的相关端口的处理之后,提供商边缘桥接设备28可将此信 息存储在其桥接表中以知晓将去往与此特定用户服务实例相关联的计算机(例如,去往计 算机30)的任何数据帧发送到哪里。但是,在用户边缘桥接设备14与提供商边缘桥接设备 18之间的链路出故障并且用户设备30已沉寂特定时段的情况下,这可能呈现出问题。在这 些情形中,提供商边缘桥接设备28的桥接表的录入(entry)将保持相同,即使必须通过用 户网络STP来选择新的活动路径也是如此,例如,新的活动路径可以是用户边缘桥接设备 14与提供商边缘桥接设备20之间的链路。在这些情形中,从提供商边缘桥接设备28发送 的任何数据帧都可能被用(从桥接表获得的)错误的目的地MAC地址来封装,并且可能被 发送到可能被黑洞吞并的提供商边缘桥接设备18,直到通过超时清除桥接表的这一时间为 止。就网络协议而言,检测到拓扑改变的用户边缘设备可以发送改变通知以通知提供 商骨干网中的网络设备对与特定用户服务相关联的各个桥接表进行清除。本发明中正是 使用这种改变通知来管理网络中的拓扑改变。例如,在802. Iad网络中,用户边缘桥接设 备(例如,图1所示的用户边缘桥接设备14)可以运行控制平面协议(例如,生成树协议 (STP)),该控制平面协议在从活动路径到备用路径的故障转移(failover)(例如,从提供 商边缘桥接设备18到提供商边缘桥接设备20的故障转移)时广告或发送拓扑改变通知 (TCN)。现在参考图2,在一示例实施例中,提供商边缘桥接设备20是骨干边缘桥接器 (BEB)并且包括用以处理上述改变通知(例如,TCN)的各种模块。将会了解,虽然下面作为 示例来详细描述提供商边缘桥接设备20,但是,提供商边缘桥接设备18和28可以具有与提 供商边缘桥接设备20相同的结构和功能。因此,对提供商边缘桥接设备20的描述可以等 同地适用这两个设备或者可以形成提供商骨干网12的一部分的任意一个或多个其它提供 商边缘桥接设备。提供商边缘桥接设备20可以包括接收器接口 40,用以从用户边缘桥接设备14接 收改变通知。例如,如果由于特定网络组件或诸如用户边缘桥接设备14与提供商边缘桥接 设备18之间的先前为活动的链路之类的链路的故障导致用户拓扑改变,则可以在检测到 拓扑改变的桥接设备处生成改变通知,例如,TCN。当客户端(client)拓扑改变时,在一示 例实施例中,该改变通知可由用户边缘桥接设备14生成。在一示例实施例中,并且根据标 准实践,该改变通知被转发到提供商边缘桥接设备20。在一示例实施例中,改变通知可以是通过IEEE 802. ID生成树协议(STP)定义的 桥接协议数据单元(BDPU)。BDPU —般是一控制帧,该控制帧可包括关于服务实例和(一个 或多个)用户设备的特定信息,以将改变通知与特定用户服务相关联,从而使得桥接设备 可以识别要清除的相关桥接表。在一示例实施例中,提供商边缘桥接设备20还包括地址模块42,该地址模块42负 责维护针对在提供商骨干网12上为其提供服务的各个用户的各种地址或桥接表。如上所
8述,对于地址或桥接表可以使用不同术语,例如,MAC表或CAM表。在第2层网络中,用于不 同用户服务的地址表包括MAC地址。地址模块42还可以负责在提供商边缘桥接设备20尚未从特定桥接设备(例如, 沉寂的主机桥接设备)接收到用于发送的任何数据帧的情况下,在预定时段之后清除特定 用户服务的桥接表。在一示例实施例中,默认的老化时间可以是300秒。地址模块42还可被配置为响应于提供商边缘桥接设备20接收到改变通知,而清 除与用户服务相关联的地址或桥接表。与特定用户相关联的桥接表可被清除以避免黑洞, 以及重新开始透明桥接处理以获悉边缘桥接器驻留在哪。如上所述,在用户拓扑已改变的 情况下可能发生黑洞,但是由于形成提供商网络一部分的桥接设备尚未被通知,所以这些 桥接设备可能将数据帧隧道传输或发送到可能不再是活动桥接路径一部分的桥接设备。提供商边缘桥接设备20还可以包括服务实例模块44,用以将从用户边缘桥接设 备14接收的改变通知与用户服务相关联。可例如通过改变通知所到达的端口或者可以形 成改变通知的头部或有效载荷一部分的服务VLAN标识符(S-VID)来标识用户。该S-VID将 用户服务与特定S-VLAN相关联。服务实例模块44例如可以对改变通知的头部或有效载荷 进行解析以访问用户的服务VLAN标识符。通过获得S-VID,能够标识出用户服务实例。这 可进一步使得服务实例模块44还可识别与用户服务相关联的至少一个或一组目的地提供 商边缘桥接设备。服务实例模块44还可被配置为将服务VLAN标识符与服务标识符(例如,服务实 例标识符(I-SID))相映射。在一示例实施例中,服务实例模块44可通过获得与特定用户 服务相关联的服务实例标识符(I-SID)的单播或多播地址来识别该至少一个目的地提供 商边缘桥接设备。在一示例实施例中,提供商边缘桥接设备20还可包括封装模块46,用以将所接收 的改变通知封装在隧道传输数据帧中。在封装过程期间,可向隧道传输数据帧的头部添加 (一个或多个)目的地提供商边缘桥接设备的目的地MAC地址以及提供商边缘桥接设备20 的源MAC地址。封装模块46可将由服务实例模块44标识的服务标识符(I-SID)添加到封 装改变通知的隧道传输数据帧的头部,以供其它提供商边缘桥接设备将该经封装的改变通 知与特定用户服务相关联。一旦改变通知被封装在隧道传输数据帧中,其它桥接设备,例如,可以接收到该隧 道传输数据帧以供进一步传输到其它桥接设备的核心桥接设备22、24和26不会考虑该改 变通知,这是因为核心桥接设备无需解封装任何隧道传输数据帧,但是其会将数据帧转发 到该隧道传输数据帧所去往的相关提供商边缘桥接设备。在一示例实施例中,提供商边缘桥接设备20还可包括发送器接口 48,用以将封装 了改变通知的隧道传输数据帧转发到与用户服务相关联的至少一个目的地提供商边缘桥 接设备。在802. Iah PBBN的情况下,可经由与用户服务相关联的特定MAC隧道来隧道传输 数据帧。一旦目的地提供商边缘桥接设备接收到封装了改变通知的数据帧,该设备就可以 对数据帧进行处理以访问改变通知。在图1的示例网络10中,目的地提供商边缘桥接设备 可以是提供商边缘桥接设备28。但是,由于提供商边缘桥接设备18、20和16可以基本上相 同,并且为了简化对提供商边缘桥接设备的描述,所以下面根据图2所示的提供商边缘桥 接设备20来描述对所接收的封装了改变通知的数据帧的处理。
9
为了处理所接收的封装了改变通知的隧道传输数据帧,在一个示例实施例中,接 收器接口 40还被配置为接收从另一提供商边缘桥接设备隧道传输的数据帧。提供商边缘桥接设备20还可包括解封装模块50,用以解封装所接收的数据帧,从 而访问与特定用户服务相关联的经封装改变通知。将会了解,在一个示例实施例中,封装模块46与解封装模块50可以是被配置为对 帧进行封装和/或解封装的单个模块。在一示例实施例中,一旦数据帧已被解封装,服务实例模块44就可识别与用户服 务相关联的至少一个或一组面向用户边缘端口,例如,连接到至少一个用户边缘桥接设备 16的端口。此识别可例如通过如下方式来执行通过对隧道经封装改变通知的头部进行解 析来访问用户的服务标识符(I-SID)。通过获得服务标识符,可以识别用户,并且可以获得 与用户服务的服务实例相关联的至少一个或一组面向用户边缘端口。如上所述,提供商边缘桥接设备的地址模块42可以响应于对改变通知的处理而 清除与特定用户服务相关联的地址或桥接表。如上所述,与特定用户相关联的桥接表被清 除以避免黑洞。在一示例实施例中,发送器接口 48随后可以将改变通知发送到所识别出的(一个 或多个)面向用户边缘端口,以使得一个或多个用户边缘桥接设备也清除它们的关联桥接表。将会了解,在一个示例实施例中,服务实例模块44和封装模块46可以形成提供商 边缘桥接设备20的IEEE 802. Iah骨干边缘桥接器(BEB) I组件功能的一部分。类似地,将 会了解,接收器接口 40和发送器接口 48可以形成提供商边缘桥接设备20的I组件或B组 件功能的一部分。现在转向图3,示出了改变通知的帧52的一个示例实施例。该改变通知包括供桥 接设备在转发帧期间使用的不同字段。例如,帧可以包括MAC目的地地址(MAC DA)54、MAC 源地址(MAC SA) 56和与帧相关联的服务VLAN 58。可以包括指示出协议类型的协议标识符 (ID)字段60,并且此字段可以包含零值。版本字段62可以指示出所使用协议的版本,而消 息类型字段64指示出正在发送的消息的类型。标志字段66可以包括拓扑改变(TC)比特68,拓扑改变比特68将拓扑改变用信号 通知(signal)其他桥接器,而拓扑改变确认(TCA)比特70被设定来确认对设定了 TC比特 的配置消息的接收。帧还可包括根ID字段72,该根ID字段72通过列出后跟其6字节ID的2字节优 先级来指示出根桥接器,而根路径开销字段74可以指示出从发送配置消息的桥接器到根 桥接器的路径的开销。桥接器ID字段76还可指示出发送消息的桥接器的优先级和ID,而 端口 ID字段78指示出从其发送配置消息的端口号(IEEE或思科STP BPDU)或环以及桥接 器号(IBMSTP BPDU)。该字段使得由多个附接桥接器创建的环路可被检测到并被校正。消息年龄字段80可被包括在帧中,其指示出从根发送当前配置消息所基于的配 置消息起过去的时间量,而最大年龄字段82可以指示出应当在何时删除当前配置消息。问 候时间(hello time)字段84指示出根桥接器配置消息之间的时间,而转发延迟字段86指 示出桥接器在拓扑改变之后跳变到新状态之前应当等待的时间长度。如果桥接器跳变得太 快,则可能不是所有网络链路都准备好改变它们的状态并且可能产生环路。
10
图4示出了封装图3所示的改变通知的数据帧88的一个示例实施例。该数据帧包 括与改变通知的帧52所示的字段相同的字段,但是向头部90添加了某些字段。所添加的 字段可以包括目的地BMAC地址字段(B-MAC DA) 92和源BMAC地址字段(S-MAC DA) 94,目的 地BMAC地址字段92用以指示出数据帧所要发送到的目的地提供商边缘桥接设备的地址, 而源BMAC地址字段94用以指示出原始发送帧的源提供商边缘桥接设备的地址。头部还可 包括指示出骨干VLAN标签的B-TAG字段96和指示出服务实例标识符的I-SID字段98。图5示出了根据一个示例实施例、用于管理第2层网络中的拓扑改变的方法100 的流程图。在一个示例实施例中,方法100可由图1中的提供商边缘桥接设备18、20或28 中的任意一个来实现。方法100是作为示例参考图7来描述的,图7包括图1的相同硬件 拓扑。方法100例如可以由示例提供商边缘桥接设备18、20和28中的任意一个来实现,并 且被作为示例来参考提供商边缘桥接设备20进行描述。图7指示出了与已参考图1进行描述的用户端设备30和32、用户边缘桥接设备 14和16、以及提供商边缘桥接设备18、20和28相关联的不同MAC地址的示例。参考图5,如块102所示,提供商边缘桥接设备20的接收器接口 40可以接收可能 由用户边缘桥接设备14(参见图7)生成的改变通知。如上面更详细描述的,该改变通知可 能由用户边缘桥接设备14响应于用户拓扑改变(例如,用户边缘桥接设备14与提供商边 缘桥接设备18之间的链路的故障)而生成。如块104所示,提供商边缘桥接设备20的服务实例模块44将改变通知与特定用 户服务相关联。例如,通过依赖于在其上接收改变通知的端口的身份,或者改变通知可以包 括服务实例模块44可以用来将改变通知与用户服务相关联的服务VLAN标识符(S-VID)。响应于接收到改变通知以及在改变通知与特定用户服务相关联之后,提供商边缘 桥接设备20的地址模块42可以清除与该用户服务相关联的地址表中的先前维护的MAC地 址(例如,用户端设备30的C-MAC地址和MAC隧道的B-MAC地址)的地址表(例如,图7 中由标号200示出的桥接表)。这由块106来示出。地址表也可称为MAC表或CAM表。如上所述,提供商边缘桥接设备20可以为向其提供VLAN服务的每一个用户维护 单独的桥接表。因此,当网络链路或组件出故障时,可能仅需要清除与特定用户相关联的地 址表,其中,用户可通过某种设备标识符(例如,端口或VLAN)来识别。如块108所示,提供商边缘桥接设备20的服务实例模块44还可以识别与用户服 务相关联的至少一个目的地提供商边缘桥接设备。例如,提供商边缘桥接设备20可以通过 获得映射到与用户服务相关联的服务VLAN的服务实例的单播或多播地址来识别提供商边 缘桥接设备28。如块110所示,提供商边缘桥接设备20的封装模块46现在可将改变通知封装在 隧道传输数据帧中。该封装可确保每一个核心桥接设备22、24和26不对改变通知进行处 理,并因此不会清除它们各自的桥接表。核心桥接设备被使得能够转发该经封装数据帧,因 为这些设备仅依赖于与目的地提供商边缘桥接设备相关的信息来转发帧。服务实例模块44还可将服务VLAN标识符(S-VID)与服务标识符(I-SID)相映射, 以使得目的地提供商边缘桥接设备可将经封装改变通知与特定用户相关联。在一示例实施 例中,封装模块46还可向封装了改变通知的隧道传输数据帧的头部添加服务标识符。这些 操作由块112示出。
在一示例实施例中,并且如块114所示,封装模块46还可向封装了改变通知的数 据帧的头部添加至少一个目的地提供商边缘桥接设备的地址,例如,提供商边缘桥接设备 28的MAC地址M3。该地址可由核心桥接设备(例如,提供商核心桥接设备22和24或26) 用于将数据帧隧道传输到提供商边缘桥接设备28。如块116所示,封装了改变通知的数据帧现在可经由例如与用户服务相关联的 MAC隧道来隧道传输到至少一个目的地提供商边缘桥接设备28。如上所述,提供商核心桥 接设备22、24和26无需对改变通知进行解封装,并将在不进行进一步处理的情况下将数据 帧转发到目的地提供商边缘桥接设备28。图6示出了根据一个示例实施例的、用于从目的地提供商边缘桥接设备管理第2 层网络的拓扑改变的方法140的另一流程图。在一个示例实施例中,方法140可由图1的 提供商边缘桥接设备18、20或28中的任意一个来实现。该方法是作为示例参考图7,尤其 是参考提供商边缘桥接设备28 (其可包括与提供商边缘设备20相同或相似的模块)来描 述的。如块142所示,目的地提供商边缘桥接设备28的接收器接口 40接收从提供商边 缘桥接设备20隧道传输来的、封装了改变通知的隧道传输数据帧,例如,根据图5的流程图 描述的数据帧。在一示例实施例中,一旦该数据帧被接收,目的地提供商边缘桥接设备28的解封 装模块50就可对数据帧进行解封装以访问改变通知。在此解封装处理期间,服务实例模块 44还可获得可能包括在数据帧头部中的服务标识符(I-SID)。服务标识符可由服务实例模 块44用来将改变通知与特定用户服务相关联。这些步骤由块144和146示出。在一示例实施例中,目的地提供商边缘桥接设备28的地址模块42可以清除目的 地提供商边缘桥接设备28的、与特定用户服务相关联的地址表(由块148示出)。该地址 表或桥接表在图7中由标号202指示出。如块150所示,目的地提供商边缘桥接设备28的服务实例模块44可以识别连接 到用户边缘桥接设备的至少一个端口(或者一组端口),例如,连接到与用户服务相关联的 用户边缘桥接设备16的端口。该至少一个或一组端口可通过使用可能已添加到所接收数 据帧的头部的服务标识符来识别,如上面更详细说明的。在一示例实施例中,发送器接口 48现在可以经由连接到与用户相关联的用户边 缘桥接设备的(一个或多个)端口来发送改变通知(块152所示),以使得该用户边缘桥接 设备也可清除其关联地址表。可以了解,本发明提供了管理第2层网络中的拓扑改变而无需在提供商骨干网上 洪泛(flood)的机制。该机制规定仅仅提供商边缘桥接器清除它们各自的地址表,而提供 商核心桥接器无需清除任何表,特别是由于提供商核心桥接器并不在它们的地址表中维护 用户MAC地址。传统解决方案(例如,对于802. Iad网络)涉及使用户边缘桥接器运行STP,该STP 在从活动路径到备用路径的故障转移时广告TCN。提供商边缘桥接器可以在该TCN上探听 (snoop)并生成使得网络中的所有提供商桥接器(例如,提供商边缘桥接器和提供商核心 桥接器二者)都刷新与特定用户服务相关联的MAC录入的用户改变通知(CCN)。但是,这里 描述的示例实施例可以避免刷新所有提供商桥接器(例如,核心提供商桥接设备22、24和
1226),并且因而可以至少减少核心网的不必要洪泛。此外,在提供商边缘桥接设备之一为第3层网关(例如,位于IP服务边缘并将 802. Iah经封装用户流量终止于第3层服务的路由器)的情况下,本机制也可解决流量黑 洞。图8示出了具有可在其中执行如下指令集的计算机系统200的示例形式的机器的 图示该指令集用于致使机器执行这里讨论的任意一种或多种方法。在替代实施例中,机器 作为独立设备操作并且可连接到(例如,联网到)其他机器。在联网部署中,机器可作为服 务器-客户端网络环境中的服务器或客户端机器操作,或者作为对等(或分布式)网络环 境中的对等机器操作。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理 (PDA)、蜂窝电话、Web装置、网络路由器、交换机或网桥、或者能够执行指定了要由该机器执 行的动作的指令集(指令序列或者其他)的任何机器。此外,虽然仅仅图示了单个机器,但 是术语“机器”应当被认为包括单独或联合执行(一个或多个)指令集以执行这里描述的 任意一种或多种方法的任意机器集合。示例计算机系统300包括处理器302 (例如,中央处理单元(CPU)、图形处理单元 (GPU)或二者)、主存储器304和静态存储器306,它们经由总线308相互通信。计算机系统 300还可包括视频显示单元310 (例如,液晶显示器(LCD)或阴极射线管(CRT))。计算机系 统300还包括字母数字输入设备312 (例如,键盘)、用户界面(UI)导航设备314 (例如,鼠 标)、盘驱动单元316、信号生成设备318 (例如,扬声器)和网络接口设备320。盘驱动单元316包括机器可读介质322,其上存储了实现这里讨论的任意一种或 多种方法或功能或者由该任意一种或多种方法或功能使用的一个或多个指令集或数据结 构(例如,软件324)。软件324还可完全或至少部分驻留在主存储器304中和/或在由计 算机系统300执行期间驻留在处理器302中,主存储器304和处理器302也构成了机器可 读介质。软件324还可使用多种公知传送协议(例如,HTTP)中的任一种、经由网络接口设 备320而在网络326上发送或接收。虽然机器可读介质322在一示例实施例中被示出为单个介质,但是术语“机器可 读介质”应当被认为包括存储一个或多个指令集的单个或多个介质(例如,集中式或分布式 数据库、和/或关联缓存和服务器)。术语“机器可读介质”还应当被认为包括能够存储、编 码或承载供机器执行且致使机器执行本申请的任意一种或多种方法的指令集的介质,或者 能够存储、编码或承载由这样的指令集使用或与这样的指令集相关联的数据结构的介质。 术语“机器可读介质”因而应当被认为包括但不限于固态存储器、光和磁介质、以及载波信 号。虽然参考具体示例实施例描述了实施例,但是很清楚,在不脱离本发明的更广泛 的精神和范围的情况下,可对这些实施例进行各种修改和改变。因此,应当从例示性的而非 限制性的角度来看待说明书和附图。本发明的摘要被提供以符合37C. F. R. § 1. 72(b)的规定,该规定要求摘要将使得 读者可快速确定本技术公开的本质。摘要是基于其不会被用于解释或限制权利要求的范围 或含义的理解而提交的。另外,在前述详细描述中,可以看出,为了使本公开一体化的目的 而将各种特征组合在单个实施例中。公开的方法不应被解释为反映如下一种意图要求保护的实施例要求比各条权利要求中明确记载的特征更多的特征。而是,如以下权利要求反 映的,发明主题在于比所公开的单个实施例的所有特征少的特征。因此,以下权利要求在此 并入详细描述,其中的每一条权利要求自身为单独的实施例。
权利要求
一种方法,包括在提供商边缘桥接设备处接收改变通知;将所述改变通知与用户服务相关联;识别与所述用户服务相关联的至少一个目的地提供商边缘桥接设备;将所述改变通知封装在数据帧中;以及将所述数据帧经由包括至少一个核心桥接设备的隧道来隧道传输到与所述用户服务相关联的所述至少一个目的地提供商边缘桥接设备,所述至少一个核心桥接设备基于与所述目的地提供商边缘桥接设备相关的信息来隧道传输所述数据帧。
2.根据权利要求1所述的方法,还包括清除与所述用户服务相关联的地址表。
3.根据权利要求2所述的方法,其中,将所述改变通知封装在数据帧中包括向所述数 据帧的有效载荷添加所述至少一个目的地提供商边缘桥接设备的地址。
4.根据权利要求3所述的方法,其中,所述改变通知包括用以将所述改变通知与所述 用户服务相关联的服务VLAN标识符,所述地址表是MAC地址表,并且所述隧道是MAC隧道。
5.根据权利要求4所述的方法,其中,封装所述改变通知包括将所述服务VLAN标识符 与服务实例标识符相映射,并将所述服务实例标识符添加到所述数据帧。
6.根据权利要求5所述方法,其中,所述至少一个目的地提供商边缘桥接设备是通过 获得所述用户服务的服务实例标识符的单播或多播地址来识别的。
7.根据权利要求3所述的方法,其中,所述至少一个目的地提供商边缘桥接设备是通 过将所述改变通知所到达的端口与所述用户服务相关联来识别的。
8.根据权利要求5所述的方法,还包括在所述目的地提供商边缘桥接设备处接收从所述提供商边缘桥接设备隧道传输来的 所述数据帧;对所述数据帧进行解封装以访问所述改变通知并访问所述服务实例标识符,从而将所 述改变通知与所述用户服务相关联;以及清除与所述用户服务相关联的目的地提供商边缘桥接设备的地址表。
9.一种方法,包括在目的地提供商边缘桥接设备处接受封装了改变通知的数据帧,该数据帧是从提供商 边缘桥接设备隧道传输来的;对所述数据帧进行解封装以访问所述改变通知并访问服务实例标识符,从而将所述改 变通知与用户服务相关联;以及清除与所述用户服务相关联的目的地提供商边缘桥接设备的地址表。
10.根据权利要求9所述的方法,还包括识别连接到与所述用户服务相关联的至少一 个用户边缘桥接设备的至少一个端口,并将所述改变通知经由所述至少一个端口来发送到 与用户相关联的至少一个目的地用户边缘桥接设备。
11.一种提供商边缘桥接设备,包括接收器接口,用以接收来自用户边缘桥接设备的改变通知;服务实例模块,用以将所述改变通知与用户服务相关联并识别与该用户服务相关联的 至少一个目的地提供商边缘桥接设备;封装模块,用以将所述改变通知封装在数据帧中;以及发送器接口,用以通过包括至少一个核心桥接设备的隧道来将所述数据帧隧道传输到 与所述用户服务相关联的至少一个目的地提供商边缘桥接设备。
12.根据权利要求11所述的提供商边缘桥接设备,还包括地址模块,该地址模块被配 置为清除与所述用户服务相关联的地址表。
13.根据权利要求12所述的提供商边缘桥接设备,其中,所述封装模块还被配置为向 所述数据帧的头部添加所述至少一个目的地提供商边缘桥接设备的地址。
14.根据权利要求13所述的提供商边缘桥接设备,其中,所述接收器接口还被配置为 从所述改变通知中获得用于将所述改变通知与所述用户服务相关联的服务VLAN标识符。
15.根据权利要求14所述的提供商边缘桥接设备,其中,所述服务实例模块被配置为 将所述服务VLAN标识符与服务实例标识符相映射,并且所述封装模块被配置为将所述服 务实例标识符添加到所述数据帧的头部。
16.根据权利要求15所述的提供商边缘桥接设备,其中,所述服务实例模块被配置为 通过获得所述用户服务的服务实例标识符的单播或多播地址,来识别所述至少一个目的地 提供商边缘桥接设备。
17.根据权利要求13所述的提供商边缘桥接设备,其中,所述服务实例模块通过将所 述改变通知所到达的端口与所述用户服务相关联,来识别所述至少一个目的地提供商边缘 桥接设备。
18.根据权利要求12所述的提供商边缘桥接设备,其中,所述地址表是MAC地址表,并 且所述隧道是MAC隧道。
19.根据权利要求11所述的提供商边缘桥接设备,其中,所述接收器模块被配置为接 收通过包括至少一个核心桥接设备的隧道从源提供商边缘桥接设备隧道传输来的封装了 改变通知的数据帧。
20.根据权利要求19所述的提供商边缘桥接设备,还包括解封装模块,该解封装模块 被配置为对所述数据帧进行解封装以访问所述改变通知并访问服务实例标识符,从而将所 述改变通知与用户服务相关联。
21.根据权利要求20所述的提供商边缘桥接设备,还包括地址模块,该地址模块被配 置为清除与所述用户服务相关联的地址表。
22.根据权利要求21所述的提供商边缘桥接设备,其中,所述服务实例模块被配置为 识别连接到与所述用户服务相关联的至少一个用户边缘桥接设备的至少一个端口,并且所 述发送器接口被配置为将所述改变通知经由所述至少一个端口发送到与所述用户服务相 关联的至少一个目的地用户边缘桥接设备。
23.根据权利要求11所述的提供商边缘桥接设备,其中,所述封装模块和所述服务实 例模块形成了所述提供商边缘桥接设备的IEEE 802. IahBEB I组件的一部分。
24.根据权利要求11所述的提供商边缘桥接设备,其中,所述接收器接口和所述发送 器接口形成了所述提供商边缘桥接设备的IEEE 802. IahBEB I组件或B组件的一部分。
25.一种提供商边缘桥接设备,包括用于接收来自用户边缘桥接设备的改变通知的装置;用于将所述改变通知与用户服务相关联并用于识别与该用户服务相关联的至少一个 目的地提供商边缘桥接设备的装置;用于将所述改变通知封装在数据帧中的装置;以及 用于通过包括至少一个核心桥接设备的隧道来将所述数据帧隧道传输到与所述用户 服务相关联的至少一个目的地提供商边缘桥接设备的装置,所述至少一个核心桥接设备基 于与所述目的地提供商边缘桥接设备相关的信息来隧道传输所述数据帧。
全文摘要
文档编号H04L12/56GK101953120SQ20088011786
公开日2011年1月19日 申请日期2008年11月25日 优先权日2007年11月30日
发明者Sajassi Ali, Samer M Salam 申请人:Cisco Tech Inc