본문 바로가기

Network Management System

SNMP MIB

SNMP로 장비를 운용하려면 그 장비가 지원하는 관리 대상 정보의 집합, 이를 보통 MO(Managed Object)라 부르는데 이에 대한 정의가 필요합니다. SNMP에서는 MIB(Management Information Base)으로 정의됩니다. SNMP를 지원하는 장비라면 Feature에 어떤 MIB을 지원하는지 명기하고 Manager는 그 MIB을 바탕으로 정보를 수집할 수 있습니다.

이번 포스트에서는  MIB에 대해 간단하게 알아보겠습니다.

 

MIB 개요

MIB은 ASN.1 Syntex로 작성되는 Text 파일입니다. 표준 Syntex이기 때문에 작성된 파일만 있으면 표준 MIB이든 Private MIB이든 모두 해석할 수 있습니다.

 

RFC 1213(MIB-2)를 예로 들면 아래와 같이 하나의 Objet는 정의되어 있습니다.

          sysUpTime OBJECT-TYPE
              SYNTAX  TimeTicks
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The time (in hundredths of a second) since the
                      network management portion of the system was last
                      re-initialized."
              ::= { system 3 }

SNMP OID

Manager와 Agent가 SNMP로 통신하며, GET/SET Operation을 수행할 때 어떤 Object를 GET/SET 할지 상호 간 특정해야 하는데 이에 필요할 것이 OID 값입니다. 

OID는 계층 구조를 갖고 있고 전 세계 모든 장비에서 유일한 값을 갖습니다. 즉 위의 sysUpTime이라는 Object를 정의한 OID는 1.3.6.1.2.1.1.3 으로 정의되어 SNMP PDU에 전달됩니다.

 

RFC 1213을 통해 OID 값을 알아보면

mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } 

mgmt는 1.3.6.1.2 값으로 사전에 정의되어 있습니다. RFC 1213은 mib-2로 mgmt 하위에 1의 값으로 정의되어 있습니다.

즉, mib-2의 OID는 1.3.6.1.2.1 이 됩니다.

 

system OBJECT IDENTIFIER ::= { mib-2 1 }

system은 mib-2 하위에 1의 값으로 정의됩니다. 즉, OID는 1.3.6.1.2.1.1이 됩니다.

 

sysUpTime ::= { system 3 }

sysUpTime은 system 하위에 3의 값으로 정의되어 있습니다. OID 값은 1.3.6.1.2.1.1.3이 됩니다.

 

MIB OID는 성격에 따라 아래와 같이 두 가지 타입으로 정의할 수 있습니다.

  • Scalar: 하나의 값(instance)
  • Table: 여러 개의 값(instance), index 필요

Scalar의 경우 OID에 .0을 추가해서 해당 값을 읽을 수 있습니다.

Table의 경우는 여러 값이 있기 때문에 읽을 값의 Index가 필요합니다. (가령 LAN Port가 여러 개일 경우 어떤 Port의 정보를 읽을지 지정)

 

Syntex

MIB을 작성하는 Guide는 rfc4181을 참고하면 되는데 이미 작성된 표준 MIB을 참조해서 작성하면 어렵지 않게 작성할 수 있습니다. 보통 MIB 파일을 에디터로 열어보거나 Brower와 같은 툴을 이용해서 볼 때 아래 두 가지 값을 주로 봅니다.

 

SYNTEX : Data Type으로 생각하면 됩니다.

ACCESS : read-only, read-write, read-create 로 읽고 쓸 수 있는지 알 수 있습니다.

 

 

 

 

'Network Management System' 카테고리의 다른 글

Rsyslog Template: 호스트별(IP) 파일 생성  (0) 2021.03.09
Rsyslog 템플릿 (Template)  (0) 2021.03.08
Rsyslog Properties  (0) 2021.02.14
RSyslog Configuration 설정  (0) 2021.02.13
Rsyslog 개요  (0) 2021.02.13