SNMP Operations * * Mani Subramanian “Network Management: Principles and practice”, Addison-Wesley, 2000.

Slides:



Advertisements
Similar presentations
Chapter 5 SNMPv1: Communication and Functional Models.
Advertisements

Michigan Electronic Grants System Plus
SQL: The Query Language Part 2
1.
1 Designing Hash Tables Sections 5.3, 5.4, Designing a hash table 1.Hash function: establishing a key with an indexed location in a hash table.
4 Oracle Data Integrator First Project – Simple Transformations: One source, one target 3-1.
Arrays.
Chapter 15 A Table with a View: Database Queries.
Chapter 6 SNMPv2 6-1 Network Management: Principles and Practice
Communication and Functional Models
Chapter 8 RMON Chapter 8 Network Management: Principles and Practice © Mani Subramanian
SNMPv2 Network Management Spring 2014 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology This presentation is based on the slides listed.
TCP/IP Protocol Suite 1 Chapter 21 Upon completion you will be able to: Network Management: SNMP Understand the SNMP manager and the SNMP agent Understand.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 Pertemuan 07 Model Komunikasi Matakuliah: H0372/Manajemen Jaringan Tahun: 2005 Versi: 1/0.
Pertemuan 10 Perbedaan antar versi SNMP
1 SNMP Simple Network Management Protocol. 2 SNMP Overview Define mechanism for remote management of network devices (routers, bridges, etc.) Fundamental.
MJ08/07041 Session 08 SNMPv2 Adapted from Network Management: Principles and Practice © Mani Subramanian 2000 and solely used for Network Management course.
SNMP PROTOCOL Copyright © 2001 by Aiko Pras These sheets may be used for educational purposes.
COMP4690, by Dr Xiaowen Chu, HKBU
SNMP PROTOCOL Copyright © 2001 by Aiko Pras These sheets may be used for educational purposes.
Remote Network Monitoring (RMON)
Network Management: SNMP
SNMPv1 Communication and Functional Models
Introduction to SNMP AfNOG 11, Kigali/Rwanda.
SNMP (Simple Network Management Protocol) Jon Sevy Geometric and Intelligent Computing Laboratory Department of Mathematics and Computer Science Drexel.
Simple Network Management Protocol Week 6.  MIB data is input in encoded form.  Information is then compiled into the central MIB in the NCS.
Chapter 6 Overview Simple Network Management Protocol
McGraw-Hill The McGraw-Hill Companies, Inc., 2000 SNMP Simple Network Management Protocol.
TCP/IP Protocol Suite 1 Chapter 21 Upon completion you will be able to: Network Management: SNMP Understand the SNMP manager and the SNMP agent Understand.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 23 Simple Network Management Protocol (SNMP)
SNMP Communication and Functional Models
1.  TCP/IP network management model: 1. Management station 2. Management agent 3. „Management information base 4. Network management protocol 2.
SNMP (Simple Network Management Protocol)
Network Protocols UNIT IV – NETWORK MANAGEMENT FUNDAMENTALS.
SNMP ( Simple Network Management Protocol ) based Network Management.
Lec8: SNMP v1.
SNMPv1 (cont’d) & SNMPv2 (II) * * Mani Subramanian “Network Management: Principles and practice”, Addison-Wesley, 2000.
Chapter 8 Network Management
Communication and Functional Models
BAI513 - PROTOCOLS SNMP BAIST – Network Management.
Lec 3: Infrastructure of Network Management Part2 Organized by: Nada Alhirabi NET 311.
SNMP n Where did it come from ? –Internet Engineering Task Force »Network Management Area –SNMP V1 –MIB definitions –SNMPV2.
1 Network Management: SNMP The roots of education are bitter, but the fruit is sweet. - Aristotle.
POSTECH DP&NM Lab 1 Simple Network Management Protocol (SNMP) Mi-Jung Choi Dept. of Computer Science KNU
Simple Network Management Protocol (SNMP) SNMP v1 (RFC 1157) UDP Port 161 Operation supported by SNMP – Get: retrieves a scalar object value – Set: updates.
1 Based on Behzad Akbari Fall 2011 Network Management lectures.
“ Vulnerabilities in SNMP Implementations ” CSCI Web Security Instructor: Dr. Andrew Yang Presented By: Harini Varatharajan.
Network Management: Principles and Practice
CITA 440 Week 6 SNMPv1. Internet SNMP Management Internet Engineering Task Force (IETF) –1990SNMPv1 –1996SNMPv2 –1998SNMPv3 Internet documents: –Request.
1 Kyung Hee University Prof. Choong Seon HONG SNMP Management Information.
Dept. of Computer Science and Engineering
Common Management Protocol W.lilakiatsakun. Topics SNMP (Widely used) SNMP (Widely used) Command Line Interface (CLI) Command Line Interface (CLI) Syslog.
1 SNMP Standard MIBs Mi-Jung Choi Dept. of Computer Science KNU
Manajemen Jaringan, Sukiswo ST, MT 1 Remote Network Monitoring (RMON) Sukiswo
Lec 3: Infrastructure of Network Management Part2 Organized by: Nada Alhirabi NET 311.
Extra Lecture and examples
Jaringan Telekomunikasi, Sukiswo ST, MT Sukiswo
Network management Communication model
Simple Network Management Protocol (SNMP)
Simple Network Management Protocol (SNMP)
Karl Quinn 23rd November 2004 NDS M.Sc.
Network Management: SNMP
SNMPv1 (cont’d) & SNMPv2 (II)*
SNMPv1 Network Management: Communication and Functional Models
Chapter 6 SNMPv2 6-1 Network Management: Principles and Practice
Fundamentals of Network Management
Lec 5: SNMP Network Management
CT1305 Computer Network Management Dr. Mostafa H. Dahshan
Presentation transcript:

SNMP Operations * * Mani Subramanian “Network Management: Principles and practice”, Addison-Wesley, 2000.

GetRequest PDU  Sender includes the following fields:  PDU Type  request-id  Variable-bindings  A list of object instances whose values are requested  SNMP dictates that a scalar object is identified by its OBJECT-IDENTIFIER concatenated with 0  e.g., sysDescr.0 : distinguishes between the object type and an instance of the object sysServices (7) sysLocation (6) sysDescr (1) system (mib-2 1) sysObjectId (2) sysUpTime (3)sysName (5) sysContact (4)

GetRequest PDU GetRequest (sysDescr.0)GetResponse (sysDescr.0= "SunOS" )GetRequest (sysObjectID.0)GetResponse ( sysObjectID.0=enterprises )GetRequest (sysUpTime.0) GetResponse (sysUpTime.0= ) GetRequest (sysContact.0) GetResponse (sysContact.0=" ") GetRequest (sysName.0) GetResponse (sysName.0="noc1 ") GetRequest (sysLocation.0) GetResponse (sysLocation.0=" ") GetRequest (sysServices.0) GetResponse (sysServices.0=72) Manager Process Agent Process.0 indicates that the scalar value should be retrieved (scalar objects only) The manager could have used only one message to obtain the values of all objects under system group: using “variable binding list”

GetRequest PDU  Get Request is atomic  Either all values (of all variables provided in the binding list) retrieved or none  error message is generated if at least one of the variables could not be found/returned; error-status :  noSuchName  tooBig  genErr  error-index: indicate the problem object (i.e., variable in binding list that caused the problem)  With SNMP, only leaf objects in the MIB can be retrieved  e.g. it is not possible to retrieve an entire row of a table by simply accessing the Entry Object (e.g., ipRouteEntry)   the management stations has to include each object instance (in the row) in the binding list oBy including the complete object identifier and respecting the rule of indexing!

GetRequest PDU  GetRequest (ipRouteDest , ipRouteMetric , ipRouteNextHop ) ipRouteDest ipRouteMetric1 ipRouteNextHop Index of table

GetNextRequest PDU  PDU format:  same as GetReqest  Difference:  each variable in the binding list refers to an object instance next in the lexicographic order  GetNextRequest (sysDescr.0)  return the value of the object instance of sysObjectId  Advantages:  Allows a network manager to discover a MIB structure dynamically  Efficient way for searching through tables whose entries are unknown sysServices (7) sysLocation (6) sysDescr (1) system (mib-2 1) sysObjectId (2) sysUpTime (3)sysName (5) sysContact (4)

Error message: no object next to sysServices GetNextRequest PDU GetRequest (sysDescr.0)GetResponse (sysDescr.0= "SunOS" ) GetNextRequest (sysDescr.0) GetResponse ( sysObjectID.0=enterprises ) Get-Next-Request Operation for System Group Manager Process Agent Process GetNextRequest (sysObjectID.0) GetResponse (sysUpTime.0= ) GetNextRequest (sysUpTime.0) GetResponse (sysContact.0=" ") GetNextRequest (sysContact.0) GetResponse (sysName.0="noc1 ") GetNextRequest (sysName.0) GetResponse (sysLocation.0=" ") GetNextRequest (sysLocation.0) GetResponse (sysServices.0=72) GetNextRequest (sysServices.0) GetResponse (noSuchName)

Generalized Case TZAB 1.1 E  A sample MIB that contains both scalar values and aggregate objects  Retrieving scalar as well as aggregate objects using get- request and get-next-request

Generalized Case T.E.1.1T.E.2.1T.E.3.1 T.E.1.2T.E.2.2T.E.3.2 E T Z A B GetRequest ( A ) GetResponse ( A ) GetRequest ( B ) GetResponse ( B ) GetRequest (T.E.1.1) GetResponse ( T.E.1.1 ) GetRequest (T.E.1.2) GetResponse ( T.E.1.2 ) GetRequest (T.E.2.1) GetResponse ( T.E.2.1 ) GetRequest (T.E.2.2) GetResponse ( T.E.2.2 ) GetRequest (T.E.3.1 ) GetResponse ( T.E.3.1 ) GetRequest (T.E.3.2 ) GetResponse ( T.E.3.2 ) GetRequest (Z ) GetResponse ( Z ) Manager Process Agent Process

Generalized Case T.E.1.1T.E.2.1T.E.3.1 T.E.1.2T.E.2.2T.E.3.2 E T Z A B Observations: 1)- we need to know all the elements in the MIB, including the # of columns and rows in a table 2)- a MIB is traversed from top to bottom (i.e., from left to right in the tree structure) 3)- data in tables is retrieved by traversing all instances of a columnar object NOTES: 1)- dynamic table: # rows may not be known to manager  A request to T.E.1.3 results in error message 3)- GetNextRequest could avoid this! 4)- A convention is required for the definition of the next object in a MIB  SNMP uses lexicographic convention

Lexicographic Ordring- example startend MIB example of lexicographic ordering

T.E.1.1 is next object to scalar B GetNextRequest PDU T.E.1.1T.E.2.1T.E.3.1 T.E.1.2T.E.2.2T.E.3.2 E T Z A B GetRequest ( A ) GetResponse ( A ) GetNextRequest ( A ) GetResponse ( B ) GetNextRequest ( B ) GetResponse ( T.E.1.1 ) GetNextRequest (T.E.1.1 ) GetResponse ( T.E.1.2 ) GetNextRequest (T.E.1.2 ) GetResponse ( T.E.2.1 ) GetNextRequest (T.E.2.1 ) GetResponse ( T.E.2.2 ) GetNextRequest (T.E.2.2 ) GetResponse ( T.E.3.1 ) GetNextRequest (T.E.3.1 ) GetResponse ( T.E.3.2 ) GetNextRequest (T.E.3.2 ) GetResponse ( Z ) GetNextRequest ( Z ) GetResponse ( noSuchName ) Manager Process Agent Process

GetNextRequest PDU GetRequest ( A ) GetResponse ( A ) GetNextRequest ( A ) GetResponse ( B ) GetNextRequest ( B ) GetResponse ( T.E.1.1 ) GetNextRequest (T.E.1.1 ) GetResponse ( T.E.1.2 ) GetNextRequest (T.E.1.2 ) GetResponse ( T.E.2.1 ) GetNextRequest (T.E.2.1 ) GetResponse ( T.E.2.2 ) GetNextRequest (T.E.2.2 ) GetResponse ( T.E.3.1 ) GetNextRequest (T.E.3.1 ) GetResponse ( T.E.3.2 ) GetNextRequest (T.E.3.2 ) GetResponse ( Z ) GetNextRequest ( Z ) GetResponse ( noSuchName ) Manager Process Agent Process Advantages of Get-Next- Request 1)- no need to know the object ID of the next entity to retrieve its value 2)- issues with dynamic table resolved 3)- allows NMS to discover the structure of a MIB view dynamically 4)- provides an efficient mechanism for searching a table whose entries are unknown

Lexicographic Ordring- example ipRouteDest ipRouteMetric1 ipRouteNextHop ipRouteTable ipRouteEntry = x ipRouteDest x.1 ipRouteMetric1 x.3 ipRouteNextHop x.7 ipRouteDest x ipRouteDest x ipRouteDest x ipRouteMetric x ipRouteMetric x ipRouteMetric x ipRouteNextHop x ipRouteNextHop x ipRouteNextHop x Index of table

Accessing Table Values Retrieving the entire table w/out knowing its contents or number of rows: GetNextRequest (ipRouteDest, ipRouteMetric1, ipRouteNextHop)  The agent will respond with the values from the first row GetResponse ((ipRouteDest = ), (ipRouteMetric = 3), (ipRouteNextHop = ))  The MS stores this info and retrieves the second row ipRouteDest ipRouteMetric1 ipRouteNextHop

Accessing Table Values GetNextRequest (ipRouteDest , ipRouteMetric , ipRouteNextHop ) GetResponse ((ipRouteDest = ), (ipRouteMetric = 5), (ipRouteNextHop = )) GetNextRequest (ipRouteDest , ipRouteMetric , ipRouteNextHop ) GetResponse ((ipRouteDest = ), (ipRouteMetric = 5), (ipRouteNextHop = )) ipRouteDest ipRouteMetric1 ipRouteNextHop

Accessing Table Values What happens next!, When does the MS stop? GetNextRequest (ipRouteDest , ipRouteMetric , ipRouteNextHop ) GetResponse ((ipRouteMetric = 3), (ipRouteNextHop = ), (ipNetToMediaIfIndex.1.3 = 1)) ipRouteDest ipRouteMetric1 ipRouteNextHop Object names in the list in the response does not match those in the request  MS knows it has reached the end of the table

SetRequest-PDU  Write a value rather than reading a variable  The operation is atomic: o either all variables in binding list are updated or none Procedure receive-SetRequest: begin if object not available for set then issue getresponse (noSuchName, index) else if inconsistent object value then issue getresponse (badValue, index) else if generated PDU too big then issue getresponse (tooBig) else if value not settable for some other reason then issue getresponse (genErr, index) else issue getresponse (variable bindings) end;

SetRequest-PDU-example Updating the value of ipRouteMetric1 metric of the first row: SetRequest (ipRouteMetric = 9) GetResponse (ipRouteMetric = 9) Adding a row to the table -- a MS issues a command: SetRequest ((ipRouteDest = ), (ipRouteMetric = 9), (ipRouteNextHop = )) ipRouteDest ipRouteMetric1 ipRouteNextHop Index of the new object instance in the table But this is currently unknown for the agent!

Two ways for the agent to handle the request: 1)- reject the operation with error-status = noSuchName 2)- recognize the operation (as creation of a new row) and check whether the operation can be accepted (i.e., all values are correct, no syntax error, etc..) 2.1)- if NO, then return error-status = badValue 2.2)- if YES, then new row is created and GetResponse ((ipRouteDest = ), (ipRouteMetric = 9), (ipRouteNextHop = )) If only this argument is passed, then the agent may accept or not; if it accepts to create the row, then the other objects are assigned default values SetRequest-PDU-example Adding a row to the table -- a MS issues a command: SetRequest ((ipRouteDest = ), (ipRouteMetric = 9), (ipRouteNextHop = ))

SetRequest-PDU-example Row Deletion: SetRequest (ipRouteMetric = invalid) GetResponse (ipRouteMetric = invalid) Some other tables may/may not allow any operation to be done on its columnar objects – check RFCs for more details Performing an action: SNMP can read and set values of objects. SNMP can also issue commands to perform certain actions: example, a device may have a flag “reBoot”, if it is set by the manager, then the device will reboot.