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
この記事が役に立った場合は、TechOverflow での新しい記事の調査と公開を支援するため、「Buy Me a Coffee」でのご支援、または PayPal 経由でのご寄付をご検討ください