キャンセル
https://media.fs.com/images/solution/switch-mac-address.jpg

MACアドレスの切り替え:その内容と機能について

Irving

翻訳者 ともや
2019年5月27日 に投稿された



MACアドレスの切り替え:その内容と機能について

 ローカルネットワーク上のすべてのハードウェアがIPアドレスに加えてMACアドレスを持っていることに気づいたかもしれません。スイッチのMACアドレスを持つスイッチを除いて、インターネットに接続されているすべてのデバイスは、デスクトップコンピュータ、ラップトップ、携帯電話、タブレットからワイヤレスセキュリティカメラまで、そしてあなたの接続された冷蔵庫さえMACアドレスを持ちます。それで、ネットワーク機器がネットワークに接続するのに2つのアドレスを必要とするのはなぜでしょうか?IPアドレスでは足りませんか。そのMACアドレスは正確には何のためのものですか?

 MAC(メディアアクセス制御)アドレスを素人の言葉で言うと、MACアドレスはあなたのユニークなデジタル指紋と考えることができます。これは世界でも類のないものです。MACアドレスは製造元から提供され、デバイスにネットワークを接続するためのチップに埋め込まれています。ネットワークスイッチの場合、スイッチ上のすべてのインターフェイスに1つのMACアドレスが割り当てられるため、多くのMACアドレスがある可能性があります。

スイッチ(仕様)

型番

8ポート 2x1Gb SFP

PoE+スイッチ

https://www.fs.com/jp

/products/90130.html

24ポート 4x10Gb SFP+

L2+スイッチ

https://www.fs.com/jp

/products/72944.html

48ポート 4x10Gb SFP+

L2+スイッチ

https://www.fs.com/jp

/products/72946.html

24ポート 20x10Gb SFP+

4x25Gb SFP28、2x40Gb

L3スイッチ

https://www.fs.com/jp

/products/108710.html

Macアドレスの全体像

 「ハードウェアアドレス」または「物理アドレス」とも呼ばれるMACアドレスは、コンピュータネットワークアダプタを一意に識別するために使用される2進数です。イーサネットで送信されるパケットは、常にMACアドレスから送信され、MACアドレスに送信されます。ネットワークアダプタがパケットを受信している場合は、パケットの宛先MACアドレスとアダプタ自身のMACアドレスを比較しています。アドレスが一致すればパケットは処理され、そうでなければ廃棄されます。従来のMACアドレスは12桁の16進数です。アドレスの左端の6桁の16進数は製造元の一意の識別子に対応し、右端の6桁はネットワークインターフェイスカード(NIC)のシリアル番号に対応します。

MACアドレスとIPアドレスの関係

 最初はIPアドレスとMACアドレスが重複しているように見えることがあります。どちらもネットワークデバイスの一意の識別子ですが、実際には異なる目的で使用され、まったく異なる方法で表示されます。MACはOSIモデルのレイヤ2で動作し、IPはレイヤ3で動作します。

 MACアドレスは通常、データがネットワーク上を移動するときに、あるデバイスから次のデバイスにパケットを転送するためだけに使用されます。つまり、コンピュータのネットワークアダプタのMACアドレスは、次のデバイスまでの間に限りネットワークを通過します。あなたがルーターを持っているなら、あなたのマシンのMACアドレスはそれ以上それ以上行かないでしょう。あなたのコンピュータがあるIPアドレスx.x.x.xにパケットを送信しようとしている間、最初のチェックは宛先アドレスがコンピュータ自身と同じIPネットワーク内にあるかどうかです。x.x.x.xが同じネットワーク内にある場合は、宛先IPに直接到達できます。それ以外の場合は、パケットを構成済みルーターに送信する必要があります。それで、あなたは何が起こっているのを見ますか?MACアドレスはデータパケットを次のデバイスに送信するだけですが、IPアドレスは最終的な宛先に送信する責任があります。

スイッチは何にMACアドレスを使用しますか。

 スイッチはハブやリピーターとは異なります。ハブは、すべてのポートのすべての信号を他のすべてのポートに単純に再ブロードキャストします。これは(非効率的で低速ですが)簡単に作成できます。一方、スイッチは、パケットを適切な宛先にのみルーティングすることで、システム間のトラフィックをインテリジェントに転送します。これを行うために、各ポートに接続されているNICのMACアドレスを追跡します。MACアドレスを一意にする必要があるか、少なくともスイッチが異なるポートやデバイスを識別するために繰り返される可能性が非常に低いため、手動でMACアドレスを設定すると、スイッチドネットワークで予期しない結果が生じる可能性があります。スイッチには通常、MACアドレステーブルに多数のMACアドレスが予約されています。フレームを転送するとき、スイッチは最初に発信ポートのためのフレームの宛先MACアドレスによってMACアドレステーブルを調べます。発信ポートが見つかると、フレームはブロードキャストではなく転送されるため、ブロードキャストは削減されます。

スイッチはどのようにしてMacアドレスを学習するのですか。

 スイッチにはインテリジェンスがあるため、MACアドレステーブルを自動的に作成できます。次の部分では、スイッチがMACアドレスを学習する方法を説明します。

 真ん中にスイッチがあり、私たちは周りに3台のコンピュータを持っています。すべてのコンピュータにMACアドレスがありますが、AAA、BBB、およびCCCとして簡略化されています。スイッチにはMACアドレステーブルがあり、すべてのMACアドレスがネットワーク内のどこにあるかを学習します。今、コンピュータAがコンピュータBに何かを送信しようとしていると仮定します。

 コンピュータAはコンピュータB向けのデータを送信しようとしているため、送信元MACアドレス(AAA)と宛先MACアドレス(BBB)を持つイーサネットフレームが作成されます。 スイッチにはMACアドレステーブルがあり、これが行われます。

 スイッチはMACアドレステーブルを作成し、送信元MACアドレスからのみ学習します。 現時点でそれはちょうどコンピュータAのMACアドレスがインターフェイス1にあることを学びました。それは今そのMACアドレステーブルのこの情報を追加します。しかし、スイッチには現在、コンピューターBがどこにあるかという情報はありません。このフレームを元のインターフェイス以外のすべてのインターフェイスからあふれさせるには、1つの選択肢しかありません。コンピュータBとコンピュータCはこのイーサネットフレームを受信します。

 コンピュータBは自分のMACアドレスをこのイーサネットフレームの宛先と見なしているので、自分のアドレスであることがわかっているので、コンピュータCはそれを破棄します。コンピュータBはコンピュータAに応答してイーサネットフレームを作成し、それをスイッチに送信します。この時点で、スイッチはコンピュータBのMACアドレスを学習します。以上で、スイッチは両方のMACアドレスを認識し、次回イーサネットフレームをフラッディングする代わりに「スイッチ」できるようになりました。コンピュータCは、あふれる最初のフレームを除いて、コンピュータAとBの間のフレームを見ることはありません。スイッチが学習したすべてのMACアドレスを表示するには、MACアドレステーブルのダイナミクスを表示するコマンドを使用できます。

 ここで強調する価値があるもう1つのポイントは、スイッチ上のMACアドレステーブルは動的エントリにエージングメカニズムを使用するということです。コンピュータAとBのMACアドレスがエージングタイム内に更新されない場合、それらは新しいエントリ用のスペースを作るために削除されます。つまり、AがBに情報を転送したい場合、コンピュータAとB間のフレームは再びコンピュータCにあふれます。

スイッチのMacアドレステーブルを設定する方法

 MACアドレステーブルはフレーム転送用に維持され、動的に学習することも手動で設定することもできます。前者は前のテキストで紹介されており、次の部分はネットワークの変化に適応しネットワークセキュリティを強化するためにMACアドレスを手動で設定する方法に焦点を当てます。


スタティック、ダイナミック、およびブラックホールMACアドレステーブルエントリの設定

 ポートセキュリティを向上させるために、手動でMACアドレスエントリをMACアドレステーブルに追加して、ポートをMACアドレスにバインドし、MACアドレスのなりすまし攻撃を防ぐことができます。さらに、特定の送信元または宛先MACアドレスを持つパケットを除外するようにブラックホールMACアドレスエントリを設定できます。

静的、動的、またはブラックホールのMACアドレステーブルエントリを追加または変更するには、次の手順を実行します。

ステップ コマンド 備考
1. システムビューに入る。 system-view N/A
2.動的または静的MACアドレスエントリを追加または変更します mac-address { dynamic | static } mac-addressinterface interface-typeinterface-number vlan vlan-id どちらかのコマンドを使用してください。
3.ブラックホールMACアドレスエントリを追加または修正します。 mac-address blackhole mac-address vlan vlan-id

マルチポートユニキャストMACアドレステーブルエントリの設定

 ユニキャストMACアドレスを複数のポートに関連付けるようにマルチポートユニキャストMACアドレステーブルエントリを設定して、エントリに一致するパケットが複数の宛先ポートに配信されるようにすることができます。

 マルチポートユニキャストMACアドレステーブルエントリを設定するには、次の手順を実行します。

ステップ コマンド 備考
1.システムビューに入る。 system-view N/A
2.マルチポートユニキャストMACアドレステーブルエントリを設定します。 mac-address multiport mac-address interface interface-list vlan vlan-id デフォルトでは、マルチポートユニキャストMACアドレステーブルエントリはありません。
VLANを作成し、そのVLANにインターフェイスを割り当てたことを確認してください。

ダイナミックMACアドレスエントリのエージングタイマーの設定

 スイッチのMACアドレステーブルは動的エントリにエージングメカニズムを使用するため、エージングタイム内に更新されない動的MACアドレスエントリは削除されて新しいエントリのためのスペースが確保され、MACアドレステーブルは最新のネットワークに対応するために即座に更新されます。

 動的MACアドレスエントリのエージングタイマーを設定するには、次の手順を実行します。

ステップ コマンド 備考
1.システムビューに入る。 system-view N/A
2.ダイナミックMACアドレスエントリのエージングタイマーを設定します。 mac-address timer { agingseconds | no-aging } オプションです。 エージングタイマーの値の範囲は10-3600秒で、デフォルト値は300秒です。

ポートのMACラーニング制限の設定

 MACアドレステーブルが大きくなりすぎてスイッチの転送パフォーマンスが低下しないようにするために、ポートで学習できるMACアドレスの数を制限できます。

 ポートにMACラーニング制限を設定するには、次の手順を実行します。

ステップ コマンド 備考
1.システムビューに入る。 system-view N/A
2.イーサネットインターフェイス、ポートグループ、またはレイヤ2集約インターフェイスビューを入力します。

1. Enter Ethernet interface view: interface interface-type interface-number

2. Enter port group view: port-group manual port-group-name

3. Enter Layer 2 aggregate interface view: interface bridge-aggregationinterface-number


任意のコマンドを使用してください。
イーサネットインターフェイスビューまたはレイヤ2集約インターフェイスビューの設定は、現在のポートにのみ影響します。ポートグループビューの設定は、ポートグループ内のすべてのメンバーポートに有効になります。
3.インターフェイスにMAC学習制限を設定し、MAC学習制限に達したときに送信元MACアドレスが不明なフレームを転送できるかどうかを設定します。 mac-address max-mac-count { count | disable-forwarding } デフォルトでは、インターフェイスで学習できるMACアドレスの最大数は指定されていません。

VLANでのMACラーニング制限の設定

VLAN単位で学習できるMACアドレスの数を制限することもできます。

 VLANにMACラーニング制限を設定するには、次の手順を実行します。

ステップ コマンド 備考
1.システムビューに入る。 system-view N/A
2. VLANビューに入る。 vlan vlan-id N/A
3. VLANにMAC学習制限を設定し、上限に達したときに送信元MACアドレスが不明なフレームをVLANで転送できるかどうかを設定します。 mac-address max-mac-count { count| disable-forwarding } デフォルトでは、VLAN上で学習できるMACアドレスの最大数は指定されていません。

MACアドレステーブルの表示と管理

タスク コマンド 備考
1.MACアドレステーブル情報を表示します。 display mac-address [mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole ] [ vlan vlan-id ] [ count ] ] [ | { begin | exclude | include } regular-expression ] どのビューでも利用可能
2.マルチポートユニキャストMACアドレステーブルエントリを表示します。 display mac-address multiport [ vlan vlan-id ] [ count ] [ | { begin | exclude | include } regular-expression ] どのビューでも利用可能
3.動的MACアドレスエントリのエージングタイマーを表示します。 display mac-address aging-time [ | { begin | exclude | include } regular-expression ] どのビューでも利用可能

概要

 確かに、それがMACになると、女性は美のことを考える一方、男性は素晴らしいコンピュータを考える傾向があります。しかし、私たちが「MACアドレス」という言葉を聞いたとき、今、私たちはまったく異なる獣について話していることがわかります。MACアドレスはネットワークカードに固有のもので再利用されないため、アプリケーションでは非常に便利で重要です。ネットワークスイッチはすべてのポートで見たMACアドレスのリストを保存し、パケットを見る必要があるポートにだけパケットを転送します。無線アクセスポイントは、アクセス制御にMACアドレスを使用することがよくあります。それらは既知のデバイスへのアクセスのみを許可します。さらに、DHCP(動的ホスト構成プロトコル)サーバーはMACアドレスを使用してデバイスを識別し、一部のデバイスに固定IPアドレスを割り当てます。


6.9k

おすすめのコンテンツ