JMX 1.2 를지원하는 Wi-NMS TM 플랫폼설계및구현 (Design and Implementation of Wi-NMS TM Platform based on JMX v1.2) 김형진, 정은주, 김은주, 서은하, 김용진모다정보통신 { hjkim, ejjeong, ejkim, ehseo, cap}@modacom.co.kr 요 약 기존의망관리솔루션은 Client/Server 방식을근간으로하는 EMS(Element Management System) 혹은 NMS(Network Management System) 를구축할수있는플랫폼을제공하였다. 현재급변하는네트워크환경과웹사용의보편성을고려해볼때 Client/Server 방식보다는장소에구애를받지않으며운영하기편리한구조인웹기반의망관리솔루션이대두되고있다. 본논문에서는 JCP(Java Community Process)00003 에서정의된 JMX(Java Management Extensions) v1.2 표준규격을기반으로구현한웹방식의망관리시스템개발플랫폼인 Wi- NMS TM (Web-based Integrated Network Management System) 에대해기술한다. Wi-NMS TM 는 SNMP(Simple Network Management Protocol), CORBA(Common Object Request Broker Architecture), TL1(Transaction Language 1) 등다양한망관리프로토콜을제공하고있으며 model-based Managed Object 를정의하여구현코드를자동생성하는컴파일러기술및네트워크특성에맞는다양한맞춤형서비스를제공한다. 1. 서론 현재전세계의통신시장은빠른속도로발전하며변화하고있다. 시장및기술적변화측면으로보면기존의폐쇄적이고부분적이었던환경들이개방형구조로, 유선망과같이고정된환경에서무선망으로변화하고있다. 이렇게복잡해진환경을관리하기위한관리시스템개발도이전의개발방법으로는시간적, 비용적부담이늘어가고있으며망관리시스템을시장이요구하는시간내에구축하기힘들고새로운서비스의추가가어려워지는문제점을해결하기위해새로운변화가필요하게되었다. 따라서이러한문제점들을해결할수있는웹기반의통합망관리시스템개발플랫폼인 Wi-NMS TM 를설계 구현하게되었다. Wi-NMS TM 는상이한망관리프로토콜의정보모델을 MBean 기반으로정의하여통합하고상위시스템과의인터페이스로미들웨어기반의 RMI(Remote Method Invocation) 및 CORBA 를지원함으로써확장성및분산시스템구축에용이하며, 컴파일러의기술을적용한 MIB 정보를 model 파일 (mmo, mmd) 로생성하고 modelc 라는모델컴파일러를통해 MBean, 구현코드및기타 JSP 페이지를자동생성한다. 이러한컴파일러기술은망관리시스템의개발기 간을단축할수있으며다양한망관리프로토콜을빠르게통합할수있도록한다. 본논문에서는통합 NMS로서의기능을수행할수있는 Wi-NMS TM 의설계및구현에사용된 Adaptor 기술, 컴파일러기술, Wi-NMS 서비스, Core Engine 들에대해다룬다. 본논문의구성은다음과같다. 2장에서는 Wi- NMS TM 플랫폼및 Core Engine, 컴파일러기술에대해기술하였으며 3장에서는 Adaptor 기술에대해설명한다. 4장에서는 Wi-NMS TM 가제공하는서비스에관하여다룬후 5장에서는구현된 GUI(Graphical User Interface) 화면을가지고사용자관점에서각기능을설명한다. 끝으로 6장에서는 Wi-NMS 홈페이지를소개와함께결론을맺는다. 2. Wi-NMS TM 플랫폼 Wi-NMS TM 는 JMX 1.2[1] 및 J2SE 5.0 에서개발된개방형분산망관리솔루션이다. 이는상이한망관리프로토콜을 MBean 으로정의하여통합하고상위시스템과의인터페이스를미들웨어기반의 RMI 및 CORBA 를지원함으로써향후망제어시스템을통합할수있는장점을갖는다. ( 그림 1) 은 Wi- 1
NMS TM 의플랫폼을나타낸다. PStorage MBean에대한정보를 DB 또는 File로자동 load/store Thread 멀티스래드기반의 MO, MBean, MIT 처리기술 Filter/Scoping MIT내의 MBean객체의 Filter/ Scoping 조회 Type MBean Attribute의 Type 추상화및 MBean Type 제공 Convertor MBean Type 과외부정보모델과의데이터변환기술 2.2 Wi-NMS TM Compiler ( 그림 1) Wi-NMS TM 플랫폼 Wi-NMS TM 의주요특징은다음과같다. Web-Based EMS/NMS/SMS 개발솔루션 JMX1.2 스팩지원 SNMP, TL1, CORBA, SOAP, RMI 등다양한 Protocol Adaptor 지원 SNMP MIB 컴파일러및브라우저 MBean 구현클래스자동생성기컴파일러 Pdf, Excel, Word 등다양한 Reporting 기술 선, 막대, 파이등다양한 Chart 제공 네이밍기술기반의분산시스템구축제공 JDBC/File 기반의 Persistence Storage 자동처리 Model-based reasoning 및 filtering 기법의 Event Correlation 지원 Write Once, Run Anywhere Wi-NMS TM 플랫폼은관리대상객체를 mmo(modelbased managed object) 로정의하여관리한다. 다양한형태를갖는정보모델 (MIB, XML, GDMO, Message 등 ) 은 MMO 로재정의되어이를 MBean 으로관리하게함으로써통합시스템구축을용이하게한다. 예를들어 SNMP MIB 정보모델은 smc(snmp mib compiler) 컴파일러를이용하여 MMO 및 MMD(model-based managed data) 를자동생성한다 2.1 Wi-NMS TM Core Engine Wi-NMS TM Core Engine은 JMX MBean을기반으로 MO(Managed Object) 를관리하는방법, MO에고유의 ID를부여하는이름체계, 각 MO간 Containment Rule을적용하여관리하는 MIT(MIB Information Tree), MIT에존재하는각 MO를 Scoping/Filtering 기법을이용하여조회할수있는기능그리고각 MO 서비스를 manager로제공 / 관리하는 JMX Engine 등 Wi-NMS TM 의핵심기능의 Agent 기술이다. [ 표 1] 은 Wi-NMS TM Core Engine의기능을설명한것이다. MO MIT IFR Naming 유형 JMX Engine [ 표 1] Wi-NMS TM Core Engine 기능 설명 Managed Object로써 MBean를대표하여관리되는 light-weight 객체 MO의계층적 Tree구조의자료형 MO 및 MBean에대한 Information MO를유일한값의 ID로매핑관리하는네이밍기술 MBean 및 Manager와의통신제어 ( 그림 2) Compiler에의한 MMO/MMD 생성절차 2.2.1 SNMP MIB 처리 Wi-NMS TM 는 SNMP MIB 컴파일러인 smc를제공한다. ( 그림 3) Wi-NMS TM SNMP MIB 처리절차 2
smc 는 mib 을컴파일하여 model 파일 (mmo, mmd) 및 IFR 파일 (mib 에대한메타데이타 ) 을생성하고 modelc 라는모델컴파일러는이파일을이용하여 MBean, 구현코드및기타 JSP 페이지를자동생성한다. SNMP MIB 을 MBean 으로재정의하여 Managed Object 화되는과정을자세히살펴보면다음과같다. 첫째, SNMP MIB 에대한 attribute 를 MBean Attribute 로정의한다. 각 attribute 는 primitive type 을사용하여정의한다. [ 표 2] Wi-NMS TM Attribute Type primitive 자바클래스 매핑클래스 type byte java.lang.byte WMByte char java.lang.character WMChar short java.lang.short WMShort int java.lang.integer WMInteger long java.lang.long WMLong float java.lang.float WMFloat double java.lang.double WMDouble boolean java.lang.boolean WMBoolean string java.lang.string WMString date java.lang.date WMDate inetaddr java.net.inetaddress WMInetAddress enum java.lang.enum WMEnum 둘째, MBean 에대한 action 을정의한다. (MBean 의 create/remove/get/set/getlist 등 5 개의행위는 Default 로제공한다. 우리는이외의행위를 action 이라고부른다.) action 내에서의파라미터및리턴타입은 primitive type 뿐아니라 java.io.serializable 를제공하는모든자바클래스를사용할수있다. 셋째, SNMP Trap 을 MBean 의 notification 으로정의한다. 넷째, SNMP MIB 에대한 containment rule 을정의한다. 이것은 MIT 내에서계층구조를갖도록하기위함이다. 3 Wi-NMS TM Adaptor 기술 3.1 Wi-NMS TM North-bound Interface Wi-NMS TM 플랫폼의상위인터페이스는 RMI, CORBA를지원한다. 그리고 Manager는 get, set, create, remove, getlist 등크게다섯가지의 operation을이용 MBeanServer에접근하여 MBean을관리하게된다. ( 그림 5) Wi-NMS TM North-Bound Interface 3.2 Wi-NMS TM South-bound Interface Wi-NMS TM 플랫폼의하위인터페이스는 SNMP, TL1, Message, CORBA, RMI 등다양한망관리인터페이스를지원한다. 이인터페이스는 Adaptor 및 Convertor 기술을이용하여외부정보모델을 MBean 으로매핑하는기술이다. 예를들어 SNMP의경우 MIB은 MBean으로재정의되고 Adaptor, Connector, JMXConnector를제공하는 SNMP Session을통해상호통신및 Wi-NMS TM 플랫폼으로운영될수있게된다. ( 그림 6) Wi-NMS TM South-Bound Interface ( 그림 4) model definition Adaptor 와 Convertor 의구성은아래와같다. public interface Adaptor { public Adaptor getadaptor(string adaptorname); public Adaptor newadaptor(string protocol) 3
} throws IOException; public interface Convertor extends Adaptor { public Name[] getnames(string ipaddress, String interfacename) public void create(managedobjectimpl mo) throws ConvertorException; public void remove(managedobjectimpl mo) throws ConvertorException; public WMValue getattribute(managedobjectimpl mo, String attribute) public AttributeList getattributes (ManagedObjectImpl mo, String[] attributes) public void setattribute(managedobjectimpl mo, Attribute attribute) public void setattributes(managedobjectimpl mo, AttributeList attributes) } 4 Wi-NMS TM 서비스 Wi-NMS TM 는서비스중심의다양한컴포넌트들이서로유기적으로동작한다. Wi-NMS TM 의 Notification을제외한모든서비스는 MBeanServer 및 Web Server를통하여인터넷상으로제공한다. 그리고 Wi-NMS TM 플랫폼밖에서표현되는정보 (SNMP, TL1, CORBA, SOAP, RMI 등 ) 는 adaptor를통하여 Wi-NMS TM 플랫폼내에서 MBean으로정의되어관리되어진다. 전송 Log : Logger, LogFilter, LogLevel 을이용하여운용이력및 syslog 지원 Notification : 장비에서발생한모든 Notification 수집및 event correlation 지원 Topology : 서비스네트워크단위의망토폴로지제공 Auto-Discovery : Domain 별, Network 별관리객체자동감지 Trouble Ticket : 장애발생시조치내역등록및유사장애발생시활용보고지원 Report : 각종통계보고서및통계차트제공 MBean : JMX 기반의 MBean 서비스제공 Security : 운영자계정, 인증처리그리고각계정별 MBean access 권한제공 Performance : 성능데이터수집및실시간성능모니터링 Software : ftp/tftp 를이용하여 software 혹은 MIB 정보 up/download 지원 Fault : 장애등급, 장애수집, 장애 Filter, 장애 Suppressing, ACL(Alarm Count List) 지원 5 Wi-NMS TM 사용자인터페이스 Wi-NMS TM 의사용자인터페이스는구성정보를 Topology 로관리하고장애정보를 ACL 및현재장애테이블로관리할수있도록하였다. 실시간으로장애를표출해야하는메인페이지는 Java Applet 을사용하여구성하였으며그외의망관리기능은 JSP 페이지로구성하여 Applet 소스의다운로드사이즈를최소화하였다. ( 그림 7) Wi-NMS TM 서비스 Wi-NMS TM 에서제공하는주요서비스는다음과같다. SMS : Fault 발생 / 해제에대한 SMS 메시지 5.1 구성관리 ( 그림 8) Wi-NMS TM 메인화면 구성관리는 Topology Map 을이용한네트워크감 4
시통제관리기능과 Map 상의노드를클릭하였을경우노드의상세정보 ( 실장도 ) 를제공하도록설계되었다. 5.2 성능관리 성능관리는관리노드별또는개별포트별로트래픽, CPU 및 CRC, Power, Temperature 와같은성능항목들을일간, 주간, 월간, 년간으로조회가능하며조회한내용을테이블및 Excel, Chart 등의다양한방법으로 GUI 를제공하여성능변화를쉽게분석할수있도록하고있다. 5.3 장애관리 장애관리는다양한장비의장애를 Critical, Major, Minor, Warning, Indeterminate 등크게 5 개의등급으로관리함으로써각장비의장애를등급별로인지하고처리할수있도록한다. 또한 Filtering 기능과 Suppressing 기능을두어운영자가장애를효과적으로관리할수있도록도와준다. 장애발생시가시, 가청및전자메일 SMS 발송은운영자로하여금언제어디서나장애를감시할수있는환경을조성해준다. 5.4 운영관리 운영관리는 NMS 의관리운영의편이성을위해제공된다. 프로세스, 메모리, Thread 등과같은시스템자원을모니터링할수있는 House Keeping 서비스를제공하며, Java 가사용하는 Momory 를체크하고 Garbage Collection 기능을수행할수있도록하였다. Wi-NMS TM 플랫폼은 2003년도에모다정보통신 ( 주 ) 에서 1차배포후현재다양한서비스지원및 JMX 1.2와의호환성을유지하였으며컴파일러기술을적용하여시스템개발자로하여금빠르고쉽게구축할수있는제품으로출시되었다. Wi-NMS TM 는 Web 기반의편리한사용자인터페이스를제공하는통합망관리개발플랫폼으로써 EMS 및단기간에여러종류의장비를제어하는안정적인통합 NMS를구축하는데적용될것으로기대된다. 모다정보통신 ( 주 ) 은 Wi-NMS TM 플랫폼에대한기술지원및교육그리고메뉴얼배포등다양한정보를홈페이지 (http://winms.modacom.co.kr) 를통하여제공하고있으며상표등록및우수품질인증마크 (EM : Excellent Machine, Mechanism and Material) 을획득함으로써기술력및품질의우수성을인정받았고향후시장점유를위한교두보를마련하였다. 참고문헌 [1] 정은주, 서은하, 김용진 Wi-NMS 설계및구현 KNOM Review, Vol 6, No. 2, Reb. 2004. pp 62~68 [2] Java Management Extensions (JMX) Technology Tutorial,http://java.sun.com/j2se/1.5.0/docs/gu ide/jmx/tutorial/tutorialtoc.html [3] Mark A. Miller, MANAGING INTERNETWORKS WITH SNMP(THIRD EDITION) 1999 [4] William Stalling, SNMP,SNMPv2, SNMPv3, and RMON 1 and 2 1999 [5] RFC1213, Management Information Base for Network Management of TCP/IP based internets: MIB-II [6] IONA Technologies, Orbix Administrator s Guide, February 1999 [7] IONA Technologies Ltd., Orbix Programming Guide Release 2.0, November 1995 [8] Tomcat reference,http://jakarta.apache.org/tomcat [9] TL1 Protocol, http://www.tl1.com/library/tl1/tl1_protocol/ [10] Sun, Java 2 Platform, Enterprise Edition (J2EE), http://java.sun.com/j2ee [11] SNMP, SNMPv2, SNMPv3, and RMON 1 and 2 (3rd Edition) [12] MANAGING INTERNETWORKS WITH SNMP 3E ( 그림 9) House Keeping 화면 6 결론 5
김형진 1997.2 서울산업대학교, 전자계산학과학사 1999.2 숭실대학교컴퓨터공학과석사 1999.3 ~ 현재모다정보통신 < 관심분야 > 망관리, 컴파일러기술, 홈네트워크, Embedded Software 정은주 1999.2 숭실대학교, 컴퓨터학부학사 2000 ~ 2001 코넷엔지니어링 2001~ 현재모다정보통신 < 관심분야 > Web기반 NMS 기술, 에이전트기술 1997 ~ 2000 ITU-T SC13 Q20(IP over ATM in B- ISDN) Rapporteur 2000.3 ~ 2002.8 IPv6 포럼코리아의장 2001.7 ~ 2002. 9 한국정보통신대학교겸임교수 2005.1 ~ 현재연세대학교전기전자공학부겸임교수 2001.7 ~ 2002.8 IPv6 Forum Oneworld WG chair 2001.7 ~ 현재 IPv6 Forum/IETF IPv6 Technical Directorate 2001 ~ 현재정보통신부선정국제 IT 표준전문가 2002.11 ~ 현재모다정보통신 연구소장, 상무이사 < 관심분야 > IPv4/IPv6 변환기, Mobile IP/Fast Handoff, Mobile Adhoc 기술, 망관리 김은주 1998.2 동덕여자대학교, 전자계산학과학사 1998 ~ 1999 영전 1999 ~ 현재모다정보통신 < 관심분야 > TMN, NMS, EMS, 에이전트기술 서은하 2000.2 성신여자대학교, 전산학과학사 2000 ~ 2001 오늘과내일 2001~ 현재모다정보통신 < 관심분야 > Web기반 NMS 기술, 에이전트기술 김용진 1983.2 연세대학교전자공학과학사 1989.9 한국과학기술원전기및전자공학과석사 1997.2 한국과학기술원저기및전자공학과박사 1983.3~2002.8 한국전자통신연구원차세대인터넷표준연구팀장, 책임연구원 6