본문 바로가기

Network, Security

SNMP(Simple Network Management Protocol)

SNMP(Simple Network Management Protocol)

운영되는 네트워크의 안정성, 효율성을 높이기 위해서 구성, 장애, 통계, 상태 정보를 실시간으로 수집 및 분석하는 네트워크 관리 시스템이다. NMS(Network Management System)은 SNMP 프로토콜을 사용하여 정보를 수집한다. NMS 네트워크 관리 시스템으로 IP/Segment 관리와 네트워크 구성요소를 관리한다. 구성요소에는 라우터, 스위치, 서버, FMS(Facility Management System) 등을 관리한다.

SNMP는 네트워크 모니터링의 목적으로 네트워크 관리에서 널리 사용된다. SNMP는 버전 1을 시작으로 SNMPv2, SNMPv3 까지 개선되어 왔다. 최신 버전은 성느이 및 유연성, 보안성 면에서 향상되었다. SNMP는 정보지향적 동작 구조를 지니고 있어 정보 변수에 대한 단순한 요청과 응답 매커니즘으로 동작한다.(Get/Set) 또한, 관리자/대리인 형태로 동작한다.(Manager/Agent)

Manager는 관리하는 시스템으로 NMS가 속한다. 관리 시스템 안에 탑재하여, 관리용 메시지를 에이전트에 요청하고 모니터링한다. Agent는 관리되는 장비들이며 장비들의 종류는 허브, 라우터, 스위치, 브리지, 호스트 등이 포함된다. 관리 되는 장비 안에 탑재되는 서버 형태의 모듈로 장비 동작에 필요한 변수, 상태정보를 데이터베이스화하여 유지한다.

SNMP PDU Type

SNMP는 UDP 161, 162 포트를 사용한다. UDP 161 포트는 Get, Set 등 메세지를 전송하는데 사용되며 UDP 162 포트는 Trap 메시지 전송에 사용된다. 

  • GetRequest : 관리시스템이 Agent에게 정보를 요청할 때 하나 이상의 변수를 요청한다. 변수를 읽어들이고 Agent가 가지고 있는 변수를 읽는다.
  • GetNextRequest : 여러 개의 관리객체를 순서적으로 연속하여 참조할 시 전송되는 요청이다. 즉, 관리 정보를 연속해서 검색할 때 사용된다.
  • GetBulkRequest : 대형 변수 테이블을 한꺼번에 요청할 시 요청이다. 관리 정보를 대량으로 검색할 때 사용된다.
  • SetRqeust : 관리시스템이 객체의 값을 변경할 때 전송된다. 관리 정보를 바꿀 때 사용되는 것으로 변수를 넣거나 Agent가 갖고있는 변수를 바꿔쓸 때 사용한다.
  • GetResponse : Agent가 GetRequest에 대해 응답할 때 사용된다.
  • InformRequest : 로컬 MIB를 묘사하는 여러 관리노드 상호간의 메시지이다. 관리시스템(NMS) 간의 통신을 할 때 사용된다. 여기서 MIB는 Management Information Base의 약자로 관리 특성을 묘사하는 변수 객체들의 모음이다.
  • Trap : Agent가 관리 노드에게 트랩(이벤트, 사고 등) 보고할 때 사용된다. 예외 동작이나 시스템 장애 사태 발생등을 알릴 때 사용된다.
반응형