You’ve probably heard mention of these things called IP addresses, and you probably also know that they are somehow related to being on the internet. But how do they work?
It’s impossible to avoid maths when talking about IPs so this is slightly longer and more complex than the other uSwitch guides. But weather the storm because we think you'll find it very helpful. Aside from the fact that everyone should know a little about how stuff works, it's handy to be able to spot basic connection problems and understand technicians when they talk jargon.
Put simply, the people who were playing around with the early internet needed a way of identifying computer systems when they connected together, something like a phone number - if you dial the same number, you always get the same computer. IP addresses were born, and like a phone number or address, they contain bits of information about your location.
Checking your IP
Press the Windows Key + R (or click Start > Run) to bring up a command box > type CMD then Enter to bring up a little black command box > type ipconfig and hit enter.
Windows Vista / Windows 7
From the start menu type CMD into the Search bar to bring up the black command box > type ipconfig and hit enter.
Press the Windows Start key to open the Start screen. Then just type cmd and press enter and you'll launch a comment prompt. Next, type ipconfig /all to check your network card settings. Your IP number is the one listed under 'Physical Address'.
Go to Applications > Utilities > Terminal > then type ifconfig
If you’re at home in the UK, your IP should start with something 192.168. A typical example would be 192.168.0.3.
If your IP ever starts with 169. you won’t be able to access the internet. A 169. address is your router/modem saying "there is a problem, and I can’t give you a proper IP address".
If you're at work, get your IT guy on it. If you're at home, the best thing is to turn off and unplug your router for 30 seconds, then plug in and turn on. If you're connecting wirelessly try a cable, and if that still doesn't work phone your provider - there is a problem between your computer and your router.
IPv4 and Internet History
IPv4 was the first standard for IP addresses. 192.168.0.1 is a common example of an IPv4 address. The most recognizable IP addresses are in the range 192.168.0.1 – 192.168.0.255, because these tend to be the ones we use at home.
An IP is a sequence of 4 blocks of numbers. Each of these blocks is a value between 0 and 255, which means that each block has 256 possible values.
Total values ^ total blocks = total number of combinations possible. 256 ^ 4 = 4,294,967,296
So IPv4 allowed for around 4billion unique addresses, which seemed like a huge amount. This was the early 1970s after all – computers weren’t particularly widespread, and nobody could have foreseen the growth of the internet or the popularity of Journey songs on iTunes.
Fast forward to today, and with 6 billion people in the world, millions of businesses and homes with multiple internet connections, 4 billion is nowhere near enough. We get round this in two ways, dynamic IPs and subnets.
If everyone had their own IP address, things wouldn't work. We would have run out a long time ago. So internet providers assign IP addresses dynamically, which means that they are used in rotation. Not all IPs are always in use, so basically speaking, dynamic IPs just assign you the next free IP address instead of always giving you the same one. This means that when an IP is not in use by one person, it can be used by another.
A static IP is an IP that never changes. These tend to be reserved for businesses, but for a small cost your home provider can give you one too.
A subnet means sub-network. A network within a network. Like Inception. It basically splits up connections so IP addresses can be re-used. An example would be a house with 5 computers - instead of 5 individual IP addresses for each machine, there is one main IP assigned by the internet provider. This main IP is assigned to the router, which then creates its own little network and gives all the devices IP addresses from there.
5 computers, with IPs 192.168.0.1 - 192.168.0.5, are all turned on in the same house. The external IP of the house is 220.127.116.11
5 different computers, with the same 192.168.0.1 - 192.168.0.5 addresses, are all on but in a different house. The external IP is 18.104.22.168.
In this example we have ten computers, all connected, using only two "real" IP addresses - the ones that start with 88. The internal IPs (the 192s) are only internal, and never make it out of the subnet. That's how so many home connections are managed.
The problem is that we are still running out of addresses - any device that connects to the internet needs an IP to do so, and even with dynamics and subnets there aren't enough. Mobile phones, consoles, handhelds, TVs, computers, watches, GPS... anything. We need a new standard. This is where IPv6 comes in.
IPv6 uses a different system that allows for a lot more combinations. IPv6 uses a hexadecimal system instead of binary. Binary has two states, the values 1 or 0, but hexadecimal has 16, which are the values 0123456789ABCDEF.
An IPv6 address is 8 groups of four in hex. An example address would be 1234:abcd:5678:efab:9012:cdef:3456:abcd
This allows for way, way more combinations than 4 billion. To be exact it's 3.4 * 10^38, or 340 undecillion. We probably won't need that many. So the IP address allocation problem is solved!
We’re going to use the example 192.168.0.1 as an example here. IP addresses are all about binary. Each of the 4 blocks in an IP address represents a binary octet. WAIT! Don’t run away, this is easy!
11110000 is a binary octet – an octet because there are 8 spaces, and binary because each of those spaces is either going to be a 1 or a 0. Any 8-digit sequence of 1s and 0s is a binary octet.
11111111 is an octet with a value of 255.
00000000 is an octet with a value of 0.
So how do we work out the decimal value of an octet? It makes sense for eight 0s to have a value of 0, but how do eight 1s equal 255? Each of the 8 positions has a value attached - see the table below. Moving right to left, the first space has a value of 1, the second 2, the third 4 and upwards to 128.
Essentially, 0s mean off and 1s mean on. So the above has a value of 240 because 128+64+32+16=240. If you wanted to make a value of 1, it would be 00000001. If you wanted a value of 3, it would be 00000011. You’re turning the values on or off with a 1 or a 0 to make a value, like an abacus.
Remember that we said each block of an IP address is a value between 0 and 255? Remember that we also said each block was an octet? Well that means that 192.168.0.1, in binary, looks like 11000000.10101000.00000000.00000001. A bit unwieldy, huh? So instead of writing 32 separate numbers, we write shorthand. That’s what an IP is – binary shorthand.