Computer System Network Addressing

In the world of computers and connected devices, there has to be a method for them to communicate with the outside world. This communication could be in the form of looking up a web site, or connecting to a Internet Relay Chat (IRC) server. Whatever the reason, computers need to have some method to identify themselves on a network so they can exchange information. As far back as 1973 a method for computer networking was developed by the U.S. Defense Advance Research Projects Agency (DARPA). This method is called TCP/IP. While the TCP part deals with the actual conversation between computers, the IP part deals with the addressing.

IP aka Internet Protocol

The Internet Protocol is responsible for identifying a host on a network and ensuring that TCP packets are “routed” to the correct network.

Currently the majority of the world uses version 4 of the IP protocol, or more commonly referred to as IPv4. A IPv4 address looks like this 10.10.224.100. But to a computer the address may look like this 00001010.00001010.11100000.01100100 as computers really only deal with a binary numbering system. That being said we humans really don’t speak binary very fluently, so we convert the binary number into 4 octets which are 8 bits each. This is referred as dotted decimal notation.
Example IPv4 Address

So when a network engineer setups a network they will use the dotted decimal notation, and the computer program converts it to the binary form. The IP address the engineer setups for a host has to be unique on that network. This address will be the way that computer is identified on that network.

An IP address octet can only contain numbers form 0 to 255. So there can never be an address like this: -10.499.25.257 This constrain has put an limitation on the IPv4 addressing schema. So in order to divide the available IPv4 addresses, sub netting was invented.

Sub netting

Sub netting is a method of identifying different networks. lets say you have an network address of 10.10.224.100 and a subnet mask of 255.255.255.0. This means the network part of the address is the 10.10.224 and the host part is the .100. So this means that this network can only have 254 host because of the way is was “divided” the 255 number is not used in the address part. Sub netting is a fairly completed method to stretch out the number of IP addresses. Not to mention very inadequate. With the forecasted depletion of available IPv4 address, a new addressing scheme was needed.

IPv6 to the Rescue

In 1995 IPv6 was conceived to address the limitations of IPv4. IPv6 is still not in wide spread use, but with the Internet of Things, I would be expecting it sooner rather then latter.
An IPv6 address looks like this: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 which is 8 groups of 4 hexadecimal digits each separated by a :. The new IP addressing method will provide 340,282,366,920,938,463,463,374,607,431,768,211,456 unique address! Which is the reason I wanted to write this post. I have noticed recently the added option of using a IPv6 addressing schema in small office/home office routers. And with the rapidly approaching horde of Internet of Things devices, we all may be soon using IPv6.
Example IPv6 Address