I keep reading about the transition from IP v4 to IP v6, and the possible advantages and problems. One thing that keeps popping up is "dual-stack" networking, meaning (I believe) a host can speak both IPv4 and IPv6.

I don't quite understand how this works, however. Can a host actually transmit using IPv4 and IPv6 at the same time over the same physical Ethernet (like e.g. HTTP and FTP can be used simultaneously)? Or is the physical network strictly IPv4 or IPv6, with the "other" protocol sent via tunneling?


Ethernet is protocol agnostic. Devices connected to an Ethernet send packets containing data using IPv4, IPv6, IPX or some other protocol. It is up to the connected devices (your PC for instance) to make sense of the protocol.

In terms of the network stack, Ethernet is level 2 (Data Link) in the stack. The wiring between your devices is level 1 (physical). These layers have are simply a pipe that can carry any number of protocols. Multiple protocols can be carried at the same time.

IPv4 and IPv6 are level 3 (Network). Dual stack is not new and a few years ago the dual stack was IPv4 and IPX. When a packet arrives, the computer needs to determine which stack to deliver the packet to. For IPv4 and IPv6, this is easy do to as it is encoded in the first 4 bits of the packet.

TCP and UDP, which are at the Transport (level 4) layer, run equally well over IPv4 and IPv6. In some cases they may switch from IPv4 to IPv6 or vice versa between the two end points. There is an addressing scheme which allows an IPv4 address to be encoded as an IPv6 address allowing IPv6 only devices to address IPv4 only devices. A protocol translation device in the middle is needed for this to work.

There might be a small latency advantage to binding IPv4 to one adapter and IPV6 to another. This would be only be useful if the protocols were not routed over the same link at some point. Running transfers on the same router might be slightly faster if different protocols were used. I would reserve the second interface for a second security zone, or for network sharing.

| improve this answer | |
  • 1
    You were SO hoping to discuss the OSI stack today! :-) – TTM Feb 7 '11 at 0:25
  • 6
    @Greg Sunday sermon time: And on the seventh layer (application) he rested and played games. – BillThor Feb 7 '11 at 0:59

A given network card can talk as many protocols as you want it to. Back in the day, I often had IPv4, IPX, and some more obscure protocols bound to the same card simultaneously. That's the joy of the layered model.

The same principle is at work, as you noted, when you have HTTP and FTP both running over IP. Since the lower layers of the network stack don't particularly care about what the higher layers are doing, you can send many higher level protocols over a given lower level protocol.

Now not all IPv4/IPv6 transitions are set up so that the network card is speaking both simultaneously, sometimes tunneling is used (Teredo, for example). But it's not necessary.

| improve this answer | |
  • is there an advantage to binding ipv4 to one adapter and ipv6 to another? Most of my motherboard lately have had dual nics usually just team them. – IrqJD Feb 6 '11 at 21:18
  • 2
    No, there is no reason to run only ipv4 or ipv6 on a network card. The network card does not know anything about ipv4 or ipv6; it just speaks Ethernet. The Ethernet packets carry higher level protocols transparent to the card. – joeforker Feb 6 '11 at 23:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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