Nullルート

読み:なるるーと / 英語表記:null route

宛先に一致したパケットを、どこにも転送せずに破棄するための経路。集約した経路の範囲のうち、使っていないアドレス宛てのパケットが、ルータ間を行ったり来たりするルーティングループを防ぐために設定する。

イマシルちゃんの解説

会社のアドレスの範囲のうち、まだ使っていない住所あての荷物が届いたとするね。

社内のルータは「そんな住所はないから、外に返そう」(デフォルトルート)、
外のルータは「その範囲は会社あてだから、会社に戻そう」って、
2台の間で荷物がずっと行ったり来たりしちゃうんだ。
そこで、「使っていない住所あては、ここで捨てる」っていう道を作っておくのがNullルートなんだよ!

より深い解説

定義

Nullルートは、出口のインタフェースを、パケットを破棄するための仮想的なインタフェース(Null0、Nullインタフェース)にした経路である。ブラックホールルートとも呼ばれる。

ルーティングループが起きる仕組み

組織の境界にあるルータBと、ISPのルータAが、次のように設定されている場合を考える。

ルータ経路
ISPのルータA組織に割り当てたプレフィックス(例:2001:db8:yyyy::/48)宛ては、ルータBへ
組織のルータB組織の中で使っている /64 の経路(OSPFv3で学習)と、デフォルトルート(::/0)はルータAへ

組織に割り当てた範囲のうち、使っていないアドレス宛てのパケットがインターネットから届くと、

  1. ルータAは、/48 の経路に従って、ルータBに送る
  2. ルータBは、該当する /64 の経路がないため、デフォルトルートに従って、ルータAに送り返す
  3. 1と2を繰り返す

パケットは、IPv6のホップリミット(IPv4のTTL)が0になるまで2台の間を行き来し、最後に破棄される。その間、回線の帯域とルータの処理能力をむだに使う。

Nullルートによる対策

ルータBに、組織に割り当てられた範囲全体(/48)の経路を、出口をNullにして設定する。

宛先ルータBの経路の選択
使っている /64 宛て/64 の経路(OSPFv3)がより長いので、そちらが選ばれ、正しく転送される
使っていない /64 宛て/48 のNullルートが、デフォルトルート(/0)より長いので選ばれ、破棄される

このように、Nullルートはロンゲストマッチの規則と組み合わせて働く。

そのほかの使い方

使い方内容
経路集約の広告BGPで集約した経路を広告するとき、ルータの中に集約経路のNullルートを置いておく。集約範囲の中の一部の経路が消えても、ループを防げる
DDoS攻撃への対策攻撃を受けているアドレス宛ての通信を、上流のルータで捨てる(RTBH:リモートトリガーブラックホール)
不要な宛先の遮断特定の宛先への通信を、経路の段階で捨てる

午後での問われ方

「Nullルートを設定しない場合、未使用のアドレス宛てのパケットを、ルータはどのように処理するか」に対しては、ホップリミットが0になるまで相互に転送し合い、廃棄する、という流れを答える。また、Nullルートとデフォルトルートの両方に一致するパケットでNullルートが選ばれる理由は、ロンゲストマッチである。

実際の試験ではここに出る!

この用語が出てくる記事

↑