이 문서에서는 SNMP 트랩에 대해 소개합니다. SNMP 트랩이 사용되는 방식과 데이터 네트워크 관리에서 수행하는 역할을 소개합니다.
SNMP 트랩을 사용하면 에이전트가 요청하지 않은 SNMP 메시지를 통해 중요한 이벤트를 관리 스테이션에 알릴 수 있습니다.
이 다이어그램에서 왼쪽의 설정은 정보를 폴링하고 응답을 가져오는 네트워크 관리 시스템을 보여줍니다. 오른쪽의 설정은 Network Management System(NMS)에 요청하지 않은 트랩 또는 비동기 트랩을 전송하는 에이전트를 보여줍니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
Simple Network Management Protocol(SNMPv1) 및 SNMPv2c는 관련 Management Information Base(MIB)와 함께 트랩 지향 알림을 권장합니다.
트랩 지향 알림의 기본 개념은 관리자가 많은 수의 디바이스를 담당하고, 각 디바이스에 많은 수의 개체가 있는 경우 관리자가 모든 디바이스의 모든 개체에서 정보를 폴링하거나 요청하는 것이 비실용적이라는 것입니다. 이 솔루션은 매니지드 디바이스의 각 에이전트가 요청 없이 관리자에게 알림을 보냅니다. 이벤트의 트랩이라고 하는 메시지를 전송하여 이를 수행합니다.
관리자는 이벤트를 수신한 후 이벤트를 표시하고 이를 기반으로 조치를 취할 수 있습니다. 예를 들어 관리자는 에이전트를 직접 폴링할 수도 있고, 이벤트를 더 잘 파악하기 위해 연결된 다른 디바이스 에이전트를 폴링할 수도 있습니다.
트랩 지향 알림을 사용하면 사소한 SNMP 요청이 필요하지 않으므로 네트워크 및 에이전트 리소스를 크게 절약할 수 있습니다. 하지만 SNMP 폴링을 완전히 제거할 수는 없습니다. SNMP 요청은 검색 및 토폴로지 변경에 필요합니다. 또한 매니지드 디바이스 에이전트는 디바이스에 치명적인 중단이 발생한 경우 트랩을 전송할 수 없습니다.
SNMPv1 트랩은 다음 필드를 사용하여 RFC 1157에 정의됩니다.
Enterprise(엔터프라이즈) - 트랩을 생성하는 매니지드 개체의 유형을 식별합니다.
Agent address(에이전트 주소) - 트랩을 생성하는 매니지드 개체의 주소를 제공합니다.
Generic trap type(일반 트랩 유형) - 여러 일반 트랩 유형 중 하나를 나타냅니다.
Specific trap code(특정 트랩 코드) - 여러 특정 트랩 코드 중 하나를 나타냅니다.
Time Stamp(타임스탬프) - 마지막 네트워크 재초기화와 트랩 생성 사이에 경과한 시간을 제공합니다.
Variable bindings(변수 바인딩) - PDU를 포함하는 트랩의 데이터 필드입니다. 각 변수 바인딩은 특정 MIB 개체 인스턴스를 현재 값과 연결합니다.
표준 일반 트랩은 coldStart, warmStart, linkDown, linkUp, authenticationFailure, egpNeighborLoss입니다. 일반 SNMPv1 트랩의 경우 Enterprise(엔터프라이즈) 필드에 트랩을 전송하는 디바이스의 sysObjectID 값이 포함됩니다. 벤더별 트랩의 경우 Generic trap type(일반 트랩 유형) 필드가 enterpriseSpecific(6)으로 설정됩니다. 시스코에서는 기존과 다른 방식으로 자체 특정 트랩을 구현했습니다. 트랩 Enterprise(엔터프라이즈) 필드에 sysObjectID를 유지하고 모든 시스코 디바이스에서 지원하는 모든 특정 트랩을 식별하는 특정 트랩 코드를 사용하는 대신, 시스코에서는 다양한 트랩 Enterprise(엔터프라이즈) 및 Specific trap code(특정 트랩 코드) 필드를 사용하여 트랩 식별을 구현했습니다.
SNMP Object Navigator에서 실제 값을 확인할 수 있습니다.
또한 시스코에서는 더 많은 바인딩된 변수를 추가하여 CISCO-GENERAL-TRAPS MIB의 일부 일반 트랩을 재정의했습니다.
이러한 트랩의 경우 Generic trap type(일반 트랩 유형)은 동일하게 유지되며 enterpriseSpecific(6)으로 설정되지 않습니다.
SNMPv2c에서 트랩은 NOTIFICATION으로 정의되며 SNMPv1과 다르게 형식이 지정됩니다. 여기에는 다음과 같은 매개변수가 있습니다.
sysUpTime - SNMPv1 트랩의 Time stamp(타임스탬프)와 동일합니다.
snmpTrapOID - 트랩 식별 필드. 일반 트랩의 경우 값은 RFC 1907에 정의되어 있습니다. 벤더별 트랩의 경우 snmpTrapOID는 기본적으로 SNMPv1 Enterprise 매개변수와 2개의 추가 하위 식별자인 '0' 및 SNMPv1 Specific trap code 매개변수를 연결한 것입니다.
VarBindList - 변수 바인딩의 목록입니다.
관리 시스템이 에이전트가 보낸 트랩을 이해하려면 관리 시스템이 개체 식별자(OID)가 정의하는 내용을 알아야 합니다. 따라서 해당 트랩에 대한 MIB가 로드되어 있어야 합니다. 이렇게 하면 네트워크 관리 시스템이 전송된 트랩을 이해할 수 있도록 올바른 OID 정보가 제공됩니다.
특정 MIB에서 시스코 디바이스가 지원하는 트랩은 Cisco SNMP Object Navigator를 참조하십시오. 특정 MIB에 사용 가능한 트랩이 나열되어 있습니다. 이러한 트랩 중 하나를 수신하려면 Cisco IOS® 소프트웨어 릴리스가 나열된 MIB를 지원해야 합니다. 시스코 디바이스에서 지원되는 MIB를 확인하려면 www.cisco.com/go/mibs를 방문하십시오.
MIB를 네트워크 관리 시스템에 로드해야 합니다. 이를 일반적으로 컴파일이라고 합니다. NMS 플랫폼에서의 MIB 컴파일에 대한 내용은 네트워크 관리 시스템(예: HP OpenView 또는 NetView) 사용자 가이드를 참조하십시오. SNMP: MIB에 관한 자주 묻는 질문 및 MIB 컴파일러 및 MIB 로드 또한 참조하십시오.
또한 디바이스는 네트워크 관리 시스템에 트랩을 전송하도록 설정되어 있지 않으면 트랩을 전송하지 않습니다. 디바이스에서는 트랩을 전송해야 하는 것을 알아야 합니다. 트랩 대상은 일반적으로 IP 주소로 정의되지만, 디바이스가 Domain Name System(DNS) 서버를 쿼리하도록 설정된 경우 호스트 이름일 수도 있습니다. 이후 버전의 Cisco IOS 소프트웨어에서는 디바이스 관리자가 전송할 트랩을 선택할 수 있습니다. SNMP에 대해 시스코 디바이스를 설정하는 방법 및 트랩을 전송하는 방법에 대한 자세한 내용은 해당 디바이스 설정 가이드 및 기본 다이얼 NMS 구현 가이드, Cisco IOS SNMP 트랩 지원 및 설정 방법, Cisco CatalystOS SNMP 트랩 지원 및 설정 방법을 참조하십시오.
참고: 관리자는 일반적으로 UDP 포트 번호 162에서 SNMP 알림(TRAP 및 INFORM)을 수신합니다.
이 섹션에는 debug snmp packet을 사용하여 Cisco IOS에서 전송하는 트랩의 몇 가지 예가 포함되어 있습니다.
시스코에서 재정의한 SNMPv1 일반 트랩:
Nov 21 07:44:17: %LINK-3-UPDOWN: Interface Loopback1, changed state to up 4d23h: SNMP: Queuing packet to 172.17.246.162 4d23h: SNMP: V1 Trap, ent products.45, addr 172.17.246.9, gentrap 3, spectrap 0 ifEntry.1.23 = 23 ifEntry.2.23 = Loopback1 ifEntry.3.23 = 24 lifEntry.20.23 = up
이 출력은 4개의 바인딩 변수가 있는 CISCO-GENERAL-TRAPS MIB의 시스코 재정의 linkUp 트랩을 보여줍니다. 여기에는 다음 필드가 있습니다.
Enterprise(엔터프라이즈) = products.45(디바이스 전송 트랩의 sysObjectID, 이 예에서는 c7507 라우터)
Generic trap type(일반 트랩 유형) = 3(linkUp)
Specific trap code(특정 트랩 코드) = 0
SNMPv1 시스코 특정 트랩:
4d23h: SNMP: Queuing packet to 172.17.246.162 4d23h: SNMP: V1 Trap, ent ciscoSyslogMIB.2, addr 172.17.246.9, gentrap 6, spectrap 1 clogHistoryEntry.2.954 = LINK clogHistoryEntry.3.954 = 4 clogHistoryEntry.4.954 = UPDOWN clogHistoryEntry.5.954 = Interface Loopback1, changed state to up clogHistoryEntry.6.954 = 43021184
이 출력은 5개의 바인딩 변수가 있는 CISCO-SYSLOG-MIB의 시스코 특정 clogMessageGenerated 트랩을 보여줍니다. 여기에는 다음 필드가 있습니다.
Enterprise(엔터프라이즈) = clogMessageGenerated 트랩의 Enterprise(엔터프라이즈) 값
Generic trap type(일반 트랩 유형) = 6 (enterpriseSpecific)
Specific trap code(특정 트랩 코드) = 1(clogMessageGenerated의 특정 트랩 코드)
SNMPv2c 시스코 특정 트랩:
4d23h: SNMP: Queuing packet to 172.17.246.162 4d23h: SNMP: V2 Trap, reqid 2, errstat 0, erridx 0 sysUpTime.0 = 43053404 snmpTrapOID.0 = clogHistoryEntry.2.958 = SYS clogHistoryEntry.3.958 = 6 clogHistoryEntry.4.958 = CONFIG_I clogHistoryEntry.5.958 = Configured from console by vty0 (10.10.10.10) clogHistoryEntry.6.958 = 43053403
이 출력은 3개의 바인딩 변수와 함께 CISCO-CONFIG-MAN-MIB의 시스코 특정 ciscoConfigManEvent SNMPv2c 알림을 보여줍니다.
디바이스의 설정이 변경된 경우 이 트랩을 사용할 수 있습니다. 마지막 두 구성 요소의 값은 show 명령이 실행되었는지 또는 설정이 변경되었는지 여부를 결정합니다.
6506E#term mon 6506E#debug snmp packet SNMP packet debugging is on 6506E#sh run Building configuration... ... 6506E# 19:24:18: SNMP: Queuing packet to 10.198.28.80 19:24:18: SNMP: V2 Trap, reqid 2, errstat 0, erridx 0 sysUpTime.0 = 6981747 snmpTrapOID.0 = ciscoConfigManMIB.2.0.1 ccmHistoryEventEntry.3.100 = 1 !--- 1 -> commandLine. Executed via CLI. ccmHistoryEventEntry.4.100 = 3 !--- 3 -> running ccmHistoryEventEntry.5.100 = 2 !--- 2 -> commandSource. Show command was executed.
6506E#term mon 6506E#debug snmp packet SNMP packet debugging is on 6506E#conf t Enter configuration commands, one per line. End with CNTL/Z. 6506E(config)#exit 22:57:37: SNMP: Queuing packet to 10.198.28.80 22:57:37: SNMP: V2 Trap, reqid 2, errstat 0, erridx 0 sysUpTime.0 = 8261709 snmpTrapOID.0 = ciscoConfigManMIB.2.0.1 ccmHistoryEventEntry.3.108 = 1 !--- 1 -> commandLine. Executed via CLI. ccmHistoryEventEntry.4.108 = 2 !--- 2 -> commandSource ccmHistoryEventEntry.5.108 = 3 !--- 3 -> running. Change was destined to the running configuration.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
07-Nov-2001 |
최초 릴리스 |