AUTOSAR_CP_SWS_TcpIp
FIG-0c0bf4aa84ce2a08
704 × 957 px
1 Release(s)
Figure 9.1: TcpIp TCP connection Setup Client
SHA-256 Inhalts-Fingerabdruck:
0c0bf4aa84ce2a08c99645ad9af10cc41e4d75fed8b4a6d01bfdbd24c44b7759
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Diagrammtyp: UML 2.x Sequenzdiagramm (Interaktionsdiagramm) mit kombinierten Fragmenten (
loop,opt). - Architektur-Kontext: AUTOSAR Classic Platform (CP), Communication Stack (Ethernet / TCP/IP), Release R24-11.
- Technischer Zweck: Spezifikation des sequenziellen Verbindungsaufbaus eines TCP-Clients (Active Open, 3-Way-Handshake gem. RFC 793 / RFC 9293) initiiert durch den Socket Adaptor (
SoAd) über den TCP/IP-Stack (TcpIp) und den Large SDU Router (LSduR) bis zum Ethernet Interface (EthIf) inklusive asynchroner Benachrichtigung der Oberschicht.
2. Komponenten, Entitäten & Schnittstellen
Module («module»)
:SoAd(Socket Adaptor): BSW Upper Layer. Verwaltet Socket-Verbindungen, mappt PDUs auf IP-Sockets und initiiert Client-Verbindungen anhand der Konfiguration.:TcpIp(TCP/IP Stack): BSW Transport- und Netzwerkschicht. Verwaltet Socket-Ressourcen (TCBs), steuert TCP-Zustandsübergänge, generiert Protokoll-Header und wickelt den 3-Way-Handshake ab.LSduR(Large SDU Router): BSW Vermittlungs- und Routing-Modul für große SDUs zwischen Transportprotokollen (TcpIp) und Ethernet-Interface (EthIf). Leitet Sendeaufrufe weiter, verteilt Empfangsdaten und bestätigt Übertragungen.:EthIf(Ethernet Interface): BSW Hardware Abstraction Layer. Kapselt Ethernet-Controller und -Transceiver, übernimmt Rahmenübertragung (EthIf_Transmit), zyklische Sendeabwicklung (EthIf_MainFunctionTx) und zyklischen Empfang (EthIf_MainFunctionRx).
Schnittstellen
TcpIp_SoAdGetSocket(): Allokiert Socket-Ressourcen im TcpIp-Modul für den Client-Socket.TcpIp_Bind(): Bindet den Socket optional an eine spezifische lokale IP-Adresse und einen Quellport.TcpIp_TcpConnect(): Asynchroner Aufruf zum Starten des TCP-Verbindungsaufbaus zum Remote-Endpunkt.TcpIp_MainFunction(): Zyklischer Task-Entry des TCP/IP-Stacks zur Abarbeitung interner Timer, Generierung von Kontrollsegmenten (SYN, ACK) und Steuerung des Verbindungszustandsautomaten.LSduR_TcpIpTransmit(): Übergabe ausgehender Protokoll-SDUs (SYN, ACK) vomTcpIp-Stack an denLSduRzum Weiterleiten an die untere Schicht.EthIf_Transmit(): Übergibt den Rahmen vonLSduRan das Ethernet Interface zum Versand.EthIf_MainFunctionTx(): Zyklische Hauptfunktion des Ethernet Interfaces zur Abwicklung ausgehender Sendeprozesse und Triggern von Tx-Bestätigungen.LSduR_EthIfTxConfirmation(): Bestätigung des erfolgreichen Rahmenversands vonEthIfan denLSduR.TcpIp_TxConfirmation(): Weiterleitung der Sende-Bestätigung vonLSduRan dasTcpIp-Modul.EthIf_MainFunctionRx(): Zyklisches Polling zur Abholung empfangener Frames aus dem MAC-Treiber.LSduR_EthIfRxIndication(): Übergabe empfangener Netzwerkdaten vonEthIfan denLSduR.TcpIp_RxIndication(): Weiterleitung der empfangenen Netzwerkdaten vonLSduRan dasTcpIp-Modul zur Protokollverarbeitung.SoAd_TcpConnected(SoHandle): Asynchroner Callback vonTcpIpanSoAdzur Signalisierung, dass der 3-Way-Handshake erfolgreich abgeschlossen wurde und die Verbindung besteht.
3. Dynamisches Verhalten & Sequenzablauf
Initialisierung & Socket-Reservierung (loop each socket connection configured as 'client' connection)
- Socket-Allokation:
SoAdruft synchronTcpIp_SoAdGetSocket()auf.TcpIpallokiert und initialisiert intern die Socket-Ressource (Allocate/Initialize socket resource). - Lokale Bindung (Fragment
opt): Falls konfiguriert oder erforderlich, bindetSoAdden Socket viaTcpIp_Bind()synchron an lokale Adress- und Port-Ressourcen.
Verbindungsaufbau & 3-Way-Handshake (opt TCP socket)
- Verbindungsanforderung:
SoAdinitiiert den Verbindungsaufbau asynchron überTcpIp_TcpConnect(). - SYN-Übertragung:
- Im Kontext von
TcpIp_MainFunction()generiertTcpIpdas SYN-Segment (Send SYN frame) und ruftLSduR_TcpIpTransmit()auf. LSduRleitet den Rahmen viaEthIf_Transmit()anEthIfweiter.- Die Sendeabwicklung erfolgt über die zyklische Task
EthIf_MainFunctionTx(). EthIfmeldet den erfolgreichen Versand überLSduR_EthIfTxConfirmation()anLSduR, welcher die Bestätigung überTcpIp_TxConfirmation()anTcpIpübergibt.
- Im Kontext von
- SYN-ACK-Empfang:
EthIfempfängt das Antwortpaket im Rahmen vonEthIf_MainFunctionRx().EthIfreicht die Daten überLSduR_EthIfRxIndication()anLSduRweiter.LSduRleitet die Daten viaTcpIp_RxIndication()anTcpIpweiter (Receive SYN ACK frame).
- ACK-Übertragung (Abschluss des Handshakes):
- In der nachfolgenden Ausführung von
TcpIp_MainFunction()erzeugtTcpIpdas finale Bestätigungssegment (Send ACK frame to finish 3-way handshake) und übergibt es viaLSduR_TcpIpTransmit()anLSduR. LSduRruftEthIf_Transmit()aufEthIfauf.EthIfwickelt die Übertragung inEthIf_MainFunctionTx()ab und bestätigt dies überLSduR_EthIfTxConfirmation()anLSduR.LSduRleitet die Tx-Bestätigung viaTcpIp_TxConfirmation()anTcpIpweiter.
- In der nachfolgenden Ausführung von
- Verbindungsbestätigung:
- Nach erfolgreichem Abschluss des 3-Way-Handshakes informiert
TcpIpdie OberschichtSoAdüberSoAd_TcpConnected(SoHandle).
- Nach erfolgreichem Abschluss des 3-Way-Handshakes informiert
4. Normative Relevanz & Entwickler-Hinweise
- Entkopplung über Routing-Schicht: Die Kommunikation zwischen
TcpIpundEthIferfolgt vollständig über das ZwischenmodulLSduR. Sende- und Empfangsdatenflüsse werden über standardisierte Schnittstellen (LSduR_TcpIpTransmit,EthIf_Transmit,LSduR_EthIfRxIndication,TcpIp_RxIndication) vermittelt. - Asynchrones Tx-Confirmation-Modell: Das Senden von Segmenten erfordert eine Bestätigungskette über
EthIf_MainFunctionTx(),LSduR_EthIfTxConfirmation()undTcpIp_TxConfirmation(), wodurch die Bestätigung des Rahmenversands an den TCP/IP-Stack transportiert wird. - Zyklische Task-Abarbeitung: Das Protokollverhalten stützt sich auf zyklische Hauptfunktionen:
TcpIp_MainFunction()für TCP-Zustandswechsel und Segmenterzeugung,EthIf_MainFunctionTx()für den Rahmenversand und Bestätigungstrigger sowieEthIf_MainFunctionRx()für die Paketannahme aus dem Controller. - Socket-Referenzierung: Der erfolgreiche Verbindungsaufbau wird der Oberschicht unter Referenzierung des Socket-Handles (
SoHandle) gemeldet.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.