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