メインコンテンツまでスキップ

13. 推奨伝送制御ブロック (TCB) パラメータ

本章では、SCTP実装が維持すべき伝送制御ブロック(TCB)パラメータを定義します。

13.1. SCTPインスタンスに必要なパラメータ

基本パラメータ

  • ローカルSCTPポート番号: 16ビット、INITチャンク受信用
  • ローカルIPアドレスリスト: マルチホーミングサポート用
  • SCTPプロトコルバージョン: 現在値は1
  • 秘密鍵: State Cookie生成用(推奨160ビット以上)
  • Valid.Cookie.Life: Cookie有効期限(推奨60秒)
  • Association.Max.Retrans: アソシエーション最大再送信回数(推奨10回)

13.2. アソシエーションごとに必要なパラメータ

検証とアドレス管理

  • ピアVerification Tag: ピアから受信した32ビットタグ
  • 自分のVerification Tag: ローカル生成の32ビットタグ(0以外)
  • アソシエーション状態: CLOSED、ESTABLISHED等
  • ピア転送アドレスリスト: 全ピアアドレスと状態
  • 主要パス: データ送信用の主要宛先アドレス

エラー管理と制御

  • 全体エラーカウント: アソシエーションレベルのエラー計数
  • 全体エラー閾値: Association.Max.Retransと等しい推奨値
  • ピアRwnd: ピアの受信ウィンドウサイズ(32ビット)

TSNとストリーム管理

  • 次のTSN: 次のユーザーメッセージに割り当てるTSN
  • 累積TSN確認点: ピアが確認した最高累積TSN
  • アウトバウンドストリーム数: 使用可能な出力ストリーム数(16ビット)
  • インバウンドストリーム数: ピアが使用可能な入力ストリーム数(16ビット)
  • 並べ替えキュー: TSN順に並べられた受信DATAチャンクキュー

ローカルアドレス

  • ローカル転送アドレスリスト: このアソシエーションで使用

13.3. 転送アドレスごとのデータ

各ピア転送アドレスについて維持:

エラーと閾値

  • エラーカウント: 連続送信失敗回数
  • エラー閾値: Path.Max.Retrans(推奨5回)
  • Path.Max.Retrans: 単一経路の最大再送信回数

輻輳制御パラメータ

  • cwnd: 輻輳ウィンドウサイズ(バイト)
    • 初期値: min(4 * MTU, max(2 * MTU, 4380))
  • ssthresh: スロースタート閾値(バイト)
    • 初期値: ピアのRwnd
  • partial_bytes_acked: 輻輳回避での部分バイト確認累積

経路とRTT管理

  • PMTU: 経路MTU(初期値: 第一ホップMTUまたは576バイト)
  • RTO: 再送信タイムアウト(ミリ秒)
    • 初期値: RTO.Initial(推奨3000ms)
    • 範囲: RTO.MinからRTO.Max
  • SRTT: 平滑化往復時間(ミリ秒)
  • RTTVAR: 往復時間変動(ミリ秒)

ハートビート管理

  • Heartbeat Interval: ハートビート送信間隔(推奨30秒)
  • Last Heartbeat Time: 最後のハートビート送信時刻
  • Destination Confirm Time: 経路到達確認時刻
  • Transport Address State: Active、Inactive、Unconfirmed

13.4. 必要な一般パラメータ

RTO関連

  • RTO.Initial: 3000ミリ秒(3秒)
  • RTO.Min: 1000ミリ秒(1秒)
  • RTO.Max: 60000ミリ秒(60秒)
  • RTO.Alpha: 1/8(0.125)- SRTT平滑化係数
  • RTO.Beta: 1/4(0.25)- RTTVAR平滑化係数

その他の制御パラメータ

  • Max.Burst: 最大バースト送信(推奨4 PMTUサイズパケット)
  • SACK.Delay: SACK遅延送信時間(推奨200ms、最大500ms)
  • Valid.Cookie.Life: Cookieの有効期限(推奨60秒)

まとめ

TCBパラメータの重要性:

  1. インスタンスレベル: SCTPエンドポイントの基本設定を定義
  2. アソシエーションレベル: 各アソシエーションの状態と制御情報を維持
  3. アドレスレベル: マルチホーミングと経路管理をサポート
  4. 一般パラメータ: プロトコル動作の調整可能な制御を提供

実装推奨事項: 推奨値をデフォルトとして使用、管理インターフェース経由で設定可能に、パラメータの一貫性と正確性の維持が重要

性能最適化: 適切なRTO値で高速再送信と誤再送信回避のバランス、cwnd/ssthreshでスループット最適化、ハートビート間隔で障害検出速度とオーバーヘッドのバランス