基于Telnet协议的ONU终端性能监测系统设计
2021-12-18刘爽陈琳丁光帅朱山山
刘爽 陈琳 丁光帅 朱山山
摘要:阐述了Telnet协议原理及实现方法,针对光网络单元(ONU)终端性能监测不便问题,设计了基于Telnet协议的ONU终端性能监测系统,实现对指定ONU终端性能快速监测及所有ONU终端性能轮询监测,对监测中异常情况进行实时显示告警,相关数据通过XML文档进行存储,满足历史数据查询功能。通过监测系统使用,有效提升ONU终端性能可靠性。
关键词:Telnet协议;ONU性能;轮询监测;XML存储
中图分类号:TP391.4文献标志码:A文章编号:1008-1739(2021)20-66-4
0引言
船舶GPON系统通过光纤入户,实现船内VoIP电话业务、IPTV和高速数据业务的接入与传输,ONU终端作为各业务接入终端,光功率性能接收好坏直接影响各终端业务能否正常使用。以往岗位人员主要通过华为U2000网管软件查看光链路终端(OLT)指定框-槽-端口-ID,实现ONU信息查看,或通过BIOS界面、远程OLT设备进行指定ONU终端信息查看。ONU终端性能查看较为繁琐,多数为事后查看,若涉及多个终端,则耗时较长,不便岗位人员日常常态化监视。Telnet是一个远程登录协议,在Internet上有着广泛的应用,各种网络操作系统都有Telnet协议应用终端,尤其在使用 Unix操作系统的计算机上,它已成为不可缺少的工具。Telnet协议提供了网络间数据传递和信息控制的重要方法,允许一台设备中的应用程序像访问本地服务器那样访问远程的另一台主机中的资源,实现所需数据传输,进而实现远端设备的操作和维护。
本文通过C#语言编程实现Telnet协议,通过调用Telnet()方法,可视化实现指定ONU终端性能快速监测及所有ONU终端性能轮询监测,有效提高了船载ONU终端性能监视效率。
1 Telnet协议的主要内容
Telnet协议工作于应用层,远程主机服务程序工作在TCP协议的23端口上,它提供了通用的8 bit的双向通信手段,确定了终端设备和面向终端的进程之间通信的标准接口,可用于终端与终端或进程与进程之间的通信。
1.1网络虚拟终端
由于网络上进行通信的2台主机所使用的字符集不同,Telnet协议为2台主机的通信提供一个标准接口,也就是网络虚拟终端(VNT)。本地主机和远程主机需将自己的终端特性转换为统一的网络虚拟终端,把主机从维护其他通信的终端任务中解放出来,从而可以不用了解对方主机内容细节而直接建立通用的应用程序[1]。
1.2 Telnet协议及其命令格式和传输方法
Telnet协议是使用者利用本地电脑,通过Telnet指令,连接到指定的远端服务器并通过输入逐行命令操作远端的网络设备,通过此方式可以完成远端网络设备的管理维护。
Telnet协议在建立连接过程中,本/远端的通信终端要进行多次相互协商,以求最终达到双方的建链,然后开始正式通信,Telnet建立连接过程如图1所示[2]。
1.3 Telnet协议实现方法
本文利用C#语言编写基于Telnet协议的访问程序,实现Telnet协议远程制定网络终端,利用Telnet协议内相关方法与访问类,用户可实现网络设备终端可视化程序管理,以此实现远程操作和控制网络终端目的。Telnet协议实现的主要方法如表1所示[2]。
2系统设计
2.1 GPON系统组成
GPON系统是无源光网络,由光链路终端(OLT)通过光分配单元(ODN),實现光链路终端(ONU)与用户终端(电视、电话、计算机等)连接,各通信业务通过ONU连接至OLT,船舶GPON系统组成如图2所示。ONU终端性能好坏应用通信业务正常传输,可通过远程OLT对指定端口ONU进行性能查看,其中最关键参数为ONU接收光功率。
2.2系统流程
(1)ONU性能查看命令
ONU性能监测通过Telnet协议实现信息命令自动输入,关键要素自动获取。通过命令提示符,远程登入OLT设备后,信息查询命令如下:
使能开启:enable
进入配置模式:config
进入指定框-槽位:interface gpon 0/1
查询指定端口-ID:display ont optical-info 0 2
显示指定ONU信息。
ONU终端性能界面如图3所示。
通过命令提示符,可查看0框-1槽位-0端口-2 ID号的ONU终端接收光功率为-12.85dBm,指标要求为(-8~-28dBm),符合要求。
(2)Telnet()方法使用
通过C#编程,实现Telnet()方法调用可视化,实现Telnet协议。输入指定IP地址、端口号,判断终端设备连接情况。而后根据WaitFor()函数,判断获取命令提示符情况,根据命令提示符反馈情况,通过Send()函数,发送指定命令。从反馈日志中,截獲光功率接收数值,获取所需要指定参数。
由于输入命令提示符后,日志反馈需一定时间,因此在日志获取上,每次新命令输入可将当前主线程挂起1~2 s,即使用Thead.Sleep()函数,ONU信息获取流程图如图4所示。参数发送及接收如下:
(3)线程池使用
在自动获取参数实现上,由于需远程OLT及自动输入命令,等待返回字符串,因此单个ONU终端性能查询时间约为5 s,若系统整体ONU终端为200个,所有ONU轮询查询时间约为1 000 s,即每次轮询查看时间约为16 min,因此在C#中若使用主进程实现ONU终端性能运行将导致可视化界面出现假死情况,因此本次Telnet协议实现上,使用线程池按照队列来执行各ONU端口信息查询函数[4]。
2.3 XML数据存储
在查询信息存储上采用XML标记语言,提供一种标准化方式来标识文本数据,采用树形结构,具有易携带、传输,共享且跨平台,易读写、查询等功能[6]。根据系统每次轮询监测情况,将所有ONU终端对应接收光功率进行存储,ONU终端性能存储如图5所示。
3系统实现
3.1单个用户ONU终端性能获取
通过下拉列表,选取当前存在住舱名称,可获取当前住舱ONU终端所对应OLT中框-槽-端口-ID信息。通过Telnet协议,获取指定ONU参数信息,单个ONU终端信息查询如图6所示。本文重点关注OLT中,ONU终端接收光功率,单个ONU终端查询时间为4 s。
3.2多用户ONU性能检测
通过设定轮询周期,定期进行全船ONU终端性能检测。全船部署终端约200余个,根据ONU终端ID分布情况,按照框-槽-端口-ID进行轮询查询,所获取ONU终端光功率分别在所对应住舱号码文本框中显示,若显示数字超出设定阈值(-8~-28 dB),文本框背景将进行红色告警,所有ONU终端信息轮询如图7所示。
3.3历史数据查询
可以根据需求,对每日轮询检测的数据进行读取查询,满足各类监视和故障诊断需求。
4结束语
本文通过C#实现Telnet协议可视化操作,可实时查询指定ONU终端接收光功率,有效提升船舶ONU终端性能检测效率,通过定期轮询ONU终端性能状态,对连通性异常、接收光功率异常ONU终端进行显示告警,可有效提升全船ONU终端检测效率,为岗位人员日常维护及发现故障提供便利。相关成果可用于各类网络设备可视化登录及参数查看、修改。
参考文献
[1]卢爱卿,张会勇,赵征.Telnet协议的实现原理及应用[J].计算机工程, 2002,11(28):268-269.
[2]郑国勋,鲁晓颖,张晓贤.基于Telnet协议实现网络设备远程管理的设计[J].长春工程学院学报(自然科学版), 2010, 11(4): 93-95.
[3]张勇.应用Telnet协议实现EPONONU流量监测[J].有线电视技术, 2013, 20(9):84-85.
[4]王小科,赵会东.C#全能速查宝典[M].北京:人民邮电出版社, 2012.
[5]葛蓁.基于Telnet协议的网络设备自动管理系统研究[J].软件导刊,2011, 10(6):100-102.
[6]张永健.XML数据库存储和访问技术研究[J].信息技术与信息化, 2021(8):137-139.