DecordRay

SNMP 개념 및 동작 원리 본문

공부/네트워크

SNMP 개념 및 동작 원리

DecordRay 2023. 5. 2. 11:24
728x90
반응형

SNMP(Simple Network Management Protocol)

 

TCP/IP 프로토콜을 사용하는 인터넷에서 장치들을 관리하기 위해 사용하는 프로토콜

즉, 네트워크에 있는 장비들을 관리하기 위한 프로토콜

 

일반적으로 서버, 네트워크 장비, SNMP 설정이 가능한 장비들에 SNMP를 설정하면 SNMP서버에서 그 장비들에 대한 정보(CPU 사용률, 포트 Up/Down, Memory 사용률 등)를 수집하여 NMSSMS같은 프로그램에서 관리하기 위해 사용된다.

 

MIB/OID 값을 가지고 정보를 수집한다.

  • MIB(Management Information Base) : 관리 되어야 할 특정한 정보, 자원을 객체라 하고 이러한 객체들을 모아놓은 집합체를 MIB라 한다. 즉 관리자가 조회하거나 설정할 수 있는 객체들의 데이터베이스이다. MIB는 객체별로 트리 형식의 구조를 이룬다.
  • OID(Object Identifier) : 특정한 정보 자원을 모아놓은 집합체

MIB, OID 를 좀 더 쉽게 표현하자면

MIB - 정보값을 문자로 표현한 것

OID - 정보값을 숫자로 표현한 것

 

 

NMS(Network Management System) : 네트워크 장비들을 관리하는 것

NMS에서 관리하는 방법은 크게 SNMP 방식, Syslog 방식이 있다.

보통 NMS 업체들은 네트워크 장비들에 대한 MIB/OID 값을 넣어서, 필요한 정보들을 수집한다.


[SNMP 동작 원리]

SNMP 동작

- 관리 시스템(Manager) : 162/UDP 포트를 이용

- 대행자(Agent) : 161/UDP 포트를 이용

 

Manager : Agent에 필요한 정보를 요청하는 역할

Agent : Agent가 설치된 시스템의 정보나 네트워크 정보 등을 수집하여 MIB 형태로 보관 후 Manager가 요청하면 MIB를 Manager에 전달해주는 역할 수행

 

이처럼 관리 시스템과 대행자간에 통신을 하기 위해서는 최소 다음 3가지 사항이 일치해야 한다.

  1. SNMP 버전 : Manager와 Agent간 SNMP 버전 일치
  2. Community String : 상호간에 설정한 Community String 일치
  3. PDU(Protocol Data Unit) : 통신하기 위한 메시지 유형 일치

  • SMI : MIB를 적용하기 위한 일반적인 구조를 의미하며 ASN.1(Abstract Syntax Notation) 언어를 사용. ASN.1은 데이터와 데이터의 속성들을 설명하기 위한 공식 언어로 대부분의 고수준 프로그램 언어에서와 같이 데이터를 데이터 유형과 값으로 표현합니다.
  • Community String : SNMP 데몬(Manager)과 클라이언트(Agent)가 데이터를 교환하기 전에 인증을 위해 사용하는 일종의 패스워드로, 초기값으로 public 또는 private가 설정되어 있습니다. SNMP에서는 RO(Read Only)와 RW(Read Write) 모드를 제공한다. 쓰기 권한이 있을 경우에는 중요 설정을 수정할 수 있는 등 심각한 보안 문제를 유발할 수 있으므로 가급적 사용 자제를 권고합니다.

[ SNMP를 사용하여 확인 가능한 내용들 ]

  1. 서버들의 시스템정보 (CPU , Memory , Disk)의 사용량 정보 확인
  2. 네트워크 장비들의 트래픽 사용량 , 에러량 , 처리속도 , 인터페이스 정보, 장비의 통신 이상 유무 체크 확인
  3. NMS / SMS 프로그램을 통해서 망 장애 탐지 / 모니터링 / 통합관리가 가능

[추가 - 시스코 스위치 SNMP 설정 명령어]

 

시스코는 한 줄만 넣어주면 SNMP 설정이 가능하다.

 

switch(config)# snmp-server community [커뮤니티명] [ro / rw]

  - ro : read-only

  - rw : read-write

 

스위치의 snmp에는 community라는 값으로 정보들을 끌고 오게 된다. 따라서 community 값을 세팅을 해야 하고 community 값은 패스워드 넣듯이 원하는 문자를 넣으시면 된다.

기본적으로는 "Public"이라는 값을 사용한다.

728x90
반응형
Comments