本サイトはPRが含まれています。
ルーティングって段々分かって来たけど、本番環境において宛先のIPアドレスって沢山あるよね?全部の宛先を設定する事なんてできないし、実際はどうやるの?
チャーチルさん
ポン先生
うん、面倒な時に使える魔法のルートがあるんだ。実質これさえあれば全ての通信をルーティングする事ができるよ(ちゃんと使い方は考える必要あるけど)。
ネットワークが大きくなればそれだけ宛先IPアドレスの数は増えます。そんな時に便利なのがデフォルトルートです。とりあえず設定しておけばルーティングはしてくれますが、何故必要なのか、そもそもどんな意味なのか理解できていますか?この記事で勉強して正しくデフォルトルートを設計できるようになりましょう。
HAL校長
目次
デフォルトルートとは
デフォルトルートとは
デフォルトルートとは、ルーティングテーブル上に該当する経路情報がない場合に利用されるルーティング設定です。つまり『転送先が分からなくて困った時は全部ここへ投げちゃえ~』なルートで、Last Resort(最後の手段)とも言われます。アドレスとしては“0.0.0.0/0”で表現されます。
例えば上記のような構成で、ルータ1から見て宛先セグメントは複数あります。本来ルータ1のルーティングテーブルは以下のようになっている必要がります。
宛先セグメント ネクストホップ
172.16.1.0/24 192.168.1.254
172.16.2.0/24 192.168.1.254
172.16.3.0/24 192.168.1.254
一方、個別の経路情報が無かったとしてもデフォルトルートを使い下記のように構成する事が可能です。
宛先セグメント ネクストホップ
0.0.0.0/0 192.168.1.254
このケースでは3経路ともネクストホップが同じなのでデフォルトルート1本で設定する事ができました。個別経路でもデフォルトルートでも、ルーティング時の動作そのものに違いはありません。このようにデフォルトルートは経路情報の欠落を補う事ができます。
0.0.0.0/0の意味
では何故0.0.0.0/0と書くとそれがデフォルトルートになるのでしょうか?これは単純にアドレス範囲とロンゲストマッチで考えれば分かります。まず、アドレスの範囲を考えます。サブネットマスク(/xxの部分)は数字が小さい程サブネットが大きく含まれているIPアドレスの数が多いのでしたよね。
■サブネットマスクとアドレスレンジ
セグメント | アドレスレンジ |
---|---|
0.0.0.0/0 | 0.0.0.0~255. 255. 255. 255 |
0.0.0.0/1 | 0.0.0.0~127.255.255.255 |
0.0.0.0/2 | 0.0.0.0~63.255.255.255 |
~ | ~ |
0.0.0.0/29 | 0.0.0.0~0.0.0.7 |
0.0.0.0/30 | 0.0.0.0~0.0.0.3 |
つまり0.0.0.0/0は全てのIPアドレスを含む書き方になるので、宛先IPアドレスがどんな値であっても必ずデフォルトルートでカバー可能、という事になります。
一方、個別経路とデフォルトルートが混在していたらどうなるでしょう?例えばルーティングテーブルが下記のようになっている場合です。
宛先セグメント ネクストホップ
0.0.0.0/0 10.1.1.1
172.16.1.0/24 192.168.1.254
宛先IPアドレスが172.16.1.100だった場合、ネクストホップは192.168.1.254の方が採用されます。これはロンゲストマッチによって決まります。ロンゲストマッチとは、ルーティングテーブル上に複数経路情報の候補がある場合、宛先IPアドレスに一番一致している経路情報が採用されるというルールです。
宛先IPアドレス:172.16.1.100で考えた時、0.0.0.0/0よりも172.16.1.0/24の方がより一致している為0.0.0.0/0は採用されません。逆に言えば宛先IPアドレスを含む経路情報がルーティングテーブル上に無ければデフォルトルート(0.0.0.0/0)が最終手段として採用されるという事になります。
個別の経路設定でルーティングするのか、デフォルトルートでルーティングするのか、設計の時に整理できていないと後で分からなくなりそうだなぁ~
チャーチルさん
デフォルトルートの利用用途
インターネット向け通信での利用
では具体的にデフォルトルートはどんな所で利用されるのでしょうか?一般的に多いのはインターネット向けの通信です。インターネットと言うのは超巨大なネットワークの集合体であり一企業のネットワークの比ではありません。2022年4月現在、インターネット上の経路数はIPv4で約90万、IPv6で約15万程度と言われています(測定ポイントや時期で数字はブレます)。この膨大な経路を全てルータに学習させるのはとても大変です。。。経路情報の学習だけで機器のリソースをかなり消費することになり、高価な機種が必要になってしまいます。
そこでデフォルトルートの出番です。企業や家庭のルータはデフォルトルート1本でインターネットに接続できます。90万→1になるので機器の負担が相当軽くなる事は容易に想像が付きますね。
ポン先生
もちろん、インターネット上のネットワーク機器(プロバイダの機器)は個別に経路情報を学習しなきゃイケないけど、企業・家庭の末端機器はデフォルトルートでとりあえずインターネット方向に向けば良いって事だね。
スタブネットワークでの利用
インターネット関係以外で言うと、スタブネットワークのルータもデフォルトルートで構成可能です。スタブネットワークとは末端のネットワークの事です。ネットワークの袋小路となっているエリアです。
スタブネットワークを中継するルータは以下のような状態になります。
- LAN側:ルータに直接接続しているセグメントのみ
- WAN側:他の全てのネットワーク
LAN側はルータ自身が知っている世界(個別のルーティング設定不要)、WAN側は知らない世界なのでWAN向けはデフォルトルート1本で済みます。ただし宛先によって転送先のルータが異なるような構成では、単純なデフォルトルート1本だけでは難しいのでそこは個別の設計が必要になります。
ポン先生
もちろんスタブだからと言ってデフォルトルートにすべきという訳ではなく、個別の経路情報をルータに学習させてもOKだよ。
ネットワークエンジニアを目指すならCCNAを取得しよう!
CCNAとはCisco社のメーカ認定資格です。CCNAの取得はネットワークエンジニアの基本的な知識やCisco製品の理解の証明になります。
特定メーカの資格で役に立つの?実際には他メーカの機種も扱うんじゃないの?
チャーチルさん
ポン先生
確かに業務上Cisco以外の機器を扱うことはあるだろうけど、最初にCiscoを勉強しておくと他の機器も理解しやすくなるんだ。
Ciscoは数あるネットワーク機器メーカの内の1社ですがディファクトスタンダードと言われています。つまり業界標準として位置付けられており、他メーカ機種でもCiscoのコマンドライン等を参考にしている事が多いです。そのため初見の機器でもCiscoと設定方法が似ており、「大体は分かる」なんてケースも多々あります。ネットワークエンジニアとしてはCiscoの学習はむしろ必須と言えるレベルでしょう。
また、Ciscoの資格と言っても独自仕様や製品の話だけでなく、ネットワークの一般的な知識も必要です。Cisco製品と言えベースはネットワークの標準規格に基づいて設計されており、CCNA取得でネットワークの一般的な知識も習得可能です。
上記理由からCCNAは非常におすすめの資格です。ネットワークエンジニアとして本格的に活躍したいのであれば是非チェックすべきでしょう。
【CCNAとは】難しい?勉強は?Cisco資格の登竜門 基本解説
まとめ
- デフォルトルートとは、転送先が不明な時に最終手段として利用されるルーティング設定
- アドレスは0.0.0.0/0
- 0.0.0.0/0は全てのIPアドレスを含む書き方
- 個別の経路設定があればそちらを優先(ロンゲストマッチ)
- インターネット向けルーティング設定でよく利用される
- スタブネットワークでも応用可能
実際には社内のアドレス帯は個別にルーティング設定、それ以外はインターネット方向にデフォルトルートなんて使い方もかなり多いです。何となくデフォルトルートの方にパケットは行くんだろうな~とは思いつつ、個別の経路設定が組み合わさると設定上は少し複雑に見えます。デフォルトルートの設定自体は簡単にできますが使い方一つでそのネットワークの生き死にが決まると言っても過言では無いです。まずはどういったルーティング設計にしたいのか、デフォルトルートは本当に必要か他の設定の方が良いのか、事前に整理はしておきましょう。