You’ve probably heard mention of these things called IP addresses. But what are they? And how do they work?
Have you ever wondered what an IP address is or what 192.168.0.1 refers to? 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 like this works, it's handy to be able to spot basic connection problems and understand technicians when they use jargon.
Basically, the people who were playing around with the early internet needed a way of identifying computer systems when they connected together, similar to 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
Checking your IP address is easy to do.
If you use Windows — Run a search on your computer for CMD. Once the command box is open, type "ipconfig" and hit enter.
If you use a Mac — Go to Applications > Utilities > Terminal. Once you're in Terminal, type "ipconfig" and hit enter.
If you're at home in the UK, your IP should start with something 192.168. A typical example would be 192.168.0.1.
If your IP ever starts with 169. you won't be able to access the internet. A 169 address is your router or modem alerting you to a problem by giving you a bad IP address.
If you're at work, get your IT people on it. If you're at home, the best thing to do is turn off and unplug your router for 30 seconds, then plug it back in and turn it on again. 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, 192.168.0.1 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 recognisable IP addresses are in the range 192.168.0.1 to 192.168.0.255 because these tend to be the ones we use at home.
An IP address is a sequence of four blocks of numbers. Each of these blocks is a value between 0 and 255, which means that each block has 256 possible values.
So with four blocks allowing for up 256 possible values, IPv4 allowed for around four billion 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.
Fast forward to today and with six billion people in the world, millions of businesses and homes with multiple internet connections, four billion is nowhere near enough IP addresses to go around. We get around this in two ways: dynamic IP addresses and subnets.
Dynamic IP addresses
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 IP addresses are always in use, so basically speaking, dynamic IP addresses just assign you the next free IP address instead of always giving you the same one. This means that when an IP address is not in use by one person, it can be used by another.
A static IP address is an IP address 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, or 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 five computers: Instead of five individual IP addresses for each machine, there is one main IP address assigned by the internet provider. This main IP address is assigned to the router, which then creates its own little network and gives all the devices IP addresses from there.
The problem is that we're still running out of addresses. Any device that connects to the internet needs an IP address to do so, and even with dynamics and subnets there aren't enough. Mobile phones, consoles, handhelds, TVs, computers, watches, GPS... all of these devices need IP addresses. 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 one or zero, but hexadecimal has 16, which are the values 0123456789ABCDEF.
An IPv6 address is eight 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 four billion. To be exact, IPv6 allows for 340 undecillion IP addresses.
We probably won't need that many, so the IP address allocation problem is solved!
We're going to use 192.168.0.1 as an example here. IP addresses are all about binary. Each of the four 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 eight spaces, and binary because each of those spaces is either going to be a one or a zero. Any eight-digit sequence of ones and zeros 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 zeros to have a value of zero, but how do eight ones equal 255? Each of the eight positions has a value attached — see the table below. Moving right to left, the first space has a value of one, the second two, the third four and upwards to 128.
Essentially, zeros mean off and ones mean on. So the above has a value of 240 because 128+64+32+16=240. If you wanted to make a value of one, it would be 00000001. If you wanted a value of three, it would be 00000011. You're turning the values on or off with a one or a zero to make a value, like an abacus.
Remember that we said each block of an IP address is a value between zero 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.