See this page as a slide show
SNMP
An Introduction to
Simple Network Management Protocol
Slides adapted from www.jasonslater.co.uk
Introduction
- Simple Network Management Protocol
- What it is
- Definition
- Why it is needed
- How it works
- Alternatives
- The Future
What is SNMP ?
- Simple Network Management Protocol
- It’s designed to be Simple
- Only five commands in version 1
- It’s concerned with Network Management
- Manage network performance
- Identify and diagnose issues
- Baseline/Plan for network growth
- It’s a Protocol
- defined by the IETF (Internet Engineering Task Force)
Definition
“
SNMP (Simple Network Management Protocol) is an industry standard communication protocol for managing and monitoring network devices. Its purpose is to provide a small, common and simple set of commands that allow network devices to be managed.
”
Why is SNMP needed?
- Distributed ad-hoc devices across the network
including repeaters, routers, bridges, switches,
hub, ups devices all need management
- They all basically receive data in from the network,
process it and put data back out onto the network
- They can sometimes be cumbersome to manage
- Inconsistent and differing interfaces require different resources
What is SNMP technically?
- Part of the TCP/IP model
- Defined through IETF RFC’s
- Uses Protocol Data Units (PDU’s) which are special forms of packet
- Uses a community string as password
- Made up of 3 primary elements:
- SNMP Managers (NMS receive messages from Agents, reporting, execute
programs).
- SNMP Agents — (software module in a managed device and talks to
Managers)
- Translates local info to MIB info
- MIBs (Collection of definitions of device management information)
organised by OID (Object ID)
- Rootless MIB hierarchy
Manager/Agent relationship
NMS
(Network Managemt Station) Managed System
┌─────────────┐ ┌─────────────┐
│ Management │-----------Commands-----------------▷│ Agent │
│ Process │ │ Process │
├ ─ ─ ─ ─ ─ ─ ┤◁----------Responses-----------------├ ─ ─ ─ ─ ─ ─ ┤
│ Management │ │ Management │
│ Information │ │ Information │
│ Database │◁----------Notifications-------------│ Database │
└─────────────┘ └─────────────┘
The MIB Namespace
root
┌──────────┼──────────────┐
│ │ │
itu-1 (0) iso (1) iso/itu-t (2)
│
┌──────────┼──────────────┬────────────┐
│ │ │ │
standard (0) registration member Identified organization
authority (1) body (2) e.g. .com .org (3)
│
dod (Department of Defense) (6)
│
internet (1)
┌──────────┬────────┬────────┬─────────┴────┬────────────┐
│ │ │ │ │ │
directory (1) mgmt (2) exp (3) private (4) security (5) snmpv2 (6)
│ │
mib-2 (1) enterprises (1)
│
┌───────────┬──────────┼──────────────┐
cisco (9) hp (11) nec (119) compaq (232)
Management Information Base
ftp://ftp.cisco.com/pub/mibs/v1/
nec OBJECT IDENTIFIER ::= { enterprises 119 }
nec-mib OBJECT IDENTIFIER ::= { nec 2 }
necProductDepend OBJECT IDENTIFIER ::= { nec-mib 3 }
atomis-mib OBJECT IDENTIFIER ::= { necProductDepend 14 }
m5core-mib OBJECT IDENTIFIER ::= { atomis-mib 3 }
node OBJECT IDENTIFIER ::= { m5core-mib 1 }
linf OBJECT IDENTIFIER ::= { m5core-mib 2 }
conn OBJECT IDENTIFIER ::= { m5core-mib 3 }
perf OBJECT IDENTIFIER ::= { m5core-mib 4 }
nodeFanStatus OBJECT-TYPE
SYNTAX INTEGER { up(1), down(2) }
ACCESS read-only
STATUS mandatory
DESCRIPTION "Operational FAN status"
::= { node 3 }
Example SNMP “GET” operation
- User makes request to NMS
- NMS initiates formal request
- Request traverses network
- Agent processes request
- Agent formulates reply
- NMS receives reply
- User informed of result
How is SNMP defined?
- Uses ASN.1
- Abstract Syntax Notation One (ASN.1)
- Standards based “descriptive” language used to abstractly
describe messages
- Standardized in 1984 by CCITT and ISO in 1985
- Uses predefined types
- eg. Integer, Boolean, String
- Uses OID — Object IDentifier
- Uses MIB hierarchy with a rootless tree
ASN.1
Abstract Syntax Notation One (ASN.1) is a formal language for abstractly
describing messages to be exchanged among an extensive range of
applications involving the Internet, intelligent network, cellular
phones, ground-to-air communications, electronic commerce, secure
electronic services, interactive television, intelligent transportation
systems, Voice Over IP and others.
Due to its streamlined encoding rules, ASN.1 is also reliable and ideal
for wireless broadband and other resource-constrained environments. Its
extensibility facilitates communications between newer and older
versions of applications. In a world of change, ASN.1 is core
technology, constantly adapting to new technologies.
SNMP v1
- Supports 5 operations (PDUs)
- GetRequest
- polls agents for information
- GetNextRequest
- requests the next item in a dataset
- Set
- requests a change to a value
- GetResponse
- sends a response to a Manager request
- Trap
- informs a Manager of an event
SNMP v2
- Never took off due to security concerns and disagreements
- v2 has several advantages over SNMPv1, including:
- Expanded data types (e.g., 64 bit)
- Added GetBulk Command
- Added Inform Command (forwarding of TRAP info)
- Better error handling (errors and exceptions)
- v2 addresses security issues missing from v1 including:
- Authentication
- Message integrity
- Privacy
- Authorization and access control
- Development of SNMP fragmented into different standards groups:
SNMP v3
- Security centric design
- v3 protocol was an attempt to consolidate the best
features of the different versions of SNMP v2.
- v3 is gaining acceptance from big names in the
industry (e.g. Cisco and HP)
Alternatives to SNMP
- CMIP Common Management Information Protocol (ISO)
- Variables can perform tasks as well as store information
- Built-in security for authorisation, access control, and logging.
- Wider set of commands
- Handles unusual network conditions better
- DME Distributed Management Environment (OSF)
- Can integrate with SNMP (and CMIP)
- Event Management
- Print Servicing
- Network licensing
- Software Distribution
- HNMS Hierarchical Network Management System (NAS)
- HMMA Hypermedia Management Architecture (WBEM)
- Everything can be managed via a web browser
- Lower costs — use of “already in place” web technologies
Summary
- SNMP is a network management protocol
- Became popular because of its ‘simple’ nature
- Three versions of SNMP exist
- though v2 never really took off
- V3 only recently started to gain favour
- Uses ASN.1 syntax with a rootless MIB tree hierarchy
- A number of alternatives are available
References
RFCs
- 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
- RFC 1089 - SNMP over Ethernet
- RFC 1140 - IAB Official Protocol Standards
- RFC 1147 - Tools for Monitoring and Debugging TCP/IP Internets and Interconnected Devices
- RFC 1155 - Structure and Identification of Management Information for TCP/IP based internets.
- RFC 1156 - Management Information Base Network Management of TCP/IP based internets
- RFC 1157 - A Simple Network Management Protocol
- RFC 1158 - Management Information Base Network Management of TCP/IP based internets: MIB-II
- RFC 1161 - SNMP over OSI
- RFC 1187 - Bulk Table Retrieval with the SNMP
- RFC 1212 - Concise MIB Definitions
- RFC 1213 - Management Information Base for Network Management of TCP/IP-based internets: MIB-II
- RFC 1215 - A Convention for Defining Traps for use with the SNMP
- RFC 1224 - Techniques for Managing Asynchronously-Generated Alerts
- RFC 1270 - SNMP Communication Services
- RFC 1303 - A Convention for Describing SNMP-based Agents
- RFC 1470 - A Network Management Tool Catalog
- RFC 1298 - SNMP over IPX (obsolete, see RFC 1420)
- RFC 1418 - SNMP over OSI
- RFC 1419 - SNMP over AppleTalk
- RFC 1420 - SNMP over IPX (replaces RFC 1298)