Download Agent - Read

Document related concepts

Wake-on-LAN wikipedia , lookup

Deep packet inspection wikipedia , lookup

Net bias wikipedia , lookup

Airborne Networking wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Internet protocol suite wikipedia , lookup

Network tap wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Real-Time Messaging Protocol wikipedia , lookup

Transcript
Introduction to SNMP
Yen-Cheng Chen
http://www.im.tj.mcu.edu.tw/~ycchen/
[email protected]
Contents
1. Basic Concepts
2. Management Information Base
3. Simple Network Management Protocol
4. SNMP Application Examples
5. Reference
Appendix: ASN.1 Concept
1. Basic Concepts
NM
PC
UNIX
...
Management
Station
FDDI
....
Polling
Firewall
/ Router ....
Internet
Notification
RMON
Device
....
UNIX
PC
...
UNIX
PC
3
網路管理標準化

如果每個廠商的網路設備均提供一套獨
特專屬(Proprietary)的網管方法與介面,
網路管理工作將很難執行。

網路管理標準化
 每個網路設備必須提供一致的網路管理介面
(亦即相同的網路管理通信協定)。
4
網路管理相關標準

Internet
 SNMPv1, SNMPv2, SNMPv3

ISO/ITU-T X.700 Series:
 CMIP/S (Common Management Information Protocol /
Service)

ITU-T M.3000 Series:
 TMN (Telecommunication Management Networks)
5
SNMP Concepts

SNMP:
 Simple Network Management Protocol
 De facto standards of network management for TCP/IP
networks (Internet)
 IAB recommends all IP & TCP implementations should
be network manageable.
 That is, all TCP/IP network devices should support
SNMP.
IAB: Internet Activities Board
SNMP Architectural Model

Key Components
 One or more Management Stations
•
Perform management applications, i.e, Monitor & Control.
 Multiple Network Elements
•
hosts, routers, gateways, ..., which each contain an Agent.
 Network Management Protocol
•
Exchange network management information.
SNMP Architectural Model (cont.)
Network Elements (NEs)
Management
Station
Host
Router
Manager
Agent
Agent
SNMP
UDP
IP
SNMP
UDP
IP
Network
Management
Protocol
SNMP
UDP
IP
網路介面
SNMP
網路介面
Network
...
網路介面
Management Components
Manager
 Agent
 Network Management Protocol
 Management Information Base (MIB)

9
Management Components

Management Station (Manager)
 Network management applications.
 Provide an interface which the human network manager can
monitor and control the network.

Agent
 Network devices should be equipped with agent software so
that they can be managed from a management station.
 Responds to requests for information from managers.
 Responds to requests for actions from managers.
 May asynchronously provide managers with important but
unsolicited information.
10
Management Components (cont.)

Network Management Protocol
 Communication protocol between managers and agents
 NM protocol provides a standard way to exchange
management information between managers and agents.

Management Information Base (MIB)
 A collection of Managed Objects.
 The resources to be managed are represented as objects,
called Managed Objects (MOs).
11
Management Information Base (MIB)
Managed Resources






Each resource to be managed is
represented by an object, called
managed object (MO).
The MIB is a structured collection
of MOs.
Essentially, each MO is a data
variable.
Each agent in an NE maintains an
MIB.
Monitor: by reading the values of
MOs in the MIB.
Control: by modifying the values of
MOs in the MIB.
MIB
Agent
SNMP
UDP
IP
網路介面
NE: Network Element
SNMP Services

Four Services
 Get, Set, GetNext, Trap

Five SNMP PDUs
 GetRequest, SetRequest, GetNextRequest, GetResponse, Trap
Get, Set, GetNext Request
Manager
Get Response
Agent(s)
Trap
PDU: Protocol Data Unit
SNMP Services
Get Request
Get
Manager
Get Response
Agent
GetNext Request
GetNext
Manager
Get Response
Agent
Set Request
Set
Trap
Manager
Manager
Get Response
Trap Request
Agent
Agent
14
SNMP Services (cont.)

Get Request:
 Retrieve the values of objects in the MIB of an agent.

Get-Next Request:
 Retrieve the values of the next objects in the MIB of an agent.

Set Request:
 Update the values of objects in the MIB of an agent.

Trap Request
 Report extraordinary events to the manager.
Get-Next Request
MIB Tree :
* In SNMP,
Only leaf objects have
values.
4
5
6
:Non-Leaf Object
1
2
3
:Leaf Object
Default UDP Ports for SNMP
Management
Station
Network Elements (NEs)
Manager
Agent
SNMP
SNMP
162
UDP
Any
161
UDP
IP
IP
網路介面
網路介面
Any
SNMP Standards

SNMP Protocol (Std 15)
 RFC1157: Simple Network Management Protocol.

Structure of Management Information (SMI) (Std 16)
 RFC1155: Structure and Identification of Management
Information for TCP/IP-based Internets.
 RFC1212: Concise MIB Definitions.

MIB-II (Std 17)
 RFC1213: Management Information Base for Network
Management of TCP/IP-based Internets: MIB-II.
http://www.isi.edu/rfc-editor/rfc.html
2. Management Information Base

Structure of Management Information (SMI)
 Set of rules on how managed objects should be defined.
 Objects are defined using Abstract Syntax Notation One ASN.1
(ITU-T X.208 / ISO 8824)

MIB
 The collection of all defined objects
 Contains hierarchically organized variables corresponding to
managed objects.
 MIB-II, RMON MIB, Bridge MIB, Repeater MIB, X.25 MIB,
FDDI MIB, Token Ring MIB, ...
Object Identifier

Object Identifier (OID):
 Global identifier for a particular object type.
 An OID consists of a sequence of integers, which specify the
position of the object in the global object identifier tree.
0
ccitt
0
std
1.3.6.1.2.1.2
1
system interface
1
2
mgmt
1
MIB II
at
3
IP
4
2
joint-iso-ccitt
3
org
6
dod
1
internet
3
2
experimental
2
member
body
1
reg
authority
directory
root
1
iso
ICMP TCP
5
6
UDP
7
1.3.6.1.2.1
1.3.6.1.4.1
4
private
1
enterprises
EGP
8
Trans.
10
SNMP
11
Private MIB Registration

Companies can register their private MIB
extensions in the global MIB tree by
contacting the Internet Assigned Numbers
Authority (IANA).
 http://www.iana.org/

Currently assigned enterprise subtrees
ftp://ftp.isi.edu/in-notes/iana/assignments/enterprise-numbers
21
SMI (RFC1155)
RFC1155-SMI DEFINITIONS ::=
BEGIN
EXPORTS -- EVERYTHING
internet, directory, mgmt, experimental, private,
enterprises, OBJECT-TYPE, ObjectName,
ObjectSyntax, SimpleSyntax,
ApplicationSyntax, NetworkAddress, IpAddress,
Counter, Gauge, TimeTicks, Opaque;
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt
OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private
OBJECT IDENTIFIER ::= { internet 4 }
enterprises OBJECT IDENTIFIER ::= { private 1 }
SMI (cont.)
OBJECT-TYPE MACRO ::=
BEGIN
TYPE NOTATION ::=
"SYNTAX" type (TYPE ObjectSyntax)
"ACCESS" Access
"STATUS" Status
VALUE NOTATION ::= value (VALUE ObjectName)
Access ::= "read-only"
| "read-write"
| "write-only"
| "not-accessible"
Status ::= "mandatory"
| "optional"
| "obsolete"
END
ASN.1 Macro
ObjectName ::= OBJECT IDENTIFIER
OBJECT-TYPE Example
sysDesc OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandary
::= { system 1}
24
SMI (cont.)
ObjectName ::= OBJECT IDENTIFIER
NetworkAddress ::=
CHOICE {
ObjectSyntax ::=
internet
IpAddress}
CHOICE {
IpAddress ::=
simple
SimpleSyntax,
[APPLICATION 0]
application-wide
IMPLICIT OCTET STRING (SIZE (4))
ApplicationSyntax}
Counter ::=
[APPLICATION 1]
SimpleSyntax ::=
IMPLICIT INTEGER (0..4294967295)
CHOICE {
number INTEGER,
Gauge ::=
string
OCTET STRING,
[APPLICATION 2]
object
OBJECT IDENTIFIER,
IMPLICIT INTEGER (0..4294967295)
empty
NULL}
}
TimeTicks ::=
[APPLICATION 3]
ApplicationSyntax ::=
IMPLICIT INTEGER (0..4294967295)
CHOICE {
Opaque ::=
address NetworkAddress,
[APPLICATION 4]
counter Counter,
IMPLICIT OCTET STRING
gauge
Gauge,
ticks
TimeTicks,
END
arbitrary Opaque
}
Object Syntax Summary

Simple Syntax




Integer
Octet String
Object Identifier
Null

Application Syntax





Network Address
Counter
Gauge
Time Ticks
Opaque
26
Concise MIB Definition (RFC 1212)
OBJECT-TYPE MACRO ::=
BEGIN
TYPE NOTATION ::=
"SYNTAX" type(ObjectSyntax)
"ACCESS" Access
"STATUS" Status
DescrPart
ReferPart
IndexPart
DefValPart
VALUE NOTATION ::=
value (VALUE ObjectName)
DescrPart ::=
"DESCRIPTION" value (description DisplayString)
| empty
ReferPart ::=
"REFERENCE" value (reference DisplayString)
| empty
IndexPart ::=
"INDEX" "{" IndexTypes "}" | empty
IndexTypes ::=
IndexType | IndexTypes "," IndexType
IndexType ::=
value (indexobject ObjectName) | type (indextype)
DefValPart ::=
"DEFVAL" "{" value (defvalue ObjectSyntax) "}"
| empty
END
Examples: MIB II (RFC 1213)
mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
tcp OBJECT IDENTIFIER ::= { mib-2 6 }
system OBJECT IDENTIFIER ::= { mib-2 1 }
udp OBJECT IDENTIFIER ::= { mib-2 7 }
interfaces OBJECT IDENTIFIER ::= { mib-2 2 } egp OBJECT IDENTIFIER ::= { mib-2 8 }
at OBJECT IDENTIFIER ::= { mib-2 3 }
-- cmot OBJECT IDENTIFIER ::= { mib-2 9 }
ip OBJECT IDENTIFIER ::= { mib-2 4 } transmission OBJECT IDENTIFIER ::= { mib-2 10 }
icmp OBJECT IDENTIFIER ::= { mib-2 5 }
snmp OBJECT IDENTIFIER ::= { mib-2 11 }
ifTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of interface entries.
The number of entries is given
by the value of ifNumber."
::= { interfaces 2 }
ifEntry OBJECT-TYPE
SYNTAX IfEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An interface entry containing objects
at the subnetwork layer and below for
a particular interface."
INDEX { ifIndex }
::= { ifTable 1 }
Identification of Managed Objects

Use Object Identifier (OID)

OID = Object Type OID

Object Type OID:
. Instance Identifier
 Each Object type has a unique OID

Instance Identifier:
 Identify instances of object type

E.g
.mib-2.interface.ifTable.ifEntry.ifDescr.2
29
Two Kinds of Managed Objects

Type-Specific Objects:
 sysDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..255))
::= {system 1}
 OID: mib-2.system.1.0

Columnar Objects
 OID:
mib-2.interface.ifTable.ifEntry.ifDescr.2
mib-2.interface.ifTable.ifEntry.ifDescr.6
mib-2.interface.ifTable.ifEntry.ifType.2
mib-2.interface.ifTable.ifEntry.ifType.6
30
Columnar Objects
ifTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfEntry
…
::= { interface 2 }
ifEntry OBJECT-TYPE
SYNTAX IfEntry
…
INDEX {ifIndex }
::= { ifTable 1}
IfEntry ::= SEQUENCE {
ifIndex
INTEGER,
ifDescr
DisplayString,
ifType INTEGER,
…
}
ifDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE(0..255))
ACCESS read-only
STATUS madatory
...
::= {ifEntry 2}
31
Columnar Objects
.ifTable.ifEntry.1 (1.3.6.1.2.1.2.2.1.1)
.ifTable.ifEntry.2 (1.3.6.1.2.1.2.2.1.2)
.ifTable.ifEntry.3 (1.3.6.1.2.1.2.2.1.3)
ifIndex ifDescr
ifType
...
1
le0
6
...
6
llc0
1
...
7
lo0
24
...
9
le1
6
...
1.3.6.1.2.1.2.2.1.2.6
1.3.6.1.2.1.2.2.1.3.7
32
Index in MIB II








ifEntry
atEntry
ipAddrEntry
ipRouteEntry
ipNetToMediaEntry
{ifIndex}
{atNetIfIndex, atNetAddress}
{ipAdEntAddr }
{ipRouteDest}
{ipNetToMediaIfIndex,
ipNetToMediaNetAddress}
tcpConnEntry
{tcpConnLocalAddress, tcpConnLocalPort,
tcpConnRemoteAddress, tcpConnRemotePort}
udpEntry
{udpLocalAddress, udpLocalPort}
egpNeighEntry
{egpNeighAddr}
33
Index Example

To get the state of the TCP connection:
10.144.18.118:1200 ===> 10.144.14.40:1600
 Use snmp_get_req. to get the “tcpConnState”
of the tcpConnTable in MIB II.
tcpConnState ==> .1.3.6.1.2.1.6.13.1.1
.1.3.6.1.2.1.6.13.1.1.10.144.18.118.1200.10.144.14.40.1600
34
MIB II

System Group
 Provide general information about the managed system.

Interfaces Group
 Contains generic information about the physical interfaces.

Address-Translation Group
 Contains information about the mapping between network addresses and
physical addresses for each physical interface.

IP Group
 Contains information about the implementation and operation of IP at the
managed system.

ICMP Group
 Contains information about the implementation and operation of ICMP at the
managed system.
MIB-II (cont.)

TCP Group
 Contains information about the implementation and operation of TCP at the
managed system.

UDP Group
 Contains information about the implementation and operation of UDP at the
managed system.

EGP Group
 Contains information about the implementation and operation of EGP at the
managed system.

Transmission Group
 Provides details about the underlying transmission media for each interface.

SNMP Group
 Provides the statistics of SNMP operations at the managed system.
IETF MIBs
1213
 1316
 1317
 1471
 1513
 1757
 2021
 .....

MIB-II
Character Stream
RS-232-like Hardware
PPP
RMON for Token Ring
RMON
RMON-II
3. SNMP

SNMP Message
 Version Identifier
 Community Name
 Protocol Data Unit

Message ::=
SEQUENCE {
version
community
data
}
INTEGER {version-1(0)},
OCTET STRING,
ANY
The length of SNMP messages should not
exceed 484 octets.
Version
Community
SNMP PDU
SNMP Authentication

Community
 Relationship between an Agent and Managers.

Community Name
 Used to validate the SNMP messages.
 SNMP Password.
 Default ‘Get’ community name: “public”.

Authentication Failure
 Agent sends “Authentication Failure Trap” to Manager.
SNMP PDU
Five SNMP PDUs:
GetRquest :
GetNextRequest :
GetResponse :
SetRequest :
Trap :
[0] PDU
[1] PDU
[2] PDU
[3] PDU
[4] Trap-PDU
PDU ::= SEQUENCE {
request-id
INTEGER,
error-status INTEGER {
noError(0),
tooBig(1),
noSuchName(2),
badValue(3),
readOnly(4)
genErr(5)},
error-index
INTEGER,
variable-bindings
SEQUENCE OF {
name ObjectName,
value ObjectSyntax
}
}
PDU: Protocol Data Unit
SNMP PDU (cont.)
GetRequest, GetNextRequest, SetRequest
PDU type request-id
0
0
GetResponse
PDU type request-id error-status error-index
variable-bindings
variable-bindings
variable-bindings
name
value
name
value
...
name
value
Trap-PDU
Enterprise:
Type of Object generating trap.
Agent Address:
Address of object generating trap.
Generic Trap:
Generic trap type.
Specific Trap:
Enterprise specific trap.
Time Stamp:
Time elapsed between the last
initialization of the network entity and
the generation of the trap.
Variable Bindings
“Interesting” information
Trap-PDU ::= [4]
IMPLICIT SEQUENCE {
enterprise
OBJECT IDENTIFIER,
agent-addr
NetworkAddress,
generic-trap INTEGER {
coldStart(0),
warmStart(1),
linkDown(2),
linkUp(3),
authenticationFailure(4),
egpNeighborLoss(5),
enterpriseSpecific(6)},
specific-trap INTEGER,
time-stamp TimeTicks,
variable-bindings VarBindList
}
PDU type enterprise agent-addr generic-trapspecific-trap time-stamp variable-bindings
How does a Manager do?
NM
Application
NM
Application
Translates Internal
Data to
ASN.1 Format
Sends Request
PDU to Agent
Translates ASN.1
Package to Internal
Data Format
Received Response
PDU from Agent
Manager
Agent
Agent
How does an Agent do?
From
Manager
To
Manager
Received SNMP
Request PDU
from Manager
Translates ASN.1
Structure to
Internal Data
Maps MIB
Variables to
Internal Variables
Sends SNMP
Response PDU
to Manager
Translates Response
PDU to ASN.1
Format
Implement SNMP
Request to Set or
Get MIB Value
Agent
Main Loop of Agent






Agent waits for an incoming datagram in Port 161
Reads the datagram from UDP and notes the transport
address of the sending entity.
Increments the QUANTUM to keep track of the logical
request-id being processed by agent
De-serializes the datagram into an ASN.1 structure. If error
occurs, log error and discard packet.
The ASN.1 structure is translated into SNMP message. If
error occurs, log error and discard packet.
Check on VERSION-NUMBER field. If error occurs, log
error and discard packet.
Main Loop of Agent (cont.)


Community name is looked up.
If community is unknown to agent, agent send
AUTHENTICATION trap to Manager station in Port 162; log
error and discard packet.
Agent loops through list of variables in the request.
If no prototype is found, return a GET-RESPONE with error
noSuchName and discard package.
Once prototype is fund, operation is checked against community profile. If
mismatch occurs, return get-respone with error noSuchName or readOnly
and discard package.
Otherwise, agent invokes access routine to perform the desired operation.
What's New in SNMPv2

No more Trap PDU, 3 New PDUs:
 getBulkReq, InformReq, SNMPv2-Trap
Added Security
 18 Error Status Values
 SNMPv2 SMI / SNMPv2 MIB
 M-to-M Communications
 Table Operations

 ...
4. SNMP Application Examples

SNMP Commands
 snmpget [options] node variable [...]
•
query a node using SNMP Get request
 snmpnext [options] node variable [...]
•
query a node using SNMP GetNext request
 snmpwalk [options] node variable
•
query a node repeatedly using SNMP GetNext/GetBulk requests
 snmptrap [-d] [-p port] [-c community] node enterprise agentaddr generic-trap specific-trap time-stamp variable type value
[variable type value...]
issue an SNMP Version 1 Trap
 options:[-d] [-t timeout] [-r retries] [-p port] [-c community] [-v version]
•
Example for snmpget
>>snmpget -d 10.144.18.118 .1.3.6.1.2.1.1.1.0
Transmitted 41 bytes to camry (10.144.18.118) port 161:
Initial Timeout: 0.80 seconds
0: 30 27 02 01 00 04 06 70 75 62 6c 69 63 a0 1a 02 0'.....public...
16: 02 18 bc 02 01 00 02 01 00 30 0e 30 0c 06 08 2b .........0.0...+
32: 06 01 02 01 01 01 00 05 00 -- -- -- -- -- -- -................
0: SNMP MESSAGE (0x30): 39 bytes
2: INTEGER VERSION (0x2) 1 bytes: 0 (SNMPv1)
5: OCTET-STR COMMUNITY (0x4) 6 bytes: "public"
13: GET-REQUEST-PDU (0xa0): 26 bytes
15:
INTEGER REQUEST-ID (0x2) 2 bytes: 6332
19:
INTEGER ERROR-STATUS (0x2) 1 bytes: noError(0)
22:
INTEGER ERROR-INDEX (0x2) 1 bytes: 0
25:
SEQUENCE VARBIND-LIST (0x30): 14 bytes
27:
SEQUENCE VARBIND (0x30): 12 bytes
29:
OBJ-ID (0x6) 8 bytes: .1.3.6.1.2.1.1.1.0
39:
NULL (0x5) 0 bytes
Example for snmpget (cont.)
Received 69 bytes from camry (10.144.18.118) port 161:
0: 30 43 02 01 00 04 06 70 75 62 6c 69 63 a2 36 02 0C.....public.6.
16: 02 18 bc 02 01 00 02 01 00 30 2a 30 28 06 08 2b .........0*0(..+
32: 06 01 02 01 01 01 00 04 1c 53 75 6e 20 53 4e 4d .........Sun SNM
48: 50 20 41 67 65 6e 74 2c 20 53 55 4e 57 2c 55 6c P Agent, SUNW,Ul
64: 74 72 61 2d 31 -- -- -- -- -- -- -- -- -- -- -tra-1...........
0: SNMP MESSAGE (0x30): 67 bytes
2: INTEGER VERSION (0x2) 1 bytes: 0 (SNMPv1)
5: OCTET-STR COMMUNITY (0x4) 6 bytes: "public"
13: RESPONSE-PDU (0xa2): 54 bytes
15:
INTEGER REQUEST-ID (0x2) 2 bytes: 6332
19:
INTEGER ERROR-STATUS (0x2) 1 bytes: noError(0)
22:
INTEGER ERROR-INDEX (0x2) 1 bytes: 0
25:
SEQUENCE VARBIND-LIST (0x30): 42 bytes
27:
SEQUENCE VARBIND (0x30): 40 bytes
29:
OBJ-ID (0x6) 8 bytes: .1.3.6.1.2.1.1.1.0
39:
OCTET-STR (0x4) 28 bytes: "Sun SNMP Agent, SUNW,Ultra-1"
system.sysDescr.0 : DISPLAY STRING- (ascii): Sun SNMP Agent, SUNW,Ultra-1
Example of snmpwalk

snmpwalk 10.144.18.118 .1.3.6.1.2.1.1
system.sysDescr.0 : DISPLAY STRING- (ascii): Sun SNMP Agent, SUNW,Ultra-1
system.sysObjectID.0 : OBJECT
IDENTIFIER: .iso.org.dod.internet.private.enterprises.42.2.1.1
system.sysUpTime.0 : Timeticks: (198219958) 22 days, 22:36:39.58
system.sysContact.0 : DISPLAY STRING- (ascii): [email protected]
system.sysName.0 : DISPLAY STRING- (ascii): camry
system.sysLocation.0 : DISPLAY STRING- (ascii): Information Technology
Laboratory 3F
system.sysServices.0 : INTEGER: 72 (01001000)B
Example of snmptrap

snmptrap -d manager .1.3.6.1.4.1.612.1.1 10.144.18.116 6 99999
0 .1.3.6.1.1 octetstringascii "Trap test"
Transmitted 64 bytes to manager (10.144.18.100) port 162:
0: 30 3e 02 01 00 04 06 70 75 62 6c 69 63 a4 31 06 0>.....public.1.
16: 09 2b 06 01 04 01 84 64 01 01 40 04 0a 90 12 74 [email protected]
32: 02 01 06 02 03 01 86 9f 43 01 00 30 13 30 11 06 ........C..0.0..
48: 04 2b 06 01 01 04 09 54 72 61 70 20 74 65 73 74 .+.....Trap test
0: SNMP MESSAGE (0x30): 62 bytes
2: INTEGER VERSION (0x2) 1 bytes: 0 (SNMPv1)
5: OCTET-STR COMMUNITY (0x4) 6 bytes: "public"
13: V1-TRAP-PDU (0xa4): 49 bytes
15:
OBJ-ID ENTERPRISE (0x6) 9 bytes: .1.3.6.1.4.1.612.1.1
26:
IPADDRESS AGENT-ADDR (0x40) 4 bytes: 10.144.18.116 (manager2)
32:
INTEGER GENERIC-TRAP (0x2) 1 bytes: 6
35:
INTEGER SPECIFIC-TRAP (0x2) 3 bytes: 99999
40:
TIMETICKS TIME-STAMP (0x43) 1 bytes: 0 (0x0)
43:
SEQUENCE VARBIND-LIST (0x30): 19 bytes
45:
SEQUENCE VARBIND (0x30): 17 bytes
47:
OBJ-ID (0x6) 4 bytes: .1.3.6.1.1
53:
OCTET-STR (0x4) 9 bytes: "Trap test"
Get System Information
Get “System Group” of MIB II
 Use get_request or get_next_request

sysDescr
sysObjectID
sysUptime
sysContact
sysName
sysLocation
.1.3.6.1.2.1.1.1.0
.1.3.6.1.2.1.1.2.0
.1.3.6.1.2.1.1.3.0
.1.3.6.1.2.1.1.4.0
.1.3.6.1.2.1.1.5.0
.1.3.6.1.2.1.1.6.0
53
Get Interface Information
Get “Interface Group” of MIB II
 Repeatedly Use “get_next_request”
 Note: We don’t know the ifIndex values in
ifTable.

First get the next object of .ifTable.ifEntry.0
Then repeatedly “get_next”
Until the whole subtree is visited.
54
55
Traffic Monitoring
Get “ifInOctets” and “ifOutOctets” of MIB II
Interface Group
 t1: C1
t2: C2

Utilization (%) =
(C2 - C1 )  8
(t2 - t1)  Bandwidth
 100%
56
57
6. Reference
 The Simple Book, marshall T.Rose, Prentice-Hall Inc.
 SNMP, SNMPv2 and RMON: The Practical Guide to Network
Management, Willeam Stallings
 SMI; http://ds.internic.net/rfc/rfc1155.txt
 Concise MIB Format; http://ds.internic.net/rfc/rfc1212.txt
 SNMP; http://ds.internic.net/rfc/rfc1157.txt
 MIB II; http://ds.internic.net/rfc/rfc1213.txt
 Trap Format; http://ds.internic.net/rfc/rfc1215.txt
 ASN.1 and BER; ITU-T X.208, X.209
Development of SNMP Standards
 SNMPv2
 RMON
I
 RMON
II
 SNMPv3
59
SNMPv3
 An Architecture for Describing Internet Management
Frameworks
 Local Processing Model for version 3 of the Simple
Network Management Protocol (SNMPv3)
 Message Processing and Control Model for version 3
of the Simple Network Management Protocol (SNMP)
 User-based Security Model for version 3 of the Simple
Network Management Protocol (SNMPv3)
 View-based Access Control Model (VACM) for version
3 of the Simple Network Management Protocol (SNMP)
 User-based Security Model (USM) for version 3 of the
Simple Network Management Protocol (SNMPv3)
60
RMON I & II
APPLICATION
Presentation
Session
RMON
2
Transport
Network
Data Link
RMON
(MAC)
1
Physical



RMON 2


 Ethern Token FDD
et
Ring
I



Frame Relay,
HDLC, PPD,
SDLL, X.25,
CIRP
V- T1 E1
series
G703
61