eDonkey Νικόλαος Καλλιμάνης Κώστας Λίλλης
eDonkey Γενικά Υβριδικό (weakly centralized) P2P σύστημα για διαμοιρασμό αρχείων. Αποτελείται από servers και clients. servers: Διατηρούν ευρετήρια αρχείων. Διατηρούν ευρετήρια αρχείων. Διατηρούν λίστα με άλλους servers. Διατηρούν λίστα με άλλους servers. Αναθέτουν ID στους clients. Αναθέτουν ID στους clients. Δεν συμμετέχουν στο downloading αρχείων. Δεν συμμετέχουν στο downloading αρχείων. clients: Διαμοιράζονται αρχεία. Διαμοιράζονται αρχεία.
eDonkey Σύνδεση Νέου Κόμβου Ένας νέος client συνδέεται με ένα γνωστό server, μέσω TCP. Ο client στέλνει στον server στέλνει ένα μήνυμα με και τα αρχεία που επιθυμεί να διαμοιραστεί. Ο server αποφασίζει αν ο client είναι low-id ή high-id. Αν είναι high-id του αναθέτει ένα ID, χαρτογραφώντας την IP διεύθυνσή του. Αν είναι high-id του αναθέτει ένα ID, χαρτογραφώντας την IP διεύθυνσή του. Αν είναι low-id του αναθέτει ένα σειριακό ID, ξεκινώντας από το 1. Αν είναι low-id του αναθέτει ένα σειριακό ID, ξεκινώντας από το 1. Ο server απαντά στον client, στέλνοντας μια λίστα με τους διαθέσιμους servers.
eDonkey Αναζήτηση Αρχείου Ο client στέλνει μια συμβολοσειρά με την περιγραφή του αρχείου που αναζητά. Ο server του απαντά, στέλνοντας μια λίστα με τα αρχεία που ικανοποιούν το αίτημα. Για κάθε αρχείο στέλνει (filename, hash, size). Ο client μπορεί να στείλει αιτήματα και σε άλλους servers (μέσω UDP) αν ο αριθμός των αρχείων που βρέθηκαν δεν είναι αρκετός.
eDonkey Downloading αρχείου Το eDonkey εφαρμόζει ένα multi-source download protocol και υποστηρίζει fragment sharing. Ο client στέλνει στον server ένα μήνυμα με την τιμή κατακερματισμού (MD5) του ονόματος του αρχείου που θέλει να κάνει download. Ο server απαντά στέλνοντας μια λίστα με τα ID/port των clients που έχουν το αρχείο. Ο client κάνει αίτηση για ένα upload slot σε κάθε client της λίστας.
eDonkey Downloading αρχείου (2) Κάθε client διατηρεί μια waiting list και μια uploading list. Στην waiting list διατηρούνται αιτήματα για download που αναμένουν να εξυπηρετηθούν. Στην waiting list διατηρούνται αιτήματα για download που αναμένουν να εξυπηρετηθούν. Στην uploading list διατηρούνται αιτήματα για download που εξυπηρετούνται. Στην uploading list διατηρούνται αιτήματα για download που εξυπηρετούνται. Για τη μεταφορά ενός αιτήματος από την waiting list στην uploading list, χρησιμοποιείται ένας μηχανισμός high ID/low ID.
eDonkey Downloading αρχείου (3) Κάθε αρχείο χωρίζεται σε chunks μεγέθους 10ΜΒ. Ένας client μπορεί να κάνει download διαφορετικά chunks ενός αρχείου ταυτόχρονα από διαφορετικούς clients. Ένας client διαμοιράζεται ένα αρχείο, μόλις έχει κάνει download έστω και ένα chunk (addresses free-riding, availability). Ο client που κάνει download πρέπει να ανανεώνει περιοδικά το αίτημά του, διαφορετικά το αίτημά του απορρίπτεται (σε 40 δεύτερα).
eDonkey Επικοινωνία μεταξύ servers Οι servers επικοινωνούν περιοδικά μεταξύ τους (UDP): Για να γνωστοποιήσουν την ύπαρξή τους (ping/pong messages). Για να γνωστοποιήσουν την ύπαρξή τους (ping/pong messages). Για ανταλλαγή λιστών διαθέσιμων servers. Για ανταλλαγή λιστών διαθέσιμων servers.
eDonkey Βελτιώσεις απόδοσης Hording – source exchange. Clustering of supernodes.
eDonkey Βιβλιογραφία F. U. Andersen, H. de Meer, I. Dedinski, T. Hossfeld, C. Kappler, A. Maeder, J. O. Oberender, K. Tutschku, “An Architecture Concept for Mobile P2P File Sharing Services”, Workshop at Informatik Algorithms and Protocols for Efficient Peer-to-Peer Applications, Ulm, September T. Hossfeld, K. Leibnitz, R. Pries, K. Tutschku, P. Tran-Gia, K. Pawlikowski, “Information Diffusion in eDonkey Filesharing Networks”, ATNAC 2004, Sydney, Australia, December K. Tutschku, “A Measurement-based Traffic Profile of the eDonkey Filesharing Service”, In PAM, O. Hackmann, A. Bock, “The eDonkey 2000 Protocol”, Technical Report KOM-TR , Multimedia Communications Lab, Darmstadt University of Technology, December J. Lindroos, “Peer-to-Peer Content Distribution”, Master of Science Thesis in Computer Science, Abo Akademi University, Turku, August 2003.
eDonkey Ερωτήσεις ?