7.2. ネットマスク
7.2. ネットマスク
IPアドレスはネットワークアドレス部とホストアドレス部という2つの部位からなります。インターネットは世界各地の小さなネットワークの集合体ですが、それらのうち「どのネットワーク」に属するのかを示すのがネットワークアドレス部です。郵便を例にとって説明すると、ネットワークアドレス部は「東京都千代田区外神田3−5−12聖公会神田ビル1階 アミュレット」に相当します。後述のルーティングの際には、このネットワーク上の「どのホスト」なのかを示すのがホストアドレス部です。郵便の例で言えば「(アミュレットに所属する)Aさん」に相当します。
IPアドレスにはネットワークアドレス部とホストアドレス部の2つの情報が含まれているということはすでに説明しましたが、それではこの2つの情報をどのようにして区別すればいいのでしょうか?
基本的には、IPアドレス(32bit)のうち、左側のNビット(上位Nビット)がネットワークアドレス部、残り(32-N)bitがホストアドレス部となります。このNの値はネットワークの規模によって変化する(大規模ネットワークの場合、ホスト数が多いのでNの値は小さく、逆に小規模ネットワークの場合は大きくなります)ため、ネットマスクという数値を用いて上位何ビットがネットワークアドレス部なのかを明示します。
ネットマスクはIPアドレスと同じく32bitで表現されます。ネットマスクは、対応するIPアドレスのネットワークアドレス部に相当するビット(上位Nビット)には1を、残りのビット(ホストアドレス部に相当する部位)には0をセットすることで得られます。
こうして得られたネットマスクとIPアドレスの論理積をとることで、ネットワークアドレス部だけを取り出すことができ、それをネットワークアドレスと呼びます。ネットワークアドレスはネットワーク自体を指す特別なアドレスですので、特定のホストに割り当てることはできません。図に示すようにネットワークアドレスは「ホストアドレス部のビットが全て0」のアドレスと定義することができます。同一ネットワークに属するホストのネットワークアドレスは全て同じ値になります。
論理積:すべての入力が1の時には1が出力され、それ以外の場合には0が出力される。
各ビットで論理積演算をすると、ネットマスクが1の部位、すなわちネットワークアドレス部はIPアドレスがそのまま出力されます。一方、ネットマスクが0の部位、すなわちホストアドレス部は全て0が出力されます。
一方、「ホスト、アドレス部のビットが全て1」のアドレスはブロードキャストアドレスと呼ばれ、ネットワークアドレスによって特定されるネットワーク内の全てのホストを指します。ブロードキャストアドレスにパケットを送信すると、ネットワーク内の全てのホストがそのパケットを受信します。ブロードキャストアドレスも特別なアドレスですので、特定のホストに割り当てることはできません。
まとめると、以下のようになります。
- IPアドレス
ネットワーク世界における住所であり、32bitで表現される。ネットワークアドレス部とホストアドレス部に大別される。 - ネットマスク
IPアドレスの上位何ビットがネットワークアドレス部なのかを調べるための32bitの数値 - ネットワークアドレス
ホストアドレス部が全て0のアドレスであり、ネットワーク自体を指す - ブロードキャストアドレス
ホストアドレス部が全て1のアドレスであり、ネットワーク内の全てのホストを指す