ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SNMP(Simple Network Management Protocol) 개념 정리
    Knowledge/Network 2019. 6. 25. 13:42

    안녕하세요. 오늘는 snmp에 대해서 알아보려고 합니다.

     

    snmp란 Simple Network Management Protocol로 해석하면 간단한 네트워크 관리 프로토콜이란 뜻으로 네트워크를 개별적인 관리를 하기보단 중앙집중 방식으로 관리하기 위해 만들어진 표준 프로토콜이다.

     

    SNMP는 버전이 1 ~ 3까지 존재한다.

    버전 1은 1988년 IAB(Internet Activites Board)에서 SGMP(Simple Gateway Monitoring Protocol)을 표준화 작업을 거쳐서 발전시켜 만든 것이다.

    SNMP는 각각의 네트워크 장비를 통제하기 위해서 각 장비에 이름을 부여하여 관리하였다. 그리고 그 이름을 커뮤니티로 불렀으며 네트워크 장비의 커뮤니티만 알아내면 해당 네트워크 장비의 모든 정보를 알수 있다.

    그리고 버전 1은 보안기능이 전혀 없는 단점이 존재했다.

     

    그래서 버전2는 이런 문제를 해결하기 위하여 DES, MD5를 이용한 보안 기능을 추가시키고 PDU(Protocol Data Unit) 타입을 정의하여 1993년 만들어졌다.

     

    시간이 지나 1999년에 버전3이 만들어 졌고 차이점은 버전 2에서 인증 기능을 추가시킨 것이였다.

     

     

    SNMP의 구성 요소에 대해서 알아보면 두가지로 나눌수가 있다.

    1. 관리 시스템

    2. 관리 대상 (Agent)

     

    관리대상(Agent)는 또 세가지 구성요소로 이루어져 있다.

    1. SNMP - 전송 프로토콜

    2. MIB (Management Information Base) - 관리할 개체의 집합

    3. SMI (Structure of Management Information) - 관리 방법

     

    SNMP의 요소인 관리 시스템과 관리 대상은 서로 통신하기 위해서 일치되어야 하는 것들이 존재한다.

    그건 바로 버전, 커뮤니티, PDU 타입이다.

    당연히 SNMP의 버전이 서로 일치해야 통신이 된다.

    상위 버전이 하위 버전 호환을 안해주는것은 신기하지만 그렇다.

    그리고 서로 설정해둔 커뮤니티가 일치해야 하며 PDU는 말그대로 타입이 서로 일치해야 한다.

     

    여기서 잠깐 PDU type에 대해서 언급하자면

    0 - Get Request : 관리 시스템이 특정 변수 값을 읽기위해 요청

    1 - Get Next Request : 관리 시스템이 이미 요청한 변수의 다음 변수 값을 요청.

    2 - Set Request : 관리 시스템이 특정 변수 값의 변경을 요청

    3 - Get Response : 에이전트가 관리 시스템에 해당 변수 값을 전송

    4 - Trap : 에이전트의 특정 상황을 관리 시스템에게 알릴 때 사용 (0 ~ 6까지의 flag값이 존재)

                    0 - Cold Start : 에이전트 초기화

                    1 - Warm Start : 에이전트를 설정의 변화 없이 초기화

                    2 - Link Down : 통신 연결 링크 하나가 끊어짐

                    3 - Link Up : 통신 연결 링크 하나가 연결됨

                    4 - Authentication Failure : 서로간의 커뮤니티가 일치하지 않음

                    5 - Egp Neighbor Loss : EGP의 상태가 변함

                    6 - Enterprise Specific : 벤더별 특정한 코드 값의 Trap

    으로 0부터 4번까지의 타입으로 이루어져있다.

     

    PDU type을 알았으니 이제 통신과정을 이해하는데 한결 수월 할 수 있다.

     

    SNMP는 기본적으로 UDP기반의 통신이며 서로의 통신 과정은 이렇다.

     

    * 편의상 표기는 PDU Number로 하겠다.

     

     

    관리 시스템                                 에이전트

                      -> (0)

                                              (3) <-


                      -> (1)

                                              (3) <-


                      -> (2)

                                              (3) <-


                                              (4) <-

     

    총 4가지 경우의 통신이 존재하며 통신 포트는 161번 포트를 사용하며 마지막 Trap을 사용할때 관리 시스템의 162번 포트를 사용한다.

     

     

    이제 에이전트의 나머지 요소인 MIB와 SMI에 대해서 살펴보자.

     

    MIB란 관리자가 조회하거나 설정할 수 있는 개체들의 데이터 베이스를 말한다.

    데이터 베이스인 이 MIB는 개체별로 트리 형식의 구조를 이루며 각 개체는 기본 그룹 10개로 나뉜다.

     

    MIB List

    1. SMNP : SMNP에 대한 정보 그룹

    2. System : 시스템의 상테대 대한 정보그룹으로 마지막으로 부팅한 시각, 시스템 위치 등이 해당

    3. Interface : 모든 시스템의 필수 사항으로 인터페이스 개수, 상태 등이 해당

    4. AT(Address Translation) : 인터페이션 별 네트워크 주소 해석에 대한 정보

    5. ICMP : ICMP 오류 패킷의 수, 전송 불가 패킷 수를 나타냄

    6. IP : IP 패킷의 프래그먼트, 패킷 재조합 상태

    7. TCP : TCP 접속에 대한 상태 정보

    8. UDP : 송수신된 UDP 패킷 수, 열린 포트 등의 정보가 포함됨

    9. EGP : EGP를 유지관리 하기 위한 정보 그룹

    10. Transmission : 각 인터페이스별 전송에 대한 정보

     

     

    SMI는 관리 정보 구조로 MIB를 구성하는 툴이다.

    MIB의 데이터 타입, 자원 표현 방식, 자원 명명 방식을 관리한다.

    MIB는 생성할때 OID를 지정받아야하는데 SNMP에서 이를 식별할 수 있다. 

     

     

     

     

    'Knowledge > Network' 카테고리의 다른 글

    Ethernet, IP, TCP 프로토콜에 대한 고찰  (0) 2020.09.08
    SNMP 취약점과 보안  (0) 2019.06.26
    TCP Port Scan - 스텔스 스캔  (0) 2019.06.19
    TCP scan - TCP Open Scan (TCP Open 스캔)  (0) 2019.06.18
    DNS 레코드의 종류  (0) 2019.06.06

    댓글

Designed by Tistory.