Following on from the announcement last month of BT to move from IPv4 to IPv6 for their internet connections I thought this would be a good opportunity to explain what an IP address does, and what it is.
What is an IP Address?
An Internet Protocol Address (or IP Address) is an unique set of numbers that acts as the address (or the unique identifier) that computing devices such as personal computers, tablets, and smartphones use to identify itself and communicate with other devices in the IP network. Any device connected to the IP network must have an unique IP address within the network. An IP address is analogous to a street address or telephone number in that it is used to uniquely identify an entity.
The traditional IP Addresses (known as IPv4) uses a 32-bit binary number to represent an IP address, and it defines both network and host address.
A 32-bit binary number is capable of providing roughly 4 billion unique numbers. As the number of devices connected to the internet increase more IPv4 addresses are required, and hence IPv4 addresses running out. An IP address is written in “dotted decimal” notation, which is 4 sets of numbers separated by period each set representing 8-bit number ranging from (0-255). An example of IPv4 address is 192.168.1.1, which is the (private) IP address often assigned to internal network (such as home or small business) routers.
An IPv4 address is divided into two parts: network and host address. The network address determines how many of the 32 bits are used for the network address, and remaining bits for the host address. The host address can further divided into subnetwork and host number.
Internet Protocol Version 6 (or IPv6) is designed to solve IPv4 address exhaustion problem. IPv4 uses a 32-bit numbering scheme to represent an IP address, which has an address space of 4.3 billion. IPv6, on the other hand, uses 128-bit binary numbering scheme which has big enough address space for many decades to come. IPv6 is intended to replace the IPv4.
IPv6 Address Types
IPv6 addresses are classified into three categories: unicast, anycast and multicast addressing.
- Unicast Address – An unicast IP address is an identifier for a single network interface. An IPv6 packet sent to an unicast address is delivered to a single interface.
- Anycast Address – An anycast IP address is identifier for a set of interfaces assigned to a group but belonging to different nodes. An IPv6 packet sent to an anycast address is delivered to a single node closest to the sender identified by the routing algorithm.
- Multicast Address – A multicast IP address is identifier for a set of interfaces that may belong to differentn nodes. An IPv6 packet sent to a multicast address is delivered to all interfaces identified by the multicast address.
The IPv6 addresses are comprised of 128-bits (or 8 groups of 4 hexadecimal digits separated by colons), with possibility of leaving out zeros to abbreviate the full address. An example of IPv6 address may look like 6001:0bd7:1032:0009:2dfe:1254:0000:76d1. For convenience, an IPv6 address can be represented in shorter notation by omitting leading zeros. The example address above can be also be represented as 6001:bd7:1032:9:2dfe:1254:0:76d1.
When abbreviating IPv6 address, the following rules apply:
- One or more leading zeros in any group of 8 hexadecimal digits can be removed. For example, 0009 can be written 9 and 0000 can be converted to 0. (see example above).
- Consecutive group of zeros are replaced with a double colon ::. The loopback address, 0000:0000:0000:0000:0000:0000:0000:0001 can be abbreviated to ::1.
Differences between IPv4 and IPv6?
The IPv4 and IPv6 share a similar architecture, and they will coexist until IPv6 completely replaces the IPv4.
- IPv4 is represented by 32-bit number, and IPv6 is represented by 128-bit number.
- This translates to 4.3 billion address space for IPv4 and 340 trillion address space for IPv6.
- IPv4 is separated by 4 groups of 2 hexadecimal digits by a dot, whereas IPv6 is separated by 8 groups of 4 hexadecimal digits by a colon.
- IPv4 does not support short-hand notation, but IPv6 does by omitting leading zeros.
Why is IPv6 matter?
The most important factor is that users are not likely notice the difference or even notice the change.