資格道場 › レッスン一覧 › ネットワーク
ネットワーク・3/11・10分

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つでも入っていれば、その表記は誤りです。

32ビット(0か1が32個)110000001010100000000000000000018ビット8ビット8ビット8ビット19216801...192.168.0.1(ドット付き10進表記)1オクテット 00000000〜11111111=0〜255
32ビットを8ビットずつ4つに区切り、それぞれを10進数にすると192.168.0.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の範囲にありますが、ふつうのアドレスとしては使いません。

第1オクテットの数直線(0〜255)127=ループバックABCD0128192224255先頭ビット 0101101110境目は 128・192・224
第1オクテットを0〜255の数直線に置くと、境目128・192・224でクラスA〜Dに分かれる

プライベートアドレス:社内の「内線番号」

プライベート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はプライベートではありません。

家A(プライベート)家B(プライベート)PC 192.168.0.2PC 192.168.0.3PC 192.168.0.2PC 192.168.0.3同じルータ(NAT)ルータ(NAT)118.151.146.138別のグローバルインターネット(グローバルで通信)家の中は内線番号、外では外線番号外へ出る時、NATで番号を付け替える
家Aにも家Bにも同じ192.168.0.2があってよく、外へ出るときにルータのNATがグローバルアドレスに付け替える

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ビット192.168.0.1IPv6 128ビット20010db80000000000000000000000011区切り=16ビット=16進数4文字「:」で区切って8つ32ビットでは約43億個 → 128ビットへ
同じ縮尺で並べると、IPv6の128ビットはIPv4の32ビットの4倍の長さで、16ビットずつ8つに区切って16進数で書く

試験での問われ方

  • ビット数: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にもあるので外します。
例題 1

128.0.0.0 はどのクラスか

IPv4 アドレス 128.0.0.0 を含むアドレスクラスはどれか。

ア クラス A
イ クラス B
ウ クラス C
エ クラス D

出典:平成29年度 春期 基本情報技術者試験 午前 問34

解き方と答えを見る
  1. 見るのは第1オクテットだけ。ここでは「128」。
  2. 境目の表を思い出す。A:0〜127、B:128〜191、C:192〜223、D:224〜239。
  3. 128は「0〜127」に入らず、「128〜191」に入る。
  4. 念のため2進数でも確かめる。128 = 10000000 で先頭ビットが「10」なので、クラスBの形に一致する。

答え:イ:クラスB(境目の128はAではなくBの始まり)

例題 2

グローバルIPアドレスを選ぶ(消去法)

IPv4 のグローバル IP アドレスはどれか。

ア 118.151.146.138
イ 127.158.32.134
ウ 172.22.151.43
エ 192.168.38.158

出典:平成27年度 春期 基本情報技術者試験 午前 問36

解き方と答えを見る
  1. イ 127.158.32.134:先頭が127なのでループバック。グローバルではない → 消す。
  2. ウ 172.22.151.43:172の次が22。16〜31の範囲内なのでクラスBのプライベート → 消す。
  3. エ 192.168.38.158:192.168で始まるのでクラスCのプライベート → 消す。
  4. ア 118.151.146.138:10./172.16〜31./192.168./127.のどれにも当てはまらない → グローバル。

答え:ア:118.151.146.138

例題 3

正しくないIPv4表記を選ぶ

IPv4 アドレス表記として,正しくないものはどれか。

ア 10.0.0.0
イ 10.10.10.256
ウ 192.168.0.1
エ 224.0.1.1

出典:平成25年度 春期 基本情報技術者試験 午前 問31

解き方と答えを見る
  1. 各オクテットは8ビットなので、取れる値は 2^8 = 256通り、つまり0〜255。
  2. ア 10.0.0.0:すべて0〜255 → 正しい。
  3. イ 10.10.10.256:4つ目が256で、255を超える → 誤り。
  4. ウ 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)

IPアドレス Internet Protocol アドレス
ネットワーク上の機器を1台ずつ見分けるために付ける住所のような番号。
⚠ MACアドレス(48ビット・機器の部品に最初から付いた番号)とは別物。IPアドレスは設定で付け替えられる。
IPv4 Internet Protocol version 4
アドレス長が32ビットの、現在も広く使われているIPのバージョン。
⚠ IPv6は128ビット。「32」と「128」を入れ替えたひっかけに注意。
IPv6 Internet Protocol version 6
アドレス長を128ビットに広げ、IPv4のアドレス不足を解消するIPのバージョン。
⚠ 96ビットや256ビットではない。マルチキャストやプライベートアドレスはIPv6で新しくできたものではない。
オクテット おくてっと(octet)
8ビットを1まとまりとした単位で、IPv4アドレスは4つのオクテットでできている。
ドット付き10進表記 どっとつきじっしんひょうき
IPv4アドレスを8ビットずつ10進数(0〜255)にして、ドットで4つに区切る書き方。
⚠ IPv6は16進数をコロンで区切る。ドットかコロンかで見分ける。
アドレスクラス あどれすくらす
IPv4アドレスを第1オクテットの範囲でA〜Eに分けた昔の区分。
⚠ 判定に使うのは第1オクテットだけで、2番目以降の数字は関係ない。
クラスA くらすA
第1オクテットが0〜127(実際に使うのは1〜126)の、超大規模ネットワーク向けのクラス。
⚠ 127はループバック用。128からはクラスB。
クラスB くらすB
第1オクテットが128〜191の、中〜大規模ネットワーク向けのクラス。
⚠ 境目の128をクラスAと間違えやすい。172.16.x.xもクラスB。
クラスC くらすC
第1オクテットが192〜223の、小規模ネットワーク向けのクラス。
⚠ 192.168.x.xはクラスCのプライベートアドレス。
クラスD くらすD
第1オクテットが224〜239の、マルチキャスト(複数の相手への同時配送)に使うクラス。
⚠ マルチキャストはIPv4にもあるので、IPv6で追加された仕様ではない。
プライベートIPアドレス ぷらいべーとIPあどれす
組織や家庭の中だけで自由に使えるアドレスで、10.x.x.x、172.16〜31.x.x、192.168.x.xが割り当てられている。
⚠ 172はその次が16〜31のときだけプライベート。IPv4の時代からある仕組み。
グローバルIPアドレス ぐろーばるIPあどれす
インターネット上で世界に1つだけになるよう割り当てられるアドレス。
⚠ プライベートの範囲と127.x.x.xを除いたものがグローバルの候補。
ループバックアドレス るーぷばっくあどれす
127.x.x.xで表す、自分自身を指す特別なアドレス。
⚠ プライベートアドレスではない。グローバルを選ぶ問題では消去する。
サブネットマスク さぶねっとますく
IPアドレスのどこまでがネットワーク部分かを示す32ビットの値。
⚠ IPv4にもある仕組みなので、「IPv6で追加されたもの」の答えにはならない。
NAT Network Address Translation
プライベートアドレスとグローバルアドレスを付け替えて、社内の機器がインターネットとやり取りできるようにする仕組み。
IPアドレス枯渇 IPあどれすこかつ
IPv4の約43億個の番号では、インターネットの普及に追いつかなくなった問題。
⚠ 解決策として問われるのはIPv6。日本語ドメインや光ファイバは関係ない。

このレッスンの過去問

このレッスンで稽古する