Figure 1 illustrates the protocol stack in a dual stack node. The common transport layer components support two network layer components (IPv4 and IPv6), allowing applications on the node to communicate with both IPv4 and IPv6 applications. A dual stack node should be configured with both IPv4 and IPv6 addresses.
Dual stack is the most straightforward technique that allows interoperation between IPv6 applications and IPv4 applications. IPv6-aware  applications such as telnet, ftp, DNS, Web Servers deployed on dual stack nodes can service existing IPv4-only  nodes and new IPv6 nodes avoiding the need to run two separate applications for the same purpose.
IPv6-aware  applications running on dual stack nodes communicate with IPv4 applications running on IPv4-only  nodes using a special IPv6 address called an IPv4-mapped  IPv6 address [1]. The IPv4-mapped  IPv6 address with the format “::ffff:a.b.c.d” contains the IPv4 address in the low-order  32 bits.
When an IPv4 client application sends a request to an IPv6 server application bound to a wildcard address, the dual stack node presents the client address as a 128 bit IPv4-mapped  IPv6 address to the IPv6 application. This allows the IPv6 application to service the request as a regular IPv6 request. While transmitting the response, the dual stack node will properly interpret the IPv4-mapped  IPv6 address as an IPv4 address and the packets exchanged between the two nodes will be IPv4 packets.
5. Tunneling
Tunneling is a key transition mechanism strategy that allows isolated IPv6 nodes or networks to communicate with each other using a virtual link created over the existing IPv4 infrastructure. The IPv6 nodes that act as tunnel endpoints should be dual stack nodes. The tunnel 
Tunnel configuration can be either manual (configured) or automatic, they primarily differ in how the IPv4 tunnel 
The manually configured tunnels are 
The automatic tunnels are 
Tunneling can be used in different scenarios, as discussed in the following sections.
5.1 Host-to-Host 
In a 
4
