Networking

TCP/IP Networking Primer

OK, so here’s a basic primer on TCP/IP networking. Applicable to basic computer networking, including audio devices with a TCP/IP (aka “Cat5”) port and standard networking. I’m not going to bother to explain the acronyms. Make up a cute and memorable name for each if you like.

So the overview is that each device on the network needs a unique address. Back in the bad old days when we ran coax around to each computer these addresses were manually assigned. That’s still what happens a lot in digital audio applications and device control, just to keep things consistent.

DHCP

This is where you have something on the network (usually a router, even a cheap WiFi router these days usually has a DHCP server inside) hands out address automatically. This is the easiest way to go, generally. Each device needs to be configured for DHCP instead of manual address (though you can still have some devices with manually set addresses), and the DHCP server will hand out compatible unique addresses to everybody. Beyond that some devices can also assign themselves a generally unique address, assuming other things on the network are doing the same thing and if there’s no DHCP server to be found.

Not every device can request a DHCP address, though. Yamaha consoles, for instance. So you’ll still need to understand a little about manual addressing.

The usual type of address you see looks something like this: 192.168.1.12, with a subnet mask of 255.255.255.0. Each of those numbers is between 0 and 255, and unless we’re talking IPv6 you’ll always see four of them with those periods in between. The deal here which you should remember above all else is that each device needs a unique address, but not too far away from the other devices you want to talk to. So with that 192.168.1.12 you might have addresses like 192.168.1.100, 192.168.1.209, etc. The first three numbers are the same for all of those, the last is different. Those are compatible addresses in the same subnet.

Subnets

So what is a subnet? It’s a way to make addresses more local. When you talk about your neighbors you don’t have to give the whole address, everybody knows they’re on the same block so you can just give the house number and maybe the street. Subnets work the same way, making the space smaller so that it is easier to deal with. There are different types of subnets – class A is huge, class B is medium sized, class C is small. That 192.168.1.x example is a class C address, where the first three numbers are always the same and the last changes. Since the numbers are always between 0 and 255 the size of your “neighborhood” is smaller than say 254 (some numbers such as 0, 127, and 254 tend to be special) devices. Almost always that’ll be enough for our purposes.

Now if you need a bigger neighborhood you can use a class B subnet, where the first two numbers are always the same and the last two need to be unique. Now we’re into the tens of thousands of possible devices. Class A goes even further; only the first number needs to be the same between all the devices. Class A subnets are only used by companies like Google and IBM.

Dante defaults to a class B subnet, and the default addresses. Remember above when I said that if all else fails a device might just assign itself a random address? This is the usual way that Dante devices find each other, assigning themselves a class B subnet with the addresses always starting with 169.254. You can also configure devices to request DHCP addresses or used fixed addresses.

Subnet Mask

I’m not even going to try to describe why this is the way it is. Suffice it to say that for a class A subnet it’ll be 255.0.0.0, for class B it’ll be 255.255.0.0, and for class C it’ll be 255.255.255.0.

MAC Address

This is basically a serial number for your network device. It’s made up of a manufacturer code (assigned by the folks who admin the Internet) plus a unique number assigned by the manufacturer. As long as everybody plays by the rules each network card, networkable device, etc. has a worldwide unique number. It’ll look something like this: “01-23-45-67-89-AB”, where each digit can be 0-9 or A-F (hexadecimal, or 16 values per digit). You don’t need to worry about these – at the most, when setting up remote control of a Yamaha console, you might have to enter the MAC address from the console setup screen into the remote control application.

By the way, that 192.168.1.x example isn’t random numbers. That’s the official default for “I’m just hooking some computers together” addresses. Just about every little Wifi router found in just about every home has the address 192.168.1.1, and will hand out addresses compatible with that. Sometimes you’ll see 192.168.0.x instead, which is fine too.

If you’re trying to troubleshoot networking problems with Dante network you can manually assign your computer an address in that range of 169.254.x.x. Just pick random numbers for the last two; out of a pool of tens of thousands you’re probably not going to pick one that is already being used. Don’t forget to set the subnet mask to 255.255.0.0.

Ping

Number one network troubleshooting tool is “ping”, which you can run from the Terminal application on a Mac or from the Command Prompt application on Windows. “ping 192.168.1.32” will send a “tell me if you’re there, dude” request to a device at that address. If it’s there and working it should send back a “hey man, I’m here” message. Try this if you’re not getting the control software to talk to something, and if it works (gets a response) then your problem is not with the network.