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

Σχετικά έγγραφα
SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ ΙΙ

Πρωτόκολλα Διαδικτύου

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Δίκτυα Θεωρία

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

ΔΙΚΤΥΑ ΔΗΜΟΣΙΑΣ ΧΡΗΣΗΣ ΚΑΙ ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ Ενότητα #13: Διαχείριση δικτύων

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Πρωτόκολλο TCP Διάλεξη Ι

ιαδίκτυα & Ενδοδίκτυα Η/Υ

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

Διαχείριση Επικοινωνιακών Συστημάτων - Εισαγωγή ΔΙΑΧΕΙΡΙΣΗ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Δίκτυα Θεωρία

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Αρχιτεκτονικές Διαχείρισης Δικτύων (Ι) Υλοποιήσεις Client Server Το Πρωτόκολλο SNMP Δομή SNMP Agent - MIB

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Διαχείριση Δικτύων με τη χρήση SNMP (5η άσκηση) Διαχείριση Δικτύων - Ευφυή Δίκτυα, 9 ο Εξάμηνο,

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

Μάθημα 6: Αρχιτεκτονική TCP/IP

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ. Τμήμα Πληροφορικής και Επικοινωνιών

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Δίκτυα Υπολογιστών Το επίπεδο μεταφοράς (transport layer)

Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Επαναληπτικές Ασκήσεις Μαθήματος

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

Διαχείριση Δικτύων με τη χρήση SNMP (5 η άσκηση)

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Δίκτυα Υπολογιστών I

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP);

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή στα πρωτόκολλα TCP/IP και το INTERNET 2.1. Μέσα μετάδοσης, φυσικές διευθύνσεις

α. Συνόδου β. Μεταφοράς γ. Δικτύου δ. Διασύνδεσης δεδομένων ε. Φυσικού Επιπέδου (Μονάδες 5)

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Εισαγωγή Πρότυπο τριών Διαστάσεων Λειτουργίας Μοντέλο Διαχείρισης FCAPS Το Δίκτυο του Ε.Μ.Π. Περιβάλλον Εργαστηριακών Ασκήσεων

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ΠΡΩΤΟΚΟΛΛΟ TCP/IP ΜΑΚΡΟΠΟΥΛΟΣ ΝΙΚΟΛΑΟΣ

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

ΔΙΚΤΥΑ (15-17) Π. Φουληράς

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ

Εργαστήριο Δικτύων Υπολογιστών

HY-335a Project: microtcp *, μία lightweight TCP βιβλιοθήκη

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

Επίπεδο Δικτύου: Διαδικτύωση

Κεφάλαιο > Ε Π Α Ν Α Λ Η Ψ Η Επικοινωνιακό Υποδίκτυο / TCP / UDP. Σελ

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Δίκτυα και Διαδίκτυο

Νέες Επικοινωνιακές Τεχνολογίες

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

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Network Address Translation (NAT)

Εισαγωγή στο διαδίκτυο

Β1. Σε ένα τοπικό δίκτυο τοπολογίας Ethernet-TCP/IP το επίπεδο πρόσβασης δικτύου περιλαμβάνει:

Δίκτυα Επικοινωνιών ΙΙ: ATM

Παραδείγµατα δικτυακών τεχνολογιών. Ethernet Internet ATM

Διαχείριση και Ασφάλεια Τηλεπικοινωνιακών Συστημάτων

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

Αλεξάνδρειο ΤΕΙ Θεσσαλονίκης Τμήμα Πληροφορικής ΔΙΑΔΙΚΤΥΑ ΜΕ TCP / IP. Βίτσας Βασίλειος

Φύλλο Εργασίας 1 ου Κεφαλαίου

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου

Η απάντηση αυτή λαμβάνει 5 μονάδες. Και αφού βέβαια ο εξεταζόμενος γράψει το γράμμα της σωστής απάντησης μόνο.

Δίκτυα Υπολογιστών Ενότητα 4: Transmission Control Protocol - TCP

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

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ 1 στα Δίκτυα Υπολογιστών

Improving the performance of TCP in the case of packet reordering. Στρατάκη Μαρία

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Γ Τάξη ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΑ.Λ. ΤΕΤΡΑΔΙΟ ΜΑΘΗΤΗ Κωνσταντοπούλου Μ., Χρυσοστόμου Γ.

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

1.8 Το μοντέλο OSI 1 / 33

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΜΗΧΑΝΙΣΜΟΙ ΔΙΑΧΕΙΡΙΣΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕΣΩ ΤΟΥ ΠΡΩΤΟΚΟΛΛΟΥ SNMP ΑΛΕΞΙΟΣ Β. ΛΕΚΙΔΗΣ Α.Ε.Μ. : 6121 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΜΗΤΡΑΚΟΣ ΔΗΜΗΤΡΙΟΣ Ιούλιος 2011, Θεσσαλονίκη

2

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

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

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. 5

Περιεχόμενα Κατάλογος εικόνων... 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 6

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 7

Κατάλογος εικόνων 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 8

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 9

Λίστα πινάκων 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 10

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

Αναλυτικότερα, η εν λόγω εργασία αποτελείται από τρία μέρη : Το πρώτο μέρος (Κεφάλαιο 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 και ελέγχει την 12

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

ΚΕΦΑΛΑΙΟ 1 : ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ 1.1 Εισαγωγικά Τα τελευταία χρόνια τα δίκτυα υπολογιστών και τα συστήματα κατανεμημένης επεξεργασίας έχουν γνωρίσει μεγάλη ανάπτυξη. Η τάση στην ανάπτυξη των συστημάτων αυτών είναι προς την κατεύθυνση μεγαλύτερων και πολυπλοκότερων δικτύων τα οποία θα υποστηρίζουν περισσότερες εφαρμογές και περισσότερους χρήστες. Συνεπώς, έχει αυξηθεί σημαντικά η πιθανότητα να συμβεί κάποιο λάθος και έτσι ολόκληρο το δίκτυο ή ένα μέρος του να τεθεί εκτός λειτουργίας ή να μειωθεί η αξιοπιστία και η απόδοση του. Ειδικά σε ένα μεγάλο τοπικό δίκτυο (που μπορεί να έχει έκταση ενός μεγάλου κτιριακού συγκροτήματος ή ενός ιδρύματος όπως το Πανεπιστήμιο), η συντήρηση και ο έλεγχος του μπορεί να είναι μια διαδικασία ασύμφορη, επίπονη και χρονοβόρα, που απαιτεί να ασχοληθούν αρκετοί άνθρωποι. Οι παραπάνω λόγοι σε συνδυασμό με την πολυπλοκότητα των δικτύων και την ύπαρξη συσκευών που ανήκουν σε διαφορετικούς κατασκευαστές έχουν καταστήσει αναγκαία την ανάπτυξη εργαλείων που θα βοηθήσουν στην αυτόματη και αποτελεσματικότερη διαχείριση των δικτύων. Έτσι έχουν αναπτυχθεί τα ανάλογα πρωτόκολλα και βάσεις διαχείρισης πληροφοριών καθώς και το αντίστοιχο λογισμικό το οποίο χρησιμοποιείται, ώστε να είναι εφικτή η διαχείριση του δικτύου. Με τον όρο «Διαχείριση Δικτύου» εννοούμε τη διαδικασία του αυτόματου (ή όσο το δυνατόν αυτοματοποιημένου) ελέγχου ενός οποιουδήποτε δικτύου υπολογιστών, ώστε το κόστος συντήρησης του να είναι κατά το δυνατόν μικρότερο και η απόδοση του η καλύτερη δυνατή. Γενικά, οι βασικοί σκοποί της διαχείρισης του δικτύου είναι οι εξής: Η ικανοποιητική και αξιόπιστη λειτουργία του ακόμα και κάτω από συνθήκες υπερφόρτωσης ή βλάβης, καθώς επίσης και κάτω από αλλαγές της διαμόρφωσης του δικτύου (όπως μπορεί να είναι η εισαγωγή νέων συσκευών ή υπηρεσιών). Η βελτίωση της απόδοσης του, η οποία σχετίζεται με την ποιότητα και την ποσότητα των υπηρεσιών που παρέχονται στους χρήστες. Τα συστήματα διαχείρισης ενός δικτύου αντιγράφουν την γνωστή λογική του συστήματος πελάτη εξυπηρετητή, μόνο που στην περίπτωση ενός συστήματος διαχείρισης ο πελάτης ονομάζεται διαχειριστής και ο εξυπηρετητής ονομάζεται αντιπρόσωπος. 14

Ένα σύστημα διαχείρισης δικτύου αποτελείται από τα παρακάτω στοιχεία: 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. 15

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

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

Παρακάτω φαίνεται η γενική μορφή της κεντρικής αρχιτεκτονικής διαχείρισης: Εικόνα 1.2 - Κεντρική αρχιτεκτονική διαχείρισης δικτύου 18

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

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

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

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 22

Αναλυτικότερα : 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) περιέχει τη λογική που απαιτείται για την υποστήριξη των διαφόρων εφαρμογών του χρήστη. Για κάθε διαφορετικό τύπο εφαρμογής χρειάζεται μία ξεχωριστή μονάδα, που είναι ειδική σε αυτή την εφαρμογή. 23

Στην παρακάτω εικόνα απεικονίζεται η ενθυλάκωση των δεδομένων του επιπέδου εφαρμογής, κατεβαίνοντας στα επίπεδα του μοντέλου TCP/IP. Εικόνα 1.6 - Παράδειγμα ενθυλάκωσης δεδομένων μέσα σε πακέτο IP 1.4 Πρωτόκολλα Μεταφοράς Το πρωτόκολλο μεταφοράς παρέχει μία από άκρη σε άκρη(end-to-end) υπηρεσία μεταφοράς δεδομένων που απομονώνει τα πρωτόκολλα ανωτέρου επιπέδου από τα χαρακτηριστικά των δικτύων. Ένα πρωτόκολλο μπορεί, είτε να λειτουργεί με σύνδεση (connection-oriented), όπως το TCP, είτε χωρίς αυτή (connectionless), όπως το UDP. Σε μια αρχιτεκτονική πρωτοκόλλου, το πρωτόκολλο μεταφοράς μπαίνει πάνω από το επίπεδο διαδικτύου, το οποίο παρέχει τις σχετικές με το δίκτυο υπηρεσίες, και κάτω από το επίπεδο εφαρμογής. Το πρωτόκολλο μεταφοράς παρέχει στους χρήστες υπηρεσίες μεταφοράς, οι οποίες λειτουργούν μέσω μιας τοπικής οντότητας μεταφοράς που έρχεται σε επαφή με κάποια απομακρυσμένη, χρησιμοποιώντας τις υπηρεσίες κάποιου χαμηλότερου επιπέδου. Η γενική υπηρεσία που παρέχεται από ένα πρωτόκολλο μεταφοράς είναι η μεταφορά δεδομένων κατά τρόπο που να προφυλάσσει το χρήστη από τις λεπτομέρειες των υποκείμενων επιπέδων. 24

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 25

Επεξήγηση δεδομένων του παραπάνω πίνακα : 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 Το πεδίο επιβεβαίωσης είναι σημαντικό ACKnowledgment PSH Λειτουργία ώθησης PuSH RST Αναρρύθμιση σύνδεσης ReSeT SYN Συγχρονισμός αριθμών ακολουθίας SYNchronize FIN Ο αποστολέας δεν στέλνει άλλα δεδομένα FIN (=τέλος) Πίνακας 1.2 - Καθορισμένοι δείκτες της κεφαλίδας Window (Παράθυρο) Το μέγιστο μέγεθός του είναι 16bit και ορίζει το μέγεθος του λαμβανόμενου παραθύρου (received window). Περιέχει δηλαδή τον αριθμό των bytes δεδομένων, ξεκινώντας από το byte το οποίο ορίζει το πεδίο επιβεβαίωσης λήψης (ACK), που ο αποστολέας επιθυμεί να δεχτεί. Checksum (Άθροισμα ελέγχου) Το πεδίο Checksum μεγέθους 16 bit χρησιμοποιείται για έλεγχο λαθών στην επικεφαλίδα και στα δεδομένα. 26

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. Η αθροιστική, σύμφωνα με την οποία αφού γίνουν αποδεκτά τα δεδομένα καταγράφεται η ανάγκη επιβεβαίωσης λήψης, δηλαδή αναμένεται ένα εξερχόμενο τμήμα με δεδομένα πάνω στο οποίο θα καταγραφεί η 27

επιβεβαίωση λήψης. Όταν το 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 28

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

Παρακάτω παρατίθεται η γενική μορφή της κεφαλίδας του 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). 30

1.4.3 Διαφορές TCP και UDP Τα δύο πρωτόκολλα διαφέρουν πλήρως, κυρίως λόγω της λειτουργίας τους. Το TCP στηρίζεται στη δημιουργία συνδέσεων μεταξύ αποστολέα και παραλήπτη, ενώ στο UDP δεν υπάρχει καθόλου η έννοια της σύνδεσης και κάθε πακέτο διανύει το δίκτυο αυτόνομα και όχι σαν ένα σύνολο πακέτων σε μια σύνδεση. Γι αυτό το λόγο η εστίαση δεν γίνεται στη σύγκριση μεταξύ των δύο πρωτοκόλλων, αλλά στις διαφορές τους. Στον παρακάτω πίνακα παρουσιάζονται οι τρεις βασικότερες διαφορές τους όπως αναφέρθηκαν παραπάνω. TCP UDP Αξιόπιστο Αναξιόπιστο Σειρά πακέτων Μη ύπαρξη σειράς Βαρύ και σύνθετο Ελαφρύ και απλό Πίνακας 1.4- Διαφορές TCP-UDP Λόγω αυτών των διαφορών είναι σημαντικό να τονιστεί ότι το πρωτόκολλο που θα επιλεγεί για τη μεταφορά των δεδομένων από τον αποστολέα στον παραλήπτη είναι καθαρά θέμα της εκάστοτε εφαρμογής. 31

ΚΕΦΑΛΑΙΟ 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), η οποία ήταν σαφώς βελτιωμένη σε σχέση με 32

την πρώτη έκδοση, και αργότερα δημιουργήθηκε η τρίτη έκδοση του (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: Αυτή η εντολή χρησιμοποιείται μόνο από τον αντιπρόσωπο και ενημερώνει το σταθμό διαχείρισης, όποτε και αν χρειαστεί, για την πραγματοποίηση ενός γεγονότος. 33

Πιο αναλυτικά ο 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 όπως προαναφέρθηκε. 34