クイズ「誰が正解?」の時間がやってきました。このクイズでは、ケンイチ君、いずみちゃん、竹田君の3人が私の質問に答えます。ただし、正解なのは1人だけですよ。クイズのテーマは「TCP/IP」、ネットワークの基本です。さてさて、誰が正解か当てられますか?
誰が正解?(間違いが2人いますので要注意!)
IPアドレスのクラス
IPアドレスは「ネットワークアドレス」と「ホストアドレス」の2つの情報で構成された32ビット長の情報である。IPアドレスは、ネットワークごとに1つのネットワークアドレスが与えられ、その中のホストには、ネットワーク内で重複しないホストアドレスが割り当てられる。このネットワークアドレスとホストアドレスを分割する方法の1つとして、IPアドレスの「クラス(アドレスクラス)」がある。
IPアドレスのクラスには、クラスA~Eの5つがあり、この中で個々のコンピュータを識別するために割り当てられているのがA、B、Cの3つのクラスである。ちなみにクラスDはマルチキャスト用、クラスEは実験用に予約されたクラスである。
クラスA、B、CのIPアドレスは図1に見られるように、クラスごとにネットワークアドレスとホストアドレスの境界が定められている。あるIPアドレスがどのクラスに属するかは、IPアドレスの左端(上位)のビットパターンを見ればわかるようになっている。
初期のインターネットでは、ホストアドレス部に必要なビット長に応じて、クラス単位でIPアドレスの割り当てを受けていた。つまりIPアドレスを必要とするネットワーク機器がいくつあるのかによって、どのクラスで申請するかを決めていたわけだ。
ところが、企業やISPでクラスAやクラスBの規模のネットワークを1つのまとまりとして運用するのは、あまり現実的ではなかった。そこで、実際には大きなネットワークを適正な規模の「サブネット」に分割して、これらをルータで接続するようにした。そして、これらのサブネットのホストにIPアドレスを上手に割り当てる仕組みとして「サブネットマスク」が登場したのだ。
サブネットマスクの仕組み
サブネットマスクは、「255.255.255.0」(または「/24」)などの表記でIPアドレスに付加される32ビットの数値である。このサブネットマスクを使うことで、ネットワークアドレスとホストアドレスの境界をビット単位で細かく表現することができる。
たとえば、1000台のコンピュータを持つネットワークがあったとしよう。1000個のホストアドレスを表わすのに必要なビット数は10ビット(1024個)である。この場合、本来クラスBのIPアドレスを用いるが、図2のようにホストアドレス16ビット中の10ビットだけをホストアドレスとして使うことを考える。そして、残りの6ビットをサブネットアドレスと考えれば、クラスBのネットワークアドレスを親とする0~63のサブネットが利用できる。結果として、クラスBのネットワークアドレス1つを64のサブネットに小分けして使えるというわけだ。
ここで、サブネットアドレスの6ビットを表現するためにサブネットマスクが使われる。図3にあるようにサブネットマスクを32ビットの2進数にしたとき、サブネットマスクの1が連続している部分がIPアドレスのネットワークアドレスの範囲を表わし、0の連続している部分がホストアドレスの範囲となる。つまりサブネットマスクを使うと、本来のクラスの範囲を超えて、1ビット単位でネットワークアドレスとホストアドレスの境界を設定できるようになるわけだ。
また、サブネットマスクは単に「ネットマスク」と呼ぶこともあり、ルータなどでは表記法として「/24」のようなCIDR表記(またはプレフィックス表記)が使われることも多い。CIDR表記の場合は、ネットワークアドレス部のビット長だけを添える。
さて、ケンイチくんの説明は一見正しいように見えるが、サブネットマスクのパターンによってクラスを判断している点が誤り。クラスは左端のビットパターンで判断するのが正しい。竹田君は、IPアドレスの構成とサブネットマスクの役割について誤っている。サブネットマスクは、ネットワークアドレスとホストアドレスの境界を示す情報である。よって正解はいずみちゃんとなる。
本記事は、ネットワークマガジン2007年8月号の特集1『クイズでわかる誰が正解?「TCP/IP」』を再編集したものです。内容は原則として掲載当時のものであり、現在とは異なる場合もあります。 |
この連載の記事
-
第8回
ネットワーク
名前解決の手法で正しいのはだれ? -
第7回
ネットワーク
スイッチのオートネゴシエーションは何をしてくれるの? -
第6回
ネットワーク
IPアドレス未割り当ての端末とDHCPサーバの通信方法とは? -
第5回
ネットワーク
IPアドレスからMACアドレスを調べるARPはどこまで有効? -
第4回
ネットワーク
データ受信時の「ACK番号」はどう増える? -
第3回
ネットワーク
「スリーウェイハンドシェイク」の手順、わかっていますか? -
第2回
ネットワーク
「特別なIPアドレス」を正しくわかっているのは誰? -
ネットワーク
ネットワークがクイズでわかる! 誰が正解?「TCP/IP」<目次> - この連載の一覧へ