ネットマスクの考え方について

ネットワークはなぜつながるのかP114
ネットマスクの考え方について、

サブネットマスクはクラス(A,B,C・・・) 分けされたアドレスを、
さらに細かく分割するしくみ。と、書かれている本もあるし、

逆に、
ネットマスクで255.0.0.0ならクラスA が割り当てられる
と書いてある本もあります。

いったいどっちが正しいのでしょうか?
それともネットマスクとサブネットマスクは別モノ
なのでしょうか?

名前: 
匿名希望
日時: 
04/06/17 12:53

コメント

匿名希望さん,こんにちわ。

>サブネットマスクはクラス(A,B,C・・・) 分けされたアドレスを、
>さらに細かく分割するしくみ。と、書かれている本もあるし、

この考え方は,以前使われていた古いもので,
今のインターネットでは使われていません。
今のインターネットはCIDR(Classless Inter-Domain Routing)
という考え方を採用しています。

ただ,クラスからCIDRに変わったというのは,考え方が変わったということであって,
実装面ではCIDRはクラスと互換性がありますから,
クラスに基づくアドレスが使えなくなったわけではありません。
その辺がややこしいんですけど。

ついでに,実装面での違いも説明しておきましょう。
実装面での違いは,マスク値で設定できる境界の位置の制約です。
昔は,マスク値で設定する境界は
クラスによって決まるネットワーク番号の右側(下位ビット側)に
位置しなければいけない,
というルールがあったのですが,
CIDRになって,その制約が外れて,どこでもよいことになりました。
だから,クラスのアドレスはそのままCIDRでも使えるわけです。

>ネットマスクで255.0.0.0ならクラスA が割り当てられる
>と書いてある本もあります。

これは???です。
今使われているCIDRの考え方でいくと,
ネットマスクを255.0.0.0と設定することで,
ネットワーク番号のビット数は8ビットになります。
上記は,ネットワーク番号が8ビットであることをクラスAが割り当てられる,
という風に表現しているのでしょうけれど,
CIDRにはクラスという考え方はないので,
クラスAが割り当てられるという表現はおかしいです。

>それともネットマスクとサブネットマスクは別モノ

うーん,難しい質問です。

CIDRが登場する前は,
クラスに基づく一つのネットワークを細分化するためにマスク値を用いました。
だから,この時点ではサブネットマスクだったわけです。
ところがCIDRによってクラスの考え方が廃止され,
マスク値は一つのネットワークを細分化するもの,という考え方ではなく,
マスク値によって一つのネットワークが定義されることになりました。
だから,サブネットマスクという呼び方ではおかしくなったので,
ネットマスク,あるいは,アドレスマスクと呼ぶようになりました。
でも,実装面では制約が外れたというだけのことで,同じようなものです。

ということで,同じといっていいのか,違うものというべきなのか,迷いますね。

>CIDRが登場する前は,
>クラスに基づく一つのネットワークを細分化するためにマスク値を用いました。
>だから,この時点ではサブネットマスクだったわけです。
>

わかりました。でも、もう1つ疑問があります。
そもそもサブネットを用いるとして、
サブネット化したところで、
所詮ゲートウェイによるネットワークの
境界はクラスに基づくネットワークアドレス部の値の違いなので、
同一ネットワークアドレス内をサブネットでいくつかに
わけてもメリットは無いように思えますが・・・

>サブネット化したところで、所詮ゲートウェイによるネットワークの
>境界はクラスに基づくネットワークアドレス部の値の違いなので、

上記の意味は,
ルータはクラスによって決まるネットワーク番号のビット数によって,
一つのネットワークを認識するのだから,
サブネットマスクによってサブネット化しても,意味がない
っていうことかな?

だったら,それは間違ってます。
クラスに基づく一つのネットワークの中をサブネットに分割したら,
ルータは,
元々のネットワーク番号とサブネット番号を合わせて,ネットワーク番号とみなして,
ルーティングします。
つまり,ルータはサブネットが一つのネットワークだと認識するっていうことですね。

サブネットが登場するさらに前の時代には,
クラスに基づくネットワークがルータが認識するネットワークでした。
ところが,たとえば,クラスAのネットワークには,
1600万台以上の機器を接続できたので,
一つのネットワークとして運用するのは大きすぎました。
クラスBも一つのネットワークとして運用するに大きすぎます。
だから,一つのネットワークの中を細分化するために,
サブネットという考え方が出てきたんです。