Simple Network Management Protocol
|
Application layer | HTTP, HTTPS, SMTP, FTP, UUCP, NNTP, SSH, IRC, SNMP, SIP, RTP, Telnet ,... |
Transport layer | TCP, UDP, SCTP, DCCP, ... |
Network layer | IPv4, IPv6, ICMP, ARP, IGMP, ... |
Data link layer | Ethernet, Wi-Fi, Token ring, FDDI, PPP, ... |
Physical layer | RS-232, EIA-422, RS-449, EIA-485... |
The Simple Network Management Protocol (SNMP) forms part of the internet protocol suite as defined by the Internet Engineering Task Force. The protocol can support monitoring of network-attached devices for any conditions that warrant administrative attention.
Contents |
Architecture
Architecturally, the SNMP framework has three fundamental components:
- Master Agents.
- Subagents.
- Management Stations.
Within the SNMP architecture, a management information base (MIB) models each managed subsystem with a subsystem-specific definition. This MIB specifies precisely the management data and operations that a subagent makes possible. This model permits management across all layers of the OSI reference model and extending into applications such as databases, email, and the J2EE reference model.
The manager or management station provides the third component. It functions as the equivalent of a client in a client-server architecture. It issues requests for management operations on behalf of an administrator or application, and receives traps from agents as well.
The SNMP protocol operates at the application layer (layer 7) of the OSI model. It specified (in version 1) five core protocol data units (PDUs):
- GET REQUEST, used to retrieve a piece of management information.
- GETNEXT REQUEST, used iteratively to retrieve sequences of management information.
- GET RESPONSE
- SET, used to make a change to a managed subsystem.
- TRAP, used to report an alert or other asynchronous event about a managed subsystem. In SNMPv1 are called trap and in SNMPv2c are called notifications. In SNMPv1 MIBs, traps are defined using the TRAP-TYPE macro, in SNMPv2 MIBs, traps are defined using the NOTIFICATION-TYPE macro.
Other PDUs were added in later versions, including:
- INFORM, an acknowledged trap.
Typically, SNMP uses UDP ports 161 for the agent and 162 for the manager. ]
Development and Usage
Version 1
The first RFCs for SNMP, now known as Simple Network Management Protocol version 1, appeared in 1988:
- RFC 1065 - Structure and identification of management information for TCP/IP-based internets
- RFC 1066 - Management information base for network management of TCP/IP-based internets
- RFC 1067 - A simple network management protocol
Version 1 has been criticized for its poor security. Authentication of clients is performed only by a "community string", in effect a type of password, which is transmitted in cleartext.
Version 2
Version 2 was not widely adopted due to serious disagreements over the security framework in the standard.
Simple Network Management Protocol version 2 (RFC 1441-RFC 1452), also known as SNMP v2 or SNMP v2p, revises version 1 and includes improvements in the areas of performance, security, confidentiality, and manager-to-manager communications. It introduced GETBULK, an alternative to iterative GETNEXTs for retrieving large amounts of management data in a single request. However, the new party-based security system in SNMP v2, viewed by many as overly complex, was not widely accepted. Community-Based Simple Network Management Protocol version 2, or SNMP v2c, is defined in RFC 1901-RFC 1908. In its initial stages, this was also informally known as SNMP v1.5. SNMP v2c comprises SNMP v2 without the controversial new SNMP v2 security model, using instead the simple community-based security scheme of SNMP v1. While officially only a "Draft Standard", this is widely considered the de facto SNMP v2 standard.
User-Based Simple Network Management Protocol version 2, or SNMP v2u, is defined in RFC 1909-RFC 1910. This is a compromise that attempts to offer greater security than SNMP v1, but without incurring the high complexity of SNMP v2. A variant of this was commercialized as SNMP v2*, and the mechanism was eventually adopted as one of two security frameworks in SNMP v3.
Version 3
The Internet Engineering Task Force (IETF) recognizes Simple Network Management Protocol version 3 as defined by RFC 3411-RFC 3418 (also known as STD0062) as the current standard version of SNMP as of 2004. The IETF considers earlier versions as "Obsolete" or "Historical".
In practice, SNMP implementations often support multiple versions: typically SNMPv1, SNMPv2c, and SNMPv3. See RFC 3584 "Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework".
Usage Example
The output below exemplifies an snmpwalk (snmpwalk is a Net-SNMP application) performed on a router, and shows general information about the device.
snmpwalk -c public punch system
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) C2600 Software (C2600-IO3-M), Version 12.2(15)T5, RELEASE SOFTWARE (fc1)
TAC Support: http://www.cisco.com/tac
Copyright (c) 1986-2003 by cisco Systems, Inc.
Compiled Thu 12-Jun-03 15:49 by eaarm
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.187
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (835747999) 96 days, 17:31:19.99
SNMPv2-MIB::sysContact.0 = STRING: wikiuser
SNMPv2-MIB::sysName.0 = STRING: punch
SNMPv2-MIB::sysLocation.0 = STRING: test
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
See also
External links
- Introduction to the Simple Network Management Protocol (http://www.windowsnetworking.com/articles_tutorials/Introduction-SNMP-Part1.html)
- SimpleWeb (http://www.simpleweb.org)
- http://www.henrys.de/daniel/download/SNMP.HTM
- SNMP FAQ part 1 (http://www.snmp.com/FAQs/snmp-faq-part1.txt)
- SNMP FAQ part 2 (http://www.snmp.com/FAQs/snmp-faq-part2.txt)
- Implementations:
- Net-SNMP: Open source SNMP implementation (http://www.net-snmp.org/)
- Netsnmpj: Open source SNMP for Java (http://netsnmpj.sourceforge.net/)
- OpenSNMP: multi-threaded SNMPv3 engine (http://sourceforge.net/projects/opensnmp/)
- Cisco:
- Configuring SNMP Support (http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/ffun_c/fcfprt3/fcf014.htm)
- Cisco SNMP command reference (http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/fun_r/cfr_1g11.pdf)
- Cisco IOS MIB Tools (http://www.cisco.com/go/mibs)
- RFCs:
- RFC 1065 - Obsolete -Structure and Identification of Management Information for TCP/IP-based internets
- RFC 1066 - Obsolete - Management Information Base for Network Management of TCP/IP-based internets
- RFC 1067 - Obsolete - A Simple Network Management Protocol
- RFC 1098 - Obsolete - A Simple Network Management Protocol (SNMP)
- RFC 1155 - Structure and Identification of Management Information for TCP/IP-based Internets
- RFC 1156 - Management Information Base for Network Management of TCP/IP-based internets
- RFC 1157 - A Simple Network Management Protocol (SNMP)
- RFC 1158 - Obsolete - Management Information Base for Network Management of TCP/IP-based internets: MIB-II
- RFC 1441 - Introduction to version 2 of the Internet-standard Network Management Framework
- RFC 1448 - Obsolete - Protocol Operations for version 2 of the Simple Network Management Protocol (SNMPv2)
- RFC 1449 - Obsolete - Transport Mappings for version 2 of the Simple Network Management Protocol (SNMPv2)
- RFC 1213 - Management Information Base for Network Management of TCP/IP-based internets: MIB-II
- RFC 1905 - Obsolete - Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)
- RFC 1906 - Obsolete - Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)
- RFC 1907 - Obsolete - Management Information Base for Version 2 of the Simple Network Management Protocol (SNMPv2)
- RFC 2262 - Obsolete - Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)
- RFC 2265 - Obsolete - View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)
- RFC 2271 - Obsolete - An Architecture for Describing SNMP Management Frameworks
- RFC 2272 - Obsolete - Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)
- RFC 2275 - Obsolete - View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)
- RFC 2570 - Obsolete - Introduction to Version 3 of the Internet-standard Network Management Framework
- RFC 2571 - Obsolete - An Architecture for Describing SNMP Management Framework
- RFC 2572 - Obsolete - Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)
- RFC 2573 - Obsolete - SNMP Applications
- RFC 2574 - Obsolete - User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)
- RFC 2575 - Obsolete - View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)
- RFC 2576 - Obsolete - Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework
- RFC 3410 - Informational - Introduction and Applicability Statements for Internet Standard Management Framework
- RFC 3411 - Standard 62 - An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks
- RFC 3412 - Standard 62 - Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)
- RFC 3413 - Standard 62 - Simple Network Management Protocol (SNMP) Application
- RFC 3414 - Standard 62 - User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)
- RFC 3415 - Standard 62 - View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)
- RFC 3416 - Standard 62 - Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP)
- RFC 3417 - Standard 62 - Transport Mappings for the Simple Network Management Protocol (SNMP)
- RFC 3418 - Standard 62 - Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)
- RFC 3512 - Informational- Configuring Networks and Devices with Simple Network Management Protocol (SNMP)
- RFC 3584 - Best Current Practice- Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Frameworkde:Simple Network Management Protocol
es:SNMP fr:Simple Network Management Protocol ja:Simple Network Management Protocol lt:SNMP pl:SNMP pt:Simple Network Management Protocol ru:SNMP sk:Simple Network Management Protocol fi:SNMP zh:SNMP