1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

仕上げは AI との協働でやっています。事実と表現は著者本人が確認しています。

ITパスポートの研修を何回か繰り返していると、受講者がほぼ毎回同じ場所で止まることに気付いてきました。あるクラスでは過半数の受講者が、ネットワーク章の同じ設問で間違えました。設問自体は「サブネットマスクの値から、ネットワーク部は何ビットか」という基本的なもので、テキストには答えが書いてあります。でも、ここで詰まる人が続出する。

何回か観察してみると、止まり方には共通のパターンがあって、テキストの説明順序の方を疑った方が良いのではないかと思うようになってきました。今回はそれを書いておきます。

過半数が間違えた設問

問題文は概ねこんな形でした (= 実際の研修で出題したものを類題化しています)。

サブネットマスクが 255.255.255.0 のとき、IPアドレス例 (例: クラスC 帯のローカルアドレス) のネットワーク部とホスト部はそれぞれ何か?

選択肢は4つあって、正解は「ネットワーク部 24 ビット、ホスト部 8 ビット」。

間違えた人の多くが「255 の部分とIPの数字が並んでいるところを取り出して、なんとなく組み合わせる」という回答パターンに集中していました。

何が起きていたか

授業の後でそうした受講者の何人かに「どう考えてこの選択肢を選んだか」を聞いて回ったところ、共通していたのは「255 という数字とIPの一部を見比べて、それっぽい組み合わせを選んだ」という説明でした。サブネットマスクが「数字のパターンマッチ」として扱われていて、ビットの話が結びついていなかった、ということです。

テキストに戻って読み直すと、サブネットマスクの説明はこの順序で進んでいます。

  1. IPアドレスはネットワーク部とホスト部に分かれる
  2. 分け方を決めるのがサブネットマスク
  3. サブネットマスクは 255.255.255.0 のような形をしている
  4. これを2進数で表すと 11111111.11111111.11111111.00000000 で、1が立っているビットがネットワーク部

この流れで読むと、4の「2進数で表すと」が説明の中盤に出てくるので、3で「255.255.255.0 という形」を覚えた人は、4の前にもう「サブネットマスクとはこういう数字だ」と確定してしまう、ということが起きているように見えます。

ビットの話が「補足」のような位置に来てしまっているテキストが多いのですが、実際にはここが本体です。サブネットマスクは数字のパターンではなくビットマスクで、2進数の連続した 1 がネットワーク部を表している。これを先に押さえないと、上の設問は感覚で当てに行くしかなくなります。

実際に IPアドレスとサブネットマスクを縦に並べてみると、「マスクの 1 のビット位置がネットワーク部、0 のビット位置がホスト部」という対応がそのまま目で見えます。

                   ← ネットワーク部 →  ← ホスト部 →
IP    192.168.1.10  11000000 10101000 00000001 | 00001010
                    ────────────────────────── | ────────
mask  255.255.255.0 11111111 11111111 11111111 | 00000000
                       ↑ 1 のビット = ネットワーク部 ↑ 0 = ホスト部

この縦並びを見ると、255.255.255.0 は「8ビットずつ全部 1 の塊が 3 つ」という単なる表現の塊で、ビットマスクとしての本質は「1 が連続している桁数」だと分かります。「24ビット = 255.255.255.0」という呼び替えの正体もここにあります。

自分が説明するときに変えた順序

それ以降は、テキストの順序を変えて以下のように説明するようにしました。

  1. まず2進数の話から始める。「コンピュータの中ではIPアドレスもサブネットマスクも 32ビットの 1 と 0 の並び」をホワイトボードに書いて、192.168.1.1011000000.10101000.00000001.00001010 と並べて見せる
  2. サブネットマスクを「マスク」として扱う255.255.255.0 を 2進数の 11111111.11111111.11111111.00000000 で示して、「1のビットの位置だけネットワーク部、0のビットの位置がホスト部」と書く
  3. IPとサブネットマスクを縦に並べる。同じ位置のビットを見比べる、という視点を作る
  4. 最後に 十進数表記での 255.255.255.0 という形 を「これは 2進数で 8ビットずつ全部 1 の塊が3つあるってこと」と紹介する

この順序にした後、同じ設問の正答率は体感ではっきり上がりました。サンプルが小さいので統計的な意味はあまりないですが、ビットの話を先に出すと、後半の十進数表記が「2進数を読みやすく書いたもの」として位置付けられる、というのは確かにありそうです。

クラスCとプライベートアドレスの話

ついでにここで詰まりやすい関連トピックもまとめておきます。試験では以下の3つが混ざりやすいのですが、区別の軸を整理しておくと外しにくいです。

用語 何を分類しているか
クラスA/B/C (アドレスクラス) アドレス全体での割り当て幅の区分 (歴史的) クラスC は先頭3バイトがネットワーク部
プライベートアドレス インターネット上で使えない (= LAN専用) 192.168.0.0/1610.0.0.0/8172.16.0.0/12
サブネットマスク アドレスの中でネットワーク部とホスト部の境界を決める 255.255.255.0 = /24

クラスとサブネットマスクは別の軸の話で、「クラスCだから 255.255.255.0」という結び付け方は、厳密には CIDR 以前の整理です。試験ではこの結び付けで聞かれることもあるので「歴史的にはそうだった、今は CIDR で柔軟」という両方を持っておくと安全です。

3 つの用語が「何を分類しているか」を別の軸として並べると、こうなります。

縦に重なって見えがちですが、「アドレスをどう分類するか」「どこで使えるか」「中をどう区切るか」という違う質問に答えています。

プライベートアドレスは「インターネットには出られないアドレス帯」で、自宅の Wi-Fi で割り当てられる 192.168.x.x がこれです。グローバルアドレスと混ざるとややこしいので、「LAN内専用 vs インターネット上の住所」という対比で押さえると区別がつきやすいです。

OSI参照モデルでも同じことが起きる

ネットワーク章ではもう1つ、OSI参照モデルの7階層でも同じような止まり方を観察しています。こちらは「7階層を順に覚えてください」と言われた瞬間に詰まる人が多くて、試験前日になっても「アプセトネデブ」(アプリケーション・プレゼンテーション・セッション・トランスポート・ネットワーク・データリンク・物理) という語呂合わせを思い出せない、という相談が来ます。

これも順序の問題で、7階層の名前を覚える前に 「TCP/IP は4階層、OSI参照モデルは7階層で、細かく分かれている方が OSI 」 という対比をまず置くと、細部の名前が「どの粒度で見るかの違い」として位置付けやすくなります。名前を先に覚えると、何のための名前か分からないまま暗記することになるので、試験当日に忘れます。

OSI の上 3 つ (5/6/7) が TCP/IP では「アプリケーション」1 つに丸まり、下 2 つ (1/2) が「ネットワークインタフェース」1 つに丸まる、という対応関係です。覚え方ではなく、「OSI の方が細かい」「TCP/IP は実装に寄せて束ねた」という関係から入ると、細部は後から戻れます。

ここまで書いて思ったこと

研修で同じ場所で詰まるパターンが見えてくると、テキストの説明順序や教える順序の方を疑った方が良い場面が増えてきました。受講者の「分からない」が個人の理解力ではなく、説明の順序の問題だったということが、観察を重ねると見えてきます。

サブネットマスクをビットマスクとして説明する、という順序の変更はテキスト的には少数派ですが、試験対策としても実務で使うとしても、こちらの順序の方が後で効いてくると思っています。今後の研修でも同じ順序で続ける予定です。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?