先日、IPアドレスには上限と下限がある!!と気付きました。
今回は、なぜ、IPアドレスに上限と下限があるのかについて整理したいと思います。
先ず、その前にIPアドレスとは、
IPアドレス(アイピーアドレス、英: Internet Protocol address)とは、IPにおいてパケットを送受信する機器を判別するための番号である。
『IPアドレス - Wikipedia』
そして、
IPには、IPv4とIPv6とがあり、使用するプロトコルの違いにより、IPv4のIPアドレスとIPv6のIPアドレスとがある。狭義では、当初RFC 791でIPを定義した際に、IPが現在のIPv4に当たるもののみであったことから、単にIPアドレスと呼称した場合にはIPv4のIPアドレスを意味することがある。
『IPアドレス - Wikipedia』
IPは2つのバージョン(IPv4とIPv6)があることが分かります。
ここで、取り上げるのは、一般的にIPアドレスを意味するIPv4です。
IPv4は32ビットで構成されるアドレスです。
ここで、ビットとは、
ビット (bit, b) は、ほとんどのデジタルコンピュータが扱うデータの最小単位。英語の binary digit (2進数字)の略であり、2進数の1けたのこと。量子情報科学においては古典ビットと呼ばれる。
1ビットを用いて2通りの状態を表現できる(二元符号)。これらの2状態は一般に"0"、"1"と表記される。
『ビット - Wikipedia』
以上より、IPv4とは32桁の2進数で表現されるアドレスとも言えます。
ここで、2進数とは、「0」と「1」の2個の数字だけで表記されます。
一方、私たちが通常使っているのは「0」から「9」までの10個の数字で表す10進法です。
2進法と10進法を対比すると下記の通りとなります。
10進数 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
2進数 |
0 |
1 |
10 |
11 |
100 |
101 |
110 |
111 |
1000 |
1001 |
1010 |
IPv4ではこの32ビット(桁)を8ビット(桁)毎に分割した4つのパートを10進数で表記しています。
ここまで見てくると、IPv4の上限と下限が分かります。
上限:11111111111111111111111111111111
下限:00000000000000000000000000000000
これを8ビット(桁)毎に分割すると、
上限:11111111.11111111.11111111.11111111
下限:00000000.00000000.00000000.00000000
この2進数を10進数へ変換します。
つまり、2進数の各桁の数字に2進数の「重み」をかけてあげます。
ここでは、4つに分割した各パートが同じ値なので1つのパートのみで考えます。
上限:
1×2⁷+1×2⁶+1×2⁵+1×2⁴+1×2³+1×2²+1×2¹+1×2⁰
= 128+64+32+16+8+4+2+1
=255
下限:
0×2⁷+0×2⁶+0×2⁵+0×2⁴+0×2³+0×2²+0×2¹+0×2⁰
= 0+0+0+0+0+0+0+0
=0
以上より、IPアドレス(IPv4)の上限と下限が下記であることが分かりました。
上限:255.255.255.255
下限:0.0.0.0
1000.1000.1000.1000はあり得無し、-1000.-1000.-1000.-1000もあり得ないことが、IPアドレス(IPv4)の構造から分かりました!!
以上です!
【参考サイト】
『IPアドレスの上限はなぜ255.255.255.255なのか?』
『IPv4 アドレスとは アドレスとは』