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.

29 COMMENTS

  1. Re: TCP/IP networking primer

    [QUOTE=”Bennett Prescott, post: 0″]Doesn’t Dante run over UDP?[/QUOTE]

    I’d tell you a UDP joke, but I’m not sure you’d get it.

    The Dante stuff deserves a little more research and maybe its own primer.

  2. Re: TCP/IP networking primer

    [QUOTE=”Helge Dr. Bentsen, post: 0″]What happens if you connect two Dante units to a network with a DHCP server?
    Do they get addresses assigned or do they still pick and choose for themselves?[/QUOTE]

    They can be configured to use DHCP, or have a manual (aka static) address, or do their default 169.254.xx thing.

    [QUOTE=”Bennett Prescott, post: 0″]Doesn’t Dante run over UDP?[/QUOTE]

    It does, but that doesn’t matter for the purposes of this primer. UDP is just an other type of delivery service within the whole TCP/IP thing.

  3. Re: TCP/IP networking primer

    [QUOTE=”Scott Helmke, post: 0″]I’d tell you a UDP joke, but I’m not sure you’d get it.

    [/QUOTE]

    Nice! Props to you! 😆 You’re a quick thinker, although your humor might seem a bit random to the uneducated. 😛

    I on the other hand had to edit my post and retry.

  4. Re: TCP/IP networking primer

    UDP stands for “Unreliable Datagram Protocol”. What this means is that the networking hardware/software doesn’t guarantee delivery, so the application itself must handle that part of transferring data. On the downside it is unreliable, on the upside it’s really fast since you aren’t waiting around for a confirmation on packet #1 before sending packet #2.

  5. [ATTACH=CONFIG]196703.vB5-legacyid=5810[/ATTACH]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.

    [B]DHCP[/B]
    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.

    [B]Subnets[/B]
    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.

    [B]Subnet Mask[/B]
    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.

    [B]MAC Address[/B]
    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.

    [B]Ping[/B]
    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.

  6. Re: TCP/IP networking primer

    [QUOTE=”Scott Helmke, post: 0″]UDP stands for “Unreliable Datagram Protocol”. What this means is that the networking hardware/software doesn’t guarantee delivery, so the application itself must handle that part of transferring data. On the downside it is unreliable, on the upside it’s really fast since you aren’t waiting around for a confirmation on packet #1 before sending packet #2.[/QUOTE]

    Scott,

    I don’t know if some of this is tongue-in-cheek but UDP stands for User Datagram Protocol. [url]https://tools.ietf.org/html/rfc768[/url]

    Also, MAC addresses aren’t assigned by “folks who admin the internet.” IP address are arguably assigned that way (ICANN by way of IANA, and the RIRs like ARIN). MAC address blocks are assigned by IEEE.

    Classful networks are a whole other can of worms, but since this is a primer, and most people are using this to set up a local network – I guess it still directly applies for them.

  7. Re: TCP/IP networking primer

    [QUOTE=”Ryan Lantzy, post: 47187″]I don’t know if some of this is tongue-in-cheek but UDP stands for User Datagram Protocol. [url]https://tools.ietf.org/html/rfc768[/url][/QUOTE]

    Ryan, I hadn’t really looked it up. I’ve just had it in my head for years that the U stood for Unreliable. Which is probably the most useful thing to remember, right? 🙂

  8. Re: TCP/IP networking primer

    Here’s a little more information on subnets. Computers connected directly to the Internet can have a wide range of IP addresses. As mentioned above the address is four numbers (for IPv4) and each number can range from 0 to 255. Within this wide range of addresses there are some reserved addresses. These addresses are used for private networks of computers NOT directly connected to the Internet. These are what Scott referred to as subnets. There are three address ranges for the subnets :

    class A : 10.0.0.0 – 10.255.255.255
    class B : 172.16.0.0 – 172.31.255.255
    class C : 192.168.0.0 – 192.168.255.255

    For more information on this refer to RFC 1918.

  9. Re: TCP/IP networking primer

    [QUOTE=”Rick York, post: 48822″]Here’s a little more information on subnets. Computers connected directly to the Internet can have a wide range of IP addresses. As mentioned above the address is four numbers (for IPv4) and each number can range from 0 to 255. Within this wide range of addresses there are some reserved addresses. These addresses are used for private networks of computers NOT directly connected to the Internet. These are what Scott referred to as subnets. There are three address ranges for the subnets :

    class A : 10.0.0.0 – 10.255.255.255
    class B : 172.16.0.0 – 172.31.255.255
    class C : 192.168.0.0 – 192.168.255.255

    For more information on this refer to RFC 1918.[/QUOTE]

    Sorry, I don’t mean to be pedantic, but I just wanted to clarify this.

    A subnet has nothing to do with a computer being on the internet or not. And that list of reserved addresses is partial, and the 192.168 reservation is actually class B

    Let me try and explain this in a simple ‘primer’ way. I think this is important, since we all have to enter a subnet mask when using static IPs, we might as well know what this means.

    Here it is, in layman’s terms:

    An IP Address has 4 sections, each separated by a period (.). This address contains 2 pieces of information: It has the address of the network, and the address of the individual devices on that network. The subnet mask tells you which part of the address refers to the network, and which refers to the devices on the network. These devices are collectively the ‘subnet’ (as they are a sub-section of the bigger network). The subnet helps divide a network into communication blocks. A device inside a subnet cannot communicate with a device outside that subnet without the use of a router.

    So, as an example. Take a computer with an address of 192.168.1.1 and a subnet mask of 255.255.255.0. In this instance, the first 3 groups of numbers (192.168.1) refer to the network, and the last number (.1) refers to the actual computer. In this situation, there are 254 possible addresses that a computer on this network can have (because .255 is reserved).

    For our purposes, there are 3 different types of subnet:

    A Class A subnet, where the subnet mask is 255.0.0.0. This means that the first group of numbers refer to the network, and the last 3 groups to the devices. In this situation, there are 16516350 possible device addresses.

    A Class B subnet, where the subnet mask is 255.255.0.0. This means that the first 2 groups of numbers refer to the network, and the last 2 groups to the devices. In this situation, there are 64770 possible device addresses.

    A Class C subnet, where the subnet mask is 255.255.255.0. This means that the first 3 groups of numbers refer to the network, and the last group to the devices. AS mentioned above, this gives 254 possible device addresses.

    Now, think of the internet as one big network. Like on your LAN, every address has to be unique. So, companies that operate computers directly connected to the internet needed to buy blocks of addresses to use. The subnet system allowed the addresses to be divided up easily.

    For example, the IP address range 3.x.x.x is owned by GE.

    So. In summary, subnets are merely a way of dividing up networks, whether you are on the public network (the internet) or on a private network (a LAN).

  10. Re: TCP/IP networking primer

    [QUOTE=”Chris Johnson, post: 48835″]Sorry, I don’t mean to be pedantic, but I just wanted to clarify this.

    A subnet has nothing to do with a computer being on the internet or not. And that list of reserved addresses is partial, and the 192.168 reservation is actually class B [/quote]

    Not to be even more pedantic, but technically, anything in 192.x.x.x is a class C network – when classful addressing was still widely used. That hasn’t been the case for many years. Many people treat their own networks as classful networks, but IANA has been using classless addressing for about 20 years or so now. Look up Classless Inter-Domain Routing (CIDR).

    Currently, the address ranges reserved for private use that are not routable on the Internet are:

    10.0.0.0/8
    172.16.0.0/12 <- subnet mask is 255.240.0.0 192.168.0.0/16

  11. Re: TCP/IP networking primer

    You Sir, are indeed correct.

    Most people today would think of the classes in terms of how many octets refer to the network. And so, 192.168.1.x would be considered class C, and 192.168.x.x would be considered class B, etc… Although I agree this is technically incorrect.

    Perhaps a better definition is required? Technically the IANA classify the 192.168 reservation as 256 times class C, which of course is the same number of addresses as class B, hence the semantics.

    I shall think of better wording, and edit my above post…

  12. May I be even more pedantic? Even 192.168.x.x (or 192.168.0.0/16) cannot be considered Class B. In classful addressing, the class is defined by the location of the first zero bit in the binary representation of the address (which is really a 32-bit number represented as four dotted octets). The subnet mask does not define the class. The definition of address class not in any way dependent on the subnet mask being used.

    In classful addressing, an address that has the very first bit as a Zero is a Class A address (binary 0xxxxxxx, so the range 0-128 as the first octet in dotted decimal notation).

    Any address where the first two bits are One followed by Zero is a Class B address (binary 10xxxxxx, so the range 128-191 for the first octet).

    Any address where the first three bits are One, One, Zero is a Class C address (binary 110xxxxx, so the range 192-223 for the first octet).

    Any address where the first four bits are One, One, One, Zero is a Class D address (binary 1110xxxx, so the range 224-239 as the first octet, and used for Multicast addressing). And finally any address starting with One, One, One, One is a Class E address (binary 1111xxxx, so the range 240-255 as the first octet, and also used for Multicast addressing).

    So when using classful addressing, the block reserved by RFC1918 for private networks that can be represented as 192.168.0.0/16 would be considered a “Supernet” (or an aggregate) block of 256 Class-C address ranges. Also in classful addressing, an address represented as 10.1.1.100/24 is still a Class A IP address, even though the subnet has a 24-bit mask. The subnet 10.1.1.0/24 is a 24-bit subnet of the Class A network 10/8 and is not a Class C network.

    But classful networks are rarely used these days. While many devices will default their subnet mask prefix size based on the “class” (i.e. the location of the first zero bit in the IP address), they are not necessarily treating it as a classful address. Although there really is no difference between Classful and Classless for a simple IP address in an end-point device – classful verses classless really only applies to routers that need to understand more than one network address. So if setting up a simple LAN that uses one network/mask, classful of classless is irrelevant.

    One area they are often found that may be relevant to people here is when using Artnet for carrying DMX over IP networks. The default operation of Artnet uses a full Class A network address.

  13. I am a bit confused about some comments regarding DHCP. If a networked audio device is being assigned an address by a DHCP server, and that device doesn’t have a way to tell you what its address is (like an LCD) doesn’t that make it kind of difficult to communicate with it?

    Maybe because I’m working with installed commercial systems right now, it seems like assigning static IP addresses to equipment is a good way to always know where it is on the network so you can connect to it quickly.

    Am I missing something?

  14. Re: TCP/IP Networking Primer

    On the DHCP server, you should be able to see what address has been assigned to what device, and also assign IPs to certain MAC addresses so that when they are connected, they always have the same IP.

    The other issue with statically assigned IPs is that Dante can throw odd errors (for example, if there is a statically assigned Dante Virtual soundcard on a self-assigned or DHCP network, it can throw an ‘out of ports’ error).

    There are still some devices that don’t support DHCP (L’Acoustics LA8 and LA4 amplifiers spring to mind immediately, also they don’t support auto MDX…stuck in the 90s much?) so it is often worth leaving some free IPs that DHCP won’t assign to, and using these for static devices.

  15. Re: TCP/IP Networking Primer

    [QUOTE=”Daniel Postilnik, post: 0″]I am a bit confused about some comments regarding DHCP. If a networked audio device is being assigned an address by a DHCP server, and that device doesn’t have a way to tell you what its address is (like an LCD) doesn’t that make it kind of difficult to communicate with it?

    Maybe because I’m working with installed commercial systems right now, it seems like assigning static IP addresses to equipment is a good way to always know where it is on the network so you can connect to it quickly.

    Am I missing something?[/QUOTE]

    Some of the software/hardware I’ve seen includes a search function, or an auto find function. The DME-N driver software for Yamaha Studio Manager lets you set a range of IP addresses to search, for instance. Or Meyer’s Compass software for the Galileo which looks around the subnet for processors to connect to. Ditto for Shure’s Wireless Workbench software.

    I work for a company that does the bulk of its business in dry hires, so we’re always reconfiguring racks and systems. DHCP is generally the easier way to run things, rather than having to manually set a lot of addresses.

  16. Re: TCP/IP Networking Primer

    The other end of this is that a DHCP client not finding a DHCP server will assume an address. According to APIPA this will be a randomly assumed 169.254.X.X address with a mask of 255.255.0.0. That’s typically not an address range where I organize networks, so it’s generally not the first place I go to find “lost” gear.

    If it’s being assigned DHCP, then it’s network address and physical port location are being logged on the network. Talking to your DHCP server seems the quick way to track gear down…versus pinging blindly until someone answers in a system of statically assigned addresses that aren’t logged.

    EDIT: on a related note, I currently have a networked audio task to solve. If any we have any local experts at using filtering commands in DD-WRT – specifically the iptables and ebtables goodies, I’m at the point where I can use a few pointers.

  17. Re: TCP/IP Networking Primer

    [QUOTE=”John Neil, post: 0″]If it’s being assigned DHCP, then it’s network address and physical port location are being logged on the network. Talking to your DHCP server seems the quick way to track gear down…versus pinging blindly until someone answers in a system of statically assigned addresses that aren’t logged.[/QUOTE]

    Most computers will respond to multicast ping requests. This means, provided you are on the same physical network as the device you are trying to find, the device will respond to ping even if your machine is in a different address range.

    The multicast ping address is 224.0.0.1

  18. Re: TCP/IP networking primer

    Sorry if this is long winded but I am a Network Engineer by day and have taught college level networking courses for years.

    Great primer article and discussion thread but it has focused almost exclusively on Layer 3 – IP – but networking is a “stack” of protocols each with a unique function. At the bottom is what is called the Physical layer where things like signaling and encoding schemes are defined, the different mediums supported (cat5, fiber, wireless, etc), and the types of plugs. There is no “logic” really in the physical layer as it relates to the devices or the applications using it.

    At Layer 2 we define how data communications begin to take place and introduce some logic. Some of the things we do at layer 2 are to determine who can talk when and how different devices can be found.

    Each device on an Ethernet network has a unique address that is used for 1 to 1 communications called the MAC address but that address is useless if no other devices know what it is. Ethernet is also a broadcast based network so there is a special address called the broadcast address that all devices listen to. If 1 device knows it is trying to communicate with another device called Joe, it can send the question “who is Joe?” to the broadcast address and all devices on the network will hear it. Only the device named Joe will respond but when it does the 1st device learns Joe’s MAC address and can then communicate 1 to 1.

    That makes things simple but as more devices join the network, things slow down. Thats where layer 3 comes in. At layer 3 we assign an additional address that is made up of 2 parts – a network part and a host part. All machines that can broadcast to each other have the same network part. If a machine has to communicate with a machine on a different network, they can’t broadcast. Instead they send their data to the router (default gateway) and the router forwards it to the proper network. These are the IP addresses referred to in the article and earlier posts. The subnet mask is what defines what part of the address is network and what part is host. For simple network schemes, a 255 in an octet means that octet must be identical between the 2 hosts in order for them to be on the same (broadcast) network. So a machine with the address 192.168.1.12 and a machine with the address of 192.168.1.21 are on the same network if the mask is 255.255.255.0. If 1 address is 192.168.1.12 and the other is 192.168.2.21 with a mask of 255.255.255.0 they cannot broadcast with each other and have to communicate through the router. Now, change the mask to 255.255.0.0 and all of a sudden, they are on the same network…

    These numbers are really sort of arbitrary – chosen to make it easy for us stupid humans to deal with them. In actuality, they are 32 bit binary strings, broken into 4 blocks of 8 bits and converted to decimal format. 255 decimal is equivalent to all 1s in an 8 bit binary string so what the mask really means is that wherever there is a 1, that bit in the address is part of the network id and wherever there is a 0, that part of the address is host. As mentioned earlier, if the mask breaks evenly on 8 bit boundaries – 255.0.0.0, 255.255.0.0 or 255.255.255.0 – this is called “classful” addressing but they don’t have to break on 8 bit boundaries – that just makes it easy for us. The only real rule is that the mask must be contiguous 1s followed by contiguous 0s. By using masks that don’t break on 8 bit boundaries we can configure the size of our broadcast networks (based on actual need and not arbitrary assignments) by simply adjusting the mask and programming the devices and routers accordingly.

    For most of our needs here on this forum, we don’t really have to deal with any of that. As the article points out, even a $50 netgear wifi router will give out addresses to clients using DHCP that are all on the same network. The default setup out of the box is to use a class C mask (255.255.255.0) which can support up to 254 devices – more than enough for any gig any of us are liable to be involved with. Although, you do need to check the routers settings – oftentimes the 1st address that they will give out is 192.168.1.100 and they may be configured to only give out 50 addresses. Still more than enough for most of our needs but it is something to be aware of.

    APIPA addresses – those starting with 169.254 and a class B mask (255.255.0.0) – are also mentioned. APIPA is a way that a device can assign itself an address if no DHCP server is present. Generally, if you see one of those addresses it means that something is broken – DHCP is not running for instance. While APIPA addressing will allow a group of devices to talk to each other (provided that they all have APIPA addresses) it does not configure a default gateway address so none of those devices will be able to communicate with devices on other networks (like the Internet). That may be fine for live, gig-only setups but could be problematic when you get back to the shop and you’re trying to read soundforums.net while running VISI remote…

    Another issue to be aware of when running DHCP is that the addresses assigned can change – DHCP “leases” addresses to devices for a certain period of time and most often, a device will get the same address when it renews its lease but there are circumstances, especially when devices are off the network for several days, where its original address is no longer available and it will get a different address when it comes back online. Most software can deal with this easily but I have seen some applications that don’t like it. If that is the case you can usually extend the lease period in the router configuration or assign static addresses to your devices.

    If you do assign static addresses either do it network-wide and turn off DHCP or ensure that you don’t assign any static addresses that are within the pool of addresses assigned by DHCP. DHCP has no way of knowing what static addresses are in use and can cause a duplicate address to be assigned.

    Now, this information pertains to computer networking like iPad remote control apps for consoles, system architect, etc. and it also applies to AES50 and DANTE devices because they chose to run the digital transport over existing Ethernet / TCP-IP networks but keep in mind; just because a device has an RJ45 jack and uses cat5 cable it is not necessarily Ethernet. Those things are defined at layer 1 but they don’t dictate what happens at layer 2 and above. MAC and IP address do not apply to MADI, for instance.

  19. Re: TCP/IP Networking Primer

    [QUOTE=”John Neil, post: 0″]

    If it’s being assigned DHCP, then it’s network address and physical port location are being logged on the network. Talking to your DHCP server seems the quick way to track gear down…versus pinging blindly until someone answers in a system of statically assigned addresses that aren’t logged.

    [/QUOTE]

    The DHCP server will only log what IP address it has leased to what MAC address. It doesn’t know what physical port that device is connected to. On some routers with a built-in switch, it may take the extra step of doing a MAC table lookup for display but that is not part of DHCP. In addition, a port on the DHCP server / router / switch may be upstream of another switch where the devices are actually plugged in. You would have to query the MAC table on the downstream switch to associate a physical port with an address.
    Unfortunately, there is no easy way of mapping large networks short of good and accurate documentation…

  20. Re: TCP/IP Networking Primer

    Two clarifying notes for Jeff’s otherwise excellent presentation above:

    While Dante does in fact run above IP-and possibly above UDP, I forget-AES50 does not even run above Ethernet. AES50 is a completely different wire protocol on category 5 or 6 cable. Supermac is not even switchable, much less routable. It merely uses cable with the same connectors and specs.

    In other news, while some equipment does not deal with it well, and it is sufficiently esoteric that nobody ever actually does it… it is not actually required by IP that the netmask bits be contiguous. It’s merely very difficult to deal with if you don’t do it that way. I would be unsurprised to find that most DHCP servers didn’t know how to deal with it at all.

  21. Re: TCP/IP Networking Primer

    And, also for the record, there is actually quite a bit of good auto discovery and network mapping software out there these days. How well it would work with production equipment rather than IT equipment, is something I haven’t tested. 🙂

    And of course it would not work at all with layer 1 audio interconnect like AES50.

  22. Re: TCP/IP Networking Primer

    [QUOTE=”Jay Ashworth, post: 0″]Two clarifying notes for Jeff’s otherwise excellent presentation above:

    While Dante does in fact run above IP-and possibly above UDP, I forget-AES50 does not even run above Ethernet. AES50 is a completely different wire protocol on category 5 or 6 cable. Supermac is not even switchable, much less routable. It merely uses cable with the same connectors and specs.

    In other news, while some equipment does not deal with it well, and it is sufficiently esoteric that nobody ever actually does it… it is not actually required by IP that the netmask bits be contiguous. It’s merely very difficult to deal with if you don’t do it that way. I would be unsurprised to find that most DHCP servers didn’t know how to deal with it at all.[/QUOTE]

    I should not have put AES50 in there without researching it a bit more. Obviously I am not very familiar with it. I guess I was hoping against hope that they had embraced existing network technologies when they updated AES but I suppose not – more power to DANTE and AVB then!

    As far as using masks that arent contiguous 1s and contiguous 0s. Yes, technically you are correct – it would work. The relationship between the IP address and the subnet mask is a simple bitwise binary AND function and any combination will produce a result. However, the result of a non-contiguous mask would be a block of addresses on the same network, the next block on a different network, the next block on the same network and so on. It would be chaos – dogs sleeping with cats, etc. Although it might make for an interesting little exercise for my students 😉 .

    There are some very powerful network mapping applications out there that may be able to give a good idea of what components are on the network (at least by MAC and IP address) and how they are interconnected but as Jay pointed out, they are designed for data network components, not AV network components so they wouldnt produce a complete map. Some of them are quite proprietary and work very well provided your entire infrastructure is 1 particular brand. Those also tend to cater to the higher end, enterprise class components not often found in audio. Then there are open source products that rely on open protocols such as SNMP – Simple Network Management Protocol. While they can certainly handle heterogenous networks, you find that different manufacturers implement SNMP in different ways (if at all) so again, the output may not be complete ot accurate. In addition, if you go through the process of configuring SNMP on each device, you will get a better map by just drawing it yourself as you go… SNMP can be a real help for ongoing monitoring though so depending on the criticality of the systems, it may be worth the effort.

  23. Re: TCP/IP Networking Primer

    Well, whether you want your audio at Layer 1, 2 or 3 depends on a lot of larger decisions that you and I are better equipped to understand than moust FoH engineers.

    I can’t set up a drum kit, either. 🙂

    en.m.wikipedia.org/wiki/Audio_over_Ethernet covers the various protocols pretty decently, I thought.

  24. Re: TCP/IP networking primer

    [QUOTE=”Scott Helmke, post: 0″]They can be configured to use DHCP, or have a manual (aka static) address, or do their default 169.254.xx thing.[/QUOTE]

    The 169.254.x.x thing is part of IP and is called APIPA. It is not specific to DANTE. Any DHCP client (except really old ones – 10+ years) will generate their own 169.254.x.x address if no DHCP servers respond to a DHCPDiscover request.
    So, DANTE devices dont really default to 169.254.x.x addresses; they default to being normal DHCP clients and do the 169.254.x.x thing when there is no DHCP server present.

  25. Re: TCP/IP Networking Primer

    That is a home made Microsoft extension — they actually picked the address range out of thin air and Diana had to go back and reserve it for them after the fact — and while Windows machines will do it, there isn’t any particular guarantee that any other IP speaking machine will.. and in fact they probably should not.

LEAVE A REPLY

Please enter your comment!
Please enter your name here