1 LABORATORIO DI INFORMATICA Network Management 4. Internet (SNMPv2) Networking Management Framework Claudio Salati Copyright © 2001 by Claudio Salati ALMA MATER STUDIORUM - UNIVERSITA' DI BOLOGNA FACOLTA' DI INGEGNERIA - SEDE DI CESENA
2 SCOPI Stessi di TMN ma focalizzato sulla gestione di reti di calcolatori basate sulla tecnologia di internetworking TCP/IP In realta' applicabile alla gestione di qualsiasi tipo di rete come a tutte le problematiche SCADA e controllo dell'automazione telegestione/telecontrollo di reti di distribuzione (e.g. elettricita') supervisione impianti di illuminazione configurazione/supervisione di impianti automatizzati Si applica a maggior ragione il requisito di gestione multivendor e di apparati fortemente eterogenei
3 SCOPI Deve essere possibile arricchire la modalita base di gestione di una risorsa prevista dallo standard con quanto necessario per gestire prestazioni-funzionalita proprietarie (aggiuntive) realizzate da un particolare costruttore un modello informativo standard non deve cercare di prevedere la gestione di tutte le funzionalita' possibili, ma: deve prevedere un livello minimo di gestione comune per tutti, e essere aperto ad estensioni proprietarie M.T. Rose Fundamental Axiom: The impact of adding network management to managed nodes must be minimal, reflecting a lowest common denominator
4 Internet Management Framework (da alcuni RFC SNMPv2 ) A management system contains: several (potentially many) nodes, each with a processing entity, termed an agent, which has access to management instrumentation (cioe' a procedure di controllo e monitoraggio delle risorse del nodo) ; at least one management station; and, a management protocol, used to convey management information between the agents and management stations. Operations of the protocol are carried out under an administrative framework which defines authentication, authorization, access control, and privacy policies. The management protocol, SNMPv2, provides for the exchange of messages which convey management information between the agents and the management stations. The form of these messages is a message "wrapper" which encapsulates a Protocol Data Unit (PDU). The form and meaning of the "wrapper" is determined by the administrative framework. (continua alla pagina successiva)
5 Internet Management Framework (da alcuni RFC SNMPv2 ) Management stations execute management applications ( modulo manager dell'applicazione distribuita di gestione ) which monitor and control managed elements. Managed elements are devices such as hosts, routers, terminal servers, etc., which are monitored and controlled via access to their management information. Management information is viewed as a collection of managed objects, residing in a virtual information store, termed the Management Information Base (MIB, in particolare MIB-istanza ). Collections of related objects ( in realta: object types) are defined in MIB modules ( MIB-schema ). These modules are written using a subset of OSI's ASN.1, termed the Structure of Management Information (SMI). It may be useful to define the acceptable lower-bounds of implementation, along with the actual level of implementation achieved. It is the purpose of the Conformance Statements for SMIv2 to define the notation used for these purposes.
6 ARCHITETTURA: comunanze con TMN Approccio simile a quello di TMN 1.Network Management Station - Managed Node 2.Manager - Agent 3.Interazione manager-agent basata su una rappresentazione dello stato del sistema gestito logico-funzionale e non architetturale: information model - MIB ma...
7 ARCHITETTURA: differenze con TMN 1.Approccio remote debugging vs. O-O distributed program uniche operazioni manager agent ammesse: read e write di variabile di MIB 2.Trasferimento di informazioni agent manager: trap-directed polling vs. notifica dettagliata (in entrambi i casi a livello di style guide piu' che di vincolo linguistico/funzionale) 3.Comunicazioni (transport layer) manager-agent Connectionless vs. Connection-oriented 4.sintassi astratta del dialogo manager agent fissa: non estendibile e non legata al tipo della rete gestita 5.Network management non e' una applicazione distribuita qualunque: deve (cercare di) funzionare anche (e soprattutto) quando le normali applicazioni si bloccano
8 MIB Nel management framework di Internet lespressione MIB assume due significati 1.Schema della base dati condivisa che consente linterazione manager-agent: Una MIB-schema (o MIB module) contiene la definizione di un insieme di object-type capaci di modellare le risorse di un sistema gestito (in terminologia ITU: modello informativo). 2.Istanza della base dati condivisa che rappresenta lo stato attuale del sistema gestito: Una MIB-istanza contiene un insieme di istanze di object- type che con il loro valore descrivono lo stato corrente del sistema gestito. Concettualmente si puo' sempre supporre che una MIB- istanza contenga anche la MIB-schema che ne definisce la struttura.
9 ARCHITETTURA - MIB L'informazione di gestione in un sistema gestito deve essere rappresentata solo da 1.Variabili scalari 2.Tabelle (concettuali) = matrici bidimensionali (possibilmente eterogenee per colonne) di variabili scalari Descrivibili in ASN.1 come SEQUENCE OF SEQUENCE {…}, dove i campi della SEQUENCE sono vincolati ad essere di tipi semplici I tipi scalari ammessi dal framework sono un sottoinsieme di quelli definiti da ASN.1. Questo sottoinsieme e' definito nella SMI Nel colloquio manager-agent il protocollo SNMP consente solo lo scambio di (liste di) scalari (valori di tipo semplice)
10 ARCHITETTURA - trap-directed polling 1.E' l'applicazione al caso del Network Management del design- pattern observer (o publish-subscribe) 2.La differenza con la strategia TMN e' legata non tanto agli strumenti messi a disposizione dal management framework, quanto alle regole di stile secondo le quali questi strumenti sono utilizzati 3.Lo scopo e' definire un trade-off accettabile per Il carico elaborativo su ciascuno degli agent Il carico elaborativo su ciascuno dei manager Il carico di comunicazioni sulla rete Il tempo di risposta agli eventi tutto cio' in teoria: nella pratica quello che succede e' semplicemente che si definiscono meno notifiche spontanee di quante se ne definiscano nei modelli informativi ITU/OSI
11 ARCHITETTURA - uso di connectionless transport service UDP Affidabilita e end-to-end argument Non e' nemmeno SNMP che si preoccupa della ritrasmissione per recuperare errori sulla rete ma l'applicazione finale! Particolarmente significativo nel caso di network management ("must work when all else fails") Consente di semplificare l'agent: puo' essere senza-stato Risolve la contraddizione: connessioni permanenti vs. costo/difficolta' di aprire una connessione al momento del bisogno (specie se ci sono problemi sulla rete! E piu robusto) La massima dimensione di un PDU UDP e limitata: SNMPv2 definito per sfruttare al meglio il PDU UDP SNMP definisce come situazione di errore il fatto che un suo PDU venga ad eccedere questa dimensione
12 ARCHITETTURA - abstract syntax Anche il management framework di Internet e' basato su ASN.1 sia per definire le strutture dati che rappresentano lo stato del sistema gestito che per definire i PDU del protocollo SNMP In realta' viene utilizzato un sottoinsieme molto limitato di ASN.1 Arricchito da una libreria di sotto-tipi base definita dal framework Unica transfer syntax ammessa: BER Per come viene utilizzato l'ASN.1, l'insieme di procedure di encode/decode di manager e agent e' fisso e limitato: per implementare manager e agent non e' quindi necessario fare uso di un sistema di programmazione ASN.1.
13 SNMPv2 Framework: RFC(parte 1) RFCTITLE 1902 obsoleted by 2578 SMI for SNMPv2 Structure of Management Information Version 2 (SMIv2) 1903 obsoleted by 2579 Textual Conventions for SNMPv2 Textual Conventions for SMIv obsoleted by 2580 Conformance Statements for SNMPv2 Conformance Statements for SMIv2 1905Potocol Operations for SNMPv2 1906Transport Mappings for SNMPv2
14 SNMPv2 Framework: RFC(parte 2) RFCTITLE 1907MIB for SNMPv2 1901Introduction to Community-based SNMPv2 (e lo SNMPv2 standard, detto anche SNMPv2C) 1908 obsoleted by 2576 Coexistence between SNMPv1 and SNMPv2 Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework
15 CROSS-REFERENCE ITU TMNIETF Management Framework ATTRIBUTEOBJECT-TYPE column CMISE / CMIPSNMP GDMOSMI Information Model / MIBMIB (schema/istanza) MANAGED OBJECT CLASSOBJECT-TYPE simple / row Mediation DeviceProxy agent Network (Managed) ElementManaged node Operation SystemNetwork Management Station Object instance istanza di OBJECT-TYPE simple, o riga in istanza di OBJECT-TYPE tabella
16 SNMPv2 Framework: Supporto Linguistico (SMI) Utilizzato per definire lo schema della base dati condivisa (per scrivere delle MIB) Formalmente definito come un insieme di macro ASN.1 Per catturarne la semantica e pero necessario utilizzare un apposito compilatore Noi lo considereremo un linguaggio dedicato che chiameremo complessivamente SMI (Structure of Management Information), che e composto di 9 statement, che e integrato con lASN.1 (il suo sottoinsieme ammesso dal framework). I suoi statement riferiscono tipi e valori ASN.1, devono comparire allinterno di moduli ASN.1, e devono essere importati da moduli ASN.1
17 SNMPv2 Framework: Supporto Linguistico Statement SMIModulo ASN.1 in cui e definito RFC TEXTUAL-CONVENTIONSNMPv2-TC1903 OBJECT-IDENTITYSNMPv2-SMI1902 MODULE-IDENTITY OBJECT-TYPE NOTIFICATION-TYPE OBJECT-GROUPSNMPv2-CONF1904 NOTIFICATION-GROUP MODULE-COMPLIANCE AGENT-CAPABILITIES
18 SNMPv2 Framework: "Standard" MIB IETF non definisce solo gli strumenti necessari per scrivere delle MIB (schema), ma standardizza (o mette comunque a disposizione) anche un insieme di MIB gia definite MIB di base, che dovrebbero essere supportate da ogni sistema gestito (RFC 1907 (SNMP) e 2233 (interfacce)) MIB per la gestione dei protocolli Internet RFC 2011, 2012, 2013, 2096: rispettivamente IP, TCP, UDP, tabelle di routing IP MIB per la gestione di interfacce e protocolli specifici: RFC 1471, 1472, 1473, 1474, gestione di data link PPP e protocolli correlati RFC 2665, gestione di data link Ethernet RFC 1658, 1659, gestione di interfacce character oriented e di RS-232 continua nella prossima pagina
19 SNMPv2 Framework: "Standard" MIB MIB per la gestione di protocolli di routing: RFC 1657, BGP-4 MIB RFC 1850, OSPF version 2 MIB MIB per il monitoraggio remoto delle reti TCP/IP, o MIB RMON 1 e 2: RFC 1757, 2021, 2074 MIB per la gestione di altre reti o sistemi, e.g. RFC 2558 SONET/SDH Interface Type MIB RFC 2494, 2495, 1407 DS0, DS1, DS2, DS3 (PDH) Interface Type MIB RFC 2515 ATM MIB
20 MIB SNMPv2 RFCTITLE 1573 obsoleted by 2233 Evolution of the Interfaces Group of MIB-II The Interfaces Group MIB using SMIv2 2011SNMPv2 Management Information Base for the Internet Protocol (IP) using SMIv2 2012SNMPv2 Management Information Base for the Transmission Control Protocol (TCP) using SMIv2 2013SNMPv2 Management Information Base for the User Datagram Protocol (UDP) using SMIv2 2024Definitions of Managed Objects for Data Link Switching using SMIv2 2096IP Forwarding Table MIB
21 SERVIZI OFFERTI DAL PROTOCOLLO DI GESTIONE ITU CMIPIETF SNMPv2 M-GETget get-next get-bulk M-SETset M-CREATEset M-DELETEset M-ACTIONget, get-next, get-bulk set M-EVENT-REPORTtrap M-CANCEL-GET-
22 SERVIZI OFFERTI DAL PROTOCOLLO SNMPv2 get client = manager / server = agent Confermato SNMPv2 PDU: GetRequest-PDU / Response-PDU consente al manager di acquisire il valore di specifici elementi di una MIB. Una singola operazione puo richiedere simultameamente il valore di piu elementi. get-next client = manager / server = agent Confermato SNMPv2 PDU: GetNextRequest-PDU / Response-PDU consente al manager tramite successive invocazioni di scandire la MIB acquisendo il valore degli elementi in essa contenuti. Una singola operazione puo richiedere una scansione parallela a partire da piu punti della MIB.
23 SERVIZI OFFERTI DAL PROTOCOLLO SNMPv2 get-bulk client = manager / server = agent Confermato SNMPv2 PDU: GetBulkRequest-PDU / Response-PDU Simile ad una successione compressa di max-repetition operazioni get-next, consente sfruttare al meglio la dimensione massima del Response-PDU (se la risposta completa ha dimensioni eccessive, essa e sostituita con la massima risposta parziale che rientra nel Response-PDU). The agents response to the get-bulk operator isnt unlike the concatenation of the agents responses from up to max- repetition number of get-next interactions. (M.T. Rose, The simple book)
24 SERVIZI OFFERTI DAL PROTOCOLLO SNMPv2 set client = manager / server = agent Confermato SNMPv2 PDU: SetRequest-PDU / Response-PDU consente al manager di modificare il valore di specifici elementi di una MIB. Una singola operazione puo modifcare simultameamente il valore di piu elementi. Se uno o piu elementi riferiti nella richiesta non sono presenti nella MIB il risultato delloperazione e la creazone ed inizializzazione di questi elementi e, per effetto collaterale, di eventuali altri elementi ad essi correlati.
25 SERVIZI OFFERTI DAL PROTOCOLLO SNMPv2 trap client = agent / server = manager Non-confermato SNMPv2 PDU: SNMPv2-Trap-PDU Consente ad un agent di notificare spontaneamente a un manager loccorrenza di eventi significativi sul sistema gestito. La notifica puo essere arricchita con il valore di elementi della MIB associati a risorse coinvolte nellevento.
26 SERVIZI OFFERTI DAL PROTOCOLLO SNMPv2 La gerarchia di gestione TMN prevede che il pattern manager-agent sia replicato ricorsivamente tra i suoi diversi layer. In questo senso risulta fisiologica lesistenza di entita di gestione con doppio ruolo (agent north-bound, manager south-bound). (non e invece considerata una cooperazione tra pari, cioe tra entita dello stesso layer di gestione non funzionalmente gerarchizzate) Questa architettura ricorsiva non e recepita dal framework Internet. SNMPv2 definisce invece un servizio che consente linterazione tra due entita manager. inform client = manager / server = manager Confermato SNMPv2 PDU: InformRequest-PDU / Response-PDU Consente ad un manager di notificare spontaneamente a un altro manager loccorrenza di eventi significativi e di ricevere da questo una risposta correlata.
27 SERVIZI OFFERTI DAL PROTOCOLLO SNMPv2 Il protocollo definisce e supporta tre tipi di interazione: 1.Interazione confermata tra un manager (client) ed un agent (server) Lettura e modifica dello stato del sistema gestito da parte del manager 2.Interazione non-confermata tra un agent (client) e un manager (server) Notifica dellagent verso il manager di una variazione (spontanea) dello stato del sistema gestito 3.Interazione confermata tra un manager (client) ed un manager (server) Notifica da un manager verso un altro manager di una variazione dello stato di un sistema gestito
28 SERVIZI OFFERTI DAL PROTOCOLLO SNMPv2 Un manager SNMPv2 deve essere in grado di Generare i seguenti tipi di PDU: GetRequest-PDU GetNextRequest-PDU GetBulkRequest-PDU SetRequest-PDU InformRequest-PDU Response-PDU Trattare in ricezione i seguenti tipi di PDU: Response-PDU SNMPv2-Trap-PDU InformRequest-PDU
29 SERVIZI OFFERTI DAL PROTOCOLLO SNMPv2 Un agent SNMPv2 deve essere in grado di Generare i seguenti tipi di PDU: SNMPv2-Trap-PDU Response-PDU Trattare in ricezione i seguenti tipi di PDU: GetRequest-PDU GetNextRequest-PDU GetBulkRequest-PDU SetRequest-PDU
30 ALTRI RFC RFCTITLE 1270SNMP Communications Services 1592Simple Network Management Protocol - Distributed Protocol Interface - Version An Administrative Infrastructure for SNMPv2 (obsoleto) 1910User-based Security Model for SNMPv2 (detto anche SNMPv2U; e in qualche maniera incorporato anche in SNMPv3) 2089V2ToV1 - Mapping SNMPv2 onto SNMPv1 within a bi- lingual SNMP agent
31 SNMPv3 Da SNMPv2 eredita: SMIv2 e la struttura del PDU Ridefinisce il modello amministrativo Per introdurre un livello significativo di security Per rendere larchitettura aperta a future innovazioni RFCTITLE 2270Introduction to Version 3 of the Internet-standard Network Management Framework 2271An Architecture for Describing SNMP Management Frameworks 2272Message processing and dispatching 2273SNMPv3 applications 2274User-based Security Model (USM) 2275View-based access control model (VACM) 2276Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework