Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Sensor Media Access Control

Sensornetze bestehen aus winzigen, drahtlos kommunizierenden Computern (Sensorknoten), die in großer Zahl in einem Gebiet ausgebracht werden, sich selbständig …

Inhalt5 Abschnitte
  1. 1. Grundidee und Bedeutung
  2. 2. Einordnung und Grundprinzip
  3. 3. Verbindungsaufbau und Tagesablauf
  4. 4. Vermeidung von Kommunikationsstörungen
  5. 5. Paketübertragung, Leistung und Schwächen

Grundidee und Bedeutung

Sensor Media Access Control (S-MAC) ist ein Netzwerkprotokoll für Sensornetze. Ein Sensornetz besteht aus vielen kleinen, drahtlos kommunizierenden Computern, den Sensorknoten. Sie werden in einem Gebiet verteilt, vernetzen sich selbstständig und überwachen gemeinsam ihre Umgebung, bis ihre meist nicht wiederaufladbaren Energievorräte erschöpft sind. S-MAC regelt, wie diese Knoten Daten austauschen, auf das gemeinsame Funkmedium zugreifen, die Netztopologie aufbauen und ihre internen Uhren synchronisieren.

Das 2001 von Wei Ye, John Heidemann und Deborah Estrin von der University of Southern California vorgestellte Protokoll wurde besonders auf einen niedrigen Energieverbrauch ausgerichtet. Es ist heute rein akademisch und wird nicht praktisch eingesetzt, war aber ein bedeutender Schritt der Sensornetzforschung. Es diente als Ausgangspunkt für spätere Protokolle wie T-MAC, WiseMAC, DSMAC, B-MAC, μ-MAC, M-MAC und Z-MAC. S-MAC wurde unter anderem für TinyOS implementiert, ein Betriebssystem für Sensorknoten.

Einordnung und Grundprinzip

S-MAC verbindet zwei Verfahren: Carrier Sense Multiple Access (CSMA) und Time Division Multiple Access (TDMA). Beim Carrier Sense prüft ein Knoten vor dem Senden, ob das gemeinsame Kommunikationsmedium frei ist. TDMA teilt die verfügbare Zeit zwischen Teilnehmern auf. Frühere Ansätze hatten für große Sensornetze Nachteile: PAMAS benötigte einen zusätzlichen Kommunikationskanal, reines TDMA ließ sich nicht ohne Weiteres auf sehr viele Knoten übertragen, und verschiedene Varianten nutzten die Sendezeit nicht ausreichend oder waren noch unausgereift.

S-MAC wurde besonders durch PAMAS und IEEE 802.11 angeregt, berücksichtigt aber, dass in einem Sensornetz normalerweise nur ein Kommunikationskanal verfügbar ist. Außerdem gibt es das in gewöhnlichen Rechnernetzen wichtige Prinzip der Fairness teilweise auf. Dort sollen konkurrierende Benutzer und Prozesse einen gerechten Zugriff erhalten. In einem Sensornetz arbeitet dagegen das gesamte Netz für eine einzige gemeinsame Anwendung. Deshalb ist das Gesamtziel wichtiger als die gleichmäßige Behandlung jedes einzelnen Knotens.

Verbindungsaufbau und Tagesablauf

Für den Datenaustausch verwendet S-MAC die Rendezvous-Technik, also eine vorherige Verabredung zwischen Sender und Empfänger. Ein sendewilliger Knoten übermittelt zunächst eine Sendeanfrage (RTS, request to send). Ist der Empfänger bereit, antwortet er mit einer Sendebestätigung (CTS, clear to send). Danach sendet der Absender die Daten. Der Empfänger bestätigt ihren Erhalt mit einem ACK (acknowledgement). Dadurch weiß der Sender, dass der Empfänger zuhört; zugleich kann ein beschäftigter Empfänger eine Übertragung ablehnen.

Um Energie zu sparen, wechseln Sensorknoten regelmäßig zwischen Wach- und Schlafphasen. Im Standby-Modus sind bis auf die Uhr alle Bauteile ausgeschaltet. Der Energieverbrauch ist dann minimal, doch der Knoten kann keine Nachrichten empfangen. S-MAC gibt deshalb regelmäßige Wach-und-Schlaf-Zyklen als festen „Tagesablauf“ vor. Möglichst viele benachbarte Knoten sollen denselben Ablauf einhalten, damit sie während gemeinsamer Wachzeiten kommunizieren können.

Die Abstimmung erfolgt durch kurze Synchronisationsnachrichten (SYNCs). Nach dem Einschalten wartet ein Knoten zunächst auf ein SYNC eines anderen Knotens. Empfängt er keines, sendet er nach einer zufälligen Zeit selbst eines. Ein empfangenes SYNC enthält sinngemäß die aktuelle Uhrzeit und die verbleibende Zeit bis zur Schlafphase. Beim ersten SYNC bestimmt der Empfänger den Zeitunterschied d zwischen seiner Uhr und der mitgeteilten Zeit. Anschließend sendet er ein angepasstes SYNC, in dem sich die verbleibende Zeit bis zum Schlafen von x auf x − d ändert. Jeder Knoten speichert außerdem die Tagesabläufe seiner Nachbarn, damit er bei Bedarf von seinem eigenen Rhythmus abweichen und sie erreichen kann.

Beginnen an verschiedenen Stellen unterschiedliche SYNC-Folgen, kann das Netz in Gruppen mit verschiedenen Wach-und-Schlaf-Rhythmen zerfallen. Grenzknoten folgen dann den Abläufen aller angrenzenden Gruppen und sichern so deren Verbindung. Wegen ihrer längeren Wachzeiten verbrauchen sie allerdings mehr Energie und fallen früher aus.

Da elektronische Uhren allmählich auseinanderdriften, müssen SYNCs regelmäßig wiederholt werden. Die Wachphase ist daher in zwei Teile gegliedert: eine kürzere Phase für Synchronisationsnachrichten und eine längere für den eigentlichen Datenaustausch. Regelmäßige SYNCs ermöglichen zugleich die Aufnahme neuer Knoten in ein laufendes Netz.

Vermeidung von Kommunikationsstörungen

Kommunikationsstörungen verursachen Datenverluste und verschwenden Energie. Das RTS-CTS-Verfahren vermindert bereits das Problem der Hidden Stations. Damit sind Knoten gemeint, die eine laufende Kommunikation nicht vollständig erkennen und deshalb störend zu senden beginnen könnten.

Eine Datenkollision entsteht, wenn zwei Knoten gleichzeitig über das gemeinsame Medium senden. Ihre Signale überlagern sich, sodass beide Nachrichten unbrauchbar werden. S-MAC versucht dies durch physische und virtuelle Trägerprüfung (Carrier Sense) zu verhindern. Bei der physischen Trägerprüfung hört ein Knoten das Medium kurz ab, bevor er sendet. Bei der virtuellen Trägerprüfung schließt er aus zuvor angekündigten Sendewünschen, wie lange das Medium belegt sein wird.

Die virtuelle Prüfung verhindert zugleich Overhearing: Ein Knoten verbraucht dabei unnötig Energie, weil er eine nicht für ihn bestimmte Kommunikation mithört. Jede Sendeanfrage nennt deshalb die Länge der geplanten Nachricht. Andere Knoten können daraus die Belegungsdauer ableiten und sich währenddessen schlafen legen.

Dazu dient der Netzbelegungsvektor (NAV, network allocation vector). Der Knoten setzt den NAV auf den in der Sendeanfrage genannten Wert; ein Zeitgeber zählt ihn anschließend herunter. Sobald er 0 erreicht, gilt das Medium nach der virtuellen Trägerprüfung als frei und der Knoten wacht auf. Nach einer zusätzlichen physischen Prüfung kann er seine eigene Übertragung beginnen.

Paketübertragung, Leistung und Schwächen

Große Dateneinheiten werden in kleinere Pakete oder Fragmente zerlegt. Geht nur ein Fragment verloren, muss nicht die gesamte Dateneinheit erneut gesendet werden. S-MAC führt den RTS-CTS-Austausch nicht für jedes einzelne Fragment durch: Alle zusammengehörigen Pakete werden direkt hintereinander übertragen, sodass für die vollständige Dateneinheit nur ein RTS und ein CTS nötig sind.

Jedes einzelne Paket wird dennoch mit einem ACK bestätigt. Bleibt dieses aus, sendet der Absender das letzte Fragment erneut. Die fortlaufenden ACKs schützen zusätzlich vor Hidden Stations: Knoten in der Nähe des Empfängers erkennen an ihnen die laufende Kommunikation, auch wenn sie den ursprünglichen RTS-CTS-Austausch nicht gehört haben. S-MAC empfiehlt außerdem, in jedem Paket und ACK die verbleibende Dauer des Datenaustauschs anzugeben. Neu hinzugekommene oder irrtümlich erwachte Knoten können sich dadurch wieder schlafen legen.

Im Vergleich mit IEEE 802.11 ist S-MAC in Sensornetzen deutlich energieeffizienter, weil 802.11 für andere Anforderungen entwickelt wurde und Energieeffizienz nicht berücksichtigt. S-MAC besitzt jedoch zwei wesentliche Schwächen:

• Wenn sich mehrere Gruppen mit verschiedenen Tagesabläufen bilden, müssen Grenzknoten länger wach bleiben. Sie verbrauchen mehr Energie und fallen früher aus, obwohl sie für die Verbindung des Gesamtnetzes besonders wichtig sind.

• Ein Empfänger kann schlafen gehen, bevor ein wartender Sender seine Sendeanfrage übermitteln kann. Ist das Medium bereits durch eine andere Kommunikation belegt, erfährt der Empfänger nichts von dem zusätzlichen Sendewunsch. Der Nachfolger Timeout Media Access Control (T-MAC) setzt an diesem Problem an und verbessert die Energieausbeute durch geringfügige Änderungen.

Kritisiert wurde außerdem, dass S-MAC über die Aufgaben eines reinen MAC-Protokolls hinausgeht. Es übernimmt zugleich Netzinitialisierung, Synchronisation, Datenfragmentierung und die Behandlung von Hidden Stations. Die Entwickler von Berkeley Media Access Control (B-MAC) forderten, solche Aufgaben in getrennte, konfigurierbare Module auszulagern. B-MAC erreichte gegenüber S-MAC einen höheren Datendurchsatz und eine bessere Energieeffizienz.

Groß angelegte Vergleiche von Sensornetzprotokollen fehlen. Einige Forscher bezweifeln auch ihren Nutzen, weil vermutlich kein einzelnes Protokoll für alle Sensornetze am besten geeignet ist. Stattdessen können je nach Einsatzszenario unterschiedliche Protokolle vorteilhaft sein.

Weiterlesen