Stream Control Transmission Protocol(ストリーム制御伝送プロトコル、ストリーム コントロール トランスミッション プロトコル、SCTP)は、2000年にSIGTRAN ワーキンググループによって定義されたトランスポート層のプロトコルである。

- Stream Control Transmission Protocol - 導入テキスト

輻輳制御を行い、到着順序を保証する信頼性のあるメッセージ転送を行うという点で、同じ層のプロトコルであるTCPと同様のサービスを提供する。TCP はバイト (byte) 指向であり、SCTP はフレーム・メッセージのやり取りである。

利点 SCTPの利点は以下の通り。

マルチ・ホーミングのサポート。コネクションのエンドポイントは複数のIPアドレスを持つことができ、ホストやネットワーク・カードの障害時にフェイルセーフが可能。 別個のストリーム内のチャンクによるデータ転送。これにより、TCPのバイトストリーム転送に見られるような、不必要なhead-of-the-lineブロッキング(待ち行列の先頭のデータがその後ろの転送を妨げること)を解消することができる。 経路選択とモニタリング。「プライマリ」データ転送経路を選択し、その転送経路の接続性をテストする。 検証と応答確認メカニズム。フラッディング攻撃からの保護や、重複あるいは欠損したデータ・チャンクの通知を提供する。

元々SCTPは電話網のシグナリング・プロトコルであるNo.7共通線信号方式 (SS7) をIP上で転送することを意図しており、SS7信号網の信頼性をIP網で再現することを目的としている。このIETFの作業はSIGTRANとして知られている。一方で他の用途も提案されており、その一例としてRADIUSの後継であるDIAMETERでの利用が挙げられる。

実装 SCTP は次のオペレーティングシステムで実装・導入されている。

Linux kernel 2.4 以上 Solaris 10(サン・マイクロシステムズ) FreeBSD、NetBSD、OpenBSD(KAMEプロジェクト) QNX Neutrino Realtime OS AIX Version 5 Oracleの提供するWindows以外のJava SE 7実装(Java#バージョン履歴)

この他、様々なサードパーティ製の実装が他のオペレーティングシステムで利用可能である。

ユーザスペースで実装されたライブラリ: The SCTP library (sctplib) Microsoft Windows XP で動くSCTPlibの実装

The following applications implement SCTP: http://spot-on.sf.net - P2P library https://goldbug.sourceforge.net/ - Instant Messenger

LTEやその後継規格のLTE-Advancedでは制御信号の送受信のトランスポート層にSCTPを使用しているhttps://www.docomo.ne.jp/binary/pdf/corporate/technology/rd/technical_journal/bn/vol19_1/vol19_1_011jp.pdf - NTTドコモ テクニカルレポート。

関連項目 トランスポート・プロトコルの比較 Datagram Transport Layer Security

RFCs Stream Control Transmission Protocol Stream Control Transmission Protocol: Errata and Issues in RFC 4960 (obsoleted by RFC 9260) SCTP-PF: A Quick Failover Algorithm for the Stream Control Transmission Protocol TCP and Stream Control Transmission Protocol (SCTP) RTO Restart Additional Policies for the Partially Reliable Stream Control Transmission Protocol Extension SACK-IMMEDIATELY Extension for the Stream Control Transmission Protocol (obsoleted by RFC 9260) UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication Stream Control Transmission Protocol (SCTP) Stream Reconfiguration Sockets API Extensions for the Stream Control Transmission Protocol (SCTP) Stream Control Transmission Protocol (SCTP) Chunk Flags Registration (obsoleted by RFC 9260) - Security Attacks Found Against the Stream Control Transmission Protocol (SCTP) and Current Countermeasures - Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration - Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation - Stream Control Transmission Protocol - Authenticated Chunks for the Stream Control Transmission Protocol (SCTP) - Padding Chunk and Parameter for the Stream Control Transmission Protocol (SCTP) - Stream Control Transmission Protocol (SCTP) Specification Errata and Issues - Stream Control Transmission Protocol (SCTP) Management Information Base (MIB) - Stream Control Transmission Protocol (SCTP) Partial Reliability Extension - On the Use of Stream Control Transmission Protocol (SCTP) with IPsec - Transport Layer Security over Stream Control Transmission Protocol - Stream Control Transmission Protocol (SCTP) Checksum Change( により廃止) - An Introduction to the Stream Control Transmission Protocol - Stream Control Transmission Protocol Applicability Statement - Stream Control Transmission Protocol( により更新 により廃止)

脚注

外部リンク SCTPによるネットワーキングの向上 - IBM developerWorks Japan JavaでのStream Control Transport Protocol(SCTP) - Oracle Technology Network SCTPヘッダ - Iptablesチュートリアル Stream Control Transmission Protocol (SCTP) - Solaris 10『プログラミングインタフェース』 第 8 章 ソケットインタフェース sigtran.org (英文) Signaling Transport (sigtran)(英文) OpenSS7 Project (英文) The Linux Kernel SCTP (lksctp) project (英文) www.sctp.org (英文) www.sctp.de (英文)