「IPアドレスとサブネットマスクの計算、参考書を読んでもいまいちピンとこない…」
「結局、2進数に変換してAND演算する、と丸暗記してしまっている…」
「なぜそうなるの?と聞かれると、実はうまく説明できない…」
もしあなたが一つでも当てはまるなら、この記事はあなたのためのものです。
この記事のゴールは、単にIPアドレスの計算方法を解説することではありません。
あなたが「IPアドレス計算への苦手意識を完全に克服し、その仕組みを本質から理解すること」、そしてその知識を使って応用情報技術者試験の問題を解くのが「むしろ面白い!」と感じられるようになることです。
私たちは、「暗記」という名の霧が晴れ、知識の全体像がクリアに見えてくるような、そんな「なるほど!」という体験を提供します。
この記事を読み終える頃には、あなたは小手先のテクニックではなく、どんな応用問題にも対応できる「本当の実力」を手に入れているはずです。
目次
1. イントロダクション
応用情報技術者試験の合格を目指すあなたが、午後問題の選択でネットワーク分野を避けたくなる理由は何でしょうか?
「IPアドレス、サブネットマスク、CIDR表記...。数字と専門用語の羅列に、思考がフリーズしてしまう」
「計算方法はなんとなく覚えているけど、少し応用的な問題になると途端に解けなくなる」
「何より、計算に時間がかかりすぎて、他の問題を見直す余裕がなくなってしまう」
その気持ち、痛いほどわかります。ネットワークの根幹をなすIPアドレスの計算は、多くの受験者にとって大きな壁となっています。
しかし、ご安心ください。その壁は、正しい理解と少しのコツで、誰でも乗り越えることができます。
この記事では、あなたを悩ませるIPアドレスとサブネットマスクの関係を徹底的に解きほぐし、ホストアドレス部を正確かつ迅速に導き出すための最短ルートを提示します。この記事を読み終える頃、あなたはこうなっているはずです。
- なぜその計算をするのかという「理由」がわかり、もう丸暗記に頼る必要がなくなっている。
- 10進数と2進数の変換がスムーズに行え、計算への苦手意識が消えている。
- ネットワーク分野が得点源に変わり、自信を持って午後問題を選択できるようになっている。
さあ、私たちと一緒に、IPアドレス計算のプロフェッショナルへの第一歩を踏み出しましょう!
2. 結論ファースト:ホストアドレス部を一言でいうと?
結論から言いましょう。ホストアドレス部とは、一体何なのでしょうか?
それは、ネットワークという大きな”住所(例:東京都港区)”の中で、あなたのPCやスマートフォンといった一つ一つの機器を特定するための、ユニークな”番地・部屋番号”のことです。
そして、その『どこまでが市区町村で、どこからが番地・部屋番号か』を示す”区切り線”の役割を果たすのが、サブネットマスクなのです。
ちょっと、この関係性を覗いてみましょう。
IPアドレス: 192.168.1.10
→ これが全体の住所。「アパート名:ヒルサイド101号室」のようなものです。
サブネットマスク: 255.255.255.0
→ これが区切り線。「3番目の点(ドット)までがネットワーク(アパート名)で、残りがホスト(部屋番号)ですよ」と教えてくれます。
この結果、
ネットワークアドレス: 192.168.1.0
→ これがネットワーク部分。「ヒルサイド」というアパートそのものを指します。
ホストアドレス部: 10
→ これがホスト部分。アパートの中の「101号室」を指します。
どうでしょうか?
IPアドレスは「ネットワーク部」と「ホスト部」という2つの部分から成り立っている。ただそれだけなのです。
このシンプルな構造を最初にイメージできるかどうかが、IPアドレス計算をマスターするための鍵となります。
3. 大図解:ホストアドレス導出の全体像と仕組み
さて、先ほどの「部屋番号」がどうやって求められるのか、その計算の仕組みを覗いてみましょう。コンピュータは10進数が分からないため、全ての数字を「2進数(0と1の世界)」に変換して考えます。ここが最初のステップです。
ステップ1:IPアドレスとサブネットマスクを「2進数」に変換する
例として使った「IPアドレス: 192.168.1.10」と「サブネットマスク: 255.255.255.0」を、それぞれ2進数に直してみます。
種類 | 10進数表記 | 2進数表記 |
---|---|---|
IPアドレス | 192.168.1.10 | 11000000.10101000.00000001.00001010 |
サブネットマスク | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
ステップ2:2つの2進数で「AND演算(論理積)」を行う
次に、この2つの2進数を重ねて、「AND演算(論理積)」という計算をします。これは、両方のビットが「1」の場合のみ結果が「1」になり、それ以外は「0」になる、という単純なルールです。
この計算こそが、ネットワークアドレス(アパート名)を特定する魔法です。
11000000.10101000.00000001.00001010 (IPアドレス) & 11111111.11111111.11111111.00000000 (サブネットマスク) ------------------------------------ 11000000.10101000.00000001.00000000 (ネットワークアドレス)
注目すべきはサブネットマスクの役割です。「1」が並んでいる部分はIPアドレスのビットをそのまま通し、「0」が並んでいる部分は強制的に0にする、まさに「マスク」のような働きをしていますよね。これにより、ネットワーク部だけがくっきりと浮かび上がってくるのです。
ステップ3:結果を10進数に戻し、「ホストアドレス部」を特定する
AND演算の結果出てきた2進数 `11000000.10101000.00000001.00000000` を10進数に戻すと、「192.168.1.0」となり、無事にネットワークアドレスが求まりました。
では、「ホストアドレス部」はどこでしょう?
もうお分かりですね。サブネットマスクで「0」になっていた部分、つまりIPアドレスの末尾 `00001010` が、そのままホストアドレス部になります。これを10進数に直すと「10」です。
これが、IPアドレスからホストアドレス部を導き出す計算の全貌です!
4. なぜ?がわかる深掘り解説
ここまでの解説で、IPアドレスとサブネットマスクを使ってホストアドレス部を導き出す「計算方法」はマスターできたはずです。しかし、応用情報技術者試験を突破し、真の実務家を目指すには、その背景にある「なぜ?」を理解することが不可欠です。
なぜサブネットマスクが必要になったのか? ~IPアドレス枯渇の歴史~
昔々、IPアドレスには「クラス」という概念がありました(クラスA, B, Cなど)。これは、組織の規模に応じてざっくりとネットワークの大きさを割り当てる仕組みでした。しかし、「大・中・小」の3サイズしかなく、非常に無駄が多かったのです。
例えば、PCが100台しかない会社に、約65,000台分のIPアドレスが使える「クラスB」のネットワークを割り当ててしまう、といった事態が頻発しました。これでは、あっという間にIPアドレスが枯渇してしまいますよね。
そこで登場したのが、ネットワークの大きさを柔軟に、無駄なく設計するための仕組み、「サブネット化(Subnetting)」と、そのための道具である「サブネットマスク」です。これにより、IPアドレスを必要な分だけ、効率的に利用できるようになったのです。
なぜ計算には「AND演算」が使われるのか? ~マスクの本当の意味~
これも、サブネット「マスク」という言葉の意味を考えると直感的に理解できます。
思い出してください。サブネットマスクを2進数にすると、「1」が連続する部分と、「0」が連続する部分に分かれましたよね。
- 「1」の部分:IPアドレスのビットを「そのまま通す」役割。ここがネットワーク部です。
- 「0」の部分:IPアドレスのビットを「強制的に0で塗りつぶす」役割。ここがホスト部です。
この「通す」「塗りつぶす」という操作を、コンピュータの世界で実現するのに最も都合が良かったのが「AND演算(論理積)」だった、というわけです。2つのビットを比較して「両方1なら1、それ以外は0」というAND演算のルールは、まさにこのマスク機能を実現するための完璧なロジックなのです。
CIDR(サイダー)表記って、いったい何? ~便利な近道~
255.255.255.0
のようにサブネットマスクを毎回書くのは、少し面倒ですよね。そこで生まれたのが、よりシンプルに表現するための「CIDR(Classless Inter-Domain Routing)表記」です。読み方は「サイダー」でOKです!
これは非常に簡単で、サブネットマスクを2進数にしたときの、先頭から続く「1」の数を数えたものです。
例えば、255.255.255.0
は、2進数にすると
11111111.11111111.11111111.00000000
となり、先頭から「1」が24個並んでいます。これを /24
と表現します。つまり、
192.168.1.10/24
は 192.168.1.10
(サブネットマスクは 255.255.255.0
)と全く同じ意味になるのです。
応用情報技術者試験の問題や、現代のネットワーク設計では、このCIDR表記が当たり前に使われます。ぜひ慣れておきましょう!
5. 厳選過去問と思考トレース
これまでに学んだ知識を使って、応用情報技術者試験の実際の過去問にチャレンジしてみましょう。知識がどう試されるのか、そしてどう使えば解けるのか、その思考プロセスを一緒に辿っていきます。
【問題】平成28年秋期 午前 問35(改)
IPアドレスが 192.168.30.132/28
であるPCが属するネットワークのブロードキャストアドレスはどれか。
ア. 192.168.30.127
イ. 192.168.30.131
ウ. 192.168.30.143
エ. 192.168.30.255
思考トレース開始!〜正解へのロードマップ〜
さあ、この問題をどう解きますか?焦らず、情報を一つずつ分解していきましょう。
- Step 1: 問題文のキーワードを特定する
まず、問題文から重要な情報を抜き出します。- IPアドレス:
192.168.30.132
- サブネットマスク:
/28
(CIDR表記) - 問われているもの: ブロードキャストアドレス
ブロードキャストアドレスを求めるには、まずネットワークアドレスを特定する必要がある、ということを思い出しましょう。
- IPアドレス:
- Step 2: サブネットマスク「/28」を解読する
/28
は、2進数で「1」が28個並ぶという意味でしたね。第4オクテット(4番目の数字)に注目すると、11110000
となります。これを10進数に直すと240
です。
つまり、サブネットマスクは255.255.255.240
です。そして重要なのは、ホストに使えるビット数(ホスト部の長さ)は 32 - 28 = 4ビットだということです。 - Step 3: ネットワークアドレスを計算する
IPアドレス192.168.30.132
とサブネットマスク255.255.255.240
のAND演算を行います。ポイントは第4オクテットだけです。- 132 (IP) →
10000100
- 240 (マスク) →
11110000
- AND演算結果 →
10000000
→ 10進数で 128
したがって、ネットワークアドレスは
192.168.30.128
となります。 - 132 (IP) →
- Step 4: ブロードキャストアドレスを計算する
ブロードキャストアドレスとは、ホスト部のビットをすべて「1」にしたものでしたね。
ネットワークアドレス192.168.30.128
の第4オクテットは、2進数で10000000
です。このホスト部(下4ビット)をすべて「1」に変えます。10000000
→10001111
この
10001111
を10進数に直すと、128 + 8 + 4 + 2 + 1 = 143 となります。 - Step 5: 解答を選択する
計算結果から、ブロードキャストアドレスは192.168.30.143
と分かりました。よって、正解は選択肢ウです。
6. 未来を予測する出題予想
過去問を解くことは重要ですが、未来の試験で問われる可能性のある新しいテーマを予測することも、ライバルに差をつける鍵となります。ここでは、最近の技術トレンドを踏まえた、IPアドレス計算の新たな出題形式を3つ予測します。
予測1:クラウド(VPC)環境でのネットワーク設計問題
シナリオ例:
「あなたは、ある企業のクラウド移行を任された。Webサーバ群、APサーバ群、DBサーバ群のために、それぞれセキュリティ要件の異なるサブネットを作成する必要がある。会社に割り当てられたVPC(仮想プライベートクラウド)全体のIPアドレス範囲は 10.0.0.0/16
である。あなたなら、各サブネットにどのようなCIDRブロックを割り当てるか?」
問われる能力:
もはや、与えられたIPアドレスから計算するだけではありません。大きなネットワーク(/16
)を、要件に合わせて複数の小さなネットワーク(例:/24
)に無駄なく、かつ重複なく分割する『設計能力』が問われます。VLSM(可変長サブネットマスク)の知識がより実践的な形で試されるでしょう。
予測2:IPv6アドレスの基礎知識を問う問題
シナリオ例:
「次のIPv6アドレスのうち、2001:0db8:0000:0000:1234:0000:0000:5678
をルールに従って最も短く省略した表記はどれか?」
問われる能力:
IPv4アドレスの枯渇問題から、IPv6への移行は着実に進んでいます。複雑な計算はまだ先だとしても、IPv6アドレスの長大な表記を正しく省略するルール(先頭の0は省略できる、連続する0は `::` で一度だけ省略できる、など)は、応用情報技術者として必須の知識です。基本的なルールを正確に覚えているかが試されます。
予測3:コンテナ技術(Dockerなど)とIPアドレス
シナリオ例:
「Dockerコンテナを利用したシステム構成図が示され、コンテナ間の通信や、外部ネットワークとの通信(ポートフォワーディング)の仕組みについて、IPアドレスの観点から適切な説明を選択させる問題」
問われる能力:
近年のシステム開発で必須となったコンテナ技術。各コンテナがホストOS内に作られたプライベートなネットワーク上で、どのようにIPアドレスを割り当てられ、相互に通信しているのか。その基本的な仕組みの理解度が問われる可能性があります。NATやポートマッピングといった関連技術と結びつけて理解しておくことが重要になります。
7. 知識を体系化する関連マップ
IPアドレス、サブネットマスク、DNS、DHCP...。たくさんの専門用語が出てきましたが、それらはバラバラに存在するわけではありません。ここでは「PCの電源を入れてから、インターネットのWebサイトを見るまで」という物語に沿って、知識の繋がりを地図にしてみましょう。
- スタート地点:あなたのPC
- ① IPアドレスを取得したい! → 助けて、DHCPサーバ!
- DHCP (Dynamic Host Configuration Protocol)が、ネットワークの「住所」を自動で割り振ってくれる。
- DHCPが教えてくれる4点セット:
- IPアドレス (例:
192.168.1.10
) ← あなたのPCの住所 - サブネットマスク (例:
/24
) ← ネットワークの範囲を示す区切り線 - デフォルトゲートウェイ (例:
192.168.1.1
) ← インターネットへの「出口」となるルータのアドレス - DNSサーバのアドレス ← Webサイトの住所を教えてくれる「電話帳」サーバの場所
- IPアドレス (例:
- ② 自分の所属ネットワークを把握する
- 受け取ったIPアドレスとサブネットマスクを使い、PCは自分の所属するネットワークアドレス (
192.168.1.0
) を知る。 - 自分のホストアドレス部 (
10
) を認識し、ネットワーク内での個性を確立する。 - 同じネットワーク内の全員に連絡するためのブロードキャストアドレス (
192.168.1.255
) も把握する。
- 受け取ったIPアドレスとサブネットマスクを使い、PCは自分の所属するネットワークアドレス (
- ③ Webサイトにアクセスする
- ブラウザに「example.com」と入力。
- PCは、DHCPに教わったDNSサーバに「example.comさんのIPアドレスは何番ですか?」と問い合わせる。
- DNSサーバが「
93.184.216.34
ですよ」と返答。 - PCは、そのIPアドレス宛の通信データを、インターネットへの出口であるデフォルトゲートウェイに「これ、お願い!」と転送する。
- ① IPアドレスを取得したい! → 助けて、DHCPサーバ!
- ゴール:Webサイトの表示!
8. あなただけの学習ロードマップ
知識をインプットするだけでなく、手を動かしてこそスキルは定着します。以下の4ステップのトレーニングを実践して、IPアドレス計算をあなたの「得意技」に変えましょう!
-
Step 1: 【ウォーミングアップ】10進数⇔2進数変換の反復練習
まずは計算の基礎体力作りです。紙とペンを用意し、
0
,128
,192
,224
,240
,248
,252
,255
といった、サブネットマスクで頻出する数字を、何も見ずに2進数に変換する練習を5回繰り返しましょう。スピードと正確性が格段に上がり、計算への心理的ハードルが下がります。 -
Step 2: 【基礎トレーニング】AND演算を体で覚える
次に、AND演算の感覚を掴みます。適当なIPアドレス(例:
172.16.100.50
)と、いくつかのCIDR(例:/20
,/25
,/29
)を自由に組み合わせて、ネットワークアドレスとブロードキャストアドレスを自力で計算してみましょう。電卓は使わず、自分の手で計算し、答えを導き出すプロセスそのものが最高のトレーニングです。 -
Step 3: 【実戦演習(午前編)】関連過去問で自信をつける
基礎が固まったら、応用情報技術者試験の午前問題に挑戦です。IPアドレスやサブネットマスクに関連する問題を5問探して解いてみましょう。時間を計ると、より本番に近いトレーニングになります。間違えた問題は、なぜ間違えたのかを必ず分析し、「次に同じ問題が出たら絶対に解ける」状態にすることが重要です。
-
Step 4: 【応用偵察(午後編)】設計者の視点を覗いてみる
最後の仕上げです。午後問題のネットワーク分野の問題文と構成図だけを読んでみてください。ここでは問題を解く必要はありません。「ああ、この部分でサブネットの知識が使われているんだな」「この要件を満たすには、IPアドレスをこうやって分割する必要があるのか」と、設計者の視点で課題を眺めてみることが目的です。これにより、知識の使われ方が立体的に見えてきます。
9. 理解度チェック&チャレンジクイズ
ここまでの内容がどれだけ身についたか、2つのクイズで腕試ししてみましょう。試験本番とは一味違った、実践的な問いです。
クイズ1:同じネットワークを探せ!
以下の3台のPCは、互いに通信できる同じネットワークに属していると言えるでしょうか?
- PC A:
192.168.10.150/25
- PC B:
192.168.10.200/25
- PC C:
192.168.10.120/25
考え方と答えを見る
【考え方】
各PCのネットワークアドレスを計算して、すべて同じになれば「Yes」、一つでも違えば「No」です。/25
のサブネットマスクは 255.255.255.128
ですね。
・PC A: 150
と 128
のAND演算 → 128
。ネットワークアドレスは 192.168.10.128
・PC B: 200
と 128
のAND演算 → 128
。ネットワークアドレスは 192.168.10.128
・PC C: 120
と 128
のAND演算 → 0
。ネットワークアドレスは 192.168.10.0
【答え】
No。PC AとPC Bは同じネットワーク(192.168.10.128/25
)にいますが、PC Cは別のネットワーク(192.168.10.0/25
)にいるため、3台が互いに通信することはできません。
クイズ2:最適なサブネットを設計せよ!
あなたは、ある部署の新しいネットワークを設計しています。必要なPCの台数は最大で50台です。割り当てられたIPアドレス範囲 172.20.10.0/24
の中から、最も無駄のないサブネットマスクを選ぶとしたら、次のうちどれが最適でしょうか?
ア. /24
(255.255.255.0)
イ. /25
(255.255.255.128)
ウ. /26
(255.255.255.192)
エ. /27
(255.255.255.224)
考え方と答えを見る
【考え方】
「利用可能なホスト数」が50以上で、かつ最も50に近いものを選びます。利用可能なホスト数は「2の(ホスト部のビット数)乗 - 2」で計算できますね。
・ア (/24
): ホスト部8ビット。28-2 = 254台。多すぎ。
・イ (/25
): ホスト部7ビット。27-2 = 126台。まだ多い。
・ウ (/26
): ホスト部6ビット。26-2 = 62台。50台を収容でき、無駄が少ない!
・エ (/27
): ホスト部5ビット。25-2 = 30台。足りない。
【答え】
ウ. /26
。50台のホストを収容できる最小のネットワークであり、最もIPアドレスの無駄が少ないためです。
10. 最終チェックとまとめ
長い冒険、本当にお疲れ様でした。最後に、私たちが一緒に旅して見つけた宝物、つまりこの記事の最も重要なポイントを再確認しましょう。
今回の冒険のハイライト
- ホストアドレスは「部屋番号」:IPアドレスは「ネットワーク部(住所)」と「ホスト部(部屋番号)」でできており、このイメージが全ての基本です。
- サブネットマスクは「区切り線」:サブネットマスクは、2進数の「1」でネットワーク部を、「0」でホスト部を示す、非常に便利な「区切り線」の役割を果たします。
- 計算の核心は「AND演算」:難しく見えるネットワークアドレスの計算も、その正体はIPアドレスとサブネットマスクの単純な「AND演算」に過ぎません。
- CIDR表記を使いこなす:「/24」のようなCIDR表記は、サブネットマスクの「1」の数を数えただけの便利なショートカット。これに慣れることが実践への近道です。
最後のメッセージ:あなたへの応援歌
ここまでこの記事を読み進め、理解したあなたは、もうIPアドレス計算の初心ではありません。一つ一つの計算の裏にある「なぜ?」を知り、知識を体系的に整理し、それをどう使うかを学んだ、立派なネットワーク探求者です。
ホストアドレスを理解することは、広大なネットワークの世界を探求するための、ほんの第一歩に過ぎません。しかし、この一歩は、これからのあなたの学習を支える、非常に重要で強固な土台となります。
今日手に入れた「"なぜ?"を考える力」は、ネットワーク分野だけでなく、データベース、セキュリティ、クラウドなど、ITのあらゆる分野であなたを助ける最強の武器になるはずです。
応用情報技術者試験の合格、そしてその先のITプロフェッショナルとしてのあなたの輝かしい未来を、パートナーとして心から応援しています!