Die Standardisierung von AVB ist seit 2011 abgeschlossen, und AVB-Produkte haben sich seitdem am Markt etabliert. AVB gemäß IEEE 802.1 ist ein Meilenstein in der Verbesserung des Echtzeitverhaltens von Ethernet. Audio/Video-Bridging (AVB) definiert einen Ansatz zum Erzielen garantierter Ende-zu-Ende-Latenzen in einem Ethernet-Netzwerk, wobei auch die Möglichkeit besteht, Nicht-AVB-Traffic niedrigerer Priorität am selben Ethernet-Netzwerk zu übertragen. Die drei Kernelemente dazu sind Strea-Reservation, Credit-Based-Shaping und Clock-Synchronization. Obwohl die Echtzeitfähigkeit von AVB oft mit dem Credit-Based-Shaper assoziiert wird, verbessert dieser die Übertragungslatenz von Echtzeit-Nachrichten in keiner Weise. Das Echtzeitverhalten ist vielmehr auf die Bandbreitenreservierung der Stream-Reservation im Switch in Verbindung mit dem Talker-Sendeverhalten im Endknoten zurückzuführen.
Dennoch gibt es weiteres Potenzial zum Erzielen einer deutlich geringeren Ende-zu-Ende-Latenz. Die Standardization Group des IEEE möchte durch den Einsatz von Zeitsteuerungsparadigmen das Echtzeitverhalten der IEEE-802.1-Standards verbessern. Um diese laufenden Standardisierungstätigkeiten deutlicher von der etablierten AVB-Technologie abzugrenzen, hat sich die „IEEE 802.1 AVB Task Group“ selbst in „IEEE 802.1 Time-Sensitive Networking (TSN) Task Group“ umbenannt. Tatsächlich hat die TSN-Task-Group den Ansatz der Zeitsteuerung aufgenommen und erweitert Ethernet auch um fehlertolerante Mechanismen. Außerdem werden Verfügbarkeitsmechanismen standardisiert, die vor allem von Vertretern aus der Industrie und der Automobilbranche gefordert werden.
Takt-Synchronisation
Der IEEE-Standard 802.1AS beschreibt ein Uhrensynchronisationsprotokoll ähnlich zu IEEE 1588. Die Synchronisierung erfolgt anhand eines Master-Slave-Prinzips mit automatischer Auswahl des Masters. In IEEE 802.1AS trägt die Uhr des Masters die Bezeichnung Grandmaster. Das Protokoll erstellt einen Synchronisations-Spannbaum im Netzwerk, der einen minimal logischen Baum basierend auf der Netzwerktopologie aufbaut. Zudem beschreibt der Standard, wie die Verteilung der Synchronisierungsnachrichten vom Grandmaster an die Switches und Endknoten erfolgt.
In Bild 1 zum Beispiel kann EN1 den Grandmaster darstellen, sodass EN1 somit die Wurzel des Synchronisations-Spannbaums ist. Ports, die der Synchronisations-Spannbaum nicht erfasst, verweilen als Passiv-Ports und nehmen nicht weiter an der Synchronisation teil. Im Fehlerfall des Grandmasters wird ein neuer Grandmaster ausgewählt und ein neuer Synchronisations-Spannbaum aufgebaut. Dieser ist unabhängig von anderen Protokollen, die für Kommunikationszwecke ebenfalls logische Spannbäume auf Basis der Netzwerktopologie aufbauen können.
Revision der Taktsynchronisation
Überarbeitet werden aktuell die IEEE-Standards 802.1AS sowie 1588, von dem IEEE 802.1AS abgeleitet wurde. Beide Entwicklungen zielen unter anderem auch darauf ab, IEEE 802.1AS als eindeutiges Profil von IEEE 1588 zu definieren. TSN arbeitet innerhalb der Revision von IEEE 802.1AS in der Unterstützung von zwei simultan synchronisierten Zeitbasen.
Verfügbarkeit
Eckdaten
Die Verwendung der vorgestellten Time-Based Shaping-Mechanismen – Time-Aware-Shaper und Time-Triggered-Shaper – bereichern Ethernet um Echtzeitfähigkeit und Robustheit mit dem Ziel einer deterministischen Echtzeitkommunikation. So ermöglichen sie Guarantee-of-Service für Ethernet Netzwerke.
IEEE 802.1AS bietet mit dem Grandmaster-Re-Election-Algorithmus einen sehr einfachen Mechanismus, der die Verfügbarkeit steigert: Wenn ein Grandmaster fehlerhaft wird, so übernimmt ein anderer Master-Knoten dessen Rolle. Dieses Umschalten passiert allerdings nicht augenblicklich, sondern benötigt Zeit. Gerade in kritischen Systemen kann diese Umschaltzeit nicht akzeptabel sein. Daher arbeitet die TSN-Task-Group an Verbesserungsmaßnahmen des Synchronisierungsmechanismus‘. So brachte sie zum Beispiel ein Konzept zu einem Hot- und Cold-Standby der Grandmaster-Clock ein. Dieses ermöglicht einem Endknoten zur gleichen Zeit die Synchronisierung zu mehreren Grandmaster-Clocks. Im Falle eines fehlerhaften Grandmasters kann der Endknoten umgehend auf den Backup-Grandmaster umschalten. Redundanz wie bei der Grandmaster-Clock ist ebenfalls für den Kommunikationspfad beider Grandmaster-Clocks zu den Endknoten notwendig, um die Verteilung der globalen Zeit bei einzelnen Link-Fehlern zu ermöglichen. Fehlertoleranz und Robustheit gewinnen zunehmend an Bedeutung, sodass nun auch TSN diese Aspekte adressiert.
Traffic-Policing
Policing-Funktionen dienen dem Zweck, die Verfügbarkeit des Netzwerkes zu gewährleisten. Nicht vorgesehene Kommunikationsaktivitäten werden identifiziert und eingeschränkt. Während Traffic-Shaping eine gut verteilte Netzwerkauslastung auf den Ausgangsports von Endknoten und Switches produziert, beschreibt Traffic-Policing Überwachungsfunktionen am Eingang von Endknoten und Switches. Eine kritische Betrachtung der Überwachungsfunktionen ist essenziell, weil sie doch temporären Einfluss in der Übertragung nehmen können. Policing unterscheidet zwischen nicht-synchronisierten und synchronisierten Funktionen: Nicht-synchronisierte Policing-Funktionen berücksichtigen die Laufzeiteigenschaften der Nachrichten. Im Gegensatz dazu beziehen synchronisierte Policing-Funktionen eine vorhandene globale Zeit in die Überwachungsfunktion mit ein, wie sie zum Beispiel durch IEEE 802.1AS gegeben ist.
Nicht-synchronisierte Policing-Funktionen
In diese Kategorie fallen alle Variationen von Leaky-Bucket- und Token-Bucket-Algorithmen. Zwei wesentliche Parameter bestimmen das Verhalten: Die Token-Generierungsrate R.i und die Größe des Token-Pools P.i. Nachrichten werden mit den Token-Pools verknüpft, und sobald eine Nachricht an einem Input-Port des Switches eintrifft, wird der entsprechende Token-Pool P.i auf verfügbare Tokens geprüft. Sind Token vorhanden, so wird die Nachricht weitergegeben und eine bestimmte Anzahl von Token wird vom Pool abgezogen. Sobald alle Token vom Pool aufgebraucht sind, wird die Nachricht entweder von ihrer ursprünglicher Priorität heruntergestuft oder verworfen. Das Generieren von neuen Tokens wird mit der Rate R.i bewerkstelligt.
Der Switch kann Tokens für sämtliche Nachrichten an einem Input-Port aus dem gleichen Pool beziehen. Eine Erweiterung ist in Bild 2 dargestellt. Hierbei werden unterschiedliche Token-Pools auf unterschiedliche Streams angewandt. Dabei sorgt ein Flow-Identifier für die Identifizierung der Nachricht. Der Switch ermöglicht die individuelle Verknüpfung eines Token-Pools für genau eine Destination-MAC-Adresse oder die Verknüpfung mit Port, VLAN-ID und Priorität. Darüber hinaus können einem Token-Pool mehrere Streams zugewiesen werden.
Eine Kopplung von Policing-Funktionen ist ebenfalls möglich – und zwar durch sequenzielles Abarbeiten von zwei Token-Pools. Verbrauchen Nachrichten die Tokens im ersten Pool, so werden diese an einen zweiten Token Pool weitergeleitet, in dem ebenfalls Tokens vorhanden sein können oder nicht.
Synchronisierte Policing-Funktionen
Synchronisierte Policing-Funktionen beinhalten alle Varianten von zeit-gesteuerten Bus-Guardians-Funktionen, zum Beispiel Central-Bus-Guardian. Sie folgen dem Prinzip, dass die Übertragung von Nachrichten an bestimmten Zeitpunkten gemäß einem Kommunikations-Schedule erfolgt. Hierzu speichert der Switch lokal die Scheduling-Informationen ab, an denen er die Nachrichten am Input Port erwartet. Basierend darauf charakterisiert der Switch synchronisierte Nachrichten.
Das Beispiel in Bild 3 zeigt eine synchronisierte Policing-Funktion für ein Szenario mit einem zeitgesteuertem Shaper. SW3 setzt die Policing-Funktion [SW2; SW3].check um. Dieser Check öffnet ein Fenster am Ingress, vergleichbar mit dem zeitgesteuerten Shaper [SW2; SW3].gate am Egress. Das [SW2; SW3].check-Fenster gibt an, wann Nachrichten am Eingang akzeptiert (Check ist „open“) und verworfen oder per Downgrade herabgestuft werden (Check ist „close“).
Wie im Beispiel dargestellt gibt es einen Zusammenhang zwischen dem Shaping-Prozess und dem synchronisierten Policing-Prozess. Nachdem die lokalen Takte der Endknoten und Switches sich nicht exakt sondern nur mit einer Genauigkeit PI synchronisieren lassen, müssen der Shaping- und Policing-Prozess einander angepasst werden. Im Beispiel in Bild 3 wird jeweils das Policing-Fenster mit PI-Zeiteinheiten vor dem Shaping-Fenster [SW2; SW3].gate geöffnet sowie nach PI- Zeiteinheiten geschlossen.
Fehlertolerante Taktsynchronisation
Der Standard SAE AS6802 definiert ein fehlertolerantes Clock-Synchronisierungsprotokoll, welches die lokalen Uhren eines Ethernet-Netzwerkes (dies sind die lokalen Uhren der Endknoten und Switches) synchronisiert und diese Synchronisation auch im Fehlerfall aufrecht erhält. Während IEEE 802.1AS (und auch IEEE 1588) eine einzige Uhr – die Grandmaster-Clock – als Zeitreferenz für alle anderen Uhren wählt, sind in SAE AS6802 mehrere Master-Clocks im System vorhanden. Ein Ausfall der Grandmaster-Clock in einem AVB-Netzwerk verursacht eine Non-Zero Fail-Over-Time bis ein neuer Grandmaster ausgewählt und von allen anderen Teilnehmern akzeptiert wurde. In SAE AS6802 besteht keine Fail-Over-Verzögerung.
Time-Aware Traffic-Shaping
Mit dem Time-Aware-Shaper (TAS) gemäß IEEE 802.1Qbv spezifiziert TSN basierend auf der globalen Zeit, erstmalig einen zeitgesteuerten Sendemechanismus für Ethernet-Netzwerke. Das Time-Aware-Shaping findet am Ausgang der Switch-Ports statt. Anhand eines Beispiels gemäß Bild 1 ist SW2 der betrachtete Switch, der von EN1 und EN2 Nachrichten empfängt. Der Switch analysiert die eingehenden Nachrichten und fügt diese der Ausgangs-Queue des Ports mit der Verbindung zu SW3 hinzu. Mit dem Time-Aware-Shaper kommen nun Transmission-Gates mit zwei möglichen Zuständen ins Spiel: „offen“ und „geschlossen“. Das Auswahlverfahren für das Versenden der nächsten Nachrichten am Ausgang berücksichtigt nur Nachrichten von Queues im Zustand „offen“. Die Gates wechseln ihren Zustand gemäß einem vorab erstellten Schedule. Somit werden Nachrichten von EN1 und EN2 nur dann an SW3 weitergeleitet, wenn auch das Gate geöffnet wird. Ein Time-Aware-Shaper realisiert das zeitgesteuerte Versenden von Nachrichten auf der Ebene von Queues. Bei dem Ausrollen eines Schedule über die Switches in einem Ethernet-Netzwerk besteht die Möglichkeit, Nachrichten einer Klasse zu priorisieren, ohne dass andere Nachrichtenklassen Einfluss darauf nehmen können. Die synchronisierte Zeitbasis stellt dabei sicher, dass die Endknoten und Switches ihre Schedules koordiniert abarbeiten.
Der Time-Aware-Shaping-Ansatz definiert Intervalle, in denen die Queues am Egress-Port geöffnet oder geschlossen werden. Das Zeitverhalten der Frames ist demnach präzise wie der vorgegebene Schedule, nach dem die Queues das Gate öffnen und wieder schließen. Der Time-Aware-Shaper kann jedoch die Reihenfolge der Frames einer Egress-Queue nicht beeinflussen. Die Frames am Ausgang werden gemäß der Eingangsreihenfolge gesendet, wenn diese derselben Egress-Queue zugeordnet sind. Die Reihenfolge der Frames ist für alle Ausgangs-Ports eines Switches identisch, da es genau eine Eingangsreihenfolge gibt. Für bestimmte Netzwerke ist dies eine signifikante Einschränkung und kann dazu führen, dass kein Schedule gefunden werden kann.
Time-Triggered Traffic-Shaping
SAE AS6802 erweitert die TSN-Funktionalität mit einem Time-Triggered-Shaper, der die Eingangsreihenfolge von der Ausgangsreihenfolge entkoppelt und somit Re-Ordering von Frames ermöglicht. Um dies zu gewährleisten, steuert der Time-Triggered Shaper das Zeitverhalten der Frames mit einer feineren Granularität als der Time-Aware-Shaper. Bild 3 zeigt ein Blockschaltbild eines Time-Triggered-Shapers. Grundlegend dient abermals eine synchronisierte Uhr dazu, die Liste von zeitlichen Events Schritt für Schritt abzuarbeiten. Beim Time-Triggered-Shaper sind eben diese Events einzelnen Frames zugeordnet (per-Flow), sodass diese Events die Switching-Fabric zu bestimmten Zeitpunkten steuern, um die Frames individuell in die Ausgangs-Queues weiterzuleiten.
Ein Beispielszenario einer per-flow-basierten Übertragung ist in Bild 4 dargestellt. Darin empfängt der Switch SW2 den Frame f1[SW1,SW2] vor f2[EN2,SW2]. SW2 leitet den Frame nicht umgehend an den Ausgangsport weiter, sondern erst wenn der Sendezeitpunkt – wie im Schedule festgelegt – gekommen ist. In diesem Beispiel ist der Switch konfiguriert f2[EN2,SW2] vor f1[SW1,SW2] zu senden, dargestellt am Ausgang [SW2,SW3].out/5.
Ein Time-Aware-Shaper kann unter bestimmten Konfigurationsszenarien vergleichbare Ergebnisse wie ein Time-Triggered-Shaper erzielen. Dies wäre der Fall, wenn zum Beispiel ein einziger Frame jeweils einer exklusiven Egress-Queue zugewiesen wird; ein Schedule-Event per-queue wäre somit zu einem Schedule-Event per-Flow äquivalent. Eine solche Konfiguration ist an sich sehr ineffizient, und folglich ist eine Implementierung eines Time-Triggered-Shapers für zeitgesteuerte und zugleich flow-basierte Kommunikation vorzuziehen.
Evaluierungsplattform
DE-Switches (DE: Deterministic Ethernet) von TTTech implementieren AVB, TSN und SAE AS6802. Mit dem DE-Switch Hermes 3/1 BRR stellt TTTech ein auf Autosar basierendes Steuergerät mit integriertem Ethernet-Switch vor, um die Möglichkeiten, die deterministische Ethernet-Netzwerke bieten, schnell und einfach zu evaluieren. Der Hermes-Switch unterstützt Time-Based-Shapers sowohl per-queue als auch per-flow. Als Grundlage für die Schedule-Abarbeitung lassen sich unterschiedliche Synchronisierungsmechanismen heranziehen; dies sind im Detail IEEE 1588, IEEE 802.1AS oder SAE AS6802. Der DE-Switch Hermes erlaubt es, zeitgesteuerte Netzwerke mit Credit-Based-Shaper sowie Policing-Funktionen in Kombination mit Broadr-Reach-PHYs aufzubauen und somit Guarantee-of-Service praktisch zu erproben.
(av)