SNMP(Simple Network Managemnent Protocol)란?
SNMP(Simple Network Managemnent Protocol)란 IP 네트워크 상의 장치로부터 정보를 수집 및 관리하며, 또한 정보를 수정하여 장치의 동작을 변경하는데에 사용되는 인터넷 표준 프로토콜이다 . SNMP를 지원하는 대표적인 장치에는 라우터, 스위치, 서버, 워크스테이션, 프린터, 모뎀 랙 등이 포함된다. UDP/IP를 사용하여 Port 161을 사용한다
SNMP는 Manger와 Agent로 나뉩니다.
Manger는 장비의 정보를 수집하는 하드웨어/소프트웨어를 의미합니다.
Agent는 정보를 제공하는 주체인 네트워크 장비를 의미합니다.
NMS(Network Management System)는 SNMP를 활용하여 네트워크 장비의 장비를 상시 수집하고 장애 발생시 이를 사용자에게 알려주는 소프트웨어입니다.
SNMP Version
SNMPv1
SNMP의 최초 버전인 SNMPv1입니다. 커뮤니티 값을 활용하여 Manger와 Agent 간의 인증을 실현합니다. 다만 커뮤니티 값이 평문으로 전달되기 때문에 보안이 취약하고, 장비 정보 값 수집에 있어 대량 수집 요청이 불가능하다는 특징이 있어 사용이 안 됩니다.
SNMPv2
SNMPv1에서 보안 취약점과 장비 정보 값 대량 수집 요청 기능 등이 추가된 버전인 SNMPv2입니다.보안 취약점이란 커뮤니티 값이 평문으로 전달되는 문제점을 말하느데 SNMPv2에서는 이를 암호화하여 전송하도록 변경하였습니다. 그러나 사용하기에는 너무 복잡하다는 문제점에 봉착한 후, 이를 평문 커뮤니티 값을 전달하는 것으로 도로 원복하게 됩니다. 이것을 SNMPv2c라고 합니다.
SNMPv3
SNMPv2가 커뮤니티 값을 평문으로 전달한다는 것은 변함이 없기 때문에 보안 기능을 추가로 강화한 것이 바로 SNMPv3입니다. 장비 정보 값을 얻기 위해 접근 시 단순 커뮤니티 값을 제공하는 것이 아닌 'Username(계정)'과 'Password(비밀번호, 커뮤니티 값에 해당)'를 제공해야 합니다. 이 중 비밀번호는 인증 값과 암호 값으로 구성되며 2개 모두를 입력해야 합니다. 암호 값은 암호화 알고리즘(AES, 3-DES)에 의해 암호화되는 비밀번호이며, 인증 값은 해쉬 알고리즘(MD5, SHA)을 적용해 위변조 여부를 확인하는 값이다.
SNMP 동작방식

1. Manger은 162/udp 포트를 이용하고, Agent는 161/udp 포트를 이용한다.
2. Manger과 Agent 간에 통신하기 위해서는 최소 3가지 사항이 일치해야 한다.
- SNMP 버전이 일치해야 함
- Community String이 일치해야 함
- PDU가 일치해야 함
3. SNMP 데이터 수집 방식
- Poling 방식 : Manger가 Agent에게 정보를 요청하면 응답해주는 방식으로 Agent가 161/udp 포트를 사용
- Event Reporting 방식 : Agent가 이벤트 발생 시 이를 Manger에게 알리는 방식으로 Manger가 162/udp 포트를 사용함