Professional Documents
Culture Documents
SNMP
Chris Francois CS 417d Fall 1998 cfrancois@acm.org
Fault Management
Dealing with problems and emergencies in the network (router stops routing, server loses power, etc.)
Performance Management
How smoothly is the network running? Can it handle the workload it currently has?
SNMP & Network Management History SNMP & Network Management History
1983 - TCP/IP replaces ARPANET at U.S. Dept. of Defense, effective birth of Internet First model for net management - HEMS - High-Level Entity Management System (RFCs 1021,1022,1024,1076) 1987 - ISO OSI proposes CMIP - Common Management Information Protocol, and CMOT (CMIP over TCP) for the actual network management protocol for use on the internet Nov. 1987 - SGMP - Simple Gateway Monitoring protocol (RFC 1028) 1989 - Marshall T. Rose heads up SNMP working group to create a common network management framework to be used by both SGMP and CMOT to allow for transition to CMOT Aug. 1989 - Internet-standard Network Management Framework defined (RFCs 1065, 1066, 1067) Apr. 1989 - SNMP promoted to recommended status as the de facto TCP/IP network management framework (RFC 1098) June 1989 - IAB committee decides to let SNMP and CMOT develop separately May 1990 - IAB promotes SNMP to a standard protocol with a recommended status (RFC 1157) Mar. 1991 - format of MIBs and traps defined (RFCs 1212, 1215) TCP/IP MIB definition revised to create SNMPv1 (RFC 1213)
Versions Versions
Two major versions SNMPv1, SNMPv2 SNMPv1 is the recommended standard SNMPv2 has become split into:
SNMPv2u - SNMPv2 with user-based security SNMPv2* - SNMPv2 with user-based security and additional features SNMPv2c - SNMPv2 without security
Client Pull & Server Push Client Pull & Server Push
SNMP is a client pull model
The management system (client) pulls data from the agent (server).
SNMP & The OSI Model SNMP & The OSI Model
7 Application Layer Management and Agent APIs SNMP 6 Presentation Layer ASN.1 and BER 5 Session Layer RPC and NetBIOS 4 Transport Layer TCP and UDP 3 Network Layer IP and IPX 2 Data Link Layer Ethernet, Token Ring, FDDI 1 Physical Layer
UDP Datagram
SNMP Message
CRC
Nodes Nodes
Items in an SNMP Network are called nodes. There are different types of nodes. Managed nodes
Typically runs an agent process that services requests from a management node
Management nodes
Typically a workstation running some network management & monitoring software
Nodes can be both managed nodes and a management node at the same time
(typically this is the case, since you want to be able to manage the workstation that your management application is running on.)
Monolithic Agents
not extendible optimized for specific hardware platform and OS
this optimization results in less overhead (memory and system resources) and quicker execution
GetNext
Retrieves the next value of the next lexical MIB variable
Set
Changes the value of a MIB variable
Trap
An unsolicited notification sent by an agent to a management application (typically a notification of something unexpected, like an error)
Traps Traps
Traps are unrequested event reports that are sent to a management system by an SNMP agent process When a trappable event occurs, a trap message is generated by the agent and is sent to a trap destination (a specific, configured network address) Many events can be configured to signal a trap, like a network cable fault, failing NIC or Hard Drive, a General Protection Fault, or a power supply failure Traps can also be throttled -- You can limit the number of traps sent per second from the agent Traps have a priority associated with them -- Critical, Major, Minor, Warning, Marginal, Informational, Normal, Unknown
Management applications can be set up to send off an e-mail, call a voice mail and leave a message, or send an alphanumeric page to the network administrators pager that says:
Your PDC just Blue-Screened at 03:46AM. Have a nice day. :)
SMIv1 SMIv1
Structure of Management Information SMIv1 is described in RFCs 1155, 1212, 1215 These RFCs describe:
How MIB modules are defined with CCITT X.208 ASN.1 data description language The subset of the ASN.1 language that is used in MIBs The addition of the APPLICATION data type to ASN.1, specifically for use with SNMP MIBs All ASN.1 constructs are serialized using the CCITT X.209 BER for transmission across the wire definition of the high-level structure of the Internet branch (iso(1).org(3).dod(6).internet(1)) of the MIB naming tree the definition and description of an SNMP managed object
SMIv2 SMIv2
Structure of Management Information SMIv2 is described in RFCs 1442, 1443, 1444 These RFCs describe:
SMIv2 is a backward compatible update to SMIv1 The only exception is the Counter64 type defined by SMIv2 Counter64 cannot be created in SMIv2 RFC 2089 defines how bilingual (SMIv1 & SMIv2) agents handle the Counter64 data type IETF requires that new and revised RFCs specify MIB modules using SMIv2
ASN.1 ASN.1
Abstract Syntax Notation One ASN.1 is nothing more than a language definition. It is similar to C/C++ and other programming languages. Syntax examples:
-- two dashes is a comment -- The C equivalent is written in the comment MostSevereAlarm ::= INTEGER circuitAlarms MostSevereAlarm ::= 3 -- typedef MostSevereAlarm int; -- MostSevereAlarm circuitAlarms = 3;
MostSevereAlarm ::= INTEGER (1..5) -- specify a valid range ErrorCounts ::= SEQUENCE { circuitID erroredSeconds OCTET STRING, INTEGER,
unavailableSeconds INTEGER } -- data structures are defined using the SEQUENCE keyword
BER BER
Basic Encoding Rules
The relationship between ASN.1 and BER parallels that of source code and machine code. CCITT X.209 specifies the Basic Encoding Rules All SNMP messages are converted / serialized from ASN.1 notation into smaller, binary data (BER)
PDU Body
Message Length Message Version Community String PDU Type PDU Length Enterprises MIB OID Agent IP Address Standard Trap Type Specific Trap Type
Time Stamp
PDU Header
Length of Variable Bindings Length of First Binding OID of First Binding Type of First Binding Value of First Binding Length of Second Binding OID of Second Binding Type of Second Binding Value of Second Binding Additional Variable Bindings
PDU Body
RFC Description
RFCs RFCs
SNMP SNMP
1065 1066 1067 1098 1155 1156 1157 1158 1212 1213 1215 1351 1352 1353 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910
SMIv1 SNMPv1 MIB SNMPv1 SNMPv1 SMIv1 SNMPv1 MIB SNMPv1 SNMPv1 MIB-II SNMPv1 MIB definitions SNMPv1 MIB-II SNMPv1 traps Secure SNMP administrative model Secure SNMP managed objects Secure SNMP security protocols Introduction to SNMPv2 SMIv2 Textual conventions for SNMPv2 Conformance statements for SNMPv2 SNMPv2 administrative model SNMPv2 security protocols SNMPv2 party MIB SNMPv2 protocol operations SNMPv2 transport mapping SNMPv2 MIB Manger-to-manger MIB Coexistence of SNMPv1 and SNMPv2 Community-Based SNMPv2 SMIv2 Textual conventions for SNMPv2 Conformance statements for SNMPv2 Protocol operations for SNMPv2 Transport mapping for SNMPv2 SNMPv2 MIB Coexistence of SNMPv1 and SNMPv2 Administrative infrastructure for SNMPv2 User-based security for SNMPv2