用于检测负载平衡系统的设备和方法

文档序号:7969026阅读:177来源:国知局

专利名称::用于检测负载平衡系统的设备和方法
技术领域
:本发明涉及根据网络数据来掌握关于节点连接的信息,每个节点都是配备有冗余系统的负载平衡系统的组件。
背景技术
:目前,很多公司已经通过因特网或内网为其客户或内部使用构造了多个系统,以提供各种服务。为了避免由于商业机会的错失及业务操作的停滞而带来的损失,这些系统一般都是负载平衡系统,在这些系统中,负载由每个处理进行平衡,并且这些系统是冗余的。特别地,在用于任务关键的业务操作的Web(网络)系统中,为了实现较高的可用性和较高的速度,通常将这种负载平衡设备用于对集群进行配置。在系统管理和业务管理领域,系统配置信息用于分析每个系统组件对整个系统或业务的影响。尽管系统管理员应当掌握系统配置信息,但是在某些情况下,难以精确且实时地掌握系统配置信息,这些情况例如随着时间流逝,更换了系统管理员,或者系统管理员已记不清系统配置信息;以及当一个公司为针对业务或客户运行了多个系统时,有多个系统管理员。某些负载平衡系统采用了MAC(MediaAccessControl,媒体访问控制)传送模式,其包括使用通过负载平衡服务器进行传送的虚拟IP(InternetProtocol,网际协议)地址和MAC地址,以便用户能够不知不觉地访问系统。基于MAC传送模式的负载平衡系统配置有安装在同一段中的负载平衡服务器以及一个或多个集群节点。负载平衡服务器接收发往虚拟IP地址的用于集群中的包,仅重写以太网(R)层信息,并利用唯一地设置好的ARP(AddressResolutionProtocoltable,地址解析协议表)信息将包转发到集群节点的以太网(R)地址(或MAC地址)。另一方面,集群节点被设置为接收发往该虚拟IP地址的包。集群节点识别出包是直接从客户端接收的,并将包直接发回给客户端,而不经过负载平衡服务器。然而,作为基于MAC传送模式的负载平衡系统的自动检测的结果,负载平衡系统被识别为具有虚拟IP地址的节点,从而使得不可能掌握负载平衡系统的整个配置。换句话说,对IP层或更高层的网络分析会导致认为具有相同内容的包是重叠的。即使将包中的MAC地址信息用于分析,也有必要利用关于监控段中物理网络结构与逻辑网络结构之间的一致性(即MAC地址与IP地址之间的关系)的知识来进行分析。例如,当观察到内容相同但MAC地址不同的两个事务时,需要确定这种重叠是否是由MAC传送引起的,或是确定在不同信道上的包是否是以重叠方式进行监控的。另外,还可能的情况是仅仅是通信设备之间的重传,并且因此难以确定。H.Kashima在ICDE2005(2005年数据工程国际会议)上发表的“Network-basedProblemDeterminationforDistributedComputerSystems”(针对分布式计算机系统的基于网络的问题确定)一文中公开了一种用于通过使用事务信息来掌握呼叫关系的方法。非专利文献1中所公开的方法在假定存在具有IP层信息或更高层信息的事务的情况下得到了呼叫关系。这种方法不能得到由负载平衡系统形成的系统配置。这种方法仅针对通过使用所得到的配置信息而进行的分析。在负载平衡系统中,为了掌握整个冗余系统以便进行影响分析,需要基于MAC传送模式来获取关于负载平衡服务器与集群节点的连接关系的信息。
发明内容为解决前述问题,本发明提供了一种用于检测包括多个网络设备的网络系统的连接配置的设备。该设备包括用于获取流入网络系统中的第一网络数据和第二网络数据的装置;用于确定第一网络数据的内容与第二网络数据的内容是否相同以及第一网络数据的目的地地址与第二网络数据的源地址是否相同的装置;以及用于响应于确定在上述确定装置中存在一致性而提供输出的装置,该输出表明负载平衡设备设置为具有第二网络数据的源地址,并且表明集群节点设置为具有第二网络数据的目的地地址。该设备使得可以掌握当前网络的逻辑连接关系,而无需依赖系统管理员的记忆。为了更全面地理解本发明及其优点,现在参考以下结合附图而进行的描述。图1示出了负载平衡系统检测设备在其中运行的网络环境的示例。图2是负载平衡系统检测设备在其中运行的硬件配置的示意图。图3是示意性的功能配置图。图4示出了网络数据(包)的示例。图5A和图5B示出了当传送网络数据时MAC地址与IP地址的变化的示例。图6示出了网络数据数据库的表结构的示例。图7是说明用于检测负载平衡系统的组件的流程的流程图。图8A和图8B示出了由负载平衡系统检测设备找到的网络组件的示例。具体实施例方式图1示出了网络系统的环境100的示例,该网络系统中有多个网络设备,并且负载平衡系统检测设备在该网络系统中运行。尽管假定在此采用的网络配置了两个网络交换机110和120,但该网络可以配置一个交换机,或者负载平衡系统检测设备101可以支持具有三个或更多网络交换机的网络。负载平衡系统检测设备101连接到网络交换机。利用网络交换机的镜像功能,负载平衡系统检测设备101可以获取例如在网络交换机110和120与服务器设备111~114或服务器设备121~124之间传输的包之类的网络数据。除此之外,对网络数据的获取可以配置为通过直接监控网络线路来获取网络数据。网络交换机110连接到负载平衡服务器(平衡处理单元)111、处理服务器112~114等。这里,负载平衡服务器111用于将转发到虚拟IP地址的网络数据传送到处理服务器。同样,网络交换机120连接到负载平衡服务器(平衡处理单元)121、处理服务器122~124等。网络交换机110和网络交换机120直接地或间接地彼此连接。网络系统可以通过诸如因特网130之类的网络连接到客户机终端131。图2是负载平衡系统检测设备在其中运行的硬件配置200的示意图。中央处理单元CPU201在不同的操作系统的控制下执行不同的程序。CPU201通过总线202与存储器203、磁盘204、显示适配器205、用户接口206和网络接口207互连。磁盘204包含使得用于实现本发明的计算机运转的软件和操作系统,以及用于实现本发明的程序等。根据需要,这些程序被载入内存并由CPU执行。磁盘204还容纳了从网络交换机等处获取的网络数据,或者正在处理的(in-process)数据等,以获得网络配置信息。CPU201通过用户接口206连接到键盘209和鼠标210,通过显示适配器205连接到显示设备208,并且通过网络接口207连接到网络211。利用键盘209和鼠标210来操作负载平衡系统检测设备,并且在显示设备208上显示正在处理的或已处理的数据。网络接口207连接到网卡等。本发明可以通过网络211在分布式环境中执行。CPU201通过网络接口207连接到网络交换机212。顺便提及,硬件配置200只是计算机系统、总线布局和网络互连的一个实施例的示例,并且本发明的特征可以以多种系统配置来实现,这些系统配置诸如具有多个相同组件的形式或进一步分布在网络上的形式。图3是示意性的功能配置图。网络数据获取部分使用网络交换机的镜像功能来获取网络数据,并在网络数据数据库(DB)302中注册这些网络数据。然而,当除了以太网(R)报头以外的内容都与已获取的网络数据相同的网络数据已经被注册时,网络数据获取部分301不对该网络数据进行注册,而是将该数据传递给网络数据确定部分以供后续处理。数据管理部分303在超时控制下丢弃已在网络数据数据库302注册的网络数据,并从而管理网络数据。同时,大量的网络数据流入网络,基于MAC传送模式的网络数据传送仅在一瞬间完成。相应地,不必长时间地保留网络数据就能找到重叠的网络数据是有可能的。因此,网络数据管理部分303会在一定时间之后删除网络数据。可以响应于表示包含网络数据的事务完成的标志而执行对该网络数据的删除。当除了以太网(R)报头以外的内容都相同的网络数据已经被注册时,网络数据确定部分304会根据以太网(R)报头来指定源MAC地址,并根据目的地MAC地址的内容来确定负载平衡服务器和集群节点。处理详情将在后面描述。网络配置输出部分306针对每一个集群将负载平衡服务器与集群节点相关联,并输出结果数据。图4示出了网络数据(包)的示例。图中的参考标号401表示以太网(R)报头。以太网(R)报头401包含目的地MAC地址402、源MAC地址403、类型404等。IP报头411包含源IP地址412和目的地IP地址413。TCP(TransmissionControlProtocol,传输控制协议)报头421包含源端口422、目的地端口423和序列号424。当负载平衡服务器通过MAC传送模式将发往虚拟IP地址的网络数据传送至集群节点时,就会出现除了以太网(R)报头以外的内容完全相同的两个网络数据。具体而言,在这两个网络数据中的一个网络数据中,目的地MAC地址是负载平衡服务器。由于该数据是由负载平衡服务器传送的,因此在另一个网络数据中,目的地MAC地址将是集群节点,而源MAC地址将是负载平衡服务器。图5A示出了用于说明当来自客户机终端的网络数据由负载平衡服务器使用MAC传送模式进行传送并到达集群节点时,MAC地址和IP地址的变化的简单示例500。客户机终端具有名为IP_C1的IP地址。网络交换机502具有分别名为MAC_S1和MAC_D1的MAC地址。参考标号503表示包括负载平衡服务器的计算机集群。为集群503分配虚拟IP地址IP_V。集群503包括负载平衡服务器504和集群节点505。为负载平衡服务器504分配名为IP_D的IP地址和名为MAC_D的MAC地址。为集群节点505分配名为IP_N1的IP地址和名为MAC_N1的MAC地址。网络交换机506具有MAC地址MAC_S2。网络交换机506连接到服务器507,为服务器507分配名为IP_O的IP地址和名为MAC_O的MAC地址。服务器507是下一级的服务器,诸如数据库,在不同的段中对其进行管理以增强安全性。源于客户机终端501的网络数据(包)沿示例500的配置中的路径1~4流动。图5B显示了IP地址与MAC地址是如何变化的。网络数据路径1中的IP地址与路径2中的IP地址相同,但路径1中的目的地MAC地址与路径2中的源MAC地址相同。这表明负载平衡服务器504执行了对网络数据的MAC传送。除了以太网(R)报头以外,路径1中的网络数据与路径2中的网络数据相同。对路径3和路径4中的网络数据的比较表明,它们的源MAC地址和目的地MAC地址是彼此完全不一致的。这表明,网络数据是通过网络交换机传送的。同样,除了以太网(R)报头以外,路径3中的网络数据与路径4中的网络数据相同。图6示出了网络数据数据库的表结构的示例600。网络数据表包括下列各项源MAC地址601、目的地MAC地址602、数据哈希(hash)值603、注册时间604和网络数据605。从网络数据的以太网(R)报头中提取源MAC地址601和目的地MAC地址602。通过哈希函数,基于除了以太网(R)报头以外的网络数据来确定数据哈希值603。使用哈希值的目的是通过比较哈希值来减少处理时间,原因是对所有数据进行比较以确定两个网络数据是否相同比较耗费时间。数据哈希值603可以用诸如TCP报头中的唯一地确定的序列号之类的任意值来代替。注册时间604用于删除数据。例如,自注册开始1秒或几秒之后,图3所示的数据管理部分303就会基于注册时间604的数据处理时间来删除记录。网络数据605实际上是已注册的网络数据。从网络数据605中提取诸如IP地址、端口号或事务的开始和结束之类的信息。然而,如果IP地址或端口号是作为不同的项进行注册的,就没有必要注册网络数据605了。图7示出了用于基于MAC传送模式来检测负载平衡系统的组件的流程700。处理开始于步骤701。在步骤702获取网络数据。在步骤703,确定是否已经在网络数据管理数据库中注册了与已获取的的网络数据相同的网络数据。利用数据哈希值进行比较加速了该确定的处理。如果在步骤703确定重叠的网络数据还没有被注册(“否”),则处理返回到步骤702,在步骤702,下一个数据随后被注册。另一方面,当在步骤703确定重叠的网络数据已经被注册(“是”)时,处理转至步骤704。在步骤704,确定重叠网络数据的目的地MAC地址是否彼此一致。当在步骤704确定目的地MAC地址彼此一致(“是”)时,处理返回到步骤702,在步骤702,下一个数据随后被注册。这是因为,目的地MAC地址的彼此一致将导致确定该网络数据为经过再传送的网络数据。另一方面,当在步骤704确定目的地MAC地址并非彼此一致(“否”)时,处理转至步骤705。在步骤705,确定目的地MAC地址集合与源MAC地址集合是否彼此一致。这里,使用MAC地址集合的原因是,由于负载平衡服务器甚至在很短的时间内就要执行多个MAC传送,因此可以将MAC地址掌握为一个集合。尽管将对MAC地址集合的掌握实现了更高的精确度,但MAC地址并非必须局限于被作为集合而掌握。当在步骤705确定不存在一致性(“否”)时,处理转至步骤707。在步骤707,基于网络交换机的MAC地址来指定位于网络交换机的另一边的下一级上的服务器,诸如图5中示出的服务器507。之后,处理转至步骤709。当在步骤705确定存在一致性(“是”)时,处理转至步骤706。在步骤706,将步骤705中的一致的MAC地址设置为负载平衡服务器的MAC地址。另外,与源MAC地址一样,将具有负载平衡服务器MAC地址的网络数据的目的地MAC地址设置为集群节点的MAC地址。然后,处理返回到步骤702以进行重复。在步骤708,与源MAC地址一样,将具有上述负载平衡服务器MAC地址的网络数据的目的地MAC地址设置为集群节点的MAC地址。在步骤709,确定是否要进一步重复该处理。当在步骤709确定要重复该处理(“是”)时,处理返回到步骤702。当在步骤709确定不重复该处理(“否”)时,处理转至步骤710,处理在步骤710结束。图8A和图8B示出了由负载平衡系统检测设备找到的网络组件的示例。图8A示出,指定了分别具有虚拟IP地址V_IP1和V_IP2的两个集群,并且此外,ND_MAC11通过网络交换机连接到下一级服务器。图8B示出,尽管集群使用了相同的虚拟IP地址,但仍根据端口号对集群进行了划分。如上所述,根据本发明负载平衡系统检测设备在无需依赖系统管理员的情况下使得可以检测和获取当前活动的系统配置信息。相应地,可以掌握集群与构成集群的集群节点(服务器)之间的关系,并且可以执行业务影响分析和对IT(信息技术)系统可用性的影响分析。尽管以上已经参考本发明的实施例而描述了本发明,但应当理解,本发明的范围并不局限于以上实施例。对本领域普通技术人员来说,显然可以对以上实施例进行各种改变和修改。另外,在所附权利要求书中旨在覆盖在本发明范围之内的所有这些改变和修改。尽管已经详细描述了本发明的优选实施例,但应当理解,在不偏离所附权利要求书所限定的本发明的本质和范围的情况下,可以在其中进行各种改变、替代和变更。权利要求1.一种用于检测包括多个网络设备的网络系统的连接配置的设备,包括用于获取流入所述网络系统中的第一网络数据和第二网络数据的装置;用于确定所述第一网络数据的内容与所述第二网络数据的内容是否相同以及所述第一网络数据的目的地地址与所述第二网络数据的源地址是否相同的装置;以及用于响应于确定在上述确定装置中存在一致性而提供输出的装置,所述输出表明所述负载平衡设备设置为具有所述第二网络数据的源地址,并且表明集群节点设置为具有所述第二网络数据的目的地地址。2.根据权利要求1所述的装置,其中所述目的地地址和所述源地址分别为源MAC地址和目的地MAC地址;所述网络数据是具有虚拟IP地址的包;并且所述负载平衡设备执行对所述包的MAC传送。3.根据权利要求1所述的设备,其中所述获取装置通过使用包括在所述网络系统中的网络交换机的镜像功能来获取所述网络数据。4.根据权利要求2所述的设备,其中当所述第一网络数据的内容与所述第二网络数据的内容相同,并且在所述第一网络数据的源MAC地址或目的地MAC地址与所述第二网络数据的源MAC地址或目的地MAC地址之间不存在一致性时,所述确定装置基于所述集群节点的MAC地址而指定下一级服务器。5.根据权利要求2所述的设备,其中所述网络数据的内容是除了以太网(R)报头以外的部分。6.根据权利要求1所述的设备,还包括用于在其中注册所述网络数据的数据库,其中,当所述网络数据已在所述数据库中注册时,所述获取装置注册所述网络数据的内容的哈希值。7.根据权利要求6所述的设备,还包括自注册所述网络数据开始一定时间之后删除所述网络数据的装置。8.一种方法,包括以下步骤获取第一网络数据;确定在内容上与所述第一网络数据相同的第二网络数据是否已在网络数据数据库中注册;响应于确定已经注册了相同的第二网络数据,确定以下所述之一即所述第一网络数据的目的地地址与所述第二网络数据的源地址是否相同,以及所述第一网络数据的源地址与所述第二网络数据的目的地地址是否相同;以及响应于确定在上述确定步骤中存在一致性而确定所述一致的源地址和目的地地址已设置为负载平衡设备的地址。9.根据权利要求8所述的方法,其中以所述负载平衡设备的地址作为源地址的网络数据的目的地地址被设置为集群节点的地址。10.根据权利要求8所述的方法,其中所述目的地地址和所述源地址分别为源MAC地址和目的地MAC地址;所述网络数据是具有虚拟IP地址的包;并且所述负载平衡设备执行对所述包的MAC传送。11.根据权利要求10所述的方法,还包括一个步骤,即当所述第一网络数据的内容与所述第二网络数据的内容相同,并且在所述第一网络数据的源MAC地址或目的地MAC地址与所述第二网络数据的源MAC地址或目的地MAC地址之间不存在一致性时,基于所述集群节点的MAC地址而指定下一级服务器。12.根据权利要求11所述的方法,其中所述确定是否已经注册了相同数据的步骤使用TCP报头的序列号来进行确定。13.根据权利要求8所述的方法,其中所述确定是否已经注册了相同数据的步骤使用所述网络数据的内容的哈希值来进行确定。14.根据权利要求8所述的方法,还包括自注册所述网络数据开始一定时间之后删除所述网络数据的步骤。全文摘要本发明提供了一种设备,包括用于获取流入网络系统中的第一网络数据和第二网络数据的装置;用于确定第一网络数据的内容与第二网络数据的内容是否相同以及第一网络数据的目的地地址与第二网络数据的源地址是否相同的装置;以及用于响应于确定在上述确定装置中存在一致性而提供输出的装置,该输出表明负载平衡设备设置为具有第二网络数据的源地址,并且表明集群节点设置为具有第二网络数据的目的地地址。该设备使得可以掌握当前网络的逻辑连接关系,而无需依赖系统管理员的记忆。文档编号H04L1/22GK1992647SQ200610135788公开日2007年7月4日申请日期2006年10月19日优先权日2005年12月27日发明者津村直史申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1