|
ルーターはパケットを外部ネットワークなど別のネットワークに中継する装置である。
ルーターはパケットを中継するのに交換機能とパス決定機能という2つの基本的な機能を使う。パケットをインタフェースから他のインターフェースに転送するのが交換機能である。どのインターフェースに転送するのが最善かを決定するのがパス決定機能である。
以下の3段階の手順でパケットは処理される。これらの各手順はパケットが宛先に到達するために必須の項目である。
- パケットの宛先に到達できることを判定する。
宛先への経路のネクストホップと、そのホップへ到達できるインターフェイスを判別する。
パケットの Media Access Control(MAC; メディア アクセス制御)ヘッダーを書き換え、ネクストホップに正しく到達できるようにする。
以下は主に業務用の CISCO ルーターに関する情報です。
家庭用のブロードバンド
ルーターに関しては以下のサイトが参考になります。

1) ルーターの構成要素
 | ROM: ROMはルータのマザーボード上のソケットに挿入されるチップにある。ROMはブートストラップ(ルータを起動させる必要なだけのOS)を含む。ブートストラップは起動時に通常フラッシュメモリに存在する完全なOS(IOS)を参照する。ROMはPower-On-Self
Test(POST)に使われるコードも含む。 |
 | フラッシュメモリ(Flash Memory): フラッシュメモリには書き込みと消去が可能である。IOSイメージを保存するのに使われる。 |
 | NVRAM: 不揮発性 RAM。装置の電源を切断しても内容を保持するRAM。NVRAMにはルーターの設定ファイルが保存される。
|
 | RAM: PCのメモリと同様ルーターの動作の場である。起動時にIOSがフラッシュメモリからコピーされ、NVRAMからコンフィグレーション
ファイルがコピーされる。RAMにはランニング
コンフィグレーション、ルーティングテーブル、アクセスリスト、ARPキャッシュ、処理を待つパケットが蓄えられる。RAMに蓄えられた情報は装置の電源が切れると消える。 |
configure terminal、configure memory、configure network コマンドはルーターの
running configuration を設定する有効な方法である。
 | コンフィグレーション レジスターレジスター(Configuration
Register): コンフィグレーション レジスターは NVRAM に保存される16ビット
レジスターである。そのうちの4ビットはブート フィールドと呼ばれる。ブートフィールドは16進数で表される。ルーターは起動の過程でブート
フィールドの値を参照しどこから IOS を
RAM にロードするかを決定する。show version コマンドを使うとブート
フィールドの設定値を調べることができる。グローバル構成モードから
config-register コマンドを使うとブート フィールドの設定値を変更できる。
|
| コンフィグレーションレジスター設定 |
起動のプロセス |
モード |
| 0x2100 |
ROMから起動
ROMMONモードは低レベル コンフィグレーション
モードで手動でルーターを起動したり、診断テストを行える。 |
ROMMON
(ROM モニタ) |
| 0x2101 |
ROMに保存されている
mini-IOS を使って起動 mini-IOS はルーターの基本的診断とメンテナンス機能を実行するだけのコードを持つ。トラブルシューティングを行うのに有効なモードである。
|
RXBOOT |
| 0x2102 |
フラッシュメモリからIOSをロード |
デフォルト |
| 0x2102 〜 0x210F |
TFTPネットワークサーバーからIOSイメージをロード |
|
| 0x2141 |
ROM から起動し NVRAM のコンフィグレーション
ファイルを無視する。 |
|
| 0x2142 |
フラッシュ メモリから起動し
NVRAM のコンフィグレーション ファイルを無視する。
パスワードリカバリーに最適のモード |
|
2) ルーターの起動順序
1. Power on Self-Test (POST)を実行
2. ブートストラップが NVRAM のコンフィグレーション レジスターを参照しどこから
IOS を RAM にロードするかを決定する。通常フラッシュ
メモリに保存された IOS がロードされる。
 | フラッシュ メモリに IOS が見つからない場合、ネットワーク上にブロードキャストし利用可能なTFTPサーバーから IOS を探す。それでも見つからない場合
ROM から起動しROMモニタ モードになる。 |
 | グローバル構成モードから boot system tftp ip-address filename コマンドを使うと指定した TFTP サーバーの
IOS イメージを使って起動する。 |
3. NVRAM の設定ファイルを参照する。
4. 有効な設定ファイルが存在する場合、ロードされ実行される。削除あるいは破損のため有効な設定ファイルが存在しない場合、セットアップ
モードに入る。
セットアップ モードではルーターを起動させるのに十分な設定だけを行うことも、プロトコルとインターフェースの設定まで行うこともできる。セットアップモードで設定した設定は
RAM 上の running-config ファイルと
NVRAM 上の startup-config ファイルに同時に保存される。
*グローバル構成モードから setup コマンドを使うとセットアップモードに入ることができる。
3) ルーターへのアクセス方法
シスコのルーターやスイッチでは IOS(Internetwork
Oparationg System)という独自のOSが用いられている。IOS がルーターの核心部である。IOS をルーター
コンソール/端末またはリモート アクセスで実行する
CLI (Command - Line Interface) を使用して操作することでルーターの設定を行うことができる。
Windows PC
からルーターにアクセスするには以下の2つの方法でできる。
 | ルーターのコンソール ポートあるいはAUXポートとPCのシリアルポートを直接接続してハイパーターミナルでアクセス
|
 | ネットワークを介して Telnet を使ってアクセス
|
4) ルーター コマンドモード
Cisco IOS のユーザー インターフェイスには多数の異なるモードがある。現在どのモードを実行しているかによって使用できるコマンドが決まる。
ルーターでセッションを開始するとユーザー モードが開始される。ユーザー モードで実行できるのは限定された一部のコマンドだけである。全てのコマンドにアクセスするにはイネーブル モードを開始する必要がある。
コマンドモード |
プロンプト |
モードに入るための操作 |
モード終了方法 |
ユーザー |
Router> |
ルーターに端末を接続 |
端末をルーターから切り放す |
イネーブル |
Router# |
ユーザー モードから enable コマンドを入力 |
disable コマンドでユーザー モードに戻る。 |
グローバル構成モード |
Router(config)# |
イネーブル モードから config
t コマンドを入力 |
exit コマンドでイネーブル モードに戻る。
Ctrl-Z でイネーブル モードに戻る。 |
インターフェース構成 |
Router(config-if)# |
グローバル構成モードから interface コマンドを入力 |
exit コマンドでグローバル構成モードに戻る。
Ctrl-Z でイネーブル モードに戻る。 |
ルーター構成 |
Router(config-router)# |
グローバルモード構成から router コマンドを入力 |
exit コマンドでグローバル構成モードに戻る。
Ctrl-Z でイネーブル モードに戻る。 |
回線構成 |
Router(config-line)# |
グローバルモード構成から line コマンドを入力 |
exit コマンドでグローバル構成モードに戻る。
Ctrl-Z でイネーブル モードに戻る。 |
5) キーボードキーによる CLI 操作
| キー |
動作 |
| Ctrl-P または上向矢印 |
直前のコマンドを呼び出す |
| Ctrl-N または下向矢印 |
直後のコマンドを呼び出す |
| Ctrl-B または左向矢印 |
カーソル位置を1文字左に移動 |
| Ctrl-F または右向矢印 |
カーソル位置を1文字右に移動 |
| Ctrl-A |
コマンドラインの先頭に移動 |
| Ctrl-E |
コマンドラインの最後に移動 |
| Delete または Backspace |
カーソル位置の左の1文字を消去 |
| Ctrl-D |
カーソル位置の1文字を消去 |
6) ルーターの日付と時刻の設定と参照
| |
コマンド |
| ルーターの日付と時刻の設定 |
Router#clock set [**:**:**
Date Month Year] |
| ルーターの日付と時刻の設定参照 |
Router#show clock |
7) ルーターのパスワードの設定
パスワードはルーターへの不正なアクセスに対する主要な防御手段である。
| |
コマンド |
| イネーブルモードに入るパスワード設定 |
Router(config)#enable password
[password] |
| イネーブルモードに入るパスワード解除 |
Router(config)#no enable password |
| イネーブルモードに入る暗号化パスワード設定 |
Router(config)#enable secret [password] |
| イネーブルモードに入る暗号化パスワード解除 |
Router(config)#no enable secret |
| コンソール
ポートからのアクセス用パスワード設定 |
Router(config)#line con 0
Router(config-line)#login
Router(config-line)#password [password] |
| コンソール
ポートからのアクセス用パスワード解除 |
Router(config)#line con 0
Router(config-line)#no login |
| AUX ポートからのアクセス用パスワード設定 |
Router(config)#line aux 0
Router(config-line)#login
Router(config-line)#password [password] |
| AUX ポートからのアクセス用パスワード解除 |
Router(config)#line aux 0
Router(config-line)#no login |
| Telnet からのアクセス用パスワード設定 |
Router(config)#line vty 0 4
Router(config-line)#login
Router(config-line)#password [password] |
| Telnet からのアクセス用パスワード解除 |
Router(config)#line vty 0 4
Router(config-line)#no login |
8)
ルーターのホスト名・バーナー・IPアドレスの設定
| |
コマンド |
ホスト名の設定 |
Router(config)#hostname [host
name] |
| MOTD バーナーの設定 |
Router(config)#banner motd #
[message] # |
| ログイン バーナーの設定 |
Router(config)#banner login #
[message] # |
| IPアドレスの設定 |
Router(config)#int [interface, e0, s0, etc]
Router(config-if)#ip address [IP address] [musk]
Router(config-if)#no shut |
9) 動作中の設定の参照と NVRAM の設定ファイルへの保存
各種設定後 NVRAM
の設定ファイルに保存しないとルーターの電源が切れた場合にその設定は消えてしまう。
| |
コマンド |
動作中の設定の参照 |
Router#show run |
| 動作中の設定の NVRAM
の設定ファイルへの保存 |
Router#copy run start |
◆参考資料
シスコ技術情報
CLI
シスコ技術情報
Cisco ルータにおけるセキュリティの向上
10)
静的ルーティングと動的ルーティング
ルーターがパス決定する際に利用する知識や情報には静的知識と動的知識がある。静的知識に基づくパス決定を静的ルーティング、動的知識に基づくパス決定を動的ルーティングという。
静的知識とは手動で設定し管理されるもので、ネットワークに変更があればその都度手動で変更しなければならない。
動的知識とはルーティング
プロトコルにより自動的に取得される知識である。
11) 手動でのルート設定
スタブ
ネットワークと呼ばれるただひとつのパスでのみ他のネットワークと接続されるネットワークのルーターでは静的ルートあるいはデフォルト
ルート(ラスト リゾート ゲートウェイ)を設定するとよい。
| |
コマンド |
| 静的ルートの設定 |
Router(config)#ip route [destination
network ID] [musk] [gateway address] |
| デフォルト ルートの設定 |
Router(config)#ip route 0.0.0.0 0.0.0.0 [gateway
address]
Router(config)#ip classless |
デフォルト ルートの設定には ip
default-gateway、ip default-network などの
IP コマンドも使用できる。
ip default-gateway コマンドは ip
routing がシスコ ルータ上で無効になっているときにだけ使用する。
ip default-network コマンドを使用して複数のネットワークをデフォルト
ルート候補として設定すると、管理距離が最も短いネットワークがラスト
リゾート ゲートウェイのネットワークとして選択される。すべてのネットワークのアドミニストレイティブ
ディスタンスが同じ場合、ルーティング テーブルの中で最初にリストされているネットワークがラスト
リゾート ゲートウェイのネットワークとして選択される。
12) ルーティング プロトコル
ルーティング プロトコルは以下の二種類に分類される。
 |
距離ベクトル型 (Distance Vector) |
隣接ルータに対して定期的にルーティング アップデート
メッセージでそれぞれのルーティング
テーブルの全部または一部を送ることを相互に要求する。
例: RIP、IGRP
 |
リンク ステート型 (Link-State) |
リンクをルータ上のインターフェイスと見なす。リンクのステート(状態)とはそのインターフェイスの記述であり、近接ルータとの関係の記述である。インターフェイスの記述には、インターフェイスの
IP
アドレス、マスク、接続先のネットワークのタイプ、そのネットワークに接続されているルータなどが含まれる。これらのリンクステートすべてが集まってリンクステート
データベースが形成される。
例: OSPF
ルーティング
プロトコルは最適パスの決定にメトリックと呼ばれる数値を作成する。メトリックの計算には以下のようなパス特性が用いられる。ルーティング
プロトコルにより使用されるパス特性は異なる。
 |
帯域幅: ネットワークの伝送データ容量 |
 |
遅延:
パケットを発信元から受信先まで移動させるのに要する時間 |
 |
信頼性: ネットワークのビットエラー率 |
 |
負荷: ルーターやネットワークの混雑の度合い |
 |
ホップ数: パケットが宛先に到達するまでに通過するルーター数 |
 |
最大転送単位(MTU) |
 |
コスト:
ホップ数や帯域幅などの尺度に基づいてネットワーク管理者が割り当てる |
a)RIP(Routing Information Protocol)
RIP は小規模な同種ネットワークに適している。RIP
は最低ホップ数に基づいてルートを選択する。複数のルートのホップ数が同じである場合、RIP
は交互にルートを選択する。RIP の最大許容ホップ数は15。デフォルトではRIP ルーティング更新は 30
秒ごとにブロードキャストされる。
RIP の設定には グローバル構成モードから次のコマンドを使う。
| コマンド |
目的 |
Router(config)#router rip
Router(config-router)# |
ルーティング
プロトコルとしてRIPを設定し、RIPルーティング
プロセスを起動する。 |
| Router(config-router)#network
ネットワークアドレス |
RIP
を実行するネットワークを指定する。 |
b)IGRP(Interior Gateway Routing Protocol)
IGRP は Cisco社が開発したルーティング
プロトコルである。帯域幅、遅延、信頼性、負荷、MTU
の5つ複合メトリック を使用する。帯域幅と回線の遅延は WAN /LAN
インターフェースの速度 と 機能
に基づいて計算される。信頼性、負荷、MTUは トラフィック
を処理するパフォーマンスに基づき計算され、デフォルトでは無効にされている。IGRP
ルーターは 90
秒ごとに隣接ルータに自分のルーティングテーブル全体をブロードキャストで送信する。
IGRP の設定には グローバル構成モードから次のコマンドを使う。
| コマンド |
目的 |
Router(config)#
router igrp 自律システム番号(任意)
Router(config-router)# |
ルーティング
プロトコルとして IGRP を指定する。 |
|
Router(config-router)#network ネットワークアドレス
|
IGRP
を実行するネットワークを指定する。
|
RIPならびにIGRPの安定性機能
RIPあるいはIGRPを使用した場合、ルーターまたはネットワークの障害が原因で経路が使用不能になったときに誤った経路が選択され、循環経路(ルーティング
ループ(無限カウント))が発生する可能性がある。それを防ぐために以下のような機能がある。
 |
トリガー更新:
ある経路が使用できないことを検出すると、即時に更新メッセージを送信する。 |
 |
ホールドダウン:
使用不能経路が削除されると、同じ宛先への新しい経路が一定時間受け入れられない。これによってトリガー更新が他のすべてのルーターイに到達するための時間的余裕が生まれる。 |
タイムアウトした経路を取り除き、その経路が再び挿入されないようにするには、トリガー更新とホールドダウンの組み合せで十分である。追加の予防策はスプリット
ホライズンとルート ポイズニングである。
 |
スプリット ホライズン:
ルーティング情報をその送信元には送り返さない。スプリット
ホライズンにはループを防止するという役割のほかに更新メッセージのサイズを抑える効果もある。 |
 |
ルート ポイズニング:
更新に含まれている既存ルートのメトリックがある条件を満たすほど増加した場合はループが存在するとみなされ、その経路は削除され、ホールドダウン状態になる。 |
c)EIGRP(Enhanced IGRP)
EIGRPは距離ベクトル型とリンク
ステート型のそれぞれの利点を併せたIGRPの拡張版である。通常の動作中はネットワーク
リソースの使用量はきわめて少なく、安定したネットワークでは
HELLO パケットだけが送信される。変更が行われると、ルーティング
テーブル全体ではなくルーティング
テーブルの変更だけが伝播され、これによりネットワーク上のルーティング
テーブルそのものの負荷が減少する。ネットワーク
トポロジの変更に対するコンバージェンス タイムが迅速である。
EIGRP の設定には グローバル構成モードから次のコマンドを使う。
| コマンド |
目的 |
Router(config)#router eigrp 自律システム番号(任意)
Router(config-router)# |
ルーティング プロトコルとして
EIGRPを指定する。 |
| Router(config-router)#network
ネットワークアドレス |
EIGRP
を実行するネットワークを指定する。 |
d)OSPF(Open Shortest Path First)
OSPF
はすべての既知の宛先への最短パスを作成および計算するためにリンク
ステート アルゴリズムを使用する。
OSPF の設定には グローバル構成モードから次のコマンドを使う。
| コマンド |
目的 |
| Router(config)#router ospf process-id
Router(config-router)# |
ルーティング
プロトコルとしてOSPFを指定する。プロセスIDによって固有のOSPFルータ
プロセスを特定する。この番号はルーター内部に限って使用されるので、プロセスIDを他のルータのプロセスIDと一致させる必要はない。 |
| Router(config-router)#network
network-address wildcard-mask area area-id |
インターフェイスに特定のエリアを指定する。 |
◆参考資料
シスコ技術情報
TCP/IP ルーティング&IPルーテッドプロトコル
|