Cisco Systems社認定資格であるCCNA(Cisco Certified Network Associate)出題範囲における技術について、定期的にご紹介します。
CCNA資格は【ICND1】【ICND2】の2つの試験に合格することで取得できます。
今回はICND1の出題範囲であるダイナミックルーティングについて説明します。
ダイナミックルーティングとは?
ダイナミックルーティングとは、ルータなどが経路情報を互いに交換しあい、自動的に生成・更新し続ける経路表(ルーティングテーブル)に基づいて経路選択を行なうこと
ルーティングプロトコルの分類
ルーティングプロトコルは、その動作方式によっても区別されています。 ルーティングテーブルの更新方法、経路情報の内容、保持の仕方はこの区分によって異なります。
|
ディスタンスベクタ |
リンクステート |
ハイブリッド |
コンバージェンス |
遅い |
早い |
早い |
交換する経路情報 |
テーブル全体 |
一部 |
一部 |
交換する情報量 |
多い |
少ない |
少ない |
ルータへの負荷 |
低い |
高い |
中 |
IPアドレス |
クラスフル/クラスレス |
クラスレス |
クラスレス |
動作範囲 |
AS内部 |
AS内部 |
AS内部 |
次ページから、それぞれの方式についてみていきます。
ディスタンスベクタ方式
ディスタンスベクタ方式は、距離(Distance)と方向(Vector)に基づいて目的のネットワークへの最適経路を計算する方式です。
◆アップデート方法
この方式のアップデートでは、ルータ同士が伝言ゲームのようにネットワーク情報を交換し、ネットワークを学習していきます。
このアップデートは、直接接続しているルータとの間のみで交換されます。
アップデートを交換するタイミングは、障害の発生、ネットワークの追加等のイベントに関係なく、定期的に行われます。
◆アップデートの内容
ルータ同士で交換されるアップデートの内容は、自身の持つルーティングテーブルの全内容を通知します。
◆ディスタンスベクタ方式のルーティングプロトコル
これらの特徴を持つルーティングプロトコルとしては、RIPv1、RIPv2、IGRPが挙げられます。
リンクステート方式
リンクステート方式は、各ルータがリンク情報のデータベースを作成し、そのデータベースを基に宛先ノードへの最短経路を計算する方式です。
◆アップデート方法
この方式のアップデートでは、「隣接関係」と呼ばれる関係になったルータ同士でのみ情報を交換し、ネットワークを学習していきます。
このアップデートを交換するタイミングは、障害発生、ネットワークの追加等のイベント発生時にのみ交換されます。 これを「トリガーアップデート」といいます。
上図の例では、ルータC、ルータD、およびルータEは、隣接関係を結んだルータAとルータBの2台とだけ、アップデートを交換します。 ルータCとルータD間や、ルータDとルータE間では隣接関係を結ばないため、アップデートの交換は行われません。 詳細については、別の章で解説します。
◆アップデートの内容
ルータ同士で交換されるアップデートの内容は、障害発生、ネットワークの追加等の差分情報のみが交換されます。
◆リンクステート方式のルーティングプロトコル
これらの特徴を持つルーティングプロトコルとして、OSPFが挙げられます。
ハイブリッド方式
ハイブリッド方式の特徴は、ディスタンスベクタ方式とリンクステート方式の両方の特徴を合わせ持っていることです。
◆アップデート方法について
この方式のアップデートでは、ルータ同士が伝言ゲームのようにネットワーク情報を交換し、ネットワークを学習していきます。
アップデートはディスタンスベクタ方式と同じく、直接接続しているすべてのルータと交換します。
アップデートを交換するタイミングは、リンクステート方式と同じく、障害の発生、ネットワークの追加等のイベント発生時にのみ交換されます。
上図のような環境では、5台のルータが直接接続している全てのルータとネットワーク情報を交換することになります。
◆アップデートの内容
ルータ同士で交換されるアップデートの内容は、リンクステート方式と同じく、障害の発生、ネットワークの追加等の差分情報のみが交換されます。
◆ハイブリッド方式のルーティングプロトコル
これらの特徴を持つルーティングプロトコルとしては、EIGRPが挙げられます。
クラスフルルーティング
クラスフルルーティングとは、ルーティングアップデート内に、サブネットマスク情報を含まないルーティングです。
クラスフルルーティングは、このような特徴があるため、ネットワーク内が同じサブネットマスクを使用している環境を前提としています。
このタイプのルーティングプロトコルとしては、RIPv1、IGRPが挙げられます。
クラスレスルーティング
クラスレスルーティングとは、ルーティングアップデート内に、サブネットマスク情報を含むルーティングです。
クラスレスルーティングは、このような特徴があるため、VLSMなどの複雑なサブネット環境もサポートできます。
このタイプのルーティングプロトコルとしては、RIPv2、OSPF、EIGRPが挙げられます。
アドミニストレーティブディスタンス
ローカルルータにおいて、複数の学習方法で同一の宛先のネットワークを学習した場合、より信頼性のあるルートをルーティングテーブルに登録する必要があります。
上図の例では、全てのルータでRIP、OSPFの複数のルーティングプロトコルが同時に動作しています。
ルータAにおいて、192.168.1.0ネットワークへの最適経路として、RIPでは上側の経路を選択し、OSPFでは下側の経路を選択しています。
しかし、ルーティングテーブルに登録される情報は、1つの学習方法のルートのみです。
このような場合、アドミニストレーティブディスタンス値を使用して信頼性の比較が行われます。
アドミニストレーティブディスタンスのデフォルト値は上記のとおりです。
この値は低くなるほど信頼性が高いと判断されます。
上記の構成例では、アドミニストレーティブディスタンスの値を比較して、信頼性のより高いOSPFのルートがルーティングテーブルに登録されることになります。
メトリック値
ローカルルータにおいて、同一の学習方法で同一の宛先のネットワークを学習した場合、より最適なルートをルーティングテーブルに登録する必要があります。
上図の例では、ある同一のルーティングプロトコルが全てのルータで動作しています。
ルータAにおいて、192.168.1.0ネットワークへの経路として、上の経路と下の経路を学習しています。
しかし、ルーティングテーブルに登録されるルートは最適なルートのみですから、このような場合にメトリック値を参照して比較します。 メトリック値は宛先ネットワークとの距離を表す値です。 同じネットワークへのルートが複数ある場合、このメトリック値が低い経路を近いと判断し、そのルートが採用されます。
メトリックは、ルーティングプロトコルによって異なります。
例えば、RIPではホップ数をメトリックとして採用しています。 ホップ数とは、宛先ネットワークへ到達するために経由するルータ数を表します。 つまり、経由するルータ数が少ない経路を最適な経路として判断するということです。
CIDR(Classless Inter-Domain Routing)
CIDRは、従来のようなクラスAやクラスB、クラスCといったクラス分けにとらわれず、任意のビット長のネットマスクを使って、IPアドレスを管理するための手法です。
具体的には、複数のネットワークを集約することによって、ルーティング処理にかかる負荷を減少させるといったことができます。
上図の環境では、ルータBのF0/1側には192.168.0.0~192.168.31.0のクラスCネットワークが構成されています。
通常、ルータAがこの全てのネットワークをルーティングテーブルに登録する際は、クラスCネットワークを1つずつ登録することになします。
しかし、このようにルーティングテーブルへの登録を行うと、ルータのリソース(CPUやメモリ)を消費し、ルーティング処理にかかる負荷が懸念されることになります。
このような場合に、CIDRの手法を使うことによって複数のネットワークエントリを1つに集約し、負荷を減らすことができるのです。
アドレスの集約
ここでは、前ページのネットワークエントリの集約がどのようにして実現されるかを確認してみます。
上記のそれぞれのネットワークアドレスの2進数の値に注目すると、どのアドレスも先頭から19ビット目までは共通して使われていることがわかります。
このとき値が変化しているのは、20ビット目から本来のクラスCアドレスのネットワーク部末尾のビットである、24ビット目までとなります。
CIDRでは、このビットの組み合わせ分のクラスフルアドレスを集約することができるのです。
CIDR表記する場合は、共通で使用されているビットを「1」で表し、それ以外のビットを「0」で表します。
これを10進数に変換すると「255.255.224.0」、プレフィックスレングスで表すと「/19」と表現することができます。
算出されたプレフィックスレングス(/19)をIPアドレス192.168.0.0と組み合わせ、「192.168.0.0/19」とすることで32個のクラスCアドレスを1つのアドレスで表すことができます。
ルータBは、この集約された経路情報をルータAに通知することで、ルータAのルーティング処理の負荷を減らせるのです。