基于SNMP 的HFC 双向网络设备的设置分析
随着HFC网络双向改造的深入开展以及网络规模的日益扩大,网络管理的重要性以及迫切性日益突出,业已成为HFC双向网络良好运行必不可少的保证。对于缺少网络管理系统的网络,获知网络故障总是被动等待的,总要等到用户报障后,才开始进行故障点的诊断和维修,需要花费较长的时间,不利于双向业务的开展,极大地降低了客户满意度。为保障网络安全高效、稳定地运行,对HFC网络中的网络设备的流量信息进行监测是实现网络管理及时发现网络出现的异常情况的重要手段,本系统利用SNMP协议读取网络设备管理信息库MIB中的相关数据并通过各种相关运算得到网络设备流量的信息,从而可以实现有效的管理监视。
1 简单网络管理协议SNMP
简单网络管理协议SNMP[1](Simple Network Management Protocol)是由Internet活动委员会(IAB)制定的、基于TCP/IP协议族的各种互联网络的管理标准。利用SNMP,网络管理者可以从网络设备中收集网络设备的状态以及各类相关信息如流量、端口最大速率等;网络设备也可以利用SNMP主动提供设备告警事件。
1.1 SNMP基本原理
SNMP采用的是代理工作站的模型,即对网络的管理与维护是通过被监测的网络设备上的SNMP客户端程序来实现的,该程序持续监听管理站发来的命令与请求,并对此进行响应。管理站与代理站之间的通信协议是UDP协议(面向无连接的数据报协议),一般而言,网络设备上使用SNMP的UDP端口为161,管理站使用的UDP端口为162。
1.2 管理信息库 MIB
管理信息库MIB定义了可访问的网络设备的属性,这些信息包括可供管理程序读写的控制信息和状态信息,由对象识别符OID (Object Identifier)唯一指定。MIB采用树型结构进行命名,SNMP协议通过对MIB库的树形节点的读和写来访问和操作网络设备中的信息。OID是依据MIB树形结构从根节点到该对象所经节点的编号系列组成的[2],如: 1.3.6.1.2.1.1.1表示对设备的描述,1.3.6.1.2.1.1.3表示设备上一次开机的时间,1.3.6.1.2.1.1.5表示设备的名称等。
1.3 SNMP的数据单元
SNMP 定义了5中类型的协议数据单元:Get-Request、Get-Next-Request 、Get-Response、Set-Request以及Trap。共计可以分为3类:
1) Get类:SNMP管理站用Get-Request方法从拥有SNMP代理的网络设备中查询信息,而SNMP 代理则用Get-Response消息响应。Get-Next-Request用于查询特定的对象中的下一个元素。
2) Set类:SNMP管理站用Set-Request对网络设备进行远程配置管理和设置性能参数的门限等。
3) Trap类:SNMP代理使用Trap向SNMP管理站发送非请求类消息,一般用于描述某一事件的发生如告警信息等,以实现故障管理。
2 设备流量以及误码率的的监测
影响HFC双向网络性能的关键是网络设备的各端口的流量以及误码率,通过对网络设备的流量和误码率的分析是判断网络异常的先决条件。本系统采用SNMP协议来实现对网络设备的流量监测。在MIB库中,反映网络流量和误码的对象OID(1.3.6.1.2.1.2.2.1)的节点存在于Interface接口组的ifInOctets、ifOutOctets、ifInErrors、ifOutErrors等中,其中ifInOctets对象表示接口收到的总字节数,ifOutOctets对象表示接口输出的总字节数,ifInErrors对象表示接口收到的错误总字节数,ifOutErrors对象表示接口发出的错误总字节数。表1总结了流量以及误码率在网络设备监控中所使用的公式:
从上表中可以看出,各个指标的计算,都需要相邻两次采集的数值之差运算得到的,反映的是一段时间内的采集数据的平均值。由公式可知,Δt决定了系统采集的精度,也就是系统采集的间隔时间,也称之为系统采集的轮询周期。因为,系统采集的轮询周期的设置成为了反映整个监测系统指标精确的关键,若轮询周期设置时间过长,影响系统的实时性,不能反映采集周期内突变状态;若轮询周期设置较短,则导致设备负荷较大,从而影响设备的正常运行。根据经验以及考虑设备的运行负载,本监控系统将各类指标的轮询周期设置为2分钟。
3 流量以及误码率监控的系统设计以及实现
3.1 监控系统设计
系统采用B/S结构模式,模块化设计。如图1所示的系统结构图,系统由接口适配层、应用层、信息表示层和Web发布层四部分组成,系统功能实现的核心部分集中在服务器上,简化了系统的开发、维护和使用,在扩展系统功能时,只需更新服务器上的应用模块,无需做客户端维护,系统的适应性、扩展性和稳定性强,使用方便。系统的开发语言是C#,使用的数据库是SQL Server数据库。
3.2 分布式并发采集
考虑到顺序采集情况下,单个设备采集需要的时间t与设备数量m之间的乘积t*m可能会导致轮询间隔大于指定的轮询周期,系统采用了多线程技术和分布式方案。多线程技术减少了CPU等待时间,提高了服务器资源利用率;分布式采集为今后更大的网络规模提供了解决方案。
3.3 图形化展现
流量以及误码率监控系统在采集到相关指标数据后,根据表1的公式,来计算各类监控指标,为了让维护管理人员能够直观便捷的了解系统状况,系统采用了图形的方式给出了各类参数的实时数据。当出现异常流量时,流量监控系统会发出相应的告警信息。如图2:某一端口的输入流量(InOctetes)以及输出流量(OutOctets)。图3:系统设备中端口利用率的告警(红色表示告警)。
4 总结
本文基于SNMP协议访问网络设备性能参数,以实现对网络设备流量以及误码率的监控功能,构建了一种能够实时对网络设备端口进行监测的模型,其实现主要包括两部分,其一,通过SNMP 协议访问监控节点的MIB,实现对节点流量以及误码率的监控;其二,对监控结果设置阈值,监控流量超过门限时进行流量的告警。该模型设计可以有效评价网络的运行状态,当出现流量以及误码率异常时可以及时的采取措施,避免了故障发现延迟的情况。
参考文献:
[1] [美]Mark ,P.E. 用SNMP 管理互联网络[M]. 晏明峰译. 中国水利水电出版社,2001.
[2] RFC 2670, http://.
[3] 国标GB/T 20030-2005《HFC网络设备管理系统规范》.