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

  • RFC 4960 - Stream Control Transmission Protocol
  • RFC 3286 - 導入テキスト

輻輳制御を行い、到着順序を保証する信頼性のあるメッセージ転送を行うという点で、同じ層のプロトコルである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/2.6
  • Solaris 10(サン・マイクロシステムズ)
  • FreeBSD、NetBSD、OpenBSD(KAMEプロジェクト)
  • QNX Neutrino Realtime OS
  • AIX Version 5
  • Oracleの提供するWindows以外のJava SE 7実装(Java#バージョン履歴)

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

ユーザスペースで実装されたライブラリ:

  • The SCTP library (sctplib) [1]
  • Microsoft Windows XP で動くSCTPlibの実装 [2]

The following applications implement SCTP:

  • http://spot-on.sf.net - P2P library
  • http://goldbug.sf.net - Instant Messenger

LTEやその後継規格のLTE-Advancedでは制御信号の送受信のトランスポート層にSCTPを使用している。

関連項目

  • トランスポート・プロトコルの比較
  • Datagram Transport Layer Security

RFCs

  • RFC 5062 - Security Attacks Found Against the Stream Control Transmission Protocol (SCTP) and Current Countermeasures
  • RFC 5061 - Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration
  • RFC 5043 - Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation
  • RFC 4960 - Stream Control Transmission Protocol
  • RFC 4895 - Authenticated Chunks for the Stream Control Transmission Protocol (SCTP)
  • RFC 4820 - Padding Chunk and Parameter for the Stream Control Transmission Protocol (SCTP)
  • RFC 4460 - Stream Control Transmission Protocol (SCTP) Specification Errata and Issues
  • RFC 3873 - Stream Control Transmission Protocol (SCTP) Management Information Base (MIB)
  • RFC 3758 - Stream Control Transmission Protocol (SCTP) Partial Reliability Extension
  • RFC 3554 - On the Use of Stream Control Transmission Protocol (SCTP) with IPsec
  • RFC 3436 - Transport Layer Security over Stream Control Transmission Protocol
  • RFC 3309 - Stream Control Transmission Protocol (SCTP) Checksum Change(RFC 4960 により廃止)
  • RFC 3286 - An Introduction to the Stream Control Transmission Protocol
  • RFC 3257 - Stream Control Transmission Protocol Applicability Statement
  • RFC 2960 - Stream Control Transmission Protocol(RFC 3309 により更新 RFC 4960 により廃止)

脚注

外部リンク

  • 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 (英文)

Transmission Control Protocol TCP erklärt

Stream Control Transmission Protocol SCTP PDF Transmission Control

Transmission Control Protocol Alles, was du wissen musst!

Stream Control Transmission Protocol (SCTP) Introduction

Stream Control Transmission Protocol (SCTP) Introduction