Lasttests bei Industrial Ethernet

Mit Version 2.3 der Profinet-Spezifikation wird das Bestehen von Lasttests zur Erlangung einer Zertifizierung benötigt. Haben Embedded-MCUs eine Chance, diese Tests zu bestehen? Ja, wenn Stack- und MCU-Hersteller ihre Hausaufgaben gemacht haben, wie anhand des Renesas RX63N und des Profinet-Stack von Port gezeigt wird.

Die Anforderungen an Rechenleistung und Implementierungsaufwand sind mit dem Einzug von Industrial Ethernet in die Automatisierungswelt zweifellos gewachsen. Während für einfache CANopen-Geräte noch ein 8-bit-Prozessor genügte, dürfte dies wohl für Protokolle wie Profinet als unmöglich gelten.

Mitverantwortlich dafür sind die größeren möglichen Datenmengen und die Vielseitigkeit der Dienste, die neben den eigentlichen Industrial-Ethernet-Protokollen von Ethernet und den umfangreichen IP-basierten Protokollen angeboten werden. Umso wichtiger ist es, diese Lasten neben der normalen Steuerungs-Kommunikation zu prüfen.

Arten von Netzwerk-Verkehr

Um die Testfälle von Lasttests besser verstehen zu können, sollte man sich zuerst überlegen, welche Arten Netzwerkverkehr es in welchen (Fehler-) ­Situationen geben kann.

Bei Undirected Traffic handelt es sich um Datenverkehr, der eigentlich nicht für das zu testende Gerät bestimmt ist. Hierbei kann es sich um Broadcast (alle Teilnehmer), Multicast (einige Teilnehmer) oder Unicast Frames handeln. Broadcast und Multicast Frames werden im Netzwerk auf Ethernet-Ebene geflutet und sind somit jederzeit in einem Ethernet-Netzwerk möglich.

Wie kann es jedoch zu Undirected Traffic von Unicast Frames kommen? Dies wird in der Regel im Fehlerfall passieren. Ein Ethernet Switch arbeitet normalerweise mit einer internen Adresstabelle. Empfängt der Switch einen Frame mit einer ihm unbekannten MAC-Quelladresse, so trägt er den Port, an dem der Frame empfangen wurde, in die Adresstabelle ein. Dieses „Address Learning“ erlaubt dem Switch, Unicast Frames direkt in Richtung Ziel weiterzuleiten und nicht wie bei Broadcast-Nachrichten an alle Ports zu fluten. Ist die Adresstabelle jedoch vollständig gefüllt, verfällt der Switch bei weiteren gelernten Adressen in einen Fail-Safe Mode: Die Frames werden ähnlich wie bei einem Hub an alle Ports weitergeleitet. Dieses Verhalten wird gezielt beim sogenannten MAC Flooding (auch Switch Jamming genannt) ausgenutzt. Der Angreifer schleust gezielt Unmengen von Ethernet Frames mit gefälschten Quelladressen ein, bis die Adresstabelle des Switch überfüllt ist. Dazu genügt ein freier Ethernet-Port an einem Switch. Ziel des Angreifers ist es entweder, gezielt Überlast zu erzeugen oder Netzwerk-Informationen mitzulesen.

Bei Directed Traffic handelt es sich um Daten, die tatsächlich für das Gerät bestimmt sind und nicht wie bei Undirected Traffic irrtümlich an das Gerät weitergeleitet wurden. Diese Daten können per Unicast, Broadcast oder Multicast versendet werden. Bei diesem Traffic kann es sich sowohl um Daten der Profinet-Verbindung handeln als auch um Daten anderer Dienste, wie zum Beispiel eines auf dem Gerät laufenden HTTP-Server. Hinzu kommen noch Daten allgemein verwendeter Protokolle wie ARP.

Diese Daten können nun nochmals in die Kriterien Echtzeit (RT) und Nicht-Echtzeit (NRT) unterteilt werden. Unter RT Traffic fällt alles, was mit der zyklischen Kommunikation zusammenhängt. Zum NRT Traffic zählen sowohl Daten des Profinet-Protokolls selbst als auch sonstige Ethernet Frames (z.B. IP Traffic).