サブネットについて
戸根先生こんばんは。
現在、学校でFLSMの段階のルーティングを勉強しています。「ネットワークの考え方」P290に、ネットマスクの意味の変遷が書かれておりましたが、それによると、現在の仕様では、CIDRというクラスレスアドレスの考え方でVLSMを実現している、と書いておられました。(完全理解 TCP/IP, P72~75も参照させていただきました)
そこで、例えば
192.168.19.19 255.255.255.240
のIPアドレスで可能なサブネット数は
2の4乗-2=14
が、正解のようですが、この答えからの考え方は、まず、このアドレスはクラスCなので、
192.168.19の3オクテットはネットワークアドレス部で、第4オクテットの上位4ビットが、VLSMによるネットワークアドレス部分(サブネット)というように解釈できると思います。
学校の先生に聞いたのですが、この解釈ですでにCIDRを実現しているというふうに聞き取れました。
192.168.19 の部分は便宜的にクラスCを使っているだけで(というのは上位3オクテットが完全にネットワークアドレス部だとわかるから)サブネットを設計するときに、第4オクテットの上位何ビットを借りるかということで、サブネット化を図ることができる=VLSMというように説明していただいた気がします。
例えば、ホスト台数が多いとき、
192.168.19.19 255.255.240.0
としても良いけれど、そうするとネットワークアドレス部分とサブネット部分の区別がわかりにくくなるので、そういうときは、
172.16.19.19 255.255.240.0
というようにした方が慣例としてわかりやすいともおしゃってました。
(ちなみにサブネットもホストも多くしたいときは、
10.40.19.19 255.255.240.0
とするのでしょうか?)
以上の学校の先生の考え方は、戸根先生のサイトの用語解説「アドレスマスク」の
>この問題の解決策として考案されたのがサブネットという考え方です。ホスト番号の部分をサブネット番号とホスト番号という二つに分け,32ビットのIPアドレス全体をネットワーク番号とサブネット番号とホスト番号という三つの部分に分けるよう,IPアドレスの考え方を改めたわけです。しかし,この方法を実現するには一つ問題がありました。IPアドレスの値をみるだけではサブネット番号とホスト番号がそれぞれ何ビットなのか判断できないところです。そこで,IPアドレスにマスクを付加することによって,サブネット番号とホスト番号のビット配分が分かるようにしたのです。サブネットマスクという名前は,この考え方に由来します。<
に当たるような気がします。しかし現在では、
>そこで,ネットワーク番号のビット数を固定的に考えるクラスという考え方を廃止して,ネットワーク番号のビット数を自由に増やしてもよいことにしました。この考え方がCIDRです。これで,組織に割り当てるネットワーク番号の数が増え,壁を乗り越えることができました。しかし,クラスがなくなってしまうと,ネットワーク番号のビット数を判断できなくなってしまいます。そこはマスクの考え方を変えることで解決しました。IPアドレスを再びネットワーク番号とホスト番号の二つで構成する方法に戻し,全体のビット配分をマスク値で表すようにしたのです。これ以前のマスクは,元々ホスト番号だった部分を細分化するに過ぎなかったのですが,このときから,32 ビット分のIPアドレス全部をマスク値で細分化することにしたわけです。この処置に伴い,サブネットという考え方は廃止されました。サブネットマスクという名前も実態と合わなくなったので,それに代わる呼び名が必要でした。それが,ネットマスクです。<
となっていることを読ませていただきました。
私の思慮不足で、もしかしたら学校の先生と戸根先生は、同じことをおっしゃっておられるかもしれませんが、なんとなく違うような気もして迷っているのが正直なところです。
実際のネットワークの設計は、どのようにおこなわれているのでしょうか?
時期尚早とは思いますが、ヒントでもいただけたら幸いです。
コメント
混乱するようならクラスは忘れた方がよい
どいさん,こんにちわ。
クラスとCIDRの考え方で混乱しているようですね。
『ネットワークの考え方』の310ページ近辺にある
『IPの変遷』を読んで,もう一度整理してみることを薦めます。
なお,CIDRで考えるときは,クラスのことは頭から消した方がよいでしょう。
それから,気になった部分がいくつかあるので,コメントします。
>192.168.19の部分は便宜的にクラスCを使っているだけで(というのは上位3オクテットが完全にネットワークアドレス部だとわかるから)
プライベートアドレスの考え方は,CIDRの後に出てきたものです。
つまり,プライベートアドレスの前提はクラスではなくCIDRだということです。
だから,192.168.0.0/16はクラスC,というように考えるのは止めた方がよいと思います。
>192.168.19.19 255.255.240.0
>としても良いけれど、
>そうするとネットワークアドレス部分とサブネット部分の区別がわかりにくくなるので、
マスクが255.255.240.0だったらネットワーク番号は20ビットだというのは,明確です。
わかりにくいことは何もありません。
クラスの考え方が廃止されたことを知らない人が見たら,
このマスク値は間違ってる,
と誤解することはあるかもしれませんけど。
>172.16.19.19 255.255.240.0
>というようにした方が慣例としてわかりやすいともおしゃってました。
これは,慣例としてわかりやすい,というより,
クラスという考え方が廃止されたことを知らない人が見ても違和感を感じない
ということだと思います。
>(ちなみにサブネットもホストも多くしたいときは、
>10.40.19.19 255.255.240.0
>とするのでしょうか?)
ビンゴ!
というか,私は,小さいネットワークの場合でも
プライベートアドレスに10.0.0.0/8を使うことが多いです。
アドレス空間が広いので融通が利くことが主な理由ですが,
覚えやすい,タイプ入力しやすい,といった理由もあります。