Anwendung einer optimierten Hybrid-Fehlerkorrektur in Multi

Werbung
Studienarbeit
Anwendung einer optimierten
Hybrid-Fehlerkorrektur in Multi-Hop
Netzwerken
Michael Karl
Betreuer
Gutachter
: M.Sc. Manuel Gorius
: Prof. Dr.-Ing. Thorsten Herfet
Universität des Saarlandes
Naturwissenschaftlich-Technische Fakultät I
Fachbereich Informatik
Universität des Saarlandes
Postfach 15 11 50, 66041 Saarbrücken
UNIVERSITÄT
DES
SAARLANDES
Studienarbeit für
Michael Karl
Lehrstuhl
für
Anwendung einer optimierten Hybrid-Fehlerkorrektur in Multi-Hop Nachrichtentechnik
Netzwerken
—
Zur Zeit erfährt das Internet einen Paradigmenwechsel von der rein textbasierten
Anwendung hin zur Verteilung breitbandiger audio-visueller Inhalte. Allerdings können
die verfügbaren Transport-Protokolle entweder nicht genügend Zuverlässigkeit liefern
(UDP1) oder keine begrenzte Verzögerung garantieren (TCP2). Audio-visuelle Medien
formulieren individuelle Anforderungen, wie tolerierte Paketfehlerraten oder benötigte
Zeitschranken, an das Protokoll. Zusätzlich erfordert der ansteigende Verbrauch an
Bandbreite durch derartige Inhalte die Umsetzung einer effizienten Fehlerkorrektur.
Das AHEC3-Schema zur paketorientierten Fehlerkorrektur wurde für die NetzwerkÜbertragung audio-visueller Medien entwickelt. Paketfehler werden unter strikten
Zeitschranken so korrigiert, dass eine quasi-fehlerfreie Übertragung bei minimalem
Zusatz an Redundanz-Information ermöglicht wird. Bis jetzt wird die Fehlerkorrektur
selbst in Multi-Hop Netzwerken ausschließlich im Ende-zu-Ende Modus angewendet.
Eine Optimierung der AHEC per Segment verspricht eine weitere Reduktion
redundanter Übertragungen im Multi-Hop Netzwerk. Die sinnvolle Verteilung der für
die Fehlerkorrektur zur Verfügung stehenden Zeit erscheint als wichtiger Parameter
für den Optimierungsprozess.
Im Einzelnen sind folgende Aufgaben zu lösen:
•
•
•
Einführung in die Ende-zu-Ende Arbeitsweise des AHEC Schemas und
Beschreibung typischer Multi-Hop Fehlerschutz-Schemata.
Entwerfen eines Lösungsansatzes zur optimalen Verteilung des für die
Fehlerkorrektur
verfügbaren
Zeit-Budgets
auf
mehrere
serielle
Netzwerksegmente.
Implementierung des Lösungsansatzes und Demonstration der Effizienz mit
Hilfe einer aussagekräftigen Metrik.
Arbeitsumgebung:
Ein Analysis-Framework zur Berechnung der Kodierungsparameter für die Ende-zuEnde Fehlerkorrektur ist vorhanden.
–
Betreuer:
Gutachter:
Manuel Gorius
Prof. Dr.-Ing. Th. Herfet
1 User Datagram Protocol
2 Transmission Control Protocol
3 Adaptive Hybrid Error Correction
FR Informatik
Prof. Dr. Th. Herfet
Universität des Saarlandes
Campus Saarbrücken
C6 3, 10. OG
66123 Saarbrücken
Telefon (0681) 302-6541
Telefax (0681) 302-6542
www.nt.uni-saarland.de
Zusammenfassung
Das größte weltweit genutzte Netzwerk, das Internet, befindet sich zur Zeit in einem Umbruch.
Wurden früher noch hauptsächlich textbasierte Daten übertragen so wird es heute immer häufiger
für audio-visuelle oder sonstige zeitkritische Anwendungen verwendet, weshalb es wichtig ist effiziente Fehlerschutzverfahren zu verwenden, um die von diesen Anwendungen geforderten maximal zulässigen Delays bei festgeschriebener Restfehlerrate einzuhalten. Bisher wurden diese
Ansätze im Ende-zu-Ende Modus betrachtet, jedoch verspricht eine Multi-Hop Betrachtung eine
weitere Optimierung der Verfahren.
Diese Arbeit beschäftigt sich mit der notwendigen Aufteilung der Delays und den von den Fehlerschutzverfahren produzierten Kosten (z.B. Redundanz) auf die einzelnen Segmente eines solchen
Multi-Hop Szenarios.
Inhaltsverzeichnis
1 Einleitung
5
2 Fehlerschutz auf Paketbasis
2.1 Fehlermodellierung . . . . . . . . . . . . .
2.1.1 Erasure Kanal . . . . . . . . . . .
2.1.2 Gilbert-Elliot Modell . . . . . . . .
2.2 Fehlerschutzmechanismen . . . . . . . . .
2.2.1 Automatic Repeat Request (ARQ)
2.2.2 Forward Error Correction (FEC) .
2.2.3 Hybrid Error Correction (HEC) . .
2.3 Framework . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
7
7
7
9
10
10
11
11
11
3 Netzwerke
3.1 Single-Link Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Multi-Link Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Fehlerkorrektur: Single-Link vs. Multi-Link . . . . . . . . . . . . . . . . . . . . .
13
14
14
17
4 Fehlerschutz in Multi-Link Netzwerken
4.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Forward Error Correction in Multi-Link Umgebungen .
4.3 Automatic Repeat Request in Multi-Link Umgebungen .
4.4 Anwendung des Frameworks auf Multi-Link Netzwerke .
4.5 Kostenbegriff in Multi-Link Netzwerken . . . . . . . . .
4.6 Optimierungsproblem . . . . . . . . . . . . . . . . . . .
4.6.1 Lösungsansätze . . . . . . . . . . . . . . . . . . .
19
19
20
20
21
22
23
24
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Lösungsverfahren für das Optimierungsproblem
25
5.1 Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2 Lösungs-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6 Metriken
30
6.1 Allgemeine Kostenmetrik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.2 Speziellere Kostenmetriken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7 Anwendungen
7.1 Unicast-Szenario . . . . . . . . . .
7.1.1 Aufbau . . . . . . . . . . .
7.1.2 Ende-zu-Ende Betrachtung
7.1.3 Multi-Link Betrachtung . .
7.1.4 Ergebnisse . . . . . . . . . .
7.2 Multicast-Szenario . . . . . . . . .
7.2.1 Aufbau . . . . . . . . . . .
7.2.2 Ende-zu-Ende Betrachtung
7.2.3 Multi-Link Betrachtung . .
7.2.4 Ergebnisse . . . . . . . . . .
8 Zusammenfassung und Ausblick
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
32
32
32
33
33
36
36
36
37
38
41
1 Einleitung
Das Internet wurde in seinen Anfangszeiten hauptsächlich zu akademischen und militärischen
Zwecken genutzt. Die Zahl der angeschlossenen Rechner und somit der Teilnehmer war sehr
übersichtlich und im Bereich von einigen hundert anzusiedeln [1]. Man nutzte hauptsächlich
Dienste wie FTP oder E-Mail, um Informationen auszutauschen.
Die Kommunikation zwischen den einzelnen Teilnehmern fand textbasiert statt, da die verfügbare
Bandbreite der Netzwerke noch stark begrenzt war und somit multimediale Anwendungen zu
dieser Zeit noch wenig Sinn machten. Ein fehlerfreier Informationsaustausch wurde erst im Laufe
der Zeit mit der Einführung des TCP/IP Protokolls möglich, welches noch heute in Netzwerken zur Absicherung des Datenstroms eingesetzt wird. Im Verlauf der vergangenen Jahrzehnte wandelte sich das ursprüngliche Internet zu einer interaktiven Wissens-, Informations- und
Kommunikationsplattform mit mehr als 500 Mio. Teilnehmern [1]. Dieser Wandel vom früher
akademischen zum heutigen hauptsächlich kommerziell genutzten Internet ist vor allem darauf
zurückzuführen, dass es inzwischen sehr viel mehr Möglichkeiten gibt als noch zu den Anfangszeiten; als Vorreiter sei hier das WorldWideWeb erwähnt. Im Gegensatz zu den damaligen
textbasierten Daten werden heute immer mehr multimediale Anwendungen genutzt um Informationen zu verbreiten. So ist es heute möglich über das Internet zu telefonieren (VoIP), sich
Fernsehprogramme anzusehen (IPTV) oder aber komplette Videokonferenzen zu veranstalten.
Die Nutzung solcher audio-visueller Anwendungen bringt neben dem Komfort und der Interaktion für den Benutzer aber auch ein großes Problem mit sich: Durch multimediale Inhalte
wird das Internet zunehmend stärker belastet, was in einer kleineren, zur Verfügung stehenden
Bandbreite und somit auch längeren Übertragungszeiten der Daten resultiert.
Da die Daten nicht über fehlerfreie Kanäle versendet werden, muss ein angemessener Fehlerschutz auf diese Daten angewendet werden, welcher jedoch noch zusätzliche Daten produziert,
die ebenfalls übermittelt werden müssen.
In Zukunft wird sich dieser Trend zu multimedialen Anwendungen wohl noch weiter fortsetzen.
So wird das Internet schon heute von audiovisuellen Daten dominiert und Benutzer können mit
solchen Inhalten die gleichen Aktionen durchführen, wie man es früher nur von textbasierten
Inhalten gewohnt war.
Das Internet wird zunehmend in Bereiche (Multimedia, Online Gaming, WWW, etc.) unterteilt für die es damals nicht ausgelegt wurde und es erscheint schwierig mit den bisherigen
Möglichkeiten das ursprüngliche Design dieses größten Netzwerkes, der Zukunft vernünftig anzupassen. Aus diesem Grund sind neue Protokolle erforderlich, die den immer bedeutender
werdenden Themen wie Verbindungsbandbreite, Echtzeitfähigkeit oder auch Interaktion Rechnung tragen.
Aus diesem Grund wurde auch das AHEC-Protokoll entwickelt: Es ermöglicht die Übertragung
paketbasierter Daten in Netzwerken mit der Garantie, dass Delay-Bedingungen strikt eingehalten werden, wie es für audio-visuelle Anwendungen, wie etwa IPTV, wünschenswert ist.
Das AHEC-Protokoll wurde bisher nur für Ende-zu-Ende Szenarien benutzt, d.h. es werden alle
beteiligten Netzwerksegmente zu einem einzigen logischen Netzwerksegment zusammengefasst.
Diese Ende-zu-Ende Anwendung erscheint aber als recht ineffizient im Bezug auf die vom Fehlerschutz produzierten Redundanzinformationen, also jenen Daten, die der Empfänger nutzt,
um etwaige Fehler während der Übertragung zu korrigieren.
Nimmt man etwa an, dass ein Anwender einen IPTV Dienst über seinen DSL Anschluß nutzt
und er diese TV Daten per WLAN in seinem Haus zu einem Receiver schickt, so wird klar, dass
es sehr ineffizient ist, die DSL Leitung und den WLAN Kanal zu einem Segment zusammenzufassen.
Die DSL Leitung ist quasi fehlerfrei (P LR = 10−7 ), allerdings produziert das WLAN Fehler
in der Größenordnung von einigen Prozent (P LR = 10−2 ) [7]. Deshalb müssen alle Redun-
5
danzdaten, die eigentlich nur aufgrund des WLAN Segmentes generiert wurden, auch über die
DSL-Leitung verschickt werden, was diese unnötig belastet.
Betrachtet man nun jedes Segment für sich, so wäre für die DSL Leitung nur sehr wenig Redundanz nötig. Der Hop zwischen DSL Leitung und WLAN würde dann die nötige Redundanz
für das WLAN Segment hinzufügen, was allerdings intelligente Hops nötig macht.
Im Folgenden wird das Thema der Verteilung von Zeit, und somit auch Redundanz, pro Segment erörtert und ein Algorithmus zur Berechnung dieser Aufteilung vorgestellt.
In Kapitel 2 wird zunächst ein kurzer Überblick des paketbasierten Fehlerschutzes und der
Fehlermodellierung des zugrunde liegenden Frameworks gegeben. Kapitel 3 und 4 stellen dann
grundlegende Netzwerktopologien und mögliche Fehlerschutzmechanismen in Multi-Link Umgebungen vor. Kapitel 5 beschreibt den entwickelten Lösungsansatz des Optimierungsproblems
und Kapitel 6 zeigt zwei verschiedene Metriken die zur Veranschaulichung des Gewinns einer
Multi-Link Betrachtung gegenüber einer Ende-zu-Ende Betrachtung benutzt werden können.
Kapitel 7 veranschaulicht dann die Anwendung und den Nutzen einer Multi-Link Betrachtung
an zwei ausgewählten Beispielen.
6
2 Fehlerschutz auf Paketbasis
Heutige digitale Kommunikation, wie etwa IPTV, VoIP oder Online Gaming, benötigt zwingend eine verlässliche Übermittlung von Daten, um benutzerfreundlich und interaktiv genutzt
werden zu können.
Allerdings sind diese Übertragungskanäle in der Regel gestört und nicht fehlerfrei. Um diese
Kanäle dennoch zuverlässig nutzen zu können, wurden Fehlerschutzverfahren entwickelt, die
den eigentlichen Informationsdaten Redundanz hinzufügen, um sicherzustellen, dass die Daten
beim Empfänger vollständig wiederhergestellt werden können. In dem in dieser Arbeit betrachteten Szenario arbeiten diese Fehlerschutzverfahren nicht auf Bit- oder Symbolbasis, sondern
auf Basis von ganzen Datenpaketen.
Die Häufigkeit oder das Vorkommen der Fehler, die der Übertragungskanal verursacht, sind
nicht ohne Weiteres vorhersagbar. Aus diesem Grund ist ein geeignetes Fehlermodell zu erstellen, mit dessen Hilfe man statistische Aussagen über Häufigkeit und Vorkommen der Fehler
durch einen Kanal treffen kann. In dieser Arbeit wird zur Fehlermodellierung das Gilbert-ElliotModell verwendet. Dieses Modell stellt eine stark vereinfachte aber dennoch aussagekräftige
Fehlermodellierung dar,die statistische Aussagen über auftretende Fehler zulässt.
2.1 Fehlermodellierung
Paketorientierte Netzwerke wie etwa (wired) LAN oder wireless LAN (WLAN) sind nicht
vollständig fehlerfrei. Anhand von Messungen ist zu erkennen, dass Paketfehler in WLANs nicht
unabhängig voneinander auftreten oder gleichverteilt sind. Somit ist es nicht ausreichend, nur
zufällig auftretende Fehler auf Basis der Paketfehlerrate (engl. Paket Loss Rate, PLR) anzunehmen. Der Übertragungskanal wird hier als Auslöschungs-Kanal (Erasure-Kanal) angenommen.
2.1.1 Erasure Kanal
Abbildung 1: Erasure Kanal
Ein Erasure Kanal zeichnet sich durch die Eigenschaft aus, dass Pakete entweder völlig korrekt empfangen werden oder aber überhaupt nicht. Entdeckt der Empfänger einen Fehler, zum
Beispiel ein umgedrehtes Bit, im ankommenden Paket, so wird dieses vollständig verworfen.
Somit sind auf Empfängerseite keine fehlerhaften Pakete vorhanden. Da alle Pakete mit entsprechenden Sequenznummern versehen sind, ist bei einem auftretenden Fehler der Fehlerort
7
direkt bekannt (z.B. durch eine Lücke in den Sequenznummern) und es muss nur noch der Fehlerwert bestimmt werden.
Der allgemeine Erasure-Kanal mit n Eingängen hat n + 1 Ausgänge: n entsprechend den
Eingängen und einem Fehlerzustand. Die Wahrscheinlichkeit, dass Daten falsch übertragen werden ist fe und dementsprechend werden die Daten mit der Wahrscheinlichkeit 1 − fe korrekt
übertragen. Sollte ein Fehler, also eine Auslöschung, auftreten, wird der Eingang zu dem Fehlerzustand umgeleitet.
In Abbildung 1 ist ein allgemeiner Erasure-Kanal mit n Eingängen dargestellt.
Kanalkapazität Eine wichtige Charakteristik eines Übertragungskanals ist dessen Kapazität.
Nach Shannon gilt: Ist die Coderate des Senders geringer als die Kapazität des Kanals, so gibt es
eine Codierung der Daten, die dazu führt, dass die Informationen des Senders mit einer beliebig
geringen Fehlerwahrscheinlichkeit übertragen werden können.
Im Allgemeinen gilt für die Kapazität eines beliebigen diskreten, gedächtnislosen Kanals:
C = max I(X, Y )
p(x)
wobei I(X,Y) die gemeinsame Information von Sender/Empfänger und p(x) die Auftrittswahrscheinlichkeit von x darstellt.
Für den Fall des Erasure-Channel gilt:
CErasure = 1 − fe
Code Rate Die Code Rate R gibt das Verhältnis der Länge von Informationssymbolen k und
der Länge der codierten Symbole an. Sie ist definiert als
R=
k
.
n
Redundanz Als Redundanz bezeichnet man die zum ursprünglichen Informationswort hinzugefügte Information, um Fehler auf der Empfängerseite zu korrigieren. Ist n die Länge des
Codewortes und k die Länge der Informationsworte so ergibt sich eine Redundanz von n − k
Symbolen.
Setzt man diese Redundanz mit der Länge der Informationsworte ins Verhältnis, ergibt sich die
sogenannte Redundanzinformation RI:
RI =
n−k
n
= − 1.
k
k
Würde man Codewortlängen mit n k benutzen, so würde R = nk 1 gelten und es wäre
zumindest theoretisch möglich eine beliebig kleine Fehlerwahrscheinlichkeit zu erhalten, da nach
Shannon R < C gelten muss. Allerdings ist dann auch Redundanz sehr hoch und somit nimmt
der Informationsfluß stark ab, d.h. der Datendurchsatz ist entsprechend gering.
Wie bereits erwähnt gilt für den Erasure-Kanal C = 1 − fe und nach Shannons Theorem
gilt R < C. Nutzt man nun dies ergibt sich:
R<C⇔
k
n
1
< 1 − fe ⇔ >
n
k
1 − fe
8
Mit Hilfe der Redundanzinformation RI ergibt sich:
RI =
n
1
1 − (1 − fe )
fe
n−k
= −1<
−1=
=
k
k
1 − fe
1 − fe
1 − fe
Somit beträgt die optimale RI für den Erasure-Channel
RI =
fe
.
1 − fe
2.1.2 Gilbert-Elliot Modell
Abbildung 2: Gilbert-Elliot Modell
Aufgrund der Tatsache, dass die Fehler bei den betrachteten Übertragungskanälen nicht unabhängig voneinander sind oder gleichverteilt auftreten ist es nötig ein entsprechendes Kanalmodell auf Basis des Auslöschungskanals zu verwenden. Für die hier betrachteten Kanäle bietet
sich das Gilbert-Elliot-Kanalmodell [2] [3] an.
Ein Gilbert-Elliot-Kanal ist ein sich ändernder, symmetrischer Kanal, dessen Aufbau durch eine
Markov-Kette mit zwei Zuständen dargestellt werden kann. Eine Markov-Kette ist im allgemeinen ein System aus S Zuständen si , i=1..S, zwischen denen gewechselt werden kann. Diese
Übergänge zwischen den Zuständen sind durch die Übergangswahrscheinlichkeiten Pij beschrieben: Ist das System in Zustand si wechselt es mit der Wahrscheinlichkeit Pij in den Folgezustand
sj , wobei si und sj nicht zwangsläufig verschieden sein müssen.
Das Gilbert-Elliot-Modell ist eine Markov-Kette mit zwei Zuständen, einer repräsentiert den
Kanal mit guten Eigenschaften (G)“ und einer mit schlechten Eigenschaften (B)“. Gute Ei”
”
genschaften bedeutet dass die Fehlerwahrscheinlichkeit P LR des Kanals gering ist und schlechte
Eigenschaften bedeutet dementsprechend dass die die Fehlerwahrscheinlichkeit hoch ist. Wir
nehmen ein vereinfachtes Modell an und setzen P LR(G) = 0 und P LR(B) = 1. Da es sich hier
um eine Markov-Kette mit nur zwei Zuständen handelt ist es möglich, die Übergänge mit nur
zwei Wahrscheinlichkeiten α und β auszudrücken.
Ist das System im Zustand G, so drückt α die Wahrscheinlichkeit aus im nächsten Schritt ebenfalls in Zustand G zu sein. folglich ist 1 − α die Wahrscheinlichkeit einen Übergang von G nach
B zu vollziehen. Dementsprechend stellt β die Wahrscheinlichkeit dar, bei einem Übergang im
Zustand B zu bleiben und 1 − β stellt demnach den Übergang von B nach G dar. Abbildung 2
zeigt solch ein typisches Gilbert-Elliot-Modell mit allen Übergängen.
Ordnet man diese Wahrscheinlichkeiten in einer Matrix an, so ergibt sich die Übergangsmatrix
9
P0 zu:
P0 =
α
1−α
1−β
β
Betrachtet man nicht nur einen Übergang, sondern m Übergänge so ergibt sich:
P (m) =
P0m
=
(1
1−β+(1−α)(α+β−1)m
2−α−β
− β)(2 − α − β)( m −
!
(1 − α)(2 − α − β)( m − 1)
1)
1−α+(1−β)(α+β−1)m
2−α−β
Die durchschnittliche Wahrscheinlichkeit in Zustand G bzw. Zustand B zu sein ergibt sich nach
[4] zu:
1−β
PG =
2−α−β
1−α
PB =
2−α−β
Die durchschnittliche Paketfehlerrate des GE-Modells kann wie folgt ausgedrückt werden
P LRGE = P LR(G) · PG + P LR(B) · PB
Da in unserem vereinfachten Modell die Annahmen P LR(G) = 0 und P LR(B) = 1 gelten, folgt
somit
1−α
P LRGE = PB =
.
2−α−β
2.2 Fehlerschutzmechanismen
Bei jeder Übertragung von Daten über einen physikalischen/logischen Kanal können Fehler
auftreten und somit die Verbindung zwischen Sender und Empfänger erheblich stören. Daher ist
es wichtig, geeignete Schutzmaßnahmen zu treffen. So ist es zum Beispiel möglich, beschädigte
oder verlorene Pakete erneut zu übertragen oder aber den zu sendenden Daten etwas mehr
Information mitzugeben um dem Empfänger die Möglichkeit zu geben bei teilweise zerstörten
Paketen den ursprünglichen Zustand wieder herzustellen. In beiden Fällen muss der Empfänger
aber in der Lage sein, zumindest den Fehlerort zu bestimmen.
Diese Ansätze werden Automatic Repeat Request bzw. Forward Error Correction genannt.
2.2.1 Automatic Repeat Request (ARQ)
Die Automatic Repeat Request Methode ist ein Mechanismus, um eine zuverlässige Übertragung
von Daten zu erzielen. Der Empfänger ist hierbei in der Lage, Fehler in den Paketen zu entdecken
und beim Sender eine erneute Übermittlung des betreffenden Paketes anzufordern. Im Falle eines
Erasure-Kanals können auch komplette Pakete verloren gehen, welche vom Empfänger identifiziert werden, z.B. mit Hilfe der Paketsequenznummern, und beim Sender erneut angefordert
werden. Der Empfänger kann jedes Paket entweder bestätigen indem er ein ACK zurück an den
Sender schickt, oder aber auf eine Sequenznummerlücke der eingehenden Pakete reagieren indem
er ein negatives ACK (NACK) an den Sender sendet. Dieser Mechanismus funktioniert nur bei
bidirektionalen Übertragungskanälen, da ein Datenaustausch in beide Richtungen erfolgen muss.
ARQ kann im Prinzip auf drei Arten stattfinden:
Stop and Wait Hierbei wartet der Sender nach Versenden eines Datenpaketes auf die Bestätigung
(ACK) des Empfängers, bevor weitere Datenpakete gesendet werden. Dieses Prinzip stellt das
einfachste ARQ-Verfahren dar.
10
Go-Back-N Hier hat der Sender nach Versenden eines Datenpaketes die Möglichkeit noch
eine gewisse Anzahl weiterer Pakete zu versenden ohne dass eine Bestätigung des Empfängers
eingegangen sein muss. Es gibt eine Art Fenster, in dem der Sender operieren kann. Ist dieses
Fenster Q Pakete groß, so kann der Sender noch Q − 1 weitere Pakete versenden, nachdem das
Erste übertragen wurde und ohne dass dieses bestätigt wurde.
Selektives ARQ Der Sender wartet hier nicht auf eine Bestätigung dass ein Paket korrekt
beim Empfänger angekommen ist, er wartet vielmehr auf negative Bestätigungen (NACK) die
der Empfänger im Falle eines Fehlers oder Paketverlustes an den Sender schickt, um eine erneute
Übertragung des entsprechenden Paketes anzustoßen.
2.2.2 Forward Error Correction (FEC)
Forward Error Correction fügt auf Senderseite den zu übertragenden Datenpaketen Redundanz
hinzu. Mit Hilfe dieser zusätzlichen Informationen ist es dem Empfänger möglich, gewisse Fehler
zu korrigieren. Die genaue Anzahl dieser Korrekturen hängt vom verwendeten FEC-Code ab.
Bekannte Beispiele für FEC-Codes sind u.a Hamming-Codes und Reed-Solomon-Codes.
Forward Error Correction Codes benötigen im Gegensatz zum Automatic Repeat Request
(ARQ) keinen Rückkanal, können also auch auf unidirektionalen Übertragungskanälen verwendet werden.
2.2.3 Hybrid Error Correction (HEC)
Unter Hybrid Error Correction versteht man die Kombination aus Forward Error Correction
(FEC) und Automatic Repeat Request (ARQ). FEC wird hierbei verwendet, um die Häufigkeit
der Paketwiederholungen zu reduzieren, indem der Empfänger die Möglichkeit besitzt, gewisse auftretende Fehler selbstständig zu korrigieren, ohne das Paket erneut anzufordern. ARQ
hingegen wird genutzt, wenn zu viele Fehler auftreten und der Empfänger nicht mehr in der
Lage ist, das gesendete Paket wiederherzustellen. HEC ist zum Beispiel für große, unabhängige
Empfängergruppen geeignet, da in diesem Falle FEC die Skalierbarkeit des Fehlerschutzes erhöht
und ARQ Adaptivität über den Rückkanal hinzufügt.
2.3 Framework
Abbildung 3: Schematische Darstellung des Frameworks nach [5].
11
Das hier verwendete Framework [5] (Abbildung 3) zur Berechnung der Fehlerschutzparameter für einzelne Links wurde entwickelt um multimediale Daten über paketbasierte Netzwerke
zu senden und dabei die Einhaltung von maximalen Delaygrenzen bei einer gegebenen Restfehlerrate zu garantieren. Auf diese Weise ist eine fast fehlerfreie Datenübertragung innerhalb
einer maximal zulässigen Verzögerung zwischen Sender und Empfänger möglich, wie sie etwa
für IPTV benötigt wird.
Die wichtigsten Eigenschaften dieses Frameworks sind u.a.: Echtzeitfähigkeit (Einhaltung eines
maximalen Gesamtdelays), Adaptivität (Ständige Optimierung der Parameter aus FeedbackAuswertungen), Effizienz (Fehlerschutz erreicht annähernd den Bereich des Shannon-Limits für
die Kanalkapazität).
Die Vorgehensweise des Framework setzt einen Erasure-Kanal für die Übertragung voraus, d.h.
Daten werden entweder völlig fehlerfrei empfangen oder aber vollkommen verworfen. Dieser
Erasure-Kanal wird mit Hilfe des Gilbert-Elliot-Modells modelliert. Der Fehlerschutz wird durch
die Verwendung von ARQ und FEC Techniken erzielt, d.h. das Framework kann als HybridFehlerschutz System angesehen werden.
Stellt nun ein Empfänger ein verlorenes Datenpaket fest, so sendet dieser ein negatives Acknowledge (NACK) für dieses Paket an den Sender. Dieser beantwortet die eingehende Nachricht
mit der Übertragung redundanter Pakete entsprechend der aktuellen Kodierungsparameter für
dieses Netzwerksegment. Sollten die so angeforderten Redundanzpakete nicht ausreichend für
eine Rekonstruktion der Originaldaten sein, so ist es für den Empfänger möglich, innerhalb des
zugelassenen Delays weitere solcher Request- & Retransmission Zyklen zu starten.
Um ständig die optimalen Parameter für ein Netzwerksegment berechnen zu können, wertet der
Sender die Feedbackmeldungen aus um so z.B. Informationen über die Fehlerrate (PLR)oder
das Round-Trip Delay (RTT) zu erhalten. Aufgrund dieser Vorgehensweise stellt das Framework eine adaptive Hybrid Fehlerschutz Lösung (AHEC) dar.
Die Parameter des Frameworks sind im Folgenden zusammengefasst:
Parameter
k
Np
Nrt
Ncc
P LRtarget
dtarget
P LR
RT T
dactual
RI
Bedeutung
Anzahl der Datenpakete
Anzahl der direkt mitgeschickten Redundanz
Anzahl der Retransmission Runden
Anzahl der Redundanzpakete pro Redundanzrunde
vorgegebene Zielfehlerrate
Einzuhaltende maximale Verzögerung
Paketfehlerrate des Links
Round-Trip-Time des Links
tatsächliche Verzögerung mit diesen Parametern
Produzierte Redundanz mit diesen Parametern
12
Konfigurierbar
Ja
Ja
Ja
Ja
Ja
Ja
Nein
Nein
Nein
Nein
3 Netzwerke
Netzwerke sind Zusammenschlüsse verschiedener Einheiten, die über Verbindungen miteinander kommunizieren können. Diese Verbindungen zwischen den einzelnen Komponenten können
sowohl physikalisch als auch logisch bestehen. Eine physikalische Verbindung verknüpft immer
genau zwei Einheiten eines Netzwerkes auf direkte Weise, wohingegen eine logische Verbindung
zwischen zwei Einheiten auch aus mehreren physikalischen Verbindungen bestehen kann. Die
Einheiten eines Netzwerkes nennt man allgemein Knoten und die Verbindungen zwischen diesen
Links [6].
Knoten
Knoten sind im Allgemeinen Mehrzweckmaschinen, die bestimmte Aufgaben in einem Netzwerk
erfüllen. Sie können zum Beispiel die Funktion von Routern, Switches oder auch Endhosts
übernehmen.
Links
Links stellen die Verbindung zwischen zwei Knoten her und können entweder physikalisch oder
logisch sein. Physikalisch bedeutet hier, dass die Verbindung über ein physikalisches Medium
erfolgt, wie etwa Ethernet oder einen wireless Kanal. Logische Verbindung bedeutet, dass mehrere physikalische Verbindungen zu einer virtuellen oder logischen Verbindung zusammengefasst
werden. Dabei ist allerdings eine Änderung der Parameter des Links zu berücksichtigen.
Die wichtigsten Charakteristiken von Links sind [6]:
Bandbreite Die Bandbreite einer Verbindung ist die Anzahl der Dateneinheiten die in einer
bestimmten Zeitspanne übertragen werden können. Die übliche Einheit der Bandbreite für Datennetze ist bit
s und drückt damit aus wieviele Datenbit pro Sekunde übertragen werden können.
Je größer dieser Wert ist desto performanter ist die Verbindung.
Latenzzeit Die Latenzzeit einer Verbindung gibt an, wieviel Zeit ein Datenpaket benötigt um
von einem Ende der Verbindung zum Anderen übertragen zu werden. Diese Zeit setzt sich im
Allgemeinen aus drei Faktoren zusammen:
tLatenz = tAusbreitung + tÜ bertragung + tQueue
tAusbreitung Diese Zeit ist durch die Länge der Datenleitung und dem Wert der Lichtgeschwindigkeit (≈ 3 · 108 m/s) bestimmt und gibt an wie lange es dauert, bis die Daten auf physikalische
Weise vom Sender zum Empfänger benötigen. Sie ist unabhängig von den zu übermittelnden
Daten.
Länge
tAusbreitung =
Lichtgeschwindigkeit
tÜ bertragung Die Übertragungszeit hängt von der Bandbreite der Verbindung und der Größe
der zu übertragenden Daten ab.
tÜ bertragung =
13
P aketgröße
Bandbreite
tQueue Die Queue-Zeit tritt sowohl bei Endhosts als auch bei Hops auf. Diese Zeit gibt an, wie
lange die Router zwischen den einzelnen Links benötigen um das Paket weiterzusenden. tQueue
wird in dieser Arbeit auch für Multi-Link Netzwerke vernachlässigt und nur aus Gründen der
Vollständigkeit hier erwähnt.
Round-Trip-Time Die Round-Trip-Time (RTT) gibt an wie lange es dauert, bis ein Datenpaket von einem Ende des Link zum anderen Ende und wieder zurück benötigt. Die RTT entspricht
daher der doppelten Latenz:
RT T = 2 · tLatenz
3.1 Single-Link Netzwerk
Ein Single-Link Netzwerk besteht aus einem Sender-Empfänger Paar, das durch eine direkte
physikalische oder logische Verbindung miteinander kommuniziert. Damit stellt diese NetzwerkArt den einfachsten Aufbau eines Kommunikationsnetzes dar. Da es hier nur einen Link gibt,
können die Werte für PLR und RTT direkt übernommen werden. Ein schematischer Aufbau
eines Single-Link Netzwerkes ist in Abbildung 4 dargestellt.
Abbildung 4: Single-Link Netzwerk
3.2 Multi-Link Netzwerk
Ein Multi-Link Netzwerk zeichnet sich dadurch aus, dass Sender und Empfänger nicht über
eine direkte physikalische und/oder logische Verbindung miteinander kommunizieren. Es befinden sich zwischen den Endpunkten des betrachteten Netzes mehrere unabhängige Links, welche
über sogenannte Hops miteinander verbunden sind.
Multi-Link Netzwerke können unterschiedliche Strukturen besitzen:
Seriell Beim seriellen Aufbau werden die einzelnen Links direkt hintereinander geschaltet und
mit Hops verbunden. Es ist nur eine Route vom Sender zum Empfänger verfügbar.
Parallel Beim parallelen Aufbau werden zwei Knoten mittels mehrerer Links verbunden. Diese Verbindungen sind meist virtueller Natur und können stark unterschiedliche Eigenschaften
aufweisen. Es gibt mehrere unabhängige Routen vom Sender zum Empfänger.
Gemischt Der gemischte Aufbau stellt eine Kombination aus seriellem und parallelem Aufbau
dar. Hier können zwei Knoten seriell und gleichzeitig auch parallel verbunden werden.
14
Abbildung 5: Multi-Link Netzwerke: a) Seriell b) Parallel c) gemischt
Eine graphische Darstellung ist in Abbildung 5 zu finden.
Da diese Arbeit nur auf den seriellen Aufbau ausgerichtet ist, werden parallele und gemischte
Multi-Link Strukturen nicht weiter betrachtet.
Gibt es in einem seriellen Multi-Link Szenario N Links, so sind diese durch N − 1 Hops miteinander verbunden. Solche Szenarien lassen sich aber auch auf einfache Weise in Single-Link
Netzwerke transformieren. Dazu ersetzt man die einzelnen physikalischen bzw. logischen Links
durch einen neuen (logischen) Link zwischen den betrachteten Knoten, der folgende Eigenschaften besitzt:
N
Y
P LRe2e = 1 −
(1 − P LRi )
i=1
Ptarget,e2e = 1 −
N
Y
(1 − Ptarget,i )
i=1
RT Te2e =
N
X
RT Ti
i=1
wobei P LRe2e die resultierende Paketfehlerrate, Ptarget,e2e die resultierende Zielfehlerrate und
RT Te2e die Round-Trip-Time des logischen Links darstellt. P LRi , P̂target und RT Ti sind dabei
die Paketfehlerrate, die Zielfehlerrate und die Round-Trip-Time der einzelnen Links. Es sei an
dieser Stelle noch angemerkt, dass für alle Berechnungen und alle Links Li in dieser Arbeit
Ptarget,i = P̂target angenommen wird, und daher für Ptarget,e2e folgt:
Ptarget,e2e = 1 − (1 − P̂target )N
15
Betrachtet man ein serielles Netzwerk wie in Abbildung 6, so lässt sich P LRe2e intuitiv leicht
Abbildung 6: Herleitung P LRe2e und RT Te2e
erklären:
Der erste Link hat eine Fehlerwahrscheinlichkeit P LR1 , d.h. am ersten Hop H1 kommen die
Daten mit der Wahrscheinlichkeit 1 − P LR1 korrekt an. Werden die Daten nun von H1 nach
H2 weitergesendet und hat Link 2 eine Fehlerwahrscheinlichkeit P LR2 , so werden die Daten an
Hop H2 mit der Wahrscheinlichkeit (1 − P LR1 ) · (1 − P LR2 ) korrekt empfangen.
Allgemein gilt also für einen Link i:
Pi = Pi−1 · (1 − P LRi )
wobei Pi die Wahrscheinlichkeit angibt mit der die Daten nach Übertragung über Link i korrekt
vorliegen und Pi−1 die Wahrscheinlichkeit ist, dass die Daten die über Link i zu senden sind,
korrekt vorliegen.
Setzt man P0 = 1 so ergibt sich für die Wahrscheinlichkeit korrekter Daten P̂ nach N Links:
N
N
Y
Y
P̂ (N ) = P0 · (1 − P LRi ) =
(1 − P LRi )
i=1
i=1
und somit
P LRe2e = 1 − P̂ (N ) = 1 −
N
Y
(1 − P LRi )
i=1
für die Wahrscheinlichkeit, dass Daten nach N Links nicht korrekt empfangen werden.
Die Zielfehlerrate Ptarget,e2e für den logischen Link kann in ähnlicher Weise hergeleitet werden:
16
Nimmt man an, dass Sender und Empfänger über insgesamt N serielle Links miteinander verbunden sind und jeder Link i eine Zielfehlerrate Ptarget,i hat, so ergibt sich
Ptarget,e2e = 1 −
N
Y
(1 − Ptarget,i )
i=1
In dieser Arbeit gilt zusätzlich die Vereinfachung
Ptarget,i = P̂target , i = 1..N
und somit folgt
Ptarget,e2e = 1 −
N
Y
(1 − P̂target ) = 1 − (1 − P̂target )N
i=1
Eine solche Transformation für N = 4 ist in Abbildung 7 dargestellt.
Abbildung 7: Multi-Link / Single-Link Transformation
3.3 Fehlerkorrektur: Single-Link vs. Multi-Link
Die meisten Fehlerschutzverfahren sind auf Single-Link Netzwerke zugeschnitten, d.h. befinden
sich zwischen Sender und Empfänger mehrere physikalische bzw. logische Netzwerksegmente,
so werden diese zusammengefasst und als ein logisches Segment betrachtet. Da es bei SingleLink Netzwerken nur einen Link gibt, sind die Parameter klar definiert und es ist ohne weiteres
möglich, mit dem vorliegenden Framework die optimalen Fehlerschutzparameter zu finden.
Liegt aber nur ein logischer Link vor, der aus mehreren Netzwerksegmenten besteht, ist es zwar
ebenfalls möglich, das Framework zu benutzen und ein Ergebnis zu erhalten, nur stellt sich hier
die Frage, ob dieses auch optimal ist. Der große Nachteil ist, dass die resultierenden Parameter
für den einen logischen Link gelten und daher auch für alle Links, die diesen bilden. Somit werden diese Links alle mit den gleichen Fehlerschutzparametern versehen, egal, ob es sich um einen
Link mit hoher Fehlerrate oder mit niedriger Fehlerrate handelt. Diese Gleichstellung aller Netzwerksegmente kann dazu führen, dass die verwendete RI zwischen Sender und Empfänger nicht
optimal ist. Werden alle Segmente als identisch betrachtet so müssen gute Links die zusätzliche
RI für schlechte Links mittragen, was in einer höheren Belastung der Bandbreite resultiert.
Werden allerdings alle Netzwerksegmente individuell betrachtet, so treten solche “Zwangsbelastungen” einzelner Links nicht mehr auf. Für jedes Segment werden eigene Fehlerschutzparameter
17
berechnet, die auch nur für diesen einen Link gelten. So wird die nötige RI von Segment zu Segment verändert und optimal auf die vorliegenden Verhältnisse angepasst.
Nun muss noch darauf geachtet werden, dass das zulässige Gesamtdelay zwischen Sender und
Empfänger nicht überschritten wird und dementsprechend eine Parameterkonfiguration für die
einzelnen Links ausgewählt wird.
18
4 Fehlerschutz in Multi-Link Netzwerken
Der bisher verwendete AHEC-Algorithmus zur Bestimmung der Fehlerschutzparameter einer
Verbindung zwischen Sender und Empfänger arbeitet nur in Single-Link Umgebungen, d.h. wenn
die Verbindung zwischen den Endknoten aus mehreren physikalischen Links besteht, müssen
diese zu einer einzigen logischen Verbindung zusammengefasst werden. Es wird also eine neue
Verbindung geschaffen, deren Parameter im besten Fall der Mittelung oder im Allgemeinen
einen Worst-Case Fall der eingeschlossenen Links darstellen. Es wird keine Unterscheidung
zwischen guten Links mit geringer Fehlerrate bzw. niedriger RTT und schlechten Links mit hoher Fehlerrate bzw. hoher RTT vorgenommen was in einer ineffizienten Nutzung, also zu hohen
Gesamtkosten, der Verbindung resultieren kann.
Aus diesem Grund verspricht man sich eine Verbesserung der Kosten für die Verbindung wenn
man die Parameter aller Links unabhängig voneinander bestimmt und dann eine individuelle
Verteilung der Parameter im Hinblick auf zulässigem Gesamtdelay τ0 = dtarget und Kosten vornimmt.
4.1 Grundlagen
Abbildung 8: Verlauf der RI in Abhängigkeit von Dtarget für einen Link mit PLR=4% und RTT=30ms
Die Grundlage für einen Multi-Link Fehlerschutz stellt zur Zeit immer noch ein Single-Link
Fehlerschutzverfahren dar. Dabei hat man die Möglichkeit die einzelnen Netzwerksegmente des
Multi-Link Szenarios als einen einzigen, logischen Link zu betrachten, oder aber jeden einzelnen
Link dieses Szenarios mit Hilfe eines Fehlerschutzes vor Paketverlusten abzusichern.
Betrachtet man alle Links separat, so kann unser AHEC-Framework als atomare Einheit gelten,
die pro Netzwerksegment arbeitet. Das Framework liefert für einen einzelnen gegebenen Link
den optimalen Parametersatz für den Fehlerschutz, d.h. die benötigte Redundanzinformation
ist bei gegebenen maximal zulässigem Delay minimal und die gewünschte Restfehlerrate wird
nicht überschritten.
Theoretische Betrachtungen setzen voraus, dass das Framework direkt eine optimale Konfiguration mit entsprechender Redundanz nach Shannon liefert. Für praxisnahe Betrachtungen
weicht dieses Ergebnis vom theoretischen Optimum ab, da hier die erzeugte Redundanz von
19
dtarget abhängt: RI = f (dtarget ). Hierbei sei angemerkt, dass das AHEC Framework Konfigurationen berechnet, bei welchen die Redundanzinformation näher am theoretischen Optimum liegt,
wenn der Wert des zulässigen Maximaldelays größer wird. Sind die Delaywerte hingegen gering,
so weichen die RI-Werte der Konfigurationen stärker vom Optimum ab. Dies kann u.a. damit
erklärt werden, dass größere Delaywerte eine größere Adaptivität und mehrere RetransmissionZyklen erlauben, was sich in einem geringeren Redundanzwert widerspiegelt.
Dieser Zusammenhang ist in Abbildung 8 für einen Link mit einer Fehlerwahrscheinlichkeit von
4% und einer Round-Trip-Time (RTT) von 30 ms dargestellt.
4.2 Forward Error Correction in Multi-Link Umgebungen
Im Falle eines Ende-zu-Ende FEC Schutzes [8] für ein serielles Multi-Link Netzwerk dienen
die einzelnen Hops zwischen den Netzwerksegmenten als einfache Router ohne Encoder oder
Decoder. Diese beinhalten keinerlei Möglichkeit die Pakete zu dekodieren und auf Fehler zu
überprüfen und sind auch nicht in der Lage, diesen Paketen für die restliche Übertragung
im Netzwerk Redundanz hinzuzufügen. Die Coderate R = nk ist fixiert zwischen Sender und
Empfänger. Erhält einer der Hops ein Paket, so leitet er dieses ohne zusätzliche Operationen an
den nächsten Hop oder Host weiter.
Der Vorteil dieser Methode ergibt sich aus der simplen Struktur und der Verwendung von nur einem FEC-Code für die gesamte Verbindung. Die einzelnen Hops zwischen Sender und Empfänger
müssen, vereinfacht ausgedrückt, im Prinzip außer Paketrouting keine weiteren Funktionen bereitstellen. Der Nachteil dieser Methode liegt aber in der Verschwendung von Ressourcen. So
wird jedes Netzwerksegment mit der gleiche Menge Redundanz belastet, auch wenn dieses eine
niedrigere Fehlerwahrscheinlichkeit hat und somit auch mit weniger Redundanz zuverlässig benutzt werden könnte.
Verzichtet man auf eine Ende-zu-Ende Forward Error Correction und wendet auf jeden einzelnen Link einen separaten FEC-Code an [8], so ergibt sich eine vollkommen andere Situation:
Da die Netzwerksegmente nun einzeln betrachtet werden, können auch die Fehlerwahrscheinlichkeiten einzeln berücksichtigt werden.
Das bedeutet, dass es nicht nur einen einzigen FEC-Code zwischen Sender und Empfänger gibt,
sondern so viele, nicht notwendigerweise verschiedene, Codes wie Netzwerksegmente vorhanden
sind.
Der Vorteil ist hier, dass jeder Link nur mit der Menge an Redundanz belastet wird die auch
wirklich für ihn nötig ist. Der Nachteil dieser Methode findet sich bei den Hops. Damit diese
FEC Methode überhaupt möglich ist müssen die Hops außer der Fähigkeit Pakete zu routen
auch vollständige FEC Encoder und Decoder implementiert haben, was deren Komplexität stark
erhöht.
Abbildung 9 gibt einen schematischen Überblick dieser beiden FEC-Methoden.
4.3 Automatic Repeat Request in Multi-Link Umgebungen
Wird der Automatic Repeat Request (ARQ) in einem seriellen Multi-Link Szenario verwendet,
so kann auch hier zwischen einer Ende-zu-Ende und einer Link-zu-Link Anwendung unterschieden werden.
Im Falle eines Ende-zu-Ende ARQ Fehlerschutzes sind die einzelnen Hops zwischen den Links
simple Router. Sie nehmen die Pakete eines Links entgegen und leiten diese ohne weitere Bearbeitung an den nächsten Link weiter. Erreicht den Empfänger nun ein Datenblock des Senders
und enthält dieser Block fehlerhafte Pakete oder Paketlücken, so schickt der Empfänger ein ne-
20
Abbildung 9: Ende-zu-Ende und Multi-Link FEC in 2-Link Netzwerken
gatives ACK (NACK) an den Sender, um diesem zu signalisieren, dass Redundanzpakete zum
korrekten Dekodieren des Datenblockes benötigt werden. Das NACK-Paket muss durch das gesamte Netzwerk geschickt werden, damit die Datenquelle Redundanzpakete versenden kann.
Der Nachteil hier ist, dass es aufgrund der langen NACK-Wege“ unter Umständen etwas dau”
ern kann, bis die Quelle die Redundanzpakete sendet. Allerdings benötigen die Router keine
weiteren Veränderungen und haben so eine recht geringe Komplexität.
Alternativ für Ende-zu-Ende ARQ kann auch eine pro Link“ ARQ angewendet werden. Hier
”
wird auf jedem Netzwerksegment ein ARQ-Schema angewendet. Sollte ein Hop ein fehlerhaftes
oder fehlendes Paket registrieren, so wird das resultierende NACK nicht bis zum Sender des
Datenstroms geschickt, sondern nur bis zum vorherigen Hop. Dies kann einzelnen Links in der
Mitte des Netzwerkes unnötige Retransmission-Pakete ersparen.
Abbildung 10 zeigt einen schematischen Überblick dieses Verfahrens.
Diese Art des ARQ hat den Vorteil, dass schneller auf NACKS reagiert werden kann; allerdings
steigt dabei die Komplexität der einzelnen Hops im Netzwerk an, da jeder Hop zusätzliche Queues benötigt um darin Pakete zu vorzuhalten, welche noch durch NACKS angefordert werden
können (vgl. Sliding Window -Mechanismus, [6]).
4.4 Anwendung des Frameworks auf Multi-Link Netzwerke
Das dieser Arbeit zu Grunde liegende Framework dient in erster Linie der Berechnung von Konfigurationen von Fehlerschutzparametern für ein Netzwerksegment.
Auf einen Link angewendet liefert es eine Vielzahl von verschiedenen, möglichen Konfigurationen für den Fehlerschutz auf diesem Segment zurück. Diese Konfigurationen bestehen aus
möglichen Werten für die Parameter wie sie in Kapitel 2.3 vorgestellt wurden und sind in Form
einer Tabelle (pro Netzwerksegment) angelegt. Da diese Konfigurationen mit Hilfe einer FullSearch-Methode ermittelt wurden, enthält diese Tabelle auch viele nicht sinnvolle Einträge. Da
solche Einträge keinem Zweck dienen und für spätere Berechnungen nicht relevant sind, müssen
diese entfernt werden um danach eine Tabelle mit verschiedenen optimierten Einträgen zu erhalten.
Für eine optimale Konfiguration gilt:
Bei gleichem oder niedrigerem Delay gibt es keine andere Konfiguration die geringere
Redundanz produziert.
Optimiert man die Tabellen des Frameworks im Hinblick auf diese Definition, so ergibt sich eine
erhebliche Reduktion der möglichen Konfigurationen.
21
Abbildung 10: Ende-zu-Ende und Multi-Link ARQ in 2-Link Netzwerken
Abbildungen 11 und 12 verdeutlichen diese Reduktion.
Im Falle eines Multi-Link Szenarios dient das Framework als eine Art atomare Einheit, d.h.
es wird auf jedes im Netzwerk befindliche Segment separat angewendet. Man erhält daraufhin
für jeden Link eine Tabelle mit möglichen Konfigurationen, welche allerdings noch wie oben
beschrieben optimiert werden müssen.
Abbildung 11: Delay/Redundanz Verteilung aller Konfigurationen (187 verschiedene) eines Links mit
PLR = 9%, RTT = 25ms und dtarget = 130ms.
4.5 Kostenbegriff in Multi-Link Netzwerken
Im Bereich der Single-Link Fehlerkorrektur wurde immer versucht, die erforderliche Redundanzinformation RI auf dem Netzwerksegment so gering wie möglich zu halten. Betrachtet man nun
aber ein serielles Multi-Link Netzwerk mit mehr als einem Segment, so ist die bloße Verwendung
der Redundanz als Optimierungsgegenstand nicht verwendbar, da es keine Möglichkeit gibt, die
22
Abbildung 12: Delay/Redundanz Verteilung der optimierten Konfigurationen (7 verschiedene) eines
Links mit PLR = 9%, RTT = 25ms und dtarget = 130ms.
Ergebnisse zu vergleichen.
Oft ist es gewünscht, noch weitere Eigenschaften des Links in die Berechnung der optimalen
Verteilung der Konfigurationsparameter mit einzubeziehen; deshalb führt man den Begriff der
Kosten ein.
Die Kosten Φ eines Netzwerksegments können nicht nicht nur von der Redundanz RI auf dem
Link abhängig sein, sondern auch von dessen Paketfehlerrate P LR, der Round-Trip-Time RT T
und des Paketintervalls Ts :
ΦLi = Φ(Linki ) = Φ(RIi , P LRi , RT Ti , Tsi ).
4.6 Optimierungsproblem
Die Frage ist nun, welche Kombination von Konfigurationen der einzelnen Links eine minimale
Redundanz im Bezug auf das gesamte Netzwerk produzieren und dabei die strikte Einhaltung
der maximalen Verzögerung dtarget zwischen Sender und Empfänger garantiert. Es ergibt sich
also das folgende Optimierungsproblem:
Gibt es insgesamt N Links und ist ein Wert für das maximal zulässige Gesamtdelay (Ende-zuEnde) gegeben und nennen wir diesen Maximalwert dtarget , so muss gelten:
N
X
di ≤ dtarget
i=1
und
N
X
!
Φ̂Li = min
i=1
Φ̂Li
wobei di den Delaywert und
den Wert der Kosten der betrachteten Konfiguration des i-ten
Links darstellt. Des Weiteren muss sichergestellt sein, dass die erzeugte Restfehlerrate unter der
zulässigen Restfehlerrate P LRtarget liegt.
23
4.6.1 Lösungsansätze
Um eine optimale Verteilung der Konfigurationen der einzelnen Netzwerksegmente zu finden,
gibt es mehrere Lösungsansätze.
Naive Suche
Die naive Suche stellt wohl die einfachste Methode zur Lösung des Problems dar. Hierbei werden
alle einzelnen Konfigurationseinträge der Links miteinander verglichen und am Ende das beste
Ergebnis ausgegeben. Da jede mögliche Konstellation der Parameter untersucht wird, erhält
man hier garantiert das optimale Minimum für die Verteilung von Delay und Redundanz.
Der große Nachteil dieser Methode besteht in der benötigten Zeit bis zum Erreichen des Ergebnisses. Angenommen, es gibt insgesamt N Links zwischen Sender und Empfänger und
zi , i = 1..N gibt
Q die Anzahl der möglichen Parameter für Link i an, so würde die naive Suche erst nach N
i=1 zi Operationen terminieren. In einer Echtzeitumgebung mit vielen Links
und vielen Parameterkonfigurationen pro Link ist dieser Wert eindeutig zu hoch: Geht man
von durchschnittlich N = 10 Links aus und für jeden dieser Links gibt es zi = 200 mögliche
Konfigurationen, so entspricht dies 2000 Operationen bis das optimale Ergebnis gefunden wird.
Weitere mögliche Verfahren
Dieses Optimierungsproblem kann nicht nur mit Hilfe der naiven Suche gelöst werden, es bieten
sich auch heuristische Optimierungsverfahren wie etwa Genetische Algorithmen [9] an. Dabei
werden wiederholt Lösungsmöglichkeiten generiert und diese dann untereinander kombiniert
um weitere Lösungen zu erhalten, die möglicherweise eine höhere Güte besitzen als die bereits
vorliegenden. Dieses Verfahren ist der biologischen Evolution nachempfunden und verfolgt das
Prinzip Survival of the Fittest.
Ein weiterer möglicher Lösungsansatz ist die Anwendung der Graphentheorie. Hierbei wird das
vorliegende Netzwerk in einen Graphen transformiert. bei Sender, Empfänger und Hops die
Knoten und die Links die Kanten des Graphen repräsentieren. Die Kanten werden mit Hilfe
der auf dem entsprechenden Segment erzeugten Kosten gewichtet. So ist es möglich mit Hilfe von Suchalgorithmen anhand der Kantengewichtung den optimalen Pfad vom Sender zum
Empfänger zu finden.
Das Problem bei diesen Lösungsansätzen liegt aber in der Komplexität und der daraus resultierenden Laufzeit. Bei Genetischen Algorithmen kommt noch eine nichtdeterministische Komponente hinzu, welche für diese Berechnungen inakzeptabel ist. Sind bei Genetischen Algorithmen
Populationen mit bestimmten Eigenschaften zu erzeugen, so müssen bei der Graphensuche alle
Kostenkombinationen der Kanten berücksichtigt werden. Aus diesem Grund ist die Anwendung
dieser Lösungsansätze nicht praktikabel.
24
5 Lösungsverfahren für das Optimierungsproblem
Die oben vorgestellten Lösungsansätze für die Delayverteilung in Multi-Link Netzwerken mit
seriellem Aufbau liefern keine zufriedenstellenden Ergebnisse: Entweder ist der zeitliche Aufwand viel zu hoch um geeignete Resultate zu erzielen oder die Güte der Ergebnisse schwankt
zu sehr, d.h. der Faktor Zufall“ geht zu stark in die Berechnung ein.
”
Aus diesem Grund wurde ein neuer Ansatz entwickelt. Diese Lösungsstrategie arbeitet auf optimierten Tabellen der einzelnen Link-Segmente und baut in iterativer Weise einen endlichen,
gerichteten Graphen mit hierarchischer Ordnung auf.
5.1 Graph
Der Graph wird monohierarchisch aufgebaut, d.h. jedem Knoten ist höchstens ein anderer Knoten übergeordnet. Die einzige Ausnahme bildet hier die Wurzel, die keine übergeordneten Knoten besitzt und somit den Startpunkt des Algorithmus markiert.
Der Graph lässt sich in Ebenen einteilen, wobei jede Ebene mit einem Netzwerksegment (Link)
zu identifizieren ist. So gehören die direkt der Wurzel folgenden Knoten zur ersten Ebene, welche wiederum mit dem ersten Link korrespondieren. Die diesen Knoten direkt nachfolgenden
Knoten stellen die zweite Ebene dar, welche dem zweiten Link zugeordnet sind, usw.
Die Knoten des Graphen stellen das (gesamte) verbleibende Delay dar, d.h. die Wurzel hat den
Wert dtarget . Die Knoten der ersten Ebene repräsentieren demnach das verbleibende Zeitbudget,
das nach Verwendung des ersten Links noch zur Verfügung steht.
Die Kanten des Graphen sind gerichtet und zeigen von der Wurzel weg. Die Kanten repräsentieren
einen Übergang“, also eine Anwendung einer Konfiguration, von einem Hop zum Nächsten. Es
”
gibt genauso viele Kanten die von einem Knoten ausgehen wie es Einträge in der entsprechenden
Tabelle des betrachteten Links gibt.
Jeder Kante kann ein Gewicht zugeordnet werden: die Kosteninformation der entsprechenden
Konfiguration des betrachteten Links.
In einer 2-Link Situation sieht der Graph allgemein aus wie in Abbildung 13 abgebildet.
Abbildung 13: 2-Link Situation (Allgemein)
5.2 Lösungs-Algorithmus
Das Ziel des Lösungsverfahrens ist es, für ein gegebenes (serielles) Multi-Link Szenario die
optimale Verteilung von Delay-Werten auf die einzelnen Netzwerksegmente zu finden. Optimal
bedeutet hier dass die Gesamtkosten, also die Kosten zwischen Sender und Empfänger, minimal
sind. Dem Algorithmus sind die optimierten Tabellen und der Delay-Zielwert dtarget bekannt.
Der Graph wird nun, beginnend mit der Wurzel, sukzessive aufgebaut:
25
Die Wurzel, bezeichnet mit τ0 , wird mit dem Wert von dtarget beschriftet. Im nächsten Schritt
wird die erste Ebene erzeugt, also die Kanten von der Wurzel zu den ersten Knoten hinzugefügt.
Die Kanten stellen die Kosteneinträge der Tabelle des ersten Links dar. Hier sei erwähnt, dass
die Reihenfolge der verwendeten Links und somit der Aufbau der Ebenen nicht willkürlich ist.
Die Reihenfolge muss der Fehlerrate der Links, im Folgenden mit P LRLi für den i-ten Link
bezeichnet, in absteigender Ordnung genügen. Der Link mit der größten Fehlerrate bildet die
erste Ebene des Graphen, der Link mit der nächsthöheren PLR die zweite Ebene usw. (siehe
Abbildung 15). Es gilt also
Ebene(i) vor Ebene(j) ⇔ P LRLi > P LRLj .
Da die gesuchte Lösung eine additive Kombination der Delay- und Kostenwerte darstellt, ist
eine solche Vertauschung möglich.
Abbildung 14: Notwendige Anordnung der Links
Abbildung 15: Struktur des Graphen
Nicht nur die Links, und somit die Ebenen, müssen einer bestimmten Reihenfolge genügen.
Auch die Kanten pro Konfiguration und Link müssen besonders angeordnet sein. Hier ist es
wichtig, dass gilt
Li
i
ΦL
p < Φq ⇒ p < q
26
i
wobei ΦL
j die Kosten der j-ten Konfiguration des i-ten Links darstellt. Für den Graphen bedeutet dies, dass die Konfiguration p weiter rechts im Graphen zu finden ist als die Konfiguration
q
Aufgrund des Verhältnisses von Kosten und Delay ergibt sich auch:
DpLi > DqLi ⇒ p < q
wobei DjLi den Delaywert der j-ten Konfiguration des i-ten Links darstellt.
Die Knoten der ersten Ebene geben den verbleibenden Wert des maximal zur Verfügung stehenden Delays dtarget an. Dieses verbleibende Zeitbudget errechnet sich aus dem Vorgabewert
τ0 = dtarget abzüglich des Delaywertes für die verwendete Konfiguration des ersten Links. Bezeichnet zi die Anzahl der Konfigurationen für Link i und τi,j das verbleibende Delaybudget
nach Link i und Konfigurationseintrag e(i, j) so gilt Allgemein:
Li
τi,j = parent(τi,j ) − De(i,j)
mit

τ0 ,
i=1
parent(τi,j ) =
l
m
τ(i−1), j , sonst
zi
und
(
zi ,
e(i, j) =
j mod zi ,
j mod zi = 0
sonst
e(i, j) gibt an, um welchen Konfigurationseintrag in Ebene i es sich handelt, j ist dabei die
laufende Nummer des Knotens ins Ebene i.
Ist der Baum so aufgebaut nimmt die PLR der einzelnen Links von der Wurzel zu den Blättern
hin ab und die Redundanzinformation pro Link und Konfiguration nimmt mit wachsendem
Ebenen-Index j der Knoten zu. Da höhere Kosten gleichzeitig niedrigeren Delaywerten entsprechen, ist bei diesem Aufbau immer der linke Zweig eines jeden Subbaumes der mit dem
geringsten Delay und der rechte Zweig ist immer der mit den geringsten Kosten.
Gesucht ist nun also der Pfad von der Wurzel zu einem Blatt mit den geringsten kumulierten
Kosten und einem Restdelay τBlatt das größer-gleich Null ist.
Sei w
~ der Vektor aller Indizes der Konfigurationen pro Link so ergibt sich für den optimalen
Wert der Kosten Φopt und Delay Dopt bei Einhaltung von P LRtarget :
Γ(w)
~ =
N
X
i
ΦL
wi
i=1
Φopt = argmin(Γ(w))
~
und demnach
Dopt =
N
X
Li
Dw
≤ dtarget
i
i=1
wi stellt hierbei die wi -te Konfiguration des i-ten Links dar.
Im nächsten Schritt werden alle Pfade/Subbäume entfernt für die bereits zu diesem Zeitpunkt
ersichtlich ist, dass es unmöglich ist, über sie ein Blatt innerhalb des verfügbaren Delay dtarget
27
zu erreichen. Dies ist aufgrund der Struktur des Baumes recht simpel. Wie bereits erwähnt, sind
die Pfade mit dem geringsten Delay stets beim größten Ebenenindex j zu finden. Definiert man
smallestDelayP ath(l) =
DlL1
+
N
X
DzLii
i=2
und setzt man mit L = {1, 2, ..z1 } als Bedingung
∀ l ∈ L : smallestDelayP ath(l) ≤ dtarget
so kann man alle Unterbäume von DlLi entfernen, deren Geringste-Kosten-Pfade diese Bedingung nicht erfüllen und erreicht somit eine Reduktion des Suchraums.
Der eigentliche Algorithmus sucht nun den Baum in einer Tiefensuche nach möglichen Lösungen
ab. Hierzu durchläuft er, ähnlich der naiven Suche, den Baum von der Wurzel zu den Blättern
und addiert die Kosten der Links in der jeweiligen Konfiguration. Hat der Algorithmus ein Blatt
erreicht und ist dessen Restdelay größer Null, so wird geprüft ob der aufsummierte Wert für
die Kosten kleiner dem bereits gefundenen und gespeicherten Kosten-Wert ist. Ist dies der Fall
wird dieser Eintrag durch den Neuen ersetzt.
Auch während der Tiefensuche werden zusätzlich bekannte Informationen der Baumstruktur
genutzt um den Suchraum weiter zu verkleinern. So wird bei jeder neuen Linkkonfiguration in
der ersten Ebene, also für den Link mit der höchsten Paketfehlerrate und damit größten Kosten,
geprüft ob der günstigste Pfad, bezogen auf die Kosten, des Subbaumes bereits teurer ist als der
zur Zeit gespeicherte günstigste Pfad. Ist dies der Fall, so wird der gesamte Subbaum verworfen
da alle anderen Konfigurationen definitiv schlechter sind.
28
Abbildung 16: Vollständig beschrifteter Graph für 3 Links
29
6 Metriken
Metriken dienen dazu (abstrakte) Sachverhalte vergleichbar zu machen. Metriken generieren
dazu eine quantifizierbare Größe, mit deren Hilfe man die Güte des vorliegenden Sachverhaltes
bestimmen und darauf aufbauend eine fundierte Entscheidung treffen kann.
Für die in dieser Arbeit betrachtete Problematik ist eine aussagekräftige Metrik unerlässlich
um die Effizienz der vorgestellten Multi-Hop Methode gegenüber der Ende-zu-Ende Situation
zu demonstrieren.
6.1 Allgemeine Kostenmetrik
Die Kosten-Metrik verwendet die anfallenden Kosten, um einen Wert zu erzeugen, der es
ermöglicht, das Ende-zu-Ende Szenario mit dem hier vorgestellten Multi-Hop Szenario und
der daraus resultierenden Delay- und Kostenaufteilung zu vergleichen.
Hierzu werden die im Ende-zu-Ende Fall erzeugten Kosten zwischen Sender und Empfänger mit
der Summe aller Kosten der einzelnen Linksegmente im Multi-Hop Fall ins Verhältnis gesetzt.
Bezeichnet ΦE2E die erzeugten Kosten im Ende-zu-Ende Fall, ΦLi die Kosten auf Netzwerksegment i bei Multi-Hop Betrachtung, N die Anzahl der Links zwischen Sender und Empfänger
und ΦM H die aufsummierten Multi-Hop Kosten, so ergibt sich ein Gewinn G von:
G=
ΦE2E
ΦE2E
.
= PN
Li
ΦM H
i=1 Φopt
Es ist leicht zu erkennen, dass der Gewinn G größer wird sobald die aufsummierten Kosten
ΦM H sinken, was der intuitiven Vorstellung entspricht.
Allgemein ist es also möglich zu sagen, dass eine Aufteilung in mehrere Links einem Gewinn
von (G − 1) · 100% entspricht.
6.2 Speziellere Kostenmetriken
Die im vorausgegangenen Kapitel vorgestellte Kostenmetrik berechnet den Gewinn anhand einer
allgemeinen Kostenfunktion für den Ende-zu-Ende und Multi-Link Fall. Diese Kostenfunktion
ist bisher nicht weiter definiert und setzt den Begriff der Kosten mit der anfallenden Redundanz gleich. Es erfolgen keine weiteren Berechnungen. Erweitert man allerdings diese simple
Kostenfunktion Φ mit Parametern, z.B. Bandbreite, Datenrate etc., so ergeben sich spezielle
Kostenfunktionen und daraus resultierende Kostenmetriken.
Die Bandbreiten Kostenmetrik, die nun diskutiert wird, erfordert eine spezielle Kostenfunktion
die in Abhängigkeit der pro Link i zur Verfügung stehenden Bandbreite Bi , der auf diesem
Link produzierten Kosten (bzw. Redundanz) RIi und der vom Datenrate D des vorliegenden
Datenstromes das Netzwerksegment i bewertet.
Eine adäquate Kostenfunktion ΦLi ist wie folgt definiert:
ΦLi = Φ(RIi , Bi ) =
1
Bi − D · (1 + RIi )
Betrachtet man nun den Fall einer Ende-zu-Ende Fehlerkorrektur, so ergeben sich die Gesamtkosten Φe2e aus der Summe der Kostenfunktionen ΦLi bei Einsetzen der Ende-zu-Ende
Redundanz RIe2e wie sie nach einer Transformation in nur einen logischen Link mit Hilfe des
30
Frameworks ausgerechnet wurde und den Werten der jeweiligen Bandbreite Bi .
Im Falle von insgesamt N Links ergibt sich:
Φe2e =
N
X
Li
Φ (RIe2e , Bi ) =
i=1
N
X
i=1
1
Bi − D(1 + RIe2e )
Im Multi-Link Fall berechnen sich die Gesamtkosten für das Szenario, ähnlich der Berechnung im
Ende-zu-Ende Fall, aus der Summe der Kostenfunktionen ΦLi , allerdings unter Berücksichtigung
der individuellen und optimalen Link-Redundanzwerten RIiopt , welche mit Hilfe des Optimierungsalgorithmus gefunden wurden.
Für N Links gilt:
ΦM H =
N
X
Φ
Li
opt
(RIe2e
, Bi )
=
i=1
N
X
1
i=1
opt
Bi − D(1 + RIe2e
)
Um nun eine Aussage darüber treffen zu können welche Methode am geeignetsten ist, bestimmt
man auch hier den Gewinn G zu
G=
ΦE2E
ΦE2E
= PN
.
Li
ΦM H
i=1 Φopt
31
7 Anwendungen
Dieses Kapitel zeigt zwei mögliche Anwendungen der Multi-Link Strategie und vergleicht die
Ergebnisse mit den bisher genutzten Ende-zu-Ende Ergebnissen.
7.1 Unicast-Szenario
Dieses Beispiel behandelt den Fall eines Unicast-Szenarios mit nur einem Sender und einem
Empfänger, die über zwei seriell angeordnete Netzwerksegmente (Links) miteinander verbunden
sind.
7.1.1 Aufbau
Das vorliegende Netzwerk besteht aus einem Sender/Empfänger Paar, zwei Links und einem
Router. Die beiden Links L1 und L2 sind durch RT Ti ,P LRi und Ptarget,i , i = 1, 2, gekennzeichnet.
Der gesamte Aufbau ist in Abbildung 17 dargestellt.
Abbildung 17: Netzwerk des Unicast Szenarios
7.1.2 Ende-zu-Ende Betrachtung
Die Ende-zu-Ende Betrachtung dieses Szenarios macht eine Umrechnung der beiden Links L1 ,
und L2 in einen logischen Link L̃ erforderlich. Mit Hilfe der bereits vorgestellten Transformationsvorschriften ergibt sich also für den Link L̃
RT Te2e =
2
X
RT Ti = RT T1 + RT T2
i=1
P LRe2e
2
Y
= 1 − (1 − P LRi ) = 1 − (1 − P LR1 ) · (1 − P LR2 )
i=1
2
Ptarget,e2e = 1 − (1 − P̂target )2 = 2 · P̂target − P̂target
wobei erneut angenommen wird, dass für Link L1 und L2 gilt ∀i = 1, 2 : Ptarget,i = P̂target .
32
PLR für Link 2
PLR für Link 1
1%
2%
3%
4%
5%
6%
7%
8%
9%
10%
1%
0.4787
0.6462
0.7351
0.7840
0.8178
0.8418
0.8613
0.8755
0.8868
0.8952
2%
0.6462
0.9899
1.1976
1.3342
1.4331
1.5105
1.5678
1.6144
1.6525
1.6853
3%
0.7351
1.1976
1.5111
1.7348
1.9078
2.0416
2.1478
2.2355
2.3105
2.3724
4%
0.7840
1.3342
1.7348
2.0403
2.2797
2.4728
2.6306
2.7650
2.8782
2.9750
5%
0.8178
1.4331
1.9078
2.2797
2.5819
2.8316
3.0422
3.2211
3.3753
3.5934
6%
0.8418
1.5105
2.0416
2.4728
2.8316
3.1362
3.3945
3.6184
3.8986
4.0671
7%
0.8613
1.5678
2.1478
2.6306
3.0422
3.3945
3.6992
4.0516
4.2846
4.4906
8%
0.8755
1.6144
2.2355
2.7650
3.2211
3.6184
4.0516
4.3574
4.6295
4.8731
9%
0.8868
1.6525
2.3105
2.8782
3.3753
3.8986
4.2846
4.6295
4.9397
5.2199
10%
0.8952
1.6853
2.3724
2.9750
3.5934
4.0671
4.4906
4.8731
5.2199
5.5352
Tabelle 1: Gewinn (in %) einer Multi-Hop Anwendung gegenüber einer Ende-zu-Ende Anwendung in
Konfiguration 1
7.1.3 Multi-Link Betrachtung
Für die Multi-Link Betrachtung dieses Netzwerkes sind keine weiteren Umrechnungen nötig.
Beide Links sind durch ihre Parameter eindeutig gekennzeichnet und so ist es möglich die
Konfigurationstabellen für diese Links zu berechnen die dem Optimierungsalgorithmus als Berechnungsgrundlage dienen.
7.1.4 Ergebnisse
Um den Vorteil der Multi-Link Methode gegenüber der Ende-zu-Ende Anwendung aufzuzeigen,
wurden verschiedene Messungen durchgeführt. Mit Hilfe dieser Messreihen kann eine Aussage
über den Nutzen des hier entwickelten Algorithmus getroffen werden.
Diese Messreihen wurden in folgenden Konfigurationen durchgeführt:
Konfiguration 1
Konfiguration 2
Konfiguration 3
RT T1
5ms
5ms
20ms
RT T2
5ms
20ms
15ms
RT Te2e
10ms
25ms
35ms
Dtarget
140ms
140ms
140ms
Ptarget,e2e
2 · 10−6
2 · 10−6
2 · 10−6
Datenrate
4MBit
4MBit
4MBit
Die erzielten prozentualen Gewinne werden mit Hilfe der in Kapitel 6.1 vorgestellten Kostenmetrik errechnet und sind in den Tabellen 1 − 3 dargestellt. Eine grafische Aufbereitung der
Gewinne ist in Abbildung 18 zu finden.
Betrachtet man zunächst die Tabelle der Gewinne von Konfiguration 1, so erkennt man eine
symmetrische Anordnung der Werte (bezogen auf die Hauptdiagonale, also der Einträge für die
gilt P LR1 = P LR2 ). Dies ist durch die in der Konfiguration verwendeten Links zu erklären:
Link 1 und Link 2 haben identische Parameter. Aus diesem Grund sind sie austauschbar und
es ergeben sich symmetrische Einträge. Diese Symmetrie trifft auch auf Linkanordnungen mit
ähnlichen RTT-Werten zu, wie etwa in Konfiguration 3 zu sehen. Hier unterscheiden sich die
33
PLR für Link 2
PLR für Link 1
1%
2%
3%
4%
5%
6%
7%
8%
9%
10%
1%
0.4889
0.6598
0.7502
0.8000
0.8343
0.8586
0.8945
0.9128
0.9283
0.9419
2%
0.6530
1.0001
1.2097
1.3476
1.4473
1.5675
1.6180
1.6730
1.7197
1.9074
3%
0.7401
1.2057
1.5212
1.7463
1.9621
2.1131
2.2181
2.3184
2.5502
2.6626
4%
0.7880
1.3409
1.7434
2.0921
2.3488
2.5623
2.7243
3.0182
3.1849
3.3414
5%
0.8211
1.4388
1.9571
2.3466
2.6692
2.9429
3.3047
3.5404
3.7572
4.0456
6%
0.8446
1.5576
2.1064
2.5584
2.9411
3.4147
3.7227
4.0122
4.3656
4.9330
7%
0.9063
1.6309
2.2317
2.7385
3.3194
3.7378
4.1017
4.5301
5.1637
5.5153
8%
0.9370
1.6970
2.3422
3.0418
3.5637
4.0354
4.5387
5.2475
5.6673
6.0711
9%
0.9684
1.7583
2.5876
3.2212
3.7925
4.3999
5.1838
5.6786
6.1511
6.6061
10%
1.0006
1.9636
2.7165
3.3932
4.0957
4.9815
5.5495
6.0964
6.6199
7.1246
Tabelle 2: Gewinn (in %) einer Multi-Hop Anwendung gegenüber einer Ende-zu-Ende Anwendung in
Konfiguration 2
PLR für Link 2
PLR für Link 1
1%
2%
3%
4%
5%
6%
7%
8%
9%
10%
1%
0.4992
0.6666
0.9017
0.9082
0.9940
1.1466
1.8805
2.1815
2.5007
2.8295
2%
0.6666
1.1563
1.4410
1.5681
1.7062
2.3954
2.6302
2.9361
3.3274
4.9635
3%
0.9017
1.4410
1.8452
2.0861
2.8898
3.2182
3.5293
3.8294
5.3585
5.8485
4%
0.9082
1.5681
2.0861
3.0155
3.4773
3.8993
4.2930
5.8990
6.4524
7.0055
5%
0.9940
1.7062
2.8898
3.4773
4.0327
4.5403
6.2427
6.8809
7.5083
8.2230
6%
1.1466
2.3954
3.2182
3.8993
4.5403
6.3582
7.0979
7.8149
8.6097
11.3690
7%
1.8539
2.6302
3.5293
4.2930
6.2427
7.0979
7.9179
8.8053
11.6460
12.6280
8%
2.1419
2.9001
3.8294
5.8990
6.8809
7.8149
8.8053
11.7390
12.8060
13.8590
9%
2.4447
3.2758
5.3585
6.4524
7.5083
8.6097
11.6460
12.8060
13.9450
15.0650
Tabelle 3: Gewinn (in %) einer Multi-Hop Anwendung gegenüber einer Ende-zu-Ende Anwendung in
Konfiguration 3
34
10%
2.7617
4.8998
5.8433
7.0055
8.2230
11.3690
12.6280
13.8590
15.0650
16.2480
Abbildung 18: Grafische Darstellung der Gewinnverteilungen (in %)
RTT-Werte nur um 5ms, was auch in einer nur leicht unsymmetrischen Anordnung der Gewinne
resultiert.
Allgemein ist zu sagen, dass bei zunehmendem Ende-zu-Ende Round Trip Delay RT Te2e auch
der Gewinn zunimmt. Für Konfiguration 1 gilt RT Te2e = 10ms und bei P LR1 = P LR2 = 10%
ergibt sich ein maximaler Gewinn von ca. 5, 53%, in Konfiguration 2 beträgt der Gewinn 7, 12%
bei RT Te2e = 25ms und in Konfiguration 3 wird ein Wert von 16, 25% bei RT Te2e = 35ms
erzielt.
Nehmen in einer beliebigen Konfiguration die Paketfehlerraten der einzelnen Links zu, so steigt
auch der Gewinn der Multi-Hop Methode gegenüber der Ende-zu-Ende Anwendung. Betrachtet
man Abbildung 18, so sind auch Sprünge des Gewinns zu erkennen. Diese Sprünge nehmen bei
höheren PLR-Werten hin zu und lassen so erkennen, dass ein Multi-Link Fehlerschutz gerade für
Szenarien mit hohen Fehlerraten und hohen Ende-zu-Ende Delays vielversprechende Resultate
liefern kann.
35
7.2 Multicast-Szenario
Das folgende Beispiel behandelt den Fall, dass es im Netzwerk einen Sender und mehrere
Empfänger gibt. Alle Empfänger haben die gleiche Distanz zum Sender, d.h. die Zahl der Netzwerksegmente zwischen einem Sender-Empfänger-Paar variiert nicht.
Abbildung 19: Netzwerk des Multicast Szenarios
7.2.1 Aufbau
Das Netzwerk besteht aus einem Sender und insgesamt drei verschiedenen Empfängern, die
über die gleiche Anzahl von Links mit dem Sender verbunden sind. Ausserdem sind drei Router
(Hops) vorhanden, die die Kommunikation zwischen den Links ermöglichen. Alle Empfänger E1 ,
E2 und E3 sind mit dem gleichen Router verbunden und dieser ist wiederum über eine serielle
Linkanordnung mit dem Sender verbunden. Eine Übersicht des Aufbaus ist in Abbildung 19 zu
finden.
Es ist zu erkennen, dass Empfänger E1 durch drei Links mit dem Sender verbunden ist und die
verbleibenden drei Empfänger E2 ,E3 und E4 über vier Links mit dem Sender verbunden sind.
Die sechs vorhandenen Netzwerksegmente Li ,i = 1..6, sind durch RT Ti ,P LRi und Ptarget,i ,i =
1..6 gekennzeichnet.
7.2.2 Ende-zu-Ende Betrachtung
Betrachtet man dieses Multicast-Szenario für eine Ende-zu-Ende Anwendung, so ist zu beachten,
dass der Sender die Daten nur einmal kodiert und dann per Multicast ins Netzwerk sendet. Aus
diesem Grund wird der Fehlerschutz so berechnet, dass auch der Empfänger mit den schlechtesten Eigenschaften die Daten in den geforderten Grenzen erhält.
Das vorliegende Netzwerk muss nun also so transformiert werden, dass es mit dem vorliegenden
Framework möglich ist, die produzierten Kosten der Übertragung zwischen dem Sender und
den Empfängern zu berechnen.
Um dies zu erreichen wird das Ausgangsszenario mit sechs Links und drei Empfängern in ein
Single-Link Netzwerk mit nur einem Link und drei Empfängern umgerechnet. Das sich so ergebende Netzwerk ist in Abbildung 20 dargestellt.
36
Abbildung 20: Netzwerk zur Berechnung des Multicast Ende-zu-Ende Fall
Die Round-Trip-Time dieses neuen Links ist gerade der Worst-Case aller Gesamt-RTT Werte der ursprünglichen Unicast-Verbindungen zwischen dem Sender und den Empfängern. Im
Einzelnen sind diese Verbindungen durch die drei Pfade P1 = L1 → L2 → L3 → L4 , P2 = L1 →
L2 → L3 → L5 und P3 = L1 → L2 → L3 → L6 gegeben.
Gibt RT T (Pi ) die aufsummierte RT T des Pfades Pi an, so gilt:
RT Te2e = RT Te2e,wc = max(RT T (P1 ), RT T (P2 ), RT T (P3 )).
Da das vorliegende Netzwerk nicht nur einen Empfänger hat, sondern drei, muss es auch insgesamt drei P LR-Werte P LRe2e,i , i = 1, 2, 3, geben, einen für jeden Empfänger:
Y
P LRe2e,i = P LR(Pi ) = 1 −
(1 − P LRj )
j
Lj ∈Pi
wobei P LRe2e,i die Paketfehlerrate des i.-ten Empfängers und Lj ein Link des Netzwerkes ist.
Da auch hier gilt, dass alle Netzwerksegmente den gleichen Wert für Ptarget,i haben, folgt
Ptarget,e2e = 1 − (1 − P̂target )4 .
7.2.3 Multi-Link Betrachtung
Bei der Multi-Link Betrachtung gibt es keinen globalen Fehlerschutz zwischen Sender und
Empfänger(n), sondern einen atomaren Fehlerschutz auf Link-Ebene.
Alle bisherigen Multi-Link Berechnungen wurden in einem seriellen Netzwerk mit nur einem
Empfänger durchgeführt; allerdings ist das nun vorliegende Beispiel komplexer.
Aus diesem Grund muss das vorliegende Netzwerk erst in ein solches serielles Netzwerk mit nur
einem Empfänger transformiert werden.
Die Umrechnung eines Mehr-Empfänger-Systems in ein Ein-Empfänger-System gestaltet sich
relativ einfach und wird hier exemplarisch dargestellt:
Da es sich hier um ein Multicast Szenario handelt fließt über jeden Link der auf irgendeinem Pfad vom Sender zu einem Empfänger liegt, stets die gleichen Daten, so auch insbesondere
über Links die vom gleichen Router ausgehen, wie in diesem Beispiel die Links L4 /L5 /L6 . Aus
37
diesem Grund ist es möglich, alle ausgehenden Links eines Routers (oder natürlich auch Senders)
zu einem einzigen Link mit der entsprechenden Anzahl an Empfängern zusammenzufassen.
Dabei spielt es keine Rolle, ob die Links zu einem echten Empfänger führen oder ob sie die
Daten zu einem weiteren Router senden; Router und Empfänger können in dieser Hinsicht also
als gleichwertig angesehen werden.
Der Wert für das Round-Trip-Delay für diesen zusammengefassten Link wird durch den WorstCase der ursprünglichen Links festgelegt um sicherzustellen, dass kein Link benachteiligt wird.
Die Paketfehlerraten der einzelnen Links werden direkt den verbundenen Empfängern zugeordnet. Da auch hier für alle Links der gleiche Wert P̂target für die Restfehlerrate gilt, entspricht
dies auch dem Wert für den neuen Link.
Eine solche Transformation ist in Abbildung 21 dargestellt.
Abbildung 21: Transformation des Multicast Netzwerkes in ein serielles Multi-Link Netzwerk
Um nun die optimale Kosten/Delay Verteilung für das neu entstandene, zum Ausgangsszenario äquivalente, Netzwerk zu berechnen, muss zunächst für jedes der vier Netzwerksegmente
eine Tabelle mit Konfigurationen erzeugt werden. Sind diese Tabellen erstellt und optimiert,
kann der Lösungsalgorithmus für die optimale Kosten/Delay Verteilung für dieses Netzwerk
angewendet werden.
Man erkennt, dass es mit Hilfe der vorliegenden Methoden und Erkenntnisse möglich ist, auch
komplexe (Multicast) Netzwerke zu seriellen Netzwerken mit äquivalenten Eigenschaften zu
reduzieren.
7.2.4 Ergebnisse
Für die Messreihen der Ende-zu-Ende und Multi-Link Betrachtung sollen im Folgenden die
beiden Konfigurationen K1 und K2 gelten:
38
RT T1
RT T2
RT T3
RT T4
RT T5
RT T6
K1
5ms
5ms
5ms
10ms
15ms
20ms
K2
5ms
10ms
5ms
5ms
20ms
15ms
K1
0.01
0.01
0.02
0.06
0.07
0.05
P LR1
P LR2
P LR3
P LR4
P LR5
P LR6
K2
0.01
0.02
0.04
0.09
0.08
0.03
Die Datenrate beträgt in diesem Beispiel 4M Bit und das maximal zulässige Gesamtdelay zwischen Sender und Empfänger liegt bei 160ms.
Betrachtet man zunächst die Ende-zu-Ende Berechnungen, so ist es nötig die Werte für das
Round-Trip-Delay RT Te2e und die Fehlerwahrscheinlichkeiten der einzelnen Empfänger P LRe2e,i , i =
1, 2, 3, zu bestimmen:
RT Te2e
P LRe2e,1
P LRe2e,2
P LRe2e,3
K1
35ms
0.0971
0.1067
0.0875
K2
40ms
0.1524
0.1431
0.0965
Mit Hilfe dieser Daten ist es nun möglich die Kosten eines Ende-zu-Ende Fehlerschutzes Φe2e
durch das Framework berechnen zu lassen.
Es ergeben sich folgende Werte:
K1
K2
Φe2e
0.1906
0.2873
dactual
153ms
154ms
k
24
20
Np
3
4
Nrt
[1,1]
[1,1]
Ncc
[1,4]
[1,6]
Voraussetzung für die Multi-Link Betrachtung ist die Umrechnung der Links 4/5/6. Fasst man
diese zusammen, so ergibt sich ein neuer Link L456 mit den folgenden Eigenschaften:
LK1
456
LK2
456
RTT
20ms
20ms
PLR
6%/7%/5%
9%/8%/3%
K2
wobei LK1
456 (L456 ) den neuen Link der Konfiguration K1 (K2) darstellt.
Mit Hilfe dieser Links berechnen sich die Multi-Link Kosten ΦM L , das dazugehörige Delay
dactual und die dafür verwendete Delay/RI-Aufteilung der einzelnen Links für dieses Szenario
zu:
K1
K2
ΦM L
0.1714
0.2295
dactual
153ms
156ms
L1
Φopt,L1 dopt,L1
0.0101 20ms
0.0102 15ms
L2
Φopt,L2 dopt,L2
0.0101 20ms
0.0208 28ms
L3
Φopt,L3 dopt,L3
0.0204 20ms
0.0417 20ms
L456
Φopt,L456 dopt,L456
0.1308
93ms
0.1568
93ms
Der resultierende Gewinn G ergibt sich durch die Anwendung der Kosten-Metrik zu
K1
K2
Φe2e
0.1906
0.2873
ΦM L
0.1714
0.2295
G
1.1120
1.2518
39
GL1
18.87
28.16
GL2
18.87
13.81
GL3
9.343
6.889
GL456
1.457
1.832
Dieses Szenario stellt den Fall mehrerer Empfänger am Ende eines seriellen Netzwerkaufbaus
dar. Die vorliegenden Berechnungen ergeben auch hier einen erheblichen Vorteil der Multi-Link
Fehlerkorrektur gegenüber der Ende-zu-Ende Anwendung eines Fehlerschutzes. Benötigt man
für den Ende-zu-Ende Fehlerschutz in Konfiguration K1 ca. 19% Kosten im Netzwerk, und
somit auf jedem einzelnen Link, so reduzieren sich die Gesamtkosten im Multi-Link Fall auf
ca. 17%. Diese 17% Kosten teilen sich auf die einzelnen Netzwerksegmente auf; Link L1 und
L2 benötigen so nur ca. 1% Kosten um eine zuverlässige Übertragung zu ermöglichen und Link
L3 wird mit 2% Kosten zusätzlich belastet. Der Großteil der Kosten entfällt auf das letzte
Netzwerksegment L456 , an welchem die drei Empfänger angeschlossen sind. Hier werden ca.
13% Kosten produziert. Man erkennt, dass in diesem Beispiel eine Einsparung von 2% Kosten,
bezogen auf die Gesamtkosten im Netzwerk, erzielt werden kann. Betrachtet man die einzelnen
Links, so ergibt sich sogar eine maximale Einsparung von 18% Kosten auf Link L1 .
Ähnliche Ergebnisse erzielt man in Konfiguration K2. Hier sinken die Gesamtkosten von ca. 28%
auf ca. 23% bei einer Multi-Link Fehlerkorrektur gegenüber dem Ende-zu-Ende Fehlerschutz.
Die maximale Einsparung pro Link liegt hier bei ca. 13% bezogen auf Link L456 .
40
8 Zusammenfassung und Ausblick
Das Internet als Hauptrepräsentant großer Netzwerke wird in Zukunft immer öfter für audiovisuelle Anwendungen genutzt werden. Um diese Daten zuverlässig vom Sender zum Empfänger
transportieren zu können ist ein entsprechender Fehlerschutz nötig.
Der Hauptaspekt dieser Arbeit liegt auf der Anwendung eines Multi-Link Fehlerschutzes, der
im Gegensatz zum klassischen Ende-zu-Ende Fehlerschutz, für jedes am Transportweg der Daten beteiligtes Netzwerksegment individuell bestimmt wird. Der vorgestellte Algorithmus hilft
dabei die zur Verfügung stehenden Delays so auf die Netzwerksegmente zu verteilen, dass die
maximal zulässige Verzögerung zwischen Sender und Empfänger eingehalten wird und dabei die
entstehenden Kosten minimiert werden.
Berechnungen für ein 2-Link Szenario zeigen, dass die Anwendung eines Multi-Link Fehlerschutzes schon bei geringen Paketfehlerraten der verwendeten Netzwerksegmente.
Die in dieser Arbeit vorgestellten Anwendungsbeispiele zeigen Gewinne von 0.5% bis hin zu 15%
bei Anwendung dieses Verfahrens gegenüber der Anwendung des klassischen Ende-zu-Ende Fehlerschutzes. Die Tendenz der Ergebnisse zeigt, dass der Multi-Link Fehlerschutz umso besser ist,
je größer die Fehlerraten der Netzwerksegmente sind.
Nicht nur in Ein-Empfänger Netzwerken ist die Anwendung eines linkbasierten Fehlerschutzes
von Vorteil, auch in Netzwerken mit mehreren Empfängern können dadurch erhebliche KostenEinsparungen erzielt werden. In den hier vorgestellten Beispielen war eine Reduzierung der
Gesamtkosten um ca. 2% - 6% möglich. Bezogen auf die einzelnen Netzwerksegmente waren
sogar Einsparungen von bis zu 21% möglich.
Die Anwendung des hier vorgestellen Optimierungsalgorithmus erfordert allerdings eine Umrechnung: sind mehrerer Empfänger vorhanden, so müssen diese in ein einzelnen Netzwerksegment
mit nur einem Empfänger umgerechnet werden und ist deshalb nicht ohne Weiteres anwendbar.
Diese Arbeit beschäftigte sich mit den Grundlagen eines Hybrid-Fehlerschutzes auf Basis eines
vorhandenen Frameworks in Multi-Link Umgebungen. Es wurden hier serielle Verbindungen
einzelner Netzwerksegmente betrachtet, was für große Netzwerke, wie etwa das Internet, nur
teilweise von Bedeutung ist, allerdings einen guten Einstieg in die Thematik der Multi-Link
Netzwerke darstellt.
In der Realität sind selbstverständlich nicht nur serielle, sondern auch parallele und vermischte
(seriell und parallel) Netzwerkverbindungen zwischen einem Sender/Empfänger-Paar zu finden,
was ein weiteres interessantes Forschungsfeld für die Zukunft liefert.
Betrachtet man solche gemischten Linkkombinationen zwischen Sender und Empfänger, so stellt
sich die Frage nach einem vernünftigen, kosteneffizienten Routing. Erfolgt heutiges Routing
größtenteils nach mehr oder weniger ökonomischen bzw. subjektiven Metriken (Routing zwischen einzelnen Providernetzwerken, etc.), kann es für das Future Media Internet von Vorteil
sein diese Routen aufgrund der Ergebnisse von intelligenten Kostenfunktionen zu bestimmen.
Intelligente Kostenfunktionen können zum Beispiel Kostenfunktionen sein, die mehrere physikalische Eigenschaften (Bandbreite, RTT, ...) des betrachteten Netzwerksegmentes zur Bestimmung der Kosten verwenden. Diese Berechnung der Kosten müsste auf allen Segmenten des
Netzwerkes angewendet werden, so dass das Gesamtergebnis die Routingtabellen der Gateways
steuern kann, was allerdings eine zuverlässige und schnelle Verteilung der Ergebnisse im Netzwerk voraussetzt.
Ein ebenso interessantes Thema kann die Frage nach einer möglichen verteilten Berechnung
der AHEC-Framework Parameter innerhalb des Netzwerkes darstellen, d.h. die Router helfen
sich untereinander bei der Berechnung. Dafür müssen Protokolle und Mechanismen entwickelt
werden die einen Informationsaustausch der unterschiedlichen Geräte zuverlässig und in annehmbarer Zeit ermöglichen.
Doch nicht nur die Betrachtung einer Multi-Link Umgebung kann für die Zukunft des Inter-
41
nets oder anderer großen Netzwerke wegweisend sein, auch die Betrachtung eines Szenarios mit
mehreren Quelle verspricht ein hohes Forschungspotential.
42
Literatur
[1] Internet
Systems
history.php, Juli 2008
Consortium,
http://www.isc.org/index.pl?/ops/ds/host-count-
[2] E.N. Gilbert, Capacity of a burst-noise channel, Bell Syst. Tech. J., vol.39, pp.1253-1265,
Sept. 1960.
[3] E.O. Elliott, Estimates of error rate for codes on burst-noise channels, Bell Syst. Tech.
J., vol.42, pp.1977-1997, Sept. 1963.
[4] G. Tan, Th. Herfet, On the Architecture of Erasure Error Recovery under Strict Delay
Constraints, European Wireless 2008 (EW2008), Prague, June 22nd-25th, 2008
[5] G. Tan, Th. Herfet, The Optimization of RTP Level Hybrid Error Correction Scheme for
DVB Systems in Wireless Home Networks under Restrict Delay Constraints, IEEE Trans.
Broadcasting, Vol. 53, Issue 1, pp.297-307, March 2007
[6] L. Peterson, B. Davie, Computer Networks, 3. Edition, Morgan Kaufmann
[7] Th. Herfet, J. Miroll, M.Gorius, Optimized adaptive hybrid error coding-based transport for
IPTV, Submitted to be published in Special Issue on IPTV in Multimedia Broadcasting,
IEEE Transactions on Broadcasting, 2009
[8] D. Jurca, P. Frossard, Optimal FEC Rate for Media Streaming in Active Networks, Proceedings of IEEE International Conference on Multimedia and Expo, vol. 2, 2004, p.
1319-1322
[9] David E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning,
Addison-Wesley, 1989
43
Herunterladen