クラスレスアドレス

より効率よくIPアドレスを利用するために、クラスに基づいてIPアドレスを考えるクラスフルアドレスから、クラスレスアドレスへ移行します。クラスレスアドレスは、クラスによる8ビット単位のネットワークアドレスとホストアドレスの区切りにこだわらないようにします。柔軟にネットワークアドレスとホストアドレスの区切りを考えるようにして、アドレスの無駄を少なくする考え方です。

クラスレスアドレスでは、ネットワーク部とホスト部の区切りが必ずしも8ビット単位にはなりません。区切りが12ビットになったり、20ビットになったりと、必要に応じて柔軟にネットワーク部とホスト部の区切りを決めることができます。

図 クラスレスアドレスの特徴
図 クラスレスアドレスの特徴

クラスレスアドレスはクラスフルアドレスをベースにして、次の2つのアドレスの操作を行います。

  • サブネッティング
  • 集約

サブネッティングは、ひとつのネットワークアドレスを複数に分割します。集約は、複数のネットワークアドレスをひとつにまとめます。

関連記事

クラスレスアドレスのベースになるクラスフルアドレスについて、以下の記事も合わせてご覧ください。

サブネッティングと集約について、さらに詳しくは以下の記事をご覧ください。

サブネットマスクで区切りを明確に

IPアドレスでわかりづらい点が、ネットワーク部とホスト部の区切りが一定ではないことです。32ビットのうちどこまでがネットワーク部でどこからがホスト部であるかがいつも同じではありません。さらにクラスレスアドレスとなり、区切りが8ビット単位とは限らずわかりづらくなっています。IPアドレスだけをみて、どこまでがネットワーク部でどこからがホスト部かがわかりません。

そこで、IPアドレスのうち、どこまでがネットワーク部でどこからがホスト部であるかを表すためにサブネットマスクを利用します。

サブネットマスクはIPアドレスと同じく32ビットで「0」と「1」が32個並びます。「1」はネットワーク部を表し、「0」はホスト部を表します。サブネットマスクは、必ず連続した「1」と連続した「0」です。やはり、ビットの並びではわかりづらいのでIPアドレスと同じようにサブネットマスクも8ビットずつ10進数に変換して「.」で区切って表記します。または、/のあとに連続した「1」の数で表記する場合もあります。この表記はプレフィックス表記と呼びます。

 図 サブネットマスクの例
図 サブネットマスクの例
サブネットマスクは、必ずビット「1」の連続のあとに、ビット「0」の連続です。「1」と「0」が交互に現れるようなサブネットマスクはありません。

原則として、IPアドレスにはサブネットマスクも併記して、ネットワーク部とホスト部の区切りを明確にするようにします。

クラスレスアドレスは、クラスフルアドレスをベースにしています。クラスフルアドレスでのネットワークアドレスとホストアドレスの区切りを示すサブネットマスクをナチュラルマスクと呼びます。ナチュラルマスクをまとめたものが次の表です。

クラスサブネットマスク(10進表記)サブネットマスク(プレフィクス表記)
A 255.0.0.0 /8
B 255.255.0.0 /16
C 255.255.255.0 /24
表 クラスのナチュラルマスク

クラスのナチュラルマスクをずらすことによって、サブネッティングや集約などのクラスレスアドレスを決めることができます。サブネッティングは、クラスのナチュラルマスクを右にずらす操作を行います。一方、集約はサブネットマスクを左にずらす操作を行います。

 図 サブネッティングと集約の概要
図 サブネッティングと集約の概要

まとめ

ポイント

  • クラスレスアドレスは、ネットワーク部とホスト部の区切りを柔軟に決めるIPアドレスの考え方です。
  • クラスレスアドレスでは、サブネットマスクによって明示的にネットワーク部とホスト部の区切りを表します。
  • クラスフルアドレスをベースにして、クラスレスアドレスを考えます。1つのクラスフルアドレスを複数に分割(サブネッティング)します。または、複数のクラスフルアドレスを1つにまとめます(集約)。