デフォルトゲートウェイは便利な仕組みだが、悪くいえば「丸投げ」なので、無駄なパケットが発生する場合がある。そこで、丸投げではなくきちんと目的にパケットを転送する方法として、ルータにルーティングの設定を行なってみよう。
きちんと宛先を設定する
前回同様に、図1のネットワークで、192.168.1.0/24ネットワーク側から192.168.3.3のようにルータBにもつながっていないアドレス宛にパケットを送ったとしよう。
このパケットを受け取ったルータAは、自身に直結していないIPアドレスが宛先になっているので、無条件でルータBに転送する。今度はこのパケットを受け取ったルータBだが、こちらも自身には直結していないのでルータAに送り返す。パケットにはTTL(Time To Live)が設定されているので、そのうちどちらかのルータが破棄してくれる(画面1)。
とはいえ、これはネットワークの帯域を浪費する意味のないやり取りであるうえ、ルータにも負担がかかる。つまり、今回のようにルータの数が少なく、つながるネットワークが把握できているのであれば、それぞれきちんとルータに設定したほうがよい。そうすることで、無駄なやり取りが減らせるわけだ。
では具体的に、どのように設定すればよいのだろうか。まずはルータAから見ていこう。
ルータAがルータBに転送しなければならないパケットは、宛先がルータBにつながったネットワークのものだけである。今回の例に挙げたネットワークでは、192.168.2.0/24宛のパケットだけだ。そこで、画面2のように設定を変更する。
この状態で、192.168.1.0/24宛か192.168.2.0/24宛ではないパケットを受け取っても、転送先がルーティングテーブルにないので、何らかのエラーを返してくるはずだ。pingコマンドで試してみたところ、PCには画面3のように表示された。ルータAのルーティングテーブルに登録されていないネットワークアドレスなので、予想通り転送せずに送信元にエラーを通知しているわけだ。
一方のルータBにも、ルータAと同様の設定が必要になる。こちらは192.168.1.0/24宛のパケットを10.0.0.2のインターフェイスから10.0.0.1宛に送信すると設定すればよい(画面4)。
●
ここまで試してきたのは、すべてルーティングテーブルを手動で設定する「静的ルーティング」である。ルータの台数が少なく、収容するネットワークがそれほど多くなければ静的ルーティングでも問題ない。しかし、ルータの台数や管理対象となるネットワークが増えてくると、設定変更などの手間もかかるし、入力ミスでパケットがルーティングされないといった事故も起こり得る。
そこで次回は、ルータの台数を増やしてネットワークを複雑にしつつ、ルーティングテーブルを自動で更新する「動的ルーティング」を試してみたい。
この連載の記事
-
第13回
ネットワーク
OSPFを実際に設定してみよう! -
第12回
ネットワーク
OSPFの通信手順と代表ルータを理解しよう -
第11回
ネットワーク
大規模ネットワークでも使えるOSPFとは? -
第10回
ネットワーク
ルーティング情報を自動更新するルーティングプロトコルとは? -
第9回
ネットワーク
経路が複数あるときのルータ設定とその動作 -
第7回
ネットワーク
ルータとルータを結ぶネットワークの仕組みを知ろう -
第6回
ネットワーク
ルーティングテーブルからパケットの経路を決める手順とは? -
第5回
ネットワーク
ルーティングの基本動作を見てみよう -
第4回
ネットワーク
IPアドレスからMACアドレスを導くARPの中身を見てみよう -
第3回
ネットワーク
TCP/IPの基本、IPアドレスで直接通信する仕組みを知ろう - この連載の一覧へ