书签 分享 收藏 举报 版权申诉 / 30

跨多个架构交换机的虚拟链路聚合.pdf

  • 上传人:Y0****01
  • 文档编号:4080999
  • 上传时间:2018-08-14
  • 格式:PDF
  • 页数:30
  • 大小:1.99MB
  • 摘要
    申请专利号:

    CN201380060203.3

    申请日:

    2013.11.15

    公开号:

    CN104798350A

    公开日:

    2015.07.22

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):H04L 12/721申请日:20131115|||公开

    IPC分类号:

    H04L12/721; H04L12/935; H04L12/709; H04L12/933; H04L12/931; H04L12/46; H04L12/775

    主分类号:

    H04L12/721

    申请人:

    博科通讯系统有限公司

    发明人:

    S·沃比利塞蒂; P·科甘蒂

    地址:

    美国加利福尼亚州

    优先权:

    61/727,478 2012.11.16 US; 14/064,029 2013.10.25 US

    专利代理机构:

    北京市金杜律师事务所11256

    代理人:

    王茂华

    PDF完整版下载: PDF下载
    内容摘要

    本发明的一个实施例提供了一种交换机。该交换机可配置为第一架构交换机的成员。该交换机包括链路聚合模块。在操作期间,所述链路聚合模块用虚拟交换机标识符标记帧的入口交换机域。所述虚拟交换机标识符与所述交换机和作为第二架构交换机的成员的第二交换机相关联,且所述虚拟交换机标识符来自于与所述第一架构交换机和所述第二架构交换机相关联的一系列标识符。所述第一架构交换机和所述第二架构交换机中的每一个均可用于包容多个交换机,并作为单一交换机而运作。

    权利要求书

    1.  一种交换机,其可配置为第一架构交换机的成员,该交换机包括:
    链路聚合模块,其可操作以用虚拟交换机标识符来标记帧的入口交换机域,其中,所述虚拟交换机标识符是与所述交换机和第二交换机相关联的,且所述第二交换机为第二架构交换机的成员;
    其中,所述虚拟交换机标识符选自与所述第一架构交换机和所述第二架构交换机均相关联的一系列标识符;
    并且,所述第一架构交换机和所述第二架构交换机中的每一个均可操作以包容多个交换机,并作为单一交换机而运作。

    2.
      根据权利要求1所述的交换机,其特征在于,所述交换机还包括包处理模块,其可操作以:
    将所述虚拟交换机标识符标识为帧的出口交换机标识符;以及
    响应于将所述虚拟交换机标识符标识为所述帧的出口交换机标识符,将所述交换机确定为用于所述帧的出口交换机。

    3.
      根据权利要求1所述的交换机,其特征在于,所述交换机包括抑制模块,其可操作以:
    将所述虚拟交换机标识符标识为帧的出口交换机标识符,其中,所述帧为广播、未知单播或多播帧;并且
    响应于将所述虚拟交换机标识符标识为所述帧的出口交换机标识符,阻止所述交换机将与局部终端设备相关联的端口确定为用于所述帧的输出端口。

    4.
      根据权利要求1所述的交换机,其特征在于,所述交换机包括多播模块,其可操作以:
    将帧标识为是与局部终端设备相关联的广播、未知单播或多播帧;以及
    用虚拟根交换机标识符标记所述帧的出口交换机域,其中,所述 虚拟根交换机标识符是与所述第一架构交换机的多播根交换机及所述第二架构交换机的多播根交换机相关联的。

    5.
      根据权利要求4所述的交换机,其特征在于,所述交换机还包括故障检测模块,其可操作以:
    响应于对所述第一架构交换机的所述多播根交换机的不可用性的检测,标识新多播根交换机;以及
    使所述虚拟根交换机标识符与所述第一架构交换机的所述新多播根交换机相关联。

    6.
      根据权利要求1所述的交换机,其特征在于,所述交换机为根据多链接透明互联(Transparent Interconnection of Lots of Links,TRILL)协议可操作的路由桥(Routing Bridge,RBridge)。

    7.
      根据权利要求6所述的交换机,其特征在于,所述交换机还包括:
    支持TRILL的边缘端口,其中,所述边缘端口可操作以作为用于发往所述第一架构交换机的外部的帧的输出端口;
    TRILL主模块,其可操作以:
    响应于将所述TRILL封装的帧确定为广播、未知单播或多播帧,阻止所述交换机从TRILL封装的帧移除TRILL封装;以及
    将所述支持TRILL的边缘端口确定为所述TRILL封装的帧的输出端口。

    8.
      根据权利要求1所述的交换机,其特征在于,所述交换机还包括故障检测模块,其可操作以:
    检测所述第二交换机的不可用性,紧接着使所述交换机与所述虚拟交换机标识符分离;以及
    用所述局部交换机的交换机标识符标记帧的出口交换机域,其中,在检测到所述第二交换机的不可用性后接收所述帧。

    9.
      根据权利要求1所述的交换机,其特征在于,所述交换机还包括控制模块,其可操作以:
    根据与所述第一架构交换机相关联的协议,运行带有自动配置功能的控制面板;
    根据所述控制面板的所述自动配置功能,将所述第一架构交换机作为单一以太网交换机进行操作;
    接收对应于所述以太网交换机的自动分配的标识符;以及
    通过所述控制面板加入所述架构交换机。

    10.
      一种可配置为第一架构交换机的成员的交换机,所述交换机包括:
    链路聚合模块,其可操作以将所述交换机的第一集群链路连同所述第一架构交换机的第二交换机的第二集群链路作为虚拟链路聚合进行操作,其中,通过所述第一和第二集群链路,第二架构交换机是可以达到的;
    其中,所述虚拟链路聚合映射到所述交换机和所述第二交换机;以及
    其中,所述第一架构交换机和所述第二架构交换机中的每一个均可操作以包容多个交换机,并作为单一交换机而运作。

    11.
      根据权利要求10所述的交换机,其特征在于,根据哈希函数,所述虚拟链路聚合映射到所述交换机。

    12.
      根据权利要求10所述的交换机,其特征在于,所述交换机为发往所述第二架构交换机的所述帧选择所述交换机的各自的输出端口,以使所述帧分布在所述第一集群链路的链路间,从而使所述帧散布在所述第一集群链路的链路间。

    13.
      一种方法,包括:
    用虚拟交换机标识符标记帧的入口交换机,其中,所述虚拟交换机标识符是与第一架构交换机的第一交换机和第二架构交换机的第二交换机相关联的;
    其中,所述虚拟交换机标识符选自与所述第一架构交换机和所述第二架构交换机均相关联的一系列标识符;并且
    其中,所述第一架构交换机和所述第二架构交换机中的每一个都可操作以包容多个交换机,并作为单一交换机而运作。

    14.
      根据权利要求13所述的方法,其特征在于,所述方法还包括:
    将所述虚拟交换机标识符标识为帧的出口交换机标识符;以及
    响应于将所述虚拟交换机标识符标识为所述帧的出口交换机标识符,将所述第一交换机确定为用于所述帧的出口交换机。

    15.
      根据权利要求13所述的方法,其特征在于,所述方法还包括:
    将所述虚拟交换机标识符标识为帧的出口交换机标识符,其中所述帧为广播、未知单播或多播帧;以及
    响应于将所述虚拟交换机标识符标识为所述帧的出口交换机标识符,阻止所述第一交换机将与局部终端设备相关联的端口确定为用于所述帧的输出端口。

    16.
      根据权利要求13所述的方法,其特征在于,所述方法还包括:
    将帧标识为是与局部终端设备相关联的广播、未知单播或多播帧的帧;以及
    用虚拟根交换机标识符标记所述帧的出口交换机域,其中,所述虚拟根交换机标识符是与所述第一架构交换机的多播根交换机和所述第二架构交换机的多播根交换机相关联的。

    17.
      根据权利要求16所述的方法,其特征在于,所述方法还包括:
    响应于对所述第一架构交换机的所述多播根交换机的不可用性的检测,标识新多播根交换机;以及
    使所述虚拟根交换机标识符与所述第一架构交换机的所述新多播根交换机相关联。

    18.
      根据权利要求13所述的方法,其特征在于,所述第一交换机为根据多链接透明互联(Transparent Interconnection of Lots of Links,TRILL)协议可操作的路由桥(Routing Bridge,RBridge)。

    19.
      根据权利要求18所述的方法,其特征在于,所述方法包括:
    响应于将所述TRILL封装的帧确定为广播、未知单播或多播帧, 阻止所述交换机从TRILL封装的帧中移除TRILL封装;以及
    将所述支持TRILL的边缘端口确定为用于所述TRILL封装的帧的输出端口,其中,所述边缘端口可操作以作为用于发往所述第一架构交换机的外部的帧的输出端口。

    20.
      根据权利要求13所述的方法,其特征在于,所述方法还包括:
    检测所述第二交换机的不可用性,紧接着使所述第一交换机与所述虚拟交换机标识符分离;以及
    用所述第一交换机的交换机标识符标记帧的出口交换机域,其中,在检测所述第二交换机的不可用性之后接收所述帧。

    21.
      根据权利要求13所述的方法,其特征在于,所述方法还包括:
    根据与所述第一架构交换机相关联的协议,运行带有自动配置功能的控制面板;
    根据所述控制面板的所述自动配置功能,将所述第一架构交换机作为单一以太网交换机进行操作;
    接收对应于所述以太网交换机的自动分配的标识符;以及
    通过所述控制面板加入所述架构交换机。

    22.
      一种方法,包括:
    将第一架构交换机的第一交换机的第一集群链路连同所述第一架构交换机的第二交换机的第二集群链路作为虚拟链路聚合进行操作,其中,通过所述第一和第二集群链路,第二架构交换机是可达到的;
    其中,所述虚拟链路聚合映射到所述第一交换机和所述第二交换机;以及
    其中,所述第一架构交换机和所述第二架构交换机中的每一个均可操作以包容多个交换机,并作为单一交换机而运作。

    23.
      根据权利要求22所述的方法,其特征在于,根据哈希函数,所述虚拟链路聚合映射到所述交换机。

    24.
      根据权利要求22所述的方法,其特征在于,所述方法还包括: 为发往所述第二架构交换机的所述帧选择所述第一交换机的各输出端口,以使所述帧分布在所述第一集群链路的链路间,从而将所述帧散布在所述第一集群链路的链路间。

    说明书

    跨多个架构交换机的虚拟链路聚合
    技术领域
    本发明涉及网络管理。更具体地,本发明涉及用于促进从一个设备到多个架构交换机的链路聚合的方法和系统。
    背景技术
    互联网持续不断的发展带来了对带宽的无止境需求。因此,设备供应商争先建立更大、更快和更具有通用性的交换机来传递通信量。然而,交换机的尺寸不能无限增大,其受物理空间、功耗和设计复杂度等因素的限制。更重要的是,过于庞大和复杂的系统因其复杂性而常常不能形成规模经济,因此,由于增加的每端口成本,单纯地增大交换机尺寸和吞吐量可能被证明在经济上是不可行的。
    提高交换机系统的可扩展性的一个灵活方式是,建立架构(fabric)交换机。架构交换机是单独的成员交换机的集合。这些成员交换机形成单一的、逻辑的交换机,其具有任意数量端口和任意拓扑结构。随着需求的增长,客户可以采用“按需购买”的方式扩展架构交换机的性能。
    同时,第二层(Layer-2,例如,以太网)交换技术不断发展。具有传统上的第三层(Layer-3,例如,互联网协议(Internet Protocol,IP))网络的特征的更多路由类似功能迁移到第二层中。尤其是最新的多链接透明互联(Transparent Interconnection of Lots of Links,TRILL)协议的发展,允许以太网交换机的功能更像路由设备。TRILL克服了传统生成树协议固有的低效率,其迫使第二层交换机连接在逻辑扩充树拓扑结构中,以避免生成环路。通过在交换机中执行路由功能,并在TRILL报头中包含入跳跃计数,TRILL允许路由桥(Routing Bridge,RBridge)连接在任意拓扑结构中,而没有生成环路的风险。
    随着越来越多的关键任务应用在数据通信网络中实施,高可用性的操作逐渐变得更重要,成为网络架构师的价值定位。在多个网络设备中将通常属于不同的架构交换机的传统聚合链路(从一个设备到另一个设备)进行划分可能是可取的,这样,一个架构交换机的不可用性不会影响多宿主设备的运作。
    虽然架构交换机为网络带来许多理想特性,当终端设备连接到多架构交换机上时,一些问题仍然未得到解决。特别地,当使用链路聚合将终端设备连接到多架构交换机时,现有技术没有提供充分利用架构交换机的可扩展和灵活的解决方案。
    发明内容
    本发明的一个实施例提供了一种交换机。该交换机可配置为第一架构交换机的成员。该交换机包括链路聚合模块。在操作期间,所述链路聚合模块用虚拟交换机标识符对帧的入口交换机域进行标记。该虚拟交换机标识符与所述交换机和作为第二架构交换机的成员的第二交换机相关联,且所述虚拟交换机标识符来自于与所述第一架构交换机和所述第二架构交换机相关联的一系列标识符。所述第一架构交换机和所述第二架构交换机中的每一个都可操作以包容多个交换机,并作为单一交换机而运作。
    在本实施例的一个变形例中,所述交换机还包括包处理模块,其将所述虚拟交换机标识符标识为帧的出口交换机标识符,并作为响应而确定所述交换机是用于所述帧的出口交换机。
    在本实施例的一个变形例中,所述交换机还包括抑制模块,其将所述虚拟交换机标识符标识为广播、未知单播或多播帧的出口交换机标识符,并且,作为响应而阻止所述交换机将与局部终端设备相关联的端口确定为所述帧的输出端口。
    在本实施例的一个变形例中,所述交换机还包括多播模块,其将帧标识为是广播、未知单播或多播帧的帧,并且,作为响应,用虚拟 根交换机标识符标记所述帧的出口交换机域。所述虚拟根交换机标识符与所述第一架构交换机和所述第二架构交换机的各自的多播根交换机相关联。
    在进一步的变形例中,所述交换机还包括故障检测模块,响应于对所述第一架构交换机的所述多播根交换机的不可用性的检测,所述故障检测模块标识新多播根交换机,并将所述虚拟根交换机标识符与所述第一架构交换机的所述新多播根交换机相关联。
    在本实施例的变形例中,所述交换机为可根据多链接透明互联(Transparent Interconnection of Lots of Links,TRILL)协议操作的路由桥(Routing Bridge,RBridge)。
    在进一步的实施例中,所述交换机还包括支持TRILL的边缘端口和TRILL主模块。所述支持TRILL的边缘端口可作为发往所述第一架构交换机的外部的帧的输出端口。在操作期间,响应于确定TRILL封装的帧为广播、未知单播或多播帧,所述TRILL主模块阻止所述交换机从所述TRILL封装的帧移除TRILL封装,并将所述支持TRILL的边缘端口确定为所述TRILL封装的帧的输出端口。
    在本实施例的一个变形例中,所述交换机还包括故障检测模块,其响应于对所述第二交换机的不可用性的检测,将所述交换机与所述虚拟交换机标识符分离,并且,该故障检测模块用所述局部交换机的交换机标识符标记帧的出口交换机域,所述帧是在对所述第二交换机的不可用性后进行检测之后接收的。
    在本实施例的一个变形例中,所述交换机还包括可操作的控制模块,其根据与所述第一架构交换机相关的协议运行带有自动配置功能的控制面板,并且根据所述控制面板的所述自动配置功能将所述第一架构交换机作为单个以太网交换机。
    本发明的一个实施例提供了一种交换机。所述交换机可配置为第一架构交换机的成员。所述交换机包括链路聚合模块。在操作期间,所述链路聚合模块将所述交换机的第一集群链路连同所述第一架构 交换机的第二交换机的第二集群链路作为虚拟链路聚合。所述虚拟链路聚合映射到所述交换机和所述第二交换机。通过所述第一和第二集群链路,第二架构交换机是可以达到的。所述第一架构交换机和所述第二架构交换机中的每一个都可操作为包容多个交换机,并且作为单一交换机而运作。
    在本实施例的一个变形例中,所述虚拟链路聚合根据哈希函数映射到所述交换机。
    在本实施例的一个变形例中,所述交换机为发往所述第二架构交换机的所述帧选择所述交换机的各自的输出端口,以致所述帧分布在所述第一集群链路的链路间,从而将所述帧散布在所述第一集群链路的链路间。
    附图说明
    图1A为根据本发明的一个实施例的示例性的、跨多个架构交换机的虚拟链路聚合的示意图;
    图1B为根据本发明的一个实施例的示例性的、跨多个通过TRILL正向链接连接的架构交换机的虚拟链路聚合的示意图;
    图2A为根据本发明的一个实施例的、在伙伴路由桥(Routing Bridge,RBridge)转发通过边缘端口接收的帧的过程的流程图,其中,所述伙伴RBridge参与跨多个架构交换机的虚拟链路聚合;
    图2B为根据本发明的一个实施例的RBridge转发TRILL封装的单播帧的过程的流程图;
    图3A为根据本发明的一个实施例的、在伙伴RBridge转发通过边缘端口接收的帧的过程的流程图,其中,所述帧属于广播、未知单播或多播(Broadcast、Unknown Unicast和Multicast,BUM)通信量,所述伙伴RBridge参与跨多个架构交换机的虚拟链路聚合;
    图3B为根据本发明的一个实施例的、RBridge转发发往虚拟根RBridge的TRILL封装的帧的过程的流程图;
    图3C为根据本发明的一个实施例的、RBridge转发属于BUM通信量的TRILL封装的帧的过程的流程图;
    图4A为根据本发明的一个实施例的、示例性的与跨多个架构交换机的虚拟链路聚合相关联的失败场景的示意图;
    图4B为根据本发明的一个实施例的、处理影响伙伴RBridge的故障的过程的示意图,其中,所述伙伴RBridge参与跨多个架构交换机的虚拟链路聚合;
    图4C为根据本发明的一个实施例的、处理影响根RBridge的故障的过程的示意图,其中,所述根RBridge与虚拟根RBridge相关联;
    图5A为根据本发明的一个实施例的、示例性的跨多个架构交换机的混合虚拟链路聚合;
    图5B为根据本发明的一个实施例的、通过跨多个架构交换机的混合虚拟链路聚合的示例性包转发示意图;
    图6为根据本发明的一个实施例的、支持跨多个架构交换机的虚拟链路聚合的示例性RBridge的示意图。
    附图中相同或相似的附图标记代表相同或相似的部件。
    具体实施方式
    以下描述的提出是为了本领域技术人员能够制造和使用本发明,并且在具体应用及其需求的情况下提供。对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,可以显而易见地对公开的实施例做出若干变形和改进,并且本文限定的一般原则可以应用到其他实施例和应用中。因此,本发明不限于所示的实施例,其保护范围应以所附权利要求为准。
    概述
    在本发明的实施例中,通过形成逻辑的、虚拟交换机并且从架构交换机已知的全局标识符范围中分配虚拟交换机标识符,解决了提供可扩展和灵活的方式来配置跨多个架构交换机的虚拟链路聚合的问 题。例如,如果架构交换机中的通信基于多链接透明互联(Transparent Interconnection of Lots of Links,TRILL)协议,当终端设备连接到属于两个单独的架构交换机的两个单独的路由桥(Routing Bridge,RBridge)并且到这些RBridge的链路形成聚合链接时,生成虚拟RBridge标识符(ID)、并且,该终端设备被认为是逻辑地连接到虚拟RBridge。在下面的描述中,参与虚拟链路聚合并形成虚拟RBridge的RBridge被称为“伙伴RBridge”。
    如果与虚拟链路聚合相关联的虚拟RBridge标识符来自架构交换机的局部标识符范围,作为其他架构交换机的成员的伙伴RBridge不会将虚拟RBridge标识符识别为是它自己的。因此,这些伙伴RBridge也许不能执行与链路聚合的有效配置相关联的操作,如BUM通信量的源抑制。此外,为了在架构交换机中分配BUM通信量,伙伴RBridge设置目标RBridge标识符为架构交换机的根RBridge(即,多播树的根)的RBridge标识符。在一些实施例中,这种根RBridge负责在架构交换机中分配BUM通信量,并且经常是特定于该架构交换机的。因此,对于跨多个架构交换机的虚拟链路聚合,架构特有的根RBridge可能不支持在多个架构交换机中的BUM通信量分配。
    在本发明的一个实施例中,通过从全局标识符范围中分配虚拟RBridge标识符解决了上述问题,其中,RBridge标识符与跨多个架构交换机的虚拟链路聚合相关联。属于这种全局标识符范围的标识符对多个架构交换机是已知的。这使得在不同架构交换机中的伙伴RBridge能够识别相同的虚拟RBridge标识符,并且执行BUM通信量的源抑制,该BUM通信量源于与虚拟链路聚合相关联的终端设备。此外,为了在架构交换机中转发BUM通信量创建虚拟根RBridge。这种虚拟根RBridge与各自的架构交换机的根RBridge相关联。伙伴RBridge向虚拟根RBridge转发BUM通信量,转而,由在各自的架构交换机中的各自的根RBridge接收该BUM通信量。这使得各自的根RBridge能够在相应的架构交换机中分配BUM通信量。
    在一些实施例中,架构交换机为以太网架构交换机。在以太网架构交换机中,以任意拓扑结构连接的任意数量的交换机可能以单个交换机的形式逻辑地运作。任何新的交换机可以以“即插即用”的方式加入或离开架构交换机,而无需任何手动配置。架构交换机以外部设备来看表现为单个逻辑交换机。在还有的一些实施例中,架构交换机为TRILL网络,并且架构交换机的各成员为TRILL RBridge。
    应该注意的是,架构交换机与传统的交换机堆叠是不同的。在交换机堆叠中,多个交换机基于特定的拓扑结构在一个共同位置相互连接(通常在相同的机架中),并且以特定的方式手动配置。这些堆叠的交换机通常共享相同的地址,例如,IP地址,因此,它们可以作为单个交换机被外部寻址。此外,交换机堆叠需要大量的端口和交换机相互间链接的手动配置。在建造大规模交换系统中,手动配置的需要限制交换机堆叠成为一种可行选择。交换机堆叠强加的拓扑结构限制也限制了可以堆叠的交换机的数量。这是因为,如果可能的话,很难设计出一种堆叠拓扑结构使得整个交换带宽能够与交换单元的数量充分协调。
    相反,架构交换机可以基于任意拓扑结构,可以包括任意数量的具有单独地址的交换机,并且无需大量的手动配置。这些交换机可以存在于相同的位置,或者分布在不同位置。这些特征克服了交换机堆叠的固有的局限性,并且可以建立庞大的“交换机群”,其可以被当成是单个的、逻辑交换机。由于架构交换机的自动配置功能,单独的物理交换机可以动态加入或离开架构交换机而无需中断剩余网络的服务。
    此外,架构交换机的自动和动态可配置性允许网路操作者在分布式和“按需付费”方式中建立它的交换系统,无需牺牲可扩展性。架构交换机对网络环境改变的响应能力使得其成为网络负载经常随着时间变化的虚拟计算环境中的理想解决方案。
    虽然本发明的提出基于TRILL协议的例子,但是本发明的实施例 不限于使用TRILL或特定的开放系统互连参考模型(Open System Interconnection Reference Mode,OSI参考模型)层定义的网络。例如,本发明的实施例还可以应用于多协议标签交换(Multi-Protocol Label Switching,MPLS)网络。在本发明中,术语“架构交换机”在一般意义上使用,并且可以涉及工作在任意网络层、子层或网络层的组合中的网络。
    在本发明中,术语“终端设备”可以涉及连接到架构交换机的物理的或虚拟的设备。终端设备可以是主机、服务器、传统的第二层交换机、第三层路由器或任何其他类型的设备。此外,终端设备可以连接到离网络更远的其他交换机或主机。终端设备还可以是若干网络设备进入网络的聚合点。管理一个或多个虚拟机的终端设备可以称为主机。术语“设备”和“机器”可交换使用。
    术语“帧”涉及一组可以在网络上一起传输的二进制位。“帧”不应该理解为将本发明的实施例限制为第二层网络。“帧”可以用其他涉及一组二进制的术语替换,如“包”、“单元”或“数据报文”。
    术语“RBridge”涉及路由桥,其为执行TRILL协议的桥,如可以在http://tools.ietf.org/html/rfc6325上找到的互联网工程任务组(Internet Engineering Task Force,IETF)请求注解(Request for Comments,RFC)的“路由桥(Routing Bridges,RBridges):基础协议规范”所介绍的,并通过引用将其包括在内。本发明的实施例不限于在RBridge中的应用。还可以使用其他类型的交换机、路由器和传送装置。
    术语“边缘端口”涉及在架构交换机中与架构交换机外部的终端设备交换数据帧的端口。数据“交换机相互间端口”涉及将架构交换机中的成员交换机与另一成员交换机连接的端口,并且其用于在成员交换机之间交换数据帧。
    术语“RBridge标识符”涉及可以用于标识RBridge的一组二进制位。注意到,TRILL标准使用“RBridge ID”来表示分配给RBridge的 48位的中间系统到中间系统(Intermediate-System-to-Intermediate-System,IS-IS)系统ID,并且使用“RBridge别名”来表示充当“RBridge ID”的缩写的16位的值。在本发明中,“RBridge标识符”在一般意义上使用,不限于任何二进制位格式,并且可以涉及“RBridge ID”、“RBridge别名”或任何能够标识RBridge的其他格式。
    术语“双宿主终端设备”涉及具有属于一个或多个架构交换机的两个或多个交换机的聚合链路的终端设备,其中,聚合链路包括多个不同RBridge的物理链路。包括多个物理链路的聚合链路可作为终端站的一个逻辑链路。虽然这里使用了术语“双”,但是“双宿主终端设备”并不将共享该聚合链路的物理RBridge的数量限制为2。在各实施例中,其他数量的物理RBridge可以共享相同的聚合链路。在本发明中使用“双宿主终端设备”的地方,也可以使用术语“多宿主终端设备”。
    网络构造
    图1A为根据本发明的一个实施例的示例性的跨多个架构交换机的虚拟链路聚合的示意图。如图1A所示,架构交换机110包括成员交换机112、114、116和118,并且架构交换机120包括成员交换机122、124和126。在一些实施例中,在架构交换机110和120中的一个或多个交换机可以是虚拟交换机(例如,运行在计算设备上的软件交换机)。
    在一些实施例中,架构交换机110和120位TRILL网络,并且,架构交换机110和120的各自成员交换机,如交换机112和122,是TRILL RBridge。RBridge在架构交换机110和120中使用边缘端口与终端设备通信,并使用交换机相互间端口与其他成员交换机通信。例如,RBridge 118通过边缘端口连接到终端设备106,并通过交换机相互间端口和一个或多个链路连接到RBridges 112,114和116。通过边缘端口的通信可以基于以太网,通过交换机相互间端口的通信可以基于TRILL协议。注意到,架构交换机110和120之间的链路通过交 换机114和124的边缘端口建立。
    RBridge 112和118配置为工作在用于多宿主终端设备的特定的“集群”模式下,并且形成虚拟链路聚合150。终端设备104将这些伙伴RBridge 112和118视为通用虚拟RBridge 152,带有相应的虚拟RBridge标识符。双宿主终端设备104被认为通过由虚线表示的逻辑链路逻辑地连接到虚拟RBridge 152。虚拟RBridge 152被认为是逻辑地连接到伙伴RBridge 112和118,可选地,连接可以采用零成本链路(也由虚线表示)。用虚拟RBridge 152的标识符标记来自终端设备104的流入帧,作为这些流入帧的入口RBridge标识符。结果是,在架构交换机110中其他RBridge可以得知终端设备104可以通过虚拟RBridge 152到达。此外,RBridge 112和118可以(可选地,通过零成本链路)将它们各自的连通性告知虚拟RBridge 152,因此,当其他RBridge选择通过伙伴RBridge 112和118向虚拟RBridge 152发送帧时(在这些帧中,虚拟RBridge 152被标记为出口RBridge),可以实现多路径。
    由于伙伴RBridge 112和118用作单个逻辑RBridge 152,通过伙伴RBridge学到的MAC地址可达性与其他伙伴RBridge共享。例如,在正常操作期间,终端设备104可以选择只通过到RBridge 118的链路发送它的流出帧。结果是,只有RBridge 118学习终端设备104的MAC地址(以及在RBridge 118上与终端设备104相连的相应的端口)。接着,该信息通过RBridge 118与RBridge 112共享。由于来自终端设备的帧将虚拟RBridge 152的标识符作为它们的入口RBridge标识符,因此,当在网络架构交换机110中的RBridge将帧发送回终端设备104,这些帧将虚拟RBridge 152的标识符作为它们的出口RBridge标识符,并且这些帧可以被发送到RBridge 112或118。
    在虚拟链路聚合150中,RBridge 112和118可以彼此转发BUM通信量。如果BUM通信量源自终端设备104,通过阻止BUM通信量被转发到终端设备104(即,通过阻止RBridge确定BUM通信量的 输出端与终端设备104相关联),RBridge接收BUM通信量执行源抑制。例如,如果RBridge 112接收到属于BUM通信量的帧,那么RBridge 112将检查该帧的源RBridge标识符。如果源RBridge标识符与虚拟RBridge 152相关联,RBridge认为该帧来自终端设备104,并通过不向终端设备104转发该帧抑制源转发。
    此外,入口RBridge 112或入口RBridge 118,或者两者同时可以通过虚拟链路聚合150(即,从终端设备104)接收属于BUM通信量的帧。根据接收的帧,入口RBridge 112和/或118向架构交换机110中的多播树的根RBridge转发接收到的帧。在这个例子中,RBridge 116和126可以分别是架构交换机110和120的根RBridge。入口RBridge 112和/或118向RBridge 116发送该帧。转而,根RBridge 116通过多播树将帧分发到架构交换机10的一个RBridge。
    类似于终端设备104,终端设备102也是多宿主的,并分别连接到架构交换机110和120的RBridge 112和122。因此,RBridge 112和122形成跨架构交换机110和120的虚拟链路聚合130。终端设备102视RBridge 112和122为通用虚拟RBridge 132,带有相应的虚拟RBridge标识符。双宿主终端设备102被认为通过由虚线表示的逻辑链路逻辑地连接到虚拟RBridge 132。虚拟RBridge 132被认为是逻辑地连接到伙伴RBridge 112和122,可选地,连接可以采用零成本链路(也由虚线表示)。虚拟链路聚合和虚拟RBridge分配的细节可以在第12/725,249号美国专利申请(代理人案号BRCD-112-0439US)中找到,其公开的内容并入本文。
    架构交换机110和120中的其他的RBridge视终端设备102为连接到虚拟RBridge 132。用虚拟RBridge 152的标识符标记来自终端设备102的流入帧,作为这些流入帧的入口RBridge标识符。当网络架构交换机110和120中的RBridge向终端设备102发送帧时,这些帧将虚拟RBridge 152的标识符作为它们的出口RBridge标识符。RBridge 112接收来自架构交换机110中的RBridge的帧,RBridge 122 接收来自架构交换机120中的RBridge的帧。
    然而,虚拟链路聚合150的源抑制可能不适用于虚拟链路聚合130,因为虚拟链路聚合130跨越两个架构交换机。通常,架构交换机具有与该架构交换机相关联的局部标识符范围。该架构交换机各自的RBridge、物理的或逻辑的交换机分配有来自相应的局部标识符范围的RBridge标识符。结果是,虚拟RBridge 152分配有来自与架构交换机110相关联的局部标识符范围的标识符。此外,由架构交换机110分配的虚拟RBridge标识符不会超过架构交换机110的边界。如果虚拟RBridge 132分配有来自架构交换机110的局部标识符范围的标识符,RBridge 122将不会识别该标识符,并且由于虚拟RBridge标识符对于RBridge 122是未知的,因此,RBridge 122将不会执行源抑制。类似地,如果虚拟RBridge 132分配有来自架构交换机120的局部标识符范围的标识符,RBridge 112基于未知的虚拟RBridge标识符将不会执行源抑制。
    此外,来自虚拟链路聚合150的BUM通信量转发可能不适用于虚拟链路聚合130,因为,根RBridge通常是架构特定的。例如,为了转发属于BUM通信量的帧,如果RBridge 116分配为根RBridge,那么该帧将会被分布在架构交换机110中。另一方面,如果RBridge 126分配为根RBridge,那么该帧将会被分布在架构交换机120中。因此,对于跨多个架构交互机的虚拟链路聚合130,架构专用根RBridge不适用于转发BUM通信量。
    在本发明的实施例中,通过向虚拟RBridge 132分配来自全局标识符范围的标识符可以解决上述问题,其中,该标识符在架构交换机110和120中都是已知的、可识别的并且唯一的。这使得在不同架构交换机中的伙伴RBridge 112和122能够识别该虚拟RBridge标识符,并且执行对源自与虚拟链路聚合130相关联的终端设备102的BUM通信量的源抑制。此外,创建与根RBridge 116和126相关联的虚拟根RBridge 136。虚拟根RBridge 136被认为是逻辑地连接到根RBridge  116和126,可选地,采用零成本链路(由虚线表示)。虚拟根RBridge 136还分配有来自全局标识符范围的标识符,该标识符在架构交换机110和120中都是已知的、可识别的并且唯一的。在接收属于BUM通信量的帧时,伙伴RBridge 112和122将虚拟根RBridge 136的标识符设为该帧的TRILL封装的出口RBridge标识符。
    因为,虚拟RBridge 136被认为逻辑到连接到根RBridge 116和126,因此,虚拟根RBridge 136映射到架构交换机110和120的各自的根RBridge。例如,在架构交换机110中,在通过虚拟链路聚合130接收属于BUM通信量的帧时,RBridge 112在多播TRILL报头中封装该帧,并且将该TRILL报头的出口RBridge标识符设为虚拟根RBridge 136的标识符。接着,RBridge 112向虚拟根RBridge 136转发该TRILL封装的帧(可以称为TRILL包)。在本发明中,术语“TRILL封装的帧”和“TRILL包”可交替使用。因为虚拟根RBridge 136逻辑连接到根RBridge 116,因此,TRILL包接着到达RBridge 116。在接收TRILL包时,根RBridge 116向架构交换机110中的各自的RBridge转发该帧。类似地,在架构交换机120中,RBridge 122向虚拟根RBridge 136发送属于BUM通信量的TRILL封装的帧。根RBridge 126接收该帧,并向架构交换机120中的各自的RBridge转发该帧。
    对于来自终端设备102的一个帧,相应的入口RBridge(即,如果通信量进入架构交换机110,为RBridge 112;如果通信量进入架构交换机120,为RBridge 120)将TRILL报头附加到该帧上,并且,在TRILL报头将虚拟RBridge 132设为入口RBridge标识符。如果该帧属于BUM通信量,无论该帧是否发送到RBridge 112或122,相应的入口RBridge在TRILL报头中将虚拟RBridge 132的标识符设为入口RBridge标识符,并将虚拟根RBridge 136的标识符设为出口RBridge标识符。
    因为虚拟RBridge 132的标识符对于架构交换机110和120都是已知的,伙伴RBridge 112和122可以促进来自终端设备102的BUM 通信量的源抑制。例如,当伙伴RBridge 112或122从另一RBridge接收TRILL包,该TRILL包带有设为虚拟RBridge 132的标识符的TRILL入口RBridge标识符,RBridge 112或122识别来自终端设备102的包,并丢弃该包,从而防止不希望有的环路。此外,因为虚拟根RBridge 136的标识符对于架构交换机110和120都是已知的,因此,当属于BUM通信量的TRILL封装的帧到达任一架构交换机中的RBridge,该RBridge向架构交换机的物理根RBridge转发包,在该架构交换机中,RBridge是一个成员。
    在一些实施例中,架构交换机110和120之间至少有两条链路。图1B为根据本发明的一个实施例的示例性的跨多个通过TRILL正向链接连接的架构交换机的虚拟链路聚合的示意图。在这个例子中,架构交换机110的RBridge 114和架构交换机120的RBridge 124在它们之间有两条链路142和144。链路142被称为TRILL主链路。链路142用于转发属于BUM通信量的TRILL封装的帧,同时保留TRILL封装。通常,TRILL封装是特定于架构交换机的,并且,当帧离开架构交换机,移除该TRILL封装。然而,通过TRILL主链路142(即,通过连接到链路142的RBridge 114的支持TRILL的边缘端口)转发的属于BUM通信量的TRILL封装的帧保留该TRILL封装。这使得TRILL能够保留作为入口RBridge标识符的虚拟RBridge 132的标识符,以及保留作为出口RBridge标识符的虚拟根RBridge 136的标识符。
    在操作期间,终端设备102生产属于BUM通信量的帧,并且将该帧发送到RBridge 112。在接收该帧时,RBridge 112用TRILL报头封装该帧,其中,该TRILL报头带有作为入口RBridge标识符的虚拟RBridge 132的标识符,以及作为出口RBridge标识符的虚拟根RBridge 136的标识符。接着,RBridge 112向虚拟根RBridge 136转发TRILL包。因为根RBridge 116逻辑连接到虚拟根RBridge 136,根RBridge 116接收TRILL包,并沿着它的多播树向架构交换机110 的各自的RBridge分发TRILL包。
    当该TRILL包到达RBridge 114,RBridge 114通过链路124采用相同的入口RBridge标识符和出口RBridge标识符转发TRILL包。当RBridge 124接收该TRILL包,RBridge 124转而向虚拟根RBridge 136转发该包。因为架构交换机120的根RBridge 126逻辑连接到虚拟根RBridge 136,根RBridge 126接收TRILL包,并沿着它的多播树向架构交换机120的各自的RBridge分发该TRILL包。当该包到达RBridge 122,RBridge 122防止包被转发到终端设备102,因为,该包的入口RBridge标识符为虚拟RBridge 132的标识符。
    如果终端设备102生成发往终端设备108的以太网帧,该终端设备108通过RBridge 126连接到架构交换机120,并且将该帧发送到RBridge 112,RBridge 112生成TRILL报头,该TRILL报头带有设为RBridge 114的标识符的出口TRILL标识符。因此,当TRILL包到达RBridge 114,RBridge 114解封该包的TRILL报头,并通过链路144转发该以太网帧。该链路144可以被称为以太网主链路。当以太网帧通过以太网主链路144到达RBridge 124,RBridge 124生成新的TRILL报头,该新的TRILL报头带有作为该新的TRILL报头的出口RBridge标识符的RBridge 126的标识符。
    在一些实施例中,RBridge 114根据TRILL包的入口RBridge标识符的标识符范围,确定是否通过以太网主链路144转发。例如,如果TRILL包包括来自终端设备106的以太网帧,该TRILL包的入口RBridge标识符为RBridge 118的标识符。类似地,如果TRILL包包括来自终端设备104的以太网帧,该TRILL包的入口RBridge标识符为虚拟RBridge 152的标识符。因为RBridge 152的标识符和虚拟RBridge 152的标识符来自于架构交换机110相关联的局部标识符范围,RBridge 114移除TRILL包的TRILL封装,并且通过链路144转发以太网帧。然而,如果TRILL包的入口RBridge标识符的标识符范围对应全局标识符范围,则RBridge 114检查该包是否属于BUM通 信量,并相应转发。
    帧转发
    在图1B的例子中,伙伴RBridges 112和122负载转发通过局部边缘端口接收到的来自终端设备102的帧。另一方面,在架构交换机110和120中的各自的RBridge可以转发发往终端设备102的TRILL封装的帧。图2A为根据本发明的一个实施例的在伙伴RBridge转发通过边缘端口接收的帧的过程的流程图,其中,所述伙伴RBridge参与跨多个架构交换机的虚拟链路聚合。在通过局部边缘端口接收帧时(操作202),该伙伴RBridge识别接收的帧的目标介质访问控制(Media Access Control,MAC)地址(操作204)。接着,该伙伴RBridge识别对应目标MAC地址的出口RBridge标识符(操作206)。例如,如果目标MAC地址对应连接到另一架构交换机的终端设备,该出口RBridge标识符为连接到其他架构交换机的RBridge的标识符,结合图1B所示。
    伙伴RBridge在TRILL报头中封装帧,并且将识别的RBridge标识符设为出口RBridge标识符(操作208),并且将于虚拟链路聚合相关联的虚拟RBridge标识符设为TRILL报头的入口RBridge标识符(操作210)。伙伴RBridge根据出口RBridge标识符确定下一跳RBridge(操作212),并且设置对应下一跳RBridge的外部目标MAC地址(MAC DA)和对应局部RBridge的外部源MAC地址(MAC SA)(操作214)。接着,该伙伴RBridge确定对应外部目标MAC地址的输出端口(操作216),并且通过确定的输出端口发送TRILL封装的帧(操作218)。
    图2B为根据本发明的一个实施例的RBridge转发TRILL封装的单播帧的过程的流程图。在接收TRILL封装的帧时(操作252),RBridge检查出口RBridge标识符是否是局部的(即,出口RBridge标识符是否与局部RBridge相关联)(操作254)。在图1A的例子这种,虚拟RBridge 132的标识符和RBridge 112的标识符都与RBridge  112相关联。因此,如果TRILL报头的出口RBridge标识符对应于局部RBridge相关联的虚拟或物理RBridge标识符,该RBridge确定出口RBridge标识符为局部的。
    如果出口RBridge标识符不是局部的,那么RBridge根据出口RBridge标识符(操作262)将该帧转发到下一跳RBridge。如果出口RBridge标识符是局部的,该RBridge移除TRILL封装(操作256),确定对应帧的内部目标MAC地址的输出端口(操作258),并且通过确定的输出端口传输该帧(操作260)。
    在图1B的例子中,伙伴RBridge 112和122负载转发通过局部边缘端口接收的来自终端设备102的属于BUM通信量的帧。另一方面,在架构交换机110和120中各自的RBridge可以转发属于BUM通信量的TRILL封装的帧。图3A为根据本发明的一个实施例的在伙伴RBridge转发通过边缘端口接收的帧的过程的流程图,其中,所述帧属于BUM通信量,所述RBridge参与跨多个架构交换机的虚拟链路聚合。在通过局部边缘端口接收属于BUM通信量的帧时(操作302),伙伴RBridge向与BUM通信量相关联的其他局部边缘端口转发该帧(操作304)。例如,如果该帧时多播组的多播帧,该伙伴RBridge向局部终端设备转发该帧,该局部终端设备为多播组的成员。
    接着,该伙伴RBridge识别虚拟根RBridge标识符(操作306),在TRILL报头中封装该帧,并且将虚拟根RBridge标识符设为TRIKK报头的出口RBridge标识符(操作308)。该伙伴RBridge将于虚拟链路聚合相关联的虚拟RBridge标识符设为TRILL报头的入口RBridge标识符(操作310)。该伙伴RBridge根据虚拟根RBridge标识符确定下一跳RBridge(操作312),并且设置对应下一跳RBridge的外部目标MAC地址和对应局部RBridge的外部源MAC地址(操作314)。接着,该伙伴RBridge确定对应外部目标MAC地址的输出端口(操作316),并且通过确定的外部端口传输TRILL封装的包(操作318)。
    图3B为根据本发明的一个实施例的RBridge转发发完虚拟根RBridge的TRILL封装的帧的过程的流程图。注意到,发往虚拟根RBridge的帧属于BUM通信量,并且该帧的TRILL报头的出口RBridge标识符为虚拟根RBridge的标识符。在接收发往虚拟根RBridge的TRILL封装的帧时(操作352),RBridge检查虚拟根RBridge标识符是否是局部的(即,虚拟根RBridge标识符与局部RBridge相关联)(操作354)。在图1A的例子中,虚拟根RBridge 136的标识符是RBridge 116和118的局部标识符。
    如果虚拟根标识符不是局部的,那么RBridge根据虚拟根RBridge标识符向下一跳RBridge转发该帧(操作358)。否则,RBridge是相应的架构交换机的根RBridge。因此,该RBridge向架构交换机的各自其他RBridge转发帧(操作356)。
    图3C为根据本发明的一个实施例的RBridge转发属于BUM通信量的TRILL封装的帧的过程的流程图。在接收来自虚拟根RBridge的属于BUM通信量的TRILL封装的帧时(操作362),该RBridge检查出口RBridge标识符是否是局部的(即,出口RBridge标准与局部RBridge相关联)(操作364)。如果出口RBridge标识符不是局部的,那么RBridge根据出口RBridge标识符向下一跳RBridge转发该帧(操作374)。
    如果出口RBridge标识符是局部的,那么RBridge检查局部RBridge是否具有TRILL主链路(操作366)。在图1B的例子中,RBridge 114和124具有TRILL主链路。如果RBridge具有TRILL主链路,该RBridge通过TRILL主链路转发TRILL封装的帧,无需解封TRILL报头(操作368),结合图1B所示。如果RBridge不具有TRILL主链路(操作366)或已经通过TRILL主链路转发该TRILL封装的帧(操作368),该RBridge移除TRILL封装包(操作370),并且向与BUM通信量相关联的局部边缘端口转发该帧(操作372)。例如,如果该帧时多播组的多播帧,那么RBridge向局部终端设备转 发该帧,该局部终端设备为多播组的成员。
    故障处理
    图4A为根据本发明的一个实施例的示例性的与跨多个架构交换机的虚拟链路聚合相关联的失败场景的示意图。假设故障412破坏了RBridge 122到终端设备102的有效性(即,RBridge 122和终端设备10之间的可达性)。故障412的例子包括,但不限于,RBridge 112和终端设备102之间的链路402的故障、在RBridge 112和/或与链路402相关联的终端设备102中的接口卡故障、RBridge 112的节点故障、架构交换机110不可用性。引起架构交换机110不可用性的例子包括,但不限于,软件更新、维修和对交换机相互间链路的连接更新。因此,RBridge 112可以不再通过虚拟链路聚合130连接终端设备。
    因此,RBridge 122开始从终端设备102接收帧。在检测到故障412而不是虚拟RBridge 132的标识符时,RBridge 122开始在来自终端设备102的帧的TRILL封装中将RBridge 122的标识符设为入口RBridge标识符。换句话说,由于终端设备102不再具有同时到RBridges 112和122的虚拟链路聚合,虚拟RBridge 132不再为终端设备102存在。在来自终端设备102的TRILL封装的帧到达架构交换机120中的其他出口RBridge后,这些RBridge得知对应终端设备102的MAC地址与RBridge 122而不是虚拟RBridge 132相关联。发往终端设备102的后续帧被发送到RBridge 122。
    注意到,在拓扑收敛过程中,其他RBridge可以继续向RBridge 132发送帧。如果RBridge 112是有效的(即,没有遭受节点故障),RBridge 112可能继续接收发往终端设备102的帧。RBridge 112可以将这些帧洪泛到所有端口(除了接收这些帧的端口),或可选地,将这些帧转发到RBridge 122,从而使数据丢失最少。
    假设故障414破坏了根RBridge 126的有效性。故障414的例子包括,但不限于,一个或多个链路故障将RBridge 126从架构交换机120上断开、在RBridge 126中的一个或多个接口卡故障将将RBridge  126从架构交换机120上断开、RBridge 126的节点故障、架构交换机120不可用性。引发架构交换机120不可用性的例子包括,但不限于,软件更新、维修和对交换机相互间链路的连接更新。因此,RBridge 126可以不再作为架构交换机120的根RBridge。在一些实施例中,在检测到RBridge 126不可用性时,架构交换机120的有效的RBridge选择有效的RBridge中的另一根RBridge,并且将虚拟根RBridge136与架构交换机120新选择的根RBridge相关联。该新选择的根RBridge可以逻辑连接到虚拟根RBridge 136,可选地,连接采用零成本链路。
    图4B为根据本发明的一个实施例的处理影响伙伴RBridge的故障的过程的示意图,其中,所述RBridge参与跨多个架构交换机的虚拟链路聚合。在操作期间,RBridge检测它的伙伴RBridge的不可用性(操作452)。接着,该RBridge分离RBridge和带有相应的虚拟RBridge的终端设备(操作454),并且返回关于非集群端口的正常转发和/或洪泛操作。此外,在来自终端设备的入口帧的TRILL报头中,该RBridge配置局部RBridge来将它自己的RBridge标识符设置为入口RBridge标识符(操作456)。可选地,RBridge可以通过它自己的RBridge标识符将终端设备的MAC可达性广播到在相应的架构交换机中的其他RBridge(操作458)。
    图4C为根据本发明的一个实施例的处理影响根RBridge的故障的过程的示意图,其中,所述根RBridge与虚拟根RBridge相关联。在检测根RBridge的不可用性时(操作462),相应的架构交换机的有效的RBridge在有效的RBridge中选择另一根RBridge(操作466),并且将虚拟根RBridge与新选择的根RBridge相关联(操作466)。该新选择的根RBridge可以逻辑连接到虚拟根RBridge,可选地,连接采用零成本链路。
    混合虚拟链路聚合
    图5A为根据本发明的一个实施例的示例性的跨多个架构交换机的混合虚拟链路聚合。如图5A所示,架构交换机510包括成员交换 机512,514和516,架构交换机520包括成员交换机522,524和526。在架构交换机510和520中的一个或多个交换机可以是虚拟交换机(即,运行在计算设备上的软件交换机)。在一些实施例中,架构交换机510和520为TRILL网络,架构交换机510和520中的各自的成员交换机,如交换机512和522,为TRILL RBridge。终端设备502和504分别连接到RBridge 516和526。在架构交换机510和520中的RBridge使用边缘端口与终端设备通信,并使用交换机相互间端口与其他成员交换机通信。通过边缘端口的通信可以基于以太网,通过交换机相互间端口的通信可以基于TRILL协议。
    RBridge 512和522通过多个链路彼此连接。这些链路可以配置为以主干(Trunk)532的形式运作。类似地,RBridge 514和524通过多个链路彼此连接。这些链路可以配置为以主干534的形式运作。在一些实施例中,主干532和534可以配置为工作在特定的“集群”模式下,并且形成混合虚拟链路聚合536。即使RBridge 512没有连接到RBridge 524,RBridge 514没有连接到RBridge 522,主干532和534可以以一个混合虚拟链路聚合的形式运作。
    RBridge 516把混合虚拟链路聚合536看作一个与两个RBridge 512和514相关联的单个链路。类似地,RBridge 526把混合虚拟链路聚合536看作一个与两个RBridge 522和524相关联的单个链路。结果是,为了向RBridge 526转发帧,RBridge 516首先确定RBridge 512和514间的出口RBridge。假设RBridge 516确定RBridge 512为出口RBridge,RBridge 516在TRILL报头封装该帧,并将TRILL封装的帧发送到RBridge 512。在接收帧时,RBridge 512移除TRILL报头,选择主干532中的物理链路,并且通过选择的链路转发该帧。
    图5B为根据本发明的一个实施例的通过跨多个架构交换机的混合虚拟链路聚合的示例性包转发示意图。在操作期间,终端设备502与终端设备504通信,并且向终端设备504转发多个帧。在从终端设备502接收帧时,入口RBridge 516首先确定终端设备504通过混合 链路聚合536连接到架构交换机502,该混合链路聚合536与RBridge 512和514相关联。在一些实施例中,在架构交换机510中的各自的RBridge维持混合虚拟链路聚合536和相关的RBridge512和514间的映射。
    接着,RBridge 516使用仲裁机制552从RBridge 512和514确定各自帧的出口RBridge。在一些实施例中,仲裁机制552可以是哈希函数。该哈希函数可以通过以下方式选择出口RBridge:根据策略将来自RBridge 516的帧分发到RBridge 512和514中。策略的例子包括,但不限于,负载平衡、服务质量、安全、网络可用性和计算资源。假设仲裁机制552选择RBridge 514为出口RBridge。接着,RBridge 516在TRILL报头封装帧,并基于TRILL封装向RBridge 514转发该帧。RBridge 514接收该帧,并移除TRILL封装。接着,RBridge 514在主干534中确定应当转发帧的物理链路。
    在一些实施例中,RBridge 514可以在主干534中跨多个链路转发帧,从而在主干534中的链路中实现所需的分发。这种传输使得RBridge 514能够通过将帧分发到主干534的不同链路的方式选择帧的各自输出端口,执行对帧的散布操作。在接收帧后,紧接着RBridge 524标识出终端设备504连接到RBridge 526,在TRILL报头封装该帧,在TRILL报头中将RBridge 526的标识符设为出口RBridge标识符,并且向出口RBridge 526转发TRILL包。
    示例性RBridge
    图6为根据本发明的一个实施例的支持跨多个架构交换机的虚拟链路聚合的示例性RBridge的示意图。在这个例子中,RBridge 600包括若干通信端口602、包处理器610、链路聚合模块630、抑制模块632、多播模块634和存储器650。在一些实施例中,包处理器610将TRILL报头加到包上。RBridge 600还可以包括架构交换机管理模块620,其维护架构交换机中的成员关系。RBridge 600在存储器650中维护配置数据库,该存储器650维护在架构交换机中的各自的交换 机的配置状态。RBridge 600维护架构交换机的状态,其用于加入其它交换机。在这种情况下,通信端口602可以包括用于在架构交换机内通信的交换机相互间通信通道。这种交换机相互间通信通道可以通过常规的通信端口实现,并且可以基于任何开放或专有格式(例如,TRILL协议)。
    在操作期间,链路聚合模块630用虚拟RBridge标识符标记通过其中一个通信端口602接收的帧的入口RBridge标识符域。在接收帧时,包处理器610将虚拟RBridge标识符标识为帧的出口RBridge标识符,并且,作为响应,确定RBridge 600为该帧的出口RBridge。如果该帧属于BUM通信量,抑制模块632阻止RBridge 600确定用于该帧的与局部终端设备相关联的输出端口,如结合图1A所示。如果RBridge 600通过边缘端口接收属于BUM通信量的帧,多播模块634识别该帧,并且用虚拟根RBridge标识符标记该帧的出口交换机域。
    在一些实施例中,RBridge 600还包括故障检测模块642。故障检测模块642可以检测架构交换机的物理根RBridge的不可用性,并且,作为响应,标识新的多播根RBridge,并将虚拟根RBridge标识符与新的多播根RBridge相关联,如结合图4C所示。故障检测模块642还可以检测伙伴RBridge的不可用性,并且,作为响应,将RBridge与虚拟交换机标识符分离。对于在检测伙伴RBridge的不可用性后接收的任意帧,故障检测模块642用RBridge600的RBridge标识符标记帧的出口RBridge域,如结合图4A所示。
    在一些实施例中,RBridge 600还包括在通信端602支持TRILL的边缘端口,以及TRILL主模块644。支持TRILL的边缘端口被确定为发往架构交换机的外部的帧的输出端口。在操作期间,TRILL主模块644确定将属于BUM通信量的TRILL封装的帧。作为响应,TRILL主模块644阻止RBridge 600从TRILL封装的帧移除TRILL封装,并且将支持TRILL的边缘端口确定为TRILL封装的帧的输出端口,如结合图3C所示。
    在一些实施例中,结合作为虚拟链路聚合的架构交换机的第二RBridge的第二集群链路,链路聚合模块630操作集群链路,该集群链路通过在通信端口602中的若干端口连接到RBridge 600。虚拟链路聚合映射到RBridge 600和第二RBridge。通过连接到RBridge 600的集群链路和第二集群链路,可以从架构交换机到达第二架构交换机。在一些实施例中,该虚拟链路聚合基于哈希函数映射到RBridge 600。RBridge 600可以选择发往第二架构交换机的帧的各自的输出端口,这样,帧分布到集群链路的链路上,从而将帧散布到集群链路的链路上,如结合图5B所示。
    注意到,上述模块可以在硬件中,也可以在软件中实现。在一个实施例中,这些模块可以体现在存储在存储器的计算机可执行指令中,该存储器连接到在RBridge 600中的一个或多个处理器。当执行的时候,这些指令导致处理器执行上述功能。
    类似地,本发明的实施例提供了一种交换机和用于提供跨多个架构交换机的虚拟链路聚合的方法。在一个实施例中,该交换机可配置为第一架构交换机的成员。该交换机包括链路聚合模块。在操作期间,该链路聚合模块用虚拟交换机标识符标记帧的入口交换机域。该虚拟交换机标识符与该交换机和第二交换机相关联,该第二交换机为第二架构交换机的成员,并且,该虚拟交换机标识符来自与第一架构交换机和第二架构交换机相关联的标识符的范围。第一架构交换机和第二交换交换机中的每一个可用于包容多个交换机,并作为单一交换机而运作。
    这里描述的方法和过程可以体现为代码和/或数据,其可以存储在计算机可读的非易失存储介质中。当计算机系统读取和执行在计算机可读的非易失存储介质上存储的代码和/或数据时,该计算机系统执行体现为数据结构和代码并存储在介质中的方法和过程。
    这里描述的方法和过程可以由硬件模块或装置执行,和/或包含在硬件模块或装置中。这些模块或装置可以包括,但不限于,专用集成 电路(Application-Specific Integrated Circuit,ASIC)芯片、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、在特定时间执行特定软件模块或代码段的专用或共用的处理器,和/或现在已知的或后续开发的其他可编程逻辑设备。当激活硬件模块或装置时,它们执行包含在它们中的方法和过程。
    以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

    关 键  词:
    跨多个 架构 交换机 虚拟 聚合
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:跨多个架构交换机的虚拟链路聚合.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4080999.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1