A method implemented in a host node for communicating with a corresponding node, where the host node has connections to a plurality of networks, wherein each of the plurality of networks includes a network address translation 64, hereinafter abbreviated as "NAT64", node, wherein each NAT64 node utilizes a distinct prefix to generate virtual Internet Protocol version 6, hereinafter abbreviated as "IPv6", addresses, said virtual IPv6 addresses being hereinafter referred to as "network-specific virtual IPv6 addresses", wherein each of the plurality of networks is an IPv6 network, but the corresponding node is an Internet protocol version 4, hereinafter abbreviated as "IPv4", node, the method comprising the steps of: receiving a request to initiate a connection with the corresponding node from an application executing on the host node; sending a request to a domain name system 64, hereinafter abbreviated as "DNS64", node for an address of the corresponding node, wherein the DNS64 node is in one of the plurality of networks; receiving a virtual IPv6 address, hereinafter referred to as "generic virtual IPv6 address", from the DNS64 node for the corresponding node, wherein the generic virtual IPv6 address includes a prefix that is not specific to any of the NAT64 nodes, the generic virtual IPv6 address being generated by appending the prefix to the IPv4 address of the corresponding node; receiving data from the application to be sent to the corresponding node; selecting a connection to one of the plurality of networks through which the data is to be forwarded to the corresponding node; looking up the prefix used by the NAT64 node in the network of the selected connection in a translation binding table maintained by the host node; and sending the data to the corresponding node using a network-specific virtual IPv6 address for the corresponding node formed by replacing the prefix in the generic virtual IPv6 address received from the DNS 64 with the prefix of the NAT64 node in the network of the selected connection, whereby the host node is able to maintain connectivity with the corresponding node despite having connections to the plurality of networks that each have NAT64 nodes that utilize distinct prefixes for virtual IPv6 addresses. receiving a request to initiate a connection with the corresponding node from an application executing on the host node; sending a request to a domain name system 64, hereinafter abbreviated as "DNS64", node for an address of the corresponding node, wherein the DNS64 node is in one of the plurality of networks; receiving a virtual IPv6 address, hereinafter referred to as "generic virtual IPv6 address", from the DNS64 node for the corresponding node, wherein the generic virtual IPv6 address includes a prefix that is not specific to any of the NAT64 nodes, the generic virtual IPv6 address being generated by appending the prefix to the IPv4 address of the corresponding node; receiving data from the application to be sent to the corresponding node; selecting a connection to one of the plurality of networks through which the data is to be forwarded to the corresponding node; looking up the prefix used by the NAT64 node in the network of the selected connection in a translation binding table maintained by the host node; and sending the data to the corresponding node using a network-specific virtual IPv6 address for the corresponding node formed by replacing the prefix in the generic virtual IPv6 address received from the DNS 64 with the prefix of the NAT64 node in the network of the selected connection, whereby the host node is able to maintain connectivity with the corresponding node despite having connections to the plurality of networks that each have NAT64 nodes that utilize distinct prefixes for virtual IPv6 addresses.