web-dev-qa-db-ja.com

LANの外部でMACアドレスが必要ですか?

私はMACアドレスとIPアドレスについて、そしてなぜ1つだけではなく両方を持っている必要があるのか​​を学んでいます。次のネットワークがあるとします。

enter image description here

PC1がWebサーバーにパケットを送信したいとします。これで、PC 1がこのタスクに2つのアドレスを使用する必要があることを理解しました。ルーターのアドレス(スイッチがパケットをルーターに渡すことができるようにするため)とWebサーバーのアドレスです。

MACアドレスはルーターのアドレスとして使用され、IPアドレスはWebサーバーのアドレスとして使用されます。


私の質問は、LANの外部でMACアドレスが実際に使用されているかどうかです。たとえば、ルーターがパケットを別のルーターに直接渡している場合(上の画像で黄色で囲んだ2つのルーターのように)。

前に説明したように、LAN内でルーターのパケットにMACアドレス(もちろん宛先MACアドレスについて話している)を入れるPC 1の利点を理解していますが、ルーターがパケットを別のルーターに直接渡している場合ルーター、次のルーターのパケットにMACアドレスを入れることの利点はどこにありますか?

4
John

MACアドレスはレイヤー2でのみ使用され、レイヤー2は事実上、独自のブロードキャストドメインとリンクローカルネットワークを備えた単一のローカルエリアネットワークです。 TCP/IPパケット内の送信元MACアドレスとターゲットMACアドレスは、宛先IPアドレスに基づいてパケットを転送しているルーターによってネットワーク間を移動するときに変更されます。

PCのMACアドレスは、サポート目的でネットワークカードのベンダーを見つけるために使用できる可能性があることを除けば、ローカルネットワークの外部では役に立ちません。

最初のルーターがターゲットルーターのMACアドレスをヘッダーの宛先部分に配置する理由は、ルーターがネットワーク経由で送信するときに、ターゲットルーターがパケットの宛先を認識し、それを取得するためです。

詳細については、 データリンク層 として知られるOSI層2に関するWikiの記事を参照してください。

3
KeyszerS

Q. LANの外部でMACアドレスを実際に使用することはできますか?たとえば、ルーターがパケットを別のルーターに直接渡す場合(上の画像で黄色で囲んだ2つのルーターのように)。

A.はい、送信元MACアドレスはルーターの送信元MACアドレスに置き換えられ、プロセスが繰り返されます。

パケット内の元の送信元MACアドレスは置き換えられますが、ルーターが宛先IPフィールドにPC1のIPを使用して戻ってくるパケットを取得すると、パケット内の宛先MACアドレスがPC1のアドレスに置き換えられます。そして、それはあなたが説明したプロセスの逆です。

基本的に、ローカルLANの概念をすべてのLANに適用するだけです。ページから外れる行を除いて、PCとサーバー間の5つのローカルネットワークを数えます。黄色で囲まれた両方のルーターを接続する回線の場合のように、ローカルLANにルーターが2つしかない場合、ネットワークの機能に違いはありません。

3つの「中間」LANのそれぞれにある両方のルーターは、それぞれのMacアドレスと通信します。 IPは、発信元と最終宛先専用です。


Q.ルーターがパケットを別のルーターに直接渡す場合、次のルーターのパケットにMACアドレスを入れることの利点はどこにありますか?

A.ルーターは、PCとルーターの間と同じように、ローカルで相互に通信するときに使用するアドレスを必要とします。

IPシステムは、ローカルネットワークの外部と通信するためのものです。ルーターには、WebサーバーまたはPCアドレスが含まれているため、送信元と宛先のIPフィールドを使用してパケットを相互に送信することはできません。


Ipは、紙のメールの送信者と受信者と考えてください。それはあなたのPCとウェブサーバーになります。

Arpは、途中にあるすべてのトラック、郵便局、飛行機のすべての住所です。郵便局32->郵便局35->トラック15 ...彼らが知る必要があるのは、チェーンの直前または直後に誰がいるかだけなので、別のシステムがあります。彼らは出発地と目的地を気にしません。


これがシスコからの情報です。歴史的に、これらは一般的にこのタイプの情報の最良の情報源の1つです(製品固有ではありません)。

ただし、送信元デバイスと宛先デバイスがルーターによって相互接続された異なるLANに接続されている場合、アドレス解決の動作は異なります。エンドシステムYは、エンドシステムZのMACアドレスを学習するためにARP要求をLANにブロードキャストします。ブロードキャストは、エンドシステムZのプロキシとして機能するルーターXを含む、LAN上のすべてのデバイスによって受信および処理されます。ルーティングテーブルをチェックして、エンドシステムZが別のLANにあることを確認します。次に、ルータXはエンドシステムYからのARP要求に応答し、エンドシステムZに属しているかのように独自のMACアドレスを含むARP応答を送信します。エンドシステムYはARP応答を受信し、ルータXのMACアドレスをARPキャッシュに保存します。エンドシステムZのエントリ内。エンドシステムYはエンドシステムZと通信する必要がある場合、ARPキャッシュをチェックし、ルータXのMACアドレスを見つけ、ARP要求を使用せずにフレームを直接送信します。ルータXは、エンドシステムYからトラフィックを受信し、それを他のLAN上のエンドシステムZに転送します。

http://www.Cisco.com/cpress/cc/td/cpress/fund/ith/ith01gb.htm#xtocid166842

1
BloodyEl

しかし、ルーターがパケットを別のルーターに直接渡す場合、次のルーターのパケットにMACアドレスを入れることの利点はどこにありますか?

ルーター間の通信は、必ずしも1対1(ピアツーピア)リンクである必要はありません。多くの場合、これは通常のイーサネット接続です(ルーターとPCの間と同じです)。この場合、さらに重要なことに、同じリンクに接続されているルーターが2つ以上あることがよくあります。 (私考えるそれがIXの仕組みですか?)

(ルーターおよびホストが同じリンクに接続されている場合もあります...たとえば、2つの「wifiルーター」をスタックしているが、内側のルーターをブリッジモードに切り替えるのを忘れた場合。)

したがって、ルーター間のネットワークも「LAN」であり、エンドホストと同じルールとプロトコルに従っていると言えます。これには、同じ種類のイーサネットスイッチングなどが含まれます。物事を異なるそして不必要に複雑にすることの利点はどこにありますか?

0
user1686