APP下载

企业网流量监测系统的设计与实现

2016-10-18潘虎

电脑知识与技术 2016年21期

潘虎

"

"

"

摘要:企业网络中经常会有整体网络速度下降或者部分网段和计算机无法上网的情况,为了分析网络瓶颈和定位故障点,通过建设和使用网络流量监测系统网络,管理人员可以收集网络运行数据,分析网络流量数据确定网络内数据传递情况,实施网络改造和设备设置解决故障。本文通过在一个典型的企业网环境中使用Cacti监控网络设备端口流量,ManageEngine NetFlowAnalyzer监测网内动态数据流,从而建立了网络监测系统,可以有效监控网络的数据传递情况。网络管理员可以方便的定位网络瓶颈和故障点,具有推广意义。

关键词:网络流量监测系统;SNMP;Cacti;动态数据流;Netflow

中图分类号:TP393.06 文献标识码:A 文章编号:1009-3044(2016)21-0039-02

网络管理是监督、组织和控制网络通讯服务以及信息处理所必需的各种活动的总称,是网络系统持续高效稳定安全运行的重要保障。网络管理的任务主要包括:收集网络中各设备和系统的工作数据,工作数据即时通知管理员,管理员根据工作数据调整网络设备的设置和配置以保障网络正常运行[1]。网络流量监控系统是收集、记录和统计网络设备端口流量数据、园区网内数据流数据、网络应用流量数据的软硬件集合,是实施网络管理的基础。网络管理员使用网络流量监控系统收集网络运行数据,分析网络历史运行状态和实时运行状态,可以精确定位园区网的性能瓶颈,针对网络瓶颈调整网络结构和设备配置;在网络运行异常时可以精确定位故障点,即时排除。在企业、事业单位建设计算机网络时,为实施网络管理,保证网络持续高效稳定安全运行,应该建立网络流量监测系统。

1 在企业网中部署网络流量监测系统

1.1 网络环境和建设目标

图一是某企业网络结构拓扑:网络的核心网络交换机是Cisco Catalys 4506路由交换机,汇聚交换机是Cisco Catalyst 3750G-12S-S三层交换机, 各业务科室接入交换机是Cisco Catalyst2960交换机。左侧的华为2403交换机是办公室接入交换机,右侧华为2403连接多个业务服务器,包括WWW服务器,数据库服务器,邮件服务器等等。交换机IP地址范围是172.17.7.0/24,计算机IP地址范围是172.16.0.0/24;企业申请了4个外网IP地址,由路由器Cisco 2811完成PAT端口多路复用功能。

针对这个园区网建立网络监测系统用于监控网络设备端口流量数据、园区网络动态数据流数据、网络应用流量数据。在X86架构服务器上使用虚拟机软件创建两个虚拟机S1、S2。S1安装Cacti网络监控软件监测网络设备的端口流量。Cacti是一套开源网络检测分析工具,用PHP网络编程语言编写,使用SNMP网络管理协议管理网络设备[2]。网络管理员通过Cacti操作界面设置监控内容和显示方式,查看监控结果。它能实现对网络设备状态、设备端口流量数据实时图像化显示;可以预先设置网络设备端口流量数据阀值、网络设备硬件使用率阀值,当系统运行数据超过阀值时,Cacti网络系统监控软件通过短信、邮件或声音报警。

S2安装ManageEngine NetFlowAnalyzer网络流量监控分析软件监测网内动态数据流。园区网内通过网络设备的数据包按照源IP地址、目的IP地址、源端口号、目的端口号、协议类型、服务类型、输入/输出接口特征分类,每个类别就是一个动态数据流,监控每个动态数据流的特征数据可知数据的具体流向和流量信息。ManageEngine NetFlowAnalyzer网络流量监控分析软件利用Netflow收集网络中关于流量的信息,监控分析软件是NetFlow收集器,接受网络设备即NetFlow代理发送的NetFlow记录即动态数据流记录存入Mysql数据库,分析统计数据提供各种报表以确定数据流的时间、源目IP、业务类别[3]。

1.2 网络流量监测系统实施

1.2.1用Cacti建立园区网的网络设备端口流量监控系统

1)安装软件:设置S1的ip地址为172.16.1.66 ,在服务器S1上安装centos 6.3,MySql,Apache,PHP,RRDTool,NET-SNMP,Cacti0.0.8a 。在浏览器地址栏输入http://172.16.1.66/cacti后进入Cacti管理界面。

2)为全部网络交换机设置SNMP参数。以Cisco 2960交换机为例(其他交换机相同):

Switch-C2960-1(config)#Interface vlan1

Switch-C2960-1(config)#ip address 172.17.7.1 255.255.255.0 设置本机管理IP地址;

Switch-C2960-1(config)#snmp-server community netmanage RO 开启snmp-server功能,设置只读community 为netmanage;

3)创建监测项目:以Cisco 2960交换机为例,cacti管理界面有两个选项卡, Console选项卡进行所有的配置操作;graphs选项卡查看在监控项目的数据图形。在console选项卡的device面板创建监控项目设备,输入description:Switch-C2960-1;Hostname:172.17.7.1;Host Templat:Generic SNMP-enabled Host;SNMP community:netmanage等信息后单击Create添加成功。创建监测项目图形: device面板点击Switch-C2960-1设备端口点击Create完成创建。打开设备综合信息窗口,单击Create Graphs for this Host创建图形,在设备属性窗口选择要监控的设备

摘要:计算机远程监控技术是世界上工业自动化发展到一定程度的重要技术,由于工业生产过程中的自动化和生产设备分散化,传统的现场监控措施已经不能满足当前的监控需求,必须发展以计算机软件为基础的远程监控系统。本文从计算机软件技术下的远程监控系统特点、重要性和架构出发,探讨如何优化当前工业中所需要的远程监控系统。

关键词:计算机软件技术;远程监控系统;系统构架;网络系统

中图分类:TP311 文献标识码:A 文章编号:1009-3044(2016)21-0035-02

远程监控系统不同于以往的现场监控和直接监控技术,是针对现代化大工业生产的适应性监控技术。基于计算机的远程监控系统主要包括计算机软件系统和网络传输系统,其中网络传输系统包括现场控制网络系统、企业内部网络系统以及互联网通信系统,在这个网络系统之上还需要具体的软件系统提供相应的支持。

1 远程监控系统的计算机软件设计思路

远程监控系统的计算机软件设计要依托当前的互联网技术发展,实现灵活的远程监控需要依靠良好的网络建设和充分的软件支持,远程监控系统的软件设计要从底层架构的构建开始向上逐步攀升,以符合最终的监控系统应用需求。

1.1 基于C/S结构的远程监控系统设计思路

C/S结构最早出现在上世纪末,即服务器和客户端组成的联通网络,在这个网络系统中,服务器通过数据库管理客户端之间的信息和联结,允许或限制客户端进行数据库的读写,同时统筹整个数据网络的信息传输情况,并对整体的数据安全进行防护措施更新。在C/S结构的监控系统中,客户端和服务器的正常互动本身就是最重要的数据传输行为,客户端在申请相关信息的时候必须符合服务器的相关规则。这样才能保证整个监控系统的正常运转。

1.2 基于B/S结构的远程监控系统设计思路

B/S结构系统即利用浏览器和服务器之间的联结进行监控系统信息处理的方式,和上文中提到的监控系统设计方式不同,这种设计思路主要是利用Web浏览器来对服务器进行访问,省略了专用的客户端机构,通过URL定位来进行数据库资源的访问和读写。B/S结构的远程监控设计系统主要利用HTML语言进行软件层面的构建,与C/S结构的远程监控系统设计相比,B/S结构系统比较符合当前系统移动化和智能化的发展趋势。

在B/S结构系统的设计思路当中,对用户操作的简化处于一个相当重要的地位,要确保软件系统的扩展性和易用性,同时由于使用web进行系统和用户之间的交互,远程监控系统的维护与更新都只需要对服务器上的根程序进行调整,就可以实现系统的实时监控与更新。

2 远程监控系统计算机软件的设计流程简析

2.1 远程监控系统计算机软件的主要模块

一般远程监控系统的计算机软件可以分为两个主要模块,即服务器端的程序模块和客户端的程序模块,在B/S结构设计思路的远程监控系统中,客户端的程序模块可以被简化和省略,本文从两种设计思路出发,所以服务器端程序模块和客户端程序模块都需要做出一定分析。

2.1.1 计算机远程监控系统当中服务器端的软件模块

在远程监控系统当中,服务器端的程序起到总领全体数据的作用,一般有以下几个重要模块需要在软件设计的过程中进行着重考虑。首先是网络模块,就是指对客户端连接进行监听的模块,,负责网络层之间数据传输的合理运行。其次是数据编码模块,使用行程编码或者霍夫曼编码模式进行图片传输的压缩编码,在远程监控系统当中图片和视频的传输十分重要,因此编码技术在程序中所占的比重很大。最后是主框架模块,负责服务器的信息处理以及传输,一般使用合理的架构能够提高服务器处理信息的效率。

2.1.2 计算机远程监控系统当中客户端的软件模块

和传统的C/S结构计算机远程监控系统软件不同,B/S结构的计算机远程监控系统软件不需要专门的客户端软件模块,只需要在服务器端利用HTML语言编写一个用户界面就可以对远程监控系统进行操作和数据存取,因此客户端软件模块这一项主要是针对C/S结构下正常运转所使用和编制的。

在计算机远程监控系统的客户端软件中,有以下几个部分需要特别关注。首先是接收服务器信息与上传信息的网络模块,与服务器端不同,这里的网络模块重点在于数据的接收和发送,对网络正常运转和处理方面的功能有所弱化,同时也要注重正常连接的维持。其次,数据解码模块也是要和服务器端的数据编码模块配套,可以根据不同的编码解码语言设计多套数据编码解码模块以便操作。另外,在B/S结构下,编码和解码模块都是整合在服务器端模块当中的。最重要的是用户的操作模块,为用户提供简单易懂的操作界面以及相关的系统使用参考,在操作模块设计的过程中应该注重操作的便捷性和易用性。

2.2 远程监控系统计算机软件设计的主要过程

计算机远程监控系统主要包括客户端软件和服务器端软件,在软件设计的过程中要首先对这两个模块进行分别设计。然而在使用的过程中要通过客户端的软件对服务器端的数据进行调动,因此两者之间的连接和传输功能要优先落实,也就是远程控制系统的实现。远程控制系统需要有专门的口令传输通道,并且可以根据各项命令对服务器端进行各种操作。当远程控制系统顺利地将客户端与服务器端连接起来的时候,整个计算机软件系统就基本成型了。

3 计算机远程监控系统的安全问题分析

远程监控系统在未来会越来越多地运用于工业生产的各个流程之中,而且随着网络技术的发展,远程监控系统的作用范围半径也会不断增强,这样远程监控系统的安全问题就必须得到重视。远程监控系统的主要作用是现场信息的测控以及远程对信息的查看,在传输过程中如果不保证数据的安全性,就很容易被别有用心的人利用,导致数据传输不完整或者数据传说过程中出现的数据泄露。计算机远程监控系统的安全问题主要应该从以下几个方面考虑: