Quick Networking Primer

© 2012, 2016 Harmony Systems, Inc. All rights reserved.

This guide will not make you a networking expert (nor does it assume you are!). It does, however, assume you have a basic understanding of what a network is, what a WiFi wireless network does, and some familiarity with terminology. If you need a quick primer on these sorts of things the Internet is bursting with networking “how tos”. Wikipedia is a good place to quickly grasp some of the basic concepts.

IP Addresses

IP addresses are numbers you may have encountered before that look something like this:

192.168.1.10

This number is actually a single big number formated in a manner for easy reading and understanding. Each of the four sets of digits separated by the decimal is a number from 0 to 255. The complete set of four defines a complete address for a particular computer or device, each of which must have a unique value that is somehow made know to other devices that need to communicate with it.

A big part of the task of getting a private, local network up and running revolves around managing these various IP addresses. It’s important that you use a scheme that is not only consistent within your own network but also adheres to standards required by the overall Internet (unless your network does not connect to an external one. Even then it’s still useful to follow Internet standards).

The first two groups of digits in this example (192.168) define a specific overall network. The two groups of digits define a particular device (called a node) within that network. However sometimes the collection of devices is further divided into “subnetworks”.

Private IP Networks

The Internet standard defines four distinct networks that can be safely used for local private use. Anyone (and everyone!) can use these four networks. They are:

• 10.XX.XX.XX - supports up to 16,777,216 devices (256 x 256 x 256)
• 172.16.0.0 to 172.31.255.255 - supports up to 1,048,576 devices (16 x 256 x 256)
• 192.168.XX.XX - supports up to 65,536 devices (256 x256)
• 169.254.XX.XX - supports up to 65,536 devices (256 x256)

Of these the two most common are 192.168.XX.XX and 169.254.XX.XX

The 169.254.XX.XX network is a peculiar one that is meant for situations where it is difficult (or impossible) to pre-assign each device an IP address. This is what is used when you connect two or more devices together without some type of “IP address manager” (known as a DHCP server) also connected to the same network. So, for example, if you connect a Paca(rana) directly to a Mac’s Ethernet port and do no other set up then that Mac port, and the Paca(rana) will each take an IP address from 169.254.0.0 to 169.254.255.255. This at first may seem like a blessing but as you will read shortly, it can also cause a great deal of grief.

The 192.168.XX.XX network is often the default set up for wireless access points (like the Airport series) and other routers. It is recommended that you use this for all manually assigned set ups and ones where the IP addresses are assigned by a DHCP server.

Subnets

When you encounter an IP number you will usually also see a second number that looks something like:

255.255.0.0

This is called a “subnet mask”. What it does is divide the large range of IP numbers into smaller groups called “subnets”. Basically it’s a way to segment a network into smaller chunks. This is beneficial for performance and other reasons when dealing with a large number of devices, but not as useful for a typical personal network.

Most wireless access points like the Airport products default with a mask of 255.255.255.0. What this means is that the 192.168.XX.XX range has been subdivided into 256 smaller networks, each with up to 254 devices (device 0 and 255 are always special and should not be used). In this scheme a device assigned 192.168.1.10 is on a different subnet than 192.168.2.10. This has important implications that can result in the two devices being unable to connect to one another.

Note that the 169.254.XX.XX network is assumed to never have subnets. The reason is that each device randomly takes an IP address in the full range of 65534 (again the first and last IP address in the range are unavailable). If one device picked 169.254.0.1 and another picked 169.254.1.2 the two would have difficulty communicating if subnets were used. The 169.254.XX.XX range should always use a subnet mask of 255.255.0.0.

Your setup will more than likely use 192.168.XX.XX. You probably want to create subnets by using the subnet mask 255.255.255.0. If you have a router or wireless access point then this is probably how it is set up. Furthermore whatever number it assumes in the third group should be assigned to all devices on the network. So if the router assumes 192.168.1.XX all devices should be in the range 192.168.1.01 to 192.168.1.254.

Static and DHCP assigned IP addresses

Another thing you are likely to encounter in your personal network is “DHCP”. DHCP is a method of automatically assigning IP numbers to devices that share the same network. It is a server-based scheme, meaning that one and only one device on the network has the responsibility for parceling out IP numbers (the “DHCP server”). Furthermore this device needs to be operating whenever the network is available. Typically the DHCP is your router that connects to the Internet.

DHCP is a godsend most of the time and is the “magic” that lets you freely connect laptops, iPhones, and other devices to your network without constant set up hassles. But it can also lead to some frustrations if its limitations are not understood.

When a device like a laptop connects to the network and is set up to use DHCP it asks the DHCP server for an IP address. The DHCP server remembers the most recent previous devices and when it sees a request from one it recognizes it attempts to give back the same IP address it had the last time it connected. The key word here is “attempts”. This is not guaranteed. DHCP assigned IP addresses are not truly persistent. They act like it in many circumstances but not always. This can lead to some major head-scratching when a device that worked reliably on the network the past six months suddenly no longer connects after it was turned off for a week!

Whether a particular IP number is available when a device rejoins the network or not is dependent on a number of factors and is somewhat hard to predict. If your network is fairly static with just a small number of devices that come and go then address continuity is likely. But remember it is not a certainty.

Most DHCP servers “out of the box” are set up to manage the full range of possible IP addresses with a few exceptions. One is the IP address that the router itself uses (normally address 1) but there may be other “holes” depending on the router or access point. This is important if you wish to use a mix of manually assigned IP addresses (called a “static IP address”) and DHCP assigned addresses. The DHCP server has a way of specifying the range of available IP addresses it will manage, or a way to reserve certain specific addresses for you to manually assign.

If you plan on mixing DHCP and static IP addresses consider establishing a scheme like the following (assuming a subnet of 192.168.1.xx):

• 1 - 9: reserved for specific needs like the router
• 10-99: reserved for static use
• 100-254: available for DHCP assignment.

This is a good balance between static and DHCP assignment.

One last step

Automatically assigned IP address are enormously convenient and should be used as the rule. However a few devices really prefer a static address, and others offer some benefit when a static address is used.

The Lemur is one such device. It can be set up to use DHCP but the Lemur lacks any way of advertising its actual IP address (in Apple-speak it does not use Bonjour). So an application like vM2 that needs to know the Lemur’s actual IP address will have to be manually set to the Lemur’s currently assigned IP address. This works until the Lemur ends up with a different DHCP assigned address. vM2 will appear to no longer work and you will be forced to use its preference pane to assign the new IP address. To avoid this give the Lemur a static IP address from the range you set aside.

Likewise any computer that uses the Lemur also benefits from a static IP address. The Lemur lets you assign up to 8 “OSC ports”, each to a particular computer IP address. Assume that your Mac is using DHCP. You would go into the Network preference pane to find its current IP address and then use the Lemur’s configuration screen to set “OSC 0” to that value. An application like vM2 works fine until the Mac receives a different DHCP assigned IP address. When this happens you have to manually change the Lemur setting to reflect the latest assigned IP address.

The Paca(rana), on the otherhand, has to use DHCP. But that is fine since the Paca(rana) advertises its IP address using Bonjour. Delora Software products take advantage of this to automatically locate the Paca(rana) and establish communications.

As a general rule consider assigning static IP addresses to devices like the Lemur and computers like the one that usually connects to the Lemur. This is a little more work at the outset but in the long run it will avoid some infrequent but highly vexing problems.

When to use a static IP address

If your networking set up includes an operating firewall somewhere besides the one in a router or WiFi access point connected to your cable MODEM, DLS MODEM, or other Internet connection, then you have additional considerations when setting up.

As a general principle all of the devices connected on your local network must be able to freely communicate with one another without firewall interference. For example, if your Paca(rana) is on a network segment different from your Mac, and there is a firewall separating the two segments, then you will need to configure that firewall to allow messages to pass between the Mac and Paca(rana). If all devices are on the same “side” of the firewall then there will be no need to adjust firewall settings.
By far the most common situation where you will need to configure the firewall is when you are running a firewall on your Mac. This happens whenever you select the firewall option in System Preferences’ Security preference pane. When the Leopard and Snow Leopard firewall is running you will see a popup like this one when you start up the application. Simply press Allow and OSX will take care of the necessary details.

If you are using a different OSX firewall, or perhaps the firewall in an external device, then you will need to perform the set up manually. Briefly this is what you need to know to do the set up. The actual steps you take depends on the firewall you use.
My Image
Delora’s software products use a dynamic port assignment scheme to create the necessary linkage between the program and the device it is communicating with, like a Paca(rana). When a device like the Paca(rana) is on the “public” side of the firewall (the part of the network you are protecting is called the “private” side) the the firewall will need to “open” the ports it wants to send to. For example if your Mac is on the private side of the wirewall (as would be typical) and it has assigned port 50,000 for the Paca(rana) to send OSC messages, then the firewall would have to open port 50,000.

Dynamic port assignment makes this a bit tricky. Delora products can assign any available port number from 49,152 to 65,535. In general this port will stay the same each time to application or user-agent is started but that is not guaranteed. So the best approach is to open all of the ports in that range for UDP messages (UDP is what OSC uses).

If you are unable or unwilling to open 49,152 to 65,535 then you will have to force vM2, vKA, or PacaMidi to use a manually assigned port number. The preference pane does not support direct setting of the port number. However there is a work around that we would be happy to provide you should you require it. Please contact support (support@delora.com) and we will supply the necessary instructions.