IPv4のアドレス範囲表と、そのアドレスの説明

IPv4アドレスは 0.0.0.0 〜 255.255.255.255 までの範囲となるのですが、アドレスの特徴によって範囲が決められています。以下にIPv4のアドレスマップを書いてみます。

クラスアドレス

IPアドレスはクラスA、B、C、D、Eのアドレスクラスにわけられます。これはIPアドレスの先頭4ビットの値によって決まります。各クラスは以下のルールによって定義されています。

●クラスA
IPアドレスの第一オクテットの先頭1ビットが「0」となるアドレスです。つまり、第一オクテットが 00000000 〜 01111111 となる範囲です。10進数に直すと 0 〜 127 です。ただし、00000000(10進数で 0 ) と 01111111(10進数で 127 )は別の用途で使われるためクラスAでは利用できません。そのためクラスAのIPアドレスの範囲は 1.0.0.0 〜 126.255.255.255 となります。

●クラスB
IPアドレスの第一オクテットの先頭2ビットが「10」となるアドレスです。第一オクテットが 10000000 〜 10111111 となる範囲です。10進数に直すと 128 〜 191 です。クラスBのIPアドレスの範囲は 128.0.0.0 〜 191.255.255.255 となります。

●クラスC
IPアドレスの第一オクテットの先頭3ビットが「110」となるアドレスです。第一オクテットが 11000000 〜 11011111 となる範囲です。10進数に直すと 192 〜 223 です。クラスCのIPアドレスの範囲は 192.0.0.0 〜 223.255.255.255 となります。

●クラスD
IPアドレスの第一オクテットの先頭4ビットが「1110」となるアドレスです。第一オクテットが 11100000 〜 11101111 となる範囲です。10進数に直すと 224 〜 239 です。クラスDのIPアドレスの範囲は 224.0.0.0 〜 239.255.255.255 となります。この範囲のアドレスはマルチキャストアドレスと呼ばれ 1対N(グループ宛て)の通信に利用されます。なお、224.0.0.0 〜 224.0.0.255 の範囲のアドレスは同一ネットワーク上でのみ送信されルーターによる転送はありません。

●クラスE
クラスA〜D以外の残りの範囲のアドレスです。これは実験用のアドレスで通常は利用されません。

グローバルアドレスとプライベートアドレス

●グローバルアドレス
インターネットで利用できるIPアドレスです。グローバルアドレスはIANA(ICANN)によって管理されています。

●プライベートアドレス
インターネットでは利用できず組織(または家庭)の内部ネットワークでのみ利用可能なIPアドレスです。インターネット上のルーターはプライベートアドレスを転送しないためプライベートアドレスがインターネット上に出ていくことはありません。プライベートアドレスはクラスA、B、Cで、それぞれ範囲が決められています。

クラスA
10.0.0.0 〜 10.255.255.255

クラスB
172.16.0.0 〜 172.31.255.255

クラスC
192.168.0.0 〜 192.168.255.255

ネットワークアドレスとブロードキャストアドレス

●ネットワークアドレス
IPアドレスはネットワーク部とホスト部にわかれていますが、ホスト部のビットがすべて 0 の場合のアドレスがネットワークアドレスです。ネットワークアドレスはそのネットワーク自体を表し、ルーターがルーティングするときに利用します。

●ブロードキャストアドレス
ブロードキャストアドレスはホスト部のビットがすべて 1 の場合のアドレスです。ネットワーク内のすべての端末にデータを送信する際に利用されます。32ビットをすべて 1 にした 255.255.255.255 のアドレスはルーティングが許可されていないためローカルネットワークより外には転送されません。ARPやDHCPの際に利用されます。

その他、特別なアドレス

●ループバックアドレス
ループバックアドレスは第一オクテットが 127 で始まるアドレスです。自分自身を表す仮想的なアドレスでTCP/IPが有効であれば利用可能です。利用可能なIPアドレスの範囲は 127.0.0.1 〜 127.255.255.254 となります。

●リンクローカルアドレス
DHCPのなんらかの障害によりIPアドレスの取得が出来なかった場合、APIPA(Automatic Private IP Addressing)という機能にって自動的に端末に割り当てられるIPアドレスです。この宛先アドレスへはルーターの転送はできません(ローカルネットワークのみで有効)。割当可能なIPアドレスの範囲は 169.254.0.1 〜 169.254.255.254 となります。

●シェアードアドレス
シェアードアドレスはプロバイダーがCGN(キャリアグレードNAT)行うために設けられたIPアドレスです。CGNはプロバイダー網内でNATを実施して一つのグローバルアドレスを複数のユーザーで共用する技術です。IPv4アドレスの延命策の一つとして検討されました。IPアドレスの範囲は 100.64.0.0/10 とされています。

サブネットの繰り上がりを理解してIPアドレス計算をする。

ネットワーク技術者にとってIPアドレスの計算は必須です。Ciscoの資格であるCCENTやCCNAでよく出題されます。

■例題1
IPアドレス「206.158.58.25/30」のサブネットマスク、および、このIPアドレスが属するネットワークのIPアドレスの範囲を求めなさい。

上記の例題をもとに、サブネットの繰り上がりを利用した解き方を書いてみようと思います。

まず例題のIPアドレスがクラスA、クラスB、クラスCのどのアドレスクラスに属するかを判断します。アドレスクラスを見分けるにはIPアドレスの第一オクテットを見て判断します。第一オクテットとは、IPアドレスを10進数表記してドット区切りした場合の一番先頭の数値を指します。「206.158.58.25」の第一オクテットは「206」になります。ちなみに第二オクテットが「158」、第三オクテットが「58」、第四オクテットが「25」です。

クラスA、B、C それぞれの第一オクテットの範囲は以下のようになります。

クラスA・・・1〜126
クラスB・・・128〜191
クラスC・・・192〜223

「206」は 192〜223 の範囲に入りますのでクラスCということになります。

この例題ではクラスCのアドレスを「/30」としてサブネット化しています。サブネット化とはもともとあるネットワークをもっと小さなネットワークに分割することです。クラスA、B、Cのネットマスク(ナチュラルマスクと言う)は以下のようになっています。

クラスA・・255.0.0.0 ネットワーク部は8ビット
クラスB・・255.255.0.0 ネットワーク部は16ビット
クラスC・・255.255.255.0 ネットワーク部は24ビット

サブネット化ではホスト部のビットを借用してネットワークを分割します。クラスCでは第4オクテットのホスト部(8ビット)の一部を借用することになります。「/30」とはネットワーク部が30ビットということなので、ナチュラルマスクのネットワーク部(24ビット)とホスト部から借用した6ビットで30ビットのネットワーク部とします。

ここで以下の表を覚えてください。

覚え方は、一番左端の「128」を覚えます。上段は右に行くごとに半分にしていきます。下段は上の数値と左隣の数値の和を書きます。例えば下段の「192」の場合は、上の数値「64」と左隣りの数値「128」の和となります。

この表から「/30」の場合のサブネットマスクを簡単に知ることができます。クラスCでホスト部から6ビットを借用するイメージを以下に示します。

6ビット借用したときの下段の数値は「252」ですので、IPアドレス「206.158.58.25/30」のサブネットマスクは「255.255.255.252」となります。

次に、このIPアドレスが属するネットワークのIPアドレスの範囲を考えます。先程の表の上段を見てください。6ビットを借用したときの上段の数値は「4」です。すなわち「/30」でサブネット化したときにネットワークアドレスは4づつ繰り上がることを表しています。

1番目のネットワーク・・206.158.58.0
2番目のネットワーク・・206.158.58.4
3番目のネットワーク・・206.158.58.8
:
7番目のネットワーク・・206.158.58.24
8番目のネットワーク・・206.158.58.28
:

(※)1番目のネットワークの範囲は 206.158.58.0 〜 206.158.58.3、2番目のネットワークの範囲は 206.158.58.4 〜 206.158.58.7 という具合です。

こう見てみるとIPアドレス「206.158.58.25」は7番目のネットワークに属することがわかります。これよりIPアドレスの範囲は、206.158.58.24 〜 206.158.58.27となりますが、先頭の「206.158.58.24」はネットワークアドレスであり、最後の「206.158.58.27」はブロードキャストアドレスとなるため通常のアドレッシングでは使えません。ネットワークアドレスとはホスト部のビットがすべて「0」となるアドレス、ブロードキャストアドレスとはホスト部のビットがすべて「1」となる特殊なアドレスです。

よって、ネットワークアドレスとブロードキャストアドレスを除いた 206.158.58.25 〜 206.158.58.26 がIPアドレスの範囲となります。

■例題2
IPアドレス「49.133.176.9/15」のサブネットマスク、および、このIPアドレスが属するネットワークのIPアドレスの範囲を求めなさい。

同様に例題2を解いてみます。第一オクテットが「49」であるためこのIPアドレスはクラスAということになります。クラスAのIPアドレスを「/15」でサブネット化するには、ネットワーク部(8ビット)とホスト部から借用した7ビットで15ビットのネットワーク部を作ります。クラスAでホスト部から7ビットを借用するイメージが以下です。

表の下段の数値は「254」なのでIPアドレス「49.133.176.9/15」のサブネットマスクは「255.254.0.0」となります。次にIPアドレスの範囲ですが、表の上段の数値よりこのネットワークの繰り上がりは「2」ということがわかります。

1番目のネットワーク・・49.0.0.0
2番目のネットワーク・・49.2.0.0
3番目のネットワーク・・49.4.0.0
:
n番目のネットワーク・・49.132.0.0
m番目のネットワーク・・49.134.0.0
:

何番目かは数えていませんが「49.133.176.9」は「49.132.0.0」のネットワークに属することだけはわかります。このネットワークの範囲は 49.132.0.0 〜 49.133.255.255 です。先頭の「49.132.0.0」はネットワークアドレス、最後の「49.133.255.255」はブロードキャストアドレスとなるため、このネットワークで使用できるIPアドレスの範囲は 49.132.0.1 〜 49.133.255.254 ということになります。

■例題3
「169.40.0.0」のネットワークにおいてサブネットを最大80個作りたい。どのようなサブネットマスクにすればよいか?

例題3は内容を変えてみました。これを解いてみます。例題3のネットワーク「169.40.0.0」は、第一オクテットが「169」のためクラスBに該当します。クラスBのナチュラルマスクは「255.255.0.0」でネットワーク部が16ビット、ホスト部も16ビットです。サブネットを80個作るにはホスト部からいくつかのビットを借用する必要があります。

1ビット借用・・2の1乗=2
2ビット借用・・2の2乗=4
3ビット借用・・2の3乗=8

6ビット借用・・2の6乗=64
7ビット借用・・2の7乗=128

80個作るには7ビット借用する必要があることがわかります。クラスBでホスト部から7ビットを借用するイメージが以下です。

表の下段の数値は「254」なのでサブネットマスクは「255.255.254.0」となります。ちなみにこのネットワークではネットワーク部に ナチュラルマスク16ビット+借用した7ビット=23ビット 使用していますので、ホスト部のビットは残りの9ビットとなります。よって、2の9乗=512 からネットワークアドレスとブロードキャストアドレスを引いた 510 がこのネットワークのホスト数となります。

■まとめ
サブネットの計算は以下の手順で行います。

  1. どのアドレスクラス(クラスA or B or C)に属するかを求める。
  2. ナチュラルマスクをもとにサブネットマスクを求める。
  3. ネットワークのアドレスの範囲を求める。
  4. ネットワークアドレス、ブロードキャストアドレスを求める。
  5. アドレッシング可能なアドレス範囲がわかる。