共享的虚拟装置端口的制作方法

文档序号:6456772阅读:186来源:国知局
专利名称:共享的虚拟装置端口的制作方法
技术领域
本发明涉及计算机网络中的虚拟装置。
背景技术
生成树(spanning tree)是用来将路径映射到网络中的装置的数据结构。生成树通常被用作避免网络中的环路.(loop)的方式,在对流量进行路由期间,环路可能导致碰撞或无限延迟。如IEEE 802.1q中所定义的,多生成树协议(Multiple Spanning Tree Protocol, MSTP)是在计算机网络中利用多个生成树的标准。MSTP允许虚拟局域网(VLAN)被映射到同一网络中的不同生成树实例,使得与第一虚拟VLAN相对应的流量可以根据第一生成树被路由,而与第二虚拟VLAN相对应的流量可以根据第二生成树被路由。
运行MSTP的装置具有一个或多个端口 。除了将每个VLAN映射到生成树以外,还可以将每个VLAN与端口中的一个或多个端口相匹配。


图1描述包括层2以太网网桥的示例网络,层2以太网网桥符合正EEStdTM 802.1D-2004 (IEEE 802.1D)或IEEE Std. 802.1Q-2003 (IEEE802.1Q)。
图2示出根据本发明实施例的端口表的示例。
图3示出根据本发明实施例的用于将多个虚拟装置配置为共享网络装置的单个物理端口的示例方法。
图4示出根据本发明实施例的用于在网络装置中对分组进行处理的示例方法。
图5示出根据本发明实施例的用于将多个虚拟装置配置为共享网络装
5置的单个物理端口的示例设备。
图6示出根据本发明实施例的用于在网络装置中对分组进行处理的示例设备。
图7示出交换机的简化结构。
具体实施方式
概述
在一个实施例中,提供了这样的解决方案可以在网络装置的同一物理端口上配置多个虚拟装置。例如,可以将第一虚拟装置和第二虚拟装置配置为使用同一端口。可以为第一虚拟装置和第二虚拟装置两者配置单个内部生成树实例。
示例
在本申请中,为了提供对本发明的透彻理解,阐述了许多具体细节。然而,对本领域技术人员将显而易见的是可以在没有这些具体细节的某些或全部细节的情况下实行本发明。在其它情况中,没有详细描述公知的处理步骤,以免模糊本发明。
图1描述了包括层2以太网网桥105的示例网络100,层2以太网网桥105符合IEEE Std TM 802.1D-2004 (IEEE 802.1D)或IEEE Std. 802.1Q-2003 (IEEE 802.1Q)。在该示例中,有9个网桥A-I禾口 3个基站140-142,它们经由12个局域网(LAN) 125、 130和150 (IO个实例)连接。字母A-I是网桥ID。根据IEEE 802.1D或正EE 802.1Q的惯例,较低的字母(例如,A)比较高的字母(例如,D)"更好",IEEE 802.1D和IEEE 802.1Q通过引用结合于此,用于所有目的。为每个LAN指示出端口路径成本110。该图假定所有附接到同一LAN的网桥端口为它们的端口路径成本配置了相同的值,尽管这并不是IEEE 802.1D或本发明所要求的。
网桥通过交换称为网桥协议数据单元(BPDU)的协议分组来在网络100上创建生成树。使用这些分组,每个网桥中所实现的协议状态机选择某些端口作为网络的活动拓扑的一部分,而选择某些其它端口被阻挡。生成树是在所有LAN被连接的意义上"生成"的。之所以是"树"是因为在任何给定的一对网桥对或基站之间正好存在一条路径。
根据生成树协议(STP),网络100的网桥之一 (在该示例中,为网桥A)将被选为"根网桥"。该树是通过每个网桥选择离根网桥最近的端口作为"根端口"来构建的,其中,"最近的"被定义为到根网桥的如下路径该路径对于所穿过的网桥端口具有最小的根路径成本数值和。(在
该求和中仅计算从LAN到网桥的入口,不计算从网桥到LAN的出口。)在两个或多个路径具有相同的端口路径成本和的情况中,使用平分仲裁器
(tiebreaker)值。如在IEEE 802.1D和IEEE 802.1Q中所定义的,平分仲裁器值是网桥ID和端口 ID。网桥E通过使用相邻网桥的网桥ID来选择端口 117作为其根端口,并且将端口 115和120标记为"替换端口
(alternate port)"并阻挡端口 115和120,来从三个相等成本的路径中进行选择,从而对三个潜在的生成树环路进行仲裁(break)。(尽管这些术语在被本领域技术人员使用时可以有不同的含义,但是术语"分组"和
"帧"在这里有时将被可互换地使用)。
尽管STP提供顺序的分组流,但是它无法使网络中的所有LAN都以最佳方式被使用。从网络中的任何网桥或台站到根的路径永远不会比沿着该根网桥的生成树的路径具有更低的路径成本和,而是其它对的网桥或基站之间的路径可能不是最佳的。例如,如果端口 115禾n 120被阻挡,则从基站142到基站141的路径是142-E-F-I-A-B-D-G-141,总成本为11 (基站141不算最后一跳的成本),而不是短得多的路径142-E-G-141 (成本为3)。
多生成树协议(MSTP)提供相对于STP的改善,这是因为创建了多个生成树。网络100可被配置为具有多达64个生成树。例如,各个网桥A到I可被配置为分离的多生成树实例(MSTI)的区域性根网桥。IEEE802.1Q使得对给定帧被指派到的并且该帧通过其被转发MSTI的判定仅基于该帧的虚拟局域网标识符(VLAN ID或VID),虚拟局域网标识符又仅基于a)该帧进入网络的哪个端口,和/或b)该帧承载什么较高层协议。VID通常可以被指派给引起对适当MSTI进行选择的端口和/或协议。然而,这并不总是可能的,这是因为任何连接到该网络的给定基站可以与许多其它基站通话(converse),这些其它基站又可以与另外的基站通话。例如,在网络100中,各个台站140、 141和142可以彼此通话。
在本发明的一个示例中,认识到可能希望在使用MSTP或类似的以端口为中心的(port-centric)协议的两个或更多虚拟装置之间共享端口。例如,可以将每个虚拟装置看成被指派有一组端口的不同层2交换机。共享端口可以承载属于网络分类(classification)(例如,属于被映射到该端口的不同虚拟装置的VLAN)的流量。可以用网络标识符(例如,VLAN标识符)来定义这些分类。然而,当利用诸如MSTP之类的以端口为中心的协议时,共享的端口出现问题。这是由这样的事实引起的在共享端口上只有一个控制并且运行多个生成树的MSTP内部生成树,但是由于该端口在多个虚拟装置之间被共享并且每个虚拟装置具有自己的内部生成树,所以在决定利用哪个树时存在冲突或模棱两可的可能性。
典型的运行MSTP的装置将具有多达65个不同的生成树实例。第一个被称为内部生成树(1ST)实例,在物理交换机的所有端口上运行。然后,存在多达64个不同的多生成树(MST)实例。1ST实例的工作是从MST实例接收网桥协议数据单元(BPDU)和将网桥协议数据单元发送给MST实例。BPDU是可以包含生成树信息的数据结构。64个不同的MST实例的每一个可以被映射到不同的VLAN。然后,与VLAN相对应的流量将使用相应的生成树。
当在单个物理交换机上定义多个虚拟装置时,多个装置中的每一个具有它自己的1ST实例和它自己的MST实例。如以上所简要描述的,当尝试将多个虚拟装置指派给单个端口时可能遇到问题,这是因为当时不清楚利用哪个IST实例(和可能利用哪个MST实例)。
一种解决方案是简单地限制虚拟装置,使得端口永远不在虚拟装置之间被共享。然而,很明显,这不是理想的解决方案,因为强烈需要在多个虚拟装置之间共享端口以使得端口带宽被高效利用。
在本发明的实施例中,共享端口的虚拟装置可以被归到一起作为虚拟装置组。然后,用于该虚拟装置组中的每个虚拟装置的所有IST实例可以被合并成用于整个虚拟装置组的单个IST实例。虚拟装置可以维护它们当前的MST实例。之后,单个IST可以向虚拟装置组中的所有MST实例发出BPDU。应当注意,以下的实施方式是可能的不是合并两个1ST实例,而是从零开始或者利用两个或更多的现有1ST实例作为模版来创建单个联合1ST实例。
应当注意,MST通常由它们在虚拟装置内被指派给的VLAN的顺序来标识。例如,特定的装置可以将MST标识为MSTrMST64,并且映射到VLANrVLAN64。然而,当在多个虚拟装置之间共享单个端口时,这可能产生问题,因为尽管事实是多个生成树本身不同(被映射到不同的VLAN),但是例如第一虚拟装置可以具有MST,实例且第二虚拟装置也可以具有MS^实例。在这样的情况中,可以利用将虚拟装置和原始MST实例映射到新的MST映射标识(MSTID)的映射表。例如,这允许第一MST:实例被指派MST,的MSTID,而第二 MST!实例可被指派MST2的MSTID,从而消除冲突。
共享的端口还可以承载与多个网络分类(例如,VLAN)相对应的流量。 一般,VLAN到MST实例的映射会指示出哪个MST实例用于特定VLAN。然而,利用共享端口,可以在共享同一端口的多个虚拟装置上标识同一 VLAN,并且这些相同的VLAN可以标识不同的相应MST实例。因此有必要选择单个MST实例来与由两个或更多虚拟装置定义的VLAN相对应。例如,这可以包括提示用户进行选择或者随机选择一个。与每个VLAN相对应的MST实例也可以被存储在映射表中。
图2示出根据本发明实施例的端口表的示例。在本示例中,该表的一列200表示虚拟装置标识,该表的另一列202表示VLAN标识符,该表的另一列204表示MST实例标识符,并且该表的另一列206表示MST映射标识。
通常由包含区域的名称和修改标识以及用于端口的实例-VLAN映射的签名来标识区域。因此,由于(如映射表所标识的)新的实例-VLAN映射,共享的端口将修改该区域签名。
图3示出根据本发明实施例的用于将多个虚拟装置配置为共享网络装置的单个物理端口的示例方法。该网络装置可以是交换机。在300,可以将网络装置的单个端口配置为支持第一虚拟装置和第二虚拟装置。在302,可以为第一虚拟装置和第二虚拟装置两者形成单个内部生成树实例。在一个实施例中,这可以涉及将与第一虚拟装置相对应的内部生成树和与第二虚拟装置相对应的内部生成树合并。在另一实施例中,这可以涉及从零开始(即,不参考针对第一虚拟装置或第二虚拟装置所定义的内部生成树实例)为第一虚拟装置和第二虚拟装置两者创建单个内部生成树实例。在304,可以创建端口表。端口表可以为该端口指示出哪些网络标
识(例如,VLAN标识)被指派给哪个网络装置。每个网络拓扑或客户可以被指派到仅一个虚拟装置。可从用于第一虚拟装置的VLAN到实例映射和用于第二虚拟装置的VLAN到实例映射来确定这个表。对于可能潜在地映射到两个(或更多)虚拟装置的VLAN,然后可由用户或管理员做出关于哪个虚拟装置指派给该VLAN的选择。或者,可以使用某种其它方法(例如,随机地)选择哪个虚拟装置指派给该VLAN。应当注意,端口表本身是可选的,因为同样的信息可以被存储在映射表中。在306,可以从端口表创建映射表。映射表可以包括每个虚拟装置的标识、指派该给虚拟装置的VLAN、用于这些VLAN的相应多生成树实例以及用于这些VLAN的被映射的多生成树实例。被映射的多生成树实例可以表示在映射表中唯一的生成树实例标识。该创建可以包括标识用于第一虚拟装置的第一多生成树实例,第一多生成树实例具有第一标记,该第一标记和第二装置的第二多生成树实例的第二标记相同。之后,创建还可以包括向映射表添加多生成树映射标识,这些多生成树映射标识在映射表内对于第一和第二多生成树实例的每一个是唯一的。创建还可以包括将针对第一虚拟装置定义的网络标识与针对第二虚拟装置定义的网络标识进行组合。对于针对第一虚拟装置和第二虚拟装置两者定义的网络标识,可以选择一个多生成树实例来与该网络标识相对应。这可以包括提示用户进行选择。
图4示出根据本发明实施例的用于对网络装置中的分组进行处理的示例方法。在400,可以在端口上接收分组。在402,分组可被分类成VLAN。例如,这可以通过检查分组本身中的标签来完成。在404,可以确定与VLAN相对应的第一虚拟装置,其中,第一虚拟装置与第二虚拟
10装置共享端口。例如,这可以通过使用402中所标识的VLAN检查映射 表或端口表并且从该表中检索相应的虚拟装置来完成。在406,检查映射 表以确定用于对分组进行路由的多生成树实例。映射表可以包含用于与该 端口相对应的多个多生成树实例的每一个多生成树实例的唯一标识。所选 择的生成树实例可以是与对应于之前所标识的分组的VLAN和虚拟装置 相对应的一个生成树实例。
图5示出根据本发明实施例的用于将多个虚拟装置配置为共享网络装 置的单个物理端口的示例设备。.该网络装置可以是交换机。多虚拟装置单 端口配置器500可以将网络装置的单个端口配置为支持第一虚拟装置和第 二虚拟装置。耦合到多虚拟装置单端口配置器500的单内部生成树实例形 成器502可以为第一虚拟装置和第二虚拟装置两者形成单个内部生成树实 例。在一个实施例中,这可以涉及将与第一虚拟装置相对应的内部生成树 和与第二虚拟装置相对应的内部生成树进行合并。在另一实施例中,这可 以涉及从零开始(即,不参考针对第一虚拟装置或第二虚拟装置所定义的 内部生成树实例)为第一虚拟装置和第二虚拟装置两者创建单个内部生成 树实例。耦合到单内部生成树实例形成器502的端口表创建器504可以创 建端口表。该端口表可以为该端口指示出哪些网络标识(例如,VLAN 标识)被指派到哪个虚拟装置。每个网络拓扑或客户可以被指派到仅一个 虚拟装置。可从用于第一虚拟装置的VLAN到实例映射和用于第二虚拟 装置的VLAN到实例映射来确定该表格。对于可能潜在地映射到两个 (或更多)虚拟装置的VLAN,然后可以由用户或管理员来做出关于哪个 虚拟装置指派到VLAN的选择。或者,可以使用某种其它方法(例如, 随机地)选择哪个虚拟装置指派到VLAN。应当注意,端口表本身是可选 的,因为相同的信息可以存储在映射表中。耦合到端口表创建器504的映 射表创建器506可以从端口表创建映射表。映射表可以包括每个虚拟装置 的标识、指派给虚拟装置的VLAN、用于VLAN的相应多生成树实例以 及用于VLAN的被映射的多生成树实例。被映射的多生成树实例可以表 示生成树实例标识,这些生成树实例标识在映射表内是唯一的。创建可以 包括对具有第一标记的第一虚拟装置的第一多生成树实例进行标识,该第
ii一标记与第二虚拟装置的第二多生成树实例的第二标记相同。创建然后还 可以包括向映射表添加多生成树映射标识,这些多生成树映射标识在映射 表内对于第一和第二多生成树实例的每一个多生成树实例是唯一的。创建 还可以包括将针对第一虚拟装置所定义的网络标识和针对第二虚拟装置所 定义的网络标识进行组合。对于针对第一虚拟装置和第二虚拟装置两者所
定义的网络标识,可以选择一个多生成树实例来与网络标iR相对应。这可
以包括提示用户进行选择。
图6示出根据本发明实施例的用于在网络装置中对分组进行处理的示
例设备。分组接收器600可以在端口上接收分组。耦合到分组接收器600 的分组VLAN分类器602可以将分组分类成VLAN。这例如可以通过检 查分组本身中的标签来完成。耦合到分组VLAN分类器602的VLAN虚 拟装置确定器604可以确定与VLAN相对应的第一虚拟装置,其中,第 一虚拟装置与第二虚拟装置共享端口。例如,这可以通过使用之前标识的 VLAN检査映射表或端口表并且从该表中检索相应的虚拟装置来完成。耦 合到VLAN虚拟装置确定器604的映射表多生成树实例确定器606可以检 查映射表以确定用于对分组进行路由的多生成树实例。映^t表可以包含用 于与该端口相对应的多个多生成树实例中的每一个的唯一标识。所选择的 生成树可以是与对应于之前所标识的分组的VLAN和虚拟装置相对应的 一个生成树。
图7示出交换机700的简化体系结构。交换机700包括N个线卡 (line card),每个线卡以入口侧(或者输入)705和出口侧(或者输 出)725为特征。线卡入口侧765经由交换构造(switching fabric) 750连 接到线卡出口侧725,在本示例中,交换构造750包括交叉开关 (crossbar)。在本实施例中, 一个或多个线卡执行上述过程中的一个或 多个过程。
应当注意,尽管在整个文件中,提到的是第一虚拟装置和第二虚拟装 置,但是,所要求保护的发明可以包括多于两个的虚拟装置共享同一物理 端口的实施例。
还应当注意,尽管讨论了 MSTP,但是,所要求保护的发明可以包括利用其它协议的实施例。此外,术语"生成树"应被广义解读为包括用来 映射网络装置布局的任何数据结构。"内部生成树"应被广义解读为包括 用于更新其它生成树的任何生成树。"多生成树"应被广义解读为包括用 于对分组进行路由的任何生成树。
此外,不论何时在该文件中提及表时,该术语应被广义解释为包括任 何格式的任何数据结构。
尽管在此示出并描述了本发明的示例性实施例和应用,但是在本发明 的概念、范围和精神以内的许多变化和修改是可能的,并且对于本领域技 术人员而言,在研究本发明之后,这些变化将变得清楚。因此,所述实施 例将被认为是示例性的而非限制性的,并且本发明不限于在此所述的细 节,而是可以在所附权利要求的范围和等同物内修改。
权利要求
1.一种方法,包括将网络装置的单个端口配置为支持第一虚拟装置和第二虚拟装置;以及为所述第一虚拟装置和所述第二虚拟装置两者形成单个内部生成树实例。
2. 根据权利要求1所述的方法,还包括创建映射表,其中,所述映射表包含关于至少一个网络标识和至少一 个相应的多生成树映射标识的信息。
3. 根据权利要求2所述的方法,其中,所述网络标识是虚拟局域网(VLAN)标识。
4. 根据权利要求2所述的方法,其中,所述创建包括标识用于所述第一虚拟装置的第一多生成树实例,所述第一多生成树 实例具有第一标记,该第一标记与用于第二装置的第二多生成树实例的第二标记相同;以及向所述映射表添加多生成树映射标识,这些多生成树映射标识在所述 映射表内对于所述第一和第二多生成树实例的每一个多生成树实例是唯一 的。
5. 根据权利要求2所述的方法,其中,所述创建包括将针对所述第一 虚拟装置定义的网络标识与针对所述第二虚拟装置定义的网络标识进行组 合。
6. 根据权利要求5所述的方法,其中,所述创建还包括对于针对所述第一虚拟装置和第二虚拟装置两者定义的网络标识,选择仅一个多生成 树实例来与所述网络标识相对应。
7. 根据权利要求6所述的方法,其中,所述选择包括提示用户进行选择。
8. 根据权利要求1所述的方法,其中,所述网络装置是交换机。
9. 根据权利要求1所述的方法,其中,配置单个内部生成树实例包括将针对所述第一虚拟装置定义的内部生成树实例与针对所述第二虚拟装置 定义的内部生成树实例进行合并。
10. 根据权利要求1所述的方法,其中,形成单个生成树实例包括 在不参考针对所述第一虚拟装置或所述第二虚拟装置定义的内部生成树实 例的情况下,创建用于所述第一和第二虚拟装置两者的单个生成树。
11. 根据权利要求1所述的方法,还包括创建端口表,其中,所述端 口表为物理端口指示出哪些网络标识被指派给哪个虚拟装置。
12. —种方法,包括在端口上接收分组;为所述分组标识VLAN;确定与该VLAN相对应的第一虚拟装置,其中,所述第一虚拟装置与 第二虚拟装置共享所述端口;以及通过检查数据结构来确定用于对所述分组进行路由的多生成树实例, 所述数据结构包含用于与所述端口相对应的多个多生成树实例的每一个多 生成树实例的唯一标识。
13. 根据权利要求12所述的方法,其中,所述分类包括检查所述分组 中的VLAN标签。
14. 根据权利要求12所述的方法,其中,所述确定包括检查与所述端 口相对应的端口表,所述端口表包括一个或多个VLAN标识和相应的虚拟装置。
15. 根据权利要求12所述的方法,其中,所述确定包括检査映射表。
16. 根据权利要求15所述的方法,其中,所述映射表包含关于一个或 多个网络标识和相应的多生成树映射标识的信息。
17. —种交换机,包括一个或多个线卡,其中,所述一个或多个线卡中的至少一个线卡被配 置为将网络装置的单个端口配置为支持第一虚拟装置和第二虚拟装置;以及为所述第一虚拟装置和所述第二虚拟装置两者形成单个内部生成树实例。
18. —种交换机,包括一个或多个线卡,其中,所述一个或多个线卡中的至少一个线卡被配 置为在端口上接收分组;为所述分组标识VLAN;确定与该VLAN相对应的第一虚拟装置,其中,所述第一虚拟装置与 第二虚拟装置共享所述端口;以及通过检查数据结构来确定用于对所述分组进行路由的多生成树实例, 所述数据结构包含用于与所述端口相对应的多个多生成树实例的每一个多 生成树实例的唯一标识。
19. 一种设备,包括用于将网络装置的单个端口配置为支持第一虚拟装置和第二虚拟装置 的装置;以及用于为所述第一虚拟装置和所述第二虚拟装置两者形成单个内部生成 树实例的装置。
20. —种设备,包括 用于在端口上接收分组的装置; 用于为所述分组标识VLAN的装置;用于确定与该VLAN相对应的第一虚拟装置的装置,其中,所述第一 虚拟装置与第二虚拟装置共享所述端口;以及用于通过检查数据结构来确定用于对所述分组进行路由的多生成树实 例的装置,所述数据结构包含用于与所述端口相对应的多个多生成树实例 的每一个多生成树实例的唯一标识。
全文摘要
在一个实施例中,提供了这样的解决方案可以在网络装置的同一物理端口上配置多个虚拟装置配置。例如,第一虚拟装置和第二虚拟装置可被配置为使用同一物理端口。可以为第一虚拟装置和第二虚拟装置两者配置单个内部生成树实例。
文档编号G06F15/177GK101558402SQ200780046535
公开日2009年10月14日 申请日期2007年12月12日 优先权日2006年12月19日
发明者晒克·布鲁苏, 隆那科·德赛 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1