jmx 1.2를 지원하는 wi-nmstm 플랫폼 설계 및 구현 (design and...
TRANSCRIPT
KNOM Review Vol. 8, No. 2, February 2006 1
JMX 1.2를 지원하는 Wi-NMSTM 플랫폼 설계 및 구현
(Design and Implementation of Wi-NMSTM
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-
NMSTM(Web-based Integrated Network Management System)에 대해 기술한다. Wi-NMSTM는
SNMP(Simple Network Management Protocol), CORBA(Common Object Request Broker
Architecture), TL1(Transaction Language 1)등 다양한 망 관리 프로토콜을 제공하고 있으며
model-based Managed Object를 정의하여 구현 코드를 자동 생성하는 컴파일러 기술 및 네트워
크 특성에 맞는 다양한 맞춤형 서비스를 제공한다.
1. 서론
현재 전세계의 통신 시장은 빠른 속도로 발전하
며 변화하고 있다. 시장 및 기술적 변화 측면으로
보면 기존의 폐쇄적이고 부분적이었던 환경들이 개
방형 구조로, 유선망과 같이 고정된 환경에서 무선
망으로 변화하고 있다. 이렇게 복잡해진 환경을 관
리 하기 위한 관리 시스템 개발도 이전의 개발 방
법으로는 시간적, 비용적 부담이 늘어가고 있으며
망 관리 시스템을 시장이 요구하는 시간 내에 구축
하기 힘들고 새로운 서비스의 추가가 어려워지는
문제점을 해결하기 위해 새로운 변화가 필요하게
되었다. 따라서 이러한 문제점들을 해결 할 수 있
는 웹 기반의 통합 망 관리 시스템 개발 플랫폼인
Wi-NMSTM를 설계·구현 하게 되었다.
Wi-NMSTM는 상이한 망 관리 프로토콜의 정보모델
을 MBean기반으로 정의하여 통합하고 상위 시스템
과의 인터페이스로 미들웨어 기반의 RMI(Remote
Method Invocation) 및 CORBA를 지원함으로써 확장
성 및 분산 시스템 구축에 용이하며, 컴파일러의
기술을 적용한 MIB 정보를 model파일(mmo, mmd)로
생성하고 modelc라는 모델 컴파일러를 통해 MBean,
구현 코드 및 기타 JSP 페이지를 자동 생성한다.
이러한 컴파일러 기술은 망 관리 시스템의 개발 기
간을 단축 할 수 있으며 다양한 망 관리 프로토콜
을 빠르게 통합 할 수 있도록 한다.
본 논문에서는 통합 NMS로서의 기능을 수행 할
수 있는 Wi-NMSTM의 설계 및 구현에 사용된 Adaptor
기술, 컴파일러 기술, Wi-NMS 서비스, Core Engine
들에 대해 다룬다.
본 논문의 구성은 다음과 같다. 2장에서는 Wi-
NMSTM 플랫폼 및 Core Engine, 컴파일러 기술에 대
해 기술하였으며 3장에서는 Adaptor 기술에 대해
설명한다. 4장에서는 Wi-NMSTM가 제공하는 서비스에
관하여 다룬 후 5장에서는 구현된 GUI(Graphical
User Interface)화면을 가지고 사용자 관점에서 각
기능을 설명한다. 끝으로 6장에서는 Wi-NMS 홈페이
지를 소개와 함께 결론을 맺는다.
2. Wi-NMSTM 플랫폼
Wi-NMSTM 는 JMX 1.2[1] 및 J2SE 5.0 에서 개발
된 개방형 분산 망 관리 솔루션이다. 이는 상이한
망 관리 프로토콜을 MBean 으로 정의하여 통합하고
상위 시스템과의 인터페이스를 미들웨어 기반의
RMI 및 CORBA 를 지원함으로써 향후 망 제어 시스템
을 통합 할 수 있는 장점을 갖는다. (그림 1)은 Wi-
KNOM Review Vol. 8, No. 2, February 2006 2
NMSTM 의 플랫폼을 나타낸다.
(그림 1) Wi-NMSTM 플랫폼
Wi-NMSTM의 주요 특징은 다음과 같다.
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
2.1 Wi-NMSTM Core Engine
Wi-NMSTM 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-NMSTM의 핵심 기능의 Agent 기술이다. [표 1]
은 Wi-NMSTM Core Engine의 기능을 설명한 것이다.
[표 1] Wi-NMSTM Core Engine 기능
유형 설명
MO Managed Object로써 MBean를 대표
하여 관리되는 light-weight 객체
MIT MO의 계층적 Tree구조의 자료형
IFR MO 및 MBean에 대한 Information
Naming MO를 유일한 값의 ID로 매핑 관리
하는 네이밍 기술
JMX Engine MBean 및 Manager와의 통신 제어
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-NMSTM Compiler
Wi-NMSTM 플랫폼은 관리 대상 객체를 mmo(model-
based managed object)로 정의하여 관리한다. 다양
한 형태를 갖는 정보모델(MIB, XML, GDMO, Message
등)은 MMO로 재정의되어 이를 MBean으로 관리하게
함으로써 통합시스템 구축을 용이하게 한다. 예를들
어 SNMP MIB 정보모델은 smc(snmp mib compiler)컴
파일러를 이용하여 MMO 및 MMD(model-based managed
data)를 자동 생성한다
(그림 2) Compiler에 의한 MMO/MMD 생성 절차
2.2.1 SNMP MIB 처리
Wi-NMSTM는 SNMP MIB 컴파일러인 smc를 제공한
다.
(그림 3) Wi-NMSTM SNMP MIB 처리 절차
KNOM Review Vol. 8, No. 2, February 2006 3
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-NMSTM 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내에서 계층구조를 갖도록 하
기 위함이다.
(그림 4) model definition
3 Wi-NMSTM Adaptor 기술 3.1 Wi-NMSTM North-bound Interface
Wi-NMSTM 플랫폼의 상위 인터페이스는 RMI,
CORBA를 지원한다. 그리고 Manager는 get, set,
create, remove, getList 등 크게 다섯가지의
operation을 이용 MBeanServer에 접근하여 MBean을
관리하게 된다.
(그림 5) Wi-NMSTM North-Bound Interface
3.2 Wi-NMSTM South-bound Interface
Wi-NMSTM 플랫폼의 하위 인터페이스는 SNMP, TL1,
Message, CORBA, RMI 등 다양한 망 관리 인터페이
스를 지원한다. 이 인터페이스는 Adaptor 및
Convertor 기술을 이용하여 외부 정보모델을 MBean
으로 매핑하는 기술이다. 예를들어 SNMP의 경우
MIB은 MBean으로 재정의되고 Adaptor, Connector,
JMXConnector를 제공하는 SNMP Session을 통해 상
호 통신 및 Wi-NMSTM 플랫폼으로 운영될 수 있게 된
다.
(그림 6) Wi-NMSTM South-Bound Interface
Adaptor와 Convertor의 구성은 아래와 같다. public interface Adaptor {
public Adaptor getAdaptor(String adaptorName);
public Adaptor newAdaptor(String protocol)
KNOM Review Vol. 8, No. 2, February 2006 4
throws IOException;
}
public interface Convertor extends Adaptor {
public Name[] getNames(String ipAddress, String
interfaceName)
throws ConvertorException;
public void create(ManagedObjectImpl mo) throws
ConvertorException;
public void remove(ManagedObjectImpl mo) throws
ConvertorException;
public WMValue getAttribute(ManagedObjectImpl mo,
String attribute)
throws ConvertorException;
public AttributeList getAttributes (ManagedObjectImpl
mo, String[] attributes)
throws ConvertorException;
public void setAttribute(ManagedObjectImpl mo,
Attribute attribute)
throws ConvertorException;
public void setAttributes(ManagedObjectImpl mo,
AttributeList attributes)
throws ConvertorException;
}
4 Wi-NMSTM 서비스
Wi-NMSTM는 서비스 중심의 다양한 컴포넌트들이
서로 유기적으로 동작한다.
Wi-NMSTM의 Notification을 제외한 모든 서비스
는 MBeanServer 및 Web Server를 통하여 인터넷상
으로 제공한다. 그리고 Wi-NMSTM 플랫폼 밖에서 표
현되는 정보(SNMP, TL1, CORBA, SOAP, RMI 등)는
adaptor를 통하여 Wi-NMSTM 플랫폼내에서 MBean으로
정의되어 관리되어진다.
(그림 7) Wi-NMSTM 서비스
Wi-NMSTM 에서 제공하는 주요 서비스는 다음과 같다.
SMS : Fault 발생/해제에 대한 SMS 메시지
전송
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-NMSTM 사용자 인터페이스
Wi-NMSTM 의 사용자 인터페이스는 구성 정보를
Topology로 관리하고 장애 정보를 ACL 및 현재 장
애 테이블로 관리 할 수 있도록 하였다. 실시간으
로 장애를 표출 해야 하는 메인 페이지는 Java
Applet을 사용하여 구성하였으며 그 외의 망 관리
기능은 JSP 페이지로 구성하여 Applet 소스의 다운
로드 사이즈를 최소화 하였다.
(그림 8) Wi-NMSTM 메인 화면
5.1 구성 관리
구성 관리는 Topology Map 을 이용한 네트워크 감
KNOM Review Vol. 8, No. 2, February 2006 5
시 통제 관리 기능과 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기능을 수행 할 수 있도록
하였다.
(그림 9) House Keeping 화면
6 결론
Wi-NMSTM 플랫폼은 2003년도에 모다정보통신(주)
에서 1차 배포 후 현재 다양한 서비스 지원 및 JMX
1.2와의 호환성을 유지하였으며 컴파일러 기술을
적용하여 시스템 개발자로 하여금 빠르고 쉽게 구
축할 수 있는 제품으로 출시되었다.
Wi-NMSTM는 Web 기반의 편리한 사용자 인터페이
스를 제공하는 통합 망 관리 개발 플랫폼으로써
EMS 및 단기간에 여러 종류의 장비를 제어하는 안
정적인 통합 NMS를 구축 하는데 적용될 것으로 기
대된다.
모다정보통신(주)은 Wi-NMSTM 플랫폼에 대한 기
술지원 및 교육 그리고 메뉴얼 배포 등 다양한 정
보를 홈페이지(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
KNOM Review Vol. 8, No. 2, February 2006 6
김 형 진 1997.2 서울 산업대학교,
전자계산학과 학사
1999.2 숭실대학교
컴퓨터공학과 석사
1999.3 ~ 현재 모다정보통신㈜
<관심분야> 망관리, 컴파일러
기술, 홈네트워크, Embedded Software
정 은 주 1999.2 숭실대학교,
컴퓨터학부 학사
2000 ~ 2001 코넷엔지니어링㈜
2001~ 현재 모다정보통신㈜
<관심분야> Web기반 NMS 기술 ,
에이전트 기술
김 은 주 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
한국전자통신연구원 차세대인터넷 표준연구팀장,
책임연구원
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 기술, 망관리