亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ST OS20平臺(tái)上的SNMP代理端的開發(fā)

        2011-08-10 04:43:38騰,陳
        電視技術(shù) 2011年1期
        關(guān)鍵詞:機(jī)頂盒網(wǎng)絡(luò)管理結(jié)點(diǎn)

        周 騰,陳 建

        (中山大學(xué) 信息科學(xué)與技術(shù)學(xué)院,廣東 廣州 510006)

        責(zé)任編輯:任健男

        1 開發(fā)背景

        隨著Internet的普及和有線數(shù)字電視的推廣,越來越多的家庭正在享受著高科技帶來的便利生活。有線數(shù)字機(jī)頂盒用戶數(shù)量龐大,雖然家庭網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)比較簡(jiǎn)單,但用戶一般不具備專業(yè)的操作技能,并且目前的機(jī)頂盒不支持對(duì)電視頻道和互動(dòng)應(yīng)用進(jìn)行實(shí)時(shí)監(jiān)控,所以亟需開發(fā)基于現(xiàn)行平臺(tái)的網(wǎng)絡(luò)管理軟件。

        簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)[1-3]是當(dāng)下比較成熟的網(wǎng)絡(luò)管理協(xié)議,從20世紀(jì)90年代初提出至今已經(jīng)過近20年的發(fā)展,得到了眾多網(wǎng)絡(luò)產(chǎn)品提供商的支持。SNMP協(xié)議使用UDP進(jìn)行通信,降低了連接建立和拆除的代價(jià)。

        本文將著重討論意法半導(dǎo)體有限公司(STMicro?electronics)的OS20/OS21平臺(tái)上SNMP的實(shí)現(xiàn)。OS20/OS21是ST公司推出的基于ST芯片的開源的、免費(fèi)的、輕量級(jí)的實(shí)時(shí)嵌入式操作系統(tǒng),目前主要用于使用ST芯片的機(jī)頂盒中。

        雖然現(xiàn)在有很多現(xiàn)成的成熟的SNMP Agent的開源軟件,如net-snmp,但是ST芯片的處理能力不強(qiáng),整個(gè)平臺(tái)的資源相對(duì)緊缺,并且OS20操作系統(tǒng)移植但又不完全移植于Linux操作系統(tǒng),所以必須從最底層開始,以最少的資源消耗方式開發(fā)SNMP的代理端。

        2 SNMP的報(bào)文格式

        SNMP有SNMPv1,SNMPv2和SNMPv3三個(gè)版本,本文使用SNMPv1進(jìn)行代理端的開發(fā),SNMPv2和SNMPv3的原理與SNMPv1類似。

        SNMP使用基本編碼規(guī)則(BER)對(duì)傳輸?shù)膬?nèi)容進(jìn)行編碼[1]。BER的基本規(guī)則是通過將數(shù)據(jù)表示為標(biāo)記(Tag)、長度(Length)及內(nèi)容(Value),如圖1所示。

        圖1 BER的組成

        其中,標(biāo)識(shí)的最高兩位用表示ASN.1所定義的變量類別,有UNIVERSAL,APPLICATION,CONTEXT和PRIVATE四種;一位用于區(qū)分該變量是否為結(jié)構(gòu)類型;接下來五位指出了類型的標(biāo)志號(hào),通用類型的標(biāo)志號(hào) 有 INTEGER,OCTET STRING,NULL,OBJECT IDENTIFIER,SEQUENCE和SEQUENCE OF五種。

        SNMP的報(bào)文是使用了BER編碼的二進(jìn)制數(shù)據(jù)流,有嚴(yán)格的層次結(jié)構(gòu),如圖2所示。整個(gè)SNMP報(bào)文是一個(gè)經(jīng)過BER編碼的SEQUENCE類型,其中包含了三個(gè)部分:第一部分是一個(gè)經(jīng)過BER編碼的IN?TEGER,代表SNMP報(bào)文的版本號(hào);第二個(gè)部分是經(jīng)過BER編碼的OCTET STRING代表該SNMP報(bào)文的團(tuán)體名;第三個(gè)部分是通過BER編碼SNMP的協(xié)議數(shù)據(jù)單元[2]。在SNMP的協(xié)議數(shù)據(jù)單元(PDU)中,第一個(gè)字段是經(jīng)過BER編碼的Request-id,接下來兩個(gè)字段是關(guān)于錯(cuò)誤標(biāo)識(shí)的,第三個(gè)字段就是各個(gè)OID經(jīng)過BER編碼后的值。

        圖2 SNMP協(xié)議的報(bào)文格式

        3 管理信息庫定義

        在SNMP中,使用管理信息庫(MIB)對(duì)被管設(shè)備的各個(gè)參數(shù)或指標(biāo)進(jìn)行定義。MIB以ASN.1語言及一些SNMP定義的擴(kuò)展宏進(jìn)行定義,使用類似于Internet域名系統(tǒng)的樹狀結(jié)構(gòu)對(duì)被管設(shè)備進(jìn)行管理[3-6]。

        依據(jù)機(jī)頂盒的管理需求,本文將機(jī)頂盒SNMP的管理信息庫定義如圖3所示。在DVBMib的結(jié)點(diǎn)下面定義了DVBSystemInfo結(jié)點(diǎn)用于獲取機(jī)頂盒的基本信息,如制造商的名稱、機(jī)頂盒的位置等。DVBDevice結(jié)點(diǎn)定義了機(jī)頂盒上的軟硬件信息,如CPU、內(nèi)存、閃存、操作系統(tǒng)內(nèi)核及軟件版本等。DVBWorkSta結(jié)點(diǎn)定義了機(jī)頂盒的工作狀態(tài),如CPU、內(nèi)存、交換分區(qū)的使用情況,系統(tǒng)進(jìn)程、電視節(jié)目、互動(dòng)點(diǎn)播等的工作狀態(tài)。在DVBErrInfo結(jié)點(diǎn)上定義了相關(guān)的錯(cuò)誤信息,以便運(yùn)營商對(duì)差錯(cuò)情況進(jìn)行監(jiān)控。

        4 SNMP代理的實(shí)現(xiàn)

        在上述工作的基礎(chǔ)上,該協(xié)議的協(xié)議??梢允褂梅謱拥慕Y(jié)構(gòu)實(shí)現(xiàn)。根據(jù)IEEE定義的SNMP的基本類型,可以用Type類作為所有類型的父類,由Type類派生出SNMP的簡(jiǎn)單的類型,如Null,Integer,OctetString和ObjectIdentifier等子類。另外,Structure類型也是由Type所派生,作為所有結(jié)構(gòu)類型的父類,如Sequence,RequestPdu和ResponseP?du等子類。為了防止應(yīng)用程序在構(gòu)造這些類型的時(shí)候失敗而異常退出,這些類的構(gòu)造只能做最簡(jiǎn)單的事情,構(gòu)建一個(gè)編碼的內(nèi)容為空的Type對(duì)像或通過復(fù)制已有的編碼的內(nèi)容構(gòu)建一個(gè)Type對(duì)象。

        該系統(tǒng)中使用SnmpMessage類作為請(qǐng)求報(bào)文類Request和響應(yīng)報(bào)文類Response的基類。在SNMPMes?sage類中定義了SNMP的Version,Community,Request ID,Error Status,Error Index和 Variable Bindings等字段。SnmpMessage定義如圖4所示。

        在該系統(tǒng)中將一次接受SNMP的請(qǐng)求和相應(yīng)請(qǐng)求定義為一個(gè)會(huì)話,使用Session類抽象該會(huì)話的交互過程。Session類的對(duì)象以一個(gè)SnmpSocket對(duì)象為參數(shù)創(chuàng)建,在Session類中實(shí)現(xiàn)了ReceiveRequest,ProcessRequest和SendResponse等方法,用于SNMP的交互過程。

        圖3 OS20/OS21機(jī)頂盒SNMP的MIB定義(截圖)

        圖4 SnmpMessage定義

        SnmpSocket類封裝了一些系統(tǒng)相關(guān)的網(wǎng)絡(luò)套接字的調(diào)用,包括了多路IO復(fù)用Select模型,還有網(wǎng)絡(luò)數(shù)據(jù)的接收(Receive)和發(fā)送(Send)方法。

        FunctionRegister類定義為一個(gè)單件,在應(yīng)用程序啟動(dòng)之時(shí)完成唯一的靜態(tài)對(duì)象的初始化,在該對(duì)象的初始化中完成獲取系統(tǒng)相關(guān)信息的函數(shù)的注冊(cè)。該類的構(gòu)造函數(shù),拷貝構(gòu)造函數(shù)和賦值操作符必須聲明為私有,以防止在使用中被非法篡改。FunctionRegister定義如圖5所示。整個(gè)系統(tǒng)的類圖如圖6所示。

        圖5 FunctionRegister定義

        圖6 系統(tǒng)類圖(截圖)

        5 結(jié)論

        文本SNMP代理端的開發(fā)與實(shí)現(xiàn),并以net-snmp的軟件包為例,測(cè)試服務(wù)端和SNMP代理交互過程的實(shí)現(xiàn)。將上述的MIB庫配置到SNMP的服務(wù)端之后,啟動(dòng)SNMP的守護(hù)進(jìn)程,通過刷新system組的列表,在客戶端上得到了如圖7所示的請(qǐng)求數(shù)據(jù)包。

        圖7 數(shù)據(jù)報(bào)

        第1個(gè)下劃線段(3038),整個(gè)信息是個(gè)ASN.1的序列類型。根據(jù)編碼規(guī)則,前兩個(gè)字節(jié)分別指明了ASN.1的類型和長度。字節(jié)30即BER編碼中的標(biāo)識(shí),代表接下來是一個(gè)SEQUENCE結(jié)構(gòu),第2個(gè)字節(jié)38即BER編碼中的長度,代表接下來有56個(gè)字節(jié)(byte)的內(nèi)容。第2個(gè)下劃線段是(020101),02標(biāo)識(shí)了后面的內(nèi)容為一個(gè)INTEGER,01指出這個(gè)INTEGER的長度為一個(gè)字節(jié),最后的01為該INTEGER的值,代表的是該請(qǐng)求的SNMP版本號(hào)(version)為1。第3個(gè)下滑線段(04067075626c 6963),是一個(gè)OCTET STRING,長度為 6,表示該 SNMP報(bào)文的 Community,值為“pub?lic”。接下來是SNMP數(shù)據(jù)包的第2個(gè)組件PDU,由(a22b)可知它是結(jié)構(gòu)類型GetResponse-PDU的編碼,2b是它的長度,即接下來內(nèi)容的長度。第5個(gè)下劃線段(020427 cb bc 79)是GetResponse-PDU的第一個(gè)組件(Request-ID)的數(shù)據(jù)編碼,是個(gè)整數(shù)類型,長度為4,值為667663481。第6、第7個(gè)下劃線段分別編碼了PDU的第2個(gè)組件(error-status)和第 3個(gè)組件(er?ror-index),2個(gè)整數(shù)類型都被置為0,所以他們的TLV都為020100。第8個(gè)下劃線段(301d),Tag字節(jié)為30表明該部件是一個(gè)結(jié)構(gòu)類型。其長度為1d,十進(jìn)制為29,是剩余的全部字節(jié),說明了該組件是PDU的最后一個(gè)組件,變量綁定列表。變量綁定類表是由多個(gè)OID和value組成的鍵值對(duì)構(gòu)成。第9個(gè)下劃線段就是說明接下來是個(gè)<o(jì)id,value>的對(duì)象。第10段是OID的編碼,它是OBJECT IDENTIFI?ER類型,長度為8,值為1.3.6.1.2.1.1.1.0。第11個(gè)段<o(jì)id,value>對(duì)象的 value部分的編碼,是 OCTET STRING類型,長度為0f,值為“Wireless-Router”。經(jīng)上面的分析,已經(jīng)將一個(gè)完整的SNMP的GetResponse包的BER編碼進(jìn)行了剖析。為了更為直觀地說明問題,用圖8表示出GetResponse包的BER結(jié)構(gòu)。

        圖8 SNMP數(shù)據(jù)包的編碼結(jié)構(gòu)

        [1]武孟軍,徐龑,任相臣.Visual C++開發(fā)基于SNMP的網(wǎng)絡(luò)管理軟件[M].北京:人民郵電出版社,2007:27-37.

        [2]李江明.SNMP簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議[M].北京:電子工業(yè)出版社,2007:41-60.

        [3]BLACK U.Network management standards:SNMP,CMIP,TMN ,MIBs,and object libraries[M].New York:McGraw-Hill,1995.

        [4]FEIT S M.SNMP:a guide to network management[M].New York :McGraw-Hill,1995.

        [5]STALLINGS W.SNMP網(wǎng)絡(luò)管理[M].胡成松,汪凱,譯.北京:中國電力出版社,2001.

        [6]郭軍.網(wǎng)絡(luò)管理[M].北京:北京郵電大學(xué)出版社,2003.

        猜你喜歡
        機(jī)頂盒網(wǎng)絡(luò)管理結(jié)點(diǎn)
        安全使用機(jī)頂盒注意五點(diǎn)
        電動(dòng)汽車充電服務(wù)網(wǎng)絡(luò)管理初探
        Ladyzhenskaya流體力學(xué)方程組的確定模與確定結(jié)點(diǎn)個(gè)數(shù)估計(jì)
        數(shù)字電視機(jī)頂盒軟件自動(dòng)測(cè)試系統(tǒng)的開發(fā)及應(yīng)用
        基于EOC通道的SHDSL網(wǎng)絡(luò)管理技術(shù)
        有線電視高清數(shù)字電視機(jī)頂盒測(cè)試系統(tǒng)的構(gòu)建
        What is Apple Watch All About?
        校園網(wǎng)絡(luò)管理及安全防護(hù)
        河南科技(2014年11期)2014-02-27 14:16:52
        基于Raspberry PI為結(jié)點(diǎn)的天氣云測(cè)量網(wǎng)絡(luò)實(shí)現(xiàn)
        衛(wèi)星導(dǎo)航網(wǎng)絡(luò)管理設(shè)計(jì)
        牛鞭伸入女人下身的真视频| 亚洲另类丰满熟妇乱xxxx| 人妻丰满精品一区二区| 国产精品露脸视频观看| 日本丶国产丶欧美色综合| 亚洲黄色尤物视频| 在线无码国产精品亚洲а∨| 甲状腺囊实性结节三级| 欧美日韩国产乱了伦| www.尤物视频.com| 国产高清精品在线二区| 日韩国产有码精品一区二在线| 日本熟女视频一区二区三区| 免费国产不卡在线观看| 久久精品国产免费一区二区三区 | 无码人妻久久一区二区三区免费丨| 新婚少妇无套内谢国语播放| 色拍自拍亚洲综合图区| 亚洲色丰满少妇高潮18p| 国产在线无码制服丝袜无码| 亚洲aⅴ无码日韩av无码网站| 亚洲天天综合色制服丝袜在线 | 婷婷成人亚洲综合国产| 蜜臀av一区二区三区精品| 国产女人av一级一区二区三区| 久久日韩精品一区二区| 日本一区二区三区免费精品| 中文字幕免费在线观看动作大片 | 亚洲无码在线播放| 国产成人精品a视频| 亚洲人成人网站在线观看| 久久综合九色综合网站| 久久精品国产亚洲av高清色欲| 在线视频青青草猎艳自拍69| 日本女优中文字幕有码| 午夜精品久久99蜜桃| 国产日韩精品欧美一区喷水| 国精产品推荐视频| 国产女女做受ⅹxx高潮| 69av在线视频| 亚洲国产精品日韩专区av|