アプリ版:「スタンプのみでお礼する」機能のリリースについて

ハブ---PC-A
  |
  ----PC-B
というネットワーク構成があったとして、PC-AとPC-Bの間のpingなどの通信は、どういう状況(IPアドレス、サブネットマスク)なら通信できなくなるのでしょうか?
サブネットマスクが異なったりしても問題なく通信できるのでしょうか?
たとえばPC-Aの設定が
192.168.1.1/24

PC-Bが
192.168.1.3/24
なら当然通信できますが、

A-192.168.1.1/24
B-192.168.2.2/24



A-192.168.1.1/24
B-172.16.3.3/16



A-192.168.1.1/24
B-172.16.3.3/24

ではどうなるのでしょうか?

A 回答 (8件)

普通は、出来ないって考えますね。

出来る場合もあります。

直接接続した端末(A-B)間のIP通信(ルータが介在しない)では、片方向の通信がそれぞれ可能でなければならず、
・A端末のサブネットワークにB端末のIPアドレスが含まれている事。(A→B方向の通信)
・B端末のサブネットワークにA端末のIPアドレスが含まれている事。(B→A方向の通信)
この両方が満足できないと、通信になりません。

例えば、
例1:(xcrOSgS2wYさんの例)
PC-A: 192.168.0.1/16 (netmask 255.255.0.0)
PC-B: 192.168.0.3/24 (netmask 255.255.255.0)
では、この条件が満たされるので通信できますが、

例2:
PC-A: 192.168.0.1/24 (netmask 255.255.255.0)
PC-B: 192.168.0.3/24 (netmask 255.255.255.0)
では、この条件が満たされないので通信できません、

例3:
PC-A: 192.168.0.1/24 (netmask 255.255.255.0) host:1-254
PC-B: 192.168.0.129/25 (netmask 255.255.255.128) host:129-254
PC-C: 192.168.0.126/25 (netmask 255.255.255.128) host:1-126
では、
PC-Aから見ると同一サブネット内にPC-B,Cがいますが、(A→BCはOK)
PC-Bから見ると同一サブネット内にPC-Aがいません。(B→AはNG)
なので、PC-Aは、PC-Bと通信が成立しません。(片方向通信)
ところが、
PC-Cから見ると同一サブネット内にPC-Aがいます。(C→AはOK)
なので、PC-Aは、PC-Cと通信できます。

これを、PC-Aから見ると、「同一サブネット内の相手と通信できない端末がある」になります。非常に厄介ですね。

ここの状況にPC-Dが存在すると、もう大混乱です。
PC-D: 192.168.0.200/24 (netmask 255.255.255.0) host:1-254

(どうなるか考えてみて下さい。答えは簡単ですが、考えることが重要。)

# 例3は、通信の起点がどちらになるかやARPテーブルの状態で、動作が変わって実際にはもっと複雑になる事があるので概要にとどめます。

これらの現象は、ARP,RARP等のプロトコルをちゃんと勉強してから、実験すると良く理解できるでしょう。

また、経験的にOSの種類/新旧によっても異った動作をする場合があるので、単一の実験結果を、”全てが同じ”と思い込むのは危険です。
    • good
    • 0
この回答へのお礼

ありがとうございます。とてもわかりやすく教えていただきとても助かりました!
考えてみました。PC-Dが存在すると、

A-Dは双方向通信可能
B-Dも同じ
C-DはD→Cの片方向通信のみ可能

ということでよろしいでしょうか。

一ヶ所わからないところがあります。

>例2:
PC-A: 192.168.0.1/24 (netmask 255.255.255.0)
PC-B: 192.168.0.3/24 (netmask 255.255.255.0)
では、この条件が満たされないので通信できません

この場合ではA-Bは通信可能だと思うのですが、どうしてだめなのでしょうか?

お礼日時:2005/08/22 10:24

#7のqaaq です。



ありゃ。例が間違ってますね。

この例↓だとOKです。
>例2:
>PC-A: 192.168.0.1/24 (netmask 255.255.255.0)
>PC-B: 192.168.0.3/24 (netmask 255.255.255.0)
>では、この条件が満たされないので通信できません、

書きたかったのは、この例↓です。
>例2(修正):
>PC-A: 192.168.1.1/24 (netmask 255.255.255.0)
>PC-B: 192.168.3.1/24 (netmask 255.255.255.0)
>では、この条件が満たされないので通信できません、


Dが存在する場合については、その通りです。
>A-Dは双方向通信可能
>B-Dも同じ
>C-DはD→Cの片方向通信のみ可能
加えると、「片方向通信なので、通信が成立しない」ですね。
    • good
    • 0
この回答へのお礼

補足ありがとうございます。
今回のことはとても勉強になりました。皆様ありがとうございました。

お礼日時:2005/08/23 12:51

追伸:



どうも「できる」と「できない」の両論があるようですが(というより、「できる」と書いているのは私だけ(笑))、実際にやってみると、ちゃんとできることが分かりますよ。

設定は全然難しくないですから、いちど試してみることをお勧めします。そうすれば結論はおのずと明らかになりますので。(もし実験されて、回答に反する結果が出たら教えてください。私も誤りがあれば学びたいので。)
    • good
    • 0

#3回答者です。



コメントの例に挙げられていた

PC-A: 192.168.0.1/16 (netmask 255.255.0.0)
PC-B: 192.168.0.3/24 (netmask 255.255.255.0)

というのが、まさにその「サブネットマスクは一致しないが相互に通信できる設定」になります。正当か不当かはさておき、便法としてそのような設定で運用したこともあります。しかし、メンテナンス性から言えば明らかに常用向きではありません。

また192.168.xxx.xxxのサブネットマスクとして/16も使用できます。必ずしも255.255.255.0(ないしそれより狭い範囲)である必要はありません。192.168.0.xと192.168.1.xの両方を含ませるために255.255.254.0(/23)を使う例題も見かけたことがあります。

なお繰り返しになりますが、いずれの場合についても「それを許可するRFC」あるいは「それを許さないRFC」が存在するのか、存在するとしてどれにあたるのかを調べてはいないので、具体的なRFCを挙げることができません。
    • good
    • 0
この回答へのお礼

補足して下さりありがとうございます。
とても参考になりました。本当にありがとうございました!

お礼日時:2005/08/21 22:01

「サブネットマスク」ですから、出来ません。


プリフィックス値だとわかりづらいので、
IP 192.168.1.1
NETMASK 255.255.255.0
を、2進数に書き直すと理解しやすいかと思います。

http://y-kit.jp/inet/page/ipaddress.htm

複数台コンピュータ&ルータがあるようなので、
IPアドレス変えてPing打ったり、arpしたり、tracertして弄り回した方が、感覚的にわかりやすいかもしれませんね。
    • good
    • 0
この回答へのお礼

参考URLとてもわかりやすく説明されていました。ありがとうございます。

お礼日時:2005/08/21 14:14

PC-Aに指定しているサブネットマスクで指定されるIPアドレスレンジにPC-BのIPアドレスが入っていて、なおかつPC-Bに指定しているサブネットマスクで指定されるIPアドレスレンジにPC-AのIPアドレスが入っている場合、PC-Aに指定しているサブネットマスクとPC-Bに指定しているサブネットマスクが異なっていても相互に通信できます。



ただし、そのような状態は正しい設定とは言えません。(・・・多分。なにをもって「正しくない」と断ずるべきなのか、その根拠となるRFCを挙げよと言われると、私には挙げられないのですが。誰かご存知でしたら教えてください。)
    • good
    • 0
この回答へのお礼

ありがとうございます。
すみません。後学のためにぜひ教えていただきたいのですが、

「PC-Aに指定しているサブネットマスクで指定されるIPアドレスレンジにPC-BのIPアドレスが入っていて、なおかつPC-Bに指定しているサブネットマスクで指定されるIPアドレスレンジにPC-AのIPアドレスが入っている場合」

というのは具体的にどういう状況なのでしょうか?

192.168.0.1/16

192.168.0.3/24

こういった状況でしょうか?
もう一つ質問があります。すみません。

よく解説書などでは、一般家庭のLANでIPアドレッシングをするときは、クラスCのローカルIPを使用するのでサブネットマスクは/24の255.255.255.0を使用するというものがありますが、クラスCのローカルIPは192.168.0.0~192.168.255.255なのだから、別にサブネットマスクは/16の255.255.0.0でも問題ないのでしょうか?これなら254台よりもさらに多くのホストにIPが割り振れると思うのですが。

お礼日時:2005/08/21 14:21

当然出来ません。

ネットワーク関係の本を読むと、詳しい説明があります。
IPアドレスの各.の位置には意味があり、グループ分けの単位と思ってください。
実際に設定する上では、192.168.1.1~245という具合に、最後の.以降の数値を変えてグループを組みます。それ以外をいじると、隣にあっても認識できません。
Pingだけではなく、お互いにパソコン同士で認識させるためには、大規模なグループならドメインサーバを使用して、小規模なものならワークグループを使用すれば、それぞれ認識するようになります。
サブネットマスクは、グループのパソコンが多くて管理しにくいときなどに、グループの中でさらにグループをつくるために使用します。ネットで調べれば、もっと詳しくて判りやすい説明があると思いますよ。
    • good
    • 0
この回答へのお礼

詳細な解説ありがとうございます。
質問があります。
192.168.1.1/28

192.168.1.33/28
はルーティングの設定をしなくてもそのまま相互のpingは可能なのでしょうか?

お礼日時:2005/08/21 14:26

TCP/IPというのは、通常の設定だと自分と同じサブネットワーク上にある相手ならばその相手に直接話しかけます。


そうでない場合は、Default Gateway に仲介をお願いします。したがって以下のようになります。

A-192.168.1.1/24
B-192.168.2.2/24
×

A-192.168.1.1/24
B-172.16.3.3/16
×

A-192.168.1.1/24
B-172.16.3.3/24
×

ただし、Default Gateway や自分自身のルーティング設定によっては、正しく通信できます。
    • good
    • 0
この回答へのお礼

ありがとうございます。少し理解が進みました。

お礼日時:2005/08/21 14:27

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