要約
- RFC 9937 の PRR は、高速回復中に送信側が ACK ごとに送る量を整える。目標の
ssthreshは輻輳制御アルゴリズムが選び、PRR はそこへ flight size を近づける。 SndCntが正しく計算されたことは、送信側の許可を示すにとどまる。ボトルネック、受信アプリケーション、他事業者のキュー、顧客結果を示すものではない。
障害会議では、ACK の再開が「回復」の短い同義語になりがちだ。しかし RFC 9937 が定めるのは、その短縮を正当化する規格ではない。2025 年 12 月の Standards Track 文書は RFC 6937 を置き換え、TCP 等の高速回復時に送るデータ量を調整する。終了時の実際の flight size を、輻輳制御アルゴリズムが選んだ ssthresh に可能な限り近づけるためである。
送信側は DeliveredData、inflight、RecoverFS を最良推定として持つ。ACK が示す配達、未確認データ、回復期間に配達され得る量はいずれも、経路全体の台帳ではない。SafeACK と回復カウンタも合わせて SndCnt を決める。目標より上なら比例的に送り、下なら保守的な境界を使い、進捗が良い ACK のときだけ限定的に緩める。終了時に cwnd を ssthresh にすることは、バーストを生み得るため、別途 pacing が推奨される。
SACK があれば精度は上がるが必須ではない。損失検出の方法も異なり得る。SACK のない場合には、余分な duplicate ACK が配達推定を膨らませないよう制限まで置かれている。これは PRR が慎重でないという意味ではない。慎重なローカル計算も、観測していないキューや受信側の処理を知ることにはならないという意味である。
増分導入は送信側の輸送実装だけを変え、受信側やネットワークの変更を要求しない。Reno や CUBIC と使えても、公平性は輻輳制御アルゴリズムが担う。送信スケジューラが共有資源の判定者になるわけではない。
残すべきは緑の一語ではなく、制御アルゴリズム、ssthresh、ACK/SACK と損失検出の入力、推定値、SndCnt、再送/pacing、ウィンドウとアプリケーション制約、そして後段の独立観測である。亨路の実行中コード優先は、実装が算出した事実を尊重しつつ、それを経路全体の権威にしないための境界である。
出典
- https://www.rfc-editor.org/rfc/rfc9937.html
- https://www.rfc-editor.org/rfc/rfc6937.html
- https://www.rfc-editor.org/rfc/rfc5681.html
- https://www.rfc-editor.org/rfc/rfc6675.html
- https://www.rfc-editor.org/rfc/rfc2018.html
- https://www.rfc-editor.org/rfc/rfc9438.html
- https://www.rfc-editor.org/rfc/rfc8985.html
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加

