CN107409097B - 用于负载平衡移动性的装置、介质和方法 - Google Patents

用于负载平衡移动性的装置、介质和方法 Download PDF

Info

Publication number
CN107409097B
CN107409097B CN201680007538.2A CN201680007538A CN107409097B CN 107409097 B CN107409097 B CN 107409097B CN 201680007538 A CN201680007538 A CN 201680007538A CN 107409097 B CN107409097 B CN 107409097B
Authority
CN
China
Prior art keywords
switch
load balancing
network
leaf
fabric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680007538.2A
Other languages
English (en)
Other versions
CN107409097A (zh
Inventor
拉金德拉·库马尔·斯拉姆特
萨钦·维贾伊·维莎瓦鲁佩
萨马·莎玛
库什·A·帕特尔
穆利·维特拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN107409097A publication Critical patent/CN107409097A/zh
Application granted granted Critical
Publication of CN107409097B publication Critical patent/CN107409097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在示例中,公开了一种网络设备,包括:一个或多个逻辑元件,包括至少一个硬件逻辑元件,以提供网络管理器引擎用来:提供交换结构管理功能;可通信地耦接到至少一个网络交换机,网络交换机被配置为提供可选的本地基于硬件的负载平衡;监控一个或多个负载平衡因素;并且至少部分地响应于一个或多个负载平衡因素,在至少一个网络交换机上配置本地基于硬件的负载平衡。

Description

用于负载平衡移动性的装置、介质和方法
相关申请交叉引用
本申请要求于2015年4月23日递交的名为“Instantiating load BalancingMobility with Automated Fabric Architecture(利用自动化结构架构实例化负载平衡移动性)”的美国临时申请62/152,027的优先权,所述申请的内容通过引用整体被结合于此。
技术领域
本公开总的涉及通信邻域,并且更具体地,涉及一种方法和装置,用于提供用于利用自动化结构架构的负载平衡移动性的系统和方法。
背景技术
数据中心越来越多地被企业用于有效的协作、数据存储、和资源管理。典型的数据中心网络包括无数的网络元件,包括服务器、负载均衡器、路由器、交换机等。连接网络元件的网络提供对于数据中心服务的安全的用户访问以及用于共享资源的部署、互连和聚集的基础设施。在数据中心中提高操作效率和优化资源利用是数据中心管理人员面临的一些挑战。数据中心管理人员寻求一种始终支持各种应用和服务的弹性基础设施。被合理计划的数据中心网络提供应用和数据完整性,并进一步优化应用的可用性和性能。
附图说明
当结合附图阅读时,根据以下详细描述可以最好地理解本公开。要强调的是,根据行业中的标准做法,各种特征不一定按比例绘制,并且仅仅出于说明的目的。明确地或隐含地示出的比例仅提供了一个说明性示例。在其他示例中,为了讨论的清楚,各种特征的尺寸可以被任意增大或减小。
图1A是根据本说明书的一个或多个示例的企业计算环境的网络层级图;
图1B是根据本说明书的一个或多个示例的计算集群的更详细的视图;
图2A是示出了根据本说明书的一个或多个示例的用于在网络环境中提供服务装备的系统的物理视图的简化示意图;
图2B是示出了根据本说明书的一个或多个示例的系统的逻辑图的简化示意图;
图3是根据本说明书的一个或多个示例的网络交换机的框图;
图4是根据本说明书的一个或多个示例的路由表的框图;
图5是根据本说明书的一个或多个示例的由交换机执行的方法的流程图;
图6是根据本说明书的一个或多个示例的负载平衡的方法的流程图;
图7是根据本说明书的一个或多个示例的方法的框图;
图8是根据本说明书的一个或多个示例的TCAM表的框图;
图9是根据本说明书的一个或多个示例的方法的框图;
图10是根据本说明书的一个或多个示例的IP地址掩码的框图;
图11是根据本说明书的一个或多个示例的IP地址掩码和负载平衡选择的方法的流程图。
概述
在一个示例中,公开了一种网络装置,包括:一个或多个逻辑元件,包括至少一个硬件逻辑元件,以提供网络管理器引擎,用于:提供交换结构管理功能;可通信地耦接到至少一个网络交换机,网络交换机被配置为提供可选的本地基于硬件的负载平衡;监控一个或多个负载平衡因素;并且至少部分地响应于一个或多个负载平衡因素,在至少一个网络交换机上配置本地基于硬件的负载平衡。
具体实施方式
以下的公开提供了用于实现本公开的不同特征的许多不同的实施例或示例。
在已知计算系统的示例中,可以提供工作负载服务器集群作为物理服务器或作为虚拟机,以向端用户或客户端提供所期望的特征。仅提供一个非限制性的例子,工作负载服务器可以提供网站。当多个用户对于网站同时进行大量的连接时,需要在服务器机群中的各种服务器之间适当地分配工作负载。
为此,来自客户端设备的传入流量可以被路由到网络交换机。之后,网络交换机可以转发流量到负载平衡器。通常使用的负载平衡器的示例是运行Linux操作系统并且被提供有完整网络堆栈的网络装备或虚拟装备,以及用于确定将流量发送到哪个服务器的负载平衡逻辑。
例如,工作负载集群可以包括可以是物理服务器或虚拟机的16个节点。负载平衡器自身也可以是物理装备或虚拟装备。一旦接收到分组,负载平衡器确定在16个工作负载服务器中的每一个上的负载。之后,负载平衡器应用算法以确定用来处理流量的适当的节点。这可以包括例如标识负荷最少的节点并且分配流量到该节点。每个节点可以具有其自己的IP地址,在一个实施例中该IP地址不暴露给端用户客户端设备。然而,客户端设备仅仅知道负载平衡器自身的IP地址。因此,负载平衡器可以修改分组头部,例如,通过将其分配给工作负载服务器中的一个的虚拟IP(VIP)。然后负载平衡器可以将分组返回到交换机,其将分组路由到适当的工作负载服务器。
在该示例中,传入分组从交换机传输到负载平衡器,该负载平衡器可以提供在全功能操作系统(例如Linux)上运行的软件形式的完整的OSI 7层“堆栈”。因此,传入分组被向上提取(abstracted)到OSI模型的较高层中的一层,例如第6层或第7层,使得它能够由负载平衡软件处理。之后,分组被解提取(de-abstracted)到较低层并且返回到交换机,该交换机将其转发到适当的工作负载服务器。一旦接收到分组,工作负载服务器再次将分组向上提取到OSI模型的更高层之一。
本说明书的发明人已经意识到,负载平衡器和其开销表现出减少网络环境的可扩展性并且减缓网络的流量处理的潜在瓶颈。具体地,在OSI堆栈上下传送分组的过程虽然从人类角度来看非常快速,但是从网络角度来看可能是重大的瓶颈。
然而,本申请的发明人已经意识到,例如交换机或路由器的网络设备,除了执行其日常网络交换功能之外,还可以被配置为在本地用作负载平衡器。在这种情况下,无需提供在操作系统上运行的应用中的负载平衡算法,交换机可以通过更快的解决方案(例如可编程硬件而不是通用的软件驱动的处理器)提供负载平衡。这意味着负载平衡逻辑大部分或全部在硬件层面处理。此外,交换机通常在OSI模型的较低层(例如第1层和第2层)操作。因此,这减少了通过OSI堆栈提取和解提取分组的开销。
因此,交换机自身变成负载平衡器,并且并非作为瓶颈,而是能够通过在硬件层操作来提供兆兆位级带宽。
在示例中,流量桶和节点的概念被描述。流量可以被拆分为“桶”。每个桶可以被分配到节点。
流量桶作为用于标识将被重定向的流量子集的分类器。可以根据粒度需要而创建许多流量桶。为了流量的桶化,可以在算法中使用各种L2/L3头部字段。
通过选择不同字段,可以创建许多桶。通过示例的方式,我们可以使用B0、B1、B2、B3、B4…Bn来指代流量桶。
流量节点作为用于流量转发的“下一跳”。节点是具有从交换机可到达的相关联的IP地址的实体。通过示例的方式,我们可以使用N0、N1、N2、N3…Nm来指代节点。
可以建立映射以将流量桶关联到节点。该关联创建用于转发每个桶的流量的分组路径。其可以包括流量桶到节点的一对一映射,或流量桶到节点的多对一映射(即,多个桶可以被分配个单个节点)。
该架构实现了优于某些现有部署的实质优点。例如,一些现有负载平衡器存在诸如低效率和高开销之类的缺点。在一个示例中,低容量负载平衡器提供大约40Gbps,而更高端的负载平衡器提供大约200Gbps。
如以上所讨论的,通过用可编程硬件而不用在由软件编程的通用处理器上运行的软件来对负载平衡引擎进行编程,提升了速度和可扩展性。可编程硬件包括例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)等等。因为逻辑直接实现在硬件中,所以它可以比CPU快若干个数量级地执行“程序”,CPU必须从存储器获取指令之后再在通用硬件上运行那些指令。此外,操作系统、多任务、和多层网络堆栈引入不能直接贡献于执行负载平衡功能的额外复杂度。简言之,软件可编程CPU是极多功能的,并且其功能可以很容易地适用于许多不同的任务,但相对较慢。仅针对单一功能进行编程的专用可编程硬件设备并不是多功能的,但非常快速地执行其单一的专用功能。
在一个示例中,本说明书中基于硬件的负载平衡器必须能够处理将被进行负载平衡的流量和不需要进行负载平衡的流量。对于非负载平衡流量,设备应仍作为交换机或路由器来执行其本机功能,并且仅适当地交换或路由流量。
为了辅助该功能并且保留可编程的基于硬件的负载平衡引擎的速度优势,有利的是,不在标准存储器(例如随机存取存存储器(RAM))中存储数据值,因为这可能会消除硬件的速度优势。相反地,在一个示例中,三态内容可寻址存储器(TCAM)被提供,并且能够在接近可编程硬件本身速度的速度下操作。内容可寻址存储器(CAM)是用于极快速搜索(例如本地兆兆位级负载平衡所必要的那些搜索)的存储器种类。CAM将搜索输入(标签)和存储的数据表进行比较,并且返回匹配数据的地址。这与RAM相反,在RAM中,程序提供地址并且RAM返回存储在该地址处的值。当搜索被执行时,如果CAM找到对于标签的匹配,则CAM返回标签的地址,并且可选地返回该标签的值。如果未找到标签,则返回“未找到”值。TCAM是一种CAM,其中可以不仅针对二进制“1”或“0”,而且可以针对三进制“X”(无关)搜索标签。换言之,搜索标签“110X”匹配“1101”和“1100”两者。
在负载平衡的上下文中,网络管理员可以配置虚拟IP(VIP)标签,在一个示例中包括IP地址、协议和端口号。可以在TCAM中生成针对将被负载平衡的VIP标签的条目。还可以针对可接收匹配该VIP标签的流量的一组节点生成条目。
交换机通过路由协议通告VIP标签,并且接收目的地为VIP的流量。当流量进入交换机或路由器时,根据TCAM中的条目检查VIP标签。如果存在匹配条目,则流量将被负载平衡。之后,使用TCAM条目对流量进行桶化并且负载平衡到每个节点。
该架构实现几个重要的优点。由于服务器从1Gbps变为10Gpbs,传统的软件负载平衡器需要适当扩展。负载平衡器装备和服务模块还消耗机架空间、功率、布线和成本。然而,在本说明书的实施例中:
交换机或路由器的每个端口可以用作负载平衡器。
不需要外部装备并且不需要服务模块。
本说明书的教导可以被用于提供兆兆位级的负载平衡。
资源可以由服务器负载平衡器分配以共享工作负载。网络管理员可以将责任划分到诸如应用、服务器、或网络基础架构之类的各种角色,不同的角色由不同的服务器池服务。在IT组织中,这些角色事实上可以由不同的各个网络管理员管理。因此,内部群组之间的协作是重要的。但是这种协作可能本身是耗时的并且可能至少破坏虚拟化的一些有效收益。因此,有利的是简化工作负载自动化,无需人工介入。为此,本说明书提供了智能流量导向器(ITD)等作为具有主机意识的负载平衡特征,所述主机意识由例如
Figure GDA0003045888080000061
DynamicFabric Automation(
Figure GDA0003045888080000062
动态结构自动化)能力或网络交换方面的其他类似技术提供。这实现了当新的节点被添加到服务池中或从服务池中移除时,ITD的“无接触”配置。
根据本说明书的实施例,ITD可以与DFA集成以提供附加的自动化,包括ITD负载平衡的自动配设。在这种情况下,可以提供交换结构。
在一些实施例中,平衡服务策略可以被定义为网络定义的一部分,并且随后被应用于具有主机ITD负载平衡的结构。依据多个负载平衡因素,简档可以在各种节点上被实例化。通过非限制性示例的方式,这些因素可以包括:
a.每个负载平衡器的服务连接数量。
b.每个负载平衡器的服务或虚拟IP(VIP)数量。
c.每个负载平衡器的节点或服务器数量。
d.每个节点或服务器的连接数量。
e.每个交换机或线卡的可用端口数量。
f.服务节点或交换机的故障。
此外,可扩展性大大提高。许多网络交换机具有通过添加I/O模块来模块化地增大其尺寸的能力。例如,交换机可能具有48个端口的基准尺寸,其中每个端口可以连接到一个物理服务器装备。物理服务器装备可以是提供工作负载服务的独立装备,或可以是被配置为根据需要来提供管理程序和启动虚拟机的实例的服务器。如果交换机上的48个端口被用完,则可能会在交换机上添加附加的I/O模块,例如提供附加的48个端口。因此,可以以最小的配置将交换机扩展到极大的尺寸。交换机本身可以被提供有负载平衡引擎,在这种情况下,负载平衡引擎可以包括专用硬件、固件、或诸如BIOS之类的非常低层的软件以提供负载平衡逻辑。
使用这些数据,网络管理器(如
Figure GDA0003045888080000071
Data Center Network Manager(
Figure GDA0003045888080000072
数据中心网络管理器)(DCNM))可以动态配设ITD服务。这可以包括收集每个被托管服务(例如,电子邮件、HTTP、HTTPS、FTP)的VIP列表,并且在该结构中构建可用的交换机、线卡和端口的聚合列表。然后,网络管理器可以监控诸如上面列出的那些因素之类的因素,并且动态地配设ITD实例以满足网络需求。网络管理器还可以被配置为适当地配设ITD实例,例如以确保分组采用通过结构的最佳路由。
现将参考附图更具体地描述用于提供利用自动化结构架构的负载平衡移动性的系统和方法。以下描述组件和布置的具体示例以简化本公开。这些当然仅仅是示例并且不意在限制。此外,本公开可以在各种示例中重复使用参考标号和/或字母。这种重复用于简化和清晰的目的并且其本身并不指代所讨论的各种实施例和/或配置之间的关系。不同的实施例可以具有不同的优点,并且不存在任何实施例必须的具体优点。
在一些实施例中,诸如10-1和10-2之类的连字符参考标号可以用于指代相同或相似的项10的多个实例,或者指代10属类的不同种。
图1A是根据本说明书的一个或多个示例的安全企业100的网络层图示。在图1的示例中,多个用户120操作多个客户端设备110。具体地,用户120-1操作台式计算机110-1。用户120-2操作膝上型计算机110-2。并且用户120-3操作移动设备110-3。
每个计算设备可以包括适当的操作系统,例如Microsoft Windows、Linux、Android、Mac OSX、Apple iOS、Unix之类。上述操作系统中的一些可能在一种设备上比另一种设备上更常用。例如,在一个实施例中,可以是工程工作站的台式计算机110-1可能更倾向于使用Microsoft Windows、Linux、Unix或Mac OSX中的一种。通常是具有较少定制选项的便携式现成设备的膝上型计算机110-2可能更倾向于运行Microsoft Windows或MacOSX。移动设备110-3可能更倾向于运行Android或iOS。然而,这些示例并不是限制性的。
客户端设备110可以是任何合适的计算设备。在各种实施例中,通过非限制性示例的方式,“计算设备”可以是或者包括计算机、工作站、服务器、主机、嵌入式计算机、嵌入式控制器、嵌入式传感器、个人数字助手、膝上型计算机、蜂窝电话、IP电话、智能电话、平板计算机、可转换平板计算机、计算装备、网络装备、接收器、可穿戴计算机、手持计算器、虚拟机、虚拟装备、或用于处理和传送数据的任何其他电子、微电子、或微机电设备。
客户端设备110可以通过企业网络170可通信地耦接到彼此,并且耦接到其他网络资源。企业网络170可以是在一个或多个合适的网络协议上操作的任何合适的网络或一个或多个网络的组合,非限制性地包括例如局域网、内联网、虚拟网络、广域网、无线网络、蜂窝网络、或互联网(可选地通过代理服务器、虚拟机、或其他类似的安全机制访问)。企业网络170还可以包括一个或多个服务器、防火墙、路由器、交换机、安全装备、防病毒服务器、或其他有用的网络设备。在本说明中,为了简化,企业网络170被示出为单个网络,但是在一些实施例中,企业网络170可以包括大量的网络,例如连接到互联网的一个或多个企业内联网。企业网络170还可以提供通过外部网络172对外部网络(例如互联网)的访问。外部网络172可以类似地是任何合适的网络类型。
网络管理员150可以操作管理控制台140以管理工作负载集群142,并且以其他方式配置和施行企业计算和安全策略。
企业100可能遇到网络上的各种“网络对象”。网络对象可以是在企业网络170上操作或与其交互的任何对象。在一个示例中,对象可以大致划分为包括与网络通信或通过网络操作的任何物理设备的硬件对象,以及软件对象。软件对象可以进一步细分为“可执行对象”和“静态对象”。可执行对象包括可以主动执行代码或自动地操作的任何对象,通过非限制性示例的方式,例如应用、驱动程序、程序、可执行文件、库、进程、运行环境、脚本、宏、二进制文件、解析器、解析语言文件、具有内联码的简档、嵌入式代码、以及固件指令。静态对象可以宽泛地被指定为非可执行对象或不可执行的任何对象,通过非限制性示例的方式,例如,文档、图片、音乐文件、文本文件、无内联码的简档、视频、以及图画。在一些情况下,还可以提供混合软件对象,例如具有内置宏的文字处理文档、或具有内联码的动画。出于安全的目的,这些可以被视为单独分类的软件对象,或可以简单地视作可执行对象。
通过非限制性示例的方式,企业安全策略可以包括认证策略、网络使用策略、网络资源配额、防病毒策略、以及对客户端设备110上可执行对象的限制。各种网络服务器可以提供例如路由、网络、企业数据服务和企业应用之类的实质性服务。
安全企业100可以横跨企业边界104与外部网络172进行通信。企业边界104可以表示物理边界、逻辑边界、或其它边界。外部网络172可以包括例如,网站、服务器、网络协议、和其他基于网络的服务。在一个示例中,通过非限制性示例的方式,可以在外部网络172上提供无线基站130、外部服务器180、以及应用资源库182。无线基站130可以是例如无线地连接到移动设备110-3的LTE基站或其他类似的设备。无线基站130可以依次可通信地耦接到外部网络172。外部服务器180可以是提供企业用户可能需要使用的网页、数据、或其他资源的服务器。
应用资源库182可以表示Windows或Apple“App Store”或更新服务、类似Unix的资源库或端口集合、或向用户120提供在客户端设备110上交互地或自动地下载和安装应用的能力的其他网络服务。在一些情况下,安全企业100可以提供策略指令,该策略指令限制来自应用资源库182的可以被安装的应用类型。因此,应用资源库182可能包括非恶意但仍违反策略的软件。例如,一些企业限制类似媒体播放器和游戏的娱乐软件的安装。因此,即使安全的媒体播放器或游戏也可能不适用于企业计算机。安全管理员150可以负责分配符合这种限制的计算政策,并且将其施行在客户端设备120上。
在另一示例中,安全企业100可以仅是假设由父母充当安全管理员150的角色的家庭。父母可能希望保护他们的孩子远离不期望的内容,通过非限制性示例的方式,例如色情、广告软件、间谍软件、不适当年龄的内容、某些政治、宗教或社会运动的主张、或讨论非法或危险活动的论坛。在这种情况下,父母可以执行网络管理员150的一些或全部的职责。
图1B是根据本说明书的一个或多个示例的公开工作负载集群142的框图。在该示例中,工作负载集群142包括已经安装有多个机架安装服务器146-1至146-N的机架安装底座144。每个机架安装服务器146可以是专用装备,或者可以配置有用来启动虚拟客户端的一个或多个实例的管理程序。
可以提供交换机190以将工作负载集群142可通信地耦接到企业网络170。如下所述,交换机190可以具有用于可通信地耦接到机架安装服务器146的多个物理端口。在示例中,每个服务器146具有到交换机190的单个端口的物理有线连接,例如以太网连接。
在一些情况下,一些或全部机架安装服务器146-1至146-N专用于提供微云160。微云160可以是提供特定服务的单一目的云或专用云。例如,微云160可以被配置为服务于网站,提供例如一个或多个4G LTE服务或任何其它适当服务的通信系统。在一些情况下,微云160被提供为工作负载集群142上的“租户”。工作负载集群142可以提供虚拟环境管理器164,该虚拟环境管理器164可以负责施行在一个或多个微云租户160之间的租户边界,并且用于根据需要而动态地配设虚拟机162。虚拟机162-1至162-N可以表示虚拟服务器装备的多个实例。在一些情况下,VM 162也可以以不同的风格被提供。例如,一些VM 162可以被配设为防火墙,其他VM 162可以被配设为防病毒扫描装备,并且除了被配设为工作负载服务器的VM 162以外,其他VM 162可以提供其他辅助功能。
当交换机190被配设有负载平衡引擎时,负载平衡引擎负责跟踪工作负载服务器的数量和虚拟IP(VIP),使得它能够将流量正确地路由到工作负载服务器。在每个机架安装服务器146是独立装备的情况下,交换机190可以维护每个机架安装服务器146的VIP的表。在工作负载服务器被提供在微云160中的情况下,交换机190可以提供将每个VM的VIP映射到被分配给VM 162所在的物理机架安装服务器146的VIP的表。因此,交换机190可以包括不仅用于将分组路由到正确的机架安装服务器146,还用于将分组引导至机架安装服务器146上的正确VM 162的逻辑。
图2A和2B示出了系统架构的示例,该系统架构用于在网络环境中提供服务装备并且具体地提供作为网络交换机中的虚拟线卡的服务装备。虽然虚拟线卡允许服务装备位于网络中的任何位置,但是提供服务装备的其他方式(例如,将服务装备直接连接到交换机上)也是可能的。应当注意,这些示例仅是说明性的,并不意在作为限制。本公开预想了其他的架构和配置。
图2A是示出用于在网络环境中提供服务装备的系统110的物理视图的简化示意图。图2A包括通过云210将一个或多个服务器机群142-1和142-2连接到一个或多个客户端110的网络(示出为多个链路212)。云210可以包括任何公共、半公共和/或专用网络,包括企业网络、互联网或内联网、社区网络等。服务器机群142-1和142-2中的各个服务器可以分别通过交换机240-1和240-2在相同的机群内通信。在该特定示例实现方式中,服务器机群142-1中的服务器可以通过交换机190与服务器机群142-2中的服务器进行通信。
服务装备224可以通过通信信道226(例如,通过端口信道)连接到交换机190。如本文所使用的,“通信信道”包括用于从一个或多个发送方(例如,交换机190)向一个或多个接收方(例如,服务装备224)传送信息信号(例如,数据分组,控制分组等)的物理传输介质(例如,线路)或逻辑连接(例如,无线电信道,网络连接)。如本文所使用的,通信信道可以包括可以是物理的(例如,线路)或逻辑的(例如,数据链路,无线链路等)的一个或多个通信链路。通信信道的终端点可以包括诸如以太网端口、串行端口等的接口。在系统110的实施例中,通信信道226可以是单个信道:被部署用于控制消息(即,包括控制分组的消息)和数据消息(即,包括数据分组的消息)。
如本文所使用的,“服务装备”是具有集成软件(例如,固件)的离散(并且通常是分开的)硬件设备或虚拟机,其被设计为提供包括负载平衡、防火墙、入侵防御、虚拟专用网络(VPN)、代理等等的一个或多个网络服务。在一些情况下,交换机190可以被配置有智能服务卡管理器模块(ISCM)220,并且服务装备224可以被配置有相应的智能服务卡客户端模块(ISCC)230。ISCM 220和ISCC 230可以构成用于在交换机上配置服务装备224的远程集成服务引擎(RISE)基础架构的一部分,例如,作为交换机190中的虚拟线卡。
图2B是示出系统110的逻辑视图的简化示意图。在一些情况下,ISCC 230和ISCM220可以被配置为允许服务装备224表现为虚拟线卡290或一些其他虚拟网络节点/实体。术语“线卡”和“服务模块”本文中可互换地用于指代与电信线路(例如铜线或光纤)接口并且提供到电信网络的其余部分的路径的模块化电子线路。服务装备通常简称为“装备”或“模块”。因此,虚拟线卡290与ISCM 220(在某些情况下)是可互换的。虚拟服务模块(或虚拟线卡)是提供(与服务模块)相同功能的(服务模块的)逻辑实例。服务模块可以执行包括提供网络服务的各种功能(例如,类似于服务装备)。服务模块和服务装备之间的一个区别在于服务模块物理地位于交换机内,例如在适当的槽上。虚拟服务模块类似地可配置在交换机内。
在示例中,RISE(或类似技术)允许(外部)服务装备连接到交换机,并且无需在交换机内占用物理槽就可以像交换机内的服务模块一样运行。RISE有助于整合如何配设装备,并且使得装备具有作为在交换机内的服务模块的优点。用于这些服务装备的配设和配置的任务主要由交换机上提供的RISE执行,使得网络管理员能够容易地在网络中添加/移除服务装备。
根据本公开的实施例,使用系统110的基础架构,装备用户可以享受与服务模块的简单配置和操作相同的优点。例如,可能不需要为网络配置设置服务装备224。大体上所有这样的配置可以通过交换机190而非服务装备224做出。服务装备224可以将任何网络(例如,L2/L3网络)特定的控制平面和数据平面操作卸载(即,传送)到交换机190。在各种实施例中,利用(很可能嵌入在交换机190中的)专用集成电路(ASIC)的数据路径加速也是可能的。交换机190可以通过通信信道226将控制消息传送到服务装备224。因此,服务装备224内的服务的配置和配设可以通过交换机190实现。
需要注意的是,分配给图2A和2B的元素的数字和字母标记并不意指任何类型的层级;指代是任意的并且仅出于教导的目的。这些标记不应以任何方式被解释为限制其在可能受益于系统10的特征的潜在环境中的能力、功能或应用。为了便于描述,在图2A和2B中仅示出了两个代表性的服务器机群。在不脱离本公开的广泛范围的情况下,可以在网络中连接任何数量的服务器机群和交换机。
出于说明系统110的技术的目的,重要的是,理解给定系统(例如图2A和2B中所示的系统)中的通信。以下基础信息可以被视为能够适当解释本公开内容的基础。这些信息出于解释的目的被真挚地提供,因此不应以任何方式解释为限制本公开的宽泛范围以及其潜在的应用。
通常,通过一个或多个以下选项提供负载平衡、防火墙、入侵防御、代理、虚拟专用网络(VPN)等网络服务:(1)连接到网络交换机和路由器的服务装备;(2)被配置有服务的专门设计的高性能路由器;或(3)诸如配置有提供服务的服务模块的路由器或交换机之类的网络设备。
一些服务装备(例如,负载平衡器)将诸如负载平衡、防火墙、入侵防御、VPN等之类的服务集成为单个盒的形式,这通常基于模块化的可扩展平台,并且提供以上所列的三个选项中的最具成本效益的选项。服务装备可以通过适当的端口从外部连接到交换机(例如,聚合交换机或接入交换机等)。不同的服务装备被设计具有适用于不同网络环境的具体特征。服务装备可以独立地部署到网络基础架构的服务特定区域,或者它们可以被组合用于分层方法。服务装备通常位于客户端和服务器机群之间。数据分组通常在去往(和来自)服务器/客户端的途中经过服务装备。服务装备可以由服务装备上的管理应用(例如软件)管理,该管理应用能够实现配置设置和其他管理功能。
专门设计的高性能路由器也可以提供网络服务。这样的路由器可以实现巨大的并行处理器硬件和软件架构以传递集成的网络服务(例如,防火墙、深度分组检测等)。许多功能都被嵌入在路由器中的专门设计的处理器中。例如,这种专门设计的路由器可以提供集成的安全解决方案(例如,状态分组过滤、入侵检测和防止、对每个用户认证和授权、VPN能力、广泛的QoS机制、多协议路由、语音应用支持、以及集成WAN接口支持)和在单个盒中的路由。
也可以使用专用线卡将网络服务集成到网络设备(例如交换机或路由器)中。线卡可以安装在设备内部,允许设备上的任何端口作为防火墙端口进行操作,同时将服务集成在网络基础架构内。一些线卡可能安装在相同的底座中,在需要的地方提供模块化的解决方案。这样的解决方案允许用户利用现有的交换和路由基础架构,而无需任何昂贵的升级。
转向图2A和2B的可能的基础架构,示例的网络环境可以被配置为一个或多个网络,并且还可以以任何形式被配置,包括但不限于局域网(LAN)、无线局域网(WLAN)、虚拟局域网(VLAN)、城域网(MAN)、广域网(WAN)、VPN、内联网、外联网、或辅助网络中的通信的任何其他适当的架构或系统,或其任何组合。在一些实施例中,通信链路可以表示支持LAN环境的任何电子链路,例如线缆、以太网、无线技术(例如,IEEE 802.11x)、ATM、光纤等等或其任何合适的组合。在其他实施例中,通信链路可以表示通过任何适当的介质(例如,数字订户线路(DSL)、电话线路、T1线路、T3线路、无线、卫星、光纤、线缆、以太网等或其任何组合)和/或通过诸如广域网(例如,因特网)的任何附加网络的远程连接。
图2A和2B的元件可以通过使用任何合适连接(有线或无线)的一个或多个接口彼此耦接,这提供了用于电子通信的可行路径。此外,可以基于特定的配置需求对这些元件中的任何一个或多个进行组合或从架构中将其移除。系统110可以包括支持用于网络中的分组的电子发送或接收的传输控制协议/互联网协议(TCP/IP)通信的配置。在适当的情况下和基于具体需要,系统110还能够结合用户数据报协议/IP(UDP/IP)或任何其他合适的协议进行操作。此外,可以使用网关、路由器、交换机和任何其它合适的网络元件来辅助网络中各个节点之间的电子通信。
包括交换机190、240-1和240-2的系统110中的交换机可以包括连接网络段的任何类型的网络元件。例如,交换机190、240-1和240-2可以包括在数据链路层(第2层)处理和路由数据的多端口网桥。在另一示例中,交换机190、240-1和240-2可以处理在网络层(第3层)或第4层(具有网络地址转换和负载分配)、或第7层(基于应用特定事务的负载分配)、或多层(例如,第2层和第3层)的数据。在某些实施例中,交换机190、240-1和240-2的功能可以被集成到诸如网关、路由器或服务器的其他网络设备中。在各种实施例中,交换机190、240-1和240-2可以是被管理的(例如,使用命令行界面(CLI),web接口等进行管理的)交换机。
通信信道226可以包括端口信道,其可以包括到一个逻辑接口中的多个物理接口的聚合,例如用于提供更高聚合的带宽、负载平衡和链路冗余。具有多个链路的通信信道226可以提供高可用性信道:如果一个链路故障,则先前该链路上承载的流量可以切换到剩下的链路。通信信道226可以包含多达16个物理通信链路,并且可以跨越多个模块以实现增加的高可用性。在一个实施例中,通信信道226可以表示具有在多个端口上的四个点对点通信链路聚合的端口信道。在另一实施例中,通信信道226可以表示虚拟端口信道(vPC)。
尽管图2A和2B示出了服务器机群142-1和142-2,但应当理解,系统110不限于服务器。事实上,任何网络元件都可以通过适当的交换机连接到网络,其中,这些实现方式可以基于特定需要。如本文所使用的,术语“网络元件”意在包括计算机、虚拟机、网络设备、服务器、路由器、交换机、网关、桥接器、负载平衡器、防火墙、处理器、模块、或可操作以在网络环境中交换信息的任何其他合适的装备、组件、专有元件、或对象。此外,网络元件可以包括任何合适的硬件、软件、组件、模块、接口、或辅助其操作的对象。这可以包括允许数据或信息的有效交换的适当的算法和通信协议。例如,服务器机群142-1和142-2可以用在小办公室中连接台式计算机的LAN所替代。在另一示例中,服务器机群142-1和142-2可以由无线通信装备的网络所替代。在另一示例中,服务器机群142-1和142-2可以由一个或多个超级计算机所替代。各种其它配置和设备在本公开的广泛框架内被考虑。
根据本公开的实施例,系统110可以提供类似于结构扩展器(“FEX”)的协议、自动发现、类似于消息传输服务(“MTS”)的控制消息、以及在服务装备24和交换机22之间定义的消息。可以在交换机190上(如针对线卡一样)执行服务装备224的配置。数据路径转发可以被卸载到交换机190中的网络线卡上。控制路径处理可以适当地被卸载到交换机190上的管控引擎。在服务装备224具有多个虚拟服务(例如,虚拟机)的实施例中,每个虚拟服务可以是交换机190上单独的虚拟线卡。
图3是示出根据本公开的实施例的系统110的示例细节的简化框图。交换机190上的管控引擎360可以通过线卡与服务装备224进行通信,该线卡包括点对点连接到服务装备224上的节点的结构端口362。管控引擎360可以包括一些模块,例如安装器364、以太网端口管理器(ethPM)366、端口-信道管理器(PCM)368、服务质量(QoS)元件370、路由策略管理器(RPM)372、统一/单播路由信息库(URIB)374、访问控制列表管理器(ACLmgr)376和用于执行各种路由和/或管理功能的服务策略管理器(SPM)378。ISCM 220可以在管控引擎360中被配设以提供与RISE相关的功能。ISCM 220可以管理一个或多个服务模块,包括机架内服务模块和远程服务模块。
在各种实施例中,服务装备224可以支持具有各种地址(例如,127个地址)的流控制传输协议(SCTP)。在管控引擎360中缺少本地SCTP支持的情况下,可以强制UDP上的隧道发送SCTP分组。可以在管控引擎360中配设网络栈(Netstack)模块380,以用于实现针对击中管控引擎60的控制平面的接收到的帧的TCP/IP堆栈。管控引擎360可以被配置具有带内端口352,该频带内端口可以是向诸如处理器386之类的管理处理器提供用于管理流量(例如自动发现)的接口。
本文公开的每个逻辑块广义地意在包括被配置并且可操作以提供该逻辑块的所公开的逻辑操作的一个或多个逻辑元件。如本说明书所使用的,“逻辑元件”可以包括硬件、外部硬件(数字、模拟或混合信号)、软件、往复式软件、服务、驱动器、接口、组件、模块、算法、传感器、组件、固件、微代码、可编程逻辑、或可以协调以实现逻辑操作的对象。
在各种示例中,“处理器”可以包括逻辑元件的任何组合,以非限制性示例的方式包括微处理器、数字信号处理器、现场可编程门阵列、图形处理单元、可编程逻辑阵列、专用集成电路、或虚拟机处理器。在某些架构中,可以提供多核处理器,在这种情况下,处理器386可以适当地被视作多核处理器的仅一个核,或者可以被视为整个多核处理器。在一些实施例中,一个或多个协处理器还可以被提供用于专用功能或支持功能。在一些示例中,处理器是可编程硬件设备,其在本说明书中明确排除了通用CPU。
在一个示例中,负载平衡引擎320可操作以执行如本说明书中所述的计算机实现的方法。负载平衡引擎320可以包括一个或多个处理器,以及一个或多个非暂态计算机可读介质,该介质具有存储在其上的可执行指令,该指令可操作以指示处理器提供负载平衡。如本说明书所使用的,“引擎”包括具有类似或不类似种类的一个或多个逻辑元件的任何组合,其可操作用于并且被配置以执行由负载平衡引擎320提供的一种或多种方法。因此,负载平衡引擎320可以包括被配置为提供本说明书中公开的方法的一个或多个逻辑元件。在一些情况下,负载平衡引擎320可以包括被设计为执行方法或其一部分的专用集成电路,并且还可以包括可操作以指示处理器执行该方法的软件指令。在一些情况下,负载平衡引擎320可以作为“守护进程(daemon)”的过程而运行。“守护进程”可以包括无论是在硬件、软件、固件或其任何组合中实现的任何程序或系列可执行指令,该“守护进程”作为后台过程、终止和驻留程序、服务、系统扩展、控制面板、启动过程、BIOS子例程或无需直接的用户交互即可工作的任何类似的程序而运行。在某些实施例中,守护进程可以在“驱动器空间”、或在保护环架构的环0、1或2中以提升的权限运行。还应当注意,负载平衡引擎320还可以包括其他硬件和软件,以非限制性示例的方式包括简档、注册条目、和交互式或用户模式软件。
在一个示例中,负载平衡引擎320包括存储在非暂态介质上的可操作为执行根据本说明书的方法的可执行指令。在适当的时间,例如一旦启动设备或一旦有来自操作系统或用户的命令,则处理器可以从存储设备获取软件的副本,并且将其加载到存储器中。然后,处理器可以迭代地执行负载平衡引擎320的指令以提供所需的方法。
在另一示例中,负载平衡引擎320包括在ASIC、FPGA或专门编程以执行负载平衡引擎320的功能的其他低层硬件设备上被执行的逻辑。在一种情况下,可以从固件或类似的存储器加载未被硬编码到逻辑中的负载平衡引擎320的任何部分。在这种情况下,负载平衡引擎320可以在不具有操作系统的优势的情况下进行操作,以提高速度和效率。
负载平衡引擎320还可以可通信地耦接到TCAM 329。TCAM 329可以被配置为提供如本文所公开的高速搜索。
根据各种实施例,ISCM 220可以提供各种功能,例如处理(即,容纳、管理、处理等)RISE消息(例如,以MTS格式)、高可用性活动、定时器事件、分组交换流(PSS)、美国信息交换标准代码(ASCII)生成、记录、事件处理、健康监控、调试等。ISCM 220可以是基于有限状态机实用程序(FSMU)的应用(例如,其指示可以处于有限数量的状态中的一个状态的抽象机器)。在各种实施例中,ISCM 220可以具有所分配的明确定义的MTS无缝认证协议(MTSSAP),并且它可以打开基于套接字的MTS队列,并且将其绑定到明确定义的SAP,使得其他过程能够与其通信。
在各种实施例中,ISCM 220还可以维护MTS操作代码(“操作码”)的阵列,其可以定义如何处理接收到的MTS消息。该阵列可以包括每个操作码专用的MTS标志、处理程序功能等。ISCM 220可以被配置为接收CLI驱动的MTS消息、MTS通知(例如,指示例如特定VLAN是开启还是关闭的事件驱动消息)、以及MTS请求/响应。在各种实施例中,可以配置ISCM 220,使得基于MTS的与其他过程的通信可以是无阻塞的和异步的。因此,ISCM 220可以针对相同资源来处理(可以随时到达的)多个事件,使得资源的状态是一致的(并且不被折中)。即使在非MTS消息中也可以提供类似的操作码,用于指示交换机或服务可以如何处理消息。
在端口(例如,装备端口和交换机端口)已经被配置为RISE模式之后,ISCM 220和ISCC 230可以执行自动发现和引导程序,以建立适当的控制信道。在建立了控制信道之后,服务装备224中的应用可以通过应用控制平面384(例如,使用UDP套接字接口)向ISCC 230发送控制消息。应用控制平面384通常包括用于执行工作流管理、自我管理、和其他应用控制层进程的一个或多个软件组件。ISCC 230可以通过通信信道226将控制消息转发到交换机190的ISCM 220。在示例实施例中,ISCM 220和ISCC 230可以通过UDP分组进行通信;然而,本公开的教导可以适应各种其他协议和格式。管控器360可以被配设有(或者可以访问)用于执行其各种功能的处理器386和存储器388。ISCM 220可以使用处理器386和存储器388执行交换机190中与RISE相关的功能。类似地,服务装备224可以被配设有(或者可以访问)处理器390和存储器392。ISCC 230可以使用处理器390和存储器392执行服务装备224中与RISE相关的功能。
图4是根据本说明书的一个或多个示例的路由表400的框图。在该示例中,提供四个节点,指定为节点N0、N1、N2和N3。每个节点表示具有唯一VIP的服务器装备,无论是专用硬件服务器装备还是虚拟服务器装备。
负载平衡引擎320指定被标记为B0、B1、B2、B3、B4、B5、B6和B7的8个流量桶。基于负载和需求,负载平衡引擎320将每个流量桶映射到适当的节点。在该示例中,桶B0和B4被映射到节点N0。桶B1和B5被映射到节点N1。桶B2和B6被映射到节点N2。桶B3和B7被映射到节点N3。这些映射仅以非限制性示例的方式被提供,并且仅仅被提供以说明将桶映射到节点的原理。
当交换机190接收到传入流量时,负载平衡引擎320操作以执行适当的算法用于将传入流量分配到流量桶。这可以包括例如随机或伪随机分配、轮循调度、或任何合适的调度算法。在一个示例中,算法可以基于传入分组的源IP地址,如结合图7和图8所详细描述的。
在将流量分配到流量桶之后,交换机194利用针对服务于该流量桶的节点的适当的VIP来修改分组,并转发该分组。
当响应到来时,交换机194修改分组以反映交换机194的公共可见IP地址,使得负载平衡对于外部主机是完全不可见的。
图5是根据本说明书的一个或多个示例的由负载平衡引擎320执行的示例性方法500的流程图。
在块510中,交换机190接收传入流量并且将传入流量提供给负载平衡引擎320。
在块520中,交换机190将传入流量的目的地IP与指定用于负载平衡的VIP进行比较。如果存在匹配,则将传入流量提供给负载平衡引擎320以进行负载平衡。如果不存在匹配,则交换机190根据其正常功能仅路由或交换流量。
在块530中,负载平衡引擎320评估针对可用的工作负载服务器的工作负载平衡。如上所述,这可以通过轮循分配、随机或伪随机分配、或任何其他合适的负载平衡算法来执行。
在块540中,负载平衡引擎320基于块530的评估,来标识用于服务于传入流量的最佳可用节点。
在块550中,根据块540的标识,负载平衡引擎320将传入流量分配给与最佳可用节点相关联的桶。分配给节点可以包括修改头部以反映针对所分配的节点的VIP。
在块570中,在负载平衡引擎320已将流量分配到适当的桶并且由此分配给适当的节点之后,交换机190将传入流量转发到被指定用于服务于该桶的节点,具体地通过将流量转发到适当的VIP。
在块580中,负载平衡引擎320可以适当地或必要地记录事务。
在块590处,该方法完成。
图6示出了根据本说明书的一个或多个示例的借助TCAM(例如TCAM 329)在交换机上执行负载平衡的方法。该示例使用了流的概念。在示例中,由元组T唯一地标识流,元组T包括src-ip(源IP地址)、dst-ip(目的地IP地址)、协议、L4-src-port(第4层源端口)和L4-dst-port(第4层目的地端口)。
在示例中,客户端设备110-1发送被导向由交换机190服务的VIP的分组。作为说明,该流被称为F1,并且元组T1标识流F1。元组T1包括(Dev-110-l-IP、VIP、TCP、L4-src-port、L4-dest-port)。
类似地,客户端设备110-2发起到相同VIP的流量。由于客户端110-2的IP地址与客户端110-1的不同,所以该流将具有不同的元组。作为说明,这被称为由元组T2标识的流F2。元组T2包括(Dev-110-2-IP、VIP、TCP、L4-src-port、L4-dest-port)。
在各种示例中,多组流量桶可以是“池”的一部分,并且一个或多个池可以被分配给单个VIP,允许VIP流量在服务器节点之间被负载平衡。
现参考图6中的方法600,假设交换机190现在已经接收到流F1和F2。
在块610中,TCAM 329查找两个流中都出现的VIP的IP地址。在该示例中,两个流都被导向该VIP,该VIP是用于工作负载集群142中的服务器所提供的服务的虚拟IP地址。因此,交换机190可以快速确定流F1和F2将被负载平衡。
在块620中,负载平衡引擎320将每个节点分配给本文所述的流量桶。在某些示例中,这可以通过本文公开的任何负载平衡算法或任何其他适当的负载平衡算法来实现。在一个示例中,将每个流分配到桶包括分别基于Dev-9-IP和Dev-110-2-IP、根据图9的方法900进行分配。在这种情况下,TCAM 329可以包括将经掩码的IP地址片段映射到流量桶的表。
在块640中,负载平衡引擎320将每个流分配给用于服务的节点,例如工作负载集群142中的工作负载服务器。这可以是基于每个流被分配到的流量桶的确定性分配。为了提高速度,这还可以使用TCAM 329来实现。例如,TCAM 329可以包括将流量桶映射到服务节点的表。
在块660中,负载平衡引擎320为传入分组重写L2头部。例如,假设流量F1被分配给工作负载集群142中的服务节点1,并且流F2被分配给工作负载集群142中的服务节点2,则负载平衡引擎320为这些流中的分组重写L2头部以将它们引导到其各自的服务节点。
在块680中,交换机190结束其负载平衡任务,并且现在充当交换机,将分组交换或路由到其新的L2头部所提供的节点。
针对每个传入分组重复块610至块680,为每个传入分组选择适当的桶和服务节点。假设具有配置良好的负载平衡引擎320,分组将良好地分布在工作负载集群142中的可用服务节点上,使得工作负载能够最优地分布在可用服务节点之间。
逆向流量(从服务节点到客户端设备的响应)被直接传送到相应的客户端而无需负载平衡引擎320的干预。
在块690中,完成该方法。
图7是图6中描述的方法600的框图700。
图8示出了根据本说明书的一个或多个示例的叶-脊网络800。与三层“树”架构相比,叶-脊只有两层:叶层和脊层。为了说明原理,在该图中示出了一个脊交换机892和三个叶交换机890。在部署的网络中,脊交换机892和叶交换机890的数量将由网络的配置和需求确定。
叶-脊网络800中的所有设备都相距相同数量的区段,而且具有一致的延迟。叶-脊网络800的叶层可以包括叶交换机890,这些叶交换机890连接到诸如服务器之类的终端设备或者诸如边缘路由器、防火墙、安全设备或任何其它合适的设备的中间设备。包括一个或多个脊交换机892的脊层,将每个叶交换机890与每个其它叶交换机890互连,并且还将叶交换机890连接到其他的脊交换机892。虽然通常可以适用于路由拓扑,叶-脊在数据中心中是尤其有用的,其中关注点在单个网络中的节点之间传播的数据(而不是例如在网络外部传播的数据)上。叶-脊的具体实施例包括“多个链路的透明互连”(TRILL)或“最短路径桥接”(SPB)。Trill和SPB两者都可以确定哪里被连接到结构,使得能够为其各自的以太网MAC地址提供无环路的最短路径。
在叶-脊架构的示例中,可以使用三层路由来互连层。这可以实现上述可预测的延迟。还可以使用动态路由来确定节点之间的最佳路径。在某些实施例中,可以基于网络中的变化来调整路由。在一个实施例中,可以通过“等成本多路径”(ECMP)来配置路由。有利地,利用ECMP,多个连接可以保持活跃,并且网络环路可以被避免。
叶-脊的某些实施例还可以使得更容易地以最小的网络中断来添加、升级、替换或以其他方式重新配置硬件。在示例中,可以容易地将附加的脊交换机添加到网络,然后可以将必要的上行链路添加到每个叶交换机。这无缝地提供了附加的层间带宽。类似地,当需要附加的端口容量时,可以添加附加的叶交换机390。它们可通信地耦接到网络中的每个脊。例如,叶-脊网络可以提供诸如
Figure GDA0003045888080000233
Standalone Fabric(
Figure GDA0003045888080000236
独立结构)之类的结构。
在图8的示例中,还提供了网络管理器870和编排器(orchestrator)880。网络管理器870可以是任何合适的设备,例如
Figure GDA0003045888080000234
Prime Data Center Network Manager(
Figure GDA0003045888080000235
主数据中心网络管理器)(DCNM)或类似设备。编排器880可以是合适的网络编排器,通过非限制性示例的方式,例如
Figure GDA0003045888080000232
Unified Computing System Director(
Figure GDA0003045888080000231
统一计算系统导向器)(UCSD)、VMWare vCD、或OpenStack。
叶交换机890分别连接到一个或多个工作负载842。工作负载842可以是单独的工作负载服务器、工作负载集群、机架安装虚拟机租户、或任何其他合适的架构。具体地,工作负载1 842-1通过叶交换机1 890-1可通信地耦接到网络。工作负载2 842-2通过叶交换机2890-2可通信地耦接到网络。工作负载3 842-3通过叶交换机3 890-3可通信地耦接到网络。
脊交换机892和叶交换机890可以分别是图1-3中公开的交换机190的示例。在一个实施例中,叶交换机890被配置有如本文描述的ITD性能。然而,不需要在所有情况下都启用ITD。而是,为了保留资源,可能有利的是仅在需要处理负载的那些叶交换机890上启用ITD。因此,网络管理器870可以负责监督叶-脊网络800,确定需要多少ITD实例并且在哪里需要它们。
在示例中,每个工作负载842可以与由特定VIP服务的特定服务相关联。例如,一个工作负载可以是HTTP,一个可以是sFTP,并且另一个可以是电子邮件服务器,各自具有其自己的VIP。如以上所讨论的,ITD的单个实例可能能够有效处理与多个VIP相关联的多个工作负载。然而,随着特定工作负载842中的节点数量的增加,ITD的效率可能恶化,在这种情况下ITD自身可能成为瓶颈。在该情况中,有利的是在另一个叶交换机890上配设ITD以接管附加的负载。
网络管理器870很好地适用于管理在什么时候和什么位置配设ITD实例的任务,因为它具有对于整个网络的全面视角。在一些实施例中,平衡服务政策可以被定义为网络定义的一部分并且随后被应用到具有主机ITD负载平衡的结构中。根据一些负载平衡因素,简档可以在各种节点上被实例化。通过非限制性示例的方式,这些可以包括:
a.每个负载平衡器的服务连接数量。
b.每个负载平衡器的服务或虚拟IP(VIP)数量。
c.每个负载平衡器的节点或服务器数量。
d.每个节点或服务器的连接数量。
e.每个交换机或线卡的可用端口数量。
f.服务节点或交换机的故障。
此外,可扩展性被大大加强。许多网络交换机具有通过添加I/O模块来模块化增加其尺寸的能力。例如,交换机可能具有48个端口的基准尺寸,其中每个端口可以连接到一个物理服务器装备。物理服务器装备可以是提供工作负载服务的独立装备,或可以是被配置为根据需要来提供管理程序和启动虚拟机的实例的服务器。如果交换机上的48个端口被用完,则可能会在交换机上添加附加的I/O模块,例如提供附加的48个端口。因此,可以以最小的配置将交换机扩展到极大的尺寸。交换机本身可以被提供有ITD负载平衡引擎。
使用这些数据,网络管理器870可以动态配设ITD服务。这可以包括收集每个被托管服务(例如,电子邮件、HTTP、HTTPS、FTP)的VIP列表,并且在该结构中构建可用的交换机、线卡和端口的聚合列表。然后,网络管理器可以监控诸如上面列出的那些因素之类的因素,并且动态地配设ITD实例以满足网络需求。网络管理器还可以被设计为适当地配置ITD实例,例如以确保分组采用通过结构的最佳路由。
图9是根据本说明书的一个或多个示例的由交换机190执行的方法900的流程图。交换机190可以是例如图8的叶交换机890,并且可以由网络管理器870控制。
交换机190可以被配置有ITD能力,但是ITD功能是可由网络管理器870配置的。因而,如果ITD在交换机190上被禁用,则交换机190仅执行其正常交换功能。一旦接收到来自网络管理器870的信号或指令,交换机190可以启用其ITD功能,包括从网络管理器870接收负载平衡网络简档,例如负载平衡到的一个或多个VIP、负载平衡选项、将使用的流量“桶”和任何其他合适的选项。
在块920处,交换机190(例如图8的叶交换机890)从网络管理器870接收网络简档,以及用于在该交换机190上配设新的ITD实例的指令。
在块930处,交换机190根据从网络管理器870接收的网络简档创建新的ITD实例,并且开始执行负载平衡。可选择地,交换机190可以向网络管理器870提供状态报告,例如成功或失败报告,适当地包括任何错误代码。
在块999处,完成方法。
图10是根据本说明书的一个或多个示例的由网络管理器870执行的方法1000的流程图。在该实施例中,网络管理器870可以负责监控网络状况并且配设、解除配设、或重新配设ITD实例以满足网络需求并且优化网络效率。
在块1010处,网络管理器870接收服务将被托管的位置的VIP的列表以及针对每个VIP的其他相关的信息,例如服务节点数量。这些数据可以被存储在网络管理器870内部,或它们可以从外部被提供。在一个实施例中,编排器880为诸如网络管理员150之类的用户提供用户接口,例如图形用户接口(GUI)或命令行界面(CLI)等以提供配置数据和选项,包括配置子网络或工作负载842。之后,编排器880可以向网络管理器870供这些数据。在另一实施例中,网络管理器870提供这样的接口,并且网络管理员150直接进入。在另一实施例中,网络管理器870从网络的电子调查、现有的路由表或其他因素推测数据。
在块1020中,网络管理器870编排可用资源的列表,可用资源例如结构上的交换机、线卡和端口。
在块1030中,网络管理器870从诸如网络管理员150之类的用户接收网络简档,包括必要的配置选项。这可以包括,例如作为或不作为负载平衡拓扑中的一部分的某些子网络或VIP的指定。这可以包括将整个网络还是仅仅将地址的子集与负载平衡进行关联。在该操作中,用户还可以为一个或多个ITD设备组提供ITD设备组名称。
如果ITD初始没有被配置,则还是在这个操作中,网络管理器870可以执行初始ITD配设和配置。在初始配置之后,网络管理器870将ITD简档和其他配置数据推送到ITD服务节点(例如,叶交换机390)。
在块1040中,网络管理器870监控网络状况和负载平衡因素,包括例如在以上段落[0129]中列出的因素。网络管理器870可以特别观察网络状况的变化,例如配设新的VIP(其可能指示需要负载平衡的新服务),或者将新的服务节点包括在工作负载842中,这可以指示现有的负载平衡配置需要重新配置以考虑这个新的节点。
在块1050中,网络管理器870还可以分析和确定特定VIP是否适合ITD。在一些情况下,特定的工作负载842可能更适合于非ITD负载平衡,例如传统的负载平衡器装备或VM实例。网络管理器870还可以尝试优化ITD配设,例如,通过选择适当的叶交换机890来配设ITD(例如,边界叶交换机可能更合适)。分析该因素的一个方法是查看进入ITD实例的大多数流量是否来自叶接口,其可能是一种更高效的配设。如果大多数流量来自脊交换机892,则这可能是次优的路由配置,因为流量不是直接从客户端通过结构到ITD的。从结构到各个服务器,如果使用ITD移动性将ITD实例化在正确的叶交换机上,则分组仅仅必须遍历一次结构。
在一些情况下,网络管理器870可以连续地或周期性地监控流量模式以确定是否可以进一步优化ITD部署模式。
在块1060中,如块1050中执行的分析所需,网络管理器870可以在特定交换机190(例如叶交换机890)上实例化和配置附加的ITD实例。注意这还可以包括解除配设一些次优的ITD实例。
在块1099处,完成方法。
应当注意,在本说明书中,对于“一个实施例”、“示例的实施例”、“实施例”、“另一实施例”、“一些实施例”、“各种实施例”、“其他实施例”、“替代的实施例”等中所包括的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的引用,意在指任何这样的特征被包括在本公开的一个或多个实施例中,但是可以组合或可以不组合在相同的实施例中。此外,词语“优化”及相关术语是指代在指定结果的速度和/或效率方面的改善的技术术语,并不意在表明实现指定结果的过程已经实现或能够实现“最优的”或非常快速/非常高效的状态。
在示例的实现方式中,本文中概述的活动的至少一些部分可以用软件来实现,该软件例如(例如,通过各种模块、算法、过程等)被配设在服务装备224和/或交换机190中。在一些实施例中,这些特征中的一个或多个可以用硬件来实现,该硬件被设置在这些元件外部或以任何适当的方式合并以实现预期功能。服务装备224和/或交换机190可以包括可以协调从而实现如本文所概述的操作的软件(或往复式软件)。在其他实施例中,这些元件可以包括辅助其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
此外,本文描述和示出的交换机190和服务装备224(和/或其相关联的结构)还可以包括用于在网络环境中接收、发送和/或以其他方式传送数据或信息的合适接口。此外,与各种网络元件相关联的一些处理器和存储器可以被移除或以其他方式合并,使得单个处理器和单个存储器位置负责某些活动。在一般意义上,附图中描绘的布置按它们的表示可能更合乎逻辑,而物理架构可以包括这些元件的各种排列、组合和/或混合。应当注意的是,无数可能的设计配置可用于实现本文概述的操作目标。因此,相关的基础架构具有无数的替代布置、设计选择、设备可能性、硬件配置、软件实现方式、设备选项等。
在一些示例性实施例中,一个或多个存储器(例如,存储器392、存储设备388)可以存储用于本文描述的操作的数据。这包括能够存储被执行以实现本说明书中描述的活动的指令(例如,作为逻辑、软件、代码等的一部分)的存储器。处理器可以执行与数据相关联的任何类型的指令以实现本说明书中详细描述的操作。在一个示例中,处理器386和处理器390可以将元件或条款(例如,数据)从一个状态或事物转换到另一状态或事物。在另一示例中,本文概述的活动可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且本文标识的元件可以是某类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、ASIC(包括数字逻辑、软件、代码、电子指令、闪存、光盘、CD-ROM、DVD ROM、磁或光卡、适用于存储电子指令的其它类型的机器可读介质)、或其任何合适的组合。
在操作中,系统110中的组件可以包括用于存储将用来实现如本文概述的操作的信息的一个或多个存储器元件(例如,存储器388、存储器392)。这些设备还可以将信息保持在任何合适类型的非暂态存储介质(例如随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程ROM(EEPROM)等)、软件、硬件、或合适的和基于特定需求的任何适当的组件、设备、元件或对象中。可以基于特定需求和实现方式在任何数据库、注册表、缓存、队列、控制列表或存储结构中提供在系统110中正在被追踪、发送、接收或存储的信息,所有这些信息可以在任何合适的时间表中引用。本文讨论的任何存储项都应被解释为涵盖在广义术语“存储器”内。类似地,本说明书中描述的任何可能的处理元件、模块和机器应被理解为涵盖在广义术语“处理器”内。
还应当注意,参考前面的图所述的操作和步骤仅仅示出可以由系统执行或在系统内部执行的一些可能的情形。在不脱离讨论的概念的范围的情况下,在适当的情况下这些操作中的一些可以被删除或移除,或者这些步骤可以被修改或变化。此外,这些操作的时间可能会很大地改变,并且亦然实现本公开所教导的结果。上述可操作流程是出于示例和讨论的目的被提供。系统提供了很大的灵活性,由于在不脱离所讨论概念的教导的情况下,可以提供任何合适的布置、时序、配置和定时机制。
尽管已经参考特定的布置和配置详细描述了本公开,但是在不脱离本公开的范围的情况下,这些示例的配置和布置可以被显著地改变。例如,尽管已经参考涉及某些网络接入、格式和协议的特定通信交换来描述本公开,但是系统110可以适用于其他交换、格式或路由协议。此外,尽管已经参考辅助通信过程的特定元件和操作示出了系统110,但是这些元件和操作可以由实现系统110的预期功能的任何合适的架构或过程替代。
实现本文描述的全部或部分功能的计算机程序逻辑以各种形式被实施,包括但不限于源代码形式、计算机可执行形式、和各种中间形式(例如,由汇编器、编译器、链路器或定位器生成的形式)。在示例中,源代码包括以各种编程语言实现的一系列计算机程序指令,诸如用于以各种操作系统或操作环境的使用的对象代码、汇编语言、或诸如OpenCL、Fortran、C、C++、JAVA或HTML之类的高级语言。源代码可以定义和使用各种数据结构和通信消息。源代码可以是(例如,通过解析器)计算机可执行形式,或者源代码可以(例如,通过转换器、汇编器或编译器)被转换为计算机可执行形式。
在一个示例的实施例中,可以在相关联的电子设备的板上实现附图的任何数量的电子线路。板可以是能够容纳电子设备的内部电子系统的各种组件的通用电路板,并且还可以为其它外部设备提供连接器。更具体地,板可以提供电连接,系统的其它组件可以通过该电连接进行电通信。基于特定配置需求、处理要求、计算机设计等等,任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等)、存储器元件等可以合适地耦接到板上。诸如外部存储设备、附加传感器、用于音频/视频显示的控制器和外部设备之类的其他组件可以作为插件卡通过线缆被附接到板上,或者被集成到路自身中。另一示例的实施例中,附图的电子线路可以被实现为独立模块(例如,具有被配置为执行具体应用或功能的相关组件和电路的设备)或被实现为到电子设备的应用专用硬件中的插件模块。
应当注意,通过本文提供的大量示例,可以根据两个、三个、四个、或更多电气组件来描述交互。然而,这仅仅是出于清晰和示例的目的而实现。应当理解,系统可以以任何合适的方式来加固。按照类似的设计替代,附图所示的任何的组件、模块和元件可以被组合为各种可能的配置,所有这些构造都明确地在本说明书的宽泛的范围内。在某些情况下,可能更容易的是,仅通过参考有限数量的电气元件来描述一组给定的流的一个或多个功能。应当理解,附图的电子线路和其教导是易于扩展的,并且可以容纳大量的组件和更复杂/繁杂的布置和配置。因此,所提供的示例不应该限制电子线路的范围或抑制其广泛教导,该电子线路潜在地被应用于无数的其他架构。
通过非限制性示例,公开了网络装置,包括:一个或多个逻辑元件,包括至少一个硬件逻辑元件,以提供网络管理器引擎以:提供交换结构管理功能;可通信地耦接到至少一个网络交换机,该网络交换机被配置以提供可选的本地基于硬件的负载平衡;监控一个或多个负载平衡因素;以及至少部分地响应于该一个或多个负载平衡因素,在至少一个网络交换机上配置本地基于硬件的负载平衡。
还公开了示例,其中,交换结构是叶-脊结构。
还公开了示例,其中,至少一个网络交换机是叶交换机。
还公开了示例,其中,叶交换机是边界交换机。
还公开了示例,其中,一个或多个负载平衡因素包括可用端口的数量。
还公开了示例,其中,一个或多个负载平衡因素包括每个负载平衡网络交换机所配设的服务的数量。
还公开了示例,其中,一个或多个负载平衡因素包括每个负载平衡网络交换机所配设的服务节点的数量。
还公开了示例,其中,一个或多个负载平衡因素包括检测到负载平衡网络交换机出现故障。
还公开了示例,其中,一个或多个负载平衡因素包括确定网络交换机是否从脊交换机接收大部分流量。
还公开了一个或多个有形非暂态计算机可读存储介质,所述介质具有存储在其上的可执行指令,用于提供如上述示例中的任一项中的网络管理器。
还公开了提供如上述示例中的任一项中的网络管理器的方法的示例。
还公开了包括用于执行方法的装置的设备的示例。
还公开了示例,其中,设备包括处理器和存储器。
还公开了示例,其中,存储器包括TCAM。
本领域技术人员可以确定许多其它变化、置换、变更、改变和修改,并且其指的是,本公开涵盖了落入所附权利要求书范围内的所有这些变化、置换、变更、改变和修改。为了辅助美国专利商标局(USPTO)并且辅助对本申请所发表的任何专利的任何读者理解所附权利要求书,申请人希望强调的是,申请人:(a)由于该申请在提交之日存在,不意在所附权利要求涉及35U.S.C第112条的第六(6)段,除非在特定权利要求中具体使用“用于…的装置”或“用于…的步骤”等词语;以及(b)并不意在通过本说明书中的任何陈述,以未以其他方式反映在所附权利要求中的任何方式来限制本公开。

Claims (15)

1.一种网络装置,包括:
一个或多个逻辑元件,包括至少一个硬件逻辑元件,用来:
为交换结构提供管理功能,其中所述交换结构是叶-脊结构;
可通信地耦接到至少一个网络交换机,所述网络交换机包括本地硬件,所述本地硬件被配置为提供可选的基于本地硬件的负载平衡,其中所述至少一个网络交换机是叶交换机;
监控一个或多个负载平衡因素;以及
至少部分地响应于所述一个或多个负载平衡因素,在所述至少一个网络交换机上配置基于本地硬件的负载平衡,其中配置所述基于本地硬件的负载平衡包括响应于确定到达所述叶-脊结构的大部分流量正到达所述叶交换机的叶接口,而在所述叶交换机的所述本地硬件上实例化负载平衡实例。
2.根据权利要求1所述的网络装置,其中,所述叶交换机是边界交换机。
3.根据权利要求1或2所述的网络装置,其中,所述一个或多个负载平衡因素包括可用端口的数量。
4.根据权利要求1或2所述的网络装置,其中,所述一个或多个负载平衡因素包括每个负载平衡网络交换机所配设的服务的数量。
5.根据权利要求1或2所述的网络装置,其中,所述一个或多个负载平衡因素包括在所述网络交换机上配设的服务节点的数量。
6.根据权利要求1或2所述的网络装置,其中,所述一个或多个负载平衡因素包括检测到所述网络交换机出现故障。
7.根据权利要求1或2所述的网络装置,其中,所述一个或多个负载平衡因素包括确定所述网络交换机是否从脊交换机接收大部分流量。
8.一种计算机可读存储介质,具有存储在其上的可执行指令,所述指令用来:
为交换结构提供管理功能,其中所述交换结构是叶-脊结构;
可通信地耦接到至少一个网络交换机,所述网络交换机包括本地硬件,所述本地硬件被配置为提供可选的基于本地硬件的负载平衡,其中所述至少一个网络交换机是叶交换机;
监控一个或多个负载平衡因素;以及
至少部分地响应于所述一个或多个负载平衡因素,在所述至少一个网络交换机上配置基于本地硬件的负载平衡,其中配置所述基于本地硬件的负载平衡包括响应于确定到达所述叶-脊结构的大部分流量正到达所述叶交换机的叶接口,而在所述叶交换机的所述本地硬件上实例化负载平衡实例。
9.根据权利要求8所述的计算机可读存储介质,其中,所述叶交换机是边界交换机。
10.根据权利要求8或9所述的计算机可读存储介质,其中,所述一个或多个负载平衡因素包括可用端口的数量。
11.根据权利要求8或9所述的计算机可读存储介质,其中,所述一个或多个负载平衡因素包括在所述网络交换机上配设的服务的数量。
12.根据权利要求8或9所述的计算机可读存储介质,其中,所述一个或多个负载平衡因素包括在所述网络交换机上配设的服务节点的数量。
13.根据权利要求8或9所述的计算机可读存储介质,其中,所述一个或多个负载平衡因素包括检测到所述网络交换机出现故障。
14.根据权利要求8或9所述的计算机可读存储介质,其中,所述一个或多个负载平衡因素包括确定网络交换机是否从脊交换机接收大部分流量。
15.一种提供网络管理器的计算机实现的方法,包括:
为交换结构提供管理功能,其中所述交换结构是叶-脊结构;
可通信地耦接到至少一个网络交换机,所述网络交换机包括本地硬件,所述本地硬件被配置为提供可选的基于本地硬件的负载平衡,其中所述至少一个网络交换机是叶交换机;
监控一个或多个负载平衡因素;以及
至少部分地响应于所述一个或多个负载平衡因素,在所述至少一个网络交换机上配置基于本地硬件的负载平衡,其中配置所述基于本地硬件的负载平衡包括响应于确定到达所述叶-脊结构的大部分流量正到达所述叶交换机的叶接口,而在所述叶交换机的所述本地硬件上实例化负载平衡实例。
CN201680007538.2A 2015-04-23 2016-04-12 用于负载平衡移动性的装置、介质和方法 Active CN107409097B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562152027P 2015-04-23 2015-04-23
US62/152,027 2015-04-23
US15/095,039 2016-04-09
US15/095,039 US10523745B2 (en) 2015-04-23 2016-04-09 Load balancing mobility with automated fabric architecture
PCT/US2016/027126 WO2016171958A1 (en) 2015-04-23 2016-04-12 Load balancing mobility with automated fabeic architecture

Publications (2)

Publication Number Publication Date
CN107409097A CN107409097A (zh) 2017-11-28
CN107409097B true CN107409097B (zh) 2021-08-24

Family

ID=55806840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680007538.2A Active CN107409097B (zh) 2015-04-23 2016-04-12 用于负载平衡移动性的装置、介质和方法

Country Status (4)

Country Link
US (1) US10523745B2 (zh)
EP (1) EP3286880A1 (zh)
CN (1) CN107409097B (zh)
WO (1) WO2016171958A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523745B2 (en) * 2015-04-23 2019-12-31 Cisco Technology, Inc. Load balancing mobility with automated fabric architecture
US10075377B1 (en) 2015-04-23 2018-09-11 Cisco Technology, Inc. Statistical collection in a network switch natively configured as a load balancer
US9813302B2 (en) * 2015-08-28 2017-11-07 Tigera, Inc. Data center networks
US10848432B2 (en) * 2016-12-18 2020-11-24 Cisco Technology, Inc. Switch fabric based load balancing
US10965598B1 (en) 2017-10-04 2021-03-30 Cisco Technology, Inc. Load balancing in a service chain
US10965596B2 (en) 2017-10-04 2021-03-30 Cisco Technology, Inc. Hybrid services insertion
US11082312B2 (en) 2017-10-04 2021-08-03 Cisco Technology, Inc. Service chaining segmentation analytics
CN109472154A (zh) * 2018-09-30 2019-03-15 武汉达梦数据库有限公司 零配置的多层级机构、用户维护方法
CN111147674B (zh) * 2018-11-02 2023-09-01 北京京东尚科信息技术有限公司 一种呼叫中心实现负载均衡的方法和装置
US11146490B2 (en) * 2019-05-07 2021-10-12 Cisco Technology, Inc. Distributed load balancer health management using data center network manager
CN110659118B (zh) * 2019-09-11 2022-03-08 上海天数智芯半导体有限公司 一种用于多领域芯片设计的可配置混合异构计算核心系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595906A (zh) * 2003-12-17 2005-03-16 浪潮电子信息产业股份有限公司 集群网络的单一地址流量分发器
CN101292234A (zh) * 2005-10-20 2008-10-22 微软公司 负载平衡
WO2016171958A1 (en) * 2015-04-23 2016-10-27 Cisco Technology, Inc. Load balancing mobility with automated fabeic architecture

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005913B1 (en) 2005-01-20 2011-08-23 Network Protection Sciences, LLC Controlling, filtering, and monitoring of mobile device access to the internet, data, voice, and applications
US8301752B2 (en) * 2006-05-02 2012-10-30 International Business Machines Corporation Load balancing for network server
US8310950B2 (en) * 2009-12-28 2012-11-13 Oracle America, Inc. Self-configuring networking devices for providing services in a nework
US9154445B2 (en) * 2010-05-03 2015-10-06 Pluribus Networks Inc. Servers, switches, and systems with virtual interface to external network connecting hardware and integrated networking driver
US9160668B2 (en) * 2010-05-03 2015-10-13 Pluribus Networks Inc. Servers, switches, and systems with switching module implementing a distributed network operating system
US8467294B2 (en) * 2011-02-11 2013-06-18 Cisco Technology, Inc. Dynamic load balancing for port groups
US9379906B2 (en) * 2011-03-04 2016-06-28 Cisco Technology, Inc. Network appliance with integrated local area network and storage area network extension services
US8966058B2 (en) * 2011-03-04 2015-02-24 Cisco Technology, Inc. Network appliance with integrated local area network and storage area network extension services
US8989189B2 (en) * 2012-06-07 2015-03-24 Cisco Technology, Inc. Scaling IPv4 in data center networks employing ECMP to reach hosts in a directly connected subnet
US9172557B2 (en) * 2012-08-17 2015-10-27 International Business Machines Corporation Load balancing overlay network traffic using a teamed set of network interface cards
US9008095B2 (en) * 2012-10-02 2015-04-14 Cisco Technology, Inc. System and method for hardware-based learning of internet protocol addresses in a network environment
US9197549B2 (en) * 2013-01-23 2015-11-24 Cisco Technology, Inc. Server load balancer traffic steering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595906A (zh) * 2003-12-17 2005-03-16 浪潮电子信息产业股份有限公司 集群网络的单一地址流量分发器
CN101292234A (zh) * 2005-10-20 2008-10-22 微软公司 负载平衡
CN101292234B (zh) * 2005-10-20 2011-05-25 微软公司 用于负载平衡的方法和系统
WO2016171958A1 (en) * 2015-04-23 2016-10-27 Cisco Technology, Inc. Load balancing mobility with automated fabeic architecture

Also Published As

Publication number Publication date
US20160316005A1 (en) 2016-10-27
CN107409097A (zh) 2017-11-28
WO2016171958A1 (en) 2016-10-27
EP3286880A1 (en) 2018-02-28
US10523745B2 (en) 2019-12-31

Similar Documents

Publication Publication Date Title
CN107409096B (zh) 自适应负载平衡
CN107409097B (zh) 用于负载平衡移动性的装置、介质和方法
US10171362B1 (en) System and method for minimizing disruption from failed service nodes
US10812378B2 (en) System and method for improved service chaining
US10749805B2 (en) Statistical collection in a network switch natively configured as a load balancer
US10348838B2 (en) Scaling service discovery in a micro-service environment
US10284473B1 (en) Multifunctional network switch
US10298489B2 (en) Adding multi-tenant awareness to a network packet processing device on a software defined network (SDN)
US10491522B2 (en) Data plane integration
US10091112B1 (en) Highly-scalable virtual IP addresses in a load balancing switch
EP3456002B1 (en) Plug and play in a controller based network
US11343190B2 (en) TCAM-based load balancing on a switch
US10511514B1 (en) Node-specific probes in a native load balancer
US20220345422A1 (en) Adjustable bit mask for high-speed native load balancing on a switch
US10171361B1 (en) Service-specific probes in a native load balancer
US9935834B1 (en) Automated configuration of virtual port channels
US10033631B1 (en) Route distribution for service appliances
US10110668B1 (en) System and method for monitoring service nodes
CN115914104A (zh) Evpn主机路由桥接hrb和evpn云原生数据中心
US11196671B2 (en) Layer 2 channel selection
US9985894B1 (en) Exclude filter for load balancing switch
US10230642B1 (en) Intelligent data paths for a native load balancer

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant