《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > 基于XML的网络管理
基于XML的网络管理
陈竹敏 熊齐邦
上海同济大学计算机科学与技术系(200331)
摘要: 介绍了用XML表示SNMP及Telnet(SSH,SSL)管理信息的方法,提出了一种基于XML的网络管理系统模型,实现了对基于Web代理的网络设备的直接管理,并利用转换网关实现了对基于SNMP代理和Telnet(SSH,SSL)代理的网络设备的管理。
Abstract:
Key words :

摘 要: 介紹了用XML表示SNMP及Telnet(SSH,SSL)管理信息的方法,提出了一種基于XML的網絡管理系統(tǒng)模型,實現了對基于Web代理的網絡設備的直接管理,并利用轉換網關實現了對基于SNMP代理和Telnet(SSH,SSL)代理的網絡設備的管理。
關鍵詞: 可擴展標記語言(XML)  網絡管理  轉換網關  簡單網絡管理協(xié)議(SNMP)

  隨著計算機網絡的爆炸性發(fā)展,其規(guī)模不斷擴大,復雜性不斷增長,傳統(tǒng)的基于SNMP的網絡管理系統(tǒng)及基于Web的網絡管理系統(tǒng)在網絡管理方面的局限性日益突出,因此迫切需要新的網絡管理系統(tǒng)。新的網絡管理系統(tǒng)需要新技術的支持??蓴U展標記語言(eXtensible Markup Language,XML)是一種元標記語言,它具有HTML和SGML的雙重優(yōu)點,并且在對網絡管理信息的模型化方面更有優(yōu)勢,可以方便地表示、傳輸、管理、存儲、顯示結構化的網絡管理信息。當前,對基于XML網絡管理的研究已經成為熱點,它被認為是傳統(tǒng)網絡管理的補充與替代。本文介紹了一種利用XML技術和轉換網關技術構建的全新的網絡管理模型,它具有實時性好、擴展性好、安全性高、跨平臺并能管理任何類型的大規(guī)模異構網絡等優(yōu)點。
1  背景及相關技術
1.1 基于SNMP的網絡管理
  1990年,IETF提出了簡單網絡管理協(xié)議(Simple Network Management Protocol,SNMP),1995年提出了SNMPv2,1999年提出了SNMPv3。SNMP是一種基于TCP/IP的網絡管理協(xié)議,主要用于計算機互連網絡的管理。雖然SNMP在當時是作為一個臨時的網絡管理協(xié)議而設計的,然而由于它具有易于實現和互操作性強等優(yōu)點,而被廣泛應用。但隨著計算機網絡的飛速發(fā)展,其規(guī)模越來越大,復雜性越來越高,SNMP在網絡管理方面的局限性也越來越突出,主要表現在擴展性和效率上。擴展性指單個Manager所能管理的Agent數目;效率指管理系統(tǒng)如何快速、有效地傳輸和處理數據。網絡規(guī)模增大,管理信息庫(Management Information Base,MIB)也大,Agent支持的MIB也增多,因此管理數據劇增,SNMP的局限性更加突出。
1.2 基于Web的網絡管理
  基于Web的網絡管理(Web-based Management,WBM)就是將Web技術運用到網絡管理中,將瀏覽器作為客戶端與用戶進行交互,將Web技術的優(yōu)勢充分用于網絡管理。目前,WBM的實現方式主要有2種。(1)代理方式:將Web服務器與Manager集成到一臺服務器上。(2)嵌入方式:直接將Web服務器嵌入網絡設備,瀏覽器可以利用HTML通過HTTP直接和網絡設備中的Web服務器進行通信。
  當前,WBM的開放標準主要有2個。(1)基于Web的企業(yè)管理(Web-based Enterprise Management,WBEM):1996年由微軟公司提出,目前已經得到了多家廠商的支持。它實際是一個面向對象的Web應用,其真正目標是實現現有的網絡管理標準和協(xié)議的集成。(2)Java管理應用程序接口(Java-Management Application Programming Interface,JMAPI):是Sun公司作為它的Java標準擴展API結構而提出的,實際是一個完整的網絡管理應用程序開發(fā)環(huán)境,充分利用了Java語言的跨平臺、面向對象、適于分布式等特點,通過增加媒體間應用接口來實現Web瀏覽器與網絡設備之間協(xié)議的轉換。
  基于Web的網絡管理系統(tǒng)由于HTML本身的局限性,而在網絡管理方面缺乏有效的管理信息結構化模型。因此在管理傳統(tǒng)的SNMP網絡設備時力不從心。
1.3 XML及相關技術
  XML是一種元標記語言,于1998年由World Wide Web Consortium(W3C)標準化,用于在WWW上進行文檔交換。它具有SGML和HTML的雙重優(yōu)點,可以方便地在多種協(xié)議上傳輸結構化數據。XML本身具有很多優(yōu)點:分離了文檔的內容和顯示格式,利用層疊樣式單(Cascading Style Sheets,CSS)或可擴展樣式單語言(eXtensible Stylesheet Language,XSL)來多樣化顯示同一個XML文檔;運用文檔類型定義(Document Type Definition,DTD)和XML模式(XML Schema)來支持文檔的結構化定義;利用XLink、XPointer、XML Base擴展了鏈接功能;利用XML Encryption、XML Signature提高安全性;利用文檔對象模型(Document Object Model,DOM)和XML簡單應用程序接口(Simple APIs for XML,SAX)為XML文檔的處理提供標準接口。XML是一個底層構建模塊,其他技術都是建立在XML之上,因此XML完全適合于網絡管理。在網絡管理方面,XML也具有很多優(yōu)點:管理信息易于模型化;把SNMP MIB的結構信息或Telnet(SSH,SSL)命令轉換為XML文檔非常容易;在信息傳輸時只要支持HTTP的設備就可支持XML;可以一次性傳輸大量數據;保證管理信息的高安全性等。
2  用XML表示管理信息
2.1 XML對SNMP管理信息的表示
  XML Schema是一套關于XML標記符的語法規(guī)則,它通過對結構和內容的約束,定義了XML文檔的類型。鑒于XML Schema在定義結構化信息方面的優(yōu)勢,選用它來定義表示SNMP MIB的XML文檔的結構。XML Schema與SNMP MIB的對應轉換關系如表1所示。

根據表1的對應規(guī)則,可以將SNMP MIB2轉換成的XML Schema如下:
<?xml version=″1.0″ encoding=″utf-8″?>
<xsd:schema xmlns:xsd=″Http://www.w3.org/2000/10/
              XMLSchema″>
<xsd:element name=″Mgmt″>
<xsd:complexType>
<xsd:sequence>
  <xsd:element ref =″Mib-2″/>
  </xsd:sequence>
  <xsd:attribute name=″oid″type=″xsd:string″use=″fixed″
           value=″1.3.6.1.2″/>
  </xsd:complexType>
</xsd:element>
<xsd:element name=″Mib-2″>
  <xsd:complexType>
  <xsd:sequence>
      <xsd:element ref=″NodeName″/> …
  </xsd:sequence>
  <xsd:attribute name=″oid″type=″xsd:string″use=″fixed″
            value=″1.3.6.1.2.1″/>
  </xsd:complexType>
</xsd:element>
<xsd:element name=″NodeName″>
  <xsd:complexType>
  <xsd:simpleContent>
      <xsd:restriction base=″xsd:string″>
      <xsd:sequence>
          <!--下一級MIB子對象的XML Schema定義-->
      <xsd:element ref=″NodeName″/> …
  </xsd:sequence>
  <xsd:attribute name=″oid″type=″xsd:string″use=
                ″fixed″value=″OidValue″/>
  <xsd:attribute name=″Access″type=″xsd:string″use=
                ″fixed″value=″AccessType″/>
  <xsd:attribute name=″Status″type=″xsd:string″use=
                ″fixed″value=″StatusType″/>
  <xsd:attribute name=″Description″type=″xsd:string″
                use=″fixed″value=″DescriptionText″/>
  <xsd:attribute name=″Reference″type=″xsd:string″
                use=″fixed″value=″ReferenceType″/>
  <xsd:attribute name=″Index″type=″xsd:string″use=
                ″fixed″value=″IndexList″/>
  <xsd:attribute name=″DefaultValue″type=″xsd:string″
                use=″fixed″value=″DefaultValue″/>
  </xsd:restriction>
  </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>
</xsd:schema>
2.2 用XML表示Telnet(SSH,SSL)管理信息
  有一些網絡設備是基于Telnet(SSH,SSL)Agent的,要取得這些網絡設備的管理信息,必須通過Telnet(SSH,SSL)命令行的方式,因此必須實現XML對Telnet(SSH,SSL)信息的表示。
Telnet(SSH,SSL)命令的一般格式如下:
  #CommandName  options  parameters
  其中CommandName是命令名,options是命令選項,parameters是命令操作參數。Telnet(SSH,SSL)命令與XML Schema的對應轉換關系如表2所示。

  根據表2中的對應關系,Telnet(SSH,SSL)命令轉換成的XML Schema如下所示:
  <?xml version=″1.0″encoding=″utf-8″?>
  <xsd:schema xmlns:xsd=″Http://www.w3.org/2000/10/
                       XMLSchema″>
  <xsd:element name=″CommandName″>
  <xsd:attribute name=″options″type=″xsd:string″value=
                       ″optionsValue″/>
  <xsd:attribute name=″parameters″type=″xsd:string″
  value=″parametersValue″/>
  </xsd:element>
  </xsd:schema>
  除了可以用XML表示命令,還可以表示返回結果。
3  基于XML的網絡管理系統(tǒng)模型
  基于XML的網絡管理是在基于Web的網絡管理環(huán)境下用XML來表示、傳輸、處理、存儲和顯示管理信息。它用XML文檔來定義管理信息,以XML文檔的形式交換和處理管理信息。但XBM(XML-based Management)必須能管理當前廣泛使用的基于SNMP Agent的網絡設備及傳統(tǒng)的基于Telnet(SSH,SSL)的網絡設備,才具有真正的實用價值。為了在XBM中集成對多種網絡設備的管理,可以根據嵌入Agent的種類把當前的網絡設備分為3類:(1)基于SNMP代理的網絡設備。它可以通過SNMP協(xié)議與基于SNMP的Manager通信,這是當前廣泛使用的網絡設備。(2)基于Web代理的網絡設備。它以XML/HTTP的方式直接與基于XML的Manager通信,這是當前正在研究的網絡設備。(3)基于Telnet(SSH,SSL)代理的網絡設備,可以通過Telnet(SSH,SSL)命令行的方式來收集這類網絡設備的信息或對其進行配置管理。根據基于XML的網絡管理的基本要求,本文提出了一種XBM系統(tǒng)模型,如圖1所示。

  圖1中的XBM模型采用了分層的結構,主要分為4層:第1層以Web瀏覽器作為客戶端,與用戶進行數據交互,并通過HTTP協(xié)議與下一層交換XML格式的管理信息。利用CSS或XSL來實現用XML文檔表示的管理信息的多樣化顯示,真正實現“同一數據,多樣顯示”。第2層是一個服務器工作站,其中的Web服務器主要負責與上一層的客戶端通信。管理服務器不但實現傳統(tǒng)網絡管理的功能,而且還負責管理下一層的轉換網關。發(fā)出XML格式的Request,接收XML格式的Response,以處理XML文檔的標準方法進行分析處理。利用XML Encryption和XML Signature技術保證用XML表示的管理信息的傳輸安全性;利用HTTP的Get方法實現SNMP的3種操作(Set、Get和Trap)及傳統(tǒng)的Telnet(SSH,SSL)的命令行操作。第3層包括2個轉換網關:(1)XML-SNMP轉換網關實現XML文檔和SNMP信息的互相轉換。解析來自上一層的XML格式的Request,生成SNMP格式的Request,并通過SNMP協(xié)議傳送到下一層基于SNMP代理的網絡設備;解析來自下一層的SNMP格式的Response,生成XML格式的Response,并通過HTTP協(xié)議傳送到上一層。(2)XML-Telnet(SSH,SSL)網關實現XML文檔和Telnet(SSH,SSL)命令及命令執(zhí)行結果的互相轉換;解析來自上一層的XML格式的Request,生成Telnet(SSH,SSL)格式的Request,并通過Telnet(SSH,SSL)協(xié)議發(fā)送到下一層基于Telnet(SSH,SSL)代理的網絡設備;解析來自下一層的命令執(zhí)行返回的Telnet(SSH,SSL)格式的Response,生成XML格式的Response,并通過HTTP協(xié)議傳送到上一層。第4層是3種被管網絡設備,其中的Agent負責接收來自上一層的Request,收集所需管理信息,給出Response。
  XBM不但可以實現傳統(tǒng)的基于SNMP網絡管理系統(tǒng)的所有功能,而且解決了SNMP的2個比較突出的局限性。網關不僅具有轉換功能還可以減輕網絡負載,提高系統(tǒng)的可擴展性與效率。在可擴展性方面,當網絡規(guī)模比較大,Agent數目比較多時,可以通過添加網關的數目來實現分層分布式管理。在效率方面,管理服務器可以發(fā)出一次命令,Agent執(zhí)行多次,但通過網關的整合后返回的僅是一個XML文檔。這樣會大大減少要傳輸的數據量,并且使XML-SNMP網關越靠近SNMP Agent,傳輸的網絡流量就越少。因為XBM是在基于Web的環(huán)境下使用XML技術的,所以它還繼承了WBM的所有優(yōu)點。此外,XBM還具有其他許多優(yōu)點:(1)在系統(tǒng)設計上具有標準化的數據結構、清晰的定義、準確的編碼方式和統(tǒng)一的訪問接口。(2)在系統(tǒng)性能上,數據傳輸可靠性高,可一次傳輸大量管理信息,互操作性好,網絡負載低,延遲小。(3)具有平臺無關性,可以運行在多種操作系統(tǒng)之上,可以管理異構復雜網絡。(4)用XML本身的安全機制來提高管理信息傳輸的安全性。(5)能管理多種網絡設備,能以基于Web的方式對網絡設備進行配置管理。
4  結論及進一步的研究
  本文提出了一種新的XBM模型,它使用XML來表示、傳輸、處理和顯示網絡管理信息。該模型除可以直接管理基于Web的網絡設備外,還利用2個網關實現了對傳統(tǒng)的基于SNMP的網絡設備和基于Telnet(SSH,SSL)網絡設備的管理。但仍然有一些工作需要進一步深入研究。在該系統(tǒng)模型中若加入一層網關,當一次性請求大量管理信息時,可提高效率,但當請求的信息量比較少時,如何提高系統(tǒng)的性能是一個關鍵問題。此外,不同的操作系統(tǒng)其Telnet(SSH,SSL)命令格式及返回結果的格式不同,如何使XML文檔對Telnet(SSH,SSL)信息的表示更具有普遍性也有待深入探討。
參考文獻
1   Ju H T,Choi M J.An Embedded Web Server Architecture  for XML-Based Network Management.In:2002 IEEE/IFIP  Network Operations and Management Symposium(NOMS′02), Florence,Italy,2002
2   IETF The Simple Network Management Protocol.RFC 1157,1990
3   Hong J W,Kong J Y.Web-based Intranet Services and  Network Management IEEE on Communications Magazine,2000;35(10)
4   Bray T,Paoli J.Extensible Markup Language (XML) 1.0  (Third Edition).W3C Recommendation.http://www.w3.org/TR/2004/REC-xml-20040204.2004-02-04
5   Fallside D C.XML Schema Part 0:Primer.W3C Recommendation.http://www.w3.org/TR/xmlschema-0/,2001
 

此內容為AET網站原創(chuàng),未經授權禁止轉載。