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
Δύο κατηγορίες peers: Super Nodes (SN) Ordinary Nodes (ON) Οι KaZaA peers διαφέρουν σε 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 του αρχείου Overview of the KaZaA
SN1 SN4 SN2 SN3 ON KaZaA’s 2-tiered Overlay Network
Topology Structure ON to SN: συνδέσεις επειδή υπάρχουν ~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 έως και ελάχιστοι χρησιμοποιούν το 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 1.Distributed Design All of its nodes run on user peers 2.Exploiting Heterogeneity Super Nodes (SNs) and Ordinary Nodes (ONs) 3.Load Balancing Each SN has roughly the same degree 4.Locality in Neighbor Selection IP prefix and short RTT 5.Connection Shuffling A larger set of SNs can be visited 6.Efficient gossiping algorithms SNs learns about other SNs in the network 7.Firewall avoidance and NAT circumvention Dynamic port and connection reversal
Ερωτήσεις???