Das Skype Peer-to-Peer VoIP System
Transcription
Das Skype Peer-to-Peer VoIP System
Hauptseminar 'Inside Google', Sommersemester 2007 Das Skype Peer-to-Peer VoIP System Vladislav Lazarov lazarov@in.tum.de 18.06.2007 Hauptseminar 'Inside Google', Sommersemester 2007 Voice-over-IP • Internet Telefonie oder Voice over IP: Telefonieren über Computernetzwerke, die nach Internet-Standards aufgebaut sind • VoIP Software heutzutage: – Konvergenz von Daten und Multimedia – Dienstleistungen für geringe Kosten • Verschiedene 'Soft-Phones' – – – – – Gizmo Project Open Wengo Google Talk Skype u.v.m. 18.06.2007 Vladislav.Lazarov@in.tum.de 2 Hauptseminar 'Inside Google', Sommersemester 2007 Skype • Kostenlos: – PC-to-PC Telefonie – Instant Messaging – Filesharing • Kostenpflichtig: – PC-PSTN Gespräche – Mailbox – Rufumleitung auf das Handy/Festnetz – SMS Versand – Klingeltöne – ... 18.06.2007 Vladislav.Lazarov@in.tum.de 3 Hauptseminar 'Inside Google', Sommersemester 2007 Skype • Gegründet von: Niklas Zennström und Janus Friis Entwickler von KaZaA • Technologische Entwicklungen für KaZaA realisiert in Skype • Viele Entwickler von KaZaA auch in Skype vertretten • 'Supernode' Peer-to-Peer Netzwerk Viele Ähnlichkeiten zwischen KaZaA und Skype 18.06.2007 Vladislav.Lazarov@in.tum.de 4 Hauptseminar 'Inside Google', Sommersemester 2007 Peer-to-Peer Systeme • Zentralisierte P2P Systeme: ein Server verwaltet das ganze Netzwerk (bsp. Napster) • Reine P2P Systeme: keine zentrale Instanz (bsp. Gnutella) • Hybride P2P Systeme: es werden dynamisch mehrere zentrale Server zur Verfügung gestellt (bsp. Skype) 18.06.2007 Vladislav.Lazarov@in.tum.de 5 Hauptseminar 'Inside Google', Sommersemester 2007 Wie funktioniert Skype? • Hybrides P2P Netzwerk • Zwei Schichten: – Supernodes – Nodes • Supernode IP Adressen nicht zentral geladen, jedes Mal neu aktuallisiert 18.06.2007 Vladislav.Lazarov@in.tum.de 6 Hauptseminar 'Inside Google', Sommersemester 2007 Wie funktioniert Skype? • Nach Verbindungsaufbau: Session kann zu neuer Supernode transferiert werden • Jeder Client kann zu Supernode befördert werden, wenn: – erreichbar (reale IP Adresse) – genug Bandbreite verfügbar • Alle Nachrichten chiffriert (RC4 und RSA) 18.06.2007 Vladislav.Lazarov@in.tum.de 7 Hauptseminar 'Inside Google', Sommersemester 2007 Wieso interessiert sich Google für Skype? • 150 Mil. registrierte Benutzer (Jan. 2007) • verkauft für $2,6 Mrd. an eBay (Sept. 2005) • Geschlossenes Format, Proprietätsoftware • Kryptierte Protokolle • Design und Modellierung von Peer-to-Peer VoIP Systeme 18.06.2007 Vladislav.Lazarov@in.tum.de 8 Hauptseminar 'Inside Google', Sommersemester 2007 Wieso interessiert sich Google für Skype? • Ähnlichkeiten und Unterschiede zwischen: – VoIP Peer-to-Peer (P2P) und eigene Infrastruktur – VoIP P2P und Filesharing P2P – VoIP Gespräche und Festnetz/Mobiltel. Gespräche • Google Talk - immer noch nicht genug Popularität 18.06.2007 Vladislav.Lazarov@in.tum.de 9 Hauptseminar 'Inside Google', Sommersemester 2007 An Experimental Study of the Skype Peer-toPeer VoIP System • Saikat Guha Ph. D. Student, Universität Cornell Interessen in Rechnernetze • Neil Daswani Google, Software Engineer; Ph.D., Universität Stanford Interessen in Netzwerksicherheit, mehrere Patente • Ravi Jain Google, Software Engineer; Ph.D., Universität Texas Interessen in drahtlose Netzwerke, mehrere Patente 18.06.2007 Vladislav.Lazarov@in.tum.de 10 Hauptseminar 'Inside Google', Sommersemester 2007 An Experimental Study of the Skype Peer-toPeer VoIP System • Experimente von 1. September 2005 bis 14. Januar 2006 • mehr als 82 Mil. Datensätze gesammelt 18.06.2007 Vladislav.Lazarov@in.tum.de 11 Hauptseminar 'Inside Google', Sommersemester 2007 Die Experimente • Experiment 1: Wie verhält sich Skype in Basis Operationen/Verschiedene Umgebungen? • Experiment 2: Wann wird ein Node zu Supernode? • Experiment 3: Wie viele Ressourcen werden von Skype verbraucht? • Experiment 4: Wie viele Supernodes gibt es? Wo befinden sich diese? • Experiment 5: Wann sind Supernodes online? 18.06.2007 Vladislav.Lazarov@in.tum.de 12 Hauptseminar 'Inside Google', Sommersemester 2007 Experiment 1: Basis operationen • zwei Skype Clients, verschiedene Host Rechner • zwei Skype Clients, verschiedene Host Rechner – ohne NAT/Firewall – ein Rechner hinter NAT/Firewall • Kontrolltrafik, Information • Connection Reversal: über Erreichbarkeit, IM der Client hinter NAT und VoIP und File-transfer initiiert TCP/UDP Session Anfragen über Supernode • Wenn VoIP oder Filetransfer akzeptiert – direkte Verbindung 18.06.2007 Vladislav.Lazarov@in.tum.de 13 Hauptseminar 'Inside Google', Sommersemester 2007 Experiment 1: Basis operationen • zwei Skype Clients, verschiedene Host Rechner – die zwei Rechner hinter verschiedene NATs/Firewalls • STUN (Simple traversal of UDP over NATs): – einfaches Netzwerkprotokoll – Erkennung und Möglichkeiten zur NAT Umgehung • TURN (Traversal using Relay NAT); – die Session wird über frei zugängliche Supernodes weitergeleitet Skype verhält sich gut in NAT/Firewall Umgebungen 18.06.2007 Vladislav.Lazarov@in.tum.de 14 Hauptseminar 'Inside Google', Sommersemester 2007 Experiment 2: Beförderung zu Supernode • Skype Clients in verschiedene Umgebungen, zwei Wochen Wartezeit für beförderung zu Supernode • Skype Node in intensiv benutztes Netzwerk – kein Supernode • Skype Node hinter NAT – kein Supernode • Skype Node frische Installation, Public Host, 10Mbps Internetverbindung – Supernode in wenige Minuten 18.06.2007 Vladislav.Lazarov@in.tum.de 15 Hauptseminar 'Inside Google', Sommersemester 2007 Experiment 3: Supernode Netzwerk Aktivität • Skype Supernode, 135 Tage (1. September 2005 – 14. Januar 2006), Linux Rechner (FC3), Ethereal: – Trafik: 13GB 18.06.2007 Vladislav.Lazarov@in.tum.de 16 Hauptseminar 'Inside Google', Sommersemester 2007 Experiment 4: Supernode und Clients Skype Client, 25. Juli 2005 – 12. Oktober 2005 • Client-Cache mit Supernodes • IP-Adressen werden in Liste eingefügt • Cache wird mit ein Node aus der Liste ersetzt • Verbindungaufbau - Versuch das angegebene Supernode zu erreichen • Neue Liste von Supernodes wird geladen • Client wird neu gestartet • Prozess wird wiederholt Crawl des Supernode Netzwerks 250 000 Supernode Adressen gefunden Seiteneffekt: Anzahl Skype-Benutzer online wrd auch gespeichert 18.06.2007 Vladislav.Lazarov@in.tum.de 17 Hauptseminar 'Inside Google', Sommersemester 2007 Experiment 5: Welche Supernodes sind online? • 'Schnappschüsse' welche Supernodes sind zum einen Zeitpunkt da • Ping des Supernodes • Wiederholung des ersten Packets vom Skype Client zur Supernode • Warten auf die Antwort • Für jeder Schnappschuss: 6000 Nodes aus der Liste von Exp. 4 18.06.2007 Vladislav.Lazarov@in.tum.de 18 Hauptseminar 'Inside Google', Sommersemester 2007 Das Skype Netzwerk • Churn in P2P Netzwerke: Prozess von An- und Abmeldungen von Clients – höhere Latenzzeit – periodische dynamische Restrukturierung des Netzwerks • Session time: Zeit zwischen An- und Abmeldung • In P2P Netzwerke i.d.R. Session Zeit wenige Minuten • Experimente 3-5: – Sehr wenig churn in Supernode Netzwerk – Mittlere Session Zeit: mehrere Stunden – Tagesrhytmus 18.06.2007 Vladislav.Lazarov@in.tum.de 19 Hauptseminar 'Inside Google', Sommersemester 2007 Nodes/Supernodes • Supernodes stabil • Tagesrhytmus der Aktivität, übliche Arbeitszeiten, weniger am Wochenende • Höchstbelastung – Mittag, 40-50% über die Nacht • Max. Benutzer Online: 3.9 Mil. 18.06.2007 Vladislav.Lazarov@in.tum.de 20 Hauptseminar 'Inside Google', Sommersemester 2007 Geografische Verteilung von Supernodes • Supernodes: – in Europa: 45-60% – in Nordamerika: 15-25% – in Asien: 20-25% • Verwendung von Skype: übliche Arbeitszeiten • Höchstbelastung gegen Mittag • Filesharing P2P: Belastung für größere Dateien über Tagen/Wochen 18.06.2007 Vladislav.Lazarov@in.tum.de 21 Hauptseminar 'Inside Google', Sommersemester 2007 Session Zeit • Mittlere Session Zeit – 5.5 Stunden • Im Gegensatz zu vorherigen Untersuchungen: churn in Skype kein Poisson-Prozess 18.06.2007 Vladislav.Lazarov@in.tum.de 22 Hauptseminar 'Inside Google', Sommersemester 2007 Nutzung von Bandbreite • Mehrere tausend Supernodes teilen sich die Bandbreite für VoIP Gespräche • In 50% der Zeit Bandbreitenverbrauch weniger als 205 bps • Skype verschickt 33 Pakete/Sekunde, keine 'silence suppression' 18.06.2007 Vladislav.Lazarov@in.tum.de 23 Hauptseminar 'Inside Google', Sommersemester 2007 Skype vs. Telefon/Filesharing • Skype Gespräche länger als 'traditionelle' – Mittlere Gesprächszeit: • traditionell: 3 Minuten • Skype: 13 Minuten • Verschickte Dateien kleiner als in Filesharing P2P Netzwerke – Mittlere Dateitransfer Größe: 346 kB (Dokumente, Präsentationen, Fotos) 18.06.2007 Vladislav.Lazarov@in.tum.de 24 Hauptseminar 'Inside Google', Sommersemester 2007 Zusammenfassung • Skype unterscheidet sich sehr von Peer-to-Peer Filesharing Netzwerke – Tagesrhytmus – Arbeitszeiten und -wochen Verhaltung – ähnlich zu Web-Browsing und nicht zu Filesharing • Supernodes sind stabil – wenig churn • Supernodes benutzen wenig Bandbreite trotz VoIP- und Filesharing-Weiterleitung 18.06.2007 Vladislav.Lazarov@in.tum.de 25 Hauptseminar 'Inside Google', Sommersemester 2007 Zusammenfassung • Skype Gespräche sind deutlich länger als traditionelle • Dateigröße ist wesentlich kleiner als in Filesharing Netzwerke • Obwohl Skype proprietär – weitere Untersuchungen möglich 18.06.2007 Vladislav.Lazarov@in.tum.de 26