检测透明网络通信拦截工具.pdf

上传人:111****112 文档编号:468344 上传时间:2018-02-18 格式:PDF 页数:23 大小:1.59MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380013906.0

申请日:

2013.03.08

公开号:

CN104169904A

公开日:

2014.11.26

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 15/173申请日:20130308|||公开

IPC分类号:

G06F15/173

主分类号:

G06F15/173

申请人:

国际商业机器公司

发明人:

J·W·布兰奇; M·E·尼德; R·里斯曼

地址:

美国纽约

优先权:

2012.03.13 US 13/418,761

专利代理机构:

北京市中咨律师事务所 11247

代理人:

于静;张亚非

PDF下载: PDF下载
内容摘要

提供用于识别网络拓扑(305)内的透明网络通信拦截工具(430、530)的机制。所述机制从所述网络拓扑内的多个设备收集网络配置数据(305,610),并使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置数据中指示透明网络通信拦截工具的存在的模式(430,530,630)。所述机制基于对所收集的网络配置数据的分析结果计算置信测量值(640)。所述机制还响应于所计算的置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备(680)。

权利要求书

1.  一种在数据处理系统(200、300)中的用于识别网络拓扑(305)内的透明网络通信拦截工具(430、350)的方法,所述方法包括:
从所述网络拓扑内的多个设备收集网络配置数据(610);
使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置数据中指示透明网络通信拦截工具的存在的模式(630);
基于对所收集的网络配置数据的分析结果计算置信测量值(640);以及
响应于所计算的置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备(680)。

2.
  根据权利要求1所述的方法,其中使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置数据中的模式(630)包括:
计算所收集的网络配置数据中的模式;
将计算的所收集的网络配置数据中的模式与指示透明网络通信拦截工具的存在的一个或多个已知模式进行比较;以及
判定所计算的模式是否在给定容限内与所述一个或多个已知模式中的至少一个匹配。

3.
  根据权利要求1所述的方法,还包括:
接收指示所述分析结果和所述置信测量的计算是否准确的反馈输入;以及
基于所述反馈输入修改所述一种或多种试探法中的至少一个。

4.
  根据权利要求1所述的方法,其中所述一种或多种试探法包括多网关试探法,所述多网关试探法分析到所述网络拓扑(305)内的所述多个设备中的关联设备组(410、510)的子网网关计算设备分配,以便识别是否有一个以上网关计算设备(430、530)与所述设备组(410、510)关联,并且其中计算所述置信测量值(640)包括:响应于所述多网关试探法识别到有一个以上网关计算设备与所述设备组关联而增大所述置信测量值。

5.
  根据权利要求1所述的方法,其中所述一种或多种试探法包括距离试探法,所述距离试探法计算所述网络拓扑(305)的所述多个设备(410、510)所使用的设备名或设备通信端口中的至少一个之间的差分距离,并将所述差分距离与至少一个阈值进行比较,并且其中计算所述置信测量值包括:响应于所述差分距离等于或大于所述至少一个阈值而增大所述置信测量值。

6.
  根据权利要求5所述的方法,其中使用加权差分算法计算所述差分距离,所述加权差分算法确定将所述多个设备(410、510)中的第一设备(402、502)的一个服务器名或端口分配更改为第二设备(404、504)的服务器名或端口分配所必需的更改量,并且使用不同的加权值为不同类型的更改加权。

7.
  根据权利要求1所述的方法,其中所述一种或多种试探法包括环回网络接口试探法,所述环回网络接口试探法判定环回设备是否存在于所述网络拓扑(305)内并具有不在已建立的环回地址范围内的关联地址,并且其中计算所述置信测量(640)包括:响应于判定环回设备存在于所述网络拓扑(305)内并具有不在已建立的环回地址范围内的关联地址而增大所述置信测量。

8.
  根据权利要求1所述的方法,其中所述一种或多种试探法包括网关地址分析试探法,所述网关地址分析试探法分析与所述多个设备(410、510)中的设备(402、404、502、504)关联的地址以识别与所述设备关联的地址中指示关联设备是透明网络通信拦截工具(430、530)的模式。

9.
  根据权利要求8所述的方法,其中所述地址中的模式是以下中的一个:将所述地址的最高有效字节设为指示所述设备是透明网络通信拦截工具的值的特定设置,或将所述地址的前两个有效字节设为指示所述设备是透明网络通信拦截工具的值的特定设置。

10.
  根据权利要求1所述的方法,其中所述一种或多种试探法包括多地址解析试探法,所述多地址解析试探法判定所述网络拓扑(305)的所述多个设备中的一个或多个路由器(440、540)的一个或多个地址解析数据 结构是否包括其中多个网络地址映射到同一设备地址的映射,并且其中计算所述置信测量(640)包括:响应于判定所述网络拓扑(305)的所述多个设备中的一个或多个路由器(440、540)的一个或多个地址解析数据结构包括其中多个网络地址映射到同一设备地址的映射而增大所述置信测量。

11.
  一种计算机程序产品,包括其中存储计算机可读程序的计算机可读存储介质(208、224、226、230),其中当在计算设备(200、300)上执行时,所述计算机可读程序导致所述计算设备:
从网络拓扑内的多个设备收集网络配置数据(305,610);
使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置数据中指示透明网络通信拦截工具的存在的模式(430,530,630);
基于对所收集的网络配置数据的分析结果计算置信测量值(640);以及
响应于所计算的置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备(680)。

12.
  根据权利要求11所述的计算机程序产品,其中所述计算机可读程序通过以下步骤进一步导致所述计算设备使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置数据中的模式(630):
计算所收集的网络配置数据中的模式;
将计算的所收集的网络配置数据中的模式与指示透明网络通信拦截工具的存在的一个或多个已知模式进行比较;以及
判定所计算的模式是否在给定容限内与所述一个或多个已知模式中的至少一个匹配。

13.
  根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括多网关试探法,所述多网关试探法分析到所述网络拓扑(305)内的所述多个设备中的关联设备组(410、510)的子网网关计算设备分配,以便识别是否有一个以上网关计算设备(430、530)与所述设备组(410、510)关联,并且其中计算所述置信测量值(640)包括:响应于所述多网 关试探法识别到有一个以上网关计算设备与所述设备组关联而增大所述置信测量值。

14.
  根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括距离试探法,所述距离试探法计算所述网络拓扑(305)的所述多个设备(410、510)所使用的设备名或设备通信端口中的至少一个之间的差分距离,并将所述差分距离与至少一个阈值进行比较,并且其中计算所述置信测量值包括:响应于所述差分距离等于或大于所述至少一个阈值而增大所述置信测量值。

15.
  根据权利要求14所述的计算机程序产品,其中使用加权差分算法计算所述差分距离,所述加权差分算法确定将所述多个设备(410、510)中的第一设备(402、502)的一个服务器名或端口分配更改为第二设备(404、504)的服务器名或端口分配所必需的更改量,并且使用不同的加权值为不同类型的更改加权。

16.
  根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括环回网络接口试探法,所述环回网络接口试探法判定环回设备是否存在于所述网络拓扑(305)内并具有不在已建立的环回地址范围内的关联地址,并且其中计算所述置信测量(640)包括:响应于判定环回设备存在于所述网络拓扑(305)内并具有不在已建立的环回地址范围内的关联地址而增大所述置信测量。

17.
  根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括网关地址分析试探法,所述网关地址分析试探法分析与所述多个设备(410、510)中的设备(402、404、502、504)关联的地址以识别与所述设备关联的地址中指示关联设备是透明网络通信拦截工具(430、530)的模式。

18.
  根据权利要求17所述的计算机程序产品,其中所述地址中的模式是以下中的一个:将所述地址的最高有效字节设为指示所述设备是透明网络通信拦截工具的值的特定设置,或将所述地址的前两个有效字节设为指示所述设备是透明网络通信拦截工具的值的特定设置。

19.
  根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括多地址解析试探法,所述多地址解析试探法判定所述网络拓扑(305)的所述多个设备中的一个或多个路由器(440、540)的一个或多个地址解析数据结构是否包括其中多个网络地址映射到同一设备地址的映射,并且其中计算所述置信测量(640)包括:响应于判定所述网络拓扑(305)的所述多个设备中的一个或多个路由器(440、540)的一个或多个地址解析数据结构包括其中多个网络地址映射到同一设备地址的映射而增大所述置信测量。

20.
  一种装置(200、300),包括:
处理器(206);以及
存储器(208、224),其与所述处理器(206)相连,其中所述存储器包括指令,当被所述处理器执行时,所述指令导致所述处理器:
从网络拓扑内的多个设备收集网络配置数据(305,610);
使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置数据中指示透明网络通信拦截工具的存在的模式(430,530,630);
基于对所收集的网络配置数据的分析结果计算置信测量值(640);以及
响应于所计算的置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备(680)。

说明书

检测透明网络通信拦截工具
技术领域
本发明一般地涉及改进的数据处理装置和方法,更具体地说,涉及用于检测诸如防火墙和负载平衡器之类的透明网络通信拦截工具的机制。
背景技术
当诸如防火墙和负载平衡器之类的工具构造完善并且被正确安装时,这些组件的功能应该很难被自动发现。其中一种原因是网络安全性实施。为了阻止恶意活动,防火墙和负载平衡器应该在计算网络中仅呈现为另一种设备(例如,路由器或服务器)。而且,合法的发现机制使用管理连接来发现网络中存在的元件。由于安全性机制,只有授权的客户机才被允许进行管理连接。在许多情况下,很难获取进行此类安全连接的证书,从而使得防火墙和负载平衡器很难被检测到。甚至超越涉及安全性的范畴,从可能不需要安全证书的发现机制角度来看,防火墙和负载平衡器就像服务器或路由器之类的一般网络组件那样执行任务。在数据中心上下文中,情况尤其如此,因为它们的唯一功能对于最终用户是透明的,不受合法发现技术的影响。
发明内容
在一个示例性实施例中,提供一种在数据处理系统中的用于识别网络拓扑内的透明网络通信拦截工具的方法。所述方法包括从所述网络拓扑内的多个设备收集网络配置数据并使用一种或多种试探法(heuristics)分析所收集的网络配置数据以识别所收集的网络配置数据中指示透明网络通信拦截工具的存在的模式。所述方法还包括基于对所收集的网络配置数据的 分析结果计算置信测量值。此外,所述方法包括响应于所计算的置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备。
在其它示例性实施例中,提供一种计算机程序产品,该计算机程序产品包括具有计算机可读程序的计算机可用或可读存储介质,当在计算设备上执行时,所述计算机可读程序导致所述计算设备执行上面参考方法示例性实施例概述的操作中的多个操作以及这些操作的组合。
在又一示例性实施例中,提供一种系统/装置。所述系统/装置可包括一个或多个处理器以及与所述一个或多个处理器相连的存储器。所述存储器可包括指令,当被所述一个或多个处理器执行时,这些指令导致所述一个或多个处理器执行上面参考方法示例性实施例概述的操作中的多个操作以及这些操作的组合。
将参考下面对本发明的实例实施例的详细描述来说明本发明的这些以及其它特征和优点,并且通过下面的详细描述,这些以及其它特征和优点将对于本领域的普通技术人员来说变得更显而易见。
附图说明
当结合附图阅读时,通过参考下面对示例性实施例的详细描述,可最佳地理解本发明、其优选使用方式以及进一步的目标和优点,这些附图是:
图1是其中可实现示例性实施例的各方面的分布式数据处理系统的实例图;
图2是其中可实现示例性实施例的各方面的计算设备的实例框图;
图3是根据一个示例性实施例的透明网络通信拦截工具(例如,负载平衡器)检测机制的主操作元件的实例框图;
图4示出其中包括服务器计算设备的服务器集群(或群)经由第二层交换机连接到负载平衡器的网络配置;
图5是示出对传输层上的虚拟IP地址(VIP)和真实IP地址(RIP)均做出响应,但是仅针对RIP发送地址解析协议(ARP)响应的服务器的 实例图;以及
图6是示出根据一个示例性实施例的负载平衡器检测试探法引擎的实例操作的流程图。
具体实施方式
各示例性实施例提供用于发现诸如防火墙和负载平衡器之类的透明网络通信拦截工具的机制。这些工具在此被称为透明网络通信拦截工具是因为这些工具的本质是充当数据通信的源和目标之间的中介,因此,它们拦截这些通信,执行对通信的某些处理(例如,路由、过滤、修改等),然后转发/阻止通信。这些工具在此被称为“透明”是因为这些工具的真实本质/配置对于标准的发现机制而言是透明的,并且仅呈现为另一常见网络设备,不实现下面描述的示例性实施例的机制的标准发现机制不会了解它们的特殊用途。
在网络基础设施中检测诸如防火墙和负载平衡器之类的透明网络通信拦截工具的位置对于在数据网络中执行的多个网络管理操作而言非常重要。例如,此类检测可对于迁移操作非常重要,尤其是对于受管服务器集群的迁移,即,将服务、软件实例、数据和/或类似的项目从一组服务器计算设备移动到位于相同或不同网络/地理位置的另一组服务器计算设备。也就是说,当迁移受管服务器集群时,重要的是将服务器集群及其防火墙/负载平衡器作为单个单元迁移。这是因为负载平衡器作为服务器的“前端”执行操作并且当服务器移动时,一般需要重新配置负载平衡器。为实现最佳性能,负载平衡器和服务器应该彼此靠近。为此,它们通常一起移动,或者在新的数据中心建立新的负载平衡器。这样,重要的是了解防火墙/负载平衡器在网络基础设施中所处的位置,以便能够将防火墙/负载平衡器及其关联的受管服务器集群一起移动。应当理解,对于其它网络管理操作,识别防火墙/负载平衡器、或其它透明网络通信拦截工具的位置也很重要。
但是,如上所述,在自动识别诸如防火墙和负载平衡器之类的透明网络通信拦截工具的位置方面存在障碍。发现机制利用管理连接执行它们的 发现操作,由于安全机制和安全问题,此类透明网络通信拦截工具不会对这些管理连接上的管理发现请求做出应答。因此,透明网络通信拦截工具针对发现机制似乎只是网络拓扑中的另一设备,因此,发现机制无法区分哪些设备是诸如防火墙或负载平衡器之类的实际透明网络通信拦截工具。
各示例性实施例提供用于识别网络拓扑中的透明网络通信拦截工具的机制。各示例性实施例提供用于使用基于非探测的检测方法预测诸如防火墙和负载平衡器之类的透明网络通信拦截工具的存在和位置的框架和试探法。各示例性实施例的机制查找从网络设备收集的网络配置数据和应用/文件数据中的特定模式,然后将这些模式与指示透明网络通信拦截工具的存在和/或位置的已知模式进行匹配。然后基于数据模式的匹配计算置信测量以确定预测透明网络通信拦截工具的存在/位置的置信水平。基于置信测量,然后可生成通知并将该通知发送给系统管理员、自动迁移机制等,以向特定实体通知透明网络通信拦截工具的存在/位置。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在 本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
包含在计算机可读介质中的计算机代码可使用任何适当的介质传输,其中包括但不限于无线、线缆、光纤电缆、射频(RF)等,或上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如JavaTM、SmalltalkTM、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明示例性实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
因此,示例性实施例可被用于多种不同类型的数据处理环境。为了提供描述示例性实施例的特定元件和功能的上下文,下面提供图1和2作为其中可实现示例性实施例的各方面的实例环境。应该理解,图1和2仅作为实例,并非旨在宣称或暗示对其中可实现本发明的各方面或实施例的环境的任何限制。在不偏离本发明的精神和范围的情况下,可对所示环境做出许多修改。
图1示出其中可实现示例性实施例的各方面的实例分布式数据处理系统的图形表示。分布式数据处理系统100可包括其中可实现示例性实施例 的各方面的计算机网络。分布式数据处理系统100包含至少一个网络102,该网络是用于提供分布式数据处理网络100中连接在一起的多个设备与计算机之间的通信链路的介质。网络102可包括连接,例如有线、无线通信链路或光缆。
在所示实例中,服务器104和服务器106连同存储单元108一起与网络102相连。此外,客户机110、112和114与网络102相连。这些客户机110、112和114例如可以是个人计算机、网络计算机等。在所示实例中,服务器104将诸如引导文件、操作系统映像及应用之类的数据提供给客户机110、112和114。客户机110、112和114在所示实例中是服务器104的客户机。分布式数据处理系统100可以包括额外服务器、客户机以及其它未示出的设备。
在所示实例中,网络数据处理系统100是因特网,同时网络102代表全球范围内使用传输控制协议/网际协议(TCP/IP)协议集来相互通信的网络和网关的集合。在因特网的核心是主节点或主机之间的高速数据通信线路的主干,它包括数以千计的商业、政府、教育以及其他路由数据和消息的计算机系统。当然,网络数据处理系统100也可以被实现为包括许多不同类型的网络,诸如例如企业内部互联网、局域网(LAN)或广域网(WAN)。如上所述,图1旨在作为一个实例,并非旨在作为对本发明的不同实施例的体系结构限制,因此,图1所示的特定元件不应被视为对其中可实现本发明的示例性实施例的环境的限制。
图2是其中可实现示例性实施例的各方面的实例数据处理系统的框图。数据处理系统200是诸如图1中的客户机110之类的计算机的实例,其中可包含实现本发明的示例性实施例的过程的计算机可用代码或指令。
在所示实例中,数据处理系统200采用中心架构,其中包括北桥和内存控制中心(NB/MCH)202以及南桥和输入/输出(I/O)控制中心(SB/ICH)204。处理单元206、主存储器208和图形处理器210与NB/MCH202相连。图形处理器210可通过加速图形端口(AGP)与NB/MCH202相连。
在所示实例中,局域网(LAN)适配器212与SB/ICH 204相连。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232,以及PCI/PCIe设备234通过总线238和240与SB/ICH 204相连。PCI/PCIe设备例如可包括用于笔记本计算机的以太网适配器、附加卡和PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM 224例如可以是闪存基本输入/输出系统(BIOS)。
HDD 226和CD-ROM驱动器230通过总线240与SB/ICH 204相连。HDD 226和CD-ROM驱动器230例如可使用集成驱动电子设备(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可与SB/ICH204相连。
操作系统在处理单元206上运行。操作系统协调图2所示的数据处理系统200内的各个组件并提供对它们的控制。作为客户机,操作系统可以是诸如之类在市场上可买到的操作系统。诸如JavaTM编程系统之类面向对象的编程系统可结合操作系统运行,并且提供从数据处理系统200上执行的JavaTM程序或应用对操作系统的调用。
作为服务器,数据处理系统200例如可以是eServerTM计算机系统,该系统运行高级交互执行操作系统或操作系统。数据处理系统200可以是在处理单元206中包括多个处理器的对称多处理器(SMP)系统。备选地,可采用单处理器系统。
用于操作系统、面向对象的编程系统以及应用或程序的指令位于诸如HDD 226之类的存储设备中,并且可被加载到主存储器208中以便由处理单元206执行。本发明的各示例性实施例的过程可由处理单元206使用计算机可用程序代码执行,该计算机可用程序代码可位于诸如主存储器208、ROM 224之类的存储器中,也可位于例如一个或多个外围设备226和230中。
图2所示的诸如总线238或总线240之类的总线系统可包括一个或多个总线。当然,总线系统也可使用任何类型的通信结构或架构实现,这些 通信结构或架构提供与它们相连的不同组件或设备之间的数据传输。图2中诸如调制解调器222或网络适配器212之类的通信单元可包括一个或多个用于发送和接收数据的设备。存储器例如可以是主存储器208、ROM224或在图2的NB/MCH中发现的高速缓存。
本领域的普通技术人员将理解,图1和2中的硬件可根据实现而变化,可使用诸如闪存、等效的非易失性存储器或光盘驱动器之类的其它内部硬件或外围设备作为图1和2所示的硬件的补充或替代。另外,在不偏离本发明的精神和范围的情况下,各示例性实施例的过程也可应用于上述SMP系统之外的多处理器数据处理系统。
此外,数据处理系统200可采取多种不同的数据处理系统中的任一个,其中包括客户机计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其它通信设备、个人数字助理(PDA)等。在某些示例性实例中,数据处理系统200可以是便携式计算设备,该设备配备闪存以提供非易失性存储器来存储例如操作系统文件和/或用户生成的文件。本质上,数据处理系统200可以是任何已知或随后开发的数据处理系统而没有架构限制。
再次参考图1,网络100内的服务器104、106,或其它服务器(未示出)中的一个或多个实际可具有导致服务器104、106用作防火墙(在此情况下,服务器充当图1中未示出的其它计算设备的网关设备)、负载平衡器或其它类型的透明网络通信拦截工具的软件/硬件。备选地,诸如路由器之类在图1中未示出的其它数据处理设备可具有用于实现防火墙、负载平衡器,或其它类型的透明网络通信拦截工具的软件。
为了下面描述的目的,假设透明网络通信拦截工具是负载平衡器,其目的是:根据某些已建立的策略,在资源集群(例如,服务器、磁盘、网络链路等)上分布客户机资源请求,从而跨多个服务器平衡网络通信处理负载。因此,负载平衡器具有接收入站网络业务的入站网络地址/端口,并将入站网络业务映射到多个出站网络地址/端口,每个出站地址/端口与一个或多个后端服务器或者其它类型的计算设备关联。因此,基于负载平衡器所做的负载平衡判定,入站网络业务被重定向到这些出站地址/端口中的 一个,从而到达对应的服务器或其它计算设备以进行处理。结果,入站负载在这些多个服务器/计算设备上分布以实现负载平衡。其它类型的由于其透明本质而一般不能被发现机制发现的工具(例如,防火墙等)同样可以是示例性实施例的检测机制的主题。
可通过了解此类透明网络通信拦截工具(下文使用负载平衡器作为透明网络通信拦截工具的实例)在网络拓扑内的存在性和位置,增强网络内的许多操作。例如,当数据中心、服务器集、服务器集群、服务器上的服务、服务器上的应用等需要从一组服务器迁移到另一组服务器,或者从一个位置迁移到另一位置时,有利地将负载平衡器与受管资源(例如,服务器、服务、应用等)作为一个结合单元一起迁移。因此,有利地具有能够识别此类负载平衡器是否有可能位于网络拓扑内的发现机制,并且如果可能,识别这些负载平衡器在网络拓扑内的位置。出于上面描述的原因,当前的发现机制不能执行此类操作。
根据各示例性实施例的机制,服务器104、106、客户机110-114或者其它计算设备(未示出)中的一个或多个提供用于实现透明网络通信拦截工具(例如,防火墙、负载平衡器等)检测机制的硬件/软件。透明网络通信拦截工具(下文称为“负载平衡器”)检测机制分析在发现过程中从网络拓扑的多个设备收集的数据,以识别指示位于一个或多个设备中的负载平衡器功能的存在的数据模式。检测机制进一步基于所执行的模式分析的结果的组合计算置信测量,然后提供有关负载平衡器位于网络拓扑内和/或其在网络拓扑内的位置的通知。这些通知然后可被用于配置迁移操作或其它操作,在这些操作中,负载平衡器的存在和位置是一个因素。
图3是根据一个示例性实施例的透明网络通信拦截工具(例如,负载平衡器)检测机制的主操作元件的实例框图。图3所示的元件可被实现为硬件、软件或硬件和软件的任意组合。例如,在一个示例性实施例中,图3中的元件可被实现为软件指令和数据,该软件指令和数据被一个或多个计算设备/系统(例如,服务器计算设备、客户机计算设备、共同组成系统的计算设备的集合等)的一个或多个数据处理设备(例如,处理器、存储 器、诸如总线之类的通信硬件、网络接口等)执行/处理。
如图3所示,负载平衡器检测机制300包括一个或多个发现工具310,这些工具可操作以从网络拓扑305内的网络设备/工具收集数据并将该数据提供给数据收集和过滤引擎320。数据收集和过滤引擎320从网络拓扑30内的多个设备/工具收集发现工具310获取的数据,过滤这些数据以查找发现机制感兴趣的数据,并将经过滤的数据存储在数据仓库330中以供进一步分析和处理。负载平衡器检测试探法引擎340然后持续地、定期地或响应于用户命令、自动工具命令之类的事件或其它事件,使用已确立的试探法对数据仓库330中存储的数据执行分析以判定负载平衡器在网络拓扑内的存在和/或位置。
负载平衡器检测试探法引擎340可将有关检测/未检测网络拓扑305内的负载平衡器的通知提供给报告引擎350,报告引擎350生成被存储和/或输出到授权的用户计算设备360、自动工具370等的报告数据结构。这些元件360、370然后利用报告数据结构,对网络拓扑执行管理操作,例如迁移操作等,并且可进一步将反馈输入提供给负载平衡器检测试探法引擎340以修改试探法或试探法使用的参数,从而反映负载平衡器的存在/位置的检测是否正确,并且修改负载平衡器检测试探法引擎340的操作,使其在负载平衡器的存在/位置检测方面更精确。
如上所述,各示例性实施例利用发现工具从网络拓扑305的网络设备/工具获取网络配置数据和/或应用/文件数据。可用于收集此类网络配置数据和/或应用/文件数据的发现工具的一个实例包括位于纽约·阿蒙克市的国际商业机器公司(IBM)推出的SCOPE发现工具。SCOPE机制使用基于网络的探测(Tivoli Application Dependency Detection Manager (TADDM),也是IBM Corporation的产品)以及服务器管理员直接启动或通过自动机制启动的脚本库的组合。所使用的脚本可以是在负载平衡器检测机制300上执行的本地脚本,也可以是在网络拓扑305的多个设备/工具上执行的远程脚本。此外,可使用简单网络管理协议(SNMP)机制收集有关组成网络拓扑的多个设备(例如,路由器、交换机、服务器、工 作站、打印机、调制解调器机架等)的配置信息。其它可使用的发现工具310包括到已安装中间件的网络应用程序接口(API)的直接连接、诸如开源网络映射器(NMAP)实用工具之类的指纹识别系统等。需要指出,尽管探测可直接用于获取有关网络基础设施中其它设备的信息,但是各示例性实施例不限于使用透明网络通信拦截工具的直接探测来发现其存在和本质。与之相反,探测可以间接的方式使用,并且即使采用间接的方式,也不一定使用探测才能发挥各示例性实施例的机制的功能。
在不偏离各示例性实施例的精神和范围的情况下,可使用能够从网络拓扑的设备获取网络配置数据的任何类型的发现工具。但是,为了下面描述的目的,假设本地和远程脚本主要用于从网络拓扑内的服务器计算设备收集配置信息,因此负载平衡器、防火墙和其它透明网络通信拦截工具一般被托管在服务器计算设备上或在服务器计算设备上实现,或者与服务器计算设备关联。例如,Galapagos是脚本套件,该套件运行诸如Unix ifconfig和lsof之类实用程序,然后归档结果以及特定配置文件的副本,并且允许结果被轻松地发送到发现机制,并且被从该发现机制导入SCOPE数据库。TADDM具备某些服务器集的访问证书(登录或SNMP),因此可以通过网络连接并执行与Galapagos相同的操作。这些只是可用于提供脚本以从网络设备/工具收集配置数据的发现工具的类型实例。可使用发现工具310收集并且通过过滤机制存储在数据仓库330中的配置数据类型的实例例如对于每个设备/工具包括网络接口列表(包括环回设备),该列表包含介质访问控制(MAC)地址、设备类型、IP地址、子网掩码和默认网关信息;本地地址解析协议(ARP)高速缓存转储等。该配置数据可直接从设备/工具本身收集,也可间接地从与其连接的设备(例如,路由器、交换机或可具有更完整的ARP表的设备)收集。例如,用于直接获取信息的一个机制是使用集群分析算法,该算法从集群中的服务器收集所有开放端口的列表。这些端口中的一部分例如在每个服务器上是开放的,因此,此信息不携带任何信息(例如,端口135和445)并可被滤出。诸如smtp端口25之类的其它端口可被识别为仅在独立于基本操作系统的邮件服务器上 开放。可使用示例性实施例的机制从这些其它设备获取并分析此类配置信息,以推断透明网络通信拦截工具的存在。
SNMP对于从网络工具收集信息非常有用。网络工具上的命令行接口可根据供应商的不同而有较大的变化,并且SNMP提供更具预测性的标准化接口收集配置信息。SNMP版本3允许用户/密码认证,但是旧版本的SNMP依赖于“社区字符串”的知识。尤其是因为此弱访问保护历史,所以一般使用白名单识别哪些源IP地址被允许访问网络工具的SNMP接口。因此,为了使用SNMP作为发现工具310之一,有必要建立允许基于SNMP的发现工具访问网络拓扑305的多个设备/工具以从中收集配置信息的白名单或社区字符串。
这些脚本、探测和其它发现工具310可从网络拓扑305的多个设备/工具收集配置数据,并且将该配置数据返回到数据收集和过滤引擎320。数据收集和过滤引擎320基于数据收集和过滤引擎320的已建立的策略过滤所收集的配置数据以查找感兴趣的配置数据,并且组织经过滤的数据以存储在数据仓库330中。
负载平衡器检测试探法引擎340分析存储在数据仓库330中的数据以检测指示设备/工具的存在的模式,在正常的发现过程限制下,这些设备/工具很难检测,例如负载平衡器、防火墙和其它类型的透明网络通信拦截工具,具体是指实例实现中的负载平衡器。这些模式的本质从单个设备的配置(例如,服务器环回接口配置)到跨多个设备的特性分布(例如,单个子网上具有不同默认网关的多个主机)。使用此类模式的组合有利于渐进、有效地估计所查找的设备(例如,负载平衡器、防火墙等)的位置。
直接探测诸如负载平衡器和防火墙之类的透明网络通信拦截工具对于上述发现目的而言并非始终可行。但是,在设备配置中检测特定的模式可指示与负载平衡器、防火墙等的“关联”。具体而言,各示例性实施例的负载平衡器检测试探法引擎340使用一个或多个多设备试探法和/或一个或多个单设备试探法来估计一组主机为一个或多个负载平衡器提供资源的概率。
在详细描述负载平衡器检测试探法引擎340实现各种试探法的方式之前,首先描述试探法的基本推理。
分析子网网关分配
分析网络拓扑305的同一子网中的一组主机系统的网关分配有助于预测负载平衡器或其它透明网络通信拦截工具的存在。企业负载平衡器通常使用多种传统网络配置和分组流中的任一个来部署。图4例如示出其中包括服务器计算设备402和404的服务器集群(或群)410经由第二层交换机420连接到负载平衡器430的网络配置。服务器集群410与路由器440位于不同网络。服务器计算设备402和404提供的服务的地址是负载平衡器430的虚拟IP(VIP)地址,使得经由路由器440路由的客户机请求使用负载平衡器430的VIP地址。一旦负载平衡器430经由路由器440从客户机接收请求,负载平衡器430便使用负载平衡器430内部的网络地址转换(NAT)结构将请求的目的地地址转换为服务器集群410中的服务器402、404之一的地址。
当请求到达服务器402、404时,它们将服务器402、404的IP地址视为目的地地址,将客户机IP地址视为源地址。由于该地址转换,服务器402、404无法直接将响应分组(多个)发送回客户机,因为客户机希望应答来自请求所发送到的原始VIP。因此,服务器402、404需要将分组发送回负载平衡器430,负载平衡器430然后执行逆向网络地址转换,并将响应分组(多个)发送回发送该请求的客户机。为了实现此路由模式,负载平衡器430需要被配置为服务器402、404上的默认网关。同一子网上未实现负载平衡的其它服务器直接使用子网路由器440作为默认网关。这样,如果发现机制能够识别具有一个以上默认网关的子网,这可以指示使用诸如负载平衡器430之类的负载平衡器。
基于距离的服务器群集
与查找特定负载平衡器配置(例如,具有多个默认网关)相同,识别 可能位于使用负载平衡器的集群中的服务器的更一般的方法可以由示例性实施例的负载平衡器检测机制实现。如果可首先识别服务器集群,则可以随后调查集群以查找负载平衡器。在各示例性实施例中,可构建这样的度量:该度量指示例如可在(经由负载平衡器)提供相同服务的服务器之间找到的配置相似度。在极端情况下,服务器集群包括相同的服务器。在使用负载平衡器增加服务的安全性和弹性的情况下,服务器集群可包括提供相同服务的不同硬件和/或软件产品。但是,在多数情况下,服务器集群将运行相同(或极为相似)的硬件和软件,这样做只是为了尽可能简化管理。
通过定义服务器之间的距离度量,各示例性实施例可识别服务器集群,即,与具有相对较高距离度量的其它服务器相比,在服务器之间具有相对较小距离度量的服务器更可能位于服务器集群中。可进一步建立阈值以定义用于指示服务器集群的必要距离度量水平。在一个示例性实施例中,基于与服务器计算设备关联的名称的变化度确定“距离”度量。即,服务器计算设备名称的差异量指示服务器计算设备之间的“距离”。因此,具有明显相似的名称的服务器计算设备可能位于同一子网内,从而位于同一服务器集群内。
可用于计算距离度量的机制的一个实例在Levenshtein所著的“Binary Codes Capable of Correcting Deletions,Insertions,and Reversals(能够纠正删除、插入和撤销的二进制编码,Soviet Physics Doklady,第10卷,第8号,1996年,707-710页)”中描述。在不偏离示例性实施例的精神和范围的情况下,也可使用其它算法,例如Wagner等人所著的“The String-to-String Correction Problem(字符串到字符串纠正问题,Journal of the ACM,第21卷,第1号,1974年,168-173页)”中描述的算法。这些文献在此引入作为参考。
本质上,可使用基于“变化”量分配距离值的任何算法,其中需要该“变化”量来从一个字符串或名称转到匹配另一字符串和名称。因此,距离度量测量与服务器计算设备关联的两个或更多字符串/名称中的差异量。在一个示例性实施例中,使用服务器名称和/或开放端口距离的加权编辑 (Levenshtein)距离,即,多个服务器计算设备的端口号之间的距离。也就是说,名称之间的距离可基于编辑距离,该距离测量将一个字符串或名称更改为另一字符串或名称所需的编辑次数。例如,通过使用实例距离算法(例如Levenshtein和Wagner的文章中描述的算法),名称“Web01”和“Web02”是相隔为1(1apart)的距离,而“Web01”和“Wef01”是相隔为2(2apart)的距离,并且“Web01”和“Mike01”是相隔为8(8apart)的距离。在第一情况下,数字替换数字更改的权重为1,因为只需更改1个字符,所以距离为1。在第二情况下,更改为字母替换字母,其具有权重2,因此,距离为2个间隔。在第三情况下,更改为三个字母替换字母更换和一个字母插入,它们均具有权重2,因此距离间隔为8。
对于各示例性实施例,由于各示例性实施例查找名称分组,而非输入错误,使用加权的Levenshtein算法作为实例,将倒置计数(加权)为两个操作(而非一个),一个数字对另一个数字的替换计数为在重要性方面只是插入、删除或其它替换的一半。计算此类加权的编辑距离度量的一个算法可以是使用Wagner等人所著的“The String-to-String Correction Problem(字符串到字符串纠正问题,Journal of the ACM,第21卷,第1号,1974年,168-173页)”中描述的算法的修正形式。
在公知的端口(0-1023)上单独地计算并且针对其余端口号计算开放端口列表之间的距离。针对每组受管服务器对公共端口与服务器计算设备上的全部开放端口的比率加权,从而支持使用负载平衡器提供前端(例如,80/20有利于通用端口,因为公知的端口更可能在相连的计算设备之间共享)以生成距离度量(例如,0到100之间的值)的单个服务。也就是说,在服务器集群内,服务器计算设备倾向于具有相同的开放端口。因此,如果公共端口与一组服务器计算设备上全部开放端口的比率较高,则指示服务器计算设备位于同一服务器集群内。
可组合端口距离和服务器名距离以生成指示服务器间相似度的度量,该度量提供负载平衡器的可能存在的指示。例如,假设服务器名“Web1”和“Web2”以及“DatabaseHost”全部具有端口80上的服务,而 DatabaseHost还具有端口50000上的服务。前两个服务器“Web1”和“Web2”均使用公共端口,这不一定指示负载平衡器本身存在,但是,它们也具有极为相似的名称(只是一个数字之差),因此它们可能在集群中一起工作。第三服务器“DatabaseHost”具有极为不同的名称,并且还具有在用户空间端口上开放的服务,其它两个服务器没有此服务,因此可能不与其它两个服务器位于同一集群内。因此,通过检查名称和端口的相似度,各示例性实施例的机制可推断或预测负载平衡器或其它类型的透明网络通信拦截工具是否可能与服务器计算设备一起存在。
虽然服务器名和端口距离属性提供了负载平衡后的服务器集群的存在的良好第一预测,但是也可使用描述指示服务器集群存在性的机器功能的其它属性。例如,其它可使用的距离度量包括目录结构距离、已安装应用与操作系统之间的距离,以及数据库表(和基数)距离(尤其是,如果表大小较大并且几乎未安装其它应用)。
上面是可由负载平衡器检测试探法引擎340实现以便预测负载平衡器在网络拓扑305内的存在和/或位置的多设备试探法的实例。这些试探法中的一个或多个可用于针对网络拓扑305内的一组特定设备生成负载平衡器的存在/位置的相对评分或置信测量。该评分或置信测量可用于发送通知以指示负载平衡器是否位于网络拓扑305内,并且如果可能,指示负载平衡器的位置。
作为多设备试探法的补充和替代,负载平衡器检测试探法引擎340可使用单设备试探法获取有关负载平衡器在网络拓扑305内的可能存在和位置的信息。例如,这些单设备试探法可包含分析服务器环回网络接口和/或分析网关MAC地址,下面将对此进行描述。
分析服务器环回网络接口
环回接口是用于将电子信号、数字数据流或数据项流从其始发设施路由回源而不进行专门处理和修改的机制。环回接口可用于测试发送或传输基础设施以及可用于执行管理操作。在互联网协议版本4(Ipv4)中,最 常见的环回接口具有IP地址127.0.0.1。不是127.0.0.1的环回接口并不常见,但是当在直接路由模式下使用负载平衡器时,可找到这种环回接口。在该模式下,负载平衡器接收来自客户机的请求,然后通过更改目的地MAC地址将它们转发到同一子网上的服务器。服务器具有在环回接口上配置的服务器所提供的服务的IP地址。
如图5所示,服务器对传输层上的虚拟IP地址(VIP)和真实IP地址(RIP)两者做出响应,但是仅针对RIP发送地址解析协议(ARP)响应。也就是说,发送ARP响应以允许同一广播区(子网)中的其它计算设备将介质访问控制(MAC)地址映射到IP地址。如果两个计算设备在其物理接口上使用同一IP地址,并且对ARP做出响应,则网络行为将变成无法定义(这是失配情况)。所有指向该地址的业务实际上应转到负载平衡器,以便负载平衡器成为对ARP做出响应的唯一设备。此外,在服务器集群中,通过将公共地址配置为位于环回设备上,不发送任何ARP响应,因为环回设备未连接到任何物理网络,但是更高级的设备能够将地址识别为本地地址,因此对与该地址关联的请求做出响应。因此,如果这些配置能够被推断,例如通过示例性实施例的机制推断,则可精确地预测负载平衡器的存在。
在图5中,服务器502和504分别配置有RIP地址192.168.1.10和192.168.1.11以及VIP地址192.168.1.50。在图5中,具有“Lo0”型名称的设备在该实例中是环回设备。从图5中可看出,与交换机520相连的服务器集群510的服务器502和504与服务器负载平衡器530共享同一VIP地址192.168.1.50。因此,当交换机520经由路由器540接收客户机请求时,基于VIP将客户机请求转发到服务器负载平衡器530,负载平衡器530然后将客户机请求发送到服务器502和504两者。服务器502和504然后可经由交换机520和路由器540将应答分组发送回客户机,因为这些路由器和交换机具有客户机期望从中获取响应的同一VIP地址。
对于这种情况,发现工具310所收集的服务器502和504的网络配置信息可被分析以判定是否有一个以上服务器使用相同,或足够相似的RIP 地址,或者使用不在127.0.0.0/8子网中的环回地址。也就是说,从127.0.0.1到127.255.255.255的所有地址(即,127.0.0.0/8子网)当前在Ipv4规范中被定义为环回地址,因此一般在该范围内查找环回设备。在其它任何地址范围内找到环回设备是不正常的。对于该环回设备不正常配置的可能解释是将ARP响应抑制到一个地址,同时仍允许该地址被上层设备使用,这指示当前存在服务器集群以及对应的负载平衡器。
尽管此类分析可提供负载平衡器530的可能存在/位置的指示,但是可能存在其它理由,使用此类配置使得此试探法可能给出假肯定结果。为了进一步提高置信度,可使用其它模式,例如使用Levenshtein或类似的算法查找相似的主机/DNS名称,比较运行中的服务/开放端口的列表以查找具有相似的运行中的服务/开放端口的服务器,检验服务器驻留在同一子网上等。通过此类分析的组合,可计算评分或置信测量,该评分或置信测量指示负载平衡器位于涉及服务器502、504的网络拓扑350内的可能性。可使用加权法计算上述每个特性的评分的分量,并且得出的总评分可与已建立的阈值比较,该阈值指示判定负载平衡器最可能位于涉及服务器502、504的网络拓扑350内所需的最低评分。
分析网关MAC地址
作为上述环回和相似VIP地址分析,以及上述多设备试探法分析的补充或替代,各示例性实施例还可分析网关MAC地址以洞察负载平衡器的可能存在/位置。也即是说,负载平衡器一般被赋予虚拟IP地址和MAC地址以支持故障转移配置冗余以及其它功能。因此,使用此类信息可有助于识别实际的负载平衡器机器,这与之前主要旨在识别与负载平衡器相连的服务器的试探法相反。由于没有(可靠的)识别虚拟IP地址的手段,各示例性实施例专注于识别虚拟或本地管理的MAC地址作为识别潜在负载平衡器的方式。
本地管理的MAC地址由网络管理员或负载平衡器本身具有的某些内部算法生成。无论采用哪种方式,这些地址都不同于全域管理的地址(即, 包含组织唯一标识符的地址),因为该地址的最高有效字节的第二最高有效位被设为1而非0。另一特定于某些负载平衡器的惯例是MAC的前两个有效字节02-bf(或者01-bf或03-bf)的模式。在此,第一字节指示负载平衡器配置的类型(IGMP、单播或多播),第二字节是处理客户机请求的负载平衡服务器的优先级的占位符。尽管第二MAC模式应该将设备识别为负载平衡器,但是不能保证该模式始终被使用。因此,即使不能保证负载平衡器的存在,搜索第一模式也是有帮助的;本地管理的MAC中的此类模式可用于诸如冗余路由器之类的其它设备。但是,在与上述群集算法定义的服务器组关联的主机网关MAC当中搜索该模式可帮助增加负载平衡器检测的置信水平。也就是说,与负载平衡器功能关联的特定地址范围不保证负载平衡器的存在,但是是可能存在负载平衡器的良好指示,并且可用作有关负载平衡器的存在的可靠预测的基础。
解析为同一MAC地址的多个IP地址
负载平衡器的存在的另一指示是其中多个IP地址被解析为同一MAC地址的配置。也就是说,负载平衡器经常为多个服务提供来自同一子网的不同IP地址。例如,负载平衡器可为与客户机计算设备关联的外部网络提供多个具有以下各个IP地址的服务:IP1=192.168.1.50、IP2=192.168.1.51、IP3=192.168.1.52、IP4=192.168.1.53、IP5=192.168.1.54…。在这种情况下,每个服务具有不同的IP地址,但是这些地址均来自同一子网。
因此,各示例性实施例的机制可使用的附加试探法是查看网络拓扑305的路由器和服务器上的地址解析协议(ARP)表以识别其中多个IP地址被解析为同一MAC地址的情况。此类情况将识别虚拟机器主机或负载平衡器。因此,该试探法可用于提供对网络拓扑内的负载平衡器的可能存在/位置的额外洞察。该试探法单独地使用或者与一个或多个其它试探法结合使用可提供评分或置信测量,这些评分或置信测量可被评估以判定负载平衡器是否位于网络拓扑305内,甚至可用于识别负载平衡器在网络拓扑305内的最可能的位置。
返回参考图3,负载平衡器检测试探法引擎340使用上述试探法中的一个或多个,和/或查看从网络拓扑305内的设备/工具收集的配置数据的其它试探法来识别配置数据中的模式,例如上述指示负载平衡器或诸如防火墙之类的其它透明网络通信拦截工具的存在/位置的模式。负载平衡器检测试探法引擎340然后可以针对网络拓扑305的各部分生成评分或置信度量值,例如针对每个设备/工具、设备/工具集、网络拓扑305的已定义区域,例如子网等,这些评分或置信度量值随后可与一个或多个阈值进行比较。阈值可以被系统管理员或其它授权用户设定为指示通知负载平衡器的存在/位置所需的最低置信度的水平。基于所生成的评分或置信度量与一个或多个阈值的比较,负载平衡检测试探法引擎340判定有关负载平衡器已被检测到的通知是否应该被发送到用户计算设备360或自动系统370。
如果是,则生成通知并将其发送到计算设备360、370。通知可包括有关负载平衡器可能存在的通知,被检测到的网络拓扑304内最可能存在负载平衡器的部分的标识,该部分可以是网络拓扑305的一个区域,甚至可以是网络拓扑305内的特定设备/工具,具体取决于试探法能够识别指示负载平衡器的存在的配置数据的粒度。此外,评分或置信度量值也可被发送以便由计算设备360、370的用户和/或自动机制使用。计算设备360、370的用户和/或自动机制然后可检验负载平衡器是否位于网络拓扑305内由通知所识别的位置/区域中。这可能涉及手动检查、自动调查和分析机制等。基于此检验,可判定试探法的应用是否生成精确结果。如果否,则可经由反馈机制做出对所用的参数、所用的试探法等(例如,在试探法中使用的权重、所使用的试探法的特定组合等)的修改。
作为识别负载平衡器的存在/位置的结果,可执行进一步的网络管理操作。例如,针对迁移操作,负载平衡器的位置可被用于促进负载平衡器以及与负载平衡器关联的管理资源(例如,应用、服务器等)的迁移,就像促进单个单元的迁移那样。
因此,各示例性实施例提供这样的机制:该机制用于分析发现工具所收集的网络配置数据中的指示透明网络通信拦截工具(例如,负载平衡器、 防火墙等)的存在/位置的模式。基于此分析,此类工具的存在和位置的可能性被计算并用于将通知发送给用户/自动机制,以便在执行网络管理操作(例如,迁移操作等)中使用。
图6是示出根据一个示例性实施例的负载平衡器检测试探法引擎的实例操作的流程图。如图6所示,操作始于通过使用一个或多个发现工具从网络拓扑的设备/工具获取配置数据(步骤610)。这例如可涉及收集子网设备的网络接口和默认网关数据、子网设备的文件系统和应用注册数据等。此信息被提供给一个或多个网络配置分析试探法和服务器属性群集试探法(步骤620),这些试探法被应用于所收集的网络配置数据以识别配置数据的指示负载平衡器的存在/位置的模式(步骤630)。这些一个或多个网络配置分析试探法和服务器属性群集试探法实现上述模式识别中的一个或多个。也就是说,配置信息中指示或洞察透明网络通信拦截工具(例如,负载平衡器、防火墙等)的存在的各种模式,以及用于识别这些模式的分析逻辑可在这些试探法中实现并且被应用到所收集的数据以确定所收集的数据与这些模式、条件等的匹配水平。
基于一个或多个网络配置分析试探法的应用,计算置信度量值(步骤640)。置信度量值可以是被应用于例如网络配置数据的一个或多个个体试探法中的每一个的置信度量值的组合。也可根据与这些试探法关联的对负载平衡器的存在/位置的整体判定的相对重要性来为这些个体置信度量的每一个加权。
可以将所得到的置信度量与一个或多个预先建立的阈值进行比较(步骤650)。如果所得到的置信度量达到或超过阈值、阈值中的一个,或阈值的组合(步骤660),则检测到可能的负载平衡器(步骤670),并且可生成通知并将其发送到授权用户/自动系统(步骤680)。如果所得到的置信度量未达到或超过阈值、阈值中的一个,或阈值的组合,则确定发生检测失败(步骤690)并且不发送任何通知。操作然后结束。
因此,各示例性实施例提供用于概率性地识别计算机负载平衡器、防火墙或其它透明网络通信拦截工具、托管此类工具管理的资源的计算设备/ 系统的机制。各示例性实施例的机制从网络拓扑的设备/工具收集网络配置数据,从网络拓扑的这些设备/工具收集文件系统和应用注册数据,并且识别所收集数据中的预定义模式。这些预定义模式可以是多设备试探法模式和/或单设备试探法模式。基于预定义模式,以及所收集的数据与这些预定义模式的匹配度,计算反映透明网络通信拦截工具(例如,负载平衡器)位于指定的设备/工具、区域、子网等中的置信值。如果置信评分达到或超过一个或多个已定义的阈值,则生成具有取决于置信评分的概率的可能负载平衡器检测的通知消息。
网络配置数据中的预定义模式可包括以不在127.0.0.0/8子网中的任何IP地址配置的多个主机和环回设备上的相同IP地址的存在。此外,网络配置数据中的预定义模式可包括使用其子网其余部分中的不同网关,或者不是路由器的默认网关的服务器。此外,网络配置数据中的预定义模式可包括被解析为同一MAC地址(例如可在多个路由器和服务器的ARP表中揭示)的多个IP地址。
此外,在某些示例性实施例中,多个计算设备的文件系统、应用注册数据和开放端口中的相似系统属性可被单独地使用,或者与其它试探法结合使用以生成置信评分。测量多个计算机的文件系统、应用注册数据和开放端口中的系统属性相似度包括测量机器名当中的编辑距离或其它类型的距离度量,测量机器当中的已安装应用的重叠(考虑版本),以及测量机器当中开放端口的重叠,其中使用加权方案,将通用端口和定制端口比较为不同。
如上所述,应该理解,尽管针对用于检测负载平衡器的存在/位置的特定实现描述了示例性实施例,但是示例性实施例并不限于此。相反,也可对诸如防火墙之类的其它类型的透明网络通信拦截工具执行示例性实施例的机制的操作。因此,本发明不应被解释为限于负载平衡器的检测/位置,而是包括由于安全机制,一般不能被已知的发现工具检测,但可以使用上述试探法和其它类似的模式识别试探法,通过网络配置数据、文件和应用数据等中的模式识别进行识别的任何工具的检测/位置。
如上所述,应该理解,各示例性实施例可采取完全的硬件实施例、完全的软件实施例或同时包含硬件和软件元素两者的实施例的形式。在一个实例实施例中,各示例性实施例的机制通过软件或程序代码实现,这些软件或程序代码包括但不限于固件、驻留软件、微代码等。
适合于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线直接或间接连接到存储器元件的处理器。所述存储器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接或通过中间I/O控制器与系统相连。网络适配器也可以被连接到系统以使所述数据处理系统能够通过中间专用或公共网络变得与其它数据处理系统或远程打印机或存储器件相连。调制解调器、电缆调制解调器和以太网卡只是当前可用的网络适配器类型中的少数几种。
出于示例和说明目的给出了对本发明的描述,并且所述描述并非旨在是穷举的或是将本发明限于所公开的形式。对于本领域的技术人员来说,许多修改和变化都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其它技术人员能够理解本发明的具有各种修改的各种实施例。

检测透明网络通信拦截工具.pdf_第1页
第1页 / 共23页
检测透明网络通信拦截工具.pdf_第2页
第2页 / 共23页
检测透明网络通信拦截工具.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《检测透明网络通信拦截工具.pdf》由会员分享,可在线阅读,更多相关《检测透明网络通信拦截工具.pdf(23页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104169904A43申请公布日20141126CN104169904A21申请号201380013906022申请日2013030813/418,76120120313USG06F15/17320060171申请人国际商业机器公司地址美国纽约72发明人JW布兰奇ME尼德R里斯曼74专利代理机构北京市中咨律师事务所11247代理人于静张亚非54发明名称检测透明网络通信拦截工具57摘要提供用于识别网络拓扑305内的透明网络通信拦截工具430、530的机制。所述机制从所述网络拓扑内的多个设备收集网络配置数据305,610,并使用一种或多种试探法分析所收集的网络配置数据以识别所收。

2、集的网络配置数据中指示透明网络通信拦截工具的存在的模式430,530,630。所述机制基于对所收集的网络配置数据的分析结果计算置信测量值640。所述机制还响应于所计算的置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备680。30优先权数据85PCT国际申请进入国家阶段日2014091286PCT国际申请的申请数据PCT/US2013/0297562013030887PCT国际申请的公布数据WO2013/138168EN2013091951INTCL权利要求书3页说明书15页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书。

3、15页附图4页10申请公布号CN104169904ACN104169904A1/3页21一种在数据处理系统200、300中的用于识别网络拓扑305内的透明网络通信拦截工具430、350的方法,所述方法包括从所述网络拓扑内的多个设备收集网络配置数据610;使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置数据中指示透明网络通信拦截工具的存在的模式630;基于对所收集的网络配置数据的分析结果计算置信测量值640;以及响应于所计算的置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备680。2根据权利要求1所述的方法,其中使用一种或多种试探法。

4、分析所收集的网络配置数据以识别所收集的网络配置数据中的模式630包括计算所收集的网络配置数据中的模式;将计算的所收集的网络配置数据中的模式与指示透明网络通信拦截工具的存在的一个或多个已知模式进行比较;以及判定所计算的模式是否在给定容限内与所述一个或多个已知模式中的至少一个匹配。3根据权利要求1所述的方法,还包括接收指示所述分析结果和所述置信测量的计算是否准确的反馈输入;以及基于所述反馈输入修改所述一种或多种试探法中的至少一个。4根据权利要求1所述的方法,其中所述一种或多种试探法包括多网关试探法,所述多网关试探法分析到所述网络拓扑305内的所述多个设备中的关联设备组410、510的子网网关计算设。

5、备分配,以便识别是否有一个以上网关计算设备430、530与所述设备组410、510关联,并且其中计算所述置信测量值640包括响应于所述多网关试探法识别到有一个以上网关计算设备与所述设备组关联而增大所述置信测量值。5根据权利要求1所述的方法,其中所述一种或多种试探法包括距离试探法,所述距离试探法计算所述网络拓扑305的所述多个设备410、510所使用的设备名或设备通信端口中的至少一个之间的差分距离,并将所述差分距离与至少一个阈值进行比较,并且其中计算所述置信测量值包括响应于所述差分距离等于或大于所述至少一个阈值而增大所述置信测量值。6根据权利要求5所述的方法,其中使用加权差分算法计算所述差分距离。

6、,所述加权差分算法确定将所述多个设备410、510中的第一设备402、502的一个服务器名或端口分配更改为第二设备404、504的服务器名或端口分配所必需的更改量,并且使用不同的加权值为不同类型的更改加权。7根据权利要求1所述的方法,其中所述一种或多种试探法包括环回网络接口试探法,所述环回网络接口试探法判定环回设备是否存在于所述网络拓扑305内并具有不在已建立的环回地址范围内的关联地址,并且其中计算所述置信测量640包括响应于判定环回设备存在于所述网络拓扑305内并具有不在已建立的环回地址范围内的关联地址而增大所述置信测量。8根据权利要求1所述的方法,其中所述一种或多种试探法包括网关地址分析试。

7、探法,所述网关地址分析试探法分析与所述多个设备410、510中的设备402、404、502、504关联的地址以识别与所述设备关联的地址中指示关联设备是透明网络通信拦截工具权利要求书CN104169904A2/3页3430、530的模式。9根据权利要求8所述的方法,其中所述地址中的模式是以下中的一个将所述地址的最高有效字节设为指示所述设备是透明网络通信拦截工具的值的特定设置,或将所述地址的前两个有效字节设为指示所述设备是透明网络通信拦截工具的值的特定设置。10根据权利要求1所述的方法,其中所述一种或多种试探法包括多地址解析试探法,所述多地址解析试探法判定所述网络拓扑305的所述多个设备中的一个或。

8、多个路由器440、540的一个或多个地址解析数据结构是否包括其中多个网络地址映射到同一设备地址的映射,并且其中计算所述置信测量640包括响应于判定所述网络拓扑305的所述多个设备中的一个或多个路由器440、540的一个或多个地址解析数据结构包括其中多个网络地址映射到同一设备地址的映射而增大所述置信测量。11一种计算机程序产品,包括其中存储计算机可读程序的计算机可读存储介质208、224、226、230,其中当在计算设备200、300上执行时,所述计算机可读程序导致所述计算设备从网络拓扑内的多个设备收集网络配置数据305,610;使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置。

9、数据中指示透明网络通信拦截工具的存在的模式430,530,630;基于对所收集的网络配置数据的分析结果计算置信测量值640;以及响应于所计算的置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备680。12根据权利要求11所述的计算机程序产品,其中所述计算机可读程序通过以下步骤进一步导致所述计算设备使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置数据中的模式630计算所收集的网络配置数据中的模式;将计算的所收集的网络配置数据中的模式与指示透明网络通信拦截工具的存在的一个或多个已知模式进行比较;以及判定所计算的模式是否在给定容限内与所述。

10、一个或多个已知模式中的至少一个匹配。13根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括多网关试探法,所述多网关试探法分析到所述网络拓扑305内的所述多个设备中的关联设备组410、510的子网网关计算设备分配,以便识别是否有一个以上网关计算设备430、530与所述设备组410、510关联,并且其中计算所述置信测量值640包括响应于所述多网关试探法识别到有一个以上网关计算设备与所述设备组关联而增大所述置信测量值。14根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括距离试探法,所述距离试探法计算所述网络拓扑305的所述多个设备410、510所使用的设备名或设备通。

11、信端口中的至少一个之间的差分距离,并将所述差分距离与至少一个阈值进行比较,并且其中计算所述置信测量值包括响应于所述差分距离等于或大于所述至少一个阈值而增大所述置信测量值。15根据权利要求14所述的计算机程序产品,其中使用加权差分算法计算所述差分距离,所述加权差分算法确定将所述多个设备410、510中的第一设备402、502的一个服务器名或端口分配更改为第二设备404、504的服务器名或端口分配所必需的更改量,并权利要求书CN104169904A3/3页4且使用不同的加权值为不同类型的更改加权。16根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括环回网络接口试探法,所述环回网络。

12、接口试探法判定环回设备是否存在于所述网络拓扑305内并具有不在已建立的环回地址范围内的关联地址,并且其中计算所述置信测量640包括响应于判定环回设备存在于所述网络拓扑305内并具有不在已建立的环回地址范围内的关联地址而增大所述置信测量。17根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括网关地址分析试探法,所述网关地址分析试探法分析与所述多个设备410、510中的设备402、404、502、504关联的地址以识别与所述设备关联的地址中指示关联设备是透明网络通信拦截工具430、530的模式。18根据权利要求17所述的计算机程序产品,其中所述地址中的模式是以下中的一个将所述地址的。

13、最高有效字节设为指示所述设备是透明网络通信拦截工具的值的特定设置,或将所述地址的前两个有效字节设为指示所述设备是透明网络通信拦截工具的值的特定设置。19根据权利要求11所述的计算机程序产品,其中所述一种或多种试探法包括多地址解析试探法,所述多地址解析试探法判定所述网络拓扑305的所述多个设备中的一个或多个路由器440、540的一个或多个地址解析数据结构是否包括其中多个网络地址映射到同一设备地址的映射,并且其中计算所述置信测量640包括响应于判定所述网络拓扑305的所述多个设备中的一个或多个路由器440、540的一个或多个地址解析数据结构包括其中多个网络地址映射到同一设备地址的映射而增大所述置信。

14、测量。20一种装置200、300,包括处理器206;以及存储器208、224,其与所述处理器206相连,其中所述存储器包括指令,当被所述处理器执行时,所述指令导致所述处理器从网络拓扑内的多个设备收集网络配置数据305,610;使用一种或多种试探法分析所收集的网络配置数据以识别所收集的网络配置数据中指示透明网络通信拦截工具的存在的模式430,530,630;基于对所收集的网络配置数据的分析结果计算置信测量值640;以及响应于所计算的置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备680。权利要求书CN104169904A1/15页5检测透明网络通信拦。

15、截工具技术领域0001本发明一般地涉及改进的数据处理装置和方法,更具体地说,涉及用于检测诸如防火墙和负载平衡器之类的透明网络通信拦截工具的机制。背景技术0002当诸如防火墙和负载平衡器之类的工具构造完善并且被正确安装时,这些组件的功能应该很难被自动发现。其中一种原因是网络安全性实施。为了阻止恶意活动,防火墙和负载平衡器应该在计算网络中仅呈现为另一种设备例如,路由器或服务器。而且,合法的发现机制使用管理连接来发现网络中存在的元件。由于安全性机制,只有授权的客户机才被允许进行管理连接。在许多情况下,很难获取进行此类安全连接的证书,从而使得防火墙和负载平衡器很难被检测到。甚至超越涉及安全性的范畴,从。

16、可能不需要安全证书的发现机制角度来看,防火墙和负载平衡器就像服务器或路由器之类的一般网络组件那样执行任务。在数据中心上下文中,情况尤其如此,因为它们的唯一功能对于最终用户是透明的,不受合法发现技术的影响。发明内容0003在一个示例性实施例中,提供一种在数据处理系统中的用于识别网络拓扑内的透明网络通信拦截工具的方法。所述方法包括从所述网络拓扑内的多个设备收集网络配置数据并使用一种或多种试探法HEURISTICS分析所收集的网络配置数据以识别所收集的网络配置数据中指示透明网络通信拦截工具的存在的模式。所述方法还包括基于对所收集的网络配置数据的分析结果计算置信测量值。此外,所述方法包括响应于所计算的。

17、置信测量值达到或超过至少一个阈值,将有关所检测的透明网络通信拦截工具的存在的通知发送到计算设备。0004在其它示例性实施例中,提供一种计算机程序产品,该计算机程序产品包括具有计算机可读程序的计算机可用或可读存储介质,当在计算设备上执行时,所述计算机可读程序导致所述计算设备执行上面参考方法示例性实施例概述的操作中的多个操作以及这些操作的组合。0005在又一示例性实施例中,提供一种系统/装置。所述系统/装置可包括一个或多个处理器以及与所述一个或多个处理器相连的存储器。所述存储器可包括指令,当被所述一个或多个处理器执行时,这些指令导致所述一个或多个处理器执行上面参考方法示例性实施例概述的操作中的多个。

18、操作以及这些操作的组合。0006将参考下面对本发明的实例实施例的详细描述来说明本发明的这些以及其它特征和优点,并且通过下面的详细描述,这些以及其它特征和优点将对于本领域的普通技术人员来说变得更显而易见。附图说明说明书CN104169904A2/15页60007当结合附图阅读时,通过参考下面对示例性实施例的详细描述,可最佳地理解本发明、其优选使用方式以及进一步的目标和优点,这些附图是0008图1是其中可实现示例性实施例的各方面的分布式数据处理系统的实例图;0009图2是其中可实现示例性实施例的各方面的计算设备的实例框图;0010图3是根据一个示例性实施例的透明网络通信拦截工具例如,负载平衡器检测。

19、机制的主操作元件的实例框图;0011图4示出其中包括服务器计算设备的服务器集群或群经由第二层交换机连接到负载平衡器的网络配置;0012图5是示出对传输层上的虚拟IP地址VIP和真实IP地址RIP均做出响应,但是仅针对RIP发送地址解析协议ARP响应的服务器的实例图;以及0013图6是示出根据一个示例性实施例的负载平衡器检测试探法引擎的实例操作的流程图。具体实施方式0014各示例性实施例提供用于发现诸如防火墙和负载平衡器之类的透明网络通信拦截工具的机制。这些工具在此被称为透明网络通信拦截工具是因为这些工具的本质是充当数据通信的源和目标之间的中介,因此,它们拦截这些通信,执行对通信的某些处理例如,。

20、路由、过滤、修改等,然后转发/阻止通信。这些工具在此被称为“透明”是因为这些工具的真实本质/配置对于标准的发现机制而言是透明的,并且仅呈现为另一常见网络设备,不实现下面描述的示例性实施例的机制的标准发现机制不会了解它们的特殊用途。0015在网络基础设施中检测诸如防火墙和负载平衡器之类的透明网络通信拦截工具的位置对于在数据网络中执行的多个网络管理操作而言非常重要。例如,此类检测可对于迁移操作非常重要,尤其是对于受管服务器集群的迁移,即,将服务、软件实例、数据和/或类似的项目从一组服务器计算设备移动到位于相同或不同网络/地理位置的另一组服务器计算设备。也就是说,当迁移受管服务器集群时,重要的是将服。

21、务器集群及其防火墙/负载平衡器作为单个单元迁移。这是因为负载平衡器作为服务器的“前端”执行操作并且当服务器移动时,一般需要重新配置负载平衡器。为实现最佳性能,负载平衡器和服务器应该彼此靠近。为此,它们通常一起移动,或者在新的数据中心建立新的负载平衡器。这样,重要的是了解防火墙/负载平衡器在网络基础设施中所处的位置,以便能够将防火墙/负载平衡器及其关联的受管服务器集群一起移动。应当理解,对于其它网络管理操作,识别防火墙/负载平衡器、或其它透明网络通信拦截工具的位置也很重要。0016但是,如上所述,在自动识别诸如防火墙和负载平衡器之类的透明网络通信拦截工具的位置方面存在障碍。发现机制利用管理连接执。

22、行它们的发现操作,由于安全机制和安全问题,此类透明网络通信拦截工具不会对这些管理连接上的管理发现请求做出应答。因此,透明网络通信拦截工具针对发现机制似乎只是网络拓扑中的另一设备,因此,发现机制无法区分哪些设备是诸如防火墙或负载平衡器之类的实际透明网络通信拦截工具。0017各示例性实施例提供用于识别网络拓扑中的透明网络通信拦截工具的机制。各示例性实施例提供用于使用基于非探测的检测方法预测诸如防火墙和负载平衡器之类的透明网络通信拦截工具的存在和位置的框架和试探法。各示例性实施例的机制查找从网络设说明书CN104169904A3/15页7备收集的网络配置数据和应用/文件数据中的特定模式,然后将这些模。

23、式与指示透明网络通信拦截工具的存在和/或位置的已知模式进行匹配。然后基于数据模式的匹配计算置信测量以确定预测透明网络通信拦截工具的存在/位置的置信水平。基于置信测量,然后可生成通知并将该通知发送给系统管理员、自动迁移机制等,以向特定实体通知透明网络通信拦截工具的存在/位置。0018所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即完全的硬件实施方式、完全的软件实施方式包括固件、驻留软件、微代码等,或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以。

24、实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。0019可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子非穷举的列表包括具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器RAM、只读存储器ROM、可擦式可编程只读存储器EPROM或闪存、光纤、便携式紧凑盘只读存储器CDROM、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文。

25、件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。0020计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。0021包含在计算机可读介质中的计算机代码可使用任何适当的介质传输,其中包括但不限于无线、线缆、光纤电缆、射频R。

26、F等,或上述的任意合适的组合。0022可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言诸如JAVATM、SMALLTALKTM、C等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网LAN或广域网WAN连接到用户计算机,或者,可以连接到外部计算机例如利用因特网服务提供商来。

27、通过因特网连接。0023下面将参照根据本发明示例性实施例的方法、装置系统和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,说明书CN104169904A4/15页8产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。0024也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可。

28、编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品ARTICLEOFMANUFACTURE。0025也可以把计算机程序指令加载到计算机、其它可编程数据处理装置或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。0026附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上。

29、,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。0027因此,示例性实施例可被用于多种不同类型的数据处理环境。为了提供描述示例性实。

30、施例的特定元件和功能的上下文,下面提供图1和2作为其中可实现示例性实施例的各方面的实例环境。应该理解,图1和2仅作为实例,并非旨在宣称或暗示对其中可实现本发明的各方面或实施例的环境的任何限制。在不偏离本发明的精神和范围的情况下,可对所示环境做出许多修改。0028图1示出其中可实现示例性实施例的各方面的实例分布式数据处理系统的图形表示。分布式数据处理系统100可包括其中可实现示例性实施例的各方面的计算机网络。分布式数据处理系统100包含至少一个网络102,该网络是用于提供分布式数据处理网络100中连接在一起的多个设备与计算机之间的通信链路的介质。网络102可包括连接,例如有线、无线通信链路或光缆。

31、。0029在所示实例中,服务器104和服务器106连同存储单元108一起与网络102相连。此外,客户机110、112和114与网络102相连。这些客户机110、112和114例如可以是个人计算机、网络计算机等。在所示实例中,服务器104将诸如引导文件、操作系统映像及应用之类的数据提供给客户机110、112和114。客户机110、112和114在所示实例中是服务器104的客户机。分布式数据处理系统100可以包括额外服务器、客户机以及其它未示出的设备。0030在所示实例中,网络数据处理系统100是因特网,同时网络102代表全球范围内使用传输控制协议/网际协议TCP/IP协议集来相互通信的网络和网关。

32、的集合。在因特网的核心是主节点或主机之间的高速数据通信线路的主干,它包括数以千计的商业、政府、教育以及其他路由数据和消息的计算机系统。当然,网络数据处理系统100也可以被实现为包括许多不同类型的网络,诸如例如企业内部互联网、局域网LAN或广域网WAN。如说明书CN104169904A5/15页9上所述,图1旨在作为一个实例,并非旨在作为对本发明的不同实施例的体系结构限制,因此,图1所示的特定元件不应被视为对其中可实现本发明的示例性实施例的环境的限制。0031图2是其中可实现示例性实施例的各方面的实例数据处理系统的框图。数据处理系统200是诸如图1中的客户机110之类的计算机的实例,其中可包含实。

33、现本发明的示例性实施例的过程的计算机可用代码或指令。0032在所示实例中,数据处理系统200采用中心架构,其中包括北桥和内存控制中心NB/MCH202以及南桥和输入/输出I/O控制中心SB/ICH204。处理单元206、主存储器208和图形处理器210与NB/MCH202相连。图形处理器210可通过加速图形端口AGP与NB/MCH202相连。0033在所示实例中,局域网LAN适配器212与SB/ICH204相连。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器ROM224、硬盘驱动器HDD226、CDROM驱动器230、通用串行总线USB端口和其它通信端口232,以及PC。

34、I/PCIE设备234通过总线238和240与SB/ICH204相连。PCI/PCIE设备例如可包括用于笔记本计算机的以太网适配器、附加卡和PC卡。PCI使用卡总线控制器,而PCIE不使用。ROM224例如可以是闪存基本输入/输出系统BIOS。0034HDD226和CDROM驱动器230通过总线240与SB/ICH204相连。HDD226和CDROM驱动器230例如可使用集成驱动电子设备IDE或串行高级技术附件SATA接口。超级I/OSIO设备236可与SB/ICH204相连。0035操作系统在处理单元206上运行。操作系统协调图2所示的数据处理系统200内的各个组件并提供对它们的控制。作为客。

35、户机,操作系统可以是诸如之类在市场上可买到的操作系统。诸如JAVATM编程系统之类面向对象的编程系统可结合操作系统运行,并且提供从数据处理系统200上执行的JAVATM程序或应用对操作系统的调用。0036作为服务器,数据处理系统200例如可以是ESERVERTM计算机系统,该系统运行高级交互执行操作系统或操作系统。数据处理系统200可以是在处理单元206中包括多个处理器的对称多处理器SMP系统。备选地,可采用单处理器系统。0037用于操作系统、面向对象的编程系统以及应用或程序的指令位于诸如HDD226之类的存储设备中,并且可被加载到主存储器208中以便由处理单元206执行。本发明的各示例性实施。

36、例的过程可由处理单元206使用计算机可用程序代码执行,该计算机可用程序代码可位于诸如主存储器208、ROM224之类的存储器中,也可位于例如一个或多个外围设备226和230中。0038图2所示的诸如总线238或总线240之类的总线系统可包括一个或多个总线。当然,总线系统也可使用任何类型的通信结构或架构实现,这些通信结构或架构提供与它们相连的不同组件或设备之间的数据传输。图2中诸如调制解调器222或网络适配器212之类的通信单元可包括一个或多个用于发送和接收数据的设备。存储器例如可以是主存储器208、ROM224或在图2的NB/MCH中发现的高速缓存。0039本领域的普通技术人员将理解,图1和2。

37、中的硬件可根据实现而变化,可使用诸如说明书CN104169904A6/15页10闪存、等效的非易失性存储器或光盘驱动器之类的其它内部硬件或外围设备作为图1和2所示的硬件的补充或替代。另外,在不偏离本发明的精神和范围的情况下,各示例性实施例的过程也可应用于上述SMP系统之外的多处理器数据处理系统。0040此外,数据处理系统200可采取多种不同的数据处理系统中的任一个,其中包括客户机计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其它通信设备、个人数字助理PDA等。在某些示例性实例中,数据处理系统200可以是便携式计算设备,该设备配备闪存以提供非易失性存储器来存储例如操作系统文件和/或用。

38、户生成的文件。本质上,数据处理系统200可以是任何已知或随后开发的数据处理系统而没有架构限制。0041再次参考图1,网络100内的服务器104、106,或其它服务器未示出中的一个或多个实际可具有导致服务器104、106用作防火墙在此情况下,服务器充当图1中未示出的其它计算设备的网关设备、负载平衡器或其它类型的透明网络通信拦截工具的软件/硬件。备选地,诸如路由器之类在图1中未示出的其它数据处理设备可具有用于实现防火墙、负载平衡器,或其它类型的透明网络通信拦截工具的软件。0042为了下面描述的目的,假设透明网络通信拦截工具是负载平衡器,其目的是根据某些已建立的策略,在资源集群例如,服务器、磁盘、网。

39、络链路等上分布客户机资源请求,从而跨多个服务器平衡网络通信处理负载。因此,负载平衡器具有接收入站网络业务的入站网络地址/端口,并将入站网络业务映射到多个出站网络地址/端口,每个出站地址/端口与一个或多个后端服务器或者其它类型的计算设备关联。因此,基于负载平衡器所做的负载平衡判定,入站网络业务被重定向到这些出站地址/端口中的一个,从而到达对应的服务器或其它计算设备以进行处理。结果,入站负载在这些多个服务器/计算设备上分布以实现负载平衡。其它类型的由于其透明本质而一般不能被发现机制发现的工具例如,防火墙等同样可以是示例性实施例的检测机制的主题。0043可通过了解此类透明网络通信拦截工具下文使用负载。

40、平衡器作为透明网络通信拦截工具的实例在网络拓扑内的存在性和位置,增强网络内的许多操作。例如,当数据中心、服务器集、服务器集群、服务器上的服务、服务器上的应用等需要从一组服务器迁移到另一组服务器,或者从一个位置迁移到另一位置时,有利地将负载平衡器与受管资源例如,服务器、服务、应用等作为一个结合单元一起迁移。因此,有利地具有能够识别此类负载平衡器是否有可能位于网络拓扑内的发现机制,并且如果可能,识别这些负载平衡器在网络拓扑内的位置。出于上面描述的原因,当前的发现机制不能执行此类操作。0044根据各示例性实施例的机制,服务器104、106、客户机110114或者其它计算设备未示出中的一个或多个提供用。

41、于实现透明网络通信拦截工具例如,防火墙、负载平衡器等检测机制的硬件/软件。透明网络通信拦截工具下文称为“负载平衡器”检测机制分析在发现过程中从网络拓扑的多个设备收集的数据,以识别指示位于一个或多个设备中的负载平衡器功能的存在的数据模式。检测机制进一步基于所执行的模式分析的结果的组合计算置信测量,然后提供有关负载平衡器位于网络拓扑内和/或其在网络拓扑内的位置的通知。这些通知然后可被用于配置迁移操作或其它操作,在这些操作中,负载平衡器的存在和位置是一个因素。0045图3是根据一个示例性实施例的透明网络通信拦截工具例如,负载平衡器检测机制的主操作元件的实例框图。图3所示的元件可被实现为硬件、软件或硬。

42、件和软件的说明书CN104169904A107/15页11任意组合。例如,在一个示例性实施例中,图3中的元件可被实现为软件指令和数据,该软件指令和数据被一个或多个计算设备/系统例如,服务器计算设备、客户机计算设备、共同组成系统的计算设备的集合等的一个或多个数据处理设备例如,处理器、存储器、诸如总线之类的通信硬件、网络接口等执行/处理。0046如图3所示,负载平衡器检测机制300包括一个或多个发现工具310,这些工具可操作以从网络拓扑305内的网络设备/工具收集数据并将该数据提供给数据收集和过滤引擎320。数据收集和过滤引擎320从网络拓扑30内的多个设备/工具收集发现工具310获取的数据,过滤。

43、这些数据以查找发现机制感兴趣的数据,并将经过滤的数据存储在数据仓库330中以供进一步分析和处理。负载平衡器检测试探法引擎340然后持续地、定期地或响应于用户命令、自动工具命令之类的事件或其它事件,使用已确立的试探法对数据仓库330中存储的数据执行分析以判定负载平衡器在网络拓扑内的存在和/或位置。0047负载平衡器检测试探法引擎340可将有关检测/未检测网络拓扑305内的负载平衡器的通知提供给报告引擎350,报告引擎350生成被存储和/或输出到授权的用户计算设备360、自动工具370等的报告数据结构。这些元件360、370然后利用报告数据结构,对网络拓扑执行管理操作,例如迁移操作等,并且可进一步。

44、将反馈输入提供给负载平衡器检测试探法引擎340以修改试探法或试探法使用的参数,从而反映负载平衡器的存在/位置的检测是否正确,并且修改负载平衡器检测试探法引擎340的操作,使其在负载平衡器的存在/位置检测方面更精确。0048如上所述,各示例性实施例利用发现工具从网络拓扑305的网络设备/工具获取网络配置数据和/或应用/文件数据。可用于收集此类网络配置数据和/或应用/文件数据的发现工具的一个实例包括位于纽约阿蒙克市的国际商业机器公司IBM推出的SCOPE发现工具。SCOPE机制使用基于网络的探测TIVOLIAPPLICATIONDEPENDENCYDETECTIONMANAGERTADDM,也是I。

45、BMCORPORATION的产品以及服务器管理员直接启动或通过自动机制启动的脚本库的组合。所使用的脚本可以是在负载平衡器检测机制300上执行的本地脚本,也可以是在网络拓扑305的多个设备/工具上执行的远程脚本。此外,可使用简单网络管理协议SNMP机制收集有关组成网络拓扑的多个设备例如,路由器、交换机、服务器、工作站、打印机、调制解调器机架等的配置信息。其它可使用的发现工具310包括到已安装中间件的网络应用程序接口API的直接连接、诸如开源网络映射器NMAP实用工具之类的指纹识别系统等。需要指出,尽管探测可直接用于获取有关网络基础设施中其它设备的信息,但是各示例性实施例不限于使用透明网络通信拦截。

46、工具的直接探测来发现其存在和本质。与之相反,探测可以间接的方式使用,并且即使采用间接的方式,也不一定使用探测才能发挥各示例性实施例的机制的功能。0049在不偏离各示例性实施例的精神和范围的情况下,可使用能够从网络拓扑的设备获取网络配置数据的任何类型的发现工具。但是,为了下面描述的目的,假设本地和远程脚本主要用于从网络拓扑内的服务器计算设备收集配置信息,因此负载平衡器、防火墙和其它透明网络通信拦截工具一般被托管在服务器计算设备上或在服务器计算设备上实现,或者与服务器计算设备关联。例如,GALAPAGOS是脚本套件,该套件运行诸如UNIXIFCONG和LSOF之类实用程序,然后归档结果以及特定配置。

47、文件的副本,并且允许结果被轻松地发送到发现机制,并且被从该发现机制导入SCOPE数据库。TADDM具备某些服务器集的访问证说明书CN104169904A118/15页12书登录或SNMP,因此可以通过网络连接并执行与GALAPAGOS相同的操作。这些只是可用于提供脚本以从网络设备/工具收集配置数据的发现工具的类型实例。可使用发现工具310收集并且通过过滤机制存储在数据仓库330中的配置数据类型的实例例如对于每个设备/工具包括网络接口列表包括环回设备,该列表包含介质访问控制MAC地址、设备类型、IP地址、子网掩码和默认网关信息;本地地址解析协议ARP高速缓存转储等。该配置数据可直接从设备/工具本。

48、身收集,也可间接地从与其连接的设备例如,路由器、交换机或可具有更完整的ARP表的设备收集。例如,用于直接获取信息的一个机制是使用集群分析算法,该算法从集群中的服务器收集所有开放端口的列表。这些端口中的一部分例如在每个服务器上是开放的,因此,此信息不携带任何信息例如,端口135和445并可被滤出。诸如SMTP端口25之类的其它端口可被识别为仅在独立于基本操作系统的邮件服务器上开放。可使用示例性实施例的机制从这些其它设备获取并分析此类配置信息,以推断透明网络通信拦截工具的存在。0050SNMP对于从网络工具收集信息非常有用。网络工具上的命令行接口可根据供应商的不同而有较大的变化,并且SNMP提供更。

49、具预测性的标准化接口收集配置信息。SNMP版本3允许用户/密码认证,但是旧版本的SNMP依赖于“社区字符串”的知识。尤其是因为此弱访问保护历史,所以一般使用白名单识别哪些源IP地址被允许访问网络工具的SNMP接口。因此,为了使用SNMP作为发现工具310之一,有必要建立允许基于SNMP的发现工具访问网络拓扑305的多个设备/工具以从中收集配置信息的白名单或社区字符串。0051这些脚本、探测和其它发现工具310可从网络拓扑305的多个设备/工具收集配置数据,并且将该配置数据返回到数据收集和过滤引擎320。数据收集和过滤引擎320基于数据收集和过滤引擎320的已建立的策略过滤所收集的配置数据以查找感兴趣的配置数据,并且组织经过滤的数据以存储在数据仓库330中。0052负载平衡器检测试探法引擎340分析存储在数据仓库330中的数据以检测指示设备/工具的存在的模式,在正常的发现过程限制下,这些设备/工具很难检测,例如负载平衡器、防火墙和其它类型的透明网络通信拦截工具,具体是指实例实现中的负载平衡器。这些模式的本质从单个设备的配置例如,服务器环回接口配置到跨多个设备的特性分布例如,单个子网上具有不同默认网关的多个主机。使用此类模式的组合有利于渐进、有效地估计所查找的设备例如,负载平衡器、防火墙等的位置。0053直接探测诸如负载平衡器和防火墙之类的透明网络通信拦截工具对于上述发现目的而言并非。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1