IPアドレスは単なる32bitの数値であり、IPアドレスによって各ホストはお互いを識別している。ほとんどのIPアドレスは、各ホスト・アドレスやネットワーク・アドレスとして使用しても構わないが、幾つか特別なIPアドレスがあり、ブロードキャストやルーティングなどの特殊な用途で使用されることがある。当然これらのIPアドレスは、ユーザーがホストのIPアドレスとして使用することはできない。ここでは、そのような特別な意味を持ついくつかのIPアドレスについて解説しておく。
※ “{n,h}”という表記は、ネットワーク・アドレス部が“n”で、ホスト・アドレス部が“h”であるようなIPアドレスという意味であり、“-1”は、すべてのビットが1であるような数値、という意味である(数値の -1 は、コンピュータ内部ではすべてのビットが 1 のデータとして扱われているので)。この表記方法は、RFCに準じている。
■{0,0} ― オール0
これは、すべてのbitが0(オール0)のIPアドレスであり、一般的には有効なIPアドレスとしては利用することができない。つまり、あるホストのIPアドレスとして使用することはできないし、このIPアドレスをあて先としてパケットを送信してもいけない。BOOTPやDHCPプロトコルなどを使って、TCP/IPの設定を行う際に、自分自身を表すためのアドレスとして使用されることがある(IPアドレスが未設定であるということを表すために使われる)。
なお、古いTCP/IPの実装では、これをブロードキャスト・アドレスとして使用している場合があったが(初期のBSD UNIXで実装されていたので、「BSDタイプのブロードキャスト」などと呼ばれることがある)、現在ではこれは使用しないことになっている。
■{-1,-1} ― オール1ブロードキャスト
これは、すべてのbitが1(オール1)であるようなIPアドレスのことを指し、正式には「リミテッド・ブロードキャスト(limited broadcast。限定されたブロードキャスト)」で使用される。(イーサネットなどの)同じネットワーク・セグメント上にいる、すべてのホストを対象とするブロードキャスト通信において、パケットのあて先IPアドレスとして使用される。送信元IPアドレスとして使用されることはないし、ホストに付けるIPアドレスとしては使用できない。
■{ネットワーク・アドレス,-1} ― ディレクティッド・ブロードキャスト
これは、ホスト・アドレス部がすべて1であるようなIPアドレスのことであり、正式には「ディレクティッド・ブロードキャスト(directed broadcast。特定の場所へ向けられたブロードキャスト)」で使用される。ホストに付けるIPアドレスとしては使用できない。
例えば、ネットワーク・アドレスとネットマスクが「172.16.0.0/16」ならば、「172.16.255.255」というIPアドレスに相当する。複数のホストを相手とするブロードキャスト通信で使われるあて先アドレスであり、この場合はネットワーク・アドレスが172.16.0.0となっているすべてのホストが対象となる(※)。先のオール1のブロードキャスト(リミテッド・ブロードキャスト)と比べると、通信先のネットワーク・アドレスを限定している点が異なる。
※注 このブロードキャストは、正確には、特定のネットワーク・アドレスに向けたブロードキャストと、特定のサブネット・アドレスに向けたブロードキャスト、および、特定のネットワーク・アドレスに含まれるすべてのサブネット・アドレスに向けたブロードキャストの3種類があるが、CIDR環境ではこれらの違いはなくなり、単に特定のネットワークに向けたブロードキャストになる。通常は、ネットワーク部はそのままで、ホスト部がすべて1になったIPアドレスへのブロードキャストと考えておけばよい。
タイプ | あて先 | 意味 |
---|---|---|
リミテッド・ブロードキャスト | 同一セグメント | 同じローカルのネットワーク・セグメントに接続されているすべてのホストへのブロードキャスト。ネットワーク・アドレスには関係なく、現在のホストが接続されている(イーサネットなどの)ネットワーク・セグメント上のすべてのホストを対象とする。ルータを介したほかのネットワークへは伝播しない。 |
ディレクティッド・ブロードキャスト | 指定されたネットワーク | 指定された(サブ)ネットワーク上のすべてのホストへのブロードキャスト。指定されたネットワークがローカルのネットワークではなく、ルータを介してつながっている先ならば、そこのネットワークまでルータによってパケットが運ばれてから、さらにルータによってブロードキャストされる。 |
2つのブロードキャスト・タイプの違い |
例えば172.16.0.1/16のホストが255.255.255.255へブロードキャストするのと、172.16.255.255へブロードキャストするのでは、どちらも同じセグメント上へのブロードキャストになるので大きな違いはないが(一般的には、このディレクティッド・ブロードキャスト・パケットの方が多く見られる)、(ルータを介して接続された)異なるネットワークへのブロードキャストを行いたければ、ディレクティッド・ブロードキャストを使わなければならない。
もし1つのイーサネット・セグメント上に複数のネットワーク(例:172.16.0.0/24と192.168.0.0/24)が混在していれば、リミテッド・ブロードキャストではすべてのホストにブロードキャストが届くのに対し、ディレクティッド・ブロードキャストならば、どちらか一方のネットワークにしかブロードキャストは届かない。
■{ネットワーク・アドレス,0} ― ディレクティッド・ブロードキャスト
これは、ネットワーク・アドレス部はあるが、ホスト・アドレス部がすべて0というIPアドレスである。先の{0,0}の項で述べたように、これは古い形式のディレクティッド・ブロードキャストであり、現在では使われないことになっている。ホストに付けるIPアドレスとしては使用できない。
■127.xxx.xxx.xxx(xxxは任意の数値)
先頭の1byteが127であるIPアドレス(例:127.0.0.1)は、正式には「ローカル・ループバック・アドレス(local loopback address)」といい、自分自身を指すIPアドレスとして使われる。ホストに付けるIPアドレスとして、ユーザーが明示的に付けることはできない。通常はTCP/IPのプロトコル・スタックが起動すると、自分自身を指すためのIPアドレスとして内部的にこのアドレスを設定する。例えば「telnet 127.0.0.1」を実行すると、自分自身の上で動作しているtelnetサービスにつながることになる。自ホストのIPアドレスが何であれ、常に自分自身を指すことが保障されたIPアドレスである。
以上で述べたことから分かるように、あるネットワークにおいて使用できるIPアドレスにはいくらか制限がある。例えば、ネットワーク・アドレスが172.16.1.0/24だとすると、ネットワーク・アドレスそのもの(172.16.1.0)やディレクティッド・ブロードキャスト・アドレス(172.16.1.255)などに使用される分は、ホストのIPアドレスとして利用することはできない。
言い換えると、各ネットワーク・アドレスのうち、一番下(ホスト部がオール0)と一番上(ホスト部がオール1)は利用できない。そのため、利用可能なホストの数は2つ少なくなることになる。
ネットワーク・アドレスやブロードキャスト・アドレス以外は、すべてユーザーが自由に利用できることになっているが、インターネットに接続するような場合には、ほかのホストとIPアドレスが衝突しないようにしなければならない。一般的には、インターネットに接続するホストにはグローバルIPアドレスを付け、組織内部のネットワークでは、プライベートIPアドレスを付ける。ここではこれらのIPアドレスについて解説しておく。
■グローバルIPアドレス
インターネットに接続するホストは、それぞれが互いに異なるIPアドレス(グローバルIPアドレス)を持つ必要がある。グローバルIPアドレスは、公的な機関(IANA:Assigned Numbers Authority。およびその依頼を受けた組織)によってたがいが重複しないように調整され、それがプロバイダなどを通じてユーザーに付与される。
■プライベートIPアドレス
プライベートIPアドレスとは、インターネット上に存在しない(どこの組織にも割り当てられていない)ことが保証され、各組織内だけで自由に使うことが許可されたIPアドレスのことである。現在では、組織内部ではこれらのIPアドレスを使ってネットワークを構築し、インターネットへ接続したければNATやNAPT(IPマスカレード)、Proxyサーバなどを利用するというのが一般的である。
具体的には、以下のようなIPアドレスが利用できる。
クラス | 範囲 |
---|---|
クラスA | 10.0.0.0〜10.255.255.255/8 |
クラスB | 172.16.0.0〜172.31.255.255/12 |
クラスC | 192.168.0.0〜192.168.255.255/16 |
プライベートIPアドレス |
10.0.0.0/8ならば、全部で1600万台分ものIPアドレスが利用可能なので、かなり柔軟にネットワークを構築することができるだろう。例えば組織内のすべてのネットワークやホストに「10.n1.n2.h/24」というIPアドレスを付けることにすると、地域や拠点、ビル、営業所などごとにn1を割り当て、ビル内のフロアや部署ごとにn2を割り当て、そのネットワーク内のホストごとにhを割り当てるというふうに利用できる。
■APIPA用のLINKLOCALアドレス
これは、DHCPなどでIPが割り当てられなかった場合に、各ホストが自動的に使用するIPアドレスである。Windows 9xや2000、XPなどでは、DHCPによるIPアドレスの自動取得が失敗した場合には、「169.254.1.0〜169.254.254.255/16」のいずれかのIPアドレスを使用する。これをLINKLOCALアドレスという。
Copyright© Digital Advantage Corp. All Rights Reserved.