Category: Informational
SCTPの特徴をまとめたもの。
- High-Reliable and full-duplex communication
- message orientedなのでメッセージの境界で framingできる。(TCPは byte orientedで構造を持たない)
- TCPと同様の輻輳制御アルゴリズム
- Multi-Streaming
データを複数のストリームに分割できる。あるストリームの lossや delayは他の
ストリームに影響を与えない。
- Multi-Homing
endpointで複数のIPアドレスを持つことができる。この機能を使うためには、
associationセットアップ時に addressのリストを交換する必要がある。
セキュリティの向上のために、response messageの中にはソースアドレス
に対して(アドレスリストのうちからpickupするのではなく)
送らなければいけないものもある。
- 通信の開始処理
TCPの3way-handshakeに対して、SCTPは4messageを交換して初期化処理を行う。
3番目と4番目のメッセージにはデータを含んでも良い。DoSに対抗するため、
この処理は cookieを利用する。INIT chunkを受信したサーバは TCB用のメモリを
allocする代わりに、TCB情報とlifetimeとsignatureの情報から cookieを作成し、
INIT ACK chunkで返送する。INIT ACKはソースアドレスに必ず送信され、
クライアントは COOKIE ECHO chunkを返送しなければならない。
- データ転送
SCTPは TCPのSACKと同様の機能を持ち、cumulativeなTSNのACKを返すだけでなく
gapの情報も与えることができる。ACKは通常 delayed ACKで送信する。
アプリケーションはデータの lifetimeを指定できる.lifetimeを経過した
データの受信は無視できる。パケットの再送は 連続する4つ SACKの受信に対して
行われる。
- 通信終了
SCTPは TCPの様なhalf-openはサポートしない。一方の通信終了は双方の
終了を意味する。
- SCTPのメッセージフォーマットは一つのcommon headerと一つ以上の chunkから
構成される。
- ACKが返送されない再送数をカウントし、一定数を超えた場合そのアドレスは
inactiveと見なす。inactiveなdestinationを検出するために、idleのdestination
に対して一定間隔で heartbeatが送られる。すべてのdestinationがunreachの
状態が続く場合はendpointが unreachableとみなす。
|