渐进式mac地址学习的制作方法_2

文档序号:9618627阅读:来源:国知局
一些实施例中,在架构交换机中的各交换机是多链接透明互联(TransparentInterconnect1n of Lots of Links,TRILL)路由桥(Routing Bridge,RBridge)。在还有一些实施例中,在架构交换机中的各交换机是互联网协议(Internet Protocol,IP)的具备路由能力的交换机(例如,IP路由器)。
[0039]应该注意的是,架构交换机与传统的交换机堆叠是不同的。在交换机堆叠中,多个交换机基于特定的拓扑结构在一个共同位置相互连接(通常在相同的机架中),并且以特定的方式手动配置。这些堆叠的交换机通常共享相同的地址,例如,IP地址,因此,它们可以作为单个交换机被外部寻址。此外,交换机堆叠需要大量的端口和交换机相互间链接的手动配置。对手动配置的需要,阻止了交换机堆叠在建造大规模交换系统中成为一种可行选择。交换机堆叠强加的拓扑结构限制也限制了可以堆叠的交换机的数量。这是因为,很难(如果并非不可能)设计出一种堆叠拓扑结构,使得整个交换带宽能够与交换单元的数量充分协调。
[0040]相反,架构交换机可以基于任何拓扑结构,可以包括任何数量的具有单独地址的交换机,并且无需大量的手动配置。这些交换机可以存在于相同的位置,或者分布在不同位置。这些特征克服了交换机堆叠的固有的局限性,并且可以建立庞大的“交换机群”,其可以被当成是单个的、逻辑交换机。由于架构交换机的自动配置功能,单独的物理交换机可以动态加入或离开架构交换机而无需中断剩余网络的服务。
[0041]此外,架构交换机的自动和动态可配置性允许网路操作者以分布式和“按需付费”方式建立它的交换系统,无需牺牲可扩展性。架构交换机对网络环境改变的响应能力,使得其成为虚拟计算环境中的一种理想解决方案,在虚拟计算环境中,网络负载经常随着时间而变化。
[0042]还应当注意的是,架构交换机与虚拟局域网(Virtual Local Area Network,VLAN)不同。架构交换机可以容纳多个VLAN。VLAN通常由VLAN标签识别。相反地,架构交换机由架构标识符(例如,VCS标识符)识别,该架构标识符分配给架构交换机。架构交换机的各成员交换机与架构标识符相关联。此外,当架构交换机的成员交换机学习终端设备的介质访问控制(Media Access Control,MAC)地址(例如,通过第二层MAC地址学习),该成员交换机生成通知报文,并且将该通知报文发送到架构交换机的所有其他成员交换机,其中,在通知报文的有效负载中包含学习的MAC地址。通过这种方式,学习的MAC地址共享在架构交换的各成员交换机中。
[0043]在本发明中,术语“架构交换机”指的是形成单个、可扩展逻辑交换机的若干互连的物理交换机。这些物理交换机被称为该架构交换机的成员交换机。在架构交换机中,可以以任何拓扑结构连接任何数量的交换机,并且整个交换机组的功能合在一起作为单个、逻辑交换机。该特征使得其可以使用多个更小的、便宜的交换机来构建大型的架构交换机,该架构交换机在外部可以视为单个逻辑交换机。虽然本发明的提出使用了基于架构交换机的例子,但是本发明的实施例不限于架构交换机。本发明的实施例可以与任何包括多个设备而这些设备又作为一个设备的任何计算设备相关。
[0044]虽然本发明的提出使用了基于封装协议的例子,但是本发明的实施例不限于使用一个与特定的开放系统互连(Open System Interconnect1n, 0SI)参考模型层相关的特定的封装协议限定的网络。例如,本发明的实施例可以应用于多协议标签交换(mult1-protocol label switching,MPLS)网络。在本发明中,术语“封装”在一般意义上使用,它可以涉及在任何网络层、子层或网络层的组合中的封装。
[0045]术语“终端设备”可以涉及任何网络外部的设备(例如,在该网络中不会执行转发的设备)。终端设备的例子包括、但不限于,物理或虚拟机、传统的第二层交换机、第三层路由器或任何其他类型的网络设备。此外,终端设备可以连接到离第二层或第三层网络更远的其他交换机或主机。终端设备还可以是若干网络设备进入该网络的聚合点。管理一个或多个虚拟机的终端设备可以称为主机。在本发明中,术语“终端设备”和“主机”可交换使用。
[0046]术语“管理程序(Hypervisor) ”在一般意义上使用,它可以涉及任何虚拟机管理器。任何创建和运行虚拟机的软件、固件或硬件都可以是“管理程序”。术语“虚拟机”也可以在一般意义上使用,它可以涉及机器或设备的软件实现。任何类似于物理设备的可以执行软件程序的虚拟设备都可以是“虚拟机”。管理程序在其上运行一个或多个虚拟机的主机外部设备可以称为“主机”。
[0047]术语“VLAN”在一般意义上使用,它可以涉及任何虚拟化网络。任何包括一段物理网络设备、软件网络资源和网络功能的虚拟化网络都可以称为“VLAN”。“VLAN”不应当理解为将本发明的实施例限制为第二层网络。“VLAN”可以由涉及虚拟化网络或网段的其他属于代替,如虚拟私人网络(Virtual Private Network,VPN)、虚拟私人局域网服务(VirtualPrivate LAN Service,PLS)或简单的虚拟网络(Easy Virtual Network, EVN)。
[0048]术语“包”涉及可以通过网络一起输送的一组位。“包”不应当理解为将本发明的实施例限制为第三层网络。“包”可以由涉及一组位的其他术语替代,例如“帧”、“单元”或“数据报”。
[0049]术语“交换机”在一般意义上使用,它可以涉及工作在任何网络层的任何单独的或架构的交换机。“交换机”可以是物理设备或运行在计算设备上的软件。“交换机”不应当理解为将本发明的实施例限制为第二层网络。任何可以向外部设备或另一交换机转发信息量的设备都可以称为“交换机”。“交换机”的例子包括、但不限于,第二层交换机、第三层交换机、TRILL RBridge或包括多个类似或差异较小的物理交换机的架构交换机。
[0050]术语“RBridge”涉及路由桥,它是实现如互联网工程任务组(InternetEngineering Task Force, IETF)意见征求文件(Request for Comments, RFC) “RoutingBridges (RBridges):Base Protocol Specificat1n,,(可以从 http: //tools, ietf.0rg/html/rfc6325得到)中所述的TRILL协议的桥接器,上述文件的通过引用的方式结合在本文中。本发明的实施例不限于RBridge。也可以使用其他类型的交换机、路由器和转发器。
[0051]术语“边缘端口”涉及与网络外的设备交换数据帧的网络上的端口(即,边缘端口不是用于与网络的另一成员交换机交换数据帧)。术语“交换机间端口 ”涉及在网络的成员交换机中间发送/接收数据帧的端口。术语“接口 ”和“端口 ”可以交换使用。
[0052]术语“交换机标识符”涉及用于识别交换机的一组位。交换机标识符的例子包括、但不限于,介质访问控制(Media Access Control,MAC)地址、互联网协议(InternetProtocol, IP)地址以及RBridge标识符。注意到,TRILL标准使用“RBridge ID”(RBridge标识符)来表示分配给RBridge的48位的中间系统到中间系统(Intermediate-System-to-1ntermediate-System,IS-1S)系统ID,并且使用“RBridge别名”来表示充当用于“RBridgeID”的缩写的16位的值。在本发明中,“交换机标识符”在一般意义上使用,不限于任何位格式,并且可以涉及任何能够识别交换机的格式。术语“RBridge标识符”也在一般意义上使用,不限于任何位格式,并且可以涉及“RBridge ID”、“RBridge别名”或任何能够识别RBridge的其他格式。
[0053]术语“隧道”涉及使用另一网络协议封装了一个或多个网络协议的数据通信。虽然本发明的提出是使用基于第二层协议的第三层封装的例子,但是“隧道”不应当理解为将本发明的实施例限制为第二层和第三层协议。“隧道”可以建立并使用任何网络层、子层或网络层的组合。
[0054]网络构造
[0055]图1A为根据本发明的一个实施例的支持渐进式MAC地址学习的网络的示意图。如图1A所述,网络100包括员交换机101,102,103,104和105。网络100可以是TRILL网络,并且各成员交换机,如交换机103,可以是TRILL RBridge ο网络100还可以是IP网络,并且各成员交换机,如交换机103,可以是具有IP功能的交换机,其计算和维护本地IP路由表(例如,路由信息库或RIB),并且能够根据它的IP地址转发包。在一些实施例中,网络100是架构交换机,并且,在架构交换机100中的一个或多个交换机可以是虚拟交换机(例如,运行在计算设备上的软件交换机)。
[0056]交换机103连接到终端设备111和112,交换机105连接到终端设备113和113,交换机102连接到终端设备115和116。在网络100中的成员交换机使用边缘端口与终端设备通信,并且使用交换机间端口与其他成员交换机通信。例如,交换机103通过边缘端口连接到终端设备111和112,通过交换机间端口连接到交换机101、102和104。终端设备111和112可以存在于相同的局域网中。因此,无需交换机103的转发就可以转发从终端设备111到终端设备112的包。
[0057]采用现有的技术,终端设备111-116可以以主机的方式运行,该主机管理多个虚拟机,每个虚拟机可能有多个MAC地址。因此,交换机102、103和105可能需要学习大量的MAC地址。如果网络100是架构交换机,其中,学习的MAC地址共享在成员交换机中,网络100中的各成员交换机学习各自的MAC地址的负担可能是明显的。这将成为扩大网络100的规模的瓶颈。
[0058]为了解决这个问题,网络100中的交换机可以识别对话的MAC地址。在操作期间,网络100中的交换机,如交换机103,通过本地边缘端口学习终端设备111的MAC地址(例如,根据以太网MAC地址学习)。根据MAC地址的学习,交换机103在转发表181 (例如,软件表,如转发数据库)中创建包含MAC地址和连接终端设备111的端口的相应的出站端口标识符的条目。在一些实施例中,交换机103创建通知信息,在该通知信息中包含学习的MAC地址,并且将该通知信息发送到网络100中的其他交换机。
[0059]根据接收的通知信息,各其他交换机在与交换机103的标识符相关联的本地转发表中存储学习的MAC地址。例如,交换机102在转发表185中存储学习的MAC地址和交换机103的标识符。在一些实施例中,条目包括表明MAC地址与交换机103的关联的位图。例如,网络100包括五个交换机。因此,5比特的位图可以表明MAC地址和相应的交换机之间的关联。例如,在转发表185中的条目可以包括位图“00100”,其表明该MAC地址与交换机103相关联。
[0060]类似地,交换机105通过本地边缘端口学习终端设备113的MAC地址,并且在转发表183中创建包含该MAC地址和相应的出站端口标识符的条目。通过相同的方式,交换机102通过本地边缘端口学习终端设备115的MAC地址,并且在转发表185中创建包含该MAC地址和相应的出站端口标识符的条目
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1