一种网络拓扑的被动发现设备及其发现方法转让专利

申请号 : CN201110005747.2

文献号 : CN102082690B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐国爱李洋郭燕慧张淼杨淑琴刘嘉

申请人 : 北京邮电大学

摘要 :

一种基于嗅探和指纹技术的网络拓扑被动发现设备及其发现方法,该设备包括嗅探装置与管理装置,多个嗅探装置分设于待发现网络中直接连接每个子网主交换机的主机,从子网数据包收集所有网元信息与路由信息,作为拓扑发现信息发送给管理装置。管理装置设置于任何一台未安装嗅探装置的主机,负责对嗅探装置及其采集信息进行管理和汇总分析,绘制与展示整个待发现网络的网络拓扑图。本发明以被动方式进行拓扑发现的方法大大减少了发现期间给网络带来的额外数据量,且收集的网络数据包是实际通信行为,准确可信。本发明网络拓扑发现的过程可灵活控制,通过管理装置的手动设置,能够对所有嗅探装置执行启停控制,方便又灵活,具有很好的推广应用前景。

权利要求 :

1.一种基于嗅探和指纹技术的网络拓扑被动发现设备,其特征在于:该设备包括下述两种装置:一个或多个嗅探装置,分别安装于每个子网中直接连接该子网主交换机的主机,每个嗅探装置由顺序连接的网络数据检测、子网拓扑信息生成和被动拓扑发现PNTD(Passive Network Topology Discovery)协议中的PNTD-UP消息封装三个模块组成,负责从该子网内的数据包收集该子网内包括所有网元信息与路由信息的各种拓扑发现信息,然后发送给管理装置;

一个管理装置,包括相互连接的拓扑发现管理配置模块和被动拓扑发现PNTD协议中的PNTD-DOWN消息封装模块,以及顺序连接的子网拓扑信息采集、拓扑信息汇总分析、网络拓扑绘制与显示三个模块,设置于待发现网络范围内的任何一台没有安装嗅探装置的主机,负责对各个嗅探装置及其采集信息进行集中管理,并对收集到的各个子网的拓扑信息进行汇总分析,绘制与展示整个待发现网络的网络拓扑图;

所述嗅探装置与管理装置之间采用被动拓扑发现PNTD协议实现交互通信,以方便拓扑信息的传输和提取;并设置下述两种消息格式,封装在IP数据包的数据里:PNTD-UP类型消息为嗅探装置向管理装置发送的消息,顺序设有下述四个字段:

起始标识,作为该消息起始字段,定义为PNTD_UP_START,用于指明该消息类型,位长2字节;

发送时间,记录嗅探装置发送数据包的时间,位长2字节;

子网拓扑数据信息,用于填写嗅探装置发现的本地子网的所有拓扑信息,由管理装置设定其字长;

结束标识,作为该消息结束字段,定义为PNTD_UP_END,位长2字节;

PNTD-DOWN类型消息为管理装置向嗅探装置发送的消息,顺序设有下述六个字段:起始标识,作为该消息起始字段,定义为PNTD_DOWN_START,用于指明该消息类型,位长

2字节;

发送时间,记录管理装置发送数据包的时间,位长2字节;

拓扑发现启停状态,取值为1和0分别表示该拓扑被动发现设备的启动和停止,位长

4bit;

单元装置开关状态,取值为1和0分别表示嗅探装置的启动和停止,位长4bit;

采集频率,表示嗅探装置执行每次拓扑信息采集的时间,即将采集到的拓扑信息通过PNTD-UP类型消息发送给管理装置的时间间隔,位长1字节;

结束标识,作为该协议数据包的结束字段,定义为PNTD_DOWN_END,位长2字节。

2.根据权利要求1所述的被动发现设备,其特征在于,所述拓扑被动发现设备中的嗅探装置的三个模块的功能是:网络数据检测模块,采用嗅探技术检测网络中的数据流并执行两种操作:

对接收的数据流检测IP数据包字段,查看是否包含PNTD-DOWN消息,如果有,则记录该数据包的源地址为管理装置所在网元地址,用作以后发送PNTD-UP信息的目的地址;同时按照格式定义提取其中包括拓扑发现起停状态、嗅探装置运行状态和拓扑发现频率的配置参数,以便根据这些配置参数相应改变该设备的检测参数;如果没有,则不执行任何操作;

检测到拓扑被动发现设备的状态为启动时,就监测网络中的数据包,并对包括简单网络管理协议SNMP、Internet控制报文协议ICMP和地址解析协议ARP的数据进行分析,采用网络拓扑发现技术和操作系统指纹技术得到该子网内的所有网元的拓扑连接情况、设备类型及其型号的信息,然后将这些信息传递给子网拓扑信息生成模块;如果检测到拓扑被动发现设备的状态为停止时,就停止数据包的检测与当前的拓扑发现操作;

子网拓扑信息生成模块,用于接收与处理来自网络数据检测模块的数据,将其中信息封装为统一的拓扑信息格式后,转发给PNTD-UP消息封装模块;

PNTD-UP消息封装模块,负责对来自子网拓扑信息生成模块的拓扑信息按照PNTD-UP类型消息格式进行封装后,附加在IP数据包中,发送给管理装置。

3.根据权利要求1所述的被动发现设备,其特征在于,所述拓扑被动发现设备中的管理装置的五个模块的功能是:拓扑发现管理配置模块,用于实现整个拓扑被动发现过程的包括拓扑发现状态、拓扑采集频率、IP地址和拓扑数据长度的各种参数配置,其中,拓扑发现设备的状态停止和启动操作为人工手动执行,拓扑采集频率配置是设置拓扑发现的时间频率,即设置每次拓扑采集的时长及其间隔;IP地址配置是设置各个嗅探装置所在网元的IP地址,这些地址用作管理装置发送PNTD-DOWN类型消息的目的IP地址;拓扑数据长度配置是设置每个PNTD-UP数据包的拓扑信息字段长度;

PNTD-DOWN消息封装模块,用于将拓扑发现管理配置模块的配置信息封装成PNTD-DOWN格式消息,附加在IP数据包中,发送到目的地址;

子网拓扑信息采集模块,采用嗅探技术接收来自网络上的数据流,在IP数据包的数据字段中提取PNTD协议的数据,再按照PNTD-UP消息格式定义,提取子网的拓扑信息后,将其传递给拓扑信息汇总分析模块作后续处理;

拓扑信息汇总分析模块,接收来自子网拓扑信息采集模块的拓扑信息,对各个子网的拓扑信息进行汇总分析,同时以页面方式通知用户有新的拓扑信息;

网络拓扑绘制与显示模块,负责以来自于拓扑信息汇总分析模块的待发现网络总体拓扑数据为基础,绘制网络的总体拓扑图并加以显示;该模块显示部分使用户手动选择时间,选择查看该时间段的网络拓扑状况,默认为当前最新拓扑图。

4.根据权利要求1所述的被动发现设备,其特征在于:所述设备所安装的待发现网络中的所有网元应该都处于正常运行状态,且每个网元的网卡都被设置为混杂模式,且支持SNMP、ICMP、ARP的通信协议,以便能够成功发现网络中的所有设备,得到完整的拓扑图,确保不会因为个别设备因没有开启或其他人为因素导致的拓扑图的错误和遗漏。

5.一种采用权利要求1所述的网络拓扑被动发现设备的工作方法,其特征在于:所述方法包括下列操作步骤:(1)分别对嗅探装置和管理装置进行初始化设置:将嗅探装置的启停参数和拓扑发现功能启停参数都设置为启动,通过管理装置设置拓扑发现频率和拓扑信息数据长度,输入安装各个嗅探装置的网元IP地址;

(2)启动管理装置发送包含被动拓扑发现PNTD(Passive Network Topology Discovery)协议中的PNTD-DOWN类型消息的IP数据包,再启动各个嗅探装置执行拓扑发现操作;

(3)各个嗅探装置检测网络数据包,开始子网拓扑发现的相应操作:收集本地子网拓扑信息,然后发送给管理装置;

(4)管理装置监测网络数据包,对接收到的数据进行汇总分析处理,生成和绘制网络总体拓扑图并加以显示。

6.根据权利要求5所述的方法,其特征在于:所述方法还包括下列准备操作:先将多个嗅探装置分布式安装于待发现网络中直接连接每个子交换机的主机,以及将该子交换机与该主机相连接的端口设置为混杂模式;再将管理装置安装于待发现网络范围内的任何一台没有安装嗅探装置的主机或服务器,同时将安装拓扑被动发现设备的各个网元的网卡设置为混杂模式。

7.根据权利要求5或6所述的方法,其特征在于:所述步骤(3)进一步包括下列操作内容:(31)嗅探装置中的网络数据嗅探模块探测到网络数据流,对接收的IP数据包进行分析,查看是否包含PNTD协议的数据包,如果没有,则直接丢弃该IP数据包,不作任何处理;

如果有,则执行被动拓扑发现功能的后续操作;

(32)对检测到的PNTD-DOWN数据包记录该IP数据包的源IP地址,即管理装置所在网元IP地址MIP,同时开始本地子网拓扑发现:通过嗅探技术获取网络中所有简单网络管理协议SNMP、Internet控制报文协议ICMP、地址解析协议ARP类型数据,再结合相关的SNMP协议族自身的管理信息库MIB的资源和操作系统指纹识别技术,得到整个子网的路由信息与全部网元设备类型的信息后,进行分析和统一化的格式处理,得到本地子网的拓扑信息;

(33)消息封装模块将得到的子网拓扑信息按照要求封装为PNTD-UP类型后,附加于IP数据包内,再将该IP数据包发送给目标地址MIP。

8.根据权利要求5所述的方法,其特征在于:所述步骤(4)进一步包括下列操作内容:(41)管理装置中的子网拓扑信息采集模块利用嗅探技术探测网络数据流,对接收的IP数据包进行分析,查看是否包含PNTD协议的数据包,如果没有,则直接丢弃该IP数据包,不作任何处理;如果有,则执行后续操作步骤(42);

(42)管理装置对检测到的PNTD-UP数据包执行下述操作:

建立两个数据表:NetInfo和TopologyInfo,前者用于保存待发现网络中包括IP地址和掩码的所有子网信息,后者用于保存包括拓扑发现时间、拓扑信息所在的子网及其拓扑详细信息TInfo的所有子网拓扑信息;

提取PNTD-UP数据包中的发送时间SendTime和子网拓扑详细信息TInfo,同时分析IP数据包头得到源IP子网地址SIP以及子网掩码SMASK;

查看NetInfo数据表中是否存在涉及SIP的相应记录,如果没有,则将该SIP和SMASK信息存入NetInfo中,然后将得到的TInfo、SIP与SendTime组成一条记录存入TopologyInfo;

(43)拓扑信息汇总分析模块从两个数据表中读取各个子网拓扑信息,再以NetInfo数据表中的子网记录为参照,在TopologyInfo数据表中查找发送时间最近的该子网的各种拓扑信息,进行汇总处理后,以页面显示方式通知用户有新拓扑信息;

(44)网络拓扑绘制与显示模块分析汇总的拓扑信息,绘制网络拓扑图,以供显示;该模块还能以显示方式通知用户是否有新拓扑信息,以便用户手动选择时间,查看该时间段的网络拓扑图,默认为当前最新拓扑图。

说明书 :

一种网络拓扑的被动发现设备及其发现方法

技术领域

[0001] 本发明涉及一种网络拓扑的被动发现设备及其发现方法,确切地说,涉及一种基于嗅探和指纹技术的网络拓扑的被动发现设备及其发现方法;属于信息安全及计算机操作系统的技术领域。

背景技术

[0002] 首先介绍网络拓扑发现技术的现状:众所周知,网络是由一起工作的大量网元实体构成,向用户提供某种服务。这些网元实体功能则由硬件和软件支撑执行,真实网络中网元实体有:路由器、服务器、主机、链路等,所有这些网元都会影响网络的运行方式及其提供给最终用户的服务质量。自从20世纪90年代以来,越来越多的企业及个人在不断加入Internet网,使网络规模持续扩大。为了适应越来越多的流量,新节点、新链路不断被引进到网络,从而使手工维护很难跟上网络的变化,给网络管理带来很大困难。
[0003] 网络拓扑是网络中各个网元实体之间互联关系的一种表示,它提供了整个网络系统各子网内部及子网间设备的连接信息。网络拓扑对网络管理、网络规划非常有用。例如,网络故障、流量瓶颈等重要信息能直接显示在网络拓扑上,使得网络管理员能够清楚认识当前的网络状况,对发生故障的地方一目了然。如果网络拓扑上显示一条链路总是处于满负荷传输状态,那么扩大该条链路的容量对提高网络性能将有很大帮助。此外,网络拓扑对网络仿真也十分重要,在现有网络上能否仿真一项新开发的应用,首先必须有正确的网络拓扑,这就涉及到网络拓扑发现。所谓拓扑发现是发现完成最终用户服务所涉及到的所有实体:既要发现实体,还要发现每个实体在网络中所起的作用及各个实体间互相连接的方式。
[0004] 获得网络拓扑的最简单方法是管理员根据实际网络手工绘制其拓扑图,但现在网络越来越复杂,越来越庞大,并一直在膨胀,而且各个实体在网络中的功能也越来越复杂,要跟踪这样一个网络需要花费的时间或精力难以计算,而且,网络一旦有所改变,所有工作必须重做。正是基于这个原因,网络拓扑自动发现技术就应运而生了。
[0005] 目前,常用的网络拓扑发现方式主要有三种:
[0006] (1)利用SNMP协议访问路由信息来构筑网络拓扑技术:利用简单网络管理协议SNMP采集网络设备中的路由信息来构筑网络的拓扑结构,这种方法相对于后面的两种,不管采用何种算法,都必须访问所有的路由器与每个路由器的路由表,即实现算法的时间复杂度最少为O(R×D),其中,R为可访问的路由器总数,D每个路由器路由表数量。
[0007] (2)基于OSPF协议的网络搜索技术:引进开放式最短路径优先协议OSPF的原理,也就是该方法自己实现OSPF协议,让它与路由设备通信,利用与路由设备通信时得到的路由信息来构筑网络拓扑。这种技术的最大优点是速度快、性能高,但是实现难度比较大,而且搜索只能限定在某个范围内进行,并且要求该范围内的网络设备都支持OSPF协议。因为OSPF已成为IAB推荐的内部网关协议,随着它作为内部网关协议的普及,利用其高效快速构造网络拓扑图已经成为企业网络管理中的一个重要研究方向。
[0008] (3)基于路由信息协议RIP的网络搜索技术:该技术与基于OSPF协议的网络搜索技术类似,也是自己实现RIP协议,让它与路由设备通信,利用与路由设备通信时得到的路由信息构筑网络拓扑。其优点是速度快、性能高,但是实现难度比较大,而且搜索只能限定在某个范围内进行,且要求该范围内的网络设备都支持RIP协议。
[0009] 再介绍网络嗅探技术:嗅探原理很简单:它是一种数据链路层技术,利用的是共享式的网络传输介质。共享意味着网络中的一台机器可以嗅探到传递给本网段(冲突域)中的所有设备的报文。例如,最常见的以太网就是一种共享式网络技术,以太网卡收到报文后,通过检查目的地址判断是否传递给自己:如果是,则把报文传递给操作系统;否则,丢弃报文,不作处理。网卡还有一种特殊工作模式是其不判断目的地址,直接将其接收到的所有报文都传给操作系统进行处理。这种特殊工作模式被称为混杂模式,网络嗅探器通过将网卡设置为混杂模式,并利用数据链路访问技术实现对网络的嗅探。只要实现数据链路层的访问,就可以把嗅探能力扩展到任意类型的数据链路帧,而不仅是IP数据报。例如Tcpdump、NetxRay都是直接访问数据链路层的常用程序。
[0010] 指纹是人类与生俱来与随身携带的“印章”,具有永恒性、唯一性和可分类性,是公认的具有法律地位的个人身份特征的可靠证据。所有需要身份确认的场所,都有其用武之地。多年研究的成果,使得指纹技术已不单纯用于人的身份辨别,还被运用到了其他很多领域,包括计算机网络领域。
[0011] 在处理网络信息时,不同的网络操作系统是按照各自特点进行相应处理,即其方法不完全相同;这些差异就被称为系统的“指纹”。通过识别这些指纹就可以识别网络系统。对于操作系统而言,系统指纹实际是来源于TCP/IP协议栈。Windows、Linux或各种类型的Unix系统等不同的操作系统,它们的TCP/IP协议栈各不相同,其对各种类型数据包的响应也有所不同。这样,只要不修改系统底层的网络堆栈参数,就可以借用常用的一些扫描软件轻易地确定网络上某台主机的操作系统类型、版本号与IP地址配置等信息。
[0012] 利用操作系统指纹,需要掌握TCP/IP协议栈的指纹识别技术。目前常用的指纹识别技术包括:FIN探测、是否设置分段位、TCP初始窗口大小、ACK值、ICMP出错信息的频率、ICMP消息引用、TOS、分段处理、TCP选项、SYN洪泛。
[0013] 目前,利用网络设备的操作系统指纹技术进行网络拓扑发现已经成为指纹技术在计算机网络领域应用的热点。其基本过程为:采集信息→区分设备(路由器、交换机、主机)→识别系统。其中识别系统是利用TCP/IP协议栈的指纹识别技术来识别主机采用的操作系统,再区系统中的各个设备及其类型,如主机采用的操作系统和路由设备类型等,这样就使得网管人员更加全面认识整体网络结构。
[0014] 通过对网络拓扑发现的现有方法与相关技术的深入研究,可以看出,目前常用拓扑发现方法都是主动的发现方式,需要发现请求方基于各种网络协议,发送不同格式的信息,通过被请求方反馈回来的信息进行拓扑发现。这种方式的缺点显而易见,其中最主要的是依赖性强,不同的协议需要不同格式的数据包请求,这就增加了拓扑发现的复杂度。而被动的拓扑发现方式只需监控网络的数据流量,并利用相关技术对收集到的数据进行分析,不用针对不同厂商、不同设备分别发送种类繁多的协议数据包,而且,这种数据流量的采集是基于通信的,内容是非常可靠的。

发明内容

[0015] 有鉴于此,本发明的目的是在现有技术基础上提供一种基于嗅探和指纹技术的网络拓扑被动发现装置及其发现方法。本发明是采用其提供的网络拓扑被动发现装置对待发现网络中的拓扑状况进行发现,进而得到网络拓扑图;其操作步骤安全、简单,便利、快捷,可执行强。
[0016] 为了达到上述目的,本发明提供了一种基于嗅探和指纹技术的网络拓扑被动发现设备,其特征在于:该设备包括下述两种装置:
[0017] 一个或多个嗅探装置,分别安装于每个子网中直接连接该子网主交换机的主机,每个嗅探装置由顺序连接的网络数据检测、子网拓扑信息生成和被动拓扑发现PNTD(Passive Network Topology Discovery)协议中的PNTD-UP消息封装三个模块组成,负责从该子网内的数据包收集该子网内包括所有网元信息与路由信息的各种拓扑发现信息,然后发送给管理装置;
[0018] 一个管理装置,包括相互连接的拓扑发现管理配置模块和被动拓扑发现PNTD协议中的PNTD-DOWN消息封装模块,以及顺序连接的子网拓扑信息采集、拓扑信息汇总分析、网络拓扑绘制与显示三个模块,设置于待发现网络范围内的任何一台没有安装嗅探装置的主机,负责对各个嗅探装置及其采集信息进行集中管理,并对收集到的各个子网的拓扑信息进行汇总分析,绘制与展示整个待发现网络的网络拓扑图;
[0019] 所述嗅探装置与管理装置之间采用被动拓扑发现PNTD协议实现交互通信,以方便拓扑信息的传输和提取;并设置下述两种消息格式,封装在IP数据包的数据里:
[0020] PNTD-UP类型消息为嗅探装置向管理装置发送的消息,顺序设有下述四个字段:
[0021] 起始标识,作为该消息起始字段,定义为PNTD_UP_START,用于指明该消息类型,位长2字节;
[0022] 发送时间,记录嗅探装置发送数据包的时间,位长2字节;
[0023] 子网拓扑数据信息,用于填写嗅探装置发现的本地子网的所有拓扑信息,由管理装置设定其字长;
[0024] 结束标识,作为该消息结束字段,定义为PNTD_UP_END,位长2字节;
[0025] PNTD-DOWN类型消息为管理装置向嗅探装置发送的消息,顺序设有下述六个字段:
[0026] 起始标识,作为该消息起始字段,定义为PNTD_DOWN_START,用于指明该消息类型,位长2字节;
[0027] 发送时间,记录管理装置发送数据包的时间,位长2字节;
[0028] 拓扑发现启停状态,取值为1和0分别表示该拓扑被动发现设备的启动和停止,位长4bit;
[0029] 单元装置开关状态,取值为1和0分别表示嗅探装置的启动和停止,位长4bit;
[0030] 采集频率,表示嗅探装置执行每次拓扑信息采集的时间,即将采集到的拓扑信息通过PNTD-UP类型消息发送给管理装置的时间间隔,位长1字节;
[0031] 结束标识,作为该协议数据包的结束字段,定义为PNTD_DOWN_END,位长2字节。
[0032] 为了达到上述目的,本发明还提供了一种本发明网络拓扑被动发现设备的工作方法,其特征在于:所述方法包括下列操作步骤:
[0033] (1)分别对嗅探装置和管理装置进行初始化设置:将嗅探装置的启停参数和拓扑发现功能启停参数都设置为启动,通过管理装置设置拓扑发现频率和拓扑信息数据长度,输入安装各个嗅探装置的网元IP地址;
[0034] (2)启动管理装置发送包含PNTD-DOWN类型消息的IP数据包,再启动待发现网络中的各个嗅探装置执行拓扑发现操作;
[0035] (3)各个嗅探装置检测网络数据包,开始子网拓扑发现的相应操作;
[0036] (4)管理装置监测网络数据包,对接收到的数据进行分析,根据相关数据绘制网络总体拓扑图并加以显示。
[0037] 本发明的优点在于:本发明发现设备采用被动方式进行拓扑发现,与目前的其他网络拓扑发现技术相比较,大大减少了发现期间给网络带来的额外数据量。虽然本发明方法在发现过程中也会发送数据包,但是这些数据包的收发仅限于部署在待发现网络中的被动拓扑发现设备中的管理装置和各个嗅探装置之间的通信,相比主动发现技术的庞大数据流而言,这些数据包可以忽略不计。而且,本发明方法所收集的网络数据包是实际的通信行为,准确可信。再者,本发明网络拓扑发现的过程可灵活控制,即通过在管理装置上的手动设置,就能够实现整个待发现网络中所有嗅探装置的启动和停止的控制操作,既方便,又灵活。
[0038] 对于已稳定的网络,如果其组成结构发生了变化,例如新增了主机设备,本发明的设备与方法不需要做任何改动,就能够非常方便、容易地绘制其最新的拓扑图,说明其可移植性强。因此,本发明在被动发现网络拓扑过程中,不只是保存了当前的网络拓扑信息,还保存了历史网络拓扑信息。用户可以通过选择时间来再现相应时间段的网络拓扑情况,以便用于网络建设过程中的比较分析。总之,本发明具有很好的推广应用前景。

附图说明

[0039] 图1(A)、(B)分别是基于嗅探和指纹技术的网络拓扑被动发现设备中的嗅探装置和管理装置的结构示意图。
[0040] 图2(A)、(B)分别是本发明采用的PNTD-UP类型消息与PNTD-DOWN类型消息的示意图。
[0041] 图3是本发明发现设备的被动拓扑发现方法操作过程流程图。
[0042] 图4是本发明发现设备中的嗅探装置拓扑发现过程流程图。
[0043] 图5是本发明发现设备的管理装置子网拓扑信息采集模块工作流程图。
[0044] 图6是本发明实施例的被测网络结构示意图。

具体实施方式

[0045] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
[0046] 本发明是一种基于嗅探和指纹技术的网络拓扑被动发现设备及其发现方法,其所依赖的实现背景是:本发明发现设备所安装的待发现网络中的所有网元设备都处于正常运行状态,且每个网元的网卡都被设置为混杂模式,且支持SNMP、ICMP、ARP的通信协议,以便能够成功发现网络中的所有设备,得到完整的拓扑图,确保不会因为个别设备因没有开启或其他人为因素导致的拓扑图的错误和遗漏。
[0047] 参见图1,介绍本发明网络拓扑被动发现设备的结构组成:每个发现设备是由一个或多个分别安装于直接连接每个子网主交换机的主机的嗅探装置与一个管理装置所组成。其中,
[0048] 每个嗅探装置由顺序连接的网络数据检测、子网拓扑信息生成和PNTD-UP消息封装三个模块组成,负责从该子网内的数据包收集该子网内包括所有网元信息与路由信息的各种拓扑发现信息,然后发送给管理装置。
[0049] 再介绍嗅探装置的三个模块的具体功能是:
[0050] 网络数据检测模块,采用嗅探技术检测网络中的数据流并执行两种操作:
[0051] A、对接收的网络数据流检测IP数据包字段,查看是否包含PNTD-DOWN消息,如果有,则记录该数据包的源地址为管理装置所在网元地址,用作以后发送PNTD-UP信息的目的地址。同时按照格式定义提取其中包括拓扑发现起停状态、嗅探装置运行状态和拓扑发现频率的配置参数,以便根据这些配置参数相应改变该设备的检测参数;如果没有,则不执行任何操作。
[0052] B、检测到被动拓扑发现状态为启动时,就监测网络中的数据包,并对包括简单网络管理协议SNMP、因特网控制报文协议ICMP和地址解析协议ARP的数据进行分析,采用现有的网络拓扑发现技术和操作系统指纹技术得到该子网内的所有网元的拓扑连接情况、设备类型及其型号的信息,然后将这些信息传递给子网拓扑信息生成模块;如果检测到被动拓扑发现状态为停止时,就停止数据包的检测与当前的拓扑发现操作。
[0053] 子网拓扑信息生成模块,用于接收与处理来自网络数据检测模块的数据,将其中信息封装为统一的拓扑信息格式后,转发给PNTD-UP消息封装模块。
[0054] PNTD-UP消息封装模块,负责对来自子网拓扑信息生成模块的拓扑信息按照PNTD-UP类型消息格式进行封装后,附加在IP数据包中,发送给被动拓扑发现管理装置。
[0055] 管理装置包括相互连接的拓扑发现管理配置模块和PNTD-DOWN消息封装模块,以及顺序连接的子网拓扑信息采集、拓扑信息汇总分析、网络拓扑绘制与显示三个模块,设置于待发现网络范围内的任何一台没有安装嗅探装置的主机,负责对安装在待发现网络中的各个嗅探装置及其采集信息进行集中管理,并对收集到的各个子网的拓扑信息进行分析,绘制与展示整个待发现网络的网络拓扑图。管理装置的五个模块的具体功能是:
[0056] 拓扑发现管理配置模块,用于实现整个被动拓扑发现过程的各种参数配置,包括拓扑发现状态、拓扑采集频率、IP地址和拓扑数据长度等。其中,拓扑发现状态的停止和启动操作为人工手动执行,拓扑采集频率配置是设置拓扑发现的时间频率,即设置每次拓扑采集的时长及其间隔;IP地址配置是设置各个嗅探装置所在网元的IP地址,这些地址用作管理装置发送PNTD-DOWN类型消息的目的IP地址;拓扑数据长度配置是设置每个PNTD-UP数据包的拓扑信息字段长度。
[0057] PNTD-DOWN消息封装模块,用于将拓扑发现管理配置模块的配置信息封装成PNTD-DOWN格式消息,附加在IP数据包中,发送到目的地址。
[0058] 子网拓扑信息采集模块,采用嗅探技术接收来自网络上的数据流,在IP数据包的数据字段中提取PNTD协议的数据,再按照PNTD-UP消息格式定义,提取子网的拓扑信息后,将其传递给拓扑信息汇总分析模块作后续处理。
[0059] 拓扑信息汇总分析模块,接收来自子网拓扑信息采集模块的拓扑信息,对各个子网的拓扑信息进行汇总分析,同时以页面方式通知用户有新的拓扑信息。
[0060] 网络拓扑绘制与显示模块,负责以来自于拓扑信息汇总分析模块的待发现网络总体拓扑数据为基础,绘制网络的总体拓扑图并加以显示。该模块实现部分,用户可以手动选择时间,选择查看该时间段的网络拓扑状况,默认为当前最新拓扑图。
[0061] 为了实现嗅探装置和管理装置之间的交互通信,方便拓扑信息的传输和提取,本发明设计一种专用于该两种装置之间的通信协议,并命名为被动拓扑发现PNTD(Passive Network Topology Discovery)协议,该协议定义了两种消息格式(参见图2),其被封装在IP数据包的数据里。
[0062] 参见图2(A),PNTD-UP类型消息为嗅探装置向管理装置发送的消息,顺序设有下述四个字段:
[0063] 起始标识,作为协议该消息数据包的起始字段,定义为PNTD_UP_START,用于指明该消息类型,位长2字节;
[0064] 发送时间,记录嗅探装置发送数据包的时间,位长2字节;
[0065] 子网拓扑数据信息,用于填写嗅探装置发现的本地子网的所有拓扑信息,由管理装置设定其字长;
[0066] 结束标识,作为协议该消息数据包的结束字段,定义为PNTD_UP_END,位长2字节。
[0067] 参见图2(B),PNTD-DOWN类型消息为管理装置向嗅探装置发送的消息,顺序设有下述四个字段:
[0068] 起始标识,作为协议该消息数据包的起始字段,定义为PNTD_DOWN_START,用于指明该消息类型,位长2字节;
[0069] 发送时间,记录管理装置发送数据包的时间,位长2字节;
[0070] 拓扑发现启停状态,取值为1和0分别表示该拓扑被动发现设备的启动和停止,位长4bit;
[0071] 单元装置开关状态,取值为1和0分别表示嗅探装置的启动和停止,位长4bit;
[0072] 采集频率,表示嗅探装置执行每次拓扑信息采集的时间,即将采集到的拓扑信息通过PNTD-UP类型消息发送给管理装置的时间间隔,位长1字节;
[0073] 结束标识,作为协议该消息数据包的结束字段,定义为PNTD_DOWN_END,位长2字节。协议该数据包的
[0074] 参见图3,介绍本发明基于嗅探和指纹技术的网络拓扑被动发现设备的发现方法,该方法的准备工作是先将多个嗅探装置分布式安装于与待发现网络中每个子网的一级交换机直接相连的主机,将交换机上与该主机相连的端口设置为混杂模式,再将管理装置安装于待发现网络范围内的任何一台没有安装嗅探装置的主机或服务器,同时将安装被动拓扑发现设备的各个网元的网卡设置为混杂模式。该方法包括下列具体操作步骤为:
[0075] 步骤1,分别对嗅探装置和管理装置进行初始化设置:将嗅探装置的启停参数和拓扑发现功能启停参数都设置为启动,通过管理装置设置拓扑发现频率和拓扑信息数据长度,输入安装各个嗅探装置的网元IP地址。
[0076] 步骤2,启动管理装置发送包含PNTD-DOWN类型消息的IP数据包,再启动待发现网络中的各个嗅探装置执行拓扑发现操作。
[0077] 步骤3,嗅探装置检测网络数据包,开始子网拓扑发现的相应操作:收集本地子网拓扑信息(相应操作参见图4所示),然后发送给管理装置。
[0078] 该步骤3包括下列操作内容:
[0079] (31)嗅探装置中的网络数据嗅探模块探测到网络数据流,对接收的IP数据包进行分析,查看是否包含PNTD协议的数据包,如果没有,则直接丢弃该IP数据包,不作任何处理;如果有,则子网拓扑发现模块分析相关字段和得到相应参数,执行被动拓扑发现功能的后续操作;
[0080] (32)对检测到的PNTD-DOWN数据包记录该IP数据包的源IP地址,即管理装置所在网元IP地址MIP,同时开始本地子网拓扑发现:通过嗅探技术获取网络中所有SNMP、ICMP、ARP类型数据,再结合相关的SNMP协议族自身的管理信息库MIB的资源和操作系统指纹识别技术,得到整个子网的路由信息与全部网元设备类型的信息后,进行分析和统一化的格式处理,得到本地子网的拓扑信息。
[0081] (33)消息封装模块将得到的子网拓扑信息按照要求封装为PNTD-UP类型后,附加于IP数据包内,再将该IP数据包发送给目标地址MIP。
[0082] 步骤4,管理装置监测网络数据包,对接收到的嗅探装置的数据包进行汇总分析,根据相关数据绘制网络总体拓扑图并加以显示。
[0083] 再介绍该步骤4包括的下列具体操作内容:
[0084] (41)管理装置中的子网拓扑信息采集模块(参见图5所示)利用嗅探技术探测网络数据流,对接收的IP数据包进行分析。查看是否包含PNTD协议的数据包,如果没有,则直接丢弃该IP数据包,不作任何处理;如果有,则分析相关字段与得到参数,执行被动拓扑发现功能的后续操作;
[0085] (42)子网拓扑信息采集模块对检测到的PNTD-UP数据包执行下述操作:
[0086] 建立两个数据表:NetInfo和TopologyInfo,前者用于保存待发现网络中包括IP地址和掩码的所有子网信息,后者用于保存包括拓扑发现时间、拓扑信息所在的子网及其拓扑详细信息TInfo的所有子网拓扑信息;
[0087] 提取PNTD-UP数据包中的发送时间SendTime和子网拓扑详细信息TInfo,同时分析IP数据包头得到源IP子网地址SIP以及子网掩码SMASK;
[0088] 查看NetInfo数据表中是否存在涉及SIP的相应记录,如果没有,则将该SIP和SMASK信息存入NetInfo中,然后将得到的TInfo、SIP与SendTime组成一条记录存入TopologyInfo。
[0089] (43)拓扑信息汇总分析模块从两个数据表中读取各个子网拓扑信息,再以NetInfo数据表中的子网记录为参照,在TopologyInfo数据表中查找发送时间最近的该子网的各种拓扑信息,进行汇总处理后,以页面显示方式通知用户有新拓扑信息;
[0090] (44)网络拓扑绘制与显示模块分析汇总的拓扑信息,绘制网络拓扑图,以供显示;该模块还能以显示方式通知用户是否有新拓扑信息,以便用户手动选择时间,查看该时间段的网络拓扑图,默认为当前最新拓扑图。
[0091] 本发明已经进行了多次实施试验,下面参见图6,介绍以具体实施例的网络W的被动拓扑发现过程来讲解本发明发现设备的使用以及发现过程。
[0092] 在该实施例网络W的架构图中,存在11个子网,其中5个属于本地子网,另外6个子网用于路由设备之间进行通信,将5个本地子网进行连接,使得该网络中所有主机互相通信。
[0093] 本发明拓扑发现设备的具体实施的发现方法的操作步骤如下:
[0094] 1、先检查网络W中的所有网元设备,确保该待发现网络W中的所有网元设备都在正常运行,它们的网卡都被设置为混杂模式,且都支持SNMP、ICMP、ARP等常见协议。
[0095] 2、分别在与交换机S1、S2、S3、S4和S5直接相连接的主机H1,H2,H3,H4和H5上安装被动拓扑发现嗅探装置(参见图6所示),然后启动这些嗅探装置,使其都处于运行状态。
[0096] 3、在主机M上安装被动拓扑发现管理装置,并启动该管理装置,进行相关参数的初始化设置,点击确定后,通过发送IP数据包方式启动各个嗅探装置进行拓扑发现过程的操作。
[0097] 4、主机H1,H2,H3,H4和H5上的嗅探装置开始拓扑发现过程,对收集到的本地子网的拓扑信息进行处理后,发送到管理装置所在主机M。
[0098] 5、主机M中的管理装置收集到来各个嗅探装置的拓扑信息,进行拓扑信息汇总分析处理后,通知用户有新的拓扑消息到来。用户可以根据通知自主选择查看当前最新网络拓扑图,或者是查看某一时间的历史网络拓扑图。
[0099] 本发明被动拓扑发现设备在具体实施后,得到了待发现网络W的最新拓扑图,再将该图与已有的网络拓扑图进行比较,两者完全一样,证明了本发明基于嗅探和指纹技术的网络拓扑被动发现设备及其发现方法是正确的,实现了发明目的。
[0100] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。