Hauptseminar: Ad-hoc-Netzwerke
Hauptseminar: Ad-hoc-Netzwerke
Hauptseminar: Ad-hoc-Netzwerke
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Hauptseminar</strong><br />
<strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong><br />
Christian Bornträger<br />
03.07.2001<br />
Inhaltsverzeichnis<br />
1. Einführung<br />
1. Mobile Infrastruktur - <strong>Netzwerke</strong><br />
2. Mobile <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong><br />
2. Schicht 2: Medienzugangsprobleme<br />
1. Hidden Terminal Problem<br />
2. Exposed Terminal Problem<br />
3. Neue MAC-Methoden<br />
3. Schicht 3: Routing Protokolle<br />
1. Übersicht<br />
2. wünschenswerte Eigenschaften von Routing-Protokollen<br />
1. Schleifenfreiheit<br />
2. Multicast - Fähigkeit<br />
3. An Bedarf anpassend für nicht gleich verteilte Netzlast<br />
4. Stromverbrauch, Gewicht, Reichweite<br />
5. Geringer Overhead<br />
6. Sicherheit<br />
7. Quality of Service (QoS)<br />
8. Unterstützung von unidirektionalen Verbindungen<br />
3. Tabellenbasierte Routing-Protokolle (table driven)<br />
1. Destination-Sequenced Distance-Vector Routing (DSDV)<br />
2. Clusterhead Gateway Switch Routing (CGSR)<br />
3. The Wireless Routing Protocol (WRP)<br />
4. Source-initiated On-demand Driven Routing Protocols<br />
1. <strong>Ad</strong>-<strong>hoc</strong> On-Demand Distance Vector Routing (AODV)<br />
2. Dynamic Source Routing (DSR)<br />
3. Temporally -Ordered Routing Algorithm (TORA)<br />
4. Associativity-Based Routing (ABR)<br />
5. Signal Stability Routing (SSR)<br />
5. Weitere Routing-Algorithmen<br />
1. Spine Routing<br />
2. Lightweight Mobile Routing (LMR)<br />
3. Core Extraction Distributed <strong>Ad</strong> <strong>hoc</strong> Routing (CEDAR)<br />
4. A Bandwidth-efficient Routing Protocol for Mobile <strong>Ad</strong> Hoc Networks<br />
(RDMAR)<br />
6. Vergleich einiger Routing Verfahren<br />
4. Ausblick<br />
5. Literatur
1. Einführung<br />
In der heutigen Zeit spielt die Vernetzung von Computern und Systemen eine immer größere<br />
Rolle. In der Vergangenheit waren Datennetze überwiegend drahtgebunden bzw. basierten auf<br />
Lichtwellenleiter. Auch heute und in Zukunft werden die Lichtwellenleiter vor allem im<br />
Backbone-Bereich weiterhin dominieren, während drahtgebundene Netze in der LAN-<br />
Verkabelung eingesetzt werden. Allerdings finden sich immer mehr Anwendungen, die eine<br />
feste Verkabelung nicht sinnvoll erscheinen lassen oder ihr widersprechen. So ist die Anzahl<br />
der Mobiltelefone in Deutschland inzwischen größer, als die der Festnetztelefone. Und in<br />
immer mehr Bereichen soll die Funktionalität durch Funkübertragung und spontane<br />
Kommunikation erhöht werden. Drahtlose Netze gewinnen also immer mehr an Bedeutung.<br />
Sie werden dabei in zwei verschiedenen Arten unterteilt, die Infrastrukturnetze und die <strong>Ad</strong><strong>hoc</strong>-Netze.<br />
1.1 Mobile Infrastruktur - <strong>Netzwerke</strong><br />
Mobile Infrastruktur - <strong>Netzwerke</strong> sind <strong>Netzwerke</strong>, in denen wichtige Netzteile Bestandteil<br />
eines fest verkabelten Netzes sind. Es existieren Basisstationen, die eine zentrale Bedeutung<br />
haben. Eine Kommunikation zwischen mobilen Teilnehmer ohne Basisstation ist nicht<br />
vorgesehen. Es handelt sich also um Single-Hop-<strong>Netzwerke</strong>. Die Basisstationen sind<br />
untereinander verbunden evtl. auch über eine Funkstrecke. Die mobilen Teilnehmer melden<br />
sich dabei an einer Basisstation an.<br />
Beispiele für Infrastrukturnetzwerke sind IEEE 802.11 WLAN , GSM, Bluetooth oder auch<br />
DECT. Infrastrukturnetze sind inzwischen weit verbreitet und basieren auf meist ausgereiften<br />
Technologien.<br />
1.2 Mobile <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong><br />
Mobile <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong> besitzen keine festen Basisstationen. Alle Teilnehmer dieser<br />
<strong>Netzwerke</strong> sind mobil und fungieren sowohl als Endstation als auch als Router. Grundlage der<br />
meisten <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong> ist der beaconing - Mechanismus (Leuchtfeuer). Jeder Teilnehmer<br />
(Node) sendet in regelmäßigen Abständen ein beacon - Signal. Dies ist notwendig, damit jeder<br />
Teilnehmer seine Nachbarn kennt, die er direkt erreichen kann. Alle Teilnehmer nutzen beim<br />
Senden dieselbe Frequenz, was natürlich die Kapazität des Netzes begrenzt.<br />
Die gesamte Netzstruktur entsteht dynamisch durch Selbstorganisation und<br />
Selbstverwaltung.Es gibt also keine zentrale Stelle, die das Routing oder die Netzstruktur<br />
festlegt, das Management in <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong>n ist somit verteilt. Aufgrund der Mobilität<br />
der Teilnehmer ist die Netzstruktur zeitvariant. Der Eintritt in ein <strong>Ad</strong>-<strong>hoc</strong>-Netzwerk erfolgt<br />
durch Interaktion mit anderen Teilnehmern. Natürlich kann ein Teilnehmer eines <strong>Ad</strong>-Hoc-<br />
<strong>Netzwerke</strong>s auch Schnittstelle zu einem festen Netzwerk sein.<br />
Die Verbindungen zwischen den einzelnen Nodes erfolgt peer-to-peer. Es handelt sich dabei<br />
oft um Multi-Hop-Verbindungen. Daten können also nicht nur über direkte Verbindungen<br />
transportiert werden, sondern gelangen auch zu entfernten Stationen.
Typische Anwendungsgebiete sind Koordinierung von Rettungsaktionen in Krisengebieten<br />
oder Einsatz in militärischen Kampfgebieten. Ein weitere Bereich ist die Verkehrstelematik.<br />
Verschiede mobile <strong>Ad</strong>-Hoc-Netzwerk-Verfahren befinden sich derzeitig in der Diskussion.<br />
Federführend ist MANET, eine Untergruppe der Internet Engineering Task Force. Die RFC<br />
2501 "Mobile <strong>Ad</strong> <strong>hoc</strong> Networking (MANET): Routing Protocol Performance Issues and<br />
Evaluation Considerations" wurde bereits veröffentlicht. Auf der Homepage von MANET<br />
gibt ausserdem Links zu diversen nicht offiziellen Veröffentlichungen. <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong><br />
sind ebenfalls schon länger bekannt. Sie sind als Option auch in Bluetooth und IEEE 802.11<br />
vorhanden. Allerdings hat dies Form des Netzaufbaus aufgrund von technologischen<br />
Einschränkungen noch keine weite Verbreitung gefunden. Es besteht weiterhin großer<br />
Forschungsbedarf, um Einschränkungen zu beseitigen. Diese Arbeit geht insbesondere auf das<br />
Routing in <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong>n ein.<br />
2. Schicht 2: Medienzugangsprobleme<br />
Ken Tang beschreibt unter [3] einige Probleme, die mit der klassischen Medium Access<br />
Methode CSMA/CD bei Funknetzen auftreten. Wie bereits erwähnt, nutzen alle Nodes in <strong>Ad</strong>-<br />
Hoc-<strong>Netzwerke</strong>n die gleichen Frequenzen. Diese MAC-Probleme existieren demzufolge auch<br />
bei <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong>n.<br />
2.1 Hidden Terminal Problem<br />
Wenn das Medium in der Nähe des Transmitters frei ist, besteht trotzdem die Möglichkeit,<br />
dass das Medium beim Empfänger belegt ist.<br />
Das Hidden Terminal Problem entsteht in diesem Beispiel dadurch, dass sich die Station A<br />
nicht im Empfangsbereich der Station B befindet und umgekehrt. Deshalb kann ein<br />
klassischer Carrier Sense Mechanismus hier nicht funktionieren, beide Messages kollidieren<br />
in der Station C.<br />
2.2 Exposed Terminal Problem<br />
Ebenso kann es vorkommen, dass das Medium beim Sender besetzt ist aber beim Empfänger<br />
ist es frei.
Das Exposed Terminal Problem stellt ebenfalls ein Carrier Sense Problem dar. Hier sei<br />
Station B am Senden. C erkennt, dass B sendet und betrachtet das Medium als besetzt,<br />
obwohl C in Richtung D übertragen könnte.<br />
2.3 Neue MAC-Methoden<br />
Es ist klar das CSMA/CD nicht für Drahtlose Netze geeignet ist. In [3] werden diverse<br />
Alternativen genannt, unter anderem packet sense (ohne Carrier sense), carrier sense with<br />
collision avoidance (CSMA/CA), RTS/CTS, ACKs. Diverse Kombinationen dieser Methoden<br />
wurden umgesetzt, unter anderem in MACA (RTS/CTS), FAMA (CSMA/RTS/CTS), MACAW<br />
(RTS/CTS/ACKs, control frames) und IEEE 802.11 (CSMA/CA/RTS/CTS/ACK).<br />
In seinen Untersuchungen stellte Ken Tang fest, dass die Kombination aus<br />
CSMA/CA,RTS/CTS und ACK die beste Lösung ist. Diese Verfahren wurde auch in IEEE<br />
802.11 umgesetzt.<br />
Es existieren weitere Verfahren wie PAMAS[23], welche andere Zielsetzungen wie<br />
Stromsparfähigkeit betonen. Hierbei wird, basierend auf MACA, ein separater<br />
Signalisierungskanal verwendet.<br />
3. Schicht 3: Routing-Protokolle<br />
3.1 Übersicht<br />
Übersichten über Routing-Protokolle in <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong>n finden sich unter [2],<br />
Hier wird unterschieden zwischen tabellenbasierten (proaktiv) und source-initiated ondemand<br />
driven (reaktiv) Protokollen. Bei tabellenbasierten Protokollen speichert jeder Node<br />
Routinginformationen für das ganze Netz, die global state-Informationen. Beim sourceinitiated<br />
on-demand driven routing werden nur Informationen über die lokalen Nachbarn<br />
gespeichert, die local state-Informationen.<br />
Weiterhin kann man zwischen flachen und hierarchischen Protokollen unterscheiden. Flache<br />
Protokolle bieten sich für kleinere Netze an, während hierarchische Protokolle in großen<br />
Netzen von Vorteil sind. Hierarchische Netze werden in so genannte Cluster aufgeteilt, der<br />
Pfad wird entlang der Cluster bestimmt und nicht mehr entlang einzelner Nodes. Eine weitere<br />
Form der Hierarchie sind virtuelle Backbones. Unterteilung ist deshalb wichtig, weil die<br />
Routenbestimmung eine hohe Komplexität besitzt, mobile Endgeräte aber nur über<br />
beschränkte Rechenleistung verfügen.<br />
3.2 wünschenswerte Eigenschaften von Routing-Protokollen
Schleifenfreiheit<br />
Es ist klar, dass die Routing-Protokolle Mechanismen enthalten sollten, die Schleifenbildung<br />
verhindern. Diese Forderung wird von den meisten Protokollen erfüllt.<br />
Multicast - Fähigkeit<br />
Es gibt klassische Ansätze, die auf Unicast aufbauen, um Multicast zu gewährleisten. Hierbei<br />
werden die Datenströme in einem Router bzw. Zwischennode vervielfältigt. Das kann zu<br />
unnötiger Redundanz führen. In [16] wird der "ST-WIM"-Algorithmus vorgestellt. Dieser ist<br />
unabhängig vom darunter liegenden Routing-Protokoll. Hierbei wird an einem Rendezvous-<br />
Punkt ein dynamischer, verteilter Baum aufgespannt. Bei verstärkter Mobilität muss dieses<br />
Protokoll jedoch verstärkt Performance-Einbußen hinnehmen.<br />
Neue Ansätze, die Kanaleigenschaften nutzen, wurden in [17] propagiert. Dabei will man die<br />
natürliche Broadcast-Eigenschaft der Funkwellen ausnutzen. In einem theoretischen Ansatz<br />
wird ein Verfahren vorgestellt, welches auf einem reduzierten flooding- Verfahren namens<br />
hyper-flooding beruht. Einmal gesendete Daten können von mehreren Teilnehmern<br />
empfangen werden. Mit dieser Kenntnis kann Redundanz verringert werden. Diese Reduktion<br />
der gesendeten Pakete kann aber zur Folge haben, dass einige Mitglieder der Gruppe Daten<br />
nicht empfangen. Dieses Problem tritt insbesondere bei Topologieänderungen in Kombination<br />
mit Paketwiederholungen auf. Deshalb muss ein Kompromiss zwischen Effizienz und<br />
Robustheit gefunden werden.<br />
Eine besonders große Herausforderung ist die Integration der verschiedenen Multicast -<br />
Strategien in festen Infrastrukturnetzwerken, mobilen Infrastrukturnetzwerken und <strong>Ad</strong>-<strong>hoc</strong>-<br />
<strong>Netzwerke</strong>n. Optimalerweise sollte es egal sein, ob sich ein Gruppenmitglied in mobilen oder<br />
festen <strong>Netzwerke</strong>n befindet. Multicastfähigkeit ist ein Gebiet, auf dem weiterhin großer<br />
Forschungsbedarf besteht.<br />
An Bedarf anpassend für nicht gleich verteilte Netzlast<br />
Ein <strong>Ad</strong>-<strong>hoc</strong>-Netzwerk sollte seine Struktur nicht nur starr anhand von Verbindungen<br />
aufbauen, sondern sollte seine Topologie auch an den Bandbreitenbedarf der einzelnen<br />
Verbindungen anpassen. So könnten selbst größere Umwege eines Paketes stark frequentierte<br />
Bereiche des Netzes entlasten und somit zu einer höheren Geschwindigkeit führen. Allerdings<br />
ist diese Forderung stark an QoS-Fähigkeit gebunden.<br />
Stromverbrauch, Gewicht, Reichweite<br />
Mobile Geräte haben oft Einschränkungen hinsichtlich Größe und Gewicht. Dies hat<br />
Auswirkungen auf Energievorrat und Reichweite, was von den Protokollen berücksichtigt<br />
werden sollte. Die Datenmenge und die Sendehäufigkeit sollte so gering wie möglich sein.<br />
Ebenso sollten für die Berechnung der Route effiziente Algorithmen verfügbar sein.<br />
Geringer Overhead<br />
Die Forderung ergibt sich auch aus der Vorherigen. Die Bandbreite von mobilen<br />
Funkstrecken ist außerdem bedeutend kleiner als die Bandbreite von Kabelnetzen. Deshalb<br />
sollten Routing-Protokolle in <strong>Ad</strong>-<strong>hoc</strong>-Netzen bandbreiteschonend sein.
Sicherheit<br />
Funkwellen sind sehr einfach abzuhören und zu stören. Deshalb müssen Maßnahmen<br />
ergriffen werden, die Eingriffe von außen verhindern. Eine mögliche Lösung wäre<br />
Verschlüsselung.<br />
Quality of Service (QoS)<br />
Quality of Service gewinnt immer mehr an Bedeutung. Im klassischen Internet war QoS nicht<br />
vorgesehen. Die Datenübertragung auf IP - Basis verläuft verbindungs- und zustandslos. Die<br />
Router wissen also nichts über evtl. Ströme zwischen einer Quelle und Senke. RFC 2386<br />
beschreibt neuere QoS - Aspekte im klassischen Internet. QoS ist nur sinnvoll, wenn<br />
Datenströme fließen und zwischen zwei Nodes eine Art Verbindung besteht. In RFC 2386<br />
wird QoS als "A set of service requirements to be met by the network while transporting a<br />
flow" klassifiziert. Anforderungen an das Netzwerk gibt es zum Beispiel hinsichtlich Jitter,<br />
Verzögerung und verfügbarer Bandbreite. Der Begriff QoS bedeutet also immer eine<br />
festgelegte anwendungsspezifische Auswahl von Kriterien, die garantiert werden soll.<br />
Interessant in <strong>Ad</strong>-<strong>hoc</strong>-Netzen sind vor allem die Verzögerungszeit und das<br />
Bandbreitenmanagement. Dafür sollten effektive Algorithmen zur Verfügung stehen.<br />
Mobile Netze besitzen Einschränkungen, die eine Gewährleistung der QoS besonders<br />
schwierig machen. Nodes haben oftmals begrenzte Energie und Reichweite. Außerdem<br />
kommen Störungen der Funkstrecken oft vor und sind unberechenbar. Prinzipbedingt gibt es<br />
keine zentrale Managementstation. Die Zugriffs- und Routing-Techniken müssen für die<br />
Einhaltung der QoS sorgen, indem die Routen so gewählt werden, dass die Anforderungen<br />
erfüllt werden.<br />
Ein Netz heißt combinatorial stable, wenn die Topologieveränderung langsam genug<br />
vonstatten gehen, um immer konsistente Routen in allen Nodes zu haben. Dies ist ein<br />
wichtige Vorraussetzung, um Quality of Service zu gewährleisten (notwendige Bedingung).<br />
Wenn ein Netz die Quality of Service unabhängig von möglichen Topologie-Wechseln<br />
garantieren kann, heißt es QoS - robust. Eine abgeschwächte Form ist QoS - preserving. Hier<br />
wird nur das Beibehalten der Quality of Service im Zeitrahmen von einem erfolgreichen<br />
Topologie-Wechsel bis zum nächsten garantiert.<br />
Der Fall, dass ein Node, z.B. durch Funkstörungen, komplett die Verbindung zum Netz<br />
verliert, wird nicht in die Quality of Service Betrachtung mit einbezogen, da das Netz darauf<br />
keinen Einfluss haben kann. Topologie - Updates treten vor allem auf, wenn neue Nodes dem<br />
Netz beitreten oder vorhandene Nodes das Netz (absichtlich) verlassen. Dies sollte die Quality<br />
of Service für den nicht von Änderungen betroffen Teil des Netzes nicht beeinflussen. Die<br />
Funkstrecke ist ein Shared-Medium-Netz. Je größer die Anzahl der Nodes ist, desto größer<br />
kann die Verzögerungszeit werden. Deshalb ist eine genügend große Kanal -<br />
Kapazitätsreserve nötig, um einen Höchstwert für die Verzögerung garantieren zu können.<br />
QoS - Routing besteht aus 2 Teilabschnitten. Die erste Aufgabe ist das Finden einer Route,<br />
die die geforderten Qualitätsbedingungen erfüllt. Der zweite Schritt ist das Reservieren dieser<br />
Route für einen Datenfluss. Natürlich müssen danach die Metriken und Bandbreiten für die<br />
anderen Nodes neu berechnet werden.
Die optimale Routenbestimmung zur Erfüllung aller QoS - Parameter ist ein aufwendigen<br />
Verfahren mit zum Teil NP - vollständiger Komplexität. Deshalb werden oftmals<br />
approximierende Filterregeln angewandt, die eine semioptimale Suche gestatten. Es werden<br />
mehrere Routen bestimmt, die ein wichtiges Kriterium gut bzw. optimal erfüllen. Danach<br />
wird diese Liste anhand des nächsten Kriteriums untersucht. Dies geht so weiter bis zur<br />
letzten QoS - Anforderung.<br />
Sollten mehrere Routen übrig bleiben, wird eine per Zufall ausgewählt.<br />
Die Auswahl der Route hängt von einer möglichst genauen Kenntnis des Netzwerkzustandes<br />
ab. Es gibt local state und global state Information. Die local state Informationen sind<br />
Informationen über den Node selber. Sie beinhalten verbleibende CPU - Leistung sowie<br />
diverse Informationen über alle direkten Verbindungen zu den Nachbarn. Sie ist in jedem<br />
Node sofort verfügbar und entspricht dem Stand des Netzes. Die Gesamtheit aller local states<br />
wird als global state bezeichnet. Sie wird bei tabellenbasierten Routingverfahren ebenfalls in<br />
jedem Node gespeichert. Diese Information muss aber erst durch Austausch von<br />
Informationen gewonnen werden. Diese Topologie - Updates geschehen in regelmäßigen<br />
Abständen. Es wird dabei unterschieden zwischen link-state und distance-vector Protokollen.<br />
Dabei werden entweder die lokalen Zustände oder passende Distanz-Vektoren übertragen. In<br />
großen Netzen ist es ratsam, das Netz hierarchisch zu partitionieren. Dort werden nur die<br />
Zustände der einzelnen Cluster ausgetauscht.<br />
Es gibt verschiedene Verfahren zur Festlegung einer Route. Beim source routing legt die<br />
Quelle einen mögliche Pfad mittels gespeichertem global state fest und teilt allen Nodes in<br />
diesem Pfad Vorgänger und Nachfolger mit. Das destination routing ist vergleichbar, hierbei<br />
ist jedoch das Ziel für die Route verantwortlich.<br />
Das zweite Verfahren ist das distributed oder hop-by-hop routing. Hierbei sind mehrere<br />
Nodes am Festlegen des nächsten passenden Hops beteiligt. Die letzte Form ist das<br />
hierarchical routing. Hierbei werden die global states der einzelnen Cluster zur Bestimmung<br />
der Route herangezogen. In [4] werden zwei Routing-Mechanismen beschrieben. Ein<br />
Algorithmus nutzt nur die local state Informationen, während der andere auch global state<br />
Informationen voraussetzt [1]. Beide Algorithmen suchen bei Verlust einer Route nach einer<br />
neuen Route, die ebenfalls die QoS erfüllt. Bis zum Bestehen der neuen Route werden Pakete<br />
bestmöglich verschickt.<br />
Um eine die Quality of Service dauerhaft zu gewährleisten, sollten Kontrollpakete höhere<br />
Priorität haben als Nutzdatenpakete. Ebenso sollten Pakete mit höhere Priorität Vorrang vor<br />
Paketen mit niedriger Priorität besitzen. Dies kann in Hochlastsituationen dazu führen, das für<br />
niederpriorisierte Pakete die QoS nicht mehr garantiert werden kann.<br />
Beim Ausfall einer Route passiert in den Nodes folgendes: Abhängig vom Aufbau des Netzes<br />
kann der Router, der an dem Ausfall beteiligt ist, entweder selbst eine Ersatzroute aufbauen<br />
oder er teilt der Vorgängerstation bzw. dem Sender mit, dass die Route nicht mehr verfügbar<br />
ist. In diesem Fall muss die Quelle eine neue Route bestimmen.<br />
Alternativ kann der Ausfall der Route für die Quelle ebenfalls sichtbar werden, durch<br />
Ausbleiben von regelmäßigen rückwärts gerichteten Refresher - Paketen.<br />
Um die Gefahr einer QoS - Verletzung zu verringern, bietet sich die Nutzung von<br />
redundanten Routen an. Es gibt 3 verschieden Stufen der Redundanz. Die sicherste Stufe der
Redundanz ist die Reservierung mehrerer paralleler Routen - fällt eine Route aus wird<br />
automatisch die zweite genutzt. Die zweite Möglichkeit ist das Speichern von<br />
Alternativrouten, ohne diese zu reservieren. Erst bei Ausfall der ersten Route wird die<br />
Ersatzroute reserviert. Unter Umständen ist die Route dann allerdings nicht mehr verfügbar<br />
oder bereits anderweitig vergeben. Die einfachste und unsicherste Variante ist die Neusuche<br />
beim Ausfall der Route.<br />
Unterstützung von unidirektionalen Verbindungen<br />
Viele Routingprotokolle gehen davon aus, bidirektionale Verbindungen zu nutzen. Oftmals<br />
wird der Rückweg benutzt, um funktionierende Routen zu melden. Leider kann es passieren,<br />
dass Funkstrecken nur unidirektional arbeiten. Diese Funkstrecken werden von vielen<br />
Protokollen als fehlerhaft angesehen und nicht genutzt. Das Ziel von intelligenten<br />
Routingprotokollen sollte sein, diese unidirektionalen Routen mit zu nutzen. Allerdings wird<br />
in [18] gezeigt, dass bei Distance-Vector-Protokollen die Menge der zu übertragenen<br />
Informationen mit O(n²) statt mit O(n) steigt. Deshalb widerspricht die Nutzung von<br />
unidirektionalen Verbindungen anderen Kriterien wie Bandbreiteneffizienz und<br />
Energiesparsamkeit.<br />
3.3 Tabellenbasierte Routing-Protokolle (table driven)<br />
Destination-Sequenced Distance-Vector Routing (DSDV) [9]<br />
DSDV ist ein flaches Routing-Protokoll. Jeder Node hat eine Tabelle, die die Route zu allen<br />
bekannten Nodes enthält. Das Verfahren ist ähnlich zu Bellman-Ford. Die Tabelle enthält<br />
dabei mögliche Ziele und Anzahl der Hops. Im Gegensatz zu Bellman-Ford wird<br />
Schleifenfreiheit durch Sequenznummern gewährleistet. Mittels dieser Sequenznummern<br />
werden unterbrochene Routen von neuen Routen unterschieden. Um über das aktuelle Netz<br />
informiert zu sein, sind regelmäßige Updates nötig, was zusätzlich Bandbreite benötigt. Es<br />
gibt zwei Arten von Update - Nachrichten. Ein vollständiges Update enthält alle Information,<br />
es werden evtl. mehrere Datenpakete benötigt. Die zweite Möglichkeit ist das Verschicken<br />
von Änderungen. Diese Updates passen in der Regel in eine network data unit.<br />
Zum Routing wird immer die Route mit der aktuellsten Sequenznummer wird genutzt. Falls<br />
zwei Updates mit der selben Sequenznummer einen Node erreichen, wird die Route mit der<br />
kleineren Metrik genutzt.<br />
Clusterhead Gateway Switch Routing (CGSR) [15]<br />
CGSR ist ein hierarchischen Protokoll, welches auf DSDV aufsetzt. Es benutzt zusätzlich<br />
diverse Heuristiken, um das Routing festzulegen. Mehrere Nodes werden zu Clustern<br />
zusammengefasst. Ein Node übernimmt die Rolle des cluster heads. Dafür gibt es einen<br />
Cluster-head-selection-Algorithmus. Bei sehr mobilen Teilnehmern kommt es oft zu<br />
aufwendigen Wechseln des Cluster-heads. Deshalb wird ein Least Cluster Change<br />
Algorithmus verwendet, der den cluster head nur ändert, wenn zwei cluster heads in direkten<br />
Kontakt geraten oder ein Node keinen Kontakt mehr zu irgendeinem cluster head bekommt.<br />
Das Routing geht von der Quelle über Ihren cluster head zu einem gateway node und von dort<br />
aus zu einem anderen cluster head. Dieser routet das Pakt dann weiter.
Gatway nodes sind Teilnehmer, die in Kontakt mit 2 oder mehreren cluster heads sind. Für<br />
dieses Protokoll sind je Node zwei Tabellen notwenig, die cluster member table und die<br />
routing table.<br />
The Wireless Routing Protocol (WRP) [10]<br />
Dies ist ein Routing-Protokoll, welches das Ziel hat, dass alle Nodes die nötigen Routing-<br />
Informationen besitzen. Jeder Node hält vier Tabellen: Die distance table, die routing table,<br />
die link-cost table and die message retransmission list (MRL).<br />
Auch hier werden zwischen direkten Nachbarn Update Messages ausgetauscht, wobei<br />
festgelegt werden kann, welche Updates zu bestätigen sind. Dabei speichert die MRL, welche<br />
Updates nochmals verschickt werden müssen bzw. welche Bestätigungen noch ausstehen.<br />
Neue Nodes erfahren von ihren Nachbarn durch Empfangen von Update Messages. Wenn ein<br />
Node keine Messages zu verschicken hat, benutzt er Hello-Messages. Wenn innerhalb eines<br />
Timeouts keine Message empfangen wird, gilt die Verbindung als gestört. Neuen Nodes<br />
werden Kopien der eigenen Routing-Tabellen geschickt. Die Besonderheit liegt in einem<br />
Verfahren, welches Schleifenfreiheit gewährleistet. Das count-to-infinity-Problem wird<br />
vermieden, indem alle Nodes einen Konsistenzcheck aller Informationen der Nachbarn<br />
machen.<br />
3.4 Source-initiated On-demand Driven Routing Protocols<br />
<strong>Ad</strong>-<strong>hoc</strong> On-Demand Distance Vector Routing (AODV) [11]<br />
AODV ist ein Routing-Protokoll, welches auf dem DSDV-Algorithmus beruht. Es minimiert<br />
aber die Anzahl der benötigten Broadcasts, indem die Routen nur bei Bedarf bestimmt<br />
werden. Es werden also keine kompletten Routing-Tabellen erstellt. Nodes, die sich nicht im<br />
Pfad befinden, aktualisieren auch nicht ihre Routing-Informationen und tauschen auch keine<br />
Routing-Informationen aus.<br />
Wenn ein Node Daten senden will, ohne die Route zum Ziel zu kennen, wird ein path<br />
discovery process gestartet. Dabei werden route request (RREQ) broadcasts geflutet, bis das<br />
Ziel oder ein Node mit einer Route zum Ziel erreicht worden ist. Dieser Node schickt in<br />
Richtung Vorgänger ein route reply (RREP) Nachricht zurück. Dieser schickt dieses zu<br />
seinem Vorgänger und speichert die Route zum Zielhost. Bei AODV werden<br />
Sequenznummern eingesetzt. Jeder Node erhöht seine Sequenznummer mit jedem<br />
gesendetem RREQ. Zusammen mit der <strong>Ad</strong>resse des Nodes sind die RREQs damit einzigartig.<br />
Falls ein RREQ doppelt ankommt, wird er verworfen. Wenn sich Teilnehmer bewegen, ist<br />
eine Neuberechnung der Route notwendig. Bewegt sich die Quelle, kann sie die Berechnung<br />
neu anstoßen. Wenn eine andere Station sich bewegt, erkennt das die Vorgängerstation und<br />
schickt eine link failure message zu ihrem Vorgänger. Diese wird bis zur Quelle<br />
weitergereicht, die eine Neuberechnung veranlassen kann.<br />
Dynamic Source Routing (DSR) [12]<br />
Wenn sich der Zielhost nicht im Cache befindet, wird wie eine route request broadcast<br />
message mit einer ID, Ziel- und Quelladresse verschickt. Jeder Node, der diese Message<br />
erhält, fügt seine <strong>Ad</strong>resse zu einer Liste hinzu. Erhält ein Node ein Paket, dessen ID er bereits<br />
kennt oder in dessen Route er bereits steht, verwirft er diese Message. Kennt ein Empfänger<br />
eine funktionierende Route zum Ziel oder erreicht die Message den Empfänger, wird die
Route vervollständigt und zurück geschickt. Dabei kann der route reply Huckepack in einem<br />
neuen route request zurück geschickt werden. Hin- und Rückweg können sich also<br />
unterscheiden. Dies erlaubt die Nutzung von unidirektionalen Verbindungen. Wenn eine<br />
Verbindung unterbrochen wird, wird diese Verbindung aus dem Cache gelöscht und route<br />
error messages werden verschickt. Alle Stationen, die diese Meldungen empfangen,<br />
schneiden Ihre Routen an der entsprechenden Stelle ab. Weiterhin werden acknowlegdements<br />
benutzt, um korrekte Verbindungen anzuzeigen. Dazu gehören auch passive ACKs, d.h.<br />
Mithören, dass weitergesendet wurde.<br />
Temporally -Ordered Routing Algorithm (TORA) [8]<br />
TORA ist ein verteiltes Routing-Verfahren, welches auf link reversal beruht. Das Ziel von<br />
TORA ist die Konzentration der Kontrollmessages auf die nähere Umgebung von<br />
Topologieveränderungen. Die Nodes müssen Routing-Informationen nur für alle angrenzende<br />
Nodes speichern. Routen werden dabei über direkte azyklische Graphen mit der Höhe als<br />
Metrik bestimmt. Dabei werden den Links Richtungen zugewiesen. Daten werden nur<br />
Downstream von "höhere" Nodes an "niedrigere" Nodes weitergeleitet. TORA ist ähnlich zu<br />
LMR. Topologieveränderungen bewirken dabei eine Umkehrung der Richtung von<br />
angrenzenden Verbindungen.<br />
TORA setzt eine gleichmäßige Zeitbasis auf allen Nodes voraus, z.B. durch GPS, da die<br />
Kontrollmessages auch eine Zeit beinhalten. Dies soll eine schnellere Konvergenz der Routen<br />
ermöglichen.<br />
Associativity-Based Routing (ABR) [13]<br />
ABR definiert eine neue Metrik für <strong>Ad</strong>-<strong>hoc</strong>-<strong>Netzwerke</strong>: degree of association stability.<br />
Anhand dieser Metrik werden die Routen festgelegt. Jeder Node schickt dabei in<br />
regelmäßigen Abständen ein beaconing Signal. Für jedes empfangene beaconing Signal<br />
erhöht eine Node den associativity tic (Assoziativitätszähler) für den Sender. Der<br />
Assoziativitätszähler wird zurück gesetzt, wenn die Nachbarn oder der Node selber sich aus<br />
der Reichweite bewegen. Das Ziel dieses Verfahrens ist die Nutzung lang bestehender stabiler<br />
Routen.<br />
Bei der Routensuche werden die Assoziativitätszähler für die Route mit übertragen und in<br />
einer Liste gespeichert. Das Ziel kann dann aus mehreren Routen die beste wählen und<br />
schickt den REPLY auf dem selben Weg zurück. Die Nodes, die den REPLY weiterleiten,<br />
markieren die Route als gültig. Routenwartung wird ebenfalls über Kontrollpakete mit<br />
Assoziativitätszähler gelöst.<br />
Signal Stability Routing (SSR) [14]<br />
SSR nutzt als Metriken die Signalstärke und Mobilität von Teilnehmern. Das Ziel ist die<br />
Nutzung von Routen mit großen Signalstärken. Dieses Protokoll ist unterteilt in das Dynamic<br />
Routing Protokoll (DRP) und das Static Routing Protocol (SRP). Das DRP verwaltet die<br />
Signal Stability Table und die Routing Table. Deshalb nimmt DRP alle empfangenen Pakete<br />
entgegen und passt alle Tabellen entsprechend an. Danach werden die Pakete an das SRP<br />
weitergereicht. SRP leitet die Pakete weiter oder legt sie in den Stack. Falls keine Route zum<br />
Weiterleiten vorhanden ist, wird ein Route Request geschickt. Dieser wird nur weitergeleitet,<br />
wenn er über ein starkes Signal empfangen wird. Der Zielnode schickt die Antwort auf<br />
demselben Weg zurück. Erreicht die Quelle keine Antwort, schickt sie nach einem Timeout
einen neuen Request mit abgesenker Anforderung an die Signalstärke. Bei einem Fehler wird<br />
die Quelle benachrichtigt, die ihrerseits über eine erase-message alle beteiligten Nodes<br />
informiert.<br />
3.5 Weitere Routing-Algorithmen<br />
Spine Routing [19]<br />
Spine Routing ist weder ein reines On-Demand-Routing-Verfahren, noch ein ein<br />
tabellenbasiertes Verfahren. Hierbei wird eine Struktur namens Spine (Wirbelsäule) genutzt.<br />
Das Spine besteht aus einem kleinen, relativ stabilen Subnetz, welches zur Routenbildung<br />
genutzt wird. Es fungiert als virtuelles Backbone. Es soll nicht dazu dienen, die Informationen<br />
zu transportieren. Dies geschieht nur, wenn andere Routen nicht verfügbar sind. Allerdings<br />
wird das Spine als Multicast-Backbone genutzt. Per Definition ist ein Node entweder selbst<br />
Teil des Spines oder ist zumindest Nachbar eines entsprechenden Nodes. Dadurch wird ein<br />
geringer Wartungsaufwand erreicht, da die Anzahl der Spine Nodes geringer ist als die<br />
Gesamtzahl der Nodes und jeder Node Kontakt zum Spine hat. In [19] werden zwei Varianten<br />
beschrieben: (a) Optimal Spine Routing OSR, welches ein komplettes und aktuelles Wissen<br />
über die Toplogie voraussetzt und (b) Partialknowledge Spine Routing PSR, welches nicht die<br />
komplette Topologie kennen muss.<br />
Die Suche nach einem optimalen Spine erfolgt mittels einem minumum connected dominating<br />
set (MCDS). Dies ist ein NP-vollständiges Problem. Deshalb müssen dafür<br />
Approximationsalgorithmen verwendet werden.<br />
Lightweight Mobile Routing (LMR) [22]<br />
Die Routenbestimmung in LMR ist ähnlich zu TORA ein Link-Reversal-Mechanismus, bei<br />
dem fehlerhafte Verbindungen die Richtung der upstream-Verbindungen umkehren, bis die<br />
Topologie wieder eine komplette Downstream-Verbindung von der Quelle zum Ziel hat.<br />
LMR setzt dabei keine gemeinsame Zeitbasis voraus. Die hat den Nachteil, dass bei Link-<br />
Fehlern die Gefahr besteht, dass LMR temporär falsche Routen bildet, die das Netz in zwei<br />
Teile spalten.<br />
Core Extraction Distributed <strong>Ad</strong> <strong>hoc</strong> Routing (CEDAR)<br />
CEDAR [20] ist ein Routing-Verfahren, welches sich für QoS-Anforderungen eignet. Hier<br />
wird ebenfalls ein Subset des Netzes erzeugt, welches als Core bezeichnet wird. Die Zustände<br />
der Verbindungen werden weiter verbreitet (links state propagation). Dabei ist das Ziel, dass
stabile bandbreitenstarke Verbindungen auch entfernten Nodes bekannt sind, während<br />
schwache, dynamische Verbindungen nur lokal gepeichert werden.<br />
Bei der Routenberechnung wird zuerst eine Core-Verbindung von der Quellendomäne bis zur<br />
Zieldomäne gesucht. Dabei wird iterativ ein Weg von der Quelle zur am weitesten möglichen<br />
Zwischenstation des Cores gesucht. Der Weg muss dabei die Bandbreiteanforderungen<br />
erfüllen. Diese Zwischenstation wird dann die neue Quelle und sucht weiter, bis die<br />
Zieldomäne erreicht ist.<br />
A Bandwidth-efficient Routing Protocol for Mobile <strong>Ad</strong> Hoc Networks (RDMAR)<br />
RDMAR [21] ist ein reaktives Routing-Protokoll, welches konzipiert wurde, um Bandbreite<br />
zu sparen.<br />
3.6 Vergleich einiger Routing-Verfahren<br />
Verfahren Routenbestimmung QoS Schleifen-<br />
frei<br />
DSDV proaktiv ja flach<br />
Flach/<br />
hierarchisch<br />
CGSR proaktiv ja Hierarchisch<br />
cluster<br />
WRP proaktiv ja flach<br />
AODV reaktiv ja flach ja<br />
DSR reaktiv ja flach<br />
Multicast- fähig<br />
Mit Aufsatz[5]<br />
TORA reaktiv ja flach Mit Aufsatz[6]<br />
ABR reaktiv ja ja flach<br />
SSR reaktiv ja flach<br />
CEDAR reaktiv ja ja Hierarchisch<br />
Spine<br />
Routing<br />
Backbone<br />
reaktiv ja Hierarchisch<br />
RDMAR reaktiv ja flach<br />
(virtueller)<br />
Backbone<br />
Weitere Vergleiche hinsichtlich Komplexität und Speicherbedarf wurden in [2]<br />
vorgenommen.<br />
4. Ausblick<br />
ja
Es existieren noch viele weitere Routing-Protokolle, die einige der oben genannten Prinzipien<br />
kombiniert oder auch neue Methoden zur Lösung benutzen. Insbesondere Multicast und QoS-<br />
Aspekte verdienen noch weitere Betrachtung. Allerdings ist Routing nur ein Teil des Netzes.<br />
Viele Eigenschaften der Routing-Protokolle können erst genutzt werden, wenn die<br />
Sicherungsschicht bestimmte Eigenschaften erfüllt. Ein weiterer Forschungsaspekt sollte also<br />
die Integration der verschiedenen Schichten sein. Hier bieten sich Performance-Tests und<br />
Qualitätsuntersuchungen an. Weitere Forschungsgebiete sind Anwendungsmöglichkeiten. In<br />
[24] wird z.B. die Umsetzung von TCP in <strong>Ad</strong>-<strong>hoc</strong> Netzen mittels ATCP betrachtet, was einen<br />
großen Spieraum für Anwendungen gibt.<br />
5. Literaturliste<br />
1. S. Chakrabarti, A. Mishra, "QoS Issues in <strong>Ad</strong> Hoc Wireless Networks", IEEE<br />
Communications Magazine, Vol. 39, No. 2, pp. 142-148, Feb. 2001<br />
2. E. M. Royer, C-K Toh, "A Review of Current Routing Protocols for <strong>Ad</strong>-Hoc Mobile<br />
Wireless Networks",<br />
http://www.ee.surrey.ac.uk/Personal/G.Aggelou/PAPERS/<strong>Ad</strong><strong>hoc</strong>_Review. pdf<br />
3. K. Tang, M. Correa, M. Gerla, "Isolation of Wireless <strong>Ad</strong> Hoc Medium Access<br />
Mechanism under TCP", http://pcl.cs.ucla.edu/slides/workshop99/Kenpw99/sld001.htm<br />
4. S. Chen, "Routing Support For Providing Guaranteed End-To-End Quality of<br />
Service", Ph.D. Thesis, Univ. Of IL at Urbana-Champaign,<br />
http://cairo.cs.uiuc.edu/papers/SCthesis.ps<br />
5. C.-C.Chiang, H.K. Wu, W.Liu, M. Gerla, "Routing in Clustered Multihop, Mobile<br />
Wireless Networks", ACM/Baltzer Wireless Networks Journal, Vol. 1, No. 1, pp. 197-<br />
211, Feb. 1995<br />
6. L. Ji and M. S. Corson, "A Lightweight <strong>Ad</strong>aptive Multicast Algorithm", Proceedings<br />
of GLOBECOM '98, pp. 1036-1042, Nov. 1998<br />
7. M.S. Corson and A. Ephremides, "A Distributed Routing Algorithm for Mobile<br />
Wireless Networks", ACM/Baltzer Wireless Networks Journal, Vol. 1, No. 1, pp. 61-<br />
81<br />
8. V.D. Park, M.S.Corson, "Temporally-Ordered Routing Algorithm (TORA) Version 1<br />
Functional Specification", http://www.ietf.org/internet-drafts/draft-ietf-manet-toraspec-03.<br />
txt (expired)<br />
9. C. E. Perkins, P. Bhagwat, "Highly Dynamic Destination-Sequenced Distance-<br />
Vector Routing (DSDV) for Mobile Computers", Computer Communications Review,<br />
pp. 234-244, Oct. 1994<br />
10. S. Murphy, J. J. Garcia-Luna-Aceves, "An Efficient Routing Protocol for Wireless<br />
Networks", ACM Mobile Networks and Applications Journal, Special Issue on<br />
Routing in Mobile Communication Networks, pp. 183-197, Oct. 1996<br />
11. C.E.Perkins, E.M. Royer, "<strong>Ad</strong> <strong>hoc</strong> On-Demand Distance Vector (AODV) Routing",<br />
http://www.ietf.org/internet-drafts/draft-ietf-manet-aodv-08.txt<br />
12. D.B.Johnson, D.A.Maltz,Yih-Chun Hu, J. G. Jetcheva, "The Dynamic Source<br />
Routing Protocol for Mobile <strong>Ad</strong> Hoc Networks", http://www.ietf.org/internetdrafts/draft-ietf-manet-dsr-05.txt<br />
13. C-K. Toh, "A Novel Distributed Routing Protocol To Suppoert <strong>Ad</strong>-<strong>hoc</strong> Mobile<br />
Computing", Proceedings of the 1996 IEEE Fifteenth Annual International Phoenix<br />
Conference on Computers and Communications, pp. 480-486, Mar. 1996<br />
14. R. Dube, C. D. Rais, K.-Y. Wang, S.K. Tripathi, "Signal Stability based <strong>Ad</strong>aptive<br />
Routing for <strong>Ad</strong>-Hoc Mobile Networks", IEEE Personal Communications, pp. 36-45,<br />
Feb. 1997
15. C.-C. Chiang, H.K. Wu, W.Liu, M. Gerla, "Routing in Clustered Multihop, Mobile<br />
Wireless Networks with Fading Channel", Proceedings of IEEE SICON'97, pp. 197-<br />
211, Apr. 1997<br />
16. C.-C. Chiang, M. Gerla, L.Zhang, "Shared Tree Wireless Network Multicast",<br />
Proceedings of the IEEE 6th International Conference on Computer Communications<br />
and Networks, Apr. 1997, http://www.ics.uci.edu/~atm/ad<strong>hoc</strong>/paper-collection/gerlashared-tr<br />
ee-ic3n97.pdf<br />
17. K. Obraczka, G. Tsudik, "Multicast Routing Issues in <strong>Ad</strong> Hoc Networks",<br />
http://www.ics.uci.edu/~atm/ad<strong>hoc</strong>/paper-collection/obraczka-multic ast-issues.pdf<br />
18. R. Prakash, "Unidirectional links prove costly in Wireless <strong>Ad</strong>-Hoc Networks ",<br />
Proceedings of the Discrete Algorithms and Methods for Mobile Computing and<br />
Communications - Dial M '99, Seattle, WA, Aug.<br />
1998,http://www.ee.surrey.ac.uk/Personal/G.Aggelou/PAPERS/dial.pdf<br />
19. R. Sivakumar, B. Das, V. Bharghavan, "Spine Routing in <strong>Ad</strong> <strong>hoc</strong> Networks ",<br />
ACM/Baltzer Publications Cluster Computing Journal, Special Issue on Mobile<br />
Computing, 1998.<br />
http://www.ee.surrey.ac.uk/Personal/G.Aggelou/PAPERS/baltzer.pdf<br />
20. R. Sivakumar, P. Sinha, V. Bharghavan, "CEDAR: Core Extraction Distributed <strong>Ad</strong><br />
<strong>hoc</strong> Routing ", IEEE Journal on Selected Areas in Communication, Special Issue on<br />
<strong>Ad</strong> <strong>hoc</strong> Networks, Vol. 17, No. 8, 1999<br />
http://www.ee.surrey.ac.uk/Personal/G.Aggelou/PAPERS/jsac.pdf<br />
21. G. Aggelou, R. Tafazolli, "RDMAR: A Bandwidth-efficient Routing Protocol for<br />
Mobile <strong>Ad</strong> Hoc Networks", In Proceedings of The Second ACM International<br />
Workshop on Wireless Mobile Multimedia (WoWMoM), Seattle, Washington, Aug.<br />
1999. http://www.ee.surrey.ac.uk/Personal/G.Aggelou/PAPERS/rdmar.pdf<br />
22. T. Osaki, "Lightweight Mobile Routing (LMR)",<br />
http://www.ics.uci.edu/~ozaki/Research/lmr.htm<br />
23. S. Singh, C.S. Raghavendra, "PAMAS - Power Aware Multi-Access protocol with<br />
Signalling for <strong>Ad</strong> Hoc Networks", http://www.cs.pdx.edu/~singh /ftp/pamas.ps.gz<br />
24. J.Liu, S. Singh, "ATCP: TCP for Mobile <strong>Ad</strong> Hoc Networks", Nov. 2000,<br />
http://www.cs.pdx.edu/~singh/ft p/atcp.pdf