Simple Network Management Protocol

**Sarea kudeatzeko protokolo sinplea** edo **SNMP** (**S**imple **N**etwork **M**anagement **P**rotocol), konputagailu-sareko gailuen artean kudeaketarako informazioa trukatzea ahalbidetzen duen aplikazio-mailako sare protokoloa da. SNMP erabiltzen duten gailuak hainbat dira, esate baterako, routerrak, switchak, zerbitzariak, lan-estazioak, inprimagailuak eta modem-bastidoreak. Kudeatzaileei aukera ematen die sarearen funtzionamendua monitorizatzeko, arazoak bilatu eta konpontzeko eta honen hazkundea planifikatzeko.

SNMP IETFk definitutako Interneteko protokolo-suitearen osagai bat da. Sarea kudeatzeko arau multzo batez osatuta dago; horrez gain, protokoloa aplikatzeko geruza batez, eskemaren datu-base batez eta datu-objektuen multzo batez osatuta dago. SNMPko 3 bertsio daude, baina gehien erabiltzen direnak SNMP 1. bertsioa (SNMPv1) eta SNMP 2. bertsioa (SNMPv2) dira.

## Oinarrizko kontzeptuak 
SNMPren ohiko erabileretan kudeatzaile batek edo gehiagok informatika sare bateko gailuak kudeatzeko eginkizuna dute. Kudeatutako sistema bakoitzean, une oro, *agente* izeneko softwarea duen gailu bat exekutatzen da, kudeatzaileak beharrezkoa duen informazioa SNMP bidez agenteari eskatzen dio eta honek eskatutakoa bueltan bidaltzen dio. SNMP agenteek aldagai gisa jasotzen dituzte kudeatutako sistemei buruzko datuak. Protokoloak aktiboki kudeatzeko lanak egitea ere ahalbidetzen du, hala nola, aldaketa eta konfigurazio berri bat ezartzea, aldagai horiek urrunetik aldatuz. SNMP bidez eskura daitezkeen aldagaiak hierarkietan antolatuta daude. Hierarkia horiek eta beste metadatu batzuk (aldagaiaren mota eta deskribapena, adibidez) kudeaketarako informazio basearen (MIB) arabera deskribatzen dira.

## Kudeaketarako informazio basea (MIB) 
Kudeaketarako informazio base bat (Management Information Base, MIB) hierarkikoki antolatuta dagoen informazio base bat da. MIBa atzikitzeko sare kudeaketa protokolo bat erabiltzen da, adibidez, SNMP. MIBa Abstract Syntax Notation One (ASN.1) notazio estandar eta malguaz deskribatuta dago.

Kudeatutako gailu baten ezaugarri espezifikoen edozein zenbaki kudeatutako objektu bat da. Kudeatutako objektuak, funtsean, aldagarriak diren objektu-instantzia batez edo gehiagoz osatuta daude. Kudeatutako bi objektu mota daude: eskalarrak eta tabularrak. Objektu eskalarrek objektu-instantzia bakar bat definitzen dute; aldiz, objektu tabularrek lotutako objektu-instantzia ugari definitzen dituzte, MIB tauletan taldekatuta daudenak.

Kudeatutako objektu baten adibide bat *atInput* da: objektu instantzia soil bat duen objektu eskalar bat da, zeina router baten interfaze baten sarrerako AppleTalk pakete kopuru osoa adierazten duen balio osoa den.

Objektu-identifikatzaile batek (object ID) MIB hierarkian kudeatutako objektu bat bakarrik identifikatzen du. MIB hierarkia erro anonimoa duen zuhaitz gisa adieraz daiteke, eta mailak hainbat erakundek esleitzen dituzte.
thumb|MIB zuhaitzak hainbat erakundek esleitutako hierarkiak ilustratzen ditu.|erdian|581x581px

Zuhaitzaren goiko aldean dauden objektuen identifikatzaileak erakunde estandar desberdinetakoak dira, eta zuhaitzaren beheko aldean dauden objektuen identifikatzaileak, berriz, erakunde elkartuek jartzen dituzte. Fabrikatzaileek adar pribatuak defini ditzakete, beren produktuen kudeaketarako beharrezkoak diren objektuak barne. Estandarizatu ez diren MIBak esperimentazio-adarrean kokatzen dira.

AtInput administratutako objektua izen honekin identifika daiteke: iso.identified-organization.dod.internet.private.enterprise.cisco.temporary. AppleTalk.atInput edo objektuaren deskribatzaile baliokidea 1.3.6.1.4.1.9.3.3.1.

## Protokoloaren informazioa 
SNMPk Interneteko protokolo-multzoa aplikatzeko geruzan jarduten du (OSI ereduko 7. geruza). SNMP agenteak eskaerak jasotzen ditu UDP 161 portutik. Kudeatzaileak agentearen 161 portura bidal ditzake eskaerak eskuragarri daukan jatorrizko edozein portutatik. Agentearen erantzuna kudeatzailearen jatorrizko portura itzuliko da. Berriz, kudeatzaileak 162. portuan jasotzen ditu jakinarazpenak (Traps eta InformRequests). Agenteak eskura daukan edozein portutatik sor ditzake jakinarazpenak. SNMPv1-ek bost protokolo-datu-unitate (PDU) zentral zehazten ditu.  SNMPv2-n beste bi PDU gehitu ziren, GetBulkRequest eta InformRequest  eta SNMPv3-ra luzatu ziren.

SNMPren PDU guztiak honela eraikitzen dira:

* IP goiburua
* Erkidego-bertsioaren UDP goiburua
* PDU mota
* Eskaera/ID
* Egoera-errorea
* Erroreen indizea
* Aldagaien loturak

## Oinarrizko eragiketak 
Kudeatutako gailuak oinarrizko lau SNMP komando erabiliz monitorizatzen eta kontrolatzen dira: **irakurketa**, **idazketa**, **jakinarazpena (Trap)** eta '*zeharkako eragiketak (*transversal*)**.

**Irakurtzeko komandoa**:NMS batek sareko elementuak monitorizatzeko erabiltzen du. NMSak hainbat aldagai aztertzen ditu, kudeatutako gailuek gordetzen dituztenak.

**Idazteko komandoa:** NMS batek sareko elementuak kontrolatzeko erabiltzen du. NMSak kudeatutako gailuen barruan biltegiratutako aldagaien balioak aldatzen ditu.

**Jakinarazpen-komandoa (Trap):** kudeatutako gailuek NMS bati gertaeren berri modu asinkronoan emateko erabiltzen dute. Gertaera mota bat gertatzen denean, kudeatutako gailu batek jakinarazpen bat bidaltzen du NMSra.

**Zeharkako eragiketak:*' NMS batek kudeatutako gailu batek zer aldagai jasaten dituen zehazteko eta aldagaien tauletan informazioa sekuentzialki biltzeko erabiltzen du, adibidez, bideratze-taula baten informazioa lortzeko.

## SNMP mezuak 
Lehen aipatutako oinarrizko eragiketak egiteko, SNMP protokoloak konexiora bideratu gabeko zerbitzu bat (UDP) erabiltzen du, kudeatzailearen eta agenteen artean mezu-multzo txiki bat (PDUak) bidaltzeko. Horrelako mekanismo baten erabilpenak ziurtatzen du sarea kudeatzeko zereginek ez dutela eraginik izango haren errendimendu orokorrean. Kontrol- eta berreskuratze-mekanismoak erabiltzea saihesten da; hala nola, konexiora bideratutako zerbitzu batenak, adibidez, TCP.

Hauek dira SNMPrako erabili ohi diren portuak:

Kontsultak eta erantzunak bidaltzeko erabiltzne diren paketeak ondoko egitura dute:

* Bertsioa: erabiltzen ari den protokolo-bertsioaren zenbakia (adibidez, 0 SNMPv1-erako, 1 SNMPv2c-rako, 2 SNMPv2p-rako eta SNMPv2u-rako, 3 SNMPv3-rako,...).
* Erkidegoa: autentifikaziorako erabiltzen den izena edo gako-hitza. Oro har, irakurketa-erkidego bat dago, "Public" izenekoa, eta idazketa-erkidego bat, "Private" izenekoa.
* SNMP PDU: protokoloko datuen unitatearen edukia, burutzen den eragiketaren araberakoa.

GetRequest, GetNextRequest, SetRequest eta GetResponse mezuek egitura hau erabiltzen dute SNMP PDU eremuan:

* Erantzun identifikatzailea: NMSk eta agenteak aldi berean eskaerak eta erantzunak bidaltzeko erabiltzen duten zenbaki bat da.

* Egoera eta errore-indizea: GetResponse اmezuetan soilik erabiltzen dira, berriz, kontsultetan beti zero erabiltzen da, GetBulkRequestean izan ezik, honetan *non-repetitions* eta *max-repetitions* eremuak jartzen dira. *Error-index* eremua "errore-egoera" 0 ez denean soilik erabiltzen da eta arazoaren kausari buruzko informazio gehigarria emateko helburua duenean. Errore-egoera"errorearen egoerari buruzko informazioa ematen du. 

* Aldagai estekatuak: aldagaien izenen serie bat da, dagozkien balioekin, ASN.1ean kodetuta.

### GetRequest 
Mezu honen bidez, NMSak agenteari eskatzen dio intereseko objektu baten balioa bere izenaren bidez bidaltzeko. Erantzun gisa agenteak eskaera arrakastatsua izan den ala ez adierazten duen erantzuna bidaliko du. Eskaera zuzena izan bada, erantzun mezuak eskatutako objektuaren balioa jasoko du. Mezu hau objektu baten balioa edo hainbat objekturen balioak jasotzeko erabil daiteke, zerrendak erabiliz.

### GetNextRequets 
Mezu hau objektuen taula bat zeharkatzeko erabiltzen da. Objektu baten balioa jasotzeko GetRequest mezu bat erabili ondoren, GetNextRequest mezua erabil daiteke taularen hurrengo objektuarekin eragiketa bera errepikatzeko. Aurreko eragiketaren emaitza kontsulta berrirako erabiliko da. Horrela, NMS batek luzera aldakorreko taula baten koltsulta egin dezake, dagoen ilara bakoitzerako informazio guztia ateraz.

### SetRequest 
Mezu mota hau NMSk agente baten objektuen balioak aldatzeko erabiltzen du. Eragiketa hori egiteko, NMSk objektuen izenen zerrenda bat bidaltzen dio agenteari, dagozkien balio berriekin.

### GetResponse 
Mezu hau agenteak GetRequest, GetNextRequest, GetBulkRequest edo SetRequest mezu bat erantzuteko erabiltzen du. "Request identifikatzailea" eremuan, erantzuten ari den "request" aren identifikatzaile bera du.

### Trap 
Agenteak Trap bat sortzen du kudeaketa-prozesu bati zenbait baldintza eta egoera-aldaketa jakinarazteko.

### GetBulkRequest 
Mezu hau SNMP protokoloaren 2. eta 3. bertsioa erabiltzen duen NMS batek erabiltzen du. Datu-transmisio luzea eskatzen denean; hala nola, taula luzeak monitorizatzeko. Protokoloaren 1. bertsioan erabilitako GetNextRequest mezuaren antzekoa da, baina GetBulkRequest askoz ere metodo azkarragoa eta eraginkorragoa da, mezu bakar baten bidez taula osoa eskatu daiteke eta.

### InformRequest 
SNMP protokoloaren 2. eta 3. bertsioa erabiltzen duen NMS batek horrelako mezu bat transmititzen dio ezaugarri berdinak dituen beste NMS bati. Kudeatutako objektuei buruzko informazioa jakinarazteko, 4. mailako protokoloa, TCP, erabiliz.

## Erreferentziak 
## Ikus, gainera 
* TCP

## Kanpo estekak 
Sarearteetan eta Konputagailu Sareen ingeniaritzan, Request for Comments (“iritzi/komentario eskaerak” moduan uler daitezkeenak) dokumentuak, RFC akronimoez ezagunak, interneteko teknologien ikerketa, garapen eta metodologia aplikaziora zuzendutako dokumentu sorta bat dira.

* RFC 1155 (STD 16) - TCP/IP sarreetan oinarritutako Informazioaren Egitura eta Kudeaketaren Identifikazioa
* RFC 1156 (H) - TCP/IPn oinarritutako interneten sarea administratzeko oinarrizko informazioa kudeketa
* RFC 1157 (H) - Sarea kudeatzeko protokolo sinplea (SNMP)
* RFC 1213 (STD 17) - TCP/IP sarea internetetan oinarrituta administratzeko oinarrizko informazioa kudeaketa: MIB-II
* RFC 1452 (Informatiboa) -Interneteko sare estandarraren kudeaketa esparruan, 1. bertsioaren eta 2. bertsioaren arteko bizikidetza (zaharkitua RFC 1908 )
* RFC 1901 (Esperimentala) - Komunitatean oinarritutako SNMPv2-ren sarrera
* RFC 1902 (Norma Proiektua) - SNMPv2rako Informazioa Kudeatzeko Egitura (zaharkitua RFC 2578 )
* RFC 1908 (Track Normak) - Interneteko sare estandarraren kudeaketa esparruan, 1. bertsioaren eta 2. bertsioaren arteko bizikidetza
* RFC 2570 (Informatiboa) -Interneteko sare estandarraren kudeaketa-esparruaren 3. bertsioaren hastapenak (zaharkitua RFC 3410 )
* RFC 2578 (STD 58) - Informazioaren egituraren 2. bertsioaren kudeaketa (SMIv2)
* RFC 3410 (Informatiboa) - Internet Kudeatzeko Esparru estandarraren adierazpenen sarrera eta aplikagarritasuna
* RFC 3411  - Simple Network Management Protocol (SNMP)  deskribatzeko arkitektura 
* RFC 3412  - Sareak administratzeko protokolo sinplerako prozesamendu- eta zerbitzu-mezua (SNMP)
* RFC 3413  - (SNMP) Simple Network Management Protocol aplikazioak
* RFC 3414  -Sareak administratzeko protokolo sinplearen (SNMPv3) 3. bertsioaren erabiltzailean (USM) oinarritutako segurtasun-eredua 
* RFC 3415  - Sarea kudeatzeko protokolo sinplearentzako (SNMP) View-Control of Access-ean (VACM) oinarritutako eredua
* RFC 3416  - Sareak administratzeko protokolo sinpleko (SNMP) eragiketen protokoloaren 2. bertsioa
* RFC 3417  - Mappings Garraioa sareak administratzeko protokolo sinplearentzako (SNMP)
* RFC 3418  - Sareak administratzeko protokolo sinplearentzako (SNMP) Management Information Base (MIB) 
* RFC 3430 (Esperimentala) - Transmission Control Protocol-arentzako (TCP) Simple Network Management Protocol (SNMP)  Kartografia Garraioa
* RFC 3584 (BCP 74) - Interneteko sare estandarra kudeatzeko esparruaren 1. bertsioaren, 2. bertsioaren eta 3. bertsioaren arteko bizikidetza
* RFC 3826 (Proposamena) - Advanced Encryption Standard (AES) zifratze-algoritmoa SNMPn, erabiltzailean oinarrituta Segurtasun-eredua
* RFC 5343 (Proposamena) - Simple Network Management Protocol (SNMP) Testuingurua EngineID Aurkikuntza
* RFC 5590 (Proiektua) - Sareak kudeatzeko protokolo sinplerako garraio-azpisistema (SNMP)
* RFC 5591 (Proiektua) - Garraioa Segurtasun-eredua sareak kudeatzeko protokolo sinplerako (SNMP)
* RFC 5592 (Proposamena) - Secure Shell Transport Sareak kudeatzeko protokolo sinplerako eredua (SNMP)
* RFC 5608 (Proposamena) - Urrutiko autentifikazioa Dial-In User Service (RADIUS) Sareak kudeatzeko protokolo sinplerako erabilera (SNMP) Garraio-ereduak.
* RFC 6353 (Proiektua) - Transport Layer Security (TLS) garraio-eredua sareak kudeazteko protokolo sinplea (SNMP)