2001. 12. 17 infobank@postech.ac.kr
SNMP
SNMP SNMP Agent, XML XML HTTP/XML XML XML manager SNMP agent SNMP agent
SNMP(Simple Network Management Protocol) Manager / Agent : Protocol : SMI(Structure of Management Information) : MIB(Management Information Base)
XML(eXtensible Markup Language) W3C (1998) / / / DTD, XML Schema / XML / XSL, CSS / DOM, SAX XML HTTP ( )
XML
MIB to XML Translation J. P. Martin-Flatin (2000) XML SNMP MIBXML Subrata Mazumdar, Bell Lab (1997) CORBA/SNMP Gateway MIB XML DTD Frank Strauss, libsmi (2000) SNMP SMI MIB, (2001) XML SNMP Agent ASN.1 to XML Translation T. Imamura, H. Maruyama, IBM Research (2001) ASN.1 XML
SNMP, XML SNMP Agent SNMP MIB to XML Validation( ) SNMP-XML
MIB to XML Validation W3C XML Schema SNMP MIB XML MIB to XML SNMP XML XML-based Manager SNMP Agent MIB SNMP Agent
MIBTree XMLTree MIBnodeXML Element MIBnode XML Element Attribute MIB XML Namespace Data type SMIMIBData type XML Schema
SMI to XML Schema Macro : OBJECT-TYPE Element nodename OBJECT-TYPE ::= SYNTAX syntaxtype ACCESS accesstype STATUS statustype DESCRIPTION descriptiononnode REFERENCE referencetype INDEX indexlist DEFVAL defaultvalue ::= { parentnodename thisnodenumber }
SMI to XML Schema Data Type <xsd:simpletype name="int"> <xsd:restriction base="xsd:int"> </xsd:restriction> </xsd:simpletype> <xsd:simpletype name="ipaddress"> <xsd:restriction base="xsd:string"> <xsd:pattern value="(([1-9]?[0-9] 1[0-9][0-9] 2[0-4][0-9] 25[0-5])\.){3}([1-9]?[0-9] 1[0-9][0-9] 2[0-4][0-9] 25[0-5])"/> </xsd:restriction> </xsd:simpletype>
SMI to XML Schema Data Type <xsd:restriction base="xsd:string"> <xsd:enumeration value="up"/> <xsd:enumeration value="down"/> <xsd:enumeration value="testing"/> </xsd:restriction> <xsd:simpletype name="displaystring_0_255"> <xsd:restriction base="xsd:string"> <xsd:minlength value="0"/> <xsd:maxlength value="255"/> </xsd:restriction> </xsd:simpletype>
SMI to XML Schema Root Element RFC1213-MIB DEFINITIONS ::= BEGIN ( MIB ) END <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/xmlschema" elementformdefault="qualified"> <xsd:element name="rfc1213-mib"> <xsd:complextype> <xsd:sequence> </xsd:sequence> <xsd:attribute name="version" type="xsd:string" use="required"/> </xsd:complextype> </xsd:element> </xsd:schema>
MIB to XML Schema OBJECT IDENTIFIER group Element. OID attribute. mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } <xsd:element name="mib-2"> <xsd:complextype> <xsd:sequence> Child Element Definition </xsd:sequence> <xsd:attribute name="oid" type="xsd:string" use="fixed" value="1.3.6.1.2.1"/> </xsd:complextype> </xsd:element>
MIB to XML Schema Table node group Element iftable OBJECT-TYPE SYNTAX SEQUENCE OF IfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of interface entries. The number of entries is given by the value of ifnumber." ::= { interfaces 2 } <xsd:element name="iftable"> <xsd:complextype> <xsd:sequence> <xsd:element ref="ifentry" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="oid" type="xsd:string" use="fixed" value="1.3.6.1.2.1.2.2"/> <xsd:attribute name="access" type="xsd:string" use="fixed" value="not-accessible"/> <xsd:attribute name="status" type="xsd:string" use="fixed" value="mandatory"/> <xsd:attribute name="description" type="xsd:string" use="fixed" value= "A list of interface entries. The number of entries is given by the value of ifnumber."/> </xsd:complextype> </xsd:element>
MIB to XML Schema Entry node group Element ifentry OBJECT-TYPE SYNTAX IfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An interface entry containing objects at the " INDEX { ifindex } ::= { iftable 1 } ifindex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A unique value for " ::= { ifentry 1 } ifdescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual string containing information about the..." ::= { ifentry 2 }
MIB to XML Schema Entry node group Element <xsd:element name="ifentry"> <xsd:complextype> <xsd:all> <xsd:element ref="ifindex" minoccurs="0"/> <xsd:element ref="ifdescr" minoccurs="0"/> <xsd:element ref="iftype" minoccurs="0"/> </xsd:all> <xsd:attribute name="oid" type="xsd:string" use="fixed" value="1.3.6.1.2.1.2.2.1"/> <xsd:attribute name="access" type="xsd:string" use="fixed" value="not-accessible"/> <xsd:attribute name="status" type="xsd:string" use="fixed" value="mandatory"/> <xsd:attribute name="description" type="xsd:string" use="fixed" value= "An interface entry containing objects at the subnetwork layer and below for a particular interface."/> <xsd:attribute name="index" type="xsd:string" use="fixed" value="ifindex"/> <xsd:attribute name="id" type="xsd:string" use="required"/> </xsd:complextype> </xsd:element>
MIB to XML Schema Scalar node leaf Element sysdescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual description of the entity.." ::= { system 1 } <xsd:element name="sysdescr"> <xsd:complextype> <xsd:simplecontent> <xsd:restriction base="xsd:string"> <xsd:minlength value="0"/> <xsd:maxlength value="255"/> <xsd:attribute name="oid" type="xsd:string" use="fixed" value="1.3.6.1.2.1.1.1"/> <xsd:attribute name="access" type="xsd:string" use="fixed" value="read-only"/> <xsd:attribute name="status" type="xsd:string" use="fixed" value="mandatory"/> <xsd:attribute name="description" type="xsd:string" use="fixed" value= "A textual description of the entity. "/> </xsd:restriction> </xsd:simplecontent> </xsd:complextype> </xsd:element>
SNMP MIB definition (file or URL) SMI syntax analyzer node table generator MO node table DOM tree DOM generator XML Schema generator XML Schema document
SNMP
SNMP : SNMP get set trap HTTP http://(gateway_address)/snmp?host=agent_name &community=community_name&operation=get &xpath=node_name http://(gateway_ address)/snmp?host=agent_name &community=community_name&operation=set &xpath=node_name&value=value_string http://(manager_address)/notification/snmp?ho st=host_name HTTP GET HTTP GET/ HTTP POST HTTP POST
Polling Notification HTTP request HTTP handler HTTP response DOM request parser XML generator MIB MIB to XML translator XML DOM XSL generator.xsl file.xsd file Scheduler SNMP poller Trap receiver SNMP request SNMP response SNMP trap SNMP Agent
: Polling xpath=sysdescr
: Polling MIB xpath=internet
: Notification Trap G/W XML XML
MIB Browser
XML SNMP Agent. SNMP MIB XML Schema.. SNMP-XML.
XML Manager SNMP Agent
[1] The World Wide Web Consortium, http://www.w3c.org. [2] W. Stallings, SNMP, SNMPv2, SNMPv3, and RMON 1 and 2, Third edition, Addison-Wesley, Reading, MA, USA, 1999. [3] Hong-Taek Ju, Sehee Han, Yunjung Oh, Jeong-Hyuk Yoon, Hyojin Lee, James W. Hong, An Embedded Web Server Architecture for XML-Based Network Management, Accepted to appear in Proc. of the IEEE/IFIP Network Operations and Management Symposium (NOMS 2002), April, 2002, Florence, Italy. [4] J.P. Martin-Flatin. "Web-Based Management of IP Networks and Systems", Ph.D. thesis, Swis s Federal Institute of Technology, Lausanne (EPFL), Oct 2000. [5],,,,, "SNMP SMI to XML ", Proc. of KNOM 2001 Conference, Taejeonn, May, 2001, pp. 102-106. [6] W3C, Extensible Markup Language (XML) 1.0, W3C Recommendation, October 2000, http://www.w3.org/tr/rec-xml. [7] W3C, HTML 4.0 Specification, Internet Draft, HTML Working Group, Apr. 1998. [8] International Organization for Standardization, "ISO 8879: Standard Generalized Markup Language (SGML)", 1986. [9] Network Sorcery. Inc., ICMP, Internet Control Message Protocol, http://www.networksorcery.com/enp/protocol/icmp.htm. [10] ISO/IEC, CCITT, Information Technology-OSI, Common Management Information Protocol (CMIP)-Part 1: Specification ISO/IEC 9596-1, CCITT Recommendation X.711, 1991. [11] Subrata Mazumdar, CORBA/SNMP Gateway, Bell Labs, http://www.bell-labs.com/project/corbasnmp. [12] Frank Strauss, A Library to Access SMI MIB Information, http://www.ibr.cs.tu-bs.de/projects/libsmi/. [13] Imamura, T. and Maruyama, H., Mapping between ASN.1 and XML, Applications and the Internet, 2001. Proceedings, IEEE, 2001, pp. 57 64. [14] ITU-T, Specification of Abstract Syntax Notation One(ASN.1), ITU-T Rec. X.208, 1998. [15] M. Rose, K. McCloghrie, Structure and Identification of Management Information for TCP/IP-based Internets, IETF, RFC1155, May 1990. [16] M. Rose, K. McCloghrie, Concise MIB Definitions, IETF, RFC1212, March 1991. [17] K. McCloghrie, M. Rose, Management Information Base for Network Management of TCP/IP-based internets: MIB-II, IETF, RFC1213, March 1991. [18] K. McCloghrie, et al, Structure of Management Information Version 2 (SMIv2), IETF, RFC2578, April 1999. [19] K. McCloghrie, et al, Textual Conventions for SMIv2, IETF, RFC2579, April 1999. [20] K. McCloghrie, et al, Conformance Statements for SMIv2, IETF, RFC2580, April 1999.