430 likes | 922 Views
SNMP. 정 현 배. Network Management. 전산자원의 중요성 증대 복잡해진 네트워크 관리구조 다양한 프로토콜 , 네트워크 구성 인터페이스로 인해 네트워크 복잡 서비스 개선 고속의 서비스와 안정적인 서비스 요구 사용자의 다양한 요구충족 성능 , availability, 보안등의 사용자 요구 자원의 활용성 증대 분산된 네트워크 자원의 활용성을 모니터링 , 제어. Network Management System.
E N D
SNMP 정 현 배
Network Management • 전산자원의 중요성 증대 • 복잡해진 네트워크 관리구조 • 다양한 프로토콜, 네트워크 구성 인터페이스로 인해 네트워크 복잡 • 서비스 개선 • 고속의 서비스와 안정적인 서비스 요구 • 사용자의 다양한 요구충족 • 성능, availability, 보안등의 사용자 요구 • 자원의 활용성 증대 • 분산된 네트워크 자원의 활용성을 모니터링, 제어
Network Management System • 네트워크상의 자원들을 모니터링 하고 제어하기 위한 도구로 네트워크 관리 정보를 입력받아 적당한 관리 동작 Monitor information Reporting Network Management System Control information Management operation
Network Management System구조 • Manager-agent 구조 • Agent : 각각의 네트워크 자원에 대한 정보를 수집(네트워크 자원에 있는 프로그램) • Manager : 각각의 agent가 관리하는 정보를 수집해 전체적인 정보를 관리하는 시스템 manager Hub gateway agent agent workstation agent
Network Monitoring • NMS를 이용한 네트워크 자원들의 상태를 관찰하는 것 • agent의 내용을 manager에게 전달 • 모니터링 정보 • Static information • 네트워크 구성, 구성 요소와 같은 쉽게 변하지 않는 정보 (port 번호 등) • Dynamic information • 네트워크 상태와 event에 의해서 변하는 정보 (패킷의 전송량, 에러 개수 등) • Statistical information • 동적 정보의 통계치 (평균 전송량)
Network Monitoring • 모니터링 방법 • Polling • Request – response 방식 • Manager가 agent에게 원하는 정보 요구 agent 응답 • SNMP에서 정보를 교환하는 주된 방법 • Event reporting • Manager의 요구 없어도 agent가 정보를 보내는 방법 • 특별한 event가 발생했을 경우에 사용 • SNMP에서는 trap이라 함
Network Monitoring • 모니터링 방법 manager agent manager agent request trap response Polling Event reporting
Network Management • 모니터링에 의한 관리 • 결함관리(fault management) user user Fault management manager Remote system Data network
Network Management • 모니터링에 의한 관리 • 결함관리(fault management) • 결함 처리과정 • 결함이 발생한 위치 파악(detect) • 결함이 발생한 부분을 격리(isolate) • 네트워크를 변경, 재구성(reconfigure) • 결함일으킨 구성요소 수리, 교체(repair)
Network Management • 모니터링에 의한 관리 • Accounting management • 네트워크 자원에 대한 utilization 정보를 얻기 위해 사용용도에 따른 quota할당, 사용자를 구분(identify)해서 사용자별로 관리내역 기록 • 자원의 사용정도에 따른 이용료를 부과하기 위해 필요한 기능
Network Management • 모니터링에 의한 관리 • 성능 관리(performance management) • 네트워크 장비들과 링크에 대한 활용도를 조사, 가장 효율이 높은 경로를 찾거나, 성능 저하가 있는 부분을 찾아 문제를 해결하는 기능 • 네트워크 성능을 측정하기 위한 지표 • 가동률(availability) • 응답시간(response time) • 정확도(accuracy) • 처리량(throuput) • 효율(utilization)
Network Management • 네트워크 제어 의한 관리 • 네트워크 관리와 연관된 여러 가지 설정 값을 변화시키고 각 자원에 대한 관계를 정의 • 구성관리(configuration management) • 관리하려는 대상을 정의, 대상들간의 관계를 설정해서 관리자가 관리대상의 설정을 바꾸거나 관리정보를 가져오는 것을 쉽도록 도와주는 기능 • 구성정보의 정의 • 네트워크 자원들에 대한 규격, 상태, 속성 등을 정의 • 속성 값의 설정 • 자원간 관계의 정의 • 자원간의 물리적인 연결성이나 포함관계, 상태 등을 정의
Network Management • 네트워크 제어 의한 관리 • 보안관리(security management) • 허용되지 않은 사용자들이 자원을 사용하는 것 방지 • 보안관리의 고려사항 • 비밀성(secrecy) • 권한이 있는 사용자만 access하도록 함 • 무결성(integrity) • 정보를 아무나 변경시키지 못하도록 함 • 사용가능성(availability) • 정보를 사용할 수 있는 권한을 사용자별로 제한
Network Management • 네트워크 제어 의한 관리 • 보안관리(security management) • 허용되지 않은 사용자들이 자원을 사용하는 것 방지 • 보안관리를 위한 기능 • 데이터를 암호화 • 암호화에 필요한 키를 생성하고 분산시켜 관리 • 사용자 인증(authentication) • 네트워크 자원에 대한 access권한을 제어 • 보안정보와 감사정보 (audit records or security logs) 를 모아 저장 점검
네트워크 관리 정보의 정의, 표현방법 • SMI(Structure Management Information) • 관리대상이 되는 object를 정의하기 위한 schema • Object가 가질 수 있는 다양한 type과 서로 다른 object를 구분 짓기 위한 index로 MIB의 뼈대 • MIB(Management Information Base) • NMS가 관리하는 객체를 정의하고 객체의 특성을 기술해 놓은 데이터 베이스 • SMI의 기초아래 정의 • Tree구조로 구성, 관리되는 객체를 leaf 노드라 함
네트워크 관리 정보의 정의, 표현방법 • ASN(Abstract Syntax Notation) • 시스템에 따라 사용하는 바이트 순서와 표현하는 방법이 다르기 때문에 하나의 시스템에 의존적인 언어나 기계어로 SMI와 MIB를 표현하면 다른 시스템과 호환이 안됨 • 호환 문제를 해결하기 위한 객체의 표준 표현방식 • 데이터를 표현하기 위해 일반적인 데이터 구조를 가진 단순한 형태의 문법으로 이루어진 언어 • 변환규칙(Encoding rules) • ASN으로 정의된 SMI와 MIB의 내용을 상대방 시스템에 전달하기 위해 데이터를 상대방 시스템에 사용할 수 있는 형태로 변환 • Octet형태의 배열로 변환, Octet형태의 데이터를 원래의 ASN형태로 변환가능 (decoding)
SNMP(Simple Network Management Protocol) • 주로 TCP/IP를 관리하는데 사용되는 단순한 프로토콜 • 현재 가장 널리 사용 • 1988년 draft로 상정 • 1990년 인터넷 관리 프로토콜의 표준으로 제정 • 그 후 대부분의 workstation과 bridge, router, switch, hub등 네트워크 장비에 SNMP agent가 장착
SNMP(Simple Network Management Protocol) • SNMP관리체제의 구조 • Agent-Manager 구조 manager
SNMP(Simple Network Management Protocol) • SNMP관리체제의 구조 • TCP/IP의 Application layer에 위치 • UDP이용 161, 162포트통해 메시지 교환 request Manager process Agent process response SNMP SNMP UDP UDP IP IP Link Layer Link Layer
SNMP(Simple Network Management Protocol) • SNMP관리체제의 구조 • SNMP메시지 종류 • Manger가 agent에 질의하면 agent는 응답을 return하는 형식 메시지 종류 Get-request Get-next-request Set-request Get-response Trap 설명 Agent가 관리하는 MIB자료를 하나 가져올 것을 요청 Agent가 관리하는 MIB자료를 순차적으로 여러 개 가져올 것을 요청 Agent가 관리하는 MIB자료의 값을 설정 Manager의 질의에 대한 결과를 return Agent에 특별한 이벤트가 발생한 경우 이를 manager에게 알림
SNMP(Simple Network Management Protocol) • SNMP관리모형 • SNMP메시지 종류 Port:161 Get-Request SNMP Manager SNMP Agent Get-Next-Request Port:161 Set-Request Port:161 Get-Response Port:161 Port:162 Trap
SNMP(Simple Network Management Protocol) • SNMPMIB • SMI(RFC1155) • SNMP MIB를 정의하기 위한 일반적인 구조 • ANS.1 문법에 따라 객체들은 각각의 이름과 표기 문법, 다른 시스템으로의 전송을 위한 인코딩규칙등을 가짐 • O-ID(Object identifier) • MIB내에서 관리객체를 유일하게 지정하는 식별자 • 객체가 구성하는 tree에 따라 할당되는 일종의 디렉토리 • 계층구조이므로 항상 자신의 이름과 번호를 가지고, 자신의 부모를 가짐 directory OBJECT IDENTIFIER ::= { internet 1 } O-ID이름 Parent O-ID O-ID번호 directory : iso.org.dod.internet.directory directory : 1.3.6.1.1
SNMP(Simple Network Management Protocol) • SNMPMIB • SMI(RFC1155)
SNMP(Simple Network Management Protocol) • SNMPMIB • SMI(RFC1155) • directory : OSI directory(X.500)에서 사용하는 객체들 • mgmt : IAB에서 승인하에 정의된 객체들(mib-2, rmon등 네트워크 객체들) • experimental : 인터넷에서 실험적인 객체들 • private : 특정한 목적으로 독립적으로 사용되는 객체들
SNMP(Simple Network Management Protocol) • SNMPMIB • SMI(RFC1155) • Data Type • MIB의 객체를 정의하기 위한 데이터 형 • Networkaddress : 네트워크 인터페이스 카드마다할당되는 주소를 표현 • Ipaddress : 32-bit의 ip 주소를 표현 • Counter : 0 ~ (2^32)-1까지 증가하는 데이터형 • Guage : 0 ~ (2^32)-1까지 증가혹은 감소 • Timeticks : 어느 시점까지 수백 초의 시간을 카운트 하는 계수기 • Opaque : 임의의 데이터형
SNMP(Simple Network Management Protocol) • SNMPMIB • CMIB(Concise MIB RFC1212) • 보통의 데이터 type과 값을 묶어서 Macro형을 정의 • SNMP에서 관리하는 실제 객체의 구조는 Macro형 • Object type • MIB에서 관리하는 객체의 구조 • Syntax : 객체의 abstract syntax 종류 • Access : 객체에 access 할 수 있는 권한, • read-only, read-write, write-only, not-accessible • Status : 구현된 MIB객체에 대한 지원상태. 상태에 따른 4가지 옵션 • Value notation : syntax에 해당하는 실제 값
SNMP(Simple Network Management Protocol) • SNMPMIB • MIB-II(RFC1212) • SNMP프로토콜이 나온 후로 첫번째로 나온 MIB • TCP/IP상에서 관리되어야할 객체들에 대한 정의 • O-ID mib-2밑에 위치한 10개의 그룹 • system : 시스템에 대한 전반적인 정보 • interface : 네트워크 인터페이스의 정보 • at : address translation table에 관한 정보 • ip : 시스템에서 IP와 관련된 정보 • icmp : ICMP와 관련된 정보 • tcp : TCP와 관련된 정보
SNMP(Simple Network Management Protocol) • SNMPMIB • MIB-II(RFC1212) • udp : UDP와 관련된 정보 • egp : EGP와 관련된 정보 • dot3 : 인터페이스 전송방법과 프로토콜정보(deprecated) • snmp : SNMP와 관련된 정보 • 각 그룹은 단순 변수를 가지고, 단순변수가 실제의 값을 가진다
SNMP(Simple Network Management Protocol) • SNMPMIB • MIB-II(RFC1212) • udp : UDP와 관련된 정보 • egp : EGP와 관련된 정보 • dot3 : 인터페이스 전송방법과 프로토콜정보(deprecated) • snmp : SNMP와 관련된 정보
SNMP(Simple Network Management Protocol) • SNMP 메시지 형식 • Community • 인증, 접근방침, proxy의 특성을 정의하는 하나의 agent와 여러 manager사이의 관계이며, 각 agent를 기준으로 정의 • 한 agent는 여러 community를 가질 수 있으나 그 agent내에서 community각각의 이름은 서로 달라야 하고, 서로 다른 agent가 같은 이름의 community를 사용할 수 있음 • Community의 이름은 패스워드의 역할을 하므로 manager로 부터의 모든 메시지는 이름을 포함해야함
SNMP(Simple Network Management Protocol) • SNMP 메시지 형식 manager agent Get sysDescr, community=‘public’ Community 검사 관례적으로 공개하는 MIB 객체나, 동작에 대해서는 ‘public’ community를 사용하고, SET과 같은 쓰기 동작이나 private에 대해서 비밀의 community를 적용 OK, my sysDescr=‘Cisco router’ Set sysDescr=‘bridge’, community=‘public’ Community 검사 Not allowable, community incorrect
SNMP(Simple Network Management Protocol) • SNMP 메시지 형식 • Access policy • 각각의 community마다 MIB에 대한 각각 다른 형태의 권한으로 접근을 제어 MIB Access SNMP Access Mode Category READ-ONLY READ-WRITE READ-ONLY Get과 Trap연산 가능 Get, Set, Trap연산 가능 READ-WRITE Get, Trap이 가능하고 Get, Set, Trap연산이 가능 그 값은 구현에 따라 하고 Get, Trap시 값은 구현 달라짐 에 따라 달라짐 Not-Accessible 사 용 불 가
SNMP(Simple Network Management Protocol) • SNMP 메시지 형식 • Proxy 서비스 • SNMP나 TCP/IP를 지원하지 않는 관리 대상을 위한 agent를 말하는 것으로 자신이 대신하는 관리 대상에 대한 SNMP접근 방침이나 인증서비스를 제공
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) IP datagram UDP datagram SNMP message common snmp header Get/Set snmp header Variable to Get/Set IP header UDP header Version community PDU type request ID error status error index name value …
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) • request-ID • 각 request 마다 유일한 ID를 주어 request를 구별 • error-status • Request를 처리하는 도중 발생한 예외를 명시 • error-index • 기본적으로 0,0이 아닌 경우 에러원인에 대한 부가 정보를 제공 • Variable binding • Request 에 따른 변수의 리스트 (보통 O-ID와 해당 값)
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) PDU type request ID 0 0 name value … GetRequest, GetNextRequest, SetRequest PDU variablebindings PDU type request ID error- status error- index name value … GetResponse PDU variablebindings PDU type request ID agent- addr generic- trap specific- trap time- stamp … GetRequest, GetNextRequest, SetRequest PDU variablebindings
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) • Trap • agent-addr • Trap을 생성하는 object의 ip주소 • generic-trap • 미리 정의된 7가지 trap형식 중 하나 • specific-trap • 더 세분히 trap의 본성을 나타내는 코드 • time-stamp • Tramp을 일으키는 네트워크 object의 마지막 초기화 될때와 trap설정 사이의 시간
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) • Trap • variable-binding • trap과 관련된 추가 정보, 구현 때 마다 이 필드의 중요성은 달라짐
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) • Trap • General-trap의 7가지 값 • coldStart (0) • 송신하는 SNMP개체는 에이전트의 구성이나 프로토콜 개체의 구현이 변경되는 경우에 스스로 재초기화 할 수 있음, 충돌이나 주요결함에 의한 예기치 않은 재시작 • warmStart (1) • 송신하는 SNMP개체는 에이전트의 구성이나 프로토콜 개체의 구현이 변경되는 경우에 관계없이 스스로 재시작 할 수 있음, 정해진 재시작
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) • Trap • General-trap의 7가지 값 • linkDown (2) • 에이전트의 통신 링크 중 하나에 결함이 생겼음을 알림, Variable binding의 처음은 참조하고자 하는 인터페이스의 ifIndex의 이름과 값 • linkUp (3) • 에이전트의 통신 링크가 가동되었음을 알림, Variable binding의 처음은 참조하고자 하는 인터페이스의 ifIndex의 이름과 값
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) • Trap • General-trap의 7가지 값 • authenticationFailure (4) • 송신하는 프로토콜 개체가 인증에 실패했다는 메시지를 받았음을 알림 • egpNeighborLoss (5) • 송신 개체가 EGP의 동료일 때 EGP 이웃이 사라졌거나 이웃 관계가 더 이상 존재하지 않을 때 이를 알림
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) • Trap • General-trap의 7가지 값 • enterpriseSpecific (6) • 송신 프로토콜 개체가 어떤 사업에 소속된 사건이 발생했음을 인식했다는 것을 알림 • Trap PDU는 다른 PDU와 달리 응답 메시지를 이끌어 내지 않음
SNMP(Simple Network Management Protocol) • PDU(Protocol Data Unit, 패킷) GetRequest PDU SetRequest PDU GetResponse PDU GetResponse PDU GetNextRequest PDU GetResponse PDU Trap PDU