ただし、simple-routerのソースに入る前にルータが何をしているのかを調べておきます。
今回はルータやL3スイッチなどの動作の一つ、ルーティングおよびルーティングテーブルについてです。
ルーティングとはパケットを宛先まで送る際に、最適な経路の選択をする事を言います。
その経路を選択するのに使用するのがルーティングテーブルです。
ルーティングテーブルには宛先までの経路情報が記録されています。
ルータ等はパケットの宛先IPアドレスを元にルーティングテーブルを参照して、次はどこにパケットを送るかを決定します。
ルーティングテーブルから次のパケット転送先が特定出来ない場合、パケットは破棄されます。
■ルーティングテーブルには以下のような情報が記録されています。
宛先ネットワーク |
宛先ネットワークアドレスとネットマスクの情報。 ルーティングをする際は宛先IPアドレスと宛先ネットワーク情報から経路を選択する |
ネクストホップ | 宛先ネットワークに到達する為に、次のパケット送り先となるネットワーク情報。 |
メトリック | 宛先ネットワークへの経路が複数存在する場合の優先順位です。 |
出力インターフェイス | ネクストホップのパケット出力先インターフェイス。 |
その他 | 経路を学習してからの経過時間や経路の情報源等 |
■ルーティングテーブルの作られ方
・スタティックルーティング(静的経路制御)
管理者の手でルート情報をルーティングテーブルに追加しておく方法です。
・ダイナミックルーティング(動的経路制御)
ルーティングプロトコルにより自動でルーティング追加・管理させる方法です。
以下はルーティングテーブルに関する動作についてです。
■ルート集約
ルーティングテーブルの複数の経路情報のエントリをまとめる事です。
エントリをまとめる理由は、宛先毎に経路情報を保持していくとルーティングテーブルのエントリーががどんどん多くなり、経路を見つけるまでの時間がかかるようになったり、大量のメモリが必要になるためです。
例えば以下の2つのルーティングは一つにまとめられます
この例を2進数表示と合わせて表にすると以下のようになります。
まずは集約前のルーティングテーブルの状態です。
この2つの経路情報はネクストホップが同じであり、サブネットマスクを/24から/23にする事で両方のネットワークを表すことができるため、エントリを一つにまとめることができます。
サブネットマスク/24から/23にすると以下のようになります。
例のルーティングテーブルのサブネットマスクを/24→/23に変更したネットワークアドレスは以下のようになります。
このように全く同じ内容になるため、集約できるわけです。
エントリをまとめる理由は、宛先毎に経路情報を保持していくとルーティングテーブルのエントリーががどんどん多くなり、経路を見つけるまでの時間がかかるようになったり、大量のメモリが必要になるためです。
例えば以下の2つのルーティングは一つにまとめられます
宛先 | ネクストホップ | 宛先 | ネクストホップ | |
---|---|---|---|---|
192.168.0.0/24 | ルータ1 | → | 192.168.0.0/23 | ルータ1 |
192.168.1.0/24 | ルータ1 |
この例を2進数表示と合わせて表にすると以下のようになります。
まずは集約前のルーティングテーブルの状態です。
宛先(10進数) | 宛先(2進数) | ネクストホップ |
---|---|---|
192.168.0.0/24 | 11000000.10101000.00000000.00000000 | ルータ1 |
192.168.1.0/24 | 11000000.10101000.00000001.00000000 | ルータ1 |
この2つの経路情報はネクストホップが同じであり、サブネットマスクを/24から/23にする事で両方のネットワークを表すことができるため、エントリを一つにまとめることができます。
サブネットマスク/24から/23にすると以下のようになります。
11111111.11111111.11111111.00000000 |
↓ |
11111111.11111111.11111110.00000000 |
例のルーティングテーブルのサブネットマスクを/24→/23に変更したネットワークアドレスは以下のようになります。
宛先(10進数) | ネットワークアドレス(2進数) | ネクストホップ |
---|---|---|
192.168.0.0 | 11000000.10101000.0000000 | ルータ1 |
192.168.1.0 | 11000000.10101000.0000000 | ルータ1 |
このように全く同じ内容になるため、集約できるわけです。
■ロンゲストマッチ
宛先ネットワークへの経路が複数存在する場合、プレフィックス長が長い方を選択します。
例えば以下のルーティングテーブルを持つルータを経由して192.168.1.1へパケットを送る時は 2の経路が選択されます。
以上です。例えば以下のルーティングテーブルを持つルータを経由して192.168.1.1へパケットを送る時は 2の経路が選択されます。
No | 宛先 | ネクストホップ |
---|---|---|
1 | 192.168.0.0/16 | ルータ1 |
2 | 192.168.1.0/24 | ルータ2 |
0 件のコメント:
コメントを投稿