CCNA試験で中核となる設問は,ルーティングとスイッチングです。ルーティングはルータの主要機能であり,インターネットワークを実現する大事な役割を持っています。ルーティングの仕組みを学習するとともに,ルーティングテーブルやスタティックルーティングを理解しましょう。

ルーティング

 ルーティングは,日本語では経路選択と呼ばれます。インターネットワークでは複数のネットワークを経由してあて先にパケットを届けます。この際,「どのネットワークを経由していくか」ということを決定することがルーティングでです。

 ルータは受け取ったパケットのあて先から,次に経由するネットワークを決定し,パケットをそのネットワークに送り出します。この際に「ネットワークを決定する」ために使用する「地図」がルーティングテーブルです。ルーティングテーブルには,あて先に到達するための最適な経路(ベストパス)が記載されています(図1)。

 図1 ルーティングとルーティングテーブル

 このルーティングという処理でのポイントは2つあります。1つは「ルーティングテーブルからあて先を探す」こと。もう1つは「ルーティングテーブルをどのように作成するか」という点です。

 ルーティングテーブルからあて先を探す際には「最長一致(ロンゲストマッチ)」と呼ばれる法則が適用されます。あて先IPアドレスとルーティングテーブルのエントリを比べて,最も長く一致するエントリがルーティングに使用されるエントリとなります(図2)。

 図2 ロンゲストマッチ

 ロンゲストマッチのルールは,特に経路集約の際に重要です。経路集約については先の回で詳しく説明します。

ルーティングテーブルの作成

 ルーティングテーブルはルーティングで中心的な役割を担います。ルーティングテーブルが誤っていた場合,パケットは誤まった方向へ転送されることになり,あて先へ届かなくなります。このため,ルーティングテーブルは作成される際だけでなく,その後も必ず正しい状態になっていなければなりません。

 ルーティングテーブルを作成するためには,現在のネットワークの情報をルータが入手する必要があります。ルータがネットワークの情報を入手する方法としては,3種類に分けられます。

  • ルータ自身が接しているネットワーク ・・・ 直接接続
  • 管理者による手入力 ・・・ スタティックルーティング
  • ルータ間での情報のやりとりによる入手 ・・・ ダイナミックルーティング

 直接接続されたネットワークの情報は,そのルータが自動的に取得します。それ以外の離れた場所にあるネットワークの情報は,スタティックルーティングまたはダイナミックルーティングにより取得します。それぞれの利点と欠点は以下のようになります。

スタティックルーティングダイナミックルーティング
ルータの処理量小さい情報をやりとりし,計算するのでルータに負荷がかかる
管理者の作業量手入力のため,初期設定や変更時に作業量が多い初期設定さえしてしまえば,自動で設定されるため作業量は少ない
ルーティングテーブルの維持変更があるたびに手動で入力する必要がある自動的に維持される
帯域の使用なしルータが情報をやりとりするため,帯域を使用する

 このような利点と欠点を持つため,「ルータの数が少なく,ネットワークの変更などがあまり起こらない小規模ネットワーク」の場合はスタティックルーティングを,「ルータの数が多く,変更などが起こりやすい中~大規模ネットワーク」の場合はダイナミックルーティングを使用するのが一般的です。またネットワークの状態に合わせてスタティックルーティングとダイナミックルーティングを併用する方法もよくとられます。

 ダイナミックルーティングではルータ同士で情報をやりとりするためのプロトコルが必要です。このプロトコルを「ルーティングプロトコル」と呼び,ネットワークの環境や規模に合わせて複数存在します。ルーティングプロトコルについては先の回で詳しく説明します。

スタティックルーティング

 管理者がルーティングテーブルを手動で作成していく方法がスタティックルーティングです。スタティックルーティングはルータの負荷が小さいという利点がありますが,ネットワークに変化(ネットワークの追加や削除)があった場合,管理者がそれを認識して手入力する必要があり,一時的に誤まったルーティングをする可能性があります。このため,限られた小規模なネットワークで使用されます。

 ただし,ネットワーク環境が特殊な場合は,スタティックルーティングが使用されます(図3)。

 図3 スタブネットワーク
スタブネットワーク

 図3の場合,172.16.1.0/24ネットワークはルータBを経由して他のネットワークとつながっている袋小路のネットワーク(スタブネットワーク)です。このような場合,ルータBにとって172.16.1.0/24へのパスはルータAへのルートだけで,変更されることはありません。このため,ルータBには手動で172.16.1.0/24へのパスをルーティングテーブルに入力すれば済みます。

 IOSでのスタティックルートの設定は,IOS編 第8回でも説明したip routeコマンドを使用します。

  • (config)# ip route [ネットワークアドレス] [サブネットマスク] [インタフェース | ネクストホップ] {管理距離} {parmanet}
    • [ネットワークアドレス] [サブネットマスク]
      • 追加するルートのネットワークアドレスとサブネットマスク
    • [インタフェース | ネクストホップ]
      • 追加したルートへ送信する際のインタフェース,または次のルータのアドレス
    • {管理距離}
      • 省略可能。管理距離を指定された値に変更する。デフォルトは1
    • {parmanet}
      • 省略可能。インタフェースを指定した場合,通常はインタフェースがダウンするとルートは消えてしまうが,消えないように設定する

 例えば図3の場合,ルータBに以下のコマンドを入力することによりスタティックルートが設定されます。

  • (config)# ip route 172.16.1.0 255.255.255.0 10.1.1.2

 また,スタティックルーティングはデフォルトルートを設定する場合にも使用します(図4)。

 図4 デフォルトルート
デフォルトルート

 IOSでのデフォルトルートの設定は,「ip route 0.0.0.0 0.0.0.0」コマンドもしくは,ip default-networkコマンドが使用されます。一般的には「ip route 0.0.0.0 0.0.0.0」コマンドを使用する場合が多いようです。図4の例の場合は,ルータAに以下のコマンドを入力することにより,デフォルトルートが設定されます。

  • (config)# ip route 0.0.0.0 0.0.0.0 10.1.1.1

ルーティングテーブル

 ルーティングにとってルーティングテーブルは最も重要です。そのためか,CCNAではルーティングテーブルについての問題がよく出題されます。ルーティングテーブルの表示とその項目についてはIOS編 第5回でも説明していますが,ここでもう一度復習しておきましょう。

  • # show ip route ・・・ ルーティングテーブル確認(図5

 図5 ルーティングテーブル
ルーティングテーブル

 テーブルの各エントリの値は,以下のような意味になります(図6)。

 図6 ルーティングテーブルのエントリ
ルーティングテーブルのエントリ

 特に「次ホップのアドレス」「メトリック」「接続インタフェース」は重要な値です。これらの値によりネットワークの構成図がわかります。例えば,図5のルーティングテーブルからは以下のようなネットワーク構成になっていることがわかります(図7)。

 図7 図5より想像されるネットワーク図
図5より想像されるネットワーク図

 実際は次ルータから先の構成がどのようになっているのかということはルーティングテーブルからはわかりません。しかし,ネットワークの配置の概略はつかめます。ルーティングテーブルから構成図を,または構成図からルーティングテーブルを考えることができるようになることが重要です。