エンドノードであるPCのネットワークの設定の際、なぜサブネットマスクを設定する必要があるのでしょうか?


サブネットマスクはIPアドレスのネットワークアドレスとホストアドレスを分けるためのものと理解していますが、セグメント内にあるデフォルトゲートウェイやPCにパケットを送る場合、それらを分ける必要はないのではないかと思います。

回答の条件
  • 1人5回まで
  • 登録:2007/10/07 19:48:53
  • 終了:2007/10/13 10:56:28

回答(4件)

id:wnagata No.1

wnagata回答回数170ベストアンサー獲得回数182007/10/07 20:18:24

ポイント25pt

同じサブネットにあるマシンに対しては直接送信し、サブネットが異なるマシンに対しては、ルータに対してパケットを送信するために、エンドノードにサブネットマスクを設定する必要があります。直接送信できるノードに対しては、IPアドレスとMACHアドレスの対応付けをキャッシュするという処理も行われています。

http://itpro.nikkeibp.co.jp/article/COLUMN/20060122/227658/

id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912007/10/07 20:38:09

ポイント28pt

なかなか簡単なようでも、どうしてかと答えようとすると難しい質問ですが、

「オキテ破りにトライ! ネットワーク実験室」に下記のような記事がありました。


第3回 間違ったサブネット・マスク設定のパソコンがLANにいたら?

第4回 サブネット・マスクの設定ミスでLANがパンクした理由を探る

第5回 サブネット・マスクの値の一つを「255」ではなく「25」にしたら?

第6回 デフォルト・ゲートウエイの値を間違って登録したらどうなる?


詳細は記事を読んでいただければと思いますが、LAN内のパケット通信量が増えたり、LAN内でのpingが正常に機能しなかったりと、色々と問題がおこるようです。

id:witt

実は、教えてもらったその記事を前々から読みたいと思って、ブックマークはしていました。

1番の回答者さんとあわせて、お二方から紹介されるということは良記事なんでしょうね。

時間ができたときに、じっくりと読んでみたいと思います。

2007/10/13 10:39:45
id:teikan No.3

teikan回答回数61ベストアンサー獲得回数52007/10/07 20:40:23

ポイント22pt

送信先のホストに直接送るかゲートウェイに送るかは、そのホストが自分と同一ネットワーク上にあるかどうかによって決まります。サブネットマスクがないとこの判定ができません。

id:KUROX No.4

KUROX回答回数3542ベストアンサー獲得回数1402007/10/07 21:30:56

ポイント30pt

>セグメント内にあるデフォルトゲートウェイやPCにパケット

>を送る場合、それらを分ける必要はないのではないかと思います

YESだけどNOかな。

処理は、投げたいIPアドレスに対してサブネットマスクを

対応して、ネットワークアドレスが同じなら、同じセグメントに

あると判断して、セグメント内に投げます。

でも、同じセグメントでない場合は、デフォルトゲートウェイ

に投げると言う処理をしてるからです。

こういう処理にしないと、IPアドレスを投げると、

全ネットワークに、ブロードキャストで投げることになり

ネットワークが飽和状態になります。

この回答にかいてることがわからないと感じたら、

ブロードキャストの用語をしらべればいいかな?と思います。

#今回は分かりやすく書く方法が思いつかなかったので・・。

id:witt

>こういう処理にしないと、IPアドレスを投げると、

>全ネットワークに、ブロードキャストで投げることになり

>ネットワークが飽和状態になります。

この回答をいただいて、最初に漠然と思ったのは、次のようなことです。

「ネットワークインタフェース層がイーサネットであれば、

結局、そこでブロードキャストしてるわけだから、問題ないんじゃないか?

PPPや他のプロトコルだと違うのかな?」

それから思ったのは、「セグメントの外のホストと通信するため、

デフォルトゲートウェイ(DG)のMACアドレスが欲しいとき、

ARPでDGのIPアドレスを指定しないといけないのかな?」ということです。

ARPでセグメント外のホストのIPアドレスを指定したら、

DGのMACが返ってくるなんて仕様ないですよね・・・

だから、DGと通信するかどうかを判断するため、サブネットマスクが

必要ということで、考え方はあっているでしょうか?

2007/10/08 19:28:52
  • id:witt
    回答者のみなさん、ご回答ありがとうございました。
    サブネットマスクが必要なのは、直接PCに送るか、DGに送るかを判別するため、
    というのが正解なのはわかりました。

    ただ、なぜそうしなければならないのかが疑問だったわけです。
    そうでないやり方によるプロトコルでも、ルーティングは実現できそうだと思ったのです。
    例えば、セグメント外へのホストへのパケットがセグメント内に流れた場合、
    DGがそれを受信してルーティングしてくれるみたいな。

    しかし、おそらく、TCP/IPはそういった仕様になっていないのですね。
    なんというかルーティングの責任の大部分は送信側のノードにあるって感じがしました。

    ここまできてやっと理解が深まったような気がします。ありがとうございました。
  • id:teikan
    Proxy ARPというのがおっしゃっている方法に相当すると思います:
    http://www.cisco.com/japanese/warp/public/3/jp/service/tac/105/5-j.shtml
    以前(前世紀?)はサブネットマスクに対応していないOSのあるネットワークでよく使われていましたが、最近はあまり聞かないです。
  • id:witt
    そんなプロトコルがあったのですね!
    勉強になりました。ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません