Skip to content

Designing a Show Network

A show network carries a lot of traffic: control, lighting data, digital audio, comm, etc. Oftentimes, the data traffic doesn’t want to be intermingled.

There’s two ways to achieve the isolation: physical networks or VLANs.

Physical networks are often easiest to configure, just use dumb switches and run a cable everywhere. This works well for small networks, but doesn’t scale.

Virtual networks require more configuration, but the tradeoff is you don’t have to have 10 separate network runs between locations.

That being said, there can be a cognitive overhead with managing the virtual networks as the configuration parameters increase quite a bit. The hardware to support VLANs increases the cost of a project as well.

This guide will reflect a larger, broadway-style network that leverages VLANs to simplify the physical infrastructure.

We like to represent networks like this in two ways:

  • A virtual layout — what networks exist and who lives on each one.
  • A physical layout — every switch port and what plugs into it.

The first step is laying out the bones of your network. It’s important to consider which traffic wants to be separate and which traffic can coexist.

Often, the separation of networks is dictated by priority. You may not want co-mingle critical comm traffic with the internet network as an extreme example.

VLANs are defined with an ID and a subnet. To reduce the amount of numbers, we like to do the vlan id the same as the third octet of the ip address. So, a VLAN ID of 30 would correspond to 10.0.30.x or 192.168.30.x.

It may be worth mentioning here that you’ll likely want to choose addresses in the private IP range 192.168.0.0/16, 172..16.0.0/12, or 10.0.0.0/8. These addresses are in CIDR Notation.

A full plan for a musical looks something like this:

VLANNameSubnetWhat’s on it
1Management10.0.1.xSwitches, routers, WAPs — the network itself
10Control10.0.10.xShow control: QLab, plugin hosts, processors, amps
20Comm10.0.20.xComm stations, beltpack antennas, call panels
30Video10.0.30.xVideo routers, PTZ cameras, recorders
40KVM10.0.40.xKVM-over-IP transmitters and receivers
50Console192.168.2.xThe mixing console and its engines
60RF10.0.60.xWireless mic receivers, chargers, spectrum tools
61RF Listen10.0.61.xDante for the RF listen system
70Internet10.0.70.xThe one VLAN with a route to the outside world
80AVBlink-localAVB audio to the processors and amps
90sACN10.0.90.xLighting data to sound (cue lights, haze)
100Haze Watch10.0.100.xAir-quality sensors
110PSN10.0.110.xPosiStageNet position data

VLAN 50 breaks the third-octet rule because the console ecosystem ships with its own fixed addressing scheme — it’s easier to give the console its walled garden than to fight it. Every rule needs exactly one exception so you remember it’s a rule.

The virtual layout sheet is the logical view: one block per VLAN, listing every device on that network and its IP.

  • .1 — the router (if this VLAN has one)
  • .2–.9 — network infrastructure
  • .11–.19 — control computers
  • .21 and up — devices, grouped in ranges (.2x racks, .3x stations, .4x amps…)
  • .101 and up — people’s machines: designers, techs, production
  • .151–.200 — the DHCP pool, for wireless and visitors

This away an IP tells you what a device does, not just where it lives. 10.0.10.41 is an amp on Control. 10.0.20.103 is somebody’s laptop on Comm.

Here’s a trimmed block for VLAN 10:

NameIPNotes
Control10.0.10.xVLAN ID = 10, 255.255.255.0
Router10.0.10.1Gateway
QLab Main10.0.10.15
sndwrks server10.0.10.20
Orch/Downfill amp10.0.10.41
Designer laptop10.0.10.101
DHCP10.0.10.151–200Wireless clients

Notice the server appears in this block: it’ll appear again in the Comm block at 10.0.20.20, and Video at 10.0.30.20. This way it has the same last octet for easy identification across networks. This a way to manage the overhead of having so many different IP addresses.

The physical layout sheet is the port map: one row per switch port.

ColumnMeaning
SwitchWhich physical switch
PortWhich port on it
VLANThe VLAN(s) on that port — or Trunk
DeviceWhat plugs in

This is where tagged and untagged happen, so it’s worth being precise about the terms:

  • Untagged (access) — the port belongs to exactly one VLAN. Frames arrive plain, and the switch files them into that VLAN. The device has no idea VLANs exist. This is most devices: a comm station, a console, an amp.
  • Tagged — frames carry an 802.1Q header naming their VLAN, so one cable can carry several networks at once. The device on the end has to understand tags and be configured for them.
  • Trunk — a port carrying many tagged VLANs. Switch-to-switch links, servers, and wireless access points are the usual trunk customers.

Every switch also reserves its last copper port for VLAN 1, untagged. You can always walk up with a laptop, plug into the management network, and fix whatever you just broke. It’s often easy to click the wrong setting and lose connectivity to a switch on another part of the network.

This example shows a very small network with two switches and four VLANs.

SwitchPortVLANDevicePort type
FoH410 + 70TQLab MainUntagged 10, tagged 70
FoH1050SD7 ConsoleAccess — one VLAN only
FoH13TrunkFoH WAPAll VLANs tagged
FoHSFP 1–2TrunkLAG to MainAll VLANs tagged
Main9Trunksndwrks serverAll VLANs tagged
Main2520SM Call StationAccess — one VLAN only
Main241ManagementThe walk-up port

Reading down the rows:

  • The SD7 and the SM call station are the simple case: access ports, one untagged VLAN each. The devices never see a tag.
  • QLab Main is the mixed case: its show-control traffic rides VLAN 10 untagged (so the Mac’s network stack needs no special config), and VLAN 70 arrives tagged on the same cable for the rare moments it needs the internet — a second, tagged interface configured in macOS.
  • The sndwrks server and the WAP are pure trunks. The server needs a presence on every network it monitors; the WAP maps each SSID to a tagged VLAN.
  • The LAG between switches is two SFP ports aggregated into one logical trunk for bandwidth and redundancy.

What the cabling actually looks like:

graph TB
    MAIN["Main Switch"]
    FOH["FoH Switch"]

    MAIN ===|"SFP 1–2 · LAG · trunk"| FOH

    FOH ---|"port 4 · untagged 10 + tagged 70"| QLAB["QLab Main"]
    FOH ---|"port 10 · access VLAN 50"| SD7["SD7 Console"]
    FOH ---|"port 13 · trunk"| WAP["FoH WAP"]
    MAIN ---|"port 9 · trunk"| SRV["sndwrks server"]
    MAIN ---|"port 25 · access VLAN 20"| SM["SM Call Station"]

The same five devices, redrawn as the networks see them.

graph TB
    subgraph V10["VLAN 10 · Control · 10.0.10.x"]
        QLAB10["QLab Main · .15"]
        SRV10["sndwrks server · .20"]
    end
    subgraph V20["VLAN 20 · Comm · 10.0.20.x"]
        SM20["SM Call Station · .31"]
        SRV20["sndwrks server · .20"]
    end
    subgraph V50["VLAN 50 · Console · 192.168.2.x"]
        SD750["SD7 Console · .22"]
    end
    subgraph V70["VLAN 70 · Internet · 10.0.70.x"]
        RTR["Router · .1"]
        QLAB70["QLab Main · DHCP"]
        SRV70["sndwrks server · .20"]
    end

The server shows up in three networks because its trunk port carries three tags. QLab shows up in two — one untagged, one tagged. The console shows up in exactly one, which is exactly how much of your network a console should be able to reach.

Hopefully, that was a helpful introduction into a way to setup a show control network. If you have any more questions, join our discord. The link is in the navbar to the right.