이번 네트워크 프로그래밍 과제로 선정된 snmp ! 그것도 snmp manager만들기!;;;
이때 까진 ftp 잘 해나가다가 왜 갑자기 바꾸냔 말이다 ㅡ_ㅡ+ 자료도 없는걸..ㅋ
.
.
SNMP란 Simple Network Management Protocol의 약자로 해석 그대로 간단한 네트워크 관리 프로토콜이다. 이렇게 듣고는 잘 이해가 안간다. 그래서 이놈을 자세히 일단 이놈은 TCP/IP의 응용계층 프로토콜로 디자인 되었고, 전송계층의 프로토콜로는 UDP를 사용한다. 이점이 좀 중요한듯!
아래 그림을 보면(ppt에서 훔쳐 왔음ㅋㅋ) snmp의 구성을 알수가 있다.
어쨌든 위와 같은 구성으로 되어있고 우리가 만들어야 하는 부분은 위쪽에 있는 SNMP Manager이다.
.
.
그럼 저놈을 만들려면 패킷이 어떻게 구성되고, 패킷의 헤더는 뭐고 등등 저놈이 쓰는 프토로콜의 패킷의 분석을 먼저 해야겠지만 그럼 흥미가 확 저하 됨을 고려해 일단 저놈이 하는 기능이 뭔지 부터 알아보자. 일단 여기저기 자료를 찾아보면 알겠지만 기본 4가지 명령 GET, SET, GETNEXT, WALK명령으로 Agent의 관리를 하게된다. 물론 위의 명령은 기본 명령이고 추가적으로 TRAP, BULK등도 있다.
그리고 이놈을 알려면 MIB와 OID라는 것도 알아야 한다. 일단 MIB는 Management Information Base의 약자로 SNMP가 관리해야 할 네트워크 상의 요소 들을 관리가 용이하게 하기 위해 분류해 놓은것으로 이것은 트리 구조를 가진다.
.
snmp를 위한 유용한 사이트로 아래 두개를 추천한다.
http://www.net-snmp.org/ - SNMP에 대한 설명, 지원하는 API, 간단한 기본 소스코드등이 있는 SNMP프로젝트 사이트
http://www.oid-info.com/ - MIB객체를 가져올때 쓰는 oid를 알아볼 수 있는 사이트