【初心者向け】IPアドレスとは ~クラス、グローバルとプライベートについて~

IP アドレスとは、ネットワーク通信する上での住所のことです。

例えば端末 A が端末 B に通信したいときは、端末 A は[送信元=端末 A の IP アドレス, 宛先=端末 B の IP アドレス]という情報を付け加えて通信します。

ルータ等の NW 機器は宛先である端末 B の IP アドレスを見て、通信経路を決定していき、やがて端末 B に辿り着きます。これらの経路決定プロセスルーティングと言います。

端末 B が端末 A に返信したい場合は同じように[送信元=端末 B の IP アドレス, 宛先=端末 A の IP アドレス]という情報を付け加えて通信します。

今や IP はインターネットで利用されている、世界標準の通信方法です。インターネット通信をする端末は、必ず IP アドレスが割り振られています。

IP アドレスは 32 bit で構成され、8 bit ずつ 10 進数に変換し、.(ドット)で区切られて表現されます。

以下に、192.168.1.1 という IP アドレスを持つ端末 A と、10.2.3.4 という IP アドレスを持つ端末 B との通信の例を示します。

IP アドレスの範囲別用途

IP アドレスの範囲は 0.0.0.0 から 255.255.255.255 までですが、範囲によって用途が定められています。具体的には以下です。

IPアドレス帯割り当て用途
0.0.0.0~0.255.255.255予約デフォルトルートの表示等
1.0.0.0~126.255.255.255クラスA一般的なユニキャスト通信
127.0.0.0~127.255.255.255ループバックホストが自身宛への通信時に利用(DNSサーバとして自らを指定する場合等で利用)
128.0.0.0~191.254.255.255クラスB一般的なユニキャスト通信
191.255.0.0~191.255.255.255予約未定
192.0.0.0~223.255.254.255クラスC一般的なユニキャスト通信
223.255.255.0~223.255.255.255予約未定
224.0.0.0~239.255.255.255クラスDマルチキャスト通信
240.0.0.0~255.255.255.255クラスE予約(実験用、ブロードキャストアドレス等)

ネットワークアドレス

IP アドレスはネットワーク部とホスト部に分けることができ、ネットワーク部を表現したアドレスを特に ネットワークアドレスと呼びます。例えば、192.168.1.254 というアドレスがあるとき、ネットワーク部を先頭から 24 bit としたとき、ネットワークアドレスは 192.168.1.0 となります。なお、このネットワークアドレスは、端末に IP アドレスとして設定することはできません

ネットワークアドレスを別名でネットワークセグメント、もしくは単にセグメントと呼ぶこともあります。

同一ネットワークセグメント内のホスト同士は、ハブや L2 スイッチだけで通信ができ、 異なるネットワークセグメントのホスト同士は、ルータや L3 スイッチにより通信ができるようになります。詳細はこちらをご参照下さい

先の例ではネットワーク部を先頭から「24 bit」と仮定しましたが、何 bit にするか、というのは決め方が 2 つあります。1 つはクラスフルという考え方によるもの、もう 1 つはサブネットマスクという考え方によるものです。

クラスフル

クラスフルとは、IP アドレスの範囲によってネットワーク部の bit 数が決まる、というものです。具体的には以下の通りです。

クラスAの範囲 = 1.0.0.0~126.255.255.255

クラスAにおいては、先頭 8 bit がネットワーク部となります。例えば 10.2.3.4 という IP アドレスであれば、ネットワークアドレスは 10.0.0.0 になります。

クラスBの範囲 = 128.0.0.0~191.254.255.255

クラスBにおいては、先頭 16 bit がネットワーク部となります。例えば 172.20.30.40 という IP アドレスであれば、ネットワークアドレスは 172.20.0.0 になります。

クラスCの範囲 = 192.0.0.0~223.255.254.255

クラスCにおいては、先頭 24 bit がネットワーク部となります。例えば 192.168.33.44 という IP アドレスであれば、ネットワークアドレスは 192.168.33.0 になります。

サブネットマスク

クラスフルという考え方は今はほぼ使われていません。理由としては、IP アドレスの枯渇により、効率的な割り当てが出来なくなっているためです。特にクラスAでは理論上ではホスト部が 2 の 24 乗≒ 1600 万台の端末の配置が可能ですが、現実的にそのような構成は不可能です。

それよりも色々なネットワークアドレスに 256 台程度の端末を置くくらいがちょうどよいのです。そこで、クラスという概念を取り外し、全ての IP アドレスでネットワーク部を自由に決められるようにしました。それがサブネットマスクです。また、この考え方をクラスレスと言います。

例えば "1.1.1.1/28" という表記があった場合、"1.1.1.1" が IP アドレスを意味し、"/28"というのが『先頭 28 bit がネットワーク部である』ことを示したサブネットマスクを意味します。

なお、 "192.168.0.0/16" という、クラスフルにおいては 24 bit であったネットワーク部が 16 bit に減るような場合、"/16"をスーパーネットマスクとも言いますが、押し並べてサブネットマスク、と呼ぶことが多いです。

このクラスレスによるルーティングサポートを CIDR(サイダー:Classless InterDomain Routing)と呼び、元々 CIDR をサポートしていなかったルーティングプロトコル(RIPv1等)が CIDR を制限付きでサポートする方式を FLSM(Fixed Length Subnet Mask)と呼びます。また、FLSM の制限に打ち勝つために作られた CIDR をフルサポートするルーティングプロトコル(RIPv2やOSPF、EIGRP、BGP等)が扱う方式を VLSM(Variable Length Subnet Mask)と呼びます。この辺りは分かりにくい解説が多いですが、以下の記事に分かり易い説明を詳しく載せています。

【絶対分かる!】CIDR/VLSM/FLSMの違い、classful/classlessの違い、RIPv1/v2の違い ~サブネットマスクの進化~
【絶対分かる!】CIDR/VLSM/FLSMの違い、classful/classlessの違い、RIPv1/v2の違い ~サブネットマスクの進化~
クラスフル時代の問題とCIDRの登場 クラスフルアドレスの時代はサブネットマス...

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

ネットワーク部の一番最初のIPアドレスをネットワークアドレスと呼ぶ、ということを理解して頂いたと思いますが、逆にネットワーク部の一番最後のIPアドレスブロードキャストアドレスと呼びます。

このブロードキャストアドレスを宛先としたパケットは、スイッチが受信すると複製し、全てのポートから送信します。つまり、同セグメント内の全ての端末やルータに放送(ブロードキャスト)するわけです。ネットワークアドレスと同様に、このブロードキャストアドレスも端末にIPアドレスとして設定することはできません

プライベートIPアドレス

IP ネットワークにおいて通信を行うホストには、その NW 網において一意な IP アドレスが割り当たっている必要があります。インターネットという世界中を接続した IP ネットワークにおいては、全ての機器に一意の IP アドレスを割り当てるには IP アドレスが足りない状態です。そこで現在は、会社等の単位で利用するプライベート IP アドレスを使うのが一般的です。ただし、プライベート IP ではインターネットへの接続ができないため、インターネットに出るときだけ NAPT(PAT) を使う構成が一般的です。

プライベート IP アドレスは、会社などの IP ネットワーク網で使われ、他の会社と同じ(一意でない)アドレスで構いません。プライベート IP アドレスは以下のアドレス帯です。

10.0.0.0~10.255.255.255 = 10.0.0.0/8
172.16.0.0~172.31.255.255 = 172.16.0.0/12
192.168.0.0~192.168.255.255 = 192.168.0.0/16

また、プライベート IP アドレス同士の通信をインターネット越しで実現するには、インターネット VPN という技術が必要になります。前述の通り、プライベート IP アドレスではインターネット上で経路を一意に定めることができず、ルーティングができないからです。

特殊なアドレス帯

192.0.2.0/24

このアドレス帯は各メーカのコンフィグガイド等の説明用で使えるグローバルアドレス帯で予約されています。(実通信では使われないことになっています)

169.254.0.0/16

このアドレス帯は IP 自動取得にしていて、DHCP からの IP 取得ができない場合に自動生成されるIPアドレス帯です。下位 16 bit は MAC アドレスから一意に生成されるのが一般的です。また、最近は Amazon AWS での接続にもこのアドレス帯が流用されているようです。

自分の IP アドレスの確認方法

Windows であれば、コマンドプロンプトから "ipconfig" と打つことで確認できます。

  1. Windowsキー + R
  2. 「ファイル名を指定して実行」の名前欄に "cmd" と打ち、Enter
  3. ポップアップしたコマンドプロンプトにて "ipconfig"と打ち、Enter

「 IPv4 アドレス . . . . . . . . . . . .: 」と表示された横にあるのがIPアドレスです。

この欄にグローバルIPアドレスではなくプライベートIPアドレスが表示されていて、かつ、インターネットとも通信ができる状態であれば、ルータによってNAT(PAT)変換されています。NATについては以下を参照して下さい。

【NAT / NAPT変換】の意味, 目的, 種類, 仕組み, セキュリティ, メリット・デメリットについて
【NAT / NAPT変換】の意味, 目的, 種類, 仕組み, セキュリティ, メリット・デメリットについて
NAT とは NAT(読み方:なっと)とは、Network Address T...

NAT 変換後の IP アドレスを確認したい場合は、以下サイト等で調べることができます。

確認くん http://www.ugtop.com/spill.shtml

「あなたのIPアドレス (IPv4)」と表示された横にあるのがNAT変換後の IP アドレスです。