350 likes | 398 Views
Simple Network Management Protocol. Traditional internetwork management. Network Management. References: Comer, D.E., Internetworking with TCP/IP: Volume 1, Chapter 25 Stallings, W. Data and Computer Communications, Chapter 19.2 Aims: Architecture of a Network Management system
E N D
Simple Network Management Protocol Traditional internetwork management
Network Management • References: • Comer, D.E.,Internetworking with TCP/IP: Volume 1, Chapter 25 • Stallings, W. Data and Computer Communications, Chapter 19.2 • Aims: • Architecture of a Network Management system • Introduction to SNMP • Definition of Objects: ASN.1 • Management Information storage: MIBs • More detailed SNMP • A sample Network Management Application FIT2018 (c) Monash University
Overview • Tools that allow a manager to monitor/control gateways and hosts • Management client connects to one or more management servers (also known as Agents) • Clients run on remote hosts, Servers on gateways & hosts • Clients and Servers are Application programs • Management tools use internet transport protocols • This allows management of diverse machines and networks • But only works if underlying TCP/IP protocols are operational • TCP/IP supports CMOT, SNMP and RMON as network management standards FIT2018 (c) Monash University
Architecture FIT2018 (c) Monash University
Authentication • A large internet may have many regions, each with their own management teams • Internet management software provides authentication scheme • Only authorised managers can access or control a gateway • Most management protocols allow many levels of authorisation • Some managers may be able to read but not change or control a gateway FIT2018 (c) Monash University
Simple Network Management Protocol • A framework on which Network Management can be built • Defined in two parts in 1988 • A protocol used to exchange management information • Structure of Management Information (SMI) stored in Management Information Base (MIB) • Extra functions and better authorisation in SNMPv2 in 1993 FIT2018 (c) Monash University
Basic Protocol Functions: • Get-request Fetch a value of object from a managed system • Get-next-request Fetch next value iteratively • Get-bulk-request Fetch several object values in one operation • Set-request Store a value into an object at a managed system • Get-Response Respond to a Fetch request • Trap Enables server to notify client when a predetermined event occurs • Objects are stored in a Management Information Base • MIB objects are defined in formal data definition language ASN.1 FIT2018 (c) Monash University
Global Object Names • ISO Object Identification Namespace FIT2018 (c) Monash University
Object Naming Schemes • Hierarchy using "dotted" notation • Object Names can be alphabetical or numeric • eg Internet ObjectName is "iso.org.dod.internet" or 1.3.6.1 • Numeric format is preferred for machine protocols FIT2018 (c) Monash University
Abstract Syntax Notation One (ASN.1) • Similar idea to Bakkus-Naur Form (BNF) • Used to define: • Syntax of Protocol Data Units (PDUs) in Standards • Representation of Distributed information • Allowed operations on transmitted data FIT2018 (c) Monash University
ASN.1 Modules • ASN.1 defines data structures as Named Modules • The module name is used to identify a data structure in a PDU • Modules contain assignment statements • Statements define data in terms of standard types FIT2018 (c) Monash University
ASN.1 Intrinsic Data Types FIT2018 (c) Monash University
NB. CAPITAL letters denote Universal types. Others are productions Data Types used in SNMPv2 FIT2018 (c) Monash University
SNMPv2 PDU Definition in ASN.1 FIT2018 (c) Monash University
SNMPv2 PDU Definition • Choice of 8 PDUs with type values 0, 1, 2, 3, 5, 6, 7, 8Each has the same structure, except type 5 • Structure has 4 elements: • Request ID • Error status • Error Index • List of Named Variables and Values in pairs FIT2018 (c) Monash University
ASN.1 Macro Facility • ASN.1 also allow the use of Macro Instructions to define data types • Macros are used as "shorthand" for application type definitions FIT2018 (c) Monash University
SNMPv2 "OBJECT-TYPE" Macro • Used to define SNMP Management objects • Management Objects - individual variables, items in MIB FIT2018 (c) Monash University
SNMPv2 Object Types • The OBJECT-TYPE macro defines a named object • Types are defined with upto 8 parts • SYNTAX - an ASN.1 data type • UNITS - units used for a numerical type • MAX-ACCESS - access privileges • STATUS - version level w.r.t current standard • DESCRIPTION - text description of object • REFERENCE - cross reference to another portion of MIB • INDEX | AUGMENTS - if this object is a table, then this item is the subscript(s) • DEFVAL - default value use in initial creation by local system FIT2018 (c) Monash University
OBJECT-TYPE macro defines MIB variables FIT2018 (c) Monash University
Management Information Base • Defines: • the management information each host or gateway must keep • the operations allowed on each variable FIT2018 (c) Monash University
Management Information Base • MIB data is a subset of ISO Object Identifier NameSpace • MIB Object Types are in 8 categories FIT2018 (c) Monash University
Examples of MIB Variables FIT2018 (c) Monash University
SNMP in Action • A message consists of a • wrapper containing authentication data • Protocol Data Unit - 8 possible types of PDU FIT2018 (c) Monash University
SNMP in Action FIT2018 (c) Monash University
SNMPv2 in Action • PDU Type code identifies the record type • RequestID allows responses to be match with outstanding Requests • Variable data contains list of Object Names and maybe also Values FIT2018 (c) Monash University
SNMPv2 in Action - GetRequest/Response • GetRequest contains list of Object Names for which Values are requested • If successful server/agent sends Response PDU with ObjectName/Values pairs or ObjectName/ErrorCode for objects that are not in the responding Server/Agent's MIB • Unlike SNMP, which rejected the entire message if one ObjectName was wrong FIT2018 (c) Monash University
SNMPv2 in Action - GetNextRequest • Similar to GetRequest, but the ObjectNames identify a start position in the MIB • Response will contain values of sequential variables • Useful if Manager does not know exact structure of server MIB • Can be used to explore and discover MIB structure FIT2018 (c) Monash University
SNMPv2 in Action - GetBulkRequest • Enhancement provided in SNMPv2 • Used to minimize messages required to get large amounts of management data • Non-Repeaters field with a value of N will return value of Next Object for the first N ObjectNames in the Variable list • Max-Repetitions field with value of M will return the next M Object values after each of the remaining names in the Variable list • If this works out to be larger than a PDU will hold, then as much as possible it returned anyway • If the MIB ends before the request is filled a special value "endOfMibView" is returned FIT2018 (c) Monash University
SNMPv2 in Action - SetRequest • Will alter the values of one or more Objects in the Server MIB • Atomic operation: Either all variables are updated or None • If at least one Objectname cannot be updated then Response packet will be empty except for ErrorStatus and ErrorIndex fields FIT2018 (c) Monash University
SNMPv2 inAction - Trap & InformRequest • Trap: generated by Server and sent to Client automatically when previously specified event occurs at Server • InformRequest: Generated by a Client and sent to another Client on behalf of an Application • Events are usually related to over/under limit pre-set variables or timeouts in the Server • Variable data list contains information about the trap event FIT2018 (c) Monash University
Example - Encoded SNMP message • SNMP GetRequest for data item sysDescr FIT2018 (c) Monash University
SNMPv2 in Action: A Management Application FIT2018 (c) Monash University
SNMP references FIT2018 (c) Monash University