Chapter 23

58
1 HANNAM UNIVERSITY Http://netwk.hannam.ac.kr Chapter 23 Simple Network Management Protocol (SNMP)

description

Chapter 23. Simple Network Management Protocol (SNMP). CONTENTS. CONCEPT MANAGEMENT COMPONENTS SMI MIB SNMP MESSAGES UDP PORTS SECURITY. 23.1. CONCEPT. 2 3.1 개념. 2 3.1 개념. 관리자와 에이전트 관리자( manager) SNMP 클라이언트 프로그램을 수행하는 호스트 데이터베이스에서 값들을 읽어옴 - PowerPoint PPT Presentation

Transcript of Chapter 23

Page 1: Chapter 23

1HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

Chapter 23

Simple NetworkManagement Protocol

(SNMP)

Page 2: Chapter 23

2HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

CONTENTSCONTENTS• CONCEPT• MANAGEMENT COMPONENTS• SMI• MIB• SNMP• MESSAGES• UDP PORTS• SECURITY

Page 3: Chapter 23

3HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

CONCEPT

23.123.1

Page 4: Chapter 23

4HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.1 3.1 개념개념

Page 5: Chapter 23

5HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.1 3.1 개념개념

관리자와 에이전트

관리자 (manager) SNMP 클라이언트 프로그램을 수행하는 호스트 데이터베이스에서 값들을 읽어옴 라우터로 하여금 특정한 동작을 행하도록 함 ( 예 ,

재시동 )

에이전트 (agent) SNMP 서버 프로그램을 수행하는 라우터 ( 또는 호스트 ) 데이터베이스에 성능 정보를 유지 관리 과정에 기여

Page 6: Chapter 23

6HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.1 3.1 개념개념

관리자와 에이전트 ( 계속 )

관리 관리자와 에이전트간의 간단한 대화에 의해 수행

SNMP 를 사용한 관리 관리자는 에이전트의 행동을 반영하는 정보를 요구하여

에이전트를 검사한다 관리자는 에이전트 데이터베이스에 있는 값을 리셋하여

에이전트가 작업을 수행하도록 한다 에이전트는 비정상적인 상황을 관리자에게 경고하여

관리 과정에 기여한다

Page 7: Chapter 23

7HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

MANAGEMENTCOMPONENTS

23.223.2

Page 8: Chapter 23

8HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.2 3.2 관리 구성요소관리 구성요소

Page 9: Chapter 23

9HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.2 3.2 관리 구성요소관리 구성요소

SNMP defines the format of packets SNMP defines the format of packets exchanged between a manager and exchanged between a manager and

an agent. an agent. It reads and changes the status It reads and changes the status (values) of objects (variables) in (values) of objects (variables) in

SNMP packets.SNMP packets.

Page 10: Chapter 23

10HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.2 3.2 관리 구성요소관리 구성요소

SMI defines the general rules for naming SMI defines the general rules for naming objects, defining object types objects, defining object types (including range and length), (including range and length),

and showing how to and showing how to encode objects and values. encode objects and values.

Page 11: Chapter 23

11HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.2 3.2 관리 구성요소관리 구성요소

SMI defines neither the SMI defines neither the number of objects an entity number of objects an entity

should manage, should manage, nor names the nor names the

objects to be managed nor objects to be managed nor defines the association between defines the association between

the objects and their values.the objects and their values.

Page 12: Chapter 23

12HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.2 3.2 관리 구성요소관리 구성요소

MIB creates a collection of named objects, MIB creates a collection of named objects, their types, and their relationships their types, and their relationships

to each other in to each other in an entity to be managed. an entity to be managed.

Page 13: Chapter 23

13HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.2 3.2 관리 구성요소관리 구성요소

We can compare the task of network We can compare the task of network management to the task of writing management to the task of writing a program.a program.1. Both tasks need rules. In network management this is 1. Both tasks need rules. In network management this is handled by SMI.handled by SMI.2. Both tasks need variable declarations. 2. Both tasks need variable declarations. In network management this is handled by MIB. In network management this is handled by MIB.3. Both tasks have actions performed by statements.In 3. Both tasks have actions performed by statements.In network management this is handled by SNMP.network management this is handled by SNMP.

Page 14: Chapter 23

14HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

SMI

23.323.3

Page 15: Chapter 23

15HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

SMI(Structure of Management Information)

SNMP 를 위한 지침기능

객체에 이름을 붙인다 객체에 저장된 데이터의 종류를 결정한다 네트워크 상의 전송을 위해 데이터를 어떻게 인코딩

할지를 보여준다

Page 16: Chapter 23

16HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

SMI

객체 속성

Page 17: Chapter 23

17HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

이름

트리 구조에 기초한 계층적 식별자인 객체 식별자를 사용

정수 - 점 표현 : SNMP 에 의해 사용 예 ) 1.3.6.1.2.1

이름 - 점 표현 : 사람이 사용 예 ) iso.org.dod.internet.mgmt.mib

SNMP 에서 사용되는 객체는 mib 객체 밑에 위치 → 식별자는 항상 1.3.6.1.2.1 로 시작

Page 18: Chapter 23

18HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

객체 식별자

Page 19: Chapter 23

19HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

All objects managed by SNMP All objects managed by SNMP are given an object identifier. are given an object identifier.

The object identifier always starts The object identifier always starts with 1.3.6.1.2.1.with 1.3.6.1.2.1.

Page 20: Chapter 23

20HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

데이터 유형

저장되는 데이터 유형SMI 는 ASN.1 의 부분집합이면서 포함 집합

Page 21: Chapter 23

21HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

단순 유형

A counting value that records time in 1/100 sec-onds4 bytesTimeTicks

Same as Counter, but when it reaches its maximum value, it does nto wrap; it remains there until it is reset4 bytesGauge

An integer whose value and be incremented form zero to 4, 294, 967, 295; when it reaches its maximum value it wraps back to zero

4 bytesCounter

An IP address made of four integers4 bytesIPAddress

An object identifier represented in ASCII digitsVariableObjectIdentifier

Zero or more ASCII charactersVariableString

A cardinal number between 0 and 232-14 bytesInteger

DescriptionSizeType

Page 22: Chapter 23

22HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

구조적 유형

Sequence 반드시 같은 데이터 종류일 필요는 없는 , 단순 데이터

유형들의 결합 예 ) 프로그래밍 언어에서의 구조체나 레코드의 개념

Sequence of 모두 같은 유형인 단순 데이터 유형들의 결합 모두 같은 유형인 sequence 데이터 유형들의 결합 예 ) 프로그래밍 언어에서의 배열의 개념

Page 23: Chapter 23

23HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

개념적 데이터 유형

Page 24: Chapter 23

24HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

인코딩 방식

BER(Basic Encoding Rules) 표준 사용하여 전송되는 데이터를 인코딩

Page 25: Chapter 23

25HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

인코딩 방식 ( 계속 )

Tag : 데이터 유형을 정의하는 한 바이트 필드 Class : 데이터의 범위를 정의 Format : 단순 (0)/ 구조적 (1) 데이터 유형 지정 Number : 단순 / 구조적 데이터를 서브 그룹들로 나눈다

Page 26: Chapter 23

26HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

430100001100011001TimeTicks

420100001000010001Gauge

410100000100001001Counter

400100000000000001IPAddress

300011000010000100Sequence sequence of

060000011000110000ObjectIdentifier

040000010000100000String

020000001000010000Integer

Tag(Hex)Tag(Binary)NumberFormatClassData

Page 27: Chapter 23

27HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

인코딩 방식 ( 계속 )

Length : 데이터의 길이를 규정 한 바이트 : 최상위 비트 0 한 바이트 이상 : 첫번째 바이트의 최상위 비트 1

Value : 데이터의 값을 부호화

Page 28: Chapter 23

28HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

예제 1

Page 29: Chapter 23

29HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

예제 2

String HI 정의

Page 30: Chapter 23

30HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

예제 3

객체 식별자 1.3.6.1(iso.org.dod.internet) 정의

Page 31: Chapter 23

31HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.3 SMI3.3 SMI

예제 4

IP 주소 131.21.14.8 정의

Page 32: Chapter 23

32HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

MIB

23.423.4

Page 33: Chapter 23

33HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.4 MIB3.4 MIB

MIB(Management Information Base)

각 에이전트는 관리자가 관리할 수 있는 모든 객체를 모아놓은 자신의 MIB 를 갖는다

8 개의 서로 다른 그룹으로 분류각 그룹은 값 그리고 / 또는 테이블을 규정

Page 34: Chapter 23

34HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

23.4 MIB23.4 MIB

MIB-2

Page 35: Chapter 23

35HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.4 MIB3.4 MIB

MIB 변수 액세스Udp 그룹의 예 : 단순변수 4 개 , 레코드 열 1 개

Page 36: Chapter 23

36HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.4 MIB3.4 MIB

단순 변수 그룹 식별자 + 변수의 식별자 : 변수 정의udpInDatagrams ====> 1.3.6.1.2.1.7.1

udpNoPorts ====> 1.3.6.1.2.1.7.2

udpInErrors ====> 1.3.6.1.2.1.7.3

udpOutDatagrams ====> 1.3.6.1.2.1.7.4 실제 값 / 내용 : 인스턴스 접미사 (0) 사용udpInDatagrams.0 ====> 1.3.6.1.2.1.7.1.0

udpNoPorsts.0 ====> 1.3.6.1.2.1.7.2.0

udpInErrors.0 ====> 1.3.6.1.2.1.7.3.0

udpOutDatagrams.0 ====> 1.3.6.1.2.1.7.4.0

Page 37: Chapter 23

37HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.4 MIB3.4 MIB

테이블 테이블 식별자를 사용 Udp 그룹 : 1 개의 테이블udpTable ====> 1.3.6.1.2.1.7.5 테이블의 엔트리 (sequence) 정의udpEntry ====> 1.3.6.1.2.1.7.5.1 엔트리에 있는 각 항목의 정의udpLocalAddress ====> 1.3.6.1.2.1.7.5.1.1udpLocalPort ====> 1.3.6.1.2.1.7.5.1.2 테이블의 특정 인스턴스를 읽기 위해 색인 추가udpLocalAddress.181.23.45.14.23

====> 1.3.6.1.2.1.7.5.1.1. 181.23.45.14.23

Page 38: Chapter 23

38HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.4 MIB3.4 MIB

Udp 변수와 테이블

Page 39: Chapter 23

39HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.4 MIB3.4 MIB

Udp Table 에 대한 색인

Page 40: Chapter 23

40HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.4 MIB3.4 MIB

사전적 순서객체 식별자는 사전적 순서로 되어 있다열 - 행 규칙에 따라 배열 → 열 순으로 접근관리자가 변수들의 조합을 첫번째 변수를 정의한

후 차례대로 읽는 것이 가능

Page 41: Chapter 23

41HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.4 MIB3.4 MIB

사전적 순서

Page 42: Chapter 23

42HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

SNMP

23.523.5

Page 43: Chapter 23

43HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.5 SNMP3.5 SNMP

SNMP(Simple Network Management Protocol)네트워크 관리에 SMI 와 MIB 를 모두 사용관리자가 에이전트에서 정의된 객체의 값을

읽는다관리자가 에이전트에서 정의된 객체에 값을 저장에이전트가 비정상적 상황에 대한 경고 메시지를

관리자에게 보낸다

Page 44: Chapter 23

44HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.5 SNMP3.5 SNMP

SNMP PDU

Page 45: Chapter 23

45HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.5 SNMP3.5 SNMP

GetRequest변수의 값을 읽기 위하여 관리자 ( 클라이언트 ) 가

에이전트 ( 서버 ) 로 보내는 메시지 GetNextRequest

변수의 값을 읽기 위하여 관리자가 에이전트로 보내는 메시지

읽혀진 값 : 메시지에 정의된 ObjectID 바로 다음 객체의 값

GetBulkRequest많은 양의 데이터를 읽기위해 보내는 메시지

Page 46: Chapter 23

46HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.5 SNMP3.5 SNMP

SetRequest 관리자가 변수에 값을 설정하기 위해 전송하는 메시지

Trap 에이전트가 사건을 관리자에게 보고하기 위해 전송되는

메시지 예 ) 에이전트의 재시동 시간 보고

InformRequest 원격 관리자의 제어하에 있는 에이전트로부터 어떤 변수

값을 얻기 위해 한 관리자가 다른 원격 관리자에게 전송 Report

오류 유형을 보고하기 위해 사용

Page 47: Chapter 23

47HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.5 SNMP3.5 SNMP

SNMP PDU 형식

Page 48: Chapter 23

48HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.5 SNMP3.5 SNMP

SNMP PDU 형식PDU 유형 : 유형 정리Request ID : 순서번호Error Status : 에이전트에 의해 보고되는 오류의 종류Non-repeaters : GetBulkRequest 만 사용Error Index : 오류를 일으킨 변수가 어느 것인지

알려주는 옵셋Max-repetition : GetBulkRequest 에서만 사용VarBindList : 관리자가 읽기나 설정하기를 원하는

값을 갖는 변수들의 조합

Page 49: Chapter 23

49HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.5 SNMP3.5 SNMP

오류 종류

Other errors genErr5

The value cannot be modified readOnly4

The Value to be stored is invalid badValue3

Variable does not exist noSuchName2

Response too big to fit in one message tooBig1

No error noError0

MeaningNameStatus

Page 50: Chapter 23

50HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

MESSAGES

23.623.6

Page 51: Chapter 23

51HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.6 3.6 메시지메시지

SNMP 메시지

Page 52: Chapter 23

52HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.6 3.6 메시지메시지

Data Class Format NumberWholeTag(Bin

ary)WholeTag(H

ex)

GetRequest 10 1 00000 10100000 A0

GetNextRequest 10 1 00001 10100001 A1

Response 10 1 00010 10100010 A2

SetRequest 10 1 00011 10100011 A3

GetBulkRequest 10 1 00101 10100101 A4

InformRequest 10 1 00110 10100110 A5

Trap(SNMPv2) 10 1 00111 10100111 A6

Report 10 1 01000 10101000 A7

SNMP 메시지에 대한 코드

Page 53: Chapter 23

53HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.6 3.6 메시지메시지 예제 1

관리자 지국이 라우터가 수신한 UDP 데이터그램의 수를 읽기 위해 GetRequest 메시지 사용

GetRequest Encoding

30 34 Sequence of length 52

02 01 03 INTEGERoflength 1, version=3

30 0C Sequence of length 12 (header)

02 01 40 INTEGERoflength 1, messageID=64

02 02 04 00 INTEGERoflength2, maximumsize=1024

04 01 00 OCTETSTRINGoflength 1, allflagszero

02 00 OCTETSTRING of length 0, no security model

04 00 OCTETSTRING of length 0, no security parameter

30 1F Sequence of length 31, Data

A0 1D GetRequest PDU(no encryption) of length 29

02 04 00 01 06 11 INTEGERoflength04, RequestID=0001061116

02 01 00 INTEGERoflength01, ErrorStatus=0016

02 01 00 INTEGERoflength01, ErrorIndex=0016

30 0F Sequence of length 15

30 0D Sequence of length 13

06 09 01 03 06 01 02 01 07 01 00 ObjectId of length 09, udpInDatagram

05 00 Null entity of length 00

Page 54: Chapter 23

54HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.6 3.6 메시지메시지 GetRequest 메시지

Page 55: Chapter 23

55HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

UDPPORTS

23.723.7

Page 56: Chapter 23

56HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.7 UDP 3.7 UDP 포트포트

SNMP 의 UDP 서비스 사용잘 알려진 포트 161( 에이전트 ) 과 162( 관리자 )

사용클라이언트와 서버 모두 잘 알려진 포트를 사용클라이언트와 서버 모두 무한히 수행

Page 57: Chapter 23

57HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

223.7 UDP 3.7 UDP 포트포트

SNMP 의 포트 번호

Page 58: Chapter 23

58HANNAM UNIVERSITYHttp://netwk.hannam.ac.kr

23.823.8

SECURITY