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パラメータの重要性:
- インスタンスレベル: SCTPエンドポイントの基本設定を定義
- アソシエーションレベル: 各アソシエーションの状態と制御情報を維持
- アドレスレベル: マルチホーミングと経路管理をサポート
- 一般パラメータ: プロトコル動作の調整可能な制御を提供
実装推奨事項: 推奨値をデフォルトとして使用、管理インターフェース経由で設定可能に、パラメータの一貫性と正確性の維持が重要
性能最適化: 適切なRTO値で高速再送信と誤再送信回避のバランス、cwnd/ssthreshでスループット最適化、ハートビート間隔で障害検出速度とオーバーヘッドのバランス