プロが教える店舗&オフィスのセキュリティ対策術

試せる環境がないので質問させて下さい。
下記のようなIPアドレスのホストがあるとして、

ホストA 192.168.0.1 / 24 ・・・ネットワークアドレス 192.168.0.0 / 24
ホストB 192.168.0.2 / 23 ・・・ネットワークアドレス 192.168.0.0 / 23
ホストC 192.168.1.1 / 24 ・・・ネットワークアドレス 192.168.1.0 / 24
ホストD 192.168.1.2 / 23 ・・・ネットワークアドレス 192.168.0.0 / 23

質問①:ホストAとBはルータを介さずに通信できますか?
質問②:ホストCとDも同様に通信できますか?
質問③:できるとしたら問題点?があると思うのですが、その例を教えて下さい。
質問④:問題点があれば、IPアドレス設計において気を付ける点を教えて下さい。

下記ASCII.jpさんの記事では通信できると書かれています。(2ページ目)
http://ascii.jp/elem/000/000/562/562310/

質問者からの補足コメント

  • ご回答ありがとうございます!

    理解不足で申し訳ありません。
    bit0だけで同じネットワークか判断しているという事でしょうか?

    ASCII.jpさんの記事からすると、同じネットワークかどうかの判断は自身のサブネットを使用するという事なので、

    ホストCから見てホストDは
    宛先IPアドレスは「192.168.1.2」、自身のサブネット「255.255.255.0」で確認する → ネットワークアドレスは「192.168.1.0」である → 自身と同じネットワークである → 通信可能だ!

    ホストDから見てホストCは
    宛先IPアドレスは「192.168.1.1」、自身のサブネット「255.255.254.0」で確認する → ネットワークアドレスは「192.168.0.0」である → 自身と同じネットワークである → 通信可能だ!

    という判断になるのではないでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/03/16 15:32

A 回答 (4件)

>bit0だけで同じネットワークか判断しているという事でしょうか?



/24=11111111111111111111111100000000=255.255.255.0と
/23=11111111111111111111111000000000=255.255.254.0では、第3オクテットのBit0とか違いがない。
ということです。決してBit0「だけ」でみているわけではありません。

面倒なので全部同じHubに接続されている。って前提で行きます。
あと、プロポーショナルピッチのフォントだとズレが出るかも知れませのでエディタなどに貼り付けて固定ピッチフォントで見てください。

>>質問②:ホストCとDも同様に通信できますか?
>できない。
>上記のとおり、第3オクテットのBit0が異なるから。

違いましたな。
ちゃんと状態に合わせて計算しないとダメですね。

>ホストCから見てホストDは

まずホストCが属しているネットワークアドレスを算出。
11000000.10101000.00000001.00000001=192.168.1.1
11111111.11111111.11111111.00000000=255.255.255.0

11000000.10101000.00000001.00000000=192.168.1.0

次に送信先のホストDが自ネットワークと同一か判定する為にネットマスクで処理。
11000000.10101000.00000001.00000010=192.168.1.2
11111111.11111111.11111111.00000000=255.255.255.0

11000000.10101000.00000001.00000000=192.168.1.0

ネットワークアドレスが同じなので、ホストDのMACアドレス取得のために
ARPパケットでMACアドレスを取得してホストD宛てのパケットを投げます。


>ホストDから見てホストCは

まずホストDが属しているネットワークアドレスを算出。
11000000.10101000.00000001.00000001=192.168.1.2
11111111.11111111.11111110.00000000=255.255.254.0

11000000.10101000.00000000.00000000=192.168.0.0

次に送信先のホストCが自ネットワークと同一か判定する為にネットマスクで処理。
11000000.10101000.00000001.00000001=192.168.1.1
11111111.11111111.11111110.00000000=255.255.254.0

11000000.10101000.00000000.00000000=192.168.0.0

ネットワークアドレスが同じなので、ホストCのMACアドレス取得のために
ARPパケットでMACアドレスを取得してホストC宛てのパケットを投げます。


というワケで、双方通りますね。
ただし、/23に存在するホストで/24からは通信できないホストはありますけどね。
ホストAからだと、/23のネットワークにいる192.168.0.255には通信できません。
192.168.0.0/24に対するブロードキャストアドレスになるので。

ホストAから直接通信可能なのはホストBのみ。
ホストBから直接通信可能なのはホストAとホストD。
ホストCから直接通信可能なのはホストDのみ。
ホストDから直接通信可能なのはホストAとホストBとホストC。
ということになるかな?
DからAには送れるけど、返送パケットはDに送れない。
    • good
    • 1
この回答へのお礼

度々のご回答ありがとうございます!

色々なパターンを教えていただけたので、やっと理解できました。
モヤモヤがスッキリしました。

お礼日時:2015/03/17 08:58

補足の内容は確かにそのホスト間だけの通信しか行わないなら


通信は問題ないです。
どういう意図でそういったアドレスにしたいのか、何か理由があるのではないですか。
「これこれやりたいがどういう手法があるか」といった目的が具体的になればアドバイスのしようも
あります。

ちなみにわかってるかもしれませんが、サブネット/23と/24はルータ内のホストとして持てる
数が違います。/24は同一ネットワーク上253種類、/24はその倍。
IP機器が多いから/23を使う、はわかりますが、通常揃えます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!

そうですね、質問③④は意図によりますよね。
今回は動きが気になっただけなので意図はありません。
そもそもネットワークを分割するのであればVLANやルータを使用するでしょうから、
質問する事がおかしかったのかもしれません・・・

お礼日時:2015/03/17 08:47

謎な構成ですね。



ホストAとホストBのゲートウェイの記載がないからこれだけだと
違いはないですが、ホストAはクラスC、ホストBはクラスBになるのかな。

192.168.1.254というアドレスにホストA、ホストBそれぞれから
pingを行うと、ホストAはゲートウェイに投げるし、ホストBは
同一LAN内を探しに行くという動きになるんじゃないかな。

アドレスの範囲は
http://www.ahref.org/doc/ipsubnet.html
ここで見てみるといい。

ネットワーク設計として間違ってます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!

全くその通りで、今回のようなIPアドレス設計をする事はありえないのですが、
どのような動きになるのか気になったため質問させていただきました。

お礼日時:2015/03/17 08:40

>質問①:ホストAとBはルータを介さずに通信できますか?



出来る。
ネットマスクが23と24では、第3オクテットのBit0がどちらも0だから。

>質問②:ホストCとDも同様に通信できますか?

できない。
上記のとおり、第3オクテットのBit0が異なるから。

>質問③:できるとしたら問題点?があると思うのですが、その例を教えて下さい。

ネットワークアドレスを分けたつもりで分けられていない。
ってとこでしょうか?
何のために分けようとしたのか。が問題になるかと。

>質問④:問題点があれば、IPアドレス設計において気を付ける点を教えて下さい。

ネットマスクの設定を誤ったときに意図しない通信ができないように…でしょうかねぇ。
それでも/16とか設定されると問題になる場合がありますが。
# 設定次第でしょうが、片方向しかうまく通信できない。ということにはなりそうですけどね。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!