Sound Reinforcement - Forums for Live Sound Professionals - Your Displayed Name Must Be Your Real Full Name To Post In The Live Sound Forums > LAB: The Classic Live Audio Board

TCP/IP networking primer - Please Read and Add Questions and Comments

(1/8) > >>

Scott Helmke:
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) which hands out addresses 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 addresses tend to be reserved) 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.  Dante devices can also be configured to request addresses from a DHCP server or use a manually assigned address.

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.

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.

Mac Kerr:
I am going to make this a sticky. Please add to it. When there are enough posts we will edit it into a single document and distribute it to the contributors for editing and suggestions. At that point it will be reposted as a FAQ.

If we can put together a good FAQ that is not already spread around the Internet we will look into the possibility of getting it published as a magazine article.

Mac

Scott Helmke:
Ideally it'll get shorter, not longer.  Something that can be printed on a cocktail napkin would be the most useful.

Tim McCulloch:

--- Quote from: Scott Helmke (Scodiddly) on January 21, 2013, 01:37:37 PM ---Ideally it'll get shorter, not longer.  Something that can be printed on a cocktail napkin would be the most useful.

--- End quote ---

Networks so small you can drown them in a bath tub.... ;)

Chris Johnson [UK]:
Can I propose a couple of clarifications:

1) Ethernet refers to a group of networking technologies . Cat5/Cat5e/Cat6/Cat7 are cable types. RJ45 is the connector type that is typically used with the aforementioned cables for ethernet use. TCP/IP is a specific communications protocol. These things are not mutually exclusive. You can have ethernet without TCP/IP, you can have cat5 without ethernet, and you can have RJ45 connectors on other types of cable...

2) IP addresses are owned, like internet domains. However, back in the day, the powers that be decided they would reserve some IP addresses for private use. There are 4 such IP address blocks:
- 10.x.x.x
- 169.254.x.x
- 172.16.x.x
- 192.168.x.x
All other addresses are either reserved for special purposes, or owned by companies and used on the internet.

3) As an expansion on the use of 'ping':
If you find yourself in a situation where you need to connect to a device that has an address that is, say, 192.168.1.x, but you cant remember what exact address, you can set your IP address to an address in the same range (say 192.168.1.100) and ping 192.168.1.255. Then any device with an IP address that is 192.168.x.x will respond, allowing you to see the addresses of other devices on the network.

Equally, if you have no idea what the address is, you can connect your computer to the same LAN, and give it any IP address and then ping the address 224.0.0.1 and any device on the LAN with any address will respond.

Feel free to ignore if you like :)

But remember, todays engineer has to be part IT engineer!

Navigation

[0] Message Index

[#] Next page

Go to full version