■ サブネットマスクの必要性
博士ぇ〜。
ん?
どうしたネット君。何か困り事か?
そうなんですよ〜。よくわかりましたね。
そんなドラえもんにすがりつくのび太のような声で話しかけてくればわかるというものだ。
どんな声ですか、そりゃ。
それはそれとして、こないだ新しく研究室に設置したパソコンですけど、隣のパソコンと接続されないんですけど。
ほほぅ。ネット君に設定して置くように頼んだ奴か。
どうした、まだ終わってないのか。
そうなんですよ〜。なんで繋がらないのかさっぱりです。
ちょっと見ていただけませんか?
どれどれ…………っ!!
あの〜、どうですか?
ネット君?
はい?
この莫迦ものっ!!
はうっ!!
殴ったなっ!! 父さんにも殴られたことないのにっ!!
…!!
2度もぶったっ!!
あぁ、ぶったさ。ぶって何が悪い!?
僕がガンダムを一番上手く使えるのに……。
2回続けてこのネタなのもどうかと思うが。
サブネットマスクを間違うとは何事だっ!! 貴様何年助手をやっているっ!!
え? ええっ?
サブネットマスクが違ってた?
うむ。
はわ〜。そりゃすいません。
あ、本当だ。直したら繋がった。
まったく。
でも、博士。なんで同じネットワーク内でサブネットマスクの設定が必要なんですか?
サブネットマスクって、ネットワークアドレスを知るためのものでしょう? 同じネットワーク内しか使わないなら必要ないように思えるんですけど?
■ ルーティングテーブル
ふむ。確かに同一ネットワーク内だけならば、サブネットマスクは必要ないように思えるかもしれん。
ルータにルーティングしてもらうわけでもないしな。
でしょ。
だが、ネット君。
まずこれを見てもらおう。見覚えがあるな?
- c:\> route print
[Figure30-03:route print結果]
るーと、ぷりんと。
パソコンが持つルーティングテーブルの表示ですよね。
これは、まぁ実際とはちょっと違うが、以下のような形になっていると思ってくれ、と説明した時に話したな。
[Figure30-04:パソコン内部ネットワーク]
でした。3分間ネットワーキング第30回ですよね。
ポイントは、この2行だ。
[FigureSP02-01:デフォルトルートと同一ネットワークへのルート]
1行目は、デフォルトルートですよね。
宛先不明パケットはデフォルトゲートウェイに送るという。
そうだ。
ではもう1つの行は?
同一ネットワークへのルートです。
うむ。そうだ。
では、パケットの宛先が同一ネットワークかどうかどうやって判断するのだ?
どうやって、って。
そりゃサブネットマスクで…。
だろう?
よって、各ホストにもサブネットマスクが必要、ということにならないか?
むむ、確かに。
[FigureSP02-02:サブネットマスク]
ルーティングテーブルの、このサブネットマスクの部分は…。
[FigureSP02-03:サブネットマスクの入力]
ここで入力された値が使われる。
なるほど。
つまり、同一ネットワーク内のものは宛先へ送信、それ以外はデフォルトゲートウェイに送信の判断をするために、サブネットマスクを入力しておかなければならない、ということだ。
確かに。サブネットマスクが必要なのはわかりました。
じゃあ、さっき僕のサブネットマスクの入力ミスで繋がらなかったのは、どういうことなんですか?
■ サブネットマスクの設定ミス
うむ、それはな。
例を出した方が早いな。
[FigureSP02-04:ネットワーク例・1]
本来はホスト部10ビットの172.16.8.0、255.255.252.0のネットワークだが、ホストAだけはネット君ばりのナイスさ加減を発揮して255.255.255.0にしてしまったとする。
あ〜。テンキーだと2と5って上下に隣接してるからタイプミスしやすいんですよね。
言い訳はいい。
ともかく、本来ならばホストA、B、とルータ(デフォルトゲートウェイ)間は接続可能なわけだ。
[FigureSP02-05:アドレス・本来の形]
ネットワーク・サブネットワーク・ホスト、ですね。
確かにネットワーク部分(ネットワーク+サブネットワーク)の部分は同一ですよね。
だが、Aだけは255.255.255.0のサブネットマスクだ。
[FigureSP02-06:ホストAのアドレス・ミスタイプ]
つまり、AからみたB・ルータと、ルータ・BからみたAはどうなる?
どうなるって? どうなんです?
そうだな、pingを行った場合の例を見てもらおう。
[FigureSP02-07:サブネットマスクの設定ミス・1]
ははぁ。
まず自分のサブネットマスクと宛先IPアドレスから、宛先ネットワークを判断するんですね。
うむ。
それで自分と同じネットワークなら直接送信するし…。
違うネットワークならばデフォルトゲートウェイに送るんですね。
じゃあ、デフォルトゲートウェイが設定されていなかったら?
デフォルトゲートウェイがない場合、宛先到達不能になり、Echoは送信されない。
は〜。
でも一応コレは、相手と接続可能、なんですね。
デフォルトゲートウェイがあればな。
さっき繋がらなかったのは、ココのLANが外部へ接続できないようにデフォルトゲートウェイがなかったからですね。納得。
■ Windowsネットワークへの影響
しかし、非効率的ではあるが、デフォルトゲートウェイがあれば繋がらないこともない。
ルーティングするからですね。
うむ、だがしかし、Windowsのファイル・プリンタ共有は繋がらない。
そうなんですか?
ファイル・プリンタ共有は自分と同じNTドメイン・ワークグループを探すことから始まる。
ははぁ。
お仲間を探すわけですね。
うむ、これではNetBIOS over TCP/IPを使い、ブロードキャストによって他コンピュータを探す。
つまり、こうなる。
[FigureSP02-08:ホストAからのブロードキャスト]
え〜っと、Bの判断では、ホスト部が1011111111なので、ブロードキャストではないですよね。
どうなるんです?
つまり、これはブロードキャストアドレスではなく、172.16.10.255という特定のホスト宛のパケットだと判断する。
よって、そのブロードキャストに応答しない。
は〜。Aはブロードキャストのつもりで送ったのに、Bはそう思わずに応答しないんだ。
逆に、Bからブロードキャストした場合は、こう。
[FigureSP02-09:ホストBからのブロードキャスト]
今度は、サブネット部が00001011なので、Aのサブネット部00001010と違う。
ってことは、違うネットワーク宛のブロードキャスト?
うむ、そういうことだ。違うネットワーク宛なのでAは応答しない。
よって、BからはAを探せない、となってしまうわけだ。
なるほど。
■ サブネットマスクの設定ミス・2
もう1つサブネットマスクの設定ミスの例を出そう。
[FigureSP02-10:ネットワーク例・2]
今度はサブネットマスクの第3オクテットをまるっと設定し忘れた場合だ。
あ〜、あるある。
ねぇよ。
はぅっ。
ともかく、Bとルータは先ほど同様だが。
Aは以下のようなネットワークに自分が存在すると判断している。
[FigureSP02-11:ホストAのアドレス・ミスタイプ]
172.16.0.0ネットワークだな。
これで先ほどと同様pingを行ってみよう。
[FigureSP02-12:サブネットマスクの設定ミス・2]
え? あれ? …え?
サブネットマスクをミスタイプしても、普通に繋がっちゃってますよ。
まぁ、そういうこともあるな。
今回は、Aのネットワークアドレス(172.16.0.0)が、本来のネットワークアドレス(172.16.8.0)を含んでしまっているから、普通に繋がっているように見えたわけだ。
ははぁ。
より大きなネットワークに所属してる、となるわけですね。
ちなみにこれはIPアドレスの方が正しいから接続される。
もし、IPアドレスが間違っていたら、結局繋がらなくなる可能性があるので注意が必要だ。
まぁ、IPアドレスのミスは致命的ですからね。
■ Windowsネットワークへの影響・2
この例ではping、つまりTCP/IPは接続されるが。
やっぱりWindowsのファイル・プリンタ共有は繋がらない。
あれれ? TCP/IPは繋がるのにですか?
うむ。
やはりブロードキャストが駄目なのだよ。
[FigureSP02-13:ホストAからのブロードキャスト・2]
あ〜、違うネットワークのブロードキャストですよねぇ。
うむ。
Bからのブロードキャストも前と同様だ。
[FigureSP02-14:ホストBからのブロードキャスト・2]
駄目ですね。こりゃ。
サブネットマスクの設定をミスると、Windowsネットワークは繋がらないってことだな。
…。
どうした、ネット君?
これって、つまり、 ローカルブロードキャストを使うものは全部駄目ってことじゃないですか?
まぁ、そういうことになるな。
■ サブネットとゲートウェイ
ちょっとまとめてみよう。
基本的な骨子として、「他ネットワークへの接続はデフォルトゲートウェイを通す」が前提だ。
ふむふむ。
で、「宛先が他ネットワークかどうかは自分のサブネットマスクを使って判断」ですね。
そういうことだ。
もう一度、ホストのルーティングテーブルを見てもらおう。
[FigureSP02-01:デフォルトルートと同一ネットワークへのルート]
3行目に当てはまるかどうか、ってことだな。
当てはまらなければ、デフォルトルートを使うんですよね。
つまり、デフォルトゲートウェイへ送るってことですね。
ちなみにデフォルトゲートウェイが設定されていない場合の、ルーティングテーブルは以下のようになる。
[FigureSP02-15:デフォルトゲートウェイの設定なし]
はわっ、デフォルトルートがない。
うむ、そうなる。
こうなると同一ネットワークしか送受信できなくなるわけだな。
はわ〜。
というところで、今回はこれでおしまいだ。
次はサブネットマスクを間違えないように。
了解です。
3分間ネットワーキングでした〜♪
- 入力された値
- もしくはDHCPで通知されたサブネットマスク。
- 宛先到達不能
- [Destination Host Unreachable]
- NTドメイン
-
[NT Domain]
WindowsNTやWindows2000Serverを中核とした、論理的なグループ。
アカウントやセキュリティを管理することができる。
現在ではWindows2000のActiveDirectoryを使った、Windows2000ドメインに移行している。
- ワークグループ
- Winodws同士で資源を共有する論理的なグループ。NTドメインと違いアカウント等の設定はできない。
- ローカルブロードキャスト
-
ホスト部のビットがすべて1の所属するネットワーク内へのブロードキャスト。
他ネットワークへのブロードキャストは「ディレクテッド(ダイレクト)ブロードキャスト」。
ビットがすべて1のブロードキャスト(255.255.255.255)は「限定ブロードキャスト」と呼ぶことが多い。
- Windowsネットワークは…
-
実はサブネットマスクの設定ミス2のサブネットマスクの間違え方ならば、「¥¥IPアドレス」で直接相手を指定すれば、接続可能です。
マスタブラウザを使ったNetBIOS over TCP/IPの名前解決が不可能になるだけです。
今回は「マイネットワークから繋がらない」=「Windowsネットワークが繋がらない」とさせていただきました。
- ネット君の今日のポイント
-
- 設定したサブネットマスクはルーティングテーブルに反映される。
- 異なるネットワーク宛はデフォルトゲートウェイを使う。
- 宛先が同一ネットワークかどうか判断するのにサブネットマスクを使う。
- サブネットマスクの設定ミスによりWindowsネットワークは使用できなくなる。