1. SNMP (Simple Network Management Protocol)
ㅇ IP 네트워크 상의 각종 장비를 원격 감시(Monitoring) 및 관리(Management) 하기 위한 응용계층 프로토콜
- 네트워크 관리 시스템(Manager)과 관리 대상 장비(Agent) 간에 관리 정보를 교환하기 위한 표준 프로토콜
- 주로, UDP/IP 상에서 동작하는, 단순한 요청/응답(Request/Response) 기반의 네트워크 관리 프로토콜
2. SNMP 특징
ㅇ 매우 단순하고 구현 용이
- 매우 간단(구조의 간단함, 구현의 용이함 등)하여 쉽게 관리 적용이 가능
ㅇ 정보 지향적 동작 구조
- 명령 지향적 보다는 정보 지향적
. 특정 정보 변수에 대한 단순한 요청/응답 메카니즘 (Get / Set)
- 관리 대상은 MIB 객체(Object) 형태로 표현됨
ㅇ Manager/Agent(관리자/대리인) 형태로 동작
- Manager가, Agent에게 관리 정보를 요청하거나 설정
- Agent는, 장비 상태를 유지,관리하고 요청에 응답
ㅇ `관리 정보`와 `정보 전달(운반)` 기능의 분리
- 관리 정보는, SMI, MIB, OID로 정의
- 정보 전달은, SNMP 메시지와 UDP를 이용
ㅇ 비연결형 전송 방식
- UDP를 사용하므로 오버헤드가 작고 처리 속도가 빠름
. 신뢰성은 응용 계층에서 처리
3. SNMP 프레임워크
4. SNMP 프로토콜
ㅇ `정보 운반` 프로토콜
- 수송용 프로토콜 : UDP (User Datagram Protocol)
- 포트 번호 : 161번, 162번
. UDP 161번 : GetRequest,SetRequest 등 통상의 메세지
. UDP 162번 : 트랩 메세지
- 3가지 주요 동작 패턴 : Get, Set, Trap
. 관련 메세지 형식 ☞ SNMP 메세지 참조
. 관련 메세지 종류 ☞ SNMP 메세지 종류 참조
.. GetRequest, GetNextRequest, SetRequest, GetReponse, Trap 등
ㅇ `관리 정보` 프로토콜
- 정보 구조 : SMI 및 MIB 라는 다른 2개의 정보 구조를 설명하는 프로토콜과 함께 사용
. SMI (Structure of Management Information) : 관리정보구조
.. SNMP 관리 정보의 표현 구문 문법 등을 규정
.. `변수 작명`,`변수 유형`,`객체 및 값들을 부호화` 등의 규칙
.. 장비 마다 다르게 표현될 수 있는 MIB 객체의 표현 동질성을 유지하는 표준
. MIB (Management Information Base) : 관리정보저장소 (관리 대상을 규격화시킨 정보 모음)
.. 관리 특성을 묘사하는 변수 객체들의 모음
- 정보 식별 (망관리 대상 객체 식별 체계)
. OID : 트리 형태의 계층구조 (Tree Hierarchy)
.. MIB 내 정보 식별 체계
5. SNMP 장비
ㅇ Manager (NMS, Network Management System/Station)
- 관리하는 시스템 (호스트 등)
. 관리시스템 안에 탑재, 관리용 메세지를 에이전트에 요청 및 모니터링
.. Manager S/W, Management S/W(각종 관리용 응용 S/W)
.. 例) MRTG, HP OpenView, TWSNMP 등
ㅇ Agent (Managed Device)
- 관리되는 장비들 (허브, 라우터, 스위치, 브리지, 호스트 등)
. 관리되는 장치 안에 탑재되는 S/W 형태의 모듈
.. Agent S/W, MIB(Agent 노드에 수집되는 정보)
. 장비 동작에 필요한 변수,상태 정보 등을 데이터베이스화하여 유지함
6. SNMP 동작
ㅇ 동작 이해
- Manager는 Agent에게 관리정보 요청을 하고,
. Agent가 생산하는 관리정보(MIB) 데이터를 통하여 관리 역할을 수행
- Manager와 Agent의 상호 데이터 교환
. MIB 내 변수에서 읽기,쓰기(Get, Set) 명령과 가져오기(GetNext) 명령에 의함
ㅇ 3가지 주요 동작 패턴 : Get, Set, Trap
- SNMP 관련 메세지 형태 ☞ SNMP 메세지
. SNMP는 관리자와 에이전트 간에 주고받는 메세지 패킷의 형식을 정의함
- 기본 명령어 종류 ☞ SNMP 메세지 종류
7. SNMP 메세지
ㅇ SNMP 메시지는, (공통 헤더 + PDU)로 구성되며,
- 버전(v1, v2c, v3)에 따라, 헤더 구성은 크게 달라지고, PDU도 일부 종류와 필드가 추가됨
ㅇ 헤더 구성
- SNMPv1, SNMPv2c Header : (Version + Community String)
. 매우 단순, Community String으로 접근 권한 관리, 암호화 및 사용자 인증 기능 없음
- SNMPv3 Header : (Version + HeaderData + Security Parameters)
. 사용자 인증(USM), 암호화 지원(AES, DES 등)
ㅇ PDU 구성 : SNMPv1~v3 모두 기본 구조는 거의 동일
- 기본 구조 : (PDU Type, Request ID, Error Status, Error Index, Variable Bindings)
- 단, SNMPv3에서, Scoped PDU(영역화된 PDU) : 관리 대상(Context)이 지정된 PDU
. 기존 PDU 앞에 Context 정보(contextEngineID, contextName)를 붙인 것
. 하나의 Manager가, 여러 관리 영역(Context)을 구분하여 접근할 수 있도록 하기 위해 도입됨
ㅇ SNMP 메세지 문법 체계
- OSI가 표준화한 ASN.1/BER (Abstract Syntax Notation One/Basic Encoding Rule)
라는 문법체계를 따름
8. SNMP 표준
※ ☞ SNMP 관련 표준 참조
- SNMPv1, SNMPv2, SNMPv3