用于多路径负载平衡的系统和方法_2

文档序号:9238065阅读:来源:国知局
的限制带宽,穿过所识别的路径来平衡从交换机202传输至交换机204的网络流量。
[0026] 交换机202-208通常表示任意中介计算设备,该任意中介计算设备连接网段或网 络设备和/或促进计算环境中的两个或多个其他计算设备之间的通信。交换机202-208 的示例包括但不限于,分组交换机、网桥、多层交换机、网络集线器、信号中继器、路由器和/ 或任意其他适当的交换设备。在一些示例中,交换机202-208可以表示层2网络的全部或 部分。在至少一个示例中,交换机202-208可以表示虚拟机箱结构。
[0027] 如图2和图3所示,交换机202-208可以经由数据链路210-220被互连。数据链 路210-220通常表示能够促进通信或数据传递的任意介质或架构。数据链路210-220中的 每个数据链路可以表示在网络200中的两个交换机的数据端口之间的物理连接(例如,经 由电线或电缆)。图2图示了网络200的对称的拓扑结构。如本文中使用的,术语"对称的 拓扑结构"可以通常指代任意网络拓扑结构,其中在网络中的任意两个交换机之间的多个 路径具有完全相同或相似的特性,诸如带宽、跳跃的数目或每路径分段的数据链路的数目。 图3图示了网络200的非对称的拓扑结构。如本文中所使用的,术语"非对称的拓扑结构" 通常指代任意网络拓扑结构,其中在网络中的任意两个交换机之间的多个路径具有不相似 的特性。图6还提供了具有非对称的拓扑结构的示例性网络600的图示。
[0028] 图4是用于多路径负载平衡的示例性计算机实现的方法400的流程图。图4中所 示的步骤可以由任意适当的计算机可执行的代码和/或计算系统执行。在一些实施例中, 图4中所示的步骤可以由图1中的系统100、图2中的网络200、图6中的网络600和/或 图7中的计算系统700的部件中的一个或多个部件执行。
[0029] 如图4所示,在步骤410处,本文中描述的系统中的一个或多个系统可以识别从源 交换机至目的交换机的多个路径。例如,在步骤410处,识别模块104作为图3中的交换机 202的一部分,可以识别经由数据链路210、214、218和220通过交换机206连接交换机202 和交换机204的路径,以及经由数据链路212和216通过交换机208连接交换机202和交 换机204的路径。
[0030] 如本文中所使用的,术语"交换机"通常指代能够在计算网络的设备之间路由或转 发信息的任意设备、系统或应用,该信息可以是以分组的形式。如本文中所使用的,术语"源 交换机"可以指代网络中的交换机,在该交换机处接收数据并且从该交换机转发数据;以及 如本文中所使用的,术语"目的交换机"可以指代网络中的交换机,数据被转发至该交换机。
[0031] 在网络中的源交换机和目的交换机可以经由一个或多个路径连接。如本文中所使 用的,术语"路径"可以指代网络中两个设备之间的任意路由,该路由可以由两个设备中的 一个设备使用以将网络流量转发至另一设备。在一些示例中,术语"路径"可以指代最短路 径、最低成本路径和/或等成本路径。通常,路径可以由一个或多个数据链路构成。使用图 2作为示例,交换机202可以通过经由数据链路210和214通过交换机206的路径以及经由 数据链路212和216通过交换机208的路径被连接至交换机204。此外,路径的分段可以由 一个或多个数据链路构成。使用图3作为示例,交换机202可以经由交换机202和206之 间的包括数据链路210、218和220的路径分段被连接至交换机204。
[0032] 在一些实施例中,两个路径可共享数据链路。使用图6中的网络600作为示例,交 换机602可以通过共享数据链路644的至少两个路径(例如,经由数据链路620、630和644 通过交换机604和610的路径、以及经由数据链路622、632和644通过交换机606和610 的路径)被连接至交换机614。
[0033] 如本文中所使用的,术语"数据链路"可以指代在网络中的两个设备之间的任意物 理的或逻辑的连接。例如,术语"数据链路"可以指代两个设备之间的物理连接,这些设备 的物理端口经由物理的电线或电缆来连接。数据链路的示例包括图2和图3中的数据链路 210-220以及图6中的数据链路620-646。
[0034] 数据链路可以具有链路带宽。如本文中所使用的,术语"链路带宽"通常可以指代 在给定时间量中可以通过数据链路的信息量的测量,通常用千兆比特每秒(Gb/s)表示。在 图2、3和6中,每个数据链路旁边被括起的数字可以以Gb/s为单位表示数据链路的链路带 宽。如图3所示,数据链路210-220中的每个数据链路可以具有lOGb/s的带宽。如图6所 示,数据链路620、626、630、642和646中的每个数据链路可以具有40Gb/s的带宽,以及数 据链路622、628、632、634、636和644中的每个数据链路可以具有10Gb/s的带宽。在一些 示例中,数据链路的带宽可以被交换机和/或构成数据链路的物理连接的带宽影响。
[0035] 在一些情况下,可以将多个交换机组合以形成可以表现为单个逻辑交换机的虚拟 机箱结构(例如,虚拟交换机结构)。如本文中所使用的,术语"虚拟机箱结构"通常指代互 连的交换机的集合,该互连的交换机的集合可以作用为单个逻辑设备工作和/或作为单个 逻辑设备被管理。通常,虚拟机箱结构中的交换机可以将来自虚拟机箱结构的入口的输入 数据互连至虚拟机箱结构的出口。在一些示例中,虚拟机箱结构可以通过提供虚拟机箱结 构中的节点(如,交换机)之间的任意对任意的连接来促进高水平的可扩展性。此外,虚拟 机箱结构可以通过提供冗余的交换机和/或冗余数据链路和/或路径来促进高可用性。在 一些示例中,可以不限制构成虚拟机箱结构的交换机的拓扑结构。
[0036] 回到图4,本文中所描述的系统可以以各种方式执行步骤410。在一个示例中,识 别模块104可以识别从网络中的每个交换机至网络中的所有其他交换机的所有有效的转 发路径。在另一示例中,识别模块104可以识别从网络中每个交换机至网络中所有其他交 换机的所有最短路径,所有最低成本路径和/或所有等成本路径。
[0037] 在一个示例中,识别模块104作为网络中的交换机中的一个或多个交换机的一部 分,可以使用适当的链路状态路由协议(诸如举例而言,中间系统到中间系统(IS-IS))以 交换并累积可以用于识别路径的拓扑信息(例如,链路带宽)。使用图3作为示例,识别模 块104作为交换机202-208中的每个交换机的一部分,可以使用适当的链路状态路由协议 以交换并累积识别交换机202-208中的每个交换机并且描述交换机202-208如何通过数据 链路210-220被连接的拓扑信息。
[0038] 在一些示例中,识别模块104可以通过计算路径识别从源交换机至目的交换机 的多个路径。在至少一个示例中,识别模块104可以使用最短路径算法(诸如举例而言, Dijkstra算法)来计算连接两个交换机的多个路径。在一些示例中,识别模块104可以计 算从源交换机至目的交换机的两个或多个等成本路径。在至少一个示例中,识别模块104 可以允许两个或多个路径共享数据链路。在至少一个实施例中,识别模块104可以计算路 径,使得考虑到路径的带宽和/或跳跃的数目。
[0039] 在一些实施例中,识别模块104作为网络中的源交换机的一部分,可以(1)识别 网络中的每个目的交换机和(2)互连源交换机至目的交换机的每个路径。在一些示例中, 识别模块104可以针对每个所识别的目的交换机,将连接源交换机至目的交换机的路径存 储为被连接至路径的源交换机的接口的列表。如本文中所使用的,术语"接口 "可以指代交 换机和另一设备(例如,另一交换机)之间的物理的或逻辑的互连点。在一些示例中,术语 "接口 "可以指代至数据链路或路径的交换机的连接点。如下面将更详细地阐述的,当源交 换机接收应当被转发至目的交换机的数据时,源交换机可以在与目的交换机相关联的接口 列表中选择接口中的一个或多个接口以将数据转发至目的交换机。
[0040] 在一些示例中,识别模块104可以使用表1中的示例性算法识别从源交换机至目 的交换机的多个路径。
[0041]表 1
[0044]
[0045]
[0046] 返回图4,在步骤420处,本文中所描述的系统中的一个或多个系统可以至少部分 基于路径中的一个或多个数据链路的最低链路带宽,针对多个路径的每个路径确定路径的 限制带宽。例如,在步骤420处,确定模块106作为图3中的交换机202的一部分,可以基 于路径中的一个或多个数据链路的最低链路带宽,针对将交换机202连接至交换机204的 每个路径确定路径的限制带宽。
[0047] 如在本文中使用的,短语"限制带宽"可以指代在给定时间量中可以通过数据链路 的信息量的任意测量,通常用千兆比特每秒(Gb/s)表示。因为路径可以由多个数据链路构 成,路径的限制带宽可以等于在具有最低链路带宽的路径中的数据链路的链路带宽。如果 路径的分段包括多于一个数据链路(例如,图3中的交换机202和206之间的路径分段可 以包括数据链路210、218和220,以及交换机60
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1