Εισαγωγή

Σε αυτή την πτυχιακή εργασία παρουσιάζονται τεχνολογίες σχετικές με τα δίκτυα ομότιμων κόμβων, μία περιοχή της επιστήμης της πληροφορικής, η οποία αναπτύχθηκε, κυρίως, λόγω του μη αποδοτικού μοντέλου συστημάτων πελάτη-εξυπηρετητή (client-server). Η αδυναμία του μοντέλου αυτού έγινε γρήγορα εμφανής με την παγκόσμια εξάπλωση και διάδοση του Παγκόσμιου Ιστού (World Wide Web, WWW). Η αιτία είναι απλή: το μοντέλο πελάτη-εξυπηρετητή καθιστά αδύνατη την ταυτόχρονη παροχή πόρων και υπηρεσιών σε πολλούς χρήστες, ο αριθμός των οποίων ανέρχεται στην τάξη των εκατομμυριών, ίσως και δισεκατομμυρίων ανά τον κόσμο. Τέτοια συστήματα μπορεί να παρουσιάσουν δυσλειτουργίες, όταν τους αιτηθεί μεγάλος αριθμός εξυπηρετήσεων, όπως καθυστέρηση στην εξυπηρέτηση ή ακόμα χειρότερα ανεπανόρθωτες βλάβες από τις οποίες δεν υπάρχει δυνατότητα αυτόματης επανάκαμψης, δηλαδή, χωρίς την επέμβαση του ανθρώπινου παράγοντα. Εκτός αυτού, είναι συχνό φαινόμενο διάσημες υπηρεσίες υλοποιημένες πάνω σε αυτό το μοντέλο συστήματος να γίνονται θύματα επιθέσεων κακόβουλων στοιχείων, όπως hackers.

Αυτά τα προβλήματα, λοιπόν, ενεργοποίησαν και κατεύθυναν τους ερευνητές της επιστήμης της πληροφορικής προς ένα άλλο μοντέλο συστήματος, το οποίο έχει ανοχή σε τέτοιες δυσλειτουργίες, με ενσωματωμένους τρόπους επανάκαμψης και παρουσιάζει λογικούς ρυθμούς απόκρισης σε αιτήσεις πελατών. Αυτό το μοντέλο είναι γνωστό και ως Δίκτυο Ομότιμων Κόμβων (peer-to-peer network, p2p network). Σε ένα τέτοιο μοντέλο δεν υπάρχει η διάκριση μεταξύ πελάτη και εξυπηρετητή. Αντίθετα, κάθε κόμβος είναι στο ίδιο ιεραρχικό επίπεδο, δρα δηλαδή ταυτόχρονα και ως πελάτης και ως εξυπηρετητής. Σε ένα τέτοιο μοντέλο, οι πόροι διατείθενται και αποθηκεύονται σε πολλούς κόμβους από ότι σε έναν. Με αυτόν τον τρόπο η πρόσβαση σε ένα συγκεκριμένο πόρο είναι ευκολότερη, ταχύτερη, και αποδοτικότερη, διότι τώρα η πιθανότητα όλοι οι κόμβοι που παρέχουν έναν συγκεκριμένο πόρο να είναι εκτός δικτύου είναι ελάχιστη. Βέβαια, την αυξημένη απόδοση εξυπηρέτησης αιτήσεων έρχεται να αντισταθμίσει η πολυπλοκότητα αλγορίθμων διαχείρισης ενός τέτοιου συστήματος καθώς και επιπρόσθετα προβλήματα ασφάλειας. Μία τεχνολογία που είναι ευρέως διαδεδομένη και έρχεται να αντιμετωπίσει αυτό το πρόβλημα της πολυπλοκότητας εντοπισμού και διαμοιρασμού των πόρων μεταξύ των κόμβων του συστήματος είναι οι Κατανεμημένοι Πίνακες Κατακερματισμού (Distributed Hash Tables, DHTs), οι οποίοι αποτελούν και το κύριο κομμάτι ενασχόλησης και αφορμή αυτής της πτυχιακής εργασίας. Γενικά, αυτοί οι πίνακες είναι χρήσιμοι για την αποθήκευση πόρων και την εύκολη και γρήγορη ανάκτησή τους. Παράλληλα, συνεισφέρουν σε σημαντικό βαθμό σε αυτό που λέγεται ανοχή σε σφάλματα (fault tolerance). Για παράδειγμα σε μία περίπτωση, όπου ένας κόμβος τίθεται εκτός δικτύου, με τη χρήση του κατανεμημένου πίνακα κατακερματισμού οι πόροι αυτού του κόμβου μετατείθονται στην δικαιοδοσία άλλων κόμβων του δικτύου σύμφωνα, βέβαια, με κάποιους αλγόριθμους δρομολόγησης.

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



Subsections

Charalampos Nikolaou 2008-04-02