秦 瓊,代少升,程鵬程
(重慶郵電大學(xué) 信號與信息處理重慶市重點實驗室,重慶 400065)
目前,隨著電視業(yè)務(wù)的多方位擴展和三網(wǎng)融合的迫切需求,有線電視網(wǎng)的雙向改造成為一種趨勢,而EP?ON+EoC[1]方案的提出,使得EoC技術(shù)在整個有線電視的雙向改造中起到巨大作用。
現(xiàn)在,EPON+EoC的網(wǎng)絡(luò)管理方式未能達(dá)成一致。目前市場上采用的EPON+EoC網(wǎng)絡(luò)管理方式多樣,主要分為兩種方式:獨立管理和綜合管理。由于EoC的數(shù)量過多,獨立網(wǎng)管方式在出現(xiàn)故障時需要較多維護(hù)人員手工判斷故障原因,成本偏高。本文是在EPON+EoC綜合管理的情況下,提出一種將Agentx(Agent Extensibility)協(xié)議的主/副代理形式作為EoC局端與終端的代理方案,以實現(xiàn)對EoC的綜合管理。該方案使EoC設(shè)備在不同的網(wǎng)元管理系統(tǒng)(Element Management System,EMS)中能高效、穩(wěn)定地運行。
EoC是一種利用同軸電纜承載以太網(wǎng)解決最后100 m的技術(shù),它主要是利用OFDM調(diào)制方法將由以太網(wǎng)無源光網(wǎng)絡(luò)(Ethernet Passive Optical Network,EP?ON)傳來的以太網(wǎng)信號調(diào)制成與有線電視信號不同頻段的信號[2],在EoC局端加入信號混合器,將兩種不同頻段的信號進(jìn)行混合,混合信號經(jīng)過同軸電纜和分支分配器到達(dá)用戶端,終端EoC將混合信號分離,輸出信號分別接入PC和機頂盒,實現(xiàn)兩種網(wǎng)絡(luò)的融合與分離。
EoC采用點到多點的用戶網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),利用廣電已有的同軸電纜實現(xiàn)數(shù)據(jù)、業(yè)務(wù)和視頻的傳輸。各種EoC技術(shù)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)大體相同,在對網(wǎng)絡(luò)管理進(jìn)行討論時可以使用EoC局端設(shè)備和EoC終端設(shè)備這一模型。
由于簡單網(wǎng)絡(luò)管理協(xié)議(Simple Network Manage?ment Protocol,SNMP)擴展代理的分布廣泛,加上各種擴展代理在此領(lǐng)域缺乏統(tǒng)一的標(biāo)準(zhǔn),使它們很難在SNMP管理應(yīng)用中占一席之地,Agentx協(xié)議[3-4]的出現(xiàn)則解決了這一問題。Agentx協(xié)議的引入,大大增強了網(wǎng)絡(luò)管理系統(tǒng)對網(wǎng)絡(luò)設(shè)備和應(yīng)用管理的控制能力。Agentx協(xié)議擴展方式靈活,在網(wǎng)絡(luò)管理中可隨時添加或刪除網(wǎng)絡(luò)設(shè)備。
Agentx擴展代理由主代理和副代理組成。主代理能夠接收標(biāo)準(zhǔn)的SNMP協(xié)議信息和多個復(fù)用的副代理信息,各副代理可以單獨管理一個設(shè)備。SNMP擴展代理Agentx協(xié)議的結(jié)構(gòu)框圖如圖1所示。
在Agentx協(xié)議中,主代理主要負(fù)責(zé)對網(wǎng)管發(fā)送的請求進(jìn)行接收和應(yīng)答,并對與之相連的各個副代理進(jìn)行管理,副代理主要負(fù)責(zé)向主代理發(fā)起會話,并向主代理注冊自己的MIB區(qū)域。Agentx協(xié)議提供了一種有效的注冊和分發(fā)機制,副代理只負(fù)責(zé)完成注冊區(qū)域內(nèi)的代理功能。Agentx協(xié)議的作用是:對擴展代理結(jié)構(gòu)的管理和對副代理所維護(hù)的管理信息庫(Management Information Base,MIB)的管理。
除了Agentx以外,還有一種比較常用的擴展代理,即SNMP多路復(fù)用協(xié)議(SNMP MUltipleXing protocol,SMUX)。接下來將對上述兩種協(xié)議進(jìn)行對比。
Agentx協(xié)議是目前較先進(jìn)的代理協(xié)議,它的引入順應(yīng)了網(wǎng)絡(luò)管理系統(tǒng)的發(fā)展趨勢,能大大提高網(wǎng)絡(luò)系統(tǒng)的管理性能。
SMUX協(xié)議結(jié)構(gòu)圖如圖2所示。
SMUX協(xié)議[5]主要用來實現(xiàn)SNMP代理與用戶進(jìn)程的通信,它是通過面向連接的多路數(shù)據(jù)流,向應(yīng)用層提供通信管道的會話管理協(xié)議。在SMUX協(xié)議中,用戶進(jìn)程被稱為SMUX對等實體(SMUX Peer),負(fù)責(zé)對某個MIB模塊進(jìn)行管理。當(dāng)網(wǎng)管發(fā)出請求信息時,客戶端的主代理收到SNMP請求,根據(jù)SNMP請求中包含的MIB區(qū)域查找到相關(guān)變量并對SMUX Peer進(jìn)行定位,最后將SNMP請求轉(zhuǎn)換為SMUX Peer請求,發(fā)送給相應(yīng)的SMUX Peer。SMUX Peer與SNMP代理是通過TCP端口199進(jìn)行通信的。
從運行效率、靈活性、可靠性和兼容性4個方面將Agentx協(xié)議和SMUX協(xié)議進(jìn)行分析與比較:
1)在系統(tǒng)運行時,Agentx的效率更高。雖然SMUX比Agentx協(xié)議簡單,但SMUX的編碼更復(fù)雜,解碼過程則耗時更多,并且不支持SNMPV2的Get-Bulk操作,而使用Get-Bulk就是為了更加有效地從SNMP Agent獲取數(shù)據(jù),SMUX的包格式與SNMP相似。Agentx規(guī)定了4類PDU用于進(jìn)行主、子代理間的數(shù)據(jù)交換,使得擴展機制的管理更加靈活,而且它的包格式比SNMP的格式簡潔,使得通信效率進(jìn)一步提高。
2)在副代理在主代理上進(jìn)行MIB注冊時,Agentx的靈活性更好。首先Agentx協(xié)議將注冊過程與索引分離,并采取自動分配索引;其次它可以隨時添加或刪除MIB模塊,而SMUX協(xié)議需要網(wǎng)管在注冊前必須把索引分配好。
3)在主代理與副代理通信時,Agentx的可靠性更高。Agentx有兩種通信模式,一種是UNIX套接字模式,采取這種方式時,可以直接利用UNIX系統(tǒng)的安全機制來完成主代理與副代理的通信。另一種是TCP模式,采用這種方法時,主代理可以通過傳輸層來保證與子代理的通信。SMUX則采用明文密碼傳送的方式來完成代理與SMUX Peer之間的通信。很明顯,前者的通信方式比后者的可靠性更高。
4)在與SNMP協(xié)議兼容方面,Agentx的開放性更好。Agentx協(xié)議與SNMP版本無關(guān),不管主代理工作在哪個版本的SNMP,只要是符合Agentx協(xié)議的子代理,都可以正常工作。
當(dāng)前普遍使用的是SMUX擴展代理,但是SMUX協(xié)議的安全性低、擴展性差等缺點使它不能滿足EoC網(wǎng)管系統(tǒng)高可靠性的需求。根據(jù)以上對Agentx協(xié)議和SMUX協(xié)議的比較分析,可以看出Agentx具有的這些優(yōu)勢使它更適合應(yīng)用在EoC的網(wǎng)管代理中。
如上一節(jié)所述,在EoC網(wǎng)管代理上使用Agentx協(xié)議能使整個EoC的網(wǎng)管系統(tǒng)更加高效與可靠。根據(jù)Agentx的主/副代理的形式,可以將局端作為主代理,各個終端作為不同的副代理。圖3是EoC網(wǎng)絡(luò)管理的整體框圖。
圖3 EoC網(wǎng)絡(luò)管理圖
Agentx協(xié)議有自己的協(xié)議數(shù)據(jù)單元(Protocol Data Unit,PDU),與SNMP PDU采用誤碼率編碼傳輸不同,Agentx使用連續(xù)的字節(jié)流傳輸。
圖3中,注冊O(shè)ID庫儲存向主代理注冊的副代理的OID;SNMP引擎接收或發(fā)送SNMP-PDU,并對其進(jìn)行編解碼;主代理接收SNMP-PDU,將其轉(zhuǎn)換為AGENTX-PDU傳輸給副代理,或接收來自副代理的AGENTX-PDU,將其轉(zhuǎn)換為SNMP-PDU傳輸給網(wǎng)管;副代理接收或發(fā)送AGENTX-PDU;用戶數(shù)據(jù)包協(xié)議(User Datagram Proto?col,UDP)用于監(jiān)聽SNMP-PDU。
EoC局端在網(wǎng)絡(luò)中主要是與網(wǎng)絡(luò)管理者進(jìn)行通信,以及對EoC終端進(jìn)行管理。具體流程如下:
1)局端作為SNMP管理系統(tǒng)中的代理,通過SNMP標(biāo)準(zhǔn)端口(UDP 161)來發(fā)送和接收SNMP的協(xié)議信息,實現(xiàn)了SNMP協(xié)議要求的安全訪問控制的功能。
2)接受相關(guān)終端注冊MIB區(qū)域,進(jìn)行索引分配和能力聲明的請求。
3)接受來自終端創(chuàng)建或取消會話的請求。
4)維護(hù)終端注冊的MIB區(qū)域庫和索引對象庫。
5)當(dāng)接收到網(wǎng)管發(fā)來的SNMP請求信息時,局端根據(jù)信息的內(nèi)容查詢MIB庫,判斷是否為局端的信息。如果是局端的信息,則直接處理,如果不是,則將SNMP信息轉(zhuǎn)換為Agentx信息發(fā)送給終端,對各個終端發(fā)來的Agentx響應(yīng)信息進(jìn)行分析后,以SNMP報文形式回送給網(wǎng)管。
6)將所收到終端發(fā)出的陷阱轉(zhuǎn)發(fā)給管理者。
當(dāng)局端收到SNMP需要獲得信息的請求時,局端會使用訪問控制功能對請求信息進(jìn)行檢查,檢查到信息合法后,才對信息進(jìn)行傳送。
EoC終端主要管理自己負(fù)責(zé)的MIB區(qū)域,各個終端相互不通信,具體工作包括:
1)與局端主動建立會話;
2)向局端注冊其維護(hù)的MIB區(qū)域;
3)當(dāng)收到局端關(guān)于MIB變量操作的Agentx請求時,調(diào)用相應(yīng)的操作流程并讀取設(shè)置變量,返回相應(yīng)的信息;
4)在發(fā)生異常事件時,向局端發(fā)陷阱通知;
5)在注冊的實體標(biāo)識(Object Identifier,OID),區(qū)域綁定OID到實際變量。
局端和終端是通過OID通信的,終端實現(xiàn)的每一個功能與唯一的OID綁定,當(dāng)終端在局端上注冊時,終端會把自己支持功能的所有OID都告知局端。那么局端收到請求時,就會檢測這個請求對應(yīng)的OID是哪個終端注冊的,并把信息發(fā)送給終端,完成局端與終端之間的通信。
EoC局端與終端的信息交互示意圖見圖4。
1)兩者建立會話
某個終端與局端連接后,終端向局端發(fā)送Agentx-Open-PDU來完成與局端一個或多個會話的申請。當(dāng)局端收到終端的Agentx-Open-PDU后,會給終端分配一個新的會話標(biāo)識符,產(chǎn)生Agentx-Response-PDU信息回送給終端。
終端會隨時向局端發(fā)送Agentx-Close-PDU來終止兩者間的會話,局端也可以向終端發(fā)送Agentx-Close-PDU信息。當(dāng)局端收到Agentx-Close-PDU時,會取消此次終端對MIB區(qū)域的注冊,并向終端發(fā)送Agentx-Close-PDU來關(guān)閉會話。
2)索引分配和MIB注冊
局端是通過索引分配來實現(xiàn)終端對MIB區(qū)域的注冊。在進(jìn)行索引分配時,終端向局端發(fā)送Agentx-Index?allocate-PDU,請求局端給它分配索引,局端根據(jù)請求的內(nèi)容向終端分配索引。局端通過向終端發(fā)送Agentx-Re?sponse-PDU來完成與終端索引分配的會話。
當(dāng)完成索引分配后,終端向局端發(fā)送Agentx-Regis?ter-PDU在局端注冊,由于終端所要注冊的區(qū)域可能和其他終端的區(qū)域相重合,在這種情況下,局端會對終端之間的區(qū)域沖突問題進(jìn)行裁定,拒絕相同區(qū)域的注冊。當(dāng)終端想取消先前注冊的MIB區(qū)域時,終端會向局端發(fā)送Agentx-Unregister-PDU。終端也可向局端發(fā)送取消索引分配信息,使局端釋放先前終端得到的索引值。一般而言,只發(fā)送關(guān)閉會話就可取消先前的索引分配和注銷MIB區(qū)域。
3)通知陷阱
通知陷阱一般用在終端發(fā)生異常現(xiàn)象時。當(dāng)終端出現(xiàn)異常情況時,會主動向局端發(fā)送陷阱報文,局端將收到的陷阱報文轉(zhuǎn)發(fā)給SNMP網(wǎng)管。
EoC網(wǎng)管代理主要工作流程:局端從UDP的161端口監(jiān)聽并接收SNMP請求信息,經(jīng)解碼、團(tuán)體名驗證、分析后得到管理變量在MIB樹中的具體區(qū)域,判斷是局端(的信息還是終端的信息,如果是局端的信息,則直接進(jìn)行處理,如果是終端的,則將接收的SNMP信息轉(zhuǎn)換為Agentx協(xié)議信息傳送給終端,完成EoC局端和終端的代理工作。
測試目的:驗證與SMUX協(xié)議相比,Agentx協(xié)議在處理上的高效性。在測試過程中,采用的模型是1個EoC局端和1個EoC終端,PC機作為管理站。圖5所示為整個設(shè)備網(wǎng)絡(luò)連好后,在網(wǎng)管界面中形成的拓?fù)鋱D。
為了驗證高效性,在采用Agentx協(xié)議時,管理站向局端連續(xù)3次發(fā)送獲取終端的請求信息,并記錄從發(fā)送信息到接收應(yīng)答消息的時間間隔t1。在采用SMUX協(xié)議時,記錄相同情況的時間間隔t2,結(jié)果如表1所示。
表1 實驗結(jié)果
根據(jù)結(jié)果顯示,Agentx協(xié)議3次處理包所需時間的平均值約為 1403.2 μs,SMUX 協(xié)議則為 1588.9 μs,Agentx協(xié)議比SMUX協(xié)議約提前了185.7 μs,可見Agentx協(xié)議處理包的速度更快,效率更高。
將Agentx擴展代理應(yīng)用到EoC網(wǎng)絡(luò)管理上,主要是考慮到Agentx的這幾種優(yōu)點:可隨時動態(tài)添加或刪除相關(guān)設(shè)備的擴展靈活性;支持不同SNMP版本的高兼容性;一次提取多個MIB變量的數(shù)據(jù)獲取高效性;采取兩種工作模式實現(xiàn)的可靠性。將兩種協(xié)議的測試結(jié)果進(jìn)行驗證和對比,證明Agentx在整個系統(tǒng)的性能明顯優(yōu)于SMUX協(xié)議。對使用Agentx作為網(wǎng)絡(luò)代理的EoC網(wǎng)絡(luò)設(shè)備進(jìn)行測試后,效果良好。
[1]馮忠慶,陳丹苗.EPON+EoC技術(shù)在有線電視網(wǎng)絡(luò)改造的應(yīng)用[J].科技信息,2008(16):86.
[2]金立標(biāo),張乃謙,李鑒增.面向NGB的EoC接入網(wǎng)分析[J].電視技術(shù),2010,34(6):57-59.
[3]RFC2741,Agent extensibility(Agentx)protocol version 1[S].2000.
[4]肖容梅,杜旭.基于AgentX主副代理網(wǎng)絡(luò)管理模型的分析與改進(jìn)[J].微型機與應(yīng)用,2005(5):26-28.
[5]RFC1227,SNMP mux protocol and MIB[S].1991.