付録B. 輻輳制御疑似コード (Congestion Control Pseudocode)
本付録は、第7章で説明した輻輳コントローラーの実装例を説明します。
B.1. 関連定数 (Constants of Interest)
- kInitialWindow: 初期輻輳ウィンドウ
- kMinimumWindow: 最小輻輳ウィンドウ
- kLossReductionFactor: ウィンドウ削減係数(推奨:0.5)
- kPersistentCongestionThreshold: 持続輻輳期間(推奨:3)
B.2. 関連変数 (Variables of Interest)
- max_datagram_size: 現在の最大ペイロードサイズ
- ecn_ce_counters[kPacketNumberSpace]: ECN-CEカウンター値
- bytes_in_flight: インフライトパケットの総バイト数
- congestion_window: 許可される最大インフライトバイト数
- ssthresh: スロースタート閾値
B.3-B.9. アルゴリズム関数
輻輳制御アルゴリズムを実装する関数:
- B.3. 初期化: 輻輳制御変数の初期化
- B.4. パケット送信時: インフライトバイトの更新
- B.5. パケット確認応答時: 確認応答されたパケットの処理
- B.6. 新しい輻輳イベント時: 輻輳検出の処理
- B.7. ECN情報の処理: ECNフィードバックの処理
- B.8. パケット損失時: パケット損失の処理
- B.9. 破棄されたパケットの削除: 破棄されたパケットのバイト数更新
注記:完全な疑似コード実装については、RFC 9002公式文書の付録Bを参照してください。