- ベストアンサー
MACアドレスの役割
LANからWANに出て他のLANにデータを送信するときはMACアドレスが重要なのはわかりますが、同じLAN(小さい会社内)同士のPC1からPC2にデータを送るとき物理的にそのLANのすべてのPCにパケットが送信され、自分のIPと違う場合破棄され、自分のIPならデータを受け取りPC1に応答しますよね。ここでなぜ同じLAN同士にMACアドレスが必要なのでしょうか物理的に全部に送信されるのに・・・、スイッチングハブが学習してトラフィックを減少させるためなのでしょうか?おしえてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
LAN上で使われているプロトコルはIPだけじゃないことを思い出してください。 Ethernetを始めとするLANはIPだけのためにあるのではありません。 IP以外のプロトコルの中には、相手のMACアドレスを決め打ちして通信するようなものもあるのです。 (相手のMACアドレスはあらかじめ設定ファイルで持っていたりする) MACアドレスは、レイヤ2のネットワーク内で相手を識別するために存在しています。 IPのことはひとまず置いといて、LAN内のノードや、レイヤ2の中継装置は、MACアドレスを基準として互いに通信したり中継したりするように作られている、と理解してください。 自分のMACアドレス宛のフレームであれば受け取るし、MACのブロードキャストやマルチキャストアドレス宛のフレームも受け取りますが、それ以外のMACアドレス宛のフレームであれば廃棄します。 送信する際は、送信元MACアドレスに自分のをセットしますし、送信先MACアドレスには相手のをセットしたり、ブロードキャスト/マルチキャストのMACアドレスをセットします。 そういうネットワークの上に、IPを動作させようと考えた人がいて、そのための仕組みとしてARPなどが考え出されたというふうに考えてみてください。 つまり、MACアドレスを使うLANがはじめにあって、その上でIPを動かすために、ARPなどの仕組みが用意されたと。 MACアドレスはIPのために用意されたのではなく、もともと存在していたのだと。
その他の回答 (4)
- yyamagu
- ベストアンサー率40% (21/52)
本質的に必要というわけではありません。 現在普及している一般的なLANでは必要なだけです。 実際、物理層の直上にIPを載せるプロトコルも存在します。 最も良いものが普及するとは限らないのがこの世界の常でしょう。 ちなみに、自分宛のパケットかどうかを判断しているのはPCそのものではなくPCに付いているネットワークカードです。ネットワークカードがハードウェア的に自分のMACアドレスのパケットだけをPCに渡すため、PC(上のソフト)の負荷はずいぶん軽減されているんですよ。
- Bonjin
- ベストアンサー率43% (418/971)
たぶん間違って理解されていると思いますので、復習することをお勧めします。基本はOSIの7層ですので、それぞれの層の役割を理解すれば今回の疑問も解決するのではないでしょうか? ちなみに、#2さんの書き込みに >IP対MACの対応表がない時にはIPアドレスでブロードキャストして とありますが、正しくはMACのブロードキャストです。(#2さんの参考URLにも書いてありますが) これはパケットキャプチャ等を利用すれば確認できます。
- ymmasayan
- ベストアンサー率30% (2593/8599)
この話は正しく理解している人は非常に少ないです。 LANの同一セグメントの中では通信はMACアドレスでしか出来ません。 一見IPアドレスでやっているように見えますが実際にはARPで IPアドレスをMACアドレスに変換しています。(参考URL) IP対MACの対応表がない時にはIPアドレスでブロードキャストして 該当の端末からMACアドレスを取得します。 それ以降は即MACアドレスで通信するのです。 実は端末(ホスト)とルータの間、隣同士のルータの間も 実際の通信はMACアドレスで行われています。 ルーティングはIPアドレスで行い、通信はMACアドレスで 行われているのです。 ブリッジやスイッチングハブはMACアドレスを見てスイッチングを行っています。
- frisk_blue_love
- ベストアンサー率48% (141/293)
>自分のIPと違う場合破棄され、自分のIPならデータを受け取りPC1に応答 の前にMACアドレスでの判定です。 いかに小規模のLANでも何台の機器がそのネットワークにあるかは分からないのですから、全てに届くとは言え、MACが無くても良い事にはなりません。 実際にはOSI参照モデルの第二層での通信でMACアドレスを見ています。ご質問の『(「自分のIP」ではなく)「自分のMAC」と違う場合破棄され』なら正しいです。IPは第三層になりますからね。 なので受信時には先にMACアドレスを見ています。 むしろ、LANからWANに出て別ネットワークに、の時に重要なのはIPアドレスです。 もしかしたら書き間違いでしょうか?