Stream Control Transmission Protocol
出典: フリー百科事典『ウィキペディア(Wikipedia)』
アプリケーション層 |
---|
DNS, ENRP, FTP, HTTP IMAP, IRC, NNTP, POP3 SIP, rlogin, RTP, SMTP SNMP, SSH, SSL, TELNET CMIP |
トランスポート層 |
DCCP, IL, RSVP, RUDP SCTP, TCP, UDP |
ネットワーク層 |
ARP, BGP, IP(IPv4,IPv6) ICMP, IGMP, IGP, RARP |
データリンク層 |
ATM, DTM, FDDI, PPP SLIP, SMDS, イーサネット Wi-Fi, トークンリング フレームリレー |
Stream Control Transmission Protocol (SCTP) は、2000年にSIGTRAN ワーキンググループによって定義されたトランスポート層のプロトコルである。
輻輳制御を行い、到着順序を保証する信頼性のあるメッセージ転送を行うという点で、同じ層のプロトコルであるTCPと同様のサービスを提供する。TCP はバイト (byte) 指向であり、SCTP はフレーム・メッセージのやり取りである。
SCTPの利点は以下の通り。
- マルチ・ホーミングのサポート。コネクションのエンドポイントは複数のIPアドレスを持つことができ、ホストやネットワーク・カードの障害時にフェイルオーバーが可能。
- 別個のストリーム内のチャンクによるデータ転送。これにより、TCPのバイトストリーム転送に見られるような、不必要なhead-of-the-lineブロッキング (待ち行列の先頭のデータがその後ろの転送を妨げること) を解消することができる。
- 経路選択とモニタリング。「プライマリ」データ転送経路を選択し、その転送経路の接続性をテストする。
- 検証と応答確認メカニズム。フラッディング攻撃からの保護や、重複あるいは欠損したデータ・チャンクの通知を提供する。
元々SCTPは電話網のプロトコル(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
この他、様々なサードパーティ製の実装が他のオペレーティングシステムで利用可能である。
ユーザスペースで実装されたライブラリ:
[編集] 外部リンク
- www.sctp.org (英文)
- www.sctp.de (英文)
- sigtran.org (英文)
- Signaling Transport (sigtran) (英文)
- OpenSS7 Project (英文)
- The Linux Kernel SCTP (lksctp) project (英文)
[編集] RFCs
- 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 3286 - An Introduction to the Stream Control Transmission Protocol
- RFC 3257 - Stream Control Transmission Protocol Applicability Statement
- RFC 2960 - Stream Control Transmission Protocol