Webアプリ開発事始 第3回

TCP/IPネットワークとWebアプリケーションの基礎(3)
~IPアドレスと管理の仕組み
長谷川裕行
有限会社 手國堂

IPアドレスとネットマスク

IPアドレスはネットワークIDとホストIDから成っており、アドレスクラスによって両者の区切りは異なります。どこからどこまでがネットワークIDで、どこからがホストIDかを示すために、ネットマスクという数値が存在します。


- ビットパターンでアドレスを切り離す -

ネットマスクは「ビットパターン」と呼ばれる特別な数値で、「IPアドレスのネットワークID部分がすべて1」となっている値です。これによって、IPアドレスとサブネットマスクを元に2進数の論理演算を行い、IPアドレスからネットワークIDだけを取り出せるようになっています。

10進数の255は、オクテットを構成する8ビットすべてが1となります。0は10進数でも2進数でも0です。この0と1の値を使って、アドレスとサブネットマスクとの論理積を取ります。

論理積はAND演算とも呼ばれ、「2つの値の両方が1または両方が0なら答は1、それ以外は0」となります。

例えば、ネットマスク255.255.255.0(2進数では先頭の24ビットがすべて1、残りの4ビットが0)の場合、IPアドレス192.168.1.3との間で論理積を取ると、以下のようになります。

アドレス 192.168.  1.3  11000000.10101000.00000001.00000011
マスク  255.255.255.0  11111111.11111111.11111111.00000000
   And)
2進数    11000000.10101000.00000001.00000000 10進数 192 168 1 0
演算結果の“11000000.10101000.00000001=192.168.1”がネットワークIDです。


- クラスC未満のマスク -

クラスC未満のネットワークでは、最後の4オクテット目が254未満の値となり、それを複数のドメインに割り当てることになります。例えば210.252.151というクラスCのネットワークIDを持つネットワーク内に、さらに4オクテット目を80から95までの16個のIPアドレスとなるドメインなら、以下のように4オクテット目のマスクが必要になります。

アドレス 210.252.151. 86 11010010.11111100.10010111.01010110
マスク  255.255.255.240 11111111.11111111.11111111.11110000
   And)
2進数 11010010.11111100.10010111.01010000 10進数 210 252 151 80

マスクに4オクテット目の値を指定しているため、IPアドレス“210.252.151.86”のネットワークIDは“210.252.151.80”であることが分かります。4オクテット目のマスク値240は、割り当てられる最大数から使用可能な(割り当てられている)アドレス数を差し引いた値(256-16)です。

このような場合のネットワークIDは、マスク値を先頭からONにする(1となっている)ビットの数を付け足し、"210.252.151.80/28"のように表記します。“11111111.11111111.11111111.11110000”では、先頭から1が28個並んでいることがお分かりでしょう。

IPアドレスが8個割り当てられたドメインなら、マスク値の4桁目は248(256-8)となり、“210.252.151.80/29”と表記することになります。
図1:サブネットマスクでネットワークIDとホストIDを分離する


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

ネットマスクとは逆に「IPアドレスのホスト部がすべて1」となっている値を、ブロードキャストアドレスと言います。

先の例なら“0.0.0.15”(2進数では、最後の4ビットのみ1)という値です。IPアドレスとこの値との論理和を取ると、ホスト部分がすべて1となった値が取り出せます。論理和はOR演算と呼ばれ、2つの値のいずれか一方が1なら結果は1になります。

これによって得られた結果はネットワーク内の最終IPアドレスとなり、全ホストに共通のパケットを送る際に使用されます。

アドレス 210.252.151. 86 11010010.11111100.10010111.01010110
マスク    0.  0.  0. 15 00000000.00000000.00000000.00001111
   Or)
2進数 11010010.11111100.10010111.01011111 10進数 210 252 151 95

- 目次 -
TCP/IPとIPアドレスの管理
IPアドレスと名前の管理
IPアドレスの仕組み
IPアドレスとネットマスク
ビットパターンでアドレスを切り離す
クラスC未満のマスク
ブロードキャストアドレス
DNSとDHCP
WindowsネットワークとWINSサービス
Webサービスの仕組み
あとがき

Copyright © MESCIUS inc. All rights reserved.