1 Multipath Routing in (Mobile) Mesh Networks David Gutzmann Zusammenfassung— In drahtlosen Mesh-Netzwerken wird der Verkehr im Wesentlichen in Richtung der Internet-Gateways und von diesen in Richtung der Clients geroutet. Dadurch werden einige Verbindungen und Knoten im Netzwerk unter Umständen bis zur Verstopfung überlastet. Darüber hinaus haben drahtlose Netze auf Grund der Unzuverlässigkeit des Mediums mit verschiedenen Problemen zu kämpfen. Multipath-Routing hat sich als ein vielversprechender Ansatz herausgestellt einige dieser Probleme zu lösen. Des Weiteren kann Multipath-Routing für eine Verteilung des Verkehrsaufkommens mit dem Ziel des Lastausgleiches oder der Bandbreitenaggregation sorgen. In dieser Arbeit wird ein Überblick über die Grundlagen des Multipath-Routing gegeben. Es werden einige in der Literatur vorgeschlagene reaktive Multipath-Routing-Protokolle vorgestellt und hinsichtlich ihrer Eigenschaften, ihrer Leistungsfähigkeit und ihrer Grenzen diskutiert. I. E INLEITUNG U RSPRÜNGLICH für infrastrukturlose Drahtlosnetzwerke vorgeschlagene Routing-Protokolle wie AODV [1], OLSR [2], DSR [3] oder DSDV [4] sind sogenannte UnipathProtokolle. Das heißt, sie bilden zu einem Zeitpunkt nur einen Pfad für eine Route zwischen Quelle und Ziel aus. Dahingegen machen sich Multipath-Protokolle die Redundanz und mögliche Vielfältigkeit der Verbindungen des zu Grunde liegenden drahtlosen Netzwerkes zu Nutze, indem sie mehrere alternative Pfade ausbilden und vorhalten. Die dieser Arbeit zu Grunde liegende Vorstellung von vermaschten Drahtlosnetzwerken (Wireless Mesh Networks, WMN) fasst WMNs als Erweiterung des drahtgebundenen Backbones auf [5]. Es wird unterschieden zwischen Knoten mit drahtgebundener Anbindung und Knoten, die lediglich drahtlos kommunizieren. Des Weiteren können je nach Einsatzszenario mobile Clients existieren. Die Mesh-Router leiten den Verkehr dem Multihop-Kommunikationsparadigma folgend untereinander weiter, bis das Ziel – also ein als Internet-Gateway fungierender Mesh-Router mit drahtgebundener Anbindung oder der entsprechende Client – erreicht ist. Darüber hinaus sind auch Anwendungsfälle vorstellbar, in denen WMNs lediglich zur Kommunikation innerhalb einer bestimmten Gruppe – etwa zwischen Personen einer Firma oder Universität – verwendet werden. Ist die Kommunikation auf eine solche Gruppe beschränkt, entfällt unter Umständen die Notwendigkeit eines Internet-Gateways. Mobile Ad-Hoc-Netzwerke (Mobile Ad Hoc Networks, MANET) und drahtlose Sensornetzwerke (Wireless Sensor Networks, WSN) unterscheiden sich in einigen Punkten von denen hier zu Grunde gelegten WMNs. So sind Knoten in MANETs und WSNs typischerweise mobil, von begrenzten Energieressourcen abhängig und das von ihnen zu bewältigende Da- tenaufkommen ist vergleichsweise gering. Dahingegen sind Knoten in WMNs relativ statisch und haben unbegrenzt Energie zur Verfügung. Auch ist das Datenaufkommen bei den angedachten Anwendungen wie Video-Streaming deutlich höher und die Knoten in MANETs und WSNs verfügen, im Unterschied zu Mesh-Routern in WMNs, üblicherweise nicht über mehrere Netzwerkadapter. In WMNs wird der Verkehr, entsprechend des angedachten Anwendungsszenarios, im Wesentlichen in Richtung der Internet-Gateways und von diesen in Richtung der Clients geroutet [6]. Dadurch werden einige Verbindungen und Knoten im Netzwerk unter Umständen bis zur Verstopfung überlastet. Zudem ist Drahtlosnetzwerken als Fehlerquelle das unzuverlässige Medium inhärent. Durch MultipathRouting kann der Ausfall oder die Nichterreichbarkeit einzelner Knoten kompensiert und die Zuverlässigkeit des Netzwerkes erhöht werden. Darüber hinaus können Multipath-Protokolle zum Beispiel auch für eine Verteilung des Verkehrsaufkommens, mit dem Ziel des Lastausgleiches, eines gleichmäßigeren Energieverbrauches im Netzwerk oder der Bandbreitenaggregation sorgen [7]. Paralleles Senden über mehrere Pfade kann außerdem, in Verbindung mit Vorwärtsfehlerkorrektur oder redundantem Senden, die Fehlertoleranz und die Ausfallsicherheit des Netzwerkes erhöhen [8]. Das Konzept, mittels alternativer Routen konventionelle Wegfindungsalgorithmen zu verbessern, ist nicht neu. In herkömmlichen, leitungsvermittelten Telefonnetzen wurde eine Art Multipath-Routing angewendet, um die Blockierungswahrscheinlichkeit zu senken [9]. Die Blockierungswahrscheinlichkeit ist die Wahrscheinlichkeit dafür, dass ein Verbindungsaufbau aus Mangel an verfügbaren Leitungskapazitäten scheitert. Die Backbone-Netze stellten sich in leitungsvermittelten Telefonnetzen als nahezu vollvermaschtes Netzwerk von Switchen dar – der kürzeste Pfad zwischen zwei Vermittlungsstellen war demnach in der Regel einen Hop lang. Fiel dieser kürzeste Pfad zwischen Quelle und Ziel entweder durch eine Störung oder Überlastung aus, so wurde der Anruf über einen alternativen Pfad umgeleitet, anstatt die Verbindung abzublocken. Die alternativen Pfade waren typischerweise zwei Hops lang. Dynamic-Non-Hierarchical-Routing [10], Dynamic-AdaptiveRouting [11] und Real-Time-Network-Routing [12] sind wohlbekannte Vertreter des alternate-path-routing in leitungsvermittelten Telefonnetzen. Auch einige im Internet verwendete Routing-Protokolle bieten die Möglichkeit des Multipath-Routing [13]. Open Shortest Path First (OSPF), als Vertreter der Link-State-RoutingProtokolle, und einige Implementierungen vom Routing Information Protocol (RIP), als Vertreter der Distance-VectorRouting-Protokolle, seien hier beispielhaft genannt. 2 Abbildung 1. Zwei Pfade (P1: Q−5−6−7−Z und P2: Q−1−2−3−4−Z) deren Knoten- und Verbindungsmengen disjunkt sind. Der Rest dieser Arbeit ist wie folgt aufgebaut. In Abschnitt II werden grundlegende Eigenschaften redundanter Routen dargestellt, der Einsatz von Multipath-Routing durch die Vorstellung typischer Anwendungszwecke motiviert und die drei Hauptkomponeten von Multipath-Routing-Protokollen erläutert. Anschließend werden im Hauptteil dieser Arbeit (Abschnitt III) – aufbauend auf einer kurzen Erläuterung der beiden reaktiven Unipath-Routing-Protokolle AODV [1] und DSR [3] – jeweils zwei Multipath-Erweiterungen für AODV und DSR dargestellt. Der Abschnitt III schließt mit einem kurzen Überblick über Vergleichsstudien der besprochenen Protokolle. Abschnitt IV gibt abschließend ein Fazit der Arbeit und formuliert Anforderungen an zukünftige Forschungen im Bereich des Multipath-Routing im Kontext von vermaschten Drahtlosnetzwerken. II. M ULTIPATH -ROUTING Standard Routing-Protokolle in infrastrukturlosen Drahtlosnetzwerken, wie zum Beispiel AODV und DSR, sind darauf ausgelegt den kürzesten schleifenfreien Pfad zwischen zwei Knoten zu berechnen. Beim Multipath-Routing werden – unter Nutzbarmachung der Redundanz und der möglichen Vielfältigkeit der Verbindungen des zu Grunde liegenden drahtlosen Netzwerkes – mehrere Pfade zwischen Quell- und Ziel-Knoten bestimmt. In diesem Abschnitt werden zunächst Eigenschaften redundanter Routen erläutert (Abschnitt II-A), daraufhin wird das Multipath-Routing in Abschnitt II-B durch die Vorstellung typischer Anwendungszwecke motiviert. Abschließend werden die drei Hauptkomponenten von Multipath-RoutingProtokollen dargestellt (Abschnitt II-C). A. Eigenschaften redundanter Routen Die durch Multipath-Routing-Algorithmen gefundene Routen sind durch bestimmte Eigenschaften charakterisierbar. Es werden drei Hauptarten redundanter Routen unterschieden. Diese sind: Routen, bei denen sowohl die Knotenmengen (mit Ausnahme der Quell- und Zielknoten) als auch die Verbindungsmengen der gefundenen Pfade disjunkt sind (nodedisjoint – siehe Abbildung 1), Routen, bei denen nur die Verbindungsmengen disjunkt sind (link-disjoint – siehe Abbildung 2) und Routen, deren Pfade gemeinsame Knoten und Verbindungen aufweisen (non-disjoint – siehe Abbildung 3). Dabei implizieren disjunkte Knotenmengen disjunkte Verbindungsmengen. Abbildung 2. Zwei Pfade (P1: Q − 5 − 6 − 7 − Z und P2: Q − 8 − 9 − 6 − 3 − 4 − Z), deren Verbindungsmengen disjunkt sind; der Knoten 6 gehört zu beiden Pfaden. Abbildung 3. Zwei Pfade (P1: Q−5−6−7−Z und P2: Q−5−6−3−4−Z), die gemeinsame Knoten und Verbindungen beinhalten. Die Routentypen unterscheiden sich hinsichtlich ihrer Widerstandsfähigkeit bezüglich auftretender Fehler voneinander. Es werden zwei verschiedene Fehlermodelle unterschieden. Zum einen voneinander unabhängige, isoliert auftretende Fehler, die jeweils nur eine Verbindung oder einen Knoten betreffen. Zum anderen örtlich begrenzte, korrelierte Fehler, die zum Ausfall oder zur Nichterreichbarkeit aller Knoten in einem bestimmten Gebiet führen. Hinsichtlich der Widerstandsfähigkeit gegenüber unabhängigen, isolierten Verbindungsfehlern unterscheiden sich knoten- und verbindungsdisjunkte Routen nicht. Bei knotendisjunkten Routen zwischen einer Quelle und einem Ziel können bei k ausgebildeten Pfaden mindestens k − 1 unabhängige, isolierte Knotenfehler auftreten, ohne dass das Ziel von der Quelle aus nicht mehr erreichbar ist. Fällt hingegen bei verbindungsdisjunkten Routen ein Knoten durch einen unabhängigen, isolierten Fehler aus, so sind unter Umständen mehrere adjazente Verbindungen betroffen. Routen, bei denen weder die Knoten- noch die Verbindungsmengen disjunkt sind, sind dem Auftreten von Fehlern gegenüber am anfälligsten, da sowohl Knoten- als auch Verbindungsfehler mehrere Pfade beeinträchtigen können. Örtlich begrenzte, korrelierende Fehler betreffend, sind knotendisjunkte Routen ebenfalls widerstandsfähiger als verbindungsdisjunkte, da letztere dazu tendieren, räumlich näher beieinander zu liegen [14]. Eine abgeschwächte Form der Routenfindung erlaubt auch teilweise disjunkte Knoten- und Verbindungsmengen (partially-disjoint – siehe auch Abbildung 3), dabei wird im Fehlerfall bei Ausfall des primären Pfades (hier Q−5−6−7− Z) ein Ausweichpfad (hier Q − 5 − 6 − 3 − 4 − Z) in Funktion gesetzt. In diesem Beispiel wäre dieses Vorgehen aber nur möglich, wenn der Fehler nicht den Knoten 5 beziehungsweise die Verbindungen Q − 5 oder 5 − 6 betreffen würde. Bei einer gegebenen Pfadmenge sind zwei Pfade maximal-disjunkt (maximally-disjoint), wenn sie so wenig wie möglich Knoten und Verbindungen teilen. In der Literatur wird häufig von Multipath-Protokollen 3 Abbildung 4. inter-path- und intra-path-Interferenzen (nach [18]) gefordert, dass sie knotendisjunkte – oder zumindest verbindungsdisjunkte – Routen bestimmen. Es wird argumentiert, dass je unabhängiger Pfade voneinander sind, desto unwahrscheinlicher sei es, dass im Fehlerfall Quelle und Ziel nicht mehr über einen Pfad verbunden wären. In [15] analysieren die Autoren, dass knotendisjunkte Routen stabiler sind als verbindungsdisjunkte. Die Autoren von [16] widersprechen der weit verbreiteten Auffassung, dass Multipath-RoutingProtokolle möglichst unabhängige Pfade bestimmen sollen. Sie machen sich dafür stark, die hoch vermaschte Struktur der Knoten als charakteristische Eigenschaft eines WMN besser auszunutzen und argumentieren, dass das Hinzufügen von zusätzlichen Pfaden zu einer Route ein Netzwerk immer zuverlässiger mache. Im Gegensatz zu MANETs und WSNs ist in WMNs die Mobilität der Knoten als Ursache für Verbindungsabbrüche deutlich kleiner einzuschätzen, da die Knoten hier hauptsächlich stationär sind. Zudem kann sicherlich davon ausgegangen werden, dass im angedachten Szenario eines WMN, die Häufigkeit von Hardwareausfällen der Knoten, zumal sie nicht von einer beschränkten Energiequelle abhängig sind, relativ gering ist. Ein erheblicher Einfluss auf die Verbindungsqualität (bis hin zu Verbindungsabbrüchen) bleibt auch in WMNs dem Medium geschuldet. In [17] wurde gezeigt, dass Interferenzen zwischen verschiedenen Pfaden (inter-path) und Knoten eines Pfades (intra-path) den Durchsatz und die Leistungsfähigkeit von Multipath-Routing-Protokollen sehr stark einschränken können. In Abbildung 4 sind Ausschnitte zweier durch ein Multipath-Routing-Protokoll ausgebildeter Pfade (Pfad 1: Q − . . . − A1 − A2 − A3 − A4 − A5 − . . . − Z und Pfad 2: Q − . . . − B1 − B2 − B3 − B4 − B5 − B6 − . . . − Z) dargestellt. In drahtlosen Netzen ist die Interferenzreichweite eines Senders typischerweise deutlich größer als die mögliche Reichweite einer Kommunikation mit akzeptabler Fehlerrate. Im abgebildeten Fall führt ein Senden von B3 dazu, dass keiner der Knoten auf den ausschnittsweise gezeigten Pfaden mehr senden kann. Dieser Kopplung (route-coupling) kann durch Zuweisung unterschiedlicher, sich nicht überlappender Funkkanäle begegnet werden [17]. B. Anwendungszwecke von Multipath-Routing In diesem Unterabschnitt soll das Multipath-Routing durch Vorstellen typischer Anwendungszwecke motiviert werden. Dabei wird auf Anwendungszwecke, die zwar in MANETs und WSNs den Einsatz von Multipath-Routing-Protokollen nahelegen, in WMNs jedoch vernachlässigbar sind (zum Beispiel Verteilung des Verkehrsaufkommens mit dem Ziel des gleichmäßigeren Energieverbrauchs), nicht weiter eingegangen. Wie bereits in Abschnitt I erwähnt, kann Multipath-Routing für eine Verteilung des Verkehrsaufkommens, mit dem Ziel des Lastausgleiches oder der Bandbreitenaggregation sorgen [7]. Auch kann der Ausfall oder die Nichterreichbarkeit einzelner Knoten kompensiert und damit die Zuverlässigkeit von Routen und des gesamten Netzwerkes erhöht werden. Um die Ausfallsicherheit zu erhöhen, kann MultipathRouting zum Beispiel so eingesetzt werden, dass zusätzlich zu einem primären Pfad zwischen Quelle und Ziel auch ein oder mehrere alternative Ausweichpfade vorgehalten werden. Im Falle der Nichtverfügbarkeit des bevorzugten Pfades wird der Verkehr entlang einer der alternativen Pfade zum Ziel geleitet. Durch paralleles Senden über alternative Pfade – entweder in Verbindung mit Vorwärtsfehlerkorrekturmechanismen oder durch einfaches redundantes Senden – kann die Fehlertoleranz einer Route erhöht werden, ohne dass eine durch ein erneutes Senden bedingte Verzögerung eintritt. Bei Multipath-Protokollen, die nur einfache Redundanz verwenden, werden die Daten zum Beispiel zeitgleich entlang der disjunkten Pfade P 1 und P 2 (siehe Abbildung 1) gesendet. Fällt nun einer der Pfade aus, kann das Ziel immer noch einen vollständigen Satz der gesendeten Daten empfangen. Anspruchsvollere Multipath-Routing-Protokolle verbinden paralleles Senden über mehrere Pfade mit Mechanismen der Vorwärtsfehlerkorrektur. So werden die parallel über mehrere Pfade zu sendenden Daten in [8] mittels Reed-Solomon-Codes kodiert. Durch den Einsatz effizienter Kodierungsverfahren wird der durch redundantes Senden gesteigerte Overhead reduziert. Darüber hinaus sind Systeme, die Vorwärtsfehlerkorrektur betreiben, in der Lage, Übertragungsfehler zu kompensieren, die aus der verlustbehafteten, drahtlosen Verbindung resultieren. In WMN wird der Verkehr – entsprechend des angedachten Anwendungsszenarios einer drahtlosen Erweiterung des drahtgebundenen Backbones – im Wesentlichen in Richtung der Internet-Gateways und von diesen in Richtung der Clients geroutet [6]. Dadurch werden einige Verbindungen und Knoten im Netzwerk unter Umständen bis zur Verstopfung überlastet. Die durch ein Multipath-Routing-Protokoll ausgebildeten Pfade können derart genutzt werden, dass der Verkehr gleichmäßiger über das Netzwerk verteilt wird. Dadurch kann vermieden werden, dass einzelne Knoten und Verbindungen überlastet werden. Darüber hinaus können Lastausgleichsalgorithmen dazu beitragen, dass die vorhandenen Netzwerkresourcen effizienter genutzt werden. In [19] wurde jedoch gezeigt, dass – wenn das Multipath-Routing-Protokoll kürzeste Pfade ausbildet – ein Lastausgleichseffekt nur dann erzielt werden kann, wenn eine sehr große Anzahl an alternativen Pfaden genutzt wird. Daher sollte ein Multipath-Routing-Protokoll, das den Verkehr wirkungsvoll um besonders stark frequentierte Knoten und Verbindungen herumleiten soll, die zu verwendenden Pfade nicht lediglich basierend auf der Anzahl der Hops zwischen Quelle und Ziel bestimmen. Verglichen mit drahtgebundenen Netzwerken ist die 4 verfügbare Datenübertragungsrate in Drahtlosnetzwerken gering. So sind zum Beispiel mittels Gigabit-Ethernet nach IEEE 802.3ab [20] über Kupferkabel Bruttodatenraten von 1000 Mbit/s möglich, während Drahtlosnetzwerke deutlich geringere Bruttodatenraten, zum Beispiel 54 Mbit/s nach IEEE 802.11g [21], ermöglichen. Wie in Abschnitt II-A erläutert, führen Interferenzen zwischen Verbindungen eines Pfades und zwischen den Verbindungen unterschiedlicher Pfade dazu, dass die effektiv zur Verfügung stehende Bandbreite weiter abnimmt. Insbesondere hochfrequentierte Verbindungen und Knoten in unmittelbarer Umgebung der Internet-Gateways werden so zu Flaschenhälsen“. In Verbindung mit der Ver” wendung mehrerer Netzwerkadapter und unter Nutzbarmachung der zur Verfügung stehenden, sich nicht überlappenden Funkkanäle, kann mittels Bandbreitenaggregation der Datendurchsatz durch Multipath-Routing-Mechanismen deutlich erhöht werden [6]. C. Komponenten von Multipath-Routing-Protokollen Multipath-Routing setzt sich aus drei Komponenten zusammen: der Routenfindung, der Verteilung des Verkehrs auf die einzelnen Pfade und der Verwaltung und Wartung der Routen. Im Folgenden werden die einzelnen Komponenten vorgesellt. Routenfindung: Multipath-Routing-Protokolle können die von ihnen zu bestimmenden alternativen Pfade, basierend auf verschiedenen Kriterien, aus der Gesamtmenge der zur Verfügung stehenden Pfade zwischen Quelle und Ziel auswählen. Da die Mesh-Router im angedachten Szenario einer drahtlosen Erweiterung des Backbones relativ statisch sind, können kompliziertere Kriterien als die einfache Anzahl der Hops zwischen Quelle und Ziel angelegt werden. Zum einen können die in Abschnitt II-A besprochenen Kriterien wie die Disjunktheit der Pfade oder deren Kopplungsgrad zur Anwendung kommen. Andere mögliche Kriterien sind die Einhaltung bestimmter Dienstgütekriterien, wie einer bestimmten Ende-zu-Ende-Verzögerung oder einer vorgegebenen Mindestbandbreite [7]. In der Literatur wurden eine Reihe von Routing-Metriken für WMNs zur Bestimmung der zu verwendenden Pfadteilmenge vorgeschlagen. Die vorgeschlagenen Metriken unterscheiden sich unter anderem in ihrer Fähigkeit, Interferenzen innerhalb und zwischen Pfaden zu berücksichtigen. Ein weiteres Unterscheidungskriterium ist die Fähigkeit, in den Metriken zeitliche Veränderungen in den Verbindungscharakteristiken abzubilden. Eine Übersicht und Diskussion einiger vorgeschlagener Pfadmetriken gibt [22]. Routenfindung kann auf globalem Wissen aufbauen, unvollständiges globales Wissen verwenden oder lediglich lokal in den Knoten vorhandenes Wissen nutzen. Einem Knoten zu jedem Zeitpunkt vollständiges Wissen über alle Knoten und Verbindungen des Netzwerkes zur Verfügung zu stellen, ist vor dem Hintergrund des fehleranfälligen, drahtlosen Charakters des Netzwerkes und unter Berücksichtigung eventuell vorhandener mobiler Clients sehr aufwändig und bindet Ressourcen. Lediglich auf lokalem Wissen aufbauend, alternative Pfade zu konstruieren, ist schwierig, da globale Invarianten wie die Schleifenfreiheit der zu bestimmenden Pfade oder ein bestimmter Disjunktheitsgrad eingehalten werden müssen. Einige Multipath-Protokolle bestimmen multiple Pfade basierend auf lokal in den Knoten vorhandenem Wissen, welches angereichert wird durch Mithören benachbarter Kommunikation oder durch regelmäßigen Informationsaustausch mit umgebenden Knoten. Die Mehrheit der vorgeschlagenen MultipathRouting-Protokolle berechnet multiple Pfade aufbauend auf unvollständigem globalen Wissen, welches durch beschränktes Fluten des Netzwerkes generiert wird. Routing-Protokolle lassen sich üblicherweise nach dem Zeitpunkt der Routenfindung in Klassen einteilen. Sogenannte proaktive Routing-Protokolle pflegen kontinuierlich RoutingTabellen und halten so zu jedem Zeitpunkt die notwendigen Routing-Informationen vor. Dahingegen stoßen reaktive oder on-demand Routing-Protokolle immer dann eine neue Routenfindung an, wenn eine Kommunikation zwischen einem Quellund einem Zielknoten unmittelbar bevorsteht. Ist der Grad der Mobilität der Knoten in einem Netzwerk hoch oder ist die Wahrscheinlichkeit für Verbindungszusammenbrüche aus anderen Gründen erhöht, sind proaktive Routing-Protokolle häufig mit veralteten Informationen konfrontiert. Das redundante Vorhalten der Informationen über den Netzwerkzustand leistet darüber hinaus Inkonsistenzen in den Tabellen Vorschub, wenn Topologieänderungen zu einem Zeitpunkt noch nicht allen Knoten bekannt sind. Reaktive Routing-Protokolle treffen die Entscheidungen zur Routenfindung dagegen basierend auf aktuellen Informationen über den Netzwerkzustand. Reaktive Protokolle bezahlen die Aktualität in der Regel mit deutlich höherem Overhead, bedingt durch das häufige Fluten des Netzwerkes. Einige Protokolle beschränken den durch das Fluten induzierten Overhead dadurch, dass Knoten die Routenanfragen nicht bedingungslos weiterleiten. Neben reinen reaktiven und proaktiven Protokollen sind auch hybride Ansätze möglich. Zone-RoutingProtocol (ZRP) [23] unterscheidet zwischen einem Nah- und einem Fernbereich. Im Nahbereich, also der unmittelbaren Umgebung eines Knotens, wird proaktiv geroutet, Routenanfragen nach weiter entfernt liegenden Knoten werden reaktiv vorgenommen. Verteilung des Verkehrs auf die einzelnen Pfade: Ist eine Teilmenge der möglichen Pfade ausgewählt, bestehen verschiedene Möglichkeiten der Zuteilung des Datenverkehrs zu den einzelnen Pfaden. Hält ein Multipath-Protokoll zum Beispiel zu einem primären Pfad lediglich einen alternativen Pfad als Ausweichmöglichkeit im Fehlerfall vor, so wird der Ausweichpfad erst dann genutzt, wenn der Primärpfad ausfällt. Sendet ein Multipath-Protokoll dagegen parallel über mehrere Pfade, so stellt sich die Frage nach dem Zuteilungsmechanismus. Denkbar ist, die verschiedenen Pfade nacheinander, zum Beispiel mittels Round-Robin-Verfahren, mit Daten zu beschicken. Darüber hinaus ist es möglich, wie bereits in Abschnitt II-B erwähnt, durch das Hinzufügen einer gewissen Redundanz, die Zuverlässigkeit der Datenübertragung zu erhöhen. Die Datenzuteilung auf die Pfade ist in verschiedenen Granularitäten möglich. Ein Protokoll kann die Daten auf Datenstrom-, auf Paket- oder auf Segmentebene auf 5 die multiplen Pfade zuteilen. Je kleiner die zugeteilten Informationseinheiten sind, desto effizienter kann ein Lastausgleich vorgenommen werden [24]. Allerdings hat eine feinere Granularität einen höheren Overhead zur Folge. Findet die Zuteilung auf Basis von Paketen oder feiner statt, ist zusätzlich ein weiteres Problem zu beachten. Dadurch, dass Pakete entlang von Pfaden mit unterschiedlichen Charakteristiken – betreffend zum Beispiel die Länge, die Verzögerung oder die Verbindungsqualität – geleitet werden, muss das Routing-Protokoll oder ein darauf aufsetzendes Transportprotkoll wie TCP mit Paketen umgehen, die nicht in der erwarteten Reihenfolge (out-of-order) bei dem Ziel eintreffen. In [25] wurde gezeigt, dass die Leistungsfähigkeit von Multipath-Protokollen bei dem Einsatz von TCP als Transportprotokoll sogar unter der Leistungsfähigkeit von Unipath-Protokollen liegen kann. Eine Übersicht über TCPVerbesserungen, die mit out-of-order Paketen besser umgehen können, findet sich in [26]. Verwaltung und Wartung der Routen: Fällt ein Knoten oder eine Verbindung durch einen Fehler aus oder bricht eine Verbindung bedingt durch die Mobilität eventuell vorhandener Clients zusammen, können Multipath-Routing-Protokolle mit verschiedenen Strategien auf die dadurch entstehenden fehlerhaften Pfade und Routen reagieren. Protokolle, die multiple Pfade zwischen Quelle und Ziel vorhalten, um bei einem Pfadausfall alternative Pfade zur Verfügung zu haben, können bei dem Ausfall eines Pfades entweder unmittelbar eine neue Routenfindung anstoßen, um den in Funktion gesetzten Alternativpfad zu ersetzen oder eine neue Routenfindung bis zu dem Zeitpunkt verzögern, an dem alle alternativen Pfade ausgefallen sind. Eine weitere Strategie ist, die Qualität der Pfade kontinuierlich hinsichtlich der Einhaltung bestimmter vorgegebener Dienstgütekriterien zu beobachten. Ein Absinken der Qualität eines Pfades unter eine gewisse Güteschwelle führt dann zum Wechsel des Pfades oder zu einer erneuten Pfadsuche. III. M ULTIPATH -ROUTING -P ROTOKOLLE Die große Anzahl der in der Literatur vorgeschlagenen Multipath-Routing-Protokolle für Drahtlosnetze macht eine Auswahl der in dieser Arbeit zu behandelnden Protokolle schwierig. Bei der Auswahl eines Multipath-RoutingProtokolls scheint die Präsenz eines quasi-statischen drahtlosen Backbones in WMNs mit wenig Variabilität in der Netzwerkstruktur, den Einsatz eines proaktiven Routing-Protokolls zu begünstigen. In [27] erwähnte Experimente scheinen jedoch darauf hinzudeuten, dass es zu ungünstigen Auswirkungen auf die Routenfindung kommen kann, wenn der Kontrollverkehr eines proaktiven Protokolls unter hoher Last mit dem eigentlichen Datenverkehr konkurriert. Des Weiteren lässt die eventuelle Anwesenheit mobiler Clients die Wahl eher auf reaktive Protokolle fallen, da diese in der Lage sind, schneller auf Änderungen in der Netzwerktopologie zu reagieren. Im Rahmen dieser Arbeit wird daher der Schwerpunkt auf reaktive Multipath-Protokolle gelegt. Da die in dieser Arbeit dargestellten reaktiven MultipathRouting-Protokolle auf den ursprünglich für MANETs vorge- schlagenen Unipath-Protokollen AODV [1] und DSR [3] basieren, wird im Abschnitt III-A zunächst ein kurzer Überblick über diese beiden Protokolle gegeben. Im Abschnitt III-B werden dann zwei Multipath-Erweiterungen von DSR vorgestellt. Der Abschnitt III-C behandelt zwei auf AODV basierende Multipath-Protokolle. In Abschnitt III-D wird ein kurzer Überblick über Vergleichsstudien der besprochenen Protokolle gegeben. A. AODV und DSR DSR: Dynamic-Source-Routing (DSR) [3] ist ein ondemand Routing-Protokoll für drahtlose Ad-Hoc-Netzwerke. Es basiert auf dem Konzept des Source-Routing. Dabei teilt der Sender den nachfolgenden Knoten auf dem Weg zum Ziel die notwendigen Routing-Informationen über die dazwischenliegenden Knoten (Zwischenknoten) im Header eines Datenpaketes mit. Der Ablauf von DSR kann in zwei Phasen geteilt werden, der Route-Discovery und der Route-Maintenance. Bei DSR hält jeder Knoten im Netzwerk einen Zwischenspeicher mit bereits bekannten Routen vor. Steht eine Datenübertragung zwischen einem Quellknoten und einem Ziel bevor, wird zunächst der Zwischenspeicher auf eine eventuell schon vorhandene aktuelle Route hin überprüft. Ist keine passende Route bekannt, sendet die Quelle einen Route-Request (RREQ) an alle benachbarten Knoten und stößt damit eine Route-Discovery an. Die RREQ-Nachricht enthält sowohl die Adresse des Quell- als auch die Adresse des Zielknotens. Des Weiteren enthält die Nachricht eine von der Quelle generierte eindeutige Identifikationsnummer und eine Datenstruktur in der alle Knoten in der Reihenfolge festgehalten werden, in der die Nachricht sie auf ihrem Weg durch das Netzwerk passiert. Ein Zwischenknoten überprüft bei dem Empfang eines RouteRequest, ob die Nachricht schon einmal über diesen Knoten geleitet wurde. Ist dies nicht der Fall, so fügt der Knoten seine eigene Adresse zu der Liste der passierten Knoten hinzu und leitet sie danach wiederum an alle Nachbarknoten weiter. Ist der Route-Request bekannt, so wird die RREQ-Nachricht verworfen. Wenn die RREQ-Nachricht den Zielknoten erreicht, fügt dieser seiner Adresse ebenfalls an das Ende der Liste an. Anschließend sendet der Zielknoten die Liste der passierten Knoten auf dem umgekehrten Weg durch das Netzwerk – eingebettet in einen Route-Reply (RREP) – an die Quelle zurück. Die Quelle speichert daraufhin die empfangenen Routing-Informationen. Diese betreffen neben dem eigentlich angefragten Ziel auch alle zwischen Quelle und Ziel liegenden Knoten. Sind alle Verbindungen im Netzwerk bidirektional (zum Beispiel beim Medienzugriff nach IEEE 802.11 [21]), so können sowohl die Zielknoten als auch alle dazwischenliegenden Knoten umfangreiche Routinginformationen aus den Routing-Nachrichten speichern und wiederverwenden. Insbesondere können Knoten, die zwischen Quelle und Ziel einer Anfrage liegen, die Routing-Anfrage aus ihrem Zwischenspeicher beantworten. Existieren in dem Netzwerk auch unidirektionale Verbindungen, so kann der Zielknoten entweder eine bereits bekannte Route für das Zurücksenden der RREPNachricht verwenden oder eine erneute Routenfindung mit der 6 ursprünglichen Quelle als Ziel anstoßen. Die ursprüngliche RREP-Nachricht kann dann zusammen mit der neuen RREQNachricht zur Quelle übermittelt werden. Die Route-Maintenance, also die Wartung und Pflege der Routen, wird durch das Versenden von Fehler- und Bestätigungsnachrichten ermöglicht. Wenn ein Knoten, der im Weiterleiten eines Datenpaketes begriffen ist, einen Verbindungsausfall bemerkt, wird eine Route-Error-Nachricht erstellt und zur Quelle des Datenpaketes zurück gesendet. Diese Fehlernachricht enthält neben der Adresse des Knotens, der den Ausfall der Verbindung festgestellt hat, auch die Adresse des durch den Verbindungsausfall nicht mehr zu erreichenden Knotens. Die Quelle streicht beim Empfang einer Fehlernachricht die entsprechenden Routen aus dem Zwischenspeicher der bekannten Routen und lässt entweder das Paket verfallen oder stößt eine neue Route-Discovery an. Eine Optimierung um den Overhead der Routenfindung zu reduzieren, wird dadurch erreicht, dass ein Knoten, der zwischen Quelle und Ziel der Route-Discovery liegt, direkt mit einer RREP-Nachricht zur Quelle antwortet, sofern sich im Zwischenspeicher des Knotens eine aktuelle Route zum Ziel findet. AODV: Ad-Hoc-On-Demand-Distance-Vector (AODV) [1] ist wie DSR ein reaktives Routing-Protokoll für drahtlose Ad-Hoc-Netzwerke und baut in Teilen auf DSR und dem proaktiven Destination-Sequenced-Distance-VectorProtokoll (DSDV) [4] auf. Die Verwendung von On-DemandRundrufen zur Routenfindung ist dabei von DSR entlehnt, das Konzept der Ziel-Sequenznummern baut auf DSDV auf. Dabei basiert AODV nicht wie DSR auf dem Konzept des Source-Routing, sondern auf der dynamischen Entwicklung von Routing-Informationen in den zwischen Quelle und Ziel liegenden Knoten. Wie bei DSR überprüft ein Knoten unmittelbar vor der Datenübertragung, ob bereits eine Route für den Zielknoten der Übertragung bekannt ist. Ist dies nicht der Fall, so wird eine Pfadsuche angestoßen und die Quelle sendet einen RouteRequest (RREQ) an alle benachbarten Knoten. Die Nachbarknoten leiten die RREQ-Nachricht wiederum an benachbarte Knoten weiter, bis das Ziel oder ein Zwischenknoten mit einer aktuellen Route zum Ziel erreicht ist. Bei AODV verwaltet jeder Knoten zwei Zählvariablen, die Sequenznummer und die Broadcast-ID. Jede RREQ-Nachricht enthält neben den Adressen und Sequenznummern der Quellund Zielknoten, die Broadcast-ID der Quelle und die Anzahl der Hops der bereits passierten Knoten (Hop-Count). Dadurch, dass ein Knoten die Broadcast-ID jedesmal erhöht, wenn ein neuer RREQ angestoßen wird, identifiziert das Tupel aus Quelladresse und Broadcast-ID eine RREQ-Nachricht eindeutig. Doppelt empfangene RREQ-Nachrichten werden verworfen. Empfängt ein Knoten eine noch nicht bekannte RREQ-Nachricht, und kann die Anfrage nicht beantworten, so wird der Hop-Count erhöht und der RREQ wird an die benachbarten Knoten weitergeleitet. Um den Rückwärtspfad zur Quelle aufbauen zu können, speichert der Knoten auch die Adresse des Knotens von dem die RREQ-Nachricht empfangen wurde. Auf einen RREQ dürfen nur Knoten antworten, die eine Route zum Ziel kennen, deren Ziel-Sequenznummer größer oder gleich der in der RREQ-Nachricht enthaltenen Ziel-Sequenznummer ist. Empfängt nun das Ziel – oder ein Knoten der eine aktuelle Route zum Ziel vorweisen kann – eine unbekannte RREQ-Nachricht, so wird ein Route-Reply-Packet (RREP) erstellt und an den Nachbarn zurückgeschickt, von dem der Knoten den RREQ empfangen hat. Eine RREP-Nachricht enthält unter anderem die Quell- und die Zieladresse, die ZielSequenznummer und die Anzahl der Knoten zwischen dem Knoten und dem Zielknoten. Analog zur Ausbildung eines Rückwärtspfades auf dem Weg der RREQ-Nachricht von der Quelle zu dem Zielknoten, erstellen die beim Traversieren des Rückwärtspfades passierten Knoten bei der Verarbeitung der RREP-Nachricht nun einen Verweis auf den Knoten, von dem sie die RREP-Nachricht empfangen haben. So wird ein Vorwärtspfad zwischen Quelle und Ziel ausgebildet. Die weiterleitenden Knoten reichen eine RREP-Nachricht nur dann an den nächsten Knoten auf dem Rückwärtspfad weiter, wenn die RREP-Nachricht bestimmte Kriterien erfüllt. Eine Weiterleitung erfolgt, wenn die in der RREP-Nachricht enthaltene Ziel-Sequenznummer größer ist als eine schon bekannte Ziel-Sequenznummer. Ist die ZielSequenznummer gleich einer schon bekannten, so wird die RREP-Nachricht nur dann weitergereicht, wenn die Anzahl der Knoten zum Ziel geringer ist als bei früheren RREPNachrichten. RREP-Nachrichten, die diese beiden Kriterien nicht erfüllen, werden verworfen. Knoten pflegen bei AODV eine Liste der benachbarten Knoten. Registriert nun ein Knoten einen Verbindungsausfall oder eine Veränderung in der Nachbarschaft, wird ein RouteMaintenance-Prozess angestoßen. Dabei werden alle Knoten, für die ein Rückwärtsverweis für die betroffenen Routen eingetragen ist mittels einer unaufgeforderten RREP-Nachricht über den Verbindungsausfall informiert. Diese aktiven Nachbarn wiederum reichen die RREP-Nachricht an ihre aktiven Nachbarn weiter, bis alle betroffenen Quellknoten informiert sind. Eine betroffene Quelle kann dann eine neue Routenfindung anstoßen. B. Auf DSR basierende Multipath-Protokolle SMR: Split-Multipath-Routing (SMR) [28] baut auf DSR auf und ist daher ebenfalls ein Source-Routing-Protokoll. SMR berechnet mehrere schleifenfreie und maximal-disjunkte Pfade zwischen Quelle und Ziel. Im Unterschied zu DSR beantworten Knoten, die zwischen Quelle und Ziel liegen, RREQ-Anfragen nicht aus dem Routing-Zwischenspeicher. Des Weiteren leiten Knoten RREQ-Nachrichten auch dann weiter, wenn sie den Knoten schon einmal passiert haben. Doppelte RREQ-Nachrichten werden aber nur weitergeleitet, wenn sie von einem anderen Nachbarn empfangen wurden und einen geringeren Hop-Count als eine früher empfangene RREQ-Nachricht aufweisen. Dies verursacht zwar einen erhöhten Overhead im Netzwerk, der Zielknoten kann dadurch jedoch aus mehr unterschiedlichen Pfaden auswählen, da ihn viel mehr RREQ-Nachrichten erreichen als bei DSR. Erreicht die erste RREQ-Nachricht den Zielknoten, wählt dieser den durch die Nachricht repräsentierten Pfad als 7 primären Pfad aus. Dieser Pfad ist der Pfad mit der geringsten Verzögerung (shortest-delay-path) und wird sofort vom Zielknoten mit einer RREP-Nachricht bestätigt. Aus den nachfolgend eintreffenden RREQ-Nachrichten wählt der Zielknoten denjenigen Pfad aus, der maximal-disjunkt zu dem primären Pfad ist. Existieren mehrere maximal-disjunkte Pfade, wird der Pfad ausgewählt, der die geringste Anzahl Knoten zwischen Quelle und Ziel aufweist. Wenn mehrere maximal-disjunkte Pfade mit minimalem Hop-Count existieren, so wird derjenige Pfade ausgewählt, dessen RREQ-Nachricht vom Zielknoten zuerst empfangen wurde. Im Anschluss sendet der Zielknoten für den ausgewählten Pfad ebenfalls eine RREP-Nachricht zurück an die Quelle der Anfrage. Die Zuteilung der Daten auf die beiden Pfade betreffend, haben sich die Autoren in [28] für eine Zuteilung auf Paketebene entschieden. Sie argumentieren, dass der dynamische Charakter eines drahtlosen Ad-Hoc-Netzwerkes die Einbeziehung des Netzwerkzustandes und damit eine Zuteilung auf höherer Ebene schwierig mache. Für die daraus resultierenden Problemen mit TCP, angesprochen im Abschnitt II-C, muss dann allerdings ein Umgang gefunden werden. MP-DSR: Multipath-Dynamic-Source-Routing (MP-DSR) [29] ist ebenfalls eine Multipath-Erweiterung von DSR und berechnet multiple schleifenfreie sowie verbindungsdisjunkte Pfade. Im Unterschied zu DSR und SMR antwortet hierbei der Zielknoten auf mehr RREQ-Nachrichten. Zunächst wird die RREQ-Nachricht, die den Zielknoten als erstes erreicht, mittels RREP bestätigt. Von den nachfolgend am Ziel eintreffenden RREQ-Nachrichten werden nur diejenigen bestätigt, die verbindungsdisjunkte Pfade zum primären Pfad repräsentieren. Die Quelle verwaltet alle eintreffenden RREPNachrichten in einem Routing-Zwischenspeicher. Fällt die zu einem Zeitpunkt genutzte Route aus, so wird die Route aus dem Zwischenspeicher genutzt, die den geringsten Hop-Count bis zum Ziel aufweist. C. Auf AODV basierende Multipath-Protokolle AODVM: Ad-Hoc-On-Demand-Distance-Vector-Multipath (AODVM) [30] ist eine Erweiterung von AODV, die darauf ausgerichtet ist, multiple knotendisjunkte Pfade zwischen einer Quelle und einem Ziel zu bestimmen. Anstatt doppelte RREQNachrichten in den Zwischenknoten zu verwerfen, werden die in den RREQ-Paketen enthaltenen Informationen in einer sogenannten RREQ-Tabelle gespeichert. Für jede empfangene Kopie einer RREQ-Nachricht speichert ein Zwischenknoten unter anderem die Quelle und das Ziel der Nachricht sowie den Nachbarknoten, von dem die RREQ-Nachricht empfangen wurde, und die Entfernung zur Quelle. Im Unterschied zu AODV antworten Zwischenknoten nicht direkt auf RREQAnfragen mit RREP-Nachrichten an die Quelle. Trifft die erste RREQ-Nachricht bei dem Zielknoten ein, so wird analog zu AODV eine RREP-Nachricht mit aktualisierter Sequenznummer des Zielknotens erstellt. Zusätzlich enthält eine RREP-Nachricht bei AODVM Informationen über den Knoten, von dem das Ziel die RREQ-Anfrage empfangen hat. Das RREP-Paket wird dann über den von der RREQ-Anfrage ausgebildeten Pfad zurück zur Quelle geschickt. Empfängt der Zielknoten auch von anderen Nachbarn Kopien der RREQAnfrage, so wird für jede Kopie eine entsprechende RREPNachricht erstellt und zurück zur Quelle geschickt. Empfängt nun ein Zwischenknoten eine RREP-Nachricht von einem seiner Nachbarn, wird der entsprechende Eintrag für diesen Nachbarknoten aus der RREQ-Tabelle des Knotens gelöscht. Analog zu AODV wird ein Verweis auf den sendenden Nachbarn in der Routing-Tabelle erstellt und damit der Vorwärtspfad zum Zielknoten ausgebildet. Die RREPNachricht wird an den Knoten weitergeleitet, der gemäß RREQ-Tabelle auf dem kürzesten Pfad zum Quellknoten liegt. Der entsprechende Eintrag wird danach aus der RREQ-Tabelle entfernt. Damit sichergestellt ist, dass Knoten nur an maximal einem Pfad beteiligt sind, löschen Knoten alle entsprechenden Einträge aus der RREQ-Tabelle, falls sie RREP-Nachrichten von anderen Nachbarknoten zufällig mithören. Kann ein Knoten eine empfangene RREP-Nachricht nicht weiterleiten, weil die RREQ-Tabelle keinen passenden Eintrag mehr enthält, so wird eine Route-Discovery-Error-Nachricht (RDER) erstellt und an den Nachbarknoten gesendet, von dem die nicht zustellbare RREP-Nachricht empfangen wurde. Dieser Nachbar wiederum versucht nun nach Möglichkeit die RDER-Nachricht an einen anderen Knoten entsprechend seiner RREQ-Tabelle zuzustellen. Die Anzahl der RDERNachrichten, die eine einzelne RREP-Nachricht auslösen kann, kann dabei begrenzt werden. Im Unterschied zu Source-Routing-Protokollen entscheiden bei AODVM die Zwischenknoten, ob und wohin eine RREP-Nachricht weitergeleitet wird. Um den Zielknoten über die tatsächlich ausgebildeten Pfade zu informieren, wird für jeden Pfad mit dem ersten Datenpaket eine Bestätigung des Pfades übermittelt. Diese Bestätigung enthält neben der Länge des Pfades auch Informationen über den ersten und letzten Zwischenknoten auf dem Pfad. AOMDV: Ad-Hoc-On-Demand-Multipath-Distance-Vector (AOMDV) [31] [32] ist eine weitere Erweiterung von AODV und berechnet multiple schleifenfreie und verbindungsdisjunkte Pfade. Im Unterschied zu AODV werden doppelt empfangene RREQ-Nachrichten bei AOMDV nicht verworfen, es wird vielmehr für jede, von unterschiedlichen Nachbarn empfangene und gewisse Kriterien erfüllende, RREQ-Nachricht ein entsprechender Eintrag für die Rückwärtsroute eingetragen. Die so etablierten Rückwärtspfade werden von entsprechenden multiplen RREP-Nachrichten in Richtung der Quelle traversiert und bilden so die Vorwärtspfade zwischen Quelle und Zielknoten aus. Um die multiplen Pfade verwalten zu können, werden bei AOMDV mehr Informationen in der Routing-Tabelle gespeichert als bei AODV. Neben der Zieladresse und der Zielsequenznummer wird für jedes Ziel eine Routing-Liste gespeichert. In dieser Routing-Liste ist für jeden der multiplen Pfade festgehalten, welcher Knoten der letzte vor dem Ziel ist. Zusätzlich wird in der Routing-Liste festgehalten von welchem Knoten ein RREQ oder RREP empfangen wurde und welcher Hop-Count in der entsprechenden Nachricht vermerkt 8 war. Die Information über den letzten Knoten auf einem Pfad identifiziert einen Pfad eindeutig und ermöglicht das Berechnen von verbindungsdisjunkten Pfaden. Um die Schleifenfreiheit auch bei multiplen Pfaden garantieren zu können, führen die Autoren die Idee des AdvertisedHop-Count, definiert als den maximalen Hop-Count aller Pfade, ein. Die Autoren stellen drei Regeln auf, deren Einhaltung die Schleifenfreiheit garantiert. Die Ziel-SequenzummernRegel aus AODV wird auf multiple Pfade ausgedehnt, das heißt, alle multiple Pfade von einem Knoten zu einem Ziel weisen dieselbe Ziel-Sequenznummer auf. Empfängt ein Knoten eine Pfadankündigung mit einer größeren ZielSequenznummer, so wird der entsprechende Eintrag in der Routing-Tabelle reinitialisiert. Des Weiteren darf ein Knoten niemals einen Pfad ankündigen, der kürzer als ein schon angekündigter ist. Zusätzlich darf ein Knoten niemals eines Pfad annehmen, der länger als ein schon von diesem Knoten angekündigter ist. Hierbei bezieht sich die Ankündigung eines Pfades sowohl auf RREQ- als auch auf RREP-Nachrichten. Die Route-Maintenance läuft analog zu AODV ab, jedoch wird eine unaufgeforderte RREP-Nachricht erst dann erstellt oder weitergeleitet, wenn der letzte alternative Pfad ausgefallen ist. Mit einer zusätzlichen Festlegung kann AOMDV so verändert werden, dass nur knotendisjunkte Pfade bestimmt werden. Dabei wird gefordert, das ein Knoten für ein Ziel jeweils nur einen ausgewählten Pfad anderen Knoten gegenüber ankündigt. D. Vergleichsstudien Parissidis et al. haben in [33] einige der in diesem Abschnitt vorgestellten Multipath-Routing-Protokolle miteinander verglichen, nämlich SMR, AOMDV und AODVM – wobei die genutzten Protokoll-Implementationen derart angepasst wurden, dass multiple Pfade gleichzeitig genutzt werden. Zusätzlich haben sie das herkömmliche AODV als Referenz verwendet. Die Vergleiche wurden in der Simulationsumgebung ns-2 [34] vorgenommen, wobei auf Medienzugriffsebene die Distributed-Coordination-Function (DCF) des Wireless-LANStandards IEEE 802.11 [21] Verwendung fand. Es wurden Netzwerke unterschiedlicher Dichte (zwischen 30 und 100 Knoten) und Verkehrsaufkommen in einem 1000m ∗ 300m messenden Feld untersucht. Dabei wurden neben statischen Netzwerken auch Netzwerke mit kontinuierlicher Bewegung der Knoten simuliert. Als Bewegungsmodell diente das Random-Way-Point-Modell. Da die Arbeit vor dem Hintergrund von MANETs entstand, wurde von den Autoren nicht zwischen verschiedenen Arten von Knoten – etwa zwischen Routern und Clients – unterschieden. Die Autoren treffen in der Rückschau der getätigten Simulationen vier Kernaussagen. Zunächst stellen sie fest, dass in dicht besetzten Netzwerken und in Netzwerken mit hohem Verkehrsaufkommen Multipath-Routing gegenüber UnipathRouting bessere Leistung zeigt. Des Weiteren führen sie aus, dass AOMDV in Szenarien mit hoher Mobilität am leistungsfähigsten ist, wohingegen sich AODVM in relativ statischen Szenarien am leistungsfähigsten zeigte. Hinsichtlich SMR kommen die Autoren zu dem Ergebnis, das SMR sowohl in dicht besetzten Netzwerken, also auch in Netzwerken mit hohem Verkehrsaufkommen schwache Leistung zeigt. Dies wird auf den durch das Protokoll generierten großen KontrollOverhead zurückgeführt. Pirzada et al. haben mit [35] eine Vergleichstudie vorgestellt, in der sie vor dem Hintergrund eines hybriden WMN die Multipath-Protokolle AOMDV und MP-DSR verglichen haben. Die verwendete Implementation von MP-DSR war dabei um Caching-Mechanismen, wie sie in [36] dargestellt werden, erweitert. Die von den Autoren vorgestellten Experimente wurden ebenfalls in der Simulationsumgebung ns-2 unter Verwendung des Random-Way-Point-Modells und der IEEE 802.11 DCF auf Medienzugriffsebene vollzogen. Simuliert wurden 16 statische Mesh-Router sowie 50 dynamische Clients in einem 1000m ∗ 1000m messenden Quadrat unter verschiedenen Mobilitätsgraden der Clients und Verkehrsaufkommen. Der einzige Unterschied zwischen Mesh-Routern und Clients ist im vorliegenden Fall die Tatsache, dass die Mesh-Router nicht mobil sind, insbesondere nehmen auch die Clients am Routing teil. Die Autoren treffen keine Aussage darüber, ob multiple Pfade durch die Protokolle parallel genutzt wurden. In der Analyse der Simulationen unterscheiden die Autoren zwischen semi-statischen Pfaden, an denen Mesh-Router beteiligt sind, und Pfaden, die lediglich aus Clients aufgebaut sind. Die durch die Mesh-Router unterstützten Pfade werden je nach Protokoll mit AOMDV-Mesh beziehungsweise MPDSR-Mesh referenziert. Als zentrales Ergebnis halten die Autoren fest, das die Gegenwart von statischen Mesh-Routern die Leistung von Multipath-Routing-Protokollen signifikant verbessern kann im Vergleich zu Netzwerken, in denen nur mobile Knoten vorhanden sind. Speziell das Verhältnis der auf Anwendungsschicht gesendeten Pakete zu den tatsächlich auch empfangenen Paketen ist deutlich besser. Zudem sorgen die semi-statischen Pfade auch für weniger Kontroll-Overhead. Sie sind stabiler und es werden dadurch weniger Routenfindungen auf Grund von Pfadausfällen angestoßen. Die Beobachtung, dass unter AOMDV-Mesh und AOMDV deutlich weniger Pakete verworfen werden, wird durch die Tatsache begründet, dass AOMDVMesh und AOMDV – im Gegensatz zu MP-DSR-Mesh und MP-DSR – in der Lage sind, auf einen Pfadausfall auch in den Zwischenknoten zu reagieren. MP-DSR-Mesh generiert in den Simulationen für zehn Datenpakete lediglich ein Kontrollpaket. Dies ist auf die verwendeten Caching-Mechanismen zurückzuführen und wird dadurch unterstützt, dass semi-statische Pfade, an denen MeshRouter beteiligt sind, vergleichsweise lange stabil bleiben. Demgegenüber generiert AOMDV-Mesh für je zwei Datenpakete ein Kontrollpaket, AOMDV generiert sogar fast für jedes Datenpaket ein Kontrollpaket. IV. FAZIT Multipath-Routing-Protokolle machen sich die Redundanz und die mögliche Vielfältigkeit des zu Grunde liegenden 9 drahtlosen Netzwerkes zu Nutze, in dem ein Knoten multiple Verbindungen zu Nachbarknoten aufbaut und mehrere dieser Pfade zur Kommunikation mit einem Ziel nutzt. MultipathProtokolle sind dadurch in der Lage, den Ausfall oder die Nichterreichbarkeit einzelner Knoten zu kompensieren. Bei Verwendung multipler Pfade muss bei einem Pfadausfall nicht erst eine neue Routenfindung ausgelöst werden, um die Datenübertragung fortzusetzen, die Ende-zu-Ende-Verzögerung ist dadurch geringer als bei Unipath-Protokollen. MultipathRouting-Protokolle können außerdem für einen Lastausgleich oder Bandbreitenaggregation sorgen sowie die Fehlertoleranz und die Ausfallsicherheit eines Netzwerkes erhöhen. Die sowieso geringe Bandbreite in drahtlosen Netzwerken wird durch inter- und intra-path-Interferenzen noch weiter beschränkt, so dass die Auswahl der multiplen Pfade unter Berücksichtigung der Interferenzproblematik erfolgen sollte. Ein vielversprechender Ansatz scheint die Verwendung von mehreren sich nicht überschneidenden Funkkanälen zu sein. In der Literatur wurden viele verschiedene MultipathProtokolle vorgeschlagen – umfassende Vergleichsstudien oder vergleichende experimentelle Evaluationen der Protokolle sind dagegen selten, zumal im Kontext von WMNs. Die Leistungsfähigkeit vorgeschlagener Protokolle wird von den Autoren mehrheitlich anhand von Simulationen argumentiert. In Simulationen werden allerdings einige grundlegende Annahmen gemacht, die nicht der realen Welt und der darin existierenden Physik entsprechen [37]. Hinzu kommt, dass viele Autoren die vorgeschlagenen Multipath-Protokolle lediglich mit UnipathProtokollen verglichen haben. Oftmals präsentieren Autoren das entsprechende Protokoll als Lösungsansatz für ein relativ eng abgegrenztes Problem und betrachten es losgelöst von anderen Problemen. Dadurch, dass umfassende Vergleiche fehlen, ist unklar, welcher Ansatz welches Problem wie gut löst – oder ob nicht eine Kombination von Ansätzen weiter führen würde. Als Beispiel sei hier genannt, dass scheinbar keine Studie veröffentlicht wurde, in der im Kontext von WMNs experimentell untersucht wurde ob reaktive oder proaktive Protokolle besser geeignet sind oder ob nicht im direkten Vergleich ein hybrider Ansatz vielversprechender ist. Allein die unterschiedlichen Vorstellungen darüber was ein WMN ist und wie es geeignet dargestellt werden könnte, führen zu schwer vergleichbaren Simulationen und Experimenten. Untersuchungen, die in einem klar definierten experimentellen Rahmen unterschiedliche Multipath-RoutingProtokolle unter einheitlichen Bedingungen evaluieren und die Ergebnisse transparent darstellen, wären notwendig. L ITERATUR [1] C. E. Perkins and E. M. Royer, “Ad-hoc on-demand distance vector routing,” in Proc. 2nd IEEE Workshop on Mobile Computing Systems and Applications, Los Alamitos, CA, USA, 1999, p. 90. [2] P. Jacquet, P. Muhlethaler, T. Clausen, A. Laouiti, A. Qayyum, and L. Viennot, “Optimized link state routing protocol for ad hoc networks,” in Proc. IEEE International Multi Topic Conference (INMIC ’02), Dec. 2002, pp. 62–68. [3] D. Johnson and D. Maltz, Mobile Computing. Boston: Kluwer Academic Publishers, 1996, ch. Dynamic Source Routing in Ad Hoc Wireless Networks, pp. 153–181. [4] C. E. Perkins and P. Bhagwat, “Highly dynamic destination-sequenced distance-vector routing (DSDV) for mobile computers,” in Proc. ACM Conference on Communications Architectures, Protocols and Applications (SIGCOMM’94), New York, NY, USA, Aug. 1994, pp. 234–244. [5] I. F. Akyildiz, X. Wang, and W. Wang, “Wireless mesh networks: a survey,” Computer Networks, vol. 47, no. 4, pp. 445–487, Mar. 2005. [6] A. Raniwala and T. cker Chiueh, “Architecture and algorithms for an IEEE 802.11-based multi-channel wireless mesh network,” in Proc. 24th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM’05)., vol. 3, Mar. 2005, pp. 2223–2234. [7] S. Mueller, R. P. Tsang, and D. Ghosal, Performance Tools and Applications to Networked Systems, ser. Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2004, vol. 2965/2004, ch. Multipath Routing in Mobile Ad Hoc Networks: Issues and Challenges, pp. 209–234. [8] M. Kefayati, H. R. Rabiee, S. G. Miremadi, and A. Khonsari, “Misbehavior resilient multi-path data transmission in mobile ad-hoc networks,” in Proc. 4th ACM workshop on Security of ad hoc and sensor networks (SASN’06). New York, NY, USA: ACM, 2006, pp. 91–100. [9] D. Medhi and K. Ramasamy, Network Routing: Algorithms, Protocols, and Architectures. Amsterdam: Elsevier/Morgan Kaufmann Publishers, 2007. [10] G. R. Ash, A. H. Kafker, and K. R. Krishnan, “Servicing and realtime control of networks with dynamic routing,” Bell System Technical Journal, vol. 60, no. 8, pp. 1821–1845, Oct. 1981. [11] R. Gibbens, F. P. Kelly, and P. B. Key, “Dynamic alternate routing - modeling and behaviour,” in Proc. 12th International Teletraffic Congress, Turin, Italy, 1988, pp. 3.4A3.1–3.4A3.7. [12] G. R. Ash, J.-S. Chen, A. E. Frey, and B. D. Huang, “Real time network routing in a dynamic class-of-service network,” in Proc. 13th International Teletraffic Congress, Copenhagen, Denmark, Jun. 1991, pp. 187–194. [13] D. Thaler and C. Hopps, “Multipath issues in unicast and multicast next-hop selection,” RFC 2991, Nov. 2000. [Online]. Available: http://tools.ietf.org/rfc/rfc2991.txt [14] A.-I. A. Wang, G. H. Kuenning, and P. Reiher, Mobile and Wireless Internet: Protocols, Algorithms, and Systems. Kluwer Academic Publishers, Jul. 2003, ch. Multipath Routing for Ad Hoc Networks, pp. 245–262. [15] X. Li and L. Cuthbert, “Stable node-disjoint multipath routing with low overhead in mobile ad hoc networks,” in Proc. IEEE Computer Society’s 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS 2004), Oct. 4 – 8 2004, pp. 184–191. [16] J. J. Garcia-Luna-Aceves and M. Mosko, “Multipath routing in wireless mesh networks,” in First IEEE Workshop on Wireless Mesh Networks (WiMesh 2005), Santa Clara; CA., Sep. 2005. [17] M. R. Pearlman, Z. J. Haas, P. Sholander, and S. S. Tabrizi, “On the impact of alternate path routing for load balancing in mobile ad hoc networks,” in Proc. 1st ACM international symposium on Mobile ad hoc networking & computing (MobiHoc’00). Piscataway, NJ, USA: IEEE Press, 2000, pp. 3–10. [18] A. Raniwala, K. Gopalan, and T. cker Chiueh, “Centralized channel assignment and routing algorithms for multi-channel wireless mesh networks,” SIGMOBILE Mob. Comput. Commun. Rev., vol. 8, no. 2, pp. 50–65, 2004. [19] Y. Ganjali and A. Keshavarzian, “Load balancing in ad hoc networks: single-path routing vs. multi-path routing,” in Proc. IEEE Annual Conference on Computer Communications (INFOCOM), Mar. 2004, pp. 1120–1125. [20] Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method and physical layer specifications, IEEE Std. 802.3-2005, 2005. [21] Wireless LAN Medium Access Control (MAC) And Physical Layer (PHY) Specifications, IEEE Std. 802.11-2007, 2007. [22] M. Campista, P. Esposito, I. Moraes, L. Costa, O. Duarte, D. Passos, C. de Albuquerque, D. Saade, and M. Rubinstein, “Routing metrics and protocols for wireless mesh networks,” Network, IEEE, vol. 22, no. 1, pp. 6–12, Jan./Feb. 2008. [23] Z. J. Haas, “A new routing protocol for the reconfigurable wireless networks,” in Proc. 6th IEEE International Conference on Universal Personal Communications (ICUPC’97), vol. 2, San Diego, California, USA, Oct. 12 – 16 1997, pp. 562–566. [24] J. Krishnan, R. Silvester, “Choice of allocation granularity in multipath source routingschemes,” in Proc. Twelfth Annual Joint Conference of the IEEE Computer and Communications Societies. Networking: Foundation for the Future, vol. 1, San Francisco, CA, USA, Mar. 1993, pp. 322–329. 10 [25] H. Lim, K. Xu, and M. Gerla, “TCP performance over multipath routing in mobile ad hoc networks,” in Proc. IEEE International Conference on Communications, vol. 2, 2003, pp. 1064–1068. [26] K. Leung, V. Li, and D. Yang, “An overview of packet reordering in transmission control protocol (TCP): problems, solutions, and challenges,” IEEE Trans. on Parallel and Distributed Systems, vol. 18, no. 4, pp. 522–535, 2007. [27] S. Waharte, R. Boutaba, Y. Iraqi, , and B. Ishibashi, “Routing protocols in wireless mesh networks: challenges and design considerations,” Multimedia Tools and Applications, vol. 29, no. 3, pp. 285–303, Jun. 2006. [28] S.-J. Lee and M. Gerla, “Split multipath routing with maximally disjoint paths in ad hocnetworks,” in Proc. IEEE International Conference on Communications (ICC 2001), vol. 10, Helsinki, Finland, Jun. 2001, pp. 3201–3205. [29] A. Nasipuri, R. Castañeda, and S. R. Das, “Performance of multipath routing for on-demand protocols in mobile ad hoc networks,” Mobile Networks and Applications, vol. 6, no. 4, pp. 339–349, Aug. 2001. [30] Z. Ye, S. Krishnamurthy, and S. Tripathi, “A framework for reliable routing in mobile ad hoc networks,” in Proc. 22nd Annual Joint Conference of the IEEE Computer and Communications Societies, vol. 1, Mar./Apr. 2003, pp. 270–280. [31] M. K. Marina and S. R. Das, “On-demand multipath distance vector routing in ad hoc networks,” in Proc. IEEE International Conference on Network Protocols (ICNP), 2001, pp. 14–23. [32] ——, “Ad hoc on-demand multipath distance vector routing,” Wireless Communications and Mobile Computing, vol. 6, no. 7, pp. 969–988, 2006. [33] G. Parissidis, V. Lenders, M. May, and B. Plattner, Next Generation Teletraffic and Wired/Wireless Advanced Networking, ser. Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2006, vol. 4003/2006, ch. Multi-path Routing Protocols in Wireless Mobile Ad Hoc Networks: A Quantitative Comparison, pp. 313–326. [34] “Network simulator ns-2.” [Online]. Available: http://www.isi.edu/ nsnam/ns/ [35] A. Pirzada, M. Portmann, and J. Indulska, “Performance comparison of multi-path aodv and dsr protocols in hybrid mesh networks,” in Proc. 14th IEEE International Conference on Networks (ICON’06), vol. 2, 2006, pp. 1–6. [36] Y.-C. Hu and D. B. Johnson, “Caching strategies in on-demand routing protocols for wireless ad hoc networks,” in Proc. 6th annual international conference on Mobile computing and networking (MobiCom’00). New York, NY, USA: ACM, 2000, pp. 231–242. [37] C. Newport, D. Kotz, Y. Yuan, R. S. Gray, J. Liu, and C. Elliott, “Experimental evaluation of wireless simulation assumptions,” SIMULATION, vol. 83, no. 9, pp. 643–661, 2007.