차세대 인터넷 망관리 기술 2000. 12. 12 이재용 연세대학교 전기전자공학과 jyl@nasla.yonsei.ac.kr 차세대 인터넷 ~2002 TCP/IP 기반의 유선 Web 응용 서비스 ~2005 QoS 제공 기반의 Web 응용 서비스 (Intserv/Diffserv) 개 인: ADSL (1.544Mbps) 사무실: 고속 LAN (10Mbps) 유·무선 고속 통합 인터넷 무선 인터넷 무선 모뎀 (64Kbps) IMT-2000 (128K ~ 2Mbps) All-IP 무선 인터넷 개 인: 6Mbps 사무실: 10Mbps Traditional SNMP Management Basic Functions Admin framework DB Server For Long-term Analysis NMS Functions handling MIB browser Applications Fault mgmt Configuration mgmt Accounting mgmt Performance mgmt Security mgmt Periodic polling Using SNMP Agent Agent Agent Device Device Device Other functions DB interface 차세대 인터넷 망 관리 요구사항 통합 망으로 인한 관리 망 크기의 증대 확장성 (Scalability) 새로운 서비스 출현으로 인한 서비스 관리 유연성 (Flexibility) End-to-End QoS 보장 관리 강인성 (Robustness) 고속화에 따른 관리 End-to-end Scope 분산 관리 Paradigm의 필요성 - 구조 •관리 통신 •Agent •Master - 관리 객체 분산 망 관리 동향 (1) 구조적 측면 OSF (Open Software Foundation) DME(Distributed Management Environment) IETF (Internet Engineering Task Force) AgentX (Agent Extensibility Protocol) ITU/TMN ODMA (Open Distributed Management Architecture) FIPA (Foundation for Intelligent Physical Agents)/OMG Mobile Agent 분산 망 관리 동향 (2) 관리 객체 측면 OMG CORBA (Common Object Request Broker Architecture) SUN etc. Java RMI(Remote Method Invocation) JMX(Java Management eXtension) IETF RMON I, RMON II Functional MIB (Expression MIB, Event MIB, Scheduling MIB) ITU Event Notification / M-Action WBEM Architecture Other Windows Management App Management App DCOM / XML DCOM / XML Managed Node Common Information Model (CIM) CIM Object Manager COM Object Providers XML Managed Objects CMIP CMIP Objects SNMP SNMP Objects RPC DMI Objects Win32 Win 32 Objects BMC software 구조 CORBA-based Inter-domain Manager Using Web HTML JAVA Applet JAVA Applet CORBA (Orbix Web) HTML(CGI) WEB Browser RMI CORBA – based Inter-domain Manager ORB CORBA/SNMP gateway CORBA/SNMP gateway SNMP Sub-domain Agent Agent Agent CORBA Sub-domain Agent Agent Agent CMIP Sub-domain Agent Agent Agent 망관리에서의 분산화 : Event Notification/M-Action NM client의 load를 줄여줌 Event filtering / Correlation NMS Notification 이 요구됨 M-Action Event 발생은 미리 작성된 Scenario에 의함 Event 발생에 대한 reaction Server Server Server Action 은 NMS에 의존하므로 신속한 대응 미흡 망관리에서의 분산화 : RMON Host a Host b Host c Interface 2 Subnet X RMON Probe NMS Subnet Y Interface 1 Host d Host e - Network-layer address에 근거한 통계자료 모음 (nlHOST) • Control table Subnet Spec Subnet Spec X Y RMON 1 - Subnetwork-wide 통계 제공 - Off-line 관리 (data gathering) - alarm defing and event reporting - frame filtering and capturing RMON 2 - End-to-End 통계자료 제공 • email, file transfer.www에 따른 응용계층 트래픽을 감시 • host들에서 특정 application의 트래픽을 기록 가능 단점 RMON 장비의 CPU, memory 낭비 • Data Table Host related statistics Host related statistics Host related statistics •• • # of input packets / octets # of output packets / octets 망관리에서의 분산화 : Mobile Agent Distributed Management : Management by Delegation (MbD) 지적능력을 스스로 갖고 새로운 프로세스를 만 들어 낼 수 있다 (Autonomy) NMS Script (code, data, state) Server간에 이동이 가능하다 (Mobility) (remote execution 또는 migration) Results Server Server 분산된 일을 server를 지나며 수행 가능 (Intelligence) 비동기적으로 망 관리 수행 가능 (Asynchronousity) 망 관리에서 확장성과 유연성을 중대시한다 표준화그룹 : FIPA, OMG MASIF Server Platform : Aglet,Concordia,grasshopper, Voyager * FIPA : Foundation for Intelligent Physical Agent * OMG : Object Management Group * MASIF : MOBILE Agent System Interoperability Facility Distributed Objects Common Object Request Broker Architecture Web-Based Enterprise Management Java Management eXtensions CORBA (1) Object Management Architecture standardized by OMG Joint Inter-Domain Management (JIDM) group Sponsored by Open Group and the TMF (Telecommunication Management Forum) Provide tools that enable management system based on CMIP, SNMP, and CORBA to work together. Provide CMIP/CORBA and SNMP/CORBA inter-working. Map between GDMO/ASN.1 and CORBA IDL. Map between SNMP SMI and CORBA IDL. CORBA (2) Manager Client (Caller) Object (Callee) Stub Skeleton Middleware(ex. ORB) SNMP CMIP IDL CORBA Objects Network ASN.1 Objects Object Request Broker (ORB) SNMP domain Web 기술과의 통합을 시도 Orbix Web from IONA CorbaWeb from academia GDMO Objects CMIP domain CORBA domain WBEM Desktop Management Interface(DMI)에서 제기됨 Web-Based Enterprise Management (WBEM) 초기에는 HMMS, HMMP, and HMOM로 구성됨 Drastic upheaval of WBEM Common Information Model (CIM) CIMOM이 HMOM을 대치. HTTP 과 XML 을 수용함. Current work Integrating CIM with CORBA and Java-based management. Developing SNMP/CIM, DMI/CMI, and CMIP/CIM gateway. Java technologies Java RMI Can be combined with Object Serialization. Management objects (SNMP or CMIS/CMIP objects) are mapped into distributed Java objects. JMAPI (Java Management API) Based on Java RMI Set of tools and guidelines to build management applets. Supports the most common SNMP MIB (MIB-II) JMX (Java Management eXtension) A management framework destined for object-oriented web-based management. SNMP API, WBEM API, (already specified) and TMN API (currently under definition) SNMP-to Java MIB compiler (translates the managed objects into MBean Component) JMX JMX Architecture Instrumentation level : give instant manageability to any object Agent level : provide management agent. Manager level : provide management component operating as manager or agent. JMX Components JMX Manageable Resource JMX Agent JMX Manager Services for management Addition Management Protocol APIs Interacting with other management environments. Key Component of JMX Proprietary Management Application Web Browser Proprietary Management Application Manager Level JMX Manager Protocol Adaptors Agent Level MBean Server Service Object 2 Instrumentation Level Object 1 Object 3 Java virtual machine MBean (registered in the server) Java virtual machine Plain JavaBeans Component (not registered) AgentX (Agent Extensibility Protocol) Motivation for AgentX Distributed management의 필요성 Hierarchical framework. Management applications의 분산된 agent에 대한 투명한 접근 Managed objects의 동적인 확장 MIB 장비로부터 SNMP protocol engine을 분리 MIB 구현 모듈의 동적인 추가 AgentX Framework Manager SNMP SNMP Entity AgentX Dispatcher AgentX Master-Agent Extensibility protocol SubAgent SubAgent SubAgent Master agent Agent 역할로서 SNMP 프 로토콜 메시지의 송수신. MIB에는 거의 직접적으로 접근하지 않음. Subagent(s) Master-agent에 의해 처 리되는 SNMP 메시지로부 터 “Shielded”됨. MIB을 직접 접근. AgentX Roles – Master Agent 기능 Subagent로부터 AgentX session 확립 요구를 받아들임. Subagent로부터 MIB region의 등록 접수 현재 등록된 MIB region에 따라, AgentX 프로토콜이 MIB에 접근 Subagent를 위해 notification을 전달해줌. AgentX Roles - Subagent 기능 Master-agent와 함께 AgentX session 시작 Master-agent에게 MIB region을 등록 등록된 MIB region내에서 OID와 실제 variable을 bind 시킴 Variable에 대한 관리 동작을 수행 관리 객체 (MO: Managed Object)를 초기화 시킴 Notification을 주도 Example: Management with AgentX Subagent From a manager’s point of view, an extensible agent behaves exactly as would a monolithic agent. Mail Server Email MIB AgentX NMS SNMP Subagent Master Agent AgentX MIB Registry WWW MIB AgentX The master agent is MIB ignorant and SNMP omniscient while the subagent is SNMP ignorant and MIB omniscient. WWW Server Subagent 10baseT Hub Repeater MIB AgentX Protocol Operations 18 Protocol operations are defined. 7 PDUs for Master agent Subagent direction 10 PDUs for Subagent Master agent direction 1 PDU for both Master agent and subagent. Master agent Subagent Get-PDU, GetNext-PDU, Get-Bulk-PDU, TestSet-PDU, CommitSetPDU, UndoSet-PDU, and CleanupSet-PDU. Subagent Master agent Open-PDU, Close-PDU, Register-PDU, Unregister-PDU, Notify-PDU, Ping-PDU, IndexAllocation-PDU, IndexDeallocation-PDU, AddAgentCaps-PDU, and RemoveAgentCaps-PDU. Both side Response-PDU OID Registration Subagents may register single instances: E.g., 1.3.6.1.2.1.25.1.2.0 = HOST-RESOURCESMIB.hrSystemDate.0 Subagents may register OID regions: E.g., 1.3.6.1.2.1.2.2.1.[1-22].7 = IF-MIB.ifIndex.7 – IFMIB.ifSpecific.7 Only a single subagent can be “authoritative” for a particular OID region. Priority values are used to identify the authoritative subagent if regions overlap. Transport Layer Mappings AgentX defines the following transport mappings: AgentX over TCP The master agent accepts TCP connection requests for the well-known port 705. Subagents connect to the master agent using 705 port number. AgentX over UNIX-domain Sockets The master agent creates a well-known UNIX-domain socket endpoint called “/var/agentx/master”. AgentX PDUs are not encoded using the BER They are transmitted as a contiguous byte stream. (Unlike SNMP PDUs) Security Considerations Community NMS USEC for v3 Master Agent No mechanism Subagent Agent session 동안 SNMP 보안 관련 정보가 subagent에게 전달되 는 방법이 없다. Implementations and Products JAX – A Java AgentX Sub-Agent Toolkit http://www.ibr.cs.tu-bs.de/projects/jasmin/jax.html CMU AgentX Implementation http://www.net.cmu.edu/groups/netdev/agentx/ Compaq True64 UNIX version5.0 mailto: daniele@zk3.dec.com Epilogue Envoy http://www.isi.com UC Davis, SNMP suites ucd-snmp.ucdavis.edu Frank Fock, Agent++ http://www.fock.de/agent++ AgentX Limitations Requires relatively complex operations on the master agent side in order to realize SNMP lexicographical ordering and access control efficiently. Only a single subagent can be “authoritative” for a particular OID regions. Only one network device which has same MIB can be managed at the same time. Security mechanism is not considered. Functional MIBs Expression MIB Event MIB Scheduling MIB Remote Operations MIBs Notification Log MIB Expression MIB expValueEntry expObjectEntry A table of object definitions for each Used by expExpressionEntry row (OID, wildcard…) A table of values from evaluated expressions Produce expExpressionEntry Result Information about a single expression (Interval, Prefix…) Produce Error expErrorEntry Information about errors in processing an expression 목적: 망관리 시스템에서 네트워크 트래픽 overhead를 줄이기 위함 MIB variable에 대한 expression computation 수행 Expression 구성시 3가지 MIB object sampling 형태 지원 absolute, delta, changed (boolean sampling). Event MIB 목적 MIB variable이 threshold를 지나치거나, 변화된 값을 가질 때 event를 발생시키기 위함 다른 MIB과의 관계 [RFC1757] RMON alarm, event group의 능력에 대한 superset 제공 [RFC1905] SNMPv2의 Manager-Manager MIB의 계승/보완 [RFC2573] SNMPv3 Management Target과 Notification MIB 의 서비스에 의존 [RFC2982] 분산 관리 Expression MIB을 보완한다. Scheduling MIB schedEntry schedOwner SnmpAdminString, schedName SnmpAdminString, schedDescr SnmpAdminString, schedInterval Unsigned32, schedWeekDay BITS, schedMonth BITS, schedDay BITS, schedHour BITS, schedMinute BITS, schedContextName SnmpAdminString, schedVariable VariablePointer, schedValue Integer32, schedType INTEGER, schedAdminStatus INTEGER, schedOperStatus INTEGER, schedFailures Counter32, schedLastFailure SnmpPduErrorStatus, schedLastFailed DateAndTime, schedStorageType StorageType, schedRowStatus RowStatus 목적 주기적 또는 주어진 날짜와 시 간에 수행될 action에 대한 scheduling 동작 Control object를 변경시켜 schedule을 enable/disable 시킴 다른 관리 기능에 의해 활성화/ 비활성화 되는 schedule을 미 리 구성할 수 있게 함. Remote Operations MIBs Ping MIB Remote host에서 관리 응용으로 하여금 Ping 수행 가능케 함. Traceroute MIB Remote host에서 Traceroute 수행케 함. Lookup MIB Remote host에서 Name lookup 가능케 함. Notification Log MIB 목적 Local loggin 기능의 형태로 다른 MIB에게 common infrastructure 제공 주로 sender의 Notification을 위해 사용되나 receiver도 사용 가 능. nlmLogEntry nlmStatsLogEntry nlmConfigLogEntry A table of Notification A table of logging log statistics entries statistics control entries. (logged or bumped) (entry limit, filter…) contains A table of Notification log entries (variables…) has nlmLogVariableEntry A table of variables to go with Notification log entries (values…) Script MIB Overview of the Script MIB(1) Defined in RFC2592 SNMP-compliant MIB Script MIB 분산된 장소로 Script 전달 Script를 위한 argument 전달 동작중인 script의 monitor, control이 원격으로 가능 Running script로 부터 결과 받음. Overview of the Script MIB(2) • Consists of six tables mib - II scriptMIB(mib-2 64) smObjects smLangTable smExtsnTable smScriptObject smScriptTable smCodeTable smRunObjects smLaunchTable smRunTable – – – – – – Language Extension Script Code Launch Run • OID is (mib-2 64) Table (1) Language Table Agent가 지원하는 언어 정보 제공. E.g. Java, and Tcl etc. Extension Table Language 확장에 대한 정보 제공 Local resource나 network protocol에 대한 interface제공 가능. Table (2) Script Table Script MIB을 지원하는 network 장비에 설치된 모든 script를 나 열 Script를 설치/제거, script 상태를 변경/읽기 등을 가능케하는 object 가짐. 지정된 URL로 부터 script를 Agent에 의해 영원히 설치되고, 받아 질 수 있음. Code Table SNMP set operation에 의해 Agent에게 script를 도착하게(push) 함. Table (3) Launch Table 준비된 script를 서술 List의 각 entry는 Script에서 전달된 argument Script 수행중의 신뢰도, 허가등을 나타냄. Run Table 최근 끝나거나, 돌고 있는 script list Manager로 하여금 동작되고 있는 script에 대한 정보 추출이나 제 어 가능케 함. Operations of Script MIB Manager Script Repository HTTP or other push script pull script smLangTable Java JDK1.1.8 Perl 5.004 ③ ① smScriptTable Preinstalled Preinstalled Dynamic -loaded Dynamic -loaded SNMP agent ② ⑤ ④ smLaunchTable smRunTable ⓢ Info Access ⓢ args secutiry Launch ⓢ args state result ⓢ Info Access ⓢ args secutiry Launch ⓢ args state result ⓢ Info Access ⓢ args secutiry Launch ⓢ args state result ⓢ Info Access ⓢ args secutiry Launch ⓢ args state result Network Node Applications of Script MIB Scripts as Agent Scripts as Mid-level manager Monitoring Service testing (QoS monitoring) Service management and control Fault handling Scripts as Agent Agent를 확장하거나 구현 표준 MIB로 부터 관리정보를 computing하는 서비 manager 스 제공 Agent의 확장성 제공. Launch script Retrieving result Internet Server Script Repository Polling Script MIB agent MIB-II (ex. tcpConnTable) response Scripts for monitoring Monitoring Detecting irregular condition Collecting accounting data More scalable The number of node to be monitored MIB objects per node Significantly decrease M : Manager A : Agent manager mid-level M manager A M A management traffic. Pre-process monitored data A A More flexible Easy to add nodes to be monitored Easy to modify the set of MIB objects monitored. A A Script for service testing Service testing (QoS monitoring) manager Checking the availability and the static and dynamic parameters of a given services. Internet Server Launch script Introducing new MIB module Lacks flexibility for new services Send test packet result Service testing by Script MIB Receive services MIB Agent User Rapidly adaptable to new situation. Script MIB agent is located where potential users are (differ from central manager). Script MIB can be installed on several remote location which require service monitoring. Script for service deployment and control Local mid-level managers can control server processes are running on the same node as the processes. Web server manager Download script Check service The Script MIB offers a convenient solution for the rapid development and installation of network services. example) Remote service deployment on programmable switch. Programmable switch Control network Scripts for fault handling Web server (repository) ②Choose manager Adequate script ③Install script ①Fault notification ④Execution ⑤Remove script Fault handlings can be distributed to mid-level manager as script. Central manager only required to decide which fault handling procedure to apply. Procedures ① ② ③ ④ ⑤ Fault identification Choose adequate script Install script Start and execute script Remove script References (1) Sun, “Java Management Extension White Paper,” http://java.sun.com/products/JavaManagement WBEM Initiative, Online: http://www.dmtf.org/wbem CORBA, Online: http://www.omg.org/ M. Daniele et al., “Agent Extensibility (AgentX) Protocol Version 1,” , RFC2741, January 2000. L. Heintz et al., “Definitions of Managed Objects for Extensible SNMP Agents,” , RFC2742, January 2000. R. Kavasseri and Bob Stewart, “Event MIB,” , RFC2981, October 2000 R. Kavasseri and Bob Stewart, “Distributed Management Epression MIB,” , RFC2982, October 2000. References (2) Bob Stewart and Ramanathan R. Kavasseri, “Notification Log MIB,” , internet draft, draft-ietf-disman-notif-logmib-16.txt, February 2000. Kenneth White, “Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations,” , RFC2925, September 2000. D. Levi and J. Schönwälder, “Definitions of Managed Objects for Scheduling Management Operations,” , RFC2591, May 1999. D. Levi and J. Schönwälder, “Definitions of Managed Objects for the Delegation of Management Scripts,” , RFC2592, May 1999 References (3) J Schönwälder, “Emerging Internet Management Technologies,” IM’99 Tutorial, 1999. Jürgen Schönwälder, Jürgen Quittek and Cornelia Kappler, “Building Distrubuted Management Applications with the IETF Script MIB,” IEEE Journal on Selected Areas in Communications, vol. 18, no. 5, May 2000. David Levi, “Introduction to the Script MIB,” Simple Times, vol. 7 no. 2, Nov. 1999. Éamonn McManus, “Script MIB Implementation Experience,” Simple Times, vol. 7 no. 2, Nov. 1999. Frank Strauß, “Script MIB Performance Analysis,” Simple Times, vol. 7 no. 2, Nov. 1999. Jürgen Quittek and Cornelia Kappler, “Practical Experiences with Script MIB Application,” Simple Times, vol. 7 no. 2, Nov. 1999.