• ベストアンサー

ネットワークアドレスの異なる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)に返されると推測するのですが、、、 何か勘違いしてますでしょうか?

noname#65517
noname#65517

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答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を間に入れてストレートケーブルで繋いで下さい。

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

noname#65517
質問者

補足

詳細なご説明誠に有り難うございます。 > 物理的に繋がっていても、ネットワークアドレスが違う > アドレスから来るパケットはNIC(LANカード)が自動的に > スルーするようになって居ます。 ネットワークアドレスはインターネット層の格納されてるんですよね? という事はNICカードっていうのはインターネット層のデータを解釈できるんですね。。

その他の回答 (11)

  • ency
  • ベストアンサー率39% (93/238)
回答No.12

PC(1) のルーティングテーブルをいじればできますよ。 その前に、まさか、DHCP の自動取得になってたところをケーブルはずしたために、IPアドレスが無効になったとかそんなオチはないですよね?

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.11

クロスケーブルでつないであるとしても、 ネットワークアドレスが異なるので直接は通信できません。 いったんルータを経由する必要があります。

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

  • o_tooru
  • ベストアンサー率37% (882/2337)
回答No.10

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

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

  • muushuke
  • ベストアンサー率39% (151/387)
回答No.8

サブネットマスクはいくつできっていますか? 24ビットできっていれば、別ネットワーク扱いなのでつながりません。 今回の場合16ビットにしてあげればpingは帰ってくると思います。 icmpが有効になっていることが前提ですが。

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

  • tx1
  • ベストアンサー率35% (23/64)
回答No.7

この仕組みを理解するには「デフォルトゲートウェイ(参考URL)」を理解する必要があります。 パケット送信の手順は下記のとおりです (1)PC1から192.168.1.2へパケットを送信する命令を出す (2)PC1は192.168.1.2は自分のネットワークではないため、デフォルトゲートウェイ(192.168.0.1)宛にパケットを送信する (3)192.168.0.1が見つからないのでping失敗←現在この状態 実験的にPC1にPC2のアドレスをデフォルトゲートウェイに、PC2にPC1のアドレスをデフォルトゲートウェイに設定すればpingが成功すると思います。 ただし、この設定をしてしまうとPC1とPC2は、それぞれ2台のパソコン間しか通信ができません。(デフォルトゲートウェイが固定されているためインターネットにも出られない)

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

  • mii-japan
  • ベストアンサー率30% (874/2820)
回答No.6

基礎のところをが理解されていません まず、IPアドレスで通信する場合も、 IPアドレスの前に相手MACアドレスと自分のMACアドレスを付加してから送出します 受信する場合も自IPアドレス宛を受信するのではなく、自MACアドレス宛を受信します (IPアドレスは、自MACアドレス宛を受信した後に解釈されます) pingでも何でも、相手IPアドレスで送出する前に、そのIPアドレスがLAN上に存在するかどうかをarpプロトコルで送信します (この時、宛先が他サブネットの場合、そのサブネット接続のゲートウェイもしくはデフォルトゲートウェイ宛に送信します、ゲートウェイ宛の場合、ゲートウェイのIPアドレスでarpを送信します) 自分宛のarpを受け取ると、自分のMACアドレスを付けて返信します arpでMACアドレスを受け取ったら、そのMACアドレス宛にpingやその他IPプロトコルのデータを送信します LAN上で使用されるアドレスはMACアドレスです、IPアドレスの付いたデータはMACアドレスで包装されて伝送されるイメージです ここまでで、質問のping応答が返らない原因がお判りのことと思います 詳しくは階層モデルを勉強してください

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.5

Pingの対象が同一ネットワークアドレス内に無い場合、とりあえずはゲートウェイに送られます。でゲートウェイがきちんとルーティングしてくれるなら届きます。また自分と同じネットワーク内なら直接送信されます。 今回は同一ネットワークでない所に出そうとしているので、ゲートウェイが目標となりますが、ゲートウェイがないなら返ってきませんし、あるいはそもそもゲートウェイが設定されていないなら信号が出ることもありません。

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答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つの「論理ネットワーク」が存在するという事を覚えておいていただきたい。  図が描けないとちょっと説明しづらい内容なので、わかりづらいかとは思うが、ネットワークインタフェース層とインターネット層の話を切り分けて考えないといけないのです。

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

noname#65517
質問者

補足

ご回答有り難うございます。 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はケーブルの抜き差しの時に伝播されるのですね。

回答No.3

ようは ルーターなしで直結ってことですか?? まずハード面では ケーブルのタイプはあってますよね? 直結ならクロスケーブルです。 またネットワークアドレスというのはサブネットで分かれています。

noname#65517
質問者

お礼

遅くなりましてスイマセン。 有り難うございました。 お陰さまで大変参考になりました。

  • D-JAGA
  • ベストアンサー率28% (39/139)
回答No.2

基本的には、接続される(PINGによって、信号が帰ってくる)と思います。 PINGが帰ってこない理由を考えると、可能性としては、ケーブルはちゃんとクロスケーブルを使用していますでしょうか? 直接つなぐときは、巷に多く出回っているパラレルケーブルではなく、クロスケーブルを使用しないと、ちゃんと接続できません。 (そんな基本的なこと知ってるぞという方であれば、ごめんなさい。)

noname#65517
質問者

お礼

有り難うございました。 お陰さまで大変参考になりました。

関連するQ&A

  • pingとルータについて

    職場のネットにブロードバンドルータを接続しました。ルータのWAN側を職場のDHCPに登録し、LAN側は適宜自分のPCなどをつなぐという利用の仕方になります。(つなぎ方を間違ったらエライことになることは知っています) LAN側のPCからWAN側に何らかのネット接続ができていたのですが、つながらないようになってしまいました。(ntpサーバに接続して時間調整をするなどができない) そこでpingのテストをしてみました。LAN側からping 192.168.0.1 とすると、問題なく反応します。ルータのLAN側が応答しているということですね。一方、WAN側(ルータよりWAN側だけれども職場内部のPC)からそのブロードバンドルータにpingをかけると、職場のDNSサーバが応答してそのIPアドレスに対してpingをかけることになります。しかし、ルータが見えないことが判明。これは問題なのでしょうか。通常ルータはpingに応じないというようなことはないでしょうか。よろしくお願いします。

  • 異なるネットワークに、プライベートアドレスでpingが通る?

    現在、 WAN=ルータ1(192.168.1)=ルータ2(192.168.2)=PC という接続をしています。 自分のPCのIPアドレスが「192.168.2.3」として、そのPCから、「ping 192.168.1.3」のように上位のネットワークにプライベートIPアドレスでpingを通そうとしたら、応答が帰ってきたのですが、これはなぜなのでしょうか? グローバルIPアドレスか自分のネットワーク内のプライベートネットワークIPアドレスしか、通じないと思っていたのですが…。 よろしくお願いします。

  • ルータを挟んだPCへのPing

    固定IPで運用しているローカルネットワークにルータを追加して別ネットワークを構築しています。 PC_BからPC_AへはPingが通るのですが、PC_AからPC_BにPingが通らず困っています。 PC_Aのルーティングテーブルに「192.168.1.xxx は 10.10.10.200へ」と追加したが、NG PC_Aからルータ(WAN側)へのPingは、OK PC_Aからルータ(LAN側)へのPingは、NG 設定等が足りないのでしょうか??? <構成>     [HUB]    /   \  [PC_A]     [ルータ] 10.10.10.10   WAN:10.10.10.200(固定)           LAN:192.168.1.200          |          [PC_B]           LAN:192.168.1.100

  • pingのエコーについて

    現在、ルータ(富士通 FA11-M2)の配下にPC一台を 接続しています。 PCではファイアーウォールが稼働しており、 pingのエコーを返さない設定になっています。 ですが、WAN側からPCにpingを実行すると、 エコーが返ってきます。パケットアナライザでしらべたところ、 PCまでICMPプロトコルが届いてないようです。 考えられる原因はルータが勝手にエコーを返してしまっているとしか思えないのですが、そのようなことはあるのでしょうか?

  • NAPTとPING

    ルータのパケットフィルタルールにWAN側UDP禁止にしたらなぜかPINGのリプライが返ってこなくなりました。ICMPパケットってNAPTではUDPでラップされるんですか?

  • ネットワークの経路について、

    ネットワークの経路について、 拠点Aと拠点B間はWANとVPNの2回線で接続されています。 Bにある特定のサーバへのルートをWANにする設定をAのルータにした場合、BへのリクエストはWANですが、レスポンスはどっちの経路になるのでしょうか? 初歩的な質問ですがお願いします。

  • ルーターの静的ルーティング設定方法

    光回線のルーター(PR-S300SE)にルーター化したCentOS6を接続しています。構成は以下のとおりです。 ルーター(PR-S300SE) 192.168.0.1 ルーター化したCentOS6 (eth0 192.168.0.2 , eth1 192.168.1.1) です。 問題は192.168.1.0/24のネットワークに属しているクライアントPCがWAN側に出られないことです。 クライアントPC(192.168.1.10)からゲートウェイの192.168.1.1 にpingが通ります。またeth0(192.168.0.2) 及びPR-S300SE(192.168.0.1)にもpingはとおります。 又、ルーター化したCentOS6からも192.168.1.0/24ネットワーク内のクライアントPC 192.168.1.10にpingはとおります。 尚、CentOSはeth0(192.168.0.2)を通してWAN側に問題なく出られます。 現在、PR-S300SEのLAN側静的ルーティング設定に、宛先アドレス192.168.1.0/24のゲートウェイを192.168.0.2として登録してあります。 192.168.1.0/24ネットワーク内のクライアントPCがWAN側に出られないのは、PR-S300SEのLAN側静的ルーティング設定が何か不足しているからでしょうか。 よろしくお願いします。

  • BBルータ化

    CentOS4.4でLANカードを2枚差しにしてPPPoE接続をし、ブロードバンドルータのようにルータ化したいと考えています。しかし、pppoe接続までうまくいくのですが、なぜかインターネット接続ができません。/etc/sysctlなどの設定は1に設定してあります。iptablesの設定はiptables -Fですべて 許可している状態です。eth0がインタネット(WAN)側でeth1がLAN側(192.168.0.1)です。PCからeth1へpingが通るのでIPマスカレードの設定が間違っているのでしょうか? ご存知の方、よろしくお願いします。

  • VPNは開通しましたが端末へpingが飛びません

    本店⇔支店の2施設の間での 閉域網を利用したVPNネットワークが先日開通しました。 本店、支店それぞれのPCでファイル共有を希望しています。 各PCの端末はブロードバンドルーターとVPNルーターにHUB分けして接続されており、 デフォルトゲートウェイはインターネットルーターです。 VPNの通信時に経路を変更するように設定しています。 下記が現在のネットワークです。 [ 本店のネットワーク ] ネットワークアドレス:192.168.1.0/24 デフォルトゲートウェイ(ブロードバンドルーター):192.168.1.1 VPNルーター:192.168.1.254 [ 支店のネットワーク ] ネットワークアドレス:192.168.11.0/24 デフォルトゲートウェイ(ブロードバンドルーター):192.168.11.1 VPNルーター:192.168.11.254 それぞれのPCから相手先のブロードバンドルーター、VPNルーターへのpingは飛びました。 また、支店のPCから本店のPCの共有ファイルを確認することができました。 しかし、本店から支店の共有ファイルを確認がどうしてもできません。 記載のとおり本店のPCからVPNルーター、ブロードバンドルーターまではpingが飛びますが、 その末端にあるPCにpingが飛ばない状況です。 「Request timed out」となります。 支店にはウィルス対策にキングソフトのフリーソフトを導入していたので、念のために停止し、 ファイアウォールも無効にしましたが同じでした。 支店のブロードバンドルーターは 「WHR-G54S」です。 つたない文章ですが何かアドバイスがあればご教授願います。

    • 締切済み
    • VPN
  • ファイルの共有はできるが、Pingがとおらない

    ブロードバンドルータで2台のPC(AとB。いずれもWinXP SP2)を繋いでます。AとBの間でネットワークコンピュータでファイルの共有は出来ていますが、ルータ→BとA→Bのpingが通りません。 ファイアウォール設定などいろいろいじりましたが、何故BだけPingが通らないのかわかりません。ルータの設定も特にパケットをフィルタリングしてはないはずです。 ログなどを見てみましたが、ルータが悪いのかBが悪いのかもよく分かりません。ちなみに、IPアドレスはルータがDHCPで割り当て、Aが一つ目のIPで、Bがその次のIPに割り当てられています。 原因として何か分かれば教えていただけないでしょうか。