snmp에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文...

49
工學碩士學位請求論文 SNMP 에서 트래픽 감소를 위한 동적 폴링 알고리즘 Dynamic Polling Algorithm to Reduce Traffic in SNMP 2001年 8月 仁荷大學校 産業大學院 産業電子工學科

Upload: others

Post on 11-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

工學碩士學位請求論文

SNMP에서 트래픽 감소를 위한

동적 폴링 알고리즘

Dynamic Polling Algorithm

to Reduce Traffic

in SNMP

2001年 8月

仁荷大學校 産業大學院

産業電子工學科

許 根 榮

Page 2: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

工學碩士學位請求論文

SNMP에서 트래픽 감소를 위한

동적 폴링 알고리즘

Dynamic Polling Algorithm

to Reduce Traffic

in SNMP

2001年 8月

指導敎授 崔 相 昉

이 論文을 工學碩士 學位論文으로 提出함

仁荷大學校 産業大學院

産業電子工學科

許 根 榮

Page 3: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

이 論文을 許根榮의 碩士學位論文으로 認定함

2001年 8月

主審 : (인)

副審 : (인)

委員 : (인)

Page 4: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

요 약

지금까지 폴링 메시지의 트래픽의 증가를 통제하는 동적인 폴링

알고리즘이 많이 제안되었다. 그러나 기존의 방법들은 네트워크 노

드들의 상태를 확인할 뿐이며 폴링 주기가 네트워크 상태의 변화를

고려하지 못하기 때문에 관리 정보 값들의 변화를 알 수 없다.

본 논문은 실시간으로 변하는 네트워크 상태에 대한 관리 방법과

네트워크 트래픽 감소에 대한 대책에 대하여 제안한다.

제안된 폴링 알고리즘에서 각 대행자 정보의 실시간 관리를 위해

관리자는 대행자 정보의 시간에 따른 값에서 DFT(Discrete Fourier

Transformation)를 이용하여 최대 주파수 성분 fmax를 추출하고, 이

주파수의 2배의 주파수로 폴링을 수행하도록 주기를 결정한다.

또한, 제안된 폴링 알고리즘에서는 대행자가 정해진 폴링 주기에 따

라 정보를 전송하는 단방향의 폴링만 수행하도록 한다.

최초 폴링 주기 1.0Ssec를 부여하여 시뮬레이션을 실시하였다. 시

뮬레이션 결과 제안된 폴링 알고리즘이 최대 주파수 검출에 있어서

충분한 정확성을 가지고 있다는 것이 증명되었다. 또한 제안된 폴링

알고리즘은 일반적인 폴링 알고리즘과 비교하여 64%의 폴링 회수로

관리 정보 값에 대한 비슷한 추적성을 가진다.

제안된 폴링 알고리즘에서 대행자 스스로 DFT를 이용한 최대 주파

수를 검출하고, 폴링 주기를 계산함으로써 실시간으로 변하는 네트

워크 상태에 대한 관리가 가능하며, 대행자가 관리자로부터의 폴링

요청 없이 정보를 전송함으로써 단방향의 네트워크 부하만 발생되므

로 네트워크 트래픽을 1/2로 감소시킬 수 있다.

- ⅰ -

Page 5: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

Abstract

Many dynamic polling algorithms have been proposed for

controlling the increase in the polling message traffic.

However, they cannot keep track of the time variations of

management information values, since their main objectives are

to check whether or not a network node is active and next

polling interval is determined being independent of the time

variations of the values.

In this paper, the algorithm for the state of a network in

real-time and reducing the network traffic is proposed.

In the proposed polling algorithm,for the purpose of managing

the information values of agents in real-times. manager detects

the maximum frequency f m a x using DFT(Discrete Fourier

Transformation), and decides the polling interval to be twice

that frequency. And, in the proposed algorithm, it occurs only

the one-directional network traffic that agent sends the

information values to manager.

Simulation was accomplished with initial polling interval

1.0sec. By the result of simulation it improved that the

proposed polling algorithm has enough precision on detection of

maximum frequency. And, proposed polling algorithm has almost

the same capability to keep trac of management information

values in comparison with general polling algorithm.

- ⅱ -

Page 6: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

In the proposed polling algorithm, by making use of DFT, and

one-directional polling method, the proposed algorithm can

manage the network state in real-time and reduce network

traffic to half of that of the existing methods.

- ⅲ -

Page 7: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

목 차

요 약 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ⅰ

Abstract · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ⅱ

목 차 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ⅳ

그림목록 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ⅵ

표 목 록 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ⅶ

제 1 장 서 론 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1

1.1 TCP/IP 네트워크의 개요 · · · · · · · · · · · · · · · · · · · · · · 1

1.2 네트워크 프로토콜의 계층화 · · · · · · · · · · · · · · · · · · · 3

1.3 TCP/IP 응용 프로그램 · · · · · · · · · · · · · · · · · · · · · · · 4

제 2 장 TCP/IP 네트워크 관리 · · · · · · · · · · · · · · · · · · · · · · 7

2.1 네트워크 관리 모델 · · · · · · · · · · · · · · · · · · · · · · · · · 7

2.2 관리 대상 노드와 SNMP · · · · · · · · · · · · · · · · · · · · · · · 9

2.3 TCP/IP 네트워크 관리의 세 부분 · · · · · · · · · · · · · · · · 10

2.4 관리되는 정보를 위한 표준 · · · · · · · · · · · · · · · · · · · 11

2.4.1 MIB 변수의 예 · · · · · · · · · · · · · · · · · · · · · · · · · · 13

2.4.2 관리 정보의 구조 · · · · · · · · · · · · · · · · · · · · · · · 13

2.4.3 ASN.1을 사용하는 형식적인 정의 · · · · · · · · · · · · · 14

제 3 장 SNMP · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 16

3.1 SNMP에서의 관리 전형 · · · · · · · · · · · · · · · · · · · · · · · 16

3.2 SNMP 명령과 프로토콜 · · · · · · · · · · · · · · · · · · · · · · · 18

3.3 관리 정보 구조 · · · · · · · · · · · · · · · · · · · · · · · · · · · 22

3.4 객체 식별자 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 24

3.5 트랩 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 25

- ⅳ -

Page 8: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

제 4 장 동적 폴링 알고리즘 · · · · · · · · · · · · · · · · · · · · · · · 28

4.1 일반적인 폴링 알고리즘 · · · · · · · · · · · · · · · · · · · · · 28

4.2 새로운 폴링 알고리즘의 제안 · · · · · · · · · · · · · · · · · · 29

제 5 장 시뮬레이션 · · · · · · · · · · · · · · · · · · · · · · · · · · · · 32

5.1 시뮬레이션 조건 · · · · · · · · · · · · · · · · · · · · · · · · · · 32

5.2 시뮬레이션 결과 · · · · · · · · · · · · · · · · · · · · · · · · · · 33

5.2.1 최대 주파수 검출의 정확도 · · · · · · · · · · · · · · · · · 33

5.2.2 관리 정보 값에 대한 추적성 · · · · · · · · · · · · · · · · 34

제 6 장 결 론 · · · · · · · · · · · · · · · · · · · · · · · · · · · · 37

참고문헌 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 38

- ⅴ -

Page 9: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

그 림 목 록

1.1 TCP/IP 인터넷의 예 · · · · · · · · · · · · · · · · · · · · · · · · · · 2

1.2 TCP/IP 프로토콜 그룹의 4 계층 · · · · · · · · · · · · · · · · · · · 3

2.1 네트워크 관리의 모델 · · · · · · · · · · · · · · · · · · · · · · · · · 8

2.2 네트워크 관리의 목표 · · · · · · · · · · · · · · · · · · · · · · · · · 9

2.3 관리 대상 노드 · · · · · · · · · · · · · · · · · · · · · · · · · · · · 10

3.1 SNMP 관리 방식 · · · · · · · · · · · · · · · · · · · · · · · · · · · · 17

3.2 5 종류의 SNMP 연산자 · · · · · · · · · · · · · · · · · · · · · · · · 19

3.3 5 종류의 SNMP 메시지 형식 · · · · · · · · · · · · · · · · · · · · 20

3.4 SNMP의 2차원 배열에 따른 UDP 수신자 테이블

(udpTable) · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 24

3.5 관리 정보 기반의 객체 식별자 · · · · · · · · · · · · · · · · · · · 26

4.1 제안된 동적 폴링 알고리즘의 흐름도 · · · · · · · · · · · · · · · 30

4.2 메시지 흐름도 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31

5.1 대행자 정보 값의 시간에 다른 변화 · · · · · · · · · · · · · · · 33

5.2 제안된 폴링 알고리즘에 의해 검출된 최대 주파수 · · · · · · · 34

5.3 관리 정보 값에 대한 추적성 계산 · · · · · · · · · · · · · · · · · 36

- ⅵ -

Page 10: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

표 목 록

2.1 MIB에 있는 정보들의 종류 · · · · · · · · · · · · · · · · · · · · · 12

2.2 MIB 변수들의 예 · · · · · · · · · · · · · · · · · · · · · · · · · · · 14

3.1 SNMP 메시지의 PDU 유형 · · · · · · · · · · · · · · · · · · · · · · · 21

3.2 SNMP 에러 상황 값 · · · · · · · · · · · · · · · · · · · · · · · · · · 21

3.3 트랩 유형 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 26

5.1 시뮬레이션 조건 · · · · · · · · · · · · · · · · · · · · · · · · · · · 32

- ⅶ -

Page 11: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

제 1 장 서 론

1.1 TCP/IP 네트워크의 개요

TCP/IP를 약자로 말하면 사람마다 여러 가지 개념과 착상을 떠올

릴수 있다. TCP/IP라는 용어는 데이터 전송을 위한 통신 프로토콜을

가리키는 말로 사용되는 것이 일반적이다. TCP는 Transmission

Control Protocol(전송 제어 프로토콜)의 약자이며 IP는 Internet

Protocol의 약자이다. 통신 프로토콜은 네트워크로 연결된 컴퓨터들

이 서로 통신할 수 있도록 하기위한 규칙과 규정의 집합이다. 사람

들이 자신의 의사를 전달하려면 널리 알려진 언어를 사용해야 되듯

이 컴퓨터도 마찬가지이다. 컴퓨터 네트워크는 인간이 사용하는 통

신방법을 흉내낸 것이다. 컴퓨터 네트워크에 아주 널리 사용되는 언

어는 TCP/IP이다[1].

TCP와 IP를 가리키는 말이 TCP/IP 뿐인 것은 아니다. TCP/IP와 관

련된 프로토콜 그룹을 가리키는 말은 User Datagram Protocol(사용

자 데이터그램 프로토콜, UDP), File Transfer Protocol(파일 전송

프로토콜, FTP), Terminal Emulation Protocol(단말기 에뮬레이션

프로토콜, Telnet), Hypertext Transfer Protocol(하이퍼텍스트 전

송 프로토콜, HTTP) 등 TCP/IP외에도 많이 있다[2].

그림 1.1은 TCP/IP를 사용하는 표본 TCP/IP 네트워크를 나타낸다.

이 그림에서 TCP/IP는 FTP, Telnet, HTTP등 TCP/IP를 사용하는 통신

프로토콜과 응용 프로그램을 가리킨다[1].

TCP/IP를 사용하는 네트워크를 TCP/IP 인터넷이라 한다. 그림 1.1

은 TCP/IP 인터넷의 예이다. 그러면 TCP/IP 인터넷과 인터넷의 차이

- 1 -

Page 12: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

점은 무엇인가? TCP/IP 인터넷은 TCP/IP 프로토콜을 사용하는 모든

네트워크를 말하며, 다른 네트워크에 연결될 수도 있고 그렇지 않을

수도 있다. 인터넷은 현재 엄청난 수의 컴퓨터를 가진 세계 최대의

네트워크이다. 인터넷은 여러 대륙에 걸쳐 있으며 주로 TCP/IP를 바

탕으로 하고 있다[3].

기업이 자체의 사설망에서 인터넷 서비스(특히 HTTP 프로토콜로

구현된 World Wide Web서비스)를 사용할 경우 TCP/IP 인터넷은 인트

라넷이라고 불린다. 인트라넷에 사용되는 응용 프로그램 서비스는

인터넷에 사용되는 것과 같거나 인터넷 응용 프로그램의 수정판이다

[1].

- 2 -

TCP/IP인터넷

TCP/IP인터넷

단말기

IBM SNA호스트

TCP/IP 파일전송 프로토콜

비동기호스트

메인 프레임

그림 1.1 TCP/IP 인터넷의 예Fig. 1.1 Example of TCP/IP Internet.

Page 13: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

1.2 네트워크 프로토콜의 계층화

네트워크 프로토콜은 일반적으로 계층(Layer)적인 개념을 가지고

발달되었는데, 각 계층은 통신의 서로 다른 상대에 대해서 책임을

갖는다. TCP/IP와 같은 프로토콜 그룹 (Protocol Suite)은 여러 계

층의 프로토콜 조합으로 되어 있다. TCP/IP는 보통 그림 1.2에 나타

난 것처럼 4 계층 시스템으로 생각할 수 있다[3].

- 3 -

응 용

트랜스포트

네트워크

링 크

Telnet, FTP, e-mail 등

TCP, UDP

IP, ICMP, IGMP

장치 드라이버와 인터페이스 카드

그림 1.2 TCP/IP 프로토콜 그룹의 4 계층Fig. 1.2 4 Classes of TCP/IP Protocol Group.

링크(Link) 층은 데이터 링크 층, 또는 네트워크 인터페이스층이

라고도 하는데, 일반적으로 운영 체제의 디바이스 드라이버나 이에

대응하는, 컴퓨터에 들어있는 인터페이스 카드를 포함한다. 이는

연동되어 있는 케이블, 또는 사용하고 있는 유형에 따른 전송매체의

물리적인 인터페이스와 관련된 하드웨어적인 부분을 제어한다.

네트워크(Network) 층은 인터넷(Internet)층이라고도 하는데, 네

트워크 상의 패킷 이동을 제어한다. 예를 들면 패킷 라우팅(경로 선

택)은 이 계층에서 이루어진다. IP, ICMP(Internet Control Message

Protocol), 그리고 IGMP(Internet Group Management Protocol)는

TCP/IP 프로토콜 그룹의 네트워크 층을 구성한다.

Page 14: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

트랜스포트(Transport) 층은 상위 응용 층에 대해 두 호스트간의

데이터 흐름을 제공한다. TCP/IP 프로토콜에는 TCP와 UDP라는 서로

다른 2개의 트랜스포트 프로토콜이 있다. TCP는 두 호스트간에 신뢰

성이 높은 데이터 흐름을 제공한다. 이는 응용 층으로부터 받은 데

이터를 적당한 크기로 분할해서 하위의 네트워크 층으로 보내고, 수

신한 패킷을 식별하고, 송신하는 패킷을 식별하기 위해서 타임 아웃

(Timeout)을 설정하는 기능 등을 수행한다. 네트워크 층에서 신뢰성

있는 데이터 흐름을 유지하는 기능을 제공하기 때문에, 상위 응용

층은 이에 대한 상세한 부분을 무시할 수 있다. 반면에 UDP는 아주

단순한 서비스를 응용 층에 제공한다. UDP 층은 데이터그램이라는

데이터 패킷을 한 호스트에서 다른 호스트로 전송하지만, 데이터그

램이 목적지에 도착하는 것을 보장할 수없다. 따라서 신뢰성에 대해

서는 응용 층이 책임을 져야 한다.

응용(Application) 층은 특정 응용에 대한 상세한 동작을 처리한

다. TCP/IP에는 대부분의 시스템에서 구현되어 제공되는 여러 가지

공통 응용이 있다.

1.3 TCP/IP 응용 프로그램

Telnet은 사용자가 TCP/IP 네트워크에서 이 프로토콜을 지원하는

호스트에 원격으로 로그인할 수 있게 해 준다. 원격 로그인을 하면

사용자는 원격 기계에 직접 연결된 것처럼 느끼게 된다. 사용자가

컴퓨터나 단말기에서 입력하는 키 누름은 원격 기계에 전달되며 원

격 컴퓨터의 응답은 거꾸로 사용자의 컴퓨터나 단말기에 전달된다.

키누름과 컴퓨터의 응답의 전달은 Telnet 프로토콜에 의해 수행된

다. Telnet 프로토콜은 다시 TCP/IP 프로토콜을 통신 프로토콜로 사

- 4 -

Page 15: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

용한다.

FTP는 사용자가 TCP/IP 네트워크 컴퓨터들 사이에 파일을 전송할

수 있게 해 준다. 전송되는 파일의 크기는 상관없다. 사용자는 원격

FTP 서버에 로그인하여 FTP 서버와의 대화형 세션에 들어간다. 사용

자의 컴퓨터는 FTP 클라이언트라는 특수 프로그램을 실행한다. 사용

자는 FTP 클라이언트를 사용하여 대화형 명령을 내림으로써 원격서

버의 파일을 보고 FTP 서버와 파일 전송을 한다.

SMTP는 사용자가 TCP/IP 네트워크의 다른 사용자들에게 전자 우편

을 보낼 수 있게 해 준다. 전자 우편은 메모 형태로 구성된다. 사용

자는수신자의 전자 우편 주소나 제목 정보 등을 전자 우편 헤더에

입력한다. SMTP는 TCP/IP를 기반 프로토콜로 사용하여 메시지를 메

일 서버에 중계한다. 메일 서버는 메일 중계 대행자의 네트워크 역

할을 하여 메시지를 목적지에 전달하게 된다.

SNMP는 네트워크의 브리지, 라우터, 게이트웨이와 같은 장치를 원

격으로 관리하게 해 준다. SNMP를 사용하여 감시하는 장치는 장치

매개 변수와 그것에 접근하는 방법을 알고 있는 SNMP 대행자라는 특

수한 대행자를 실행해야 한다. SNMP 관리자 스테이션은 SNMP 요청을

보내서 장치 매개 변수의 값을 읽거나 수정한다. 그러므로 SNMP관리

스테이션은 장치를 제어하고 관리할 수 있다. SNMP는 UDP와 IP를 통

신 프로토콜로 사용한다[5].

HTTP는 하이퍼텍스트 링크형 문서를 웹 브라우저에 전달할 수 있

게 해 준다. 하이퍼텍스트 문서와 삽입 그래픽, 오디오 및 비디오

파일은 웹 브라우저에 의해 사용자의 화면에 표시하도록 처리된다.

HTTP는 TCP/IP를 통신 프로토콜로 사용한다.

DNS는 네트워크 자원의 이름에 대한 전자 디렉토리 및 정보 센터

역할을 한다. DNS는 기호 방식으로 컴퓨터에 접속할 수 있게 해 주

- 5 -

Page 16: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

는 계층적 이름 지정 체계를 정의한다. 예를 들어, 체스 게임을 하

는 IBM 컴퓨터는 trouble.chess.ibm.com과 같은 기호 이름 또는 DNS

이름을 가질 수 있다. 전자 우편 주소는 호스트 DNS 이름을 전자 우

편 주소의 일부로 사용하므로 DNS 이름은 전자 우편에도 중요하다.

가령 bob이라는 사용자는 [email protected]과 같은 전자

우편 주소를 가질 수 있다. @ 기호 뒤의 이름은 사용자의 전자 우편

함을 보관하는 메일 시스템의 DNS 이름이다. DNS는 UDP와 IP를 통신

프로토콜로 사용한다[3]-[5].

- 6 -

Page 17: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

제 2 장 TCP/IP 네트워크 관리

TCP/IP 네트워크는 단순 네트워크 관리 프로토콜(SNMP, Simple

Network Management Protocol)이라는 표준 관리 프로토콜을 사용한

다. SNMP는 널리 사용되고 있는 프로토콜이다. SNMP는 TCP/IP 네트

워크의 네트워크 관리 솔루션으로 개발되었지만 TCP/IP가 아닌 네트

워크에서도 사용할 수 있다. SNMP 프로토콜은 IPX, AppleTalk, OSI

와 같은 다른 운반 프로토콜에서도 실행할 수 있다.[1]

2.1 네트워크 관리 모델

그림 2.1은 네트워크 관리의 모델을 나타낸다. 이 모델에서 네트

워크는 거기서 실행되는 관리 대행자와 여러 장치들로 구성된다. 관

리 대행자는 그것이 실행하는 장치 매개 변수를 알고 있다. 어떤 장

치 매개 변수는 관리형 장치에만 사용된다. 예를 들어 라우팅 장치

는 경로 설정표를 서술하는 매개 변수를 가지고 있다. 모든 장치는

장치 이름, 장치의 작동 기간(가동 시간) 등 몇 가지 공통의 매개

변수를 가지는 것으로 볼 수 있다[1],[6].

그림 2.1은 네트워크 관리 스테이션(NMS)이라는 특수 장치로 대행

자를 관리할 수 있다는 것을 보여 준다. 네트워크 관리 스테이션은

특정 장치 요청을 발행하여 그 네트워크 매개 변수에 관한 정보를

알아볼 수 있다. 장치의 대행자는 이들 요청을 수신하고 요청 받은

정보를 돌려 보낸다. 응답을 받을 때 네트워크 관리 스테이션은 요

청 받은 매개 변수의 값을 알고 있다. 그것은 이 정보를 사용하여

장치의 상태와 장치에 유의해야 하는지 여부에 관한 정보를 추론할

수 있다.

- 7 -

Page 18: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

허가 받지 않은 네트워크 관리 스테이션이 네트워크의 장치에서

정보를 얻지 못하도록 하는 것도 중요하다. 그러므로 무단 접근을

막는 인증 체계를 구현해야 한다[2],[5].

그림 2.2는 네트워크 관리의 목표를 나타낸다. 네트워크는 입력과

출력을 함께 가진 구름으로 나타나 있다. 네트워크 입력은 공유 데

이터와 네트워크의 사용자들이 생성한 활동이다. 네트워크 출력은

정보 공유로 향상된 능률이다. 네트워크는 컴퓨터, 장치 및 작동하

지 않는 네트워크 링크 형태의 장애에 시달릴 수 있다. 네트워크 관

리의 목표는 네트워크의 상태를 감시하고, 제어 메커니즘을 사용하

여 네트워크 장애에도 불구하고 원하는 출력(향상된 능률)을 얻는

것이다[4].

네트워크를 감시하고 제어하는 데 사용되는 메커니즘은 네트워크

- 8 -

대행자

대행자 대행자 대행자

관리 대상 노드

대행자

네트워크

네트워크 관리라 관리 대상노드에 주는 영향을 최소화해야 한다.

네트워크 관리 스테이션(NMS)

브리지

그림 2.1 네트워크 관리의 모델Fig. 2.1 Model of Network Management.

Page 19: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

에 최소한의 영향만 주어야 한다. 다시 말해서, 정보를 수집하는 데

사용되는 프로토콜은 관리 대상인 네트워크와 장치의 성능에 영향을

주지 않아야 한다. 네트워크 관리 메커니즘이 네트워크 대역폭을 대

부분 소모하면 네트워크 사용자가 사용할 대역폭이 얼마 남지 않는

다. 이렇게 되면 네트워크 통신이 혼란에 빠진다. 마찬가지로, 장치

에서 실행하는 네트워크 대행자는 그 장치의 처리 능력을 많이 소모

하면 안 된다. 그렇지 않으면 장치들은 원하는 시간에 보통의 기능

을 수행하지 못하게 될 수 있다[5],[6].

2.2 관리 대상 노드와 SNMP

네트워크 관리 스테이션이 관리하는 장치를 관리 대상 노드라 한

다. 그림 2.3과 같이 관리 대상 노드 네트워크 관리 스테이션이 질

의를 하고 값을 가져올 수 있는 매개 변수를 가지고 있다. 관리 프

로토콜은 네트워크 관리 스테이션과 피관리 노드 사이의 통신을

- 9 -

네트워크 감시와제어(NMC)

네트워크입력 출력

장애

제어 감시

그림 2.2. 네트워크 관리의 목표Fig. 2.2 Target of Network Management.

Page 20: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

설정하고 질의를 하며 응답을 수신하는 수단으로 사용된다. 이 관리

프로토콜의 한 예로 SNMP가 있다[5],[6].

관리 프로토콜은 관리 대상 노드 내부의 네트워크 관리 기기와 대

화한다. 관리 기기는 관리 대상 노드 내부의 매개 변수와 메모리 위

치에 대해 알고 있다. SNMP와 같은 관리 프로토콜을 통해 질의가 수

신되면, 네트워크 관리 기기는 요청을 수신하고 관리 대상 노드의

매개 변수에 접근한다. 그 결과는 네트워크 관리 프로토콜을 사용하

여 관리 기기에 의해 네트워크 관리스테이션에 다시 보고된다. SNMP

를 논할 때에는 관리 대상 노드를 관리 대상 장치라고도 한다[1],

[2].

통신 및 다른 프로토콜 네트워크관리 기기

네트워크 관리 프로토콜

관리 대상 노드

• 관리 프로토콜은 관리 대상 노드를 감시하고 제어할 수 있다.• 관리 기기는 관리 대상 노드의 내부 데이터 구조에 접근하게 해 준다.

그림 2.3 관리 대상 노드Fig. 2.3 Target Node of Management.

- 10 -

2.3 TCP/IP 네트워크 관리의 세 부분

TCP/IP 네트워크 관리는 세 부분으로 이루어진다[1]-[3].

첫번째는 네트워크 요소가 어떤 변수(관리 프로토콜에 의해 요구

Page 21: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

되고 설정되는 정보)를 유지하고 있는지를 기술하는 관리 정보 기반

(MIB, Management Information Base)이다. RFC 1213[McCloghrie,

Rose,1991.]은 이의 두 번째 버전인 MIB-Ⅱ를 정의하고 있다[7].

두번째는 MIB에서 변수를 참조하기 위해 사용된 일련의 공통 구조

및 식별 체계이다. 이것은 관리 정보 구조(SMI, Structure of

Management Information)라고 불리운다. 가령 SMI는 카운터가 0부터

4,294,967,295까지 셀 수 있는 양의 정수이며, 0을 포함하고 있다는

것을 정의하고 있다.

세번째는 SNMP(Simple Network Management Protocol)라고 불리는

관리자와 요소 간의 프로토콜이다. RFC 1157[Case 등, 1990.]는 이

프로토콜을 정의하고 있다[8]. 이것은 주고 받는 패킷의 형태를 자

세하게 설명하고 있다. 비록 다양한 전송 프로토콜이 사용될 수 있

지만, UDP가 정상적으로 SNMP와 사용되고 있다.

2.4 관리되는 정보를 위한 표준

관리 대상 노드는 관리 프로토콜이 접근할 수 있는 제어 정보와 상

태 정보를 유지해야만 한다. 예를 들어, 라우터는 자신의 네트워크

인터페이스들의 상태, 입출력되는 트래픽, 폐기한 데이터그램들, 발

생된 오류메시지들에 관한 통계 값을 유지한다[1]. 비록 SNMP는 관

리 프로토콜이 이들 통계값들에 접근할 수 있도록 해 주지만, 어떤

데이터가 접근될 수 있는지에 대해 정확하게 지정하지 않는다. 대신

이들 세부 사항에 대해서는 별도의 표준이 있다.

Management Information Base (MIB)라고 알려진 표준은 호스트나,

라우터가 유지해야 할 데이터 항목들과 각 데이터 항목에 허용되는

연산들을 지정한다. 예를 들어, MIB는 IP 응용 프로그램이 각 네트

- 11 -

Page 22: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

워크 인터페이스를 통해 도착한 모든 옥텟(Octet)의 수를 관리해야

만 한다고 지정하며, 네트워크 관리 프로그램은 이들 값들만을 읽을

수 있다고 지정한다[3],[7].

TCP/IP의 MIB는 관리 정보를 표 2.1에 나타내 보인 것과 같이 8개

의 종류로 나눈다. 항목들을 지정하기 위해 사용되는 식별자들은

해당 종류에 대한 코드를 포함하기 때문에 종류의 선택은 중요하다.

- 12 -

네트워크 관리 프로토콜과 무관하게 MIB 정의를 유지하는 것은

판매업자나 사용자들에게 이득이 된다. 새로운 MIB 항목들이 정의된

뒤 소프트웨어가 표준을 계속 고수하는 것을 보장하기 위해, 판매업

자는 라우터와 같은 제품에 SNMP 대행자 소프트웨어를 포함할 수 있

다. 서로 다른 MIB 버전을 갖는 다수의 라우터들을 관리하기 위해

사용자는 동일한 네트워크 클라이언트 소프트웨어를 사용할 수 있다.

MIB 종류 포함된 정보

system 호스트나 라우터의 운영 체제

interfaces 개별적인 네트워크 인터페이스들

addr. trans. 주소 번역

ip Internet Protocol 소프트웨어

icmp Internet Control Message Protocol 소프트웨어

tcp Transmission Control Protocol 소프트웨어

egp Exterior Gateway Protocol 소프트웨어

표 2.1 MIB에 있는 정보들의 종류Table 2.1 Kinds of Informations in MIB.

Page 23: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

물론,새로운 MIB 항목들을 갖지 않는 라우터들이 통신을 위해 같은

언어를 사용하기 때문에, 이들 라우터들은 모두 질의를 구문 분석

(parse)할 수 있으며 요구된 정보를 제공 또는 요구된 정보를 가지

고 있지 않다는 것을 설명하는 오류 메시지를 전송할 수 있다.

2.4.1 MIB 변수의 예

MIB-Ⅱ라고 알려진 표준 TCP/IP MIB이외에 많은 RFC들이 특정 장

치들에 대한 변수들에 대해 기술하고 있다. 표준 MIB가 갖고 있는

데이터 항목들의 일부를 살펴봄으로써 그 내용을 명확히 할 수 있다.

표 2.2에 MIB 변수 예들을 그들의 종류와 함께 열거하였다[3],[7].

2.4.2 관리 정보의 구조

네트워크 관리 변수들과 이들의 의미를 지정하는 MIB 표준 이외에

도, 별도의 표준에서 MIB 변수를 지정하고 식별하기 위해 사용되는

규칙들의 집합을 지정한다. 이 규칙들은 Structure of Management

Information(SMI)이라고 알려져 있다. 네트워크 관리 프로토콜을 단

순화하기 위해, SMI는 MIB에서 사용되는 변수 타입을 제한하며, 이

들 변수에 이름을 부여하는 규칙들을 지정하고, 변수 타입을 정의하

는 규칙들을 만든다. 예를 들어, SMI 표준은 4 옥텟의 문자열로 정

의되어 있는 IpAddress, 또는 0∼232-1 범위의 정수로 정의되어 있는

Counter와 같은 용어들에 대한 정의를 포함하며, MIB 변수를 정의

하기 위해 사용되는 용어들이라는 것을 지정한다. 더 중요한 것은,

SMI에 있는 규칙들이 MIB가 어떻게 값이 들어 있는 표(예, IP 경로

배정표)를 참조하는지 설명한다는 것이다.

- 13 -

Page 24: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 14 -

MIB변수 의 미

표 2.2 MIB 변수들의 예Table 2.2 Examples of MIB Parameters.

종류

sysUP 마지막 재시동 후 시간system

ifNumber 네트워크 인터페이스의 수interfaces

ifMtu 특정 인터페이스의 MTUinterfaces

ipDefaultTTL Time-to-live 필드에 IP가 사용하는 값ip

iplnReceives 수신한 데이터그램의 수

ipForwDatagrams 전달한 데이터그램의 수

ipOutNoRoutes 경로 배정 실패 횟수

ipReasmOKs 재조립한 데이터그램의 수

ipRoutingTable

프래그먼트화 된 데이터그램의 수

icmplnEchos

IP 경로 배정표

tcpTpoMin

수신한 ICMP Echo 요청의 수icmp

tcpMaxConn

TCP가 허용하는 최소 재전송 시간tcp

허용된 최대 TCP 연결의 수tcp

ipFragOKs

TCP가 수신한 세그먼트의 수tcp

udplnDatagrams 수신한 UDP 데이터그램의 수udp

egplnMsgs 수신한 EGP 메시지의 수egp

tcplnSegs

ip

ip

ip

ip

ip

ip

2.4.3 ASN.1을 사용하는 형식적인 정의

SMI 표준은 모든 MIB 변수들이 반드시 ISO의 Abstract Syntax

Page 25: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

Notation 1(ASN.1)을 사용하여 정의되고 참조되어야만 한다고 지정

하고 있다. ASN.1은 두 가지 주요 특징 즉, 사람이 읽을 수 있는 문

서에 사용되는 표기법과 통신 프로토콜에서 사용되는 동일한 정보의

간결한 코드화 된 표현법을 갖는 형식적인 언어이다. 이들 두 경우

에서, 정밀하고 형식적인 표기법을 사용함으로써 표현과 의미에서

생길 수 있는 모든 가능한 모호성들을 제거한다. 예를 들어, ASN.1

을 사용하는 프로토콜 설계자는 어떤 변수가 정수 값을 포함한다고

하는 대신 숫자 값의 정확한 양식과 범위를 지정해야만 한다. 데이

터 항목들에 대해 동일한 표현 법을 사용하지 않는 이질적인 컴퓨터

들을 포함하는 구현에서 이와 같은 정밀성이 특히 중요하다[1],[3].

ASN.1은 표준 문서들을 모호하지 않게 하는 것 이외에도, 네트워

크 관리 프로토콜의 구현을 간단하게 하며 상호 연동을 보장한다.

ASN.1은 메시지에 있는 이름과 데이터 항목들을 어떻게 코드화할지

정밀하게 정의한다. 따라서 일단 MIB 문서가 ASN.1을 사용하여 표현

되면 사람이 읽을 수 있는 양식은 메시지에서 사용되는 코드화 된

양식으로 직접, 그리고 기계적으로 번역될 수 있다.

- 15 -

Page 26: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

제 3 장 SNMP

현재 TCP/IP 네트워크 관리 프로토콜 표준은 SNMP이다. SNMP는 두

개의 기본 연산들 즉, 변수로부터 값을 가져오는 연산과 값을 변수

에 저장하는 연산을 제공하는 하위 레벨의 관리 프로토콜을 정의한

다. SNMP에서 모든 연산들은 관리자와 대행자 사이를 오고 가는 메

시지의 양식을 정의한다[1]-[4].

3.1 SNMP에서의 관리 전형

SNMP용 네트워크 관리 스테이션을 SNMP 관리자라고 한다. 그림

3.1에서와 같이SNMP 관리자는 원격 디버깅이라는 관리 방식을 사용

한다. 이 방식에서 SNMP 관리자는 원격 위치의 워크스테이션 디버깅

프로그램을 다루는 프로그래머와 같다. 그러한 가설적 프로그래머는

프로그램의 변수 값을 판독하고 중요 변수의 값을 변경하는 일을 한

다. 마찬가지로, SNMP 관리자도 관리 대상 장치에서 MIB 변수의 값

읽고 갱신할 수 있다. SNMP 관리자는 다음과 같은 활동을 수행할

수 있다[3]-[6].

첫째, MIB 변수를 읽거나 읽고 쓴다.

둘째, 트랩 지향식 폴링을 수행한다.

세째, 관리 대상 노드의 변수를 단순히 횡단시킨다.

관리 대상 장치에서 링크 결함이나 장치 상태의 중요한 변화와 같

은 예외 조건이 발생하면, 관리 대상 장치는 SNMP 관리자에게 Trap

SNMP 메시지를 보낸다. Trap SNMP 메시지에는 메시지의 발생을 야기

한 이벤트가 나타나 있다.

- 16 -

Page 27: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 17 -

대행자

대행자

대행자

SNMP 관리자는다른 장치의 MIB객체를 심사한다.

쓰기 트랩

읽은 결과

읽기

폴링

경로

설정표

라우터

인터넷

읽기

그림 3.1 SNMP 관리 방식Fig. 3.1 SNMP Management Procedure.

Trap SNMP 메시지에 응답하는 것은 SNMP 관리자의 책임이다. SNMP

관리자는 메시지를 그냥 트랩 로그 파일에 기록하거나 더 강력한 조

치를 취할 수 있다. 예를 들어, SNMP 관리자는 트랩 메시지를 생성

한 장치로부터 정보를 더 요청할 수 있다. 추가 정보는 특정 MIB 변

수의 읽기 요청을 통해 얻을 수 있다. SNMP 관리자는 그 장치를 제

어하도록 프로그램되어 있을 경우, 쓰기 요청을 발행하여 MIB 변수

의 값을 수정할 수 있다.

SNMP의 모든 제어 활동은 MIB 변수를 수정하는 일의 부수 효과로

일어난다. 예를 들어, 어떤 장치가 SNMP 관리자로부터 쓰기 요청을

보내서 ifPowerOff 변수라는 MIB 변수를 수정할 수 있다.

Page 28: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

ifPowerOff 변수가 '변수의 값이 보통은 1이고, 값이 1이면 장치

의 전원을 끈다.'는 부수 효과를 야기하도록 관리 대상 장치를 프로

그래밍할 수 있다. ifPowerOff 변수에 값 0을 보내면, 관리 대상 장

치는 장치 종료를 시작할 수 있다.

MIB 변수가 개체 식별자 순으로 되어 있으면, SNMP 관리자는

GetNext라는 SNMP 명령을 사용하여 장치의 모든 변수를 횡단시킬 수

있다.

3.2 SNMP 명령과 프로토콜

SNMP는 관리자와 대행자간 교환되는 단지 5개 유형의 메시지에 대

해서 정의한다[3]-[8].

get-request 연산자는 한 개 혹은 그 이상의 변수 값을 가져온다.

get-next-request 연산자는 한 개 혹은 그 이상의 지정된 변수의

다음 변수 값을 가져온다.

set-request 연산자는 한 개 혹은 그 이상의 변수의 값을 설정한

다.

get-response 연산자는 한 개 혹은 그 이상의 변수를 되돌린다.

이것은 get-request, get-next-request, set-request 연산자에 대응

하여 대행자가 관리자에게 응답한 메시지이다.

trap 연산자는 대행자에게 문제가 발생했을 때 관리자에게 알린다.

처음 3개의 메시지는 관리자로부터 대행자에게 보내지며, 나머지

들은 대행자에서 관리자로 보내진다. 처음 3개의 메시지를 get,

get-next, set 연산자라고 한다. 그림 3.2는 5개의 연산자를 요약한

것이다.

- 18 -

Page 29: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 19 -

get-request

get-response

get-next-request

get-response

set-request

get-response

trapUDP 포트 162

UDP 포트 161

UDP 포트 161

UDP 포트 161

SNMP 관리자 SNMP 대행자

그림 3.2 5 종류의 SNMP 연산자Fig. 3.2 5 Types of SNMP Operators.

5개의 SNMP 메시지 중 4개는 관리자는 요구를 전송하고 대행자는

응답을 역으로 전송하는 단순한 요구-응답 프로토콜이므로 SNMP는

UDP를 사용한다. 이것은 관리자로부터 요구가 대행자에게 도착하지

않을 수 있으며, 그래서 대행자의 응답은 관리자에게 역으로 가지

않을 수 있다는 것을 의미한다. 아마도 관리자는 타임아웃과 재전송

을 수행하기를 원하게 된다.

관리자는 UDP 포트 161번으로 3개의 요구를 전송한다. 대행자는

UDP 포트 162번으로 trap을 보낸다. 서로 다른 포트 번호를 사용함

으로써, 단일 시스템은 쉽게 관리자와 대행자 사이의 메시지 전송을

수행할 수 있다.

그림 3.3은 UDP 데이터그램에 포함된 5개의 SNMP 메시지 형식을

나타내고 있다. 이 그림에서는 단지 IP와 UDP 헤더만 크기를 바이트

Page 30: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

로 나타내었다. 그 이유는 SNMP 메시지에 사용되는 코드화가 변수의

유형과 그 값에 따라 변화하기 때문이다[3]-[6].

- 20 -

IP 헤더 UDP헤더 버전(0)

공동체 PDU유형(0-3)

요구ID 에러상황(0-5)

에러인덱스

이름 값 이름 값 • • •

20바이트 8바이트

PDU유형(4)

엔터프라이즈에이전트주소

트랩타입(0-6)

특정코드타임스탬프

이름 값 • • •

trap 헤더 관련 변수

get/set에 대한 변수get/set 헤더공통 SNMP 헤더

SNMP 메시지

UDP 데이터그램

IP 데이터그램

그림 3.3 5 종류의 SNMP 메시지 형식Fig. 3.3 5 Types of SNMP Message Forms.

표 3.1은 PDU 유형 값을 나타낸다. PUD는 패킷에 대한 공식적인

단어로써 Protocol Data Unit을 말한다.

공동체(Community)는 관리자와 대행자간의 패스워드를 가리키는문

자열이다. 공통적인 값은 6 문자열 'public'이다.

버전은 SNMP 버전 숫자에서 1을 뺀 값이다. 여기에서는 버전 1을

나타낸다.

get, get-next, set 연산자의 요구 ID는 관리자에 의해 설정되며,

대행자는 get-response 메시지에서 되돌려 준다. 이것은 클라이언트

가 자신(여기서는 관리자)이 제기한 질의에 대해 서버(대행자)로부

터의 응답과 어울리도록 한 것이다. 이 필드는 관리자가 한 개 이상

의 대행자에게 여러 요구를 발생하도록 하며, 되돌아온 응답을 가려

Page 31: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 21 -

낼 수 있다.

에러 상황은 대행자가 에러를 가리키며 되돌아온 정수 값이다. 표

3.2는 값, 이름과 설명을 나타낸다.

에러가 발생하면, 에러 인덱스는 에러를 일으킨 변수를 가리키는

정수 옵셋이다. 대행자는 noSuchName, badValue, readOnly 에러에

대해서만 설정한다.

변수 이름과 값 리스트는 get, get-next, set 요구에 포함된다.

get과 get-next 연산자의 영역은 무시한다.

PDU 유형 이 름

0 get-request

1 get-next-request

2 get-response

3 set-request

4 trap

표 3.1 SNMP 메시지의 PDU 유형Tabla 3.1 PDU Types of SNMP Message.

에러상태 이 름 설 명

0 noError 모든 것이 OK

1 tooBig 대행자는 응답을 단일 SNMP 메시지에 맞출 수 없다.

2 noSuchName 존재하지 않는 변수가 지정되었다.

3 badValue 설정에서 무효인 값, 문맥이 지정되었다.

4 readOnly 관리자가 읽기만 가능한 값을 변경하려고 했다.

5 qenErr 그 밖의 에러

표 3.2 SNMP 에러 상황 값Table 3.2 Error State Values of SNMP.

Page 32: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 22 -

3.3 관리 정보 구조

SNMP는 몇 개의 다른 유형의 데이터만 사용한다. 이들 데이터의

유형들을 설명하면 다음과 같다[1]-[3].

첫번째 유형은 INTEGER로써, 몇몇 변수는 제한이 없는 정수로 선

언된다. 여기에는 인터페이스의 MTU가 있다. 어떤 변수는 특정 값을

갖도록 정의된다. 예를 들어, IP전송 플래그는 전송이 유효하면 1,

전송이 무효이면 2가 된다. 또 다른 변수는 최소값과 최대값으로 정

의된다. UDP와 TCP 포트 번호는 0과 65535 사이이다.

OCTET STRING은 0 혹은 8비트 바이트의 문자인데 각 바이트는 0과

255 사이의 값을 가진다. 해당 데이터 유형과 다음 데이터 유형에

대해 사용된 BER 코드화에서 문자열의 바이트 수는 문자열 앞에

나타난다.이들 문자는 널(null) 문자로 끝나는 문자열이 아니다.

SNMP의 공식 사양은 ASN.1을 사용하고,SNMP 메시지로의 실제 비트

변환은 Basic Encoding Rules(BER)를 사용한다. 64와 같은 작은 정

수는 BER를 사용해서 3바이트를 필요로 한다. 1바이트는 그 값이

integer라는 것을 말하고, 그 다음 바이트는 얼마나 많은 바이트들

이 integer를 저장하기위해서 사용되는가를 말하며, 그리고 마지막

바이트는 2진 값을 포함한다. 다행스럽게도 ASN.1과 BER의 세부

적인 것들은 SNMP 개발자들에게만 중요하다. 네트워크 관리에 대해

이해하고, 응용하는 데 있어서 대부분 중요한 것은 아니다[3]-[6].

DisplayString은 0 혹은 8비트 바이트의 문자지만 각 바이트는

NVT ASCII set에 있는 문자이어야 한다. MIB-Ⅱ 내의 이 유형의 모

든 변수는 255 문자 이상이 되어서는 안된다.

OBJECT IDENTIFIER에 대해서는 다음 절에서 설명한다.

Page 33: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

NULL은 대응하는 변수가 값을 갖지 않는다는 것을 의미한다. 예를

들면, get이나 get-next 요구에서 모든 변수의 값으로 사용된

다.

IpAddress는 IP주소의 각 바이트에 대해서 1바이트로 길이 4의

OCTET STRING이다.

PhysAddress는 물리적 주소 즉, 6바이트 이더넷 주소를 지정하는

OCTET STRING이다.

Counter는 0에서 231-1 (4,294,967,295)까지 단조롭게 증가하며 최

대값에서 0으로 되돌아가는 음이 아닌 정수이다.

Gauge Type은 0에서 231-1 (4,294,967,295) 사이의 음이 아닌 정수

이며 증가하거나 감소할 수 있지만 최대값으로 고정된다. 만약 그

값이 231-1까지 증가되면 재설정될 때까지 머물러 있다.

TimeTicks는 어떤 시점까지 수백 초의 시간을 카운트하는 계수기

이며 서로 다른 변수가 다른 시점에서 이 계수기를 설정할 수 있다.

그래서 이런 유형의 변수로 사용되는 시점은 그 변수가 MIB에서 선

언되었을 때 설정된다. 예를 들면, 변수 sysUpTime은 대행자가 가동

되고 나서 경과 시간을 100분의 1초 단위로 나타낸다.

SEQUENCE는 프로그래밍 언어의 구조체와 비슷하다. 예를 들어,

MIB는 UdpEntry로 명명된 SEQUENCE를 정의한다. 이 UdpEntry는 대행

자의 동작 가능한 UDP 종단점에 대한 정보를 포함하고 있다. 동작

가능한이란 현재 응용에서 사용 중인 포트를 의미한다. 두 엔트리는

다음과 같은 구조를 가진다. 첫째로 IpAddress 유형인 UdpLocalAdd-

ress는 로컬 IP 주소를 포함한다. 둘째로 INTEGER 유형인 UdpLocal-

Port는 0에서 65535까지의 영역을 가지며 로컬 포트 번호를 지정한

다.

- 23 -

Page 34: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

SEQUENCE OF는 모든 원소가 같은 데이터 유형을 갖는 벡터의 정의

이다. 만약 각 원소가 정수와 같은 단순 데이터 유형이라면 일차원

배열과 같은 단순 벡터를 갖는다. 그러나 SNMP는 벡터의 각 원소가

SEQUENCE 구조인 데이터 유형을 사용한다. 그러면 이것을 이차원 배

열이나 테이블로 여길 수 있다. 예를 들면, UDP 수신자 테이블은

udpTable로 명명되며 이것은 2-원소 SEQUENCE 구조UDPeNTRY인

SEQUENCE OF이다. 그림 3.4는 이차원 배열을 나타낸다.

- 24 -

an IpAddressan INTEGER

between 0-65535

......

SEQUENCE(UdpEntry)

udpLocalAddress udpLocalPort

SEQUENCE OFUdpEntry

그림 3.4 SNMP의 2차원 배열에 따른 UDP 수신자 테이블(udpTable)Fig. 3.4 Table of UDP Receiver According to 2-Dimensional

Arrangement of SNMP(udpTable).

이 테이블에서 행의 번호는 SNMP에 의해서 결정되는 것이 아니고

get-next 연산자를 사용하는 관리자가 테이블의 마지막 열이 되돌아

올 때 결정할 수 있다. 또한 관리자가 어떻게 get하거나 set하길 원

하는 테이블의 열을 결정한다.

3.4 객체 식별자

Page 35: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

객체 식별자(Object Identifier)는 명령적으로 객체를 지정하는

데이터 유형이다. '명령적'이라는 것은 이들 식별자가 무작위로 할

당되는 것이 아니라 식별자 그룹에 대해 책임을 갖는 조직체에 의해

할당되는 것이다[2],[9].

객체 식별자는 10진 소수점에 의해 분리되는 정수들의 나열이다.

이들 정수는 DNS 혹은 UNIX 시스템과 유사한 트리 구조를 갖는다.

객체 식별자가 시작하는 트리의 맨 위에 이름이 정해지지 않은 루트

가 있다. 이것은 UNIX 파일 시스템에서 사용되는 트리 선회와 같은

방향이다.

그림 3.5는 SNMP에서 사용되는 트리 구조를 나타낸다. MIB에 있는

모든 변수는 객체 식별자 1.3.6.1.2.1로 시작한다.

트리의 각 노드에 문자 이름이 주어진다. 객체식별자 1.2.6.1.2.1

에 대응되는 이름은 iso.org.dod.internet.mgmt.mib이다. 이 이름은

사람이 읽을 수 있는 것이다. 그림 3.5에서 관리자와 대행자 사이에

교환되는 패킷에 있는 MIB 변수의 이름은 모두 1.3.6.1.2.1로 시작

하는 번호로 된 객체 식별자이다.

그림 3.5의 MIB 객체 식별자 이외에 하나의 이름 iso.org.dod.

internet.private.enterprise(1.3.6.1.4.1)를 볼 수 있다. 이것은

제조업자의 특정 MIB가 위치한 곳이다. 할당된 번호 RFC는 이 노드

바로 아래에 등록된 400개의 식별자가 리스트에 들어 있다.

3.5 트랩

지금까지의 모든 내용은 관리자로부터 대행자에 대한 것이었다.

그림 3.2에서 나타나듯이 대행자가 관리자에게 트랩(trap)을 보내고

대행자상에서 발생하는 관리자가 알고자 하는 무언가를 보고하는 것

- 25 -

Page 36: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 26 -

... ... ... ... ... ...

system(1) interfaces(2) at(3) ip(4) icmp(5) tcp(6) udp(7)

...

mib(1)

internet(1)

directory(1) mgmt(2) experimental(3) private(4)

enterprises(1)1.3.6.1.2.1

1.3.6.1

dod(6)

org(3)

ccitt(0) iso(1) joint-iso-ccitt(2)

root

Internet SMI

그림 3.5 관리 정보 기반의 객체 식별자Fig. 3.5 Object Identifier Based on Management Information.

트랩유형

이 름

athenticationFailure

설 명

0 coldStart 대행자가 자기 자신을 초기화

1 warmStart 대행자가 자기 자신을 재 초기화

2 linkDown인터페이스가 가동 상태에서 정지 상태로 변화했다.메시지의 첫번째 값이 인터페이스를 지정한다.

3 linkUp인터페이스가 정지 상태에서 가동 상태로 변화했다.메시지의 첫번째 값이 인터페이스를 지정한다.

4SNMP 관리자로부터 무효인 공동체의 메시지를 받았다.

5 egpNeighborLossEGP 상대방이 정지 상태로 변화했다. 메시지의 첫번째 값에 이 상대방의 IP 주소가 포함되어 있다.

6 enterpriseSpecific 트랩의 정보에 관한 특정 필드 코드를 보는 것

표 3.3 트랩 유형Table 3.3 Trap Types.

Page 37: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 27 -

이 가능하다. 트랩은 관리자에게 UDP 포트 162로 전송된다. 그림

3.3에 트랩 UDP의 형식이 나타나 있다. 6 종류의 특정 트랩이 정의

되어 있고, 7번째로 공급업자가 전용트랩을 구현할 수 있도록 되어

있다. 표 3.3은 트랩 메시지의 트랩 유형 값을 설명한다.

Page 38: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

제 4 장 동적 폴링 알고리즘

관리자와 대행자 사이에 정보를 주고 받는 방법에는 폴링과 이벤

트 레포팅의 두 가지 방법이 있다. 폴링에서는 관리자가 대행자에게

정보 전송을 요구하면, 이 때 대행자는 정보를 전송하게 된다. 이에

반해 이벤트 레포팅에서는 관리자는 계속해서 정보를 기다리는 동작

을 하고 대행자는 정보를 보낼 필요가 있을 때 스스로 정보를 전송

하게 된다. 대행자 정보를 실시간으로 모니터링할 경우 주로 폴링

방법을 사용하는데, 네트워크 크기와 대행자의 수를 고려한 폴링 주

기를 결정하는 것이 중요하다. 기존의 폴링 방법으로 실시간 네트워

크 모니터링을 하기 위한 다양한 방법들이 제시되어 있지만 여전히

대행자 정보에 대한 요구와 응답의 구조에서 오는 양방향 네트워크

부하 발생의 문제점이 있다[10]-[14].

본 논문은 실시간으로 변하는 네트워크 상태에 대한 관리 방법과

그로 인한 네트워크 트래픽 증가에 대한 대책에 대하여 제안한다.

4.1 일반적인 폴링 알고리즘

SNMP에서 관리자와 대행자는 그림3.1와 같이 메시지를 주고 받는

다. 관리자는 폴링 주기에 따라 대행자 정보 요구로 get-request,

get-next-request 메시지를 전송하며 대행자는 대행자 정보를 포함

한 응답으로 get-response 메시지를 전송한다. 이러한 형태의 폴링

에서 관리자는 하나의 대행자에 폴링을 요청하고 그에 대한 응답을

받는 동안에 다른 대행자와는 폴링을 할 수 없다. 전체 대행자 수

가 N이고, 각 대행자의 폴링 주기를 동일하게 하고 주어진 네트워크

상황에서 각 대행자에 성공적으로 폴링 요청과 응답을 받을 수 있는

- 28 -

Page 39: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

최소 시간이 Δ일 때 폴링 주기 T (현재 폴링 요청과 다음 폴링 요

청까지의 시간)는 다음의 조건을 만족해야 한다[10]-[14].

T ≥ (Δ × N)

그러나 여기서 추가로 고려해야 될 것은 폴링으로 발생하는 네트

워크 부하량을 전체 네트워크 대역폭의 일정 부분 이하로 제한하는

것과 각 대행자 정보의 시간적 변화량 특성을 고려하는 것이다.

4.2 새로운 폴링 알고리즘의 제안

각 대행자 정보의 실시간 관리를 위해 대행자는 스스로 정보의 시

간에 따른 값에서 DFT(Discrete Fourier Transformation)를 이용하

여 최대 주파수 성분 fmax를 추출하고, 다음과 같이 이 주파수의 2배

의 주파수로 폴링을 수행하도록 주기를 결정한다.

- 29 -

T =1

2×fmax

여기서 중요한 것은 폴링에 의한 네트워크 트래픽이 전체 네트워

크 대역폭의 일정 수준을 넘지 않게 제한하기 위하여 최소 주기값을

다음으로 제한하는 것이다[10].

Tmin =(일회 폴링시 발생 트래픽)

(허용된 네트워크 사용 대역폭)

제안된 폴링 알고리즘은 그림 4.1과 같은 방법으로 동적 폴링을

Page 40: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 30 -

시작

각 대행자별 최대주파수 fmax계산를계산하고 전송

(대행자 →관리자)

폴링주기1/(2×fmax)에따른메시지트래픽이허용된네트워크사용대역폭을초과하는가?

네트워크 사용 대역폭을 초과하지 않도록폴링 주기 조정

각대행자에게폴링주기전송

(관리자→대행자)

아니오

새로운 정보를을 최대 주파수 계산에 고려하고 가장 오래 된 값을 삭제

폴링무응답 메시지가주어진시간내에

도착하였는가?

폴링중단

아니오

그림 4.1 제안된동적폴링알고리즘의흐름도Fig. 4.1 Flow Chart of Proposed Dynamic Polling Algorithm.

결정된폴링주기에의해폴링정보전송(대행자→관리자)

폴링주기에의해폴링정보가전송

되는가?

아니오

수행한다.

Page 41: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 31 -

초기에 각 대행자는 정보의 시간적 특성에 맞는 폴링 주기(대행

자 폴링 주기)를 계산하여 관리자에게 전송한다. 관리자는 각 대행

자 폴링 주기를 취합하여 네트워크 트래픽이 전체 네트워크 대역폭

의 일정 부분 이하가 되도록 각 대행자의 실제 정보 전송 주기(관리

자 폴링 주기)를 결정하여 각 대행자에게 알린다. 각 대행자는 관리

자 폴링 주기에 따라 대행자 정보와 새로운 대행자 폴링 주기를 전

송한다. 이 때 폴링 주기는 변동이 발생하였을 때에만 전송한다. 관

리자는 계속해서 폴링 정보와 대행자 폴링 주기들을 취합한다. 대행

자가 폴링 주기의 변동을 관리자에게 알리면 관리자는 다시 변동된

주기가 전체 네트워크 대역폭에 주는 영향을 고려하여 폴링 주기를

결정하고, 결정된 폴링 주기를 각 대행자에게 알린다.

그림 4.2는 제안된 폴링 알고리즘에서 관리자와 대행자 사이의 메

시지 흐름을 보여 준다.

관리자

그림 4.2 메시지 흐름도Fig. 4.2 Flow Chart of Message.

폴 링주 기결 정

대행자1 대행자2

대행자3 대행자4 대행자n

관리자 폴링 주기

대행자 정보와폴링 주기

...

Page 42: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

제 5 장 시뮬레이션

대행자 정보의 시간적 변화에 따라 폴링 주기를 결정하는 능력을

측정함으로써 제안된 폴링 방법을 평가할 수 있다. 이것은 대행자

정보 값들의 최대 주파수에 대한 추적성으로 알 수 있으며, 관리 정

보 값에 대한 추적성으로 제안된 폴링 방법을 평가할 수 있다[10],

[12],[15].

5.1 시뮬레이션 조건

표 5.1은 시뮬레이션에서 가정된 조건들이다.

- 32 -

대행자(Agent)의 수 1

대행자 정보 값의 수 1(Gauge type)

네트워크 최소 대역폭 100.0kbps

네트워크 관리 대역폭 5.0kbps

Sequence의 길이 1,024

최초 Sequence의 폴링 주기 1.0sec

대행자 정보 값의 시간에 따른 변화 그림 5.1

표 5.1 시뮬레이션 조건Table 5.1 Conditions in Simulation.

최초에 대행자는 폴링 주기 1.0Sec를 관리자에게 전송한다.

관리자는 대행자로 부터 전송 받은 폴링 주기가 네트워크 대역폭을

초과하지 않는지 계산하여 대행자에게 폴링 주기를 재전송한다.

대행자는 관리자로부터 전송된 폴링 주기에 따라 폴링을 시작한다.

Page 43: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 33 -

0

0

25

50

75

100

1,000 2,000 3,000 4,000

g1(t) g2(t)

Value

Time t(sec)

Maximumfrequency 0.2

Maximumfrequency 0.4

g1(t) = 8{sin(0.4πt)+sin(0.2πt)+sin((2/15)πt)+sin(0.1πt)+sin((1/150)πt)+sin(1/200)πt}+50 (0≤t<2000)

g2(t) = 8{sin(0.8πt)+sin(0.2πt)+sin((2/15)πt)+sin(0.1πt)+sin((1/150)πt)+sin(1/200)πt}+50 (2000≤t<4000)

그림 5.1 대행자 정보 값의 시간에 따른 변화Fig. 5.1 Time Variation of Management Information Value.

시뮬레이션에서 대행자 정보 값의 시간에 따른 변화를 위하여

그림 5.1의 g1(t)와g2(t)를 이용한다. 각 함수들의 최대 주파수는

0.2와 0.4이다. 50은 음이 아닌 값을 폴링하기 위하여 더해진

숫자이다[10].

5.2 시뮬레이션 결과

5.2.1 최대 주파수 검출의 정확도

그림 5.2는 시간에 따라 변하는 대행자 정보 값이 그림 5.1과 같

이 적용되었을 때 제안된 폴링 알고리즘에 의해 검출된 최대 주파수

이다. 그림 5.2에서 검출되어진 최대 주파수는 DFT로 인하여 0.48보

다 크거나 같다.

Page 44: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 34 -

0

0

1,000 2,000 3,000 4,000

0.2

0.3

0.4

0.5

Time t(sec)

Maximum Frequencyf m

ax(1/sec)

그림 5.2 제안된 폴링 알고리즘에 의해 검출된 최대 주파수Fig. 5.2 Maximum Frequency Detected by Proposed Polling

Algorithm.

0≤t<2,000(sec)에서 최대 주파수의 평균 값은 0.22이며 대행자는

관리자에게 다음의 계산과 같이 880번의 폴링 정보 값을 전송한다.

2,000/(1/2*0.22) = 880

2,000≤t<4,000(sec)에서 최대 주파수의 평균 값은 0.42이며 대행

자는 관리자에게 다음의 계산과 같이 1,680번의 폴링 정보 값을 전

송한다.

2,000/(1/2*0.42) = 1,680

각각의 최대 주파수의 평균 값은 g1(t)의 0.2와 g2(t)의 0.4에 가

까우며, 이는 제안된 폴링 알고리즘이 최대 주파수 검출에 있어서

충분한 정확성을 가지고 있다는 것을 나타낸다.

5.2.2 관리 정보 값에 대한 추적성

Gauge Type의 관리 정보 값의 최대값과 최소값에 대한 추적성으로

Page 45: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 35 -

제안된 폴링 방법을 평가할 수 있으며, 이는 다음의 식(1)에 의하여

계산되어질 수 있다[10],[12].

Σ│i번째 폴링에서의 관리 정보 값 - 50 │

P

i=1

P

위의 식(1)에 의하여 제안된 폴링 알고리즘에서 계산된 값과 고정

된 주기로 폴링을 수행하는일반적인 폴링 알고리즘에서 계산된 값을

비교함으로써 관리 정보 값의 최대값과 최소값에 대한 추적성을 평

가한다[10],[12].

식(1)의 분자에서 50을 빼는 이유는 시뮬레이션에서 사용된 함수

에서 50이 더해진 것을 보상해 주는 것이다. 분모 P는 시뮬레이션이

이루어진 4,000초 동안에 수행된 폴링 회수이다.

식(1)에서 계산된 값이 클 수록 관리 정보 값에 대한 추적성이 좋

다는 것을 의미한다. 다른 말로 표현하면, 분모인 폴링 회수 P가 고

정되어 있을 때 분자인 폴링된 관리 정보 값의 합이 클 수록 폴링

알고리즘의 추적성이 좋다는 것을 의미한다. 또한 분모인 폴링된 관

리 정보 값이 고정되어 있을 때 분모인 폴링 회수 P가 적을 수록 폴

링 알고리즘의 추적성이 좋다는 것을 의미한다.

그림 5.3은 일반적인 폴링 알고리즘과 제안된 폴링 알고리즘에 의

한 식(1)의 계산 결과이다. 제안된 폴링 알고리즘에서 평균 폴링 주

기는 1.56초이며 4,000초 동안 수행된 폴링 회수는 2,560회이다. 그

림 5.3에서 보는 바와 같이 계산된 값은 14.222이다. 이것은 일반적

인 폴링 알고리즘에서 폴링 주기가 1.0초로 고정되어 있을 때 계산

된 값14.235와 비슷한 수치이다. 두 개의 수치로써 제안된 폴링 알

고리즘과 일반적인 알고리즘을 비교 평가할 수 있다.

( 1 )

Page 46: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

- 36 -

즉, 제안된 폴링 알고리즘은 일반적인 폴링 알고리즘보다 더 적은

폴링 회수에서 같은 정도의 관리 정보 값에 대한 추적성을 갖는다.

다음의 계산에서와 같이 제안된 폴링 알고리즘은 64%의 폴링 회수로

써 일반적인 폴링 알고리즘과 같은 성능을 가진다.

2,560/4,000*100% = 64%

0

12.5

0.5 1.0 1.5 2.0

13.0

13.5

14.0

14.5

폴링 주기(sec)

식(1)에

의하여

계산된

그림 5.3 관리 정보 값에 대한 추적성 계산Fig. 5.3 Evaluation of Capability to Keep Track of

Management Information Values.

2.5

14.222 일반적인 폴링 알고리즘에의하여 계산된 값

제안된 폴링 알고리즘에의하여 계산된 값

14.235

Page 47: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

제 6 장 결 론

제안된 폴링 알고리즘에서는 대행자가 스스로 폴링 주기를 계산하

여 관리자에게 알리는 방법을 택한다. 실시간으로 변하는 폴링 정보

에 따라 폴링 주기도 다시 설정이 되어야 하는데 이것 또한 대행자

스스로 계산하여 관리자에게 알리는 방법을 택한다. 이러한 방법으

로 관리자는 한 순간에 여러 대행자를 관리할 수 있다. 대행자는 관

리자로부터의 폴링 요청 없이 주어진 폴링 주기에 따라 폴링 정보를

관리자에게 전송한다.

일반적인 폴링 알고리즘에서 관리자는 정보를 요구하고 대행자는

응답을 하는 양방향의 네트워크 부하 발생이 문제가 된다. 제안된

폴링 알고리즘에서 대행자 스스로 DFT를 이용한 최대 주파수를 검출

하고, 폴링 주기를 계산함으로써 실시간으로 변하는 네트워크 상태

에 대한 관리가 가능하며, 대행자가 관리자로 부터의 폴링 요청 없

이 정보를 전송함으로써 단방향의 네트워크 부하만 발생되므로 네트

워크 트래픽을 1/2로 감소시킬 수 있다.

또한 제안된 폴링 알고리즘은 관리 정보 값에 대한 추적성면에서

일반적인 폴링알고리즘보다 적은 폴링 회수를 필요로 한다. 제안된

일반적인 폴링 알고리즘과 비교하여 64%의 폴링 회수로 관리 정보

값에 대하여 비슷한 추적성을 보인다.

- 37 -

Page 48: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

참고 문헌

[1] Douglas E. Comer, Internetworking With TCP/IP Volume1: Pri-

inciples, Protocols, and Architecture, Prentice-Hall, 1995.

[2] Karanjit Siyan, Inside TCP/IP, New Riders Publishing,1997.

[3] W. Richard Stevens, TCP/IP Illustrated, Volume1, Addison-

Wesley, 1994.

[4] A. Leinward and K. Fang, Network Management: A Practical P-

erspective, Addison-Wesley, 1992.

[5] William Stallings, SNMP, SNMPv2, SNMPv3, AND RMON1 and 2,

Addison-Wesley, 1999.

[6] W. Stallings, SNMP, SNMP2, and CMIP: The Practical Guide to

Network Management Standards, Addison-Wesley, 1993.

[7] IETF, RFC 1213, "Management Information Base for Network M-

anagement of TCP/IP-based internets," March 1991.

[8] IETF, RFC 1157, "Simple Network Management Protocol(SNMP),"

May 1990.

[9] Gilbert Held, LAN Management with SNMP and RMON, Wiley Com-

puter Publishing, 1996.

[10]Kiyohito YOSHIHARA, "Dynamic Polling Algorithm Based on Ne-

twork Management Information Values," IEICE Trans. Commun.,

pp. 868-876,Jun. 1999.

[11]황교철, "A SNMP Group Polling for the Management Traffic,"

IEEE TENCON, 1999.

- 38 -

Page 49: SNMP에서트래픽감소를위한 동적폴링알고리즘 · 工學碩士學位請求論文 SNMP에서트래픽감소를위한 동적폴링알고리즘 Dynamic Polling Algorithm

[12]K. Ohta, N. Sun, G. Mansfield, and Y. Nemoto, "Effective p-

olling control for network management using SNMP," IEICE T-

echnical Reports on Information Network, IN94-135, Nov.1994.

[13]M. Cheikhrouhou, J. Labetoulle, "An Efficient Polling

Layer for SNMP," Proceeding of 2000 IEEE.

[14]Mohit Aron and Peter Druschel, "Soft Timers: Efficient Mic-

crosecond software Timer Support for Network Processing,"

ACM TRANS. on Computer Systems, August 2000.

[15]IETF, RFC 2287, "Definition of System-Level Management Obj-

ects for Applications," February 1998.

- 39 -