• 締切済み

LAN内での通信について教えてください

LAN内での通信について教えてください。 家庭用の市販のルーターがあり、ルーターの3つのLANポートには、1つのLANポートにつき1台のパソコンという形で パソコンが3台(パソコンA,パソコンB,パソコンC) 接続されているとします。 (パソコンA,パソコンB,パソコンCはルーターを介して接続されています) ルーターはDHCPサーバーとして働き、パソコンにはプライベートIPアドレスが割り振られているとします。 パソコンA 192.168.0.2 パソコンB 192.168.0.3 パソコンC 192.168.0.4 ルーター 192.168.0.1 また、パソコンAは[パソコンB、パソコンC]の[IPアドレスとMACアドレス]を知っているとします。 ここでパソコンAのアプリケーションからパソコンBへ通信を行おうとした場合、 アプリケーションは[IPパケットにパソコンBのIPアドレスである192.168.0.3、MACフレームにパソコンBのMACアドレスを含んだ]データグラムを パソコンBとパソコンCの両方に届ける。 そして パソコンBは届いたデータグラムのMACフレームにパソコンBのMACアドレスが含まれていることから、自身が担当すべきとしてパソコンAに応答を返す。 ただ、パソコンBはIPパケット内の192.168.0.3の部分については全くチェックしない。 パソコンCは届いたデータグラムのMACフレームにパソコンBのMACアドレスが含まれていることから、自身が担当すべきでないと判断し、パソコンAには応答を返さない。 また、パソコンCはIPパケット内の192.168.0.3の部分については全くチェックしない。 間に存在するルーターは何もしない。 このようになるのでしょうか?

みんなの回答

  • maesen
  • ベストアンサー率81% (646/790)
回答No.3

少々想定が曖昧な感じです。 >アプリケーションは[IPパケットにパソコンBのIPアドレスである192.168.0.3、MACフレームにパソコンBのMACアドレスを含んだ]データグラムを 一般的にはアプリケーションはIPに必要なデータをプロトコルスタックに投げるだけなのでMACフレームは意識しません。 ただ、OSやドライバもアプリケーションという括りに含めるのならばそうとも言えないこともありませんが。 >パソコンBとパソコンCの両方に届ける。 届けるのはアプリケーションではなく、届くかどうかは物理的な接続などに依存します。 アプリケーションはただデータを投げるだけです。 また、質問者さんの想定環境ではルータのL2スイッチ(スイッチングHUB)部分を経由します。 他の方も書かれていますがL2スイッチ部分のMACアドレスの学習状況によってパソコンCに届くか届かないかは変化します。 >パソコンBは届いたデータグラムのMACフレームにパソコンBのMACアドレスが含まれていることから、自身が担当すべきとしてパソコンAに応答を返す。 MACアドレスのチェックの部分までは正しいです。 なお、これは一般的にはNIC側の処理です。 応答にに関しては、データグラムと言っているので一般的にはコネクションレス通信ということになります。 アプリケーション側がデータを解析して必要ならばアプリケーションが応答を返しますがそうで無い場合は基本的に応答は返らないと思われます。 >ただ、パソコンBはIPパケット内の192.168.0.3の部分については全くチェックしない。 パソコンBのどの部分について想定されているのでしょうか? NIC側では確かにIPパケットについてはチェックしませんが、 プロトコルスタックではIPアドレス部分もチェックされるはずです。 >間に存在するルーターは何もしない。 ルータが間に存在すると考えていると混乱すると思います。 コンシューマ向けの複数のLANポートがあるルータは一般的に、 純然たるルータとスイッチングHUBの2つのハードウェアがくっついたものです。 2つのハードウェアが1つの箱に入っていて中でケーブルがつながっていると考えて良いです。 複数のLANポートがあるルータの1つのポートにスイッチングHUBをつないで、その下にPCをつないだ状態ともネットワーク的にはほぼ同じです。 従って、PC同士はスイッチングHUBでつながっているだけなので、ルータは間に存在するのではなく上に存在するというイメージのほうが良いと思います。

  • wormhole
  • ベストアンサー率28% (1620/5655)
回答No.2

ルーター内蔵のハブがスイッチングハブなどであれば、それぞれのポートにつながっているMACアドレスを学習していて必要なポートにのみ送信したりしますからパソコンCはパソコンBに送信されたパケット自体受け取らないという事もあります。

回答No.1

>ただ、パソコンBはIPパケット内の192.168.0.3の部分については全くチェックしない。 自身のMACアドレス宛と認識すればIPスタックに渡し、IPアドレスのチェックをします。

関連するQ&A

  • 通信について教えてください

    通信について教えてください。 家庭用の市販のルーターがあり、ルーターの2つのLANポートには、1つのLANポートにつき1台のパソコンという形で パソコンが2台(パソコンA,パソコンB) 接続されているとします。 (パソコンAとパソコンBはルーターを介して接続されています) ルーターはDHCPサーバーとして働き、パソコンにはプライベートIPアドレスが割り振られているとします。 パソコンA 192.168.0.2 パソコンB 192.168.0.3 ルーター 192.168.0.1 LAN内での通信であるパソコンAからパソコンBへ向けて通信するためには まずパソコンAはパソコンBのIPアドレスを事前に知っておく必要があると思います。 そして、パソコンAはARPによってパソコンBのMACアドレスを取得することになりますが =========================== (1) このMACアドレスの取得は、 ○パソコンBからの応答 ○(パソコンBのMACアドレス情報を保有している?)ルーターが応答 のどちらでしょうか? =========================== とにかくパソコンAはパソコンBのMACアドレスを取得したとし、パソコンBと通信を行いますが パソコンAからパソコンBへのの通信では =========================== (2) MACフレームの送信先MACアドレスは、 ○ルーターのMACアドレスになり、ルーターを経由するときにパソコンBのMACアドレスになる ○最初からパソコンBのMACアドレスである、ルーターを経由するときも変わらない のどちらでしょうか? =========================== =========================== (3) MACフレームの送信元MACアドレスは、 ○最初はパソコンAのMACアドレスであるが、ルーターを経由するときにルーターのMACアドレスになる ○最初からパソコンAのMACアドレスである、ルーターを経由するときも変わらない のどちらでしょうか? =========================== (α) LAN内で通信を行う時は、IPパケット内のIPアドレス情報さえあれば十分で、MACアドレスは必要ないように思うのですが 通信の決まりとしてMACアドレス情報を格納するMACフレームが必要となるので 通信を問題なく行うにはIPアドレスだけではなくMACアドレスも必要となってくるのでしょうか? (β) LAN内の通信だけではなく、インターネット上の通信でも常にMACアドレス情報を格納したMACフレームがIPアドレス情報を格納したIPパケットの外側に付いているのでしょうか? 以上、(1)(2)(3)(α)(β)について教えてください。

  • ルーター配下のパソコンとネット上のサーバとの通信

    ルーターにはLANポートが複数ありそれぞれのLANポートにパソコンをつないでいます。 そのポートの1つである LANポート1につないでいるパソコンA(192.168.100.2/24)から デフォルトゲートウェイである ルーター(192.168.100.1)を経由して あるサーバー(74.125.235.95)にパケットを送り 戻りパケットがルーターからパソコンAに届くまで  について。 ルーターのIPマスカレードは  内側 192.168.100.2:4415 あて先 74.125.235.95:80 とします。 ○パソコンAからルーターまで 接続先が 192.168.100.0/24 のネットワークと異なる 74.125.235.95であることから パソコンAはデフォルトゲートウェイにパケットを送ろうとし パソコンAのデフォルトゲートウェイのIPアドレスをARPテーブルから割り出し 次にそのIPアドレスに基づいてARPテーブルからデフォルトゲートウェイのMACアドレスを割り出し そのMACアドレスを含んだMACフレームを送信する。 ルーターはMACフレーム内の送信先MACアドレスがルーター自身のMACアドレスであることから 自身で担当すべきMACフレームであると判断し、そのフレームの処理を引き受ける。 ○ルーターからパソコンAまで サーバーから戻りパケットを受け取ったルーターは、IPマスカレードに基づいて ルーターからそのパケットを送信すべき送信先のIPアドレスを 192.168.100.2 と判定する。 次に IPアドレス 192.168.100.2 に基づいてルーターのARPテーブルから MACアドレスを割り出す。 次に、そのMACアドレスに基づいて MACアドレステーブルから 送出先ポートであるLANポート1 を割り出し、LANポート1からパケットを送りだす。 ○パソコンAからルーターまで ○ルーターからパソコンAまで は上記の理解で合っていますでしょうか? 特に気になるのは、○ルーターからパソコンAまで において 送出先ポートを最終的に決めるのは IPアドレスではなく、 MACアドレステーブルが参照され、結果 MACアドレステーブルのMACアドレスによって決まるのかどうか という点です。

  • LAN上でのデータ送信についての疑問

    LAN上でのデータ送信についての疑問 ネットワークの勉強をし始めている初心者です。どなたか以下の疑問について教え頂けないでしょうか。 LAN上のパソコン-Aからパソコン-Bへデータを送る時には、まずARP要求(パソコン-BのMACアドレスを要求する)して、パソコン-Bは、ARP応答(自分のMACアドレスを教える)することで、パソコン-Aは、パソコン-BにMACフレームを送信できるのだと知りました。 ここで疑問なのが、パソコン-BのIPアドレスが分かっている場合は、パソコン-AからBへデータを送る ことは可能なのでしょうか?それともIPアドレスが分かっていてもLAN上はMACフレームにデータを乗せて運ぶため絶対にMACアドレスが必要ということでしょうか? もし上記の認識自体が間違っていましたらご指摘お願いいたします。 恐れ入りますが、ご指導のほど、よろしくお願いいたします。

  • ホストAとBについて困ってます

    ホストA:MACアドレス<_>00:00:5F:B3:50:31 IPアドレス <_>192.168.10.5 ホスト1a:MACアドレス<_>00:00:5F:B3:70:32 IPアドレス <_>192.168.10.3 ホスト1b:MACアドレス<_>00:00:5F:B3:70:33 IPアドレス <_>192.168.10.5 ホスト2c:MACアドレス<_>00:00:5F:B3:70:35 IPアドレス <_>192.168.20.3 ホスト2d:MACアドレス<_>00:00:5F:B3:70:37 IPアドレス <_>192.168.50.5 ホストB:MACアドレス<_>00:00:5F:B3:50:35 IPアドレス <_>192.168.50.10 ホストA-a|ルータ1|bーc|ルータ2|dーホストB と接続されている時にホストAがホストBにパケットを送出したとする。 (1)ホストAが送出するIPパケットの「宛先」に指定されているIPアドレスは何か。 (2) ホストAが送出Ethernetフレームの「宛先」に指定されているMACアドレスは何か。 (3)ルータ1bがルータ2cに送出するIPパケットの「宛先」および「送信元」に指定されているIPアドレスは何か。 (4)ルータ1bがルータ2cに送出するEthernetフレームの「宛先」および「送信元」に指定されているMACアドレスは何か。 今この問題が解らないので教えてください お願いします。

  • DNSサーバー問い合わせ時のルーターまでのプロセス

    使用している家庭用のルーターには、LANポートが複数あり それぞれのLANポートにパソコンをつないでいます。 そのポートの内の1つにつないでいるパソコンAは、DHCPサーバーとして機能しているルーターから プライベートIPアドレス(192.168.100.2/24) を与えられ DNSサーバー(192.168.100.1) の情報も与えられています。 ルーターのプライベートIPアドレスは 192.168.100.1 です。 パソコンAは、ARPテーブルで 192.168.100.1 のMACアドレスを知っているとします。 あるネット上のサーバーのIPアドレスを知るために パソコンAからDNSサーバー(192.168.100.1)へ問い合わせをする時、 そのパソコンAからルーターまでのプロセスについてですが 1 パソコンAのDNSリゾルバキャッシュに そのサーバーのドメインのIPアドレス情報があるかをまず調べる。 2 なければ、DHCPサーバーとして機能しているルーターから与えられたDNSサーバー情報に基づいて DNSサーバーのIPアドレスが192.168.100.1であると分かる。 3 そのIPアドレス(192.168.100.1)に基づいてパソコンAのARPテーブルからDNSサーバー(192.168.100.1)のMACアドレスを割り出し そのMACアドレスを含んだMACフレームを送信する。 その時のIPヘッダの送信先IPアドレスは192.168.100.1。 4 ルーターはMACフレーム内の送信先MACアドレスがルーター自身のMACアドレスであることから 自身で担当すべきMACフレームであると判断し、そのフレームの処理を引き受ける。 以上で正しいでしょうか?

  • エフィメラルポート

    パケットキャプチャできる環境がないので質問させてください。 naptは送り主のIPアドレスと受け取りポート番号(エフィメラルポート)を使って、宛先IPアドレスの目的ポートにパケットを送っているんですよね? このとき、サーバA,Bの2台があり、それぞれ別々のIPアドレスが割り当てられていたとします。 ルータの配下にあるパソコンCからサーバA,Bのポート80番にアクセスしたときにパソコンCはA,Bにパケットを送るときはそれぞれ別のエフィメラルポートを使うのでしょうか? 例えば、 パソコンCは宛先ポート80番、受け取りポート10010番のパケットをサーバAに送る。 パソコンCは宛先ポート80番、受け取りポート10020番のパケットをサーバBに送る。

  • LANとWANのデータ送信の違いを教えて

    LAN内では、IPデータグラムをほかのコンピュータに渡すとき ARPでMACアドレスを調べてフレームヘッダに送信先のMACアドレスを書き込み データを送信します。このデータ送信は、LAN内にあるすべてのコンピュータ に対して行われ、MACアドレスが同じコンピュータだけフレームを受信します。 この仕組みは、LAN内からルーターをとおって外部に出た場合でも 同じでしょうか? つまり、WANでもARPのようなプロトコルを使って 送信相手のMACアドレスを調べて送信しているのでしょうか? となってくると、1つの外部ネット内のすべてのルータにデータを送信することに なり、輻輳のもとになるのではないでしょうか? LAN内のサブネットであれば、 限られた台数なので、ブロードキャストしてもさして問題ありません。しかし、WANと なるとどうでしょうか? 

  • 自宅鯖にて自宅LAN内でグローバルIPは同じですが

    自宅サーバー初学者です。 自宅のLAN内では一般的にグローバルIPはひとつしか割り当てられていないため、それをLAN内でシェアするためにプライベートIPを決めていると理解しているのですが(この時点で間違っていたらすいません) ここで疑問が生じたので質問させてください。 例として、グローバルIP:AA.AA.AA.AAだとするとき、外部からはAA.AA.AA.AA宛にパケットを送ると思うのですが、MACアドレスが判明していない状況でIPアドレスのみでパケットを送信した場合、ルータはLAN内のどの端末にパケットを送るか分からないのではと思いました。LAN内すべての端末にパケットを送るのでしょうか? ポート番号3000でアプリケーションのサーバーX(ローカルIP:192.168.1.1)を立てていたとします。サーバーXにあててリクエストのパケットを外部からAA.AA.AA.AA:3000で送信した場合、LAN内ではピンポイントに192.168.1.1にのみパケットを流すことはできないですよね? もっというと、同じアプリケーションのサーバーをLAN内の複数の端末・同じポートで立てていた場合、どうなるのでしょう。 もし的外れな事を言っていたらすいません。 宜しくお願いします。

  • ルーターを介したTCPとUDP通信の違いについて

    端末1---(LAN側)ルーター(WAN側)---端末2 というふうに接続されていた場合を想定します。 上図で端末1がTCPセッションを端末2と張ろうとした場合(httpなど)のルーターの動きについて確認させてください。 <ルーターの動き> (1)端末1からのTCPセッション開始のパケットを受信す るとMACアドレスとIPアドレスをルーターのものにす り替え、ポート番号も変えて端末2に渡す。この時の アドレスとポート番号の対応表を記憶しておく。 (2)端末2から応答が返ってきた場合(1)で記憶した対応表 を基にパケットのMAC,IP,ポートをすり替えて端末1 に渡す。 (3)TCPのセッションが終了したら(1)で記憶した対応表は 破棄する。 とりあえずこの解釈は正しいでしょうか? なお、UDP通信の場合は(1)の対応表を全く作らないということで良いでしょうか? ご教授よろしくお願いします。

  • WAN技術のカプセル化について(MACアドレス)

    ネットワークの初歩的な質問で恐縮ですが、自分自身調べた結果、納得のいく回答が得られなかった為、ご教授下さい。 LAN(イーサネット)では、IPアドレスと、MACアドレスを使用して、同じLAN(イーサネット)上の端末等と通信しており、その仕組みも理解できているのですが、WANを経由して、とあるLAN(イーサネット)上の端末Aが、他の拠点のLAN(イーサネット)上の端末B等と通信する場合に、MACアドレスは、使用されているのでしょうか。 (端末Aと、端末BのLANセグメントは、別セグメントとする) 端末Aは、まず、宛先IPアドレスに、端末BのIPアドレスを、宛先MACアドレスにGW(ルータ)のMACアドレスをセットしたフレームをGWに対して送信するのは、理解していますが、その後のGW(ルータ)は、WANのデータリンク層のプロトコルで、再度IPパケットをカプセル化するという認識でよいのでしょうか。 (端末Aから送信されたイーサネットのフレームを受信したGWは、IPパケットの宛先IPアドレスを確認し、ルーティングテーブルを参照する。その後、ルーティングテーブルの結果により、送信先interfaceを決定し、送信先interfaceに設定されているWANのカプセル化方式に基づき、IPパケットをイーサネットではない、WANのデータリンク層のプロトコルで再度カプセル化する。) ↑の認識であってますでしょうか。今回のWANとは、広域イーサネットではない、専用線や、ISDN、フレームリレーを想定した場合です。 とにかく、ルータからWAN側に送信されるフレームには、MACアドレスが含まれていないかどうかが、知りたいです。 MACアドレスは、イーサネットで用いられるものだと理解しております。PPPやHDLC等のプロトコルを用いて、WANのルータ同士を専用線等で、接続している場合、ルータ同士は、ARPでMACアドレスを解決する事もないのですよね? イーサネットフレームが、PPPやHDLCのフレームに置き換わっているイメージでしょうか。 大変、わかりにくい文章で恐縮ですが、どなたか、ご教授下さい。