Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Most of the articles I have read about Tunneling. It describes that the tunneling supports for communication between 2 IPv6 networks over (crossing) an Ipv4 network. For example:

     TUNNEL A (IPv6) ==> INTERNET NETWORK (IPv4) => TUNNEL B (IPv6)

Would it be doable for:

     TUNNEL A (IPv4) ==> INTERNET NETWORK (IPv6) => TUNNEL B (IPv4)

Please give me an answer with elaborate explanation.

Thanks in advance.

share|improve this question
    
Okay, IPv6 over IPv4 is special because IPv4 doesn't know about IPv6: doesn't the other way work without any trouble because IPv6 knows about IPv4? –  Reece45 Mar 2 '11 at 14:20
    
@Reece45, it's somewhat more complicated than that. You can't just put an IPv4 addy into an IPv6 packet. There are different ways to encode it however, depending on how you want it handled (and depending on which you choose, your network may have to support the method). –  Chris S Mar 2 '11 at 15:39
    
@Reece45: IPv6 does not know about IPv4. You have to tunnel in exactly the same way. –  MikeyB Mar 2 '11 at 17:31
add comment

4 Answers

Absolutely yes, but you need the 'right' software.

You didn't mention the OS so I'll use one I'm familiar with. FreeBSD has tun interfaces. It's a generic tunneling protocol (actually the same one used by many VPNs) and you can assign IPv4 or IPv6 endpoints, as well as IPv4 or IPv6 private addresses. This allows for IPv4-over-IPv6, or IPv6-over-IPv4, or IPv4-over-IPv4, etc.

With an implementation like this, both your private address and the destination must be the same protocol (IPv4 or IPv6). There are also technologies like DNS64/NAT64 which allow you to run IPv6-only locally while connecting to both the IPv4 and IPv6 Internet. There are also other technologies like 6to4 which is a tunneling protocol at heart, but allows you to have IPv6 address on your internal network, an IPv4 external address, and still connect to the IPv6 Internet.

Having more details on what you're trying to accomplish and with what resources would help immensely.

share|improve this answer
add comment

Most definitely. In case you are asking how to do it for a Cisco environment the configurations would be the following:

(r100) tun1 (IPv4) ==> IPv6 Core => (r107) tun0 (IPv4)

r100's e0/0 ipv6 address is 2001:1:1:1::100/64
r107's e0/0 ipv6 address is 2001:3:0:2::107/64

r100#sh run int tun1
Building configuration...

Current configuration : 151 bytes
!
interface Tunnel1
 ip address 10.254.254.5 255.255.255.252
 tunnel source Ethernet0/0
 tunnel mode gre ipv6
 tunnel destination 2001:3:0:2::107
end


r107#sh run int tun0
Building configuration...

Current configuration : 151 bytes
!
interface Tunnel0
 ip address 10.254.254.6 255.255.255.252
 tunnel source Ethernet0/0
 tunnel mode gre ipv6
 tunnel destination 2001:1:1:1::100
end

pings from r100(ipv4) to r107(ipv4) over an ipv6 core:

r100#ping 10.254.254.6

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.254.254.6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
r100#

pings from r107(ipv4) to r100(ipv4) over an ipv6 core:

r107#ping 10.254.254.5

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.254.254.5, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
r107#
share|improve this answer
add comment

Many if not most users currently connected to IPv6 are connected this way. For IPv6 there are 6in4 and 6to4 tunnels. These encapsulate the IPv6 packet in an IPv4 packet and send it over the IPv4 network. The IPv6 packet is the payload of the IPv4 packet. There is an overhead of 20 bytes per packet for the IPv4 header resulting in a smaller MTU for packers routed this way.

The IPv4 option would likely be a VPN running over IPv6. I would expect that the same techniques used for IPv6 over IPv4 could be used for IPv4 over IPv6 although I am not aware of any.

IPv6 also has addressing schemes for IPv4 so IPv6 addresses can be used in an IPv6 network. However, the IPv4 headers handle options differently requiring header translation for certain header options. There are significant issues in routing IPv4 addresses in an IPv6 network, to encapsulation would be the preferred method of transport.

share|improve this answer
add comment

All routers and devices are usually dual stack. This means if you transmit IPv4 packets, the IPv6 device will negotiate this and receive as IPv4 and send as IPv4 so the end point receives it correctly.

There are no devices, that I know off which are just IPv6, this would be stupid and the vendor wouldn't sell any devices.

IPv6 through IPv4 to its end point of IPv6 needs to encapsulate the IPv6 packets in a IPv4 packet. This can be done with tunnelling (manual IPv6 tunnels, 6to4 tunnels or ISATAP), toredo tunnelling or a 3rd party broker service. Each have advantages and disadvantages.

The information has different header information so that the IPv6 devices know that it is encapsulated and can be open correctly at each end. The header is usually stripped off when the encapsulated packet is received by the IPv6 device. IPv6 header infromation is completely different to IPv4 header information. IPv6 headers have less information now.

Every operating system is dual stack now, except Win XP, which you can download a client to deal with.

The various tunnelling methods are a little too long to describe in this post.

To answer your question there is no need to tunnel from a IPv4 device through a IPv6 device to a IPv4 end point, because the middle man will be dual stack. This means IPv4 and IPv6.

share|improve this answer
    
Incorrect - this will come up more and more as we're (nearly) out of IPv4 address space. More allocations will start to be IPv6-only, and just because you have an IPv6 allocation doesn't mean that you have IPv4. There is a lot more pickup of IPv6 in places such as China and India that have very few IPv4 addresses for a lot of people. BTW, here's an example of IPv6-only hardware: openosian.net/wiki/Main_Page –  MikeyB Mar 2 '11 at 17:30
    
IPv4 encapsulated in IPV6??? Sorry probably didnt explain encapsulation correctly. @MikeyB Isnt Openosian an embedded posix implementation run on other hardware. Its just ludicrous to think that you run only a single stack device. Internally yes, maybe, but to the outside world, especially in a commercial sense. –  IanN Mar 3 '11 at 15:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.