1 / 32

COMS/CSEE 4140 Networking Laboratory Lecture 10

COMS/CSEE 4140 Networking Laboratory Lecture 10. Salman Abdul Baset Spring 2008. Announcements. Prelab 9 and Lab report 8 due next week before your lab slot Weekly project reports due before Friday 5pm. Agenda. ASN.1 types, values, structured types SNMP SNMP agents, managers MIB

race
Download Presentation

COMS/CSEE 4140 Networking Laboratory Lecture 10

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COMS/CSEE 4140 Networking LaboratoryLecture 10 Salman Abdul Baset Spring 2008

  2. Announcements • Prelab 9 and Lab report 8 due next week before your lab slot • Weekly project reports due before Friday 5pm

  3. Agenda • ASN.1 • types, values, structured types • SNMP • SNMP agents, managers • MIB • Interaction • SNMP v1, v2, v3

  4. ASN.1 • Abstract syntax notation one • Formal notation for describing data structures and message formats • Type definitions, value definitions, combined • Predefined basic types • BOOLEAN, INTEGER, OCTET STRING, BIT STRING, REAL, ENUMERATED, CHARACTER STRING, OBJECT IDENTIFIER • Constructed types • SEQUENCE, SEQUENCE OF, CHOICE • Arbitrary nesting of types and sub-types • Encoding

  5. ASN.1 types and values • Type definitions • NumberofStudents ::= INTEGER • PassorFail ::= BOOLEAN • GradeType ::= ENUMERATED {A, B, C} • PointsScored ::= REAL • Image ::= BIT STRING • Data ::= OCTET STRING • Value definitions • studentsMonaySession NumberofStudents ::= 9 • passCourse PassorFail ::= TRUE • Combine type value definitions • StudentType ::= INTEGER { ugrad (0) ms (1) phd (2) }

  6. ASN.1 structured types and values } • StudentRecord ::= SEQUENCE { regNo INTEGER, numClasses INTEGER OPTIONAL, fathersName STRING } • John StudentRecord ::= { regNo 1234, numClasses 5, fathersName Don } • studentNo ::= SEQUENCE OF regNo (type definition) • studentNo ::= {1234, 5678, 9012} (value definition) type definition } value definition

  7. ASN.1 structured types and values • CHOICE: select a variable from a known collection of possible variables • majorType ::= CHOICE { engineering IA5 String, arts IA5 String, economics IA5 String} • s1Major ::= engineering : computer science • s2Major ::= engineering : electrical • s3Major ::= economics : freakonomics

  8. ASN.1 Module • MyModule DEFINITIONS ::=BEGIN --ASN.1 definitionsEND

  9. ASN.1 OBJECT IDENTIFIER (MIB) • Define an information object that is managed at the international level • internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }

  10. ASN.1 MACRO (MIB) • 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“ | “current" | "optional" | "obsolete" END

  11. ASN.1 Examples (MIB) • RFC 1155 • internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 } • 1.3.6.1. • Counter ::= [APPLICATION 1] IMPLICIT INTEGER (0..4294967295) • TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER (0..4294967295) • IpAddress ::= [APPLICATION 0] IMPLICIT OCTET STRING (SIZE (4)) • NetworkAddress ::= CHOICE { internet IpAddress }

  12. ASN.1 Encoding • ASN.1 defines syntax and not how to encode them • ASN.1 encoding rules • Basic encoding rules (BER) • DER encoding rules (DER) • Canonical encoding rules (CER) • XML encoding rules (XER) • Packet encoding rules (PER) • Generic string encoding rules (GSER)

  13. Agenda • ASN.1 • types, values, structured types • SNMP • SNMP agents, managers • MIB • Interaction • SNMP v1, v2, v3

  14. SNMP background • Need for administration of TCP/IP network • Goals • number of machines (scale) • implementations • cover protocol layers • SNMPv1, SNMPv2, SNMPv3

  15. Simple Network Management Protocol • SNMP is a framework that provides facilities for managing and monitoring network resources on the Internet. • Components of SNMP: • SNMP agents (port 161) • SNMP managers (port 162) • Management information bases (MIBs) • SNMP protocol itself

  16. Simple Network Management Protocol • SNMP agent is software that runs on a piece of network equipment (host, router, printer, or others) and that maintains information about its configuration and current state in a database. • Management Information Bases (MIBs) describes the information in the database. • MIB, MIB-II (RFC 1213) • SMI defines sets of related objects in a MIB • SNMP manager is an application program that contacts an SNMP agent to query or modify the database at the agent. • SNMP protocol is the application layer protocol used by SNMP agents and managers to send and receive data. • SNMPv1, v2, v3

  17. Structure of management information (SMI) • Adapted subset of ASN.1 • Define sets of related managed objects (using MACRO) • Module definitions • MODULE-IDENTITY • Object definitions • OBJECT-TYPE • Notification definitions • NOTIFICATION-TYPE

  18. MIBS • A MIB specifies the managed objects • MIB is a text file that describes managed objects using the syntax of ASN.1 • What is a managed object? • interface, TCP stack (RTO, congestion control alg.), ARP etc. • In Linux, MIB files are in the directory /usr/share/snmp/mibs • Multiple MIB files • MIB-II (defined in RFC 1213) defines the managed objects of TCP/IP networks

  19. Managed Objects • Each managed object is assigned an object identifier(OID) • The OID is specified in a MIB file. • An OID can be represented as a sequence of integers separated by decimal points or by a text string: Example: • 1.3.6.1.2.1.4.6. • iso.org.dod.internet.mgmt.mib-2.ip.ipForwDatagrams • When an SNMP manager requests an object, it sends the OID to the SNMP agent.

  20. Organization of managed objects • Organized in a tree-like hierarchy • OIDs reflect the structure of the hierarchy. • Each OID represents a node in the tree. • The OID 1.3.6.1.2.1 (iso.org.dod.internet.mgmt.mib-2) is at the top of the hierarchy for all managed objects of the MIB-II. • Manufacturers of networking equipment can add product specific objects to the hierarchy.

  21. Definition of managed objects in a MIB • Specification of ipForwDatagrams in MIB-II. ipForwDatagrams OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS current DESCRIPTION "The number of input datagrams for which this entity was not their final IP destination, as a result of which an attempt was made to find a route to forward them to that final destination. In entities which do not act as IP Gateways, this counter will include only those packets which were Source-Routed via this entity, and the Source- Route option processing was successful." ::= { ip 6 }

  22. SNMP Interactions • Interactions in SNMP

  23. SNMP Protocol • SNMP manager and an SNMP agent communicate using the SNMP protocol • Generally: Manager sends queries and agent responds • Exception: Traps are initiated by agent.

  24. Traps • Traps are messages that are asynchronously sent by an agent to a manager • Traps are triggered by an event • Defined traps include: • linkDown: Even that an interface went down • coldStart - unexpected restart (i.e., system crash) • warmStart - soft reboot • linkUp - the opposite of linkDown • (SNMP) AuthenticationFailure • …

  25. SNMP Protocol • Get-request. Requests the values of one or more objects • Get-next-request.Requests the value of the next object, according to a lexicographical ordering of OIDs. • Set-request. A request to modify the value of one or more objects • Get-response. Sent by SNMP agent in response to a get-request,get-next-request, or set-request message. • Trap. An SNMP trap is a notification sent by an SNMP agent to an SNMP manager, which is triggered by certain events at the agent.

  26. SNMP Versions • Three versions are in use today: • SNMPv1 (1990) • SNMPv2c (1996) • Adds “GetBulk” function and some new types • Adds RMON (remote monitoring) capability • SNMPv3 (2002) • SNMPv3 started from SNMPv1 (and not SNMPv2c) • Addresses security • All versions are still used today • Many SNMP agents and managers support all three versions of the protocol.

  27. Format of SNMP Packets • SNMPv1 Get/Set messages: Cleartext string that is used as a password PDU type, e.g.:32: SNMPv1 Get 64: SNMPv2 Get Unique ID to match requests with replies Sequence of name-value pairs

  28. SNMP Security • SNMPv1 uses plain text community strings for authentication as plain text without encryption • SNMPv2 was supposed to fix security problems, but effort derailed (The “c” in SNMPv2c stands for “community”). • SNMPv3 has numerous security features: • Ensure that a packet has not been tampered with (integrity), • Ensures that a message is from a valid source (authentication) • Ensures that a message cannot be read by unauthorized (privacy).

  29. SNMP Security • Security model of SNMPv3 has two components: 1.Instead of granting access rights to a community, SNMPv3 grants access to users. 2. Access can be restricted to sections of the MIB (Version-based Access Control Module (VACM). Access rights can be limited • by specifying a range of valid IP addresses for a user or community, • or by specifying the part of the MIB tree that can be accessed.

  30. Security levels in SNMPv2 SNMP has three security levels: • noAuthNoPriv: Authentication with matching a user name. • authNoPriv: Authentication with MD5 or SHA message digests. • authPriv: Authentication with MD5 or SHA message digests, and encryption with DES encryption Compare this to SNMPv1 and SNMPv2c: • SNMPv1, SNMPv2: Authentication with matching a community string.

  31. SNMP RFC • RFC 2576 coexistence between SNMPv1, v2, v3

  32. Conclusion • ASN.1 • Abstract notation for defining types and values • SNMP • uses ASN.1 • manager and agent • SNMPv1, v2 (GetBulk), v3 (security)

More Related