Network

[펌] SNMP(Simple Network Management Protocol) 개요와 설치방법

_침묵_ 2005. 7. 27. 06:23

SNMP(Simple Network Management Protocol)개요와설치방법

 

SNMP?

1970년대 후반 네트워크 장치인 연결 정보를 얻기 위한 일종의 관리 프로토콜인 ICMP(Internet Control Management Protocol)이 처음 사용되었다. 1989년 기존의 프로토콜 기능을 향상시킨 SNMP로 통합되었다.

 

SNMP관리구조

 SNMP는 매니저와 에이전트의 구조로 이루어져 있다. SNMP 에이전트는 각 네트워크 장치에 장치된다. 그리고 정해 놓은 규격에 따라 장치의 정보를 수집하고 보관한다. SNMP 매니저는 에이전트와 독립적인 장소에 존재하며, 네트워크에 분포된 SNMP 에이전트의 정보를 수집해서 전체 네트워크를 관리한다.

 SNMP 매니저를 정보를 수집하기 위해서 Request 메시지를 에이전트에 전송하고 에이전트는 Response 메시지를 사용해서 자신의 정보를 매니저에게 보낸다. 에이전트가 수집할 정보의 내용을 정해놓은 규격을 MIB(Management Information Base)이라고 한다.

 

SNMP데이터수집방법

 에이전트의 내용을 매니저에게 전달하는 방법은 폴링과 이벤트 리포팅의 두 가지 방법이 있다.

            Polling                             manager | --- requestà| Agent

                                                                  |ßresponse -- |

 

            Event reporting               manager |ß-- trap ---- | Agent

 

Polling

요청에 응답

매니저가 에이전트에게 원하는 정보를 요구하면 에이전트는 매니저가 원하는 정보를 찾아서 응답한다. 간단하지만 트래픽을 많이 사용하는 단점이 있다.

Event reporting

특별한 이벤트가 발생했을 경우에 전송되며 트랩이라고 한다.

 

 

SNMP변천사

 1989년 처음 발표된 SNMP는 현재 ver.3까지 발표 되었다.

 

1.      SNMP

2.      SMP(Simple Management Protocol) : 성능향상

Secure SNMP : 보안기능 향상

3.      SNMPv2(party) : 위 두 가지를 통합

4.      SNMPv2c(Community) : 보안 기능 제거, SNMP 인증 방식으로 복귀

SNMPv2USM : User Security Model 추가

5.      SNMPv3

 

SNMPv3

 모듈화로서 기존의 매니저/에이전트 패러다임을 SNMP 개체(entity)로 바꾼 것이다. 이것에 의하면 SNMP 개체는 구성된 모듈에 따라서 매니저가 될 수고 있고 에이전트가 될 수도 있다.

RMON(Remote Monitoring)의 경우 v1은 SNMP를, v2는 SNMPv2를 기반으로 정의되었고, 현재 가장 많이 사용하고 있는 버전은 SNMPv2c(community)이다.

 

SNMP프로토콜스택

 SNMP는 TCP/IP 프로토콜 스택에서 응용계층의 프로토콜이다. SNMP 메시지를 전송하는 전송계층 프로토콜은 UDP를 사용한다. SNMP는 UDP의 161, 162 두 개의 포트를 통해서 메시지를 주고 받는다.

 

SNMP메시지의종류

SNMP에서 에이전트와 매니저가 주고 받는 메시지는 총 다섯 개이다.

 

메시지 종류

설명

Get-Request

에이전트가 관리하는MIB에서 지정한 객체를 가져온다.

Get-Next-Request

에이전트가 관리하는MIB에서 지정한 객체의 다음 객체의 값을 가지고 온다. 이것은 MIB항목에 테이블로 되어있는 경우에 사용한다

Set-Request

에이전트가 관리하는MIB의 지정한 객체의 값을 설정한다.

Get-Response

매니저의 요청에 대한 결과를 되돌려 준다.

Trap

에이전트에 특별한 이벤트가 발생할 경우에 이를 매니저에게 알린다.

 

정상적인 요청/응답은 161번 포트, 트랩 메시지는 162번 포트를 사용한다.

 

SNMP정보관리방법

SNMP는 이 기종의 시스템에서도 TCP/IP를 통해서 정보를 교환해야 하기 때문에, SNMP만의 독자적인 정보 관리 방법을 가지고 있다.

SMI(Structured Management Information)

SNMP MIB 들을 정의하기 위한 일반적인 구조이다.

MIB 객체들은 ASN.1 문법에 따라 정의되는데 각각의 객체들은 각각 이름과 표기 문법 다른 시스템으로 전송을 위한 인코딩 규칙 등을 가지고 있다. 이들은 서로 고유한 객체 식별자에 의해 구분된다.

MIB(Management Information Base)

 MIB는 SNMP 관리 스키마로서 SNMP에서 관리하는 객체, MO(Managed Object)를 정의해 놓은 집단이다. MIB는 관리 객체를 정의하기 위해서 ITU-T에서 정의한다. ASN.1(Abstract Notation One)을 사용한다.

 ASN.1은 객체를 설명하는 일종의 스크립트 언어이다. ASN.1으로 정의된 객체는 모두 트리 구조로 이루어져 있다.

 

O-ID(Object-Identifier)

OID는 MIB의 관리 객체(MO)를 지정하는 식별자(Primary Key)이다. OID는 계층구조에 따라 자신을 나타내는 번호와 이름을 가지고 있으며 부모이름도 알고 있다.

 

SNMP데이터의인코딩방법

 모든 SNMP 데이터는 인코딩 되어서 전송된다. 이것은 이 기종 시스템 사이의 데이터 독립성을 유지하기 위해서다. SNMP는 Basic Encoding Rules(BER)이라는 인코딩 방법을 사용하며 이것은 ITU-T의 X.209에 정의되어 있다.

 모든 데이터는 TAG, LENGTH, VALUE 의 형식으로 인코딩 된다.

 

SNMP보안방법

 네트워크 상에서 정보를 안전하게 관리하기 위해서는 컴과 네트워크의 보안이 보장되어야 한다.

SNMP는 community라는 일종의 패스워드를 사용하며, SNMP 메시지를 인증한다. 네트워크를 통해 전송되는 모든 메시지에 커뮤니티 값을 집어 넣어서 메시지 단위로 인증을 수행한다.

공개 커뮤니티: public

 관례적으로 에이전트가 공개하는 MO에 대해서는 커뮤니티 값을public으로 설정해 놓는다. SNMP 매니저와 브라우저를 이용할 때 커뮤니티 값은 선정해 두지 않았는데, 에이전트에서 값을 가지고 왔다면, 그것은 커뮤니티 값이public으로 설정되었기 때문이다.

 

접근정책(Access policy)

 SNMP는 접근하는 형태별로 다른 커뮤니티 값을 사용한다. 이러한 접근제어 방법은 SNMP MIB에 의한 접근과 SNMP 접근 모드의 관점으로 나뉜다.

MIB Access

SNMP Access

Mode

Category

Read-Only

Read-Write

Read-Only

Get, Trap 연산가능

 

Read-Write

Get, Trap 연산가능

Get, Set, Trap 연산가능

Write-Only

Get, Trap 연산이 가능하고 그 값은 구현에 따라 달라진다.

Get, Trap 연산이 가능하고 Get, Trap시의 값은 구현에 따라 달라진다.

Not-Access

사용불가

 

 

SNMP Trap

 트랩은 에이전트에 특별한 이벤트나 사고가 발생하였을 때, 매니저의 요구가 없더라도 스스로 판단해서 매니저로 전송하는 일종의 리포트 매니저이다. 162번 포트 사용

 

SNMP단점

 폴링 방식을 사용하기 때문에 관리하는 객체가 늘어날수록 많은 대역폭과 매니저의 프로세서를 필요로 한다.

 

SNMPv2

 SNMPv1의 단점이 네트워크 과부하 문제를 해결하고 관리자의 통신 방법을 확장했다. SNMPv2 메시지는 버전, 커뮤니티, PDU(Protocol Data Unit)로 구성된다.

 

GetBulk-Request

 SNMPv1의 단점이 트래픽 부하를 해결하기 위해서 추가된 Request.

가져올 객체의 범위를 지정해서 한 메시지 안에 포함시키기에 트래픽 부하를 줄인다.

 

'Network' 카테고리의 다른 글

[펌] 의외로 쉬운「시스템 모니터링 툴」제작기  (0) 2005.08.23
[펌] SNMP 프로토콜  (0) 2005.07.26
[펌] monitoring  (0) 2005.07.26