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

付録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を参照してください。