微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于多线程扫描的网络拓扑边界监测系统设计

基于多线程扫描的网络拓扑边界监测系统设计

时间:08-10 来源:3721RD 点击:

储记录,对接入终端的运行状态、接入方式、路由转发、地址转换和代理服务等异常状态进行实时监测,发现异常时能够及时阻断,实现对网络边界的常规性看护,对工作主机的工作状态给出健康建议。

系统通过对整个网络运行状态数据进行实时的采集与分析,将网络拓扑结构信息及其组成节点的工作状态信息存储在数据库中,对这些数据进行加工分析后,通过列表、拓扑视图等方式将其展现在网络管理界面上。系统体系结构如图1所示。


 在网络中心位置部署结构监测服务器、结构存储服务器和结构视图服务器,用于整个网络结构的实时动态扫描存储、边界守护和视图生成功能;在网络内部设置固定或移动的监测终端,用于网络管理人员随时查看网络实时运行状态,接收服务器的报警信号并进行相应的处理。

位于整个网络内部,支持TCP/IP协议的路由器、交换机、服务器、工作主机和无线接入点等所有的网络设备和终端都属于网络结构监测的对象,需要定期接受结构监测服务器的扫描并提供自身运行的状态和数据。当有异常情况发生时,这些监测对象应该能够主动向上汇报,以达到实时掌握整个网络运行状态的目的。

3 系统实时性设计

 系统通过SNMP协议扫描获取网络设备、终端及其连接关系的基本信息,主要包括管理信息库中的路由表、接口表、地址映射表和运行状态信息等,并逐步获取实时的网络结构信息。在使用广度优先算法扫描的过程中,尽可能准确地辨识扫描目标的类型和身份,根据情况启动网络层扫描[3]和链路层扫描[4],并通过梳理节点间的父子连接关系,最终判定网络接入边界所在,更新存入后台支持数据库[5]。当扫描过程完成以后,整个网络的结构信息便被获取,实时的网络边界得以确定,网络自身的运行状态得以全面掌控。

在系统监测运行过程中,需要在第一时间内发现网络结构的异常变化和接入边界的违规行为并作出响应,以便尽可能早地对潜在的网络安全隐患进行定位,减少对网络安全运行的实质性破坏。因此,迅速准确地发现网络的拓扑结构,提高系统扫描检测过程的实时性就成为了保障系统可靠运行的一个基本要求。

3.1 多线程扫描

 网络结构的获取与更新一般通过周期性的扫描来完成。通过指定扫描起始地址,获得与该节点相连的其他节点的运行信息,使用广度优先算法依次遍历网络中的每个节点,这种全网单线程扫描方法(以下简称方法一)常常用在网络规模较小、结构较为简单的情况下。

 对于规模较大的网络,考虑到扫描过程中大部分时间都浪费在等待设备准备数据的阶段,为了能合理利用这段空闲时间,在更短的时间内尽快完成对整个网络的扫描分析,实际过程中常常根据子网划分使用多个扫描起始地址的子网多线程扫描的方法(以下简称方法二)。在系统初始化后,读取指定的子网扫描起始地址列表,启动多个扫描线程对所在子网进行扫描。多个线程之间共同维护一个节点访问列表,对已经扫描过的地址不再执行重复的操作。

 方法二中每个扫描线程对应一棵子树,扫描线程的数量一般可参考管理人员最熟悉的核心层设备的数量来设置,但是最好不要手工设置。实际应用时可以在扫描3层设备路由列表的过程中,在得到与该设备所连接的子网设备地址后,立即开启一个新的子网扫描线程,这种改进方式也可称为设备多线程扫描方法,其扫描流程如图2所示。

 在扫描流程图中的每个线程都能独立完成各自的扫描分析任务,在对每一个设备扫描完成之后,立即读取目标的安全设置,完成结构边界的确认、检验、存储和展现工作。

 对于较大规模的网络,在采用了设备多线程扫描的方法后,完成全网扫描所耗费的时间已经大幅减少,如表1所示,其中,①②③为扫描算法分别在3个不同的时间段内运行的结果。但是详细分析后发现,扫描线程仍然有一部分空闲时间在等待设备准备数据,而这部分空闲时间正是再次提高扫描速度的希望。在分析了设备的扫描过程后发现,为了实现网络结构的自动发现与监测,每个设备都需要扫描接口表、路由表、端口映射表、地址映射表等多张表格,虽然在扫描流程上采用了子网多线程扫描,但是每个扫描线程依然是按照顺序对这几张表格进行扫描的,由此得出了通过多线程方式来获取这些表格的表格多线程扫描方法(以下简称方法三)。


为了验证这3种扫描方法的性能,特意选择长安大学校园网络进行实际测试,表1是这3种扫描方法分别在3个不同的时间段内测试运行的结果数据。

在对扫描方法的性能进行比较时,扫描完成时间以及扫描对网络带宽的影响是两个重点指标。本来每秒钟获得的记录数量也可以作为一个性能指标来指示扫

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top