Modern entertainment lighting systems are more complex and connected than ever before. Most new lighting fixtures and all new consoles have built in art net or streaming ACN support. Moving away from traditional 5 pin DMX and building your systems around these networking technologies can cut your load in times, cable costs and speed up your programming. Working with these systems requires an understanding of basic networking but knowing how they work and how to troubleshoot lighting networks can save you a lot of time and trouble on show site.
In this three part series we will cover:
- The fundamentals of networking
- How to set up a show lighting network
- Troubleshooting a show lighting network
In this series we’re going to assume you’re already familiar with DMX, modern lighting fixtures and how to run your lighting desk, the focus here is in understanding, setting up and using networks in your lighting rig.
Before we get into what a network is and how it works, we need to cover some basic equipment. We’ll get more in depth about this equipment in part two of the series, but for now it’s just important to know roughly what the parts are and what they do.
Physical parts of a network
A network can be as simple as two nodes (or devices) connected and talking to each other or as complex as the internet. Most stage lighting related networks consist of the following physical components:
- Nodes – these are individual devices that need to communicate with other devices on your network. A node can be your lighting desk, your computer running lighting control software, a fixture, an NPU, a DMX node that takes in networked protocols and spits out a universe of 5 pin, anything that needs to communicate on the network
- Switches – Switches are central points that allow you to connect multiple nodes. The signals to and from each node are sent to the switch, which then sends that information back out to the network
- Routers – A router connects one network to another. Most commonly you’ll find this in your home or business acting as a gateway between your private network of computers and the internet, which is a separate network. Many routers have switches built in, but these are still two different parts of the network.
These devices all connect to form a network in one of three ways:
- Copper wire – by far the most common method used in lighting networks to connect these devices is by using copper wires, most commonly CAT5 or CAT6 cables with four pairs of copper wires. These cables are cheap, readily available, and reliable but are limited to runs of 100m or 328 ft and usually up to 1Gbps, although 10Gbps is possible with the right equipment
- Fiber optics – the coolest way to move data, glass fiber optic cables have one or more light pipes where a laser shines into the light pipe to indicate ones and zeroes, then it’s received at the other side. Fiber optic cables are excellent for high bandwidth/high speed communications over long distances, but expensive and fragile. In a lighting network the most likely place you would find these in use is for a home run from front of house to NPUs and switches backstage where the signals get distributed.
- Wireless – Wireless is super convenient and may be OK in some cases like for a wedding DJ but should never be trusted in a production environment. Wireless signals may work fine during rehearsals and load ins, but when the audience comes in to see the show the entire area gets so flooded with wireless signals reliability and speed go right out of the window.
A network is a group of interconnected systems exchanging information. Networks operate at several different levels, from the physical cabling all the way up to the applications that run on it. Networking is commonly broken up into seven different layers, but in practice several of those layers tend to blur together, so we’ll divide things into four layers for this discussion: the link layer, the internet layer, transport layer and the application layer. These layers define how members of a network talk to each other so that different equipment from different manufacturers can all communicate clearly.
The Application Layer
The application layer is where application specific protocols reside. For most people this is HTTP for websites, SMTP for emails, FTP for file transfers, etc. In the world of lighting, this is typically for art net, streaming CAN, CITP, MA-Net, TitanNet, KlingNet and similar.
The Transport Layer
The transport layer packages application data into bite-sized pieces that can be moved easily over the link layer. This is most commonly done through two different transport-layer protocols:
TCP (Transmission Control Protocol) is often used for moving information to and from web browsers or for file transfers. With TCP, two devices on the network establish a connection and exchange a continuous stream of data. That stream is broken up into segments, and every segment has a sequence number. The sequence number allows the receiver to correctly reassemble the stream even if segments arrive out of order. The receiver also sends an acknowledgement to the sender, so that any segments that are lost can be retransmitted. This makes TCP a “reliable” transport protocol, since lost or out-of-order segments do not result in lost or corrupted data. The downside to this reliability is latency: minimum TCP timeouts for many systems are 200-300ms, but can be much longer depending on network conditions, so for real-time applications, it may not be possible to detect a lost segment and retransmit it in time for that segment to be useful. Streaming audio or video may work around this limitation with sufficient buffering, but buffering isn’t always possible for data that is being generated in real-time. The segment data, sequence number, source and destination port numbers, and other important information about the connection are packaged up into a TCP datagram which is then handed off to the lower levels of the networking system for transmission.
UDP (User Datagram Protocol) is a simpler protocol. No connection is established between sending and receiving devices beforehand: each device simply sends a chunk of data called a “datagram” to one or more receiving devices. There is no built-in way to detect if a message is lost or received out of order, but many protocols built on top of UDP implement their own reliability mechanisms like sequence numbers or acknowledgements when a certain amount of reliability is worth a bit of extra overheard. Art-Net and Streaming ACN are both UDP-based protocols, and they achieve reliability through rapid repetition, much like 5-pin DMX: the latest information is sent pretty much continuously, so before a lost message would even be noticed by a TCP-based protocol, the next message is already on its way. Some control systems will reduce their Art-Net or sACN transmission rate when channel values are not actively changing to conserve network bandwidth, but such systems generally still send new values several times in a row to ensure reception. Like with TCP, the UDP data is packaged up into a datagram to be handed off to the next layer of the networking system.
The Internet Layer
The internet layer accepts the TCP or UDP datagrams constructed at the transport layer and then further packages them for routing to the intended recipient. This can be literally across the internet or it can be on a local network. At the Internet layer, source and destination systems are identified by their IP addresses.
Let’s take a quick sidetrack here to talk about IP addresses and subnet masks.
An IP address identifies each device on a network. This can be IPv4 or IPv6. IPv4 addresses are 32 bit value represented as a series of four numbers between zero and 255, like this:
This gives about four billion possible IP addresses, of which several ranges are reserved for use on local networks. The rest are all assigned to companies for use as a unique identifier for their specific public-facing networked systems, such as web servers. When you type a website URL like “www.x-laser.com” into your browser, internet systems look that address up in a directory system to find the IP address of the server hosting that website. Your browser then opens a TCP connection to that IP address and requests the web page.
While four billion is a lot of addresses, this eventually proved to be insufficient for the explosive growth of the internet and connected devices. The solution was IPv6, which uses 128 bit addresses. This provides a range of 340282366920938463463374607431768211456 (3.4x10^38) addresses. This is about half as many addresses as there are atoms in the known universe, so it should be a very long time before we run out of IPv6 addresses.
IPv6 addresses are a 128 bit value often represented as a series of eight groups of four hexadecimal values separated by colons. Sometimes strings of zeros are left out, so IPv6 addresses can look like any of the following:
IPv6 addresses are much less commonly in use than IPv4 today, but this is expected to change over the coming decade as we need more and more IP addresses to make our networks function. At this time, though, many common entertainment protocols are not specified for use in IPv6 networks, and most show networks are not nearly big enough to need IPv6 addressing anyway.
Within both IPv4 and IPv6, there are blocks of addresses that are reserved for private networks and addresses reserved for other uses.
IPv4 Private ranges:
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
In addition to the IP address, every device needs to be configured with a subnet mask. The subnet mask divides the IP address into “subnet identifier” and a “host identifier”. This allows a local network to be split into subnetworks so that only devices on the same subnet can communicate with each other. IPv4 subnet masks are generally written as four dot-separated numbers like IP addresses. Subnet masks are based on the binary representation of the IP address, which in IPv4 is 32 bits total, divided into four 8-bit sections. A binary ‘1’ in any bit of the subnet mask indicates that the same bit in the IP address is part of the subnetwork identifier and not the host identifier. In this example, the first 24 bits of the IP address are used for the subnet:
You may also see the subnet mask indicated as part of the IP address, for example “192.168.1.240/16”. The number after the slash indicates the number of bits used for the subnetwork. In general, you can use the following subnets for the following private ranges:
Using a different subnet mask than the above would mean that it may not be possible for all devices in the given IP address range to communicate with one another. Sometimes this is done intentionally to prevent certain devices from seeing or interfering with other devices on the network
Note that within each address range, the lowest and highest IP addresses are reserved. The lowest address (usually ending in zeros) is reserved to refer to the entire network, and the highest address (usually ending in 255) is reserved as the broadcast address.
While it is possible to use IP addresses outside of these private ranges on a network, this can cause problems if the network is ever connected to the internet, so it’s best to always stay within one of these ranges. All stage lighting devices should permit you to set their IP address, but some only work in certain ranges. Check your manual to see if the range is restricted. In most show networks today, IP addresses are manually configured, but you may use automatic IP address assignment via DHCP instead, as long as all of your devices support this and you have a DHCP server on the network. In most home and office networks, your internet router acts as the DCHP server.
The primary purpose of your home or office router is to serve as a bridge or gateway between your private home or office network and the public internet. This allows your network, with devices in a private IP address range, to communicate with other devices with public IP addresses, or even with devices on other private networks with their own private IP addresses. Your router, and possibly a router at the other end of your connection, keep track of those connections and handle the required translation between public and private addresses.
This means that the IP Addresses on your private network do not need to be globally unique, but they still need to be unique within the local network. You can have a device with IP address 10.0.0.1 and I can have a device with the same address, but on a different network and there will be no conflict.
If I connect my device with address 10.0.0.1 onto your private network, we’ll begin to have network conflicts and errors.
This point is particularly important with stage lighting networks where stagehands and technicians may be used to DMX addresses where if you have two devices with the same address, they will simply do the same thing. This is not the case with IP addresses and instead neither device will function correctly.
So to sum up, in general, all devices on a private network should have an address that is:
- In one specific private address range
- Unique on the local network
- Paired with the same subnet mask
- Not be the first or last address in the range
The IP address of a device can and often will be changed through it’s life as the device serves different needs. Your phone or laptop’s IP address will change every time you connect to a new private wifi network. Your lighting fixtures may need to have their IP address changed from tour to tour to make sure everyone’s devices can play nicely together.
These IP addresses are used to identify the source and destination of any given packet at the IP layer of the network. Packets that are destined for every device on the network are a special case. These broadcast packets are sent to the broadcast address, which is usually the highest numeric address in the range and is reserved specifically for this purpose. Packets that are destined for a specific group of devices on the network are another special case. These “multicast” packets are sent to a specific IP address within the range reserved for that purpose: 18.104.22.168 through 22.214.171.124. How these multicast groups are used is defined by the application, but any device that wishes to receive (or stop receiving) data for a given multicast group should join or leave that group by sending an IGMP or Internet Group Management Protocol message to the network.
Once a UDP or TCP datagram is encapsulated into an IP packet, the packet is handed off to the lowest level of the network: the Link Layer.
The Link Layer
The link layer takes an IP packet and further packages it into something that can be handled by the lower level hardware, typically an Ethernet frame. Ethernet frames are relayed through the network not based on the IP information, but based on MAC Addresses. Every terminal on the network, whether it’s your PC, lighting console, or DMX node, has a fixed MAC address assigned by the manufacturer. On devices with multiple network interfaces, each interface has its own unique MAC Address, which is 48 bits and usually written as six pairs of hexadecimal numbers separated by colons. MAC addresses are globally unique, and manufacturers are assigned exclusive MAC address ranges to ensure this.
Media Access Control or MAC addresses are unique to a network interface controller or NIC. They are assigned by the manufacturer when the device is built and cannot be changed. A device might have multiple NICs and therefore multiple MAC addresses. Many high end lighting consoles have multiple network interfaces, but even a lot of phones, laptops and desktop computers have multiple NICs in the form of one ethernet jack and one wireless connection. Each of these connections has a separate MAC address.
Because IP packets are addressed to IP addresses, but Ethernet frames are addressed to MAC addresses, there must be some method for a device to discover the MAC Address of the device with a given IP Address. This is called ARP, or Address Resolution Protocol. When a device wants to send an IP packet to an IP it doesn’t know the MAC address for, it will first send an ARP request for the IP Address.
Any device with that IP address then responds with its MAC address. Devices generally maintain a cache of this IP-to-MAC-Address mapping so that they don’t have to send an ARP request every time they send an IP packet. Sometimes devices will send a “gratuitous” ARP request to announce their IP address and check for conflicts, especially when automatic addressing is used.
Broadcast and Multicast messages get special handling. Since broadcast and multicast IP addresses are reserved and should never be assigned to an actual device on the network, they are mapped directly to a reserved set of MAC addresses. Broadcasts are sent to MAC Address FF:FF:FF:FF:FF:FF, and multicasts are sent to MAC Addresses in the range of 01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF. There are actually more IP multicast addresses than multicast MAC addresses: about 268 million versus 8.4 million, so each multicast MAC address corresponds to up to 32 IP multicast groups.
Once the application at one end of a network connection has generated some sort of data, packaged it into a UDP datagram or sent it to a TCP stream, and the network system has packaged that UDP or TCP datagram into an IP packet which has been wrapped up in an Ethernet frame with the appropriate source and destination MAC Addresses, the network interface hands it off to the physical interface, which is responsible for translating the bits in the frame into the electrical signals carried by a Cat 5 cable or pulses of light carried by an optical fiber. At the other end of that cable or fiber, the whole process happens in reverse: The physical interface translates voltages or pulses of light back into the bits of an Ethernet frame, the contents of the frame is extracted to get the IP packet, and the contents of the IP packet are handed off to the TCP stream or UDP socket of the receiving application. In between one device and another the signals may be relayed by switches, routers, or media converters, but we’ll talk about those in the next part of the series.
While all of these layers may seem over complicated, the flexibility of this layered system is fundamental to the world as we know it, from the simplest show networks to the entire internet that spans the globe and links together billions of devices. In part two of the series we’ll take what we’ve learned here and apply it to our show to see how we determine what our network needs to look like, what it’s different physical components will be and how we can set up our devices to all talk to each other to make a killer light show.