ΜΗΧΑΝΙΣΜΟΙ ΔΙΑΧΕΙΡΙΣΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕΣΩ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ SNMP

useoreganoΑσφάλεια

16 Ιουν 2012 (πριν από 5 χρόνια και 4 μήνες)

850 εμφανίσεις

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣ
ΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ



ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ






ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΜΗΧΑΝΙΣΜΟΙ ΔΙΑΧΕΙΡΙΣΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ
ΣΥΣΤΗΜΑΤΩΝ ΜΕΣΩ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ
SNMP




ΑΛΕΞΙΟΣ

Β.

ΛΕΚΙΔΗΣ







Α.Ε.Μ.

:

6121





ΕΠΙΒΛΕΠΩΝ

ΚΑΘΗΓΗΤΗΣ:

ΜΗΤΡΑΚΟΣ

ΔΗΜΗΤΡΙΟΣ
















Ιούλιος 2011, Θεσσαλονίκη


2



3

Ευχαριστίες

Στο σημείο αυτό θα ήθελα να αποδώσω τις ευχαριστίες μου στα άτομα
που η βοήθεια τους ήταν ανεκτίμητη και χωρίς αυτή δε θα μπορούσε να
προχωρήσει, αλλά και να ολοκληρωθεί αυτή η εργασία. Κατ’ αρχάς θα ήθελα να
εκφράσω την εγκάρδια ευγνωμοσύνη μου στον Αναπληρωτή Καθηγητή του
Τμήματος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του
Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης, κ. Μητράκο Δημήτριο για την
εμπιστοσύνη που μου έδειξε κατά την ανάθεση της εργασίας, καθώς και για την
αμέριστη συμπαράσταση και τη συνεχή καθοδήγησή του κατά τη διάρκεια
εκπόνησης της. Επιπλέον θα ήθελα να ευχαριστήσω την οικογένεια μου για την
υπομονή και κατανόηση της όλο αυτό το χρονικό διάστημα. Τέλος, θα ήθελα να
ευχαριστήσω θερμά την Κατερινοπούλου Αλεξάνδρα για την βοήθεια και
συμπαράσταση της καθ’ όλη τη διάρκεια εκπόνησης της παρούσας
διπλωματικής εργασίας.
















4

Περίληψη

Σε αυτή τη διπλωματική εργασία μελετάται το απλό πρωτόκολλο
διαχείρισης δικτύου (SNMP) , οι διάφορες εκδόσεις του , οι μηχανισμοί
διαχείρισης και ασφάλειας που περιλαμβάνει. Το SNMP δίκτυο, το οποίο
«κατασκευάζεται» με τη χρήση του Apache Server, αποτελείται από δύο
υπολογιστές και μία συσκευή δρομολογητή(router), εν συνέχεια ελέγχεται η
αδιάλειπτη λειτουργία του κεντρικού υπολογιστή(server) και των υπολοίπων
συσκευών στο δίκτυο. Αναπτύσσονται επίσης εφαρμογές του SNMP είτε
χρησιμοποιώντας το πακέτο λογισμικού Net-SNMP είτε γλώσσες
προγραμματισμού, όπως η PHP, η HTML και η Java. Επιπλέον καθιστά δυνατή
την εκμάθηση των δυνατοτήτων που προσφέρει το SNMP στη διαχείριση
δικτύων, μέσω της ανάλυσης των συναρτήσεων και εντολών που
χρησιμοποιούνται από τις παραπάνω εφαρμογές. Τέλος, γίνεται λεπτομερής
αναφορά στη Βάση Δεδομένων Διαχείρισης Πληροφοριών(MIB) και στο τρόπο
που αυτή διευκολύνει τη διαχείριση ενός δικτύου.















5

Abstract

In this thesis we study the simple network management protocol (SNMP),
its various versions, the management and security mechanisms included. The
SNMP network 'constructed' by using the Apache Server, consists of two
computers and a router device (router). Afterwards the uninterrupted operation
of the host (server) and other devices on the network is checked .furthermore
SNMP applications are developed by the usage of software package Net-SNMP or
programming languages such as PHP, HTML and Java. In addition to enabling the
learning opportunities are offered by the SNMP network management, through
analysis of functions and commands used by these applications. Finally, a
detailed report to the Management Information Database (MIB) took part and
the way, with which is easier to manage a network.


6

Περιεχόμενα

Κατάλογος εικόνων ................................................................................................................................ 8
Λίστα πινάκων ...................................................................................................................................... 10
Εισαγωγή .............................................................................................................................................. 11
ΚΕΦΑΛΑΙΟ 1-ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΊΡΙΣΗ ΔΙΚΤΎΩΝ .............................................................. 14
1.1 Εισαγωγικά ................................................................................................................................ 14
1.2 Αρχιτεκτονικές διαχείρισης δικτύου ......................................................................................... 17
1.2.1 Κεντρική αρχιτεκτονική διαχείρισης(centralized) ............................................................... 17
1.2.3 Κατανεμημένη αρχιτεκτονική διαχείρισης(distributed) ......................................................... 20
1.2.4 Σύγκριση αρχιτεκτονικών διαχείρισης δικτύου ........................................................................ 21
1.3 Το Μοντέλο Αναφοράς TCP/IP ............................................................................................... 22
1.4 Πρωτόκολλα Μεταφοράς .......................................................................................................... 24
1.4.1 Πρωτόκολλο Μεταφοράς TCP .............................................................................................. 25
1.4.1.1 Επικεφαλίδα TCP ............................................................................................................ 25
1.4.1.2 Τρόπος λειτουργίας .......................................................................................................... 27
1.4.1.3 Μεταφορά δεδομένων ....................................................................................................... 27
1.4.1.4 Επιβεβαίωση λήψης ......................................................................................................... 27
1.4.1.5 Τριμερής χειραψία (three way handshake) ...................................................................... 28
1.4.2 Πρωτόκολλο Μεταφοράς UDP ............................................................................................. 29
1.4.3 Διαφορές TCP και UDP .......................................................................................................... 31
ΚΕΦΑΛΑΙΟ 2- ΤΟ ΠΡΩΤΟΚΟΛΛΟ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΩΝ SNMP ......................................... 32
2.1 Εισαγωγή στο SNMP .................................................................................................................... 32
2.2 Βάση δεδομένων διαχείρισης πληροφοριών ................................................................................ 34
2.2.1 Δομή Πληροφοριών Διαχείρισης ............................................................................................ 36
2.2.2 Ονοματολογία των OIDs ....................................................................................................... 37
2.2.3 Τύποι των OIDs ...................................................................................................................... 42
2.2.4 Χρήσιμα MIB αρχεία .............................................................................................................. 46
2.2.5 Παραδείγματα πάνω σε αρχεία MIB ...................................................................................... 47
2.3 Αρχιτεκτονική του SNMP ........................................................................................................ 53
2.4 Οι εκδόσεις του SNMP .................................................................................................................. 59

2.4.1 SNMPv1 ................................................................................................................................... 59
2.4.2 SNMPv2 ................................................................................................................................. 60
2.4.2.1 Υπηρεσίες του SNMPv2 .................................................................................................. 62
2.4.2.2 Συμμέτοχος (party) στο SNMPv2 .................................................................................... 63
2.4.2.3 Μορφή του SNMPv2 μηνύματος ..................................................................................... 63
2.4.2.4 Μετάδοση του SNMPv2 μηνύματος ................................................................................ 66
2.4.2.5 Μετάβαση στο SNMPv3 ................................................................................................. 66
2.4.3 SNMPv3 ................................................................................................................................. 67
2.4.3.1 Βελτιώσεις στο θέμα της ασφάλειας στο SNMPv3 ......................................................... 71
ΚΕΦΑΛΑΙΟ 3- ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΠΑΝΩ ΣΤΟ SNMP .................................................. 74
3.1 Ενεργοποίηση και ρύθμιση του SNMP agent ............................................................................... 74
3.2 Προστασία επικοινωνιών SNMP με τη χρήση του IPSec ............................................................ 79
7

3.3 Ρύθμιση του δρομολογητή (router) ............................................................................................... 84
3.4 Το λογισμικό πακέτο Net-SNMP .................................................................................................. 87
3.4.1 Εφαρμογές του Net-SNMP ...................................................................................................... 87
3.4.1.1 Συναρτήσεις Net-SNMP ................................................................................................... 88
3.5 Εγκατάσταση και διαμόρφωση του Apache Web Server ............................................................ 120
3.5.1 Αντιμετώπιση προβλημάτων ................................................................................................ 127
3.6 Εγκατάσταση και διαμόρφωση της PHP ..................................................................................... 129
3.6.1.1 Συναρτήσεις PHP-SNMP πακέτου ................................................................................. 138
3.7 Περαιτέρω παραδείγματα ........................................................................................................ 156
3.7.1 Παράδειγμα με τη χρήση του Net-SNMP ............................................................................. 156
3.7.2 Παράδειγμα με τη χρήση της PHP ....................................................................................... 159
3.7.3 Παράδειγμα με τη χρήση της PHP σε συνδυασμό με την HTML ....................................... 161
3.7.4 Παράδειγμα με τη χρήση της Java ....................................................................................... 164
3.7.5 Παράδειγμα με τη χρήση της Java σε συνδυασμό με την PHP ........................................... 165
Επίλογος ............................................................................................................................................. 169
Βιβλιογραφία ....................................................................................................................................... 171

















8

Κατάλογος εικόνων
1.1 Παράδειγμα διαχείρισης δικτύου .................................................................................................... 16
1.2 Κεντρική αρχιτεκτονική διαχείρισης δικτύου ................................................................................. 18
1.3 Ιεραρχική αρχιτεκτονική διαχείρισης δικτύου ................................................................................ 19
1.4 Κατανεμημένη αρχιτεκτονική διαχείρισης δικτύου ........................................................................ 20
1.5 Πυραμίδα μοντέλου TCP/IP ............................................................................................................ 22
1.6 Παράδειγμα ενθυλάκωσης δεδομένων μέσα σε πακέτο ΙP ............................................................. 24
1.7 Τριμερής χειραψία στο TCP ............................................................................................................ 28
2.1 Παράδειγμα MIB δέντρου ............................................................................................................... 38
2.2 Συχνά χρησιμοποιούμενα υποδέντρα .............................................................................................. 40
2.3 Παράδειγμα του υποδέντρου system ............................................................................................... 41
2.4 Τυπική διαμόρφωση πρωτοκόλλων για το SNMP .......................................................................... 53
2.5 Τρόπος λειτουργίας του SNMP ....................................................................................................... 54
2.6 Μεταφορά μηνυμάτων στο SNMP .................................................................................................. 58
2.7 Αρχιτεκτονική του SNMPv3 ........................................................................................................... 68
2.8 RFCs για το SNMPv3 ..................................................................................................................... 68
2.9 Παραδοσιακός manager στο SNMPv3 ............................................................................................ 70
2.10 Παραδοσιακός agent στο SNMPv3 ............................................................................................... 70
3.1 Παράθυρο Security των ρυθμίσεων SNMP .....................................................................................
78
3.2 Ρυθμίσεις ασφαλούς SNMP3 .......................................................................................................... 83
3.3 Ρύθμιση του SNMP Community στο Server ................................................................................... 85
3.4 Ρύθμιση Virtual Server .................................................................................................................... 86
3.5 Παράδειγμα χρήσης της snmpget .................................................................................................... 89
3.6 Παράδειγμα χρήσης της snmpgetnext ............................................................................................. 90
3.7 Αποτέλεσμα snmpwalk με OID system .......................................................................................... 91
3.8 Αποτέλεσμα αιτήματος στην WAN IP ............................................................................................ 92
3.9 Αποτέλεσμα αιτήματος στο router με OID ifDescr ......................................................................... 93
3.10 Επιλογή –Os για την παράλειψη του αρχικού μέρους του OID .................................................... 94
3.11 Προσπέλαση των MIBs με τη χρήση του SNMPv2 ...................................................................... 94
3.12 Παράδειγμα χρήσης της snmpbulkget με rep=6 ............................................................................ 96
3.13 Παράδειγμα χρήσης της snmpbulkget με το προεπιλεγμένο rep ................................................... 96
3.14 Παράδειγμα χρήσης της snmpbulkwalk στο OID ifDescr ............................................................ 97
3.15 Παράδειγμα χρήσης της snmpset στο αντικείμενο sysContact.0 .................................................. 99
3.16 Επιβεβαίωση λειτουργίας snmpset ................................................................................................ 99
3.17 Παράδειγμα χρήσης της snmptrap
............................................................................................... 104
3.18 Παράδειγμα χρήσης της snmpdelta ............................................................................................. 107
3.19 Παράδειγμα χρήσης της snmpdf ................................................................................................. 108
3.20 Παράδειγμα χρήσης της snmpstatus ............................................................................................ 109
3.21 Παράδειγμα χρήσης της snmptable ............................................................................................. 111
3.22 Παράδειγμα χρήσης της snmpconf .............................................................................................. 113
3.23 Συνέχεια του παραδείγματος χρήσης της snmpconf .................................................................. 114
3.24 Παράδειγμα 1 χρήσης της snmptranslate .................................................................................... 116
3.25 Παράδειγμα 2 χρήσης της snmptranslate .................................................................................... 117
9

3.26 Παράδειγμα 3 χρήσης της snmptranslate .................................................................................... 118
3.27 Παράδειγμα 4 χρήσης της snmptranslate .................................................................................... 119
3.28 Οθόνη εισαγωγής βασικών στοιχείων στο Apache ..................................................................... 120
3.29 Επιβεβαίωση σωστής λειτουργίας Apache .................................................................................. 126
3.30 Οθόνη εγκατάστασης Web Server στην PHP .............................................................................. 129
3.31 Φάκελος εγκατάστασης του Apache ........................................................................................... 130
3.32 Επιλογή των λειτουργιών της PHP .............................................................................................. 131
3.33 Έλεγχος εγκατάστασης της PHP ................................................................................................. 134
3.34 Περιβάλλον της PHP ................................................................................................................... 135
3.35 Παράδειγμα λειτουργίας της snmpget ......................................................................................... 139
3.36 Παράδειγμα λειτουργίας της snmp_get_valueretrieval ............................................................... 141
3.37 Παράδειγμα λειτουργίας της snmpwalk ...................................................................................... 142
3.38 Παράδειγμα λειτουργίας της snmprealwalk ................................................................................ 143
3.39 Παράδειγμα λειτουργίας της snmp_read_mib ............................................................................. 145
3.40 Παράδειγμα λειτουργίας της snmpset ......................................................................................... 147
3.41 Παράδειγμα λειτουργίας της snmp_set_quick_print ................................................................... 151

3.42 Παράδειγμα λειτουργίας της snmp_set_valueretrieval ............................................................... 153
3.43 Παράδειγμα λειτουργίας της snmpgetnext .................................................................................. 154
3.44 snmpwalk στον υπολογιστή-agent του SNMP δικτύου ............................................................... 157
3.45 snmpwalk στον server του SNMP δικτύου ................................................................................. 158
3.46 Παράδειγμα με τη χρήση της snmp2_real_walk ......................................................................... 160
3.47 Παράδειγμα με τη χρήση HTML φόρμας .................................................................................. 161
3.48 Παράδειγμα snmprealwalk με OID hrSystem ............................................................................. 163













10

Λίστα πινάκων
1.1 Επικεφαλίδα TCP ............................................................................................................................ 25
1.2 Καθορισμένοι δείκτες κεφαλίδας ................................................................................................... 26
1.3 Επικεφαλίδα UDP ........................................................................................................................... 30
1.4 Διαφορές TCP-UDP ....................................................................................................................... 31
2.1 Τύποι OIDs ................................................................................................................................. 43-45
2.2 Τα σημαντικότερα RFCs για το πρωτόκολλο SNMP ...................................................................... 59
2.3 Χαρακτηριστικά ασφαλείας του SNMPv1 και του SNMPv2 ......................................................... 61
2.4 Τιμές του πεδίου error-status στο PDU του SNMPv2 ................................................................ 64-65
3.1 Πίνακας τύπων αντικειμένων της snmpset ..................................................................................... 98
3.2 Τιμές παγίδευσης και η επεξήγησή τους ................................................................................ 102-103
3.3 Επιλογές της snmpdelta ................................................................................................................. 106
3.4 Επιλογές της snmptable ................................................................................................................. 110
3.5 Επιλογές της snmptusm ................................................................................................................. 112
3.6 Εντολές της snmpusm ................................................................................................................... 112
3.7 Επιλογές του httpd ......................................................................................................................... 125
3.8 Tag αρχής και τέλους για τον κώδικα PHP ................................................................................... 135
3.9 Παράμετροι της snmp_get_valueretrieval
..................................................................................... 140
3.10 Τύποι αντικειμένων που χρησιμοποιούνται στην snmpset .......................................................... 146
3.11 Ειδικοί τύποι OPAQUE ............................................................................................................... 146














11

Εισαγωγή

Σήμερα, λόγω της ευρέως διαδεδομένης χρήσης των δικτύων, η ανάγκη
για την ανάπτυξη μεγαλύτερων και πολυπλοκότερων δικτύων αυξάνεται όλο
και περισσότερο. Ωστόσο, με την αύξηση της πολυπλοκότητας των δικτύων
αυξάνεται και ο κίνδυνος βλάβης, που μπορεί να συντελέσει στην απώλεια όλου
του δικτύου ή μεγάλου μέρους αυτού. Επιπλέον, αυξάνεται η πιθανότητα να
υπάρξει απώλεια ή ακόμα και υποκλοπή δεδομένων, θέματα τα οποία έχουν
άμεση σχέση με την ασφάλεια του δικτύου. Για τους παραπάνω λόγους
καθίσταται αναγκαία η ύπαρξη σωστής διαχείρισης του δικτύου. Εύχρηστη
λύση του προβλήματος αυτού έδωσε η δημιουργία του Απλού. Πρωτόκολλου
Διαχείρισης Δικτύου (SNMP), το οποίο αν και ήταν απλό αρχικά, σταδιακά
άρχισε να κερδίζει έδαφος σε σχέση με παρόμοια πρωτόκολλα, με αποτέλεσμα
σήμερα να χρησιμοποιείται αποκλειστικά για τη διαχείριση των δικτύων.
Στόχος της παρούσας διπλωματικής εργασίας είναι να μελετηθεί το
SNMP. Αρχικά παρουσιάζεται η εξελικτική του πορεία από την αρχή της
δημιουργίας του μέχρι σήμερα. Εν συνεχεία, παρατίθεται η διαδικασία χρήσης
διαφόρων εφαρμογών με σκοπό την ανταλλαγή μηνυμάτων μεταξύ τριών
συσκευών του δικτύου, το οποίο διαχειριζόμαστε μέσω του SNMP. Οι εφαρμογές
αυτές στηρίζονται στο πακέτο λογισμικού Net-SNMP, το οποίο παρέχει έτοιμες
συναρτήσεις μέσω των οποίων μπορούμε να εκτελέσουμε εντολές με σκοπό την
προσπέλαση σημαντικών δεδομένων της κάθε συσκευής στο δίκτυο. Επιπλέον,
γίνεται περαιτέρω εμβάθυνση στις λειτουργίες του πρωτοκόλλου SNMP,
χρησιμοποιώντας το συνδυασμό των γλωσσών προγραμματισμού PHP, Java και
HTML, έτσι ώστε να μελετήσουμε περαιτέρω συναρτήσεις που μπορούν να
δώσουν χρήσιμα στοιχεία για μια συσκευή. Παρά το γεγονός ότι αρκετές
συναρτήσεις μοιάζουν μεταξύ τους ως προς την λειτουργία του πρωτοκόλλου
SNMP που εκτελούν, όμως δεν έχουν πολλές ομοιότητες γιατί ανήκουν σε
διαφορετικά πακέτα λογισμικού, τα οποία είναι κατασκευασμένα από την
εκάστοτε εταιρεία ανάπτυξης λογισμικού.
Οι συσκευές που χρησιμοποιήθηκαν με στόχο την προσπέλαση των
δεδομένων τους είναι:
1. Ένας κεντρικός υπολογιστής, ο οποίος χρησιμοποιήθηκε ως server του
συστήματος με τη χρήση του προγράμματος Apache Web Server .
2. Ένας υπολογιστής client συνδεδεμένος με LAN(Local Area Network)
σύνδεση με τον server .
3. Ένας δρομολογητής (router).

12

 Αναλυτικότερα, η εν λόγω εργασία αποτελείται από τρία μέρη :

• Το πρώτο μέρος (Κεφάλαιο 1)
Το Κεφάλαιο αυτό βασίζεται στη βιβλιογραφία και αναφέρεται γενικά στη
διαχείριση δικτύων και τις αρχιτεκτονικές διαχείρισης που χρησιμοποιούνται
ευρέως. Επίσης αναλύεται το μοντέλο αναφοράς πάνω στο οποίο στηρίζεται το
πρωτόκολλο SNMP, δηλαδή το TCP/IP (TCP/IP Reference Model). Στη συνέχεια
παρουσιάζονται τα δύο βασικά μοντέλα αναφοράς, το Πρωτόκολλο Έλεγχου
Μετάδοσης (Transmission Control Protocol – TCP) και το Πρωτόκολλο
Αυτόνομων Πακέτων (User Datagram Protocol – UDP). Στο τέλος του
κεφαλαίου παρατίθενται οι διαφορές τους.
• Το δεύτερο μέρος (Κεφάλαιο 2)
Στο Κεφάλαιο αυτό γίνεται πλήρης αναφορά όλων των συστατικών
στοιχείων του SNMP. Ξεκινώντας από την ιστορική αναφορά, προχωρούμε στην
ανάλυση της δομής και λειτουργίας του και συνεχίζουμε με τη Βάση Δεδομένων
Διαχείρισης Πληροφοριών (Management Information Base), στην οποία
υπάρχουν κωδικοποιημένες οι μεταβλητές ή όπως αποκαλούνται αντικείμενα,
από τα οποία προκύπτουν τις ζητούμενες πληροφορίες, όσο αναφορά τη
διαχείριση του δικτύου. Στο τέλος του κεφαλαίου δίνονται κάποια
παραδείγματα πάνω σε αρχεία Βάσεων Δεδομένων Διαχείρισης Πληροφοριών,
ώστε να γίνει κατανοητός ο τρόπος με τον οποίο θα εφαρμόσουμε την
προσπέλαση των αντικειμένων.
• Το τρίτο μέρος (Κεφάλαιο 3)
Στο Κεφάλαιο αυτό παρουσιάζονται οι εφαρμογές που αναπτύχθηκαν πάνω
στο πρωτόκολλο SNMP. Αρχικά παρατίθεται η τρόπος εγκατάστασης και
ρύθμισης της λειτουργίας του SNMP στον server, ο οποίος λειτουργεί με
Windows XP. Εν συνέχεια, δίνεται η ρύθμιση του δρομολογητή(router) και
ακολούθως παρουσιάζεται το πακέτο Net-SNMP. Αφού δοθούν οι συναρτήσεις
του Net-SNMP μαζί με τις εντολές και τα παραδείγματα τους, ακολουθεί η
εγκατάσταση του προγράμματος Apache Server με τις απαραίτητες ρυθμίσεις
του, έτσι ώστε να καταστεί δυνατή η εκτέλεση των προγραμμάτων της
γλώσσας PHP. Εν κατακλείδι για να ολοκληρωθεί ο σκοπός της παρούσας
διπλωματικής παρατίθενται τρία σημαντικά παραδείγματα χρήσης του
πρωτοκόλλου SNMP μαζί με τον κώδικά τους. Το πρώτο παράδειγμα
αναφέρεται στη χρήση του πακέτου Net-SNMP στο δεύτερο υπολογιστή του
δικτύου(client), ο οποίος λειτουργεί σε περιβάλλον Linux (Ubuntu). Το δεύτερο
παράδειγμα αναφέρεται στη γλώσσα προγραμματισμού PHP. Τέλος, το τρίτο
παράδειγμα αναφέρεται στη γλώσσα προγραμματισμού Java και ελέγχει την
13

αδιάλειπτη λειτουργία του server, του δρομολογητή (router), καθώς και κάποιες
εξίσου σημαντικές παραμέτρους τους.

• Επίλογος
Στο μέρος αυτό γίνεται μια γενική ανασκόπηση των συμπερασμάτων που
καταλήξαμε, των αποτελεσμάτων που παρατηρήθηκαν από τη χρήση των
διαφόρων πακέτων SNMP, καθώς επίσης και μια άτυπη σύγκριση της
λειτουργίας αυτών.



14

ΚΕΦΑΛΑΙΟ 1 : ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ

1.1 Εισαγωγικά


Τα τελευταία χρόνια τα δίκτυα υπολογιστών και τα συστήματα
κατανεμημένης επεξεργασίας έχουν γνωρίσει μεγάλη ανάπτυξη. Η τάση στην
ανάπτυξη των συστημάτων αυτών είναι προς την κατεύθυνση μεγαλύτερων και
πολυπλοκότερων δικτύων τα οποία θα υποστηρίζουν περισσότερες εφαρμογές
και περισσότερους χρήστες. Συνεπώς, έχει αυξηθεί σημαντικά η πιθανότητα να
συμβεί κάποιο λάθος και έτσι ολόκληρο το δίκτυο ή ένα μέρος του να τεθεί
εκτός λειτουργίας ή να μειωθεί η αξιοπιστία και η απόδοση του. Ειδικά σε ένα
μεγάλο τοπικό δίκτυο (που μπορεί να έχει έκταση ενός μεγάλου κτιριακού
συγκροτήματος ή ενός ιδρύματος όπως το Πανεπιστήμιο), η συντήρηση και ο
έλεγχος του μπορεί να είναι μια διαδικασία ασύμφορη, επίπονη και χρονοβόρα,
που απαιτεί να ασχοληθούν αρκετοί άνθρωποι.
Οι παραπάνω λόγοι σε συνδυασμό με την πολυπλοκότητα των δικτύων και
την ύπαρξη συσκευών που ανήκουν σε διαφορετικούς κατασκευαστές έχουν
καταστήσει αναγκαία την ανάπτυξη εργαλείων που θα βοηθήσουν στην
αυτόματη και αποτελεσματικότερη διαχείριση των δικτύων. Έτσι έχουν
αναπτυχθεί τα ανάλογα πρωτόκολλα και βάσεις διαχείρισης πληροφοριών
καθώς και το αντίστοιχο λογισμικό το οποίο χρησιμοποιείται, ώστε να είναι
εφικτή η διαχείριση του δικτύου. Με τον όρο «Διαχείριση Δικτύου» εννοούμε τη
διαδικασία του αυτόματου (ή όσο το δυνατόν αυτοματοποιημένου) ελέγχου
ενός οποιουδήποτε δικτύου υπολογιστών, ώστε το κόστος συντήρησης του να
είναι κατά το δυνατόν μικρότερο και η απόδοση του η καλύτερη δυνατή.


Γενικά, οι βασικοί σκοποί της διαχείρισης του δικτύου είναι οι εξής:

 Η ικανοποιητική και αξιόπιστη λειτουργία του ακόμα και κάτω από
συνθήκες
υπερφόρτωσης ή βλάβης, καθώς επίσης και κάτω από αλλαγές της
διαμόρφωσης του δικτύου (όπως μπορεί να είναι η εισαγωγή νέων συσκευών ή
υπηρεσιών).
 Η βελτίωση της απόδοσης του, η οποία σχετίζεται με την ποιότητα και
την ποσότητα των υπηρεσιών που παρέχονται στους χρήστες.

Τα συστήματα διαχείρισης ενός δικτύου αντιγράφουν την γνωστή λογική του
συστήματος πελάτη – εξυπηρετητή , μόνο που στην περίπτωση ενός
συστήματος διαχείρισης ο πελάτης ονομάζεται διαχειριστής και ο εξυπηρετητής
ονομάζεται αντιπρόσωπος.

15

Ένα σύστημα διαχείρισης δικτύου αποτελείται από τα παρακάτω στοιχεία:

1. Το διαχειριστή (manager) που είναι ένα πρόγραμμα (λογισμικό) που
εκτελείται σε κάποιο μηχάνημα του δικτύου και το οποίο χρησιμοποιεί ο
υπεύθυνος συντήρησης του δικτύου (network administrator) με σκοπό
την αποστολή εντολών διαχείρισης. Οι εντολές διαχείρισης μπορούν για
παράδειγμα να αλλάζουν ρυθμίσεις σε μια δικτυακή συσκευή, χωρίς να
χρειάζεται να μετακινηθούμε στο σημείο που βρίσκεται η συσκευή αυτή,
ή ακόμα και να ελέγχει την κατάσταση λειτουργίας ενός τμήματος του
δικτύου από μακριά.
2. Τα διαχειριζόμενα στοιχεία δικτύου (Network Elements - NE), τα οποία
είναι οποιουδήποτε είδους δικτυακές συσκευές τις οποίες μπορούμε να
συναντήσουμε σε ένα τοπικό δίκτυο όπως γέφυρες,
δρομολογητές,(routers), συστήματα συναγερμού και παρόμοιες
συσκευές. Βέβαια πολλές από αυτές έχουν δυνατότητα απομακρυσμένης
διαχείρισης.
3. Τους αντιπροσώπους (Agents) που είναι επίσης προγράμματα λογισμικού,
τα οποία βρίσκονται εγκατεστημένα σε κάθε διαχειριζόμενο στοιχείο
δικτύου, έτσι ώστε να είναι δυνατή η επικοινωνία του με τον διαχειριστή.

Η διαδικασία με την οποία κάθε στοιχείο του δικτύου επικοινωνεί με τον
διαχειριστή είναι η ακόλουθη :

 Αρχικά ο διαχειριστής(manager) στέλνει την εντολή που επιθυμεί,
χρησιμοποιώντας το κατάλληλο πρωτόκολλο διαχείρισης,
συγκεκριμένα στην παρούσα εργασία επιλέγεται το Πρωτόκολλο
SNMP.
 Οι εντολές αυτές λαμβάνονται από τους αντιπροσώπους στους
οποίους απευθύνονται.
 Οι agents εκτελούν τις εντολές αυτές στα διαχειριζόμενα στοιχεία
του δικτύου(ΝΕ), τα οποία ελέγχουν.

4. Τη βάση δεδομένων διαχείρισης πληροφοριών(ΜΙΒ), η οποία είναι μια
βάση δεδομένων που μοιράζονται μεταξύ τους οι διαχειριστές και οι
αντιπρόσωποι. Περιέχει πληροφορίες σχετικά με τα διαχειριζόμενα
στοιχεία του δικτύου(ΝΕ), καθώς επίσης και για τη δομή του
περιεχομένου της διαχειριζόμενης πληροφορίας. Σχεδιαστικά
απεικονίζεται με τη μορφή δέντρου, ενώ τα περιεχόμενά της
παριστάνονται από τα φύλλα του δέντρου.
5. Τα Πρωτόκολλα Διαχείρισης Δικτύου (Network Management Protocols -
NMP) με την βοήθεια των οποίων γίνεται η διαχείριση των ΝΕ καθώς και
η επικοινωνία του διαχειριστή με τους agents. Το πρωτόκολλο που
χρησιμοποιείται ευρύτατα για τη διαχείριση σε TCP/IP δίκτυα είναι το
Simple Network Management Protocol (SNMP) και το οποίο θα
αναλύσουμε στο επόμενο κεφάλαιο. Για δίκτυα τα οποία βασίζονται στο
μοντέλο OSI έχει αναπτυχθεί το πρωτόκολλο διαχείρισης πληροφορίας
(CMIP). Πιο εξελιγμένες εκδόσεις του SNMP αποτελούν η SNMPv2 και η
SNMPv3.

16

**Προσοχή
: Πρέπει να γίνει σαφές ότι δεν μπορούμε να εκτελέσουμε
προγράμματα agents σε όλες τις δικτυακές συσκευές. Αυτό συμβαίνει διότι ο
αντιπρόσωπος είναι ένα πρόγραμμα το οποίο για να εκτελεστεί χρειάζεται και
τις ανάλογες επεξεργαστικές δυνατότητες (επεξεργαστή, μνήμη κ.α) της
αντίστοιχης συσκευής. Υπάρχουν συσκευές που έχουν τέτοιες δυνατότητες και
άρα μπορούν να εκτελέσουν πρόγραμμα agent. Για παράδειγμα όπως έχει
εξηγηθεί παραπάνω, οι δρομολογητές είναι στην πραγματικότητα υπολογιστές,
άρα έχουν δυνατότητα εκτέλεσης προγραμμάτων διαχείρισης. Υπάρχουν όμως
συσκευές όπως τα hubs και τα modems που δεν έχουν ικανότητα επεξεργασίας
και άρα δεν μπορούν να εκτελέσουν πρόγραμμα agent. Για να διαχειριστούμε
στοιχεία δικτύου στα οποία δεν μπορούμε να εκτελέσουμε agents,
χρησιμοποιούμε τους λεγόμενους πληρεξούσιους αντιπροσώπους (proxy
agents). Ένας πληρεξούσιος αντιπρόσωπος δέχεται τις εντολές από ένα
διαχειριστή χρησιμοποιώντας το πρωτόκολλο διαχείρισης που είναι κατανοητό
από αυτόν, αναλαμβάνει όμως να επικοινωνήσει με τη διαχειριζόμενη συσκευή
και να εκτελέσει τις κατάλληλες εντολές διαχείρισης χρησιμοποιώντας το
απλούστερο ενδεχομένως πρωτόκολλο που χρησιμοποιεί η συσκευή αυτή.**


 Παρακάτω παρατίθεται ένα παράδειγμα διαχείρισης με συσκευή που
μπορεί να εκτελέσει πρόγραμμα agent .




Εικόνα 1.1 : Παράδειγμα διαχείρισης δικτύου


17

Επίσης πολύ σημαντικό ρόλο στη διαχείριση ενός δικτύου είναι το
Σύστημα Διαχείρισης Δικτύου (Network Management Station) ή NMS. Πρόκειται
για το σύστημα που επιτελεί τις βασικές λειτουργίες διαχείρισης του δικτύου
στα πολλά και διαφορετικά στοιχεία, που το απαρτίζουν. Δεν είναι απαραίτητα
υπολογιστής, αλλά ένας συνδυασμός hardware και software. To NMS
περιλαμβάνει επίσης και το πολύ σημαντικό Σύστημα Διαχείρισης Βάσης
Δεδομένων (Database Management System) ή DBMS , το οποίο χρησιμοποιούν οι
εφαρμογές για την αποθήκευση των πληροφοριών τους.


1.2 Αρχιτεκτονικές διαχείρισης δικτύου


Για να καταστεί ευκολότερη η διαχείριση των συσκευών που απαρτίζουν
ένα δίκτυο χρησιμοποιούνται διάφορες αρχιτεκτονικές διαχείρισης δικτύου ,
μερικές ( ευρύτερα ανεπτυγμένες ) εκ των οποίων είναι :

 Η Κεντρική
 Η Ιεραρχική

Η Κατανεμημένη



1.2.1 Κεντρική αρχιτεκτονική διαχείρισης(centralized)


Πρόκειται για την πιο απλή και κλασική αρχιτεκτονική διαχείρισης. Η
διαχείριση γίνεται από ένα κεντρικό σταθμό NMS ο οποίος και αναλαμβάνει όλα
τα καθήκοντα διαχείρισης του δικτύου. Η αρχιτεκτονική αυτή είναι συμβατή με
το μοντέλο διαχειριστή–αντιπροσώπου. Μέσω της συγκεκριμένης
αρχιτεκτονικής το NMS επιτελεί τις παρακάτω λειτουργίες:

 Αναλαμβάνει την επικοινωνία με όλα τα διαχειριζόμενα στοιχεία μέσω
των agents και του πρωτοκόλλου διαχείρισης.
 Διαχειρίζεται την αποθήκευση των πληροφοριών διαχείρισης του
δικτύου. Η αποθήκευση μπορεί να γίνεται κεντρικά σε ένα σημείο ή για
λόγους ασφαλείας να είναι κατανεμημένη σε πολλά μηχανήματα, αλλά ο
έλεγχος όπως και όλος ο σχεδιασμός της αρχιτεκτονικής είναι κεντρικός.
 Παρέχει μια ενιαία εικόνα του διαχειριζόμενου δικτύου στον υπεύθυνο
διαχειριστή μέσω κατάλληλου περιβάλλοντος επικοινωνίας με το χρήστη.

18

 Παρακάτω φαίνεται η γενική μορφή της κεντρικής αρχιτεκτονικής
διαχείρισης:




Εικόνα 1.2 - Κεντρική αρχιτεκτονική διαχείρισης δικτύου















19

1.2.2 Ιεραρχική αρχιτεκτονική διαχείρισης(hierarchical)

Στην αρχιτεκτονική αυτή χρησιμοποιούνται πολλοί NMS. Ο ένας από
αυτούς λειτουργεί σαν κεντρικός σταθμός εξυπηρέτησης του δικτύου, ενώ οι
υπόλοιποι σαν πελάτες . Παρόλο που δεν έχουν ξεχωριστό σύστημα διαχείρισης
βάσης δεδομένων (DBMS) χρησιμοποιούν το DBMS του κεντρικού σταθμού και
ο συντονισμός των λειτουργιών τους γίνεται από το διαχειριστή που βρίσκεται
υψηλότερα στην ιεραρχία. Ορισμένες από τις λειτουργίες στο ιεραρχικό
σύστημα διαχείρισης εκτελούνται από τον κεντρικό διαχειριστή, ενώ άλλες
ανατίθενται στους επιμέρους διαχειριστές. Γενικά ο κεντρικός διαχειριστής
συγκεντρώνει μόνο τις σημαντικές πληροφορίες αφήνοντας τις επιμέρους
λεπτομέρειες στους διαχειριστές που βρίσκονται στο χαμηλότερο επίπεδο. Η
επικοινωνία μεταξύ του κεντρικού διαχειριστή και των επιμέρους διαχειριστών
μπορεί να γίνεται είτε μέσω του ίδιου του δικτύου που διαχειρίζονται είτε μέσω
ανεξάρτητου δικτύου διαχείρισης. Στην δεύτερη αυτή περίπτωση, έχουμε
καλύτερη αξιοπιστία , αφού ακόμα και σε περίπτωση σοβαρής βλάβης του
κανονικού δικτύου, θα υπάρχει επικοινωνία μεταξύ των διαχειριστών .



 Όλα τα παραπάνω διακρίνονται συνοπτικά στην παρακάτω εικόνα :



Εικόνα 1.3 - Ιεραρχική αρχιτεκτονική διαχείρισης δικτύου

20

1.2.3 Κατανεμημένη αρχιτεκτονική διαχείρισης(distributed)


Αυτή η αρχιτεκτονική αποτελεί ουσιαστικά συνδυασμό της κεντρικής και της
ιεραρχικής και χρησιμοποιεί πολλές ομότιμες πλατφόρμες διαχείρισης, κάθε μία
από τις οποίες αποτελεί ένα κεντρικό σύστημα. Μια πλατφόρμα είναι
επικεφαλής μιας σειράς από ομότιμα συστήματα διαχείρισης (όπως στην
ιεραρχική αρχιτεκτονική διαχείρισης) , ωστόσο κάθε πλατφόρμα μπορεί να έχει
το δικό της σύστημα διαχείρισης βάσης δεδομένων (DBMS) με στοιχεία που να
αφορούν οποιοδήποτε σημείο του δικτύου. Επειδή η διαχείριση κατανέμεται σε
τοπικούς διαχειριστές έχει γενικά μικρότερες απαιτήσεις σε υλικό και
υπολογιστική ισχύ. Ο καθένας από τους τοπικούς διαχειριστές διαχειρίζεται
μόνο τον τομέα της αρμοδιότητας του και δεν έχει το βάρος της
παρακολούθησης ολόκληρου του δικτύου (αν χρειαστεί πληροφορίες για
περιοχή του δικτύου που δεν του ανήκει μπορεί να τις ζητήσει από τον
αντίστοιχο ομότιμο διαχειριστή).



 Όλα τα παραπάνω διακρίνονται συνοπτικά στην παρακάτω εικόνα :




Εικόνα 1.4 - Κατανεμημένη αρχιτεκτονική διαχείρισης δικτύου

21

1.2.4 Σύγκριση αρχιτεκτονικών διαχείρισης δικτύου


Το κεντρικό σύστημα διαχείρισης δικτύου είναι το παραδοσιακό
σύστημα διαχείρισης , το οποίο υπονοεί κεντρικό έλεγχο, όπου οι σημαντικοί
πόροι βρίσκονται στο κεντρικό σύστημα και οι υπηρεσίες παρέχονται στους
απομακρυσμένους χρήστες. Το σύστημα αυτό δίνει τη δυνατότητα στο
διαχειριστή να έχει τον πλήρη έλεγχο, να εξισορροπεί τους πόρους σε σχέση με
τις ανάγκες και να βελτιστοποιεί τη χρήση των πόρων. Για τα κλασικά
συστήματα διαχείρισης δικτύου ένας κεντρικός υπολογιστής έχει το ρόλο του
σταθμού διαχείρισης του δικτύου, όμως μπορούν πιθανόν να υπάρχουν ένας ή
δύο ακόμη εφεδρικοί σταθμοί διαχείρισης. Τα υπόλοιπα στοιχεία του δικτύου
περιέχουν το λογισμικό του agent και μία βάση πληροφοριών διαχείρισης για να
παρακολουθούνται και να ελέγχονται από το κεντρικό σταθμό διαχείρισης.
Όμως, όταν το δίκτυο είναι μεγάλο σε μέγεθος και έχει μεγάλη κίνηση τότε το
κεντρικό σύστημα διαχείρισης δεν μπορεί να λειτουργήσει ικανοποιητικά. Στη
περίπτωση αυτή μια ιεραρχική ή μια κατανεμημένη αρχιτεκτονική διαχείρισης
μπορεί να λειτουργήσει καλύτερα.
Η ιεραρχική αρχιτεκτονική παρέχει καλύτερο έλεγχο και υψηλότερη
απόδοση στη διαχείριση του δικτύου. Ένα από τα βασικά της πλεονεκτήματα
είναι ότι απομονώνει από το επίπεδο του κεντρικού διαχειριστή τα πρωτόκολλα
και τους διαχειριστές που βρίσκονται στα χαμηλότερα επίπεδα. Αυτό είναι
ιδιαίτερα σημαντικό σε ετερογενή δίκτυα (όπου χρησιμοποιούνται λειτουργικά
συστήματα και πρωτόκολλα διαφορετικά μεταξύ τους αλλά διασυνδεδεμένα)
γιατί έτσι εμφανίζεται στο χρήστη το περιβάλλον διαχείρισης σαν ομοιογενές
ακόμα και αν στην πραγματικότητα δεν είναι.
Τέλος, η κατανεμημένη διαχείριση παρέχει επίσης τη δυνατότητα κεντρικού
ελέγχου καθώς και τα ακόλουθα πλεονεκτήματα:
 ελαχιστοποιείται η επιβάρυνση από την κυκλοφορία διαχείρισης του
δικτύου (η κυκλοφορία γίνεται τοπικά) .
 προσφέρει μεγαλύτερη ευελιξία σε περίπτωση επέκτασης του δικτύου.



22

1.3 Το Μοντέλο Αναφοράς TCP/IP


Το Μοντέλο Αναφοράς TCP/IP (TCP/IP Reference Model) ή Μοντέλο
Αναφοράς Internet (Internet Reference Model), είναι μια συλλογή
πρωτοκόλλων επικοινωνίας στα οποία βασίζεται το Διαδίκτυο , αλλά και μεγάλο
ποσοστό των εμπορικών δικτύων. Η ονομασία του προέρχεται από το όνομα
των δύο βασικών του πρωτοκόλλων του TCP ή αλλιώς Transmission Control
Protocol (Πρωτόκολλο Ελέγχου Μετάδοσης) και του IP ή αλλιώς Internet
Protocol (Πρωτόκολλο Διαδικτύου). Αυτό το Μοντέλο Αναφοράς (TCP/IP) είναι
αποτέλεσμα της έρευνας και ανάπτυξης πρωτοκόλλων που διεξήχθη στο
πειραματικό δίκτυο μεταγωγής πακέτου, το ARPANET, το οποίο
χρηματοδοτήθηκε από το DARPA (Defense Advanced Research Projects Agency)
και γενικά αναφέρεται ως στοίβα πρωτοκόλλων TCP/IP. Αυτή η συλλογή
πρωτοκόλλων, όπως και πολλές άλλες άλλωστε, είναι οργανωμένη σε στρώματα
ή επίπεδα (layers). Το καθένα τους απαντά σε συγκεκριμένα προβλήματα
μεταφοράς δεδομένων και παρέχει μια καθορισμένη υπηρεσία στα υψηλότερα
στρώματα. Τα ανώτερα επίπεδα είναι πιο κοντά στη λογική του χρήστη και
εξετάζουν πιο αφηρημένα δεδομένα, στηριζόμενα σε πρωτόκολλα χαμηλότερων
στρωμάτων για να μεταφράσουν δεδομένα σε μορφές που μπορούν να
διαβιβαστούν με φυσικά μέσα. Το μοντέλο TCP/IP αποτελείται από τα εξής 5
στρώματα (επίπεδα):
1. Φυσικό
2. Διασύνδεσης
3. Διαδικτύου
4. Μεταφοράς
5. Εφαρμογής
 Παρακάτω φαίνεται η σχηματική αναπαράσταση των επιπέδων:

Εικόνα 1.5 – Πυραμίδα μοντέλου TCP/IP
Εφαρμογής
Μεταφοράς
Διαδικτύου
Διασύνδεσης
Φυσικό
23

 Αναλυτικότερα :

1. Το φυσικό επίπεδο (physical layer) καλύπτει τη φυσική διεπαφή μεταξύ
μιας συσκευής μετάδοσης δεδομένων και ενός μέσου μετάδοσης ή ενός
δικτύου.
2. Το επίπεδο διασύνδεσης (link layer) σχετίζεται με την ανταλλαγή
δεδομένων μεταξύ ενός τερματικού συστήματος και του δικτύου με το
οποίο είναι συνδεδεμένο. Χρησιμοποιείται επίσης για την πρόσβαση και
δρομολόγηση δεδομένων μέσω ενός δικτύου μεταξύ δύο τερματικών
συστημάτων, που είναι συνδεδεμένα στο ίδιο δίκτυο. Στο επίπεδο αυτό
τα δεδομένα οργανώνονται σε πλαίσια (frames) .

3. Το επίπεδο διαδικτύου (internet layer) έχει σαν αρμοδιότητα να
επιτρέπει σε ένα τερματικό σύστημα να εισάγει τα πακέτα του σε
οποιοδήποτε δίκτυο και αυτά να ταξιδεύουν ανεξάρτητα από τον
προορισμό τους, ο οποίος πιθανώς να βρίσκεται σε ένα άλλο δίκτυο. Τα
πακέτα δεν φτάνουν συνήθως με την σειρά με την οποία στάλθηκαν.
Υπάρχει μια συγκεκριμένη μορφή των πακέτων καθώς και ένα
συγκεκριμένο πρωτόκολλο που ονομάζεται Πρωτόκολλο Διαδικτύου
(Internet Protocol – IP) ,στόχος του οποίου είναι η παράδοση των
πακέτων στον τελικό προορισμό τους . Πρωταρχική του δουλειά είναι η
δρομολόγηση των πακέτων και η αποφυγή συμφόρησης. Το πρωτόκολλο
είναι υλοποιημένο στους υπολογιστές, αλλά και στους δρομολογητές,
δηλαδή τα λεγόμενα router. Οι τελευταίοι είναι υπεύθυνοι για τη σύνδεση
δύο δικτύων και την αναμετάδοση δεδομένων από το ένα στο άλλο
(δηλαδή από την πηγή στον προορισμό).

4. Το επίπεδο μεταφοράς (transport layer) είναι υπεύθυνο για την αξιόπιστη
ανταλλαγή δεδομένων. Παρέχει επίσης την υπηρεσία σύνδεσης των
εφαρμογών μεταξύ τους. Σε αυτό το επίπεδο υπάρχουν δύο πρωτόκολλα
μεταφοράς από το ένα άκρο στο άλλο (end-to-end). Το πρώτο είναι το
Πρωτόκολλο Έλεγχου Μετάδοσης (Transmission Control Protocol – TCP)
και το δεύτερο το Πρωτόκολλο Αυτόνομων Πακέτων (User Datagram
Protocol – UDP) .

5. Το επίπεδο εφαρμογής (application layer) περιέχει τη λογική που
απαιτείται για την υποστήριξη των διαφόρων εφαρμογών του χρήστη.
Για κάθε διαφορετικό τύπο εφαρμογής χρειάζεται μία ξεχωριστή μονάδα,
που είναι ειδική σε αυτή την εφαρμογή.


24

 Στην παρακάτω εικόνα απεικονίζεται η ενθυλάκωση των δεδομένων του
επιπέδου εφαρμογής, κατεβαίνοντας στα επίπεδα του μοντέλου TCP/IP.


Εικόνα 1.6 - Παράδειγμα ενθυλάκωσης δεδομένων μέσα σε πακέτο IP

1.4 Πρωτόκολλα Μεταφοράς


Το πρωτόκολλο μεταφοράς παρέχει μία από άκρη σε άκρη(end-to-end)
υπηρεσία μεταφοράς δεδομένων που απομονώνει τα πρωτόκολλα ανωτέρου
επιπέδου από τα χαρακτηριστικά των δικτύων. Ένα πρωτόκολλο μπορεί , είτε
να λειτουργεί με σύνδεση (connection-oriented), όπως το TCP, είτε χωρίς αυτή
(connectionless), όπως το UDP. Σε μια αρχιτεκτονική πρωτοκόλλου, το
πρωτόκολλο μεταφοράς μπαίνει πάνω από το επίπεδο διαδικτύου, το οποίο
παρέχει τις σχετικές με το δίκτυο υπηρεσίες , και κάτω από το επίπεδο
εφαρμογής. Το πρωτόκολλο μεταφοράς παρέχει στους χρήστες υπηρεσίες
μεταφοράς , οι οποίες λειτουργούν μέσω μιας τοπικής οντότητας μεταφοράς
που έρχεται σε επαφή με κάποια απομακρυσμένη, χρησιμοποιώντας τις
υπηρεσίες κάποιου χαμηλότερου επιπέδου. Η γενική υπηρεσία που παρέχεται
από ένα πρωτόκολλο μεταφοράς είναι η μεταφορά δεδομένων κατά τρόπο που
να προφυλάσσει το χρήστη από τις λεπτομέρειες των υποκείμενων επιπέδων.


25

1.4.1 Πρωτόκολλο Μεταφοράς TCP


Το Πρωτόκολλο Έλεγχου Μετάδοσης (Transmission Control Protocol –
TCP) είναι ένα από τα κυριότερα πρωτόκολλα του Μοντέλου Αναφοράς TCP/IP .
Επιτρέπει σε μία ροή byte, που προέρχεται από ένα σύστημα, να παραδίδεται
απαλλαγμένη από σφάλματα σε οποιοδήποτε άλλο σύστημα στο διαδίκτυο. Με
αυτό τον τρόπο εξασφαλίζεται η σωστή και αξιόπιστη αποστολή και λήψη των
δεδομένων. Η λειτουργία του βασίζεται στον τεμαχισμό της εισερχόμενης ροής
byte σε διακριτά μηνύματα και στη μεταβίβαση του καθενός από αυτά στο
επίπεδο του διαδικτύου. Στον προορισμό, η αντίστοιχη διεργασία παραλήπτης
του TCP συναρμολογεί ξανά τα μηνύματα που λαμβάνει σε μία ροή byte εξόδου.
Το TCP χειρίζεται και τον έλεγχο ροής (flow control), εξασφαλίζοντας ότι σε
περίπτωση που υπάρχει ένας αργός παραλήπτης, δε θα δεχθεί καταιγισμό
μηνυμάτων από ένα γρήγορο αποστολέα. Συνοπτικά , δηλαδή το TCP
καταφέρνει χρησιμοποιώντας την αναξιόπιστη υπηρεσία αποστολής
μηνυμάτων του IP να παρέχει μία αξιόπιστη υπηρεσία παράδοσης δεδομένων
στα διάφορα προγράμματα-εφαρμογές. Επίσης χωρίς να υπερφορτώνει τα
υποκείμενα δίκτυα και τους δρομολογητές παρέχει αποδοτική μεταφορά
δεδομένων, αντισταθμίζοντας τις απώλειες ή τις καθυστερήσεις ενός δικτύου.

1.4.1.1 Επικεφαλίδα TCP


Το TCP χρησιμοποιεί ένα μοναδικό τύπο μονάδας δεδομένων μεταφοράς,
ο οποίος ονομάζεται τμήμα TCP (segment). Ένα τμήμα TCP αποτελείται από ένα
τμήμα επικεφαλίδας(TCP header) και ένα τμήμα δεδομένων(data segment).Η
επικεφαλίδα παρέχει συγκεκριμένες πληροφορίες για το πρωτόκολλο TCP , το
ελάχιστο μέγεθος είναι 5 λέξεις(words) και το μέγιστο 15 λέξεις(words)
(απουσία ή παρουσία όλων του πεδίου Options αντίστοιχα).
 Παρακάτω παρουσιάζεται η επικεφαλίδα του TCP και στη συνέχεια
δίνονται διευκρινίσεις σχετικά με τα επιμέρους πεδία της:


+
Bits 0 - 3
4 - 9
10 - 15
16 - 31
0
Source Port

Destination Port


32
Sequence Number


64
Acknowledgement Number


96

Data Offset

Reserved

Flags


Window

12
Checksum

Urgent Pointer


160
Options


60/192+
Data





Πίνακας 1.1 - Επικεφαλίδα TCP


26

 Επεξήγηση δεδομένων του παραπάνω πίνακα :
• Source port (θύρα πηγής)
Αυτό το πεδίο προσδιορίζει την port (θύρα) του αποστολέα.
• Destination Port (θύρα προορισμού)
Αυτό το πεδίο προσδιορίζει την port (θύρα) του παραλήπτη.
• Sequence Number (αριθμός ακολουθίας)
Ο Sequence Number έχει διπλό ρόλο:


Αν ο δείκτης SYN (SYN flag) έχει τεθεί ίσος με το ένα (SYN = 1), αυτός
είναι ο αρχικός αριθμός ακολουθίας (Initial Sequence Number– ISN). Τότε,
ο αριθμός ακολουθίας του πρώτου byte δεδομένων είναι ο αρχικός
αριθμός ακολουθίας συν ένα (ISN + 1).

Αν ο δείκτης SYN έχει τεθεί ίσος με το μηδέν (SYN = 0), αυτός είναι ο
αριθμός ακολουθίας του πρώτου byte δεδομένων σε αυτό το τμήμα.

• Acknowledgement number (αριθμός επιβεβαίωσης λήψης)
Όταν υπάρχει η ACK flag η τιμή αυτού του πεδίου δείχνει τον επόμενο
Sequence Number (αριθμό ακολουθίας) που αναμένει ο αποστολέας.
• Data offset (αρχική θέση δεδομένων)
Είναι ο αριθμός από λέξεις(words) μεγέθους 32 bit στην επικεφαλίδα TCP
(TCP header). Καθορίζει το μέγεθος της επικεφαλίδας (πολλαπλάσιο του
32) και επομένως δείχνει και την αρχή των δεδομένων.
• Reserved (Εφεδρικό)
Πεδίο 6 bit κρατημένων για μελλοντική χρήση. Η τιμή των bit πρέπει να
είναι 0.
• Flags (δείκτες)
Περιέχει 6 bit σημαίες και είναι επίσης γνωστό ως bits ελέγχου(Control
bits). Τα bit σημαίες παρουσιάζονται στον παρακάτω πίνακα:

Σημαία
Σημασία
Προέλευση ονομασίας

URG
Το πεδίο
urgent

pointer

είναι σημαντικό

URGent

ACK
Το πεδίο επιβεβαίωσης είναι σημαντικό

ACK
nowledgment

PSH
Λειτουργία ώθησης

P
u
SH

RST
Αναρρύθμιση σύνδεσης

R
e
S
e
T

SYN
Συγχρονισμός αριθμών ακολουθίας

SYN
chronize

FIN
Ο αποστολέας δεν στέλνει άλλα δεδομένα

FIN

(=τέλος)

Πίνακας 1.2 - Καθορισμένοι δείκτες της κεφαλίδας
• Window (Παράθυρο)
Το μέγιστο μέγεθός του είναι 16bit και ορίζει το μέγεθος του
λαμβανόμενου παραθύρου (received window). Περιέχει δηλαδή τον
αριθμό των bytes δεδομένων, ξεκινώντας από το byte το οποίο ορίζει το
πεδίο επιβεβαίωσης λήψης (ACK), που ο αποστολέας επιθυμεί να δεχτεί.
• Checksum (Άθροισμα ελέγχου)
Το πεδίο Checksum μεγέθους 16 bit χρησιμοποιείται για έλεγχο λαθών
στην επικεφαλίδα και στα δεδομένα.


27

• Options (Επιλογές)
Μεταβλητή, η οποία καθορίζει ειδικές επιλεγόμενες ρυθμίσεις και μπορεί
να καταλάβει χώρο στο τέλος της επικεφαλίδας TCP (TCP header). Το
μήκος τους είναι πολλαπλάσιο των 8 bit και το περιεχόμενο της
επικεφαλίδας μετά την τελευταία επιλογή πρέπει να γεμίζει (πχ. με
μηδενικά - 0). Με αυτόν τον τρόπο το data offset θα δείχνει σωστά την
αρχή των δεδομένων.
• Urgent pointer (δείκτης επείγοντος)
Αποτελείται από 16 bit και δείχνει το τελευταίο byte σε μία ακολουθία
από επείγοντα δεδομένα. Επιτρέπει στο δέκτη να γνωρίζει πόσα
επείγοντα δεδομένα έρχονται.

1.4.1.2 Τρόπος λειτουργίας


Ο τρόπος με τον οποίο λειτουργεί το TCP βασίζεται στη μεταφορά
δεδομένων μέσω σύνδεσης, η οποία είναι οριοθετημένη. Δηλαδή έχει ένα σήμα
έναρξης και ένα αντίστοιχο διακοπής.

1.4.1.3 Μεταφορά δεδομένων


Το TCP εξασκεί τη δική του κρίση ως προς το πότε να κατασκευάσει ένα
τμήμα για μετάδοση και πότε να ανακοινώσει τα ληφθέντα δεδομένα στο
χρήστη. Επίσης ο χρήστης μπορεί να καθορίσει ένα τμήμα δεδομένων ως
επείγον. Σε αυτή την περίπτωση, το TCP πριν το στείλει στη συνηθισμένη ροή
δεδομένων καταχωρεί ένα δείκτη επείγον στο τέλος του τμήματος. Ο χρήστης
ειδοποιείται κατά τη λήψη επειγόντων δεδομένων. Σε περίπτωση που κατά τη
λήψη λόγω σφάλματος φτάσει ένα τμήμα το οποίο δεν προορίζεται για τη
συγκεκριμένη σύνδεση, τότε τίθεται ο δείκτης RST σε ένα εξερχόμενο τμήμα και
ρυθμίζεται ξανά από την αρχή η σύνδεση.
1.4.1.4 Επιβεβαίωση λήψης


Το TCP έχει καθορισμένη Πολιτική Επιβεβαίωσης Λήψης , σύμφωνα με την
οποία σε περίπτωση σωστής λήψης υπάρχουν δύο πολιτικές:
i. Η άμεση, σύμφωνα με την οποία όταν γίνουν αποδεκτά τα δεδομένα
μεταδίδεται άμεσα ένα κενό τμήμα που περιέχει τον κατάλληλο αριθμό
επιβεβαίωσης λήψης (ACKnowledgment).
ii. Η αθροιστική, σύμφωνα με την οποία αφού γίνουν αποδεκτά τα δεδομένα
καταγράφεται η ανάγκη επιβεβαίωσης λήψης , δηλαδή αναμένεται ένα
εξερχόμενο τμήμα με δεδομένα πάνω στο οποίο θα καταγραφεί η
28

επιβεβαίωση λήψης. Όταν το TCP στέλνει δεδομένα, ξεκινά ένα
χρονόμετρο. Αν ο χρόνος λήξει πριν έρθει η επιβεβαίωση, ο αποστολέας
μεταδίδει ξανά τα δεδομένα. Η καθυστέρηση μέχρι να φτάσουν τα
δεδομένα σε έναν προορισμό.

1.4.1.5 Τριμερής χειραψία (three way handshake)


Για να γίνει μια σύνδεση στο TCP ανάμεσα σε πρόγραμμα-πελάτη(client) και
ένα κεντρικός υπολογιστή(server), λαμβάνει χώρα μια "χειραψία" ανάμεσα τους ,
το λεγόμενο three-way handshake . Πριν όμως γίνει αυτό χρειάζεται να
δεσμεύσει ο server μία θύρα(port), ώστε να δέχεται συνδέσεις. Στη συνέχεια
μπορεί ο client να ανοίξει τη σύνδεση. Εφόσον έχει γίνει αυτό ακολουθούνται τα
εξής βήματα που καθορίζουν και το three-way handshake:
1. Αρχικά αποστέλλεται ένα πακέτο με το SYN bit ενεργοποιημένο. Ο client
θέτει το πεδίο αριθμού ακολουθίας στην TCP επικεφαλίδα (TCP header)
στον αρχικό αριθμό ακολουθίας του, ISN (Initial Sequence Number).
2. Ο server στο άλλο άκρο απαντάει:
 Είτε με SYN (για να στείλει και το δικό του ISN) και ACK (που έχει
το ISN+1 του client) του πρώτου πακέτου του client για να
αποδεχτεί τη σύνδεση.
 Είτε με SYN/RST για να ενημερώσει τον client ότι αρνείται τη
σύνδεση και η διαδικασία σταματά.
3. Όταν ο client πάρει ένα πακέτο SYN/ACK απαντάει, αυτή τη φορά, με ένα
πακέτο ACK. Σε αυτό το σημείο, τα δύο μέρη συνδέονται και μπορούν
πλέον να σταλούν τα δεδομένα.
 Παρακάτω παρουσιάζεται η διαδικασία που μόλις αναφέρθηκε:

Εικόνα 1.7 - Τριμερής χειραψία στο TCP
29

1.4.2 Πρωτόκολλο Μεταφοράς UDP



Το Πρωτόκολλο Αυτόνομων Πακέτων ή User Datagram Protocol(UDP)
είναι το άλλο βασικό πρωτόκολλο που χρησιμοποιείται στο Διαδίκτυο. Η κύρια
διαφορά του με το TCP είναι ότι δεν εγγυάται αξιόπιστη επικοινωνία. Αυτό
συμβαίνει κυρίως γιατί τα πακέτα που αποστέλλονται από ένα υπολογιστή σε
ένα άλλο μπορεί να φτάσουν με λανθασμένη σειρά ή σε χειρότερη περίπτωση ,
παραδείγματος χάριν όταν υπάρχει μεγάλο φορτίο στο δίκτυο , να μη φτάσουν
καθόλου. Ο πιο σημαντικός λόγος για τον οποίο έχει μεγάλη απήχηση είναι ότι
είναι γρήγορο και αποτελεσματικό, κυρίως λόγω του γεγονότος ότι έχει πολύ
απλή δομή. Δεν έχει πάρα πολλές διαφορές από το IP, αφού στην ουσία το
χρησιμοποιεί εξολοκλήρου και απλά προσθέτει μία δυνατότητα
διευθυνσιοδότησης κυρίως στο IP.
Ένα σημαντικό στοιχείο του είναι ότι ορίζει το πακέτο IP ως πακέτο
διαδικτύου. Το αυτοδύναμο πακέτο αρχίζει με μία επικεφαλίδα και ακολουθεί
μία περιοχή δεδομένων. Η ποσότητα των δεδομένων που μεταφέρεται δεν είναι
σταθερή, αλλά καθορίζεται από την εκάστοτε εφαρμογή. Η δυνατότητα του να
μπορεί να στέλνει διαφορετικού μήκους αυτοδύναμα πακέτα είναι το
χαρακτηριστικό που το κάνει εύκολα προσαρμόσιμο σε διαφορετικές
εφαρμογές. Μια ευρεία χρήση του είναι στις εφαρμογές video και εικόνας, γιατί
απαιτείται ταχύτητα στην παράδοση των πακέτων, ώστε να μην υπάρχει
διακοπή στη ροή του ήχου ή της εικόνας. Σε περίπτωση που χαθεί κάποιο
πακέτο αυτές οι εφαρμογές διαθέτουν ειδικούς μηχανισμούς μέσω παρεμβολής
ή ακόμα και διόρθωσης, ώστε να μη παρατηρηθεί αλλοίωση στην τελική
πληροφορία.


Επικεφαλίδα UDP


Όπως προαναφέρθηκε το UDP είναι πολύ πιο απλό στη λειτουργία του από
το TCP. Συνεπώς και η δομή του UDP πακέτου είναι πολύ πιο απλή. Η
επικεφαλίδα του περιλαμβάνει μόνο τέσσερα πεδία, από τα οποία τα δύο είναι
προαιρετικά.


30

 Παρακάτω παρατίθεται η γενική μορφή της κεφαλίδας του UDP και
ακολούθως επεξηγούνται τα επιμέρους πεδία της. Τα πεδία που είναι με
σκούρο μπλε χρώμα είναι τα προαιρετικά, ενώ τα υπόλοιπα
υποχρεωτικά.

+
Bits 0 - 15
16 - 31
0
Source Port

Destination Port

32
Length

Checksum

64

Data

Πίνακας 1.3 - Επικεφαλίδα UDP

 Επεξήγηση δεδομένων του παραπάνω πίνακα :

• Source port (θύρα πηγής)
Η θύρα του αποστολέα από την οποία προήλθε το πακέτο. Εάν ο
παραλήπτης επιθυμεί απαντάει σε περίπτωση που θελήσει σε αυτή τη
θύρα. Το συγκεκριμένο πεδίο δεν είναι υποχρεωτικό και στις
περιπτώσεις που δεν χρησιμοποιείται θα πρέπει να έχει την τιμή μηδέν.


• Destination port (θύρα προορισμού)
Η θύρα του παραλήπτη στην οποία θα πρέπει να παραδοθεί το πακέτο.


• Length (Μήκος)
Το πεδίο αυτό έχει μέγεθος 16-bit και περιλαμβάνει το μέγεθος του
πακέτου σε bytes. Το μικρότερο δυνατό μέγεθος είναι 8 bytes, αφού η
κεφαλίδα αυτή καθ' αυτή καταλαμβάνει τόσο χώρο. Θεωρητικά, το
μέγεθος του UDP πακέτου δεν μπορεί να ξεπερνάει τα 65,527 bytes, αλλά
πρακτικά το όριο μειώνεται στα 65,507 bytes λόγω διαφόρων
περιορισμών εισαγόμενων από το πρωτόκολλο IPv4 στο επίπεδο
δικτύου.


• Checksum (Άθροισμα ελέγχου)
Ένα πεδίο 16-bit το οποίο χρησιμοποιείται για επαλήθευση της
ορθότητας του πακέτου στο σύνολό του, δηλαδή τόσο της κεφαλίδας όσο
και των δεδομένων. Στην συνέχεια το πακέτο UDP περνάει στο επίπεδο
δικτύου, το οποίο αναλαμβάνει τη μετάδοσή του στο δίκτυο
υπολογιστών. Το επίπεδο αυτό τοποθετεί μία ακόμη κεφαλίδα στο
πακέτο, η οποία διαφέρει ανάλογα με την έκδοση του πρωτοκόλλου που
χρησιμοποιείται στο επίπεδο δικτύου (IPv4 ή IPv6).

31

1.4.3 Διαφορές TCP και UDP


Τα δύο πρωτόκολλα διαφέρουν πλήρως, κυρίως λόγω της λειτουργίας τους.
Το TCP στηρίζεται στη δημιουργία συνδέσεων μεταξύ αποστολέα και
παραλήπτη, ενώ στο UDP δεν υπάρχει καθόλου η έννοια της σύνδεσης και κάθε
πακέτο διανύει το δίκτυο αυτόνομα και όχι σαν ένα σύνολο πακέτων σε μια
σύνδεση. Γι’ αυτό το λόγο η εστίαση δεν γίνεται στη σύγκριση μεταξύ των δύο
πρωτοκόλλων, αλλά στις διαφορές τους.
 Στον παρακάτω πίνακα παρουσιάζονται οι τρεις βασικότερες διαφορές
τους όπως αναφέρθηκαν παραπάνω.
TCP
UDP
Αξιόπιστο

Αναξιόπιστο

Σειρά πακέτων

Μη ύπαρξη σειράς

Βαρύ και σύνθετο

Ελαφρύ και απλό

Πίνακας 1.4- Διαφορές TCP-UDP

Λόγω αυτών των διαφορών είναι σημαντικό να τονιστεί ότι το πρωτόκολλο που
θα επιλεγεί για τη μεταφορά των δεδομένων από τον αποστολέα στον
παραλήπτη είναι καθαρά θέμα της εκάστοτε εφαρμογής.

32

ΚΕΦΑΛΑΙΟ 2 : ΤΟ ΠΡΩΤΟΚΟΛΛΟ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΩΝ SNMP

2.1 Εισαγωγή στο SNMP



Το πρωτόκολλο SNMP δημιουργήθηκε το 1988 σαν μια βραχύχρονη λύση
στο πρόβλημα της διαχείρισης των διαφόρων οντοτήτων σε διάφορα δίκτυα
και ειδικά στο Internet. Πρόκειται για ένα απλό πρωτόκολλο διαχείρισης
δικτύων, το οποίο χρησιμοποιείται για τη διαχείριση μικρών, αλλά και
μεγαλύτερου μεγέθους δικτύων. Το προσωνύμιο απλό, του αποδόθηκε επειδή
είναι εύκολο στη χρήση, καθώς αποτελείται από εντολές, το σύνολο των οποίων
έχουν τη μορφή αίτησης-απάντησης. Ακόμα και σε πρωταρχικό στάδιο το SNMP
είχε πλήρη απήχηση σε όλο τον κόσμο. Προήλθε σαν ένα συμπληρωματικό
πρωτόκολλο του SGMP (Simple Gateway Management Protocol) και
προοριζόταν για αντικατάσταση μιας λύση βασισμένη στην αρχιτεκτονική
CMIS/CMIP (Common Management Information Service/Protocol). Τελικά όμως,
αυτή η λύση δεν είχε την ίδια απήχηση με την αντίστοιχη του SNMP.
Το SNMP είναι σχεδιασμένο σαν πρωτόκολλο επιπέδου εφαρμογής ως
μέρος της TCP/IP στοίβας πρωτοκόλλων και χρησιμοποιεί UDP (User Datagram
Protocol) πακέτα για την ανταλλαγή πληροφοριών μεταξύ των συσκευών που
διαχειρίζεται. Οι πληροφορίες αυτές αναφέρονται σε διάφορα στοιχεία των
συσκευών, όπως: κατάσταση στοιχείων συσκευής, υπερφόρτωση συσκευής,
σφάλματα και άλλες χρήσιμες πληροφορίες. Ο λόγος για τον οποίο, εξαρχής δεν
χρησιμοποιήθηκε το TCP είναι ότι το UDP εκτιμήθηκε ότι λειτουργεί καλύτερα
σε μεγάλα δίκτυα ή δίκτυα που μπορούν να υπάρξουν απώλειες δεδομένων.
Είναι γεγονός ότι το TCP μπορεί να λειτουργήσει με μεγάλες ποσότητες
δεδομένων, γιατί μπορεί να τα μεταφέρει πολύ εύκολα. Σε περιπτώσεις
κατάρρευσης του δικτύου ή γενικά βλάβης παρατηρήθηκε ότι το UDP θα κάνει
τη δουλειά του σε αντίθεση με το TCP. Για την ακρίβεια το TCP αρχίζει να χάνει
την αξιοπιστία του και να μη δουλεύει πλήρως σε περίπου 5% απώλειες
συνολικών πακέτων και περίπου σε περιπτώσεις 33% γίνεται πλήρως άχρηστο,
ενώ σε αντίθεση το UDP λειτουργεί σωστά (αν και μπορεί να αργήσει μερικές
φορές στη μεταφορά πακέτων). Γι ‘αυτούς τους λόγους χρησιμοποιείται
περισσότερο το UDP, ενώ μπορεί να χρησιμοποιηθούν και τα δύο πρωτόκολλα
μαζί σε συνεργασία. Αυτό σημαίνει ότι σε περιπτώσεις μεγάλης ποσότητας
δεδομένων χρησιμοποιείται το UDP, ενώ αν υπάρξει κάποιο πρόβλημα στην
πορεία αυτό διορθώνεται από το TCP.
Η απλότητα που διακρίνει το SNMP είναι και ο λόγος για τον οποίο το
συγκεκριμένο πρωτόκολλο έχει επικρατήσει, καταναλώνοντας μικρή
υπολογιστική ισχύ και δικτυακούς πόρους. Το SNMP καταφέρνει και
συγκεντρώνει τις πληροφορίες που χρειάζεται με ένα μικρό αριθμό εντολών και
αυτό ισχύει για όλες τις συσκευές του δικτύου. Όσο όμως πιο δημοφιλές γινόταν
το SNMP τόσο άρχισαν να φαίνονται και τα μειονεκτήματα του, τα οποία είχαν
να κάνουν κυρίως με θέματα ασφάλειας. Έτσι το 1993 παρουσιάστηκε η
δεύτερη έκδοση του (SNMPv2), η οποία ήταν σαφώς βελτιωμένη σε σχέση με
33

την πρώτη έκδοση, και αργότερα δημιουργήθηκε η τρίτη έκδοση του (SNMPv3).
Δυστυχώς, τα απαραίτητα επιπλέον χαρακτηριστικά και λειτουργίες που
διαθέτουν οι νέες εκδόσεις του SNMP (ειδικά η τρίτη), αναιρούν στην πράξη τον
όρο “Simple”.

Το γενικό μοντέλο που χρησιμοποιείται για τη διαχείριση TCP/IP δικτύων
περιλαμβάνει τα εξής :
• Σταθμός Διαχείρισης Δικτύου – NMS (Network Management Station -
Manager), ο οποίος είναι ο κεντρικός σταθμός από τον οποίον γίνεται η
διαχείριση. Μπορεί να είναι ένα μεμονωμένο σύστημα, αλλά μπορούν να
υπάρχουν και περισσότερα από ένα τέτοια συστήματα (κατανεμημένο)
για τον καταμερισμό των εργασιών σε ένα μεγάλο δίκτυο ή για
εφεδρικούς λόγους.
• Διαχειριζόμενοι Αντιπρόσωποι (Management Agents), οι οποίοι
μπορούν να είναι όλες οι συσκευές οι οποίες είναι συνδεδεμένες στο
δίκτυο όπως π.χ. υπολογιστές, εκτυπωτές, επαναλήπτες (hubs),
δρομολογητές (routers), κ.α. Αυτές οι συσκευές διαχειρίζονται από το
σταθμό διαχείρισης δικτύου. Οι αντιπρόσωποι είναι εφοδιασμένοι με
κατάλληλο λογισμικό. Σκοπός του κάθε agent είναι να αποκρίνεται σε
διάφορες αιτήσεις του σταθμού διαχείρισης, ενώ μπορεί να ενημερώνει,
όποτε και αν χρειαστεί, το σταθμό διαχείρισης για διάφορα γεγονότα.
• Βάση Δεδομένων Διαχείρισης Πληροφοριών – MIB (Management
Information Base), η οποία είναι η καρδιά του πρωτοκόλλου SNMP. Είναι
απαραίτητη για την αναπαράσταση των χαρακτηριστικών του
διαχειριζόμενου agent. Επίσης περιλαμβάνει ορισμούς για τις
διαχειριζόμενες συσκευές, τους agents οι οποίοι είναι διαθέσιμοι καθώς
και τις αιτήσεις για τις πληροφορίες τις οποίες αυτοί έχουν δεχθεί. Όλες
οι πληροφορίες οι οποίες χρειάζονται για τη διαχείριση μιας
συγκεκριμένης συσκευής είναι αποθηκευμένες σε ένα αρχείο το οποίο
είναι γνωστό ως «αρχείο Βάσης Διαχείρισης Πληροφορίας - MIB file».
Αυτό το αρχείο είναι οργανωμένο ώστε να υπακούσει σε ένα γενικότερο
πλαίσιο, το οποίο ονομάζεται Δομή των Πληροφοριών Διαχείρισης
(Structure of Management Information – SMI).
• Πρωτόκολλο διαχείρισης Δικτύου– NMP (Network Management
Protocol), με το οποίο είναι συνδεδεμένοι τόσο ο σταθμός εργασίας όσο
και οι αντιπρόσωποι. Το πρωτόκολλο που χρησιμοποιείται για την
επιτυχημένη διαχείριση είναι το SNMP.
Η πρώτη λοιπόν έκδοση του, περιλαμβάνει τις ακόλουθες εντολές:
 GET: Με αυτή την εντολή ο κεντρικός σταθμός μπορεί να
ανακτήσει μια τιμή ενός αντικειμένου, από έναν αντιπρόσωπο.
Έτσι ανακτάται η τιμή των διάφορων μεταβλητών, οι οποίες
περιγράφουν την κατάσταση της συγκεκριμένης συσκευής.
 SET: Ο κεντρικός σταθμός με αυτή την εντολή θέτει την τιμή σε
μια μεταβλητή και έτσι καθορίζει μια χαρακτηριστική τιμή μιας
διαχειριζόμενης συσκευής.
 TRAP: Αυτή η εντολή χρησιμοποιείται μόνο από τον αντιπρόσωπο
και ενημερώνει το σταθμό διαχείρισης, όποτε και αν χρειαστεί, για
την πραγματοποίηση ενός γεγονότος.
34


Πιο αναλυτικά ο NMS είναι ένας κόμβος του δικτύου που έχει
εγκατεστημένο το περιβάλλον του SNMP και επιτρέπει μονόδρομη ή αμφίδρομη
επικοινωνία. Οι διαχειριζόμενες συσκευές ανταλλάσουν πληροφορίες μαζί του.
Γενικά διαχειριζόμενη μπορεί να είναι οποιαδήποτε συσκευή που ανήκει στο
δίκτυο. Συνεχίζοντας ο αντιπρόσωπος κωδικοποιεί-αποκωδικοποιεί τα
μηνύματα που στέλνονται ή λαμβάνονται από μία άλλη SNMP οντότητα. Τέλος η
βάση δεδομένων διαχείρισης πληροφοριών θα αναλυθεί εκτενέστερα
παρακάτω.

2.2 Βάση δεδομένων διαχείρισης πληροφοριών


Η βάση δεδομένων πληροφοριών διαχείρισης ή αλλιώς MIB (
Management Information Base ) είναι μια ψηφιακή βάση δεδομένων που
χρησιμοποιείται για τη διαχείριση οντοτήτων σε ένα δίκτυο επικοινωνιών.
Χρησιμοποιείται σε συνδυασμό με το πρωτόκολλο SNMP ( Simple Network
Management Protocol ) για τη διαχείριση συσκευών σε δίκτυα IP ( Internet
Protocol ).
Συγκεκριμένα, όπως προαναφέρθηκε οι συσκευές που υποστηρίζουν το
πρωτόκολλο αυτό χωρίζονται σε δύο οντότητες, τους διαχειριστές (managers)
και τους αντιπροσώπους (agents). Οι πρώτοι συχνά αναφέρονται και ως
Network Management Stations(NMS) ή σταθμοί διαχείρισης. Είναι συνήθως μια
αυτόνομη συσκευή, αλλά μπορεί να είναι και μια υλοποιημένη δυνατότητα σε
ένα σύστημα που αποτελεί μέρος ενός δικτύου. Σε κάθε περίπτωση ο NMS
λειτουργεί ως το εργαλείο διεπαφής για το διαχειριστή του δικτύου με το
σύστημα διαχείρισης δικτύου.
Ένας NMS πρέπει να διαθέτει υποχρεωτικά, τουλάχιστον τα παρακάτω
στοιχεία:
i. Ένα σύνολο εφαρμογών διαχείρισης για ανάλυση δεδομένων,
αποκατάσταση σφαλμάτων κ.α.
ii. Μια διεπαφή με την οποία ο διαχειριστής του δικτύου θα μπορεί να
παρακολουθήσει και να ελέγξει το δίκτυο.
iii. Την ικανότητα να μεταφράζει τις απαιτήσεις του διαχειριστή του
δικτύου σε εντολές με τις οποίες θα επιτυγχάνεται η παρακολούθηση και
ο έλεγχος των απομακρυσμένων στοιχείων στο δίκτυο.
iv. Μια βάση δεδομένων με πληροφορίες διαχείρισης δικτύου, που εξάγεται
από τις βάσεις δεδομένων όλων των διαχειριζόμενων οντοτήτων στο
δίκτυο, δηλαδή στην ουσία μία MIB όπως προαναφέρθηκε.






35

Το άλλο ενεργό στοιχείο στο σύστημα διαχείρισης δικτύου είναι ο
αντιπρόσωπος ή αλλιώς agent. Βασικές πλατφόρμες, όπως κεντρικοί
υπολογιστές, γέφυρες, δρομολογητές και hubs μπορούν να εξοπλιστούν με
λογισμικό ενός agent, ώστε να μπορούν να ελεγχθούν από ένα σταθμό
διαχείρισης. Ο agent ανταποκρίνεται σε αιτήσεις για πληροφορίες από ένα NMS,
σε αιτήσεις για ενέργειες από τον NMS και μπορεί να παρέχει ,όποτε και αν
χρειαστεί, στο σταθμό διαχείρισης σημαντικές, αλλά αυτόκλητες πληροφορίες.
Τουλάχιστον ένα σύστημα NMS σε μία διάταξη ενός δικτύου πρέπει να είναι
υπεύθυνο για την διαχείριση του δικτύου και να περιέχει τις απαραίτητες
εφαρμογές για το σκοπό αυτό. Μπορεί βέβαια να υπάρχουν και περισσότεροι
από έναν NMS, ώστε να παρέχεται εφεδρεία ή απλώς να γίνεται καταμερισμός
των καθηκόντων σε ένα μεγάλο δίκτυο. Η πλειονότητα των υπόλοιπων
συστημάτων λειτουργεί με το ρόλο του agent. Ο agent συλλέγει πληροφορίες
τοπικά και τις αποθηκεύει για πρόσβαση από κάποιο διαχειριστή αργότερα. Οι
πληροφορίες αυτές , περιλαμβάνουν δεδομένα για το ίδιο το σύστημα, ενώ
μπορεί να περιλαμβάνουν και πληροφορίες κίνησης για το δίκτυο ή τα δίκτυα με
τα οποία συνδέεται ο πράκτορας.
Ο NMS είναι υπεύθυνος για την λήψη σημάτων από τους agents, τα λεγόμενα
traps. Επίσης μπορεί να θέτει ερωτήματα στους agents σχετικά με διάφορες
παραμέτρους τους. Μέσα από τις απαντήσεις στα ερωτήματα αυτά είναι δυνατό
να διαπιστωθούν γεγονότα τα οποία προέκυψαν. Αντιστρόφως, τα traps είναι
ένας τρόπος ενημέρωσης του NMS από τον agent ότι κάτι συνέβη. Όταν ο NMS
λάβει ένα trap πρέπει να δράσει κατάλληλα αναλόγως με το μήνυμα που έλαβε.
Αντίστοιχα, ο agent μπορεί να είναι μία οποιαδήποτε συσκευή, η οποία είναι
συνδεδεμένη στο διαδίκτυο. Για παράδειγμα σήμερα οι περισσότερες συσκευές
router έχουν ενσωματωμένο έναν SNMP agent.
Σύμφωνα με τα παραπάνω η MIB λειτουργεί ως ένα σημείο πρόσβασης στον
agent για τον NMS. Η διαχείριση γίνεται μέσω της χρήσης μέσων με τα οποία
μπορεί να διαχειριστεί κανείς τους πόρους σε ένα δίκτυο. Τα μέσα αυτά
αναπαριστούν τους πόρους ως αντικείμενα. Κάθε αντικείμενο είναι στην ουσία
μία μεταβλητή δεδομένων που αναπαριστά μία όψη του διαχειριζόμενου agent.
Αυτά τα αντικείμενα είναι τυποποιημένα μεταξύ συστημάτων μιας
συγκεκριμένης τάξης. Για παράδειγμα όλοι οι δρομολογητές (router)
υποστηρίζουν τα ίδια αντικείμενα διαχείρισης. Ο NMS εκτελεί τη λειτουργία
παρακολούθησης ανακτώντας τις τιμές των αντικειμένων της MIB. Επίσης ένας
NMS μπορεί να προκαλέσει την ενεργοποίηση μιας λειτουργίας σε έναν agent ή
μπορεί να αλλάξει τις ρυθμίσεις των παραμέτρων του τροποποιώντας την τιμή
συγκεκριμένων μεταβλητών.
Η λειτουργία της ΜΙΒ είναι παρόμοια με αυτή ενός λεξικού, δηλαδή βασίζεται
στον ορισμό και στην διευκρίνηση των διαφόρων όρων του εκάστοτε
διαχειριζόμενου αντικειμένου. Όλες οι πληροφορίες που μπορεί να προσπελάσει
ο NMS είναι ορισμένες στην MIB. Αντίστοιχα, ο κάθε agent έχει εκτός από τις
δικές του MIB, οι οποίες διαφέρουν ανάλογα με τον τύπο του, μια κοινή MIB την
MIB-II . Η MIB-II καθορίζεται από το πρωτόκολλο RFC 1213 και περιλαμβάνει
οντότητες, για παράδειγμα διάφορα στατιστικά του interface, όπως ταχύτητα ή
δεδομένα ( octets ) τα οποία εστάλησαν και ελήφθησαν και άλλα , καθώς επίσης
και πληροφορίες για το σύστημα, όπως η τοποθεσία του συστήματος,
πληροφορίες επικοινωνίας με τον administrator του συστήματος και άλλα .

36

2.2.1 Δομή Πληροφοριών Διαχείρισης


Τα αντικείμενα στην MIB ορίζονται με τη χρήση του ASN1(Abstract
Syntax Notation One) δηλαδή της αφηρημένης σύνταξης. Αυτή είναι ένας
προκαθορισμένος τρόπος παρουσίασης, μετάδοσης αλλά και αποκωδικοποίησης
δεδομένων. Επίσης παρέχει τους απαραίτητους κανόνες για την περιγραφή της
δομής των αντικειμένων από τα οποία απαρτίζονται οι NMS αλλά και οι agents.
Πάνω σε αυτή τη δομή στηρίζεται όπως αναφέρεται και η Δομή των
Πληροφοριών Διαχείρισης ή αλλιώς Structure of Management Information (SMI)
με σκοπό να καθορίσει τα αντικείμενα μιας MIB. Μπορεί να θεωρηθεί δηλαδή ως
η γλώσσα για τον ορισμό των πληροφοριών διαχείρισης. Επίσης ορίζει το
γενικότερο πλαίσιο εντός του οποίου μπορεί μία MIB να οριστεί και να δομηθεί.
Πιο συγκεκριμένα , προσδιορίζει τους τύπους δεδομένων που μπορούν να
χρησιμοποιηθούν σε μία MIB, καθώς και τον τρόπο με τον οποίο
αναπαρίστανται και ονομάζονται οι πόροι εντός μίας MIB. Η φιλοσοφία πίσω
από την SMI μπορεί να ενθαρρύνει την απλότητα και την επεκτασιμότητα εντός
της MIB. Συνεπώς η MIB μπορεί να αποθηκεύσει μόνο απλούς τύπους
δεδομένων, δηλαδή τα μονόμετρα (scalar) μεγέθη, αλλά και τις δυσδιάστατες
συστοιχίες μονόμετρων μεγεθών που αποκαλούνται πίνακες. Η SMΙ δεν
υποστηρίζει τη δημιουργία ή την ανάκτηση πολύπλοκων δομών δεδομένων.
Αυτή η φιλοσοφία έρχεται σε αντίθεση με αυτή που χρησιμοποιείται στα
συστήματα διαχείρισης OSI και η οποία παρέχει πολύπλοκες δομές δεδομένων
και μεθόδους ανάκτησης για να υποστηρίζουν μεγαλύτερη λειτουργικότητα. Η
SMI αποφεύγει πολύπλοκες δομές δεδομένων και κατασκευές για να
απλοποιήσει την λειτουργία της υλοποίησης και να προάγει την δια-
λειτουργικότητα. Αναπόφευκτα όμως ,επειδή οι MIB περιέχουν τύπους
δεδομένων δημιουργημένους από προμηθευτές, αν δεν τεθούν αυστηροί
περιορισμοί στον ορισμό τέτοιων δεδομένων, η έννοια της δια-
λειτουργικότητας δεν θα υπάρχει .
Υπάρχουν τρία βασικά στοιχεία για την περιγραφή της SMI. Στο
χαμηλότερο επίπεδο, η SMI καθορίζει τους τύπους δεδομένων που μπορούν να
αποθηκευτούν. Στη συνέχεια καθορίζει μια επίσημη τεχνική για τον ορισμό
αντικειμένων και πινάκων αντικειμένων. Τέλος, παρέχει ένα μηχανισμό για τη
συσχέτιση ενός μοναδικού αναγνωριστή ( identifier ) με κάθε αντικείμενο σε ένα
σύστημα, ώστε να μπορεί ο εκάστοτε διαχειριστής να ανατρέξει στα δεδομένα
κάποιου agent.

Η ανάλυση των πληροφοριών διαχείρισης σύμφωνα με το SMI χωρίζεται
σε τρία χαρακτηριστικά:

α. Όνομα ή αλλιώς OID:
Το όνομα ή αλλιώς object identifier καθορίζει μοναδικά ένα
διαχειριζόμενο αντικείμενο. Τα ονόματα συνήθως εμφανίζονται με δύο
μορφές την αριθμητική και την ονοματολογική, δηλαδή αυτή που είναι
αναγνώσιμη από όλους. Και με τις δύο μορφές τα ονόματα είναι μεγάλα
37

και άρα δύσχρηστα . Ο στόχος λοιπόν μιας εφαρμογής SNMP είναι η
διευκόλυνση της προσπέλασης των ονομάτων.
β. Τύποι και σύνταξη των πληροφοριών:
Όπως ειπώθηκε και παραπάνω ο τύπος ενός διαχειριζόμενου
αντικειμένου καθορίζεται χρησιμοποιώντας μία μορφή του ASN1. O ASN1
καθορίζει τον τρόπο με τον οποίο παρουσιάζονται και μεταδίδονται τα
δεδομένα , μεταξύ των NMS και των agents. Ο κύριος λόγος που
χρησιμοποιείται ο ASN1 είναι ότι είναι ανεξάρτητος της κάθε μηχανής και
λογισμικού στο οποίο χρησιμοποιείται. Για παράδειγμα, ένας
υπολογιστής που χρησιμοποιεί Windows μπορεί να επικοινωνήσει με
έναν αντίστοιχο ο οποίος χρησιμοποιεί Linux ή ακόμα και το SUN Spark
χωρίς να υπάρχει κανένα θέμα byte ordering.
γ. Κωδικοποίηση:
Μια οντότητα ενός διαχειριζόμενου αντικειμένου κωδικοποιείται σε ένα
string χρησιμοποιώντας τους βασικούς κανόνες κωδικοποίησης ή αλλιώς
Basic Encoding Rules(BER). Οι συγκεκριμένοι καθορίζουν πως
κωδικοποιούνται και αποκωδικοποιούνται τα αντικείμενα, ώστε να
μεταδοθούν μέσω ενός μέσου, όπως παραδείγματος χάρη το Ethernet.


2.2.2 Ονοματολογία των OIDs


Αν περάσουμε στην ειδικότερη περιγραφή μιας MIB αυτή μοιάζει σαν
ένα δέντρο το οποίο στη ρίζα του δεν έχει όνομα, αλλά έχουν τα υποδέντρα και
τα επίπεδα που το ακολουθούν. Το κάθε επίπεδο και υποδέντρο ανήκει και σε
ένα διαφορετικό οργανισμό. Όσο είμαστε στην κορυφή του δέντρου και στα
πρώτα επίπεδα οι οργανισμοί είναι συγκεκριμένοι και γνωστοί, ενώ όσο
κατευθυνόμαστε προς τα κατώτερα επίπεδα του δέντρου παρατηρούμε
πολλούς μη γνωστούς και ιδιωτικούς οργανισμούς. Οι οργανισμοί αυτοί,
ανάλογα με την θέση τους στο κάθε επίπεδο του δέντρου , διαθέτουν
αριθμητικό κώδικα , στον οποίο όταν προστίθεται το σύμβολο
‹‹ . ››
(dot)
υποδηλώνει ότι πάμε σε ένα χαμηλότερο επίπεδο. Έτσι σχηματίζεται ο
αριθμητικός κώδικας του κάθε κλάδου του δέντρου. Για παράδειγμα στην αρχή
του δέντρου μπορούμε να συναντήσουμε τον οργανισμό ISO, που έχει
αριθμητικό κωδικό 1,όπως και τον ORG, που έχει αριθμητικό κωδικό 1.3,ενώ στα
χαμηλότερα επίπεδα , αντιστοίχως την εταιρεία cisco, που έχει αριθμητικό
κωδικό 1.3.6.1.4.1.9. Σχεδόν πάντα τα δέντρα αυτά αποτελούνται από πάρα
πολλά επίπεδα, γεγονός που καθιστά πολύπλοκη την αριθμητική περιγραφή
τους, δηλαδή όσο χαμηλότερα οδεύουμε στο δέντρο τόσο πιο δύσκολη έως
αδύνατη καθίσταται η απομνημόνευση των αριθμητικών κωδικών τους, εκτός
και αν έχουμε τον χάρτη με όλο το δέντρο διαθέσιμο ανά πάσα στιγμή (πράγμα
που είναι αδύνατο). Εδώ εντοπίζεται λοιπόν μία εξίσου πολύ σημαντική χρήση
της MIB, στην περίπτωση που στον εκάστοτε NMS ή agent είναι διαθέσιμα τα
αρχεία της βάσης, επιτυγχάνεται η σύνδεση των δύο κωδικών για τα επίπεδα
του δέντρου. Είναι σημαντικό, να τονιστεί ότι πρέπει πάντα να γίνεται η
38

μετατροπή του ονόματος που δίνεται όταν γίνεται προσπέλαση στο δέντρο σε
αριθμητικό κώδικα, γιατί αλλιώς δεν έχουμε αποτέλεσμα.

Συνοπτικά δηλαδή η προσπέλαση στο δέντρο μπορεί να γίνει είτε με τη
χρήση του αριθμητικού κώδικα του κλάδου που επιθυμούμε να προσπελάσουμε
είτε με τη χρήση του ονόματος του κλάδου(OBJECT ID ή OID), με την
προϋπόθεση βέβαια ότι έχουν φορτωθεί τα κατάλληλα αρχεία MIB διασύνδεσης.

 Παρακάτω παρατίθεται ένα μέρος του MIB δέντρου, ώστε να δοθεί ένα
οπτικό παράδειγμα όλων των παραπάνω :


Εικόνα 2.1 - Παράδειγμα MIB δέντρου






39

 Στο συγκεκριμένο σχεδιάγραμμα τα definitions θα έχουν ως εξής :




Αξίζει εδώ να αναφερθεί ότι μόνο ο root έχει τρία υποδέντρα το
ccitt(0),το iso(1) καθώς και το joint(2). Στη συγκεκριμένη εικόνα βλέπουμε ότι
προχωρώντας προς τα κάτω μόνο το org(1) έχει υποδέντρο και οι άλλοι κόμβοι
είναι απλά κλαδιά. Στο πρωτόκολλο SNMP φυσικά και δεν χρησιμοποιούνται
όλα τα υποδέντρα καθώς μιλάμε για εκατοντάδες με χιλιάδες σε κάθε
διαφορετικό agent που πρέπει να προσπελάσει. Αυτό που χρησιμοποιείται
κυρίως όμως είναι το υποδέντρο iso(1).org(3).dod(6).internet(1) ή αλλιώς
αριθμητικά το 1.3.6.1 σε μορφή OID ή ακόμα και iso.org.dod.internet.
Προχωρώντας περαιτέρω, στο δέντρο θα πρέπει να διευκρινιστεί ότι ο
κλάδος directory δεν χρησιμοποιείται στο συγκεκριμένο παράδειγμα. Ο mgmt ή
αλλιώς management branch καθορίζει ένα σύνολο από διαχειριζόμενα
αντικείμενα στο internet. Ο κλάδος experimental είναι καθορισμένος ώστε να
λειτουργεί για δοκιμαστικούς και ερευνητικούς σκοπούς. Ο κλάδος private
χρησιμοποιείται από οργανισμούς και εταιρίες, όπως επίσης μπορεί να
χρησιμοποιηθεί και από ανθρώπους που δεν έχουν ιδιαίτερη επαφή με το
συγκεκριμένο αντικείμενο, αφού πρώτα έρθουν σε συνεννόηση με τον
οργανισμό IANA(Internet Assigned Numbers Authority), ώστε να έχει το δικό
του υποδέντρο κάτω από τον κλάδο private. Ενδεικτικά η φόρμα η οποία πρέπει
να συμπληρωθεί είναι στη διεύθυνση :


http://www.isi.edu/cgi-bin/iana/enterprise.pl
,

η χρήση της οποίας δίνει στο διαχειριστή τη δυνατότητα να δημιουργήσει τις
δικιές του παραμέτρους και ακολούθως την δικιά του MIB, ώστε να επιβλέπει
τις συγκεκριμένες παραμέτρους που θέλει.



internet OBJECT IDENTIFIER ::= {iso org(3) dod(6) 1}
directory OBJECT IDENTIFIER ::= {internet 1}
mgmt OBJECT IDENTIFIER ::= {internet 2}
experimental OBJECT IDENTIFIER ::= {internet 3}
private OBJECT IDENTIFIER ::= {internet 4}
40

 Η γενική εικόνα του δέντρου μαζί με τα συχνά χρησιμοποιούμενα
υποδέντρα φαίνεται παρακάτω:


Εικόνα 2.2 - Συχνά χρησιμοποιούμενα υποδέντρα
Συνήθως οι τιμές των δεσμευμένων μεταβλητών βρίσκονται στη πρώτη
θέση της κάθε OID στήλης(ή υποπίνακα) και ορίζονται ως το στοιχείο 0. Για
παράδειγμα παρατίθεται παρακάτω μια εικόνα, στην οποία βλέπουμε
ενδεικτικά κάποιες από τις πολύ σημαντικές παραμέτρους του MIB δέντρου και
συγκεκριμένα του υποδέντρου system. Χρησιμοποιώντας την ίδια λογική με το
προηγούμενο παράδειγμα βλέπουμε το υποδέντρο mib-2 με OID 1.3.6.1.2.1 το
οποίο είναι υποδέντρο του mgmt, του οποίου επίσης υποδέντρου είναι ο
εικονιζόμενος κλάδος system.









41

 Παρακάτω δίνεται και η γενική εικόνα του υποδέντρου system, το οποίο
περιέχει σημαντικές λεπτομέρειες για την κατάσταση ενός συστήματος:


Εικόνα 2.3 - Παράδειγμα του υποδέντρου system









42

2.2.3 Τύποι των OIDs


Ο τρόπος με τον οποίο ορίζεται ένα OID βασίζεται στη χρήση τύπων
διαχειριζόμενων αντικειμένων τα λεγόμενα SMIv1 datatypes και τα οποία
μπορούν να είναι ακέραιοι, network addresses, counters, gauges, object
identifiers, sequence, sequence of, timeticks και άλλα .






 Επεξήγηση των τύπων OIDs :

• Οι ακέραιοι είναι μήκους 32bit και μπορούν να αναπαραστήσουν
διάφορους αριθμητικούς τύπους ενός συγκεκριμένου διαχειριζόμενου
αντικειμένου.
• Οι counter είναι αριθμοί από 0 έως 2
32
−1,δηλαδή 4.294.967.295. Όταν
ένας counter φτάσει στη μέγιστη του τιμή μηδενίζεται και ξεκινάει τη
μέτρηση από την αρχή.
• Οι object-identifiers είναι τα διάφορα OID που αναφέρθηκαν παραπάνω,
δηλαδή ο κωδικός κάθε κλάδου του δέντρου.
• Sequence : είναι μια λίστα με πολλά και διαφορετικά datatypes πάντα σε
μορφή ASN.1.
• Sequence of : καθορίζει ένα διαχειριζόμενο αντικείμενο το οποίο
αποτελείται από διάφορα άλλα αντικείμενα τύπου ASN.1.
• IpAddress : αναπαριστά μία 32bit διεύθυνση IPv4.
• Network Address : είναι το ίδιο ακριβώς με την IpAddress, με την
διαφορά ότι μπορεί να αναπαριστά διαφορετικούς τύπους διαδικτυακών
διευθύνσεων.
• Gauge : μετράει όπως ο counter από τον 0 έως 2
32
−1, δηλαδή
4.294.967.295. ,αλλά δε μπορεί σε καμία περίπτωση να ξεπεράσει τη
μέγιστη τιμή.
• TimeTicks : μετράει χρόνο σε εκατομμύρια δευτερόλεπτα από τον 0 έως
2
32
−1,δηλαδή 4.294.967.295. Για παράδειγμα μπορεί να χρησιμοποιηθεί
για τη μέτρηση του χρόνου που είναι ενεργό ένα σύστημα.







43

 Ο παρακάτω πίνακας αναπαριστά οπτικά αυτά που προαναφέρθηκαν:



INTEGER


Ένας αριθμός

32
-
bit

που
χρησιμοποιείται συχνά

για τον
καθορισμό τύπων που
απαριθμούνται στο πλαίσιο ενός
διαχειριζόμενου αντικειμένου. Για
παράδειγμα, η κατάσταση
λειτουργίας της σύνδεσης
του δρομολογητή μπορεί να είναι up(σε
λειτουργία), down(πεσμένο), ή
testing(σε κατάσταση
δοκιμής). Δηλαδή χρησιμοποιώντας την
αρίθμηση των τύπων το 1
θα αντιπροσωπεύει το up, το 2 το
down, και το 3 το testing. Η τιμή
μηδέν (0) δεν πρέπει να
χρησιμοποιείται ως απαρίθμηση τύπου,
σύμφωνα με το

RFC

1155.


OCTET STRING


Μια

σειρά από

μηδέν ή
περισσότερες

bytes
, που
συνήθως
χρησιμοποιείται για να
αντιπροσωπεύσει συμβολοσειρές
κειμένου, αλλά και μερικές
φορές

φυσικές διευθύνσεις
.


Counter


Ένας αριθμός 32
-
bit
, με ελάχιστη

τιμή
0

και

μέγιστη τιμή

4.294.967.295
.

Όταν
η μέγιστη τιμή επιτευχθεί, ξεκινάει και
πάλι από το μηδέν. Κατά κύριο
λόγο χρησιμοποιείται για
την παρακολούθηση
πληροφοριών, όπως ο αριθμός
των bytes που αποστέλλονται και
λαμβάνονται σε μία διεπαφή
(interface) ή τον αριθμό των λαθών και
των απορριφθέντων πακέτων που
υπάρχουν σε μια διεπαφή. Αυξάνεται
μονοτονικά ώστε οι τιμές του να
μην θα μειώνονται κατά την κανονική
λειτουργία. Όταν ένας agent κάνει
επανεκκίνηση, όλες τιμές των counters
θα πρέπει να γίνουν μηδέν.


44

OBJECT IDENTIFIER


Μια


συμβολοσειρά σε μορφή
δεκαδικών με τελείες,
που αντιπροσωπεύει ένα
διαχειριζόμενο αντικείμενο μέσα στο
δέντρο . Για παράδειγμα το OID
1.3.6.1.4.1.9 αντιστοιχεί στην ιδιωτική
επιχείρηση

Cisco

Systems

.



NULL


Δεν χρησιμοποιείται αυτή τη στιγμή
στο
SNMP
.


SEQUENCE

Καθορίζει

τις λίστες

που
περιέχουν

μηδέν

ή

περισσότερους
διαφορετικούς ASN.1 τύπους
δεδομένων.


SEQUENCE OF


Καθορίζει

ένα διαχειριζόμενο

αντικείμενο που

αποτελείται από

μια
ακολουθία

ASN.1 τύπων.

IpAddress


Αντιστοιχεί σε μία

διεύθυνση IPv4
των
32 bit.

Καμία από τις δύο εκδόσεις του
SMI
(
SMIv
1 και
SMIv
2) δεν

εξετάζει


διευθύνσεις IPv6 των 128

bit.


NetworkAddress


Είναι το ίδιο με τον τύπο
IpAddress
, με
τη διαφορά ότι μπορεί να
αντιπροσωπεύσει διαφορετικά είδη
διευθύνσεων δικτύου.


Gauge


Ένας αριθμός των 32
bit

με

ελάχιστη
τιμή 0 και μέγιστη το

4.294.967.295
. Σε
αντίθεση με τον counter μπορεί να
αυξηθεί η να μειωθεί κατά βούληση,
όμως ποτέ δεν μπορεί να ξεπεράσει τη
μέγιστη τιμή του. Για παράδειγμα με τη
χρήση Gauge μπορεί να μετρηθεί η
ταχύτητα μιας διασύνδεσης(
interface

speed
).

TimeTicks


Ένας επίσης αριθμός των 32
bit

με
ελάχιστη τ
ιμή 0 και μέγιστη το

4.294.967.295. Ο τύπος TimeTicks
μετράει το χρόνο σε εκατοστά του
δευτερολέπτου. Για παράδειγμα ο
χρόνος απρόσκοπτης λειτουργίας μιας
συσκευής(
uptime
) μετριέται με τη
χρήση αυτού του τύπου δεδομένων.


Opaque



Επιτρέπει οποιαδήποτε άλλη
κωδικοποίηση
ASN
.1 να εισαχθεί μέσα
45

σε ένα
OCTET

STRING
.


Πίνακας 2.1 - Τύποι OIDs


 Αφού , οριστούν τα OID προχωράμε στον κυρίως ορισμό των
αντικειμένων. Κάθε αντικείμενο έχει την ακόλουθη μορφή:

<name> OBJECT-TYPE
SYNTAX <datatype>
ACCESS <either read-only, read-write, write-only, or not-accessible>
STATUS <either mandatory, optional, or obsolete>
DESCRIPTION
"Textual description describing this particular managed object."
::= { <Unique OID that defines this object>


 Αναλυτικότερα :
Στο πεδίο SYNTAX δίνεται ο τύπος δεδομένων του, ο οποίος είναι ένας από
τους παραπάνω τύπους δεδομένων. Εν συνεχεία, στο πεδίο ACCESS δίνονται τα
δικαιώματα που έχει ο χρήστης ή διαχειριστής πάνω στο αντικείμενο με τιμές
ανάγνωσης(read-only), εγγραφής(write only), ανάγνωσης και εγγραφής(read-write),
καθώς και μη προσπελάσιμο(not-accessible). Ακολούθως στο πεδίο STATUS δίνεται
η χρησιμότητα του εκάστοτε αντικειμένου για το σύστημα το οποίο μπορεί να έχει
τιμές υποχρεωτικό(mandatory), προαιρετικό(optional) και μη
χρησιμοποιούμενο(obsolete).
Τέλος το πεδίο DESCRIPTION περιέχει την λεκτική επεξήγηση του
αντικειμένου μεταξύ των συμβόλων ‹‹""›› , μαζί με το μοναδικό OID το οποίο το
περιγράφει στο αντικείμενο.








46

2.2.4 Χρήσιμα MIB αρχεία


Υπάρχει γενικά ένας μεγάλος αριθμός RFCs((Request for Comments) είτε
από τον IETF, είτε από ιδιωτικούς οργανισμούς, αλλά και από άλλες οντότητες.
 Διατηρούμενα RFCs του IETF :
Τα 318 από σύνολο πεντακοσίων RFCs του IETF περιέχουν πληροφορίες
σχετικά με τις βάσεις δεδομένων διαχείρισης πληροφοριών ή ΜΙΒ. Αυτές
συνήθως αναφέρονται στον ορισμό των αντικειμένων, των πινάκων και γενικά
των βάσεων δεδομένων, που πρέπει να χρησιμοποιηθούν για την προσπέλαση
συγκεκριμένων πληροφοριών σε κάθε συσκευή. Τα RFCs αυτά αποθηκεύονται
με τη μορφή MIB αρχείων, τα οποία και πρέπει να είναι διαθέσιμα ανά πάσα
στιγμή που θέλουμε να θέσουμε ένα SNMP ερώτημα σε ένα αντιπρόσωπο, ώστε
να υπάρχει η σύνδεση του ονόματος του αντικειμένου με τον αριθμητικό κωδικό
του.
 Παρακάτω παρατίθεται μια λίστα με τα σημαντικότερα MIB αρχεία , η
οποία αποτελεί ένα μικρό ποσοστό αυτών που υπάρχουν στην
πραγματικότητα:

SNMP - SMI:RFC 1155 →
Ορίζει
την
Δομή
Πληροφορίας
Διαχείρισης
(
SMI
)
MIB-I:RFC 1156 →Historically used with CMOT,not to be used with SNMP
SNMPv2-SMI:RFC 2578 →Ορίζει την έκδοση 2 της Δομής Πληροφορίας Διαχείρισης
(SMIv2)
MIB-II:RFC 1213 → Βάση Δεδομένων Διαχείρισης για διαδίκτυο βασισμένο στο
πρωτόκολλο TCP/IP
SNMPv2-MIB:RFC 3418 → Βάση Δεδομένων Διαχείρισης (MIB) για το Απλό
Πρωτόκολλο Διαχείρισης Δικτύου (SNMP)
TCP-MIB:RFC 4022 →Βάση Δεδομένων Διαχείρισης για το πρωτόκολλο TCP
UDP-MIB:RFC 4113 →Βάση Δεδομένων Διαχείρισης για το πρωτόκολλο UDP
IP-MIB:RFC 4293 →Βάση Δεδομένων Διαχείρισης για το πρωτόκολλο IP
IF-MIB:RFC 2863 →Το σύνολο διεπαφών της MIB
ENTITY-MIB:RFC 4133 →Σύνολο οντοτήτων της MIB (Version 3)
ENTITY-STATE-MIB:RFC 4268 →Ηκατάσταση των οντοτήτων της MIB
ALARM-MIB:RFC 3877 →
Βάση
Δεδομένων
Διαχείρισης
συστημάτων
συναγερμού
47

2.2.5 Παραδείγματα πάνω σε αρχεία MIB


Για την καλύτερη επεξήγηση και κατανόηση όλων των παραπάνω θα
παρατεθούν παραδείγματα από διάφορα διαχειριζόμενα αντικείμενα, που
βασίζονται στο παρακάτω μέρος του αρχείου MIB-II(RFC 1213) .



ΜΕΡΟΣ ΑΡΧΕΙΟΥ MIB-II :


RFC1213
-
MIB DEFINITIONS ::=
BEGIN

IMPORTS

mgmt, NetworkAddress, IpAddress, Counter, Gauge,
TimeTicks
FROM RFC1155-SMI
OBJECT-TYPE
FROM RFC 1212;

mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }


-- group στην MIB-II

system OBJECT IDENTIFIER ::= { mib-2 1 }
interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
at OBJECT IDENTIFIER ::= { mib-2 3 }
ip OBJECT IDENTIFIER ::= { mib-2 4 }
icmp OBJECT IDENTIFIER ::= { mib-2 5 }
tcp OBJECT IDENTIFIER ::= { mib-2 6 }
udp OBJECT IDENTIFIER ::= { mib-2 7 }
egp OBJECT IDENTIFIER ::= { mib-2 8 }
transmission OBJECT IDENTIFIER ::= { mib-2 10 }
snmp OBJECT IDENTIFIER ::= { mib-2 11 }


--Ακολουθεί ο πίνακας των διεπαφών (interfaces table)