SNMP = Simple Network Management Protocol
네트워크 장비를 관리하고 모니터링하기 위한 프로토콜.
라우터, 스위치, 서버 같은 네트워크 장비의 상태와 성능을 추적하고 제어하는 데 사용된다.
구성 요소
- 관리 시스템 (Management System) : 네트워크를 모니터링하고 관리하는 소프트웨어 또는 하드웨어.
네트워크 관리 콘솔이나 서버 소프트웨어가 이에 속한다. - 관리 대상 (Managed Devices) : 관리와 모니터링 대상이 되는 네트워크 장비들
라우터, 스위치, 서버 등이 이에 속한다. - 관리 에이전트 (Management Agent) : 관리 대상 장비에 설치된 소프트웨어
- 관리 정보 베이스(MIB) : SNMP가 사용하는 데이터베이스로, 장비의 상태 정보를 저장하고 관리하는데 사용된다.
MIB는 트리 구조로 구성되어 있어서, 각 노드는 관리되는 장비의 특정 정보에 대응한다.
SNMP 메시지 유형
PDU (Protocol Data Unit) 타입으로 정의된다.
- GET
- 장비에서 특정 OID(Objet Identifier)의 값을 조회할 때 사용한다.
- 관리 시스템이 장비에 데이터를 요청할 때 사용된다. - GETNEXT
- OID 다음의 값을 조회할 때 사용함. // 자바 io스트림에서 next, hashnext와 비슷한 개념인듯
- 주로 MIB 트리에서 다음 값을 검색할 때 유용함 - SET
- 장비의 설정 값을 변경할 때 사용한다.
- 관리 시스템이 장비의 특정 설정을 수정할 때 사용한다. - GETBULK
- 대량의 데이터를 조회할 때 사용함
- SNMPv2c 에서 주로 사용됨. GETNEXT의 대용량 전용 버전 - TRAP
- 장비에서 발생한 이벤트나 상태 변화를 관리 시스템에 비동기적으로 알릴 때 사용한다.
- 관리 대상 장비가 중요한 이벤트를 감지하고 이를 통지할 때 사용함 - INFORM
- TRAP과 유사하지만, 수신 확인을 요구한다.
- 관리 시스템이 이벤트를 수신한 후 확인 응답을 보낼 수 있도록 한다. - RESPONSE
- GET, SET, GETBULK 요청에 대한 응답을 포함
- 요청에 대한 결과를 반환하는 데 사용된다. - REPORT(SNMPv3 전용)
- SNMPv3에서 사용되는 메시지
- 오류 보고와 관련된 정보를 전단할 때 사용된다.
버전별 메시지 유형
- SNMPv1
GET, GETNEXT, SET, TRAP (SNMPv1에 한정된 메시지 유형) - SNMPv2c
GET, GETNEXT, SET, GETBULK, TRAP
SNMPv1의 기능에 더해 GETBULK가 추가됨 - SNMPv3
GET, GETNEXT, SET, GETBULK, TRAP, INFORM, REPORT
SNMPv3는 더 많은 보안 및 관리 기능을 제공하며, INFROM과 REPORT 메시지가 추가됨
그래서 SNMP는 왜 어디에 쓰는건가요??????
- 네트워크 모니터링
- 장비 상태 모니터링 : 라우터, 스위치, 서버 등의 네트워크 장비의 상태를 실시간으로 모니터링하여 CPU 사용량, 메모리 사용량, 네트워크 트래픽 등을 감시할 수 있다.
- 성능 분석 : 네트워크 성능을 분석하고 문제를 조기에 발견할 수 있다.
- 장비 관리
- 구성 변경 : 네트워크 장비의 설정을 원격에서 변경할 수 있다.
예를 들어 스위치 포트 설정이나 라우터 경로 설정 등 - 장비 구성 백업 : 장비의 설정을 주기적으로 백업한다.
- 구성 변경 : 네트워크 장비의 설정을 원격에서 변경할 수 있다.
- 자동화 및 알림
- 장비 상태 알림 : SNMP TRAP을 사용해 하드웨어 고장이나 네트워크 장애와 같은 장비에서 발생한 이벤트나 오류를 자동으로 관리 시스템에 알릴 수 있다.
- 자동화된 대응 : 특정 이벤트나 경고에 대해 자동으로 대응하는 시스템을 설정할 수 있다.
- 네트워크 성능 및 용량 계획
- 트래픽 분석 : 네트워크의 트래픽 패턴을 분석하고, 성능 문제를 진단하여 네트워크 용량 계획을 세우고 미래의 트래픽 증가에 대비할 수 있다.
- 성능 기준 설정 : 네트워크 성능 기준을 설정하고, 이를 기준으로 네트워크의 상태를 평가한다.
- 보안 및 규정 준수
- 보안 감시 : 네트워크 장비의 보안 상태를 모니터링한다. (보안 위협이나 이상 징후와 같은)
- 규정 준수 : 네트워크 장비의 설정과 상태를 점검하여 조직의 보안 및 규정 준수 요구사항을 충족할 수 있도록 한다.