Internet Protocol (IP) is the core network-layer protocol upon which the Internet is built. IPv4, the current version of the protocol, has been the dominant protocol on the internet over the years. The next generation of Internet Protocol IPv6, (IPng or IP next generation) is the successor of IPv4. The main aim for revising the existing Internet Protocol is the anticipated depletion of IPv4 address space. IPv4 exhaustion is occurring because of the various devices in the present generation connecting to the Internet, including tablet, mobile phone, CCTV cameras, PC etc and the number of IPv4 addresses to these number of Internet-accessible devices is insufficient. IPv4 exhaustion and IPv6 adoption are important Internet issues, in addition to overall Internet penetration. In this article we shall see the different methods of transition from IPv4 to IPv6 and its implementation on a simulator. During the simulation exercises, you will learn about configuring IPv4 and IPv6 addresses on routers, servers, and clients. You’ll also configure routing and verify your IPv6 addressing implementation.
Methods of transition from IPv4 to IPv6
To support the ongoing growth of Internet enabled devices, the transition from IPv4 to IPv6 is very much necessary. The two protocols will likely need to co-exist for many years before IPv6 replaces IPv4 completely. Below are the few methods of transition from IPv4 to IPv6 which some of the countries and corporations are following widely:
Dual Stack
A dual stack network is a network in which both IPv4 and IPv6 would exist at all the nodes and routers. Dual stack networks are one of the many IPv4 to IPv6 migration strategies that have been presented in recent years. Below, we shall see how to setup a dual stack simulation on packet tracer.
Topology
Addressing Table
Device Name | IP Address | Gateway |
---|---|---|
PC0 | 10.1.1.2/24 | 10.1.1.1 |
PC1 | 2001:1:1:1::2/64 | 2001:1:1:1::1 |
R1-E0/0 | 10.1.1.1/24 | N/A |
R1-E0/1 | 2001:1:1:1::1/64 | N/A |
R1-S0/0/0 | 10.2.2.1/24 | N/A |
R1-S0/0/0 | 2001:2:2:2::1/64 | N/A |
R2-S0/0/0 | 10.2.2.2/24 | N/A |
R2-S0/0/0 | 2001:2:2:2::2/64 | N/A |
R2-E0/0 | 10.3.3.1/24 | N/A |
R2-E0/0 | 2001:3:3:3::1/64 | N/A |
Server | 10.3.3.2/24 | 10.3.3.1 |
Server | 2001:3:3:3::2/64 | 2001:3:3:3::1 |
Client and Server Configurations
Based on the above addressing table, set the IP addresses and the default gateway for the clients and server accordingly (Refer below video).
Router Configurations
Set the IP addresses for routers based on the above addressing table as shown below along with the routes.
R1 Router Configuration
Router1#configure terminal
Router1(config)#interface fastEthernet 0/0
Router1(config-if)#ip address 10.1.1.1 255.255.255.0
Router1(config-if)#no shutdown
Router1(config-if)# interface fastEthernet 0/1
Router1(config-if)#ipv6 address 2001:1:1:1::1/64
Router1(config-if)#no shutdown
Router1(config-if)# interface Serial1/0
Router1(config-if)#ip address 10.2.2.1 255.255.255.0
Router1(config-if)#ipv6 address 2001:2:2:2::1/64
Router1(config-if)#no shutdown
Router1(config-if)#exit
Set IPv4 and IPv6 Routes
Router1(config)#ipv6 unicast-routing
Router1(config)#ip route 0.0.0.0 0.0.0.0 10.2.2.2
Router1(config)#ip route ::/0 2001:2:2:2::2
R2 Router Configuration
Router2#configure terminal
Router2(config)# interface Serial1/0
Router2(config-if)#ip address 10.2.2.2 255.255.255.0
Router2(config-if)#ipv6 address 2001:2:2:2::2/64
Router2(config-if)#no shutdown
Router1(config-if)# interface fastEthernet 0/0
Router1(config-if)#ip address 10.3.3.1 255.255.255.0
Router1(config-if)#ipv6 address 2001:3:3:3::1/64
Router1(config-if)#no shutdown
Router2(config-if)#exit
Set IPv4 and IPv6 Routes
Router2(config)#ipv6 unicast-routing
Router2(config)#ip route 0.0.0.0 0.0.0.0 10.2.2.1
Router2(config)#ipv6 route ::/0 2001:2:2:2::1
Download the working example of dual stack: dual-stack.pkt
Note: Packet tracer version 6.1.1.0001 was been used to create the above simulation. Request you to use the same version to open the downloaded file.
Also look into the below video on How to configure Dual-stack network in packet tracer.
Tunneling
Another approach is to use tunneling techniques on top of an existing IPv4 infrastructure and uses IPv4 to route the IPv6 packets between IPv6 networks by transporting these encapsulated in IPv4. Tunneling is used by networks not yet capable of offering native IPv6 functionality. It is the main mechanism currently being deployed to create global IPv6 connectivity. Manual, automatic, semi-automatic configured tunnels are available. Different types of tunneling techniques are 6over4, 6to4, ISATAP, TEREDO, tunnel brokers etc., Difference between 6to4 over 6over4 is that, 6to4 allows for automatic IPv6-to-IPv4 address translation, whereas 6over4 provides the advantage of using IP range allocated to you by ISP’s.
Below, we shall see how to setup 6over4 tunneling mechanism on packet tracer.
Topology
The above topology is not a dual stack (do not confused) as the Router R2 is just IPv4 and doesn’t support IPv6.
Client and Server Configurations
Based on the above topology, assign the IP addresses and the default gateway for the clients and server accordingly (Refer below video).
Router Configurations
Set the IP addresses for routers based on the above topology as shown below along with the routes and tunneling.
R1 Router Configuration
Router1#configure terminal
Router1(config)#interface fastEthernet 0/0
Router1(config-if)#ip address 10.1.1.1 255.255.255.0
Router1(config-if)#ipv6 address 2001:1:1:1::1/64
Router1(config-if)#no shutdown
Router1(config-if)#interface fastEthernet 0/1
Router1(config-if)#ip address 10.2.2.1 255.255.255.0
Router1(config-if)#no shutdown
Router1(config-if)#exit
Set IPv4 Route
Router1(config)#ip route 0.0.0.0 0.0.0.0 10.2.2.2
Enable IPv6 Routing
Router1(config)#ipv6 unicast-routing
Configure Tunnel
Router1(config)#interface tunnel 0
Router1(config-if)#tunnel mode ipv6ip
Router1(config-if)#ipv6 address 2001:2:2:2::1/64
Router1(config-if)#tunnel source fastEthernet 0/1
Router1(config-if)#tunnel destination 10.3.3.2
Router1(config-if)#exit
Set IPv6 Routes over tunnel
Router1(config)#ipv6 route ::/0 2001:2:2:2::2
R2 Router Configuration
Router1#configure terminal
Router1(config)#interface fastEthernet 0/0
Router1(config-if)#ip address 10.2.2.2 255.255.255.0
Router1(config-if)#no shutdown
Router1(config-if)#interface fastEthernet 0/1
Router1(config-if)#ip address 10.3.3.1 255.255.255.0
Router1(config-if)#no shutdown
Router1(config-if)#exit
Set IPv4 Routes
Router1(config)#ip route 10.1.1.0 255.255.255.0 10.2.2.1
Router1(config)#ip route 10.4.4.0 255.255.255.0 10.3.3.2
R3 Router Configuration
Router1#configure terminal
Router1(config)#interface fastEthernet 0/0
Router1(config-if)#ip address 10.3.3.2 255.255.255.0
Router1(config-if)#no shutdown
Router1(config-if)#interface fastEthernet 0/1
Router1(config-if)#ip address 10.4.4.1 255.255.255.0
Router1(config-if)#no shutdown
Router1(config-if)#exit
Set IPv4 Routes
Router1(config)#ip route 0.0.0.0 0.0.0.0 10.3.3.1
Enable IPv6 Routing
Router1(config)#ipv6 unicast-routing
Configure Tunnel
Router1(config)#interface tunnel 0
Router1(config-if)#tunnel mode ipv6ip
Router1(config-if)#ipv6 address 2001:2:2:2::2/64
Router1(config-if)#tunnel source fastEthernet 0/0
Router1(config-if)#tunnel destination 10.2.2.1
Router1(config-if)#exit
Set IPv4 Routes
Router1(config)#ipv6 route ::/0 2001:2:2:2::1
Download the working example of dual stack: 6over-tunneling.pkt
Note: Packet tracer version 6.1.1.0001 was been used to create the above simulation. Request you to use the same version to open the above file.
Also look into the below video on How to configure 6over4 tunneling in packet tracer.
Translation
The first method to be introduced to provide IPv6 translation services was Network Address Translation – Protocol Translation (NAT-PT). NAT-PT simply translates IPv6 packets into IPv4 packets. This mechanism have been deprecated by the IETF, because of its tight coupling with Domain Name System (DNS) and its general limitations in translation because of its complicated Header Formats in the protocol than IPv4 NAT. With the limitations of NAT-PT and the increasing urgency to migrate to IPv6, IETF proposed NAT64 as the successor to NAT-PT. NAT64, technology facilitates communication between IPv6-only and IPv4-only hosts and networks. NAT64 implementation requires two components, DNS64 (for DNS synthesis) and IP-Translator which translator synthesized-IPv6 addresses to IPv4 and put them on NAT.
Translation techniques were intended to be used as a last resort. Dual-stack and tunneling techniques are preferable over translation techniques.
that was so helpful thank you so much