EtherCAT が送信元 MAC と宛先 MAC に使うアドレス

Wireshark で EtherCAT フレームを見ると、Ethernet ヘッダには任意の Ethernet フレームと同様に送信元と宛先 MAC アドレスが表示される(EtherCAT は EtherType 0x88A4 を使う)。ただし EtherCAT でのこれらのアドレスの意味は通常の Ethernet 通信とは異なる。

送信元 MAC

送信元 MAC アドレスは常に EtherCAT マスタの MAC アドレス(つまりマスタが送信しているネットワークインターフェースカードの MAC アドレス)。EtherCAT スレーブはデイジーチェーン経由でフレームを転送する際に送信元 MAC を変更しない——各スレーブはフレームをオンザフライで処理し、送信元フィールドにマスタの MAC が残ったまま渡す。したがって戻りフレームの送信元もマスタの MAC。

宛先 MAC

宛先 MAC アドレスは EtherCAT スレーブでは基本的に使われない。EtherCAT Slave Controller(ESC)は宛先 MAC に関係なくチェーンを通過するすべてのフレームを処理する。アドレッシングは EtherCAT データグラム内で(ポジションアドレッシング、ノードアドレッシング、またはロジカルアドレッシングで)行われるため——Ethernet ヘッダではない。

実際には、マスタ実装に応じて2つの一般的な値が見られる:

マスタ宛先 MAC
多くのマスタ(例:IgH EtherCAT Master、SOEM)FF:FF:FF:FF:FF:FF(ブロードキャスト)
一部のマスタ(例:TwinCAT)01:01:01:01:01:01 または最初のスレーブの MAC

スレーブは宛先フィールドを無視するため、これらはすべて同じように動作する——EtherCAT データグラム自身のアドレッシングが、どのスレーブがフレームのどの部分を読み書きするかを決める。

まとめ

  • 送信元 MAC: EtherCAT マスタの NIC の MAC——戻りフレームでもスレーブによって変更されない。
  • 宛先 MAC: 実装依存(通常はブロードキャスト FF:FF:FF:FF:FF:FF または 01:01:01:01:01:01);EtherCAT スレーブは無視し、代わりに EtherCAT 内部アドレッシングに依存。

同じカテゴリの類似記事をチェック: EtherCAT