Εισαγωγικά Θέματα WWW Δίκτυα Ομοτίμων p2p
Τι είναι το P2P Το P2P αναφέρεται σε μια κατηγορία συστημάτων και εφαρμογών που χρησιμοποιούν διασκορπισμένους πόρους για να εκτελέσουν μια λειτουργία με έναν αποκεντρωτικό τρόπο. Διανομή πόρων και υπηρεσιών υπολογιστών μέσω ευθείας ανταλλαγής μεταξύ συστημάτων. Επιτρέπει στους χρήστες να μοιράζονται τους πόρους τους μέσω μιας, στη χειρότερη, εξαιρετικά περιορισμένης αλληλεπίδρασης με έναν κεντρικό server. Πόροι προς διαμοιρασμό: αρχεία, αποθηκευτικός χώρος, υπολογιστική δύναμη, bandwidth.
… Όλοι οι χρήστες μπορούν να παίξουν συγχρόνως το ρόλο του πελάτη και του εξυπηρετητή. Το αντίθετο, θα λέγαμε, απ΄ το αρχιτεκτονικό μοντέλο client / server.
Χωρίς Κεντρικό Server
Με Κεντρικό Server
Ιδιότητες Αποκέντρωση (και στη διαχείριση) Αυτονομία (οι κόμβοι αποφασίζουν τι δεδομένα να αποθηκεύσουν, ποια μηνύματα να προωθήσουν κτλ.) Δυναμική συμμετοχή Εγωιστική συμπεριφορά Προβλήματα εμπιστοσύνης και ασφάλειας
ΠΙΘΑΝΑ ΜΕΙΟΝΕΚΤΗΜΑΤΑ Αμφίβολη ποιότητα δικτύου Κάποιοι κόμβοι μπορεί να έχουν σύνδεση χαμηλής ποιότητας. Πλαστό περιεχόμενο Δεν υπάρχει κεντρική διοίκηση για να ελέγχει την ποιότητα και το περιεχόμενο των αρχείων. Προβλήματα ασφάλειας Ο παράδεισος των cracker Έλλειψη ρύθμισης Παράδειγμα: free rider
Στόχοι Διανομή / μείωση δαπανών: Το κόστος διαμοιράζεται στους server φιλοξενίας. Βελτιωμένη εξελιξιμότητα / αξιοπιστία: Καμία ισχυρή κεντρική αρχή. Συνάθροιση και διαλειτουργικότητα των πόρων: Κάθε P2P κόμβος φέρνει τους πόρους που μπορούν να αθροιστούν.
… Αυξανόμενη αυτονομία: Ανωνυμία / μυστικότητα: Δυναμισμός: Οι δραστηριότητες εκτελούνται τοπικά από τους server φιλοξενίας Ανωνυμία / μυστικότητα: Δεδομένου ότι οι δραστηριότητες εκτελούνται τοπικά, οι χρήστες δεν χρειάζεται να παρέχουν οποιεσδήποτε πληροφορίες για τους εαυτούς τους. Δυναμισμός: Τα P2P συστήματα θεωρούν δεδομένο ότι οι πόροι θα εισάγονται και θα αφήνουν το σύστημα συνεχώς.
… Διευκόλυνση της ad-hoc επικοινωνίας και της συνεργασίας:
ΦΙΛΟΣΟΦΙΑ Δυο Είδη Συστημάτων Ομοτίμων ΑΔΟΜΗΤΑ ΔΟΜΗΜΕΝΑ
ΑΔΟΜΗΤΑ Δεν υπάρχει κεντρικός εξυπηρετητής Οι κόμβοι συνδέονται μεταξύ τους με τυχαίο τρόπο Αναζήτηση Κόμβου: Κάποιο είδος μετάδοσης σε όλους π.χ. Πλημμύρα (flooding) Η θέση των δεδομένων δεν ελέγχεται από το σύστημα Δεν υπάρχει εγγύηση για την επιτυχία μιας αναζήτησης (ακόμα κι αν το αντικείμενο υπάρχει) Δεν υπάρχει όριο στο χρόνο αναζήτησης
ΔΟΜΗΜΕΝΑ Το δίκτυο ακολουθεί αυστηρή και συγκεκριμένη δομή π.χ. Δακτύλιος (CHORD), Grid (CAN) Τα δεδομένα (ή πληροφορία / ευρετήριο) για τα δεδομένα τοποθετούνται σε συγκεκριμένους κόμβους Γρήγορη αναζήτηση Κόστος συντήρησης του δικτύου
ΜΟΝΤΕΛΑ Ρ2Ρ Υβριδικό (Hybrid) Απλό (Pure) Υπερ-ομότιμοι (Super-peers)
Υβριδικό (Hybrid) Server διευκολύνουν την αλληλεπίδραση μεταξύ των κόμβων Κεντρικός server με κατευθυντικές δραστηριότητες π.χ. ευρετήριο Παράδειγμα: Napster, ICQ
Απλό (Pure) Οι κόμβοι έχουν την ίδια ικανότητα κι ευθύνη Συμμετρική επικοινωνία. Δεν υπάρχει κεντρικός server. Όλοι οι κόμβοι μπορούν να λειτουργούν και σαν πελάτες και σαν εξυπηρετητές Παράδειγμα: Gnutella, Freenet
Υπερ-ομότιμοι (Super-peers) Υπερ-ομότιμος σε ένα δίκτυο ομοτίμων είναι ένας κόμβος που λειτουργεί σαν εξυπηρετητής απέναντι σε μια ομάδα πελατών και ως ομότιμος σε ένα δίκτυο υπερ-ομοτίμων Τα δίκτυα υπερ-ομοτίμων προσπαθούν να συνδυάσουν την αποδοτικότητα της συγκεντρωτικού μοντέλου οργάνωσης με την αυτονομία του κατακερματισμένου μοντέλου οργάνωσης Παράδειγμα: Kazaa
Παραδείγματα Ρ2Ρ Napster Kazaa
Napster Δημιουργήθηκε το 1999 απ’ τον Shawn Fanning, πρωτοετή φοιτητή στο Northeastern University Σκοπός η δωρεάν ανταλλαγή μουσικών αρχείων MP3 Κεντρικός server – ευρετήριο (υβριδικό μοντέλο) Σημαντικά νομικά προβλήματα Ο Napster υποστήριξε ότι τα αρχεία είναι προσωπικά αρχεία που ο καθένας έχει στον υπολογιστή του, οπότε ο Napster δε φέρει καμία ευθύνη
Kazaa Ένας κεντρικός εξυπηρετητής χειρίζεται τα id των χρηστών Αρχιτεκτονική: Μοντέλο Υπερ-ομοτίμων Το κόστος λειτουργίας του συστήματος καλύπτεται από διαφημίσεις στην επιφάνεια εργασίας
Περιβάλλον Εργασίας Ρ2Ρ Η περίπτωση του LimeWire