Ciscoルータ起動プロセスの話
こんばんは。
前回Ciscoルータのコンフィギュレーションレジスタのお話をした最後にルータの起動シーケンスのお話を次回に...と宣言してしまったので、勉強してみました。
↓前回
ルータの電源を投入してからRAMにコンフィギュレーションファイルが展開されるまでにはいくつかのステップを踏んでいて、前回書いた、コンフィギュレーションレジスタ値のチェックというのはこの一連のステップの一部になります。
今回はこの"一連のステップ"についてずらずらと述べていくのでご承知おきください。
ルータ起動シーケンスを追っていく前に、前提としてハードウェア部分、とりわけメモリについて整理しておく必要があるので、今回登場する各メモリについて軽く触れておきます。
🔹メモリの種類
●ROM(Read Only Memory)
書き込み不可、読出し専用のメモリ。読み込みのみできるメモリなので、例えばゲームソフトとか電子レンジとかでROMが使用されている。
電子レンジに関わらず電化製品って電源オンにした時に様々な機能を毎回使用できますよね。このように電気を供給しなくても記憶を保持するメモリのことを"不揮発性メモリ"と呼びます。
ルータで言えば、起動するためのマイクロコードやパスワードリカバリなどの障害復旧を行うためのプログラムが格納されている。
【ROMに格納されているプログラム】
自由に読み書き可能なメモリでルータの電源を切っても内容が消えない。(=不揮発性メモリ)
USBメモリとかがそうです。
フラッシュメモリにはIOSソフトウェアイメージが格納されている。
●NVRAM(Non-Volatile Random Access Memory)
不揮発性ランダムアクセスメモリ。
ルータ起動時に使用される設定情報をstartup-configとして格納している。
コンフィギュレーションレジスタも格納されている。
●RAM(Random Access Memory)
電源をオフにすると記憶していた内容を全て消去するメモリ。(揮発性メモリと呼ぶ)
ルータが稼働している時の作業領域として使用され、稼働中のコンフィグ(running-config)やIOS、ルーティングテーブル、ARPテーブルなどが保存される。
...とメモリについて駆け足で勉強したところで、いよいよルータの起動シーケンスについてみていきましょう。
まずは図解で。
【Ciscoルータ起動の流れ】
--------------------------------------------------------------------------------
Step1
POST(電源投入時自己診断テスト)が起動し、ルータの全てのコンポーネント(CPU、インターフェイス、メモリ)が正常に機能するかどうかを確認する。
Step2
ブートストラップコードはCiscoIOSソフトウェアの検出、RAMへのロード、CiscoIOSソフトウェアの実行などのイベントを実行する。実行するIOSソフトウェアを特定するためにNVRAM内のコンフィギュレーションレジスタ内のブートフィールド部分をチェックする。まああれです、プログラムがどんどん実行されていくってことです。
Step3
ブートストラップが適切なIOSイメージを検出すると、それをRAMに読み込んでロードする。IOSは基本的に圧縮されており、RAM上に解凍して起動する。
Step4
NVRAMにstartup-configが存在する場合は、それをRAMに読み込んで、running-configとして実行する。NVRAMにstartup-configがない場合はセットアップモードで起動する。
--------------------------------------------------------------------------------
無事RAMにrunning-configが展開されたところで、ようやく見慣れたプロンプトが表示されるというわけです。
※特権モードになっているのは気にしないでください。。
以上、ルータに起動に関わる部分を学習してみました。
普段あまり意識をしない部分ですが、知っておくときっといいことがあると思いますよ。