529. MIB (Management Information Base) / OID (Object Identifier)

핵심 인사이트: SNMP 매니저가 라우터에게 "너 온도 몇 도야?"라고 한글로 물어볼 수는 없다. 세상의 모든 네트워크 장비 정보를 트리 구조로 분류하고(MIB), 그 정보마다 .1.3.6.1.4.1.9... 같은 고유한 번호표(OID)를 붙여 통신하는 것이 바로 SNMP의 언어 체계다.

Ⅰ. MIB (Management Information Base)의 개념

SNMP 환경에서 관리 대상 장비(Agent)가 보유하고 있는 모든 관리 정보(예: CPU 점유율, 메모리 사용량, 포트 상태 등)를 트리(Tree) 구조로 체계적으로 분류해 놓은 데이터베이스입니다. 제조사나 장비 종류와 무관하게 전 세계 모든 장비가 공통된 트리 구조(Standard MIB)를 따르며, 제조사별 특화 기능은 트리 밑바닥에 따로(Private MIB) 붙여서 확장합니다.

Ⅱ. OID (Object Identifier)의 개념과 구조

MIB 트리의 각 노드(정보 단위)에 접근하기 위해 부여된 고유한 점(Dot) 구분 숫자 주소 체계입니다. 마치 인터넷의 도메인 이름(DNS)이나 컴퓨터의 파일 경로(C:\Windows...)와 똑같은 원리입니다.

[ MIB 트리와 OID 체계 예시 ]

Root ( . )
 └── iso (1)
      └── org (3)
           └── dod (6)
                └── internet (1)
                     ├── mgmt (2) ──▶ mib-2 (1) ──▶ system (1) ──▶ sysName (5)
                     │                            (장비 이름의 OID: .1.3.6.1.2.1.1.5)
                     │
                     └── private (4) ──▶ enterprises (1) ──▶ cisco (9)
                                                  (시스코 장비 온도: .1.3.6.1.4.1.9.9.13...)

Ⅲ. Standard MIB vs Private MIB

  • Standard MIB (.1.3.6.1.2.1...): IETF가 정의한 전 세계 공통 표준 주소입니다. 모든 장비 제조사는 필수적으로 시스템 이름, 인터페이스 포트별 트래픽 상태(IF-MIB) 등을 이 주소 하위에 매핑해 두어야 합니다.
  • Private MIB (.1.3.6.1.4.1...): 시스코(9), 주니퍼(2636) 등 각 벤더가 자사 장비만의 고유한 정보를 담기 위해 할당받은 주소 공간입니다. (예: 시스코 스위치 전용 온도 센서 정보)

Ⅳ. 동작 예시 (SNMP Get)

NMS 매니저 화면에 스위치의 이름을 띄우고 싶다면, 매니저는 Get Request 메시지에 OID = .1.3.6.1.2.1.1.5를 담아서 에이전트에게 쏩니다. 그러면 에이전트는 MIB 트리에서 해당 OID를 찾아 "Core-Switch-01"이라는 값을 Response로 반환합니다.

📢 섹션 요약 비유: 큰 병원의 '진료 기록 차트(MIB)'와 '분류 번호(OID)'입니다. 의사가 간호사에게 "그 환자 위장 상태 어때?"라고 뭉뚱그려 묻지 않고, "국제 질병 코드표(MIB)에서 .1.3.6.위장.염증수치 항목(OID) 값 좀 읽어줘"라고 정확한 주소를 불러주는 체계적인 방식입니다.