SCTP 【Stream Control Transmission Protocol】
概要
SCTP(Stream Control Transmission Protocol)とは、IPネットワークで利用されるトランスポート層の通信規約(プロトコル)の一つ。TCPとUDPの中間的な性質と、独特の仕様や機能を併せ持っている。IP(Internet Protocol)と上位層のプロトコルの橋渡しをするもので、同じ層のTCPやUDPに代わって機器間でデータ伝送を行う。TCPと同じコネクション型のプロトコルで、通信開始時に所定の手順で論理的な伝送路(コネクション)を形成し、再送制御など信頼性の高い通信を可能にする。
TCPと同じように輻輳制御を行い、受信側での到着順に関わらず送信順にパケットを組み立て直すことができる。欠落や重複、データの誤りを検知して再送を要求することもできる。TCPはデータの積載方式がバイト指向(ストリーム指向)でメッセージ境界は上位層のアプリケーションが切り分けなければならないが、SCTPはUDPと同じメッセージ指向なため、上位層が簡単にメッセージを取り出すことができる。
独自の仕様としてマルチホーミングに対応しており、同じ機器を(複数のNICを装着するなどして)複数のIPアドレスで同時に認識することができる。いずれかの装置や経路が障害などで不通になっても、有効なアドレスを用いて通信を継続することができる。また、マルチストリームに対応し、一本のコネクションで複数のデータの流れを同時に扱うことができる。
TCPではコネクションの確立や切断時の手順(ハンドシェイク)を悪用してDoS攻撃(SYNフラッド攻撃など)が可能なことが問題となったが、SCTPはこれを防止するためにハンドシェイクの手順が改良されている。
SCTPはIPネットワーク上で公衆交換電話網のシグナリングプロトコルであるSS7(Common Channel Signaling System No.7)に相当する機能を実現するために考案された。2000年にIETFによってRFC 2960として標準化され、2007年にRFC 4960として全面改訂された。TCPやUDPに比べ認知度や普及度は低く、インターネット上ではあまり使われていないが、移動体通信網のバックボーンネットワークなど閉域IP網(LTE/LTE-Advancedなど)での応用例が見られる。