解決済みの質問
質問:No.2015405
暇なときに回答ください
お気に入り投稿に追加する (1人が追加しました)
回答数12
閲覧数1198
ネットワークアドレスの異なるPC同士を直接繋いだら何故pingが飛ばぬ?
宜しくお願い致します。初心者的質問でスイマセン。
色々とネットワークの実験をしています。

WAN
|
ブロードバンドルータ
192.168.0.1
|
[eth0]192.168.0.2
PC(1)

WAN
|
ブロードバンドルータ
192.1682.1.1
|
[eth0]192.168.1.2
PC(2)

という2台のPCを切り離して

PC(1)[eth0]─[eth0]PC(2)

と直接LANケープルで繋げた場合、どうして互いにpingが飛ばないのでしょうか?

例えばPC(1)から
$ ping -c3 192.168.1.2
としてpingした場合にはPC(1)は192.168.1.2宛のパケットのやり場所がわからないので
とりあえず自身のeth0から排出しますよね。
経路はケーブル1本なので必然的にPC(2)に届きますよね。
そして、PC(2)はそのパケットは一応は192.168.1.2宛なので受取らざる得ませんよね。
この192.168.0.2からのpingパケットなので192.168.0.2宛にレスポンスのパケットを送出しようとして同様にeth0から排出してPC(1)に返されると推測するのですが、、、
何か勘違いしてますでしょうか?
投稿日時 - 2006-03-08 16:31:20
質問者が選んだベストアンサー
回答:No.9
「物理的に繋がっている」と「論理的に繋がっている」は別だからです。

物理的に繋がっていても、ネットワークアドレスが違うアドレスから来るパケットはNIC(LANカード)が自動的にスルーするようになって居ます。

電気的に信号が届いていても「無視する事になっています」ので、Pingの返答が来ないのは当たり前です。

ネットワークアドレスが異なる2つのネットワークを跨ぐ場合は、ゲートウェイを通す必要があります。

PC1
(192.168.0.2)

(192.168.0.1)
GW
(192.168.1.1)

(192.168.1.2)
PC2

ここで、PC1からPC2に向かってpingを飛ばすと
「取り敢えずの今の行き先は192.168.0.1で、最終的な行き先は192.168.1.2で、本当の発信者は192.168.0.2で、取り敢えずの発信者も192.168.0.2」
と言うパケットがPC1から投げられます。

GWの上側のポートがこのパケットをLAN上で拾うと
「取り敢えずの発信者が192.168.0.2で同じネットワーク内だし、取り敢えずの今の行き先は192.168.0.1だから俺のだ」
と、このパケットを取り込み
「最終的な行き先は192.168.1.2だから、下側のポートの192.168.1.1から投げよう」
と、パケットを
「取り敢えずの行き先と最終的な行き先は192.168.1.2で、本当の発信者は192.168.0.2で、取り敢えずの発信者は192.168.1.1」
と組み替えてから、下側のポートで投げます。

PC2は
「取り敢えずの発信者が192.168.1.1で同じネットワーク内だし、取り敢えずの今の行き先は192.168.1.2だから俺のだ」
と、このpingパケットを拾い上げます。

pingへの返答は、上記の逆の手順になります。

ここで重要なのは「取り敢えずの発信者が同じネットワーク内だし」の判定部分です。

この判定チェックは「サブネットマスク」と言うデータでIPアドレスと演算され、演算結果が一致した場合にのみ「同じネットワーク内」として判定され、パケットが無視されるのを防ぎます。

IPアドレス:192.168.0.1
サブネットマスク:255.255.255.0
の2つのアドレスの4つの数字をそれぞれAND演算すると
ネットアドレス:192.168.0.0
が求まります。

IPアドレス:192.168.0.2
のネットアドレスは
ネットアドレス:192.168.0.0
になり、
IPアドレス:192.168.1.2
のネットアドレスは
ネットアドレス:192.168.1.0
になります。

2つのネットアドレスは、3つ目の数字が異なる為「同じネットワーク内ではない」となります。

なので、ゲートウェイを入れずにPC1とPC2を直結すると
「取り敢えずの今の行き先は192.168.1.2で、最終的な行き先は192.168.1.2で、本当の発信者は192.168.0.2で、取り敢えずの発信者も192.168.0.2」
と言うパケットがPC1から投げられ、PC2は
「取り敢えずの発信者が192.168.0.2で違うネットワークだから無視」
と、パケットを拾いません。

なお、PC1、PC2のサブネットマスクを
サブネットマスク:255.255.255.0
ではなく
サブネットマスク:255.255.0.0
に変更すると、AND演算の結果がどちらも同じになり
ネットアドレス:192.168.0.0
となって、直結で通信出来るようになります。

また、直結の時はクロスケーブルを使うか、HUBを間に入れてストレートケーブルで繋いで下さい。
投稿日時 - 2006-03-08 17:41:50
この回答を支持する
(現在0人が支持しています)
補足
詳細なご説明誠に有り難うございます。

> 物理的に繋がっていても、ネットワークアドレスが違う
> アドレスから来るパケットはNIC(LANカード)が自動的に
> スルーするようになって居ます。
ネットワークアドレスはインターネット層の格納されてるんですよね?
という事はNICカードっていうのはインターネット層のデータを解釈できるんですね。。
投稿日時 - 2006-03-08 20:09:59
お礼
遅くなりましてスイマセン。
有り難うございました。
お陰さまで大変参考になりました。
投稿日時 - 2006-10-10 12:44:24
この質問は役に立ちましたか?
4人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答
回答:No.4
> 例えばPC(1)から
> $ ping -c3 192.168.1.2
> としてpingした場合にはPC(1)は192.168.1.2宛のパケットの
> やり場所がわからないので
> とりあえず自身のeth0から排出しますよね。
 ここが違う。パケットのやり場所が分らないので「誰かに頼む」のだ。で、頼む相手がeth0の先に見つかったからeth0へ出すのだ。意味もなくeth0へ出す訳ではない。今回はeth0の先に頼む相手が居ないのでpingは戻ってこない。

 「あて先の分らないパケットはとりあえずここに出す」、いわゆるデフォルトゲートウェイは、今回のケースではeth0の192.168.0.2と同じサブネットに無いといけない。

 デフォルトゲートウェイは「eth0」ではなく、「192.168.0.254」などのIPアドレスなのだね。
 今回のケースは、クロスケーブルで接続された1つの「物理ネットワーク」に192.168.0.0/24と192.168.1.0/24という2つの「論理ネットワーク」が存在するという事を覚えておいていただきたい。

 図が描けないとちょっと説明しづらい内容なので、わかりづらいかとは思うが、ネットワークインタフェース層とインターネット層の話を切り分けて考えないといけないのです。
投稿日時 - 2006-03-08 16:46:37
この回答を支持する
(現在2人が支持しています)
補足
ご回答有り難うございます。

PC(1)のルーティングテーブルのデフォルトゲートウェイが192.168.0.1[eth0]
のままになっているから192.168.1.2宛のパケットはこのeth0から仕方なく送出されるのかと思ってました(送出すらもされないんですね)。
ルータを接続してた状態からケーブルを切り離してクロスケーブルでPC同志を直結した時点でarp(というパケット)が飛んでPC(1)のeth0の先には192.168.0.1ではなく得たいのしれない192.168.1.2というノードが存在するみたいだと悟るのですね。
私はPC(1)を騙くらかしてPC(1)で192.168.1.2宛のパケットをeth0から送出させれるのだとばかり思ってました。
私の思惑はarpでばればれになってしまうのですね(恐るべし)。
因みにarpはケーブルの抜き差しの時に伝播されるのですね。
投稿日時 - 2006-03-08 20:07:52
お礼
遅くなりましてスイマセン。
有り難うございました。
お陰さまで大変参考になりました。
投稿日時 - 2006-10-10 12:36:29
回答:No.12
PC(1) のルーティングテーブルをいじればできますよ。

その前に、まさか、DHCP の自動取得になってたところをケーブルはずしたために、IPアドレスが無効になったとかそんなオチはないですよね?
投稿日時 - 2006-03-10 18:25:18
この回答を支持する
(現在0人が支持しています)
お礼
遅くなりましてスイマセン。
有り難うございました。
お陰さまで大変参考になりました。
投稿日時 - 2006-10-10 12:48:50
回答:No.11
クロスケーブルでつないであるとしても、
ネットワークアドレスが異なるので直接は通信できません。
いったんルータを経由する必要があります。
投稿日時 - 2006-03-08 18:37:36
この回答を支持する
(現在0人が支持しています)
お礼
遅くなりましてスイマセン。
有り難うございました。
お陰さまで大変参考になりました。
投稿日時 - 2006-10-10 12:47:59
回答:No.10
こんばんは、疑問はつきませんね。

さてご質問の件ですが、私もネットワークのことは勉強中なので、回答をつけることは出来ないのですが。6番の方7番の方4番の方の回答を読んで、もしおわかりでならないようでしたら、もう少し勉強する必要があるかと思います。「階層モデル」はネットワークの基本ですから、理解する必要があると思います。「物理層」「データーリンク層」「ネットワーク層」あたりですかね。

頑張ってお勉強お励みください
投稿日時 - 2006-03-08 18:29:51
この回答を支持する
(現在0人が支持しています)
お礼
遅くなりましてスイマセン。
有り難うございました。
お陰さまで大変参考になりました。
投稿日時 - 2006-10-10 12:47:15
回答:No.8
サブネットマスクはいくつできっていますか?
24ビットできっていれば、別ネットワーク扱いなのでつながりません。
今回の場合16ビットにしてあげればpingは帰ってくると思います。
icmpが有効になっていることが前提ですが。
投稿日時 - 2006-03-08 17:32:27
この回答を支持する
(現在0人が支持しています)
お礼
遅くなりましてスイマセン。
有り難うございました。
お陰さまで大変参考になりました。
投稿日時 - 2006-10-10 12:43:12
11件中 1~5件目を表示
もっと聞いてみる
関連するQ&Aはこちら
初めて投稿させて頂きます。 tatty4444です。 下記内容で非常に作業が進まずに困っています。 どなたかご存知の方、ご教授の方をお願い致します。 内容としては、DB用に別サーバーを立てたのです...
BRL-04AXを2つのネットワークのを接続するために買いました。使ってみるとうまくルーティングしてくれないようです。どなたかこの機種をLAN間接続のために使っている方おられませんか。 状況: BRL...
YahooBBモデムがWANからのPINGに応答するのですが普通ですか? WANからのPINGに応答する状態で安全といえますか? 他のADSLはどうなのでしょうか? ...
この他の関連するQ&Aをキーワードで探す
[技術者向] コンピューターのサブカテゴリ
RSS
-PR-
PR
-PR-