SNMP 20021643 최주홍 20041548 박정필 (Simple Network Management System)

Download Report

Transcript SNMP 20021643 최주홍 20041548 박정필 (Simple Network Management System)

SNMP
(Simple Network Management System)
20021643 최주홍
20041548 박정필
목차
Overview
SNMP(Simple Network Management Protocol)
MIB (Management Information Base )
SNMP Packet 구조
NMS ( Network Management System )
SNMPv1 VS SNMPv2
Overview(1/1)
인터넷/인트라넷의 많은 부분의 업무를 네트워크에 의존함
E-mail / Groupware / Server-Client 에 의한 업무처리와
Network의 대형화, 복잡화, Network를 이용한 업무의 증가
=> NetWork 의 중요성이 높아짐
Network 장애발생시
=>신속한 대처 / 발생 가능성을 사전에 제거하는 것이 중요
SNMP
SNMP(1/12)
SNMP (Simple Network Management Protocol)
정의 : 네트워크 관리를 위해 사용되는 간단한 프로토콜
목적 : 네트워크의 중앙집중화된 관리를 위해 만들어졌음
특징
SNMP는 응용계층에서 동작
전송계층 프로토콜로 UDP(User Datagram Protocol)를 사용
‘1970년대 후반
네트워크 장치의 연결 정보를 얻기 위해 ICMP가 사용
네트워크의 발전과 함께 기존의 프로토콜을 향상 시킨 SNMP가 사용
SNMP(2/12)
SNMP 발전 과정
현재까지 버전 3까지 세가지 버전이 만들어졌다. 각 버전의 차이는 대부분 보안
상의 문제에 의한 것이다.
버전 1
1988년 IAB(Internet Activities Board)에서 만듬
버전 1은 보안 기능이 없음
Community만 일치하면 모든 정보를 얻어낼 수 있음
버전 2
이러한 문제점을 해결하기 위하여 PDU Type을 정의할 수 있었고,
DES와 MD5를 이용한 보안 기능을 추가하여 1993년에 만들어졌으나, 버전 1과 근
본적으로 다르지 않았다
버전 3
1999년에 만들어짐
SNMP 버전 2에 인증 기능을 더함 (But! 버전 3은 아직 널리 쓰이지 않고 있음)
SNMP(3/12)
SNMP 기반의 TCP/IP네트워크 관리 모형
SNMP(4/12)
구성
SNMP Manager
정보를 수집하기 위해서 Request 메시지를 SNMP Agnet에게 전송
Agent
Response 메시지를 Manager에게 전송
SNMP(5/12)
관리국(Management Station)
관리국이란 쉽게 말해서 우리가 일반적으로 NMS서버라 부르는 스테이션을 말함
관리국은 최소한 가지고있어야 할 사항
데이터 분석, 에러복구 등의 관리 어플리케이션들의 집합
네트워크 관리자가 네트워크를 감시하고 조정할 수 있게 하는 인터페이스
네트워크 관리자의 요구 즉, 네트워크상의 대상 요소를 실제로 감시하고 조정할
수
있도록 바꾸어 줄 수 있는 기능
모든 네트워크상의 관리되어 질 수 있는 개체(Agent)들의 MIB으로부터 뽑아낸 데이터
베이스 정보
피관리 에이전트(Managed Agent)
일반적으로 SNMP Agent라고도 부르며 호스트 컴퓨터나 브리지, 라우터, 허브와 같은
장비로
관리국에 의해서 관리되어 질 수 있는 장비
피관리 에이전트는 독자적으로 장비 자신의 트래픽을 모니터링하고 그 통계 정보를 자
신의 MIB에
저장해두었다가 중앙의 관리국으로부터의 트래픽 정보 요구나 특정 동작 요청에 응답
하고, 특정사건 발생시 관리국에 에이전트의 중요 정보를 제공한다.
SNMP(6/12)
동작원리
Get Request
관리시스템이 특정변수값을 읽음
Get Next Request
관리 시스템이 이미 요청한 변수
다음의 변수 값을 요청
Set Request
관리 시스템이 특정 변수 값의
변경을 요청
Get Response
Agent가 관리 시스템에게 해당
변수 값을 전송
Trap
Agent의 특정 상황을 관리 시스
템에게 알림
다른 PDU와는 달리 Trap PDU는
다른 편으로부터 응답 메시지를
이끌어내지 않는다.
SNMP(7/12)
동작원리
GetRequest-PDU
Management Station이 관리대상들의 리스트에 관한 속성값을 얻기위해 Agent에 요구.
Agent는 그 요구에 대한 성공이나 실패를 나타내는 답을 보낸다. 즉.그 요구가 성공적이
라면 결과 메시지는 어떤 요구된 대상의 값을 포함하게 된다.
GetNextRequest-PDU
GetRequest-PDU와 동작원리가 거의 동일한 교환형태를 지니며 같은 형식을 갖고있다.
유일한 차이점은 GetRequest-PDU는 주어진 오브젝트에 대한 값이 결과로 돌아오는 반
면에 GetNextRequest-PDU는 주어진 오브젝트의 사전적 순서의 다음 오브젝트의 값이
돌아온다는 것이다.
GetResponse-PDU
이 PDU는 Management Station에 의해 요구된 MIB의 오브젝트의 속성값을 되돌려주기
위해 SNMP Agent에 의해 사용된다.
SetRequest-PDU
Agent의 특정 MIB 오브젝트 값을 읽기보다는 쓰기를 위한 동작이다.
그러므로 Variable Binding의 의 목록에 오브젝트명(OID)과 값의 형식, 쓰고자 하는 값을
모두 넣어줘야 한다.
Trap-PDU
Trap은 Agent 자신에 의해서 발생한다.
즉, 특정 상황이 발생했음을 Management Station에게 알린다.
SNMP(8/12)
GetRequest
SNMP는 MIB tree에서 leaf만을
retrieve하는 것이 가능.
단일 PDU에 variable-binding
을 이용하여 많은 값들을
retrieve할 수 있으나 그 값들
중 하나라도 응답이 불가능하
거나 모든 object들의 응답의
길이가 response-PDU에 대해
너무 클 경우 어떤 정보도 반환
하지 않는다.
Request-PDU와 response-PDU
의 request-id는 같아야 한다.
SNMP(9/12)
GetNextRequest
각각의 변수에 대하여
lexicographical순서에 바로 다
음 object instance값을 반환한
다. (다음 object가 아니다) Get
Request로 variable-bind를 요
구했을 때 하나라도 지원하지
않는 object가 있으면 error를
반환한다. 그러나
GetNextRequest로 variablebind를 요구하면 지원하지 않
는 object가 있을 시 바로 그 다
음 lexicographical순서에 있는
instance값을 반환한다.
SNMP(10/12)
SetRequest
object value를 기록하는데 사용
된다. (object instance identifier,
value)
SetRequest명령 역시
GetRequest명령과 마찬가지로 v
ariable-binding이 모두 update되
거나 하나라도 에러가 발생하면
하나도 update되지 않는다.
SNMP(11/12)
Trap
event발생에 대한 비동기적인
notification을 manager에게 전송
generic-trap field (INTEGER)
coldStart(0)
warmStart(1)
linkDown(2)
linkUp(3)
authenticationFailure(4)
egpNeighborLoss(5)
enterpriseSpecific(6)
SNMP(12/12)
Trap
Generic-trap은 7가지 값들 중의 하나이다.
coldStart (0)
송신하는 SNMP 개체는 에이전트의 구성이나 프로토콜 개체의 구현이 변경되어지는 경우에
스스로 재초기화할 수 있다. 전형적으로 이것은 충돌이나 주요 결함에 의한 예기치 않은 재시
작이다.
warmStart (1)
송신하는 SNMP 개체는 에이전트의 구성이나 프로토콜 개체의 구현이 변경되어지는 경우와
관계 없이 스스로 재초기화 할 수 있다. 전형적으로 이것은 정해진 재시작이다.
linkDown (2)
에이전트의 통신 링크 중 하나에 결함이 생겼음을 알린다. Variable binding의 처음은 참조하
고자 하는 인터페이스의 ifIndex의 이름과 값이다.
linkUp(3)
에이전트의 통신 링크가 가동되었음을 알린다. Variable binding의 처음은 참조하고자 하는 인
터 페이스의 ifIndex의 이름과 값이다.
authenticationFailure(4)
송신하는 프로토콜 개체가 인증에 실패했다는 메시지를 받았음을 알린다.
egpNeighborLoss (5)
EGP 이웃이 사라졌거나 이웃 관계가 더 이상 존재하지 않을 때 이를 알린다.
enterpriseSpecific (6)
EnterpriseSpecific은 표준 Trap을 제외한 그밖의 상태를 알리고자하는데 사용된다.
SNMP Packet 구조
SNMP Packet 구조(1/2)
Version
SNMP의 버전번호
요즘은 Version 2c 를 많이 사용.
Community
인증, 접근방침, proxy의 특성을 정의하는 하나의 SNMP Agent와 여러
SNMP Manager 사이의 관계
한 SNMP Agent는 여러 Community를 가질 수 있으나, 그 Agent내에서
Community 각각의 이름은 서로 달라야 함
Community의 이름은 패스워드의 역할을 하므로, SNMP Manager로부터
의 모든 메시지는 이름을 포함해야 함
SNMP PDU의 종류
첫 번째 필드는 PDU type을 지시, 이 필드를 통해 5가지 PDU 종류가 구분
각각의 다섯 PDU는 ASN.1 형태에 의해 개별적으로 정의된다. 그리고 각
PDU의 variablebindings 필드는 이름과 값의 형식들로 이루어진다.
SNMP Packet 구조(2/2)
SNMP PDU Format
MIB
MIB(1/2)
정의
Management Information Base
Manager와 Agent사이에 특정한 정보를 주고 받는 것이 네트워크 관리의 기본이
다. 관리 되어야 할 특정한 정보(Information), 자원(Resource)을 객체(Object)라 한
다. 이런 객체들을 모아놓은 집합체를 MIB이라고 한다.
즉, 관리자가 조회하거나 설정할 수 있는 객체들의 데이터베이스
MIB 객체의 종류 :
SNMP, System Interface, AT(Address Translation), IP, ICMP, TCP, UDP, EGP, Transmi
ssion
특징
MIB은 관리되는 네트워크 요소의 각 특성 객체들의 계층적이며 구조적인 집합을
의미한다.
네트워크를 관리한다는 것은 관리대상인 장비(Workstation, printer,server,hub,rout
er…)들이 제공하는 MIB중에서 특정값을 얻어와서 그 장비의 상태를 파악하거나,
그 값을 변경함을 의미
MIB들은 SNMP와 같은 네트워크 관리 protocol을 사용하여 접근된다.
MIB(2/2)
특징
MIB은 관리되는 네트워크 요
소의 각 특성 객체들의 계층적
이며 구조적인 집합을 의미
네트워크를 관리한다는 것은
관리대상인 장비(Workstation,
printer,server,hub,router…)들이
제공하는 MIB중에서 특정값을
얻어와서 그 장비의 상태를 파
악, 그 값을 변경함을 의미
MIB들은 SNMP와 같은 네트워
크 관리 protocol을 사용하여
접근된다.
NMS
NMS(1/5)
소규모의 네트워크에서는 관리 대상이 한정으로 NMS 도입의 필요
성을 느끼지 못함. 그러나 네트워크는 확대 되고 통신장비 및 시스템
의 수가 증가 하고 있다.
이들을 효과적으로 관리 할 수 없는 경우
망의 확장, 유지보수 및 서비스 제공에 커다란 장애요인으로 등장
네트워크 운영 및 관리가 비효율적, 투자 비용의 낭비가 일어날 확률이 많
기 때문
각 네트워크 장비 제조회사에서 제작된 많은 종류의 장비들이 각각 독자적
인 관리 프로토콜을 가지고 있다면 일관성 있게 관리한다는 것은 거의 불가
능 할 것이다.
따라서 국제 표준화 그룹은 네트워크 관리를 위한 표준 프로토콜을
제정하고 있으며, 이러한 표준 프로토콜을 지원하는 통신 장비를 사
용하도록 권장하고 있다.
NMS(2/5)
NMS 란?
Network Management System
NMS는 네트워크상의 전 장비들의 중앙 감시 체제를 구축하여 Monitoring,
Planning 및 분석이 가능하며 관련 데이터를 보관하여 필요 즉시 활용 가능
하게 하는 관리 시스템이다.
Cisco(Ciscoworks), HP(Openview), 3COM(Viewbuilder)등..
NMS의 기본적 공통점
전 장비들의 중앙 감시 체제를 구축 (Monitoring, Planning, 분석)
SNMP Protocol을 관리 Protocol 로 사용
Ethernet 및 FDDI 네트워크에 접속되어 있는 자원들을 관리
GUI(Graphic User Interface)를 지향
MIB-1, MIB-2 및 타 벤더의 특정 MIB을 지원
보안성이 우수하고 관리가 용이 해야함
NMS(3/5)
SNMP 기반의 네트워크관리
NMS(4/5)
NMS(5/5)
네트워크 관리에 필요한 요소
장해 관리
- 장해의 검출, 분리, 이상 동작의 검지
2. 이용 통계
- 이용 통계 정보의 수집, 각 기기, 매체 이용에 대한 코스트 관리
3. 구성
- 네트워크 기기 구성의 관리
4. 효율
- 효율적인 통신이 행하여지고 있는 것의 평가
5. 보안
- 각 기기의 본래의 목적으로 동작하도록 지킴
SNMP v2
SNMPv1 VS SNMPv2(1/3)
SNMPv1 의 문제점
보안기능이 거의 없다.
sysLocation 처럼 객체에 단 하나만의 값이 존재하는 경우는 문제가
없으나 RoutingTable처럼 많은 열(row)이 존재하는 경우에는 전체 테
이블을 읽고 싶을 때 수많은 요청/응답을 반복해야 한다.
여러 관리자가 존재시에 관리자간의 통신기능이 정의 되어 있지 않다.
SNMPv1 VS SNMPv2(2/3)
SNMPv2 의 등장
관리자와 관리자간의 통신을 위한 InformRequest-PDU가 정의
이를 위한 Management To Management MIB를 정의
관리자간의 통신이 가능해짐으로 분산관리의 도입이 가능
커다란 테이블 객체들의 값을 쉽게 읽어오기 위해서 GetBulkRequest-PDU를 도입
한번의 요청으로 여러 테이블 값들을 읽어오는 것이 가능해졌고 불필요한 대역폭을 줄
일 수 있게 되었다.
가장 큰 문제였던 보안 기능이 추가
데이터 보안 기능을 위해서 DES(Data Encryption Standard) 알고리즘을 사용.
인증 절차에 대한 보안을 위해서 MD5(Message Digest 5)알고리즘을 사용.
party mib을 이용해서 특정한 사용자에게만 특정 객체를 이용하거나 못하게하는
접근통제(Access Control)기능추가.
SNMPv1은 UDP를 기본으로 이용하는데 비해서 SNMPv2는 전송계층에 대해서
UDP 뿐만 아니라 OSI Connectionless Network Services(CLNS), AppleTalk’s Datag
ram Deivery Protocol(DDP), Novell’s Internetwork Packet Exchange(IPX) 등도 구
현할 수 있도록 정의
SNMPv1 VS SNMPv2(3/3)
관리되는 장비들은 다음 SNMPv2 명령어를 사용하여 관
리되고 제어된다.
UDP 161
port
Get (GetNext), Set
Trap, Response
Manager A
Inform
UDP 162
port
Agent #1
Response
Get (GetNext, GetBulk), Set
Trap, Response
Manager B
Agent #2
SolarWinds Engineer’s Toolset
IP Address Management
IP Address Management
Mac Address Discovery
Port Scanner
MIB Viewer
Update System MIB
참고