ANMMA un blog despre Retele radio ad-hoc; management retea; agenti mobili

Friday, March 17, 2006

IETF, SMI, Structure of Management Information, SMIv1, SMIv2

    SMI, Structure of Management Information
  • SMIv1, SMIv2
  • SMIng
Structure of Management Information
SMIv1, SMIv2

Informatia de management este disponibila ca o colectie de obiecte gestionate, ce sunt stocate in magazii virtuale, MIB-urile
Colectiile de obiecte inrudite sunt definite in MIB-uri care sunt specificate ASN.1
  • standarde
    • RFC 1155, SMI v1
    • RFC 1211, Concise MIB Definitions
    • RFC 2578, SMI v2
  • structura
      expandarile acestor macrouri au loc in mod conceptual, la implementare si nu la run-time
    • definitii module (macro ASN.1 MODULE-IDENTITY)
      descrire generala a modulului, inf. contact
    • definitii obiecte (macro ASN.1 OBJECT-TYPE)
      definirea tipurilor de obiecte gestionate
    • definitii notificari (macro ASN.1 NOTIFICATION-TYPE)
      definirea informatiei continute intr-o transmisie nesolicitata (SNMPv2-Trap-PDU sau InformRequest-PDU)
  • tipuri scalare
    SMI v1SMI v2
    tipuri simple
    INTEGERINTEGER
    OCTET STRINGOCTET STRING
    OBJECT IDENTIFIEROBJECT IDENTIFIER
    Integer32
    tipuri cu vizibilitate la nivel aplicatie
    Unsigned32
    GaugeGauge32
    CounterCounter32
    Counter64
    TimeTicksTimeTicks
    IpAddressIpAddress
    OpaqueOpaque
    NetworkAddress
    Pseudo tipuri
    BITS
  • reguli pentru definirea tipurilor
    • obiectele apartin unui tip si au valori care sunt restrictionate la o multime care se poate reduce la tipurile de baza ASN.1 prezentate mai sus ca tipuri simple
    • obiectele cu vizibilitate la nivel aplicatie trebuie sa rezulte in tipurile intregi sau string de scalari
    • tipul care se poate construi este un vector bidimensional, elementele acestuia fiind tipurile de mai sus
    • se pot defini tipuri noi utilizand un macro ASN.1, OBJECT-TYPE
    • se permite instantierea simpla sau multipla pentru tabluri;
    • nu exista notiunea de obiect compus care sa contina o multime de tipuri scalare, singura relatie de compozitie permisa existand intre obiectele componente ale aceluiasi tablou
    • un tablou se modeleaza prin tipul ASN.1, SEQUENCE OF randuri; este permisa instantierea dinamica a unui numar arbitrar de randuri
    • un tablou contine randuri (intrari in tablou sau inregistrari) fiecare fiind reprezentat prin tipul ASN.1, SEQUENCE ce contine un numar, definit static, de obiecte
    • un rand trebuie sa fie scalar, adica nu se poate defini un tablou in alt tablou
    • tablourile si randurile sunt obiecte compuse dpdv conceptual astfel incat numai obiectele individuale ce constituie un rand pot fi accesate prin protocolul de management
    O1: codificarile si decodificarile pot fi scumpe computational daca se foloseste o sintaxa complexa dar datorita faptului ca multimea tipurilor este redusa aceasta problema se poate rezolva printr-o optimzare manuala
      OBJECT-TYPE:
    • SYNTAX
      tipuri simple | tipuri cu vizibilitate la nivel aplicatie | New type
    • MAX-ACCESS
      • read-only
      • read-wrirte
      • read-create
      • accessibke-for-notify
      • not-accesible
    • STATUS
      • current
      • deprecated
      • obsolete
    • DESCRIPTION
      ""
    exemplu definire "frunza"
    adresaOBJECT-TYPE
    SYNTAXIpAddress
    MAX-ACCESSread-write
    STATUScurrent
    DESCRIPTION"adresa IP a calculatorului"
    ::={unAltMib 1}
    exemplu definire nod
    informatiiOBJECT-IDENTITY
    STATUScurrent
    DESCRIPTION"nod ce va contine frunze, scalari"
    ::={unAltMib 2}
    exemplu definire tablou
    • tabloul
      tabelaRutareOBJECT-TYPE
      SYNTAXSEQUENCE OF randRuta
      MAX-ACCESSnot-accessible
      STATUScurrent
      DESCRIPTION"tabela de rutare"
      ::={mibRutare 3}
    • randul
      randRutaOBJECT-TYPE
      SYNTAXRuta
      MAX-ACCESSnot-accessible
      STATUScurrent
      DESCRIPTION"intare in tabela de rutare"
      INDEX{destinatie, metrica}
      ::={tabelaRutare 1}
    • tipuri noi utilizate, definire
      • Ruta::=
        SEQUENCE{
        destinatie ipAddress
        metrica INTEGER
        hopulUrmator ipAddress
        }
      • destinatieOBJECT-TYPE
        SYNTAXipAddress
        ACCESSnot-accessible
        STATUScurrent
        DESCRIPTION"adresa IP destinatie"
        ::={Ruta 1}
      • metricaOBJECT-TYPE
        SYNTAXINTEGER{
        distanta(1)
        latimeBanda(2)
        ACCESSnot-accessible
        STATUScurrent
        DESCRIPTION"metrica catre destinatie"
        ::={Ruta 2}
      • hopulUrmatorOBJECT-TYPE
        SYNTAXipAddress
        ACCESSread-write
        STATUScurrent
        DESCRIPTION"adresa IP unde se trimite pachetul"
        ::={Ruta 3}
schema de indexare multipla := OID tablou.numarColoana.valoateIndex1.valoareIndex2
  • reguli de instantiere si de compozitie
    • instantele trebuie denumite astfel incat adresarea sa nu fie ambigua astfel ca se folosesc identificatori de obiecte
    • un tip de obiect are un "registration OID" astfel ca o instanta se identifica prin IOD urmat de de un sufix care identifca in mod unic instanta; in cazul ca exista mai multe instante, sufixul va identifica randul prin compunerea uneia sau mai multor valori ale obiectelor cce constituie cheia, asa cum este ea specificata in template-ul OBJECT-TYPE pentru acel rand
    • astfel apare o cuplare stransa intre tipul obiectului si si identificatorul instantei ceea ce are ca efect directa ca un tip de obiect poate apare numai intr-un loc in in arborele de inregistrare ceea ce inseamna ca ca nu se pot defini tipuri generice de obiecte care sa fie utilizate in contexte diferite
    (exemplu arbore de nume in interiorul uni MIB; nodurile apar pentru a se putea face referirea, frunzele reprezentand obiectele gestionate)
    unAltMib:1
    adresa(1)informatii(2)
    192.168.1.1numeNod(1)utilizator(2)
    laptopIonescuIonescu
    astfel ca se obtine
    OIDinstantavaloarea
    adresa1.11.1.0192.168.1.1
    informatii1.2
    numeNod1.2.11.2.1.0laptopIonescu
    utilizator1.2.21.2.2.0Ionescu
  • reguli de access
    • operatia "Set" se realizeaza numai asupra obiectelor care nivelul "read-write" sau "read-create", asa cum apare in specificatia obiectului
    • accesul la obiecte prin "Get" si "Set" face subiectul unei politici de contril a accesului prin interfata de management
    • obiectele nu suporta operatiile explicite "Create" si nici "Delete", acestea fiind suportate numai pentru obiectele cu instante multiple
    • in SNMP v1, crearea unui rand, care nu exista deja intr-un tablou, se poate realiza printr-o definierea valorilor tuturor obiectelor randului dar protocolul SNMP limiteaza valoarea maxima a PDU (protocol data unit) asa ca nu este intotdeauan posibil sa se paseze valorile pentru toate obiectele randului
    • in SNMPv2, exista o schema de care asigura atomicitatea crearii unui rand
    • se poate simula o actiune arbitrara lde tipul "la frontiera obiectului" printr-un "Set" urmat de un "Get"
    • agentii pot emite notificari, "traps", asociate mai degraba protocolului SNMP decat unei specificatii MIB
  • 0 Comments:

    Post a Comment

    << Home