SNMP로 네트워크 장비 상태와 장애를 관리하는 방법
SNMP의 Manager·Agent·MIB 구조, OID와 트랩, 버전별 보안 차이와 네트워크 모니터링 운영 고려사항을 정리한다.
2026-08-14 · 최초 발행 2025-08-10
장비의 상태 정보를 모으고 장애를 알리는 SNMP
SNMP(Simple Network Management Protocol)는 네트워크 장비를 관리하고 모니터링하기 위한 표준 프로토콜이다. 1988년 처음 개발된 뒤 네트워크 관리의 핵심 요소로 쓰여 왔으며, 현재 v1부터 v3까지 버전이 존재한다.
응용 계층에서 동작하며 일반 메시지에는 UDP 161, 트랩 메시지에는 UDP 162를 사용한다. 장비 모니터링, 구성 관리, 장애 감지, 성능 분석이 주요 용도다.
Manager, Agent, MIB가 맡는 역할
네트워크 관리 시스템인 Manager는 Agent에 정보를 요청하고 결과를 수신한다. Agent는 라우터, 스위치, 서버 같은 관리 대상 장비에서 실행되며 장비 상태를 수집해 제공한다. MIB(Management Information Base)는 관리 대상의 속성을 체계적으로 분류한 데이터베이스다.
OID로 찾는 MIB 객체
MIB는 관리 객체를 계층형 트리로 구성한다. 각 객체에는 OID(Object Identifier)가 부여되며, OID는 점으로 구분한 숫자 시퀀스로 표현한다. 예를 들어 1.3.6.1.2.1.1.3처럼 표시한다.
각 숫자는 트리 안의 특정 레벨과 노드를 가리킨다. MIB-II, RMON MIB 같은 표준 MIB가 있고, 제조사 고유 기능을 다루기 위한 벤더 전용 MIB도 사용된다.
조회와 설정 변경에 쓰는 요청/응답
Manager는 Agent에 특정 정보를 조회하거나 설정값 변경을 요청할 수 있다.
- GET: 특정 MIB 객체의 값을 요청한다.
- GET-NEXT: MIB 트리에서 다음 객체의 값을 요청한다.
- GET-BULK: v2c 이상에서 여러 객체의 값을 한 번에 요청한다.
- SET: 특정 MIB 객체의 값을 설정하거나 변경한다.
이벤트를 먼저 보내는 Trap과 INFORM
장애나 상태 변화가 발생했을 때는 Agent가 Manager에 자발적으로 알림을 보낸다. 네트워크 장애, 임계값 초과, 상태 변경 같은 이벤트를 실시간으로 감지하고 대응하는 데 쓰인다. SNMPv2는 수신 확인이 가능한 INFORM 메시지를 도입했다.
보안과 처리 범위가 달라진 버전
SNMPv1은 RFC 1157로 1990년에 표준화된 최초 버전이다. 커뮤니티 스트링을 이용한 단순한 인증 방식과 제한된 오류 처리 기능을 제공하며, 32비트 카운터만 지원한다. 대량 데이터 검색도 비효율적이다.
SNMPv2c는 RFC 1901-1908로 1996년에 등장했다. GET-BULK로 대량 데이터 검색 효율을 개선했고, 64비트 카운터를 지원해 고속 인터페이스 모니터링을 개선했다. INFORM 메시지도 도입했지만, 보안은 여전히 커뮤니티 스트링 기반이라 취약하다.
SNMPv3는 RFC 3411-3418로 2002년에 정리되면서 보안 기능을 강화했다. 메시지 발신자를 확인하는 인증, 메시지 내용을 보호하는 암호화, 세부 권한을 설정하는 접근 제어, 메시지 무결성 검증을 제공한다. 사용자 기반 보안 모델(USM)도 포함한다.
모니터링 시스템에서 수집하는 정보
대규모 기업 네트워크에서는 CPU 사용률, 메모리 상태, 온도 같은 장비 상태를 실시간으로 모니터링할 수 있다. 인터페이스별 트래픽 양, 패킷 오류율, 대역폭 사용률을 분석하고, 임계값 초과 시 관리자에게 알림을 보낼 수도 있다. 장기 트래픽 추세는 네트워크 확장 계획을 세우는 자료가 된다.
국내 주요 통신사 A사는 전국 네트워크 인프라를 SNMP로 관리한다. 수천 대의 라우터와 스위치를 중앙에서 통합 관리하고, 트랩 기반 실시간 장애 감지 시스템으로 평균 장애 대응 시간을 60% 단축했다. SNMPv3 암호화를 적용해 보안 위협에 대응하며, 자동화된 구성 관리로 인적 오류를 90% 줄였다.
클라우드 서비스 제공업체 B사의 데이터센터에서는 서버, 스토리지, 네트워크 장비처럼 서로 다른 장비를 통합 모니터링한다. SNMP로 전력 사용량과 냉각 시스템 상태를 확인하고, 실시간 성능 지표 수집·분석과 장애 예측 시스템 연동으로 사전 대응 체계를 구성한다.
운영 환경에서 먼저 점검할 항목
SNMP에는 보안 취약점이 있으므로 가능하면 인증과 암호화를 지원하는 SNMPv3를 사용한다. v1과 v2c를 써야 한다면 복잡한 커뮤니티 스트링을 설정하고, ACL(Access Control List)로 접근을 제한해야 한다. 접근 권한은 읽기 전용(read-only)을 우선 적용하고, 쓰기 권한은 필요한 경우에만 제한적으로 부여한다. 방화벽을 이용한 SNMP 트래픽 필터링도 필요하다.
대규모 네트워크에서는 폴링 간격이 지나치게 짧아져 네트워크 부하가 커지지 않도록 조정한다. 분산형 관리 시스템을 포함한 계층적 관리 구조, 중요도에 따른 모니터링 대상 구분, 효율적인 트랩 처리 메커니즘, 데이터 저장과 분석 인프라도 함께 설계 대상이다.
SNMP를 다루는 도구
상용 NMS(Network Management System)로는 HP OpenView/Network Node Manager, IBM Tivoli NetView, SolarWinds Network Performance Monitor, Cisco Prime Infrastructure가 있다.
오픈소스 도구에는 Nagios, Zabbix, Cacti, LibreNMS, MRTG(Multi Router Traffic Grapher)가 포함된다. SNMP 요청을 테스트하거나 디버깅할 때는 snmpwalk, snmpget, snmpset, Net-SNMP 유틸리티를 사용할 수 있다.
SNMP만으로 다루기 어려운 영역
SNMP는 대용량 데이터 전송에 비효율적이고, 복잡한 네트워크 구성 관리에는 제한이 있다. 실시간성을 완벽하게 보장하지 못하며, 특히 v1과 v2c에서는 보안 이슈도 남는다.
구성 관리에는 XML 기반 네트워크 구성 관리 프로토콜인 NETCONF/YANG을 사용할 수 있다. 고성능 원격 프로시저 호출에는 gRPC, 웹 기반 장비 관리 인터페이스에는 REST API가 대안이 된다. 푸시 기반 실시간 데이터 스트리밍은 Telemetry로 보완할 수 있다.
SNMP는 단순한 구조와 넓은 호환성을 바탕으로 30년 이상 네트워크 관리 표준으로 자리 잡았다. 최신 기술이 등장했어도 네트워크 모니터링의 기본 프로토콜로 광범위하게 사용된다. 운영 환경에서는 SNMPv3의 보안 기능을 활용하고, NETCONF나 REST API 같은 보완 기술을 함께 사용하는 하이브리드 접근 방식을 적용할 수 있다.