IPv4マルチキャスト
なぜ2つのIPグループが1つのMACアドレスを共有できるのか?
このマッピングでは、固定のEthernetプレフィックスとIPv4グループの下位23ビットを使用します。グループの一部のビットは含まれないため、異なるIPグループが1つのEthernetアドレスを共有することがあります。ホストやスイッチは、パケットの処理時に追加情報を使用する場合があります。これらは概念を説明する例であり、製品の測定結果ではありません。
マッピング
標準のマッピングでは、IPv4の下位23ビットを保持します。
重複
異なるIPグループが、マッピング後のアドレスを共有することがあります。
受信
IPの宛先とホストのグループ参加状態も引き続き重要です。
宛先IPとMACアドレスを一緒にキャプチャします。
VLANとグループ参加状態を確認します。
各エンドポイントで、許可を得て取得したキャプチャを比較します。
選定・検証チェックリスト — 展開
| 確認項目 | 確認する内容 | 検証方法 |
|---|---|---|
| マッピング | IPとMACアドレス | 両方のフィールドをキャプチャ |
| グループ参加状態 | グループとポート | ホストとスイッチの状態を確認 |
| 経路 | VLANと転送 | キャプチャを比較 |
1台の産業用機器が受信側のグループにデータを送信すると、パケットキャプチャで意外な現象が見られることがあります。異なる2つのIPv4マルチキャストアドレスが、同じEthernet宛先MACアドレスを使用する場合があるのです。これはスイッチの誤動作を意味するのでしょうか。いいえ。IPアドレスとMACアドレスは異なる層に属し、標準のIPv4からEthernetへのマルチキャストマッピングは1対1ではありません。

まずは1対1と1対多から
ユニキャストは一般に1つの宛先を指定し、ブロードキャストはブロードキャストドメインに届き、マルチキャストは受信を希望する受信側が参加するグループを対象とします。これらの用語は通信の目的を表すものであり、すべての機器がすべてのマルチキャストパケットを受信または処理することを保証するものではありません。
産業設備では、映像、監視データ、状態データを複数のシステムへ届ける必要がある場合があります。マルチキャストが適切かどうか、またどの機器が受信すべきかは、用途とネットワーク設計によって異なります。スイッチはポート間でEthernetフレームを転送します。受信側のホストも、アプリケーションへデータを渡す前に、ネットワーク層の情報と自身のグループ参加状態を確認します。
FCTELEのDINレール型レイヤー3管理型産業用スイッチの資料には、IGMPスヌーピングを含むマルチキャスト管理機能が記載されています。実際の機種の資料、ソフトウェアバージョン、設定を確認してください。本記事は一般的なアドレスマッピングを説明するものであり、その製品の実地試験であるとは主張していません。
パケットに2つのアドレスがある理由
IPパケットをEthernetで送信する際、送信側はそのパケットをEthernetフレームに格納します。フレームヘッダーには宛先MACアドレスが含まれ、内部のIPパケットには宛先IPアドレスがあります。両者は異なる目的を持ち、別々のフィールドに格納されます。MACアドレスはEthernetリンクでの処理に使用され、IPアドレスはネットワーク層の宛先を識別します。
IPv4マルチキャストでは、送信側がマルチキャストグループアドレスをEthernetマルチキャストMACアドレスにマッピングし、フレームヘッダーに格納します。スイッチは、転送方式と利用可能なマルチキャスト状態情報に従って出力ポートを選択します。その後、受信機器がIPの宛先と自身のグループ参加状態を確認します。実際の転送は実装と設定によって異なります。
例えば、IPv4グループ224.1.1.1は、Ethernet MACアドレス01:00:5E:01:01:01にマッピングされます。ドットで区切られた10進数はIPv4アドレスを表し、コロンで区切られた6つの16進数のバイトはMACアドレスを表します。両者はマッピングによって関連付けられているのであり、同じフィールドの2通りの表記ではありません。
マッピングで保持されるのはグループアドレスの一部のみ
IPv4マルチキャストは定義されたアドレス範囲を使用し、EthernetマルチキャストMACアドレスには固定のプレフィックスがあります。MACアドレスの先頭3バイトは01:00:5Eで、次のビットはゼロに固定され、末尾の23ビットにはIPv4マルチキャストアドレスの下位23ビットが使われます。図では、プレフィックス、固定ビット、保持される部分を分けて示しています。
IPv4マルチキャストアドレスの可変グループ部分には、23ビットを超えるビットが含まれます。このMACマッピングにはグループ部分の5ビットが引き継がれないため、下位23ビットが同じ異なるIPグループから、同じMACアドレスが生成されることがあります。この重複はマッピングの仕組みによるものであり、機器がアドレスを誤って計算した証拠ではありません。
初心者が現場の設定を行うために、2進数を手計算する必要はありません。重要なのは、MACアドレスがIPアドレスの完全なコピーではないという点です。調査時には、1つのフィールドだけを見るのではなく、宛先IP、宛先MACアドレス、受信側またはポートの状態を一緒に記録してください。

MACアドレスを共有しても、2つのIPグループが同一になるわけではない
確認可能な例を挙げます。224.1.1.1と225.1.1.1は異なるIPv4マルチキャストグループですが、どちらも01:00:5E:01:01:01にマッピングされます。これらのサンプルアドレスはマッピングを説明するためのものであり、特定の設備で使用されていることや、製品の測定を行ったことを主張するものではありません。
2つのEthernetフレームの宛先MACアドレスが同じでも、内部にカプセル化された宛先IPアドレスは異なるままです。最初の受信または転送の判断をMACアドレスだけに基づいて行うネットワークアダプターやスイッチは、そのフィールドだけでは両グループを区別できません。その後の処理では、IPの宛先、マルチキャストのグループ参加状態、アプリケーションの受信登録も使用できます。
したがって、同じMACアドレスが見られたからといって、アプリケーションが別のグループの内容を受信したことにはならず、スイッチが両グループを完全に分離している証拠にもなりません。結果は、転送の実装、IGMPスヌーピングの状態、ホストのネットワークスタックによって異なります。MACアドレスだけを示すスクリーンショットでは、フィルタリングが正しいと判断できません。
IGMPスヌーピングはマッピングではない
IGMPは、IPv4ホストがマルチキャストグループへの参加状態を通知するために使用します。IGMPスヌーピング対応のスイッチは、関連する制御メッセージを監視してグループとポートの情報を保持し、マルチキャストトラフィックを必要としないポートへのトラフィック削減に役立てることができます。ポートテーブル、クエリア、エージング動作については、実際の実装と設定を確認してください。
マッピングは、IPv4マルチキャストグループに対応するEthernet宛先MACアドレスを決めます。IGMPスヌーピングは、どのポートがどのグループのトラフィックを必要とするかに関係します。両者は関連していますが、互いに置き換えられる仕組みではありません。MACアドレスだけが分かっても、現在の受信側を特定したり、グループ参加状態が今も有効であると証明したりすることはできません。
ポートで想定したトラフィックが確認できない場合は、まずホストが正しいIPグループに参加しているか、VLANが一致しているか、スイッチが想定どおりのグループ参加状態を保持しているかを確認します。その後、クエリアと上流経路を確認してください。すべてのマルチキャスト問題をアドレスの衝突のせいにしたり、影響を評価せずにフィルタリングを無効にしたりしないでください。

フレーム、IPアドレス、取得位置を記録する
有用な記録には、キャプチャ位置、VLAN、時刻、Ethernet宛先MACアドレス、IPv4の宛先、関連ポートが含まれます。ミラーポート、受信ホスト、送信側のどこで観測したのかを区別してください。位置によって確認できるトラフィックの範囲は異なる場合があり、1つのキャプチャがそのままネットワーク全体を表すわけではありません。
例えば、送信側が意図したグループ宛てにパケットを送出し、そのフレームがスイッチの入力側では確認できるのに、意図した出力側では確認できない場合、次にVLANのグループ参加状態と転送ポリシーを調べます。フレームがホストに届いているのにアプリケーションで何も確認できない場合は、選択したインターフェースと参加先グループを確認してください。この順序に従えば、特定の内部実装を前提とせずに調査範囲を絞り込めます。
クエリアは設備の状況を踏まえて評価してください。観測されるグループ参加状態は時間とともに変化することがあります。制御メッセージの到達性、構成、エージング設定はいずれも記録に影響します。異なる時点での観測を1つの結果と誤認しないよう、キャプチャ時刻と設定バージョンを記録してください。
MACアドレスの共有を検証するには、生産制御上の意味を持たない、使用許可を得たテストトラフィックを使用してください。両方のパケットの宛先IPとMACアドレス、グループ参加状態、ポートの転送状態を記録します。この例と図は仕組みを説明するためのものであり、特定製品の実地試験報告ではありません。
それでもアプリケーションでデータを確認できない場合は、ホストのファイアウォールルール、インターフェースの選択、アプリケーションのグループ参加方法、サブネット間のマルチキャストルーティングを調べてください。Ethernetスイッチング、IPマルチキャストルーティング、アプリケーションの受信登録は、それぞれ異なる段階です。確実な受信には、関連する各段階が連携して機能する必要があります。
まずマッピングを確認し、次に各層を確認する
IPv4マルチキャストのマッピングでは下位23ビットを保持するため、複数のIPグループが1つのEthernet MACアドレスを共有することがあります。Ethernetフレームとその内部のIPパケットには、それぞれ独自のフィールドがあります。MACアドレスが一致しても、2つのIPグループが同一になるわけではありません。実際の動作は、グループ参加状態、VLAN、転送設定と照らし合わせて評価する必要があります。
計画時に、対象グループ、受信ホスト、スイッチポート、クエリアを文書化してください。受け入れ検証時には、送信側、スイッチ、受信側で証拠を収集します。これにより、想定内のマッピングの重複と、実際の転送問題を区別しやすくなります。
参考資料
RFC 1112:IPv4マルチキャストからEthernetへのマッピング · RFC 4541:IGMPスヌーピングに関する考慮事項 · FCTELE管理型産業用スイッチの製品情報.
以下の中国語技術記事から翻訳: 中国語の原文記事を読む.
よくある質問
すべてのIPv4マルチキャストグループに固有のEthernet MACアドレスが割り当てられるのですか?
いいえ。マッピングされるのはIPの下位23ビットだけなので、異なるIPv4グループがMACアドレスを共有することがあります。
IGMPスヌーピングはアドレスマッピングの代わりになりますか?
いいえ。マッピングはEthernetの宛先を決めます。スヌーピングは、実装に応じて、グループ参加状態とポートの関連付けを支援します。
MACアドレスを共有していると、アプリケーションは同じ内容を受信するのですか?
必ずしもそうではありません。IPの宛先とホストのグループ参加状態も引き続き関係し、転送とフィルタリングは機器や設定によって異なります。
適用範囲と参考資料
これは一般的なIPv4マッピングの例であり、製品の試験や測定ではありません。
産業用スイッチの機能とマルチキャスト · 産業用スイッチによるフレーム転送の仕組み · RFC 1112 · RFC 4541


