メトリック | 内部/外部 | フラット/階層型 | 更新タイマ | 種類 | VLSM | AD | |
RIPver1 | ホップ数 | 内部 | フラット | 30秒 | ディスタンスベクタ | 不可 | 120 |
RIPver2 | ホップ数 | 内部 | フラット | 30秒 | ディスタンスベクタ | 可 | 120 |
IGRP | 帯域幅・遅延・信頼性・負荷・MTU | 内部 | フラット | 90秒 | ディスタンスベクタ | 不可 | 100 |
EIGRP | 帯域幅・遅延・信頼性・負荷・MTU | 内部 | フラット | 変更時 | 拡張ディスタンスベクタ | 可 | 90(内部)170(外部) |
OSPF | 帯域幅コスト | 内部 | 階層型 | 変更時 | リンクステート | 可 | 110 |
IPX RIP | ティック値・ホップ数 | 内部 | フラット | 60秒 | ディスタンスベクタ | なし | |
BGP | パス属性や他の設定可能要素の値 | 内/外部 | 変更時 | パスベクタ | 可 | 200(内部)20(外部) |
*これでルーティングプロトコル全てではありません。CCNAの範囲内のみ。確信がない所は空欄にしておきます。
MTU(最大伝送ユニット) - そのパスが最大どれだけの転送能力があるかを示す。
VLSM(可変長サブネットマスク) - アドレスクラスA/B/Cのデフォルトサブネットマスクだけでなく、長さを変えられる。クラスレス。
AD(アドミニストレーティブ・ディスタンス) - どのルートソースを優先するかを決める数値。低い値が優先。
ディスタンスベクタ | リンクステート | 拡張ディスタンスベクタ | |
特徴 | 更新タイマとトリガ更新に基づき、隣接ルータとのみルーティングテーブル全体を交換 収束が遅いのでルーティングループが起きやすい |
トポロジー変更時、必要部分のみエリア内の全ルータにフラッド 収束早い ルータリソースの消費が多い |
ディスタンスベクタとリンクステートの両方の長所を結合している ルータリソースの消費が少ない 収束が非常に早い 複数のルーテッドプロトコル(IP/IPX/AppleTalk等)をサポート |
欠点の解決方法 | 最大ホップ数・スプリットホライズン・ルートポイズニング・ホールドダウンタイマ | 更新同期間隔を長くする | |
制約 | 収束遅延、ルーティングテーブルのサイズが大きくなる、アドレス空間の使用効率悪い | ルータ構成が複雑 | 各ルーテッドプロトコル毎にルーティングテーブルを持つので管理が大変 |
アルゴリズム | Bellman-Ford | Dijkstra(ダイクストラ) | DUAL |
トリガ更新(トリガアップデート):ディスタンスベクタの定期的なアップデートではルートの変更が全体に伝わるのが送れてしまい、その結果ルーティングループが発生する可能性がある。トリガ更新ではルート変更が検出されると即座にアップデートを送信する。
最大ホップ数:ホップカウントをメトリックにする場合、ルーティングループによって各ルータのルーティングテーブルに無限カウントのルートが発生する。そこで16ホップ数以上のルートは到達不能と見なしてそのルートを破棄することで、無限カウントのルートが延々とルーティングアップデートで伝播されることを避ける。
スプリットホライズン:あるルートに関する情報を、そのルート情報がやってきた方向に返さないようにする。例えばある冗談を教えてもらった人に同じ冗談をそのまま話しても成り立たないのと同じこと。
ルートポイズニング:到達不能になったルートをポイズンする(駄目にする)ことで、他のルータからのそのルートに関する誤った(最新でない)アップデートの影響を受けないようにする。
ポイズンリバース:あるルータがポイズンしたルートの情報を受け取った隣のルータが、「このルートのポイズン了解」という返事をすること。
ホールドダウンタイマ:一定時間内に行われた、ルートに影響を及ぼす可能性のある全ての変更を保持するようにルータに指示する。ルータがある経路のアクセス不可能情報を受け取ると、その経路をアクセス不能にマークして、ホールドダウンタイマを開始する。たとえそのルートがアクセス可能になっても、ホールドダウンタイマが切れるまではルートを更新しない。ホールドダウン期間中のルートはルーティングテーブルに「Possibly down」(恐らくダウン)と表示される。
ルータインタフェースに論理ネットワークアドレスを割り当てる
Router(config-if)#ip address ip-address subnet-mask
showコマンドでのサブネットマスクの表示形式を以下のように変更する。(デフォルトはdecimal
= 10進数表示 )
(show running-config は変わりません)
decimal = 172.16.11.55 255.255.255.0
bitcount = 172.16.11.55/24
hexdecimal = 172.16.11.55 0xFFFFFF00
Router#term ip netmask-format { bit-count | decimal | hexadecimal } <- 現在のセッションで
Router(config-line)#ip netmask-format { bit-count | decimal | hexadecimal } <- 特定のセッションで
スタティックルート:管理者が手動でルートを定義したい・小規模なネットワークでルート変更がほとんどないなどの場合、スタティックルートが使われる。
Router(config)#ip route [destination_Network] [mask] {Next_hop_address | exit_interface} [distance] [permanent]
[distance] - デフォルトのアドミニストレーティブ・ディスタンスは、exit_interfaceを指定した場合は0、Next_hop_address を指定した場合は1だが、任意でも指定可。
[permanent] - そのパスがアクティブな状態にない場合にもルーティングテーブルに保存されるようにする。
デフォルトルート:スタティックルートの一種。スタブネットワーク(ただ1つの経路によってアクセス可能なネットワーク)では、ルーティングプロトコルで最適経路選択をする必要がないので、デフォルトルートがよく使われる。ラストリゾートゲートウェイ(最後の手段としてのゲートウェイ)
Router(config)#ip route 0.0.0.0 0.0.0.0 [ Next_hop_address ]
Router(config)#ip classless <-ルーティングテーブルにない未知のサブネット宛のパケットをルータが破棄しないようにする
実際のネットワークを例にしてみると、
[Network-10.0.0.0] --- (I/F-172.16.2.2) -----------------(I/F-172.16.2.1) --- [STUB Netowrk-172.16.1.0]
ルータ1でのスタティックルート設定: R1(config)#ip route 172.16.1.0 255.255.255.0 172.16.2.1
ルータ2でのデフォルトルート設定: R2(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.2
以下のようなネットワークを例にします。
[Network-172.16.0.0] ---- (10.1.1.1) ---- (10.1.1.2)(10.2.2.2) --- (10.2.2.3) ---- [Netowrk-192.168.1.0]
Router(config)#router protocol [keyword]
protocol = rip/igrp/ospf/eigrp などを指定
[keyword] = igrp/ospf/eigrpなど自律システムを指定する場合に使う。
各ルータにルーティングプロトコルを設定
R1(config)#router rip
R1(config-router)#network 172.16.0.0
R1(config-router)#network 10.0.0.0
R2(config)#router rip
R2(config-router)#network 10.0.0.0
R3(config)#router rip
R3(config-router)#network 192.168.1.0
R3(config-router)#network 10.0.0.0
パッシブインタフェースを設定
R1(config-router)#passive-interface serial 0 <-
シリアル0へルーティングアップデートが伝播しないようにする
IGRPでメトリックが等しくない幾つかのルートでも、負荷を分散させるための設定。
R1(config-router)#variance [ 1-128 ] <-負荷分散するルートの最低メトリックと最高メトリックの差を指定する
R1(config-router)#traffic-share { balanced | min } <-負荷分散するルート間でトラフィックをどう分散するか
設定を確認する
RouterA#show ip protocols <-各ルーティングプロトコルのタイマー、アドミニストレーティブディスタンス表示
RouterA#show ip route <- IPルーティングテーブル表示
RouterA#debug ip rip <-ルータ上でRIPルーティング更新情報が送受信される度、コンソールに表示させる
RouterA#debug ip igrp events [ ip-address ] <-ルータ上でIGRPルーティング情報のサマリを表示。[ ip-address ]パラメータで表示ネイバーを特定
RouterA#debug ip igrp transactions [ ip-address ] <-ルータ上でIGRPルーティングトランザクションを表示。[ ip-address ]パラメータで表示ネイバーを特定
RouterA#undebug all 又は no debug all <-動作しているデバッグを全て終了。
参照:CiscoCCNA教科書-青本(翔泳社)/CCNA認定ガイド第2版(日経BP) for 640-507/Ciscoデバイス相互接続入門-CCNA試験番号640-507対応(ソフトバンク)/