ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 트래픽 및 장비 관리 프로토콜 (SNMP)
    카테고리 없음 2020. 6. 18. 17:53

    안녕하세요 오늘은 SNMP에 대해 알아보도록 하겠습니다.

    SNMP는 Simple Network Management Protocol의 약자로 네트워크 관리를 위한 규약입니다.

    UDP 프로토콜을 이용하며 포트번호 161, 162 번을 사용합니다.

    161번은 SNMP로 이용하며, 162번은 SNMP Trap 으로 사용합니다.

     

    SNMP 역사

    SNMP를 사용하기 전에는 ICMP에 의존했었습니다.

    아시다시피 ICMP는 네트워크 계층의 프로토콜로 운영체제에 관계없이 사용할 수 있는 간단한 프로토콜입니다. ICMP를 통해 네트워크로 연결된 각각의 호스트가 작동하고 있는지(ping 명령어), 라우터의 라우팅경로가 어디로 가는지(tracert 명령어) 초기에는 이정도로 네트워크 관리가 가능했지만 인터넷의 사용이 보편화 됨에 따라 구성이 복잡해져 ICMP만으로는 관리를 효율적으로 할 수 없게되었습니다.

    그래서 몇가지 프로토콜에 대한 연구가 있었고 SGMP,CMIP/CMIS, HIMS등이 제안되었습니다. 이중에서 SGMP를 발전시킨 SNMP가 네트워크 관리를 위한 프로토콜로 자리잡게 되었습니다.
    SNMP는 거의 대부분의 운영체제에서 사용되어 지고 있다. Linux, Unix,Windows 운영체제는 기본적으로 SNMP프로토콜을 사용하는 도구들을 제공하고 있습니다. 그 외에도 router, 웹방화벽, IPS, 방화벽 등 보안장비에서도 사용하는 프로토콜입니다.

     

     

    SNMP로 할 수 있는 것

    네트워크 구성관리
    > 네트워크상의 호스트들이 어떤 구조를 이루고 있는지 지도를 그릴 수 있습니다.
    성능관리
    > 각 네트워크 세그먼트간 네트워크 사용량, 에러량, 처리속도, 응답시간 등 성능 분석에 필요한 통계정보를 얻을 수 있습니다.
    장비관리
    > SNMP 의 주목적이 네트워크 관리이기는 하지만 SNMP의 유연한 확장성을 이용하여 시스템정보 (CPU, MEMORY. DISK 사용량)등을 알 수 있습니다.
    정보제어 및 보호기능
    > 최근 버전인 SNMPv3는 정보보호를 위한 기능(패스워드)기능이 있습니다.

     

     

    SNMP 구조

    SNMP 는 Manager / Agent 구조로 되어있다. SNMP Agent 는 관리대상이 되는 시스템에 설치되어서 필요한 정보(네트워크 or 시스템)를 수집하기 위한 SNMP모듈(혹은 애플리케이션) 이며, SNMP Manager은 SNMP Agent가 설치된 시스템에 필요한 정보를 요청하는 SNMP 모듈입니다.

     

     

    MIB(Management Information Base)

    SNMP로 네트워크를 관리할떄 무엇을 관리할 것인지를 결정할때 효율적 분류를하기 위해 사용하는 것이 MIB입니다.
    분류된 객체의 정보는 시스템정보, 네트워크사용량, 네트워크 인터페이스 정보 등이 있습니다.

    MIB는 계층적인 구조(디렉토리)를 갖고있습니다. 예를들어 Agent가 설치되어 있는 시스템으로 부터 시스템부가정보(sysDescr)를 얻어오길 원한다면 Manager에서 데이터를 요청하면 됩니다.

    MIB계층 구조에서는 MIB옆에 숫자가 있는데 이 숫자를 OID번호 라고 한다. OID번호를 사용하는 이유는 MIB고유 문자열을 통해서 원하는 데이터를 가저오기위해서는 요청이 길어질수 있기 때문이다.
    MIB는 IANA라는 단체에서 관리하여 표준적으로 사용되고 있다. 표준적인 MIB구현을 위해서는 IANA에서 OID를 부여받아야 한다.

     

     

    SNMP 프로토콜의 동작과 구성

    SNMP는 현재 3가지의 버전이 나와있는 상태이지만 아직까지는 버전2가 널리 사용되고 있습니다.
    SNMP는 네트워크 정보를 수집하는게 목적인데 수집하는 몇가지 다른 방법이 있습니다.

    GET
    > Manager에서 Agent 로 특정 정보를 요청하기 위해서 사용한다.

    GET NEXT
    > 기본적으로 GET과 같은일을 한다. 그러나 SNMP에서 각정보들은 계층적 구조로 관리된다. 위의 MIB계층 구조를 나타낸 이미지에서 SYSTEM(1)계층 밑에 있는 모든 정보를 가저오고 싶을때 GET NEXT를 사용한다.

    SET
    > Manager에서 Agent로 특정 값을 설정하기 위해서 사용한다.

    TRAP
    > Agent에서 통보해야될 어떤 정보가 발생했을때 (임계치를 넘는 네트워크 자원 사용등) Manager에게 해당 상황을 알리기 위해서 사용한다. 위의 다른 요청들은 동기적 요청(Manager -> Ageent)이라면 이것은 비동기적인 사건(Agent -> Manager)을 알리기 위해서 사용된다.

     

    Trap의 중요성(162 포트)

    비동기의 의미는 매우 중요합니다. 보안장비(Agent)의 장애가 발생했을때 NMS(Manager)에게 장애가 발생했을을 알리고 그를 통해 신속한 대처가 가능하기 때문입니다.

     

     

Designed by Tistory.