Dipl.-Ing. Andreas Dreher leitet bei Hirschmann Electronics die Entwicklung des Geschäftsbereichs Automation and Network Solutions und ist Mitglied der IAONA Joint Technical Working Group Hard Real-Time
Dipl.-Ing. Ralf Messerschmidt ist Projektleiter im Institut für Arbeitswissenschaften, Fabrikautomatisierung und Fabrikbetrieb der Otto-von- Guericke-Universität,Magdeburg und Mitglied der IAONA Joint Technical Working Group Hard Real-Time
Eine durchgehende und einheitliche Vernetzung auf allen Unternehmensebenen durch den Einsatz von Ethernet bietet die Vorteile des unternehmensweiten Zugriffs auf alle relevanten Informationen und einheitlicher, standardisierter Schnittstellen.Während heute im Bereich der Leitebene Ethernet bereits große Akzeptanz gefunden hat, herrscht im Bereich der Feldebene oft noch eine gewisse Skepsis, ob mit Ethernet das im Prozess geforderte deterministische Verhalten gewährleistet werden kann.
Was ist Echtzeit?
Kann ein System unter allen Betriebsbedingungen richtig und rechtzeitig auf alle auftretenden Ereignisse reagieren, ist es echtzeitfähig. Erfüllt also ein Kommunikationssystem die zeitlichen Forderungen einer konkreten Anwendung, so ist es - bezogen auf diese Anwendung - echtzeitfähig.Dies kann bedeuten, dass für die Zeit zwischen zwei Ereignissen eine bestimmte Maximalzeit nicht überschritten werden darf. Oftmals bedeutet es jedoch auch, dass Aktionen zu genau einer bestimmten, vorgegebenen Zeit durchzuführen sind. Für den ersten Fall ist Ethernet bis zu bestimmten Grenzen absolut geeignet. Der zweite Fall kann mit Ethernet i. a. nicht garantiert werden, da es prinzipbedingt immer einen gewissen Jitter in der Übertragungsdauer aufgrund von nicht exakt vorhersehbaren Wartezeiten in Paketwarteschlangen geben kann. Allerdings kann dieser Fall durch Kombination von garan- tierten maximalen Übertragungszeiten und einem entsprechend genauen Zeitsynchronisations- Mechanismus erfüllt werden. Solche Synchronisationsalgorithmen, die eine Synchronisationsgenauigkeit von weit unter einer Mikrosekunde erreichen sollen, werden beispielsweise von der IEEE Arbeitsgruppe 1588 entwickelt. Im folgenden soll aufgezeigt werden, dass Ethernet bereits heute die Garantie einer maximalen Laufzeit erfüllen kann.
TCP oder UDP
TCP (Transmission Control Protocol) als Schicht-4-Protokoll stellt ein verbindungsorientiertes Protokoll dar, bei dem zu Beginn der Kommunikation eine virtuelle Verbindung aufgebaut und nach Beendigung wieder abgebaut wird. Dadurch können sowohl Datenverluste erkannt und Daten automatisch erneut angefordert werden (Re-Transmission), als auch die richtige Reihenfolge der übertragenen Daten überwacht werden. Demgegenüber arbeitet UDP (User Datagram Protocol) verbindungslos. Es werden also in sich völlig unabhängige Datenpakete gesendet. Für Echtzeitanwendungen wird meist UDP als Schicht-4- Protokoll verwendet, da Re-Transmission und Echtzeitfähigkeit sich widersprechende Anforderungen sind.
Engpass Protokollstack
Die Engpässe bei der Datenübertragung liegen in den meisten Fällen nicht in der verwendeten Netzinfrastruktur, sondern bei den Stacks, die meist Bestandteil der verwendeten Echtzeitbetriebssysteme sind. Untersuchungen an typischen Echtzeitbetriebssystemen haben gezeigt, dass Stacks, wie sie heute verwendet werden, relativ hohe Durchlaufzeiten aufweisen. Messungen an 400-MHz-Pentium-Systemen ergaben z.B. Zeiten um 200 µs mit einem Jitter von unter 10 µs. Bei anderen Systemen wurden Laufzeiten mit Schwankungen bis zum Fünffachen dieser Zeit gemessen. Hier lassen sich demnach keine klaren Richtwerte über das Zeitverhalten angeben. Natürlich gilt: je leistungsfähiger die CPU und je geringer die CPU-Auslastung, desto kürzer die Zeiten. Im konkreten Fall sollten vom Hersteller des verwendeten Betriebssystems klare Aussagen über das Zeitverhalten des Stacks angefordert werden.
Netzwerkaspekte
Ursprünglich basierte Ethernet auf dem CSMA/CD-Verfahren (Carrier Sense Multiple Access / Collision Detection). Hierbei beobachtet ein sendewilliger Teilnehmer das Netz, und beginnt zu senden, wenn das Netz frei ist. Wie in Abb. 2 (Kollision im klassischen Ethernet) dargestellt, kann es vorkommen, dass mehrere Teilnehmer gleichzeitig zu senden beginnen, weil alle das Netz als frei betrachten. Diese Kollision wird erkannt, alle Teilnehmer brechen ihre Sendung ab und beginnen nach einer zufallsgesteuerten Zeit erneut einem Sendeversuch. Damit kann eine erneute Kollision mit hoher Wahrscheinlichkeit vermieden werden. Dieses Zugriffsverfahren ist per Prinzip nicht deterministisch, da für die Zugriffsmöglichkeiten auf das Netz bestenfalls statistische Aussagen gemacht werden können. Aus diesem Hintergrund heraus hat Ethernet seinen Ruf, nicht für Echtzeitanwendungen geeignet zu sein.
Switching
Heutige Netze auf Ethernet-Basis sind fast ausschließlich auf der Switch-Technologie aufgebaut. Im Gegensatz zu CSMA/CD gibt es kein gemeinsames Medium, welches sich alle Endgeräte teilen müssen. Statt dessen besteht eine dedizierte Vollduplexverbindung von jedem Endgerät zum Ethernet-Switch, so dass jeder Teilnehmer zu jeder Zeit, unabhängig von den Aktivitäten der anderen, seine Daten versenden kann. Kollisionen können dadurch erst gar nicht entstehen. Ankommende Daten werden ganz gezielt nur zum Adressaten vermittelt. Somit kann z. B. ein Teilnehmer A Daten zu B senden, während gleichzeitig C Daten zu D sendet und D Daten zu A (siehe Abb. 3.1). Schwieriger wird es, wenn z.B. Teilnehmer A Daten zu B schickt, und gleichzeitig auch C Daten an B (siehe Abb. 3.2). In dieser Situation werden die Daten im Switch zwischengespeichert, und nacheinander weitervermittelt. Dadurch können sich Warteschlangen bilden, in die ankommende Datenpakete eingereiht und nacheinander abgearbeitet werden. Da bei harten Echtzeitanforderungen die zu übertragenden Datenmengen klar definiert und die Anzahl der Teilnehmer genau limitiert ist, kann unter Berücksichtigung der Übertragungsrate des Netzes exakt die maximale Wartezeit des Netzes berechnet werden.
Priorisierung nach IEEE 802.1p
Eine Neuerung, die Ethernet seit wenigen Jahren bietet, ist der Priorisierungsmechanismus, der in der Arbeitsgruppe 802.1p definiert wurde. Dabei wird jedem Datenpaket eine Prioritätskennung innerhalb eines sogenannten Tag-Feldes mitgegeben. Einige der heute üblichen Ethernet-Switches unterstützen bereits diese Funktion und können meist zwei oder vier unterschiedliche Prioritätsstufen unterscheiden. Ein solcher Switch hat pro Sendeport für jede unterstützte Prioritätsstufe eine separate Warteschlange. Gesendet werden immer erst die Datenpakete aus der höher priorisierten Warteschlange.
Ethernet, Fast Ethernet, Gigabit Ethernet
Während Ethernet ursprünglich mit einer Datenrate von 10 Mbit/s definiert war, gibt es seit 1995 einen Standard für 100 Mbit/s (Fast Ethernet), und seit 1998 einen Standard für 1000 Mbit/s (Gigabit-Ethernet). Heute können viele Ethernet-Endgeräte sowohl 10 als auch 100 Mbit/s unterstützen. Für Backbone- Anwendungen hat sich in vielen Fällen bereits Gigabit-Ethernet etabliert. Mittlerweile arbeitet das IEEE Gremium 802.3 am 10-Gigabit- Ethernet. Mit jeder Verzehnfachung der Übertragungsgeschwindigkeit reduziert sich die Übertragungszeit, die ein einzelnes Paket benötigt, um den Faktor 10. Während bei 10 Mbit/s ein Paket der maximalen Ethernetgröße von 1522 Byte noch eine Zeit von 1,2 ms beansprucht, sind dies bei Fast Ethernet noch 120 µs, und bei Gigabit- Ethernet nur noch 12 µs.
Echtzeitverhalten durch Segmentierung
Neben Daten von Maschinensteuerungen, für deren Kommunikation Echtzeitfähigkeit benötigt wird, sollen innerhalb eines Netzverbundes eines Unternehmens noch beliebig weitere Gerätedaten mit unterschiedlichsten Lastprofilen und Eigenschaften übertragen werden, so z.B. Visualisierungsdaten, Software-Updates, EMail- Verkehr, Office-Anwendungen, Internet- Datenverkehr usw.. Dazu ist sorgfältige Planung des Netzwerkes, die eine Segmentierung von Netzteilen mit Echtzeitverhalten beinhaltet, notwendig. Die Endgeräte, die Echtzeitverhalten benötigen, sollten über so wenig wie möglich Switches geführt werden. Je größer die Anzahl der Switches, die zwischen den Endgeräten durchlaufen werden müssen, desto größer ist zwangsläufig die ‚Worst-Case‘-Durchlauf- bzw.Wartezeit. Weiterhin sollte es von einem Echtzeitsegment eine genau definierte Schnittstelle zum Restnetz geben. Da der Datenverkehr aus dem Gesamtnetz jedes beliebige Lastprofil annehmen kann, muss dieser beim Eintritt in den Echtzeitbereich kontrolliert werden. Um den Switch des Echtzeitsegmentes nicht zu überlasten, muss der Datenverkehr in der Menge begrenzt werden. Am einfachsten wird dies erreicht, indem die Verbindung nach außen auf 10 Mbit/s fest konfiguriert wird, während alle Teilnehmer innerhalb der Echtzeitzelle mit 100 Mbit/s arbeiten.
Problemfeld Broadcasts
Ein weiterer Grund für Überlastungen kann die Menge der Broadcast-Pakete im Netz sein. Einerseits belasten Broadcasts jedes Endgerät, da es sich alle diese Pakete ansehen muss, andererseits stellen Broadcasts für manche Switches (abhängig von ihrer Architektur und internen Arbeitsweise) eine zusätzliche Belastung dar, da diese Broadcast-Pakete an jeden Ausgangsport vervielfacht werden müssen. Als Abhilfe bieten einige Switches eine sogenannte Broadcast-Limiter- Funktion an, mit der die Menge der Broadcasts auf eine maximale Anzahl pro Sekunde eingestellt werden kann.
Sinnvolle Nutzung von Priorisierung
Ein dritter Grund von möglichen Störungen von außen liegt in der Verwendung von prioritätsgekennzeichneten Paketen. Zwar stellt die Priorisierung innerhalb der Echtzeitzelle sicher, dass der zyklische Datenverkehr vor niederpriorisiertem Verkehr geschützt wird, aber es ist ja denkbar, dass Verkehr mit der selben hohen Prioritätskennzeichnung aus dem Restnetz in die Echtzeitzelle eingespeist wird. Um dies zu vermeiden, bieten manche Switches die Möglichkeit, die Priorisierung des Datenverkehrs von bestimmten Ports manuell einzustellen. Stellt man nun den Port mit dem Zugang zum Restnetz auf geringe Priorität ein, so wird sichergestellt, dass dieser Datenverkehr den zyklischen Datenverkehr nicht stören kann.
Ausblick
Mittlerweile gibt es Betriebssystem- und Netzwerkstack- Hersteller, die ihre Produkte bezüglich des Netzwerk- Zeitverhaltens deutlich verbessert haben. Während bislang bei vielen bekannten Echtzeitbetriebssystemen die Protokollstacks bezüglich ihrer Echtzeitfähigkeit recht stiefmütterlich behandelt wurden, wird das Thema von einigen, wenn auch leider nicht von allen Herstellen adressiert. Hier kann nur der kontinuierliche Druck der Anwender auf die Hersteller weiterhelfen.
Protokollstacks in Hardware
Durch in Hardware realisierte Protokollstacks wird die Netzwerk-Protokollsoftware komplett aus der CPU ausgelagert und durch einen separaten Chip realisiert, der zwischen CPU und Ethernet-Chip angeordnet ist. Dadurch wird der Durchlauf der Schichten 3 und 4 gegenüber jeder Software- Implementierung deutlich beschleunigt und völlig unabhängig von allen anderen Vorgängen.
Gigabit Ethernet
Auf der Netzwerkseite wird eine weitere Größenordnung gewonnen, wenn die Endgeräte mit Gigabit-Ethernet kommunizieren. Auch wenn heute Gigabit-Ethernet aufgrund des wesentlich höheren Preises nur den Backbones und eventuell großen Serversystemen vorbehalten ist, wird der Fortschritt in der Halbleitertechnik dafür sorgen, dass die Kosten in den nächsten Jahren dramatisch reduziert werden. Darüber hinaus werden auch Funktionen wie Priorisierung, Rate Limiting (Begrenzung der Datenrate) und Rate Shaping (Glättung des Lastprofils), die heute nur eingeschränkt vorhanden sind, steigende Verbreitung finden.
Fazit
Soll Ethernet in Echtzeitapplikationen eingesetzt werden, so liegen die Engpässe derzeit eher bei den Protokollstacks als beim Netzwerk selbst. Zukünftig ist mit wesentlichen Verbesserungen zu rechnen, einerseits durch Stacks, die hinsichtlich Durchlaufzeit und Jitter verbessert werden, als auch durch unabhängig von allen Softwarestrukturen und -abläufen funktionierende Hardware - TCP/IP- bzw. UDP/IP Stacks. Durch konsequente Nutzung von Ethernet- Switches zur Kollisionsvermeidung, Verwendung der Priorisierung nach Standard IEEE 802.1p, sowie sorgfältige Planung der Netzinfrastruktur ist bereits heute ein definiertes Echtzeitverhalten erreichbar. Zukünftig werden durch Gigabit-Ethernet die Laufzeiten nochmals um den Faktor 10 reduziert.
IAONA Arbeitsgruppe Hard Real-Time
Die IAONA Joint technical working group Hard Real-Time untersucht neben der Echtzeitfähigkeit von kommerziell erhältlichen Ethernet-Komponenten, inklusive der Einflüsse durch gängige TCP/IP-Protokollstacks, auch neue Ansätze für ein weiter verbessertes Echtzeitverhalten. So wird im Rahmen des DEFIA-Projekts (Deterministic Ethernet for Industrial Applications) die Idee verfolgt, einen TCP/UDP/IP-Stack mit TDM-Methoden (Time-Division Multiplex) zu kombinieren.
Abb. 1: Kollisionsvermeidung durch Verwendung eines Switch Abb. 2: Kollision im klassischen Ethernet Abb. 3:Warteschlangeneffekt Abb. 4:Netzsegmentierung Abb. 5: Priorisierungstag nach IEEE 802.1p |
| |
|
 |
|