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