要約

  • RFC 7141は二つの判断を分ける。ネットワーク機器は個々のパケットサイズに応じて表示・廃棄確率を変えず、転送層は損失または表示されたパケットのオクテット数に比例して輻輳通知の強さを解釈する。
  • この分担は小さなパケットへのネットワーク側の割引を避けるが、転送層の応答を指定せず、同じビットレートも、広範な導入も保証しない。

同じレートでもパケット数は25倍

ルーターにとってパケットは処理単位だが、リンクにとってはオクテットを運ぶ容器である。キューが満杯になる前に輻輳を知らせる能動キュー管理(AQM)では、この違いが重要になる。1990年代末のRandom Early Detection(RED)は議論の焦点の一つだった。RFC 2309は帯域利用に近い損失を目指し、バイトモード廃棄にも触れていた。しかし、小さなパケットほど廃棄されにくくなれば、サイズそのものが利点になる。

2014年にBest Current Practiceとして公開されたRFC 7141は、この問題を整理し直した。例では、48 Mbpsの二つのフローを比べる。一方は60オクテット、もう一方は1,500オクテットのパケットを送る。小さなパケットは25倍の数になる。すべてのパケットに0.1%の廃棄確率を適用すると、小パケット側は廃棄数が多くなるが、この例では両者の損失ビット数は同じだ。バイトモード廃棄なら小パケットの確率を25分の1にし、パケット損失数をそろえる一方、小パケット側の損失ビット数を大幅に減らす。これは算術例であり、実ネットワークの測定値ではない。

RFCの結論は二層に分かれる。ネットワークでは、個々のパケットを廃棄またはECN表示する確率をそのサイズに依存させない。REDについてはバイトモード廃棄を使わないよう勧める。小パケットを表示されにくくすると、細分化の誘因となり、極小パケットの洪水にも利用され得るからだ。ただし、バイトモードのキュー測定まで否定してはいない。ビットがボトルネックとなるリンクはキュー長をバイトで測り、パケット処理が制約となる資源はパケット数を使う場合がある。測定単位と表示確率の偏りは別の設計判断だ。

転送層には、損失または表示されたパケットのオクテット数に比例して通知の強さを解釈するよう勧める。概念上は、パケット内の各オクテットに輻輳通知があるとみなす。端点なら自らのパケット化を踏まえて判断できるため、共有ネットワークに各転送方式の公平さを決めさせずに済む。これは長期的な解釈目標であり、すべての転送方式にアルゴリズム変更を命じるものではない。TCPフローのビットレートを等しくすべきとも主張しない。等しいビットレートが必要なら、ネットワークではなくTCPを変えるようRFCは述べる。

ECN表示パケットを分割・結合するときも、表示されたオクテット数を保つことが推奨される。ただし既存プロトコルとの互換性が難しければ例外があり得る。その後RFC 7567はRFC 2309の一般的なAQM推奨を置き換え、RFC 7141の考え方を参照した。RFC 7141自身のRED調査は対象が限られると明記し、バイトモード廃棄の導入例はほとんど、あるいは全くないようだと述べる。標準が示すのは設計勧告と歴史的な議論であり、普遍的な導入、具体的な攻撃、現在の機器設定ではない。

出典:RFC 7141 · RFC Editorの記録 · RFC 2309 · RFC 2914 · RFC 3168 · RFC 7567 · RFC 5681 · RFC 6679 · RFC 3550 · RFC 2474