IP アドレスの形とクラス・プライベートアドレス
IPv4アドレスが32ビットで、各数字が0〜255になる理由を説明できるようにする。先頭の数字からクラスA〜Dを判定し、プライベートアドレスとグローバルアドレスを見分け、IPv6の特徴(128ビット・16進表記)を選べるようにする。
「192.168.○.○」のような番号は、家のWi-Fiでも会社のサーバでも毎日使われています。試験では「この数字はどのクラスか」「これはプライベートアドレスか」を、数字の範囲を覚えていれば数秒で解ける問題として出してきます。
このレッスンで稽古する(用語チェック・過去問)結論:IPv4は「32ビット=8ビット×4つ」、だから各数字は0〜255
IPアドレスは、ネットワーク上の機器ひとつひとつに付く住所のような番号です。IPv4ではこれが32ビット(0か1が32個並んだもの)でできています。
人間には読みにくいので、32ビットを8ビットずつ4つに区切り、それぞれを10進数にしてドットでつなぎます。これをドット付き10進表記と呼び、区切った8ビットの1かたまりをオクテットと呼びます。
| 項目 | 値 |
|---|---|
| 全体の長さ | 32ビット |
| 区切り方 | 8ビット × 4つ(オクテット) |
| 1つの数字の範囲 | 0〜255(2の8乗=256通り) |
| 例 | 192.168.0.1 |
8ビットで表せるのは 00000000〜11111111、10進数にすると 0〜255 です。256以上の数字が1つでも入っていれば、その表記は誤りです。
クラス判定:見るのは「先頭の数字」だけ
昔のIPv4では、先頭の数字の大きさでアドレスをクラスに分けていました。判定に使うのは第1オクテット(いちばん左の数字)だけで、2番目以降の数字は関係ありません。
| クラス | 先頭ビット | 第1オクテットの範囲 | 用途の目安 |
|---|---|---|---|
| A | 0 | 0〜127(実際に使うのは1〜126) | 超大規模ネットワーク |
| B | 10 | 128〜191 | 中〜大規模 |
| C | 110 | 192〜223 | 小規模 |
| D | 1110 | 224〜239 | マルチキャスト(複数の相手へ同時配送) |
覚え方は境目の 128・192・224 の3つです。128は2進数で10000000、192は11000000、224は11100000になり、先頭の1が1つずつ増えていきます。
127で始まるアドレスはループバックアドレスです。自分自身を指す特別な番号で、クラスAの範囲にありますが、ふつうのアドレスとしては使いません。
プライベートアドレス:社内の「内線番号」
プライベートIPアドレスは、家庭や社内のネットワークの中だけで自由に使ってよい番号です。インターネット上で世界に1つだけになるよう割り当てられる番号はグローバルIPアドレスと呼びます。
たとえるなら、プライベートは会社の内線番号です。内線の「101番」はどの会社にもあってかまいませんが、社外からかけるには外線番号(=グローバル)が要ります。家のルータはNATという仕組みで、内線と外線の番号を付け替えています。
| 区分 | 範囲 | 覚え方 |
|---|---|---|
| クラスAのプライベート | 10.0.0.0 〜 10.255.255.255 | 10で始まれば全部 |
| クラスBのプライベート | 172.16.0.0 〜 172.31.255.255 | 172の次が16〜31 |
| クラスCのプライベート | 192.168.0.0 〜 192.168.255.255 | 192.168で始まる |
| ループバック | 127.x.x.x | 自分自身。グローバルでもプライベートでもない |
| グローバル | 上のどれにも当てはまらないもの(特殊用途を除く) | 例:118.151.146.138 |
いちばんの注意点は172です。172.16〜172.31だけがプライベートなので、172.15や172.32はプライベートではありません。
IPv6:128ビットにして番号不足を解消
IPv4の32ビットでは約43億個しか番号を作れず、インターネットの普及で足りなくなりました(IPアドレス枯渇)。この解消のために作られたのがIPv6で、アドレスは128ビットあります。
| 比較 | IPv4 | IPv6 |
|---|---|---|
| 長さ | 32ビット | 128ビット |
| 表記 | 10進数を「.」で4つに区切る | 16進数を4文字(16ビット)ずつ「:」で区切る(8つ) |
| 例 | 192.168.0.1 | 2001:0db8:0000:0000:0000:0000:0000:0001 |
| 省略表記 | なし | 先頭の0の省略や「::」による0の連続の省略ができる(表記法が複数ある) |
16進数は0〜9とa〜fの16文字で数を表す書き方で、1文字が4ビットに当たるため、4文字で16ビットになります。
IPv6のアドレスがすべてグローバルなわけではありません。同じネットワーク内だけで使うリンクローカルアドレスなどもあります。また、数の大きさがまったく違うので、IPv4とすべてを1対1で対応させることはできません。
サブネットマスク(アドレスを区切る範囲を示す値)、プライベートアドレス、マルチキャストは、どれもIPv4の時代からある仕組みです。「IPv6で新しく追加されたもの」を聞かれたら、答えは128ビット化です。
試験での問われ方
- ビット数:IPv4=32、IPv6=128。選択肢には8・16・64・96・256が並びます。
- 表記の正誤:4つの数字に256以上が混じっていないかだけを見ます。224.0.1.1のような見慣れない数字でも、0〜255に収まっていれば表記としては正しいです。
- クラス判定:先頭の数字を表に当てはめます。境目の128(B)と192(C)がよく狙われます。
- グローバルはどれか:10./172.16〜31./192.168./127.を消していき、残ったものが正解です。
- IPv6で追加されたものはどれか:サブネットマスク、プライベートアドレス、マルチキャストはIPv4にもあるので外します。
128.0.0.0 はどのクラスか
ア クラス A
イ クラス B
ウ クラス C
エ クラス D
解き方と答えを見る
- 見るのは第1オクテットだけ。ここでは「128」。
- 境目の表を思い出す。A:0〜127、B:128〜191、C:192〜223、D:224〜239。
- 128は「0〜127」に入らず、「128〜191」に入る。
- 念のため2進数でも確かめる。128 = 10000000 で先頭ビットが「10」なので、クラスBの形に一致する。
答え:イ:クラスB(境目の128はAではなくBの始まり)
グローバルIPアドレスを選ぶ(消去法)
ア 118.151.146.138
イ 127.158.32.134
ウ 172.22.151.43
エ 192.168.38.158
解き方と答えを見る
- イ 127.158.32.134:先頭が127なのでループバック。グローバルではない → 消す。
- ウ 172.22.151.43:172の次が22。16〜31の範囲内なのでクラスBのプライベート → 消す。
- エ 192.168.38.158:192.168で始まるのでクラスCのプライベート → 消す。
- ア 118.151.146.138:10./172.16〜31./192.168./127.のどれにも当てはまらない → グローバル。
答え:ア:118.151.146.138
正しくないIPv4表記を選ぶ
ア 10.0.0.0
イ 10.10.10.256
ウ 192.168.0.1
エ 224.0.1.1
解き方と答えを見る
- 各オクテットは8ビットなので、取れる値は 2^8 = 256通り、つまり0〜255。
- ア 10.0.0.0:すべて0〜255 → 正しい。
- イ 10.10.10.256:4つ目が256で、255を超える → 誤り。
- ウ 192.168.0.1、エ 224.0.1.1:すべて0〜255 → 正しい(224はクラスDのマルチキャストだが、表記としては問題ない)。
答え:イ:10.10.10.256
要点(試験直前に読む)
- IPv4は32ビット=8ビット×4つ。各数字は0〜255で、256以上が入っていたら表記として誤り。
- クラスは第1オクテットだけで判定する。境目は 128(B)・192(C)・224(D)。
- プライベートは 10.x / 172.16〜31.x / 192.168.x の3つ。127.xはループバック。
- IPv6は128ビットで、16進数4文字(16ビット)ずつをコロンで区切る。目的はIPv4のアドレス不足の解消。
- サブネットマスク、プライベートアドレス、マルチキャストはIPv4からある仕組みで、IPv6で追加されたものではない。
ひっかけ
- 「10.128.192.10」の128や192を見てBやCと判断しない。クラスを決めるのは先頭の10だけなので、答えはA。
- 128をクラスAと思い込まない。Aは127まで、128からはB。
- 172.22.x.xをグローバルと誤認しない。172の次が16〜31ならプライベート。127.x.x.xもグローバルではない。
- IPv6のビット数で、32(IPv4)、96、64、256を選ばない。正解は128。
- 「IPv6で追加された仕様」を聞かれたら、サブネットマスク、プライベートアドレス、マルチキャストを外し、「128ビット化」を選ぶ。
用語(16)
ネットワーク上の機器を1台ずつ見分けるために付ける住所のような番号。
⚠ MACアドレス(48ビット・機器の部品に最初から付いた番号)とは別物。IPアドレスは設定で付け替えられる。
アドレス長が32ビットの、現在も広く使われているIPのバージョン。
⚠ IPv6は128ビット。「32」と「128」を入れ替えたひっかけに注意。
アドレス長を128ビットに広げ、IPv4のアドレス不足を解消するIPのバージョン。
⚠ 96ビットや256ビットではない。マルチキャストやプライベートアドレスはIPv6で新しくできたものではない。
8ビットを1まとまりとした単位で、IPv4アドレスは4つのオクテットでできている。
IPv4アドレスを8ビットずつ10進数(0〜255)にして、ドットで4つに区切る書き方。
⚠ IPv6は16進数をコロンで区切る。ドットかコロンかで見分ける。
IPv4アドレスを第1オクテットの範囲でA〜Eに分けた昔の区分。
⚠ 判定に使うのは第1オクテットだけで、2番目以降の数字は関係ない。
第1オクテットが0〜127(実際に使うのは1〜126)の、超大規模ネットワーク向けのクラス。
⚠ 127はループバック用。128からはクラスB。
第1オクテットが128〜191の、中〜大規模ネットワーク向けのクラス。
⚠ 境目の128をクラスAと間違えやすい。172.16.x.xもクラスB。
第1オクテットが192〜223の、小規模ネットワーク向けのクラス。
⚠ 192.168.x.xはクラスCのプライベートアドレス。
第1オクテットが224〜239の、マルチキャスト(複数の相手への同時配送)に使うクラス。
⚠ マルチキャストはIPv4にもあるので、IPv6で追加された仕様ではない。
組織や家庭の中だけで自由に使えるアドレスで、10.x.x.x、172.16〜31.x.x、192.168.x.xが割り当てられている。
⚠ 172はその次が16〜31のときだけプライベート。IPv4の時代からある仕組み。
インターネット上で世界に1つだけになるよう割り当てられるアドレス。
⚠ プライベートの範囲と127.x.x.xを除いたものがグローバルの候補。
127.x.x.xで表す、自分自身を指す特別なアドレス。
⚠ プライベートアドレスではない。グローバルを選ぶ問題では消去する。
IPアドレスのどこまでがネットワーク部分かを示す32ビットの値。
⚠ IPv4にもある仕組みなので、「IPv6で追加されたもの」の答えにはならない。
プライベートアドレスとグローバルアドレスを付け替えて、社内の機器がインターネットとやり取りできるようにする仕組み。
IPv4の約43億個の番号では、インターネットの普及に追いつかなくなった問題。
⚠ 解決策として問われるのはIPv6。日本語ドメインや光ファイバは関係ない。
このレッスンの過去問
- IPv4アドレスのビット長(32ビット)基本情報技術者試験 科目A免除 修了試験 20120722 実施分 問39
- IPv4アドレスの表記規則(各オクテットは0〜255)平成27年度 秋期 基本情報技術者試験 午前 問33
- IPアドレスのクラス判定平成29年度 春期 基本情報技術者試験 午前 問34
- プライベートIPアドレスの範囲(クラス別)平成27年度 春期 基本情報技術者試験 午前 問36
- IPv6アドレスの特徴(128ビット・16進表記)平成27年度 春期 基本情報技術者試験 午前 問34
- IPv6導入の目的(アドレス枯渇の解消)基本情報技術者試験 科目A免除 修了試験 200907 実施分 問40