Sıradan Ethernet Switch'lerle EtherCAT Frame'lerini Anahtarlamak için Switch Kuralları

EtherCAT, yönetilen bir Ethernet altyapısı üzerinden değil, özel bir daisy-chain segmenti üzerinde çalışmak üzere tasarlanmıştır. EtherCAT frame’lerini sıradan Ethernet switch’ler üzerinden iletmen gerekiyorsa (örn. uzak bir EtherCAT segmenti için), düz MAC öğrenme doğru çalışmaz — açık switch kuralları gerekir. Bu yazı nedenini ve hangi kuralların yapılandırılacağını açıklar. Ayrıca bkz. What is the EtherType for EtherCAT ve Which MAC addresses does EtherCAT use as source MAC and destination MAC.

EtherCAT’ta MAC öğrenme neden çalışmaz

Sıradan bir Ethernet switch, bir frame’i o host’un kendi trafiğinden hedef MAC’i öğrendiği porta iletir. Bu EtherCAT için iki nedenden bozulur:

  • Slave’ler asla Ethernet frame’i göndermez. EtherCAT slave’leri master’ın frame’ini anlık işleyip geçirir; kaynak MAC her zaman master’ın MAC’i kalır. Bu yüzden switch, EtherCAT segmentinde yalnızca tek MAC öğrenir — master’ınki. Switch arkasındaki diğer tüm cihazlar MAC öğrenmeye görünmez.
  • Hedef MAC öğrenilen bir adres değildir. Master’a bağlı olarak hedef broadcast (FF:FF:FF:FF:FF:FF), multicast (01:01:01:01:01:01) ya da kaynak olarak hiç görünmeyen bir unicast MAC’tir. Broadcast ve multicast frame’ler tüm portlara flood edilir (çalışır ama bant genişliği harcar ve IGMP snooping veya storm control tarafından filtrelenebilir); bilinmeyen unicast hedef de flood edilir ama herhangi bir cihaz o MAC’i sahiplenirse çalışmaz.

Yani EtherCAT switch üzerinden “bir şekilde çalışır” — ama sadece flood etmenin tesadüfüyle; kırılgandır ve snooping, storm control veya MAC tablosu değişiklikleri devreye girince bozulabilir.

Önerilen switch kuralları

  1. EtherType’a göre filtrele. EtherCAT frame’leri EtherType 0x88A4 ile tanımlanır. Destekleyen switch’lerde (ACL’ler, protokol tabanlı VLAN’lar) EtherType 0x88A4 eşleştirerek EtherCAT trafiğini sınıflandır.
  2. EtherCAT’i kendi VLAN’ına izole et. Master port’unu ve EtherCAT segment port(lar)ını özel bir VLAN’a koy ki EtherCAT flood’u ağın geri kalanına sızmasın ve normal trafik EtherCAT zamanlamasına karışmasın.
  3. Hedef MAC’i açıkça ilet. Hedefi FF:FF:FF:FF:FF:FF (broadcast) veya 01:01:01:01:01:01 (multicast, master’ına bağlı) olan frame’leri o VLAN içindeki EtherCAT segment portlarına ileten statik bir forwarding/ACL kuralı oluştur.
  4. EtherCAT VLAN/portlarında müdahale eden özellikleri kapat. EtherCAT yolu için IGMP snooping, multicast filtreleme ve broadcast storm control’ü kapat ve flood edilen frame’leri engelleyebilecek MAC-öğrenme tabanlı kısıtlamaları (port security) devre dışı bırak.
  5. Dönüş yönü. Frame, hedef olarak master’ın MAC’iyle (veya uygulamaya bağlı olarak hâlâ broadcast) aynı yoldan master’a döner; kuralların trafiği master’ın portuna simetrik olarak geri ilettiğinden emin ol.

Pratikte en sağlam kurulum, özel bir VLAN artı EtherType 0x88A4 eşleşen statik bir kuraldır — bu, master’ın hangi hedef MAC’i kullandığından bağımsız olarak EtherCAT iletimini tam olarak istediğin portlara sabitler.


Check out similar posts by category: EtherCAT