snmpv2 yen-cheng chen department of information management national chi nan university puli, nantou,...

93
SNMPv2 Yen-Cheng Chen Department of Information Manageme nt National Chi Nan University Puli, Nantou, Taiwan

Upload: gavin-pope

Post on 24-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

SNMPv2

Yen-Cheng ChenDepartment of Information Management

National Chi Nan UniversityPuli, Nantou, Taiwan

SNMPv1 SNMPv1 Protocol

RFC 1157RFC 1157 – Simple Network Management Protocol SMIv1 Data Definition Language Full Standards:

RFC 1155 - Structure of Management Information RFC 1212 - Concise MIB Definitions

Informational: RFC 1215 - A Convention for Defining Traps

SMIv1 MIB Modules Full Standards:

RFC 1213 - Management Information Base II RFC 1643 - Ethernet-Like Interface Types MIB

SNMPv2 SMIv2 Data Definition Language Full Standards:

RFC 2578 - Structure of Management Information RFC 2579 - Textual Conventions RFC 2580 - Conformance Statements

SMIv2 MIB Modules Full Standards:

RFC 2819RFC 2819 - Remote Network Monitoring MIB RFC 3411 - SNMP Framework MIB RFC 3412 - SNMPv3 MPD MIB RFC 3413 - SNMP Applications MIBs RFC 3414 - SNMPv3 USM MIB RFC 3415 - SNMP VACM MIB RFC 3418 - SNMP MIB

SNMPv3 SNMPv3 Protocol Full Standards: RFC 3411 - Architecture for SNMP Frameworks RFC 3412 - Message Processing and Dispatching RFC 3413 - SNMP Applications RFC 3414 - User-based Security Model RFC 3415 - View-based Access Control Model RFC 3416RFC 3416 - Protocol Operations Version 2 RFC 3417 - Transport Mappings for SNMP RFC 3418 - SNMP MIB

Major Changes Bulk data transfer Manager-to-manager message Enhancements to SMI: SMIv2 (RFC 2578)

Module definitions: MODULE-IDENTITY macro

Object definitions: OBJECT-TYPE macro Trap definitions: NOTIFICATION-TYPE macro

Textual conventions (RFC 2579) Conformance statements (RFC 2580) Row creation and deletion in table MIB enhancements Transport mappings Security FeatureSecurity Feature

Structure of Management Information (SMI)

SMIv1, SMIv2 SMIv1:

SMI (RFC 1155) Concise MIB (RFC 1212) Trap-Type (RFC 1215)

SMIv2: SMIv2 (RFC 2578) Textual Conventions (RFC 2579) Conformance Statements (RFC 2580)

Three Parts of SMIv2 Module definitions

MODULE-IDENTITY Object definitions

OBJECT-TYPE Notification difinitions

NOTIFICATION-TYPE

1. MODULE-IDENTITY

MODULE-IDENTITY Example

2. OBJECT-TYPEOBJECT-TYPE MACRO ::=BEGIN

TYPE NOTATION ::="SYNTAX" SyntaxUnitsPart"MAX-ACCESS" Access"STATUS" Status"DESCRIPTION" TextReferPartIndexPartDefValPart

VALUE NOTATION ::=value(VALUE ObjectName)

"SYNTAX" Syntax

Syntax ::= -- Must be one of the following:-- a base type (or its refinement),-- a textual convention (or its refinement), or-- a BITS pseudo-type

type | "BITS" "{" NamedBits "}“

NamedBits ::= NamedBit| NamedBits "," NamedBit

NamedBit ::= identifier "(" number ")“ -- number is nonnegative

(Example) SYNTAX BITS

protocolDirType OBJECT-TYPESYNTAX BITS {

extensible(0), addressRecognitionCapable(1)

} MAX-ACCESS read-only

STATUS current DESCRIPTION “…”

::= { protocolDirEntry 5 }

UnitsPart: UNITS

hrDiskStorageCapacity OBJECT-TYPESYNTAX KBytes UNITS "KBytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The total size for this long-term storage

device. If the media is removable and is currently removed, this value should be zero."

::= { hrDiskStorageEntry 4 }

UnitsPart ::="UNITS" Text| empty

Back to OBJECT-TYPE

"MAX-ACCESS" AccessAccess ::=

"not-accessible"| "accessible-for-notify"| "read-only"| "read-write"| "read-create"

ordered from least to greatest: "not-accessiblenot-accessible": indicates an auxiliary object "accessible-for-notifyaccessible-for-notify": accessible only via a notification "read-onlyread-only": read only "read-writeread-write": read and write, but create does not. "read-createread-create": read, write and create

"STATUS" StatusStatus ::=

"current" | "deprecated"

| "obsolete"

“currentcurrent”: the definition is current and valid.“deprecateddeprecated”:indicates an obsolete definition, it permits

new/continued implementation.“obsoleteobsolete”: the definition is obsolete and should not be

implemented.

ReferPartReferPart ::=

"REFERENCE" Text| empty

ipForwardTable OBJECT-TYPE SYNTAX SEQUENCE OF IpForwardEntry MAX-ACCESS not-accessible STATUS obsolete DESCRIPTION "This entity's IP Routing table." REFERENCE "RFC 1213 Section 6.6, The IP Group“::= { ipForward 2 }

3. NOTIFICATION-TYPENOTIFICATION-TYPE MACRO ::= BEGINTYPE NOTATION ::=

ObjectsPart"STATUS" Status"DESCRIPTION" TextReferPart

VALUE NOTATION ::=value(VALUE NotificationName)

ObjectsPart ::= "OBJECTS" "{" Objects "}“ | emptyObjects ::= Object | Objects "," ObjectObject ::= value(ObjectName)Status ::= "current" | "deprecated" | "obsolete"ReferPart ::= "REFERENCE" Text | emptyText ::= value(IA5String)END

NotificationName ::= OBJECT IDENTIFIER

Reference: SNMPv2-MIB (RFC 1907)

NOTIFICATION-TYPE Example

• OBJECT IDENTIFIER defines the

administrative

identification of a node in the MIB • OBJECT-IDENTITY macro assigns an object

identifier to an object identifier in the MIB• OBJECT-TYPE macro defines the type of a

managed object

OBJECT ??

OBJECT-IDENTITY / OBJECT-TYPE

isiRouter OBJECT-IDENTITYSTATUS currentDESCRIPTION "An 8-slot IP router in the IP router

family." REFERENCE "ISI Memorandum No. ISI-R123 dated January. 20, 1997" ::= {private.enterprises.isi 1}

(a) Example of OBJECT-IDENTITY Macro

• OBJECT-IDENTITY is high level description• OBJECT-TYPE details description needed for implementation

OBJECT-TYPE

Table Expansion

• Augmentation of a table (dependent table)

adds additional columns to an existing table

(base table)• Dense table enables addition of more rows to

base table• Sparse table supplements less rows to a base table

Augmentation of Tables

hrDeviceTable OBJECT-TYPE SYNTAX SEQUENCE OF HrDeviceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table of devices…"::= { hrDevice 2 }

hrDeviceEntry OBJECT-TYPE SYNTAX HrDeviceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A (conceptual) entry for one device contained by the host. …" INDEX { hrDeviceIndex }::= { hrDeviceTable 1 }

hrDiskStorageTable OBJECT-TYPE SYNTAX SEQUENCE OF HrDiskStorageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table of long-term storage devices contained by the host..."::= { hrDevice 6 }

hrDiskStorageEntry OBJECT-TYPE SYNTAX HrDiskStorageEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A (conceptual) entry for one long-term storage devices contained by the host..." INDEX { hrDeviceIndex }::= { hrDiskStorageTable 1 }

Appending a Spare Table

Textual Convention

• Enables defining new data types• Makes semantics of data types consistent and

human readable• Creates new data types using existing ones

and applies restrictions to them• An important textual convention in SNMPv2,

RowStatus creates and deletes rows

DisplayString ::= TEXTUAL-CONVENTIONDISPLAY-HINT "255a"STATUS currentDESCRIPTION "Represents textual

information taken from the NVTASCII character set, as defined inpages 4, 10-11 of RFC 854. …."

SYNTAX OCTET STRING (SIZE (0..255) )

• SNMPv2:

• SNMPV1:

Also see Page 251Also see Page 251

DisplayString ::= OCTET STRING-- This data type is used to model textual information taken-- from the NVT ASCII character set. By convention, objects-- with this syntax are declared as having -- SIZE (0..255)

InterfaceIndex ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "A unique value, greater than zero, for each interface or interface sub-layer in the managed system. It is recommended that values are assigned contiguously starting from 1. The value for each interface sub-layer must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization." SYNTAX Integer32 (1..2147483647)

Creation of Row: RowStatus

Table 6.4 RowStatus Textual Convention

State Enumer-ation

Description

active 1 Row exists and is operationalnotInService 2 Operation on the row is suspendednotReady 3 Row does not have all the columnar objects

neededcreateAndGo 4 This is a one-step process of creation of a

row; immediately goes into active statecreateAndWait 5 Row is under creation and should not be

commissioned into servicedestroy 6 Same as Invalid in EntryStatus. Row should

be deleted

Create-and-Go Row Creation

SetRequest (status.3 = 4,index.3 = 3,data.3 = DefData )

Response (status.3 = 1,index.3 = 3,data.3 = DefData )

ManagerProcess

AgentProcess

ManagedEntity

Create Instance

Instance Created

Create-and-Wait:Row Creation

Row Deletion

SNMPv2 MIB

Conformance Statements for SMIv2 (RFC 2580)

MIB MODULE IMPORTS EXPORTS MODULE-IDENTITY TEXTUAL-CONVENTION OBJECT IDENTIFIER Application Data Types OBJECT-TYPE NOTIFICATION-TYPE OBJECT-GROUP NOTIFICATION-GROUP MODULE-COMPLIANCE

IE

MITCsOIs

OTsNTsOGsNGsMCs

MC

OT OT

OT OT

OG

OT OT

OT

OG

NT

NT

NT

NG

NT NT

NG

OI OII Edata typesdata types TCTC

OG OG NG NG MC

MI

Four Macros in SNMPv2-CONF OBJECT-GROUP macro NOTIFICATION-GROUP macro MODULE-COMPLIANCE macro AGENT-CAPABILITIES macro

Conformance: OBJECT-GROUP

• 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

OBJECT-GROUPOBJECT-GROUP MACRO ::= BEGIN TYPE NOTATION ::= ObjectsPart "STATUS" Status "DESCRIPTION" Text ReferPart VALUE NOTATION ::= value(VALUE OBJECT IDENTIFIER) ObjectsPart ::= "OBJECTS" "{" Objects "}" Objects ::= Object | Objects "," Object Object ::= value(ObjectName) Status ::= "current" | "deprecated" | "obsolete" ReferPart ::= "REFERENCE" Text | empty Text ::= value(IA5String)END

OBJECT-GROUP Example

hrSWRunGroup OBJECT-GROUP OBJECTS { hrSWOSIndex, hrSWRunIndex, hrSWRunN

ame, hrSWRunID, hrSWRunPath, hrSWRunPara

meters, hrSWRunType, hrSWRunStatus } STATUS current DESCRIPTION "The Host Resources Running Software Gro

up." ::= { hrMIBGroups 4 }

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

NOTIFICATION-GROUPNOTIFICATION-GROUP MACRO ::= BEGIN TYPE NOTATION ::= NotificationsPart "STATUS" Status "DESCRIPTION" Text ReferPart VALUE NOTATION ::= value(VALUE OBJECT IDENTIFIER) NotificationsPart ::= "NOTIFICATIONS" "{" Notifications "}" Notifications ::= Notification | Notifications "," Notification Notification ::= value(NotificationName) Status ::= "current" | "deprecated" | "obsolete" ReferPart ::= "REFERENCE" Text | empty Text ::= value(IA5String)END

NOTIFICATION-GROUP Example

linkUpDownNotificationsGroup NOTIFICATION-GROUP

NOTIFICATIONS { linkUp, linkDown } STATUS current DESCRIPTION "The notifications which indicate specific cha

nges in the value of ifOperStatus." ::= { ifGroups 14 }

Compliance

• Compliance has two classes of groups• MANDATORY-GROUPS ... Required• GROUP …Optional

MODULE-COMPLIANCEMODULE-COMPLIANCE MACRO ::= BEGIN TYPE NOTATION ::= "STATUS" Status "DESCRIPTION" Text ReferPart ModulePart VALUE NOTATION ::= value(VALUE OBJECT IDENTIFIER)

ModulePartModulePart ::= ModulesModules ::= Module | Modules ModuleModule ::=

"MODULE" ModuleName MandatoryPart CompliancePartModuleName ::= identifier ModuleIdentifier | emptyModuleIdentifier ::= value(OBJECT IDENTIFIER) | emptyMandatoryPart ::= "MANDATORY-GROUPS" "{" Groups "}“ | e

mptyGroups ::= Group | Groups "," GroupGroup ::= value(OBJECT IDENTIFIER)

CompliancePart (1/2)CompliancePart ::= Compliances | emptyCompliances ::= Compliance | Compliances Compli

anceCompliance ::= ComplianceGroup | ObjectComplianceGroup ::= "GROUP" value(OBJECT IDENTIFIER)

"DESCRIPTION" TextObject ::=

"OBJECT" value(ObjectName)SyntaxPartWriteSyntaxPartAccessPart"DESCRIPTION" Text

CompliancePart (2/2)

SyntaxPart ::= "SYNTAX" Syntax | empty-- must be a refinement for object's SYNTAX cla

useWriteSyntaxPart ::= "WRITE-SYNTAX" Syntax |

emptySyntax ::= type | "BITS" "{" NamedBits "}"NamedBits ::= NamedBit | NamedBits "," Name

dBitNamedBit ::= identifier "(" number ")"AccessPart ::= "MIN-ACCESS" Access | emptyAccess ::=

"not-accessible" | "accessible-for-notify" | "read-only" | "read-write" | "read-create"

hrMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The requirements for conformance to the Host Resources MI

B." MODULE -- this module MANDATORY-GROUPS { hrSystemGroup, hrStorageGroup, hrDe

viceGroup } OBJECT hrSystemDate MIN-ACCESS read-only DESCRIPTION "Write access is not required.“ GROUP hrSWRunGroup DESCRIPTION "The Running Software Group. Implementation of this grou

p is mandatory only when the hrSWRunPerfGroup is implemented."…::= { hrMIBCompliances 1 }

MODULE-COMPLIANCE Example

OBJECT ifAdminStatus SYNTAX INTEGER { up(1), down(2) } MIN-ACCESS read-only DESCRIPTION "Write access is not required, nor is support for t

he value testing(3)."

OBJECT-GROUP

systemGroup OBJECT-GROUPOBJECTS {sysDescr, sysObjectID, sysUpTime, sysContact, sysName, sysLocation, sysServices, sysORLastChange, sysORID, sysORUptime, sysORDesc}STATUS currentDESCRIPTION "The system group defines objects which are common to all managed systems."::= {snmpMIBGroups 6}

Figure 6.25 Example of OBJECT-GROUP Macro

Agent Capabilities

• AGENT-CAPABILITIES macro• SUPPORTS modules and includes groups• VARIATION identifies additional features

AGENT-CAPABILITIES

SNMPv2 Internet Group

SNMPv2

mgmt(2)

directory(1)

experimental(3)

private(4)

Internet{1 3 6 1}

security(5)

snmpv2(6)

Figure 6.1 SNMPv2 Internet Group

SNMP ManagerApplication

resp

onse

get-b

ulk-

requ

est

get-n

ext-r

eque

st

set-r

eque

st

snm

pV2-

trap

SNMP Manager

SNMP

UDP

IP

DLC

PHY

Physical Medium

SNMP PDU

Figure 6.2 SNMPv2 Network Management Architecture

get-r

eque

st

info

rm-r

eque

st

SNMP AgentApplication

resp

onse

get-b

ulk-

requ

est

get-n

ext-r

eque

st

set-r

eque

st

snm

pV2-

trap

SNMP Agent

SNMP

UDP

IP

DLC

PHY

get-r

eque

st

SNMP ManagerApplication

resp

onse

get-b

ulk-

requ

est

get-n

ext-r

eque

st

set-r

eque

st

snm

pV2-

trap

SNMP Manager

SNMP

UDP

IP

DLC

PHY

get-r

eque

st

info

rm-r

eque

st

SNMP PDU

ApplicationPDU

Physical Medium

ApplicationPDU

• inform-request• manager-to-manager message

• get-bulk-request• transfer of large data

• SNMPv2-Trap• transfer of notifications

• Report• not used

SNMPv2 New Messages

SNMPv2 PDU

SNMPv2 PDU

SNMPv2 Error Status

SNMPv2 GetBulkRequest PDU

• Error status field replaced by Non-repeaters• Error index field replaced by Max repetitions• No one-to-one relationship between request and response

Get-Bulk-Request:

T ZA B

1.1

Figure 6.39 MIB for Operation Sequences in Figures 6.40 and 6.41

E

1.2

1.3

1.4

2.1

2.2

2.3

2.4

3.1

3.2

3.3

3.4

ManagerProcess

Get-Bulk-Request Operation

The response is fragmented to five IP datagrams.

1

2

3

1

2

snmpbulkget (net-snmp)

snmpbulkget -v 2c -c public -Cn1 -Cr5 163.22.32.77 sysUpTime ifDescr ifType ifSpeed

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (216992003) 25 days, 2:45:20.03IF-MIB::ifDescr.1 = STRING: Software Loopback Interface 1IF-MIB::ifType.1 = INTEGER: softwareLoopback(24)IF-MIB::ifSpeed.1 = Gauge32: 1073741824IF-MIB::ifDescr.2 = STRING: WAN Miniport (SSTP)IF-MIB::ifType.2 = INTEGER: tunnel(131)IF-MIB::ifSpeed.2 = Gauge32: 1073741824IF-MIB::ifDescr.3 = STRING: WAN Miniport (L2TP)IF-MIB::ifType.3 = INTEGER: tunnel(131)IF-MIB::ifSpeed.3 = Gauge32: 1073741824IF-MIB::ifDescr.4 = STRING: WAN Miniport (PPTP)IF-MIB::ifType.4 = INTEGER: tunnel(131)IF-MIB::ifSpeed.4 = Gauge32: 1073741824IF-MIB::ifDescr.5 = STRING: WAN Miniport (PPPOE)IF-MIB::ifType.5 = INTEGER: ppp(23)IF-MIB::ifSpeed.5 = Gauge32: 1073741824

Non-repeaters Max repetitions

java snmpgetbulk [-m MIB_files] [-c community]

[-nr non-repeaters] [-mr max-repetitions]

host OID [OID] ...

Example:

java snmpgetbulk -m RFC1213-MIB -c comm123

-nr 2 -mr 20 10.10.20.73 sysDescr sysUpTime ifIndex ifDescr ifType

snmpgetbulk.javahttp://www.im.ncnu.edu.tw/ycchen/nm/snmpgetbulk.java

C:\snmp>java snmpgetbulk -m RFC1213-MIB -c public -nr 2 -mr 9 10.10.32.84 sysDescr sysUpTime ifIndex ifDescr ifType > 84bulk.txt

84bulk.txt:

sysDescr.0:-->DES-3526 Fast-Ethernet SwitchsysUpTime.0:-->15 days, 18 hours, 57 minutes, 11 seconds.

Repeaters:ifIndex.1:-->1 ifDescr.1:-->RMON Port 1 on Unit 1 ifType.1:-->ethernet-csmacd(6) ifIndex.2:-->2 ifDescr.2:-->RMON Port 2 on Unit 1 ifType.2:-->ethernet-csmacd(6) ifIndex.3:-->3 ifDescr.3:-->RMON Port 3 on Unit 1 ifType.3:-->ethernet-csmacd(6) ifIndex.4:-->4 ifDescr.4:-->RMON Port 4 on Unit 1 ifType.4:-->ethernet-csmacd(6) ifIndex.5:-->5 ifDescr.5:-->RMON Port 5 on Unit 1 ifType.5:-->ethernet-csmacd(6) ifIndex.6:-->6 ifDescr.6:-->RMON Port 6 on Unit 1 ifType.6:-->ethernet-csmacd(6) ifIndex.7:-->7 ifDescr.7:-->RMON Port 7 on Unit 1 ifType.7:-->ethernet-csmacd(6) ifIndex.8:-->8 ifDescr.8:-->RMON Port 8 on Unit 1 ifType.8:-->ethernet-csmacd(6) ifIndex.9:-->9 ifDescr.9:-->RMON Port 9 on Unit 1 ifType.9:-->ethernet-csmacd(6)

C:\snmp>java snmpgetbulk -m RFC1213-MIB -c public -nr 2 -mr 9 10.10.34.169

sysDescr sysUpTime ifIndex ifDescr ifType > 169bulk.txt

169bulk.txt:

sysDescr.0:-->Hardware: x86 Family 15 Model 3 Stepping 4 AT/AT COMPATIBLE…sysUpTime.0:-->12 days, 8 hours, 12 minutes, 10 seconds.Repeaters:fIndex.1:-->1 ifDescr.1:-->Loopback interface ifType.1:-->softwareLoopback(24)ifIndex.2:-->2 ifDescr.2:-->Intel(R) PRO/100 ifType.2:-->ethernet-csmacd(6)ifDescr.1:-->Loopback interface ifType.1:-->softwareLoopback(24) ifMtu.1:-->1520ifDescr.2:-->Intel(R) PRO/100 ifType.2:-->ethernet-csmacd(6) ifMtu.2:-->1500ifType.1:-->softwareLoopback(24) ifMtu.1:-->1520 ifSpeed.1:-->10000000ifType.2:-->ethernet-csmacd(6) ifMtu.2:-->1500 ifSpeed.2:-->100000000ifMtu.1:-->1520 ifSpeed.1:-->10000000 ifPhysAddress.1:--> ifMtu.2:-->1500 ifSpeed.2:-->100000000 ifPhysAddress.2:-->00 11 2f c9 b1 9fifSpeed.1:-->10000000 ifPhysAddress.1:--> ifAdminStatus.1:-->up(1)

SnmpTarget target = new SnmpTarget();target.setLoadFromCompiledMibs(true);target.setSnmpVersion( SnmpTarget.VERSION2C ) ;target.setTargetHost( "10.10.20.73");target.setCommunity( "public" );target.setNonRepeaters(2);int nonRepeaters = 2;target.setMaxRepetitions(20);target.loadMibs("RFC1213-MIB");String oids[] = {"sysDescr","sysUpTime","ifIndex", "ifType", "ifSpeed"};SnmpVarBind result[][] = target.snmpGetBulkVariableBindings();for (int i=0;i<nonRepeaters;i++) System.out.println(target.getMibOperations().toString(result[i][0])); StringBuffer sb = new StringBuffer("\nRepeaters:\n"); for (int j=0;j<result[0].length;j++) { for (int i=nonRepeaters;i<oids.length;i++) sb.append(target.getMibOperations().toString(result[i][j])+" \t ") sb.append("\n");}System.out.println(sb.toString());

snmpgetbulk.java

Issues in Bulk Data Transfer

Latency End-to-end delay caused by a number of request/respon

se message exchanges Network overhead

Amount of non-data octets carried in each PDU Table retrieval problems

holes in tables table consistency GetBulk overshoot

Improvements

SNMP over TCP OID compression Other encoding methods Mobile agent GetCols GetBulkBumper GetSubtree GetPrev GetModify

SNMPv2 Trap

Figure 6.43 SNMPv2 Trap PDU

PDUType

RequestIDError

StatusErrorIndex

VarBind 1sysUpTime

VarBind 1value

...

VarBind 2snmpTrapOID

VarBind 2value

• Addition of NOTIFICATION-TYPE macro• OBJECTS clause, if present, defines order of variable

bindings• Positions 1 and 2 in VarBindList are sysUpTime and

snmpTrapOID

NOTIFICATION-TYPE

linkUp NOTIFICATION-TYPEOBJECTS { 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

NOTIFICATION-TYPE

Inform-Request

PDUType

RequestIDError

StatusErrorIndex

VarBind 1sysUpTime

VarBind 1value

...

VarBind 2snmpTrapOID

VarBind 2value

• Inform-Request behaves as trap in that the message goes from one manager to another unsolicited

• The receiving manager sends response to the sending manager

Counter64ObjectSyntax ::= CHOICE { simple SimpleSyntax, application-wide ApplicationSyntax }SimpleSyntax ::= CHOICE { integer-value INTEGER (-2147483648..2147483647), string-value OCTET STRING (SIZE (0..65535)), objectID-value OBJECT IDENTIFIER }ApplicationSyntax ::= CHOICE { ipAddress-value IpAddress, counter-value Counter32, timeticks-value TimeTicks, arbitrary-value Opaque, big-counter-value Counter64, unsigned-integer-value Unsigned32 }

Counter64 ::= [APPLICATION 6] IMPLICIT INTEGER (0..18446744073709551615)

SNMPv2-MIB- RFC 3418

Yen-Cheng Chen

IM, NCNU

April, 2006

Obsoletes 1907

SNMPv2 SNMP MIB

authenticationFailure (5)

snmpMIBObjects(snmpMIB 1)

snmpSet(6)

snmpTraps(5)

snmpTrap(4)

snmpTrapOID(1)

snmpTrapEnterprise(3)

coldStart (1)

warmStart (2)

snmpSetSerialNo(1 )

linkUp (4)

linkDown (3)

Figure 6.34 MIB Modules under snmpMIBObjects

system group { mib-2 1 } sysDescr sysObjectID sysUpTime sysContact sysName sysLocation sysServices

Object Resources

- describe the SNMP entity's support of various MIB modules.

sysORLastChange sysORTable

sysOREntry sysORIndex sysORID sysORDescr sysORUpTime

sysORTable Example

snmp group { mib-2 11 } snmpInPkts snmpInBadVersions snmpInBadCommunityNames snmpInBadCommunityUses snmpInASNParseErrs snmpSilentDrops snmpProxyDrops snmpEnableAuthenTraps

snmpSetSerialNo

{ snmp 1 }{ snmp 3 }{ snmp 4 }{ snmp 5 }{ snmp 6 }{ snmp 31 }{ snmp 32 }{ snmp 30 }

{ snmpset 1 }

enabled(1), disabled(2)

- for atomic operations

Object Types for SNMPv2 Traps

Notification TypescoldStart, warmStart

authenticationFailure

LinkDown, LinkUp (RFC 2233)