[컴퓨터네트워크] SNMP(Simple Network Management Protocol)란?

[컴퓨터네트워크] SNMP(Simple Network Management Protocol)란?

네트워크 관리를 위한 규약

SNMP가 쓰이기 전에는 ICMP에 의존했었다.

ICMP 

  • Network계층의 프로토콜, 운영체제에 관계 없이 상용할 수 있는 간단한 프로토콜
  • 네트워크로 연결된 각각의 호스트가 작동되고 있는지, 작동한다면 어느정도의 응답시간을 가지고 동작중인지 체크 가능.
  • 초기에는 이정도로도 필요한 네트워크 관리가 가능했었다.
  • ICMP를 이용한 대표 도구 -> ping
but)인터넷 사용이 보편화되고 네트워크에 연결된 호스트의 수가 증가하고 네트워크 구성 또한 복잡해지면서, ICMP만으로는 네트워크 관리를 효율적으로 할 수 없게 됨.
그래서 몇가지 프로토콜에 대한 연구가 진행 -> SGMP, HIMS, CMIP/CMIS 등이 제안
=> 이 중 SGMP를 발전시킨 SNMP가 사실상 네트워크 관리를 위한 표준적인 프로토콜로 자리잡음

현재 SNMP는 거의 대부분 운영체제에서 사용되고 있다.

리눅스/유닉스/윈도우계열 OS는 기본적으로 SNMP 프로토콜을 사용하는 도구를 제공하고 있다.

SNMP는 OSI 7계층의 Application 계층 프로토콜이며, 메시지는 단순히 요쳥과 응답 형식의 프로토콜에 의해 교환되기 때문에 전송계층 프로토콜로 UDP 프로토콜을 사용한다.


SNMP의 기능

  • 네트워크 구성관리
    • 네트워크 상의 호스트들이 어떠한 구조를 이루고 있는지 지도를 그릴 수 있다.
  • 성능관리
    • 각 네트워크 세그먼트(소규모 네트워크)간의 네트워크 사용량/에러량/처리속도/응답시간 등 성능분석에 필요한 통계정보를 얻을 수 있다.
  • 장비관리
    • SNMP의 주 목적이 네트워크관리이지만, 특유의 유연한 확장성으로 시스템정보(CPU/Memory/disk 사용량)를 얻을 수 있도록 확장되었다.
    • 이 정보는 네트워크 문제를 해결하는데 큰 도움이 된다.
      ex) 세그먼트의 네트워크 사용량이 급증했는데, 특정 호스트의 cpu 사용률까지 급증했다!! -> 해상 호스트에서 문제가 발생했을 것이라는걸 유추 가능
  • 보안관리
    • 정보의 제어 및 보호기능이 있다. 최근버전인 SNMP3는 특히 정보보호를 위한 기능이 향상되었다.


SNMP 망구성


  • SNMP 역시 서버와 클라이언트로 구성된다.
  • 일반적으로 SNMP망에서는 서버/클라이언트라고 부르지 않고 Manager와 Agent로 부름
    • Manager : Agent로부터 정보를 제공 받는다.
    • Agent : Agent가 설치된 시스템의 정보나 네트워크 정보등을 수집하여 MIB형태로 보관
    • 즉, SNMP Manger = 서버, SNMP Agent = 클라이언트
    SNMP 역시 그자체로는 프로토콜일 뿐이며, SNMP 프로토콜을 활용해서 실제 네트워크 관리 정보를 얻어오기 위해서는 어플리케이션이 준비되어있어야만 한다.


    SNMP 동작방식

    1. 관리 시스템(Manager)은 162/udp 포트를 이용하고 Agent는 161/udp 포트를 이용한다.
    • Manager : Agent에 필요한 정보를 요청하는 역할
    • Agent : Agent가 설치된 시스템의 정보나 네트워크 정보 등을 수집하여 MIB 형태로 보관, Manager에 전달해주는 역할 수행
    2. 관리 시스템과 대행자간에 통신하기 위해서는 최소 다음 3가지 사항이 일치되어야 한다.
    • SNMP 버전 : Manager와 Agent간 SNMP 버전이 일치해야 한다.
    • Community String : 상호간에 설정한 Community String이 일치해야 한다.
    • PDU(Protocol Data Unit) : 통신하기 위한 메시지 유형
    3. PDU 타입은 아래와 같다.

    4. SNMP 데이터 수집 방식
    • Polling 방식 : Manager가 Agent에게 정보를 요청하면 응답해주는 방식으로 Agent가 161/udp 포트를 사용한다.
    • Event Reporting 방식 : Agent가 이벤트 발생 시 이를 Manager에게 알리는 방식으로 Manager가 162/dup 포트를 사용한다.


    SNMP 버전



    cf) CMIP

    • Common Management Information Protocol
    • SNMP와 같은 네트워크 관리 프로토콜
    • SNMP보다 시스템 리소스를 많이 소모하는 단점이 있으나, 보안성이 우수하고 능률적으로 네트워크를 관리할 수 있다.
    • 구조가 너무 복잡해서 사용되지 않는다.

    출처

    댓글

    이 블로그의 인기 게시물

    [Python] # -*- coding: utf-8 -*-를 쓰는 이유

    [소프트웨어공학] NS(Nassi-Schneiderman) 차트

    [컴퓨터네트워크] Telnet이란?