各ネットワークは互換性のない独自の技術によって構成されているので、 その物理アドレス(physical address)も互換性がない。 そこで、統一アドレス付け(uniform addressing)するために、 プロトコルソフトウェアは、独自のアドレス付けを定義する。
→ IP Address (32bit)つまり、ある2つのアプリケーションが通信を行う時、 相手のハードウェアアドレスを知る必要はない。
32ビットIP Addressは2つの階層に分かれる。
0 | 8 | 16 | 24 |
0 | prefix | suffix |
---|
10 | prefix | suffix |
---|
110 | prefix | suffix |
---|
1110 | multicast address |
---|
1111 | reserved for future use |
---|
オクテットの境界でプレフィックスとサフィックスは分割される。 クラスA〜Cはホストアドレスに使用され、基本クラス(primary address)と呼ばれる。
10000000 10000000 11111111 00000000 → 128.128.255.0IP AddressはIP Address自身からそのアドレスクラスを計算できるので、 自己特定型(self identifying)と呼ばれる。 例えば、2進法では最初の4bitを調べれば、クラスが分かるし、 10進法では、第1オクテットを調べれば判別できる。
クラス | 第1オクテット |
---|---|
A | 0 〜 127 |
B | 128 〜 191 |
C | 192 〜 223 |
D | 224 〜 239 |
E | 240 〜 255 |
クラス | ネットワーク数 | ホスト数 |
---|---|---|
A | 27 = 128 | 224 = 16777216 |
B | 214 = 16384 | 216 = 65536 |
C | 221 = 2097152 | 28 = 256 |
実際には特別アドレスフォームに使用するアドレスがあるので、もっと少ない。
クラス | アドレス | サブネットマスク |
---|---|---|
A | 10.0.0.0 - 10.255.255.255 | 255.0.0.0 |
B | 172.16.0.0 - 172.31.255.255 | 255.255.0.0 |
C | 192.168.0.0 - 192.168.255.255 | 255.255.255.0 |
Type | Example | Description |
---|---|---|
(network address) |
10.0.0.0 | ネットワークを指定する。suffixが全て0。 |
(directed broadcast address) |
10.255.255.255 | 指定のネットワークへのブロードキャスト。suffixが全て1。 |
(limited broadcast address) |
255.255.255.255 | ローカルネットワークへのブロードキャスト。全て1。 |
(this computer address) |
0.0.0.0 | ブートストラップ時の自己アドレスとして扱う。全て0。 |
(loopback address) |
127.0.0.1 | ネットワークアプリケーションのテストに使う。 自己コンピュータに対してパケットを送信するが、 実際のネットワークを介することはない。クラスAのprefixを127にしたもの。 |
※ バークレイブロードキャストアドレスフォーム
BSD UNIXの初期TCP/IPプロトコルでは、指定ブロードキャストを表すために、 suffixが全て1ではなく、全て0というアドレスを用いていた。 いくつかのTCP/IP実装では、これらを両方受け入れるように設計されている。
ルータは、複数の物理ネットワークの接点として用いられるので、 複数のprefixを持つことになる。 つまり、ルータには2つ以上のIPアドレスが割り当てられる(→multihomed)。 組織内ネットワークでは、ルータのsuffixを統一する(例えば1とする)と 管理が楽になる。