こんにちは、数強塾代表の藤原進之介です。この記事は参考書『藤原進之介の最強120講義』の第70講「IPアドレスとサブネット」のWeb版です。共通テスト「情報Ⅰ」での重要度はS(毎年出る。落とすと致命的)、情報Ⅱでの接続先は(4)情報システムとプログラミングです。
サブネットマスクは「2進法に直してANDを取る」と手順だけ暗記して済ませる人が本当に多い分野です。しかしその暗記では、なぜ2進法に直すのかもなぜホスト数から2を引くのかも説明できません。この講では、IPアドレスが二段構えになっている理由を経路表の大きさから導き、その理解が情報Ⅱのネットワーク設計にそのまま使われることまでお見せします。数値はすべて手元で検算したものだけを載せています。
1. この講の問い
なぜIPアドレスは「ネットワーク部」と「ホスト部」の二段構えになっているのか。
2. 結論
IPアドレスが二段構えなのは、世界中の端末を1枚の表で引くことが物理的に不可能だからです。「まち」(ネットワーク部)と「番地」(ホスト部)に分ければ、途中のルータは「まち」だけを見て転送でき、経路表が桁違いに小さくなります。サブネットマスクとは、その分け目が何ビット目にあるかを1の並びで示すビット列にすぎません。
3. なぜそうなるのか
3-1. 「1枚の表で引く」を実際に想像してみる
インターネットにつながっている端末それぞれに、通し番号を1つずつ振ったとします。手紙を届けるには、途中の中継地点(ルータ)が「この番号の相手はどっちの方向か」を知っていなければなりません。素直にやるなら、ルータは全端末分の対応表を持つことになります。
IPv4のアドレスは32ビットなので、番号は 232 = 4,294,967,296 通り。約43億行の表です。しかもこの表は、パケットが1個来るたびに引かれます。1秒間に何百万個も来ます。表が大きすぎてメモリに載らないし、載っても引くのが間に合わない。しかも世界中のルータが同じ43億行を共有して、変更のたびに配り直さなければなりません。だから設計者は逆から考えました。「表を小さくするには、どうアドレスを振ればいいか」と。
3-2. 郵便番号がやっていること
答えは、私たちが毎日使っている住所にすでにあります。郵便物を仕分ける人は、東京都新宿区の「◯丁目◯番◯号」を覚えていません。覚えているのは「新宿区行きはこの袋」まで。番地の解決は新宿区の配達員に任せればよい。上位のまとまり(まち)だけを見て転送し、細かい部分(番地)は最後の一区間の担当者に任せる。これで表は「まちの数」の行数で済みます。
IPアドレスはこれをそのまま真似ました。32ビットをネットワーク部(上位側。どの「まち」か)とホスト部(下位側。その中の何番目か)に分け、途中のルータはネットワーク部だけを見て転送する。最後の1区間だけがホスト部を見ます。
ここが本講の核心です。ネットワーク部とホスト部への分割は、覚えるべき用語ではなく、43億行の表を作らずに済ませるための唯一の手段なのです。なお、この転送がどの階層で行われるかは第68講 プロトコルとTCP/IPの4階層で扱いました。本講は階層の話ではなく、アドレスそのものの構造に絞ります。
3-3. なぜ分け目を「固定」にしなかったのか
素朴に考えれば、「上位16ビットがまち、下位16ビットが番地」と固定してしまえば話は簡単です。実際、初期のインターネットはこれに近い設計でした。しかしこれは破綻します。組織の規模がバラバラだからです。端末が10台の小さな事務所と、端末が5万台の大企業に同じ大きさの「まち」を配ったら、事務所には65,000個以上のアドレスが余り、大企業には足りません。43億個しかない資源を、こんな配り方で使い潰すわけにはいきません。そこで「分け目の位置を組織ごとに変えられるようにする」という発想が出てきます。この可変の分け目を表現する道具がサブネットマスクです。
3-4. サブネットマスクは「境界の位置」を書いたビット列
サブネットマスクも、IPアドレスと同じ32ビットの数です。ただし中身には強い制約があります。左から1が連続して並び、途中から0が連続して並ぶ。1と0が混ざらない。
例えば 255.255.255.0 は2進法で 11111111 11111111 11111111 00000000。1が24個、0が8個です。この「1が24個」が「上位24ビットがネットワーク部です」という宣言になっています。だから /24 と書きます(この記法をプレフィックス長といいます)。
なぜ1と0が混ざってはいけないのか。混ざったら「まち」が連続した番地の塊にならないからです。塊になっていないと「この範囲はまとめてこっち」という表の書き方ができず、3-1の問題に逆戻りします。
文部科学省が「情報Ⅰ」の授業用コンテンツとして配っているExcelシートには、入力欄の見出しにこう書かれています。
サブネットマスクを2進法で入力しましょう(左からビットが並んでいる範囲がネットワーク部です)
文部科学省「授業・研修用コンテンツ」【情報Ⅰ】[6] はじめてのネットワーク構築「IPアドレスとサブネットマスクからネットワーク部やホスト部などが分かるシート」
原文はこの表記ですが、意味は「左から1が並んでいる範囲がネットワーク部」です。国の教材の入力欄が、そのまま本講の定義になっています。
3-5. ANDを取るとネットワークアドレスが出る理由
サブネットマスクの使い方は「IPアドレスとのAND」です。これも暗記事項ではありません。ビットごとのANDは「両方1のときだけ1」ですから、マスクが1の桁では元のビットがそのまま残り、マスクが0の桁では必ず0になります。
つまりANDは「マスクが1の範囲だけ残して、あとは0で塗り潰す」操作です。ネットワーク部だけを残してホスト部を全部0にした結果、それがネットワークアドレス(そのまちを代表するアドレス)になります。同じ理屈で、マスクを反転(NOT)してORを取ると今度はホスト部が全部1になり、それがブロードキャストアドレス(そのまち全員宛て)です。
前掲の文科省のExcelシートは、まさにこの順序で列が並んでいます。
IPアドレス2進ANDネットマスク2進(ネットワークアドレスの2進法バージョンが分かる)
NOTサブネットマスク2進 (サブネットマスクのビット列を反転)
ネットワークアドレス2進OR(NOTサブネットマスク2進) (ネットワークアドレスのホスト部をビット反転させたもの=ブロードキャストアドレス2進法バージョン)
前掲、同シートのセル見出し
国が配っている教材そのものが「2進に直す → AND → NOTしてOR」という手順を採っています。これから4章でやることは、私の独自の流儀ではありません。
3-6. 32ビット=約43億では、なぜ足りなくなったのか
232 = 4,294,967,296。約43億個です。地球上の人口を考えれば、この時点で「1人1個」にすら届きません。しかも現実には1人が複数の機器を持ちます。スマートフォン、パソコン、ゲーム機、テレビ、エアコン、体重計。端末の数は人の数よりずっと多い。
日本ネットワークインフォメーションセンター(JPNIC)は、枯渇の主要因をこう説明しています。
2003年頃からの世界的なブロードバンド接続の普及・拡大により、アドレス消費がこれまでのペースを大きく上回る速度で堅調に進行
JPNIC「IPv4アドレス在庫枯渇Q&A基礎編」
そして実際に在庫は尽きました。JPNICの公表によれば、次のとおりです。
| 枯渇した組織 | 枯渇日 |
|---|---|
| IANA(世界の中央在庫) | 2011年2月3日 |
| APNIC(アジア太平洋) | 2011年4月15日 |
| RIPE NCC(欧州) | 2012年9月14日 |
| LACNIC(中南米) | 2014年6月10日 |
| ARIN(北米) | 2015年9月24日 |
「いつか足りなくなる」ではありません。もう15年前に尽きています。JPNICは独自の在庫を持たずAPNICと共有しているため、日本での通常の割り振りもAPNICと同時に終わりました。
3-7. プライベートアドレスとNATが解決したこと
では、なぜ2011年以降もインターネットは普通に動いているのか。答えの一つがプライベートアドレスです。RFC1918という文書が、3つの範囲を「組織の内部でだけ使ってよいアドレス」として予約しました。
| 範囲 | プレフィックス | 個数 |
|---|---|---|
| 10.0.0.0 〜 10.255.255.255 | 10.0.0.0/8 | 16,777,216 |
| 172.16.0.0 〜 172.31.255.255 | 172.16.0.0/12 | 1,048,576 |
| 192.168.0.0 〜 192.168.255.255 | 192.168.0.0/16 | 65,536 |
家庭のWi-Fiルータの管理画面を開くと、たいてい 192.168. で始まるアドレスが並んでいます。あれがこの3番目の範囲です。肝は「これらのアドレスは世界中で重複してよい」こと。あなたの家の 192.168.1.5 と隣の家の 192.168.1.5 は別物として共存できます。インターネット側からは見えないからです。
一組織がインターネットレジストリからグローバルIPアドレスの割当を受けインターネットに接続した場合に全インターネットへの接続性を得られると考えるのはもはや現実的ではない
JPNIC 日本語訳「プライベート網のアドレス割当(RFC1918)」原RFCは1996年2月
内部でプライベートアドレスを使い、外に出るときだけ組織に割り当てられたグローバルアドレスに書き換える。この書き換えがNAT(Network Address Translation)です。43億という上限を、「同時に外と話している端末の数」の上限に読み替えたわけです。
ただしタダではありません。RFC1918自身が欠点も挙げています。将来インターネットに接続するときのリナンバリング(アドレスの振り直し)のコストと、プライベート空間が重なる組織どうしが合併したときのアドレス衝突です。実務で本当に困るのは後者です。
3-8. IPv6の128ビットは「4倍」ではない
IPv4が32ビット、IPv6が128ビット。ここで「4倍になった」と読んだ人は、指数を見誤っています。2128 ÷ 232 = 296、つまり約 7.9 × 1028 倍です。2128 自体は39桁の数で、IPv4の10桁から桁数だけで29桁増えています。
IPv4で32ビット幅、IPv6では128ビット幅となっています
JPNIC ニュースレター No.32「インターネット10分講座:IPv6アドレス〜技術解説〜」2006年3月
128ビットは「16ビットずつ8つにコロンで区切って16進数で表記」し、連続する0は :: で省略できます。16進表記が使われる理由は第40講 2進数・10進数・16進数の変換のとおりで、16 = 24 だから2進4桁が16進1桁にきれいに対応するからです。
なぜここまで大きくしたのか。一度足りなくなって世界中が痛い目を見たからです。「今の10倍」では、また20年で尽きる。もう二度と枯渇しない量を確保するために、桁を増やす方向に振り切ったのです。
4. 手で確かめる
以下の例で使うアドレスは、RFC5737が文書用に予約している3つのブロック(192.0.2.0/24、198.51.100.0/24、203.0.113.0/24)と、RFC1918のプライベートアドレスだけです。実在の機器のアドレスは使っていません。
4-1. まず10進を2進に直す
IPアドレスは8ビットずつ4つに区切って10進で書きます(この8ビットの区切りをオクテットといいます)。計算するときは必ず2進に戻します。10進のまま計算しようとすると必ず間違えます。
マスクに出てくるオクテットは決まった9種類しかないので、これは表で覚えてしまってよいところです。
| 10進 | 0 | 128 | 192 | 224 | 240 | 248 | 252 | 254 | 255 |
|---|---|---|---|---|---|---|---|---|---|
| 2進 | 00000000 | 10000000 | 11000000 | 11100000 | 11110000 | 11111000 | 11111100 | 11111110 | 11111111 |
| 1の個数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
マスクに255・0以外の数が出てきたら、必ずこの表のどれかです。133 や 200 は(左詰めの1にならないので)サブネットマスクにはなれません。ここは選択肢を切る材料になります。
4-2. /24 の場合(バイト境界で切れる、いちばん易しい型)
203.0.113.130、マスク 255.255.255.0。203 = 11001011、113 = 01110001、130 = 10000010 です。
IPアドレス 11001011 00000000 01110001 10000010
サブネットマスク 11111111 11111111 11111111 00000000
--------------------------------------------- AND
ネットワーク 11001011 00000000 01110001 00000000 = 203.0.113.0
ブロードキャスト 11001011 00000000 01110001 11111111 = 203.0.113.255
ホスト部は8ビットなので 28 = 256 通り。ここから2を引いて254台です。
4-3. /26 の場合(バイトの途中で切る)
同じ 203.0.113.130 に、マスク 255.255.255.192 を当てます。192 は 11000000 なので1が2個、合計 24 + 2 = 26ビットがネットワーク部です。
IPアドレス 11001011 00000000 01110001 10000010
サブネットマスク 11111111 11111111 11111111 11000000
--------------------------------------------- AND
ネットワーク 11001011 00000000 01110001 10000000 = 203.0.113.128
ブロードキャスト 11001011 00000000 01110001 10111111 = 203.0.113.191
同じIPアドレスなのに、マスクが変わるとネットワークアドレスが変わりました。203.0.113.0 だったものが 203.0.113.128 になっています。
これが本講で最も重要な事実です。IPアドレスだけを見ても、どこまでがネットワーク部かは分かりません。マスク(またはプレフィックス長)とセットで初めて意味が決まります。共通テストで「IPアドレスとサブネットマスクの組」が必ずセットで与えられるのは、片方だけでは情報が足りないからです。ホスト部は6ビットなので 26 − 2 = 62台です。
4-4. /28 と /20 も同じ手順で解ける
(例1)192.0.2.77 / 255.255.255.240(= /28)。240 は 11110000 なので1が4個。77 は 01001101。
77 01001101
240 11110000
AND 01000000 = 64
ネットワークアドレス 192.0.2.64、ブロードキャスト 192.0.2.79、ホスト部4ビットで 24 − 2 = 14台。
(例2)198.51.100.37 / 255.255.240.0(= /20)。今度は第3オクテットの途中で切れます。100 は 01100100。
100 01100100
240 11110000
AND 01100000 = 96
ネットワークアドレスは 198.51.96.0。第4オクテットは0になります。ブロードキャストは第3オクテットのホスト部(下位4ビット)と第4オクテット8ビットを全部1にして 198.51.111.255。ホスト部は 4 + 8 = 12ビットなので 212 − 2 = 4094台です。
「切れ目は第4オクテットにあるとは限らない」。ここを分かっていない人が、/20 や /12 で必ず崩れます。
4-5. なぜ「−2」なのか
ホスト数の公式は「割り当て可能なホスト数 = 2(32 − プレフィックス長) − 2」です。この−2は、丸暗記するものではありません。
- ホスト部が全部0のアドレス → ネットワークアドレス。そのネットワーク自体を指す名前として予約されている
- ホスト部が全部1のアドレス → ブロードキャストアドレス。そのネットワーク内の全員宛てとして予約されている
この2つは「特定の1台」を指す用途に使えません。だから引きます。ホスト部がnビットならアドレスの候補は2n個あるが、両端の2個は名前が先に取られている、という話です。だから /30(ホスト部2ビット)だと 22 − 2 = 2台。ルータ同士を1本の線で結ぶだけならこれで足りるので、実務ではよく使われます。
4-6. Python で答え合わせをする
以下はすべて私の手元(Python 3)で実行し、出力を確認したものです。標準ライブラリの ipaddress だけで、追加インストールは要りません。
import ipaddress
for cidr in ["203.0.113.130/24", "203.0.113.130/26",
"192.0.2.77/28", "198.51.100.37/20"]:
net = ipaddress.ip_network(cidr, strict=False)
print(cidr,
"ネットワーク", net.network_address,
"ブロードキャスト", net.broadcast_address,
"割り当て可能", net.num_addresses - 2)
出力は次のとおりです。
203.0.113.130/24 ネットワーク 203.0.113.0 ブロードキャスト 203.0.113.255 割り当て可能 254
203.0.113.130/26 ネットワーク 203.0.113.128 ブロードキャスト 203.0.113.191 割り当て可能 62
192.0.2.77/28 ネットワーク 192.0.2.64 ブロードキャスト 192.0.2.79 割り当て可能 14
198.51.100.37/20 ネットワーク 198.51.96.0 ブロードキャスト 198.51.111.255 割り当て可能 4094
4-2から4-4で手計算した値と全部一致しました。strict=False は「ホスト部が0でないアドレスを渡してもエラーにしない」という指定です。
4-7. IPv4 と IPv6 の桁を自分で見る
これは電卓では出ません。桁が多すぎて指数表示に丸められてしまうからです。Pythonの整数は桁数の制限がないので、そのまま見えます。
v4 = 2 ** 32
v6 = 2 ** 128
print("IPv4 の総数 :", v4)
print("IPv6 の総数 :", v6)
print("IPv6 / IPv4 :", v6 // v4, "倍")
print("桁数 :", len(str(v4)), "桁", len(str(v6)), "桁")
IPv4 の総数 : 4294967296
IPv6 の総数 : 340282366920938463463374607431768211456
IPv6 / IPv4 : 79228162514264337593543950336 倍
桁数 : 10 桁 39 桁
この39桁を目で見てください。「128は32の4倍」という直感がいかに当てにならないか、これで分かるはずです。ビット数が4倍になると、個数は296倍になる。指数の世界では、足し算が掛け算になります。この感覚は、この先通信速度とデータ量の計算でも暗号でも効いてきます。
4-8. 練習用の自作問題
(1)192.0.2.200 / 255.255.255.128 のネットワークアドレスとブロードキャストアドレス、割り当て可能なホスト数を求めよ。
(2)/22 のネットワークに割り当て可能なホスト数はいくつか。
(3)255.255.255.224 をプレフィックス長で表せ。また割り当て可能なホスト数は。
(4)ある組織が 203.0.113.0/24 を8つの等しいサブネットに分けたい。プレフィックス長はいくつにすればよいか。
(5)255.255.200.0 はサブネットマスクとして使えるか。理由も述べよ。
(1)200 = 11001000、128 = 10000000。ANDは 10000000 = 128。ネットワークアドレス 192.0.2.128、ブロードキャスト 192.0.2.255、ホスト部7ビットで 27 − 2 = 126台
(2)232−22 − 2 = 210 − 2 = 1022台
(3)224 = 11100000 で1が3個。24 + 3 = /27。ホスト部5ビットで 25 − 2 = 30台
(4)8 = 23 なので、ネットワーク部を3ビット伸ばす。24 + 3 = /27(各サブネットは30台)
(5)使えない。200 = 11001000 で1と0が混ざっており、「左から1が連続」という条件を満たさないから
5. 共通テストではこう出る(重要度 S)
情報Ⅰの(4)「情報通信ネットワークとデータの活用」は共通テストの主要な出題領域であり、アドレスはその中でも計算問題を作りやすい題材です。文字数を使わずに正誤がはっきり決まるので、出題側にとって扱いやすいのです。出題のされ方は、私の見るかぎり次の3型に整理できます。
型1:アドレスの分割
IPアドレスとサブネットマスクを与え、ネットワークアドレスやブロードキャストアドレスを求めさせる、あるいは「この2台は同じネットワークにいるか」を判定させる型です。同じネットワークかどうかの判定は、両方のアドレスにマスクを当ててANDを取り、結果が一致するかを見るだけです。これ以外の判定法はありません。「上3つの数字が同じだから同じネットワーク」と目分量でやると、/26 や /20 で確実に落とします。
型2:ホスト数の計算
プレフィックス長からホスト数を出す、あるいは「◯台収容したい」から必要なプレフィックス長を逆算させる型。逆算のほうが難しいです。「50台つなぎたい」なら、2n − 2 が50以上になる最小のnを探します。25 − 2 = 30 では足りず、26 − 2 = 62 で足りる。よってホスト部6ビット、プレフィックス長は 32 − 6 = /26。ここで「−2」を忘れると、ぎりぎりの数のときだけ答えがずれます。出題者はそこを突いてきます。
型3:IPv4枯渇の理由とIPv6
「なぜIPv4は足りなくなったのか」「IPv6で何が変わるのか」を、知識または短い計算で問う型。正解の核は32ビット=約43億という有限性と、端末の数が人の数を超えたことの2点です。プライベートアドレスとNATが延命策として働いていること、それでも根本解決ではないこと、まで押さえておけば選択肢は切れます。
落とし穴
- IPアドレス単独では分け目が決まらない。マスクかプレフィックス長が要る(4-3のとおり、同じアドレスでも答えが変わる)
- 切れ目は第4オクテットにあるとは限らない。/20 や /12 では第2・第3オクテットの途中で切れる
- 「−2」を忘れる。特にホスト数からプレフィックス長を逆算する型で致命傷になる
- 255と0以外のマスク値を見て固まらない。出てくるのは 128・192・224・240・248・252・254 の7種類だけ
- 10進のまま引き算しない。たまたま合うことはあっても原理的に正しくない。必ず2進に直す
- プライベートアドレスとグローバルアドレスを混同しない。192.168. や 10. で始まるアドレスはインターネット上には出ていけない
- MACアドレスと混ぜない。MACアドレスは48ビットで機器に固定、IPアドレスは32ビット(IPv4)でネットワーク上の位置を表す。引っ越すと変わるのがIP、変わらないのがMACです
この分野は、練習量がそのまま得点になります。原理は3章の1ページ分しかなく、あとはANDを正確に取るだけだからです。手を動かした人が確実に取ります。
6. 情報Ⅱではこうなる
6-1. 情報Ⅰでは、アドレスは「講義で覚える知識」ではない
まず驚いてほしい事実があります。文部科学省の「情報Ⅰ」教員研修用教材の第4章「情報通信ネットワークとデータの活用」を全文検索すると、「サブネット」「ネットワーク部」「ホスト部」「プライベート」「グローバル」「NAT」という語が1度も出てきません。IPアドレスが登場するのは「無線ルータの設定やIPアドレスの設定」「DHCPのIPアドレス」といった、設定・運用の文脈だけです。
では国はサブネットを教えないのか。そうではありません。別の場所に置いてあります。3-4・3-5で引用したExcelシートは、教員研修用教材ではなく「授業・研修用コンテンツ」の[6]「はじめてのネットワーク構築」という学習動画に付属するものです。同じ[6]のワークシート(Word)には、こういう課題が並んでいます。
2台の端末を同じネットワーク上にあるように接続・設定し、pingコマンドで通信が確立されていることを確認しよう。
次に、異なるネットワーク間での通信となるように端末や機器を接続・設定し、通信が確立されていることを確認しよう。
文部科学省「授業・研修用コンテンツ」【情報Ⅰ】[6] はじめてのネットワーク構築 ワークシート
設定項目として「IPアドレス、サブネットマスク、デフォルトゲートウェイ(ルータ)、DNSの設定」が挙げられ、さらに「複数のルータを用いてルーティングできるようにする場合は、ルーティングテーブルを作成した方法とその表示」まで求めています。
つまり国の設計では、サブネットは「読んで覚える知識」ではなく「実習で手を動かす対象」なのです。ところが多くの高校ではこの実習は時間の都合で行われません。結果として、受験生はアドレスの内部構造に触れないまま共通テストの計算問題に出会うことになります。この講が必要なのは、まさにここに穴があるからです。
6-2. 情報Ⅱでは、アドレスは「設計する対象」になる
情報Ⅱの(4)「情報システムとプログラミング」に進むと、アドレスの立場が変わります。分けたアドレス空間が、そのままセキュリティ設計になります。文部科学省の「情報Ⅱ」教員研修用教材 第4章 学習20「情報システムの情報セキュリティ」には、こう書かれています。
TCP/IPネットワークでは,IPアドレスにより通信ホストを特定することができる。しかし,1台のホスト上で複数の通信サービス(アプリケーション)が動作していることがある。このアプリケーションを識別する番号をポート番号という。
文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第4章(令和2年6月、該当は教材p.191相当)
そしてパケットフィルタリング方式については、こうです。
パケットの送信元のIPアドレスとポート番号,宛先のIPアドレスとポート番号間でルールを決め,そのルールに従って通過させるかどうかを判断する仕組みである。パケットフィルタリングはルータに実装されている場合が多い。
前掲(教材p.191相当)
情報Ⅰでアドレスは「宛先」でした。情報Ⅱでは「許可・不許可を決める基準」になります。誰と誰が話してよいかを、アドレスの範囲で書き下すのがファイアウォールの設定です。3-1で見た「経路表を小さくするための分割」が、そのまま「アクセス制御の単位」として再利用されているわけです。
6-3. サブネットの分割がブロードキャストドメインの分割になる
同じ教材は、さらに踏み込みます。
物理的な接続形態とは独立して仮想的なLANセグメントを作るVLAN(Virtual LAN)と呼ばれる技術で,情報セキュリティの機密性を高めることもできる。図表11では,1つのネットワーク内で直接通信できる範囲(ブロードキャストドメイン)を,VLANを使って2つに分割した様子を示している。
前掲(教材p.194〜195相当)
「1つのネットワーク内で直接通信できる範囲」=ブロードキャストドメイン。これはまさに本講で計算した「同じネットワークアドレスを持つ範囲」です。情報Ⅰでは 2n − 2 の n を決めるための概念だったものが、情報Ⅱでは分けること自体が目的になります。
しかも教材は、これを学校そのものを例に説明しています。文科省「教育情報セキュリティポリシーに関するガイドライン」(令和元年12月版)に基づき、校務系ネットワーク・校務外部接続系ネットワーク・学習系ネットワークの3つに分離した図を載せ、「こうしてセグメントを分割することで,学習者用端末や指導者用端末から,校務系ネットワークや校務外部接続系ネットワークへのアクセスを防ぐことができる」と書きます。あなたが今使っている学校の端末から成績処理システムが見えないのは、この分割が効いているからです。サブネットの計算は、抽象的な数遊びではありません。
6-4. 情報Ⅰと情報Ⅱの扱いの違い
| 情報Ⅰ | 情報Ⅱ | |
|---|---|---|
| アドレスの役割 | 宛先。どこに届けるか | アクセス制御の基準。誰と誰を通すか |
| 分割の目的 | 経路表を小さくする/節約する | ドメインを分けて機密性を確保する |
| 使う道具 | サブネットマスク(AND) | VLAN・パケットフィルタリング・DMZ |
| 見る範囲 | IPアドレスとマスク | IPアドレス + ポート番号 の組 |
| 立場 | 与えられた設定を読み解く | ネットワーク構成を自分で設計する |
| 教材上の位置 | 授業用コンテンツの実習 | 教員研修用教材 第4章 学習20 の本文 |
6-5. クラウドを使うときに、この講がそのまま出てくる
高校を出たあと、クラウドで小さなサーバを1台立てようとすると、最初の画面で必ずこう聞かれます。「このネットワークのCIDRブロックは何にしますか」。そこで 10.0.0.0/16 などと入力し、その中を /24 のサブネットに切り、どれをインターネットに出し、どれを内部だけにするかを決める。本講でやったことが、そのまま最初の作業になります。小さすぎるサブネットを切れば後から機器を増やせず作り直しになりますし、プライベートアドレスの範囲を適当に決めれば、3-7で見た「合併時のアドレス衝突」——クラウドでは「別のネットワークと接続しようとしたら範囲が重なっていた」——にぶつかります。RFC1918が1996年に書いた欠点が、30年後も同じ形で残っているのです。だから私はこの講を、情報Ⅰの中でも特に「先まで効く」講だと思っています。
まとめ
- IPアドレスがネットワーク部とホスト部に分かれているのは、43億行の経路表を作らずに済ませるため。まち+番地の二段構えにすると表が「まちの数」で済む。
- サブネットマスクは「どこまでがネットワーク部か」を、左詰めの1の個数で示す32ビットのビット列。1と0が混ざってはいけない。
- ANDは「マスクが1の範囲だけ残して他を0で塗り潰す」操作。だからネットワークアドレスが出る。NOTしてORを取ればブロードキャストアドレス。
- ホスト数の −2 は、ホスト部が全部0(ネットワークアドレス)と全部1(ブロードキャストアドレス)が予約されているから。
- IPv4は32ビット=約43億で、2011年2月3日にIANAの中央在庫が枯渇済み。プライベートアドレスとNATが延命策。
- IPv6の128ビットは「4倍」ではなく 296 倍。10桁が39桁になる。
- 情報Ⅱでは、同じ分割が「ブロードキャストドメインの分割=機密性の確保」として再登場し、アドレスはアクセス制御の基準になる。
出典(すべて2026年8月3日に取得)
- 文部科学省「授業・研修用コンテンツ」【情報Ⅰ】情報通信ネットワークとデータの活用 [6]「はじめてのネットワーク構築」(スライド/Excelシート/ワークシート)
- 文部科学省「高等学校情報科『情報Ⅰ』教員研修用教材」第4章 情報通信ネットワークとデータの活用(令和2年)
- 文部科学省「高等学校情報科『情報Ⅱ』教員研修用教材」第4章 情報システムとプログラミング(令和2年6月)
- JPNIC「IPv4アドレスの在庫枯渇に関して」/「IPv4アドレス在庫枯渇Q&A基礎編」
- JPNIC 日本語訳「プライベート網のアドレス割当(RFC1918)」
- JPNIC ニュースレター No.32「インターネット10分講座:IPv6アドレス〜技術解説〜」(2006年3月)
- RFC5737「IPv4 Address Blocks Reserved for Documentation」(2010年1月)
本講は参考書『藤原進之介の最強120講義』の一部です。全体の地図は情報Ⅰ 最強120講義のもくじからご覧ください。制度に関する記述は2026年8月時点の情報です。
執筆:藤原進之介(数強塾グループ代表)
オンライン数学専門塾「数強塾」代表。累計3,500名以上の中高一貫校生を指導。東進ハイスクール・東進衛星予備校・代々木ゼミナールなど出講実績あり。情報Ⅰの参考書を複数執筆しており、KADOKAWA『ゼロから始める情報I』、Gakken『きめる!共通テスト 情報Ⅰ』などがあります。本記事は参考書『藤原進之介の最強120講義』第70講のWeb版です。
「情報Ⅰ、独学でいけるのか不安」という方へ
数強塾では数学と情報Ⅰの両方に対応したオンライン個別指導を行っています。学習相談は無料、体験授業は3,000円(税込)でお受けしています。
