DEENESPTFRRUARHIKOZHNL
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) vom TcpIp-Stack an den LSduR zum Weiterleiten an die untere Schicht.
  • EthIf_Transmit(): Übergibt den Rahmen von LSduR an 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 von EthIf an den LSduR.
  • TcpIp_TxConfirmation(): Weiterleitung der Sende-Bestätigung von LSduR an das TcpIp-Modul.
  • EthIf_MainFunctionRx(): Zyklisches Polling zur Abholung empfangener Frames aus dem MAC-Treiber.
  • LSduR_EthIfRxIndication(): Übergabe empfangener Netzwerkdaten von EthIf an den LSduR.
  • TcpIp_RxIndication(): Weiterleitung der empfangenen Netzwerkdaten von LSduR an das TcpIp-Modul zur Protokollverarbeitung.
  • SoAd_TcpConnected(SoHandle): Asynchroner Callback von TcpIp an SoAd zur 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)
  1. Socket-Allokation: SoAd ruft synchron TcpIp_SoAdGetSocket() auf. TcpIp allokiert und initialisiert intern die Socket-Ressource (Allocate/Initialize socket resource).
  2. Lokale Bindung (Fragment opt): Falls konfiguriert oder erforderlich, bindet SoAd den Socket via TcpIp_Bind() synchron an lokale Adress- und Port-Ressourcen.
Verbindungsaufbau & 3-Way-Handshake (opt TCP socket)
  1. Verbindungsanforderung: SoAd initiiert den Verbindungsaufbau asynchron über TcpIp_TcpConnect().
  2. SYN-Übertragung:
    • Im Kontext von TcpIp_MainFunction() generiert TcpIp das SYN-Segment (Send SYN frame) und ruft LSduR_TcpIpTransmit() auf.
    • LSduR leitet den Rahmen via EthIf_Transmit() an EthIf weiter.
    • Die Sendeabwicklung erfolgt über die zyklische Task EthIf_MainFunctionTx().
    • EthIf meldet den erfolgreichen Versand über LSduR_EthIfTxConfirmation() an LSduR, welcher die Bestätigung über TcpIp_TxConfirmation() an TcpIp übergibt.
  3. SYN-ACK-Empfang:
    • EthIf empfängt das Antwortpaket im Rahmen von EthIf_MainFunctionRx().
    • EthIf reicht die Daten über LSduR_EthIfRxIndication() an LSduR weiter.
    • LSduR leitet die Daten via TcpIp_RxIndication() an TcpIp weiter (Receive SYN ACK frame).
  4. ACK-Übertragung (Abschluss des Handshakes):
    • In der nachfolgenden Ausführung von TcpIp_MainFunction() erzeugt TcpIp das finale Bestätigungssegment (Send ACK frame to finish 3-way handshake) und übergibt es via LSduR_TcpIpTransmit() an LSduR.
    • LSduR ruft EthIf_Transmit() auf EthIf auf.
    • EthIf wickelt die Übertragung in EthIf_MainFunctionTx() ab und bestätigt dies über LSduR_EthIfTxConfirmation() an LSduR.
    • LSduR leitet die Tx-Bestätigung via TcpIp_TxConfirmation() an TcpIp weiter.
  5. Verbindungsbestätigung:
    • Nach erfolgreichem Abschluss des 3-Way-Handshakes informiert TcpIp die Oberschicht SoAd über SoAd_TcpConnected(SoHandle).

4. Normative Relevanz & Entwickler-Hinweise

  • Entkopplung über Routing-Schicht: Die Kommunikation zwischen TcpIp und EthIf erfolgt vollständig über das Zwischenmodul LSduR. 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() und TcpIp_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 sowie EthIf_MainFunctionRx() für die Paketannahme aus dem Controller.
  • Socket-Referenzierung: Der erfolgreiche Verbindungsaufbau wird der Oberschicht unter Referenzierung des Socket-Handles (SoHandle) gemeldet.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R23-11 → R24-11 normative Änderung Vorgänger: FIG-d37285cfa483586b
  • Architektur / Module: Modul LSduR («module») zwischen :TcpIp und :EthIf eingefügt.
  • Pufferallokation (EthIf_ProvideTxBuffer): Entfällt vollständig.
  • Sendepfad (SYN- und ACK-Segmente): TcpIp ruft nun LSduR_TcpIpTransmit() auf LSduR auf; LSduR leitet den Rahmen via EthIf_Transmit() an EthIf weiter.
  • Sendebestätigung (Tx Confirmation): Neu eingeführt; nach EthIf_MainFunctionTx() meldet EthIf den Versand via LSduR_EthIfTxConfirmation() an LSduR, welches TcpIp_TxConfirmation() an TcpIp aufruft.
  • Empfangspfad (SYN-ACK-Segment): EthIf übergibt empfangene Daten via LSduR_EthIfRxIndication() an LSduR, welches TcpIp_RxIndication() an TcpIp aufruft.
  • Schnittstellensignaturen: Aufrufe TcpIp_SoAdGetSocket, TcpIp_Bind, TcpIp_TcpConnect, EthIf_Transmit und TcpIp_RxIndication ohne Typ- und Parameterdeklarationen dargestellt.
  • Callback SoAd_TcpConnected: Parameter von TcpIp_SocketIdType auf SoHandle geändert (SoAd_TcpConnected(SoHandle)).
R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-60bb037e05bc1683

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | :TcpIp | «module» | :EthIf | loop each socket connection configured as 'client' connection | «module» | :SoAd | opt TCP socket | opt | «module» | LSduR |          |             |            |               |  |    |     |  |     |    | LSduR_EthIfTxConfirmation() | TcpIp_TcpConnect() | EthIf_Transmit() | TcpIp_Bind() | EthIf_MainFunctionTx() | TcpIp_SoAdGetSocket() | EthIf_MainFunctionRx() | LSduR_TcpIpTransmit() | TcpIp_TxConfirmation() | LSduR_EthIfTxConfirmation() | EthIf_MainFunctionTx() | TcpIp_TxConfirmation() SoAd_TcpConnected(SoHandle) | LSduR_TcpIpTransmit() | TcpIp_RxIndication() | LSduR_EthIfRxIndication() | EthIf_Transmit() | TcpIp_MainFunction() | TcpIp_MainFunction()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_TcpIp S. 131 9.1 Figure 9.1: TcpIp TCP connection Setup Client