コンテンツにスキップ

「Stream Control Transmission Protocol」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
VolkovBot (会話 | 投稿記録)
m r2.5.1) (ロボットによる 追加: uk:Stream Control Transmission Protocol
m 外部リンクの修正 http:// -> https:// (sf.net) (Botによる編集)
 
(18人の利用者による、間の26版が非表示)
1行目: 1行目:
{{Infobox networking protocol
⚫
| title = Stream Control Transmission 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}}
⚫
'''Stream Control Transmission Protocol'''(ストリーム コントロール トランスミッション プロトコル、SCTP)は、[[2000年]]に[[SIGTRAN]] ワーキンググループによって定義された[[トランスポート層]]の[[プロトコル]]である。


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

⚫
* RFC 3286 - 導入テキスト
⚫
* {{IETF RFC|4960}} - Stream Control Transmission Protocol
⚫
* {{IETF RFC|3286}} - 導入テキスト


[[輻輳制御]]を行い、到着順序を保証する信頼性のあるメッセージ転送を行うという点で、同じ層のプロトコルである[[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/2.6
* [[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 5062 - Security Attacks Found Against the Stream Control Transmission Protocol (SCTP) and Current Countermeasures
* {{IETF RFC|9260}} Stream Control Transmission Protocol
* RFC 5061 - Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration
* {{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 5043 - Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation
* RFC 4960 - Stream Control Transmission Protocol
* {{IETF RFC|7765}} TCP and Stream Control Transmission Protocol (SCTP) RTO Restart
* RFC 4895 - Authenticated Chunks for the Stream Control Transmission Protocol (SCTP)
* {{IETF RFC|7496}} Additional Policies for the Partially Reliable Stream Control Transmission Protocol Extension
* RFC 4820 - Padding Chunk and Parameter for the Stream Control Transmission Protocol (SCTP)
* {{IETF RFC|7053}} SACK-IMMEDIATELY Extension for the Stream Control Transmission Protocol (obsoleted by RFC 9260)
* RFC 4460 - Stream Control Transmission Protocol (SCTP) Specification Errata and Issues
* {{IETF RFC|6951}} UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication
* RFC 3873 - Stream Control Transmission Protocol (SCTP) Management Information Base (MIB)
* {{IETF RFC|6525}} Stream Control Transmission Protocol (SCTP) Stream Reconfiguration
* RFC 3758 - Stream Control Transmission Protocol (SCTP) Partial Reliability Extension
* {{IETF RFC|6458}} Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)
* RFC 3554 - On the Use of Stream Control Transmission Protocol (SCTP) with IPsec
* {{IETF RFC|6096}} Stream Control Transmission Protocol (SCTP) Chunk Flags Registration (obsoleted by RFC 9260)
* RFC 3436 - Transport Layer Security over Stream Control Transmission Protocol
* {{IETF RFC|5062}} - Security Attacks Found Against the Stream Control Transmission Protocol (SCTP) and Current Countermeasures
* RFC 3309 - Stream Control Transmission Protocol (SCTP) Checksum Change(RFC 4960 により廃止)
* {{IETF RFC|5061}} - Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration
* RFC 3286 - An Introduction to the Stream Control Transmission Protocol
* {{IETF RFC|5043}} - Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation
* RFC 3257 - Stream Control Transmission Protocol Applicability Statement
* {{IETF RFC|4960}} - Stream Control Transmission Protocol
* {{IETF RFC|4895}} - Authenticated Chunks for the Stream Control Transmission Protocol (SCTP)
⚫
* RFC 2960 - Stream Control Transmission Protocol(RFC 3309 により更新 RFC 4960 により廃止)
* {{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|3873}} - Stream Control Transmission Protocol (SCTP) Management Information Base (MIB)
* {{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}} により廃止)
⚫
* {{IETF RFC|3286}} - An Introduction to the Stream Control Transmission Protocol
⚫
* {{IETF RFC|3257}} - Stream Control Transmission Protocol Applicability Statement
⚫
* {{IETF RFC|2960}} - Stream Control Transmission Protocol({{IETF RFC|3309}} により更新 {{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
* [http://www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/sctpheaders.html SCTPヘッダ] - Iptablesチュートリアル
* [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.sctp.org/ www.sctp.org (英文)]
⚫
* [http://www.sctp.de/ www.sctp.de (英文)]
* [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 (英文)]
* [http://sourceforge.net/projects/lksctp/ The Linux Kernel SCTP (lksctp) project (英文)]
* [https://sourceforge.net/projects/lksctp/ The Linux Kernel SCTP (lksctp) project (英文)]
⚫
* [http://www.sctp.org/ www.sctp.org (英文)]
⚫
* [http://www.sctp.de/ www.sctp.de (英文)]

{{OSI}}
{{Computer-stub}}
{{Computer-stub}}


{{Normdaten}}
⚫
{{デフォルトソート:Stream Control Transmission Protocol }}
[[Category:トランスポート層プロトコル]]
[[Category:トランスポート層プロトコル]]
[[Category:RFC|2960]]
[[Category:インターネット標準]]
[[Category:RFC|4960]]

[[Category:長大な項目名]]
⚫
[[cs:Stream Control Transmission Protocol]]
⚫
[[de:Stream Control Transmission Protocol]]
⚫
[[en:Stream Control Transmission Protocol]]
⚫
[[es:Stream Control Transmission Protocol]]
[[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時点における最新版

Stream Control Transmission Protocol
プロトコルスタック
略称 SCTP
導入 2000
OSI階層 Transport layer (4)
RFC 9260

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 は次のオペレーティングシステムで実装・導入されている。

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

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

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

The following applications implement SCTP:

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

関連項目

[編集 | ソースを編集]
  • 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 により廃止)
  1. ↑ https://www.docomo.ne.jp/binary/pdf/corporate/technology/rd/technical_journal/bn/vol19_1/vol19_1_011jp.pdf - NTTドコモ テクニカルレポート

外部リンク

[編集 | ソースを編集]