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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
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
[email protected]
26