Το SNMP είναι ένα πρωτόκολλο του επιπέδου εφαρμογών του οποίο διευκολύνει την ανταλλαγή πληροφοριών διαχείρισης μεταξύ των συσκευών του δικτύου. Είναι μέρος του TCP/ΙΡ και επιτρέπει στους διαχειριστές να παρακολουθούν την απόδοσή του και να επιλύουν τα προβλήματα που εμφανίζονται
Ένα δίκτυο το οποίο διαχειρίζεται με SNMP έχει τρία βασικά στοιχεία: διαχειριζόμενες συσκευές, πράκτορες (agents) και συστήματα διαχείρισης δικτύου (Network Management Systems- NMS).
Μια διαχειριζόμενη συσκευή είναι ένας κόμβος του δικτύου ο οποίος περιέχει ένα SNMP πράκτορα και βρίσκεται μέσα στο διαχειριζόμενο δίκτυο. Οι διαχειριζόμενες συσκευές συλλέγουν και αποθηκεύουν πληροφορίες και τις διαθέτουν στο σύστημα διαχείρισης του δικτύου με χρήση του SNMP. Τέτοιες συσκευές είναι οι δρομολογητές, οι γέφυρες, οι διακόπτες.
Ένας πράκτορας έχει γνώση των τοπικών πληροφοριών διαχείρισης και τις μετατρέπει σε μορφή που είναι συμβατή με το SNMP. Στη συνέχεια ένα σύστημα διαχείρισης δικτύου εκτελεί εφαρμογές οι οποίες παρακολουθούν και ελέγχουν τις διαχειριζόμενες συσκευές. Το σύστημα διαχείρισης του δικτύου προσφέρει τον κύριο όγκο των πόρων επεξεργασίας που απαιτούνται για τη διαχείριση.
Η αρχιτεκτονική του SNMP φαίνεται στο παρακάτω σχήμα.
Οι διαχειριζόμενες συσκευές ελέγχονται και παρακολουθούνται με τέσσερις βασικές SNMP εντολές: read, write, trap, traversal operations (διαδικασίες εξέτασης).
Οι λειτουργίες εξέτασης χρησιμοποιούνται από το NMS για να καθορίσουν ποιες μεταβλητές υποστηρίζει μία συσκευή και να συλλέξουν σειριακά της πληροφορίες σε πίνακες (τέτοιος πίνακας για παράδειγμα είναι ο πίνακας δρομολόγησης).
Το ΜΙΒ είναι ένα σύνολο ορισμών κάποιων προτυποποιημένων μεταβλητών για τον έλεγχο και την παρακολούθηση των συσκευών του δικτύου με SNMP. Η δομή του μοιάζει με δέντρο. Ο κάθε κόμβος του δέντρου μπορεί να επεκταθεί με την προσθήκη μικρότερων δέντρων. Τα φύλλα του δέντρου αντιπροσωπεύουν τους ορισμούς των μεταβλητών και ονομάζονται αντικείμενα. Στο κάθε αντικείμενο αντιστοιχίζεται ένας μοναδικός αριθμός, που λέγεται object identifier. Το ID αυτό περιγράφει τη διαδρομή που ακολουθείται για το συγκεκριμένο αντικείμενο μέσα στο δέντρο.
Το πρότυπο SNMP καθορίζει μόνο τη μορφή των μηνυμάτων και περιγράφει πως είναι κωδικοποιημένα. Ένα επιπλέον πρότυπο καθορίζει τις ΜΙΒ μεταβλητές. Για τον λόγο αυτό, οι νέες ΜΙΒ μεταβλητές μπορούν να καθοριστούν όποτε χρειάζεται χωρίς αλλαγή του βασικού πρωτοκόλλου. Επίσης ο διαχωρισμός αυτός του επικοινωνιακού πρωτοκόλλου από τον καθορισμό των αντικειμένων επιτρέπει σε ομάδες ατόμων να καθορίζουν ΜΙΒ μεταβλητές ανάλογα με τις ανάγκες τους.
Υπάρχουν πολλές ομάδες ΜΙΒ μεταβλητών. Έτσι υπάρχουν μεταβλητές οι οποίες αντιστοιχούν σε πρωτόκολλα όπως το UDP, ΤCP, ΙΡ και ARP, όπως και μεταβλητές οι οποίες αναφέρονται στο μηχανικό μέρος του δικτύου, δηλαδή στο Ethernet, Token Ring και FDDI. Επίσης υπάρχουν MIBs για συσκευές όπως οι γέφυρες, οι διακόπτες και οι εκτυπωτές.
Υπάρχουν δύο είδη μεταβλητών ΜΙΒ: οι μονόμετρες και οι μεταβλητές σε μορφή πίνακα. Οι βαθμωτές μεταβλητές ορίζουν μόνο μία κατάσταση ενός αντικειμένου ενώ οι μεταβλητές σε μορφή πίνακα ορίζουν πολλαπλές καταστάσεις του ίδιου αντικειμένου οι οποίες ομαδοποιούνται σε ΜΙΒ πίνακες.
Πρόκειται για την αρχική εφαρμογή του πρωτοκόλλου SNMP. Περιγράφεται στο RFC [1] 1157 και λειτουργεί σύμφωνα με τις προδιαγραφές του SMI. Λειτουργεί σε πρωτόκολλα όπως το UDP, ΙΡ. Χρησιμοποιείται ευρύτατα στο Internet για τη διαχείριση του δικτύου.
Με το SMI ορίζονται οι κανόνες για την περιγραφή των πληροφοριών διαχείρισης με χρήση του Abstract Syntax Notation 1(ASN.1) [2] . Το SMI του SNMPv1 καθορίζεται στο RFC 1155. Με αυτό καθορίζονται τρεις προδιαγραφές: οι τύποι δεδομένων του ASN.1, οι συγκεκριμένοι τύποι δεδομένων του SMI και οι πίνακες MIB του SNMP.
Το SMI του SNMPv1 καθορίζει ότι όλα τα διαχειριζόμενα αντικείμενα έχουν ένα υποσύνολο τύπων δεδομένων ASN.1 το οποίο είναι συσχετισμένο με αυτά. Απαιτούνται τρεις τύποι δεδομένων: το όνομα, η σύνταξη και η κωδικοποίηση. Το όνομα χρησιμοποιείται σαν προσδιοριστικό του αντικειμένου (object identifier). Η σύνταξη ορίζει τον τύπο δεδομένων του αντικειμένου (π.χ. ακέραιος). Τα δεδομένα κωδικοποίησης περιγράφουν πως είναι διαμορφωμένες ως σειρά δεδομένων οι πληροφορίες που σχετίζονται με ένα διαχειριζόμενο αντικείμενο, ώστε να μεταδοθούν από το δίκτυο.
Αποτελεί μια εξέλιξη του SNMPv1. Λειτουργεί επίσης με τις προδιαγραφές του SMI και προσφέρει κάποιες βελτιώσεις σε σχέση με το SNMP.
Το SMI ορίζει τους κανόνες για την περιγραφή των πληροφοριών διαχείρισης, χρησιμοποιώντας το ASN.1. To SNMPv2 περιγράφεται στο RFC 1902 και εμπλουτίζει το SMI του SNMPv1 με bit strings, διευθύνσεις δικτύου και μετρητές.
Ενώ το SNMPv1 υποστηρίζει μόνο ΙΡ διευθύνσεις των 32 bits, το SNMPv2 μπορεί να υποστηρίξει και άλλους τύπους διευθύνσεων.
Οι μετρητές είναι μη αρνητικές μεταβλητές οι οποίες αυξάνονται μέχρι να πάρουν μέγιστη τιμή και μετά να ξαναγίνουν μηδέν. Στο SNMPv2 οι μετρητές μπορεί να είναι 32 ή 64 bit.
Στο SNMPv2 ορίζονται επίσης πληροφοριακά υποσύνολα, τα οποία καθορίζουν μια ομάδα από σχετικούς μεταξύ τους ορισμούς. Υπάρχουν τρία τέτοια υποσύνολα: τα ΜΙΒ υποσύνολα, οι προτάσεις συμβατότητας και οι προτάσεις χωρητικότητας. Τα ΜΙΒ υποσύνολα προσφέρουν έναν τρόπο για την περιγραφή των διαχειριζόμενων αντικειμένων. Οι προτάσεις συμβατότητας προσφέρουν έναν τρόπο περιγραφής των διαχειριζόμενων αντικειμένων τα οποία πρέπει να δημιουργηθούν έτσι ώστε να υπάρχει συμβιβασμός με τα υπάρχοντα πρότυπα. Και οι προτάσεις χωρητικότητας χρησιμοποιούνται γα να υποδείξουν το ακριβές επίπεδο υποστήριξης που έχει ένας πράκτορας για μια ΜΙΒ ομάδα. Ένα NMS μπορεί να ρυθμίσει τη συμπεριφορά του ως προς τους πράκτορες σύμφωνα με τις προτάσεις αυτές.
[1] Ακρωνύμιο του Request For Comments. Πρόκειται για μια σειρά γραπτών κειμένων που ξεκίνησε το 1969 και περιγράφει τα πρωτόκολλα του Internet.
[2] Μέθοδος που περιγράφει δομές δεδομένων για την αντιπροσώπευση τους, την κωδικοποίηση και την αποκωδικοποίησή τους, προσφέρει κανόνες για την περιγραφή της δομής τους ανεξάρτητα από της τεχνικές κωδικοποίησης της κάθε μηχανής. Πρόκειται για μία επίσημη γλώσσα διαχείρισης του TCP/IP η οποία χρησιμοποιεί κατανοητή γραφή και μία κωδικοποιημένη αντιπροσώπευση των πληροφοριών που χρησιμοποιούνται στα επικοινωνιακά πρωτόκολλα.