Qualitaetsverbessertes Peer-to-Peer

Werbung
Bachelorarbeit
Zum Thema
Qualitätsverbessertes Peer-to-Peer-basiertes IPTV
durch Bandbreitenersparnis im Upload
Eingereicht von Zierke, Robert am 25.06.2012
geboren am
05.02.1985
in Güstrow
an der
Universität Rostock
Gutachter:
Betreuer:
Prof. Dr.-Ing. Dirk Timmermann
Institut für Angewandte Mikroelektronik und Datentechnik
Dipl.-Ing. Peter Danielis
M.Sc. Jan Skdozik
Institut für Angewandte Mikroelektronik und Datentechnik
Kurzreferat
Unter IPTV versteht man die Übertragung von Multimediadiensten wie
Fernsehen, Video, Audio und Daten über IP-basierte Netze. Dabei ist für
die Annahme des Dienstes durch den Nutzer eine hohe Qualität, Sicherheit, Interaktivität in Form eines Rückkanals sowie hohe Zuverlässigkeit
notwendig. Für die mehrfache Verteilung der Datenströme (Multicast)
an alle Nutzer gibt es neben IP-Multicast auch die Möglichkeit der Peerto-Peer (P2P)-basierten Verteilung. Vielfach ist hierbei die Dienstgüte
allerdings noch nicht ausreichend.
Deshalb befasst sich diese Bachelorarbeit mit einer P2PNetzwerksimulation, die eine Verringerung der Latenz sowie eine Ersparnis
der Bandbreite erbringen soll. Diese Ersparnis soll durch eine Verlagerung
des Uploads von Live-Streams auf die DSLAMs erzielt werden.
Inhaltsverzeichnis
Abbildungs- und Tabellenverzeichnis
5
Abkürzungsverzeichnis
6
1 Einleitung
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Aufbau dieser Arbeit . . . . . . . . . . . . . . . . . . . . . .
7
8
9
2 Grundlagen
2.1 Das P2P-basierte Netzwerkmodell
2.1.1 Unstrukturierter Ansatz . . .
2.1.2 Strukturierter Ansatz . . . .
2.2 P2P-IPTV . . . . . . . . . . . . .
2.2.1 Grundarten . . . . . . . . . .
2.2.2 Struktur . . . . . . . . . . .
2.2.3 BitTorrent-Technik . . . . . .
2.3 Vergleich der Übertragungsarten .
.
.
.
.
.
.
.
.
10
10
12
16
16
17
18
19
20
.
.
.
.
.
22
22
23
24
25
26
4 Umsetzung und Implementierung
4.1 Einarbeitung in die Simulation . . . . . . . . . . . . . . . . .
28
28
3 Konzept
3.1 P2P-Protokolle . . . . . . . .
3.2 BitTorrent-Spezifikation . . .
3.2.1 Tracker-Protokoll . . . .
3.2.2 Peer-Wire-Protokoll . .
3.3 Überlegung zur Ersparnis der
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
Bandbreite
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.1.1 Grundlegende Einstellungen
4.2 Simulator . . . . . . . . . . . . .
4.3 Simulation . . . . . . . . . . . .
4.3.1 Testaufbau . . . . . . . . .
4.3.2 Auswertung der Simulation
.
.
.
.
.
28
29
30
32
34
5 Auswertung
5.1 Simulation mit verändertem Konzept . . . . . . . . . . . . .
5.2 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
38
39
6 Zusammenfassung
41
4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Abbildungs- und Tabellenverzeichnis
Abb. 2.1:Client-Server-Netzwerk [Weh05] . . . .
Abb. 2.2:Dezentralisiertes P2P-Netzwerk [Weh05]
Abb. 2.3:Übersicht P2P-Systeme [Kaf12] . . . . .
Abb. 2.4:Ansicht eines Hybriden Systems [Akb11]
Abb. 2.5:Verbindungsstruktur . . . . . . . . . . .
Tab. 2.1:Vergleich der Übertragungsarten [Hei12]
.
.
.
.
.
.
11
11
14
15
18
20
Abb. 3.1:Arbeitsweise von BitTorrent [20112] . . . . . . . . . . .
Abb. 3.2:Darstellung des Konzeptes . . . . . . . . . . . . . . . .
25
26
Tab. 4.1:Szenarienübersicht . . . . . . . . . . . . . . . . . . . . .
Abb. 4.1:Simulationsablauf-Diagramm . . . . . . . . . . . . . . .
33
34
Tab. 5.1:Latenz der einzelnen Szenarien . . . . . . . . . . . . . .
Abb. 5.1:Auslastung des Up- und Downloads . . . . . . . . . . .
Tab. 5.2:Ergebniszusammenfassung . . . . . . . . . . . . . . . . .
36
37
40
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Abkürzungsverzeichnis
A/D
CSN
DHTs
DSLAMs
DVB-T
EM
FTP
HD
HTTP
ID
IP
IPTV
ISP
MD5
MsgP2P
MsgP2T
MsgT2P
NED
OSI
P2P
TCP
TTL
TV
UDP
VoIP
ZDF
Analog-Digital
Client-Server-Network
Distributed Hash Tables
Digital Subscriber Line Access Multiplexers
Digital-Video-Broadcasting-Terrestrial
Europameisterschaft
File-Transfer Protocol
High Definition
Hypertext Transfer Protocol
Identification
Internet-Protocol
Internet-Protocol-Television
Internet Service Provider
Message Digest Algorithm 5
Nachricht PeerToPeer
Nachricht PeerToTracker
Nachricht TrackerToPeer
Network Describtion
Open-System-Interconnection
Peer-to-Peer
Transmission Control Protocol
Time-To-Live
Television
User Datagram Protocol
Voice-over-Internet-Protocol
Zweites Deutsches Fernsehen
6
1 Einleitung
Die Weiterentwicklung der Technik und der Verteilung von Daten im Internet schreitet immer weiter voran. Daher ist es nicht verwunderlich, dass
immer neue Methoden entwickelt werden, um mit Teilnehmern auf der ganzen Welt zu kommunizieren oder Daten auszutauschen. Das Fernsehen über
das Internet ist eine dieser Entwicklungen. In den Anfängen des sogenannten Internet-Protocol-Television (IPTV) war es hoch modern, die Streams
über das Client-Server-Network (CSN) zu verteilen, was auch heute noch
in weiten Teilen verbreitet wird. Seit einigen Jahren wird an einer neuen
Methode gearbeitet. Das Ziel dabei ist es, Live-Streams mit Hilfe einer anderen Methode zu verteilen, um nicht auf Internet-Protocol (IP)-Multicast
angewiesen zu sein. Die Technik, welche dafür genutzt wird, nennt sich
P2P und soll eine sichere, verzögerungsfreie und Server-entlastende Alternative zum CSN darstellen. Diese Entwicklung wird jedoch von noch nicht
vielen Anbietern des IPTV genutzt, da es immer noch Schwächen in der
Verteilung der Kanäle gibt. Eine dieser Schwächen ist die Upload-Rate der
einzelnen Clients im Netzwerk. Bei den Überlegungen wie die Upload- zu
Download-Rate gesetzt werden soll, haben sich die Entwickler überlegt,
dass ein User wesentlich mehr Download als Upload hat.
7
1.1 Motivation
So ist die Idee gewesen, dass eine Anfrage, welche als Upload gesendet
wird, wenig Bandbreite in Anspruch nimmt. Die Datenmenge, welche der
Client bezieht, ist jedoch um ein Vielfaches größer. Da bei dem P2P-IPTV
der gesamte Stream in kleine Datenteile zerteilt und von unterschiedlichen
Teilnehmern im Netzwerk zusammengesetzt und sofort wieder auf einem
Rückkanal zur Verfügung gestellt wird, wird eine große Bandbreite verschenkt.
Der wichtigste Aspekt bei der Rückverteilung ist die Latenz. Diese
entsteht durch die drastischen Unterschiede im Down- und Upload. Daher
forschen Entwickler an einer Bandbreitenersparnis bei der Verteilung von
Streams in einem P2P-Netz, wofür es verschiedene Möglichkeiten gibt. In
der Realität ein geeignetes Netzwerk aufzubauen, gestaltet sich schwierig.
Da nicht nur 2 bis 10 Nutzer an dieser Simulation teilnehmen können,
muss zur Entwicklung ein Simulator genutzt werden, da sonst kein reales
Netz simuliert werden kann. In solchen Simulatoren können weit aus mehr
Clients eingebunden werden und nach Belieben u.a. die Bandbreite so
eingestellt werden, wie es den Voraussetzungen entspricht. Weiterhin ist
zu untersuchen, welches Ersparnis erzielt werden kann, indem nicht mehr
die Peers, sondern die DSLAMs die Streams speichern und weiterleiten.
Die Peers haben eine asymmetrische Bandbreite, daher entsteht eine
Latenz beim Down- und Upload der gleichen Datenmenge. Da die DSLAMs einen symmetrischen Down- und Upload aufweisen, würde die
Latenz beim Upload der Streams von den Peers eingespart werden. Dies
hätte die Auswirkung, dass die Peers ihren Upload nicht mehr zur Weiterleitung von Streams nutzen müssten und so diese Bandbreite für andere
Aktivitäten zur Verfügung hätten.
8
Im Zuge dieser Arbeit soll eine mögliche Qualitätsverbesserung für P2Pbasiertes IPTV untersucht werden, indem eine Entlastung von Zugangsnetzen durch Bandbreitenersparnis im Upload vorgenommen wird. Untersucht werden unter anderem die Auswirkungen bezüglich Bandbreitenersparnis im Upload sowie eine Verringerung der Latenz. Mit einer geringeren Upload-Auslastung können parallel VoIP oder Online-Gaming durchgeführt werden.
1.2 Aufbau dieser Arbeit
Diese Arbeit befasst sich mit der Verbesserung des P2P-IPTV mit Hilfe eines geeigneten Simulators. Aufgrund dessen werden zu Beginn der Arbeit
Grundlagen über P2P-Netze sowie den benötigten Simulator Omnet++
vorgestellt. Weiterhin werden in den Grundlagen DSLAMs und deren Funktionsweise beschrieben.
In Kapitel 3 werden das Konzept erläutert und die Grundüberlegungen für
die Lösung des Problems vorgestellt. Darauf folgend wird in Kapitel 4 die
Beschreibung der Umsetzung und der Implementierung erläutert, welche
für eine Lösung erforderlich ist. Im 5. Kapitel werden verschiedene Szenarien dargestellt und ausgewertet.
9
2 Grundlagen
Um Daten in einem Netzwerk austauschen zu können, gibt es mehrere
Möglichkeiten. Zum einen können die Daten über ein CSN übermittelt
werden, wobei durch den Einsatz von Server- und Raumkapazitäten ein
größerer Mehraufwand betrieben werden muss. Zum anderen können die
Daten zwischen den Peers in einem P2P-basierten Netz ausgetauscht
werden, in dem die Peers sowohl Clients als auch Server darstellen. Die
Grundlagen beschäftigen sich mit den Unterschieden zwischen den beiden
Netzwerkarten sowie dem IPTV.
Die Peers sind mit einem Tracker-Server, auf welchem sich Daten anderer
Netzwerkteilnehmer befinden, zum Informationsaustausch verbunden.
Das entspricht einem zentralisierten System. Darüber hinaus nehmen die
Peers eigenständig ohne einen Server Verbindung auf. Die Identifizierungen bezüglich der Richtigkeit der Daten wird über die Hash-Prüfsumme
geregelt.
2.1 Das P2P-basierte Netzwerkmodell
Die Idee zur Entwicklung eines P2P-Netzes lässt sich bis in das Jahr
1960 zurückverfolgen. Die Obersten des Militärs hatten Angst nach einem möglichem Atomkrieg die Kommunikation zwischen, den noch vorhandenen und unversehrten Rechnern nicht mehr aufrecht erhalten zu
können. Damit die Funktionalität trotz alledem noch gewährleistet ist,
wurden 1964 verschiedene Kriterien aufgestellt. Die Teilnehmer sollen bei
10
zerstörten Teilen des Netzwerks weiter miteinander kommunizieren können.
Die Kommunikationseinheiten sollen nicht voneinander abhängig sein und
eine vollständige Selbstständigkeit besitzen [Geb04]. In einem P2P-Netz
Client1
Client1
Client1
Server
Client1
Client1
Client1
Client1
Client1
Abbildung 2.1: Client-Server-Netzwerk
[Weh05]
Abbildung 2.2: Dezentralisiertes
Netzwerk [Weh05]
P2P-
sind die Nutzer, wie in Abbildung 2.2 dargestellt, nicht mit einem Server
verbunden, welche das gesamte Netzwerk organisieren und verwalten. Das
heißt, dass sich ein P2P-basiertes System selbst organisiert. Anders als bei
einem klassischen CSN (siehe Abbildung 2.1) sind die User in einem P2PNetz gleichberechtigt und sowohl Client als auch Server. Die Nutzer haben
keine Kenntnis darüber, ob sie gerade als Client oder als Server in dem
jeweiligen Netzwerk fungieren [Fis03, Weh05].
Vorteil gegenüber CSN
Die Vorteile zu einem CSN sind, dass gegebenenfalls lediglich Server eingesetzt werden, um Listen mit Informationen zu speichern und keine großen
Datenmengen. Die Datenteile werden auf den Rechnern der teilnehmenden
Clients gepuffert und dann bei Bedarf weitergeleitet, so dass lediglich in
hybriden Systemen eine Minderheit an Teilnehmer mit einem Datenserver verbunden sein muss. Durch die Speicherung der Datenteile auf den
einzelnen Rechnern ergibt sich der nächste Vorteil eines P2P-Netzes. Das
Netzwerk wird zuverlässiger und bei einer hohen Anzahl von Teilnehmern
kann die Gesamtheit der gewünschten Datenmenge in einer schnelleren
11
Zeit empfangen werden. Dies führt zu weniger Abbrüchen während einer
Übertragung. Beim CSN müssen die jeweiligen Server ständig erreichbar
sein. Dabei kann es bei einem Ausfall eines Servers zum Zusammenbruch
des Netzwerkes kommen [Fis03, Weh05].
Das P2P-Netzwerkmodell wird in verschiedene Ansätze unterteilt, wie in
Abbildung 2.3 gezeigt wird. Zu denen gehören der unstrukturierte Ansatz
sowie auch der strukturierte Ansatz.
2.1.1 Unstrukturierter Ansatz
Im Rahmen des unstrukturierten Ansatzes ist das Gnutella-Netzwerk
[Sha01] zu benennen. Dieses wurde ursprünglich zum Austausch von Musikdateien in verschiedene Formate und später für Voice-over-InternetProtocol (VoIP) und Web-TV genutzt. Sobald ein Nutzer im Netzwerk
eine Anfrage stellt, sendet dieser eine Broadcast-Nachricht an alle Teilnehmer in dem jeweiligen Netz. Wenn mehrere Teilnehmer die gesuchte
Datei gespeichert haben, werden diese in kleine Teile zerlegt. Der suchende Client bekommt dabei, unwissend von wem die Dateistücke sind, seine
gewünschte Datei von unterschiedlichen Peers. Der unstrukturierte Ansatz
ist daher gut für das P2P-IPTV geeignet. Bei dem Empfang des Streams
erhalten die Nutzer keine Information darüber, von welchem Peer der Teil
des Streams gesendet wurde.
Der unstrukturierte Ansatz wird in verschiedene Systeme unterteilt, zu denen das zentralisierte-, dezentralisierte sowie das hybride System gehören.
Zentralisiertes System
Das zentralisierte System ähnelt einem CSN, da alle Peers mit einem
Server verbunden sind. Jedoch dient der Server nicht dazu Dateien zu
speichern und weiterzuleiten, sondern lediglich um Suchanfragen zu bearbeiten und den suchenden mitzuteilen, welcher Client die gewünschte
Datei besitzt. Der Server ist ebenfalls nicht für den Verbindungsaufbau
12
zwischen den Clients zuständig. Dies wird zwischen den Teilnehmern
selbst organisiert [Bau04]. Die in Frage kommenden Peers senden die
Dateistücke direkt an den Suchenden. Die Server im Netzwerk speichern
keine Dateien, sondern ausschließlich Informationen über den Nutzer und
deren Ressourcen. Dies ist an dem Beispiel des IPTV-Netz zu erkennen.
Dort werden die Informationen in einem sogenannten Tracker-Server
gespeichert.
Vorteile dieses Systems sind die Zuverlässigkeit und die Schnelligkeit
für das Finden gewünschter Daten, da diese als Liste auf den Servern gespeichert sind. Der Nachteil des Systems ist die fehlende Robustheit. Fällt
der Server aus müssen sich die Peers im gesamten Netzwerk selbstständig
erkundigen, welche Peers den gewünschten Stream verteilen [Dus].
Dezentralisiertes System
Das dezentralisierte System wird auch als reines P2P bezeichnet. In
diesem System gibt es keine Server und die Clients verwalten und organisieren sich komplett selbstständig. Auch in diesem Netz sind alle Peers
gleichberechtigt und können sowohl Sender als auch Empfänger sein. Die
umgangssprachliche Bezeichnung für solche Clients ist ’Servent’ [Bau04].
Die zentrale Steuereinheit, welche für die neu einsteigenden Clients
in das Netzwerk zuständig ist, entfällt in diesem Falle, da die Teilnehmer
direkt miteinander kommunizieren. Dies ist bei der Verbindungsaufnahme
zu den Peers in einem Netz der Fall, in welchem Television (TV)-Streams
weitergeleitet werden. Die Suchanfragen in einem dezentralisierten System
werden mit einem Time-To-Live (TTL)-Zähler vor Überlastung des Netzes
gesichert. Ein Peer sendet eine Suchanfrage für eine Datei an seinen
Nachbarn, dieser dekrementiert den TTL-Zähler um 1 und sendet die
Anfrage an den nächsten Nachbarn weiter. Hat die Suchanfrage auf dem
bisher zurückgelegten Weg nichts ergeben, wird die Suche abgebrochen,
13
Peer-to-Peer-Systeme
Unstrukturierte Systeme
Zentralisiert
Strukturierte Systeme
Dezentralisiert
Hybrid
DHT
Routing
Table
Routing
Table
Routing
Table
Routing
Table
Abbildung 2.3: Übersicht P2P-Systeme [Kaf12]
wenn der TTL-Zähler 0 erreicht hat. Der Client, welcher die Anfrage in
das Netz geschickt hat, wird durch eine Nachricht der Zeitüberschreitung
informiert und die Suchanfrage wird aus dem Netz entfernt [Dus, Fis03].
Der wegfallende Single-Point-of-Failure ist dabei ein Vorteil. Das bedeutet,
dass das System bei einem Ausfall eines Peers nicht zusammenbricht,
sondern die Teile der Streams von anderen Peers empfangen werden.
Der Nachteil ist, dass nicht alle Peers im Netzwerk bei Anfragen erreicht
werden, da die Aufgabe nach der TTL erlischt. Diese erreichten Peers
haben eventuell eine noch geringere Upload-Rate und die Performance des
gesamten Netzwerkes wird noch geringer.
Hybrides System
Bei einem hybriden System besitzen die neu zu implementierenden Knoten
eine Liste mit ihren eigenen Informationen, welche an einen Server gesendet werden. Dieser Server, welcher in einem P2P-basierten IPTV-Netzwerk
als Tracker-Server bezeichnet wird, leitet alle ankommenden Anfragen von
Clients an die dafür vorgesehenen Zielsysteme weiter. Die auszutauschen-
14
den Daten werden von den sich selber organisierenden Peers untereinander
verteilt [Bau11]. Bei den hybriden Systemen gibt es Teilnehmer, die sich
mit einer sehr hohen Bandbreite und sehr guter Erreichbarkeit herauskristallisieren. Diese werden SuperPeers genannt. Aufgabe dieser SuperPeers
ist es Anfragen aus dem Netzwerk entgegenzunehmen und diese an die
weiteren Teilnehmer in dem Netzwerk weiterzuleiten.
Peer 2
Peer 4
Peer 3
Peer 5
Peer 1
Server
Server
Peer6
Server
Peer 7
Peer 9
Peer 8
Abbildung 2.4: Ansicht eines Hybriden Systems [Akb11]
Um mit einem Netzwerk zu arbeiten, in denen SuperPeers vorhanden sind,
müssen die Netzwerkteilnehmer in Gruppen aufgeteilt werden. In diesen
Gruppen muss mindestens 1 SuperPeer vorhanden sein. Sollten mehrere dieser Hochleistungsrechner existieren, erhöht das die Robustheit des
Netzwerks [tea11, Man06].
Bei den hybriden Systemen werden Protokolle wie das e-Donkey-Protokoll
genutzt, welches vom Unternehmen MetaMachine Inc. im Jahr 2000 entwickelt wurde. Das eDonkeyProtokoll hatte zu dieser Zeit eine große Bedeutung. Es wird beispielsweise beim File-Sharing eingesetzt [Kau11, Akb11].
15
2.1.2 Strukturierter Ansatz
Die Unterscheidung der strukturierten zu den unstrukturierten Netzen liegt
in der Suchstruktur, wobei die strukturierten Netze als Grundlage dafür
die Distributed Hash Tables (DHTs) nutzen.
DHTs
Bei den DHTs wird jedem Client ein eindeutiger Schlüssel zugewiesen, was
eine schnellere Antwort auf eine Suchanfrage in einem Netzwerk ermöglicht.
Weiterhin arbeitet jeder Peer als ein Server. Mittels des Schlüssels ist es
den Peers möglich, die entsprechenden Daten zu finden [Dus]. Wenn ein
Peer eine Suchanfrage erhält, durchsucht dieser zuerst das eigene System,
ob dieses das Zielsystem für die Anfrage darstellt. Sollte das nicht der Fall
sein, leitet dieser die Anfrage zu anderen Peers weiter, bis das richtige
System gefunden wurde.
Die Einbindung eines neuen Peers in das Netzwerk läuft ebenfalls
unproblematischer und schneller ab, als bei anderen Systemen. Hierbei
wird ein neu hinzukommender Knoten mit allen Daten seiner Nachbarn
versorgt, die jeweils seine Zuständigkeit verlangen [Dus].
2.2 P2P-IPTV
Das IPTV erlangt derzeit immer mehr an Bedeutung und stellt eine immer
größere Konkurrenz für das Fernsehen über herkömmliche Empfangsarten
dar. So kommt das Signale nicht mehr über ein Koaxialkabel oder eine
Satellitenschüssel, sondern über die Datenleitung und wird in Paketform
gesendet. Die sonst bekannte Übertragung des Fernsehsignals über die
Frequenz wird bei dem IPTV außen vor gelassen und so per User Datagram Protocol (UDP) oder Transmission Control Protocol (TCP) zu den
Verbrauchern übertragen.
16
Bei der deutschen Telekom AG gab es im Geschäftsjahr 2011 12,3 Millionen
Kunden mit einem Breitband-Anschluss, wovon 1,6 Millionen das IPTVAngebot T-Entertain abonniert hatten [AG11]. Da es bei der Telekom
keine P2P-basierte Übertragung gibt, laufen die Server auf Hochleistung.
Wollen nun alle 1,6 Millionen (Zahl bis Ende 2011) den selben Kanal
abonnieren, kann es zu einem Serverausfall kommen, da dieser die Flut an
Anfragen nicht mehr beantworten kann.
IPTV-Anbieter wie die Deutsche Telekom AG oder Telefonica nutzen
CSN, um Daten zu übertragen. Anbieter wie Zattoo wollen die Serverlast
verringern und nutzen daher das immer weiter voranschreitende P2PSystem [HT10]. Bei dem IPTV ist es den Anbietern wichtig, die Daten
einer Live-Übertragung schnellst möglich an die anfordernden Peers zu
übertragen, die sogenannte Übertragung in Echtzeit. Dabei existiert eine
harte Echtzeit die aussagt, dass eine Live-Übertragung in einer bestimmten Zeit bei dem Verbraucher ankommen muss. Dem gegenüber steht
die weiche Echtzeit, bei dem es ebenfalls Zeitkriterien gibt, diese jedoch
lediglich als Richtwerte anzusehen sind. Bei der harten Echtzeit wird bei
einer Zeitüberschreitung ein Fehler ausgegeben.
Zum Übertragen von Live-Streams in einem P2P-Netzwerk ist es erforderlich, ein Übertragungsprotokoll einzusetzen mit dem die Möglichkeit
besteht, Daten zwischen den Clients zu übertragen, ohne einen Server
zur Verwaltung zu verwenden. Das dafür geeignete Protokoll ist eine
BitTorrent-Spezifikation (siehe Abschnitt 2.2.3 und 3.2).
2.2.1 Grundarten
Die zwei Grundarten des IPTV sind zum einen das Live-Video-Streaming
und zum anderen Video-on-Demand. Beim Live-Video-Streaming ist es
möglich, ein zur selben Zeit laufendes Programm, dass permanent eingespeist ist, im Internet anzusehen. Dieser Stream wird als Multicast an das
17
Netz gesendet. Der Nutzer hat hier jedoch keine Möglichkeit das laufende
Programm anzuhalten und zu einer beliebigen Zeit an der selben Stelle
wieder weiterlaufen zu lassen [HT10]. Anders ist es bei Video-on-Demand.
Hier können User zu jeder beliebigen Zeit Filme und Sendungen starten.
Diese Sendungen laufen nicht zeitgleich im Fernsehprogramm, sondern sind
auf den Servern gespeichert.
2.2.2 Struktur
In einem Netzwerk, in dem Live-Streams von IPTV gesendet werden,
sind verschiedene Hardware-Komponenten notwendig. Es muss mindestens einen Tracker-Server geben, der die im Netz befindlichen Peers
mit Informationen über andere Peers versorgt (Schritt 2 in Abbildung 2.4).
SourceServer
TrackerServer
2
1
Peer
Neuer
Peer
3
Teilstream
Teilstream
3
Peer
Teilstream
Peer
Peer
Teilstream
Abbildung 2.5: Verbindungsstruktur
Des Weiteren muss es einen Source-Server geben (Schritt 1 Abbildung 2.4),
der die Informationen weiterleitet, die den Nutzern die gewünschten Inhalte
liefern. Der Source-Server dient dazu, die Anfragen der Peers entgegenzunehmen, welche einen Live-Stream anfordern, so dass dieser dann dem Peer
diejenigen Peers mitteilt, von denen er den Stream erhält. Diese werden in
Schritt 3 in Abbildung 2.4 untereinander ausgetauscht.
18
Bei dem P2P-IPTV wird der gesamte Stream in kleine Teile (Chunks) zerteilt, damit die Möglichkeit besteht, den Stream von mehreren Quellen
parallel herunterzuladen.
Tracker-Server
In einem Netzwerk mit BitTorrent-Spezifikationen ist es notwendig, einen
Tracker-Server zu implementieren. Der Tracker-Server enthält eine Liste
von den vorhandenen Peers in einem Netzwerk, mit der Peer-Identification
(ID) sowie den Kanälen, welche die Peers gebucht haben und verteilen.
Jeder neu in das Netzwerk eintretende Client nimmt Verbindung mit dem
Tracker-Server auf und meldet sich bei ihm an. Die Daten, welche bei der
Anmeldung ausgetauscht werden, sind Informationen über die Identität
der einzelnen Peers.
Bei jeder neuen Anforderung eines Kanals wird der Tracker-Server informiert. Dieser teilt dem anfragenden Peer mit, welche weiteren Peers im
Netzwerk den selben Stream herunterladen und weiter verteilen. Parallel
erweitert dieser seine Liste über die Informationen zu den bestehenden
Peers im Netzwerk, damit die Verteilung der Streams bei weiteren Anfragen noch schneller durchgeführt werden kann.
2.2.3 BitTorrent-Technik
Das verwendete Protokoll zur Übertragung von Daten und Live-Streams
im Internet ist das 2001 von Bram Cohen entwickelte BitTorrent-Protokoll.
Das für das P2P-IPTV erweiterte BitTorrent-Protokoll ist eine sogenannte Echtzeit-Version des für File-Sharing-Programme entwickelten Protokolls [www12]. Es baut jedem Stream ein eigenes Netzwerk zur Datenverteilung auf, so dass die Daten nicht durch ein übergreifendes File-SharingNetzwerk laufen müssen.
Wie es für P2P-Anwendungen von Vorteil ist, können über BitTorrent parallel Streams übertragen werden und das zusätzlich von unterschiedlichen
19
Peers. Es existiert lediglich ein Server zur Verwaltung einer Liste mit Netzwerkteilnehmern, der sogenannte Tracker. Die Peers verwalten sich jedoch
selbstständig [Xyl09].
2.3 Vergleich der Übertragungsarten
Auch bei einem Vergleich zwischen den herkömmlichen Übertragungsarten
und dem P2P-IPTV gibt es Unterschiede. Dazu wurde ein Experiment
durchgeführt, in dem die Verzögerungen deutlich herausgestellt wurden [Hei12]. Da das IPTV in diesem Test keine Rolle gespielt hat, wurde
es in einem weiteren Experiment eigenständig hinzugefügt.
Übertragungsart
Latenz/ s
Analog Kabel
0
Satellit SD
1
Digital Kabel SD
2
Digital Kabel HD
2
DVB-T
2
Sattelit HD
3
P2P-IPTV
50
Tabelle 2.1: Vergleich der Übertragungsarten [Hei12]
Das Ergebnis dieses Tests zeigt deutlich, dass nicht nur beim P2PIPTV Verzögerungen auftreten, sondern auch bei anderen Empfangsmöglichkeiten. So ist beim analogen Kabel-TV die geringste
Verzögerung festzustellen, die im Vergleich mit den anderen Arten
0,2 s Latenz hat. Dagegen ist die größte Verzögerung beim Empfang
mittels einem Satelliten High Definition (HD)-Anschluss zu verzeichnen.
Das digitale Kabelsignal und auch Digital-Video-Broadcasting-Terrestrial
(DVB-T) hatten untereinander keine Verzögerung, sind jedoch noch
später bei dem Empfänger als das analoge Kabelsignal [Hei12]. Das mittels analogem Kabel bei einer Live-Übertragung eines Fußballspiels am
20
ehesten gejubelt werden kann, ist damit zu begründen, dass das Signal für
einen digitalen Empfänger zunächst einmal aufbereitet werden muss. Das
analoge Signal wird dabei über einen Analog-Digital (A/D)-Wandler in
ein digitales Signal umgewandelt.
Dieses Experiment wurde erweitert, indem ebenfalls ein Test zwischen
einem analogen Signal und dem P2P-Empfang durchgeführt wurde. Die
am besten geeignete Möglichkeit war eine Live-Übertragung während eines
Fußball-Spiels bei der Europameisterschaft (EM) 2012. Dazu wurde das
analoge Signal vom Zweites Deutsches Fernsehen (ZDF) mit dem P2Pbasierten Stream von Zattoo [www11, www08] verglichen. Aufgrund der
angezeigten Spieldauer war zu erkennen, dass über Zattoo der Live-Stream
um 50 s später zu sehen war als bei ZDF.
21
3 Konzept
Um die P2P-basierten IPTV-Protokolle simulieren zu können, ist es utopisch, ein reales Netzwerk aufzubauen. Ein objektives Ergebnis erhält man
daher mit Simulatoren, die ein P2P-Netz mit allen gewünschten Eigenschaften darstellen können.
Da die Bandbreite in den Netzwerken aufgrund der Upload-Rate voll ausgelastet ist, ist es den Peers fast unmöglich, weitere Funktionen im Internet
wie beispielsweise VoIP oder Online-Gaming neben dem IPTV zu nutzen.
Mit einem Simulator, der an der Karlsruher Universität entwickelt und bereitgestellt wurde, soll dieses Projekt realisiert werden. Zum einen soll der
Simulator mit einer an die Realität angepasste Umgebung dargestellt und
zum anderen sollte alles von einem Arbeitsplatz aus durchgeführt werden,
um Zeit und Platz zu sparen.
3.1 P2P-Protokolle
Um Verbindungen zwischen Peers herstellen und Daten und Streams austauschen zu können, müssen P2P-basierte Programme das Open-SystemInterconnection (OSI)-Modell in der Schicht 7 (Anwendungsschicht) durchlaufen. Im Folgenden durchlaufen die Pakete die Transportschicht, die 4.
Schicht im OSI-Referenz-Modell. In dieser Schicht wird primär TCP zur
Übertragung von größeren Datenmengen genutzt. Diese Datenmengen werden in Blöcke aufgeteilt. Es wird allerdings auch UDP, welches sich für eine
zustandslose Kommunikation eignet, verwendet. Ein Vorteil von P2P kristallisiert sich auf Schicht 4 deutlich heraus. Eine einzige Anwendung erzeugt
22
durch TCP und UDP eine Vielzahl von Instanzen auf der 4. Schicht [Xyl09].
Dadurch wird eine enorm hohe Datenrate in einem Netzwerk, in dem viele
Nutzer integriert sind, erzeugt. Da die Nutzer den Austausch der Daten
und Streams selber organisieren und nicht auf Server angewiesen sind, sind
auch keine Netzausfälle durch überlastete Server zu erwarten.
3.2 BitTorrent-Spezifikation
Das zur Übertragung verwendete Protokoll ist eine Spezifikation des vom
File-Sharing bekannten BitTorrent-Protokolls. Das BitTorrent-Protokoll
nutzt eine Vielzahl kleiner Datenblöcke, die unterschiedliche Informationen zu gesuchten Daten enthalten. Zu den Informationen gehören unter
anderem Informationen wie der Tracker, verschiedene Dateinamen und die
Blockanzahl mit der jeweiligen Prüfsumme. Die Datenübertragung findet
jedoch nicht im BitTorrent Netzwerk statt, sondern wird über Hypertext
Transfer Protocol (HTTP) oder File-Transfer Protocol (FTP) übertragen
[Deg08]. Die zu übertragenden Dateien können eindeutig identifiziert werden. Durch einen geeigneten Code ist es möglich, die Quelle der Datei
ausfindig zu machen. Der von BitTorrent verwendete Code ist der Message
Digest Algorithm 5 (MD5)-Code.
Message Digest Algorithm 5
Dieser Code ist in der Lage, aus einer beliebig langen Nachricht eine 128Bit-Prüfsumme zu erzeugen. Die angeforderten Dateien werden dann mit
der jeweiligen Prüfsumme verglichen. Tritt ein Fehler auf, werden diese
Dateien erneut heruntergeladen. Dies muss gegebenenfalls auch von einer
anderen Quelle übernommen werden. Die Datei, welche heruntergeladen
wird, muss hingegen bestätigt werden. Das erfolgt indem die Prüfsumme
nach dem Herunterladen in einer extrahierten Datei mitgeteilt wird. Die
Prüfsumme der erhaltenen Datei kann über verschiedene Programme er-
23
rechnet und dann mit der mitgeteilten MD5-Prüfsumme verglichen werden. Sofern beide Summen identisch sind, ist die Vertraulichkeit der Datei gewährleistet. Hinsichtlich der Sicherheit, die vor allem in einem P2PNetzwerk gewährleistet sein sollte, ist man mit dem MD5-Code auf der sicheren Seite. Im Jahr 1994 wurde eine Weiterentwicklung des vorher noch
auf Fehlern basierenden Codes MD4 vorgenommen.
Nachdem die Daten vollständig von einem Client erhalten wurden, wird
die gesamte Datei wieder gesplittet, damit eine schnelle Weiterverteilung
möglich ist. Die einzelnen Teile werden den anderen Peers im Netzwerk zur
Verfügung gestellt, sobald ein Teil einer Datei von einem Peer heruntergeladen und die Prüfsummen verglichen wurden. Der Tracker-Server wird
darüber benachrichtigt und kann somit die anderen Clients informieren.
3.2.1 Tracker-Protokoll
Im BitTorrent-Netzwerk bildet der Tracker-Server die zentrale Instanz.
Diese zieht ein geringeres Ausfallrisiko mit sich, wenn mehrere Tracker
zur Verfügung stehen. Der Ablauf der Übertragung einer BitTorrent-Datei
erfolgt über die Bildung der Info-Hash. Die Datei wird dann auf eine
Prüfsumme abgebildet und bringt den Vorteil mit sich bringt, dass nicht
mehrere Hashes in einem Netzwerk existieren und weitergeleitet werden
können. Es existieren keine Dateien, die mehrere Namen in dem Netzwerk
aufweisen [Deg08, Xyl09].
Wird ein Client gestartet, so erzeugt der BitTorrent-Client eine sogenannte Peer-ID, die einmalig in dem Netzwerk vorkommt und eindeutig
zugewiesen werden kann. Die Verbindung zwischen einem BitTorrentClient und einem Tracker wird mittels HTTP hergestellt. Dazu wird
die Peer-ID sowie weitere Zusatzinformationen in einem HTTP-Request
übergeben. Diese genannten Informationen sind nicht für die Erkennung
notwendig [Deg08, Xyl09]. Die Verbindung in einem BitTorrent-Netzwerk
erfolgt in Schicht 4 des OSI-Modells mittels TCP. Der Verbindungsaufbau
24
Peers 1
Peers 2
Tracker
Peers 3
Peers 5
Peers 4
Abbildung 3.1: Arbeitsweise von BitTorrent [20112]
bei TCP wird durch gegenseitiges Senden von Paketen vorgenommen,
in denen eine Zeichenkette an den zu erreichenden Client gesendet wird.
Umgangssprachlich wird dieser Vorgang als Handshake zwischen den
Peers bezeichnet. Außerdem sind in den Paketen die Peer-ID sowie die
Info-Hashes vorhanden. Als Bestätigung, dass eine Verbindung hergestellt
ist, antwortet der benachrichtigte Client mit der gleichen Zeichenkette.
Die Schwachstelle dieser Übertragungsmethode ist jedoch, dass keine
sicheren Verbindungen hergestellt werden können, da die Inhalte nicht verschlüsselt werden. Die einzige Verschlüsselung wird dahingehend genutzt,
um den Internet Service Provider (ISP)-Filter zu umgehen.
3.2.2 Peer-Wire-Protokoll
Die Peers verbinden sich mit dem Dreiwege-Handshake. Die Verbindung
kann eingegangen werden, sobald die Peers von dem Tracker die Information haben, welcher Client den gewünschten Stream besitzt. Die Peers lernen
immer wieder neue Nachbarn und Nutzer des Netzwerkes kennen, da sie in
regelmäßigen Abständen eine Verbindung mit dem Tracker-Server aufnehmen und die aktualisierte Liste der Nutzer im Netz vorfinden. Durch die
Implementierung des nodeMaxCon-Befehls ist eine maximale Begrenzung
von Verbindungen vorgegeben.
25
3.3 Überlegung zur Ersparnis der Bandbreite
Der P2P-IPTV-Stream hat aufgrund der Asymmetrie zwischen Downund Upload, im Gegensatz zu anderen Übertragungsarten, eine Latenz
von 50 Sekunden von der Quelle der ausstrahlenden TV-Anstalt bis zum
Empfänger. Die Bandbreite ist bei P2P-Netzwerken im Upload voll ausgelastet, jedoch nicht im Download. So ist zu vermuten, dass bei einigen
Netzwerken durch diesen Unterschied viel Bandbreite verschenkt wird, aufgrund der geringeren Upload-Rate im Gegensatz zur Download-Rate. Da
die User vor der Zeit des P2P-IPTV weniger Anfragen gesendet haben,
war die Upload-Rate geringer. Dies bedeutet, dass die Teilnehmer in einem
Peer 4
Peer 5
Peer 1
DSLAMs
Peer 6
Bandbreitenersparnis
Peer 2
DSLAMs
Peer 7
Backbone
Peer 3
Peer 8
Upload
Download
DSLAMs
Peer 9
Abbildung 3.2: Darstellung des Konzeptes
Netzwerk, aufgrund der asymmetrischen Raten, nicht in der Lage sind, mit
gleicher Schnelligkeit Datenpakete weiterzuleiten wie empfangen können.
Dadurch wird die gesamte Bandbreite im Netzwerk auf die Upload-Rate
der einzelnen Peers herunter dividiert. Damit geht ein Großteil der Effizienz
verloren.
26
Lösungsansatz
Eine Lösungsvariante ist die Überlegung, dass die Streams in den Digital Subscriber Line Access Multiplexers (DSLAMs) der jeweiligen Netzbetreiber für die verschiedenen Teile des Netzwerkes zwischengespeichert
werden. Die DSLAMs übernehmen dann sinngemäß die Aufgabe eines Servers, der den Stream speichert und an die Nutzer weiterleitet, welche den
Stream anfordern. Der eigentliche Peer, der vorher sowohl herunter- als
auch hochladen musste, macht nichts weiter, als eine Anfrage zu senden
um einen Stream anzufordern und diesen zu empfangen. Außerdem muss
er den DSLAMs informieren, an welche Peers dieser weiterleiten muss. So
kann die Latenz verringert werden, da die Übertragungsstrecke vom Peer
zum DSLAMs bei der Weiterverteilung gespart wird.
Die Bandbreite kann so für weitere Aufgaben genutzt werden, beispielsweise für VoIP oder andere Online-Aufgaben, die eine hohe Upload-Bandbreite
erfordern. Die Peers werden somit entlastet und übergeben ihre Aufgaben
den DSLAMs. Dieses Vorhaben muss in allen DSLAMs durchgeführt werden. Sollte in einem Netzwerk eine Umrüstung nur in einigen Knoten vorgenommen werden und in anderen Zweigen weiterhin die Peers den Stream
weiter verteilen, ist die Ersparnis, die sich mit diesem Konzept erzielen
lässt, hinfällig.
27
4 Umsetzung und Implementierung
Die nachfolgende Beschreibung der Implementierung zur Simulation eines P2P-basierten IPTV-Konzeptes basiert auf dem vorhandenen Projekt
P2PTVSim von Omnet++.
4.1 Einarbeitung in die Simulation
Der Simulator, welcher für die beschriebene Aufgabe ausgewählt wurde, ist
der auf Eclipse basierende Simulator Omnet++ in der Version 4.2.2. Mit
der Network Describtion (NED)-Language ist es dem Simulator möglich,
Netzwerke in einer Größenordnung von 2 - 400 Knoten und deren Datenverkehr zu simulieren. Die Simulation wurde mit dem Plugin P2PTVSim
durchgeführt. Dazu steht ein Netzwerk mit 50 Knoten sowie ein TrackerServer als auch mehreren Source-Server zur Verfügung. Für die Implementierung wurde die Software auf dem Betriebssystem installiert. Das verwendete Betriebssystem ist Windows 7 Professional. In erster Instanz wurde
die Simulationsumgebung Omnet++-4.2.2 konfiguriert, so dass in den weiteren Schritten die für die Simulation nötigen Plugins hinzugefügt werden
konnten.
4.1.1 Grundlegende Einstellungen
Nachdem Anlegen eines Workspaces konnte das Netzwerk bearbeitet und
erstellt werden, so dass die gewünschte Simulation durchgeführt werden
konnte. In die Simulation wurden sowohl einfache Peers mit der Funktiona-
28
lität normaler Clients als auch SuperPeers, die eine höhere Performance als
andere Peers im Netzwerk besitzen, eingebaut. Die Peers holen sich die Informationen der anderen Peers und entscheiden aufgrund der Performance
und Bandbreite mit welchen Peers Verbindung aufgenommen werden soll.
Des weiteren ist ein Tracker-Server implementiert, mit dem die Peers in
Verbindung treten. Damit ist es ihnen möglich, Informationen über Anfragen zu erhalten, von welchem Peer diese beantwortet werden können. Der
Tracker nimmt Detailinformationen über neu in das Netzwerk hinzugefügte
Peers auf, so dass dieser bei Anfragen anderer Peers die neuesten Updates
über das Netzwerk zur Verfügung hat.
Nachdem die Peers einmal eine Verbindung mit einem anderen Peer über
den Tracker-Server aufgenommen haben, können diese ohne den Tracker
zu kontaktieren selbstständig mit den Peers in Verbindung treten. Sollte
der Tracker mit mehreren Anfragen beschäftigt sein, wird den Peers eine
Nachricht zurückgesendet, dass diese es zu einem späteren Zeitpunkt noch
einmal versuchen sollten.
Die Source-Server werden ebenfalls als Peers angesehen, wobei diese keine
Daten aus dem Netzwerk downloaden, sondern lediglich Informationen zu
Kanälen bereitstellen, die von anderen Peers aus dem Netz angefordert werden. Wenn genügend Peers den selben Kanal abonniert haben, wird dieser
an die anderen Nutzer über das BitTorrent-Protokoll in kleinen Paketen
weitergeleitet.
4.2 Simulator
Für das Projekt der P2P-basierten IPTV-Simulation ist das Plugin
P2PTVSim der Plattform Omnet++ geeignet. Das Framework Omnet++
soll der wissenschaftlichen Arbeit dienen und ist für solche Zwecke als
Open Source Software erhältlich. Mit diesem Programm können sowohl
Netzwerkprotokolle simuliert als auch Analysen für die Leistungen durchgeführt werden. Die Benutzeroberfläche basiert auf der Eclipse-Umgebung,
29
die mit den verschiedensten Programmiersprachen genutzt werden kann.
Für das Projekt wurde die Sprache C++ gewählt, wobei Omnet++
ebenfalls mit den Sprachen C# und Java verwendet werden kann [Com09].
Die Anwendungsfälle, welche damit simuliert werden sollen, sind in der
Automatisierung sowie bei Multimedia-Streaming zu finden.
Omnet++ ist das einzige Programm, das sich für die Simulation
des P2P-IPTV qualifiziert hat. Omnet++ stellt eine geeignete Oberflächengestaltung dar sowie schon vorhandene zu implementierende
Programmcodes. Mit dem Programm können die benötigten Tracker
Server sowie verschiedene Peers und Netzwerkknoten dargestellt werden,
welche miteinander kommunizieren können. Zudem wird die benötigte
Zeit, die ein Stream zu einem Peer zurücklegt, aufgezeigt, so dass die
Latenz gut erfasst werden kann.
4.3 Simulation
Teilumgebung
Um eine reale Testumgebung erreichen zu können, wurden die Einstellungen in einer .ini Datei so festgelegt, dass das Netzwerk aus 100 PeerNodes
besteht. Zusätzlich wurde ein Tracker-Server sowie 10 SuperPeers und 5
Source-Servern implementiert.
Für die erste Simulation wurde die Down- zu Upload-Rate optimiert. Dabei wurde davon ausgegangen, dass bei einem Stream im Upload genau die
selbe Anzahl von Daten hochgeladen wird, wie im Download heruntergeladen wurde. Dass heißt, dass trotz der asymmetrischen Verteilung zwischen
Down- und Upload, die Daten vollständig weitergeleitet werden sollen. Das
Zeitlimit wurde für die erste Simulation auf 30 Sekunden eingestellt.
30
Laufzeiteinstellungen
Beim Start der Simulation ist das Szenario auszuwählen, unter welchen
Einstellungen das System getestet werden soll. Zu wählen ist unter 5 verschiedenen Szenarien, die alle unterschiedliche Einstellungen mit sich bringen. Die Einstellungen umfassen die Simulationszeit sowie die Bandbreite
im Down- und Upload, aber auch die zur Auswertung benötigte Auslastung. Nachdem die Auswahl der Szenarien getroffen wurde, kann die Simulation gestartet werden. Dabei ist es sinnvoll, die gesamte Simulation zu
überwachen, um im Anschluss eine grafische Auswertung vorliegen zu haben. Der Simulationsablauf wird aufgenommen und die Teilnehmer haben
damit begonnen, Pakete und Nachrichten auszutauschen.
Ablauf
Im ersten Schritt senden die Peers eine Nachricht an den Tracker, um
diesen damit zu informieren, dass die Peers in das Netzwerk integriert sind.
Der Tracker erweitert seine Liste über das bestehende Netzwerk, um so
schneller Anfragen bearbeiten zu können. Nachdem die Informationen aller
Teilnehmer verarbeitet wurden, konnten die Peers Kanäle anfordern. Die
Peers erhalten vom Tracker Informationen über mögliche Quellen. Diese
werden von den Peers kontaktiert und senden die gewünschten Streams
an die weiteren Peers. Wenn eine Anfrage an den Tracker gesendet wird,
dieser jedoch keinen positiven Eintrag in seiner Liste hat, wird dem Peer
eine Nachricht gesendet, dass dieser zu einem späteren Zeitpunkt seine
Anfrage wiederholen soll. Befindet sich kein Peer in dem Netzwerk, der den
angeforderten Stream enthält und verteilen kann, wird der Anfragensteller
direkt an den Source-Server weitergeleitet, so dass der Peer der erste im
Netz ist, der diesen Kanal verteilen kann.
Die Nutzer im Netzwerk richten sich nach der Upload-Rate der jeweiligen
Quellen der Streams. Die Download-Rate kann noch so hoch sein, doch der
Upload ist begrenzt und somit auch die Performance.
31
4.3.1 Testaufbau
Das zu simulierende Netzwerk wurde auf der Grundlage der
Geschäftsjahreszahlen der Deutschen Telekom AG aus dem Jahr 2011
erstellt. Die Simulation ist mit verschiedenen Laufzeiten durchgeführt
worden, so dass die Upload- sowie Download-Auslastung gut dargestellt werden konnte. Da die Download-Geschwindigkeit viel größer als
die Upload-Geschwindigkeit ist, wurden im Vorfeld der Simulationen
verschiedene Überlegungen getroffen.
Beschreibung der Szenarien
Eine Überlegung vor der Simulation war, dass die Upload-Auslastung
um ein Vielfaches höher ist, als die des Downloads. Daher wurden die
Bandbreiten der Szenarien dahingehend angeglichen und in der Testumgebung berücksichtigt. Für die Simulation wurde das erste Szenario mit
einer Download-Bandbreite von 17.000 kbps um ein Vielfaches höher,
als die Upload-Bandbreite mit 1.024 kbps, gewählt. Zudem wurden in
diesem Szenario die Anzahl der Peers mit 50 so gesetzt, dass ein objektives
Ergebnis erzielt werden konnte (siehe Tabelle 5.1).
In einem weiteren Szenario wurde die Bandbreite mit 10.000 kbps im
Download und 625 kbps im Upload den Peers zugeordnet worden, die eine
längere Strecke zu den DSLAMs hatten. Zudem wurde dieses Szenario mit
einer Anzahl von 25, 50 und 100 Peers durchgeführt. Diese Unterscheidung
sollte beweisen, dass mit einer steigender Anzahl von Netzwerkteilnehmern die Latenz verringert wird, da die Teil-Streams von mehreren Peers
empfangen werden können. Eine weitere Überlegung ist gewesen, dass die
Latenz bei einer längeren Simulationszeit ebenfalls größer wird. Dies beruht auf Grundlage dessen, dass die Streams nach dem Empfangen wieder
hochgeladen und weitergeleitet werden müssen. Da der Upload geringer
ist als der Download, ist zu erwarten, dass die Verzögerung des Streams,
32
der vom Source-Server in das Netzwerk ausgegeben wurde, mit einiger
Verzögerung bei den Peers ankommen wird. Bei Live-Übertragungen ist
es wichtig, dass die Streams in Echtzeit übertragen werden, also ohne eine
wahrzunehmende Verzögerung.
Download/ kbps
Upload/ kbps
Anzahl Peers
Streamlänge/ kB
Szenario 1
17.000
1.024
50
2.635
Szenario 2
10.000
625
25
2.635
Szenario 2
10.000
625
50
2.635
Szenario 2
10.000
625
100
2.635
Szenario 3
6.000
625
50
2.635
Szenario 4
2.000
125
50
2.635
Szenario 5
1.000
62,5
50
2.635
Ø
7.200
442,3
50
2.635
Tabelle 4.1: Szenarienübersicht
Im 3., 4. und 5. Szenario wurde die Teilnehmeranzahl jeweils auf 50 Peers
eingestellt, wobei lediglich die Bandbreiten verändert wurden. Dabei sind
die Bandbreiten im 3. Szenario auf 6.000 kbps im Download sowie 625
kbps im Upload gewählt worden. Für Anschlüsse, welche nicht in der
direkten Nähe eines DSLAMs angesiedelt sind, wie es auf vielen Dörfern
zur Zeit noch der Fall ist, wurden die Bandbreiten in den Szenarien 4
und 5 dementsprechend angeglichen. Dabei ist das Szenario 4 mit einer
Download-Rate von 2.000 kbps und einer Upload-Rate von 125 kbps
sowie in Szenario 5 mit einer Download-Rate von 1.000 kbps und einer
Upload-Rate vom 62,5 kbps festgelegt worden. Da nicht alle Peers die
selbe Bandbreite empfangen können, wurden in einem weiteren Szenario
die durchschnittlichen Werte der vorher verwendeten Szenarien eingestellt,
um ein noch objektiveres Ergebnis erzielen zu können. So wurden im
Download 7.200 kbps und im Upload 442,3 kbps verwendet. Die Simulationszeit wurde auf 30 Sekunden gesetzt.
33
4.3.2 Auswertung der Simulation
In einer EventLog-Datei, die während der Simulation erstellt wird, ist
deutlich abzulesen, welche Zeit zwischen Anforderung und Weiterleitung
der Streams vergeht. Zu Beginn der Simulation melden sich die Peers bei
dem Tracker-Server als Client im Netzwerk an.
Abbildung 4.1: Simulationsablauf-Diagramm
Die dabei verschickten Daten stehen in der Nachricht PeerToTracker (MsgP2T)-Datei und enthalten die PeerID, die auszuführende
Operation sowie Daten, die Information über den jeweiligen TV-Kanal
enthalten. Im weiteren Verlauf der Simulation senden die Peers eine An34
frage an den Tracker, welcher mit der Nachricht TrackerToPeer (MsgT2P)
antwortet. In dieser Antwort sind die verfügbaren Peers des Netzwerkes
aufgelistet, die den gewünschten Kanal besitzen und verteilen. Bis es zu
der Anforderung kommt, vergehen 2 s der gesamten Simulation. Nach
dieser Zeit beginnen die Peers untereinander Verbindungen herzustellen,
um die Streams austauschen zu können. Die Streams werden mit der
Nachricht PeerToPeer (MsgP2P) übertragen. In dieser Nachricht sind
ebenfalls die PeerID sowie Teile des gewünschten Kanals enthalten, die
als Stream übertragen werden.
Es wird die Zeit gemessen, wann eine Datei erhalten und nach welcher Zeit diese zu dem nächsten Peer weitergeleitet wurde. Aus den
Werten ist deutlich zu erkennen, dass die Peers durch die geringe UploadRate 1,24 s an Zeit verschenken. Im ersten Durchlauf der Simulation wurde
eine Download-Rate von 2,07 MB und eine Upload-Rate von 750 kBps
eingestellt. Nachdem die Simulation beendet war, war zu erkennen, wann
die Events gestartet wurden und welcher Peer den Stream empfangen
und weitergeleitet hat. Die bis dahin vergangene Zeit ist auf der x-Achse
abzulesen. Des weiteren stand eine Vektor-Grafik als Auswertung der
Ergebnisse zur Verfügung. Aus dieser Grafik konnte die Upload- sowie
Download-Performance der einzelnen Netzwerkelemente abgelesen werden.
In der Abbildung 5.1 wird ersichtlich, dass der Upload in seiner Performance mit 98% wesentlich mehr ausgelastet ist als der Download, welcher nur
20% Auslastung aufweist. Dies ist damit zu begründen, dass der Upload
zwar die gleiche Menge an Daten zu verarbeiten hat, jedoch eine höhere
Auslastung aufweist.
35
5 Auswertung
Für die Auswertung der verschiedenen Szenarien sind die Ergebnisse in Tabelle 5.1 dargestellt. Da nicht überall die selbe Bandbreite zur Verfügung
stand, wurden die Szenarien auf unterschiedlichen Bandbreiten sowie einer
unterschiedlichen Anzahl an Peers in einem Netzwerkknoten durchgeführt.
Die Einstellungen wurden so vorgenommen, dass die gleiche Menge an
Daten die heruntergeladen wird auch im Upload weiter verteilt wird. Um
ein reales Ergebnis zu erzielen, wurde die Paketlänge nicht variiert, denn
alle Teilnehmer empfangen einen gleichlangen Stream.
Download/ kbps
Upload/ kbps
Latenz/ s
Szenario 1
17.000
1.024
1,24
Szenario 2
10.000
625
2,36
Szenario 3
6.000
375
3,5
Szenario 4
2.000
125
10,54
Szenario 5
1.000
62,5
21,8
Ø
7.200
442,3
7,888
Tabelle 5.1: Latenz der einzelnen Szenarien
Die Ergebnisse der einzelnen Szenarien haben den Erwartungen entsprochen. Bei unterschiedlichen Bandbreiten im Down- sowie Upload hat sich
bezüglich der Performance nichts geändert.
Wenn die selbe Menge an Daten nach dem Herunterladen wieder hochgeladen wird, so ist die Auslastung des Uploads, aufgrund der niedrigen
Bandbreite, fünf mal höher als die des Downloads. Dieses Phänomen
ist in Abbildung 5.1 deutlich zu erkennen. Beim P2P-IPTV wird permanent ein Stream in Paketteilen verschickt, jedoch kann dieser nur
36
mit der selben Rate heruntergeladen werden, wie er von den anderen
Peers hochgeladen wird. In einem Netzwerk gibt es je nach Entfernung
der Clients zum DSLAMs immer wieder Unterschiede im Erreichen der
angeforderten Bandbreite. Clients bei denen vom DSLAMs keine weite
Strecke überbrückt wird, haben eine bessere Bandbreite zur Verfügung als
Clients die 3 km entfernt liegen.
120
Auslastung / %
100
80
Upload
Download
60
40
20
0
1
2
3
4
5
6
7
Simulationszeit / s
Abbildung 5.1: Auslastung des Up- und Downloads
In der Tabelle 5.1 ist die errechnete durchschnittliche Latenzzeit aller Peers
deutlich ersichtlich. Die Verzögerung nimmt mit niedriger werdender Bandbreite zu. Während bei einer Bandbreite von 17.000 kbps eine Verzögerung
von 1,24 s entsteht, liegt die Latenz bei einer Bandbreite von 1000 kbps
bei 21,8 s.
Bei Szenario 6 wurden die durchschnittlichen Bandbreiten aller Szenarien
ausgewertet. Dies ergab eine Latenz von 7,888 s. Zudem ließ sich feststellen, dass die Anzahl der Nutzer bei gleichbleibender Bandbreite ebenfalls
von Bedeutung war. Wie in Szenario 2 in Abschnitt 4.3.1 vermutet wurde,
hatte die Simulation mit 25 Peers eine Latenz von 2,6 s. Die Simulation
37
mit 50 Peers hatte nur noch eine Latenz von 2,4 s. Bei 100 Peers lag die
Latenz bei 2,1 s und hat damit die Erwartungen bestätigt, dass bei steigender Anzahl von Nutzern in einem P2P-Netz die Latenz verringert wird
und die Streams schneller weitergeleitet werden können.
Nach zwei Versuchen ein beschädigtes Paket zu versenden wurde ein neues
Paket generiert oder eine neue Quelle angefordert. Diese Szenarien passieren in einem realen Netzwerk häufig, aber auch dass Knoten ausfallen
oder fehlerbehaftete Datenpakete versendet werden. Die Zeit, um eine neue
Quelle für diese Teile im Netz zu finden, wirkt sich negativ auf die gesamte
Latenz des Streams aus.
5.1 Simulation mit verändertem Konzept
Die Simulation wurde dahingehend geändert, dass die Peers vom Upload
der Streams entlastet wurden und die DSLAMs die Teile weitergeleitet
haben. Der Quellcode der PeerNodes wurde so geändert, dass diese nur
herunterladen müssen. In diesem Fall sollen die Peers den Stream nicht
mehr weiterleiten.
In den DSLAMs wurde der Teil der Weiterleitung implementiert, so dass
diese die Aufgabe des Verteilens übernehmen. Da in den DSLAMs eine
symmetrische Bandbreite möglich ist und somit genauso schnell die Daten
empfangen, als auch weitergeleitet werden können, ist dies ebenfalls ein
Vorteil dieser Technik.
Die DSLAMs haben mit einer Bandbreite von 155 Mbps keine Probleme, die Daten schneller weiterzuleiten, als die Peers es können. Die
teilnehmenden Peers müssen also wie von den Entwicklern vorgesehen,
den Upload nur noch mit Anfragen von Kanälen belasten.
Wie aus den Ergebnissen aus Abschnitt 4.3.2 zu erwarten war, lässt sich
durch die Einsparung der Upload-Bandbreite auf der Strecke zwischen
Peer und DSLAMs, durch die Umstrukturierung, eine Zeit von 1,22 s in
38
der Übertragung sparen. Die Peers erhalten nun direkt von den DSLAMs
den Stream und die komplette Upload-Rate der Peers ist frei. Dadurch
wird die Upload-Rate der DSLAMs stärker in Anspruch genommen. Doch
sind die Bandbreiten eines DSLAMs mit 155 Mbps, im Vergleich zu einem
normalen Peer mit durchschnittlich 17.000 kbps, viel höher.
Verzögerung durch Download-Rate
Die einzige Verzögerung die auf dieser Strecke noch auftreten kann, ist den
unterschiedlichen Download-Raten der einzelnen Peers geschuldet. Diese
Verzögerungen belaufen sich jedoch auf 0 ms - 0,5 ms, je nach DownloadRate. Peers mit einer hohen Download-Rate bekommen das gesendete LiveBild schneller zu sehen und haben auf der DSLAMs - Peer Strecke nahezu
0 s Verzögerung. Bei Peers mit einer geringen Bandbreite, wie es in weiten
Teilen Deutschlands auf Dörfern der Fall ist, haben aufgrund ihres Downloads eine Verzögerung von bis zu 500 ms.
5.2 Fazit
Aufgrund der ausgewerteten Ergebnisse der Simulation lässt sich sagen,
dass sich das Konzept zur Verringerung der Latenz durch eine umstrukturierte Aufgabenverteilung lohnt (siehe Tabelle 5.2). Die Auswertung
hat unter anderem ergeben, dass die Peers in der Upload-Bandbreite
vollständig entlastet werden, indem nicht die Peers, sondern die DSLAMs
den Stream weiterleiten müssen. Die Bandbreite der Peers ist somit frei
für andere Aufgaben, beispielsweise für VoIP oder Online-Gaming.
Zudem wird durch die Auswertung ersichtlich, dass die Streams eine
geringere Latenz aufweisen. So ist festzustellen, dass es bei Peers mit einer
Bandbreite von 1024 kbps im Upload zu einer Latenzverringerung von
1,24 s kommt. Bei Peers mit einer geringeren Bandbreiten im Upload,
beispielsweise 62,5 kbps, ist eine Einsparung von 21,8 s zu erzielen. Da es
39
kein Netzwerk gibt, indem alle Peers die selbe Bandbreite erhalten, ist bei
einer Gleichverteilung der Bandbreiten im Mittel eine Latenz-Ersparnis
von 7,888 s erzielt worden. Bei einer Variation der Anzahl der Peers war
ebenfalls ersichtlich, dass bei einer geringen Anzahl die Latenz höher ist, als
bei einer hohen Anzahl. Dies bedeutet ebenfalls, dass es bei Kanälen, die
nur von wenigen Peers angefordert werden zu einer größeren Verzögerung
kommt, als bei Kanälen die von vielen Peers angefordert werden. Auch
hier spiegelt sich also wieder, dass das Konzept der Umstrukturierung
der Aufgaben lohnenswert ist und die Latenz so nicht mehr von der
Upload-Rate und von der Anzahl der Teilnehmer abhängt.
Ereignis
Ergebnis
Durchschnittliche Latenz der Szenarien vor der Umstrukturierung
7,888 s
Zeitersparnis nach der Umstrukturierung
7,85 s
Upload-Kapazität nach der Umstrukturierung
100 %
Latenz zu herkömmlichen Übertragungsarten
50 s
Tabelle 5.2: Ergebniszusammenfassung
Zwar liegt die Verzögerung im Gegensatz zu herkömmlichen
Übertragungswegen trotz verringerter Latenz immer noch hinter diesen,
doch ist mit einer weiterführenden Entwicklung eine weitere Annäherung
zu erwarten. Des weiteren ist festzustellen, dass die Auslastung des
Uploads vor der Umstrukturierung bei 100 % lag und damit die Peers
mit der Verteilung des Streams völlig ausgelastet waren. Nachdem die
Aufgabe der Verteilung den DSLAMs übergeben wurde, sind die Peers zu
99 % erreichbar.
Zusätzlich wurde die Latenz zu den herkömmlichen Empfangsarten im
Durchschnitt verringert und das P2P-basierte IPTV ist dem Live-TV
in Echtzeit ein Stück näher gekommen. Rechnet man die Zeitersparnis
nach der Umstrukturierung der Latenzzeit von davor entgegen, so sind
Empfangsarten wie Kabel- oder Satellit nur noch um 42 s schneller.
40
6 Zusammenfassung
Das P2P-basierte IPTV erfordert eine gute Performance im Bereich des
Uploads. In den bisher entwickelten Netzen kommt es immer wieder zu
Verzögerungen zwischen dem live gesendetem Bild und dem Empfang des
Streams bei einem P2P-IPTV-Teilnehmer. Bei den Bandbreiten kommt
es zu einer asymmetrischen Verteilung zwischen der Download- und der
Upload-Rate. Der Download ist um Faktor 16 größer als der Upload, dabei
sind immer wieder Verzögerungen in der Weiterleitung der Live-Streams zu
beobachten. Das beschriebene Konzept hat in der Umsetzung gezeigt, dass
es bei den unterschiedlichen Bandbreiten zu Einsparungen im Bereich der
Latenz kommt. Zudem wird der gesamte Upload der Peers frei und kann
für weitere Aufgaben z.B. VoIP genutzt werden. Bei einer Umrüstung aller
DSLAMs, um die Aufgaben der Peers übernehmen zu können, ist bei dem
ersten Szenario eine Zeitersparnis von 1,24 s festzustellen. Bei weiteren
Szenarien, in denen geringere Bandbreiten eingestellt wurden, waren die
Ersparnisse noch höher und stiegen bis zu auf 21,8 s bei einer Upload-Rate
von 62,5 kbps an. Aus den Werten der Tabelle 5.1 ist zu erkennen, dass
es im Mittelwert der eingestellten Bandbreiten zu einer durchschnittlichen
Einsparung der Latenz von 7,888 s kommt.
Es ist ebenfalls festzustellen, dass das P2P-IPTV mit den heutigen Entwicklungen und Erkenntnissen eine gute Alternative zum herkömmlichen
Empfang des TV-Signals darstellt. Im Hinblick auf andere Empfangsarten
hat die Simulation ebenfalls gezeigt, dass das P2P-IPTV den größten Unterschied zur Echtzeit liefert. Mit dem heutigen Stand dient dies doch eher
als sekundäre Variante des Empfangs.
41
Literaturverzeichnis
[20112] About Bit Torrent.
http://www.bittorrent.com/intl/de/
company/about. Version: 2012
[AG11] AG, Deutsche T.: Das Geschäftsjahr 2011 / Deutsche Telekom
AG. 2011. – Forschungsbericht
[Akb11] Akbari, S.M.Y Seyyedi B.: Hybrid CDN-P2P architectures for
live video streaming: Comparative study of connected and unconnected meshes. (2011)
[Bau04] Bauer, Matthias: Peer-to-Peer Überblick über Konzepte, Architekturen, Plattformen und aktuelle Entwicklungen. Grin Verlag,
2004
[Bau11] Baumgart, Ingmar: Verteilter Namensdienst für dezentrale IPTelefonie. Scientific Publishing, 2011
[Com09] Community, Omnet++: What is Omnet++. http://www.
omnetpp.org/home/what-is-omnet. Version: 2009
[Deg08] Degner, Klaus: Inhaltsbasierte Analyse des Tauschverhaltens in
P2P-Netzwerken, Universität Leipzig, Diplomarbeit, 2008
[Dus]
Dustdar, Manfred Hauswirth S.: Peer-to-Peer: Grundlagen und
Architektur.
[Fis03]
Fischbach, Detlef Schoder K.: Peer-to-Peer-Netzwerke für das
Ressourcenmanagement. WI-State of the Art, 2003
[Geb04] Gebhart, Sarah: Peer-to-Peer Data Management. 2004
42
[Hei12]
Heise: EM im TV: Wer zuletzt jubelt... / Heise Zeitschriften
Verlag. 2012. – Forschungsbericht
[HT10]
http://www.hit-tv.eu/IPTV.html
[Kaf12] Kafkar, Gerhard:
P2P (peer to peer network).
http://www.itwissen.info/definition/lexikon/
Peer-to-Peer-Netz-P2P-peer-to-peer-network.html.
Version: 2012
[Kau11] Kaune, Sebastian: Performance and Availability in Peer-to-Peer
content distribuiton systems: A case for a multilateral incentive
approach, Technische Universität Darmstadt, Diplomarbeit, 2011
[Man06] Mannl, Uwe ; BTU Cottbus (Hrsg.): Hierarchische Peer-toPeer-Netze. BTU Cottbus, 2006
[Sha01] Shahmehri, Ross Lee Graham N. (Hrsg.): Peer-To-Peer Computing. 2001
[tea11]
teaching.org e: Peer-to-Peer. http://www.e-teaching.
org/technik/vernetzung/architektur/peer-to-peer/.
Version: 09. 2011
[Weh05] Wehrle, Ralf Steinmetz K.: Peer-to-Peer Systems and Applications. Springer, 2005
[www08] www.zattoo.com:
Freeware der Woche: Internetfernsehen mit Zattoo.
http://www.netzwelt.de/news/
77437-freeware-woche-internetfernsehen-zattoo.html.
Version: 2008
[www11] www.zattoo.com: Deutsches Fernsehen kostenlos empfangen. http://www.netzwelt.de/download/6133-zattoo.html.
Version: 2011
[www12] www.bittorrent.com: BitTorrent: Dateien verteilen in ra-
43
santer Geschwindigkeit. http://www.netzwelt.de/download/
3456-bittorrent.html. Version: Januar 2012
[Xyl09] Xylomenos, Konstantinos Katsaros Vasileios P. Kemerlis Charilaos Stais G.: A BitTorrent Module for the OMNeT++ Simulator.
(2009)
44
Eidesstattliche Erklärung
Hiermit erkläre ich an Eides statt, dass ich die vorliegende Arbeit
selbstständig und ohne Benutzung anderer als der angegebenen Hilfsmittel
angefertigt habe. Die aus den Quellen direkt oder indirekt übernommenen
Gedanken sind als solche kenntlich gemacht. Die Arbeit hat mit gleichem bzw. in wesentlichen Teilen gleichem Inhalt noch keiner anderen
Prüfungsbehörde vorgelegen.
————————
Ort, Datum
————————
Unterschrift
45
Herunterladen