IPアドレスのクラス

IPアドレスにはクラスとういう分類方法があります。

IPアドレスは32bitの数値です。

例えば、localhostIPアドレス127.0.0.1」は
2進数にすると「01111111 00000000 00000000 00000001」の32bitです。

② 先頭のbitパターンでクラス分けします。

Aクラス : 先頭が「0」

0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
00000000 00000000 00000000 00000000 〜 01111111 11111111 11111111 11111111
だから「0.0.0.0 〜 127.255.255.255」が使えます。

Bクラス : 先頭が「10」

10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
10000000 00000000 00000000 00000000 〜 10111111 11111111 11111111 11111111
だから「128.0.0.0 〜 191.255.255.255」が使えます。

Cクラス : 先頭が「110」

110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
11000000 00000000 00000000 00000000 〜 11011111 11111111 11111111 11111111
だから「192.0.0.0 〜 223.255.255.255」が使えます。

Dクラス : 先頭が「1110」

1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
11100000 00000000 00000000 00000000 〜 11101111 11111111 11111111 11111111
だから「224.0.0.0 〜 239.255.255.255」が使えます。

Eクラス : 先頭が「1111」

1111xxxx xxxxxxxx xxxxxxxx xxxxxxxx というパターン。
なので
11110000 00000000 00000000 00000000 〜 11111111 11111111 11111111 11111111」
だから「240.0.0.0 〜 255.255.255.255」が使えます。

ただし、このクラスは「実験的」な目的のためにTCP/IPIPv4)の開発当初から予約されており、実際に使われることはない。

③ なんでクラス分けするのかです。

ネットワークを表す部分

ネットワーク内にあるホスト(パソコンとかサーバとか)を表す部分
に分けるから。
Aクラスを使えばたっくさんつながるホストを割当てられるし、
Eクラスを使えば少いホストしか割当てられない。
この
「ネットワークを表す部分」をネットワーク部
「ネットワーク内にあるホストを表す部分」をホスト部
といいます。

④ クラス内で予約済みのIPアドレスがあるのです。

予約済みのIPアドレスはホストに割り当ててはなりません。

ネットワークアドレス

ホスト部の2進数のビットが全て 0 になっているアドレスのことです。
ネットワーク自体を指すアドレスとして使われているから割当ててはならないのです。
Aクラス : 00000000 00000000 00000000 00000000 (0.0.0.0)
Bクラス : 10000000 00000000 00000000 00000000 (128.0.0.0)
Cクラス : 11000000 00000000 00000000 00000000 (192.0.0.0)
Dクラス : 11100000 00000000 00000000 00000000 (224.0.0.0)

ブロードキャストアドレス

ホスト部のビットが全て 1 になっているアドレスのことです。
セグメントに接続されている全てのホストにパケットを送信するためのアドレスとして使われているから割当ててはならないのです。
Aクラス : 01111111 11111111 11111111 11111111 (127.255.255.255)
Bクラス : 10111111 11111111 11111111 11111111 (191.255.255.255)
Cクラス : 11011111 11111111 11111111 11111111 (223.255.255.255)
Dクラス : 11101111 11111111 11111111 11111111 (239.255.255.255)

ループバックアドレス

先頭が「01111111」(127)である自分自身(localhost)を表すIPアドレスのことです。
自分自身用で自身で動作する別のソフトウェアからアクセスしたりネットワークを利用するソフトウェアのテストなどで使うので割当ててはならないのです。
IPv4ではいつも「127.0.0.1」になると思っていましたが、どうも間違っていたようです。

IPv6ではループバックアドレスは「::1」しか用いることができないと定義されているが、IPv4の「127.0.0.1」は慣習的に決められたもので、正式なものではない。このため、OSによってはこれ以外のIPアドレスループバックアドレスとして使用できる場合もある(が、通常は別のアドレスは使わない)。