is ipv6 backward compatible with ipv4?

前端 未结 3 1347
庸人自扰
庸人自扰 2021-01-25 01:55

I\'ve got a little udp example program written using ipv4. If I alter the code to ipv6 would I still be able to communicate with anyone using the listener with an ipv4 address?

相关标签:
3条回答
  • 2021-01-25 02:11

    Yes and no... IPv6 does contain completely different addressing, so you'll have to recode your app to use the alternative headers and structure sizes.

    However, the IPv4 address range is available within IPv6, the syntax is to add two colons before the standard address (eg ::10.11.12.13). You can also embed IPv4 addresses within IPv6 packets.

    0 讨论(0)
  • 2021-01-25 02:15

    IPv4 and IPv6 are inherently incompatible with each other.
    A few basic reasons:

    • the address space is completely different (IPv6 has 128 bit addresses, IPv4 has 32 bit addresses)
    • the protocol header of IPv6 looks nothing like the protocol header of IPv4. if you try to parse an IPv6 packet as IPv4 you'll get nonsense.

    The obvious result of these is that if you open an IPv6 socket you can't listen to it using an IPv4 socket.

    0 讨论(0)
  • 2021-01-25 02:27

    Not without the assistance of an IPv4/IPv6 gateway in the network, and even then communication will be limited by the typical problems introduced by network address translating gateways. The traditional advice for programmers facing decisions like this is to recommend supporting both IPv4 and IPv6 at the same time.

    0 讨论(0)
提交回复
热议问题