Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
XML 기반 네트워크 관리를 위한SNMP 게이트웨이 설계 및 구현XML 기반 네트워크 관리를 위한SNMP 게이트웨이 설계 및 구현
2001. 12. 17
윤정혁분산처리 및 네트워크관리 연구실
포항공대 정보통신대학원
2POSTECHDP&NM Lab.
발표순서?서론
?관련연구?문제점 및 해결방안
?변환 알고리즘
?변환기 구현
?SNMP 게이트웨이 설계 및 구현
?결론
?향후과제
3POSTECHDP&NM Lab.
서론SNMP 기반 네트워크 관리? 인터넷 네트워크 관리를 위한 표준? 대부분의 장비가 SNMP Agent를 장착? 과도기적 표준으로 시작, 현재까지도 널리 사용? 다양한 관리정보가 정의 되어 있음
XML 기반의 네트워크 관리? XML을 이용하여 기존 네트워크 관리를 보완 시도? HTTP/XML을 이용한 네트워크 관리? XML로 관리정보 정의
XML기반 manager에서 SNMP agent를 통합 관리하기 위한 연구 필요? 기존에 널리 사용되는 SNMP agent 관리 필요
4POSTECHDP&NM Lab.
관련연구SNMP(Simple Network Management Protocol)? Manager / Agent 패러다임? 정보정의 방법 : SMI(Structure of Management Information)
? 관리정보 정의 : MIB(Management Information Base)
? 동작방법 정의 : Protocol
5POSTECHDP&NM Lab.
관련연구XML(eXtensible Markup Language)? 확장 가능한 메타 언어? W3C 표준(1998)? 구조 / 정보 / 표현 / 처리의 구분?DTD, XML Schema / XML / XSL, CSS / DOM, SAX
네트워크 관리를 위한 XML 장점? 강력한 모델링? HTTP를 사용한 쉬운 전달? 뛰어난 호환성(미들웨어 가능성)? 많은 데이터의 동시 전달? 표준화된 구현방법
6POSTECHDP&NM Lab.
관련연구XML 기반 네크워크 관리
XML-based manager
Data collectorData collector
XML-based Agent
XML / HTTP
Presentation
Presentation ProcessingProcessing StorageStorage
SNMP Agent
?
XMLXML
XML
XML
7POSTECHDP&NM Lab.
관련연구MIB to XML Translation? J. P. Martin-Flatin (2000)?XML을 네트워크 관리에 이용하는 방안 제시?SNMP MIB의 XML 변환 필요성 언급
? 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로 변환하는 연구
8POSTECHDP&NM Lab.
문제점정리네트워크 관리 시스템? SNMP 기반 네트워크 관리?관리 대상의 증가에 따라 확장성, 효율성이 문제
? XML 기반 네트워크 관리?SNMP Agent를 그대로 두고 관리하지 못함
이전연구? SNMP MIB to XML 변환?변환 알고리즘을 구체적으로 제시하지 않음?변환 방법에서 정보의 손실이 있음?Validation(데이터 타입)이 완벽하지 않음
? SNMP-XML 게이트웨이 구현 연구?없음
9POSTECHDP&NM Lab.
문제해결방법MIB to XML 변환 알고리즘 설계? 완벽환 Validation 지원?W3C 표준 XML Schema 사용
? 정보 손실 없는 변환?SNMP MIB의 모든 정보를 XML에 표현
MIB to XML 자동 변환기 구현? 관리정보의 편리한 변환
? 게이트웨이 구현에 필수적
SNMP – XML 게이트웨이 구현? XML-based Manager 에서 SNMP Agent를 직접 관리하
는 방법을 제공
? 다양한 MIB을 가지는 여러 종류의 SNMP Agent 관리
10POSTECHDP&NM Lab.
변환알고리즘기본 정의? MIB의 Tree 구조? XML의 Tree 구조?MIB의 node는 XML에서 Element로 정의?MIB의 node 내부의 절은 XML에서 Element의
Attribute로 정의
? 하나의 MIB 모듈은 하나의 XML 문서로 변환?Namespace 사용으로 여러 모듈 조회 지원
? Data type 변환 지원?SMI와 MIB의 Data type 은 XML Schema에서 정의
하는 데이터형을 이용하여 재정의
11POSTECHDP&NM Lab.
SMI to XML Schema
nodeName OBJECT-TYPE ::=SYNTAX “syntaxType”ACCESS “accessType”STATUS “statusType”DESCRIPTION “descriptionOnNode”REFERENCE “referenceType”INDEX “indexList”DEFVAL “defaultValue ”
::= { parentNodeName thisNodeNumber }
Macro : OBJECT-TYPE? Element
<xsd:element name=" nodeName "><xsd:complexType>
<xsd:simpleContent><xsd:restriction base="xsd:string"> -- 데이터형은 SYNTAX 절에 따라서 정의.
<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= "descriptionOnNode"/><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="defval" type="xsd:string" use="fixed" value= "defaultValue"/>
</xsd:restriction></xsd:simpleContent>
</xsd:complexType></xsd:element>
12POSTECHDP&NM Lab.
Data Type
IP Address 범위 :
[0-255].[0-255].
[0-255].
[0-255]
<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>
IpAddress
정수형<xsd:simpleType name="Int"><xsd:restriction base="xsd:int"></xsd:restriction>
</xsd:simpleType>
INTEGER
SMI to XML Schema
13POSTECHDP&NM Lab.
SMI to XML SchemaData Type
길이 지정<xsd:simpleType name="DisplayString_0_255"><xsd:restriction base="xsd:string">
<xsd:minLength value="0"/><xsd:maxLength value="255"/>
</xsd:restriction> </xsd:simpleType>
DisplayString (SIZE (0..255))
선택형<xsd:restriction base="xsd:string"><xsd:enumeration value="up"/><xsd:enumeration value="down"/><xsd:enumeration value="testing"/>
</xsd:restriction>
INTEGER {
up(1),
down(2),testing(3) }
14POSTECHDP&NM Lab.
SMI to XML Schema
<?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>
<?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>
RFC1213-MIB DEFINITIONS ::= BEGIN( MIB 정의 … )END
RFC1213-MIB DEFINITIONS ::= BEGIN( MIB 정의 … )END
모듈명? Root Element
15POSTECHDP&NM Lab.
<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-2 OBJECT IDENTIFIER ::= { mgmt 1 }mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
OBJECT IDENTIFIER ? group Element? 데이터를 갖지 않는 그룹 노드.? OID 만 attribute로 지정.
MIB to XML Schema
16POSTECHDP&NM Lab.
ifTable OBJECT-TYPESYNTAX SEQUENCE OF IfEntryACCESS not-accessibleSTATUS mandatoryDESCRIPTION
"A list of interface entries. The number ofentries is given by the value of ifNumber."
::= { interfaces 2 }
ifTable OBJECT-TYPESYNTAX SEQUENCE OF IfEntryACCESS not-accessibleSTATUS mandatoryDESCRIPTION
"A list of interface entries. The number ofentries is given by the value of ifNumber."
::= { interfaces 2 }
Table node ? group Element
<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>
<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
17POSTECHDP&NM Lab.
ifEntry OBJECT-TYPESYNTAX IfEntryACCESS not-accessibleSTATUS mandatoryDESCRIPTION
"An interface entry containing objects at the … "INDEX { ifIndex }::= { ifTable 1 }
ifIndex OBJECT-TYPESYNTAX INTEGERACCESS read-onlySTATUS mandatoryDESCRIPTION
"A unique value for … "::= { ifEntry 1 }
ifDescr OBJECT-TYPESYNTAX DisplayString (SIZE (0..255))ACCESS read-onlySTATUS mandatoryDESCRIPTION
"A textual string containing information about the ..."::= { ifEntry 2 }
Entry node ? group Element
MIB to XML Schema
18POSTECHDP&NM Lab.
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
19POSTECHDP&NM Lab.
sysDescr OBJECT-TYPESYNTAX DisplayString (SIZE (0..255))ACCESS read-onlySTATUS mandatoryDESCRIPTION
"A textual description of the entity. … ."::= { system 1 }
sysDescr OBJECT-TYPESYNTAX DisplayString (SIZE (0..255))ACCESS read-onlySTATUS mandatoryDESCRIPTION
"A textual description of the entity. … ."::= { system 1 }
Scalar node ? leaf Element
<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>
MIB to XML Schema
20POSTECHDP&NM Lab.
변환기구현
SMI syntax analyzerSMI syntax analyzer
MO node tableMO node table
XML Schema document
SNMP MIB definition(file or URL)
DOM generator
DOM generator
DOM tree
node table generatornode table generator
XML Schema generator
XML Schema generator
21POSTECHDP&NM Lab.
SNMP 게이트웨이
SNMP Agent
SNMP
XML-based manager
Data collectorData collector
XML-based Agent
XML / HTTP
Presentation
Presentation ProcessingProcessing StorageStorage
XML-SNMPgateway
XML-SNMPgateway
XML / HTTP
XML 기반 네트워크 관리 시스템
22POSTECHDP&NM Lab.
SNMP 게이트웨이 : 동작변환
http://(manager_address)/NOTIFICATION/SNMP?host=host_name
http://(gateway_ address)/SNMP?host=agent_name&community=community_name&operation=setset&xpath=node_name&value=value_string
http://(gateway_address)/SNMP?host=agent_name&community=community_name&operation=getget&xpath=node_name
HTTP
trap
set
get
SNMP 비고
HTTP GET
HTTP POST
HTTP GET/HTTP POST
23POSTECHDP&NM Lab.
게이트웨이구조및동작
SNMP Agent
SNMP request
SNMP pollerSNMP poller Trap receiverTrap receiver
SNMP trap
HTTP handlerHTTP handler
HTTP request HTTP response
SchedulerScheduler
XML generator
XML generator
request parser
request parser
SNMP response
XML DOMXML DOMMIB to XMLtranslator
MIB to XMLtranslatorMIB
.xsd file
.xslfile
XSL generator
XSL generator
①Polling①
②Notification
②
③DOM 변경
③
24POSTECHDP&NM Lab.
게이트웨이실행 : Polling하나의 노드 조회 xpath=sysDescr
25POSTECHDP&NM Lab.
게이트웨이실행 : Polling전체 MIB 조회 xpath=internet
26POSTECHDP&NM Lab.
게이트웨이실행 : NotificationG/W 에서 수신? XML 생성? 매니저로 전달
G/W 에서 수신? XML 생성? 매니저로 전달
매니저에서 XML 수신매니저에서 XML 수신
Trap 발생Trap 발생
27POSTECHDP&NM Lab.
게이트웨이응용MIB Browser 기능
28POSTECHDP&NM Lab.
게이트웨이응용자동생성된 스타일 시트
29POSTECHDP&NM Lab.
결론XML기반 네트워크 관리 시스템에서 기존의 SNMP Agent를 통합 관리하는 방법을 제시함. ? SNMP MIB의 관리정보를 XML Schema로 변환
하는 알고리즘을 설계함.? 설계한 알고리즘으로 자동 변환기를 구현함.? SNMP-XML간 메시지 변환을 위한 게이트웨이
를 설계하고 구현함.
30POSTECHDP&NM Lab.
향후과제알고리즘 성능 평가를 통한 알고리즘 보완게이트웨이의 분산처리에 관한 연구? 분산된 여러 개의 게이트웨이를 하나의 XML
기반 Manager에서 관장함으로써 거대한 네트워크의 SNMP Agent를 통합관리 하는 방안
31POSTECHDP&NM Lab.
참고문헌[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.