Connecting IPv6 devices through IPv4 network and network address translator (NAT) using tunnel setup protocol
First Claim
Patent Images
1. 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A tunnel setup protocol enables tunnel clients to set up IPv6-in-IPv4 networks to permit IPv6 nodes to communicate across the IPv4 network using IPv6 native packets, even if the IPv4 network contains a Network Address Translation function. The tunnel setup protocol uses a control channel to negotiate tunnel configuration parameters and exchange tunnel configuration data between a tunnel client and a tunnel broker server. The tunnel setup is automatic, and migration to IPv6 is ameliorated.
51 Citations
28 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An Apparatus for connecting an IPv6 device in a first IPv6 network through an IPv4 network with network address translation (NAT) to an IPv6 node in a second IPv6 network, comprising:
-
a tunnel broker server connected to the IPv4 network and the second IPv6 network, the tunnel broker server being programmed to; respond to a message from a tunnel client establishing a control channel through the IPv4 network between the tunnel client and the tunnel broker server, the tunnel client being, connected to the iPv4 network and the first IPv6 network; authenticate the tunnel client to establish an IPv6-in-IPv4 tunnel through the IPv4 network; accept desired parameters for a configuration of the IPv6-in-IPv4 tunnel from the tunnel client; determine whether or not network address translation (NAT) occurs between the tunnel client and the tunnel broker; and 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. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system for connecting an IPv6 device in a first IPv6 network through an IPv4 network with network address translation (NAT) to an IPv6 node in a second IPv6 network using a tunnel setup protocol (TSP) session, comprising:
-
a tunnel client connected to the IPv4 network and the first IPv6 network; a tunnel broker server connected to the IPv4 network and the second IPv6 network, the tunnel broker server being programmed to respond to a message sent from the tunnel client to establish a control channel between the tunnel client and the tunnel broker server, use the control channel to authenticate the tunnel client attempting to establish an IPv6-in-IPv4 tunnel through the IPv4 network, and accept parameters for a configuration of the IPv6-in-IPv4 tunnel sent by the tunnel client via the control channel; the tunnel broker server and the tunnel client being respectively programmed to configure a tunnel endpoint for the IPv6-in-IPv4 tunnel, to determine at the tunnel broker server whether network address translation (NAT) occurs between the tunnel client and the tunnel broker server, and when the NAT occurs to set up the 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; the tunnel broker server further programmed to; receive from the tunnel client, a version of a tunnel session protocol installed at the tunnel client; determine 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. - View Dependent Claims (25, 26, 27, 28)
-
Specification