文/张延龙 王建兰
随着综合气象观测业务现代化与气象信息化的推进,云计算、大数据、物联网、移动互联等互联网新技术在气象部门的应用正在逐步开展,气象雷达、卫星等业务资料的海量获取,都源于信息系统的互联互通、信息共享和业务协同,对高速稳定网络系统的依赖越来越强。山东省气象局及时升级了省到市20M双网络专用线路,市县气象部门也开展了双网络专线业务的建设与运行。如果某一条专线发生断网而没有被及时发现,当另外一条专线发生故障时,整个网络专线传输系统就会中断,进而严重影响气象业务的运行,特别是急需气象服务时,作为气象业务支撑的网络专线越来越重要,网络维护的工作也越来越繁重。为避免专用网络长时间中断,及时发现网络专线故障,降低对气象业务正常运行的影响,必须重视专线网络的智能监测断网报警,实现对网络专线的自动监测与报警日趋重要。
国内许多网管产品都是综合性的网络设备监控及业务流程管理的平台级产品,所有网络公司的产品都支持SNMP标准,采用SNMP协议,功能强大。但是这些系统价格昂贵,与市县级小型局域网规模的性价比不高,不太适用于市级气象局部门。
目前,多数市级气象部门只有一名专职网络维护人员,在初步排除故障时采用手动执行DOS下的tracert或者ping命令,往往是出现故障后的查找,不能及时发现故障,网络故障复杂对其技术知识要求很高,对于时断时续的不稳定网络专线不能快速发现故障。而且ping命令在双专线没有限制时,能通过其中一条专线到达目的地址,出现故障漏查现象,不能及时发现双线路或者多线路其中一条线路故障。如果通过路由限制,线路的负载平衡无法实现,能判断线路故障,但无法定位故障。
系统设计主要用于市县级气象网络专线中,功能上除了对网络专线进行监测与报警外,也可以完成对重要业务服务器等设备的网络连通情况进行监测,减少发现故障的时间,减轻维护人员的负担。从被动响应的工作方式转变为主动响应;通过系统及时发现故障,避免影响气象业务传输重大故障发生。
为配合系统的实现,核心路由设备要配置当一条线路故障经过另外线路到达时,路由级数要多一级,目标路由设备尽量不要忽略ICMP包。自定义配置文件,把需要监测的IP地址、通过路由级数等信息写入配置文件,为了减少线路故障时的额外跃点检测时间,根据实际情况配置跃点数据;专线带宽不同,设置合理的超时时间。
软件设计思路主要模仿DOS下的tracert命令,读取配置文件生成线路信息列表,获取到达目标互联IP地址的路由,通过路由级数及结果判断专线连通状态,依托ICMP协议,自定义ICMP数据包的内容,使用Raw类型的套接字进行发送ICMP报文,通过跟踪经过的各个路由的情况分析ICMP报文的方法,计算数据包所走路由,对返回值进行判断,查看是否到达目标地址。分析监测结果,对结果进行对比,生成日志文件,并在系统界面中予以显示,故障现象要给予声音报警和图像提醒。配置文件和log文件也可以设计成数据库的形式,系统界面就采用网页形式进行展现。
下面以C#语言为例进行部分程序的实现,设计时间间隔从配置文件读取,循环判断每条专线,通过路由级数及结果判断专线连通状态,实时发现网络专线故障,图像及声音报警提醒,程序主界面如图1所示,故障及修复时间信息按照年月及线路名称自动保存在log目录如图2所示,方便专线故障信息查询统计。
关键程序代码如下:
市级网络专线监测系统实现发现专线中断故障,并及时给出颜色提示和声音报警。可以使维护人员在最短的时间内发现并定位网络专线故障,及时联系运营商进行专线修复,使网络高效正常运行,对专业人员少、工作量大的市县气象部门非常适用。