IP version 6 (IPv6) is the new version of the Internet Protocol (IP), intended to replace the older IPv4 which is still employed on the vast majority of Internet hosts.
IPv6 increases the IP address size from 32 bits to 128 bits to support a much greater number of addressable hosts.
IPv4 can support 232 = 4,294,967,296 or over four billion unique addresses but this address space has almost been exhausted due to immense expansion in the size of the Internet over the years.
IPv6 on the other hand can support 2128 = 3.4 * 1038 addresses, a number so large that it would solve the scarcity of IP address space once and for ever.
IPv6 conventions write the 128 bit IPv6 address as 8 quartets of hex digits, separated by colons, for example:
2001:2222:BBBB:0003:1234:5678:9ABC:0012
As you can see, IPv6 addresses are lengthy even in hexadecimal. Two conventions are used to shorten what must be typed for an IPv6 address:
- Omit the leading 0s in any given quartet. However you must leave at least one number in any quartet.
- Represent consecutive quartets of all 0s with double colon (or :: ) but only for one such occurrence in a given address.
In order to see these conventions in action, consider the following IPv6 address:
FE00:0000:0000:0000:0012:0000:0000:0043
The leftmost consecutive quartets of all 0s can be represented with double colon (::). Even if we have more consecutive zeros later on, only one time is allowed to have the double colon notation in the IP. So we have the following valid abbreviation for the above IPv6 address.
FE00::12:0:0:43
There are three general types of IPv6 addresses: unicast, multicast, and anycast. There are further categories in unicast addresses one of which is IPv6 global unicast addresses.
An IPv6 global unicast address is similar to a public IP address in IPv4, that is, an IP address that can be routed across the public Internet.
Figure 1 – IPv6 Global Unicast Address
There are two options for static configuration of IPv6 addresses on Cisco routers. For one option, you configure the entire 128-bit IPv6 address, and for the other, you just configure the 64-bit prefix and tell the device to use an EUI-64 calculation for the interface ID portion of the address.
Extended Unique Identifier or EUI-64 format allows a host to automatically assign itself a unique 64-bit IPv6 interface identifier without manual configuration.
Both options result in the router interface learning its full 128-bit IPv6 address and prefix-length, one way or the other.
Let’s now configure IPv6 addresses for the network shown in Figure 2. The figure shows two IPv6 subnet numbers with the two links.
Figure 2 – IPv6 Configuration
Let’s first configure interfaces Fa0/0 and S0/0 of R1:
R1>enable
R1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#interface FastEthernet0/0
R1(config-if)#ipv6 address 2000:0:0:D::/64 eui-64
R1(config-if)#interface Serial0/0
R1(config-if)#ipv6 address 2000:0:0:C::1/64
R1(config-if)#end
Let’s now verify if IPv6 addresses have been correctly configured using commands show ipv6 interface brief and show ipv6 interface as show below.
R1#show ipv6 interface brief
FastEthernet0/0 [up/up]
FE80::C000:17FF:FE7C:0
2000::D:C000:17FF:FE7C:0
Serial0/0 [up/up]
FE80::C000:17FF:FE7C:0
2000:0:0:C::1
R1#show ipv6 interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::C000:17FF:FE7C:0
No Virtual link-local address(es):
Global unicast address(es):
2000::D:C000:17FF:FE7C:0, subnet is 2000:0:0:D::/64 [EUI]
Joined group address(es):
FF02::1
FF02::1:FF7C:0
MTU is 1500 bytes
ICMP error messages limited to one every 100 milliseconds
ICMP redirects are enabled
ICMP unreachables are sent
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
Let’s now proceed to configure IPv6 addresses on R2 and R3 as well.
R2>enable
R2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#interface Serial0/0
R2(config-if)#ipv6 address 2000:0:0:C::2/64
R2(config-if)#end
R2#
R3>enable
R3#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#interface FastEthernet0/0
R3(config-if)#ipv6 address 2000:0:0:D::/64 eui-64
R3(config-if)#end
R3#
Let’s now go back to R1 and verify if we can ping the IPv6 address 2000:0:0:C::2 on interface S0/0 of R2.
R1#ping 2000:0:0:C::2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2000:0:0:C::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/8/28 ms
Important Points to Know About IPV6
The implementation of IPv6 is currently 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.
Example: 192.168.1.1
— 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.
For example:
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.
For example:
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):
0000:0000:0000:0000:0000:0000:0000:0001
— 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:
http://172.16.100.1:8543
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:
http://FE80-CD00-0-CDE-1234-0-2567-9AB.ipv6-literal.net
Related Posts
- How to Find IP Address From MAC Address on Cisco Devices
- Cisco Command to Test a Copper UTP Ethernet Cable on a Switch
- What is Cisco Meraki ? Some FAQ About Cisco Meraki You Need to Know
- What is Cisco Identity Services Engine (ISE)? Use Cases, How it is Used etc
- Readers Favorite Posts – Articles Liked by our Visitors