馬玉國 仲立婷
【摘要】針對電信企業(yè)內(nèi)部網(wǎng)絡設備復雜、多樣、分散等特性,通過使用TCP/IP協(xié)議編程實現(xiàn)了此類設備的智能化管理,實時收集各網(wǎng)絡設備的運行狀態(tài),并實現(xiàn)與各類網(wǎng)絡設備的一對多對話,簡化了維護人員的操作,提高了企業(yè)的自動化管理水平。
【關鍵詞】網(wǎng)絡設備;TCP/IP協(xié)議;TELNET協(xié)議;工作腳本
一、背景
隨著各電信運營商全業(yè)務市場運營的開展,電信企業(yè)內(nèi)部的競爭日趨激烈,在電信企業(yè)如火如荼的競爭過程中,企業(yè)內(nèi)部的人力、成本等資源都集中到了市場營銷、客戶服務與維系等窗口中,作為后臺網(wǎng)絡、設備維護人員,如何使用有限的人力資源和維護成本,來保障設備更穩(wěn)定、更高效的運行成了各電信企業(yè)運維管理、系統(tǒng)支撐部門必須考慮的問題。
二、問題分析
電信企業(yè)內(nèi)部接入網(wǎng)絡的設備主要由應用服務器、生產(chǎn)終端設備和內(nèi)部局域網(wǎng)的組建、管理、支撐設備組成。在日常的維護過程中,我們發(fā)現(xiàn)這些設備存在以下特性:
1)設備的多樣性。上述設備中有網(wǎng)絡交換機、路由器、小型機、工控機等,涉及操作系統(tǒng)有HP UNIX、SCO UNIX、LINUX、SUN SOLARIS等多種。
2)設備數(shù)量較多。隨著電信企業(yè)內(nèi)部的信息化水平不斷提高,各類設備數(shù)量也不斷增加,僅以路由器、交換機為例,德州的數(shù)量就數(shù)以百計。
3)地理位置的分散性。由于上述設備主要為各級分公司的系統(tǒng)提供服務,由于各級分公司、營業(yè)部位置的相對分散,就決定了此類設備在地理位置上的分散性。
設備多樣、數(shù)量龐大、位置分散的特性就造成了此類設備管理的復雜性,那么,如何對上述設備進行有效的維護和管理呢?本文結(jié)合德州的實踐經(jīng)驗,基于TCP/IP協(xié)議族,提出了電信企業(yè)內(nèi)部設備智能化管理系統(tǒng)設計方法。
三、技術介紹
傳輸控制協(xié)議(TCP)、Telnet協(xié)議都是TCP/IP協(xié)議族中的一員。這兩種協(xié)議為用戶提供了在本地計算機上完成連接、控制遠程服務器的能力。在終端使用者的電腦上使用TCP或telnet協(xié)議,連接到遠程服務器,并可以通過程序,在本地終端上輸入命令,送到服務器上運行,就像直接在服務器的控制臺上輸入一樣。
TCP協(xié)議、TELNET協(xié)議是各類設備或其操作系統(tǒng)上普遍支持的兩種網(wǎng)絡協(xié)議,基于上述兩種協(xié)議,通過編程可以實現(xiàn)對各種網(wǎng)絡設備自動控制、數(shù)據(jù)采集,來為我們的維護工作提供便利。
四、系統(tǒng)結(jié)構(gòu)
應用服務器通過C語言編寫程序通過TCP協(xié)議、TELNET協(xié)議與各網(wǎng)絡設備建立連接通道,通過兩種方式與設備之間進行交互。一種方式是定時解析通過既定的數(shù)據(jù)采集腳本向各網(wǎng)絡設備發(fā)送數(shù)據(jù)采集命令,由結(jié)果分析程序?qū)⒚罘祷氐慕Y(jié)果進行分析,寫入數(shù)據(jù)庫。第二種方式,終端用戶通過主動向應用服務器發(fā)起查詢、操作命令請求,由應用服務器將操作命令對一臺或多臺設備進行命令處理,并將處理結(jié)果返回。
在整個處理過程中,應用服務器扮演了兩種角色,一方面與各網(wǎng)絡設備建立雙向命令處理通道,一方面通過發(fā)布網(wǎng)頁來接受終端用戶的查詢、操作命令請求。
五、系統(tǒng)實現(xiàn)關鍵技術難點分析
在智能化網(wǎng)絡設備管理系統(tǒng)的實現(xiàn)過程中,我針對系統(tǒng)實現(xiàn)過程的兩個重點、難點問題,來介紹系統(tǒng)的設計方案。
1、TCP、TELNET協(xié)議接口設計
在使用TCP、TELNET協(xié)議與各網(wǎng)絡設備連接過程中,在兩個過程中下可能會出較長的時間延遲。
(1)在使用SOCKET、CONNECT函數(shù)與網(wǎng)絡設備建立連接的過程中,如果遠程設備掉電,或出現(xiàn)局部的網(wǎng)絡中斷,這部分設備在整個局域網(wǎng)中將變?yōu)椴豢梢姞顟B(tài)。而無論是TCP協(xié)議還是TELNENT協(xié)議,在面向連接的協(xié)議,如果CONNET函數(shù)在建立連接的過程中阻塞,會進行多次重試,直到重試次數(shù)超過操作系統(tǒng)設置最大超時次數(shù)位置,這個過程一般會持續(xù)3分鐘左右的時間。(2)在CONNECT連接建立后,與SOCKET套接字進行命令發(fā)送的過程中,如果服務器對命令返回的結(jié)果未正確識別出有效的命令結(jié)束符號,或由于網(wǎng)絡設備自身硬件故障的原因造成命令處理過程放緩、或不執(zhí)行,從而無法獲得正確的返回結(jié)果,造成長時間存在一個無效連接,這實際也是一種阻塞狀態(tài)。
上述兩種狀態(tài)如果在程序編寫的過程中,如果不增加超時處理,將大大放緩命令的執(zhí)行效率,造成終端用戶對系統(tǒng)的認同度下降。因此,在上述兩種過程中,我們首先需要兩種基本數(shù)據(jù)局域網(wǎng)內(nèi)部的正常時間延遲、網(wǎng)絡設備的回顯延時。
(1)局域網(wǎng)內(nèi)部的正常通信延時的計算過程中,可要選取各IP網(wǎng)段的最大網(wǎng)絡延時作為參考。(2)網(wǎng)絡設備的回顯延時,由于網(wǎng)絡設備的生產(chǎn)廠家、設備型號、硬件配置、軟件配置、發(fā)送命令的不同,回顯時間延時也會不同,這種情況下,對于同廠家、同型號設備,選取一個日常維護操作處理時間最長的操作時間作為參考。
通過上述兩種時間的界定,使用SELECT函數(shù)來設置超時時間,在超時時間到達前如果沒有收到正確的命令返回結(jié)果描述符,則產(chǎn)生一個中斷信號,來打破阻塞狀態(tài)。
2、各網(wǎng)絡設備采集命令管理問題
由于網(wǎng)絡設備類型眾多、變更較為頻繁,如果將所有的操作、數(shù)據(jù)采集命令都固化到程序中,雖然會對程序代碼的執(zhí)行效率有一定的提升作用,但是同時會面臨程序拓展性差、維護困難的問題。會讓我們工作陷入不斷進行代碼更新,同時由于設備更替,代碼中又會產(chǎn)生部分冗余代碼僵局。為解決此問題,首先,我們編寫了一個工作腳本分析進程,固化部分關鍵字,如TELNET_IP(使用TELNET協(xié)議連接IP地址)、 AUTO_TCP_IP(使用TCP協(xié)議連接IP地址)、FIND(搜索返回結(jié)果串)、ENTER(輸入命令)、TO(將結(jié)果輸出到文件)等。然后,根據(jù)上述關鍵字規(guī)范,結(jié)合日常使用較為頻繁的操作命令。下面我通過SCO UNIX工控機和CISCO路由器的兩個工作腳本,來給大家介紹下此系統(tǒng)德州聯(lián)通內(nèi)部的實際應用。
六、技術總結(jié)
在電信企業(yè)網(wǎng)絡設備智能化管理實現(xiàn)過程中,通過TCP/IP協(xié)議族協(xié)議的靈活使用,成功地解決了對多種數(shù)量龐大、位置離散的網(wǎng)絡設備的管理難題,實現(xiàn)各網(wǎng)絡設備數(shù)據(jù)的采集、入庫、顯示,以及管理人員與網(wǎng)絡設備的雙向交互。通過在德州聯(lián)通內(nèi)部的建設和使用,實踐表明此系統(tǒng)可以在網(wǎng)絡設備維護、監(jiān)控、操作方面,有效地縮短人工處理時間,此系統(tǒng)的實現(xiàn)方案對于各電信企業(yè)具有較強的借鑒意義。
參考文獻
[1]尚穆蓋姆.TCP/IP詳解(第2版).電子工業(yè)出版社,2003
[2]查普爾,蒂特爾.TCP/IP協(xié)議原理與應用(第3版).清華大學出版社,2009
[3]UNIX平臺下C語言編程.喻志虎.清華大學出版社,2001