So in my last post, we determined how to repel monsters. Between you and me, last night my three-year-old went right to bed without a fuss. She also took her nap today without a fuss. And tonight she went right to bed – without a fuss. Blinking LEDs for the win! Or if you want to speak in geek, that would be FTW. I’ll get more into Geek Speak in another post. Then you will be l33t.
Computers talk with each other on a network. But how does one computer know about another computer? Do they just sort of figure it out? To answer that, I’ll ask you a question – how does the mailman know that your electric bill belongs to you? How do they know to deliver that envelope to your doorstep?
Answer: Your house has an address.
The same principle applies here – every computer that wants to talk to another computer has to have its own unique address. That way, other devices can find where to send the proverbial mail. If two or more computers have the same IP Address, the proverbial mailman doesn’t know if the gas bill goes to Suzie or Billy. Oh, and both computers will probably blow up and not talk to anyone. Petty details.
For a device to talk on a network, it requires three things:
- An IP Address
- A Default Gateway
- A Subnet Mask
IP stands for Internet Protocol, which is a method of communication computers use to talk to other computers. Remember our previous lesson on binary? To summarize, binary is the language of computers, consisting of one’s and zero’s in an on-off scenario. An IP Address is a 32-bit number broken out into four groups of 8 bits. Now you’re confused, I can see it on your face. In binary, a sample IP Address could look like this:
Using our amazing mathematical abilities (or by using our scientific calculator), we can convert that binary to decimal and come up with the following:
Since we are using 8 bits for each section of the IP Address, the maximum value we could have is this:
11111111.11111111.11111111.11111111 or in Decimal, 255.255.255.255. Between you and me, that IP Address is not allowed as it would break the rules of IP. Rules, you say?
There is a group of elite (l33t) geeks that sit on a committee called the Internet Engineering Task Force (IETF) who made up all sorts of rules for computers. They put those rules into an RFC, or Request for Comments. RFC 1918 spells out IP Addresses and their rules. Specifically, they determined that certain ranges of IP Addresses will be designated for different uses. Certain ranges are set aside for public use, and others for private use, which is why your IP Address inside your private network most likely fits one of the following formats:
- It starts with the number 10 – for example, 10.0.0.2
- It starts with the number 172.16 – for example, 172.16.32.8
- It starts with the number 192.168 – for example, 192.168.1.5
Immediately some geeks out there will take issue with number two – technically, that is part of a much larger range. But ask yourself – have you ever seen a typical home network that introduced a /12 network? I don’t think you have, so let’s avoid a nasty scuffle and subnetting and stick to 172.16, shall we?
A Default Gateway is the digital bouncer for your network. If you want to go outside your own network, you have to go through the default gateway to go in or out. 99% of the time, your default gateway will be your home router that connects to your ISP (Internet Service Provider). I’ll leave that other 1% for the geeks out there who like tinkering with crazy stuff like firewalls, load balancers, proxy servers, and other strange and marvelous things. A typical Default Gateway will end in .1 or .254, for example 10.0.0.1 or 192.168.254.254. You will notice that your Default Gateway looks mysteriously like your own IP Address, but ends in a different number. If my IP Address were 192.168.1.4, my Default Gateway could look like 192.168.1.1. It will be close to our own IP – but not exact.
The Subnet Mask is a mysterious thing that tells us who else is on our own network. It uses some rather complicated reasoning to determine who else is considered “in here” with all “your stuff”. There are different “classes” of IP Addresses, but let’s keep it simple. You can also subnet your IP Addresses to cause mayhem on who can talk to what – but again, let’s keep it simple. A sample Subnet Mask would also look similar to your IP Address, but not quite. If your IP Address is 192.168.1.1, it’s likely your Subnet Mask would be 255.255.255.0. In a nutshell, this tells your computer the significant IP Addresses that are on your network. In this case, it cares about the first three groups of IP Addresses so anything starting with 192.168.1 are on your local network. Junior’s iPad could be 192.168.1.8 and your Dell could be 192.168.1.4 and as you’re on the same network, you could talk to each other without bothering the digital bouncer (Default Gateway).
Using computer logic, that’s all that you need – you care about who you are (IP Address), you care about who else is around you (determined by your Subnet Mask), and you care about the “not mine” which you selfishly send to your Default Gateway to figure out. You don’t have to worry about exactly where the “not mine” is, you only care that it’s “not mine”. Want to go to Google? Is Google in your house? Nope. So to get to Google, it’s “not mine” and goes to the Default Gateway to figure out. Easy as pie, right?
So Now for Some Practical Fun
This will open up your RUN dialogue. Type CMD, then click OK. This will open up the old school DOS Prompt. Now that you are inside your DOS prompt, type IPCONFIG and press Enter. Botta bing – it’s your IP Configuration! Yep, that’s what IPCONFIG is short for.
Now first off, you are going to see a lot of information that you’re not ready for quite yet. But let’s focus on what we do know: IP Address, Subnet Mask, and Default Gateway.
In this case, my IP is 192.168.1.7 and my Subnet Mask is 255.255.255.0. This means that other computers on my local network would start with 192.168.1.x (where x is a range from 1 to 254). In the rules of IP Addresses, 0 and 255 are off limits. And to access any computer that is not on my local network, I bug the bouncer, 192.168.1.1 who has to figure the rest out.
Have you ever played the game Marco Polo? Your computer can play that with other computers on your network. My computer (192.168.1.7) wants to see if another computer is up and operational and able to talk. That computer is 192.168.1.4 (which I found by doing an IPCONFIG on that computer). The command line utility to check for availability (are you here!?) is PING.
From a command line, I type PING 192.168.1.4 and press enter. This will ping or probe or yell MARCO to that other IP Address. If it is on the network, it will probably reply. By default your computer sends out four packets (MARCO! MARCO! MARCO! MARCO!) and waits for four replies (POLO! POLO! POLO! POLO!). It will then give you all sorts of statistics regarding how fast the other computer replied, the size of the packets you sent, % packet loss, and so on. This is probably the simplest troubleshooting tool you have at your disposal.
There are some devices that will not respond to PING, and there are ways to cloak yourself from other people’s pings – but that’s a bit complicated for now. And I think, all things considered, we should stop here. Next up: But where did I get my IP Address?