We are slowly approaching the implementation of IPv6 in a mass scale and thus we must be ready to learn some significant differences over IPv4. Also, some IP addressing terms will start to appear with increasing frequency in our day to day work. So let’s see some notable concepts that you need to know about IPv6.
— IPv6 addresses are 128 bits long and are expressed in hexadecimal numbers.
— IPv4 addresses are 32 bits long and are represented as four octets separated by periods. Each octet of the address is represented in decimal, taking a possible value between 0 and 255.
— IPv6 addresses are 128 bits long and are expressed in hexadecimal numbers. Every four hexadecimal characters are separated by a colon.
Example: 2001:75b: a12c: 6: c0: a8: 1:1
— IPv6 uses different IP address types. One of those types is the link local address that configures itself at every interface that has enabled the IPv6 protocol. The local link interface addresses always begin with FE80.
— Similarly, multicast addresses always start with FF0x (the x represents a hexadecimal digit letter between 1 and 8).
— Zeros at the beginning of each portion of the address may be deleted. IPv6 addresses are expressed as 32 hexadecimal digits separated into 8 groups of 4 digits separated by a colon. When one of these 8 groups of digits begins with zero, it can be eliminated.
FE80: CD00: 0000: 0CDE: 1234: 0000: 5678: 0009
If we delete the zeros at the beginning of each section the address becomes:
FE80: CD00: 0: CDE: 1234: 0: 5678: 9
— When there are zeros in several positions, they may also be deleted.
We often find addresses that have multiple sections of zero. These sections can also be suppressed to a single zero.
FE80: CD00: 0000:0000:0000:0000:0010:0127
In this scenario we can eliminate consecutive groups of zeros and also suppress leading zeros in some groups. Thus, the address becomes:
FE80: CD00 :: 10:127
The double colon expression :: tells the operating system that everything between them are all zeros.
You must be careful because you can delete an entire section only when fully made up with zeros. Also remember that the double colon expression :: can be used only once in each IP address representation.
— There is only one loopback address. IPv4 has reserved the entire network 127.0.0.0 / 8 (it is customary to use address 127.0.0.1) as the loopback address to point to the local machine.
In IPv6 there is also a loopback address, but in this case is only one and represented with :: 1
Or to put it in the conventional way (full format):
— No subnet mask is needed.
In IPv4, each port is identified by an IP address and subnet mask.
In IPv6 you can also implement subnets but this is not necessary. Of the total of 128 bits that make up an address, the first 48 identify the network prefix, the next 16 are the subnet ID, and the last 64 are the interface identifier. Since 16 bits are reserved for the local portion of subnets, in an IPv6 network it is possible to generate 65536 subnets.
— DNS service is also available in IPv6.
In IPv4 DNS service uses the A records to map IP addresses to names. In IPv6 AAAA records are used (also called Quad A). The domain ip6.arpa is used for reverse name resolution.
— IPv6 addresses can connect over IPv4 networks.
The design of IPv6 allows multiple forms of transition, enabling the development of IPv6 networks even when the route must pass through IPv4 networks. These transitional forms use tunneling over IPv4 networks. The two most popular technologies for this are Teredo and 6to4.The basic idea is that IPv6 packets are encapsulated within IPv4 packets to traverse these networks.
— Many vendors are already able to use IPv6.
Microsoft operating systems from Windows Vista and Windows 7 have IPv6 installed by default together with IPv4 (also can be installed on Windows XP, but is not there by default).
Also, Unix and Linux operating systems support IPv6 for years.
Regarding network vendors, Cisco IOS supports IPv6 many years ago, but it is not enabled by default and needs to be explicitly enabled with the command “ipv6 unicast routing”.
— Windows support for IPv6 has some peculiarities.
When a client wants to address a specific port, for example, an IP Address and Port number in Internet Explorer is separated by a colon:
In IPv6, as the colon is part of the description of the IP address, the IP and Port separation is done using square brackets:
http:// [FE80: CD00: 0: CDE: 1234:0:2567:9AB]: 8543
This format is not supported on Windows machines because when you use colons this is interpreted as referencing an internal drive in the computer.
To solve this problem, Microsoft has established a special domain for the IPv6 address representation in Windows machines. In this way, if you reference an IPv6 address using Universal Naming Convention, the digits must be separated by dashes instead of colons and at the end of the address you must add the domain name “ipv6-literal.net”.
An example, instead of:
http:// [FE80: CD00: 0: CDE: 1234:0:2567:9AB]
You should use: