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
-
SNMPv1 | SNMPv2 |
badValue | wrongValue |
badValue | wrongEncoding |
badValue | wrongType |
badValue | wrongLength |
badValue | inconsistentValue |
noSuchName | noAccess |
noSuchName | notWritable |
noSuchName | noCreation |
noSuchName | inconsistentName |
genErr | resourceUnavailable |
genErr | genErr |
genErr | CommitFailed |
genErr | undoFailed |
- 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