• ベストアンサー

LAN内で知りたいMACアドレスがある時というのは、たいていルータのもの?

ネットワークの勉強をしていると、通信する段階でよくある説明が、下記のページの「図1-2上」などのように、通信相手のMACアドレスが知りたいからブロードキャストフレーム(?)を出して相手のMACアドレスを知る、という説明があるのですが、こういった場合、通信相手というのはルータを想定すればいいのでしょうか? あまりLAN内で、ユーザのパソコン同士でデータをやりとりしたりといったことはないように思うのですが…?(私に経験がないだけかも) よろしくお願いします。 http://itpro.nikkeibp.co.jp/article/COLUMN/20060919/248444/

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.2

……と回答して、質問者さんの書かれているページで普通に解説されていますな。 >あまりLAN内で、ユーザのパソコン同士でデータをやりとりしたりといったことはないように思うのですが…?(私に経験がないだけかも) LAN内に他のPCがなかったりすると、そのように思われるかもしれませんね。 ネットワークプリンタがあれば、PCとネットワークプリンタの間での通信も発生しますし、 UPnP関係でPCがルータを探していたり、WindowsPCが2台以上あればファイル共有の為にお互いを探したり、ネットワーク上に存在するWindowsマシンの名前の一覧を持っていたり…。 といろいろ通信しています。 # Wiresharkでパケットとか眺めているといろいろ流れるのが実感できるかと。

nabewari
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>こういった場合、通信相手というのはルータを想定すればいいのでしょうか? 同一LAN内に通信相手がいる場合は、いちいちルータは経由しません。 自PCのIPアドレスが192.168.1.2/サブネットマスクが255.255.255.0で、 通信相手(仮にファイルサーバ)のIPアドレスが192.168.1.250だった場合、 サブネットマスクにより「同一ネットワーク内」ということが判定できます。 ということで、「192.168.1.250のMACアドレスっていくつ~?」とブロードキャストします。 192.168.1.250から応答がありますのでEthernetフレームの送り先に返答のあったMACアドレスを指定してパケットを送り出します。 同様に自PCのデフォルトゲートウェイに192.168.1.254が指定されている状態で、プリンタサーバ(192.168.2.10)と通信したい場合、 サブネットマスクから別ネットワークと判断できますので、デフォルトゲートウェイのMACアドレスを得た上で、IPパケットの送り先に「192.168.2.10」をEthernetフレームの送り先にはデフォルトゲートウェイのMACアドレスを指定してパケットを送り出します。 それ以降はルータのお仕事になります。 # 毎回MACアドレス確認のためのブロードキャストパケットを出すのは無駄が多いので、 # 一定の期間ARPテーブルというところにキャッシュしています。

関連するQ&A