派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】CCNA改定前の直前準備。ネットワークに必須のルーティング技術、NTP・DHCP・NATの設定についておさらいしよう!

この記事では、2020年1月31日に開催したイベント「【CCNA改定前の直前準備】ネットワークに必須のルーティング技術、NTP・DHCP・NATの設定についておさらいしよう!」をレポートします。

Cisco認定試験問題の大幅な改定が2020年2月に実施されました。そこで今回は、昨年9月に開催したイベント「初心者からCCNA合格を目指す!ネットワークの全体像を理解しよう」にご登壇してくださった林口裕志さんを講師にお招きし、前回触れられなかったCCNA試験でのメインとなるルーティングについて詳しく解説していただきました。なお、NTP・DHCP・NATは、時間の都合上惜しくも割愛となりました。

■今回のイベントのポイント
・CCNAの試験形式は3種類。難易度が高い「シナリオ問題」と「シミュレーション問題」は配点が高いため、これらの問題を押さえておく
・スイッチやルータの仕組みを含めた、ネットワークの基礎知識を身につけよう

【講師プロフィール】
林口 裕志さん
ITスクール「システムアーキテクチュアナレッジ」で、主にCCNAやCCNPといったネットワーク系の担当講師を務める。また、Linux・Windowsといったサーバ系、Java・PHP・Pythonといったプログラミング系の講義などもマルチにこなす。講師業以外にも数々の開発案件やセキュリティ診断の案件などを担当し、そこから得られるIT業界のトレンドや最新技術に常に目を光らせている。数多くのたとえ話や実際の業務での体験談を織り交ぜながら進める講義は受講する生徒にも好評を得ており、IT業界未経験・PCスキルがゼロに等しい生徒であっても、その分かりやすい説明でCCNA合格を最短距離で導いている。CCNAの講義だけでも年間100名以上の生徒を担当し、その合格率は9割以上を誇る。

CCNA試験形式について

CCNAの試験は、選択問題とシナリオ問題、シミュレーション問題の3種類から構成されており、林口さんによれば「このシナリオ問題とシミュレーション問題がやっかい」なのだそうです。

しかし、難易度が高い分、シナリオ問題とシミュレーション問題は配点が高いため、この両者の問題をきちんと押さえておくことが、合格へのポイントとなりそうです。

では、シナリオ問題の例を見てみましょう。

f:id:itstaffing:20200408101255j:plain
▲シナリオ問題は、実際のシーンを想定したシナリオが紹介される。showコマンドの使い方が問われる

シナリオ問題では、ルータの設定状況を表示させるコマンドを適切に実行できるかどうかが問われ、トラブルを解決する設定コマンドまでは問われることはないそうです。

一方、シミュレーション問題では、シナリオ問題を解く能力に加え、トラブルを解決するための設定コマンドを実行できるかどうかも問われます。

f:id:itstaffing:20200408101259j:plain
 

こうした問題を解くためには、スイッチやルータの仕組みを含めた、ネットワークの基礎知識をしっかりと学んでおく必要がありそうです。

スイッチの基本

出題傾向を踏まえた上で、まずは復習も兼ねて、ネットワーク構築の基礎となるスイッチについての仕組みを学んでいくことに。

f:id:itstaffing:20200408101304j:plain
▲スイッチはMACアドレステーブルを基にしてデータを正しい宛先に転送する

スイッチは、MACアドレスを頼りにデータを転送するため、IPアドレスは参照しません。その代わり、スイッチ内に保持したMACアドレステーブルを参照します。

このMACアドレステーブルは、スイッチが勝手に作成するため、人間の手で作成する必要がありません。

実は、スイッチがデータを受け取る際に、送信元MACアドレスを認識し、ポートとMACアドレスとを紐づけてテーブルに登録し、こっそり学習しているのだそうです。

しかし、宛先MACアドレスがどのポートにあるのかは分かりません。なので、最初のうちは宛先のポートが分からないデータをすべてのポートに転送(フラッディング)し、分かっている場合はピンポイントで該当ポートに転送するのだそうです。賢いですね。

f:id:itstaffing:20200408101306j:plain
▲データを送信してきたポートは、データに送信元MACアドレスが記載されているので、それをテーブルに登録。テーブルに載っている宛先ならばピンポイントにそのポートに転送し、載っていない宛先ならば全てのポートにコピーして送信する(フラッディング)

ルータの基本

次はルータについて。まずはスイッチとの違いについて見てみましょう。

f:id:itstaffing:20200408101309j:plain
▲ルータとスイッチの主な違い

ルータはスイッチと違い、テーブルを勝手に作ってはくれないそうです。また、スイッチは宛先が分からなくてもデータを自動的に送ってくれましたが、ルータはそうしたことをしてはくれません。

f:id:itstaffing:20200408101312j:plain
▲あらかじめ用意されたルーティングテーブルを参照し、端末Aから受け取ったデータを、ルータR1はルータR2に転送し、ルータR2が端末Bに送る。バケツリレーの要領

ルーティングテーブルに登録されている主な情報は、宛先ネットワークと、経由するルータのアドレス(ネクストホップ)、接続インターフェイスの3つ。

上記の例では、ルータR1は、端末Aからのデータの宛先IPアドレスが192.168.3.10ということで、ルーティングテーブルを参照します。192.168.3.0というネットワークは192.168.2.1(ルータR2)経由であることが分かるので、接続IFであるFa1を使い、ルータR2に転送しているそうです。

問題なのは、このルーティングテーブルです。ルーティングテーブルも最初は何も情報が登録されていない空っぽの状態。しかもスイッチングテーブルと違い、自動で作成してはくれません。そこでコマンドを設定していき、ルーティングテーブルを作成していく必要があります。その手順を次に説明してくださいました。

f:id:itstaffing:20200408101317j:plain
▲FastEthernet 0というデバイスに192.168.1.1/255.255.255.0というアドレスを設定。同様にFastEthernet 1に、192.168.2.2/255.255.255.0を設定。それぞれのデバイスをno shutdownで通信できる状態に変更している

最初の状態ではルーティングテーブルは空っぽ状態ですが、ルータのインターフェイスに、IPアドレスの設定とno shutdownという有効化のコマンドを実行することで、ルーティングテーブルに「C」と書かれたネットワーク情報が登録されます。「C」は「Connected」、つまり、ルータに直接繋がっているネットワークの情報になります。

ここで、ルーティングテーブルを確認するコマンドについての説明がありました。ルータに対して入力するshow ip routeはとても重要なコマンドだそうです。

f:id:itstaffing:20200408101321j:plain
▲赤枠のところが重要で、その上の各種表示は、ここではあまり重要ではないとのこと。Cは直接接続されているネットワークを表している

このように、show ip routeコマンドを実行することで、そのルータに登録されているルーティングテーブルの内容を確認することができます。

この段階で、「C」と書かれた直接繋がっているネットワークの情報が登録されましたが、離れたネットワークの情報(ルータ1の場合は192.168.3.0/24のネットワーク)は登録されていません。このままでは、通信は相手に届かず破棄されてしまいます。

そこで、離れたネットワークの情報をルーティングテーブルに登録していく必要があります。その設定こそが「ルーティングの設定」だそうです。

ルーティングの設定方法には、すべてのネットワーク情報を手作業で入力するスタティックルーティングと、「自動的に作成してね」というコマンドをあらかじめ実行しておくと、ルータ同士が情報交換しながらテーブルを作成してくれるダイナミックルーティングがあるとのこと。

まずは、スタティックルーティングの設定コマンドを見てみましょう。

f:id:itstaffing:20200408101324j:plain
▲ルータR1とR2にそれぞれ設定しておく

スタティックルーティングのコマンドを実行すると、その内容がダイレクトにルーティングテーブルに登録されます。また、先頭に「S」と表示されていますが、これは「Static」の略。つまり、スタティックルーティングで登録されたことを示す印となります。

次に、ダイナミックルーティングを見てみましょう。ダイナミックルーティングには、RIP、OSPF、EIGRP、BGPなどさまざまな種類がありますが、今回はOSPFについて紹介してくださいました。

f:id:itstaffing:20200408101329j:plain
▲ダイナミックルーティングは、ルータ同士が情報を交換しながらルーティングテーブルを構築していく。ルーティングテーブルの先頭の「O」はOSPFで設定された情報という印

ルータ同士が情報交換を行うには、最初にHelloパケットでネイバー関係を確立し、その後、情報交換を行います。

OSPFの設定コマンドはrouter ospfコマンドを使います。

f:id:itstaffing:20200408101332j:plain
▲プロセス番号は何でもいい。自分が知っている(相手に教えてあげたい)ネットワークを指定。スタティックでは知らないネットワークを設定する(ここが違い)

具体的には、ルータR1とR2に、それぞれ次のように設定します。

f:id:itstaffing:20200408101335j:plain
▲R1とR2に上記のように設定する

先ほど同様、show ip routeコマンドで確認すると、今度はルーティング情報の先頭に「O」が付いています。これはOSPFで設定された情報という印。こうして自動的にルーティングテーブルが作成されていきます。

実際の試験において「通信ができない」という設問は、たいていの場合「ルーティングテーブルが完成していない(不完全)」というケースです。

特にOSPFの問題では「OSPFの設定内容がずれている」ことがほとんどのため、show running-configコマンドで原因を突き止めます。

林口さんによれば、よくあるパターンが「ネイバー関係がそもそも築けていない」というものだそうです。ネイバー関係を確立するためには、いくつか条件があり、これを満たしているかどうかがチェックポイントになるそうです。

f:id:itstaffing:20200408101252j:plain
▲ネイバー関係を築くための条件。まずは、これらの条件が満たされているかどうかをチェックする

このあと、いくつか例題が紹介されましたが、ここでは省略します。今回の内容は基礎知識ながら、とても濃密なもので、CCNAの受験対策をこれから始める方にとって、大きな第一歩になったのではないでしょうか。

イベントにご参加いただいた方からは、「理解してなかったところが説明を聞いてよくわかった。OSPFについては独学で分かりにくいところだったので、ためになりました」という声や、「自分で対策本を用いるより、やはり有識者の方から、かみ砕いた内容を講義していただけると数倍効率が上がると感じました」などの声をいただきました。

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するこのようなイベントを、定期的に開催しています。皆さまのご参加をお待ちしております。