国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種提高snmp數(shù)據(jù)傳輸效率的方法

      文檔序號:7871349閱讀:402來源:國知局
      專利名稱:一種提高snmp數(shù)據(jù)傳輸效率的方法
      技術(shù)領(lǐng)域
      本發(fā)明所屬網(wǎng)絡(luò)中SNMP (Simple Network Management Protocol,簡單網(wǎng)絡(luò)管理協(xié)議)數(shù)據(jù)傳輸效率的提高方法。
      背景技術(shù)
      SNMP作為業(yè)界實際上的開放網(wǎng)絡(luò)管理標(biāo)準(zhǔn),取得了巨大的成功,幾乎所有的現(xiàn)代網(wǎng)絡(luò)設(shè)備都提供了 SNMP服務(wù)。然而,由于追求簡單和容易實現(xiàn)導(dǎo)致了 SNMP協(xié)議對大數(shù)據(jù)獲取的低效和網(wǎng)絡(luò)帶寬的低利用特性,成為SNMP協(xié)議被人詬病的一個主要因素。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問題是:提供一種提高SNMP數(shù)據(jù)傳輸效率的方法,該方法對于使用SNMP協(xié)議管理大量設(shè)備,尤其是對大數(shù)據(jù)量的訪問和配置提供了一種簡潔高效的方法。本發(fā)明所采用的技術(shù)方案是:一種提高SNMP數(shù)據(jù)傳輸效率的方法,其包括:SI)首先對網(wǎng)管系統(tǒng)中需要綁定的對象進行分類;S2)按照分類將復(fù)數(shù)個對象名合并成一個拼接后的對象名;S3)將拼接前對象名的相應(yīng)對象值按照合并順序拼接在一起;S4)返回步驟S2,直至拼接完所有的對象名和對象值;S5)將上述拼接后的名值對組裝到SNMP報文中進行傳輸。所述的方法,在步驟S3中,對拼接后的對象值還采用ZLIB法進行壓縮。所述的方法,在步驟S3中,拼接之后去掉對象值的類型、長度標(biāo)識符。所述的方法,步驟S3拼接時,若對象值為簡單變量類型,則按照預(yù)定的順序直接組合各對象值。所述的方法,步驟S3拼接時,若對象值為表變量,則各對象值按照各對象值的表列數(shù)直接逐行拼接在一起,并在拼接后的對象值中設(shè)置一個行數(shù)目標(biāo)識。本發(fā)明的優(yōu)點:采用了合并數(shù)據(jù)對象和值的方法,縮減了大量的請求對象和值對象TLV結(jié)構(gòu)中TL,同時對有效載荷使用了壓縮算法,提高了數(shù)據(jù)的傳輸效率。


      圖1是SNMP消息格式。圖2是TLV結(jié)構(gòu)。圖3是get變量綁定。圖4 是 get-response 變量綁定。圖5是簡單變量對象綁定。圖6是表變量綁定。 圖7是壓縮后的數(shù)據(jù)包格式。
      圖8是修改后的變量綁定PDU格式。圖2中的Class表示類別、Format表示形式、Number表示類別編號;圖5的Message表示報文信息,Version表示版本,Community表示團體名。
      具體實施例方式為了提高SNMP數(shù)據(jù)傳輸效率,本文提出一種解決方法。 數(shù)據(jù)壓縮由于SNMP消息報文采用的BER(Basic Encoding Rules,基本編碼規(guī)則)編碼在空間特性上的低效導(dǎo)致獲取大數(shù)據(jù)量的時候會造成冗余數(shù)據(jù)的出現(xiàn),所以有必要對SNMP消息進行壓縮; 合并請求對象在進行大數(shù)據(jù)量獲取的請求報文時,可以將多個相關(guān)請求對象合并到一個請求對象中,從而減少設(shè)備和管理程序間的交互次數(shù),減少網(wǎng)絡(luò)通信量,提高數(shù)據(jù)傳輸效率。SNMP報文由版本號,SNMP共同體名和協(xié)議數(shù)據(jù)單元(PDU)組成。協(xié)議數(shù)據(jù)單元則根據(jù)PDU類型不同而略有差異。但協(xié)議數(shù) 據(jù)單元中變量綁定列表中攜帶的數(shù)據(jù)是有效的載荷。變量綁定表是一個名值對列表,即每個變量名之后便是該變量名的值,一一對應(yīng)。SNMP報文格式如圖1所示。圖中:GetRequestPDU操作:從代理進程處提取一個或多個參數(shù)值;GetNextPDU操作:從代理進程處提取緊跟當(dāng)前參數(shù)值的下一個參數(shù)值;SetRequestPDU操作:設(shè)置代理進程的一個或多個參數(shù)值;GetResponsePDU操作:返回的一個或多個參數(shù)值。這個操作是由代理進程發(fā)出的,它是前面三種操作的響應(yīng)操作。SNMP協(xié)議采用了 BER編碼,基于TLV (Type-Length-Value,類型-長度-數(shù)據(jù)值)的結(jié)構(gòu)方法(見下圖2)。對于協(xié)議數(shù)據(jù)單元中的變量綁定部分,每個變量名和相應(yīng)的值都需要有TLV的結(jié)構(gòu),針對各種不同的數(shù)據(jù)類型Tag (Type)均有不同定義。例如查詢一個對象(1.3.6.1.2.1.1.5.0)的字符串值(6字節(jié)),在get (從代理進程處提取一個或多個參數(shù)值)/get-response (返回的一個或多個參數(shù)值)數(shù)據(jù)包中按照TLV方法,get/get-response數(shù)據(jù)包中數(shù)據(jù)綁定部分格式分別如圖3、4所示。從上述變量綁定的數(shù)據(jù)格式中可以看出,在傳輸get/getresponse/set (設(shè)置代理進程的一個或多個參數(shù)值)/set_response (返回的一個或多個設(shè)置結(jié)果)數(shù)據(jù)包時,TLV格式中的Tag/Length字段和變量名字段占有效載荷的數(shù)據(jù)量比較大,真正查詢的結(jié)果只占據(jù)了 6個字節(jié),而整個載荷數(shù)據(jù)達到了 18個字節(jié)。當(dāng)查詢大批數(shù)據(jù)時,這樣的效率非常低。一般系統(tǒng)定義變量時已經(jīng)可以明確變量值的類型及范圍,鑒于以上的原因,修改變量綁定中名值對,直接將多個對象合并成一個對象,相應(yīng)的值也拼接到一起,這樣節(jié)省了多個變量名的數(shù)據(jù),同時也節(jié)省了大部分值TLV結(jié)構(gòu)中的TL部分。改善的方法分兩種情況,簡單變量對象和表變量對象。1.簡單變量對象:將屬性相近的簡單變量組合到一起,按照預(yù)定的順序組織成數(shù)據(jù)包。修改后的請求報文格式如圖5所示。
      將多個簡單變量對象的請求合并成對單個簡單變量的請求,返回的值直接按照簡單變量對象的順序拼接成字符串的值,在管理程序和SNMP代理分別負(fù)責(zé)按照順序來解析多個簡單變量的值。在這里變量名的數(shù)據(jù)格式還是TLV格式,所有拼接在一起的值作為變量名的值,因此只有一個TL的前綴。按照SNMP協(xié)議多個變量綁定的PDU格式,如圖1的變量綁定表所示,其中每個名字和值都是TLV的格式,即每個名字和值都是一個TLV結(jié)構(gòu)。修改后的變量綁定PDU格式如圖5所示,修改后,這里只有一對名和值,即指包含兩個TLV的結(jié)構(gòu),名字為TLV結(jié)構(gòu),值I到值η為另一個TLV結(jié)構(gòu),其中值I到值η的長度和順序需設(shè)備和管理側(cè)定義,設(shè)備和管理側(cè)均按照定義的長度和順序進行拼接和解析數(shù)據(jù)。2.表變量:將表中變量名合并成一個,值按照行/列的形式拼接成一個值。修改后的報文格式如圖6所示。將所有表變量對象的請求合并成對個簡單變量的請求,值直接按照表變量值的順序(按行順序,每行按列順利)拼接成字符串的值,在拼接值的頭部添加行數(shù)目標(biāo)識。在管理程序和SNMP代理分別負(fù)責(zé)按照順序來解析多行多列表變量的值。在這里變量名的數(shù)據(jù)格式還是TLV格式,所有拼接在一起的值作為變量名的值,因此只有一個TL的前綴。按照SNMP協(xié)議多個變量綁定的PDU格式,如圖1的變量綁定表所示,其中每個名字和值都是TLV的格式,即每個名字和值都是一個TLV結(jié)構(gòu)。修改后的變量綁定PDU格式如圖8所示,修改后,這里只有一對名和值,即指包含兩個TLV的結(jié)構(gòu),名字為TLV結(jié)構(gòu);行數(shù)量,以及行I值I 一直到行η值η為另一個TLV結(jié)構(gòu),這里行條目數(shù)定義了后面的數(shù)據(jù)中包含了多少行的數(shù)據(jù),行I值I到行I值η則定義了一行的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)的長度和順序需設(shè)備`和管理側(cè)定義,設(shè)備和管理側(cè)均按照定義的長度和順序進行拼接和解析數(shù)據(jù)。從上述兩種形式上看,假設(shè)查詢或者設(shè)置所有變量名使用的字節(jié)數(shù)為Α,值所占的字節(jié)數(shù)為V,同時合并的變量名數(shù)量為η,那么在使用標(biāo)準(zhǔn)SNMP報文是變量綁定表所需字節(jié)數(shù)為:(1+1+Α) *n+(l+l+V)*n修改后所使用的字節(jié)數(shù):(1+1+A)+(1+1+V*n)兩者比較,修改后可以少用字節(jié)數(shù)量為:(A+4)*(n_l)如下表I所示,假定A=10,V=2,那么當(dāng)隨著η增大時,對比兩者使用的字節(jié)數(shù),不難可以看出,當(dāng)合并的變量名越多,節(jié)省的空間百分比越大。表I
      權(quán)利要求
      1.一種提高SNMP數(shù)據(jù)傳輸效率的方法,其特征在于包括: 51)首先對網(wǎng)管系統(tǒng)中需要綁定的對象進行分類; 52)按照分類將復(fù)數(shù)個對象名合并成一個拼接后的對象名; 53)將拼接前對象名的相應(yīng)對象值按照合并順序拼接在一起; 54)返回步驟S2,直至拼接完所有的對象名和對象值; 55)將上述拼接后的名值對組裝到SNMP報文中進行傳輸。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于:在步驟S3中,對拼接后的對象值還采用ZLIB法進行壓縮。
      3.根據(jù)權(quán)利要求1所述的方法,其特征在于:在步驟S3中,拼接之后去掉對象值的類型、長度標(biāo)識符。
      4.根據(jù)權(quán)利要求1所述的方法,其特征在于:步驟S3拼接時,若對象值為簡單變量類型,則按照預(yù)定的順序直接組合各對象值。
      5.根據(jù)權(quán)利要求1所述的方法,其特征在于:步驟S3拼接時,若對象值為表變量,則各對象值按照各對象值的表列數(shù)直接逐行拼接在一起,并在拼接后的對象值中設(shè)置一個行數(shù)目標(biāo)識。
      全文摘要
      本發(fā)明提供了一種提高SNMP數(shù)據(jù)傳輸效率的方法,其包括S1)首先對網(wǎng)管系統(tǒng)中需要綁定的對象進行分類;S2)按照分類將復(fù)數(shù)個對象名合并成一個拼接后的對象名;S3)將拼接前對象名的相應(yīng)對象值按照合并順序拼接在一起;S4)返回步驟S2,直至拼接完所有的對象名和對象值;S5)將上述拼接后的名值對組裝到SNMP報文中進行傳輸。該方法對于使用SNMP協(xié)議管理大量設(shè)備,尤其是對大數(shù)據(jù)量的訪問和配置提供了一種簡潔高效的方法。
      文檔編號H04L12/24GK103117872SQ201210594570
      公開日2013年5月22日 申請日期2012年12月31日 優(yōu)先權(quán)日2012年12月31日
      發(fā)明者顧春榮 申請人:廣東東研網(wǎng)絡(luò)科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1