Mobile Ad-hoc-Netzwerke kommen überall dort zum Einsatz, wo der Aufbau einer fixen, meist hierarchischen Infrastruktur schlichtweg nicht möglich ist. Ein solcher spontaner Zusammenschluß mehrerer idealtypisch gleicher Rechner kann etwa Staus oder Massenkarambolagen von Autos erkennen oder in Katastrophenschutz und Aufklärung sogar bei Stromausfällen zum Einsatz kommen. Unterstützt werden Gruppenbildung und Multicasts unter Wahrung der Konsistenz und Integrität der Daten etwa für Video On Demand oder Collaborative Computing oder Filesharing. Virtual Cellular Networks, Client/Server-lose Kommunikation, Multicasts, Routing und Erreichbarkeit, Paritionierung, sicherer Abstand, dezentrale Organisation, spontane Selbstorganisation werden besprochen sowie die Architektur und Implementierung mit einzelnen Algorithmen für solche Systeme.
MiNEMA:Kommunikationsparadigmen
1 Gruppenkommunikation in MobilenAd-hoc-Netzwerken
1.1 Einleitung
Mensch und Tier arbeiten zur Eeichung ihrer Ziele häufig in Gruppen zusammen;mandenke nur an ein Team von Softwareentwicklern oder Murmeltieren. Während ein Murmeltier stets Wache hält, grasendieanderengemütlich.Ist Gefahrim Verzug,etwa durch einen Adler,der seine Kreise zieht,so warntder Aufpasser seine Familienmitglieder durch ein schries Pfeifen.Auch der ZusammenschlußvonRechnernin Gruppen bietet zahlreiche Vorteile, wenn es um die Erfülung von Anforderungenwie Verfügbarkeit,
Resourcennutzung,Leistung und Sicherheit oder einfach um die Lösung komplexer Probleme geht.Ein zentraler Server wäre weder von den Systemresourcen noch von der Netzwerkanbindung her in der Lage,diese Anforderungen zu erfüen.In großen Netzwerken wie dem Internet versucht man diese ZieledurchdieSpiegelungvon DatenaufmehrerenServernsowiedieEinrichtungvonProxies,welcheDatenfürden lokalen Gebrauch zwischenspeichern,zu ereichen.EinNetz solcher Größe ist ohne eine hierarchische Struktur wie der eben beschriebenen kaum denkbar.
In mobilen Ad-hoc-Netzwerken hingegen ist der Aufbau einer fixen Infrastruktur zur Erfüllung oben genannter Aufgaben nicht möglich. Hier sind Mechanismen gefragt, welche den spontanen Zusammenschluß von lokal verfügbaren Rechnern zu Gruppen ermöglichen, die idealtypischerweise aus lauter gleichwertigen Rechnern bestehen.
Beispielsweise könnte ein Auto nach einer Bremsung versuchen, mit benachbarten Fahrzeugen Kontakt aufzunehmen, und den Zusammenschluß ebenfalls gebremster Automobile in einer Gruppe initiieren [7]; dies würde die Erkennung eines Staus oder schlimmstenfalls gar einer Massenkarambolage ermöglichen, sodaß andere Autofahrer rechtzeitig vorgewarnt werden könnten - entweder über eine Meldung im Radio oder indem der Bordcomputer eine alternative Route zum Ziel berechnet.
Bei Bekanntwerden eines Unfalls oder Verbrechens könnten in der Nähe befindliche Einsatzfahrzeuge [4] automatisch zum Ort des Geschehens gelotst werden.
Im Katastrophenschutz und in der Aufklärung sind mobile Ad-hoc-Netzwerke sowie die Kommunikation in Gruppen gewiß von unschätzbarem Vorteil, einfach deshalb, weil es in solchen Situationen kein (funktionsfähiges) Festnetz gibt, auf das man zurückgreifen könnte. Bereits ein großflächiger Stromausfall (wie in Nordamerika im September dieses Jahres) reicht aus um das Telephon- und Handynetz lahmzulegen, da dieses ebenfalls fest verdrahtete Sendestationen benötigt.
Das Paradigma der Gruppenkommunikation umfaßt nicht nur die Gruppenbildung, sondern darüber hinaus natürlich auch die Kommunikation, welche sich meistens an eine größere Menge von Teilnehmern richtet. Die Unterstützung von Multicast- Services ist im Besonderen auch für Multimediaapplikationen von Bedeutung. Hier geht es darum, die Übertragung großer Datenmengen durch Aufteilung der Datenströme auf mehrere Rechner in den Griff zu bekommen. Beispiele für solche Anwendungen wären Video On Demand (Video auf Abruf), Videokonferenzen und andere Dialoganwendungen („Collaborative Computing“) [RS].
Auch Filesharing-Tools (vgl. Kazaa) scharen Rechner bezüglich eines angeforderten Datums und deren Verfügbarkeit. Die Möglichkeiten, die sich dem durchschnittlichen Internetnutzer derzeit bieten, sind leider sehr begrenzt, da die meisten Provider zwar ein großes Downstreamvolumen zum Herunterladen von Daten aber nur einen kleinen Upstream (64kbit/s~Modem) erlauben. Für Videoconferencing oder Filesharing wäre ein symmetrisches Verhältnis von Vorteil. Ein weiteres praktisches Problem ist die Konsistenz, da sich durch die wiederholte Replikation des Datums vor Erreichen des Bestimmungsortes allmählich Kopierfehler einschleichen und das Ergebnis verfälschen oder schlimmstenfalls die Zurückholung des Datums aus dem Rechnerverbund unmöglich machen, wenn nämlich die einzelnen Teile nicht mehr zusammenpassen. Für Fehlererkennung und -korrektur gibt es zwar gut ausgereifte Verfahren, bei derzeitigen Implementierungen kommt es aber trotzdem immer wieder zu Problemen, vor allem dann, wenn einzelne Benutzer gezielt fehlerhafte Fragmente (mit korrekter Prüfsumme) einschleusen, aber auch diesem Problem könnte man mit einer lokalisierenden Fehlererkennung für das gesamte angeforderte Datum leicht begegnen.
Ebendieser Ansatz der verteilten Speicherung von Daten ist im Besonderen für mobile Ad-hoc-Netzwerke bestens geeignet; hier ist es allerdings notwendig, vermehrt lokale Daten einzubeziehen. Gruppenbasierte Systeme können hier rechtzeitig entstehende Partitionierungen vorhersehen, in Bearbeitung befindliche Transaktionen abschließen, stornieren oder bis zur nächsten Vereinigung verzögern und evtl. im Vorhinein Datenbestände zumindest an strategisch wichtigen Positionen verteilen, sowie die notwendigen Operationen zum Abgleich der inzwischen gesammelten Informationen bei einer Wiedervereinigung entsprechender Partitionen anstoßen. Somit lassen sich die zu Beginn angesprochenen Anforderungen (Verfügbarkeit, Sicherheit, Konsistenz…) auch in hochdynamischen mobilen Ad-hoc-Netzen, wo es keine festen Verbindungen gibt, gewährleisten.
1.2 Begaiffsbesiimmung und ealäuieande Voabemeakungen
Mobilität in Netzwerken
[2]unterscheidet folgende Arten von mobilen Netzwerken:
- Cellular Network (statisches Bezugspunktnetz, Fixpunktnetz)
- Virtual Cellular Network (relozierbares Bezugspunktnetz,
Inertialnetz)
- Ad-hoc Network
Im sog. „Cellular Network“ läuft die Kommunikation mobiler Hosts stets über fest verankerte Basisstationen, außer sie befinden sich in direkter Reichweite zueinander. Beispiele für solche Fixpunktnetze wären das Mobilfunknetz oder das WLAN (Wireless Local Area Network).
Das „Virtual Cellular Network“ unterscheidet sich vom „Cellular Network“ dadurch, daß die Basisstationen nach Bedarf verlagert werden können; Sende- und Empfangseinrichtungen könnten z.B. in einem LKW installiert werden. Die Basisstationen verhalten sich aber immer noch so, als ob sie bezüglich eines Inertialsystem ruhen würden; dh. es werden dieselben Routingalgorithmen wie in einem Netz mit fixen Bezugspunkten verwendet, sodaß sich an der Netztopologie im Laufe der Zeit nichts Grundlegendes ändern darf. Kommt es dennoch so weit, müssen die Basisstationen händisch rekonfiguriert werden.
In beiden Arten von Bezugspunktnetzen ist es nicht notwendig, daß einzelne Hosts Routingfunktionalität oder ähnliches übernehmen können: Solche Aufgaben werden an die Basisstationen delegiert, welche eine hierarchisch darüberliegende Ebene darstellen. In den vorhin besprochenen Netzen, nämlich Fixpunkt- und Inertialnetzen, kommunizieren die Hosts wenn nicht direkt stets über Basisstationen und ebendiese sind fest vorkonfiguriert.
1.2.2 Client/Server-loseKommunikationinAd-hoc-Netzwerken
Anders jedoch in einem Ad-hoc-Netzwerk: Dieses besteht aus einer beliebig angeordneten Menge von Computern, welche sich von selbst konfigurieren können. Die beteiligten Computer hören ihr Umfeld ab, erkennen andere Teilnehmer in ihrer direkten Reichweite und beginnen sodann Informationen über weiter entfernte Rechner auszutauschen. Wollen zwei entfernte Teilnehmer miteinander kommunizieren, übernehmen zwischenliegende Hosts die Vermittlung. Darüber hinaus stellt jeder Host einer Gruppe, der eigentlich primär an der Inanspruchnahme von Diensten interessiert ist, in Ermangelung einer zentralisierten Infrastruktur auch selbst Serverfunktionalitäten zur Verfügung. Die Organisation in Gruppen dient dabei, wie schon vorhin erwähnt, zur organisierten Verteilung der Datenbestände an bedeutungsvollen und sicheren Orten. Jeder Teilnehmer übernimmt dabei gleichzeitig die Rolle des Klienten und des Servers.
Kennzeichnend für diese Art von Netzen ist die Abwesenheit einer fest definierten Hierarchie. Idealtypisch besteht ein Ad-hoc-Netzwerk aus einer Menge uniformer Hosts mit gleicher Reichweite. Die Abwesenheit jeglicher Hierarchie führt aber allzuleicht zu einer schlechten Skalierbarkeit, weswegen unterschiedliche Reichweiten durchaus sinnvoll sein können (In kleinerem Maßstab läßt sich diesem Problem auch mit der bevorzugten Weiterleitung von Nachrichten, welche an weit voneinander entfernte Bestimmungsorte gerichtet sind, begegnen [7]). Gleich inwieweit das Netz homogen oder heterogen aufgebaut ist, solange das Verhältnis zwischen Sendereichweite und Empfindlichkeit des Empfängers dasselbe ist, sind die Knoten des Netzwerkes beidseitig voneinander erreichbar. Sendet hingegen A doppelt so stark wie B ohne gleichzeitig über einen empfindlicheren Empfänger zu verfügen, so erreicht A unter Umständen B, aber B nicht A. Befindet sich eine Störquelle X in der Nähe von B, so kann dies ebenfalls, obwohl A und B über gleichwertige Sende- und Empfangseinrichtungen verfügen, dazu führen, daß A B erreicht, aber nicht umgekehrt.
So gesehen müßte der Erreichbarkeitsgraph gerichtet sein, obgleich viele Modelle der Einfachheit halber lediglich einen ungerichteten Graphen verwenden und dadurch implizit voraussetzen, daß alle Verbindungen vollduplex, d.h. beidseitig, sind.
1.2.3 MulticastsundRouting
„Von einem einzelnen Paket, das an eine Multicastadresse abgesendet worden ist, stellt das Netzwerk eine Kopie dieses Pakets an jeden Host einer Gruppe aus. Den Hosts steht es dann frei, dieser Gruppe beizutreten oder sie zu verlassen, ohne sich mit anderen Hosts der Gruppe synchronisieren oder Vereinbarungen treffen zu müssen. Ein Host kann auch gleichzeitig in mehr als einer Gruppe Mitglied sein.“, merkt [66] an; prinzipiell kann man daraus eine rudimentäre Definition von Gruppe ableiten, sodaß jeder Multicast einen Fall von Gruppenkommunikation darstellt. Das Paradigma der Gruppenkommunikation, wie ich es hier vorstellen werde, umfaßt aber weit mehr, nämlich Mechanismen zur Gruppenbildung sowie die bereits angeschnittene verteilte Verwaltung von Daten, welche ohne strikte Trennung von Client und zentralem Server auskommt.
Neben Übermittlungen, welche sich an alle Gruppenmitglieder richten, sollten natürlich auch Meldungen an einzelne Rechner möglich sein. Auf das dafür nötige Routing (Wegberechnung) in mobilen Ad-hoc-Netzwerken wollen wir aber hier nicht näher eingehen, obwohl für bestimmte Zwecke der Austausch von Einzelmeldungen zwischen Vertretern unterschiedlicher Gruppen oder zwischen Anführer und Hosts einer Partition notwendig sein kann.
1.3 Probleme,KonzepteundPrinzipien
1.3.1 Problemstelungen
Soll ein Gruppenkommunikationsservice aufgesetzt werden, so muß dieses eine Reihe von Aufgaben und Anforderungen erfüllen können:
- Gruppenbildung
- Gewährleistung des Zusammenhaltes (aktiv/ passiv)
- Führen gemeinsamer Datenbestände
- verteilte Berechnung
Die Bildung von Gruppen beruht auf dem eigenständigen Zusammenschluß von Rechnern,welchernachbestimmtenAspektenausgerichtetist:
- funktionale Aspekte beziehen sich auf den Zweck der Gruppenbildung
(Stauerkennung, Aufklärung, Rettungseinsatz, …). Im einfachsten Fall
gibt der Bezeichner einer Gruppe ihren Zweck wieder; meistens sind aber
mehrere Aspekte wie u.a. Ressourcennutzung, Fähigkeiten und
Interessenslage mit einzubeziehen
[...]
-
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen.