【イーシーエヌ】

ECN(明示的輻輳通知) とは?

最終更新:
💡 捨てる前に印を付けて、混雑を知らせる

混雑したネットワークで、パケットを捨てる代わりに印を付けて輻輳を通知する仕組み。対応する受信側が送信側へ情報を伝え、送信側が送信量を調整する。

📌 このページのポイント
ECN:混雑の印と、送り返す通知送信側ECN対応を示すルーターIPに CE の印受信側CEを受け取るIP:ECTIP:CETCP ACK:ECEで送信側へ通知送信側:輻輳に反応して、送信量を調整TCPのCWRで、反応を受信側へ知らせる待ち行列がいっぱいなら、廃棄する場合も
RFC 3168のTCPでの例。IPのCEと、TCPのECE・CWRを区別します。
ひよこ ひよこ
ECNは、何を知らせるの?
ペンギン先生 ペンギン先生
ネットワークの輻輳、つまり混雑を知らせるよ。パケットを捨てることで知らせる代わりに、対応するパケットへ混雑の印を付ける。通知を受けた送信側が、輻輳制御で送信量を調整するんだ。
ひよこ ひよこ
ルーターは、ECEを付けるの?
ペンギン先生 ペンギン先生
RFC 3168の仕組みでは、ルーターが変えるのはIPヘッダーのECN欄で、混雑を示すCEにするよ。ECEはTCPのフラグで、受信側がACKで返すもの。IPの印と、TCPでの通知は役割が違うんだ。
ひよこ ひよこ
通知の後は、どうなる?
ペンギン先生 ペンギン先生
RFC 3168のTCPでは、送信側がECEを受けて輻輳に反応し、次の新しいデータパケットのCWRでその反応を知らせるよ。送信側・受信側の対応を確認する交渉もある。別の通信方式では、通知の伝え方も異なり得るね。
ひよこ ひよこ
なら、パケットは絶対に消えない?
ペンギン先生 ペンギン先生
消える場合はあるよ。RFC 3168でも、待ち行列がいっぱいなら廃棄すると説明している。ECNは廃棄の代わりに通知できる場面を増やす工夫で、すべての損失をなくすものではないんだ。
ひよこ ひよこ
どういうメリットがある?
ペンギン先生 ペンギン先生
混雑の通知だけを目的にパケットを捨てずに済めば、その廃棄による再送を減らせるよ。実際の遅延や効果は、混雑や制御、経路の対応に左右される。従来のTCPも、すべてタイムアウトだけで判断するわけではないので、比較を単純化しすぎないようにしよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ECN」って出てきたら「パケットへの印で混雑を知らせ、送信量を調整する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Explicit Congestion Notification」 = 明示的輻輳通知
💬 ネットワークの混雑(Congestion)を、パケットを落とすのではなく「明示的(Explicit)に通知(Notification)」することからこの名前がついたんだよ。

参考資料

← 用語集にもどる