- Veröffentlichen/Abonnieren von benötigten Daten-"Ereignissen"
- Anfrage/Antwort "Methoden mit Rückgabewert"
- Feuer und Flamme für "Methoden ohne Rückgabewert"
Wie es funktioniert
Der Server kann den Dienst anbieten und der/die Client(s) wird/werden die Daten des Dienstes abonnieren, dann wird der Server die Daten nur an die abonnierten Clients senden.
Schließlich werden mehrere Dienste von verschiedenen Steuergeräten angeboten, und jeder Dienst wird von verschiedenen Steuergeräten als Verbraucher der Dienstdaten genutzt/abonniert.
In der klassischen Autosar-Welt geschieht dies mit Hilfe der Module Service Discovery "SD" und Socket Adapter "SoAd".
SD steuert SoAd-Socket-Verbindungen, um sie je nach Server- oder Client-Status zu öffnen und zu schließen.
Wenn der Dienst A vom Server angeboten und vom Client A/B in Anspruch genommen wird, öffnet der SD auf der Serverseite eine Socket-Verbindung, die für den Sendepfad der Dienstdaten zuständig ist, und der SD auf der Clientseite tut dasselbe für den Empfangspfad, so dass die Daten an die oberen Schichten und die Anwendung weitergeleitet werden können, um die Daten zu nutzen.
Dieser effiziente Ansatz ermöglicht die Übertragung und den Empfang nur der benötigten Daten an die relevanten Clients und reduziert so die Netzwerkbandbreite und die Rechenleistung der Steuergeräte.
Sicherheitsanalyse
Das Protokoll ist zwar weit verbreitet und äußerst effizient, doch fehlt ihm ein sehr wichtiger Aspekt der Fahrzeugkommunikation, nämlich die Sicherheit.
Das Protokoll arbeitet derzeit im Klartextmodus, und ihm fehlen sehr wichtige Funktionen wie Authentizität des Absenders, Integrität der Daten und Vertraulichkeit der Daten.
Das Protokoll selbst sieht keine Sicherheitsmaßnahmen vor, erschwert aber durch seine Implementierung auch die Umsetzung anderer Sicherheitsprotokolle.
SD ist ein dezentralisiertes Protokoll, das hauptsächlich das UDP-Protokoll, Multicast und N:M-Kommunikation verwendet, so dass Protokolle wie TLS hier nicht effektiv eingesetzt werden können, da es einen 1:1-Sitzungsaufbau über TCP benötigt.
Jeder, der Zugang zum Ethernet-Netzwerk hat und über die richtigen Werkzeuge verfügt, kann den Bus ausspionieren, um zu verstehen, welche SD-Dienste im Auto laufen, und dann damit beginnen, Pakete in dasselbe oder ein anderes Auto desselben Modells einzuspeisen.
Verfügbarer Workaround, der den Datendurchsatz beeinträchtigt
Bei der Datenübertragung über TCP muss der anfragende Client eine Verbindung mit dem Server herstellen. In diesem Fall kann TLS verwendet werden, allerdings verringert sich der Datendurchsatz, da der Server alle Clients manuell ansprechen muss, um die Daten zu senden.