Zum Hauptinhalt springen

13. Empfohlene Übertragungssteuerblock (TCB) Parameter

Dieses Kapitel definiert die Übertragungssteuerblock (TCB) Parameter, die SCTP-Implementierungen pflegen sollten.

13.1. Für die SCTP-Instanz erforderliche Parameter

13.1.1. Lokale SCTP-Portnummer

Beschreibung: Lokale SCTP-Portnummer zum Empfangen von INIT-Chunks. Typ: 16-Bit unsigned integer Zweck: Identifiziert lokalen SCTP-Endpunkt

13.1.2. Lokale IP-Adressliste

Beschreibung: Liste aller lokalen Endpunkt-IP-Adressen. Typ: Array von IP-Adressen Zweck: Multihoming-Unterstützung, Schnittstellenbindung, Ankündigung in INIT/INIT ACK

13.1.3. SCTP-Protokollversion

Beschreibung: Unterstützte SCTP-Protokollversionsnummer. Aktueller Wert: 1 Zweck: Protokollkompatibilitätsprüfung

13.1.4. Geheimer Schlüssel

Beschreibung: Geheimer Schlüssel zur Generierung von State Cookies. Typ: Byte-Sequenz (empfohlenes Minimum 160 Bits) Zweck: Generieren und verifizieren von HMAC der State Cookies, Fälschungsschutz, sollte periodisch gewechselt werden

13.1.5. Valid.Cookie.Life

Beschreibung: Gültige Lebensdauer des State Cookie. Empfohlener Wert: 60 Sekunden Bereich: 1-60 Sekunden empfohlen Zweck: Verhindert Akzeptanz veralteter Cookies

13.1.6. Association.Max.Retrans

Beschreibung: Maximale Neuübertragungen auf Assoziationsebene. Empfohlener Wert: 10 Versuche Zweck: Assoziation gilt als fehlgeschlagen bei Überschreitung, COMMUNICATION LOST an ULP melden

13.2. Pro Assoziation erforderliche Parameter

13.2.1. Peer Verification Tag

Beschreibung: Vom Peer empfangener Verification Tag. Typ: 32-Bit unsigned integer Quelle: Aus Initiate Tag-Feld in INIT oder INIT ACK Zweck: In jedem ausgehenden SCTP-Paket verwendet, verhindert Paketfälschung

13.2.2. Mein Verification Tag

Beschreibung: Verification Tag des lokalen Endpunkts. Typ: 32-Bit unsigned integer Generierung: Zufällig bei Assoziationserstellung generiert (darf nicht 0 sein) Zweck: An Peer in INIT oder INIT ACK gesendet, validiert empfangene Pakete

13.2.3. Assoziationszustand

Beschreibung: Aktueller Assoziationszustand. Mögliche Werte: CLOSED, COOKIE-WAIT, COOKIE-ECHOED, ESTABLISHED, SHUTDOWN-PENDING, SHUTDOWN-SENT, SHUTDOWN-RECEIVED, SHUTDOWN-ACK-SENT

13.2.4. Peer-Transportadressliste

Beschreibung: Alle Transportadressen des Peer-Endpunkts. Quelle: Aus INIT, INIT ACK oder ASCONF Inhalt pro Adresse: IP-Adresse, SCTP-Port, Zustand (aktiv/inaktiv), Fehlerzähler

13.2.5. Primärer Pfad

Beschreibung: Primäre Zieladresse für Datenübertragung. Typ: Zeiger auf Adresse in Peer-Transportadressliste Zweck: Standard-Datenübertragungspfad, änderbar via SET PRIMARY

13.2.6. Gesamtfehlerzähler

Beschreibung: Gesamtfehlerzähler auf Assoziationsebene. Typ: Ganzzahl-Zähler Zweck: Verfolgt kumulative Assoziationsfehler, Assoziation fehlgeschlagen wenn Association.Max.Retrans überschritten

13.2.7. Gesamtfehlerschwelle

Beschreibung: Gesamtfehlerschwelle für Assoziationsausfall. Empfohlener Wert: Gleich Association.Max.Retrans Zweck: Bestimmt Assoziationsausfall

13.2.8. Peer Rwnd

Beschreibung: Empfangsfenstergröße des Peers. Typ: 32-Bit unsigned integer Quelle: Aus INIT ACK, SACK oder Fensteraktualisierung Zweck: Flusskontrolle, verhindert Empfangspufferüberlauf

13.2.9. Nächster TSN

Beschreibung: TSN zur Zuweisung an nächste Benutzernachricht. Typ: 32-Bit unsigned integer Anfangswert: Beginnt bei Initial TSN Zweck: Weist jedem DATA-Chunk eindeutigen TSN zu, monoton steigend (wickelt auf 0 um)

13.2.10. Kumulativer TSN-Bestätigungspunkt

Beschreibung: Höchster kumulativer vom Peer bestätigter TSN. Typ: 32-Bit unsigned integer Aktualisiert aus: Cumulative TSN Ack-Feld in SACK Zweck: Bestimmt bestätigte Daten, gibt Sendepuffer frei

13.2.11. Ausgehende Streams

Beschreibung: Anzahl ausgehender Streams, die dieser Endpunkt nutzen kann. Typ: 16-Bit unsigned integer Ausgehandelt: Bei Assoziationserstellung (Minimum beider Seitenanforderungen) Zweck: Multi-Stream-Unterstützung, Stream-ID-Bereich: 0 bis (Ausgehende Streams - 1)

13.2.12. Eingehende Streams

Beschreibung: Anzahl eingehender Streams, die Peer nutzen kann. Typ: 16-Bit unsigned integer Ausgehandelt: Bei Assoziationserstellung Zweck: Validiert empfangene Stream-IDs, muss < Eingehende Streams sein

13.2.13. Neuordnungswarteschlange

Beschreibung: Speichert empfangene DATA-Chunks, die noch nicht in Reihenfolge zugestellt wurden. Datenstruktur: Nach TSN sortierte Warteschlange Zweck: Behandelt Empfang außer der Reihenfolge, Zustellung in Reihenfolge an obere Schicht

13.2.14. Lokale Transportadressliste

Beschreibung: Von dieser Assoziation verwendete lokale Transportadressen. Typ: Liste von IP-Adressen Zweck: Multihoming-Unterstützung, Schnittstellenbindung

13.3. Daten pro Transportadresse

Für jede Peer-Transportadresse muss SCTP-Endpunkt pflegen:

13.3.1. Fehlerzähler

Beschreibung: Aufeinanderfolgende Übertragungsfehler für diese Adresse. Typ: Ganzzahl-Zähler Zweck: Pfadfehlererkennun, Pfad als inaktiv markieren wenn Path.Max.Retrans überschritten

13.3.2. Fehlerschwelle

Beschreibung: Schwelle zum Markieren des Pfads als inaktiv. Empfohlener Wert: Path.Max.Retrans (empfohlen 5) Zweck: Bestimmt Pfadfehler

13.3.3. Path.Max.Retrans

Beschreibung: Maximale Neuübertragungen für einzelnen Pfad. Empfohlener Wert: 5 Versuche Zweck: Pfadfehlererkennun

13.3.4. cwnd (Staufenster)

Beschreibung: Staufenstergröße in Bytes. Typ: 32-Bit unsigned integer Anfangswert: min(4 * MTU, max(2 * MTU, 4380)) Zweck: Staukontrolle, begrenzt ausstehende Daten

13.3.5. ssthresh (Slow-Start-Schwelle)

Beschreibung: Slow-Start-Schwelle in Bytes. Typ: 32-Bit unsigned integer Anfangswert: Rwnd des Peers Zweck: Unterscheidet Slow-Start- und Stauungsvermeidungsphasen

13.3.6. partial_bytes_acked

Beschreibung: Akkumulierte Teilbyte-Bestätigungen in Stauungsvermeidung. Typ: 32-Bit unsigned integer Zweck: cwnd-Wachstum in Stauungsvermeidung, akkumuliert MTU Bytes vor cwnd-Erhöhung

13.3.7. PMTU (Pfad-MTU)

Beschreibung: Pfad-MTU zu diesem Ziel. Typ: Ganzzahl Anfangswert: Erster-Hop-MTU oder konservativer Wert (z.B. 576 Bytes) Aktualisiert durch: Pfad-MTU-Erkennung Zweck: Datensegmentierung, vermeidet IP-Fragmentierung

13.3.8. RTO (Neuübertragungszeitüberschreitung)

Beschreibung: Neuübertragungszeitüberschreitungswert in Millisekunden. Typ: Ganzzahl Anfangswert: RTO.Initial (empfohlen 3000 ms) Bereich: RTO.Min bis RTO.Max Zweck: Bestimmt wann unbestätigte Daten neu übertragen werden, dynamisch angepasst basierend auf RTT

13.3.9. SRTT (Geglättete Rundlaufzeit)

Beschreibung: Geglättete Rundlaufzeit in Millisekunden. Typ: Ganzzahl Zweck: Berechnet RTO, schätzt Netzwerkverzögerung

13.3.10. RTTVAR (Rundlaufzeitvariation)

Beschreibung: Rundlaufzeitvariation in Millisekunden. Typ: Ganzzahl Zweck: Berechnet RTO, berücksichtigt RTT-Jitter

13.3.11. Heartbeat-Intervall

Beschreibung: Intervall zum Senden von Heartbeats an diese Adresse. Empfohlener Wert: 30 Sekunden Typ: Ganzzahl (Millisekunden) Zweck: Überwacht Pfaderreichbarkeit, hält Pfad aktiv

13.3.12. Letzte Heartbeat-Zeit

Beschreibung: Zeit des letzten an diese Adresse gesendeten Heartbeats. Typ: Zeitstempel Zweck: Bestimmt wann nächster Heartbeat gesendet wird, verwendet mit Heartbeat-Intervall

13.3.13. Zielbestätigungszeit

Beschreibung: Zeit als dieser Pfad zuletzt als erreichbar bestätigt wurde. Typ: Zeitstempel Aktualisiert wenn: Empfang von HEARTBEAT ACK, Empfang neuer Datenbestätigung Zweck: Entscheidet ob Heartbeat gesendet werden muss

13.3.14. Transportadresszustand

Beschreibung: Aktueller Zustand dieser Transportadresse. Mögliche Werte: Active (verfügbar für Datenübertragung), Inactive (derzeit nicht verfügbar), Unconfirmed (noch nicht verifiziert) Zweck: Pfadauswahl und Fehlerbehandlung

13.4. Erforderliche allgemeine Parameter

13.4.1. RTO.Initial

Empfohlener Wert: 3000 Millisekunden (3 Sekunden) Zweck: Verwendet wenn keine RTT-Messungen verfügbar

13.4.2. RTO.Min

Empfohlener Wert: 1000 Millisekunden (1 Sekunde) Zweck: Untergrenze für RTO

13.4.3. RTO.Max

Empfohlener Wert: 60000 Millisekunden (60 Sekunden) Zweck: Obergrenze für RTO

13.4.4. RTO.Alpha

Empfohlener Wert: 1/8 (0.125) Zweck: SRTT = (1 - alpha) * SRTT + alpha * RTT'

13.4.5. RTO.Beta

Empfohlener Wert: 1/4 (0.25) Zweck: RTTVAR = (1 - beta) * RTTVAR + beta * |SRTT - RTT'|

13.4.6. Max.Burst

Empfohlener Wert: 4 PMTU-große Pakete Zweck: Verhindert Burst-Verkehr Stauung zu verursachen, begrenzt Übertragung nach schneller Neuübertragung und Zeitüberschreitung

13.4.7. SACK.Delay

Empfohlener Wert: 200 Millisekunden Maximum: 500 Millisekunden Zweck: Ermöglicht SACK-Bündelung, reduziert Kontroll-Chunk-Overhead

13.4.8. Valid.Cookie.Life

Empfohlener Wert: 60 Sekunden Zweck: Verhindert Replay-Angriffe


Zusammenfassung

Bedeutung der TCB-Parameter:

  1. Instanzebene: Definiert grundlegende SCTP-Endpunktkonfiguration
  2. Assoziationsebene: Pflegt Zustand und Kontrollinformationen pro Assoziation
  3. Adressebene: Unterstützt Multihoming und Pfadverwaltung
  4. Allgemein: Bietet einstellbare Kontrolle des Protokollverhaltens

Implementierungsempfehlungen: Empfohlene Werte als Standard verwenden, Konfiguration über Verwaltungsschnittstelle ermöglichen, Parameterkonsistenz und -richtigkeit pflegen

Leistungsoptimierung: Angemessenes RTO balanciert schnelle Neuübertragung und Vermeidung falscher Neuübertragung, angemessenes cwnd/ssthresh optimiert Durchsatz, Heartbeat-Intervall beeinflusst Fehlererkennungsgeschwindigkeit und Overhead