🖧
SNMP(간이 망 관리 프로토콜)란
라우터, 스위치, 프린터 같은 네트워크 장비의 상태를 중앙에서 한 번에 조회하고 관리할 수 있게 해주는 표준 프로토콜입니다.
기업이나 데이터센터처럼 관리해야 할 네트워크 장비가 수십, 수백 대에 이르면 장비마다 일일이 접속해 상태를 확인하기 어렵습니다. SNMP(Simple Network Management Protocol)는 장비들이 공통된 방식으로 자신의 상태 정보(트래픽량, 온도, 오류 횟수 등)를 보고하고, 관리자가 이를 한 화면에서 모아볼 수 있게 해주는 네트워크 관리의 오래된 표준입니다.
🧑💻
매니저-에이전트 구조
정보를 조회하는 관리 소프트웨어인 매니저와, 각 장비에서 실행되며 정보를 제공하는 에이전트가 한 쌍을 이루어 동작합니다.
네트워크 모니터링 서버(매니저)가 라우터나 스위치(에이전트)에게 "지금 이 포트의 트래픽이 얼마나 되는지" 질의하면, 에이전트는 자신이 갖고 있는 값을 읽어 응답합니다. 하나의 매니저가 수많은 에이전트에게 동시에 정보를 요청하고 취합함으로써, 전체 네트워크의 상태를 한눈에 파악하는 대시보드를 구성할 수 있습니다.
🗃️
MIB와 OID: 값을 가리키는 주소 체계
장비가 제공할 수 있는 모든 정보 항목의 목록을 MIB(관리 정보 베이스)라 하고, 그 안의 각 항목은 OID라는 고유 번호로 식별됩니다.
MIB(Management Information Base)는 "이 장비가 어떤 값들을 갖고 있는지"를 정의한 일종의 명세서이고, OID(Object Identifier)는 그 안의 개별 항목을 가리키는 점(.)으로 구분된 숫자 주소입니다. 예를 들어 특정 OID를 조회하면 장비의 가동 시간, 다른 OID를 조회하면 특정 포트의 수신 바이트 수를 얻는 식으로, 관리자는 원하는 정보의 OID만 알면 어떤 제조사의 장비든 같은 방식으로 값을 읽을 수 있습니다.
🔐
SNMPv3: 인증과 암호화 강화
SNMPv3는 사용자 기반의 인증과 통신 내용 암호화를 도입해, 커뮤니티 스트링에 의존하던 이전 버전의 보안 약점을 보완했습니다.
SNMPv3는 사용자별로 별도의 인증 정보를 부여하고, 필요하면 조회·응답 내용 자체를 암호화해 도청으로부터 보호할 수 있습니다. 보안이 중요한 환경이라면 가능한 한 SNMPv1·v2c보다 SNMPv3를 사용하도록 권장되며, 신규 장비 대부분은 세 버전을 모두 지원해 상황에 맞게 선택할 수 있게 되어 있습니다.
🔌
사용 포트와 트랩(Trap)
매니저가 에이전트에게 묻는 질의는 UDP 161번 포트를, 에이전트가 이상 상황을 먼저 알리는 트랩은 UDP 162번 포트를 사용합니다.
평소에는 매니저가 주기적으로 에이전트에게 값을 요청하는 방식(폴링)으로 동작하지만, 폴링 주기 사이에 장비 다운이나 포트 장애 같은 긴급한 상황이 생기면 에이전트가 매니저의 질의를 기다리지 않고 스스로 알림(트랩)을 즉시 전송할 수 있습니다. 이 두 가지 방식을 함께 쓰면 정기적인 상태 확인과 긴급 상황에 대한 빠른 대응을 모두 챙길 수 있습니다.
📊
SNMP를 활용하는 모니터링 소프트웨어
여러 오픈소스·상용 네트워크 모니터링 도구들이 SNMP를 기본 수집 방식으로 사용해, 장비 상태를 그래프나 대시보드 형태로 시각화해줍니다.
관리자는 이런 도구에 각 장비의 IP 주소와 커뮤니티 스트링(또는 SNMPv3 인증 정보)만 등록해두면, 트래픽 추이·장비 온도·오류율 같은 값을 시간에 따라 자동으로 수집하고 그래프로 확인할 수 있습니다. 임계값을 넘으면 관리자에게 알림을 보내도록 설정해, 장애가 커지기 전에 미리 대응하는 용도로도 널리 활용됩니다.