前回(第4回)の連載は、お蔭様でZDNet Japanの記事ランキング第2位まで復活した。理由として考えられるのは、「IPアドレス」という基礎を学ぼうとする方々にとって外せないキーワードを扱ったこと。そして、「読み方」という、これまた途中からでも乗り込みやすいタイトルだったことだろう。現在のネット社会においては「ウェブ標準」や「SEO」でもみられる通り、膨大な情報の中からまず「引っ掛けられる」ことが重要で、次に「引っ掛かった」ものを確実にゲットするため、惹きつける「コンテンツ(内容)」が必要になる。さてこの連載はどうだろう? おそらく今述べたことではなく、ただ単にZDNet Japanのトップページに掲載されたからアクセスランキングが高かった、というのがオチなような気もする……
さて、前回はIPアドレスの仕組みや、「ネットワーク部」と「ホスト部」、そして「クラス分け」の概念についてお話しした。途中2進法や10進法が入り混乱した方もいるかもしれないが、心配しないでほしい。「クラス」には、「クラスA」「クラスB」「クラスC」(「クラスD」)があり、最初のうちはそのIPアドレスがどのクラスに属しているのかが最低限わかればよい。
と、気分が楽になった(?)ところで、今回は前回予告したとおり、昨今よく使われている「CIDR(Classless Inter-Domain Routing:サイダー)」と「サブネット(マスク)分け」(サブネッティング)について説明しよう。
まず背景の説明から。
先にお話した通りIPアドレスの枯渇問題から、無駄なく必要な分(数)だけIPアドレスを供給しようという動きがでてきた。クラス分けでは、例えば「クラスB」を取得した企業は、約6万5000個のアドレスをホストに付与できるが、「クラスC」では約250個しか付与できず、その差はあまりにも大きい。例えば1000個のIPアドレスが必要な企業はクラスBを取得し、単純計算すると6万5000個マイナス1000個で、6万4000個のIPアドレスが無駄になる。特にクラスBは枯渇が深刻で、新たな方法が模索された。
上記のようなクラス分けは「クラスフル」なクラス分けと呼ばれるが、IPアドレス枯渇問題対策として「クラスレス分け」という概念が新たに登場した。これは簡単に言うと、任意に「ネットワーク部」を区切ることだ。つまり「クラス分け」のように、規則正しく「ネットワーク部」と「ホスト部」を区切るのでなく、好きな境界線でこの2つを区切る。
例えばクラスBでは、上位16ビットがネットワーク部で、割り当てられるアドレス数は約6万5000個と決まっていたが、クラスレスの概念では、例えば上位22ビットまでをネットワーク部とし、残り10ビットをホスト部として区切ることができる。これにより、供給できるアドレス数は1022個になる。ビット単位でネットワーク部を区切れるので、IPアドレスが無駄なく使えるのである。では、このクラスレスはどのように表現されるのだろう。
こんな表記を見たことはないだろうか。
これは、クラスレスの表記である。クラスフルの考え方では、クラスCのネットワーク部は最初の24ビットだが、クラスレスではネットワーク部が26ビットになる。それをどこで判断するのだろうか。「/26」という表記だ。そして、ホスト部は当然6ビットとなる。クラスレスの考え方はCIDR(Classless Inter-Domain Routing)と呼ばれ、今ではクラスフルよりも一般的に使われている。