Zum Inhalt springen

Stream Control Transmission Protocol

aus Wikipedia, der freien Enzyklopädie
SCTP (Stream Control Transmission Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Zuverlässiges, verbindungsorientiertes Transportprotokoll
{{{title}}} | SCTP}} im TCP/IP-Protokollstapel:
Anwendung

{{#if: |

Streaming-Protokoll [[{{{A2}}}]] Streaming-Protokoll

}}

Transport SCTP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

Das Stream Control Transmission Protocol (SCTP) ist ein zuverlässiges, verbindungsorientiertes Netzwerkprotokoll. Es gehört zur Transportschicht und setzt auf einem potenziell unzuverlässigen, verbindungslosen Paketdienst auf.

Eigenschaften und Funktionen

SCTP wurde von der Internet Engineering Task Force (IETF) als neues Transportprotokoll vorgeschlagen und im Oktober 2000 in dem Standarddokument RFC 2960<ref name="rfc2960" /> veröffentlicht. Die Spezifikation wurde im September 2007 durch RFC 4960<ref name="rfc4960" /> und im Juni 2022 durch RFC 9260<ref name="rfc9260" /> ersetzt. Eine Einführung findet sich in RFC 3286.<ref name="rfc3286" /> Das zuständige Gremium bei der IETF ist die Arbeitsgruppe Signaling Transport, kurz SIGTRAN.

Als Transportprotokoll steht SCTP auf derselben Stufe des TCP/IP-Referenzmodells wie TCP und UDP (Schicht 4 des OSI-Modells).

SCTP realisiert das Konzept einer Association: Hier wird eine Verbindung aufgebaut, in der mehrere Nachrichten-Datenströme in sich reihenfolgenerhaltend (untereinander aber potentiell nicht-reihenfolgenerhaltend) transportiert werden. Zusätzlich können einzelne, zum Beispiel dringende, Datagramme separat und außer der Reihe verschickt werden, die dadurch eventuell die In-Order-Datenströme „überholen“.

SCTP kennt außerdem Multistreaming und Multihoming (ein Host mit mehreren gültigen IP-Adressen). Es werden Heartbeats verwendet, um aktiv auf Verbindungsabriss zu testen.

Anders als TCP zeigt sich SCTP resistent gegen SYN-Flooding, eine Denial-of-Service-Attacke, bei der durch halboffene Verbindungen die Ressourcen des Servers aufgebraucht werden. Dazu verwendet es einen sogenannten Vier-Wege-Handshake. Hierbei speichert der Server bei einer Verbindungsanfrage (INIT-Paket) keine Zustandsinformationen, sondern schickt diese in Form eines Cookies (INIT-ACK-Paket) an den Client. Der Client muss dieses Cookie in seine Antwort (COOKIE-ECHO-Paket) einfügen und wird damit vom Server als zum Verbindungsaufbau berechtigt erkannt, was dieser ihm bestätigt (COOKIE-ACK-Paket). Ein ähnliches Verfahren ist mit TCP ebenfalls möglich, siehe SYN-Cookies.

Ursprünglich wurde SCTP als Transportprotokoll definiert, um Zeichengabenachrichten (SS7) aus Telefonnetzen auch über IP-Netzwerke übertragen zu können. Bei der Entwicklung stand insbesondere die Zuverlässigkeit des Protokolls im Vordergrund. SCTP ist aber auch für andere Anwendungen geeignet, da es Vorteile von TCP und UDP vereint. Eine wichtige, auf SCTP aufbauende Anwendung ist Reliable Server Pooling (RSerPool).

SCTP verwendet für Fluss- und Überlastkontrolle ähnliche Algorithmen wie TCP, verhält sich also in einem gemischten Netz (SCTP und TCP) neutral.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20030321020258

      | {{#ifeq: 20030321020258 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: exp-math.uni-essen.de | {{#invoke:WLink|getEscapedTitle|exp-math.uni-essen.de}} | {{#invoke:Webarchiv|getdomain|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20030321020258}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: exp-math.uni-essen.de | {{#invoke:WLink|getEscapedTitle|exp-math.uni-essen.de}} | {{#invoke:Webarchiv|getdomain|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20030321020258}} im Internet Archive{{#if: PDF | ; PDF }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: exp-math.uni-essen.de | {{#invoke:WLink|getEscapedTitle|exp-math.uni-essen.de}} | {{#invoke:Webarchiv|getdomain|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: PDF | ; PDF }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: exp-math.uni-essen.de | {{#invoke:WLink|getEscapedTitle|exp-math.uni-essen.de}} | {{#invoke:Webarchiv|getdomain|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: PDF | ; PDF }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: exp-math.uni-essen.de | {{#invoke:WLink|getEscapedTitle|exp-math.uni-essen.de}} | {{#invoke:Webarchiv|getdomain|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: PDF | ; PDF }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: exp-math.uni-essen.de | {{#invoke:WLink|getEscapedTitle|exp-math.uni-essen.de}} | {{#invoke:Webarchiv|getdomain|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20030321020258|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf}}
    || {{#if:  || }}
  }}{{#if: exp-math.uni-essen.de
    | {{#if: {{#invoke:WLink|isBracketedLink|exp-math.uni-essen.de}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: PDF
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/atm2000.pdf }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref>

Alternativen

QUIC ist ebenfalls ein zuverlässiges und verbindungsorientiertes Netzprotokoll auf Transportschicht. Es wurde von Google entworfen und baut auf UDP auf. SCTP und QUIC unterscheiden sich im Funktionsumfang und möglichen Einsatzzwecken. So unterstützt QUIC kein Multihoming und keine redundanten Übertragungspfade. In QUIC ist Transport Layer Security (TLS) zur kryptographischen Absicherung der Kommunikation integriert, wodurch Verbindungen immer verschlüsselt sind. QUIC wird von Protokollen wie HTTP/3 oder DNS over QUIC (DoQ) verwendet. QUIC wurde wie zuvor SCTP von der IETF standardisiert; eine Google-Variante gQUIC wird parallel fortgeführt.

Spezifikationen

Weblinks

Einzelnachweise

<references> <ref name="rfc2960"> Vorlage:RFC-Internet </ref> <ref name="rfc3286"> Vorlage:RFC-Internet </ref> <ref name="rfc4960"> Vorlage:RFC-Internet </ref> <ref name="rfc9260"> Vorlage:RFC-Internet </ref> </references >

{{#ifeq: s | p | | {{#if: 4838204-8 | |

}} }}{{#ifeq:||{{#if: | [[Kategorie:Wikipedia:GND fehlt {{#invoke:Str|left|{{{GNDCheck}}}|7}}]] }}{{#if: | {{#if: | | }} }} }}{{#if: | {{#ifeq: 0 | 2 | | }} }}{{#if: | {{#ifeq: 0 | 2 | | }} }}{{#ifeq: s | p | {{#if: 4838204-8 | | {{#if: {{#statements:P227}} | | }} }} }}{{#ifeq: s | p | {{#if: 4838204-8 | {{#if: {{#invoke:Wikidata|pageId}} | {{#if: {{#statements:P227}} | | }} }} }} }}{{#ifeq: s | p | {{#if: | | {{#if: {{#statements:P244}} | | }} }} }}{{#ifeq: s | p | {{#if: | {{#if: {{#invoke:Wikidata|pageId}} | {{#if: {{#statements:P244}} | | }} }} }} }}{{#ifeq: s | p | {{#if: | | {{#if: {{#statements:P214}} | | }} }} }}{{#ifeq: s | p | {{#if: | {{#if: {{#invoke:Wikidata|pageId}} | {{#if: {{#statements:P214}} | | }} }} }} }}Vorlage:Wikidata-Registrierung