CN103460653A - 计算机***和通信方法 - Google Patents
计算机***和通信方法 Download PDFInfo
- Publication number
- CN103460653A CN103460653A CN2012800164922A CN201280016492A CN103460653A CN 103460653 A CN103460653 A CN 103460653A CN 2012800164922 A CN2012800164922 A CN 2012800164922A CN 201280016492 A CN201280016492 A CN 201280016492A CN 103460653 A CN103460653 A CN 103460653A
- Authority
- CN
- China
- Prior art keywords
- server
- mac address
- bag
- destination
- switch
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/59—Network arrangements, protocols or services for addressing or naming using proxies for addressing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
在根据本发明的计算机***中,控制器使用ARP响应包以有代表性地响应于来自终端的ARP请求包,该ARP响应包的传输源是与在来自终端的ARP请求包中包括的目标VIP地址对应的物理服务器的MAC地址,由此向终端通知物理服务器的MAC地址,该物理服务器是终端的访问目的地。控制器也向交换机设置流条目,该流条目被从终端传送并且指定向通向前述物理服务器的通信路径传送其目的地MAC地址为前述MAC地址的接收的包。以这一方式,使得有可能在高速网络环境中任意设置作为终端的访问目的地的服务器而防止成本增加。
Description
技术领域
本发明涉及一种计算机***和计算机***中的通信方法,并且更具体地涉及一种计算机***中的服务器负荷平衡方法。
背景技术
在数据中心等中建立的大规模***中,服务器负荷平衡设备用于保证可缩放性。在服务器负荷平衡设备中执行如下处理,该处理将目的地服务器确定作为用于虚拟网际协议(下文称为VIP)地址的实际分发目的地并且改变包首部以使得向目的地传输包。例如,负荷平衡设备执行如下MAT(介质访问控制转译)处理,该MAT处理仅重写目的地的MAC地址而未改变目的地的VIP地址,或者执行如下NAT(网络地址转译)处理,该NAT处理将包的IP地址重写成实际目的地的IP地址。
例如,公开号为JP2008-60747A的日本专利描述一种用于实现层2负荷平衡的通过MAT处理的负荷平衡处理方法(见专利文献1)。在专利文献1中,负荷平衡设备执行对ARP包的代理ARP响应、学***衡设备的MAC地址转换成服务器的MAC地址。因而,从网络访问的访问目的地服务器可以用集成方式由负荷平衡设备改变,并且从服务器到网络的访问目的地可以用集成方式由负荷平衡设备改变。
同时,随着网络的加速,已经在主机的网络接口中使用了10Gbps,并且具有大量10-Gbps端口的交换机常被用作网络交换机。
然而,在高速处理环境中,由于用于首部取回的CAM(内容可寻址存储器)的加速有困难,所以MAT处理和NAT处理的加速也有困难。为了MAT处理的加速,例如,可以考虑用于处理包首部的专用ASIC。在这一情况下,可能增加设备成本。
一般而言,L2交换机仅基于具有固定长度的目的地MAC地址执行转发并且不执行首部转换。由于L2交换机对于建立网络不可或缺并且产品成本由于规模经济而被减少,所以希望在高速网络环境中使用简单功能,比如L2交换机。
例如,公开号为JP2009-253578A的日本专利描述一种通过使用L2交换机来为服务器执行负荷平衡的负荷平衡设备(见专利文献2)。在专利文献2中描述的负荷平衡设备向客户端转发来自服务器的ARP响应,该服务器是基于在相应服务器与客户端之间的连接情形从多个服务器选择的,并且多个服务器中的每个服务器执行对来自客户端的ARP请求的ARP响应。
在专利文献2中,由于客户端可以直接指定实际服务器的MAC地址并且传输包,所以无需MAC地址转译处理,该MAC地址转译处理是网络加速的抑制因素。然而,在专利文献2的方法中,为了在客户端与服务器之间的ARP中继,应当在网络中安装包处理设备。因此,包处理设备有望是高速处理环境中的处理瓶颈。
同时,开流联盟提出如下技术(开流),在该技术中,每个交换机的转发操作等在计算机网络中以集成方式由外部控制器控制(见非专利文献1)。在Nick McKeown和7位其他作者的“OpenFlow:Enabling Innovation in Campus Networks”中描述关于开流的***的示例(见非专利文献2)。
在开流中,通信被视为端到端流,并且对流单位执行路由。作为转发节点来工作的开流交换机根据基于开流协议由开流控制器添加/更新的流表操作。在流表中,将包匹配规则(下文称为规则)和动作的组合注册作为流条目,指定包的规则,以及指定用于接收包的操作动作,比如“向具体端口输出”、“丢弃”和“重写首部”。在接收包的首部信息与在开流交换机中注册的流条目的规则匹配时,开流交换机根据在流条目中描述的动作执行接收包的处理。或者,在不存在与接收包的首部信息匹配的规则(流条目)时,开流交换机向开流控制器通知包(下文称为第一包)。
在接收第一包时,开流控制器基于信息(比如在包中包括的传输源主机和传输目的地主机)确定路线并且指示路线上的所有开流交换机设置如下流条目,该流条目指定包的转发目的地(发出流表更新指令)。路线上的开流交换机响应于流表更新指令更新由它们自己管理的它们的流表。此后,开流交换机开始基于更新的流表转发包,并且包经过由开流控制器确定的路线到达目的地主机。
在使用开流协议的网络中,分离控制器(控制***)和交换机(包转发***)。因此,容易实现对现有交换机操作的特征扩展。然而,由于现有开流交换机执行包括首部参考和首部转换的交换机处理,所以与以上描述相似地需要专用高速设备以实现网络的加速。这可能导致成本增加。
引用列表
专利文献
[PTL1]JP2008-60747A
[PTL2]JP2009-253578A
非专利文献
[NPL1]“OpenFlow Switch Specification Version1.0.0(WireProtocol0x01)”,2009年12月31日
[NPL2]Nick McKeown和7位其他作者,“OpenFlow:EnablingInnovation in Campus Networks”,[在线],[搜索于2010年10月22日],因特网,<URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf>.
发明内容
根据上文,本发明的目的是在高速网络环境中任意设置如下服务器而防止成本增加,该服务器是终端设备的访问目的地。
本发明的另一目的是防止在高速网络环境中实现负荷平衡的计算机***的成本增加。
本发明的又一目的地是在高速网络环境中实现具有高缩放性的服务器负荷平衡处理而未使用昂贵网络设备。
本发明的再一目的是在高速网络环境中实现其中需要地址转换的层4的负荷均衡。
根据本发明的一个方面的一种计算机***包括:控制器;以及交换机,被配置用于对符合由控制器设置的流条目的接收包执行由流条目规定的中继操作。控制器参考其中VIP(虚拟网际协议)地址和物理服务器被相关和记录的表选择与在来自终端设备的ARP请求包中包括的目标VIP地址对应的物理服务器作为如下物理服务器,该物理服务器是终端设备的访问目的地。此外,控制器还通过使用ARP响应包执行对ARP请求包的代理响应以向终端设备通知作为终端设备的访问目的地的物理服务器的MAC(介质访问控制)地址,在ARP响应包中物理服务器的MAC地址被设置为作为传输源MAC地址。另外,控制器向交换机设置流条目,该流条目规定使接收包向去往物理服务器的通信路线被转发,该接收包从终端设备被传输并且在该接收包中MAC地址被设置为作为目的地MAC地址。
根据本发明的另一方面的一种计算机***包括:控制器;交换机,被配置用于对符合由控制器设置的流条目的接收包执行由流条目规定的中继操作;以及切换设备。交换机基于由控制器设置的第一流条目向去往第一服务器的通信路线转发包,在该包中第一服务器的第一MAC地址被设置为作为目的地MAC地址。控制器通过替换第一流条目向交换机设置第二流条目,第二流条目规定使其中第一服务器的第一MAC地址被设置作为目的地MAC地址的包向切换设备转发。交换机基于第二流条目向切换设备转发其中第一MAC地址被设置为作为目的地MAC地址的包。切换设备将来自交换机的接收包的目的地MAC地址从第一MAC地址改变成与第一服务器不同的第二服务器的第二MAC地址并且向去往第二服务器的通信路线转发所述接收包。
优选地通过由计算机执行通信控制程序来实现以上提到的控制器。
优选地通过由计算机执行通信控制程序来实现以上提到的切换设备。
根据本发明的另一方面的一种由计算机***执行的通信方法,该计算机***包括:交换机,被配置用于对符合由控制器设置的流条目的接收包执行由流条目规定的中继操作。根据本发明的该通信方法包括:控制器参考其中VIP(虚拟网际协议)地址和物理服务器被相关和记录的表选择与在来自终端设备的ARP请求包中包括的目标VIP地址对应的物理服务器作为如下物理服务器,该物理服务器是终端设备的访问目的地;控制器通过使用ARP响应包执行对ARP请求包的代理响应以向终端设备通知作为终端设备的访问目的地的物理服务器的MAC(介质访问控制)地址,在该ARP响应包中物理服务器的MAC地址被设置为作为传输源MAC地址;以及控制器向交换机设置流条目,该流条目规定使接收包向去往物理服务器的通信路线被转发,该接收包从终端设备被传输并且在该接收包中MAC地址被设置为作为目的地MAC地址。
根据本发明的另一方面的一种由计算机***执行的通信方法,该计算机***包括:交换机,被配置用于对符合由控制器设置的流条目的接收包执行由流条目规定的中继操作。根据本发明的该通信方法包括:交换机基于由控制器设置的第一流条目向去往第一服务器的通信路线转发包,在该包中第一服务器的第一MAC地址被设置为作为目的地MAC地址;控制器通过替换第一流条目向交换机设置第二流条目,该第二流条目规定使其中第一服务器的第一MAC地址被设置为作为目的地MAC地址的包向切换设备转发;交换机基于第二流条目向切换设备转发其中第一MAC地址被设置为作为目的地MAC地址的包;以及切换设备将来自交换机的接收包的目的地MAC地址从第一MAC地址改变成与第一服务器不同的第二服务器的第二MAC地址并且向去往第二服务器的通信路线转发该接收包。
根据本发明,可以任意设置如下服务器而在高速网络环境中防止成本增加,该服务器是终端设备的访问目的地。
此外,可以在高速网络环境中实现服务器负荷平衡处理而防止成本增加。
另外,可以在高速网络环境中实现具有高缩放性的服务器负荷平衡处理而未使用昂贵网络设备。
另外,可以在高速网络环境中实现其中需要地址转换的层4的负荷均衡。
附图说明
本发明的以上和其它目的、优点以及特征将从结合附图进行的对某些优选示例性实施例的以下描述中更清楚,在附图中:
图1是示出根据本发明的第一示例性实施例的计算机***的配置的图;
图2是示出根据本发明的主机终端信息表的配置的示例的图;
图3是示出根据本发明的负荷信息表的配置的示例的图;
图4是示出根据本发明的指派信息表的配置的示例的图;
图5是示出根据本发明的开流交换机的配置的示例的图;
图6是示出根据本发明的切换设备的配置的示例的图;
图7是示出切换信息表的配置的示例的图;
图8A是示出在执行ARP代理响应的情况下的负荷平衡操作的示例的序列图;
图8B是示出在执行ARP代理响应的情况下的负荷平衡操作的示例的序列图;
图9是示出根据本发明的控制器中的ARP响应处理的操作的示例的流程图;
图10A是示出计算机***在未在控制器中执行ARP代理响应的情况下的操作的序列图;
图10B是示出计算机***在未在控制器中执行ARP代理响应的情况下的操作的序列图;
图11是示出根据本发明的计算机***中的目的地服务器切换操作的示例的序列图;
图12是示出根据本发明的的控制器20中的服务器删除处理(目的地服务器切换处理)的示例的流程图;
图13是示出根据本发明的在计算机设备中保持会话之时切换目的地服务器的操作的示例的序列图;
图14是示出根据本发明的控制器中的切换处理的操作的示例的流程图;
图15是示出根据本发明的切换设备中的包控制处理的操作的示例的流程图;以及
图16是示出根据本发明的基于切换设备40中的流条目的到期的切换操作的流程图。
具体实施方式
以下将参照附图描述本发明的示例性实施例。在附图中,相同或者相似标号指明相同、相似或者等效配置单元。此外,在存在多个相似配置时,为了说明而在每个配置中向标号添加序号,并且在无需在多个配置之间区分时,并未为了说明而在每个配置中向标号添加序号。
(概述)
根据本发明的一种计算机***执行通过使用开流技术来建立通信路线并且转发包数据的控制。在根据本发明的计算机***中,开流控制器(下文称为控制器)基于多个物理服务器中的每个物理服务器的负荷情形将物理服务器确定为作为终端设备的访问目的地。这时,控制器从开流交换机(下文称为交换机)收集从终端设备接收的ARP请求并且执行对ARP请求的代理响应以向终端设备通知作为终端设备的访问目的地的物理服务器的MAC地址。此外,控制器还在开流交换机中设置如下流条目,该流条目用于向物理服务器中继来自终端设备的包,并且开流交换机在其中终端设备和物理服务器为端点的路线上。以这一方式,由于根据本发明的***在使用层2交换机之时将物理服务器确定为作为访问目的地,所以可以在高速网络中用低成本实现负荷平衡。
(计算机***的配置)
将参照图1至图7描述根据本发明的计算机***的配置的示例。图1是示出根据本发明的计算机***的配置的示例的图。
参照图1,根据本发明的计算机***包括:多个交换机10-1至10-4、控制器20、负荷信息收集设备30、切换设备40、多个终端设备50-1至50-2和多个服务器60-1至60-3。这里,以连接到相同以太网LAN的计算机设备为例说明终端设备50-1至50-2和服务器60-1至60-3。
控制器20通过安全网络的控制接口70被分别连接到多个交换机10-1至10-4。控制器20通过基于开流协议在多个交换机10-1至10-4中的每个交换机中设置流条目来控制通过多个交换机10-1至10-4中的一些交换机在多个终端设备50-1至50-2与多个服务器60-1至60-3之间的通信。
具体而言,控制器20通过使用开流技术来为***中的包转发控制通信路线建立和包转发处理。这里,开流技术(具体见非专利文献1)是如下技术,该技术为控制器20在通信路线上的交换机10中以多层和流为单位设置路线信息并且基于路由策略(流条目:流+动作)执行路由和节点控制。因而,通过从路由器和交换机分离路由功能,控制器可以执行集中控制以实现最优路由和流量管理。开流技术被应用于的交换机10将通信视为端到端的流而未如同常规路由器和交换机以包和帧为单位看待通信。
参照图1,将具体描述根据本发明的控制器20的配置。控制器20优选地由包括CPU和存储器设备的计算机实现。在控制器20中,图1中所示的负荷平衡控制部21、ARP响应处理部22和交换机控制部23的相应功能可以由执行存储器设备(未在图中示出)中存储的程序的CPU实现。此外,控制器20包括存储器设备(未在图中示出)中记录的主机终端信息表24、负荷信息表25和指派信息表26。
图2是示出主机终端信息表24的配置的示例的图。参照图2,在主机终端信息表24中,记录指定终端设备50和服务器60的主机终端ID241而其与被设置成终端设备50和服务器60的IP地址242和MAC地址243相关。也就是说,在主机终端信息表24中,记录被设置成每个终端设备50或者服务器60的IP地址和MAC地址。
负荷平衡控制部21通过负荷信息收集设备30从服务器60-1至60-3中的每个服务器收集负荷信息、在负荷信息表25中记录信息并且管理信息。图3是示出负荷信息表25的配置的示例的图。在负荷信息表25中,记录指定服务器60的服务器信息251(例如,服务器60的主机终端ID)而其与被设置成服务器的虚拟IP地址252(下文称为VIP252)和负荷信息253相关。负荷信息253指示由VIP252指定的应用的负荷和向VIP252指派的服务器的负荷(服务器负荷)。此外,服务器信息251与主机终端信息表24中的主机终端ID241相关。因而,负荷平衡控制部21可以通过参考负荷信息表25来管理在服务器60的VIP地址和实际地址(IP地址242和MAC地址243)与服务器60的负荷信息253之间的关系。
负荷信息收集设备30在规律间隔或者在任意时间从每个服务器收集负荷信息253,并且与服务器信息251和VIP252一起向负荷平衡控制部21传输负荷信息253。例如,负荷信息收集设备30通过使用使用通过API(比如SNMP(简单网络管理协议)和CLI(命令行用户界面))收集应用负荷的方法、通过使用从在服务器中包括的负荷收集代理收集信息的方法等来收集负荷信息253。负荷平衡控制部21在规律间隔或者在任意时间从负荷信息收集设备30获取负荷信息253并且更新负荷信息表25。这时,负荷平衡控制部21从负荷信息收集设备30主动或者被动地获取负荷信息253。
此外,负荷平衡控制部21在指派信息表26中记录信息并且管理信息,该信息将终端设备50与作为终端设备50的访问目的地而被指派的服务器60相关。图4是示出指派信息表26的配置的示例的图。在指派表26中,目的地信息261、终端设备信息262、指派服务器信息263被相关和记录。目的地信息261是如下信息,该信息指定终端设备50的访问目的地的应用和VIP服务器,并且它例如是被设置成虚拟机的VIP地址。或者,目的地信息261可以是如下IP地址,该IP地址指定终端设备50的访问目的地的服务器。终端设备信息262是指定终端设备50的信息,并且它例如是标识终端设备50的主机终端ID。指派服务器信息263是指定作为终端设备50的访问目的地而被当前指派的服务器60(物理服务器60)的信息,并且它例如是标识服务器60的主机终端ID。通过将指派服务器信息263与主机终端信息表24的主机终端ID241相关,可以指定作为终端设备50的访问目的地而被指派的服务器60的MAC地址。旧指派服务器信息264是指定在“切换访问目的地”之前作为终端设备50的访问目的地而被指派的服务器60(物理服务器60)的信息。在改变终端设备50的访问目的地服务器时,负荷平衡控制部21记录指派服务器信息263的内容作为旧指派服务器信息264并且使用作为终端设备50的目的地而被新指派的服务器的MAC地址来更新指派服务器信息263。
ARP响应处理部22通过控制接口70执行对从交换机10传输的ARP请求包的代理ARP响应。具体而言,ARP响应处理部22向请求源的终端50传输ARP响应包,该ARP响应包具有主机终端(例如,服务器60)的MAC地址作为传输源,主机终端对应于在ARP请求包中包括的目标地址。这时,在目标地址是服务器60的IP地址时,参考主机终端信息表60,ARP响应处理部22指定与目标地址一致的IP地址242被设置到的服务器60作为ARP请求目的地并且设置服务器60的MAC地址243作为ARP响应包的传输源MAC地址。在另一方面,在目标地址是VIP地址时,参考负荷信息表25,ARP响应处理部22从和与目标地址一致的VIP252相关的服务器信息251指定ARP请求目的地的服务器60并且设置与在主机终端信息表24中的与服务器信息251相关的主机终端ID24对应的MAC地址243作为ARP响应包的传输源MAC地址。
由于以上配置,根据本发明的控制器20管理被设置成每个服务器60的MAC地址和VIP地址并且使用如下ARP响应包来执行代理响应,在该ARP响应包中将与ARP请求的目标地址对应的服务60的MAC地址而不是服务器60被设置为作为传输源。
切换控制部23根据开流协议关于交换机10设置和删除流条目(规则+动作)。因而,交换机10根据接收包的首部信息执行与规则对应的动作(例如,中继和丢弃包数据)。
在向流条目设置的规则中例如规定TCP/IP(传输控制协议/网际协议)的包数据的首部信息中包括的从0SI(开放***互连)参考模型的层1至层4的地址和标识符的组合。例如,设置层1的物理端口、层2的MAC地址和VLAN标签(VLAN id)、层3的IP地址以及层4的端口号的组合作为规则。这里,可以向VLAN标签添加优先级川页序(VLAN优先级)。
这里,可以在预定范围内设置地址和标识符,比如由交换机控制部23设置作为规则的端口号。此外,优选地,还单独设置目的地的地址和传输源的地址作为规则。例如,设置MAC目的地地址的范围、指定访问目的地的应用的目的地端口号的范围和指定访问源的应用的传输源端口号的范围作为规则。此外,可以设置指定数据转发协议的标识符作为规则。
在向流条目设置的动作中例如规定处理TCP/IP的包数据的方法。例如,设置指示是否中继接收包数据的信息和在中继的情况下的传输目的地作为动作。此外,作为动作,可以设置指示复制和丢弃包数据的信息。
交换机控制部23根据第一包的通知和来自交换机10的ARP请求包的通知向交换机10设置流条目。由于基于在非专利参考文献1中描述的开流协议执行交换机控制部23对通信路线的设置以及对流条目的设置和管理,所以这里省略具体描述。稍后将描述未在协议中规定的操作。
交换机10基于由控制器20设置(更新)的流条目确定接收包的处理方法(动作)。以向另一交换机10转发和丢弃为例说明用于接收包的动作。
图5是示出根据本发明的交换机10的配置的示例的图。参照图5,交换机10包括交换机处理部11、流表12和交换机控制部13。交换机处理部11容纳线路14-1至14-N并且关于经过容纳的线路转发的包实现切换功能。交换机控制部13通过控制接口70被连接到控制器20并且响应于来自控制器20的指令控制向流表12设置流条目。交换机处理部11基于流条目为接收包确定处理。具体而言,当在流表12中设置符合接收包的首部信息的规则时,交换机处理部11执行在包括规则的流条目中规定的动作。在另一方面,当未在流表12中设置符合接收包的首部信息相符的规则时,交换机处理部11向交换机控制部13通知包数据作为第一包。交换机控制部13通过控制接口70向控制器20传输第一包。
此外,在接收包是ARP请求时,交换机处理部11向交换机控制部13通知接收包。交换机控制部13通过控制接口70向控制器20传输通知的接收包(ARP请求包)。
切换设备40经过控制接口70连接到多个交换机10-1至10-4中的每个交换机作为安全网络。切换设备40可以由可以用层4的粒度(比如TCP和UDP)处理流量的交换机或者服务器实现。图6是示出根据本发明的切换设备40的配置的示例的图。切换设备40优选地由包括CPU和存储器设备的计算机实现。在切换设备40中,图6中所示的交换机处理部41、交换机控制部43和切换控制部44的相应功能由执行这里未示出的存储器设备中存储的计算机程序的CPU实现。在切换设备40的存储器设备(未示出)中,记录流表42和切换信息表45。
交换机处理部41被连接到由多个交换机10-1至10-4组成的交换机网络并且为通过控制接口80转发的包实现交换机功能。交换机控制部43基于切换信息表45控制向流表42设置流条目。切换信息表45由切换控制部44记录和管理。图7是示出切换信息表45的配置的示例的图。参照图7,切换控制部44对从控制器20传输的目的地信息451、终端设备信息452、新目的地服务器信息453和旧目的地服务器信息454进行相关和记录。目的地信息451是指定终端设备50的访问目的地的应用和虚拟服务器的信息并且例如是被设置成VIP机器的VIP地址。终端设备信息452是指定终端设备50的信息并且例如是终端设备50的MAC地址。新目的地服务器信息453是指定作为终端设备50的访问目的地而被指派的服务器60(物理服务器)的并且例如是服务器60的MAC地址。旧目的地服务器信息452是指定在“切换访问目的地”之前作为终端设备50的访问目的地而被指派的服务器60(物理服务器)的信息并且例如是服务器60的MAC地址。
交换机处理部41分析接收包并且向交换机控制部43通知分析结果。交换机控制部43基于分析结果改变在流表42中设置的流条目的动作。例如,交换机处理部41判断接收包是否为包括SYN标志的TCP包以及符合接收包的流条目是否存在并且向交换机控制部43通知判断结果。在接收包是包括SYN标志的TCP包时以及在接收包不是TCP包时,参考切换信息表45,交换机控制部43将由符合接收包的流条目的动作规定的目的地改变成由新目的地服务器信息453指示的MAC地址。或者,在接收包不是包括SYN标志的TCP包并且符合包的流条目被设置时,交换机控制部43执行在流条目中规定的动作。
由于以上配置,在根据本发明的计算机***中,通过控制器20以集成方式基于服务器的负荷控制改变终端设备的访问目的地并且使用切换设备40,可以在保持会话之时将终端设备50的访问目的地的服务器60向另一服务器切换。
(操作)
参照图8A至图16,将具体描述根据本发明的计算机***的操作。以下将描述五个操作,这五个操作是(1)在执行ARP代理响应的情况下的负荷平衡操作;(2)在未执行ARP代理响应的情况下的操作;(3)目的地服务器切换操作;(4)在保持会话之时的目的地服务器切换操作;以及(5)根据流条目的删除的切换完成操作。
(1)在执行ARP代理响应的情况下的负荷平衡操作
参照图8A、图8B和图9,根据本发明的在执行计算机***的ARP代理响应的情况下的负荷平衡操作。这里,将进行如下描述,在该描述中,终端设备50-1开始与服务器60-1和60-2被指派到的VIP地址的通信。图8A和图8B是示出在执行ARP代理响应的情况下的负荷平衡操作的示例的序列图。图9是示出根据本发明的控制器20中的ARP响应处理的操作的示例的流程图。
在这一操作之前,控制器20向交换机10-1的流表12中描述如下流条目,该流条目是在接收ARP包时交换机10-1向控制器传输该流条目。例如,向交换机10-1设置如下流条目,该流条目包括:如下匹配条件是规则,该匹配条件为接口(端口号)被连接到终端设备50-1并且以太网类型字段0x0806作为指示ARP请求的信息,并且向控制器转发是动作。
首先,终端设备50-1广播ARP请求包以便关于访问目的地的VIP地址获取如下MAC地址,该MAC地址是层2的地址(步骤S101)。这里传输的ARP请求包指示目的地是广播地址,传输源是终端设备50-1的MAC地址,并且净荷包括VIP地址作为待求解的目标。
在与终端设备50-1相邻的交换机10-1从终端设备50-1接收包时,交换机10-1通过参考流表12取回符合(匹配)包的流条目来判断该流条目是否被设置(步骤S102)。这里,由于接收包是通过连接到终端设备50-1的接口的ARP请求包,所以交换机10-1执行在符合包的流条目中规定的动作“向控制器20通知接收的ARP请求包”(步骤S102:否、S103:是以及S104)。控制器20关于从交换机10-1通知的ARP请求包执行ARP响应处理(步骤S105)。
参照图9,将具体描述步骤S105中的ARP响应处理。控制器20的ARP响应处理部22参考通知的ARP请求包的目标地址判断请求是否为对于VIP地址的ARP请求(步骤S11)。这里,由于ARP请求包是用于VIP地址的包,所以ARP响应处理部22从负荷平衡控制部21获取关于VIP地址的实际服务器信息(MAC地址)(步骤S11:是、S12)。
具体而言,参考负荷信息表25,负荷平衡控制部21指定接收包的目的地VIP地址被指派到的服务器(服务器信息251)、从主机终端信息表24关于指定的服务器信息251提取MAC地址243并且向ARP响应处理部22给予提取的MAC地址243。这时,在存在目的地VIP地址被指派到的多个服务器时,负荷平衡控制部21关于多个服务器中的每个服务器基于负荷信息253确定将作为访问目的地而被指派的服务器(服务器信息251)。例如,负荷平衡控制部21指派其负荷在目的地VIP地址被指派到的多个服务器中最小的服务器60-1作为终端设备50-1的访问目的地,并且向ARP相应处理部22给予服务器的MAC地址。在向ARP请求包的目标VIP地址指派服务器时,负荷平衡控制部21在指派信息表26中记录指派结果。具体而言,负荷平衡控制部21设置ARP请求包的目标VIP地址作为目的地信息261、设置与ARP请求包的传输源地址(例如,传输源MAC地址)对应的主机终端ID作为终端信息262、设置向VIP地址指派的服务器的主机终端ID作为指派服务器信息263、将它们相互相关并且在指派信息表26中记录它们。
或者,当在指派信息表26中预先记录基于负荷信息253向VIP地址指派的服务器时,负荷平衡控制部21从指派信息表26提取与目标VIP地址对应的指派服务器信息263,并且向ARP响应处理部22给予与指派服务器信息263对应的MAC地址。附带提一点,在步骤S12中,在参考指派信息表26并且发现未预先记录向VIP地址指派的服务器时,负荷平衡控制部21优选地基于负荷信息表25确定将向目标VIP地址指派的服务器。
在另一方面,在步骤S11中,在接收包不是关于VIP地址的ARP请求包时(例如,在接收包是关于目的地IP地址的ARP请求包时),ARP响应处理部22判断是否执行代理响应(步骤S14)。例如,在控制器20中预先设置其中终端设备被连接到网络的信息,为了避免无用流量,ARP响应处理部22通过代理返回响应而未洪涌(flood)(广播)接收的ARP请求包。在步骤S14中,ARP响应处理部22判断是否设置执行对来自预定终端设备的ARP请求的代理响应。如果它被设置,则ARP响应处理部22基于设置执行代理响应(步骤S14:是、S15、S13)。这里,在执行对ARP请求的代理响应时,ARP响应处理部22从主机终端信息表24获取与第一包的目的地IP地址对应的MAC地址243(步骤S15)。在向ARP请求包的目标IP地址指派服务器时,负荷平衡控制部21优选地在指派信息表26中记录这一指派结果。具体而言,负荷平衡控制部21设置ARP请求包的目标IP地址作为目的地信息261、设置与ARP请求包的传输源地址(例如,传输源MAC地址)对应的主机终端ID作为终端信息262、设置向IP地址指派的服务器的主机终端ID作为指派服务器信息263、将它们相互相关并且在指派信息表26中记录它们。
ARP响应处理部22向请求源的终端设备50-1传输如下ARP响应包,该ARP响应包是如下包,在该包中设置从负荷平衡控制部21或者主机终端信息表24获取的MAC地址作为传输源MAC地址,并且设置ARP请求包的传输源MAC地址作为目的地MAC地址(步骤S13、图8B中的步骤S106)。这里,传输如下ARP响应包,该ARP响应包是如下包,在该包中设置服务器60-1的MAC地址作为传输源MAC地址并且设置终端50-1的MAC地址作为目的地MAC地址。
参照图8A和图8B,通过控制接口70向ARP请求包的通知源的交换机10-1传输从控制器20传输的ARP响应包(步骤S106)。这时,在传输ARP响应包之前,控制器20向交换机10-1设置用于向终端设备50-1转发ARP响应包的流条目并且然后控制器20向交换机10-1传输ARP响应包。交换机10-1根据流表向终端设备50-1传输接收的ARP响应包(步骤S107)。
终端设备50-1在ARP表中设置接收的ARP响应包的传输源MAC地址作为向目的地VIP地址指派的MAC地址(步骤S108)。这里,指派目的地VIP地址的服务器60-1的MAC地址。在步骤S108或者以后,终端设备50-1设置服务器60-1的MAC地址作为如下包的目的地MAC地址,在该包中,目的地是VIP地址,并且然后执行其中目的地为VIP地址的通信(步骤S109至S115)。具体而言,终端设备50-1传输其中目的地为服务器60-1的MAC地址的包作为其中目的地为VIP地址的包(步骤S109)。交换机10-1判断接收包是否符合流表中的条目。如果接收包不符合条目,则交换机10-1向控制器20通知该包作为第一包(步骤S110:是、S111)。控制器20分析通知的第一包并且执行流控制处理(步骤S112)。具体而言,控制器20基于第一包的传输源MAC地址和目的地MAC地址指定作为通信路线的端点的终端50-1和服务器60-1并且计算在端点之间连接的通信路线。接着,控制器20确定用于通过通信路线转发包的流条目。控制器20指示通信线路上的交换机中的每个交换机设置流条目(步骤S113)。基于流条目的设置的指令,交换机10-1在它自己的流表中设置流条目并且根据流条目向转发目的地转发在步骤S109接收的包(步骤S115)。例如,在交换机10-1中设置如下流条目,该流条目规定“向服务器60-1转发其中终端设备50-1的MAC地址被设置为作为传输源地址并且服务器60-1的MAC地址被设置为作为传输源地址的包作为其中目的地是VIP地址的包”。
在步骤S114或者以后,通过交换机10-1向服务器60-1转发其目的地为VIP地址的包,该包是终端设备50-1的MAC地址被设置为作为传输源地址并且服务器60-1的MAC地址被设置为作为传输源地址。附带提一点,在图8A和图8B中所示的示例中,从交换机10-1向服务器60-1转发包。然而,无需赘言,如果在流条目中规定直至服务器60-1的通信路线上的另一交换机10作为转发目的地,则通过另一交换机10向服务器60-1转发包。
此外,作为在交换机10中设置的流条目的规则,至少规定传输源MAC地址和目的地MAC地址就足够了,并且不必规定目的地IP地址。根据这一点,可以在通常L2交换机网络中转发包,并且可以通过使用在交换机10中包括的L2交换机功能来执行与服务器60-1的通信。在这一情况下,由于交换机10执行L2转发,所以仅基于目的地地址转发包。也就是说,由于未在网络中执行包首部的重写,所以可以通过使用高速和低成本交换机建立***。
如以上描述的那样,在根据本发明的计算机***中,控制器20捕获由终端设备50执行的对VIP地址的ARP请求,并且如下ARP代理响应被执行,在该ARP代理响应中设置向VIP地址指派(的MAC地址)的服务器作为传输源。此外,控制器20向交换机10设置如下流条目,在该流条目中将接收包转发到向VIP地址指派的MAC地址。因而,交换机10可以向与VIP地址对应的目的地服务器(MAC地址)转发接收包而未转换MAC地址。因而,根据本发明,在高速和低成本L2网络中,控制器20可以任意设置终端设备50的访问目的地。另外,由于根据本发明的控制器20基于服务器负荷改变访问目的地的服务器,所以在高速和低成本L2网络中可以实现服务器负荷平衡。
(2)在未执行ARP代理响应的情况下的操作
在图9中所示的步骤S14,将参照图10A和图10B描述在未执行对ARP请求的代理响应的情况下的操作。图10A和图10B是示出计算机***在未在控制器中执行ARP代理响应的情况下的操作的序列图。
与图8A和图8B中所示的操作相似,交换机10-1向控制器20通知如下ARP请求包,在该ARP请求包中,从终端设备50-1传输的VIP地址是目标地址(步骤S101至S104)。控制器20对从交换机10-1通知的ARP请求包执行ARP响应处理(步骤S105)。
参照图9,在控制器20中,将描述在未执行对ARP请求的代理响应的情况下的ARP响应处理(步骤S105)。控制器20的ARP响应处理部22参考通知的ARP请求包的目标地址判断请求是否为对于VIP地址的ARP请求(步骤S11)。这里,由于接收包不是对于VIP地址的ARP请求包(例如,ARP请求包是用于IP地址的包),所以ARP响应处理部22判断它是否执行代理响应(步骤S14)。这里,在未为ARP请求执行代理响应的情况下(在未向控制器20设置为ARP请求终端设备执行代理响应的情况下),ARP响应处理部22向通知源的交换机10返回ARP包并且执行ARP指令以使交换机10广播ARP包(步骤S16、图10A中的步骤S201)。
参照图10A和图10B,在未为ARP请求执行代理响应的情况下,控制器20指示ARP请求包的通知源的交换机10广播ARP请求包(步骤S201)。这里,控制器20指示交换机10-1设置用于广播ARP请求包的流条目并且返回通知的ARP请求包。交换机10-1响应于流条目的设置指示更新流表12并且基于流条目广播接收的ARP响应包(步骤S202和S203)。这里,向服务器60-1和60-2转发ARP请求包。附带提一点,图10A和图10B中所示的示例,从交换机10-1向服务器60-1和60-2转发ARP请求包。然而,无需赘言,如果在流条目中规定另一交换机10作为转发目的地,则通过另一交换机10向服务器60-1和60-2转发包。
在步骤S203或者以后,与通常终端设备的ARP过程类似地执行用于获取目的地MAC地址的操作(步骤S204至S206)。图10A和图10B中所示的示例,从服务器60-2向终端设备50-1传输ARP响应包,并且终端设备50-1向ARP表设置ARP响应包的目的地源MAC地址作为目的地IP地址的MAC地址(步骤S204至S206)。
在步骤S206或者以后,与图8A和图8B中所示操作类似地通过交换机10-1向服务器60-2转发其目的地为IP地址的包,该IP地址是终端设备50-1的MAC地址被设置为作为传输源地址并且服务器60-2的MAC地址被设置为作为传输源地址(步骤S109至S115)。
(3)目的地服务器切换操作
参照图11和图12,将描述根据计算机***的计算机***的目的地服务器切换操作。这里,将描述删除作为终端设备50-1的访问目的地的服务器60-1并且将访问目的地切换成服务器60-2的操作作为示例。图11是示出根据本发明的计算机***中的目的地服务器切换操作的示例的序列图。图12是示出根据本发明的控制器20中的服务器删除处理(目的地服务器切换处理)的示例的流程图。
参照图11,终端设备50-1通过交换机10-1被连接到服务器60-1(步骤S301和S302)。这时,例如,如果故障在服务器60-1中出现,则负荷信息收集设备30指示控制器20删除服务器60-1(未示出)。控制器20基于服务器删除的指令执行服务器删除处理(目的地服务器切换处理)(步骤S303)。
参照图12,将具体描述步骤S303中的服务器删除处理。在从负荷信息收集设备30接收服务器删除信息时,负荷平衡控制部21参考指派信息表26指定服务器的MAC地址被指派到的终端设备50作为目的地(步骤S21和S22)。具体而言,负荷平衡控制部21通过使用符合删除的服务器的主机终端ID的指派服务器信息263取回指派信息表26并且指定对应目的地信息261和终端设备信息262(步骤S23)。这里,指定VIP地址和终端设备20-1。
随后,ARP响应处理部22从负荷平衡控制部21获取向目的地信息261和终端设备信息262指派的实际服务器信息(MAC地址)。具体而言,参考负荷信息表25,负荷平衡控制部21指定在步骤S22中指定的目的地信息261(例如,目的地VIP地址)被指派到的服务器(服务器信息251)、从主机终端信息表24提取与指定的服务器信息251对应的MAC地址243并且向ARP响应处理部22给予它。这时,在存在VIP地址被指派到的多个服务器时,负荷平衡控制部21基于与多个服务器中的每个服务器对应的负荷信息253确定将作为新访问目的地而被指派的服务器(服务器信息251)。例如,负荷平衡控制部21指派其负荷在除了VIP地址被指派到的服务器60-1之外的多个服务器中最小的服务器60-2作为终端设备50-1的访问目的地,并且向ARP响应处理部22给予服务器的MAC地址。在指派服务器60-2作为与VIP地址对应的新目的地时,负荷平衡控制部21在指派信息表26中记录指派结果。这时,负荷平衡控制部21记录在改变服务器指派之前的指派服务器信息263作为旧目的地服务器信息264并且重写向VIP地址新指派的服务器的主机终端ID作为指派服务器信息263。例如,负荷平衡控制部21设置在步骤S22指定的VIP地址作为目的地信息261、设置与在步骤S22指定的终端设备50-1对应的主机终端ID作为终端信息262、设置向VIP地址指派的服务器60-2的主机终端ID作为指派服务器信息263、将它们相互相关并且在指派信息表26中记录它们。
ARP响应处理部22向在步骤S22指定的终端设备50发出如下GARP(免费(gratuious)ARP)包,该GARP包是如下包,在该包中设置由负荷平衡控制部21新指派的服务器的MAC地址作为传输源MAC地址(图11中的步骤S24、步骤S304)。这里,在GARP包中,设置终端设备50-1和关于终端设备50-1的目的地VIP地址新指派的服务器60-2的MAC地址作为传输源MAC地址。参照图11,通过交换机10-1向终端设备50-1传输GARP包(步骤S304和S305)。
终端50-1使用接收的GARP包的传输源MAC地址作为向目的地VIP地址指派的MAC地址来更新ARP表(步骤S306)。这里,向目的地VIP地址指派服务器60-2的MAC地址。在步骤S306或者以后,与图10A和图10B的步骤S109至S115类似,在设置服务器60-2的MAC地址作为其目的地为VIP地址的包的目的地IP地址之时,终端设备50-1执行其目的地为VIP地址的通信(步骤S307至S313)。
如以上描述的那样,根据本发明,即使删除目的地服务器,以集成方式控制的控制器20仍然可以实现鉴于负荷的目的地服务器切换。
(4)在保持会话之时的目的地服务器切换操作
参照图13至图15,将描述根据计算机***的计算机***在保持会话之时的目的地服务器切换操作。这里,将描述如下情况作为示例,该情况为将在终端设备50-1与服务器60-1之间的通信切换为在终端设备50-1与服务器60-2之间的通信。图13是示出根据本发明的在计算机设备中保持会话之时切换目的地服务器的操作的示例的序列图。图14是示出根据本发明的控制器20中的切换处理的操作的示例的流程图。图15是示出根据本发明的切换设备40中的包控制处理的操作的示例的流程图。
参照图13,终端50-1通过交换机10-1被连接到服务器60-1(步骤S401和S402)。这时,例如,在增加服务器60-1的负荷时,控制器20执行用于将在终端设备50-1与服务器60-1之间的通信切换为在终端设备50-1与其负荷小的另一服务器60之间的通信的切换处理(步骤S403)。
参照图14,将具体描述步骤S403中的切换处理。参考负荷信息表25和指派信息表26,负荷平衡控制部21将向终端设备的目的地VIP地址指派的服务器中的其负荷增加的服务器切换成其负荷小的另一服务器(步骤S31)。具体而言,在向终端设备的目的地VIP地址指派的服务器的负荷超过预定阈值时或者在具有前述目的地VIP地址的另一服务器的负荷降至预定阈值以下时,负荷平衡控制部21将向VIP地址当前指派的目的地服务器切换成其负荷小的另一服务器。负荷平衡控制部21记录在服务器指派切换之前的指派服务器信息263作为旧目的地服务器信息264并且重写将作为目的地服务器而被新指派的服务器的主机终端ID作为指派服务器信息263。例如,负荷平衡控制部21设置其负荷超过阈值的服务器60-1的主机终端ID作为旧目的地服务器信息264、设置其负荷小的服务器60-2的主机终端ID作为指派服务器信息263、将它们与目的地信息261(VIP地址)和终端信息262(终端50-1)相关并且记录它们。附带提一点,可以在规律间隔或者在任意时间(例如,负荷信息表25的更新定时(来自负荷信息收集设备30的负荷信息的通知定时))执行负荷平衡控制部21的目的地服务器切换操作。
在切换目的地服务器时,负荷平衡控制部21向切换设备40通知在切换之前和之后的目的地服务器的信息(MAC地址)作为切换信息(步骤S32、图13中的步骤S404)。具体而言,向切换设备40传输与在步骤S31中更新的指派服务器信息263和旧目的地服务器信息264对应的MAC地址、与和它们相关的终端设备信息262和与和它们相关的目的地信息261对应的MAC地址(VIP地址)作为切换信息。这里,向切换设备40传输在执行切换之前的服务器60-1的MAC地址与在执行切换之后的服务器60-2的如下MAC地址之间的关系信息作为切换信息,向从终端50-1到作为目的地的VIP地址的流量指派这些MAC地址。
参照图13,切换设备40的切换控制部44在切换信息表45中记录传输的切换信息(步骤S405)。这里,在切换信息表45中记录在切换信息中包括的目的地信息261(VIP地址)、与终端设备信息262对应的MAC地址、与指派服务器信息263对应的MAC地址和与旧目的地服务器信息264对应的MAC地址243分别作为目的地信息451、终端信息452、新目的地服务器信息453和旧目的地服务器信息454。
在向切换设备40通知切换信息时,控制器20指示通信路线上的交换机10设置(改变)流条目以使得去往在执行切换之前的服务器60的通信路线被重定向成切换设备40(重定向设置指令、步骤S406、图14中的步骤S33)。具体而言,在作为重定向设置的目标的终端设备50与在执行切换之前的服务器60之间的通信路线上,控制器20的交换机控制部23改变与终端设备50相邻的交换机10的流条目。这里,交换机控制部23指示与终端设备50-1相邻的交换机10-1改变流条目。
基于用于设置流条目的指令,交换机10-1向自己的流表12设置前述流条目(步骤S407)。这里,设置如下流条目,该流条目规定“向切换设备40转发如下包,在该包中设置终端设备50-1的MAC地址作为传输源MAC地址并且设置服务器60-1的MAC地址作为目的地MAC地址”。
在步骤S407或者以后,通过交换机10-1向服务器60-1转发去往VIP地址的如下包,在该包中设置终端设备50-1的MAC地址作为传输源MAC地址并且设置服务器60-1的MAC地址作为传输源MAC地址(步骤S408和S409)。具体而言,终端设备50-1向VIP地址传输其中目的地为服务器60-1的MAC地址的包(步骤S408)。交换机10-1根据流条目向切换设备40转发接收包(步骤S409)。因而,可以实现从终端设备50-1到服务器60-1的目的地MAC地址的流量的重定向。
在接收包时,切换设备40通过包控制处理分析接收包并且基于分析结果执行流条目的改变或者根据流条目的处理(步骤S410)。
参照图15,将描述步骤S413中的包控制处理的示例。在切换设备40中,鉴于TCP的会话,将目的地服务器从新TCP连接依次切换到切换的服务器。通过在切换设备40中将包的目的地MAC地址改变成切换的服务器的MAC地址实现切换目的地服务器的方法。
首先,切换设备40判断接收包是否为TCP包(步骤S41)。在接收包不是TCP包时,由于不存在连接概念,所以切换处理部41在流表42中设置与新目的地服务器信息453对应的服务器60作为接收包的目的地并且注册如下流条目,该流条目规定“将接收包的目的地MAC地址转换成服务器60的MAC地址并且转发它”(步骤S41:否;以及S43)。具体而言,在步骤S43,切换控制部43指定与接收包的传输源MAC地址和目的地VIP地址对应的新目的地服务器信息453。接着,交换机控制部43在流表42中注册如下流条目,该流条目是规则为接收包的传输源MAC地址和目的地VIP地址,并且动作为将包的目的地MAC地址转换成指定的新目的地服务器信息453(MAC地址)并且转发包。
在另一方面,在步骤S41,在接收包是TCP包时,切换设备40确认接收包的SYN标志位(步骤S41:是;以及S42)。这里,在接收包是SYN包时,由于前述包代表TCP的新连接,所以该过程前进到步骤S43并且目的地被改变成用于这一连接的新服务器(新目的地服务器信息453)(步骤S42:是)。
在步骤S43,在改变流表42时,交换机处理部41执行在改变的流表中规定的动作(步骤S50)。这里,交换机处理部41将接收包的目的地MAC地址转换成由控制器20新指派的服务器的MAC地址(新目的地服务器信息453)并且转发包。
在另一方面,在接收包不是SYN包并且未满足TCP完成判断条件时,交换机处理部41基于在符合接收包的流条目中规定的动作转发接收包(步骤S42:否、S44:是、S45、S48:否;以及S50)。这里,满足TCP完成判断条件例如是交互地传输FIN包和FIN-ACK包这样的情况。
然而,在未在流表42中设置符合不是SYN包的接收包的流条目时,交换机处理部41在流表42中注册如下流条目,该流条目规定设置与旧目的地服务器信息454对应的服务器作为接收包的目的地并且接收包的目的地MAC地址被转换成前述服务器的MAC地址并且转发包(步骤S42:否、S44:否、S46和S47)。具体而言,切换控制部43从切换信息表45指定与接收包的传输源MAC地址和目的地VIP地址对应的旧目的地服务器信息454。接着,交换机控制部43在流表42中注册如下流条目,该流条目是规则为接收包的传输源MAC地址和目的地VIP地址并且动作是将包的目的地MAC地址转换成指定的旧目的地服务器信息454(MAC地址)并且转发包。在注册流条目之后,在接收包未满足TCP完成判断条件时,交换机处理部41基于在步骤S47注册的流条目中规定的动作转发接收包(步骤S50)。
此外,在接收包是TCP包并且满足TCP完成判断条件(比如这样交互地传输FIN包和FIN-ACK包的情况)时,由于连接被关闭,所以显式地删除流表的条目(这里仅显式地执行删除声明,并且将在执行该动作之后执行实际删除)(步骤S48:是;以及S49)。
如以上描述的那样,切换设备40判断接收包的目的地服务器是否为旧服务器或者在切换之后的新服务器并且基于判断结果根据流条目向目的地转发接收包。在本发明中,通过切换设备40改变从终端设备50转发的包的目的地MAC地址,可以在保持会话之时将目的地服务器改变成另一服务器。图14中所示的示例,根据基于接收包设置的流条目或者符合接收包的流条目,切换设备40将从终端设备50-1到服务器60-1的MAC地址的包转换成去往服务器60-2的MAC地址的包并且转发包(步骤S410和S411)。在本发明中,可以在保持在服务中的连接之时改变终端设备50的访问目的地服务器而未使交换机10具有MAC地址转换功能(处理会话层)。因此,可以使用层2交换机作为交换机10。因此,根据本发明,可以在高速网络环境中实现服务器负荷平衡处理而防止成本增加。此外,由于代理ARP功能与交换机10独立地由控制器20执行,所以可以实现负荷平衡而未依赖于交换机网络的规模。因而,可以实现具有高缩放性的服务器负荷平衡处理而未使用昂贵网络设备。
另外,在步骤S403,控制器20可以基于在终端设备与服务器之间的通信的协议在改变目的地服务器的指派时确定是否使用切换设备。例如,当在终端设备与服务器之间的通信是TCP通信时,在改变服务器指派时,使包穿过切换设备40,并且在未断开会话之时逐渐改变服务器指派。在另一方面,在通信是HTTP通信时,改变服务器指派而包未穿过切换设备40并且允许会话的中断。或者,在HTTP协议的通信用于具体重要应用时,控制器20可以控制包穿过切换设备而未中断服务。此外,通过基于传输源IP地址确定是否使包转向切换设备,控制器可以不仅以协议而且以用户为单位设置是否在改变服务器指派时保持会话。
(5)根据删除流条目的切换完成操作
图16是示出根据本发明的基于切换设备40中的流条目的到期的切换操作的流程图。参照图16,将描述根据本发明的基于切换设备40中的流条目的到期的切换操作。这里,在预定时间过去之后或者在满足预定条件时从切换设备40的流表42删除在流表42中注册的流条目。将描述切换设备40在这一情况下的操作。
在流条目由于满足TCP连接的完成条件或者超时出现而到期时,切换控制部44确认如下流条目是否存在于流表42中记录的流条目中,该流条目是设置在切换之前的服务器的MAC地址(旧目的地服务器信息454)作为目的地MAC地址(步骤S60、S61和S62)。这里,在设置旧目的地服务器信息454作为目的地MAC地址的流条目存在于流表42中时,切换控制部44等待就绪直至新流条目的到期出现(步骤S62:是)。在另一方面,在设置旧目的地服务器信息454作为目的地MAC地址的流条目不存在时,切换控制部44向控制器20通知切换处理的完成(步骤S62:是;以及S63)。例如,切换控制部44每当删除流条目时对设置旧目的地服务器信息454作为目的地MAC地址的流条目进行计数。在计数值为零(0)时或者在从切换处理起过去某个时间时,切换控制部44完成切换并且向控制器通知完成。
在接收切换完成通知时,控制器20与图11和图12相似地通过使用GARP包向终端设备50通知与VIP地址对应的物理服务器(MAC地址)(未示出)。例如,响应于切换完成通知,控制器20通过使用GARP包向终端设备50-1通知设置(MAC地址的)服务器60-2作为与VIP地址对应的物理服务器。终端设备50-1设置服务器60-2的MAC地址作为与VIP地址条目对应的ARP高速缓存条目,并且向服务器60-2的MAC地址输出去往VIP地址的后续通信。另外,控制器20删除用于从终端设备50-1向切换设备40重定向的路线的流条目并且释放切换设备的资源(未示出)。
如以上描述的那样,根据本发明,可以改变访问目的地服务器而未在交换机中执行首部转换。因此,可以通过使用低成本和高速L2交换机来建立负荷平衡***。另外,在本发明中,基于服务器负荷和服务器删除通过使用开流网络来实现流的设置和访问目的地服务器的改变。因此,可以实现具有高缩放性的服务器负荷平衡处理。
尽管已经具体描述了本发明的示例性实施例,但是本发明不限于以上示例性实施例、但是可以加以修改和改变而未脱离本发明的范围和精神实质。例如,无需赘言,交换机10的数目、终端设备50的数目、切换设备40的数目和服务器60的数目不限于以上示例。此外,可以提供多个根据本发明的计算机***,并且可以通过在相应控制器20之间的协作在多个计算机***之中执行路由(负荷平衡处理)。另外,在以上提到的示例中,基于服务器负荷和应用负荷改变目的地服务器。然而,本发明不限于这些。可以基于网络负荷(拥塞状态)和销售商应用负荷的设置任意改变目的地服务器。例如,在服务器的维护时间改变目的地服务器。此外,切换设备40还可以由除了控制器20之外的设备或者与控制器20相同的设备实现。在切换设备40由与控制器20相同的设备实现时,也应用交换机10的功能(包中继功能)。也就是,可以通过组合控制器20和交换机10来实现交换机40。
以上公开的示例性实施例的全部或者部分可以被描述为、但是不限于以下补充说明。
(补充说明1)
一种计算机***,包括:
控制器;以及
交换机,被配置用于对符合由所述控制器设置的流条目的接收包执行由所述流条目规定的中继操作,
其中所述控制器:
通过执行对来自终端设备的ARP请求包的代理响应以向所述终端设备通知物理服务器的MAC(介质访问控制)地址,所述物理服务器是所述终端设备的访问目的地,以及
向所述交换机设置流条目,所述流条目规定使接收包向去往所述物理服务器的通信路线转发,所述接收包从所述终端设备被传输,并且在所述接收包中设置所述MAC地址作为目的地MAC地址。
(补充说明2)
根据补充说明1所述的计算机***,其中所述控制器参考其中对VIP(虚拟网际协议)地址和物理服务器进行相关和记录的表选择与在所述ARP请求包中包括的目标VIP地址对应的物理服务器作为如下物理服务器,该物理服务器是所述终端设备的访问目的地,并且向所述终端设备传输所述物理服务器的MAC地址作为ARP响应包的传输源MAC地址。
(补充说明3)
根据补充说明1或者2所述的计算机***,其中所述控制器基于所述服务器中的每个服务器上的每个负荷选择作为所述终端设备的所述访问目的地的所述物理服务器的所述MAC地址。
(补充说明4)
根据补充说明1至3中的任一补充说明所述的计算机***,其中所述控制器向所述终端设备传输其中设置与所述物理服务器不同的另一物理服务器的MAC地址作为传输源MAC地址的GARP包以将所述终端设备的ARP表中设置的目的地MAC地址从所述物理服务器的所述MAC地址改变成所述另一物理服务器的所述MAC地址。
(补充说明5)
根据补充说明1至4中的任一补充说明所述的计算机***,其中接收包是ARP请求包,根据由所述控制器设置的流条目,所述交换机向所述控制器通知所述ARP请求包。
(补充说明6)
一种计算机***,包括:
控制器;
交换机,被配置用于对符合由所述控制器设置的流条目的接收包执行由所述流条目规定的中继操作;以及
切换设备,
其中所述交换机基于由所述控制器设置的第一流条目向去往第一服务器的通信路线转发包,在所述包中设置所述第一服务器的第一MAC地址作为目的地MAC地址,
其中所述控制器通过替换所述第一流条目向所述交换机设置第二流条目,所述第二流条目规定使其中设置所述第一服务器的第一MAC地址作为目的地MAC地址的包向所述切换设备转发,
其中所述交换机基于所述第二流条目向所述切换设备转发其中设置所述第一MAC地址作为所述目的地MAC地址的所述包,以及
其中所述切换设备将来自所述交换机的所述接收包的所述目的地MAC地址从所述第一MAC地址改变成与所述第一服务器不同的第二服务器的第二MAC地址并且向去往所述第二服务器的通信路线转发它。
(补充说明7)
根据补充说明6所述的计算机***,其中所述切换设备在所述接收包是TCP(传输控制协议)包并且未在自己的流表中设置符合所述接收包的流条目时将来自所述交换机的所述接收包的所述目的地MAC地址改变成所述第一MAC地址并且向去往所述第一服务器的通信路线转发它。
(补充说明8)
根据补充说明6或者7所述的计算机***,其中所述切换设备基于接收包执行TCP完成判断,并且在所述切换设备判断完成所述TCP连接时,在所述切换设备根据符合所述接收包并且在自己的流表中设置的流条目向目的地转发所述接收包之后,所述切换设备从所述流表删除所述流条目。
(补充说明9)
根据补充说明6至8中的任一补充说明所述的计算机***,其中所述切换设备在从自己的流表删除流条目之后向所述控制器通知切换完成,以及
其中所述控制器基于所述切换完成从所述交换机删除所述第二流条目。
(补充说明10)
根据补充说明6至9中的任一补充说明所述的计算机***,其中所述控制器基于多个服务器中的每个服务器的负荷选择将作为所述终端设备的访问目的地的所述第二服务器的第二MAC地址并且通知所述切换设备。
(补充说明11)
一种控制器,用于根据补充说明1至10中的任一补充说明所述的计算机***。
(补充说明12)
一种切换设备,用于根据补充说明6至10中的任一补充说明所述的计算机***。
(补充说明13)
一种通信控制程序,在由计算机执行时实现根据补充说明11所述的控制器。
(补充说明14)
一种通信控制程序,在由计算机执行时实现根据补充说明12所述的切换设备。
(补充说明15)
一种由计算机***执行的通信方法,所述计算机***包括:交换机,被配置用于对符合由控制器设置的流条目的接收包执行由所述流条目规定的中继操作,
所述通信方法包括:
所述控制器通过执行对来自终端设备的ARP请求包的代理响应以向所述终端设备通知物理服务器的MAC(介质访问控制)地址,所述物理服务器是所述终端设备的访问目的地,以及
所述控制器向所述交换机设置流条目,所述流条目规定使接收包向去往所述物理服务器的通信路线转发,所述接收包从所述终端设备被传输,并且在所述接收包中设置所述MAC地址作为目的地MAC地址。
(补充说明16)
根据补充说明15所述的通信方法,还包括:
所述控制器参考其中对VIP(虚拟网际协议)地址和物理服务器进行相关和记录的表选择与在所述ARP请求包中包括的目标VIP地址对应的物理服务器作为如下物理服务器,该物理服务器是所述终端设备的访问目的地,
其中所述通知所述MAC地址的步骤包括:
所述控制器向所述终端设备传输所述物理服务器的MAC地址作为ARP响应包的传输源MAC地址。
(补充说明17)
根据补充说明15或者16所述的通信方法,还包括:
所述控制器基于所述服务器中的每个服务器上的每个负荷选择作为所述终端设备的所述访问目的地的所述物理服务器的所述MAC地址。
(补充说明18)
根据补充说明15至17中的任一补充说明所述的通信方法,还包括:
所述控制器向所述终端设备传输其中设置与所述物理服务器不同的另一物理服务器的MAC地址作为传输源MAC地址的GARP包以将所述终端设备的ARP表中设置的目的地MAC地址从所述物理服务器的所述MAC地址改变成所述另一物理服务器的所述MAC地址。
(补充说明19)
根据补充说明15至18中的任一补充说明所述的通信方法,还包括:
所述交换机在接收包是ARP请求包时根据由所述控制器设置的流条目向所述控制器通知所述ARP请求包。
(补充说明20)
一种由计算机***执行的通信方法,所述通信***包括:交换机,被配置用于对符合由控制器设置的流条目的接收包执行由所述流条目规定的中继操作;以及
所述通信方法包括:
所述交换机基于由所述控制器设置的第一流条目向去往第一服务器的通信路线转发包,在所述包中设置所述第一服务器的第一MAC地址作为目的地MAC地址;
所述控制器通过替换所述第一流条目向所述交换机设置第二流条目,所述第二流条目规定使其中设置所述第一服务器的第一MAC地址作为目的地MAC地址的包向所述切换设备转发;
所述交换机基于所述第二流条目向所述切换设备转发其中设置所述第一MAC地址作为所述目的地MAC地址的所述包;以及
所述切换设备将来自所述交换机的所述接收包的所述目的地MAC地址从所述第一MAC地址改变成与所述第一服务器不同的第二服务器的第二MAC地址并且向去往所述第二服务器的通信路线转发它。
(补充说明21)
根据补充说明20所述的通信方法,还包括:
所述切换设备在所述接收包是TCP(传输控制协议)包并且未在自己的流表中设置符合所述接收包的流条目时将来自所述交换机的所述接收包的所述目的地MAC地址改变成所述第一MAC地址并且向去往所述第一服务器的通信路线转发它。
(补充说明22)
根据补充说明20或者21所述的通信方法,还包括:
所述切换设备基于接收包判断完成TCP连接,以及
所述切换设备在根据符合所述接收包的流条目向目的地转发所述接收包之后从所述流表删除所述流条目。
(补充说明23)
根据补充说明20至22中的任一补充说明所述的通信方法,还包括:
所述切换设备在从自己的流表删除流条目之后向所述控制器通知切换完成,以及
所述控制器基于所述切换完成从所述交换机删除所述第二流条目。
(补充说明24)
根据补充说明20至23中的任一补充说明所述的通信方法,还包括:
所述控制器基于多个服务器中的每个服务器的负荷选择将作为所述终端设备的访问目的地的所述第二服务器的第二MAC地址并且通知所述切换设备。
本申请基于第2011-80955号日本专利申请并且要求来自该日本专利申请的优先权的权益,通过引用将第2011-80955号日本专利申请的公开内容完全结合于此。
Claims (10)
1.一种计算机***,包括:
控制器;以及
交换机,被配置用于对符合由所述控制器设置的流条目的接收包执行由所述流条目规定的中继操作,
其中所述控制器:
参考其中VIP(虚拟网际协议)地址和物理服务器被相关和记录的表,将与来自终端设备的ARP请求包中包括的目标VIP地址对应的物理服务器选择为作为所述终端设备的访问目的地的物理服务器,以及
通过使用ARP响应包执行对所述ARP请求包的代理响应来向所述终端设备通知作为所述终端设备的所述访问目的地的所述物理服务器的MAC(介质访问控制)地址,在所述ARP响应包中所述物理服务器的所述MAC地址被设置作为传输源MAC地址,
向所述交换机设置流条目,所述流条目规定使接收包被转发给去往所述物理服务器的通信路线,所述接收包从所述终端设备被传输,并且在所述接收包中所述MAC地址被设置作为目的地MAC地址。
2.根据权利要求1所述的计算机***,其中所述控制器基于所述服务器中的每个服务器上的每个负荷,来选择作为所述终端设备的所述访问目的地的所述物理服务器的所述MAC地址。
3.根据权利要求1或者2所述的计算机***,其中所述控制器向所述终端设备传输其中与所述物理服务器不同的另一物理服务器的MAC地址被设置作为传输源MAC地址的GARP包,以将所述终端设备的ARP表中设置的目的地MAC地址从所述物理服务器的所述MAC地址改变成所述另一物理服务器的所述MAC地址。
4.一种计算机***,包括:
控制器;
交换机,被配置用于对符合由所述控制器设置的流条目的接收包执行由所述流条目规定的中继操作;以及
切换设备,
其中所述交换机基于由所述控制器设置的第一流条目,来向去往第一服务器的通信路线转发包,在所述包中所述第一服务器的第一MAC地址被设置作为目的地MAC地址,
其中所述控制器通过替换所述第一流条目来向所述交换机设置第二流条目,所述第二流条目规定使其中所述第一服务器的第一MAC地址被设置作为目的地MAC地址的包被转发给所述切换设备,
其中所述交换机基于所述第二流条目向所述切换设备转发其中所述第一MAC地址被设置作为所述目的地MAC地址的所述包,
其中所述切换设备将来自所述交换机的所述接收包的所述目的地MAC地址从所述第一MAC地址改变成与所述第一服务器不同的第二服务器的第二MAC地址,并且将所述接收包转发给去往所述第二服务器的通信路线。
5.一种用于根据权利要求1至4中的任一权利要求所述的计算机***的控制器。
6.一种用于根据权利要求3所述的计算机***的切换设备。
7.一种存储通信控制程序的记录介质,所述通信控制程序在由计算机执行时,实现根据权利要求5所述的控制器。
8.一种存储通信控制程序的记录介质,所述通信控制程序在由计算机执行时,实现根据权利要求6所述的切换设备。
9.一种由计算机***执行的通信方法,所述计算机***包括交换机,所述交换机被配置用于对符合由控制器设置的流条目的接收包执行由所述流条目规定的中继操作,
所述通信方法包括:
所述控制器参考其中VIP(虚拟网际协议)地址和物理服务器被相关和记录的表,将与来自终端设备的ARP请求包中包括的目标VIP地址对应的物理服务器选择为作为所述终端设备的访问目的地的物理服务器;
所述控制器通过使用ARP响应包执行对所述ARP请求包的代理响应,来向所述终端设备通知作为所述终端设备的所述访问目的地的所述物理服务器的MAC(介质访问控制)地址,在所述ARP响应包中所述物理服务器的所述MAC地址被设置作为传输源MAC地址:以及
所述控制器向所述交换机设置流条目,所述流条目规定使接收包被转发给去往所述物理服务器的通信路线,所述接收包从所述终端设备被传输并且在所述接收包中所述MAC地址被设置作为目的地MAC地址。
10.一种由计算机***执行的通信方法,所述计算机***包括交换机,所述交换机被配置用于对符合由控制器设置的流条目的接收包执行由所述流条目规定的中继操作,
所述通信方法包括:
所述交换机基于由所述控制器设置的第一流条目向去往第一服务器的通信路线转发包,在所述包中所述第一服务器的第一MAC地址被设置作为目的地MAC地址;
所述控制器通过替换所述第一流条目向所述交换机设置第二流条目,所述第二流条目规定使其中所述第一服务器的第一MAC地址被设置作为目的地MAC地址的包被转发给切换设备;
所述交换机基于所述第二流条目向所述切换设备转发其中所述第一MAC地址被设置作为所述目的地MAC地址的所述包;以及
所述切换设备将来自所述交换机的所述接收包的所述目的地MAC地址从所述第一MAC地址改变成与所述第一服务器不同的第二服务器的第二MAC地址,并且将所述接收包转发给去往所述第二服务器的通信路线。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011080955 | 2011-03-31 | ||
JP2011-080955 | 2011-03-31 | ||
PCT/JP2012/057727 WO2012133290A1 (ja) | 2011-03-31 | 2012-03-26 | コンピュータシステム、及び通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103460653A true CN103460653A (zh) | 2013-12-18 |
Family
ID=46931008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012800164922A Pending CN103460653A (zh) | 2011-03-31 | 2012-03-26 | 计算机***和通信方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20140019639A1 (zh) |
EP (1) | EP2693696A4 (zh) |
JP (1) | JP5757324B2 (zh) |
CN (1) | CN103460653A (zh) |
WO (1) | WO2012133290A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301451A (zh) * | 2014-10-17 | 2015-01-21 | 福建星网锐捷网络有限公司 | 一种跨网段主机通信方法、装置及*** |
CN104995878A (zh) * | 2013-12-31 | 2015-10-21 | 华为技术有限公司 | 一种报文传输方法、设备及通信*** |
US9325615B2 (en) | 2013-12-31 | 2016-04-26 | Huawei Technologies Co., Ltd. | Method and apparatus for implementing communication between virtual machines |
CN106817315A (zh) * | 2015-11-27 | 2017-06-09 | 财团法人资讯工业策进会 | 软件定义网络***及其网络连线路由方法 |
CN108028801A (zh) * | 2015-07-27 | 2018-05-11 | 华为技术有限公司 | 一种基于sdn的arp实现方法及装置 |
CN110099010A (zh) * | 2018-01-31 | 2019-08-06 | 华为技术有限公司 | 一种业务分流的方法和装置 |
CN110233835A (zh) * | 2014-10-15 | 2019-09-13 | 瞻博网络公司 | 用于多层网络抽象的控制器到控制器接口 |
US20230254248A1 (en) * | 2020-07-01 | 2023-08-10 | Nippon Telegraph And Telephone Corporation | L2 switch, communication control method, and communication control program |
Families Citing this family (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
US9143480B2 (en) * | 2011-01-10 | 2015-09-22 | Secure Global Solutions, Llc | Encrypted VPN connection |
US10091028B2 (en) | 2011-08-17 | 2018-10-02 | Nicira, Inc. | Hierarchical controller clusters for interconnecting two or more logical datapath sets |
US9369426B2 (en) * | 2011-08-17 | 2016-06-14 | Nicira, Inc. | Distributed logical L3 routing |
US9154433B2 (en) | 2011-10-25 | 2015-10-06 | Nicira, Inc. | Physical controller |
US9288104B2 (en) | 2011-10-25 | 2016-03-15 | Nicira, Inc. | Chassis controllers for converting universal flows |
US10089127B2 (en) | 2011-11-15 | 2018-10-02 | Nicira, Inc. | Control plane interface for logical middlebox services |
WO2013158918A1 (en) | 2012-04-18 | 2013-10-24 | Nicira, Inc. | Using transactions to minimize churn in a distributed network control system |
US10097481B2 (en) | 2012-06-29 | 2018-10-09 | Juniper Networks, Inc. | Methods and apparatus for providing services in distributed switch |
US10129182B2 (en) * | 2012-06-29 | 2018-11-13 | Juniper Networks, Inc. | Methods and apparatus for providing services in distributed switch |
JP5782641B2 (ja) * | 2012-08-31 | 2015-09-24 | 株式会社日立製作所 | 計算機システム及びパケット転送方法 |
JP5476447B1 (ja) * | 2012-11-06 | 2014-04-23 | ソフトバンクモバイル株式会社 | 転送条件変更装置、プログラム、情報提供システム及び転送条件変更方法 |
CN103095521B (zh) | 2012-12-18 | 2016-03-30 | 华为技术有限公司 | 流量检测的控制方法、***、装置、控制器及检测设备 |
EP2963870A4 (en) * | 2013-02-27 | 2016-09-28 | Nec Corp | CONTROL DEVICE, COMMUNICATION SYSTEM, SWITCHING CONTROL METHOD AND PROGRAM |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
JP5519880B1 (ja) | 2013-03-28 | 2014-06-11 | 楽天株式会社 | 要求処理システム、要求処理方法、プログラムおよび情報記憶媒体 |
EP3016321A4 (en) * | 2013-06-25 | 2017-02-22 | Nec Corporation | Communication system, apparatus, method and program |
US9571386B2 (en) | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Hybrid packet processing |
US9282019B2 (en) | 2013-07-12 | 2016-03-08 | Nicira, Inc. | Tracing logical network packets through physical network |
US9197529B2 (en) | 2013-07-12 | 2015-11-24 | Nicira, Inc. | Tracing network packets through logical and physical networks |
US9407580B2 (en) | 2013-07-12 | 2016-08-02 | Nicira, Inc. | Maintaining data stored with a packet |
US9531676B2 (en) | 2013-08-26 | 2016-12-27 | Nicira, Inc. | Proxy methods for suppressing broadcast traffic in a network |
US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
US9602398B2 (en) | 2013-09-15 | 2017-03-21 | Nicira, Inc. | Dynamically generating flows with wildcard fields |
US9785455B2 (en) | 2013-10-13 | 2017-10-10 | Nicira, Inc. | Logical router |
US10158538B2 (en) | 2013-12-09 | 2018-12-18 | Nicira, Inc. | Reporting elephant flows to a network controller |
US9967199B2 (en) | 2013-12-09 | 2018-05-08 | Nicira, Inc. | Inspecting operations of a machine to detect elephant flows |
EP3073697B1 (en) * | 2013-12-12 | 2018-08-01 | Huawei Technologies Co., Ltd. | Method for processing packet in access network, and network device |
US9569368B2 (en) | 2013-12-13 | 2017-02-14 | Nicira, Inc. | Installing and managing flows in a flow table cache |
US9996467B2 (en) | 2013-12-13 | 2018-06-12 | Nicira, Inc. | Dynamically adjusting the number of flows allowed in a flow table cache |
CN104937896B (zh) * | 2013-12-13 | 2018-02-23 | 华为技术有限公司 | 地址解析协议消息的处理方法和转发器、控制器 |
CN104734988B (zh) * | 2013-12-23 | 2018-10-30 | 杭州华为数字技术有限公司 | 软件定义网络中路由控制的方法和开放流控制器 |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US9893988B2 (en) | 2014-03-27 | 2018-02-13 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
US9985896B2 (en) | 2014-03-31 | 2018-05-29 | Nicira, Inc. | Caching of service decisions |
US9385954B2 (en) | 2014-03-31 | 2016-07-05 | Nicira, Inc. | Hashing techniques for use in a network environment |
US10193806B2 (en) | 2014-03-31 | 2019-01-29 | Nicira, Inc. | Performing a finishing operation to improve the quality of a resulting hash |
CN104980373B (zh) * | 2014-04-04 | 2018-06-19 | 上海宽带技术及应用工程研究中心 | 一种控制服务器及其应用的***和方法 |
KR102262183B1 (ko) * | 2014-04-04 | 2021-06-07 | 뉴라컴 인코포레이티드 | 수신 확인 방법 및 다중 사용자 전송 방법 |
US9578112B2 (en) | 2014-04-30 | 2017-02-21 | Jive Communications, Inc. | Reliability of a connection during a communication session on a network device |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
US10616108B2 (en) * | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
JP2016048854A (ja) * | 2014-08-27 | 2016-04-07 | 横河電機株式会社 | データ転送システム及び方法 |
US9876712B2 (en) * | 2014-09-05 | 2018-01-23 | Kt Corporation | Method and device for processing address resolution protocol in software-defined networking environment |
US9882814B2 (en) * | 2014-09-25 | 2018-01-30 | Intel Corporation | Technologies for bridging between coarse-grained and fine-grained load balancing |
US10511458B2 (en) | 2014-09-30 | 2019-12-17 | Nicira, Inc. | Virtual distributed bridging |
US11178051B2 (en) | 2014-09-30 | 2021-11-16 | Vmware, Inc. | Packet key parser for flow-based forwarding elements |
US10250443B2 (en) | 2014-09-30 | 2019-04-02 | Nicira, Inc. | Using physical location to modify behavior of a distributed virtual network element |
US9762508B2 (en) | 2014-10-02 | 2017-09-12 | Microsoft Technology Licensing, Llc | Relay optimization using software defined networking |
US10469342B2 (en) | 2014-10-10 | 2019-11-05 | Nicira, Inc. | Logical network traffic analysis |
US10374833B2 (en) | 2014-12-03 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Modifying an address to forward a packet to a service function |
CN105763512B (zh) * | 2014-12-17 | 2019-03-15 | 新华三技术有限公司 | Sdn虚拟化网络的通信方法和装置 |
US9497123B2 (en) | 2014-12-18 | 2016-11-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for load balancing in a software-defined networking (SDN) system upon server reconfiguration |
US9979645B2 (en) * | 2015-01-14 | 2018-05-22 | Futurewei Technologies, Inc. | Hardware and software methodologies for creating and managing portable service function chains |
KR20160095554A (ko) * | 2015-02-03 | 2016-08-11 | 한국전자통신연구원 | Sdn 기반의 물리 주소 결정장치 및 그 방법 |
JP2016158011A (ja) * | 2015-02-23 | 2016-09-01 | ルネサスエレクトロニクス株式会社 | 配信制御装置、データ配信システム、配信制御方法及びプログラム |
US10382534B1 (en) | 2015-04-04 | 2019-08-13 | Cisco Technology, Inc. | Selective load balancing of network traffic |
US9923760B2 (en) | 2015-04-06 | 2018-03-20 | Nicira, Inc. | Reduction of churn in a network control system |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US10225184B2 (en) | 2015-06-30 | 2019-03-05 | Nicira, Inc. | Redirecting traffic in a virtual distributed router environment |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US11005682B2 (en) | 2015-10-06 | 2021-05-11 | Cisco Technology, Inc. | Policy-driven switch overlay bypass in a hybrid cloud network environment |
US10523657B2 (en) | 2015-11-16 | 2019-12-31 | Cisco Technology, Inc. | Endpoint privacy preservation with cloud conferencing |
US10243915B2 (en) * | 2015-12-31 | 2019-03-26 | Dell Products L.P. | Method and system for managing flat and routed clients in a cluster using single type of VIPs |
US11019167B2 (en) | 2016-04-29 | 2021-05-25 | Nicira, Inc. | Management of update queues for network controller |
CN107332812B (zh) * | 2016-04-29 | 2020-07-07 | 新华三技术有限公司 | 网络访问控制的实现方法及装置 |
US11638135B2 (en) | 2016-06-28 | 2023-04-25 | Apple Inc. | Core network design for mission-critical IoT |
US10659283B2 (en) | 2016-07-08 | 2020-05-19 | Cisco Technology, Inc. | Reducing ARP/ND flooding in cloud environment |
US10263898B2 (en) | 2016-07-20 | 2019-04-16 | Cisco Technology, Inc. | System and method for implementing universal cloud classification (UCC) as a service (UCCaaS) |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
US11044162B2 (en) | 2016-12-06 | 2021-06-22 | Cisco Technology, Inc. | Orchestration of cloud and fog interactions |
US10326817B2 (en) | 2016-12-20 | 2019-06-18 | Cisco Technology, Inc. | System and method for quality-aware recording in large scale collaborate clouds |
US10334029B2 (en) | 2017-01-10 | 2019-06-25 | Cisco Technology, Inc. | Forming neighborhood groups from disperse cloud providers |
US10552191B2 (en) | 2017-01-26 | 2020-02-04 | Cisco Technology, Inc. | Distributed hybrid cloud orchestration model |
US10200306B2 (en) | 2017-03-07 | 2019-02-05 | Nicira, Inc. | Visualization of packet tracing operation results |
US10892940B2 (en) | 2017-07-21 | 2021-01-12 | Cisco Technology, Inc. | Scalable statistics and analytics mechanisms in cloud networking |
US10608887B2 (en) | 2017-10-06 | 2020-03-31 | Nicira, Inc. | Using packet tracing tool to automatically execute packet capture operations |
US10511459B2 (en) | 2017-11-14 | 2019-12-17 | Nicira, Inc. | Selection of managed forwarding element for bridge spanning multiple datacenters |
US10374827B2 (en) | 2017-11-14 | 2019-08-06 | Nicira, Inc. | Identifier that maps to different networks at different datacenters |
JP7251085B2 (ja) * | 2018-09-27 | 2023-04-04 | 株式会社リコー | ネットワークシステム、通信制御装置、通信制御方法およびプログラム |
US11283699B2 (en) | 2020-01-17 | 2022-03-22 | Vmware, Inc. | Practical overlay network latency measurement in datacenter |
US11496437B2 (en) | 2020-04-06 | 2022-11-08 | Vmware, Inc. | Selective ARP proxy |
US11196628B1 (en) | 2020-07-29 | 2021-12-07 | Vmware, Inc. | Monitoring container clusters |
US11558426B2 (en) | 2020-07-29 | 2023-01-17 | Vmware, Inc. | Connection tracking for container cluster |
US11570090B2 (en) | 2020-07-29 | 2023-01-31 | Vmware, Inc. | Flow tracing operation in container cluster |
US11736436B2 (en) | 2020-12-31 | 2023-08-22 | Vmware, Inc. | Identifying routes with indirect addressing in a datacenter |
US11336533B1 (en) | 2021-01-08 | 2022-05-17 | Vmware, Inc. | Network visualization of correlations between logical elements and associated physical elements |
US11805101B2 (en) | 2021-04-06 | 2023-10-31 | Vmware, Inc. | Secured suppression of address discovery messages |
US11687210B2 (en) | 2021-07-05 | 2023-06-27 | Vmware, Inc. | Criteria-based expansion of group nodes in a network topology visualization |
US11711278B2 (en) | 2021-07-24 | 2023-07-25 | Vmware, Inc. | Visualization of flow trace operation across multiple sites |
US11706109B2 (en) | 2021-09-17 | 2023-07-18 | Vmware, Inc. | Performance of traffic monitoring actions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798103A (zh) * | 2004-12-29 | 2006-07-05 | 阿尔卡特公司 | 业务量生成器和监视器 |
US20090158082A1 (en) * | 2007-12-18 | 2009-06-18 | Vinit Jain | Failover in a host concurrently supporting multiple virtual ip addresses across multiple adapters |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008060747A (ja) | 2006-08-30 | 2008-03-13 | Nec Corp | レイヤ2負荷分散システム、レイヤ2負荷分散装置及びそれらに用いるレイヤ2負荷分散方法 |
JP4683345B2 (ja) | 2008-04-04 | 2011-05-18 | 日本電気株式会社 | ネットワーク負荷分散装置、ネットワーク負荷分散方法及びプログラム |
JP5352861B2 (ja) | 2009-10-09 | 2013-11-27 | 旭化成エレクトロニクス株式会社 | ポインティングデバイス |
JP5392034B2 (ja) * | 2009-12-01 | 2014-01-22 | 富士通株式会社 | 通信装置および通信方法 |
-
2012
- 2012-03-26 WO PCT/JP2012/057727 patent/WO2012133290A1/ja active Application Filing
- 2012-03-26 CN CN2012800164922A patent/CN103460653A/zh active Pending
- 2012-03-26 JP JP2013507555A patent/JP5757324B2/ja not_active Expired - Fee Related
- 2012-03-26 US US14/008,091 patent/US20140019639A1/en not_active Abandoned
- 2012-03-26 EP EP12764671.9A patent/EP2693696A4/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1798103A (zh) * | 2004-12-29 | 2006-07-05 | 阿尔卡特公司 | 业务量生成器和监视器 |
US20090158082A1 (en) * | 2007-12-18 | 2009-06-18 | Vinit Jain | Failover in a host concurrently supporting multiple virtual ip addresses across multiple adapters |
CN101884208A (zh) * | 2007-12-18 | 2010-11-10 | 国际商业机器公司 | 在多个适配器间同时支持多个虚拟ip地址的主机中的故障转移 |
Non-Patent Citations (2)
Title |
---|
HARDEEP UPPAL等: ""OpenFlow Based Load Balancing"", 《CSE561:NETWORKING PROJECT REPORT》 * |
上野洋史等: ""データセンターネットワークにおけるネットワークアプライアンス機能配備の一検討"", 《THE INSTITUTE OF ELECTRONICS CPSY20O9-36》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10681619B2 (en) | 2013-12-31 | 2020-06-09 | Huawei Technologies Co., Ltd. | Packet transmission method, device, and communications system |
US10003571B2 (en) | 2013-12-31 | 2018-06-19 | Huawei Technologies Co., Ltd. | Method and apparatus for implementing communication between virtual machines |
US9325615B2 (en) | 2013-12-31 | 2016-04-26 | Huawei Technologies Co., Ltd. | Method and apparatus for implementing communication between virtual machines |
US9577958B2 (en) | 2013-12-31 | 2017-02-21 | Huawei Technologies Co., Ltd. | Method and apparatus for implementing communication between virtual machines |
CN104995878B (zh) * | 2013-12-31 | 2019-02-05 | 华为技术有限公司 | 一种报文传输方法、设备及通信*** |
US10187846B2 (en) | 2013-12-31 | 2019-01-22 | Huawei Technologies Co., Ltd. | Packet transmission method, device, and communications system |
CN104995878A (zh) * | 2013-12-31 | 2015-10-21 | 华为技术有限公司 | 一种报文传输方法、设备及通信*** |
CN110233835A (zh) * | 2014-10-15 | 2019-09-13 | 瞻博网络公司 | 用于多层网络抽象的控制器到控制器接口 |
CN110233835B (zh) * | 2014-10-15 | 2022-01-18 | 瞻博网络公司 | 一种用于多层网络抽象的方法与*** |
CN104301451A (zh) * | 2014-10-17 | 2015-01-21 | 福建星网锐捷网络有限公司 | 一种跨网段主机通信方法、装置及*** |
CN108028801A (zh) * | 2015-07-27 | 2018-05-11 | 华为技术有限公司 | 一种基于sdn的arp实现方法及装置 |
US10652142B2 (en) | 2015-07-27 | 2020-05-12 | Huawei Technologies Co., Ltd. | SDN-based ARP implementation method and apparatus |
CN108028801B (zh) * | 2015-07-27 | 2021-02-23 | 华为技术有限公司 | 一种基于sdn的arp实现方法及装置 |
CN106817315A (zh) * | 2015-11-27 | 2017-06-09 | 财团法人资讯工业策进会 | 软件定义网络***及其网络连线路由方法 |
CN110099010A (zh) * | 2018-01-31 | 2019-08-06 | 华为技术有限公司 | 一种业务分流的方法和装置 |
US20230254248A1 (en) * | 2020-07-01 | 2023-08-10 | Nippon Telegraph And Telephone Corporation | L2 switch, communication control method, and communication control program |
Also Published As
Publication number | Publication date |
---|---|
JP5757324B2 (ja) | 2015-07-29 |
EP2693696A4 (en) | 2014-08-27 |
EP2693696A1 (en) | 2014-02-05 |
US20140019639A1 (en) | 2014-01-16 |
JPWO2012133290A1 (ja) | 2014-07-28 |
WO2012133290A1 (ja) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103460653A (zh) | 计算机***和通信方法 | |
JP5664557B2 (ja) | 計算機、ネットワーク接続切替え方法およびプログラム | |
US9215175B2 (en) | Computer system including controller and plurality of switches and communication method in computer system | |
JP5644895B2 (ja) | 通信システム、制御装置、通信方法及びプログラム | |
JP5621778B2 (ja) | コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法 | |
JP5850068B2 (ja) | 制御装置、通信システム、通信方法およびプログラム | |
KR101365667B1 (ko) | 통신 시스템, 노드, 제어 서버, 통신 방법 및 프로그램 | |
EP1164754B1 (en) | Methods and arrangements in a telecommunications system | |
JP5994851B2 (ja) | 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム | |
EP2619953B1 (en) | A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program | |
CN102365846B (zh) | 路由设置服务器、路由设置方法和路由设置程序 | |
JP5800019B2 (ja) | 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム | |
JPWO2011083780A1 (ja) | 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム | |
JP5861772B2 (ja) | ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム | |
US8526437B2 (en) | Communication system and communication control device | |
EP2905932B1 (en) | Method for multiple path packet routing | |
JP5747997B2 (ja) | 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム | |
CN1886962B (zh) | 用于处理数据包流的上下文的方法、***及Midcom代理 | |
RU2612610C1 (ru) | Устройство управления, система связи, способ передачи управляющей информации и программа | |
KR20150023645A (ko) | 스위치 장치, vlan 설정 관리 방법, 및 프로그램 | |
KR20150016916A (ko) | 컴퓨터 네트워킹에서의 패킷들의 다중 경로 라우팅을 위한 장치 및 그의 사용 방법 | |
JP5833184B2 (ja) | ネットワーク輻輳回避システム及び方法 | |
WO2015129727A1 (ja) | 通信端末、通信方法およびプログラム | |
WO2014087993A1 (ja) | 制御装置、通信システム、通信方法及びプログラム | |
JP2013048364A (ja) | 通信システム、制御装置、パケット転送方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20171003 |