Download presentation
Presentation is loading. Please wait.
Published byΔημόκριτος Παπανδρέου Modified 6년 전
1
Network Management 김대환 김태훈 김숙흔 이근민
2
Contents 개요 NMS SNMP? SNMP의 출현 배경 SNMP 기반의 TCP/IP 네트워크 관리 SNMP 지원하는 동작
WAN환경에서의 SNMP 한계점 SNMPv1의 문제점 및 SNMPv2의 등장 SNMPv3
3
개요 Network의 대형화, 복잡화, Network를 이용한 업무의 증가 등으로 Network 관리에 대한 중요성이 부각되고 있음. Network 장애발생시 신속한 대처는 기본이고 발생 가능성을 사전에 제거 하는 것이 중요. 이것을 위해서는 시스템 운영 전반에 관한 내용을 관리 및 감독하는 시스템 관리 체계와 프로토콜이 필요. 대표적인 관리체계로는 ISO의 CMIS와 DMTF의 WBEM, IETF의 SNMP등이 있고 이것을 시스템적으로 각 벤더들이 구현한 각종 SMS, NMS, EMS 등이 있음.
4
NMS(Network Management System)
NMS (Network Management System)는 네트워크상의 전 장비들의 중앙 감시 체제를 구축하여 Monitoring, Planning및 분석이 가능하며 관련 데이터를 보관 하여 필요 즉시 활용 가능하게 하는 관리 시스템. NMS의 시스템 기능 Fault Management (오류 관리) Performance Management (성능 관리) Configuration and Name Management (구성/이름 관리) Account Management (비용 관리) Security Management (보안 관리) SNMP는 일반적인 NMS들이 지향하는 5가지의 관리 영역을 지원함.
5
Network Management System
SNMP? SNMP는 인터넷 IETF에서 RFC 1157로 정의한 네트워크를 관리하기 위한 프로토콜과 데이터베이스 구조에 대한 내용 그리고 데이터 객체들에 대한 표준들의 집합. SNMP는 network device들 사이의 management information의 교환을 구현한 7계층 application-layer protocol이다. 실제적으로 프로토콜 자체, 데이터베이스 정의, 관련된 개념을 포함한 네트워크 관리에 대한 명세서들을 모아놓은 것. Management Entity NMS Network Management System Management database Agent Management database Agent Management database Agent Managed Devices
6
SNMP의 출현배경 IAB : Internet Architecture Board(1988)
TCP/IP internet의 Network management IAB : Internet Architecture Board(1988) SGMP HEMS SNMP CMOT SNMPv3 SNMPv2 RFC 2271 ~ RFC 2275 SGMP (Simple Gateway Management Protocol) Gateway를 모니터링하는 직접적인 방법 제공 HEMS (High-Level Entity Management System) 인터넷 최초의 관리 모델이 HMP (Host Monitoring Protocol) SNMP (Simple Network Management Protocol) SGMP의 향상 version, 단기 개발 CMOT(CMIP over TCP/IP) ISO가 네트워크 관리를 위해 표준화한 protocol. Service, database를 통합 Network구성이 복잡해지면서 새로운 표준화된 Protocol이 필요하게 되면서 88년 초부터 IAB (Internet Architecture Board)에서는 표준화 작업을 시작했다. 연구가 진행됐던 HEMS (Highlevel Entity Management System), SGMP (Simple Gateway Monitoring), CMIP/CMIS (Common Management Information Protocol/Service)중에서 SGMP를 발전시킨 SNMP로 채택
7
SNMP 기반의 TCP/IP 네트워크 관리 모형
TCP/IP 관리 구조는 네트워크 상에 관리 에이전트(SNMP agent)가 탑재되어 있고 중앙의 관리국(Management Station)이 이런 에이전트로부터 각 네트워크 장비의 관리 정보를 모니터링 함으로써 이루어짐. 이때 각 관리 에이전트와 관리국간의 네트워크 관리 정보를 전송하기 위해 사용되는 네트워크 관리 프로토콜이 SNMP. 관리국 TCP/IP 네트워크 Management Station: SNMP Manager 기능이 탑재된 소프트웨어가 설치된 시스템을 의미하며 SNMP agent와 주고 받는 데이터를 이용하여 네트워크와 시스템을 관리하는 서버 시스템을 말한다. Management Agent: MIB형태로 현재의 네트워크 장치나 시스템의 상태를 파악해 저장하고 있다가 SNMP Manager의 요청이 있으면 그 정보들을 제공한다. 또한 SNMP Manager가 전송한 값으로 현재의 시스템을 설정하거나 현 시스템 문자가 생기면 그 상태를 SNMP Manager에 알리는 클라이언트 시스템을 말한다. Management Protocol: SNMP Manager와 SNMP Agent가 SNMP의 동작(Get, Get-Next, Get-Bulk, Set, Get-Response, Trap)을 수행하기 위해여 사용하는 프로토콜을 말한다. 협의의 의미로 말할 때 이것만을 SNMP Protocol이라고 한다. Management Information Base(MIB):SNMP Agent가 현재 시스템의 상태 정보를 저장하고 있는 표준화되어 있고 구조화된 형태의 정보 저장소와 규칙을 말한다. SNMP Agent SNMP Agent SNMP Agent SNMP 요구/응답 <SNMP 기본적인 관리구조>
8
SNMP 기반의 TCP/IP 네트워크 관리 모형
관리국 (Management Station) 피관리 에이전트 (Management Agent) 네트워크 관리 프로토콜 (SNMP: Simple Network Management Protocol ) 관리 정보 베이스 (MIB: Management Information Base)
9
SNMP 기반의 TCP/IP 네트워크 관리 모형
관리국(Management Station) 관리국이란 쉽게 말해서 우리가 일반적으로 NMS서버라 부르는 스테이션. 관리국은 최소한 다음의 사항을 가지고 있어야 함. 데이터 분석, 에러복구 등의 관리 어플리케이션들의 집합. 네트워크 관리자가 네트워크를 감시하고 조정할 수 있게 하는 인터페이스. 네트워크 관리자의 요구 즉, 네트워크상의 대상 요소를 실제로 감시하고 조정할 수 있도록 바꾸어 줄 수 있는 기능. 모든 네트워크상의 관리되어 질 수 있는 개체(Agent)들의 MIB으로부터 뽑아낸 데이터 베이스 정보.
10
SNMP 기반의 TCP/IP 네트워크 관리 모형
피관리 에이전트(Managed Agent) 일반적으로 SNMP 에이전트라고도 부르며 호스트 컴퓨터나 브리지, 라우터, 허브와 같은 장비로 관리국에 의해서 관리되어 질 수 있는 장비. 피관리 에이전트는 독자적으로 장비 자신의 트래픽을 모니터링하고 그 통계 정보를 자신의 MIB에 저장해두었다가 중앙의 관리국으로부터의 트래픽 정보 요구나 특정 동작 요청에 응답하고, 특정사건 발생시 관리국에 에이전트의 중요 정보를 제공. 관리 정보 베이스 (Management Information Base:MIB) 네트워크 상의 트래픽 관리 정보를 관리하는 방법은 오브젝트로 정보를 관리하는 것. 각 정보를 하나의 오브젝트로 하여 오브젝트들의 계층적 구조로 트래픽 정보를 저장하고 검색할수 있도록 하는데, 이런 오브젝트들의 모임을 Management Information Base (MIB)라 함. 여러 다른 MIB에 서로 다른 객체 계층이 존재함. MIB는 논리적으로 연관된 객체의 집합으로 되어 있음.
11
SNMP 기반의 TCP/IP 네트워크 관리 모형
단순 네트워크 관리 프로토콜 (SNMP: Simple Network Management Protocol) 관리국이 피관리 에이전트의 트래픽 정보를 검색하고 그 MIB 설정을 바꿀수 있는 표준 프로토콜이 네트워크 관리 프로토콜. TCP/IP 네트워크의 관리용으로 쓰이는 프로토콜이 Simple Network Management Protocol (SNMP). SNMP는 Network Management Station과 Agent라 불리는 Network 요소들 사이에 관리 정보(MIB)를 교환하는 간단한 요청/응답 기능을 하는 Protocol.
12
SNMP 기반의 TCP/IP 네트워크 관리 모형
네트워크 관리시스템 피 관리 시스템 (워크스테이션) (PC, Router) SNMP Manager SNMP Agent MIB2 MIB2 Application Layer SNMP SNMP Presentation Layer Session Layer UDP UDP Transport Layer Network Layer IP IP Data Link Layer 네트워크 인터페이스 네트워크 인터페이스 Physical Layer SNMP Manager의 요구 SNMP Agent의 응답 <SNMP를 사용한 네트워크 관리모형>
13
SNMP의 지원하는 동작 GET (get-next). SET 관리자 대리인 (Manager) (Agent)
SNMP가 지원하는 동작은 MIB Object 값의 변경과 검색이다. Get, Set, Trap 명령으로 특정동작을 지시. SNMP 프로토콜 세부 사항 ( SNMP 메시지 포맷 ) SNMP를 이용한 네트워크 관리에서 Management Station과 SNMP Agent간의 정보 교환은 SNMP 메시지의 형태로 교환된다. GET (get-next). SET 관리자 (Manager) 대리인 (Agent) Get : Management Station이 Agent의 MIB 오브젝트 값을 검색해 온다. Set : Management Station이 Agent의 Write 가능한 MIB 오브젝트 값을 설정한다. Trap : SNMP Agent가 Management Station에 자발적으로 특정 사건을 보고하는 오브젝트 값을 보낸다. Trap. Response <SNMP 기본통신>
14
SNMP의 동작 원리 …… Version Community SNMP PDU PDU Type request-id
(a) SNMP message PDU Type request-id variable-binding (b) GetRequest, GetNextRequest, SetRequest PDU PDU Type request-id error-status error-index variable-binding (c) GetResponse PDU PDU Type enterprise agent address generic trap specific trap time stamp variable-binding SNMP 메시지는 첫 번째 필드에 SNMP의 버전을 나타내는 버전 번호를 포함한다. 그리고 두 번째 필드는 community라는 필드인데 이 필드는 에이전트로의 접근을 허가하는 일종의 패스워드 역할을 수행한다. SNMP PDU에는 5가지 종류가 있다. SNMP PDU의 첫 번째 필드는 PDU type을 지시하며 이 필드를 통해 5가지 PDU 종류가 구분된다. [그림 1-5]는 SNMP PDU 포맷을 보여주며, 그림(a)는 SNMP Message를 포맷을 (b)의 PDU는 GetRequest PDU, GetNextRequest PDU, 그리고 SetRequest PDU를 나타내며 (c)는 GetResponse PDU를, (d)는 Trap PDU를 나타낸다. 각각의 다섯 PDU는 ASN.1 형태에 의해 개별적으로 정의된다. 그리고 각 PDU의 variablebindings 필드는 이름과 값의 형식들로 이루어진다. GetRequest SNMP는 MIB tree에서 leaf만을 retrieve하는 것이 가능. 단일 PDU에 variable-binding을 이용하여 많은 값들을 retrieve할 수 있으나 그 값들 중 하나라도 응답이 불가능하거나 모든 object들의 응답의 길이가 response-PDU에 대해 너무 클 경우 어떤 정보도 반환하지 않는다. Request-PDU와 response-PDU의 request-id는 같아야 한다. GetNextRequest 각각의 변수에 대하여 lexicographical순서에 바로 다음 object instance값을 반환한다. (다음 object가 아니다) GetRequest로 variable-bind를 요구했을 때 하나라도 지원하지 않는 object가 있으면 error를 반환한다. 그러나 GetNextRequest로 variable-bind를 요구하면 지원하지 않는 object가 있을 시 바로 그 다음 lexicographical순서에 있는 instance값을 반환한다. SetRequest object value를 기록하는데 사용된다. (object instance identifier, value) SetRequest명령 역시 GetRequest명령과 마찬가지로 variable-binding이 모두 update되거나 하나라도 에러가 발생하면 하나도 update되지 않는다. Trap event발생에 대한 비동기적인 notification을 manager에게 전송 generic-trap field (INTEGER) coldStart(0) warmStart(1) linkDown(2) linkUp(3) authenticationFailure(4) egpNeighborLoss(5) enterpriseSpecific(6) GetResponse-PDU : 이 PDU는 Management Station에 의해 요구된 MIB의 오브젝트의 속성값을 되돌려주기 위해 SNMP Agent에 의해 사용된다. SetRequest-PDU : Agent의 특정 MIB 오브젝트 값을 읽기보다는 쓰기를 위한 동작이다. 그러므로 Variable Binding의 목록에 오브젝트명 (OID)과 값의 형식, 쓰고자 하는 값을 모두 넣어줘야 한다. Trap-PDU : Trap은 Agent 자신에 의해서 발생한다. 즉, 특정 상황이 발생했음을 Management Station에게 알린다. (d) Trap PDU Name1 Value1 Name2 Value2 …… Namen Valuen (e) variable-binding
15
SNMP의 동작원리 (1) Get value (2) Get-next values (3) Set values
다른 PDU와는 달리 Trap PDU는 다른 편으로부터 응답 메시지를 이끌어내지 않는다 <PDU 통신방식>은 이러한 SNMP PDU의 송, 수신을 보여준다. GetRequest PDU GetNextRequest PDU GetResponse PDU GetResponse PDU (1) Get value (2) Get-next values Trap PDU 형식은 다른 PDU와는 상당히 다르다. 각 필드는 다음과 같다 enterprise: trap 을 생성하는 네트워크 관리 서브 시스템임을 인식한다. 이 값은 시스템 그룹의 sysObjectID로부터 결정된다. agent-addr: trap을 생성 하는 오브젝트의 IP 주소. generic-trap: 미리 정의된 trap 형식중의 하나. specific-trap: 더 세분 하게 trap의 본성을 나타 내는 코드. time-stamp: Trap의 timestamp는 초기화 시간에서부터 trap이 발생 한 시간까지를 기록 한다. variable-binding: trap과 관련된 추가정보. Trap은 송신자의 상태를 알리는데 도움이 될 수 있는 추가의 변수 리스트를 포함 Generic-trap은 7가지 값들 중의 하나이다. coldStart: 송신하는 SNMP 개체는 에이전트의 구성이나 프로토콜 개체의 구현이 변경되어지는 경우 스스로 재초기화할 수 있다. 전형적으로 이것은 충돌이나 주요 결함에 의한 예기치 않은 재시작이다. warmStart: 송신하는 SNMP 개체는 에이전트의 구성이나 프로토콜 개체의 구현이 변경되어지는 경우와 관계 없이 스스로 재초기화 할 수 있다. 전형적으로 이것은 정해진 재시작이다. linkDown: 에이전트의 통신 링크 중 하나에 결함이 생겼음을 알린다. Variable binding의 처음은 참조하고자 하는 인터페이스의 ifIndex의 이름과 값이다. linkUp: 에이전트의 통신 링크가 가동되었음을 알린다. Variable binding의 처음은 참조하고자 하는 인터페이스의 ifIndex의 이름과 값이다. authenticationFailure: 송신하는 프로토콜 개체가 인증에 실패했다는 메시지를 받았음을 알린다. egpNeighborLoss : EGP 이웃이 사라졌거나 이웃 관계가 더 이상 존재하지 않을 때 이를 알린다. enterpriseSpecific: EnterpriseSpecific은 표준 Trap을 제외한 그밖의 상태를 알리고자하는데 사용된다. SetRequest PDU Tap PDU GetResponse PDU (3) Set values (4) Send trap < PDU 통신방식>
16
WAN환경에서의 SNMP 한계점 대역폭의 과다 소요로 많은 장비를 관리하기 어렵다.
여러 Agent들의 데이터를 처리하여 통계 정보를 분석할 경우 해당 Agent들로부터 필요한 모든 정보를 관리국이 수집해야 하므로 많은 트래픽이 관리국으로 집중, 관리국의 성능을 고려해야 한다. SNMP Agent를 갖고 있는 네트워크 장비는 만일 그 장비가 본연의 임무를 수행하는 동안 Agent가 트래픽 정보를 분석하는 경우 그 자원의 왜곡이 있을 수 있으며, 충분한 성능을 확보하지 못할 때는 문제가 될 수 있다.
17
SNMPv1의 문제점 및 SNMPv2의 등장 SNMPv1의 문제점 이러한 문제점을 수정하기 위해서 SNMPv2가 등장했다
보안기능이 거의 없다. sysLocation 처럼 객체에 단 하나만의 값이 존재하는 경우는 문제가 없으나 RoutingTable 처럼 많은 열(row)이 존재하는 경우에는 전체 테이블을 읽고 싶을 때 수많은 요청/응답을 반복해야 한다. 여러 관리자가 존재시에 관리자간의 통신기능이 정의 되어 있지 않다. 이러한 문제점을 수정하기 위해서 SNMPv2가 등장했다
18
SNMPv1의 문제점 및 SNMPv2의 등장 SNMPv2 의 등장
관리자와 관리자간의 통신을 위한 InformRequest-PDU가 정의되었고 이를 위한 Management To Management MIB를 정의. 관리자간의 통신이 가능해짐으로 분산관리의 도입이 가능. GetBulkRequest-PDU를 도입. 이에 따라 한번의 요청으로 여러 테이블 값들을 읽어오는 것이 가능해졌고 불필요한 대역폭을 줄 일수 있게 됨. 가장 큰 문제였던 보안 기능이 추가. DES (Data Encryption Standard). MD5 (Message Digest 5) 알고리즘을 사용. 접근통제(Access Control)기능추가.
19
SNMPv3 RFC 문서 설 명 SNMP v1과 v2가 함께 결합하여 사용되는 보안 기능을 정의
메시지 processing과 dispatching을 정의 RFC 2273 SNMPv3 응용 프로그램들을 정의 RFC 2274 사용자 기반의 보안에 대한 정의 RFC 2275 view 기반의 접근 제어 모델 정의
20
Q & A 감사합니다.
Similar presentations