Nullルート

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

経路表で選ばれたとき、対象のパケットをどこにも転送せずに破棄するための経路である。集約した範囲内でより具体的な経路がない宛先にも適用し、ルータ間で転送を繰り返すルーティングループを防ぐ。

イマシルちゃんの解説

Nullルートは、選ばれたパケットをほかへ転送せずに破棄するための経路だよ。
例えば会社のアドレス範囲を一つにまとめて外へ知らせても、その範囲内に社内の経路が見つからない宛先があるとするね。
社内のルータがそれを外へ送り返すと、外のルータは会社宛てとして戻してしまうことがあるんだ。
そこで、まとめた範囲に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ルートが選ばれる理由は、ロンゲストマッチである。

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

ネットワークスペシャリスト

午後Ⅱ
午後Ⅰ

この用語が出てくる記事

↑