nullSNMP
Simple Network Management Protocol
SNMP
Simple Network Management Protocol
Chris Francois
CS 417d Fall 1998
cfrancois@acm.orgWhat is Network Management?Basic tasks that fall under this category are:What is Network Management?Network Management must be...Network Management must be...
The management interface must be...The management mechanism must be...Standardized
Extendible
PortableInexpensive
Implemented as software onlyFunctional Areas of Network ManagementFunctional Areas of Network Management
Configuration Management - inventory, configuration, provisioning
Fault Management - reactive and proactive network fault management
Performance Management - # of packets dropped, timeouts, collisions, CRC errors
Security Management - SNMP doesn’t provide much here
Accounting Management - cost management and chargeback assessment
Asset Management - statistics of equipment, facility, and administration personnel
Planning Management - analysis of trends to help justify a network upgrade or bandwidth increaseSNMP & Network Management HistorySNMP & Network Management History1983 - 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)VersionsVersions
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 securityWhat is SNMP?What is SNMP?SNMP is a tool (protocol) that allows for remote and local management of items on the network including servers, workstations, routers, switches and other managed devices.
Comprised of agents and managers
Agent - process running on each managed node collecting information about the device it is running on.Manager - process running on a management workstation that requests information about devices on the network.Advantages of using SNMPAdvantages of using SNMPStandardized
universally supported
extendible
portable
allows distributed management access
lightweight protocolClient Pull & Server PushClient Pull & Server PushSNMP is a “client pull” modelSNMP is a “server push” modelThe management system (client) “pulls” data from the agent (server).The agent (server) “pushes” out a trap message to a (client) management systemSNMP & The OSI ModelSNMP & The OSI Model
Ports & UDPPorts & UDP
SNMP uses User Datagram Protocol (UDP) as the transport mechanism for SNMP messages
UDP Port 161 - SNMP Messages
UDP Port 162 - SNMP Trap MessagesLike FTP, SNMP uses two well-known ports to operate:Ethernet FrameIP PacketUDP DatagramSNMP MessageCRCThe Three Parts of SNMPSNMP network management is based on three parts:The Three Parts of SNMPStructure of Management Information (SMI)Rules specifying the format used to define objects managed on the network that the SNMP protocol accessesManagement Information Base (MIB)A map of the hierarchical order of all managed objects and how they are accessedSNMP Protocol
Defines format of messages exchanged by management systems and agents.
Specifies the Get, GetNext, Set, and Trap operations
NodesNodes
Items in an SNMP Network are called nodes. There are different types of nodes.Managed nodesManagement nodesNodes that are not manageable by SNMPTypically runs an agent process that services requests from a management nodeTypically a workstation running some network management & monitoring softwareA node may not support SNMP, but may be manageable by SNMP through a proxy agent running on another machineNodes 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.)Community NamesCommunity Names
Community names are used to define where an SNMP message is destined for.
They mirror the same concept as a Windows NT or Unix domain.
Set up your agents to belong to certain communities.
Set up your management applications to monitor and receive traps from certain community names.SNMP AgentsSNMP AgentsTwo basic designs of agents
Extendible AgentsOpen, modular design allows for adaptations to new management data and operational requirements
Proxy & Gateway AgentsProxy & Gateway Agents
Proxy & Gateway Agents extend the capabilities of SNMP by allowing it to:Manage a device that cannot support an SNMP agent
Manage a device that supports a non-SNMP management agent
Allow a non-SNMP management system to access an SNMP agent
Provide firewall-type security to other SNMP agents (UDP packet filtering)
Translate between different formats of SNMP messages (v1 and v2)
Consolidate multiple managed nodes into a single network address (also to provide a single trap destination)
Four Basic OperationsFour Basic Operations
GetGetNextSetTrapRetrieves the value of a MIB variable stored on the agent machine
(integer, string, or address of another MIB variable)Retrieves the next value of the next lexical MIB variableChanges the value of a MIB variableAn unsolicited notification sent by an agent to a management application (typically a notification of something unexpected, like an error)TrapsTraps
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, UnknownTrap ReceiversTrap Receivers
Traps are received by a management application.
Management applications can handle the trap in a few ways:Poll the agent that sent the trap for more information about the event, and the status of the rest of the machine.
Log the reception of the trap.
Completely ignore the trap.Management applications can be set up to send off an e-mail, call a voice mail and leave a message, or send an alpha-numeric page to the network administrator’s pager that says: Your PDC just Blue-Screened at 03:46AM. Have a nice day. :)Languages of SNMPLanguages of SNMP
Structure of Management Information (SMI)Abstract Syntax Notation One (ASN.1)Basic Encoding Rules (BER)specifies the format used for defining managed objects that are accessed via the SNMP protocolused to define the format of SNMP messages and managed objects (MIB modules) using an unambiguous data description formatused to encode the SNMP messages into a format suitable for transmission across a networkSMIv1SMIv1
Structure of Management InformationSMIv1 is described in RFCs 1155, 1212, 1215These 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 objectSMIv2SMIv2
Structure of Management InformationSMIv2 is described in RFCs 1442, 1443, 1444These 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 SMIv2ASN.1ASN.1
Abstract Syntax Notation OneASN.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 -- typedef MostSevereAlarm int;
circuitAlarms MostSevereAlarm ::= 3 -- MostSevereAlarm circuitAlarms = 3;
MostSevereAlarm ::= INTEGER (1..5) -- specify a valid range
ErrorCounts ::= SEQUENCE {
circuitID OCTET STRING,
erroredSeconds INTEGER,
unavailableSeconds INTEGER
} -- data structures are defined using the SEQUENCE keywordBERBER
Basic Encoding RulesThe 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)SNMP Data TypesINTEGER -- signed 32-bit integer
OCTET STRING
OBJECT IDENTIFIER (OID)
NULL -- not actually data type, but data value
IpAddress -- OCTET STRING of size 4, in network byte order (B.E.)
Counter -- unsigned 32-bit integer (rolls over)
Gauge -- unsigned 32-bit integer (will top out and stay there)
TimeTicks -- unsigned 32-bit integer (rolls over after 497 days)
Opaque -- used to create new data types not in SNMPv1
DateAndTime, DisplayString, MacAddress, PhysAddress, TimeInterval, TimeStamp, TruthValue, VariablePointer -- textual conventions used as typesSNMP Data Types
Yellow items defined by ASN.1
Orange items defined by RFC 1155 Managed “Objects” & MIBsManaged “Objects” & MIBs
Always defined and referenced within the context of a MIB
A typical MIB variable definition:sysContact OBJECT-TYPE -- OBJECT-TYPE is a macro
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write -- or read-write, write-only, not-accessible
STATUS mandatory -- or optional, deprecated, obsolete
DESCRIPTION
“Chris Francois
cfrancois@acm.org
(360)650-0000”
::= { system 4 }Basic Message FormatBasic Message Format
Message LengthMessage VersionCommunity StringPDU HeaderPDU BodyMessage PreambleSNMP Protocol Data Unitnull
PDU BodySNMP Message PreamblePDU HeaderSNMP Message FormatsCommercial SNMP ApplicationsCommercial SNMP ApplicationsHere are some of the various SNMP Management products available today:http://www.hp.com/go/openview/ HP OpenView
http://www.tivoli.com/ IBM NetView
http://www.novell.com/products/managewise/ Novell ManageWise
http://www.sun.com/solstice/ Sun MicroSystems Solstice
http://www.microsoft.com/smsmgmt/ Microsoft SMS Server
http://www.compaq.com/products/servers/management/ Compaq Insight Manger
http://www.redpt.com/ SnmpQL - ODBC Compliant
http://www.empiretech.com/ Empire Technologies
ftp://ftp.cinco.com/users/cinco/demo/ Cinco Networks NetXray
http://www.netinst.com/html/snmp.html SNMP Collector (Win9X/NT)
http://www.netinst.com/html/Observer.html Observer
http://www.gordian.com/products_technologies/snmp.html Gordian’s SNMP Agent
http://www.castlerock.com/ Castle Rock Computing
http://www.adventnet.com/ Advent Network Management
http://www.smplsft.com/ SimpleAgent, SimpleTester
SNMP & Windows NT 5.0SNMP & Windows NT 5.0Proposed features of the Windows NT5 SNMP ServiceFull bilingual support for SNMPv1 and SNMPv2c
ability to map SNMPv2c requests to SNMPv1 for processing by extension agents
better synchronization of MIB variables
a new extension agent framework (backward compatible with original framework, but with MS add-ons)
code-generator for creation of extension agents
MIB-II, LAN Manager 2, IP Forwarding MIB (RFC 1354), and Host Resources MIB (RFC 1514) extension agents included
All MIB modules included with SNMP install
SMS 2.0 also has a Symantec PCAnywhere type of application integrated into it, allowing “remote-but-local” management as wellSNMP
RFC’sSNMP
RFC’s