3 Minutes NetWorking
No.23

3Minutes NetWorking

第23回レイヤ3 サブネッティング

■ プライベート・アドレス

インター博士

さてネット君。
インターネットでのIPアドレスはICANNとNICがネットワーク番号を割り振っているのだったな。

ネット助手

えぇ。
それで、インターネットでのユニークな番号を管理してるんですよね。

インター博士

つまり、だ。
インターネットへの接続を考えないネットワークならば、ICANNのクラスフル・アドレッシングに従う必要はないわけだよな。

ネット助手

そうなりますね。

インター博士

クラスDだろうが、Eだろうが使いたい放題。
ネットワーク番号のビット数も適当でおっけ〜。この世はまさにシャングリ・ラいやっほぅっ

ネット助手

博士。いやっほぅっは勘弁してください。

インター博士

いやっほぅっ

ネット助手

いやマジで。

インター博士

なんだ、ノリが悪いなネット君。
そんなことでは立派な関西芸人にはなれんぞ。

ネット助手

それはまた悲しいような嬉しいような微妙なところですね。

インター博士

ともかく、インターネットに接続しないなら好き勝手にアドレスを割り振ってよい、という考え自体は、論理アドレスという概念からは間違ってない。

ネット助手

ですよね。

インター博士

だが、IPアドレスというものから考えると間違いだ。
何故なら、ネットワーク機器はクラスフルアドレッシングを前提に作られていることが多いからだ。

ネット助手

へへぇ。さすがデファクトスタンダード。

インター博士

なので、ネット君が「いやっほぅ。IPアドレス割り振っちゃうぜ。」と。
こっちは224.0.0.1。こっちは224.0.0.2」と意気揚々と割り振ったとしても。

ネット助手

何でそんなハイテンションでIPアドレスを割り振らなきゃならないんです?

インター博士

ネットワーキング・デバイス、特にルータは、マルチキャスト用アドレスと認識して、ホストだとは考えてくれない可能性が高い。

ネット助手

ははぁ。
なので結局クラスフルアドレッシングに従う必要がある、ということですね。

インター博士

うむ。
この場合、問題なのはインターネットに接続しないLAN、もしくはWANや、直接接続しない内部ネットワークだ。

ネット助手

直接接続しない内部ネットワーク?

インター博士

うむ、NATを使ってインターネットと接続するLANのことだ。
NATについては先で話す。
このような場合、プライベートIPアドレスを使う。

ネット助手

前回の最後で出てきた、予約済みアドレスの1つですね。

インター博士

うむ。
以下のアドレスがプライベートIPアドレスだ。

第1オクテット第2オクテット第3オクテット第4オクテット
10ホスト番号
17216〜31ホスト番号
1921680〜255ホスト番号

[Table23-01:プライベートアドレス]

ネット助手

クラスAの10.0.0.0、クラスBの172.16.0.0〜172.31.0.0、クラスCの192.168.0.0〜192.168.255.0の合計273個のネットワークですか?

インター博士

うむ。これらのアドレスは、プライベート用に予約されているのでNICは割り振らない。
なので、内部LANではこれらのアドレスを使う。

ネット助手

ははぁ。

インター博士

これらのプライベートIPアドレスは、インターネットに接続しない環境で使われるアドレスで、万が一インターネットと接続できる状況になっても、ルータがインターネット上に流さないように止める

ネット助手

まさしく、プライベートなためだけに使用可能なんですね。

インター博士

そうだ。
これの利点は、例えばインターネットに接続しないから、とプライベートIPアドレスではなく「1.0.0.0」ネットワークを内部LANで使ってたとする。

ネット助手

はい。

インター博士

手違いで、インターネットと接続してしまった場合、どうなる?

ネット助手

どうなるって。
NICから「1.0.0.0」を割り当てられているネットワークがあった場合、かぶってしまいますよね。

インター博士

そうだ。
そうなったら、もう大変だ。NICから「1.0.0.0」を割り当てられているネットワークは、インターネット上でそのアドレスを使う権利を持っている。それを侵害したわけだ。

ネット助手

そうなりますね。
ユニークでなくなって、「1.0.0.0」宛のパケットが届かなくなるかもしれませんね。

インター博士

うむ、それだ。そうなると、天文学的な賠償金を払うように言われても仕方がない事態が起こりえるかもしれない。
だが、プライベートIPアドレスを使えばそのようなことは起こり得ない

ネット助手

ルータが止めちゃうからですね。
なるほど。

■ 小さなネットワーク

インター博士

さて、話はちょっと変わる。
ネット君。論理アドレスは、階層型だというのは覚えているな。

ネット助手

えぇ。そうでしたね。

インター博士

それを前提として、だ。
IPアドレスのクラスAを考えてみよう。クラスAは、ホスト番号は24ビットある。つまり、16,777,214台のホストを所有できる。

ネット助手

24−2台で、約1700万台ですよね。

インター博士

ネット君がクラスAアドレスを持つ超大規模ネットワークの管理者になったとする。
そうだな、800万台のホストを持つネットワークだ。これにホスト番号を割り振るのがネットワーク管理者たる君の仕事だ。

ネット助手

800万台に割り振るんですか。大変そうだ。

インター博士

さて、ネット君。
どうやって割り振るかね?

ネット助手

どうやって、って。
そりゃ1から順番に割り振るのが簡単かな。

インター博士

何を言ってるのかわかってるのか?
人口800万人の大都市の、それぞれの住所を1番から連番で割り振ります、といってるのと同じ意味だぞ。

ネット助手

はぅっ。

インター博士

「ネットさんの住所は、A市569万3478番地です。」
無茶言うな

ネット助手

うううぅぅ。

インター博士

ヒントをやろう。
IPアドレス、つまり論理アドレスは階層型だ。

ネット助手

う?
…。大きなネットワークを小さな幾つかのネットワークに分割する

インター博士

そうだ。
「○番ネットワーク内、▲番ネットワークの◇番ホスト」ということが論理アドレスでは可能だ。階層型だからな。

ネット助手

そうだ、そうでしたね。

インター博士

相変わらず揮発性抜群だな。
ともかく、ネットワークを幾つかの小さなネットワークに分割し、管理しやすくすることができる。
この小さなネットワークのことをサブネットワークという。

ネット助手

さぶねっとわーく。

■ サブネットワーク

インター博士

IPアドレスは、ネットワーク番号とホスト番号から成り立っていたが。
これをサブネットワークに分割するため、以下のように変更する。

サブネットワーク

[Figure23-01:サブネットワーク]

インター博士

ネットワーク番号はNICから割り振られた番号なので、勝手に変更はできない。
ホスト番号のビットを、サブネット番号とホスト番号にする

ネット助手

ホスト番号の部分を削って、サブネット番号の部分を作りだすわけですね。

インター博士

そうだ。
それにより、「○番ネットワーク内、▲番ネットワークの◇番ホスト」という形にするわけだ。

ネット助手

ははぁ。

インター博士

例を出そう。クラスBネットワークの、172.16.0.0がある。
これのホスト番号16ビットを、サブネット番号6ビットホスト番号10ビットにする。この状態で、サブネットワーク1番の、1番ホストのIPアドレスは以下のようになる。

サブネット・2

[Figure23-02:サブネットワーク・2]

ネット助手

172.16.4.1ですか?
なんか、4番サブネットの1番ホスト、に見えてしまいますね。

インター博士

それは10進数の表記法に惑わされているだけだ。
あくまでもIPアドレスはビットなのだ。

ネット助手

ははぁ。
オクテットごとにわけて10進数で書くけれども、それとIPアドレスの中身は関係ないってことですか。

インター博士

そうだ。オクテットごとにドットをつけて表記するのは、人間が見やすくするためだけだ。
考え方としては、また電話番号を使おう。市外局番はネットワーク番号だったな。

ネット助手

前の例ではそうでしたね。
町の規模によって、市外局番に使う桁数が変わりましたよね。

インター博士

0123-45-6789で言えば。
「0123」がネットワーク番号。「456789」がホスト番号だったわけだ。これでは管理がしづらいので、市内局番というものを使う。

ネット助手

例でいえば、「45」ですね。

インター博士

そうだ。「0123」局の、「45」局内、「6789」番という意味になる。ただ、電話番号の加入者番号「6789」は必ず4桁だが、IPアドレスは違う。
場合によっては、0123-4567-89、にしてもよいし、0123-4-56789でもいい。

ネット助手

「0123」局の「4567」局内「89」番、「0123」局の「4」局内「56789」番、ってことですね。
では、市内局番の部分、サブネット番号の部分に何ビット使うかってのはどうやって決めるんですか?

インター博士

適当に

ネット助手

…、はい?

インター博士

言い方が悪かったか?
任意に

ネット助手

そんないい加減でいいんですか?

インター博士

前も話したとおり、ホスト番号はそのネットワークの管理者が決定する。サブネット番号の部分も元はホスト番号の部分から流用してるだけだ。
ICANNやNICに関係なく、そのネットワークの管理者が勝手に決めることができる。

ネット助手

それはそうですけど。

インター博士

それにサブネットはそのネットワーク内部でのみ有効なのだ。
ネットワークの外部から見れば、例えばネットワークAのサブネット1もサブネット2も、ネットワークAなのだから、いちいち中まで知らなくてもよいわけだ。

ネット助手

ん〜っと。つまり、0123-45-6789でも、0123-98-7654でも、外の局から見れば同じ0123局に接続するわけだから、0123-45局と0123-98局も区別しないってことですか。

インター博士

そうだ。宛先が45局か、98局かという事は、0123局に届いた後で考えればいいわけだからな。これは先の経路選択のところで話そう。
まぁ、適当なのも問題なので、サブネットに使用するビットの数は一応の基準が存在する。

ネット助手

よかった。

インター博士

まず、下の表を見てもらおう。
192.168.100.0のクラスCネットワークを例としている。

第1
オクテット
第2
オクテット
第3
オクテット
第4オクテットサブネットの数各サブネットの
ホストの数
サブネットホスト
110000001010100001100100-000000000個254個
000000002個126個
000000004個62個
000000008個30個
0000000016個14個
0000000032個6個
0000000064個2個
00000000128個0個
00000000-256個0個

[Table23-02:クラスCアドレスのサブネット化] 

インター博士

見てわかるとおり、サブネットの数を多くすると、各サブネットのホスト数は減少する
ホストがないサブネットは意味がないので、ホストには最低2ビット残す

ネット助手

あれ?
なんで、サブネットに7ビットの時に、ホスト1ビット残っているのにホスト数0なんです?

インター博士

前回いったことを思い出せ。
「各ネットワークで保有できるホスト数は、ホスト番号がnビットだとすると、n−2個だ。」

ネット助手

えっと、全部のビットが0のネットワークアドレスと、全部が1のブロードキャストアドレスが、ホストの数から引かれるから2n−2個だったですよね。

インター博士

そうだ、そのルールはサブネットワークだからといって、例外にはしない
つまり、ホスト番号が全部0の場合はそのサブネットワーク自体を現すネットワークアドレスになる。

ネット助手

ははぁ。
つまりホスト部が1ビットだと「0」と「1」しかないわけですけど、「0」はネットワークアドレス、「1」はブロードキャストアドレスになってしまうわけですね。

インター博士

そういうことだ。
つまりサブネットに必要なビット数は、ホストには最低2ビット残した上で、必要なサブネットの数、各サブネットに必要なホストの数を考慮して決定する。

ネット助手

なるほど。

■ サブネットマスク

インター博士

どのネットワークに所属しているかという問題は、経路選択の際に非常に重要だ。

ネット助手

そうなんですか?

インター博士

うむ。ルータはネットワークアドレスを元に経路を決定する
つまり、IPアドレスのどこまでがネットワークを現すか、というのはインターネットワークで死活問題なのだよ。

ネット助手

でも、クラスフルアドレッシングなら、最初の1〜4ビットでクラスがわかりますよね。
クラスがわかれば、どこまでがネットワーク番号なのか簡単にわかりますよね。

インター博士

サブネットワークはどうする? 確かに、クラスがわかればどこまでがネットワーク番号かわかる。
だが、どこまでがサブネットワーク番号か、はわからない。

ネット助手

そうか。
サブネットワークはネットワーク管理者が任意に決めれられるんでしたね。

インター博士

うむ。なのでサブネットを使用する場合はサブネットマスクをIPアドレスと同時に表記する必要がある

ネット助手

さぶねっとますく?

インター博士

どこまでがサブネット番号かを示すものだ。
IPアドレスと同じ32ビットで、同じ表記法をする。まず下図をみてもらおう。

サブネットマスク

[Figure23-03:サブネットマスク]

インター博士

下の「255.255.252.0」がサブネットマスクだ。
つまり、ネットワーク番号・サブネット番号のビットをすべて1、ホスト番号を0にしたものだ。

ネット助手

ははぁ。

インター博士

これにより、どこまでがネットワークを現すかがわかる。
簡単に言えば、サブネットマスクのビットが1の部分がネットワークだ。

ネット助手

確かにそうなりますね。
でも、なんでこんな形なんです?

インター博士

それは、ルーティングの時に話そう。
というわけで、今回はこれでお終いだ。

ネット助手

了解。
3分間ネットワーキングでした〜♪

シャングリ・ラ
[Shangri-La]
J. Hiltonの「失われた地平線」[Lost Horizon]に書かれた理想郷。
NAT
[Network Address Translation]
アドレス変換。
プライベートIPアドレスをグローバルIPアドレスに変換する。
詳しくは第46回で。
プライベートIPアドレス
[private IP address]
逆にNICから割り当てられたインターネットで使えるアドレスは、グローバルIPアドレス[global IP address]という。
サブネットワーク
[subnetwork]
もしくは単にサブネット[subnet]と言う。
表の意味
1ビットで0と1の2種類。2ビットで00、01、10、11の4種類表すことができる。
よって、nビットの時nの種類を作れる。つまりその数だけ番号を作成できる。
サブネットマスク
[subnet mask]
SMと略すことも多い。
もしくは単にマスクという。
ネット助手ネット君の今日のポイント
  • インターネットに接続しないLAN・WANではプライベートIPアドレスを使う。
  • プライベートIPアドレスはインターネット上に流れない。
  • ネットワークを小さなネットワークに区切る。この小さなネットワークをサブネットワークという。
  • サブネットワークに区切った場合、IPアドレスはネットワーク番号、サブネット番号、ホスト番号の3つの情報を持つ。
    • サブネット番号は、ホスト番号のビットを借りて作成する。
    • ホスト番号のビットは最低2ビット必要である。
    • サブネットの数、ホストの数を考えた上でサブネット番号のビット数を決定する。
  • サブネットにわけた場合、サブネットマスクも必要。
    • サブネットマスクはIPアドレスと同じ形で、どこまでがネットワーク番号・サブネットワーク番号かをしめす。
    • サブネットマスクのビットが1の部分がットワーク番号・サブネットワーク番号。0の部分がホスト番号。

3 Minutes NetWorking No.23

管理人:aji-ssz(at)selene.is.dream.jp