280 likes | 518 Views
TCP/IP 네트워í¬. ì œ 25 장 단순 ë§ ê´€ë¦¬ í”„ë¡œí† ì½œ. Contents. Introduction SNMP SMI (Structure of Management Information) MIB (Management Information Base) ASN.1 & BER SNMPv2 SNMPv3 요약. Introduction. TCP/IP ë„¤íŠ¸ì› ê´€ë¦¬ì˜ ê°œë°œ IAB : Internet Architecture Board(1988). HEMS. SGMP. SNMP. SNMPv2. SNMPv3.
E N D
TCP/IP 네트워크 제 25 장 단순 망 관리 프로토콜 정보통신연구실
Contents • Introduction • SNMP • SMI (Structure of Management Information) • MIB (Management Information Base) • ASN.1 & BER • SNMPv2 • SNMPv3 • 요약 정보통신연구실
Introduction • TCP/IP 네트웍 관리의 개발 • IAB : Internet Architecture Board(1988) HEMS SGMP SNMP SNMPv2 SNMPv3 CMOT • SGMP (Simple Gateway Management Protocol) : Gateway를 모니터링하는 직접적인 방법 제공 • HEMS (High-Level Entity Management System) : 인터넷 최초의 관리 모델인 • HMP(Host Monitoring Protocol)의 일반화 version • SNMP (Simple Network Management Protocol) : SGMP의 향상 version, 단기 개발 • CMOT (CMIP over TCP/IP) : ISO가 네트웍관리를 위해 표준화한 protocol, service, database를 통합 정보통신연구실
Cont’d • TCP/IP 네트웍 관리 구조 Management Applications Instrumentation (MIB) Useful Protocols SNMP SNMP Agent ASN.1 Encoder/Decoder BER Encoder/Decoder ASN.1 Encoder/Decoder BER Encoder/Decoder X 162 161 MIB-II-RFC1213 SMI-RFC1155 get-request get-next-request set-request get-response trap SNMP-RFC1157 Management Station Management Agent 정보통신연구실
Cont’d • Management Station • stand-alone system으로 agent와 통신 • 관리자에게 network management 시스템에 대한 인터페이스 제공 • Management Agent • Management Station의 요구에 응답, 정보 제공 • MIB • Object(네트웍상에서 관리되는 resource의 단위)들의 집합 • SMI • MIB에서 변수를 참조하기 위해 사용된 일련의 공통 구조 및 식별 체계 • SNMP • Station과 Agent사이의 프로토콜 정보통신연구실
SNMP • 단순 요구-응답 프로토콜 • 응용 계층 프로토콜 • UDP 사용 • 신뢰성 부족 • 5개의 메시지로 구성 정보통신연구실
Cont’d • SNMP Messages SNMP manager SNMP agent get-request get-response get-next-request UDP port 161 get-response set-request get-response trap UDP port 162 정보통신연구실
IP헤더 UDP 헤더 버전(0) 공동체 PDU 유형(0-3) 요구 ID 에러상황(0-5) 에러인덱스 이름 값 PDU 유형(0-3) 이름 값 Cont’d • Message Format IP 데이터그램 UDP 데이터그램 SNMP 메세지 공통 SNMP 헤더 get/set헤더 get/set로 가는 변수 네트웍 층 트랜스포트 층 정보통신연구실
PDU 유형 이 름 0 get-request 1 get-next-request 2 set-request 3 get-response 4 trap Cont’d • Message Format(continued) • 버전 : 0 ( 실제 버전 숫자-1) • PDU(Protocol Data Unit) 유형 • 공동체 : 관리자와 대행자 간의 패스워드 정보통신연구실
에러 상태 이 름 설 명 0 noError 모든 것이 OK 1 tooBig 대행자는 응답을 단일 SNMP 메시지에 맞출 수 없다 2 noSuchName 존재하지 않은 변수가 지정되었다 3 badValue 설정에서 무효인 값, 문맥이 지정되었다 4 readOnly 관리자가 읽기만 가능한 값을 변경하려고 했다 5 genErr 그 밖의 에러 Cont’d • 에러상황 • 에러 인덱스 : 에러를 일으킨 변수를 가리키는 정수 • noSuchName, badValue, and readOnly 정보통신연구실
트랩 유형 이 름 설 명 0 coldStart 대행자가 자기 자신을 초기화 1 warmStart 대행자가 자기 자신을 재 초기화 2 linkDown 인터페이스가 가동상태에서 정지상태로 변화 3 linkUp 인터페이스가 가동상태에서 정지상태로 변화 4 authenticationFailure SNMP 관리자로부터 무효인 공동체의 메시지를 받음 5 egpNeighborLoss EGP 상대방이 정지상태로 변화 6 enterpriseSpecific 트랩의 정보에 관한 특정 코드 필드를 보는 것 Cont’d • 트랩 • 대행자로부터 관리자로의 메시지 • UDP 포트 162로 전송 정보통신연구실
SMI(관리 정보 구조) • SMI • RFC 1155 • MIB에서 정의되고 만들어지는 Object들의 일반적인 틀 정의 • 데이터 유형을 지정하고 MIB에 있는 정보의 표현 및 명명 방법 규정 • 특정 MIB의 구조를 정의하는 표준기술제시 • Object 값을 encoding하는 표준기술제시 정보통신연구실
Cont’d • 데이터 유형 • INTIGER • 제한 없는 정수(인터페이스의 MTU), 특정 값(flag), 최대값/최소값(포트번호) • OCTET STRING • 0 혹은 8 바이트 문자(각 바이트는 0~255사이) • DisplayString • A string of 0 or more 8-bit byte • OBJECT IDENTIFIER ( 15번 TP ) • NULL • no value 정보통신연구실
Cont’d • IpAddress • 길이 4의 OCTET STRING • PhysAddress • 물리적 주소 지정(OCTET STRING) • Counter • 0~232-1(4,294,967,295) 까지 단조롭게 증가, 음이 아닌 정수 • Gauge • 0~232-1(4,294,967,295)사이의 음이 아닌 정수 • TimeTicks • 어떤 시점까지 수 백초의 시간을 count하는 계수기 • SEQUENCE • C languge의 구조체와 유사 • SEQUENCE OF • 모든 원소가 같은 데이터 유형을 갖는 벡터의 정의 정보통신연구실
MIB(관리 정보 베이스) • 객체 식별자 • 식별자 그룹에 대해 책임을 갖는 조직체에 의해 할당되는 데이터 유형 • 10진 소수점에 의해 분리되는 정수들의 나열 • 트리 구조 • MIB에 잇는 모든 변수는 1.3.6.1.2.1 로 시작 • 트리의 각 노드에 문자 이름 할당 • iso.org.dod.internet.mgmt.mib 정보통신연구실
Cont’d root ccitt(0) iso(1) joint-iso-ccitt(2) org(3) dod(6) internet(1) 1.3.6.1 directory(1) mgmt(2) experimental(3) private(4) mib(1) enterprises(1) 1.3.6.1.2.1 system(1) interfaces(2) at(3) ip(4) icmp(5) tcp(6) udp(7) ... ... ... ... ... ... ... 정보통신연구실
Cont’d • internet- • directory(1) • OSI directory에서 향후 사용될 것을 위해 예약된 부분(X.500) • mgmt(2) • IAB에서 승인한 문서에서 정의된 객체들을 사용하기 위한 부분 • experimental (3) • Internet experiments에서 사용되는 객체를 지정하는데 사용되는 부분 • private(4) • 일방적으로 정의된 객체를 지정하는데 사용되는 부분 정보통신연구실
Cont’d • MIB • 관리자가 조회하거나 설정할 수 있는 정보 데이터 베이스 Mib(1) system(1) … tcp(6) Udp(7) 1.3.6.1.2.1.7 udpNoPorts(2) udpInErrors(3) udpInDatagrams(1) udpOutDatagrams(4) udpTable(5) udpEntry(1) udpLocalAddress(1) udpLocalPort(2) 정보통신연구실
Cont’d • UDP그룹 이름 데이터유형 R/W 설명 udpInDatagrams udpNoPorts udpInErrors udpOutDatagrams Counter Counter Counter Counter 사용자 프로세스에 전달되는 UDP 데이터그램의 수 목적지 포트에 응용 프로세스가 존재하지 않는 수신 UDP 데이터 그램의 수 목적지 포트에 응용프로세스가 존재하지 않는 이외의 이유로 전달할 수 없는 UDP데이터그램의 수 송신된 UDP데이터그램의 수 UDP 대기자 테이블, 인덱스 = <udpLocalAddress>,<udpLocalPort> udpLocalAddress udpLocalPort ipAddress [0..65535] 이 대기자의 로컬 IP 주소 0.0.0.0은 대기자가 모든 인터 페이스상에서 데이터그램의 수신을 받겠다는 의사가 있는 것을 나타낸다. 이 대기자의 로컬 포트 번호 정보통신연구실
응용계층 udpInDatagrams udpNoPort udpInErrors udpOutDatagrams IP 층 Cont’d • Case 다이어그램 • 주어진 그룹내의 여러 MIB 변수들간의 관계 • MIB 개발 과정에서 Packet에 대한 모든 데이터 경로가 밝혀졌는가를 확인 정보통신연구실
Cont’d • 인스턴스 식별 • MIB에 있는 각 변수는 SNMP가 그 변수 값을 가져오거나 설정하기 위해서 참조할 때 지정 • 단순변수참조 • 변수의 객체 식별자에 “.0”을 붙임 • ex) 객체 식별자 : 1.3.6.1.2.1.7.1(udpInDatagrams) 참 조 : 1.3.6.1.2.1.7.1.0 문 자 이 름 : iso.org.dod.internet.mgmt.mib.udp.udpInDatagrams.0 생 략 : udpInDatagrams.0 정보통신연구실
0.0.0.0 67 0.0.0.0 161 0.0.0.0 520 행 객체 식별자 생략된 이름 값 1 1.3.6.1.2.1.7.5.1.1.0.0.0.0.67 1.3.6.1.2.1.7.5.1.1.0.0.0.0.67 udpLocalAddress.0.0.0.0.67 udpLocalPort.0.0.0.0.67 0.0.0.0 67 2 1.3.6.1.2.1.7.5.1.1.0.0.0.0.161 1.3.6.1.2.1.7.5.1.1.0.0.0.0.161 udpLocalAddress.0.0.0.0.161 udpLocalPort.0.0.0.0.161 0.0.0.0 161 3 1.3.6.1.2.1.7.5.1.1.0.0.0.0.520 1.3.6.1.2.1.7.5.1.1.0.0.0.0.520 udpLocalAddress.0.0.0.0.520 udpLocalPort.0.0.0.0.520 0.0.0.0 520 Cont’d • 테이블 참조 udpLocalAddress udpLocalPort BOOTP서버 SNMP RIP UDP 대기자 테이블 각 행에 대한 참조 정보통신연구실
Cont’d • Example • 단순변수 • 조회 • tcpdump 출력 sun % snmpi -a gateway -c secret snmpi> get udpInDatagrams.0 udpNoPorts.0 udpInDatagrams.0 = 616168 udpNoPorts.0 = 33 snmpi> quit 1 0.0 sun.1024 > gateway.161: GetRequest(42) 1.3.6.1.2.1.7.1.01.3.6.1.2.1.7.2.0 2 0.348875(0.3489) gateway.161>sun.1024: GetResponse(46) 1.3.6.1.2.1.7.1.0 = 616168 1.3.6.1.2.1.7.2.0 = 33 정보통신연구실
Cont’d • 테이블 엑세스 sun % snmpi -a gateway -c secret snmpi> next udpTable udpLocalAddress.0.0.0.0.67=0.0.0.0 snmpi>next udpLocalAddress.0.0.0.067 udpLocalAddress.0.0.0.0.161=0.0.0.0 snmpi>next udpLocalAddress.0.0.0.0.161 udpLocalAddress.0.0.0.0.520=0.0.0.0 snmpi>next udpLocalAddress.0.0.0.0.520 udpLocalPort.0.0.0.0.67=67 snmpi>next udpLocalPort.0.0.0.0.67 udpLocalPort.0.0.0.0.161=161 snmpi>next udpLocalPort.0.0.0.0.520 snmpInpkts.0=59 정보통신연구실
ASN.1 & BER • ASN(Abstract Syntax Notation) • SNMP의 공식 사양 • 데이터와 데이터의 속성들을 설명하기 위한 공식 언어 • ex) IpAddress의 ASN.1 정의 • BER(Basic Encoding Rules) • SNMP 메시지로의 실제 비트 변환 IpAddress :: = [APPLICATION 0] -- in network-byte order IMPLICIT OCTET STRING (SIZE (4)) 정보통신연구실
SNMPv2 • RFC 1441 • get-bulk-request 추가 • 관리자가 효율적으로 큰 데이터 블록을 검색 • inform-request 추가 • 관리자가 또 다른 관리자에게 정보를 전송 • 2개의 새로운 MIB • SNMPv2 MIB & SNMPv2-M2M MIB(Manager-to-Manager) • 향상된 보안 제공 • 인증과 프라이버시 정보통신연구실
SNMPv3 • RFC 2271 ~ RFC 2275 • IETF SNMPv3 WG 에서 표준화 진행 • reference sites • http://www.ietf.org/html.charters/snmpv3-charter.html • http://www.snmp.com/ 정보통신연구실
요약 • SNMP • 관리자와 대행자간의 단순한 요구-응답 프로토콜 • 5개의 메시지로 구성 • MIB • 관리자가 조회하거나 설정할 수 있도록 대행자에 의해 유지되는 변수 정의 • SMI • MIB에서 정의되고 만들어지는 Object들의 일반적인 틀 정의 • SNMPv2, SNMPv3 정보통신연구실