スイッチがMACアドレスを書き換えないのはなぜですか?


10

イーサネットスイッチがパケットのMACアドレスを変更しない特別な理由はありますか?

MACアドレスなどを使用したエンドホストの識別用ですか?


5
あなたの名前がクマーだとしましょう。人々があなたを「ジェシカ」と呼び始めたら、それを望みますか?
Mike Pennington、

1
スイッチはパケット(フレーム)を書き換えません。彼らは単にそれらをインターフェースからインターフェースへと移動させます。(ブロードキャスト/マルチキャストの場合、これには複数のポートへのコピーが含まれます。)
Ricky Beam

4
スイッチ MACアドレス変更する正当な理由を考えられますか?
Teun Vink

何か回答がありましたか?もしそうなら、質問が永遠にポップアップし続けないように答えを受け入れ、答えを探します。または、独自の回答を提供して受け入れることもできます。
Ron Maupin

回答:


10

スイッチがMACアドレスを変更すると、ネットワークが完全に切断されます。

MACアドレスは、ローカルネットワーク上のホストによって使用される一意の識別子です。

スイッチが宛先MACを変更する場合、フレームは適切なホストに配信されません。たとえば、フレームがフラッディングされた場合、宛先ホストは宛先がホスト宛ではなくなるため、フレームをドロップします。

スイッチが送信元MACアドレスを変更する場合、宛先ホストはこのMACアドレスを応答に使用します(不良データのあるARPエントリの更新を含む)。これは、すべてのリターントラフィックについてだけ、すでに説明したのと同じ状況になります。

これにより、802.1XやMACアドレスを使用してデバイスを識別/分類するその他のメカニズムなどの問題がさらに発生する可能性があります。

これを行うためのメカニズムを開発できますか?きっとできると思います。しかし、現時点でそうする理由はなく、これはネットワーキングを複雑にし、不必要な処理を追加するだけです。利用可能なMACアドレスプールを使い果たすにはほど遠いので、MATなどの必要はありません(MACアドレス変換の概念がどこにでもあるかどうかわからないので、用語を作成しただけでしょうか?)。


4

データグラムのアドレスの書き換えはレイヤー3で発生します。たとえば、NATを実行しているゲートウェイ(ルーターまたはファイアウォール)が内部ネットワーク上のホストのIPアドレスを書き換えて、すべてがゲートウェイ自体の1つ(またはいくつか)の外部IPアドレスから表示される場合です。

上記のコメントで述べたように、レイヤー2レベル(MACアドレスを使用してホストとスイッチがデータグラムの移動(フレーム)を区別する)で同様のことが起こらない理由は、実際には必要ないということです。

NATのレイヤー3の場合、NATは多くの問題を解決します。

  • IPアドレスはグローバル通信に使用され、共有する必要がある利用可能なIPアドレスの限られたプールがあります。NATを使用することにより、より多くの内部ホストが、パブリックインターネット上で見える少数(通常は1つ)のIPアドレスを共有できるようになります。
  • IPアドレスの書き換えは、内部マシンのIPアドレスをマスカレードすることでセキュリティの層を追加すると考えられていますが、全員ではありません。

したがって、NATの例をそのまま使用する場合、NATのレイヤー2の対応物は実際には必要ありません。

  • MACアドレスは、インターネット上のデータグラムのアドレス指定にグローバルに使用されるのではなく、ローカルサブネット上の適切なホストにフレームを送信するために使用されます。ローカルサブネットは比較的小さく、可能なMACアドレスの数が非常に多いため、レイヤー2レベルで使用可能なMACアドレスが「不足」することはありません。(NICのMACアドレスを手動で任意の値に再構成するオプションは、これを変更しません)
  • また、転送時にデータグラムアドレスを書き換えることによる議論の余地のないセキュリティ上のメリット:MACアドレスはローカルサブネット内でのみ使用されるため、通常、相対的な観点から、そのサブネットのセキュリティの観点から、物理的およびほとんどの関係するデバイス)レイヤー3の場合の対応物、つまりインターネット全体(接続されたユーザーやネットワークエンジニアとしては、実際にはセキュリティ制御がありません)と比較します。

これにより、スイッチがMACアドレスを書き換えない理由が明らかになることを願っています。頭の上から思いついた唯一のレイヤー3ケースはNATでしたが、IPの書き換えが保証されている他のレイヤー3ケースの例を他のケースで確実に提供できます(そしてこれらのテクノロジーがレイヤー2レベルで実際に意味をなさない理由) 。


3
スポットオンですが、私はあなたの答えを1つ小さなごまかしがあります。「NATのレイヤー2対応は実際には必要ない」とおっしゃいましたが、MAC NATは見たことがありませんが、Macレベルのトンネリングは見ました。いくつかの状況では、スイッチが他のMACアドレス内のMACアドレスを「トンネリング」することは理にかなっています。すぐに思い浮かぶ状況は、IEEE 802.1ah Provider Based Bridging(PBB)です。通常、これは、利用可能なVLANのスケーリング、サービスプロバイダーのメトロリングでのMac学習の削減に使用されます
Mike Pennington

1
@ IllvilJa:よく言った..!あなたは私をここ数週間混乱させる疑問を解決しました。数週間前、私は次のように考えていました... "ルーターは、WANを処理するときに、送信者のMACアドレスの代わりにそのMACアドレスを(各パケットに)置き、パケットを受信者に渡します。しかし、 LAN、ルーターは(各パケットに)送信者のMACアドレスの代わりにMACアドレスを配置せず、送信者と受信者の間でパケットを渡すだけです」しかし、説明の後で、「ルータ」と「スイッチ」。再度、感謝します..!
マハラ語14

0

MACアドレスを書き換えると、かなり複雑になります(スイッチはarpなどの上位レベルのプロトコルを認識しなければならないため、アドレス解決を書き換えることができます)、トラブルシューティングが困難になり、STPなどのプロトコルが機能しなくなり、通常はPITAになります。また、通常は必要ありません。

それは不可能だと言っているわけではありません。ebtables(iptablesのレイヤー2対応)には、MACアドレス変換のオプションがいくつかあります。これは、VLANごとのMACテーブルを使用しないスイッチがあり、レイヤ2フィルタリングを実行したい場合に役立ちます。

http://ebtables.netfilter.org/examples/example1.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.