李 达,史洪飞
网络是医院信息化建设的基础,是各信息系统运行的平台[1]。随着目前医院网络规模和业务的快速发展,各类型网络设备的数量越来越多、越来越复杂,网络设备管理系统的作用也变得越来越重要[2-3]。本文开发的系统主要使用telnet协议,通过输入命令行模式,实现远程管理,减轻维护人员的工作量,提升维护效率,确保医疗信息化网络高效、稳定、安全地运行。
telnet协议是TCP/IP协议族中的一员,以23号端口为传输端口,在用户计算机与远程宿主之间建立一条通信线路,使终端主机通过线路与远程设备相连接,提供虚拟终端服务(network virtual terminal,NVT)[4]。它的命令至少包括2个字符的字节序列:IAC(interpreter as command)转义符和命令码[5]。相互连接的双方都是按照标准的NVT格式发送和接收协商选项数据,然后待双方均同意响应命令后才能开始正常通信。
目前,大多数医院内不止部署一套网络,每套网络间物理隔离,且存在多个网络设备,在每套连接网络中,使用本系统即可完成对相应设备的管理。虽然telnet协议通信有服务器和客户机之分[6],但在程序实现过程中,通信双方是完全对称的,因此,在telnet登录到远程设备之后输入管理命令,即可自动获取信息并进行处理。
2.2.1 网络设备基础设置
查看、修改网络设备基础设置,如用户名、密码、IP地址、VLAN划分等。
2.2.2 网络设备接口管理
查看接口状况、接口性能,更改接口状态,如激活接口、关闭接口等。
2.2.3 网络设备配置备份恢复
支持不同类型设备配置的备份恢复功能,网管人员可选择不同厂商的设备,使用相应的命令行实现远程管理。
(1)使用TCP协议,指定远程设备IP地址和端口号,创建 Socket连接[7]。
(2)调用Begin Receive()方法用于异步接收数据,遍历Socket接收到的所有数据和控制信息参数,保存在一个字节流中,并对接收到的指令进行解析。以IAC标记区分每条指令,根据不同的命令码,按照telnet协议数据格式转换为相应的字符串。
(3)接收完数据后,根据取得的不同控制信息参数发送回返数据,发出结束后,使用一个匿名委托继续执行接收信息的委托[8]。
3.2.1 系统实现流程
根据实现的telnet协议类得到回返数据和接收数据,然后由网络设备的命令参数实现对应的功能模块。软件实现流程如图1所示。
图1 软件实现流程图
3.2.2 系统功能实现
系统各功能模块主要依据网络设备管理命令和telnet协议实现,不同的管理命令对应实现不同的网络设备管理功能。下面以网络设备配置备份恢复功能模块为例,详细介绍其实现原理。
自动备份思科网络交换机的配置功能,首先运行本地的TFTP Server软件(本系统使用的是3Com公司的3CDaemon文件服务器软件),开启TFTP服务器功能,并指定服务器地址和路径,保存交换机备份的配置文件[9]。因院内网络设备较多,因此,在程序实现时,可以对单个设备或多个设备进行配置文件备份,并使用“设备名称#管理IP地址”为名称存储,同时,将备份失败的IP地址保存在指定路径的文本文件中。本功能主要实现代码如下所示:
TelNet ip=new Tel Net(string ip.ToString,23,timeout);
if(ip.Connect()==false)
{Message Box.Show("连接失败");//根据远程IP地址和端口号,连接网络设备
return;} //连接失败后,退出程序
Thread.Sleep(500);//线程休眠,否则无法得到接收数据
ip.Read("username");//得到接收数据
ip.Write(username);//向远程设备发送回返数据
ip.Read("password");
ip.Write(password);
ip.Read(">")'//输入用户名、密码后,等待设备提示符
ip.Write("en");
ip.Read("password:");ip.W rite(password);ip.Read("#");
ip.Write("copy startup-config tftp://"+ 上传/下载目录);//使用思科交换机备份命令
ip.Read("?");
ip.Write(" ");
ip.Read("#");
ip.Write("exit");
系统现已在院内医疗网和互联网中运行,实现了网管人员对网络设备管理的基本需求,如在网络交换机管理方面,实现了交换机基本参数信息查看、端口管理、VLAN管理等,以及基于思科发现协议的相邻设备的发现,如图2~4所示。同时,对交换机的自动备份配置功能(如图5、6所示),主要实现了核心层设备每月备份配置一次、汇聚层设备每半月备份一次、接入层设备每周备份一次。方便了网络管理人员在应急处置故障,需要更换设备时,可根据交换机名称或管理IP找到对应的最新的备份文件,及时恢复配置,避免了因命令较多或不熟悉而导致的配置失败等问题,提升了网络故障处理和网络设备的管理效率,得到了网管人员的广泛推广和运用,取得了良好的效果。
图2 网络交换机基本参数状态查询
图3 网络交换机端口信息查询
图4 直连设备信息查询
图5 网络交换机配置备份
图6 生成备份文件
随着数字化医院建设的不断深入,信息网络设备也不断增加。本系统在应用上操作简单快捷,通过对网络设备的实时控制,方便了管理人员的日常需要。同时,还可进一步拓展其功能,下一步可结合snmp协议,根据MIB库信息,查看网络拓扑情况,并可生成网络拓扑图,应用.NET绘图功能,可视化绘制监控网络设备的运行状态图,全面实现网络管理的智能化和规范化。
[1] 赵浩宇,李刚荣.医院信息系统网络安全建设[J].中国数字医学,2010,5(12):46-47.
[2] 周毅.基于医院网络问题处理的几点经验交流[J].医疗卫生装备,2012,33(10):150-151.
[3] 郭凌菱,荣文英,常建国,等.医院网络安全解决方案——三重安全管理系统[J].医疗卫生装备,2012,33(9):45-46.
[4] 许浩,许卫中,高东怀,等.基于SNMP的网络层拓扑发现算法研究与改进[J].医疗卫生装备,2012,33(1):55-56.
[5] 葛蓁.基于Telnet协议的网络设备自动管理系统研究[J].软件导刊,2011,10(6):100-101.
[6] 陈贤敏.基于telnet协议在网络设备管理中的应用[J].浙江工贸职业技术学院学报,2008,8(4):43-45.
[7] 刘瑞新.C#网络编程及应用[M].北京:机械工业出版社,2004:210-215.
[8] 郑阿奇.Visual C#网络编程[M].北京:电子工业出版社,2011:182-190.
[9] 王达.Cisco/H3C交换机配置与管理完全手册[M].2版.北京:中国水利水电出版社,2012:201-211.