劉爽 陳琳 丁光帥 朱山山
摘要:闡述了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.