160 likes | 286 Views
The KaZaA Overlay: A Measurement Study. Παρουσίαση: Πεχλιβάνη Φωτεινή Σταθοπούλου Ευγενία Φωτόπουλος Βασίλης Authors: Jian Liang, Rakesh Kumar, Keith W. Ross. Introduction.
E N D
The KaZaA Overlay: A Measurement Study Παρουσίαση: ΠεχλιβάνηΦωτεινή Σταθοπούλου Ευγενία Φωτόπουλος Βασίλης Authors: Jian Liang, Rakesh Kumar, Keith W. Ross
Introduction • Το KaZaA είναι μία από τιςσημαντικότερες εφαρμογές του Internet όσον αφορά τον αριθμό των κόμβων που συμμετέχουν αλλά και το βαθμό της κυκλοφορίας • Λίγα πράγματα είναι γνωστά όσον αφορά το overlay του KaZaA, την διατήρηση του overlay αλλά και το signaling protocol
Introduction • Μεπειραματικά αποτελέσματα προσπάθησαν να καταλάβουν πως λειτουργεί • Το overlay δίκτυο • Ο μηχανισμός αναζήτησης • Η διαχείριση του index του συστήματος • Signaling traffic
Overview of the KaZaA • Δύο κατηγορίες peers: • Super Nodes (SN) • Ordinary Nodes (ON) • Οι KaZaApeers διαφέρουν σε availability, bandwidth, connectivity, CPU power και NATed access
Overview of the KaZaA • Κάθε ΟΝ όταν εισέλθει στο KaZaA • Διαλέγει ως πατέρα του έναν SN με τον οποίο διατηρεί μια ημι-μόνιμη TCP σύνδεση • Κάνει upload στον πατέρα του τα metadata των αρχείων που θα διαμοιραστεί στο KaZaA • Κάθε SN διατηρεί ένα local index μεόλους τους ON που είναι παιδιά του • Κανένας SN δεν είναι dedicated server
Overview of the KaZaA • Τα metadata ενός αρχείου του ON περιέχουν: File name, File size, ContentHash, File descriptor • File descriptor: χρησιμοποιείται γιααντιστοίχηση keyword κατά τηνδιάρκεια μιας ερώτησης • ContentHash: Το KaZaA κατακερματίζει κάθε αρχείο σε μια υπογραφή, η οποία γίνεται το ContentHash του αρχείου
KaZaA’s 2-tiered Overlay Network ON ON ON ON ON SN3 SN2 ON ON SN1 SN4 ON ON ON ON ON ON ON ON
Topology Structure ON to SN: 100 - 160 συνδέσεις επειδήυπάρχουν ~3Mκόμβοι ανά μέρα,έχουμε ~30,000 SNs SN to SN: 30 – 50 συνδέσεις κάθε SN είναι συνδεδεμένοςμε το ~0.1 % του συνολικού αριθμού των SNs
Topology Dynamics • O μέσος όρος της διάρκειας των συνδέσεων ON-SN είναι 34min και SN-SN 11min • Παρατηρήθηκε πως το 32% των συνδέσεων SN-SN και το 38% των συνδέσεων ON-SN διαρκούν λιγότερο από 30 seconds • Η μέση διάρκεια των συνδέσεων, με χρόνο μεγαλύτερο από 30sec, είναι 57min για ΟΝ-SN και 23min για SN-SN
Neighbor Selection • Όταν ένας ON διαλέγει SN από την SN cash list λαμβάνειυπόψιν την locality καιτο workload του SN • Locality λαμβάνει υπόψη τοRTTκαι τις IP prefixes • 40% των ON-SN συνδέσεωνέχουν RTT < 5 msec • 60% των SN-SN συνδέσεωνέχουν RTT < 50 msec • RTT: E. US Europe ~100 msec
Χρόνος Ζωής Supernode • Ο μέσος χρόνος ζωής ενός SN στο KaZaA είναι 2.5 ώρες
Αποφυγή του Firewall • Αρχικά default port 1214 • Οι administrator εύκολα διαμόρφωναν τα firewalls για αποτροπή των συνδέσεων • Τώρα δυναμικά port number • Δύσκολα μπλοκάρονται οι συνδέσεις • Μόνο το 3,6% χρησιμοποιεί το 1214 port, το 96,3% χρησιμοποιεί ένα τυχαίο port από 1024 έως 65535 και ελάχιστοι χρησιμοποιούν το 80 port
Καταστρατήγηση του NAT • Το 30% των KaZaA peers είναι πίσω από NATs • Πρόβλημα: αν ο Α θέλει να συνδεθεί με τον Β που έχει NAT address, δεν μπορεί να αρχικοποιηθεί μια TCP σύνδεση • Μερική επίλυση του προβλήματος (connection reversal): • Ο Α αντί να στείλει την αίτηση στον Β την στέλνει στον πατέρα SN του Β • Ο πατέρας SN του Β στέλνει ένα μήνυμα και του λέει να συνδεθεί άμεσα με τον Α
Διαχείριση του Index • Εξετάζουμε την κατανομή των metadata που γίνονται upload στους SN από τις συνδέσεις των ON • Το 13% των ΟΝ είναι υπεύθυνο για το 80% των συνολικών upload metadata • Τα metadata κάθε ΟΝ παιδιού σβήνονται αμέσως μόλις το παιδί αποσυνδεθεί από τονπατέρα SN • Δεν υπάρχει ανταλλαγή index πληροφορίας, δηλαδή των metadata που συλλέχθηκαν από τα παιδία ΟΝ, μεταξύ SN-SN
Basic Design Principles • Distributed Design • All of its nodes run on user peers • Exploiting Heterogeneity • Super Nodes (SNs) and Ordinary Nodes (ONs) • Load Balancing • Each SN has roughly the same degree • Locality in Neighbor Selection • IP prefix and short RTT • Connection Shuffling • A larger set of SNs can be visited • Efficient gossiping algorithms • SNs learns about other SNs in the network • Firewall avoidance and NAT circumvention • Dynamic port and connection reversal