
ネットワーク基礎勉強会レポート Vol.2
IT業界(主にインフラ現場)での業務遂行には「最低限この程度は知っておかなければならない」と言われる技術があり、その中で最も基礎となるネットワークにおいて、これまで多くのエンジニアが「中途半端に理解している」と思われる個所(基礎)を徹底的に解説し、今後のITエンジニアとしての活躍に貢献したいと考えています。我が社のエキスパートが認定する試験を含め、全3回の「NW基礎勉強会」をレポートします。
1.今回のテーマと内容
今回第2回目のテーマは「IPアドレス」です。
IT業界に携わっていれば少なくとも、「IPアドレス」という言葉を聞いたことないという方はいない筈です。しかしながら、「IPアドレスのバージョンって何?」「IPアドレスの種類とは?」と聞くと途端に、殆どの受講生は回答出来なくなってしまいました。更に、「サブネット分割とは?」と問われると、「えっ?」と思ったり、首を傾げたりする受講生や、「聞いたことはあるけど・・」、苦手意識があるのか怪訝な顔をされる受講生の方が数多くいました。全3回の勉強会の中で「IPアドレス」は最も重要となる単元であり、一番の山場となります。
「IPアドレス」に対する曖昧な理解や苦手意識を解消する為に、今回はIPアドレスについて勉強しましょう。
1-1.IPアドレスとは
第1回目の復習も兼ね「ネットワークとはコンピューター間でデータの交換(リソースの共有)をするための環境だ!」と説明をすると、受講生たちは異口同音に「うん!その通り!」といった表情でした。「ではどうやってコンピューター同士は相手を認識するのか?」と問いかけると、途端に「何だろう・・?」という表情に変わりました。
そこで講師より、「IPアドレスは、インターネットやLANなどのIPネットワークに接続されたコンピューターなどに割り振られる識別番号のことで、このIPアドレスを使って相手を認識するのです。」と説明を加えたところ、半数以上の受講者たちは「あっ、そういうことか!」と納得した顔を浮かべておりました。但し、それでも「ピン」とこない受講生も数名おり、続けて講師が「例えば電話を掛ける時には、電話番号で相手の連絡先を特定しますよね? それと考え方は同じで、コンピューターの場合は、IPアドレスを使って、相手先コンピューターを特定するのですよ!」。と補足説明を加えたところ、受講生全員謎が解けたのか一瞬にして「なるほど!」という明るい表情に変わりました。
と同時に、IPアドレスを「電話番号」という「日常生活で日々当たり前のように使っているもの」に例えて説明する、講師の説明にも工夫が凝らされておりました。
1-2.IPアドレスのバージョン
IPアドレスの概念の説明が腑に落ちた受講生の表情を確認し、講師は続けて「IPアドレス」は2つのバージョンがある。1つは「IPv4」。そしてもう1つが「IPv6」であると説明しました。「では、それぞれの概要や特徴を説明します」と切り出し、順次説明を進めていくと、受講生たちはあらかじめ用意された穴埋めノートに必死になりメモを取り始めました。
①IPv4
1) 概要
・現在、ネットワークで標準的に使用されているプロトコル
・TCP/IPの基本機能としてインターネットなどで世界中広くいられている
2) 特徴
・0~255まで8ビットセグメントを4つ備えている
・8ビット×4セグメント = 32ビット
・4,294,967,296(約43億)通りの数字の組み合わせを作ることが出来る
3) アドレス範囲
・0.0.0.0 ~ 255.255.255.255で指定する ※ 300.255.255.1はあり得ない!
4) アドレスの表記例
・以下のように表記する
10. 0. 0. 0
172.16.10.101
192.168.16.128
一通りの説明を講師が終えた後で、受講生たちにこのような問いかけをします。
「IPv4では約43億個アドレスを割り当てることが出来ます。でも皆さん、ちょっと考えてみて下さい。全世界の人口って何人かご存知ですか? 約70億人です。」と。 「IPアドレスの説明をしているのに、世界の総人口の話題を持ち出して一体何を言いたいんだろう?」という受講生たちは複雑な表情を浮かべてました。その表情を見た講師は一瞬微笑みながらも、矢継ぎ早に次のように切り出しました。
「ということは、単純計算すると1人に1IPアドレスしか割り当てること出来ませんよね? 今の世の中パソコンを複数台持っている方も多く、皆さんの現場を見ても数百台、数千台。あるいはデータセンターにも沢山のサーバーやネットワーク機器がありますよね? とてもではないですがIPv4の仕組みでは、もうIPアドレスを十分に割り当てることが出来ないんですよ! これをIP枯渇問題って言うんです。」と説明したところ、少し次に話そうとしていることに、一部の受講生たちはピンときた表情になりました。
そこで講師は「今お話しした問題を解決するための対策として考えられたこと。それがIPv6なんです!」と力を込めて説明を始めました。「その説明を聞き漏らすまい!」と受講生たちも必死にノートを取り始めました。
②IPv6
1) 概要
・現在主流のIPv4に変わるプロトコル
・それまでの約43億個から、340澗個のIPアドレスを用意できる
2) 特徴
・0~65535まで16ビットセグメントを8つ備えている
・16ビット×8セグメント = 128ビット
・340,282,366,920,938,463,463,374,607,431,768,211,456個(約340澗)通りのアドレスを
作ることが出来る。 ※約340澗(かん)個=約340兆×1兆×1兆個
3) アドレス範囲
・0.0.0.0.0.0.0.0 ~ ffff.ffff.ffff.ffff.ffff.ffff.ffff.ffffで指定する
※ 16進数表記 0 1 2 3 4 5 6 7 8 9 A B C D E F
4) アドレスの表記例
・以下のように16進数で表記する
2001:0db8:0000:0000:0123:4567:89ab:cdef
0で始まるブロックの0は省略可。但し0000は先頭の0は残します。
2001:0db8:0:0:0123:4567:89ab:cdef
ブロック全体が0の場合は「::」で一度だけ省略可能です。
2001:db8::123:4567:89ab:cdef
IPv4とIPv6各々の特徴について講師が一通り説明を終わると、受講生たちは使っているIPv4のアドレス。実はこんな特徴があるんだ!」「IPv4って実はもう枯渇しかけているんだ!「澗という値は今回初めて聞いたが、IPv6に変わることでこれだけ数の余裕が生まれるんだ!」ということを学び、驚きの表情を浮かべていたのがとても印象的でした。
1-3.IPアドレスの運用方法
続けて講師はIPアドレスの運用方法の説明に入りました。
①IPアドレスの表記方法
普段我々が目にする数値で表記されるIPアドレス。実は2進数が使用されているが、それを見やすくするため10進数表記を使っており、その考え方をマスターする上で「2進数の考え方」は欠かすことが出来ません。講師も「大事なポイント」ということで特に声を大にして受講生たちに説明しておりました。
続けて8ビットごとの塊が4つあることが特徴で、その塊を「オクテット」という説明を行った後、続けて左から「第一オクテット、第二オクテット、第三オクテット、第四オクテットと呼ぶので気を付けて下さい!」と呼びかけると、受講生たち全員納得いった様子で、頷きながらノートをとっておりました。
※左から順に第1オクテット、第2オクテット、第3オクテット、第4オクテットといいます。
②IPアドレスの表記方法
次に講師は2進数と10進数の変換についての説明に入ろうとしております。講師側も「ここが受講生にとって一番躓くポイントである!」ということを過去の講師経験から強い認識を持っており、2進数の特徴を「対比表」を用いながら説明を始めました。
■2進数の特徴■
・ 「0」と「1」の2種類の数字を用いて全ての数を表現する。
・ 10進数では「0」から数えて「9」の次は位があがるが、2進数では「1」の次に位があがる。
・ 2進数の場合、位があがれば、その新しい桁は「1」 となり、それ以下の桁は全て 「0」 となる。
・ 2進数の数の増え方は以下の通り
更に10進数の「1から10」と、2進数の「1から10」の数え方を以下の表を用いる工夫で説明をしておりました。
少しずつではありますが、受講生たちも2進数と10進数の変換の考え方を掴みつつあるようですが、まだ半信半疑な表情。そこで講師は次に、実際の2進数表記の数値を用意し、10進数に変換する説明を始めました。ポイントは「2進数とは“2の乗数”毎に変化していくこと」そして「どの位置にビットが立つことで10進数の何の値になるか?」の基準値があることを交えながら、実際の問題と解きながら解説を加えました。
2進数「00101010」の場合、「32、 8、 2」のところにビットが立っており、これらを合算すると「10進数の42となる」という説明を行ったところ、先ほどまで「半信半疑」だった受講生たちも、大分腑に落ちた表情に変わり始めました。しかし講師は間髪入れず「ここまでで学んだことの再確認として次の例題を解きましょう!」と受講生全員に呼びかけました。 第1回目の講座において「一方的に説明を聴くだけでなく、私の講座は指名しながら進めます!」という言葉の説明を受けた受講生たちは、「いつ指名されるんだろうか・・?」という不安な表情になりつつも、3分程度で講師の与えた以下の問題を解き始めました。
《問題1》 IPv4は何オクテットで構成されますか?
《問題2》 IPv4では1オクテットは何ビットありますか?
《問題3》 2進数の「01000101」を10進数にすると?
《問題4》 2進数の「10101011」を10進数にすると?
3分後4名の受講生を指名し回答をして貰いましたが全員正解。自分たちでノートした事、メモした事を基に問題を解き「正解することが出来た」ことで自信を深めている表情がとても印象的でした。
③アドレスクラス
ここまでの説明だけで既にお腹いっぱい気味の受講生たち。ただしまだまだ大事なポイントは続きます。IPアドレスにはアドレスクラスという考え方があります。
言葉だけの説明では「何のことか?」と戸惑いを浮かべる受講生たち。
IPアドレスには「どのネットワークに所属するか?」を示すネットワークアドレス部と、「コンピューターへ割り当てるアドレス」を示すホストアドレス部の2つで構成されることを上記の資料を使って説明しました。考え方は理解しつつも、次の受講生の疑問は「クラスCって何なの?」。 その疑問は講師側も予測をしており、資料を用いながら受講生たちに語り始めます。
・IPv4にはクラスAからクラスEの5つがある。 ※通常我々はクラスAからクラスCまでを利用
・ネットワークの規模に応じてクラスは変わり、その範囲はIPアドレスの値によって決まる
更に次の資料を使い説明を続けます。
・4つあるオクテットの内のどの部分までがネットワーク部で、どの部分がホスト部であるかがクラスによって異なる
・クラスAは第一オクテットまで。クラスBは第二オクテットまで。クラスCは第三オクテットまでがネットワーク部
・どの部分がネットワーク部であるかを示すのが「11111111」の値。これをサブネットマスクという
そして更にダメ押しで、クラスAからクラスCにはどのような違いがあるかを講師は説明し始めます。
・ クラスA→ネットワーク・アドレスとして、「0~127」までの 全部で128個が利用でき、それぞれのネットワーク内には最大で約1600万台(0.0.0~255.255.255)のホストを収容可能
・ クラスB→ネットワーク・アドレスとして、「128.0~191.255」までの 全部で16384個が利用でき、それぞれのネットワーク内には最大で約65000万台(0.0.~255.255)のホストを収容可能
・ クラスC→ネットワーク・アドレスとして、「192.0.0~223.255.255」までの 全部で約216万個が利用でき、それぞれのネットワーク内には最大で254台(0~255)のホストを収容可能
(例) 192.168.75.201
(最初の192.168.75が「ネットワーク・アドレス部」となり、残りの201が「ホスト・アドレス部」となります)
サブネットマスク表記 = 255.255.255.0
プレフィックス(CIDR)表記 = /24
概念図を用いた説明に受講生たちは、普段使っているIPアドレスが実は、このようなクラスという概念で体系づけられている事を知ることが出来、皆納得した表情をしておりました。
④アドレスの種類
IPアドレスにはクラスの考え方とは別に、「どのネットワークで使うのか?」ということで2種類に分かれます。そこで講師は以下の図を使いながら次のように説明します。
1) グローバルIPアドレス
・インターネット(WAN)に接続された機器に一意に割り当てられるIPアドレス
・固有のものであり世界中で重複することはあり得ない!
・クラスAからクラスCそれぞれにおける範囲は次の通り
グローバルアドレスの特徴についての説明を加えながら、講師は次の質問を受講生に投げかけます。「クラスAからクラスCの範囲は先程紹介しましたが、何故この表でわざわざ2行に分けているんでしょうね?一瞬首をかしげる受講生の様子を見ながら続けて講師はこのように説明をします。実は「クラスAからクラスCそれぞれに対してプライベートの範囲が用意されております。そのため2行に分けているんです。お気づきになりましたか?」
2) プライベートIPアドレス
・会社や家庭などの組織内(LAN内)で一意に割り当てられるIPアドレス
・範囲内であれば自由に使用する事が出来る
・クラスAからCそれぞれに、使用をしても良いアドレスの範囲が決められている。
クラスA 10.0.0.0~10.255.255.255 大規模ネットワーク向け
⇒10.0.0.0/8 の1つのネットワークに約1677万個のホストが接続可能
クラスB 172.16.0.0~172. 31.255.255 中規模ネットワーク向け
⇒172.16.0.0/16~172.31.255.255/16 の16個のネットワーク1つあたりに約6万5000個のホストが接続可能
クラスC 192.168.0.0~192.168.255.255 小規模ネットワーク向け
⇒192.168.0.0/24~192.168.255.0/24 の256個のネットワーク1つあたりに254個のホストが接続可能
目から鱗が落ちたような受講生たち。今まで何げに使っていたIPアドレス。実は、「IPアドレスって範囲によってクラスが異なる!」「サブネットマスクという言葉は知っていたが、どのような意味合いがあるか?」「グローバルアドレスとプライベートアドレスそれぞれに範囲が決まっていたんだ!」ということを知ることが出来たということで、全員驚きと同時に満足げな表情となっておりました。
1-4.IPアドレスの使い方
既にここまでの説明で受講生たちはたくさんの事を学びましたが、いよいよ第2回目最後のセクション、かつ、もっと重要なポイントとなるセクションです。特に「IPアドレスのサブネット分割」については、ネットワークを学ぶ上で初心者がもっとも苦手とする部分。百戦錬磨の講師も、何度となく、説明する事への難しさを痛感させられている単元。それだけに受講生の意気込みもさることながら、講師側も「何とかサブネット分割の考え方を持ち返ってもらおう!」という強い意気込みで最後の説明に入るのでした。
①ネットワークアドレスとブロードキャストアドレス
ネットワーク部とホスト部の説明を既にここまでの講義で説明をしておりますが、そのホスト部に存在するアドレスにおいて2つだけ、「ホスト」に割り当てることが出来ないIPアドレスがあります。ここまで説明をした後続けて講師はこれら2つのアドレスについての説明を始めました。
1) ネットワークアドレス →ネットワーク自体を示すIPアドレス
2) ネットワークアドレス →そのネットワーク内のすべてのホストにデータを送信するために使うIPアドレス
②IPアドレスのサブネット分割化
いよいよ最後の関門です。いきなり「サブネット分割」の説明から入るのではなく、以下のような問題提起を受講生たちに投げかけます。
1)あなたは、社内のある部署50人へIPアドレスを割り当てることになった。
2)その部署を含め、企業内で「192.168.1.0/24(192.168.1.0 255.255.255.0)」というアドレスセグメントを使って割り当てなければならない。
3)この場合効率よくアドレスを割り当てるには、どのようにネットワークを分割すればよいか。
ここで講師は次のように説明を続けます。「このアドレスがクラスCであることはご存知のはず。クラスCの場合はデフォルトで254台分IPアドレスをネットワーク内のホストに割り当てることが出来る。 しかし今回この部署には50人しかいない。このような部署に254台割り当てられるネットワークが本当に必要でしょうか? 50台割り当てても残りの200台分のIPアドレスは無駄になります。無駄にするならば別のネットワークに割り当てれば効率的に使えますよね? これがサブネット分割の考え方なんです!」と丁寧ながらも、熱く語り掛ける講師にもすっかり熱が入り、受講生たちも「ここは逃してはならないポイント!」とばかり、1時間半近く講義を聴いてきても疲れるどころから、真剣な眼差しで講師の説明に耳を傾けます。
講師は「クラスCのデフォルトは1つのネットワークで、254台のホストを収容できる」ことに気付かせたくて、上記の 図を用いて説明を続けました。更にあらかじめ受講生たちに配布した以下資料を用いて次のように説明します。
1)今回は、50台分のIPアドレスの確保が必要
2)配布した資料中の項目【ホストアドレス数】で、50に近い数は64
3)64のビット数は2の6乗なので、ホスト部【0】は2進数で表記すると残り2の2乗となる
4)表記すると残り2の2乗となるため下記となる
「11111111. 11111111. 11111111. 11000000」
5)分割した数は「サブネット数」列に表記されるように、デフォルトから4分割している
6)クラスCのデフォルトから2ビット分、ホスト部に拡張させている。
7)これを10進数表記に直すと、「128+64」で192となり、サブネットマスクは「255.255.255.192」
CIDR表記にすると、「/26」となる。
最後に講師は上記の図を用いて「クラスCのデフォルトから4分割をしたので4分割。ホスト数は1つのネットワークごとに62個になる」と説明をしました。
今まで「とっつきづらかったサブネット分割計算」を、図を用いて説明する講師の説明により、受講生たちが最後にすっきりとした表情となったのがとても印象に残りました。最後に以下の練習問題を解き受講生全員に考えててもらい、その後指名をして回答をして貰いました。ここまで取ったノートや、配布した資料を用いて、自力で計算し答えを導き出せてことで最後は満足して第二回目の講義を無事終了することが出来ました。
《問題1》192.168.75.10 /28 について、それぞれ以下の問いに答えてください。
クラスCのデフォルトから何分割していますか?
サブネットマスク値はいくつになりますか?
分割された各ネットワークには、何台のホストを割り当てる事ができますか?
《問題2》210.53.120.54 /27について、それぞれ以下の問いに答えてください
クラスCのデフォルトから何分割していますか?
サブネットマスク値はいくつになりますか?
210.53.120.54が所属するNWのネットワークアドレスとブロードキャストアドレスは?
2.次回予告
第3回ネットワーク基礎勉強会は最終会として「過去2回分総まとめ」「発展的内容」について重点的に講義します。そして2時間の講義の後半1時間は、3回分の総決算として修了検定となります。
ラインナップ:
・過去2回の総まとめ
・クラスBのサブネット分割
・ネットワーク確認コマンド
・NW機器機能紹介
過去2回分の復習を行いつつ、その下地を基に発展的な内容についてご説明します。勿論その後に修了試験もありますから、合格目指してしっかりと頑張りましょう!
3.受講者の声と評価
今回の参加人数19名、辛口の受講者アンケートでは、満足度が平均「95.9点」を獲得し、「苦手意識があったサブネット分割化について理解度を高めることが出来た」「受講者に合わせた講義スタイルを崩さずに説明していただけたため。イメージ図をふんだんに用いていただいたおかげでとても理解しやすかった。」「なんとなく知っていた内容など、理由が明確になり分かり易かった」など、多くの評価を頂きました。
また、講義後に講師の元へは「自分のスキルアップに確実に繋がるという明確なビジョンが見えた」「自分で理解してなかった部分をたくさん吸収することができた」「受講している人たちも指名されるので、能動的に講義に取り組めている」など、受講者のもっともっと向上したいと言う意欲が報告されています。
4.勉強会で伝えたい事
今回、最も伝えたかった事は「苦手なことも諦めずにチャレンジすれば道は開ける!」と言う事です。普段当たり前のように接しているIPアドレスですが、サブネット分割などは2進法が絡むことで理解を難しくし、「私には無理」と諦めてしまう人が過去の講師経験からも、そのような声を耳にしてます。でも諦めたらそこで終わり。いきなり100%でなくても「半分の50%でも理解が出来る」ようになったならば、あとの足りない50%を少しずつ補っていけばいいのです。そのような繰り返しでやがて苦手な分野も克服できると信じております。また私たち講師陣は苦手分野の克服のノウハウも知っておりますので、きっとお手伝いが出来るはずです。
また前回もお伝えし、全勉強会を通して言える事ですが、基礎を身に付ける事はとても地道な作業です。しかしながら、努力はいつか花が咲き、飛躍的な成長に繋がります。「ITの技術は難しくて良く分からない…」などと諦めず、是非とも当勉強会へ参加し、私達と一緒に頑張ってみましょう。頑張る皆さんの事を私自身これからも全力でサポートさせて頂きます。