各文字が送信される間の時間を1秒に1ビットとする。データフローの制御方法。ここではフロー制御を無効(none)にする。Cisco機器に大量のデータ(コンフィグ)を送信する場合は送信遅延を15ミリにすると、取りこぼしなく送信できます。term)を設定できたらCiscoルータの電源を入れてみましょう。termの画面は以下のように表示されることになります。これはCiscoルータの起動時の画面です。設定方法は次ページ以降にて解説していきます。Ciscoルータの場合、電源スイッチのOFFはいつ行ってもOKです。PCやサーバ等とは異なりシャットダウンの概念はありません。)CiscoルータはCPU、シャーシ、インターフェース、モジュール、IOS、そして色々な種類のメモリから構成されます。今回はそのメモリに焦点をあて解説していきます。Ciscoルータは、下図のとおり大きく4種類のメモリ(ROM、RAM、NVRAM、フラッシュメモリ)で構成されます。各メモリには下図の通り、Ciscoルータを起動させて、動作させるために重要な情報が格納されています。詳細を見ていきましょう。)ROMは読み込み専用メモリです。ROMには3つのプログラムが格納されており、このプログラムは消去することはできません。IOSというプログラムも格納されています。IOSはIOSを最小限の機能を有するプログラムのことであり、ブートヘルパーイメージとも呼ばれます。電源投入時に実行する自己診断プログラム。CPU、メモリ、インターフェースのハードウェア試験を実施。IOSのロードするためのプログラム。IOSの検索と読み込みを行う。コンフィグレーションレジスタ値に従い起動方法を指示する。パスワード復旧やトラブルシューティングの際に使用するプログラム。パスワードを忘れた場合、ルータを起動するタイミングで「Alt+B」キーを押す(※1)とROMMONモードに移行しパスワード回復できる。IOSが破損している場合には、自動的にROMMONモードに移行する。Break」キーを押す必要があります。Memory)RAMは読み書き可能なメモリです。このメモリにある情報だけはルータの電源OFF時に全て消去されます。RAMには、現在稼働中の設定情報(running-config)だけでなく、フラッシュメモリ内のIOSが展開する領域としても使用されます。RAMはいわばルータの作業領域です。以上の事からこれらの情報だけでなく動的な情報であるルーティングテーブルやARPテーブルなどについても、RAMに格納されることになります。ここでいうRAMは一般的にはDRAMと呼ばれており、機器仕様にもDRAMと一般的に表現されています。)NVRAMは読み書き可能なメモリです。不揮発性ランダムアクセスメモリであるNVRAMはRAMとは異なりルータの電源OFF時にもNVRAM内に格納された情報は保持されます。NVRAMには、保存された設定情報(startup-config)とコンフィグレーションレジスタ(ルータの起動方法を決定する値)の2つが存在します。フラッシュメモリフラッシュメモリは読み書き可能なメモリです。FLASHとも呼ばれます。ここにはIOSが格納されています。FLASHにあるIOSは一般的に圧縮されているため、実際には、IOSはRAMに解凍されて動作しています。)Ciscoルータに電源を投入した後の正常な起動順序です。基本的にどの機種にも適用できる内容です。POSTを実行してハードウェアの自己診断を開始する。ブートストラップのプログラムを実行する。起動モードが決定する。ブートストラップによりIOSが検索される。systemコマンドで定義した内容に従って、読み込むIOSを決定する。ブートストラップによりIOSがロードされる。systemコマンドで定義した内容に従いIOSが読み込まれる。NVRAM内にstartup-configが存在するかどうかを検索する。NVRAM内にstartup-configが存在する場合、startup-configをRAM上にロードしてrunning-configとして実行する。NVRAM内にstartup-configが存在しない場合、セットアップモードとして起動する。running-configの内容に従って、IOSソフトウェアが実行される。IOSが存在しない場合はROMMONで起動します。それぞれの起動状態においてルータに表示されるプロンプトの表示は以下のとおりとなります。systemコマンドの定義により、TFTPサーバ経由で起動することも可能ですが、一般的にそのような起動はしません。>以下にネットワークエンジニアとして知っておくべきコンフィグレーションレジスタの値を4つ紹介します。IOS(コンフィグレーションレジスタ)をご参照下さい。ROMMONで起動させる。正常にIOSで起動させる。正常にIOSで起動させるがNVRAMを見させない(パスワードリカバリーで使用)まとめ・ROMとは→読み込み専用メモリです。ROMには3つのプログラムが格納されており、このプログラムは消去することはできません。・RAMとは→読み書き可能なメモリです。このメモリにある情報だけはルータの電源OFF時に全て消去されます。・NVRAMとは→読み書き可能なメモリです。不揮発性ランダムアクセスメモリであるNVRAMはRAMとは異なりルータの電源OFF時にもNVRAM内に格納された情報は保持されます。・フラッシュメモリとは→読み書き可能なメモリです。FLASHとも呼ばれます。ここにはIOSが格納されています。OSと呼ばれるソフトウェアが入っているように、Cisco機器には、Cisco独自のソフトウェアが入っています。IOSは現在のシスコ製品のほとんどのルータやスイッチなどに搭載されているソフトウェアです。Proなどのターミナルソフト上で入力していくことによって、CISCO機器の動作を制御できます。アクセスする3つの方法Cisco機器にアクセスする方法、つまりCisco機器のIOSにアクセスする方法は、大きく3種類あります。新品のCisco機器や設定情報が全く入っていない機器では、起動後に最初に以下の画面が表示されます。これはセットアップモードの画面です。セットアップモードではルータのホスト名、IPアドレスなどの初期設定を対話形式で行います。入力してEnterキーを押すことでセットアップモードは終了します。一般的にネットワークエンジニアはこのセットアップモードは使用しません。設定情報は必要な部分だけをCLI形式で入力するのが一般的です。ここではnoと入力しましょう。started!というメッセージが出るので、Enterキーを押します。することで以下の画面が表示されます。この状態は以下で解説している「ユーザEXECモード」と呼ばれる状態です。Cと入力すればセットアップモードを終了しユーザEXECモードへ移行可。IOSの対話型モードであるEXECモード(エグゼクモード)と呼ばれるモードに自動的に移行します。このEXECモードは2種類あります。ユーザEXECモードと特権EXECモードです。違いは以下の通りです。入力できるコマンドが制限されている。機器のステータスを確認するだけならこのモードでのコマンド入力作業でOK。全てのコマンドを入力することができる。機器の動作に影響を与えるコマンドを入力する場合は、このモードに移行する。Cisco機器にログインすると最初はユーザEXECモードの状態です。特権EXECモードに移行するためには、enableコマンドを入力する必要があります。このため特権EXECモードはイネーブルモードとも呼ばれます。特権EXECモードからユーザEXECモードに戻るためにはdisableコマンドを入力する必要があります。一般的に多くのネットワークエンジニアは、特権EXECモードのことをイネーブルモードと読んでいます。どちらのモードの場合でも、exitコマンドを入力することでCisco機器からログアウトすることになります。コンフィグレーションモードとはCisco機器の設定を変更するためにはコンフィグレーションモードと呼ばれるモードにする必要があります。terminalコマンドを入力することで、グローバルコンフィグレーションモードと呼ばれるモードに移行します。本モードではCisco機器全体に関わる設定変更を行うことができます。グローバルコンフィグレーションモードではプロンプト表示がRouter(config)#と表示されるようになります。機器全体に関わる設定ではなく、機器のインターフェース部分の設定を行いたい場合は、インターフェースコンフィグレーションモード、ルーティングプロトコルの設定を行いたい場合、ルータコンフィグレーションモード、Console、AUX、VTYなどの設定をしたい場合はラインコンフィグレーションモードというモードに移行する必要があります。このモードは、グローバルコンフィグレーションモードからさらに移行したモード。上記以外にもコンフィグレーションモードが存在しますが、最も使用されるモードはこれら3つとなります。コマンドを入力することによって、いきなり特権EXECモードに移行することも可能。「Ctrl」+「Z」キーを入力しても同様の結果となります。IOSソフトウェアとは→Cisco機器には、Cisco独自のソフトウェアが入っています。IOSの対話型モードであるEXECモード(エグゼクモード)と呼ばれるモードに自動的に移行します。IOSにはヘルプ機能があります。?コマンドを入力することで、現在のモードで実行できるコマンドの一覧情報が表示されます。以下はユーザEXEモードで?コマンドを入力した結果。コマンドを入力した結果。ユーザモードの場合と表示結果が異なります。このように?コマンドで入力できるコマンド情報が得られます。「a」から始まる入力できるコマンド情報を得たい場合、以下のように「a」を入力した直後に?を入力すればコマンドを絞り込めます。1つのコマンドを入力した上で?コマンドを入力すると、そのコマンドに続くコマンドの一覧情報を得られます。ここでは「show」コマンドの後にスペースを入力することで、showコマンドに続くコマンドの一覧情報を表示しています。showコマンドの後には以下コマンドを続けて入力できることが分かります。これは出力結果に続きがあることを意味します。PCのspaceキーを入力すれば、さらに1画面分の情報が表示されます。Enterキーを入力すれば1行分の情報が表示されます。それ以外のキーを入力すると表示出力がストップします。24行ごとに改行し表示されます。この24行の出力表示する行数は設定変更できます。コマンドを入力することで変更できます。行の間で指定できます。表示されることなく一度に全情報が表示されます。これは、コンフィグの収集の際によく使用されます。term画面)を閉じるとデフォルトの24行表示に戻ります。出力行数の値を継続的に適用したい場合はコンソールポート上で設定します。これにより、この機器では常に30行が出力されます。IOSではコマンドを入力する際に全ての文字列を入力することなく、省略した単語で入力可能です。入力することにより特権EXECモードに移行できます。移行するまで全て省略して入力している例。多くのネットワークエンジニアはコマンドの文字列を全て入力するのではなく、上記の通り、省略表記で入力しています。上図のコマンドの文字列を全て入力した場合は以下となります。省略する場合でも一定以上の文字列の入力は必要です。t”とメッセージが表示されます。t”が曖昧なコマンドであることを指摘しています。”まで入力する必要があります。IOSでは、コマンドの入力途中にPCのTabキーを入力することで、そのコマンドの文字列がすべて表示されることになります。“conf”と入力してTabキーを入力すると自動的に“configure”と表示されます。このTabキーも、“configureと”判断できる“conf”まで入力してからTabを押す必要があります。IOSでは、コマンドの文字列を入力する際に、PCのCtrlキーなどを利用した編集キーを使用することができます。編集キーはコマンド入力時に便利な機能です。主な編集キーは以下となります。Z」等と矢印キーはよく使用すると思いますが、それ以外はあまり使用しないでしょう。キーを使用するくらいなら矢印キーの方が確実で早いです。ちなみに、ターミナルソフトによっては使用できない編集キーもあります。IOSでは一度入力したコマンドはその入力履歴が一時的にメモリに保存されます。この機能のことをコマンドヒストリといいます。Pと入力することで直前に入力したコマンドが呼び出されて非常に便利。矢印キーで「↑」を押すことで同じ結果が得られます。直前に入力したコマンドを呼び出します。「↑」キーの入力と同じ結果が得られる。1回押すごとに直前に入力した新しいコマンドから古いコマンドへ順番に表示されていく。N」を入力すれば、古いコマンドから新しいコマンドの呼び出しに戻られる。「↓」キーの入力と同じ結果が得られる。コマンドで確認することができます。historyであり、そしてこのCisco機器にログインし最初に入力したコマンドがenableであると分かります。このコマンド入力履歴はデフォルトで20個まで一時的に保存されるので、21個目のコマンドを入力した場合は、最初に入力したコマンド(この例ではenable)が消去されます。コマンドヒストリのデフォルトのバッファサイズの20は、特権EXECモードで以下のコマンドで変更できます。後の数字がバッファサイズです。~」という項目で確認できます。Proの画面を閉じれば、設定値は自動的にデフォルト値に戻っています。command:メッセージが表示される場合、入力したコマンドの文字列が不足していることを意味します。この場合、”con”が”configure”なのか”connect”なのか判断できない結果のエラーです。command.メッセージが表示される場合、入力コマンドが不完全であることを意味します。CISCOのようにhostnameの後にホスト名を定義するための文字列(例ではCISCO)が必要です。“hostname”とだけしか入力していない結果、hostnameのコマンドの引数が不明であるため不完全としてエラーが出力されます。marker.メッセージが表示される場合、入力コマンドのスペルが間違っていることを意味します。抜けてしまっているのでエラーが表示されています。marker.メッセージが表示される場合、入力コマンドのスペルが間違っている場合に出るメッセージですが入力したコマンド正しくないモードである場合でも発生します。ホスト名の設定は、機器全体に関わる設定変更であることから、グローバルコンフィグレーションモードで設定する必要がありますが、以下では間違えて特権EXECモードで設定していることからエラーが発生します。メッセージは特権EXECモードでスペルミスをした場合に発生するエラー。いうCiscoコマンドは存在しないので、適切なコマンドを入力する必要があります。IOSでは、特権EXECモードでは存在しないCiscoコマンドの文字列はホスト名として解釈しようとします。そのホスト名をIPアドレスに名前解決を試みるものの、それが失敗する結果、以下のエラーメッセージが出力されます。このメッセージが出力されると、再びプロンプトが表示されて正しくコマンドを入力できるまでに数十秒の時間を要してしまいます。domain-lookupを設定しておきましょう。間違ってコマンドを入力してもDNS解決を行わないようになりますので、無駄な待ち時間はなくなります。入力することで、その設定が削除されます。その設定がデフォルト値に戻ります。hostnameと入力しています。Ciscoルータのホスト名のデフォルトは”Router”。running-config」で変更内容を確認できます。startup-config」で確認できます。以下のように設定変更しても、設定保存しなければCiscoルータやCatalystスイッチの再起動後は内容が消えています。起動してから今まで一度も保存していない場合は以下が表示されます。startup-configと入力します。このコマンドでCisco機器の電源をOFF、ONしても設定状態は保たれてCisco機器は稼動します。startup-configと入力すると、以下の通りNVRAM上に保存されたコンフィグが表示されます。CiscoルータでもあってもCatalystスイッチであってもこの同じコマンドで設定保存できます。初期化するコマンド(Ciscoルータの場合)CiscoルータとCatalystスイッチとでは、初期化方法が少しだけ異なります。Ciscoルータでの方法を紹介します。入力しNVRAM上のコンフィグを削除します。次に、reloadコマンドで、Ciscoルータを再起動することにより初期化できます。初期化するコマンド(Catalystスイッチの場合)Catalystスイッチの場合、完全に初期化するためにはNVRAM上のコンフィグの削除だけでなくフラッシュメモリ上にあるVLAN情報であるvlan.datというファイルも削除する必要があります。このvlan.datというファイルを削除しなければ、vlanの情報がコンフィグレーション上に残ってしまいます。VLANに関連する設定を全くしていない場合、フラッシュメモリにvlan.datファイルは生成されないので、この手順は不要。IOSでは、Cisco機器自身からネットワークの接続性を確認するためにpingやtracerouteコマンドを実行できます。IOSのpingやtracerouteは、Windowsのpingやtracertコマンドと考え方は同じですがWindowsのtracertはプロトコルにICMPを使用するのに対して、IOSのtracerouteではUDPを使用するので注意しましょう。debugコマンドではCisco機器での現在のデータのやりとりを詳細に確認できます。pingやtracerouteコマンドはユーザモードまたは特権モードで実行できます。debugコマンドは特権モードのみで実行可。pingCisco機器でpingコマンドを使用することで、そのCisco機器から相手先にIP通信できるかを確認できます。宛先ホスト名」構文で、コマンド入力を行います。以下では192.168.0.1のIPアドレスを持つ機器に対して、Cisco機器からpingを実行した結果です。上図では、192.168.0.1に対してICMPのエコー要求を5回送信した後、エコー応答が5回受信できた結果を示しています。192.168.0.1へのPINGが成功したことを意味します。」の出力結果がICMPのエコー応答を受信したことを意味しています。Time)とはある機器から発信したパケットが相手から返ってくるまでの時間のことです。早くて1ミリ秒で応答、最も遅くて4ミリ秒で応答、平均すると2ミリ秒で応答があったと分かります。一方で、下図のように「.....」の出力結果はエコー応答が受信できなかったことを意味しています。以下ではCisco機器から192.168.0.2の機器とはICMPでの通信ができなかったことが分かります。.」「U」の3つがよく見られます。ICMPエコー応答を受信。デフォルト値の2秒以内にICMPエコー応答を受信できなかった。宛先に到達できなかった。宛先がビジー状態であった。フラグメンテーションに失敗した。パケットタイプが不明であった。パケットのTTLが超過した。ping通常のpingコマンドの場合、ICMPエコー要求は5回送信、タイムアウトは2秒以内、送信パケットサイズは100byteなどの値が決まっています。拡張pingではこれらの値を変更することがでます。拡張pingは特権モードで実行する必要があります。以下のようにpingとだけ入力すると色々なパラメータを指定できます。最初にプロトコルを指定します。]でOKなので何も入力せずにEnterキーを入力します。size」で送信するパケットサイズを指定します。入力するとICMPパケットを送信するインターフェースを指定できます。これ以降に表示されていくパラメータは、一般的に全てデフォルト値を使用します。上の拡張pingはレガシーな入力方法です。現在では以下のように、pingコマンドの後にパラメータを入力していきます。以下のpingの内容は上記と同じです。pingの実行回数を100回、pingパケットのデータサイズを1500バイト、pingを実行する送信元I/FをFastEthernet0/0を指定してpingをしています。宛先IPアドレスのを入力後に「?」を入力すると、指定できるパラメータが表示されます。送信するICMPエコー要求のパケットのデータパターンを指定する。一般的に使用しないパラメータ。送信するICMPエコー要求のパケットに対して、DFビットを設定するかどうかを指定。送信するICMPエコー要求のパケットを何回にするかを指定。送信するICMPエコー要求のパケットのサイズを指定。送信するICMPエコー要求のパケットを、どのインターフェースから送信するかを指定。送信するICMPエコー要求のパケットのタイムアウト値を指定。送信するICMPエコー要求に対して受信するエコー応答のパケットを検証するかどうかを指定。tracerouteCisco機器でtracerouteコマンドを使用することで、そのCisco機器から相手先までの経路が分かります。宛先ホスト名」と入力し実行します。以下では「192.168.2.2」のIPアドレスを持つ機器に対してCisco機器からtraceを実行した結果。traceコマンドの応答結果は、応答がある場合は「~msec」とRTT値(3回分)が表示されます。応答がない場合「*」が表示されます。それ以外のメッセージは以下の通りです。traceコマンドではpingと同様に特権モードで使用できる拡張traceコマンドがあります。使用方法は拡張pingとほぼ同じ。Exceedを受信した時にかかったRTTの値。Exceedメッセージを受信できなかった。