본문 바로가기
일/Network

네트워크 모니터링, SNMP 개념 및 NMS 연동

네트워크 모니터링(Network monitoring)이란 무엇인가?
네트워크 모니터링은 네트워크가 최적의 방식으로 실행되고 있는지를 실시간으로 확인하기 위해 네트워크 관리자에게 필요한 정보(예: 트래픽, 대역폭 사용률, 업타임)를 제공합니다. 그리고 관리자는 네트워크 모니터링 소프트웨어와 같은 도구를 사용해 디바이스 간에 연결 오류나 문제를 감지할 수 있으며, 네트워크 성능 저하 및 중단을 야기할 수 있는 기타 요소를 빠르게 파악하여 효율성을 최적화하는 등의 작업을 수행할 수 있습니다.

이번 설명에서는 대표적인 네트워크 모니터링 프로토콜 4 가지를 간단히 살펴보고자 합니다.

1.  SNMP(Simple Network Management Protocol)

2.  ICMP(Internet Control Message Protocol)

3.  CDP(Cisco Discovery Protocol)

4.  LLDP(Link Layer Discovery Protocol)

 

1. SNMP(Simple Network Management Protocol)

-  호출 및 응답 시스템을 사용해 네트워크에서 스위치, 프린터 등 여러 디바이스 유형의 장치에 대한 정보를 수집하고 해당 정보를 수정하여 장치 동작을 변경하기 위한 애플리케이션 계층 프로토콜.

-  SNMP를 사용하면 시스템 상태와 구성을 모니터링할 수 있습니다.

-  시스템 상태 및 구성을 설명하는 Management Information Base(MIB)로 구성된 시스템에서 Management Data 를 변수 형태로 표기합니다.

  

       ◆ SNMP Version 1

●  정보 교환만을 목적으로 만들어졌기에 보안이나 인증 기능 없음

 Community String 값만 일치하면 정보 교환이 가능하므로 해킹(Security Hacking)에 취약

 

    ◆ SNMP Version 2

  SNMPv1의 보안 문제를 해결하고자 암호화 기능(MD5, DES) 적용

  SNMPv1과의 호환 실패 및 복잡한 보안기능으로 인하여 상용화 실패

 

    ◆ SNMP Version 2c

●  SNMPv2에서 보안 기능을 제거한 버전

  Community String 사용, 현재 많이 사용됨

 

    ◆ SNMP Version 3

●  Manager/Agent 구조를 개체로 바꿈. 각 장치들은 Manager 또는 Agent

  SNMPv2에서 단순 암호 공유(일반 텍스트)를 안전한 인코딩 매개 변수로 대체

  Encryption, Authentication을 지원하여 보안을 강화

 

     MIB Tree (계층적 구조)

 

객체(Object) ID (줄여서 OID)는 특정 변수 또는 객체를 나타내는 고유 식별자입니다. 예를 들어, 현재의 프로세서 사용량은 변수로 간주되며해당 값은 객체 ID의 호출로 얻을 수 있습니다. 

 OID는 고유하며 MAC 주소와 매우 유사하며 전 세계에서 두 개의 동일한 주소가 없습니다이러한 식별자는 트리 계층 구조를 따르며 각 OID를 해당 경로까지 추적할 수 있습니다.

 

이 예에서 Cisco Catalyst 9200L 장비의 CPU 5분 평균 사용율에 대한 OID 값을 찾는 방법을 살펴보겠습니다.

 

Cisco Feature Navigator(https://cfnng.cisco.com/mibs) 사이트에 접속하여, Catalyst 9200L 플랫폼으로 선택하며 아래와 같이 지원되는 MIB값을 확인할 수 있습니다.

CISCO-PROCESS-MIB 중 V2 클릭 후 다운로드한 아카이브 파일에는 서드 파티(Third Party) SNMP 서버로 가져오거나 텍스트 편집기로 간단히 열 수 있는 여러 .my 텍스트 파일이 포함되어 있습니다. 특정 개체 이름의 OID를 찾으려면 먼저 해당 OID가 포함된 정확한 파일을 찾아야 합니다.

예를 들어, 디바이스 물리적 상태 모니터링과 관련된 모든 객체(예: CPU 및 Hardware Memory)는 CISCO-PROCESS-MIB.my라는 MIB 내부에 있습니다.

여기서, "cpmCPUTotal5minRev"는 장비에서 5분 동안의 CPU 사용량을 제공하기 위해 사용되는 개체 이름이며, MIB 파일은 모두 유사한 구문을 따릅니다. OBJECT-TYPE은 위와 같이 확인을 할 수 있습니다.

OBJECT-TYPE 확인후 NMS Server에서 사용가능한 OID 값을 Cisco SNMP Object Navigator 툴을 사용하면 객체(Object) 이름과 OID 간의 변환된 값을 확인 할 수 있습니다.

    

     

      이 예에서 Cisco Catalyst 9200L 장비의 CPU 5분 평균 사용율에 대한 OID 표현 값은 1.3.6.1.4.1.9.9.109.1.1.1.1.8 입니다.

 

2. ICMP(Internet Control Message Protocol)

-  라우터스위치 등의 네트워크 디바이스에 대해 ICMP(Internet Control Message Protocol)를 사용하여 Point Device 또는 Node에 대해 주기적으로 ICMP Request를 생성전송하며 그에 상응하는 ICMP Reply Packet의 수신 여부를 통해 모니터링 수행하면서 장애 여부를 결정할 수 있습니다.

네트워크 계층 프로토콜로서, 이를 사용하는 유틸리티(utility)로는 핑(Ping), 트레이스라우트(Traceroute) 등이 있습니다.

 

 

<ICMP 프로토콜 사용하여 정보 수집하는 NMS>

 

3. CDP(Cisco Discovery Protocol)

- Cisco 제품의 관리를 목적으로 만든 프로토콜로서 독립적이며 모든 Cisco 제조 장비에서 실행되는 Cisco 전용 데이터 링크 계층 프로토콜입니다. Cisco 디바이스는 연결된 각 네트워크 인터페이스를 멀티캐스트 대상 주소 01-00-0c-cc-cc-cc CDP 패킷을 보냅니다. 이러한 멀티캐스트 패킷은 같은 세그먼트에 있는 다른 라우터에 IOS-XE version, Model, Device 등의 정보를 제공합니다.

 

4. LLDP(Link Layer Discovery Protocol)

- LLDP IEEE 802 기술 기반의 LAN에서 네트워크 디바이스가 ID, 기능 및 인접 디바이스를 광고하기 위해 사용하는 벤더 중립형 데이터 링크 계층 프로토콜입니다. Cisco 넥서스(Nexus) 장비군과 서드 파티(Third Party) 장비군들 간 인접 노드를 자동으로 검색하고 광고할 수 있으며 이 정보를 사용하여 네트워크 내의 연결 문제를 해결할 수 있습니다.