このページの本文へ

ネットワークがクイズでわかる! 誰が正解?「TCP/IP」 第1回

3人の回答者から正解を選べ!

クイズのはじまりは「クラスとサブネット」

2011年07月20日 06時00分更新

文● 遠藤 哲

  • この記事をはてなブックマークに追加
  • 本文印刷

クイズ「誰が正解?」の時間がやってきました。このクイズでは、ケンイチ君、いずみちゃん、竹田君の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アドレスの左端(上位)のビットパターンを見ればわかるようになっている。

図1●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のサブネットに小分けして使えるというわけだ。

図2●IPアドレスのサブネット分割

 ここで、サブネットアドレスの6ビットを表現するためにサブネットマスクが使われる。図3にあるようにサブネットマスクを32ビットの2進数にしたとき、サブネットマスクの1が連続している部分がIPアドレスのネットワークアドレスの範囲を表わし、0の連続している部分がホストアドレスの範囲となる。つまりサブネットマスクを使うと、本来のクラスの範囲を超えて、1ビット単位でネットワークアドレスとホストアドレスの境界を設定できるようになるわけだ。

図3●サブネットマスクの構造

 また、サブネットマスクは単に「ネットマスク」と呼ぶこともあり、ルータなどでは表記法として「/24」のようなCIDR表記(またはプレフィックス表記)が使われることも多い。CIDR表記の場合は、ネットワークアドレス部のビット長だけを添える。

 さて、ケンイチくんの説明は一見正しいように見えるが、サブネットマスクのパターンによってクラスを判断している点が誤り。クラスは左端のビットパターンで判断するのが正しい。竹田君は、IPアドレスの構成とサブネットマスクの役割について誤っている。サブネットマスクは、ネットワークアドレスとホストアドレスの境界を示す情報である。よって正解はいずみちゃんとなる。

 本記事は、ネットワークマガジン2007年8月号の特集1『クイズでわかる誰が正解?「TCP/IP」』を再編集したものです。内容は原則として掲載当時のものであり、現在とは異なる場合もあります。

カテゴリートップへ

この連載の記事