「Stream Control Transmission Protocol」の版間の差分
表示
削除された内容 追加された内容
m r2.5.1) (ロボットによる 追加: uk:Stream Control Transmission Protocol |
m 外部リンクの修正 http:// -> https:// (sf.net) (Botによる編集) |
||
| (18人の利用者による、間の26版が非表示) | |||
| 1行目: | 1行目: | ||
{{Infobox networking protocol |
|||
| ⚫ | |||
| logo = |
|||
| logo alt = |
|||
| image = |
|||
| image alt = |
|||
| caption = |
|||
| is stack = yes |
|||
| abbreviation = SCTP |
|||
| purpose = |
|||
| developer = |
|||
| date = 2000 |
|||
| based on = |
|||
| influenced = |
|||
| osilayer = [[Transport layer]] (4) |
|||
| rfcs = {{IETF RFC|9260|plainlink=yes}} |
|||
| hardware = |
|||
| ipproto = 132 |
|||
}} |
|||
{{IPstack}} |
{{IPstack}} |
||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
[[輻輳制御]]を行い、到着順序を保証する信頼性のあるメッセージ転送を行うという点で、同じ層のプロトコルである[[Transmission Control Protocol|TCP]]と同様のサービスを提供する。TCP はバイト (byte) 指向であり、SCTP はフレーム・メッセージのやり取りである。 |
[[輻輳制御]]を行い、到着順序を保証する信頼性のあるメッセージ転送を行うという点で、同じ層のプロトコルである[[Transmission Control Protocol|TCP]]と同様のサービスを提供する。TCP はバイト (byte) 指向であり、SCTP はフレーム・メッセージのやり取りである。 |
||
| 10行目: | 31行目: | ||
SCTPの利点は以下の通り。 |
SCTPの利点は以下の通り。 |
||
* マルチ・ホーミングのサポート。コネクションのエンドポイントは複数のIPアドレスを持つことができ、ホストやネットワーク・カードの障害時に[[フェイル |
* マルチ・ホーミングのサポート。コネクションのエンドポイントは複数のIPアドレスを持つことができ、ホストやネットワーク・カードの障害時に[[フェイルセーフ]]が可能。 |
||
* 別個のストリーム内のチャンクによる[[データ転送]]。これにより、TCPのバイトストリーム転送に見られるような、不必要なhead-of-the-lineブロッキング(待ち行列の先頭のデータがその後ろの転送を妨げること)を解消することができる。 |
* 別個のストリーム内のチャンクによる[[データ転送]]。これにより、TCPのバイトストリーム転送に見られるような、不必要なhead-of-the-lineブロッキング(待ち行列の先頭のデータがその後ろの転送を妨げること)を解消することができる。 |
||
* 経路選択とモニタリング。「プライマリ」データ転送経路を選択し、その転送経路の接続性をテストする。 |
* 経路選択とモニタリング。「プライマリ」データ転送経路を選択し、その転送経路の接続性をテストする。 |
||
* 検証と応答確認メカニズム。フラッディング攻撃からの保護や、重複あるいは欠損したデータ・チャンクの通知を提供する。 |
* 検証と応答確認メカニズム。フラッディング攻撃からの保護や、重複あるいは欠損したデータ・チャンクの通知を提供する。 |
||
元々SCTPは電話網のシグナリング・プロトコルである[[共通線信号No.7|No.7共通線信号方式]] (SS7) をIP上で転送することを意図しており、SS7信号網の信頼性をIP網で再現することを目的としている。この[[Internet Engineering Task Force|IETF]]の作業は[[SIGTRAN]]として知られている。一方で他の用途も提案されており、その一例として[[RADIUS]]の後継である[[DIAMETER]]での利用が挙げられる。 |
元々SCTPは電話網のシグナリング・プロトコルである[[共通線信号No.7|No.7共通線信号方式]] (SS7) をIP上で転送することを意図しており、SS7信号網の信頼性を[[IP網]]で再現することを目的としている。この[[Internet Engineering Task Force|IETF]]の作業は[[SIGTRAN]]として知られている。一方で他の用途も提案されており、その一例として[[RADIUS]]の後継である[[DIAMETER]]での利用が挙げられる。 |
||
== 実装 == |
== 実装 == |
||
SCTP は次の[[オペレーティングシステム]]で実装・導入されている。 |
SCTP は次の[[オペレーティングシステム]]で実装・導入されている。 |
||
* [[Linux]] kernel 2.4 |
* [[Linux]] kernel 2.4 以上 |
||
* [[Solaris]] 10([[サン・マイクロシステムズ]]) |
* [[Solaris]] 10([[サン・マイクロシステムズ]]) |
||
* [[FreeBSD]]、[[NetBSD]]、[[OpenBSD]]([[KAME|KAMEプロジェクト]]) |
* [[FreeBSD]]、[[NetBSD]]、[[OpenBSD]]([[KAME|KAMEプロジェクト]]) |
||
* QNX Neutrino Realtime OS |
* QNX Neutrino Realtime OS |
||
* [[AIX]] Version 5 |
* [[AIX]] Version 5 |
||
* Oracleの提供するWindows以外のJava SE 7実装([[Java#バージョン履歴]]) |
|||
この他、様々なサードパーティ製の実装が他のオペレーティングシステムで利用可能である。 |
この他、様々なサードパーティ製の実装が他のオペレーティングシステムで利用可能である。 |
||
| 31行目: | 53行目: | ||
* The SCTP library (sctplib) [http://www.sctp.de/sctp-download.html] |
* The SCTP library (sctplib) [http://www.sctp.de/sctp-download.html] |
||
* Microsoft Windows XP で動くSCTPlibの実装 [http://www.sctp.be/sctplib/index.htm] |
* Microsoft Windows XP で動くSCTPlibの実装 [http://www.sctp.be/sctplib/index.htm] |
||
The following applications implement SCTP: |
|||
* http://spot-on.sf.net - P2P library |
|||
* https://goldbug.sourceforge.net/ - Instant Messenger |
|||
[[Long Term Evolution|LTE]]やその後継規格のLTE-Advancedでは制御信号の送受信のトランスポート層にSCTPを使用している<ref>[https://www.docomo.ne.jp/binary/pdf/corporate/technology/rd/technical_journal/bn/vol19_1/vol19_1_011jp.pdf https://www.docomo.ne.jp/binary/pdf/corporate/technology/rd/technical_journal/bn/vol19_1/vol19_1_011jp.pdf] - NTTドコモ テクニカルレポート</ref>。 |
|||
== 関連項目 == |
== 関連項目 == |
||
* [[トランスポート層#トランスポート・プロトコルの比較|トランスポート・プロトコルの比較]] |
* [[トランスポート層#トランスポート・プロトコルの比較|トランスポート・プロトコルの比較]] |
||
* [[Datagram Transport Layer Security]] |
|||
== RFCs == |
== RFCs == |
||
* RFC |
* {{IETF RFC|9260}} Stream Control Transmission Protocol |
||
* |
* {{IETF RFC|8540}} Stream Control Transmission Protocol: Errata and Issues in RFC 4960 (obsoleted by RFC 9260) |
||
* {{IETF RFC|7829}} SCTP-PF: A Quick Failover Algorithm for the Stream Control Transmission Protocol |
|||
| ⚫ | |||
* RFC |
* {{IETF RFC|7765}} TCP and Stream Control Transmission Protocol (SCTP) RTO Restart |
||
* RFC |
* {{IETF RFC|7496}} Additional Policies for the Partially Reliable Stream Control Transmission Protocol Extension |
||
* |
* {{IETF RFC|7053}} SACK-IMMEDIATELY Extension for the Stream Control Transmission Protocol (obsoleted by RFC 9260) |
||
* RFC |
* {{IETF RFC|6951}} UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication |
||
* RFC |
* {{IETF RFC|6525}} Stream Control Transmission Protocol (SCTP) Stream Reconfiguration |
||
* RFC |
* {{IETF RFC|6458}} Sockets API Extensions for the Stream Control Transmission Protocol (SCTP) |
||
* |
* {{IETF RFC|6096}} Stream Control Transmission Protocol (SCTP) Chunk Flags Registration (obsoleted by RFC 9260) |
||
* |
* {{IETF RFC|5062}} - Security Attacks Found Against the Stream Control Transmission Protocol (SCTP) and Current Countermeasures |
||
* |
* {{IETF RFC|5061}} - Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration |
||
* RFC |
* {{IETF RFC|5043}} - Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation |
||
* RFC |
* {{IETF RFC|4960}} - Stream Control Transmission Protocol |
||
* {{IETF RFC|4895}} - Authenticated Chunks for the Stream Control Transmission Protocol (SCTP) |
|||
| ⚫ | |||
* {{IETF RFC|4820}} - Padding Chunk and Parameter for the Stream Control Transmission Protocol (SCTP) |
|||
* {{IETF RFC|4460}} - Stream Control Transmission Protocol (SCTP) Specification Errata and Issues |
|||
| ⚫ | |||
* {{IETF RFC|3758}} - Stream Control Transmission Protocol (SCTP) Partial Reliability Extension |
|||
* {{IETF RFC|3554}} - On the Use of Stream Control Transmission Protocol (SCTP) with IPsec |
|||
* {{IETF RFC|3436}} - Transport Layer Security over Stream Control Transmission Protocol |
|||
* {{IETF RFC|3309}} - Stream Control Transmission Protocol (SCTP) Checksum Change({{IETF RFC|4960}} により廃止) |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
== 脚注 == |
|||
{{脚注ヘルプ}} |
|||
<references/> |
|||
== 外部リンク == |
== 外部リンク == |
||
* [http://www.ibm.com/developerworks/jp/linux/library/l-sctp/ SCTPによるネットワーキングの向上] - IBM developerWorks Japan |
* [http://www.ibm.com/developerworks/jp/linux/library/l-sctp/ SCTPによるネットワーキングの向上] - IBM developerWorks Japan |
||
* [http://www.oracle.com/technetwork/jp/articles/java/jdk7-sctp-434501-ja.html JavaでのStream Control Transport Protocol(SCTP)] - Oracle Technology Network |
|||
* [ |
* [https://www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/sctpheaders.html SCTPヘッダ] - Iptablesチュートリアル |
||
* [http://docs.sun.com/app/docs/doc/819-0392/sockets-85885?l=ja&a=view ストリーム制御伝送プロトコル] - Solaris 10 Software Developer Collection - Japanese >> プログラミングインタフェース |
|||
* [http://download.oracle.com/docs/cd/E19253-01/819-0392/sockets-17/index.html Stream Control Transmission Protocol (SCTP)] - Solaris 10『プログラミングインタフェース』 第 8 章 ソケットインタフェース |
|||
| ⚫ | |||
| ⚫ | |||
* [http://www.sigtran.org/ sigtran.org (英文)] |
* [http://www.sigtran.org/ sigtran.org (英文)] |
||
* [http://www.ietf.org/html.charters/sigtran-charter.html Signaling Transport (sigtran)(英文)] |
* [http://www.ietf.org/html.charters/sigtran-charter.html Signaling Transport (sigtran)(英文)] |
||
* [http://www.openss7.org/ OpenSS7 Project (英文)] |
* [http://www.openss7.org/ OpenSS7 Project (英文)] |
||
* [ |
* [https://sourceforge.net/projects/lksctp/ The Linux Kernel SCTP (lksctp) project (英文)] |
||
| ⚫ | |||
| ⚫ | |||
{{OSI}} |
|||
{{Computer-stub}} |
{{Computer-stub}} |
||
{{Normdaten}} |
|||
| ⚫ | |||
[[Category:トランスポート層プロトコル]] |
[[Category:トランスポート層プロトコル]] |
||
[[Category: |
[[Category:インターネット標準]] |
||
[[Category:RFC|4960]] |
|||
[[Category:長大な項目名]] |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
[[eu:Stream Control Transmission Protocol]] |
|||
[[fr:Stream Control Transmission Protocol]] |
|||
[[he:Stream Control Transmission Protocol]] |
|||
[[it:Stream Control Transmission Protocol]] |
|||
[[nl:Stream Control Transmission Protocol]] |
|||
[[nn:Stream Control Transmission Protocol]] |
|||
[[pl:Stream Control Transmission Protocol]] |
|||
[[pt:Stream Control Transmission Protocol]] |
|||
[[ru:SCTP]] |
|||
[[sv:Stream Control Transmission Protocol]] |
|||
[[tr:SCTP]] |
|||
[[uk:Stream Control Transmission Protocol]] |
|||
[[yo:Stream Control Transmission Protocol]] |
|||
[[zh:流控制传输协议]] |
|||
2026年9月8日 (火) 17:35時点における最新版
| プロトコルスタック | |
| 略称 | SCTP |
|---|---|
| 導入 | 2000 |
| OSI階層 | Transport layer (4) |
| RFC | 9260 |
Stream Control Transmission Protocol(ストリーム制御伝送プロトコル、ストリーム コントロール トランスミッション プロトコル、SCTP)は、2000年にSIGTRAN ワーキンググループによって定義されたトランスポート層のプロトコルである。
輻輳制御を行い、到着順序を保証する信頼性のあるメッセージ転送を行うという点で、同じ層のプロトコルである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 following applications implement SCTP:
- http://spot-on.sf.net - P2P library
- https://goldbug.sourceforge.net/ - Instant Messenger
- RFC 9260 Stream Control Transmission Protocol
- RFC 8540 Stream Control Transmission Protocol: Errata and Issues in RFC 4960 (obsoleted by RFC 9260)
- RFC 7829 SCTP-PF: A Quick Failover Algorithm for the Stream Control Transmission Protocol
- RFC 7765 TCP and Stream Control Transmission Protocol (SCTP) RTO Restart
- RFC 7496 Additional Policies for the Partially Reliable Stream Control Transmission Protocol Extension
- RFC 7053 SACK-IMMEDIATELY Extension for the Stream Control Transmission Protocol (obsoleted by RFC 9260)
- RFC 6951 UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication
- RFC 6525 Stream Control Transmission Protocol (SCTP) Stream Reconfiguration
- RFC 6458 Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)
- RFC 6096 Stream Control Transmission Protocol (SCTP) Chunk Flags Registration (obsoleted by RFC 9260)
- 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 (英文)