NOTE: This website is obsolete. Nakahara Informatics, Inc. is no longer operational. This website has been preserved for historical interest, essentially as it appeared at the time of the last update (October 22, 2008), and the software available on this website may be used for free. However, there is no warranty of any kind, and these apps no longer work on modern OS X systems. Therefore, this may not be useful, except to historians and tinkerers resurrecting legacy systems.

iGet Tutorial: Network Connection Basics

This tutorial is designed to cover the basic elements involved in making a network connection. This is by no means a full treatment of the subject; it just covers what you will need to know if you want to use iGet in the networking scenarios described in the other tutorials.

Network connections: IP addresses and hostnames

When a network application, such as iGet or Safari, wants to make a network connection to a remote computer, how does that happen? To send data to a remote machine (and then usually receive data back), the software that is connecting must know the address of the remote computer. There are actually a few different kinds of addressing systems out there, but the only one we're interested in here is IP (Internet Protocol) addressing.

IP addresses

To communicate with a web server, Safari must know the IP address of the server. To connect to a Mac, iGet must know the IP address of that Mac. We can visualize it something like this:

anthropomorphized network friends

An IP address is a set of numbers in a format computers can deal with. Currently most IP addresses look are represented as four numbers separated by dots, like this:

64.130.31.59

That is somewhat human readable, but it's pretty hard to remember. In the future, it is going to get even worse, because the length of IP addresses is going to be expanded to make room for all the millions of computers and other devices joining the Internet. Someday soon, IP addresses will look more like this:

fe80:0000:0000:0000:0216:cbff:fe8d:7b5e

Now that is really hard to remember!

Domain names and hostnames

Fortunately, people invented the concept of domain names and hostnames, which make this easier for us. Domain names are composed of text, not numbers. Nowadays, most people are familiar with this, because we use these names all the time in our web browsers.

If you are looking for Nakahara Informatics, it is not that hard to remember the domain name:

nakahara-informatics.com
Each machine within our domain can have a hostname assigned to it. This is a name that identifies a particular machine. For example, the hostname of our primary web server is:
www.nakahara-informatics.com

Most people commonly think of that as the "address", which in a sense, it is. However, the hostname actually points to the IP address. At the time you make a connection, your software checks to see what IP address that host name points to. Then it connects to that IP address.

But how did Safari know, in the above diagram, that it wanted IP address 64.130.31.59, when what the user actually typed in was "www.nakahara-informatics.com"? It knew because before each connection, it "looks up the hostname" by asking your DNS server. (The DNS server is something like the computer version of the 411 operator, and it is normally provided and operated by your ISP.)

DNS lookup diagram
This step occurs right before the sequence illustrated above.

That's mainly important because the IP address can be changed at any time. Your actual numerical IP address is never fully under your control: it's a low-level network deatil that can't be changed in a lot of cases.

If you have your own domain, you can totally control the low-level IP addresses that your domain's hostnames point to. For example, Nakahara Informatics pays a company to host our webserver in their datacenter. What if we wanted to change companies? Our web server would have to get a new IP address, because the old IP address is part of the old company's network.

However, we would just change the low-level IP address that our hostname points to. That way, all our customers using their web browser to connect to "www.nakahara-informatics.com" would actually be connecting to the new IP address.

IP address and hostname summary

To sum it up so far:

  • When we say "the address of the computer" we could be talking about the hostname or the low-level IP address.
  • Typically, we mean the more human-readable hostname, like "www.nakahara-informatics.com"...
  • ...but in any case the hostname points to the numerical IP address.
  • Networking programs like Safari or iGet can handle either form of address. Give them an IP address, they will connect to that IP address. Give them a hostname, they will look it up and then connect to the IP address. <\li>

Private IP addresses

But wait, there's more! Luckily, it's just a bit more.

Certain IP addresses are reserved for "private" use. In this context, that means they are for use on a local network, not the Internet.

Public IP addresses are unique one the entire Internet, and only one machine in the world can have a given address (ignoring clever hacks people have come up with to "share" an address. That's why anybody in the world with a working Internet connection who connects to 64.130.31.59 ends up at the Five Speed web server.

Private addresses on the other hand, are unique to a private network, such as your home network or a typical office LAN. Computers on the same network can connect to each other using these private addresses, and software works the same way as it does when connecting to some machine out on the Internet. But private addresses cannot be used to connect between different networks over the Internet.

The reason this is important for iGet users is that sometimes we have people who want to connect from home to their Mac at the office. They check their IP address before leaving work, but when they enter it into iGet and try to connect, they find it doesn't work.

In many cases this is because their office Mac is using a private IP address, designed to work only on that LAN.

Private IP addresses (where xxx means any number):

  • 10.xxx.xxx.xxx (commonly used by Airport networks)
  • 192.168.168.xxx (very commonly used)
  • 169.254.xxx.xxx (this address range is used by Bonjour)
  • 172.16.0.0 through 172.31.255.255

Tying it all together with iGet

So how does all this relate to iGet?

iGet screenshot
iGet, about to connect to a machine on the LAN via its private IP address

As you would likely guess, you can type either the remote Mac's IP address, or its hostname, into iGet's New Connection window.

Like any other network software, if you enter a hostname, iGet looks up the corresponding IP address, and tries to connect to it. This can be a private network IP address, if you are connecting to a Mac on your LAN. Or, it can be a public IP address, if you are connecting to a Mac across the Internet.

If you want to connect to a remote Mac via the Internet, such as your office Mac, but that Mac has a private IP address, then additional network setup is required. You likely need to set up port forwarding, and you can learn more about that with our Port Forwarding Tutorial.

Lastly, if you have questions or are unclear on anything presented here, consider asking a question on the iGet support forum. Our staff monitors the forum, and there are also many friendly iGet users there who may have an answer for you.