ΟΜΟΤΙΜΑ ΔΙΚΤΥΑ (6)


(ΣΥΝΕΧΕΙΑ ΑΠΟ 3/04/2017)

ΑΣΦΑΛΕΙΑ ΟΜΟΤΙΜΩΝ ΔΙΚΤΥΩΝ

Εισαγωγή

Η γέννηση νέων αναγκών και η συνεχώς αυξανόμενη και ευρέως διαδεδομένη διαθεσιμότητα δεδομένων από πηγές πληροφοριών του διαδικτύου έχει δημιουργήσει μεγάλο ενδιαφέρον όσον αφορά στις δυνατότητες ανταλλαγής πληροφοριών. Στα πλαίσια αυτά δημιουργήθηκαν το μοντέλο Peer to Peer (P2P) ή αλλιώς δίκτυα ομότιμων κόμβων. Τα P2P δίκτυα είναι μια κατηγορία δικτύων στην οποία κάθε υπολογιστής (κόμβος) που μετέχει είναι ισότιμος, έχει ίδια δικαιώματα και υποχρεώσεις. Δεν υπάρχει, δηλαδή, η έννοια του πελάτη και του εξυπηρετητή, καθώς κάθε κόμβος μπορεί να έχει και τους δύο ρόλους. Με τον τρόπο αυτό μεταφέρουμε την “ευφυΐα” του δικτύου στα άκρα του και όχι σε κάποιους συγκεκριμένους κόμβους. Ένας πιο τυπικός ορισμός θα έλεγε ότι τα δίκτυα ομότιμων είναι μια κλάση αρχιτεκτονικής δικτύου και εφαρμογών που χρησιμοποιούν κατανεμημένους πόρους με στόχο να πραγματοποιήσουν εργασίες δρομολόγησης και δικτύωσης με ένα αποκεντρωμένο και αυτό-οργανονούμενο τρόπο.

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

Μάλιστα, αυτή η τροποποίηση των συστημάτων P2P οδηγεί σε ένα πολύ πιο συνεκτικό και αξιόπιστο δίκτυο. Αυτό συμβαίνει διότι, ενώ στην αρχιτεκτονική πελάτη – εξυπηρετητή (Client – Server Model), πιθανή δυσλειτουργία του εξυπηρετητή θέτει εκτός λειτουργίας όλο το σύστημα, στα συστήματα διαμοιρασμού αρχείων, πιθανή βλάβη σε έναν από τους προσωπικούς υπολογιστές δεν έχει αξιοσημείωτη επίπτωση στο δίκτυο. Σε ένα δίκτυο πελάτη – εξυπηρετητή (Client – Server Model), η μεγάλη πλειοψηφία του περιεχομένου αποθηκεύεται στον κεντρικό εξυπηρετητή (server). Οι πελάτες μπορούν να έχουν πρόσβαση σε αυτό το περιεχόμενο, αλλά οποιαδήποτε ευθύνη αποθήκευσης περιεχομένου εναπόκειται στον κεντρικό εξυπηρετητή. Σε ένα σύστημα P2P το περιεχόμενο βρίσκεται εγκατεστημένο σε μεμονωμένους υπολογιστές. Ένας χρήστης του συστήματος μπορεί να λάβει αυτά τα περιεχόμενα ή κομμάτι τους, αποκτώντας πρόσβαση στον ίδιο τον προσωπικό υπολογιστή που τα διατηρεί. Σε αντάλλαγμα ο χρήστης δίνει την άδειά του για ελεύθερη πρόσβαση των υπόλοιπων ομότιμων στον δικό του υπολογιστή και κατ’ επέκταση στα δεδομένα του.

Κατά αυτό τον τρόπο, το περιεχόμενο αποκεντρώνεται (ανεξαρτητοποιείται από τον κεντρικό εξυπηρετητή) και βρίσκεται πια κατανεμημένο στο δίκτυο. Το δίκτυο παρέχει μεγάλη αυτονομία στους χρήστες και ουσιαστικά τους δίνει πλήρως τον έλεγχο. Σε ένα πραγματικό σύστημα P2P, κάθε ομότιμος λειτουργεί ανεξάρτητα και οργανώνει μόνος του κάθε του κίνηση. Όπως γίνεται προφανές, αυτό έρχεται σε πλήρη αντίθεση με την παραδοσιακή αρχιτεκτονική του εξυπηρετητή / πελάτη, όπου ο πελάτης εξαρτάται σε μεγάλο βαθμό από τον εξυπηρετητή. Το δίκτυο φιλοξενεί ομότιμους υπολογιστές που δεν βρίσκονται πάντα συνδεδεμένοι και που μπορεί να μην διαθέτουν μόνιμες διευθύνσεις IP (Internet Protocol: Πρωτόκολλο Διαδικτύου). Τα παραδοσιακά δίκτυα server/client δίκτυα ήταν εξοικειωμένα με τερματικούς κόμβους που κατείχαν μόνιμες διευθύνσεις. Η εκ των προτέρων γνώση των μόνιμων διευθύνσεων, ήταν απαραίτητη για την αμφίδρομη επικοινωνία μεταξύ εξυπηρετητή και πελάτη. Ωστόσο, σε ένα δίκτυο P2P, οι ομότιμοι υπολογιστές δεν χρειάζονται σταθερές διευθύνσεις IP, καθώς η αναγνώριση του υπολογιστή δεν έγκειται σε διάκριση τοποθεσίας ή μηχανήματος, αλλά στην αναγνώριση του χρήστη. Μάλιστα αυτή η αυτονομία των συστημάτων κοινού διαμοιρασμού αντικειμένων από την IP διευθυνσιοδότηση κρίνεται απαραίτητη για την λειτουργία του.

Η αποκεντρωμένη φύση των ομότιμων υπολογιστών, σε συνδυασμό με το γεγονός του ότι οι Παροχείς Υπηρεσιών Δικτύου (ISP: Internet Service Provider) παρέχουν διευθύνσεις IP δυναμικά, καθιστούν απαραίτητο για τις εφαρμογές P2P εφαρμογές να λειτουργούν εκτός του Συστήματος Ονοματοδοσίας Δικτύων (DNS: Domain Name System). Τα δίκτυα αυτά είναι χρήσιμα για ποικίλους σκοπούς. Ο διαμοιρασμός αρχείων που περιέχουν ήχο, εικόνα, δεδομένα ή οτιδήποτε άλλο σε ψηφιακή μορφή είναι πολύ συνηθισμένος, ενώ και δεδομένα πραγματικού χρόνου, όπως η τηλεφωνική κίνηση, μπορούν να περαστούν χρησιμοποιώντας τεχνολογία ομότιμων. Πρέπει να αναφερθεί ότι το αρχικό Internet είχε σχεδιαστεί σαν ένα σύστημα peer to peer. Με τον καιρό όμως εξελίχθηκε σε τύπου client-server όπου οι πελάτες ήταν εκατομμύρια και επικοινωνούσαν με ένα περιορισμένο αριθμό servers. Έτσι οι σημερινές εφαρμογές χρησιμοποιούν το Internet όπως αρχικά είχε σχεδιασθεί δηλαδή σαν ένα μέσο επικοινωνίας για υπολογιστές που μοιράζονται πόρους, αρχεία και ότι άλλο απευθείας ο ένας με τον άλλο. Είναι χαρακτηριστικό ότι στην Γερμανία ένα 70% της κίνησης στο ερευνητικό δίκτυο προέρχεται από εφαρμογές P2P.

 

image

Κεφάλαιο 1

1. Ιστορική αναδρομή και η εξέλιξη τω ν P2P

Πριν συζητήσουμε την ιστορία των υπολογιστών Peer to Peer (P2P), πρέπει πρώτα να καταλάβουμε τι είναι. Ο όρος P2P δημιουργήθηκε για να περιγράψει τα δίκτυα εκείνα τα οποία έχουν την απαίτηση οι χρήστες τους να μοιράζονται με τα υπόλοιπα μέλη του δικτύου τα αρχεία τους, τους υπολογιστικούς τους πόρους ή οτιδήποτε άλλο απαιτηθεί για κάποιο κοινό σχέδιο. Πριν δημιουργηθεί αυτός ο όρος και εφαρμοστεί στην πράξη, οι χρήστες του Internet αλληλεπιδρούσαν μεταξύ τους μεν αλλά με δύσχρηστους και αργούς τρόπους όπως πχ με τα mail και μέσω ομάδων cn^TT^a)v(newsgroups). Μπορούσαν να στείλουν ο ένας στον άλλο αρχεία χωρίς να γίνεται έλεγχος των συναλλαγών αυτών από κάποιον κεντρικό φορέα. Δεν μπορούσαν όμως να συζητήσουν σε πραγματικό χρόνο πάνω σε αυτά, να τα οργανώσουν σε κατηγορίες ή να σημειώνουν σχόλια πάνω σε αυτά. Η εισαγωγή αυτού του τρόπου αλληλεπίδρασης στο διαδίκτυο θα βελτίωνε τον τρόπο με τον οποίο οι χρήστες επικοινωνούσαν μεταξύ τους. Αν και ο όρος αυτός υπάρχει εδώ και λίγο καιρό ο τρόπος λειτουργίας του και η αρχιτεκτονική του υπάρχουν εδώ και πολλά χρόνια. Στην πραγματικότητα η αρχιτεκτονική αυτή είναι η παλαιότερη στον κόσμο των επικοινωνιών. Την ιστορία των P2P δικτύων μπορούμε να την διαιρέσουμε σε τρία στάδια:

> (1969-1995) Προϊστορία Peer to Peer

> (1995-1999) Έκρηξη του Διαδικτύου

> (1999 -;) Σύγχρονες εφαρμογές

image

1.1 Προϊστορία Peer to Peer (1960-1995)

Κατά τη διάρκεια της προϊστορίας των P2P δικτύων (1960-1995), η σκέψη του P2P άνθισε μέσα από διάφορα συστήματα, αν και ο όρος αυτός δεν έγινε δεκτός εκείνη την εποχή. Μπορούμε να πούμε ότι η ομότιμη δικτύωσης άρχισε να καλλιεργείτε από την εποχή του Ψυχρού πολέμου στις αρχές της δεκαετίας του ’60. Το Υπουργείο Εθνικής Άμυνας των Ηνωμένων Πολιτειών προσπαθούσε να αναπτύξει ένα δίκτυο επικοινωνιών και διοίκησης το οποίο θα ήταν ικανό να επιβιώσει από μια ενδεχόμενη επίθεση με πυρηνικά όπλα από τη Σοβιετική Ένωση. Τότε, ιδρύθηκε η Υπηρεσία Προηγμένων Ερευνητικών Έργων (Advanced Research Projects Agency-ARPA), η οποία με τη σειρά της δημιούργησε το ARPANET, τον πρόγονο του σημερινού internet. To APRANET δεν χρησιμοποιούσε το μοντέλο Πελάτη – Εξυπηρετητή ( client – server), κάθε host ήταν ίσης μεταχείρισης. Σκοπός του ARPANET, ήταν η μεταγωγή πακέτων ανάμεσα σε ένα πλήθος ομότιμων υπολογιστών. Usenet ήταν ένα άλλο παράδειγμα, κατά το πρώτο στάδιο το οποίο παρέχει τοπικό έλεγχο και σχετικά απλή διαχείριση. Usenet είναι ουσιαστικά ο παππούς του P2P. Το Usenet για πρώτη φορά σχεδιάστηκε το 1979, αρχικά δημιουργήθηκε ως ένα δίκτυο με το οποίο θα μπορούσαν να μεταδίδονται νέα και πληροφορίες ανάμεσα στους φοιτητές των πανεπιστημίων University of North Carolina και Duke University, ενώ στη συνέχεια έγινε εφικτή και η ανταλλαγή μικρών αρχείων με αρκετούς, όμως, περιορισμούς. Το σύστημα Usenet βασίστηκε αρχικά σε μια εγκατάσταση που ονομάζεται Unix to Unix πρωτόκολλο αντιγραφής, ή UUCP. To UUCP ήταν ένας μηχανισμός με τον οποίο ένα Unix μηχάνημα θα καλούσε αυτόματα ένα άλλο με σκοπό την ανταλλαγή αρχείων με αυτό, και ακολούθως αποσύνδεση.

Ο μηχανισμός αυτός επέτρεψε στις διαδικτυακές Unix τοποθεσίες την ανταλλαγή e-mail, αρχείων, patches του συστήματος, ή άλλα μηνύματα. To Usenet σήμερα χρησιμοποιεί πρωτόκολλο με βάση TCP / IP που είναι γνωστό ως Network News Transport Protocol (ΝΝΤΡ), το οποία επιτρέπει σε δύο υπολογιστές στο δίκτυο Usenet να ανακαλύψουν νέες ομάδες συζήτησης με αποτελεσματικότητα και να προβούν σε ανταλλαγή μηνυμάτων μεταξύ τους. Το βασικό μοντέλο του Usenet παρέχει τοπικό έλεγχο και σχετικά απλή διαχείριση. Ένα site Usenet ενώνεται με τον υπόλοιπο κόσμο, με τη δημιουργία μιας σύνδεσης ανταλλαγής ειδήσεων με ένα τουλάχιστον άλλο sever στο δίκτυο Usenet. Σήμερα, η ανταλλαγή παρέχεται συνήθως από την εταιρία ISP(Intemet Service Provider).

Ο διαχειριστής της εταιρείας μπορεί να ελέγχει το μέγεθος των μεταφερόμενων δεδομένων, προσδιορίζοντας ποιος server θα τα μεταφέρει. Επιπλέον, ο διαχειριστής μπορεί να καθορίσει μια στιγμή λήξης αναλόγως την ομάδα ή την ιεραρχία, έτσι ώστε τα άρθρα σε μια ομάδα συζήτησης να ανακτώνται για ένα ορισμένο χρονικό διάστημα. Οι έλεγχοι αυτοί επιτρέπουν σε κάθε οργανισμό να συμμετάσχει εθελοντικά στο δίκτυο με τους δικούς του όρους. Πολλοί οργανισμοί αποφασίζουν να μην μεταφέρονται για παράδειγμα newsgroups που μεταδίδουν σεξουαλικό περιεχόμενο ή παράνομο υλικό. Αυτή είναι μια ειδοποιός διαφορά από το Freenet, το οποίο (ως επιλογή του σχεδιασμού) δεν επιτρέπει σε έναν χρήστη να ξέρει τι υλικό έχει λάβει. Ακόμη και στην φυσική ιεραρχική Domain Name System (DNS), θα μπορούσαμε να δούμε την σκιά των P2P δικτύων, καθώς και κατά τις πρώτες ημέρες του Internet, ο τρόπος να χαρτογραφήσεις ένα πιο ανθρώπινα φιλικό όνομα όπως ΒΒΝ σε μια διεύθυνση IP (όπως 4.2.49.2) ήταν μέσω ενός και μόνο απλού αρχείου, hosts.txt το οποίο διανεμόταν παντού. Δεδομένου ότι το δίκτυο αυξήθηκε σε χιλιάδες hosts και η διαχείριση αυτού του αρχείου κατέστη αδύνατη, το DNS εξελίχθηκε ως ένας τρόπος για να διανέμονται τα δεδομένα σε ολόκληρο το τότε P2P Internet.

To DNS στο σύνολό του λειτουργεί εκπληκτικά καλά, έχοντας κλίμακα έως 10.000 φορές το αρχικό του μέγεθος. Υπάρχουν πολλά βασικά στοιχεία σχεδιασμού του DNS που έχουν αναπαραχθεί σε πολλά κατανεμημένα συστήματα σήμερα. Ένα στοιχείο είναι ότι οι hosts μπορούν να λειτουργήσουν τόσο ως πελάτες όσο και ως servers, διανέμοντας αιτήσεις όταν χρειαστεί. Το δεύτερο στοιχείο είναι η φυσική μέθοδος διανομής requests σε όλο το δίκτυο. Κάθε DNS server μπορεί να θέσει ερωτήματα σε οποιοδήποτε άλλο, αλλά σε κανονική λειτουργία υπάρχει ένα πρότυπο μονοπάτι μέσω της αλυσίδας ιεραρχίας. Το φορτίο κατανέμεται φυσικά σε όλο το δίκτυο DNS, έτσι ώστε κάθε name server να εξυπηρετεί μόνο τις ανάγκες των πελατών του και του namespace που διαχειρίζεται ατομικά. Έτσι, από πρώτα στάδια του, το Internet χτίστηκε βασισμένο σε Ρ2Ρμορφές επικοινωνίας. Ένα πλεονέκτημα αυτής της ιστορίας είναι ότι έχουμε την εμπειρία να αντλήσουμε για το σχεδιασμό νέων Ρ2Ρσυστημάτων.

1.2 Η έκρηξη του Διαδικτύου (1995-1999)

Κατά το δεύτερο στάδιο της έκρηξης του Διαδικτύου (1995-1999). Το διαδίκτυο απομακρύνθηκε από την λογική της ‘’όμοιος-προς-όμοιο” αρχιτεκτονικής, και σταδιακά έδωσε τη θέση του στο μοντέλο πελάτη – εξυπηρετητή (client – server). Αυτό προέκυψε λόγο ο τι όταν τα πρώτα δίκτυα P2P άρχισαν να αναπτύσσονται, στις αρχές της δεκαετίας του 90, είχαν άκρως περιορισμένη εφαρμογή, σε εσωτερικές διαδικασίες εταιριών ή στην ανταλλαγή πληροφοριών μεταξύ συνεργαζόμενων ερευνητών. Έτσι ένα τεράστιο σύνολο καθημερινών ανθρώπων άρχισε να χειρίζεται το διαδίκτυο ως μέσο για να ανταλλάσσει γράμματα ηλεκτρονικού ταχυδρομείου, να αποκτά πρόσβαση σε ιστοσελίδες και να αγοράζει αγαθά.

Η ιδέα του ισόνομου διαμοιρασμού αρχείων στο διαδίκτυο, άρχισε να ξεθωριάζει και το διαδίκτυο γρήγορα έγινε ένα μέσο παρόμοιο με την τηλεόραση και τις εφημερίδες. Έτσι, θεωρώντας αυτή την εικόνα του διαδικτύου ως μόνιμη, οι σχεδιαστές του ανέπτυξαν συστήματα που δεν υποστήριζαν την λογική P2P, αλλά μια αρχιτεκτονική σχεδίαση που ονομάστηκε B2C ( Business-to-Consumer: Εταιρεία- προς-καταναλωτή). Καθώς όμως τα συστήματα κοινού διαμοιρασμού αρχείων ήδη υπήρχαν, η περαιτέρω ανάπτυξή τους φάνταζε εμπόδιο στην εξάπλωση του διαδικτύου, η οποία είχε βασιστεί στην λογική πελάτης – εξυπηρετητής.

1.3 Σύγχρονες εφαρμογές Peer to Peer (1999

Το τρίτο στάδιο των P2P δικτύων (1999 -;) είναι το στάδιο κατά το οποίο η έννοια των P2P, επισήμως χρησιμοποιείται και ευρέως αποδεκτή. Αυτό το στάδιο μπορούμε να χωρίσουμε σε 3 γενιές.

1.3.1 Το πρώτο Peer to Peer δίκτυο Η μεγάλη επανάσταση στον διαμυιρασμό αρχείων έγινε το 1999 όταν εμφανίστηκε το πρώτο P2P δίκτυο, το περίφημο πλέον Napster, δημιουργός του οποίου ήταν ο, μόλις δεκαοκτώ τότε ετών, Shawn Fanning. Αυτή η πρωτοποριακή τεχνολογία επέτρεπε σε χρήστες από όλο τον κόσμο να αναζητούν και να «κατεβάζουν» τραγούδια, σε μορφή Mp3, τα οποία ήταν αποθηκευμένα σε υπολογιστές άλλων χρηστών της υπηρεσίας. Μερικούς μήνες αργότερα, η Napster Inc. μετρούσε πάνω από 21 εκατομμύρια χρήστες. Ο 18 χρόνος τότε μαθητής δεν μπορούσε να φανταστεί σε καμιά περίπτωση ότι το δημιούργημα του θα άλλαζε τον τρόπο με τον οποίο απολαμβάνουμε πολυμεσικές εφαρμογές και γενικά επικοινωνούμε. Για να είναι εφικτή η αναζήτηση των αρχείων αυτών, το Napster χρησιμοποιούσε έναν κεντρικό server, στον οποίο ήταν αποθηκευμένοι οι τίτλοι όλων των τραγουδιών, τα οποία οι χρήστες της υπηρεσίας διέθεταν για διαμοιρασμό, αλλά και οι ηλεκτρονικές διευθύνσεις των χρηστών αυτών. Όταν ένας χρήστης συνδέεται στο δίκτυο τότε το πρόγραμμα-πελάτης που είναι εγκατεστημένο στον υπολογιστή του ενημερώνει τον server για τα αρχεία δηλ. τα 16 τραγούδια που διατηρεί ο χρήστης. Παρομοίως όταν ένας χρήστης φεύγει ο server ενημερώνεται κατάλληλα. Όταν ένας χρήστης ζητήσει ένα αρχείο τότε ο server ψάχνει μέσω της μηχανής αναζήτησης που διατηρεί για τους χρήστες που έχουν το συγκεκριμένο αρχείο και ενημερώνει τον χρήστη. Από κει και πέρα τον έλεγχο αναλαμβάνει το πρόγραμμα που είναι εγκατεστημένο στον χρήστη. Το πρόγραμμα αναλαμβάνει την επικοινωνία με τους άλλους χρήστες για να αρχίσει η διαδικασία αντιγραφής του αρχείου. Δηλ. το σύστημα ξεκινάει σαν κεντρικό στην πορεία όμως γίνεται αποκεντρωμένο. Καθώς το Napster αποκτούσε όλο και μεγαλύτερη φήμη αλλά και περισσότερους συνδρομητές, ένα σύνολο δισκογραφικών εταιριών, καλλιτεχνών και η Ένωση της Δισκογραφικής Βιομηχανίας της Αμερικής (RIAA), με τον ισχυρισμό της παραβίασης των πνευματικών δικαιωμάτων των ανταλλασσόμενων στο Napster μουσικών κομματιών, ξεκίνησαν μια εκστρατεία για την κατάργηση του προγράμματος. Μετά από μεγάλης διάρκειας νομικών αγώνων, η λειτουργία του Napster διακόπηκε τον Ιούλιο του 2001, αρκετά σύντομα μετά την εμφάνισή του, αλλά έχοντας πρώτα ενισχύσει όσο κανείς άλλος την μόδα της αρχιτεκτονικής P2P. Με τη Napster έκλεισε ένα κεφάλαιο μόνο από τη μεγάλη εξέλιξη του downloading η οποία ακολούθησε. Προσπερνώντας τον κεντρικό εξυπηρετητή του Napster, που ήταν και ο πιο εύκολος στόχων νομικών κυρώσεων, τα δεύτερης γενιάς P2P δίκτυα δημιούργησαν σταδιακά την εικόνα και την πληθώρα επιλογών που υπάρχει σήμερα.

1.3.2 Τα συστήματα κοινής χρήσης αρχείων δεύτερης γενιάς

Μετά την πρώτη εμφάνιση του Napster η AOL ανέθεσε σε δύο προγραμματιστές της να φτιάξουν κάτι παρόμοιο. Οι Justin Frankel και Tom Pepper που δούλευαν στη Nullsoft, έγραψαν ένα καθαρά Ρ2Ρπρωτόκολλο το οποίο και ανακοίνωσαν πως θα διέθεταν δωρεάν στο διαδίκτυο. Μόλις εκδόθηκε η πρώτη έκδοση του προγράμματος στις 14 Μαρτίου του 2000, η AOL φοβισμένη από τις μηνύσεις κατά του Napster αποφάσισε να το αποσύρει. Ήταν όμως ήδη αργά καθώς ικανοί προγραμματιστές που 17 είχαν αποκτήσει το αρχείο κατάφεραν να το δημιουργήσουν από την αρχή και να το προσφέρουν στον κόσμο, αυτή τη φορά με ανοιχτό τον κώδικα. Το όνομά του: Gnutella, που είναι ο βασικός εκπρόσωπος της δεύτερης γενιάς. Η μεγάλη διαφοροποίηση σε σχέση με το Napster ήταν η απουσία ενός κεντρικού server, και πλέον κάθε κόμβος θεωρούταν ισάξιος. Η σχεδίαση αυτή όμως γρήγορα δημιούργησε προβλήματα στένωσης του συστήματος, λόγω της εκτεταμένης χρήσης του (οι περισσότεροι ήταν πρώην χρήστες του Napster) και της τεχνικής της πλημμύρας που χρησιμοποιούσε στις αναζητήσεις αντικειμένων. Το σύστημα FastTrack έλυσε αυτό το πρόβλημα παρέχοντας την δυνατότητα σε κάποιους κόμβους να είναι περισσότερο ίσοι από τους άλλους. Αυτό γινόταν με το να επιλέγονται κάποιοι κόμβοι με μεγαλύτερη χωρητικότητα (σε αποθηκευτικό χώρο, εύρος δικτύου κτλπ) για να κρατάνε τις λίστες και με τους λιγότερης χωρητικότητας να συνδέονται σε αυτούς, παρέχοντας ένα δίκτυο το οποίο μπορούσε να εξαπλωθεί σε μεγαλύτερο μέγεθος. To FastTrack αποτέλεσε ένα άκρως κλιμακούμενο δίκτυο. Αργότερα το Gnutella αλλά και οι περισσότερες σημερινές P2P εφαρμογές υιοθέτησαν αυτό το μοντέλο, για να οδηγηθούμε σε μεγαλύτερα αλλά και πιο αποτελεσματικά δίκτυα.

Τα καλύτερα παραδείγματα συστημάτων κοινής χρήσης αρχείων δεύτερης γενιάς αποτελούν τα Gnutella, Kazaa και Emule/Kademlia. Τα eDonkey2000/Overnet, Gnutella, FastTrack και Ares Galaxy έχουν συγκεντρώσει γύρω στους 10,3 εκατομμύρια χρήστες. Αεγεται ότι σήμερα ένα πολύ μεγάλο μερίδιο των P2P δικτύων χρησιμοποιούν το πρωτόκολλο BitTorrent. Το πρωτόκολλο αυτό έκανε την εμφάνιση του το 2002 και χρησιμοποιείται κυρίως για την μεταφορά αρχείων μεγάλου μεγέθους. Ο τρόπος λειτουργίας των P2P δικτύων που χρησιμοποιούν αυτό το πρωτόκολλο παρουσιάζει πολλές διαφορές σε σχέση με τα υπόλοιπα P2P δίκτυα. Κάθε αρχείο δεδομένων, που διατίθεται για διαμοιρασμό σε ένα τέτοιο δίκτυο, «σπάει» σε πολλά μικρά τμήματα. Για να πραγματοποιηθεί το “κατέβασμα” αυτού του αρχείου, θα πρέπει πρώτα ο χρήστης να κατεβάσει ένα πολύ μικρό αρχείο με κατάληξη .torrent, το οποίο στην συνέχεια πρέπει να ανοιχθεί με την βοήθεια κάποιου torrent client, όπως για παράδειγμα το 18 utorrent. To αρχείο αυτό περιέχει πληροφορίες σχετικά με το μέγεθος του αρχείου που θέλει να κατεβάσει ο χρήστης, το πλήθος τον τμημάτων που αποτελούν αυτό το αρχείο και τον tracker στον οποίο πρέπει να συνδεθεί ο χρήστης. Με τον όρο tracker εννοούμε έναν κεντρικό server, η αποκλειστική λειτουργία του οποίου είναι να ενημερώνει τον client που χρησιμοποιεί ο χρήστης, σχετικά με το ποιοι κόμβοι έχουν εκείνη την στιγμή ολόκληρο ή κάποια τμήματα του επιθυμητού αρχείου και μπορούν να το διαμοιράσουν

Σε αντίθεση με τα άλλα δίκτυα P2P, που έχουν μια δενδροειδή δομή και όπου η ανταλλαγή των αρχείων γίνεται κυρίως ανάμεσα σε δύο υπολογιστές, σε ένα δίκτυο που χρησιμοποιεί το BitTorrent πρωτόκολλο, οι χρήστες που διαμοιράζονται ένα αρχείο σχηματίζουν τα λεγάμενα «κοπάδια» (swarm). Κάθε χρήστης που έχει ολόκληρο το αρχείο ονομάζεται seed ή αλλιώς seeder, ενώ οι χρήστες που δεν έχουν ακόμη ολόκληρο το αρχείο ονομάζονται peers ή, αλλιώς, leechers. Όταν κάποιος leecher αποκτήσει ολόκληρο το αρχείο, μετατρέπεται σε seeder και μπορεί να συνεχίσει να μεταβιβάζει τμήματα του αρχείου στα υπόλοιπα μέλη του swarm. Με τον τρόπο αυτό μεγιστοποιείται η πιθανότητα των πιθανών leecher να αποκτήσουν τελικά το αρχείο. Ένα άλλο πλεονέκτημα αυτού του πρωτοκόλλου είναι πως ακόμα και οι χρήστες οι οποίοι δεν έχουν ακόμα ολόκληρο το αρχείο, μπορούν να δίνουν σε άλλους χρήστες τα τμήματα του αρχείου τα οποία έχουν ήδη κατεβάσει, αυξάνοντας με τον τρόπο αυτό την ταχύτητα με την οποία διαμοιράζεται τελικά ένα αρχείο.

Όταν το αρχείο αποκτηθεί από μερικούς peers, ο αρχικός seeder, δηλαδή αυτός ο οποίος δημιούργησε το.torrent αρχείο και που ήταν ο πρώτος που άρχισε το «ανέβασμα» του αρχείου μπορεί να σταματήσει το ανέβασμα του συγκεκριμένου αρχείου και να αρχίσει να ανεβάζει κάποιο άλλο. Σε αυτό το πρωτόκολλο, δηλαδή, δεν υπάρχει μεγάλη εξάρτηση από τον αρχικό seeder, κάτι που διασφαλίζει, εκτός των άλλων, και την μεγάλη βιωσιμότητα των αρχείων. Με την εξέλιξη αυτού του πρωτοκόλλου δημιουργήθηκαν και περισσότερο αποκεντρωτικά δίκτυα, τα οποία δεν βασίζονται σε κάποιον tracker. Σε αυτά τα δίκτυα η εύρεση των κόμβων που μοιράζονται κάποιο αρχείο και η σύνδεση με αυτά 19 γίνεται μέσω της τεχνολογίας κατανεμημένων πινάκων κατακερματισμού DHT (Distributed Hash Tables),οι οποία βοήθησε στην αντιμετώπιση του προβλήματος της διαθεσιμότητας καθώς μέσω της αντιγραφής και διατήρησης αρχείων σε γειτονικούς κόμβους από κάποιον κόμβο η αναζήτηση γινόταν γρήγορα και αποτελεσματικά.

(ΣΥΝΕΧΙΖΕΤΑΙ)

ΣΗΜΕΙΩΣΕΙΣ

3 Zhonchong Ou.”Structuted P2P, Hierarchical Architrcture And Performance Evaluation” http://herkules.oulu.fi/isbn9789514262487/isbn9789514262487.pdf

ΠΗΓΗ   http://nestor.teipel.gr      2011

About sooteris kyritsis

Job title: (f)PHELLOW OF SOPHIA Profession: RESEARCHER Company: ANTHROOPISMOS Favorite quote: "ITS TIME FOR KOSMOPOLITANS(=HELLINES) TO FLY IN SPACE." Interested in: Activity Partners, Friends Fashion: Classic Humor: Friendly Places lived: EN THE HIGHLANDS OF KOSMOS THROUGH THE DARKNESS OF AMENTHE
This entry was posted in Computers and Internet and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.