3 Minutes NetWorking
No.22

3Minutes NetWorking

第22回レイヤ3 クラスフルアドレッシング

■ インターネットの管理者

インター博士

まず、復習だ。
IPアドレスは以下のような形だ。

10101100.00000101.00100010.00001011
172.5.34.11
ネットワーク番号ホスト番号

[Figure21-05:IPアドレス(10進数)]

ネット助手

32ビットでしたよね。
4つオクテットに分かれている、と。

インター博士

うむ。その32ビットは、ネットワーク番号ホスト番号の2つから成る。
順序もネットワーク、ホストの順番だ。

ネット助手

そのデバイスが所属するネットワークの番号と、そのネットワーク内でデバイスを識別する番号ッスね。

インター博士

うむ。
なかなかいいリアクションだ。成長したな、ネット君。

ネット助手

もしかすると、博士と僕は最高の相棒なのかもしれないッスね。

インター博士

何をラブコメ探偵モノみたいな寝言を言っておる?
主人と下僕以外の何者でもないだろう。

ネット助手

しくしく。

インター博士

2人の立場がはっきりした所で話を先に進める。
先にも話したが、ネットワークの番号は接続されているすべてのネットワークでユニークでなければならない。

ネット助手

えぇ、そうでしたね。
そうでなければ、沢山のネットワークから、宛先のネットワークを識別できないですからね。

インター博士

論理アドレスはネットワーク管理者がつける
つまり、すべてのネットワーク内でユニークになるように、アドレスを管理するネットワーク管理者が必要なのだ。

ネット助手

ははぁ。

インター博士

で、問題はインターネットだ。あれは世界すべてのネットワークを統合化した、最大のネットワークだ。
もちろん、それぞれのネットワークはユニークなネットワーク番号を持たねばならない。

ネット助手

ということは、インターネットのネットワーク管理者が存在するってことですか?

インター博士

そうだ。
その管理者、というか管理団体をICANNという。▼ link

ネット助手

あいしーえーえぬえぬ?

インター博士

もしくは、アイキャンと読んでくれ。
で、ここが考えたポリシーにしたがって、実際に各ネットワークの要望にしたがって割り振るわけだ。実際に割り振るのは、各地域、各国に存在するNICが行う

ネット助手

ねっとわーくいんたふぇーすかーど?
LANカードですか?

インター博士

英字3文字略は同じだが、Network Information Centerだ。
日本の場合、JPNICだ。▼ link

ネット助手

じぇーぴーにっく?

インター博士

うむ、ジェーピーニックと読む。
ともかく、このICANNはインターネットのIPアドレスを管理するのに、クラスという概念を使ってきた。

ネット助手

前回の最後でもでてきましたけど、クラスってなんです?

■ クラスフルアドレッシング

インター博士

クラスとは、ネットワークの規模の分類だ。
NICは、ネットワークの要望にしたがってIPアドレスを割り振るわけだが、その時規模に応じてIPアドレスを割り振る。

ネット助手

ははぁ。例えば、とあるネットワークがインターネットに接続したいから、とインターネット内でユニークな番号を希望するわけですよね。

インター博士

うむ。

ネット助手

そうするとNICは、あなたのネットワークはこの大きさだからこの番号ですよ、と決めるわけですか?

インター博士

そういうことだ。
このクラスによって、32ビットのうち何ビットがネットワーク番号かというのも決められる。

ネット助手

何ビットがネットワーク番号か?

インター博士

うむ。下表を見てくれ。

クラス第1オクテット第2オクテット第3オクテット第4オクテット
ネットワーク番号ホスト番号
ネットワーク番号ホスト番号
ネットワーク番号ホスト番号
マルチキャスト用
研究用

[Table22-01:クラスフルアドレッシング表]

インター博士

クラスAは最初の8ビット、つまり最初のオクテットがネットワーク番号で、残りがホスト番号だ。
クラスBは、16ビットと16ビット。クラスCは24ビットと8ビットになる。

ネット助手

クラスDとクラスEはどうなんです?

インター博士

クラスDとEは特別なアドレスで、商用に割り当てられない
IPアドレスを要求するネットワークがあっても、このアドレスは使われないのだよ。

ネット助手

はぁ。
5つのクラスがあるのはわかりましたけど。
どうやって区別するんです?

インター博士

それは、最初のオクテットの先頭の何ビットかで判別する

クラス第1オクテット10進数で表記した場合
0 0.x.x.x 〜127.x.x.x
10 128.x.x.x 〜191.x.x.x
110 192.x.x.x 〜223.x.x.x
1110 224.x.x.x 〜239.x.x.x
1111 240.x.x.x 〜255.x.x.x

[Table22-02:クラスの識別]

インター博士

例えば、IPアドレス32ビットの先頭ビットと2ビット目が「10」ならばそれはクラスBなのだよ。
この場合、クラスBの範囲は、「10000000000000000000000000000000」から「10111111111111111111111111111111」の「128.0.0.0〜191.255.255.255」になる。

ネット助手

なるほど。IPアドレスを見れば、そのクラスがわかるんですね。
例えば、「10.1.1.1」なら、「00001010000000010000000100000001」だから、先頭ビットが「0」なのでクラスAと。

インター博士

そういうことだ。ネットワーク番号の部分のビットが少ないと、ホスト番号の部分のビット数が多くなるよな。
つまり、多くのホストを所有するネットワークになれるわけだ。

ネット助手

ん〜っと。
クラスAなら、ネットワーク番号8ビット。ホスト番号が24ビット。つまり2の24乗で、16,777,216個のホストが持てるってことですね。

インター博士

そうだ。
NICは大きい規模のネットワークにはAを、小さい規模にはCを割り振る。

クラス規模ネットワークの数保有できるホストの数
政府・国家機関・大企業7ビット=128個24ビット=16,777,216個
中規模企業14ビット=16,384個16ビット=65,536個
小規模企業・プロバイダ21ビット=2,097,152個8ビット=256個

[Table22-03:ネットワークの規模とクラス]

インター博士

そうだな。一番近い例は、市外局番だな。
ネット君、何故東京と大阪だけ市外局番は03、06と2桁なんだね?

ネット助手

え、えっと。

インター博士

横浜市や京都市は3桁の045、075。旭川市や松本市は0166、0263。
夕張市だと、5桁の01235。北海道上川郡朝日町は6桁の016528だ。

ネット助手

町の規模ですか?

インター博士

そうだ。電話番号は必ず10桁。
市外局番が大きいと、市内局番+加入者番号の部分が小さくなる。つまり番号の数が減るわけだ。東京なら10桁−2桁の8桁、つまり100,000,000個の番号がある。1億だな。

ネット助手

北海道上川郡朝日町なら、残りは市内局番なしの4桁。1万個。
もし東京で1万個しか電話番号がなかったら、そりゃ大変ですね。

インター博士

うむ。
IPアドレスも電話番号と同様に、必ず32ビット。ネットワーク番号=市外局番と考えれば…。

ネット助手

ネットワークの規模によって、ネットワーク番号のビット数が変わるわけですね。
納得。

インター博士

そういうことだ。
このように、クラスに分けてIPアドレスを割り振る方式をクラスフルアドレッシングという。

ネット助手

くらすふるあどれっしんぐ。

インター博士

そうだ。
このクラスフルがIPアドレッシングの前提になっているので、決して忘れないよう。

ネット助手

いぇっさ〜。

IPアドレスの割り振り

[Figure22-01:IPアドレスの割り振り]

インター博士

実際は上図のように、各ホストにIPアドレスを割り振るのだが。
NICが割り振るのは、ネットワーク番号までだ。各ホストのIPアドレスはそのネットワークの管理者が割り振る

ネット助手

え〜っと。

インター博士

例えば、ネット君がとあるネットワークの管理者だとしよう。
インターネットに接続する必要のあるネットワークのだ。

ネット助手

はい。

インター博士

そこでネット君は、JPNICに頼んでIPアドレスを割り当ててもらう。
JPNICはネット君の申請を受けて、ネットワーク番号を割り振る。そうだな、クラスC、192.168.10.xをもらったとしよう。

ネット助手

192.168.10.xですね。

インター博士

うむ。そこから先はネット君の仕事になる。
JPNICは君のネットワークの、このパソコンにはホスト番号1を、つまりIPアドレス192.168.10.1を割り振りなさい、とまではいちいちしてくれない。

ネット助手

ははぁ。
当然といえば、当然の話ですね。そこまでやってたらキリがないわけですし。

インター博士

そうだ。
あとはネット君が自分のネットワークで、ユニークになるようにアドレスを割り振っていけばいいだけの話だ。ただし、使ってはいけないアドレスが存在する

ネット助手

ユニークにならない番号ですか?
例えば2台に同じホスト番号を割り振るとか。

■ 予約済みアドレス

インター博士

違う。
特別な意味を持つため実際のホストに割り振ってはいけないアドレスだ。

ネット助手

特別な意味をもつ?

インター博士

ホスト番号のビットがすべて0になるアドレスと、ホスト番号のビットがすべて1のアドレスだ。

ネット助手

すべて0とすべて1ですか?

インター博士

そうだ、先ほどの例でいこう。
クラスC192.168.10のネットワーク番号の場合、以下の2つのことだ。
それぞれネットワークアドレスブロードキャストアドレスという。

ネットワーク番号ホスト番号
ネットワークアドレス11000000101010000000101000000000
192.168.10.0
ブロードキャストアドレス11000000101010000000101011111111
192.168.10.255

[Table22-04:予約済みアドレス]

ネット助手

ねっとわーく、と、ぶろーどきゃすと?

インター博士

ネットワークアドレスは、そのネットワーク自体を示す。
先ほどの例でいえば、192.168.10というネットワーク番号を与えられたネットワークそのものだ。

ネット助手

ネットワークそのもの…。

インター博士

これは、そのネットワークへの経路選択の際に使用する。
例えば、192.168.10.1へ運ぶ時は、192.168.10.0への経路を考えるということだ。

ネット助手

インター博士

他のネットワークからのパケット転送の際、いちいち192.168.10番ネットワークの1番宛など考えるのは手間がかかる。
192.168.10番へ届ける。それから先はその192.168.10番ネットワーク内部で考えればいい。

ネット助手

つまり、例えば東京宛なら、東京以外からは市外局番の03を見て、東京の局へ届けるってことですか?
そこから先は、東京の局が届けるってことで。

インター博士

うむ。それはなかなかいい例だ。
その時、東京の局に届けるため使うアドレスが03-0000-0000、ネットワーク番号以外すべて0のネットワークアドレスなのだよ。

ネット助手

ははぁ。わかったようなわからないような。

インター博士

つまり、そうだな。
東京都全体を表す番号ということだな。「03」だけでも東京都を表すと言えばそうなのだが、それは電話番号の「10ケタ」というルールに反している。

ネット助手

う〜ん。
だから、仮に「03-0000-0000」とする、という感じですか。

インター博士

そうだ、その考えでいい。
もうひとつの、ブロードキャストアドレスは、そのネットワークすべてのホストを表す。

ネット助手

すべてのホスト?

インター博士

簡単にいえば、ネットワーク内全員が受け取るためのアドレスだ。

ネット助手

ははぁ。

インター博士

例えば宛先IPアドレス192.168.10.255とすれば、192.168.10番ネットワークに存在するすべてのホストがそのパケットを受け取る。
実際にはありえないが、03-9999-9999と電話をすれば、東京中の電話が鳴るのだよ。

ネット助手

そりゃすごい。

インター博士

いや、電話ではそういう番号はない。あくまでも例だからな。
ともかく、ネットワーク管理者はこの2つのアドレスをホストに割り振ってはいけないということだ。

ネット助手

了解です。
という事は、各ネットワークで割り振ることのできるアドレスの数は2減るってことですね。

インター博士

そうだ。
各ネットワークで保有できるホスト数は、ホスト番号がnビットだとすると、n−2個だ。

ネット助手

クラスCなら、ホスト番号が8ビットですから、2−2個で、254個ってことですね。

インター博士

うむ。
これら特別な意味を持つので使ってはいけないアドレスのことを、予約済みアドレスという。用途がすでに予約されている、という意味だ。

ネット助手

なるほど、先約アリってところですか。

インター博士

予約済みアドレスは、他にもある。
これはICANNやNICが考慮することだが、特定のネットワーク番号は割り振られないのだ。

ネット助手

特定のネットワーク番号?

インター博士

まずは商用には使われないクラスDとクラスE
そして0番(0.0.0.0)ネットワーク、127番(127.0.0.0)ネットワークの2つだ。

ネット助手

クラスDとEは、マルチキャスト用と研究用でしたね。

インター博士

うむ。
0.0.0.0は、すべてのネットワーク。ネットワーク全体のネットワークアドレスだ。127.0.0.0はループバックアドレスというアドレスだ。

ネット助手

ははぁ。

インター博士

さらに、255.255.255.255というすべてのネットワークに対するブロードキャストアドレス。
そして、プライベートアドレス

ネット助手

255.255.255.255は、0.0.0.0がすべてのネットワークだったのの反対ですよね。すべてのホストってことですね。
で、プライベートアドレスって何です?

インター博士

うむ、それは…。
ちょっと長くなりすぎたな。その続きは次回にしよう。

ネット助手

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

ICANN
[The Internet Corporation for Assigned Names and Numbers]
インターネットでの資源(IPアドレス、ドメインネーム)などの管理ポリシーを策定する非営利企業。
かつてはIANA[Internet Assigned Numbers Authority]が行っていた業務を移管して設立した。
NIC
[Network Information Center]
ICANN下の、インターネットの資源管理団体。
管轄する範囲ごとに、地域・国でそれぞれ存在する。
JPNIC
[Japan Network Information Center]
日本を管轄するNIC。
上位にアジアを管轄するAPNIC[Asia Pacific Network Information Centre]がある。
クラスフルアドレッシング
[classful addressing]
マルチキャスト用
[multicast address]
ネットワークすべてのホスト(ブロードキャスト)ではなく、ネットワーク内の複数のホストを表すアドレス。
たとえば、224.0.0.2(すべてのルータ)、224.0.0.5(すべてのOSPFルータ)など。
ループバックアドレス
[loopback address]
自分自身宛のアドレス。
127.0.0.1が主に使われ、接続テストなどに使用する。
プライベートアドレス
[private address]
インターネットに接続されないアドレス。
詳しくは次回。
ネット助手ネット君の今日のポイント
  • インターネットで使用されるIPアドレスはICANNとNICが割り振る。
  • 規模に応じた、クラスフルアドレッシングを行う。
    • 先頭が0がクラスA。政府機関・大企業向け。
    • 先頭が10がクラスB。中規模企業向け。
    • 先頭が110がクラスC。小規模企業・プロバイダ向け。
    • 先頭が1110がクラスD。マルチキャスト用。
    • 先頭が1111がクラスE。研究用。
  • クラスによりネットワーク番号を示す部分のビット数が違う。
  • ホスト番号の部分はそのネットワークの管理者が割り振る。
  • ホスト番号がnビットとすると、2n−2個をホストに割り振れる。。
  • ホスト番号のビットがすべて0はネットワークアドレス。
  • ホスト番号のビットがすべて1はブロードキャストアドレス。
  • 予約済みアドレスは他にもある。

3 Minutes NetWorking No.22

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