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

Tuesday, March 21, 2006

Sumar SNMP

SNMPv1 (RFCs: 1155, 1157, 1212)
  • mesaj SNMP
    version | community | SNMP PDU
  • PDU
    PDU type | request ID | error status | error index | variable bindings
  • variable bindings
    name 1 | value 1 | name 2 | value 2 | ... | name n | value n
  • PDU type
    • GetRequest-PDU
        se initiaza la manager
      • daca agentul nu gaseste obiectul cerut sau daca obiectul este compus, raspunde cu un GetResponse-PDU identic in care error-status="noSuchName" si "error-index" este este cel al obuiectului cerut initial
      • daca GetResponse-PDU ar fi prea mare, agentul raspunde cu GetResponse-PDU cu error-status="tooBig"
      • daca nu poate gasi obiectul, alte cazuri, agentul raspunde cu GetResponse-PDU cu serror-status="genErr"
      • altfel agentul trimite GetResponse-PDU
    • GetNextRequest-PDU
      similar cu >GetRequest-PDU dar se face verificarea de ordonare lexicografica a variabilelor
    • GetResponse-PDU
      generat in caz corect de catre agent in urma unui get
    • SetRequest-PDU
      generat de manager si interpretat de agent
      • daca agentul nu gaseste obiectul cerut sau daca obiectul este compus, raspunde cu un GetResponse-PDU identic in care error-status="noSuchName" si "error-index" este este cel al obuiectului cerut initial
      • daca obiectul exista dar nu corespunde ca tip, valoare sau lungime se raspunde cu GetResponse-PDU ce are error-status="badValue" si indexul corespunzator din mesajul de set
      • daca GetResponse-PDU ar depasi limitele se trimite un GetResponse-PDU cu error-status="tooBig"
      • pentru alte motive, de eroare se raspunde cu GetResponse-PDU ce are error-status="genErr"
      • altfel, dupa setarea variabilelor se raspunde cu GetResponse-PDU ce are serror-status="noError"
    • Trap-PDU
      se transmite de la agent catre manager pentru a semnala un eveniment, fiind un serviciu fara livrare garantata; agentulpoate fi configurat astfel incat sa nu transmita trap-urile sau sa le transmita catre anumiti manageri
        evenimente definite
      • coldstart; reinitializarea entitatii cu posibila modificarea a configuratiei agentului sau a protocolului
      • warmstart; reinitializarea entitatii fara modificarea configuratiei agentului si nici a protocolului
      • linkdown
      • linkup
      • authentication failure
      • egpneighbourloss
      • enterprisespecifictrap
  • codificarea mesajelor SNMP
    mesajele sunt formatate in sintaxa abstracta, ASN.1. la nivel aplicatie
    transferul se face printr-o sintaxa de transfer, BER, Basic ENcoding Rules, la nivel prezentare
      fiecare valoare ASN.1 este codificata ca un sir de bytes:
    • tag
    • length
    • value
SNMPv2 (RFCs: 2578, 2579, 2580, 3416, 3417, 3418)
    limitarile SNMPv1 au condus la modificari in SNMPv2 in ceea ce priveste:
  • confinarea codurilor de eroare (SetRequest-PDU) si generarea de exceptii
    SNMPv1SNMPv2
    badValuewrongValue
    badValuewrongEncoding
    badValuewrongType
    badValuewrongLength
    badValueinconsistentValue
    noSuchNamenoAccess
    noSuchNamenotWritable
    noSuchNamenoCreation
    noSuchNameinconsistentName
    genErrresourceUnavailable
    genErrgenErr
    genErrCommitFailed
    genErrundoFailed
  • PDU type
    • manager
        transmite
      • GetRequest-PDU
      • GetNextRequest-PDU
      • GetBulkRequest-PDU
      • SetRequest-PDU
      • InformRequest-PDU
        utilizat intre doi manageri
      • Response-PDU
        receptioneaza
      • Response-PDU
      • SNMPv2-Trap-PDU
    • agent
        transmite
      • Response-PDU
      • SNMPv2-Trap-PDU
        receptioneaza
      • GetRequest-PDU
        la fel ca la SNMPv1 dar apar exceptiile si nu se mai genereaza un raspuns cu eroare:
        • daca numele variabilei nu are un prefix OBJECT IDENTIFIER adecvat se genereaza "noSuchObject"
        • altfel "noSuchInstance"
      • GetNextRequest-PDU
        la fel ca la SNMPv1 dar daca numele variabilei nu precede lexicografic o variabila locala atunci se genereaza un raspuns cu exceptia "endOfMibView"
        se foloseste pentru accesul tablourilor conceptuale
      • GetBulkRequest-PDU
        folosit pentru obtinerea rapida a tablourilor mari
        nu se mai aplica maparea unu-la-unu, cum este cazul pentru GetRequest-PDU, GetNextRequest-PDU, SetRequest-PDU types si Response-PDU rezultant
        pentru primele "non-repetors" variabile se procedeaza ca si in cazul GetNextRequest-PDU iar pentru urmatoarele variabile se aplica "max-repetitions" repetitii pentru a obtine succesorii lexicografici
      • SetRequest-PDU
        procesarea se realizeaza in doua faze
        • validarea variabilelor; pot rezulta doua situatii de eroare; in caz de reusita raspunde cu Response-PDU cu error-status="noErr" si error-index=0
        • alterarea valorilor are loc in caz de reusita a fazei anterioare; daca varibilele nu exista se vor crea cu valorile specificate
  • notificarile
  • performanta
    GetBulkRequest-PDU
  • ierarhia
      exista trei abordari, ale managementului distribuit
    • bazat pe MIB
    • bazat pe script
    • operatii la distanta
  • securitatea
    • SNMPv2, community based
    • SNMPv2, user based
SNMPv3
  • arhitectura (RFC 3411)
    • manager
      o entitate SNMP care contine unul sau mai multe generatoare de comenzi si/sau receptor de notificare
      generator comanda ↔ dispecer
      receptor notificare ↔ dispecer
      originator notificare ↔ dispecer
      dispecer ↔ subsistem procesare mesaje
      subsistem procesare mesaje ↔ subsistem de securitate
      dispecer ↔ protocol transport
    • agent
      o entitate SNMP care contine unul sau mai multei receptori de comenzi si/sau generatori de nottificare
      receptor comanda ↔ MIB
      generator notificare ↔ MIB
      receptor comanda ↔ controlul accesului
      generator notificare ↔ controlul accesului
      receptor comanda ↔ dispecer
      generator notificare ↔ dispecer
      releu proxy ↔ dispecer
      dispecer ↔ subsistem procesare mesaje
      subsistem procesare mesaje ↔ subsistem de securitate
      dispecer ↔ protocol transport
  • aplicatii (RFC 3413)
    • generator comanda
    • receptor comanda
    • generator notificare
    • receptor notificare
    • releu proxy
      • pasarea cererii
      • procesarea unei cereri
      • procesarea unui raspuns
      • procesarea unui PDU clasa interna
      • altele
    • altele
  • motor
      un motor SNMP furnizeaza servicii pentru transmiterea/receptionarea de mesaje, autentificarea si criptarea acestora si controlul accesului la obiectele gestionate
      o entitate SNMP contine un singur motor
    • identificarea motorului (snmpEngineID)
      este un identificator unic si neambiguu intr-un domeniu administrativ
    • componente
      • subsistem procesare mesaje (RFC 3412)
        • model de procesare mesajeSNMPv3
        • model de procesare mesajeSNMPv1
        • model de procesare mesajeSNMPv2c
        • alte modele de procesare mesaje
      • dispecer (RFC 3412)
        un motor SNMP contine un singur dispecer
        dispecerul permite circulatia mesajelor SNMP apartinand mai multor versiuni
        • dispecer PDU
        • dispecer mesaje
        • mapari transport
          transportul SNMP peste alte protocoale (RFC 3417)
          schema URI pentru SNMP (RFC 4088)
      • subsistem de securitate
        • CSM, Community based Security Model
        • USM, User based Security Model (RFC 3414)
          utilizarea AES in USM (RFC 3826)
      • subsistem control acces
        • control acces - VACM, view-based access control model (RFC 3415)
  • accesul la informatia de management (RFC 3416)

0 Comments:

Post a Comment

<< Home