Lecture 11: v2 MIB and s Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 11-1 v2 MIB Internet {1 3 6 1} directory mgmt (2 experimental (3) private (4) security (5) snmpv2 (6) mib-2 Extends to send messages over non- UDP protocols snmpdomains Proxy services for non-udp systems snmpproxys (2) snmpmib snmpmodules (3) system snmp (11) snmpmibobjects snmpmibconformance (2) snmpmibcompliances snmpmibgroups (2) Figure 6.31 v2 Internet Group Prof. Shervin Shirmohammadi CEG 4395 11-2 1
v2 MIB snmp (mib-2 11) snmpinpkts snmpoutpkts (2) snmpinbadversions (3) snmpincommunitynames (4) snmpinbadcommunityuses (5) snmpinpkts snmpinasnparseerrors (6) snmpinbadversions -- not used (7) (3) snmpinbadcommunitynames snmpintoobigs (8) (4) snmpinbadcommunityuses snmpinnosuchnames (9) (5) snmpinbadvalues (10) snmpinreadonlys (11) snmpenableauthentraps (30) snmpouttraps (29) snmpoutgetresponses (28) snmpoutsetrequests (27) snmpoutgetnexts (26) snmpproxydrops (32) snmpoutgetrequests (25) snmpsilentdrops snmpoutgenerrs (24) (31) snmpenableauthentraps -- not used (30) (23) snmpinasnparseerrors snmpoutbadvalues (6) (22) snmpoutnosuchnames (21) snmpouttoobigs (20) snmpingenerrs (12) snmpintraps (19) Group Objects snmpingetresponses snmpintotalreqvars (13) (18) snmpintotalsetvars (14) snmpinsetrequests (17) 1,3,6,30,31,32 snmpgroup OID: snmpmibgroups 8 snmpingetrequests (15) snmpingetnexts (16) 4,5 snmpcommunity Group OID: snmpmibgroups 9 7,23 not used 2,8-23, 24-29 snmpobsoletegroup OID: snmpmibgroups 10 Figure 5.21 Group Prof. Shervin Shirmohammadi CEG 4395 11-3 Figure 6.33 v2 Group Trap IDs snmpmibobjects MIB Collection of traps snmpmibobjects (snmpmib 1) Manager to Manger notification messages snmptrap (4) snmptraps (5) snmpset (6) snmptrapoid snmptrapenterprise (3) snmpsetserialno (1 ) coldstart warmstart (2) linkdown (3) authenticationfailure (5) linkup (4) Figure 6.34 MIB Modules under snmpmibobjects Prof. Shervin Shirmohammadi CEG 4395 11-4 2
Conformance: OBJECT-GROUP Conformance guarantees that implementation meets a minimum set of features. Conformance defined by OBJECT-GROUP macro NOTIFICATION-GROUP macro OBJECT-GROUP Compiled during implementation, not at run time OBJECTS clause names each object Every object belongs to an OBJECT-GROUP Access defined by MAX-ACCESS, the maximum access privilege for the object. E.g. (Figure 6.25): systemgroup OBJECT-GROUP OBJECTS {sysdescr, sysobjectid, sysuptime, syscontact, sysname, } STATUS current DESCRIPTION The system group defines objects that are common to all manages systems ::= {snmpmibgroups 8} Prof. Shervin Shirmohammadi CEG 4395 11-5 Conformance: NOTIFICATION-GROUP NOTIFICATION-GROUP Contains trap entities defined in SMIv1 NOTIFICATIONS clause identifies the notifications in the group NOTIFICATIONS-GROUP macro compiled during implementation, not at run time snmp BasicNotificationsGroup NOTIFICATIO N-G RO U P NO TIFICATIO NS {coldstart, authenticationfailure} STATUS current DESC RIPTIO N "The two notifications which an SNM P-2 entity is required to implement." ::= {snmpmibg roups 7} Figure 6.27 Example of N O TIFICATIO N-G RO UP M acro Prof. Shervin Shirmohammadi CEG 4395 11-6 3
Compliance Compliance has two classes of groups MANDATORY-GROUPS... Required GROUP Optional -- compliance statements snmpbasiccompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for v2 entities which implement the v2 MIB." MODULE -- this module MANDATORY-GROUPS {snmpgroup, snmpsetgroup, systemgroup, snmpbasicnotificationsgroup} GROUP snmpcommunitygroup DESCRIPTION "This group is mandatory for v2 entities which support community-based authentication." ::= {snmpmibcompliances 2 } -- units of conformance snmpgroup OBJECT-GROUP ::= {snmpmibgroups 8} snmpcommunitygroup OBJECT-GROUP ::= {snmpmibgroups 9} snmpobsoletegroup OBJECT-GROUP ::= {snmpmibgroups 10} Prof. Shervin Shirmohammadi CEG 4395 11-7 Agent Capabilities AGENT-CAPABILITIES macro modules and includes groups VARIATION identifies additional features routerisi123 AGENT-CAPABILITIES PRODUCT-RELEASE "InfoTech Router isirouter123 release 1.0" STATUS current DESCRIPTION "InfoTech High Speed Router" snmpmib INCLUDES {systemgroup, snmpgroup, snmpsetgroup, snmpbasicnotificationsgroup } VARIATION coldstart DESCRIPTION "A coldstart trap is generated on all reboots." IF-MIB INCLUDES {ifgeneralgroup, ifpacketgroup} IP MIB INCLUDES {ipgroup, icmpgroup} TCP-MIB INCLUDES {tcpgroup} UDP-MIB INCLUDES {udpgroup} EGP-MIB INCLUDES {egpgroup} ::= { isirouter 1 } Figure 6.30 Example of AGENT-CAPABILITIES Macro Prof. Shervin Shirmohammadi CEG 4395 11-8 4
v2 Types Manager Manager Agent Manager Application Application Manager Application Application Agent Application inform-request get-request get-next-request get-bulk-request set-request response snmpv2-trap inform-request get-request get-next-request get-bulk-request set-request response snmpv2-trap get-request get-next-request get-bulk-request set-request response snmpv2-trap UDP UDP UDP IP IP IP DLC DLC DLC PHY PHY PHY Physical Medium Physical Medium Figure 6.2 v2 Network Management Architecture Prof. Shervin Shirmohammadi CEG 4395 11-9 v2 Format Standardized format for all messages. Improves efficiency and performance in message exchanges. Type RequestID Error Status Error Index name... VarBind n name VarBind n Figure 6.37 v2 (All but Bulk) v2 Version Community UDP UDP Header IP IP Header UDP Payload Prof. Shervin Shirmohammadi CEG 4395 11-10 5
v2 and Error Status Table 6.11 Values for Types of and Error-status Fields in v2 Field Type Value 0 Get-Request- 1 GetNextRequest- 2 Response- 3 Set-Request- 4 obsolete 5 GetBulkRequest-- 6 InformRequest- 7 v2 - Trap- Error Status 0 noerror 1 toobig 2 nosuchname 3 badvalue 4 readonly 5 generr 6 noaccess 7 wrongtype 8 wronglength 9 wrongencoding 10 wrongvalue 11 nocreation 12 inconsistentvalue 13 resourceunavailable 14 commitfailed 15 undofailed 16 authorizationerror 17 notwritable 18 inconsistentname Prof. Shervin Shirmohammadi CEG 4395 11-11 v2 GetBulkRequest Effective in returning multiple rows from a table. Not available in v1. Error status field replaced by Non-repeaters: the number of scalar objects to be retrieved. Error index field replaced by Max repetitions: number of rows in an aggregate object. No one-to-one relationship between request and response VarBindList. Type RequestID Non- Repeaters Max Repetitions name... VarBind n name VarBind n Figure 6.38 v2 GetBulkRequest Prof. Shervin Shirmohammadi CEG 4395 11-12 6
Get-Bulk-Request: Generic MIB A B T Z E 1.1 2.1 3.1 1.2 2.2 3.2 1.3 2.3 3.3 1.4 2.4 3.4 Prof. Shervin Shirmohammadi CEG 4395 11-13 Figure 6.39 MIB for Operation Sequences in Figures 6.40 and 6.41 Get-Next-Request Operation A B T Manager GetRequest ( A,B ) GetResponse (T.E.1.1,T.E.2.1,T.E.3.1) GetResponse (T.E.1.2,T.E.2.2,T.E.3.2) GetResponse (A,B) GetNextRequest (T.E.1.T.E.2,T.E.3) GetNextRequest (T.E.1.1,T.E.2.1,T.E.3.1) GetNextRequest (T.E.1.2,T.E.2.2,T.E.3.2) GetResponse (T.E.1.3,T.E.2.3,T.E.3.3) GetNextRequest (T.E.1.3,T.E.2.3,T.E.3.3) GetResponse (T.E.1.4,T.E.2.4,T.E.3.4) GetNextRequest (T.E.1.4,T.E.2.4,T.E.3.4) GetResponse (T.E.2.1,T.E.3.1,Z) Agent E T.E.1.1 T.E.2.1 T.E.3.1 T.E.1.2 T.E.2.2 T.E.3.2 T.E.1.3 T.E.2.3 T.E.3.3 T.E.1.4 T.E.2.4 T.E.3.4 Z Prof. Shervin Shirmohammadi CEG 4395 11-14 Figure 6.40 Get-Next-Request Operation for MIB in Figure 6.39 7
Get-Bulk-Request Operation A B Manager Response ( A, B, T.E.1.1, T.E.2.1, T.E.3.1 T.E.1.2, T.E.2.2, T.E.3.2 T.E.1.3, T.E.2.3, T.E.3.3 ) GetBulkRequest ( 2,3, A,B,T.E.1, T.E.2, T.E.3 ) Agent T E GetBulkRequest ( 0,3, T.E.1.3, T.E.2.3, T.E.3.3 ) Response ( T.E.1.4, T.E.2.4, T.E.3.4, Z, "endofmibview") T.E.1.1 T.E.2.1 T.E.3.1 T.E.1.2 T.E.2.2 T.E.3.2 T.E.1.3 T.E.2.3 T.E.3.3 T.E.1.4 T.E.2.4 T.E.3.4 Z Prof. Shervin Shirmohammadi CEG 4395 11-15 Figure 6.41 Get-Bulk-Request Operation for MIB in Figure 6.39 Get-Bulk-Request Example Manager Agent GetBulkRequest ( 1,3, sysuptime, atphysaddress ) Response( (sysuptime.0 = "315131795"), (atphysaddress.13.172.46.46.1 = "0000000C3920AC") (atphysaddress.16.172.46.49.1 = "0000000C3920AF") (atphysaddress.23.172.17.3.1 192.68.3.1 = "0000000C3920B4") ) GetBulkRequest ( 1,3, sysuptime, atphysaddress.23.192.168.3.1 ) Response( (sysuptime.0 = "315131800"), (ipforwarding.0 = "1") ) atifindex 23 13 16 atphysaddress 0000000C3920B4 0000000C3920AC 0000000C3920AF atnetaddress 192.68.3.1 172.46.46.1 172.46.49.1 Figure 6.42 Get-Bulk-Request Example Prof. Shervin Shirmohammadi CEG 4395 11-16 8
v2 Trap Addition of NOTIFICATION-TYPE macro OBJECTS clause, if present, defines order of variable bindings Positions 1 and 2 in VarBindList are sysuptime and snmptrapoid. Type RequestID Error Status Error Index sysuptime VarBind 2 snmptrapoid VarBind 2... Figure 6.43 v2 Trap linkup NOTIFICATION-TYPE OBJECTS { ifindex } STATUS current DESCRIPTION "A linkup trap signifies that the SNSMPv2 entity, acting in an agent role, recognizes that one of the communication links represented in its configuration has come up." Figure 6.44 Example of OBJECTS Clause in NOTIFICATION-TYPE Prof. Shervin Shirmohammadi CEG 4395 11-17 Inform-Request Inform-Request: the message goes from one manager to another unsolicited. The receiving manager sends response to the sending manager. Type RequestID Error Status Error Index sysuptime VarBind 2 snmptrapoid VarBind 2... Prof. Shervin Shirmohammadi CEG 4395 11-18 9
Bilingual Manager Compatibility with v1 Bilingual Manager Proxy Server Bilingual Manager expensive in resource and operation Bilingual Manager Agent Profile v1 Interpreter v2 Interpreter v1 Agents v2 Agents Figure 6.45 Bilingual Manager Prof. Shervin Shirmohammadi CEG 4395 11-19 Proxy Server v2 Manager Proxy Server v1 Agents v2 Agents Figure 6.46 v2 Proxy Server Configuration Prof. Shervin Shirmohammadi CEG 4395 11-20 10
Proxy Server ( ) v2 Manager v2-v1 Proxy Server v1 Agent GetRequest Pass-Through GetRequest GetNextRequest Pass-Through GetNextRequest SetRequest GetBulkRequest Response v2-trap Pass-Through Set: 1. non-repeaters = 0 2. max-repetitions = 0 Pass-Through Exception: For 'toobig' error, contents of variable-bindings field removed. Prepend VarBind: 1. sysuptime.0 2. snmptrapoid.0 SetRequest GetNextRequest GetResponse Trap Figure 6.47 v2-v1 Proxy Server Prof. Shervin Shirmohammadi CEG 4395 11-21 11