Patent ID: 7305481

Claim:
A method for connecting an IPv6 devices in a first IPv6 network through an IPv4 network with network address translation (NAT) to an IPv6 node in a second IPv6 network, comprising steps of: sending a message from a tunnel client to a tunnel broker server to establish a control channel through the IPv4 network between the tunnel client the tunnel broker server, the tunnel client being connected to the IPv4 network and the first IPv6 network, and the tunnel broker server being connected to the IPv4 network and the second IPv6 network; sending to the tunnel broker server, via the control channel, a request message to establish an IPv6-in-IPv4 tunnel through the IPv4 network, the request including tunnel configuration parameters desired by the tunnel client; determining at the tunnel broker server whether network address translation (NAT) occurs between the tunnel client and the tunnel broker server; when the NAT occurs between the tunnel client and the tunnel broker, setting up the IPv6-in-IPv4 tunnel through the NAT using a tunnel setup protocol (TSP) session, between the tunnel client and the tunnel broker server, and subsequently maintaining a NAT state of the NAT open to preserve the IPv6-in-IPv4 tunnel for at least a duration of a communications session between the IPv6 node and the IPv6 device; receiving at the tunnel broker server, from the tunnel client, a version of a tunnel session protocol installed at the tunnel client; determining whether the version of the tunnel session protocol is supported by the tunnel broker server; and when the version of the tunnel session protocol is not supported by the tunnel broker server, returning an error message to the tunnel client.