ITの教科書検索

第2章 アドレスのしくみ|2-2|コース全体 19本中6本目

入門読了 約7分更新日 2026-09-27

IPアドレスの構造 ― 32ビットをどう読むか

IPアドレスとは、ネットワーク上の機器を特定する32ビットの番号です。192.168.10.25 の読み方を、オクテット・ネットワーク部・ホスト部に分けて解説します。

目次
  1. 32ビットを4つに区切っただけ
  2. 32ビットをどう区切るか
  3. ネットワーク部とホスト部
  4. クラスという古い考え方
  5. 特別な意味を持つアドレス
  6. IPv6では128ビットになる
  7. 自分のIPアドレスを確認する
  8. 練習問題

IPアドレスは、32ビットの数字1つ

IPアドレスとは、ネットワーク上で機器を特定するために割り当てられる番号です。192.168.10.25 のような表記も、コンピュータの内部では32ビットの2進数1つです。

見た目は、4つの数字をドットで区切った形をしています。これは、人間が読み書きしやすいようにした表示です。32ビットを8ビットずつ4つに区切って、それぞれを10進数に変換しています。

IPアドレスは、機器の「住所」にあたります。MACアドレスとの違いは「MACアドレスとIPアドレスの違いと使い分け」で説明しています。32ビットのどこで区切るかが分かると、宛先が同じネットワークかどうかを自分で判定できます。

32ビットをどう区切るか

32ビットを8ビットずつ4つに分けると、8ビットのかたまりが4つできます。このかたまりをオクテットと呼びます。203.0.113.45 というアドレスを例に、各オクテットの2進数と10進数の対応を見ます。

オクテット2進数10進数
第1オクテット11001011203
第2オクテット000000000
第3オクテット01110001113
第4オクテット0010110145

なぜ0〜255の範囲になるのか

1オクテットは8ビットです。8ビットで表せるパターンは 2⁸ = 256 通りです。0から数え始めるので、範囲は 0〜255 になります。

10進数への変換では、各ビットに割り当てられた重みを使います。1が立っている位置の重みだけを足し合わせます。第4オクテットの 00101101 を例にすると、次のようになります。

1286432168421
00101101

1が立っているのは、重み32・8・4・1の位です。足すと 32 + 8 + 4 + 1 = 45 です。これが10進数表記の45と一致します。

最大値の 11111111 は、128+64+32+16+8+4+2+1 = 255 です。これが1オクテットの上限です。

ネットワーク部とホスト部

32ビットのIPアドレスは、さらに2つの役割に分かれています。住所を町名と番地に分けるのと同じです。

先頭側の部分は、機器がどのネットワークに属すかを表します。この部分をネットワーク部と呼びます。住所でいえば町名にあたります。

残りの部分は、そのネットワーク内の何番目の機器かを表します。この部分はホスト部です。住所でいえば番地にあたります。

11001011第1オクテット10進数:20300000000第2オクテット10進数:001110001第3オクテット10進数:11300101101第4オクテット10進数:45ネットワーク部(/24 の場合)ホスト部
203.0.113.45 を、8ビットずつ4つのオクテットに区切ったところです。/24 では、先頭24ビットの3オクテットがネットワーク部です。残りの1オクテットがホスト部になります。境目の位置は、サブネットマスクによって変わります。サブネットマスクは、/24 のようなプレフィックス長でも表せます。

ネットワーク部とホスト部の境界を決めるのが、サブネットマスクです。同じIPアドレスでも、サブネットマスクの値によってネットワーク部の広さは変わります。

境界を実際に計算する手順は、サブネットマスクの記事で説明しています。プレフィックス長からホスト数を3ステップで求める方法も、その記事で分かります。

クラスという古い考え方

ネットワーク部とホスト部の境界は、現在は自由に決められます。境界は、/24 のようなプレフィックス長表記で書きます。この仕組みをCIDRと呼びます。

昔は、クラスA・B・Cという仕組みが使われていました。この仕組みでは、IPアドレスの先頭ビットパターンによって境界が固定されます。

クラスは今は使われていませんが、参考書や古い資料には今も登場します。そのため、ここで簡単に説明します。

クラス先頭ビットパターン第1オクテットの範囲デフォルトのネットワーク部
クラスA0xxxxxxx0 〜 1278ビット(/8)
クラスB10xxxxxx128 〜 19116ビット(/16)
クラスC110xxxxx192 〜 22324ビット(/24)

たとえば、第1オクテットが210なら、先頭ビットは 110xxxxx です。そのため、クラスCになります。クラスCのデフォルトのネットワーク部は、先頭3オクテットの24ビットと決まっていました。

CIDRは、この固定の区切りをやめたものです。/24 のように、ネットワーク部のビット数をアドレスごとに自由に指定できます。区切りを自由にできるので、サブネットごとに大きさを変えるVLSMも使えます。

クラスAの範囲のうち、0.0.0.0/8 と 127.0.0.0/8 は特別な用途で予約されています。実際に機器へ割り当てられるのは、第1オクテットが 1〜126 の範囲です。127.0.0.0/8 の使いみちは、次の節で説明します。

クラスには、DとEもあります。クラスDは第1オクテットが224〜239の範囲で、マルチキャスト用のアドレスです。クラスEは実験用のアドレスです。どちらも、通常の機器には割り当てません。

マルチキャストの使われ方は、ユニキャスト・ブロードキャスト・マルチキャストの記事にまとめています。

特別な意味を持つアドレス

IPアドレスの中には、通常の用途とは違う特別な意味を持つものがあります。下の表のうち、ネットワークアドレスとブロードキャストアドレスは機器に割り当てません。一方、APIPAは実際に機器へ割り当てられるアドレスです。

名称値・範囲意味
ループバックアドレス127.0.0.1
(127.0.0.0/8 全体が予約)
自分自身を指すアドレス。ネットワークに出て行かず、自分のマシンの中で折り返します。
APIPA(リンクローカルアドレス)169.254.0.0/16DHCPサーバが見つからないとき、OSが代わりに自動で割り当てる仮のアドレス。DHCPは、IPアドレスなどを自動で配る仕組みです。
ネットワークアドレスホスト部が全部0そのネットワーク自体を指す名前。機器には割り当てません。
ブロードキャストアドレスホスト部が全部1そのネットワーク全員への呼びかけに使う宛先。機器には割り当てません。

IPv6では128ビットになる

ここまでの32ビットのアドレスは、IPv4のものです。IPv4で作れるアドレスは2³²個で、約43億個しかありません。そのため、アドレスの枯渇が問題になりました。

IPv6では、アドレス長が128ビットに拡張されました。表記も変わり、16ビットずつの8組をそれぞれ16進数で表します。組と組の間は、コロン : で区切ります。

例は 2001:0db8:0000:0000:0000:0000:1234:5678 です。この表記には、省略のルールが2つあります。

1つは、各グループ先頭の0を省略できることです。たとえば 0db8 は db8 と書けます。もう1つは、0だけのグループが連続するとき、まとめて :: という記号に置き換えられることです。

この2つを使うと、上の例は 2001:db8::1234:5678 と短く書けます。1つのアドレスの中で :: を2回使うと、どちらのグループを何個省略したのか分からなくなります。そのため、:: を使えるのは1回だけです。

IPv6のアドレスの種類やIPv4との違いは、IPv6の記事で説明しています。

自分のIPアドレスを確認する

自分のPCに割り当てられているIPアドレスは、OSごとに次のコマンドで確認できます。

ipconfig自分のIPアドレスを見る(Windows)
> ipconfig
イーサネット アダプター イーサネット:
   IPv4 アドレス . . . . . . . . . . . : 192.168.10.25
   サブネット マスク . . . . . . . . . : 255.255.255.0
ip addr自分のIPアドレスを見る(Linux)
$ ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
    inet 192.168.10.25/24 brd 192.168.10.255 scope global eth0
ifconfig自分のIPアドレスを見る(Mac)
$ ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 192.168.10.25 netmask 0xffffff00 broadcast 192.168.10.255

# 1行だけ欲しい場合は、次のコマンドでも確認できます。
$ ipconfig getifaddr en0
192.168.10.25
ここで表示されるのは、ほとんどの場合プライベートIPアドレスです。プライベートIPアドレスは、ルータより内側だけで通じます。インターネット上から見えるグローバルIPアドレスとの違いは、「プライベートIPアドレスとNATのしくみ」で説明しています。自分のグローバルIPアドレスの確かめ方は、グローバルIPアドレスの記事にまとめています。

練習問題(全5問)

Q12進数 10110100 を10進数にすると?
Q2203.0.113.5 というIPアドレスは、クラスでいうとどれ?
Q3クラスBのデフォルトのネットワーク部は何ビット?
Q4169.254.25.10 というアドレスが割り当たっている機器を見つけた。何が起きている可能性が高い?
Q52001:0db8:0000:0000:0000:0000:0000:0001 を省略して書くと?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

おすすめの本 PR

この記事の内容を扱っている本です。

目的別の本の選び方を見る

入門コースを読み進める

入門コース 全19本中6本目