[SNMP] Simple Network Management Protocol이란?
1. 소개
SNMP는 간단한 네트워크 관리를 위한 프로토콜입니다. ICMP에 의존하던 초기 네트워크 관리에서 벗어나, 복잡해진 네트워크 구성을 효율적으로 관리하기 위해 SNMP가 개발되었습니다. SNMP는 대부분의 운영체제에서 사용되며, Linux, Unix, Windows 등에서 기본적으로 제공하는 도구들을 포함합니다.
2. SNMP 개요
2.1 SNMP란 무엇인가?
SNMP는 네트워크 관리를 위한 프로토콜로, 네트워크 장치의 정보를 수집하고 관리하는 데 사용됩니다. 인터넷이 보편화되면서 네트워크의 복잡성이 증가하자, SNMP가 표준 관리 프로토콜로 자리 잡게 되었습니다.
2.2 SNMP로 할 수 있는 것들
SNMP는 다음과 같은 기능을 제공합니다:
- 네트워크 구성 관리: 네트워크 호스트 구조를 시각화.
- 성능 관리: 네트워크 사용량, 에러율, 처리 속도 등의 통계 정보 수집.
- 장비 관리: CPU, 메모리, 디스크 사용량 등의 시스템 정보 수집.
- 보안 관리: 정보 제어 및 보호 기능 강화 (특히 SNMPv3에서 보안 기능 향상).
2.3 SNMP를 통한 망 구성
SNMP는 클라이언트-서버 모델로 동작하며, 클라이언트(매니저)가 서버(에이전트)에 정보를 요청합니다. 매니저는 네트워크 장치에 설치된 에이전트에서 정보를 수집하여 네트워크를 관리합니다.
2.4 MIB에 대해
MIB(Management Information Base)는 관리 대상 객체의 계층적 정보 구조입니다. 시스템 정보, 네트워크 사용량 등 다양한 관리 정보를 포함하며, 네트워크 관리의 핵심 데이터 구조입니다.
MIB는 트리 구조를 가지며, 각 객체는 고유의 OID(Object Identifier) 번호를 가집니다. IANA(Internet Assigned Number Authority)에서 관리하며, 표준 MIB 구현을 위해 IANA에 등록된 OID를 사용합니다. Cisco와 같은 대중적인 제품들은 자체 MIB를 구현하여 IANA에 등록하고 사용합니다.
1. MIB (Management Information Base)
ㅇ 망관리를 위해 사용되는, 체계화(Hierarchically)된 관리 정보(Management Information)
- 망 관리 자원 정보를 구조화시킨, 대규모 관리 정보 집합
2. MIB 특징
ㅇ 계층적 구조(트리 구조)로 관리하게 됨
ㅇ 관리 정보를 구조화시킨 트리 구조 내의 각 노드(Node)를 객체(Object)라고 함
- 대부분의 관리 객체들이 값(Value)를 갖게됨
- 각 관리 객체가 객체식별자(OID,Object IDentifier)에 의해 인덱스화되어 됨
. 즉, OID는 트리 구조로된 MIB 내 위치를 알려주는 주소 역할을 함
ㅇ 망관리용 프로토콜인 SNMP 등에 의해 읽혀짐
3. MIB 객체
ㅇ 특정 장비에서 읽고 쓸 수 있는 변수 객체를 말함
4. MIB 계층적 정보 구성 형태
ㅇ MIB Tree (특히, 트리 하단의 mib-2를 눈여겨 볼 것)
ㅇ 표현의 例
- .1.3.6.1.2.1.1 -> {root.iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1)}
ㅇ internet(1) 하에, SNMP 관련 MIB 객체들의 3개 부류
- mgmt(2) {.1.3.6.1.2} : 일반 MIB 객체들
- private(4) {.1.3.6.1.4} : 사설 MIB 객체들
- snmpv2(6) {.1.3.6.1.6} : SNMPv2 관련 MIB 객체들
5. mib-2 {.1.3.6.1.2.1} 내의 객체들에 대한 설명
※ SNMP에서, MIB 내의 객체들에 대해 크게 11개의 범주로 나눌 수 있음
ㅇ System (1) : 장치의 이름, 위치, 기타 묘사 등 시스템의 전반적인 정보
- sysDescr(1), sysObjectID(2), sysUpTime(3), sysContact(4), sysName(5),
sysLocation(6), sysService(7)
ㅇ Interface (2) : 망과의 인터페이스 및 각 인터페이스에서의 트래픽 통계
- ifNumber(1), ifTable(2)
ㅇ AT (3) : 주소 변환(Address Translation)
- atTable(1)
ㅇ IP (4) : IP Packet들의 통계
- ipFowarding(1), ipDefaultTTL(2), ipInReceives(3), ...
ㅇ ICMP (5) : 수신된 ICMP 메세지들에 대한 통계
- icmpInMsgs(1), icmpInErrors(2), ...
ㅇ TCP (6) : TCP 매개변수, 통계 등
- tcpRtoAlgorithm(1), tcpRtoMin(2), ...
ㅇ UDP (7) : UDP 트래픽 통계
- udpInDatagrams(1), udpNoPorts(2), ...
ㅇ EGP (8) : EGP 트래픽 통계
- egpInMsgs(1), egpInErrors(2), ...
ㅇ transmission (10): (매체에 특화된 MIB와 관련되어 Reserved)
ㅇ SNMP (11) : SNMP 관련 트래픽 통계
http://www.ktword.co.kr/test/view/view.php?no=835
2.5 SNMP 프로토콜의 동작과 구성
SNMP는 네트워크 정보를 수집하기 위한 프로토콜로, 세 가지 주요 버전이 있습니다. 여기서는 가장 널리 사용되는 버전 2를 기준으로 설명합니다. SNMP는 네트워크 정보를 수집하고 설정하며, 동기적 및 비동기적 방법으로 데이터를 요청하고 수신합니다.
- GET: 매니저가 에이전트에 특정 정보를 요청.
- GET NEXT: 계층 구조에서 다음 정보를 요청.
- SET: 매니저가 에이전트에 특정 값을 설정.
- TRAP: 에이전트가 비동기적으로 발생한 이벤트를 매니저에 통보.
SNMP 메시지는 UDP를 통해 전송되며, 각 메시지는 요청 번호(Request-id)를 포함하여 응답을 구분합니다.
#SNMP #NetworkManagement #Agent #Manager #MIB #OID #GET #SET #TRAP #UDP #SNMPv2 #SNMPv3 #NetworkMonitoring #DeviceManagement #PerformanceManagement