La Arquitectura para Redes de Control ( ACN ) es un conjunto de protocolos de red para el control de equipos de tecnología del entretenimiento, especialmente aquellos utilizados en espectáculos en vivo o instalaciones a gran escala. Por ejemplo, equipos de iluminación, audio o efectos especiales. ACN es mantenida por la Entertainment Services and Technology Association y su primera versión oficial fue la norma ANSI E1.17-2006 - Entertainment Technology - Architecture for Control Networks. Posteriormente, la norma fue revisada y publicada como ANSI E1.17-2010.
ACN se diseñó inicialmente para funcionar sobre UDP/IP y, por lo tanto, funcionará sobre la mayoría de los protocolos de transporte IP , incluidas las redes Ethernet estándar y económicas y las redes 802.11 ( Wi-Fi ).
Arquitectura de protocolo
ACN define una arquitectura de protocolo común, dos protocolos de red principales (SDT y DMP), un lenguaje de descripción de dispositivos (DDL) y varios "Perfiles E1.17 para la interoperabilidad" (conocidos como EPI o perfiles de interoperabilidad ) que definen cómo deben utilizarse los elementos de la arquitectura ACN en un contexto particular para lograr la interoperabilidad. Por ejemplo, proporcionando valores o rangos específicos para los parámetros de temporización que se utilizarán en un entorno de red determinado.
La división de ACN en subprotocolos, perfiles de interoperabilidad y otras partes pequeñas ha sido criticada por dificultar su lectura y comprensión, pero también hace que la arquitectura sea altamente modular y esté claramente organizada en capas, lo que ha permitido que muchas de las partes se utilicen en otros contextos, se reemplacen o se revisen sin alterar las demás. Por ejemplo, DMP se ha utilizado tanto sobre TCP como sobre SDT, tal como se definió en el estándar inicial; DDL se ha adaptado con pocos cambios para describir dispositivos a los que se accede mediante DMX512 (ANSI E1.31/Streaming ACN); y varios perfiles de interoperabilidad han sido objeto de importantes revisiones o reemplazos sin afectar a las demás partes del estándar.
Arquitectura común
La especificación de arquitectura común define un formato de unidades de datos de protocolo (PDU) anidadas, bastante similar a la codificación TLV , que se utilizan en los protocolos principales. Luego define cómo se utiliza un protocolo de capa raíz mínimo para integrar los protocolos de nivel superior en un transporte de nivel inferior y define dicho protocolo de capa raíz utilizando el formato PDU para su uso en UDP/IP .
Transporte de datos de sesión
El protocolo Session Data Transport (SDT) es un protocolo de transporte multicast fiable que opera sobre UDP/IP y que permite agrupar pares dentro de una red en sesiones y entregarles mensajes individualmente o en grupo. La entrega de mensajes se realiza de forma ordenada y los mensajes pueden enviarse de forma selectiva, fiable o no fiable, según se requiera (la fiabilidad es crucial para algunos datos, mientras que evitar la sobrecarga de tiempo y recursos del mecanismo de fiabilidad resulta beneficioso para otros). El mecanismo de fiabilidad también proporciona información sobre el estado en línea, de modo que un componente detecta cuando se interrumpe una conexión. SDT ofrece un alto grado de ajuste fino en el equilibrio entre latencia, niveles de fiabilidad y requisitos de recursos, y la disponibilidad de un gran número de sesiones concurrentes lo convierte en una potente herramienta para agrupar y gestionar componentes cuyas funciones están relacionadas o cuyos requisitos de comunicación son similares.
Protocolo de gestión de dispositivos
El Protocolo de Gestión de Dispositivos (DMP) representa cualquier dispositivo como un conjunto de propiedades direccionables que representan su estado actual o deseado. La monitorización o el control por parte de un controlador se logra estableciendo o examinando los valores de dichas propiedades. Para evitar las ineficiencias del sondeo, además de simplemente leer los valores de las propiedades (mediante un mensaje Get-Property ), DMP proporciona un mecanismo de suscripción mediante el cual un dispositivo enviará mensajes de eventos de forma asíncrona a todos los controladores suscritos cuando cambie el valor de una propiedad.
DMP espera que sus conexiones ofrezcan fiabilidad, de modo que los mensajes Set-Property y Event , que representan una gran parte del ancho de banda operativo en una situación de visualización, no requieran confirmación explícita a nivel de DMP. En el estándar E1.17 y en la mayoría de los sistemas, SDT proporciona esta fiabilidad, pero DMP también ha funcionado utilizando TCP para garantizar la fiabilidad de sus conexiones.
El tamaño en bits, la representación, la accesibilidad de lectura/escritura y la función de cada propiedad en un dispositivo DMP no están determinados por el protocolo, que solo define el mecanismo para leer y/o escribir el valor de la propiedad. En cambio, esa información debe proporcionarse externamente mediante una descripción del dispositivo escrita en DDL o, en casos limitados, puede preprogramarse mediante el conocimiento previo de tipos de dispositivos específicos.
Lenguaje de descripción de dispositivos
El lenguaje de descripción de dispositivos (DDL) permite definir una descripción interpretable por máquina de la interfaz y las capacidades de cualquier dispositivo. [ 1 ] Esta descripción puede ser interpretada por un controlador, que luego puede configurarse automáticamente para controlar dicho dispositivo. La descripción no solo proporciona la información de asignación de direcciones y propiedades necesaria para el funcionamiento del DMP, sino que también puede contener una gran cantidad de información sobre la funcionalidad, las capacidades y la semántica del dispositivo en un formato extensible que permite al controlador extraer las características que necesita para su contexto específico, omitiendo la información que no es relevante para sus necesidades. [ 2 ]
DDL es un lenguaje basado en XML y las descripciones se encuentran en un número reducido de documentos XML . En los sistemas ACN habituales, la descripción de un dispositivo se puede descargar directamente desde el dispositivo. Sin embargo, las descripciones también se pueden distribuir por otros medios (como la descarga por internet) y, dado que una descripción es válida para todos los dispositivos del mismo tipo, los controladores suelen mantener una caché de descripciones para los dispositivos que utilizan con frecuencia.
perfiles de interoperabilidad
Los perfiles de interoperabilidad (EPI) se proporcionan en ANSI E1.17 para el descubrimiento inicial de servicios en un sistema; para la asignación de direcciones de multidifusión cuando se utilizan en UDP e IPv4 ; para la asignación de puertos UDP al realizar multidifusión; para la asignación de direcciones IP en sistemas conformes; para tiempos de espera de protocolo en entornos específicos, etc. Otros EPI que cumplen con la arquitectura ACN se han desarrollado fuera del estándar ANSI E1.17 (véase más abajo).
Extensiones externas
Gracias a su naturaleza modular, ACN ha sido fácil de ampliar.
Un protocolo importante, ANSI E1.31 conocido como Streaming ACN o sACN, fue desarrollado por la misma organización y utiliza la capa raíz y el formato PDU de ACN para transportar los datos DMX512 a través de redes IP (o cualquier otro transporte compatible con ACN).
PLASA ha desarrollado y estandarizado varios perfiles de interoperabilidad adicionales. Estos incluyen:
ANSI E1.30-3-2009 Referencia de tiempo en sistemas ACN que utilizan SNTP y NTP ANSI E1.30-4-2010 que define cómo usar DDL para describir dispositivos controlados mediante DMX512 o Streaming ACN
Implementaciones
Una implementación temprana de código abierto de ACN se publicó como OpenACN [ 3 ] y está disponible en SourceForge . Esta se ha adaptado a una amplia gama de plataformas, pero su alcance es limitado y no implementa ningún soporte para DDL.
Existe otro proyecto de código abierto ACN [ 4 ] que está implementado en C# . Su objetivo es proporcionar una implementación de código administrado completa e incluye código para varios otros protocolos relacionados.
Una implementación completa titulada Acacian [ 5 ] en C , que incluye el análisis de descripciones DDL para generar estructuras DMP, fue publicada bajo la Licencia Pública de Mozilla en 2014.
E1.31 (Transmisión DMX sobre ACN) es compatible con Linux ( ARM , i386 , x86-64 ) y Macintosh ( PowerPC ; i386, x86-64) mediante la Open Lighting Architecture. [ 6 ]
Una implementación en Rust de E1.31 se puede encontrar en GitHub . [ 7 ]
ACN ha sido implementado en sistemas propios por varias empresas, incluyendo su uso por Electronic Theatre Controls (ETC) como base de su infraestructura de control en red de la marca 'NET3' y por Shure Inc. en el control de micrófonos inalámbricos.
Véase también
- Sistemas de control de iluminación para edificios o viviendas.
- Consolas de control de iluminación para iluminación de escenarios y otros dispositivos DMX-512.
- Art-Net , un protocolo propietario para transmitir DMX-512 sobre UDP/IP.
- Arquitectura de control abierta para el control y la monitorización de dispositivos de audio y vídeo en red.
Referencias
- ↑ "Lenguaje de descripción de dispositivos" .
- ↑ "ANSI E1.17-2006 Arquitectura para redes de control - Lenguaje de descripción de dispositivos (DDL)" (PDF) . Archivado del original (PDF) el 29/11/2014.
- ↑ "OpenACN" . Consultado el 25 de agosto de 2011 .
- ↑ "Página principal del proyecto Arquitectura para redes de control" . GitHub . Consultado el 9 de marzo de 2022 .
- ↑ "Proyecto Acacian en GitHub" . GitHub . Consultado el 5 de mayo de 2022 .
- ↑ "Arquitectura de iluminación abierta" . Consultado el 5 de enero de 2012 .
- ↑ "RUST Sacn" . GitHub . Consultado el 9 de marzo de 2022 .
Enlaces externos
- Programa de Normas Técnicas de ESTA
- Iluminación de escenario
- Estándares de Internet
- protocolos de la capa de aplicación