Relayed network address translator (NAT) traversal
First Claim
1. A system for communicating over a Network Address Translator (NAT) connected to an Internet Protocol (IP) network there being a first host connected via the NAT to the IP network and a second host connected to the IP network that seeks to communicate with the first host, the system comprising:
- at least one relay server connected to the IP network, the relay server being operable as a representative of the first host on the IP network; and
at least one redirect server connected to the IP network;
the redirect server and the relay server being operative, respectively, to cooperatively respond to an access request, which is originated by the second host and targets the first host, by cooperatively facilitating establishment of an IP communication channel between the second host and the first host.
2 Assignments
0 Petitions
Accused Products
Abstract
Network Address Translator (NAT) traversal is performed for a host located behind the NAT running a server, e.g., an HTTP server, using a relay server and a redirect server. The host (of the HTTP server) located behind the NAT uses a NAT-discovery process to determine the presence of the interposed NAT. Seamless IP communication over the IP network is provided using a Dynamic DNS (DDNS) system that is updated using a user registration database, which contains information about the presence or absence of a NAT relative to the HTTP server.
-
Citations
29 Claims
-
1. A system for communicating over a Network Address Translator (NAT) connected to an Internet Protocol (IP) network there being a first host connected via the NAT to the IP network and a second host connected to the IP network that seeks to communicate with the first host, the system comprising:
-
at least one relay server connected to the IP network, the relay server being operable as a representative of the first host on the IP network; and
at least one redirect server connected to the IP network;
the redirect server and the relay server being operative, respectively, to cooperatively respond to an access request, which is originated by the second host and targets the first host, by cooperatively facilitating establishment of an IP communication channel between the second host and the first host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus for seamlessly communicating over an Internet Protocol (IP) network, the apparatus comprising:
-
at least one Dynamic DNS (DDNS) server; and
a DNS lookup table including a direct transport address for a second host that is directly connected to the IP network and a transport address which a redirect server associates with a first host that is connected via a Network Address Translator (NAT) to the IP network, the DNS lookup table being associated with the DDNS server, the DDNS server resolving a DNS query using the DNS lookup table. - View Dependent Claims (12, 13)
-
-
14. A method for facilitating communication between a client connected to the IP network and a host connected via a Network Address Translator (NAT) to the IP network, the method comprising:
-
receiving at a relay server connected to the IP network, if a NAT is present in a communication path connecting the host to the IP network, a packet relay request originated by a source server being hosted on the first host;
providing a relay response from the relay server to the source server; and
receiving, at a redirect server, update information originated by the source server based upon the relay response, the update information being usable by the redirect server to facilitate establishment of an IP communication channel between the client and the source server. - View Dependent Claims (15)
-
-
16. A method for facilitating communication between a client connected to the IP network and a host connected via a Network Address Translator (NAT) to the IP network, the method comprising:
-
receiving, at a redirect server, an access request from a second host;
forwarding the access request to a relay server; and
transferring the access request from the relay server to a first host;
the receiving, forwarding and transferring collectively facilitating the establishment of an IP communication channel between the first host and the second host. - View Dependent Claims (17, 18)
-
-
19. A method for seamlessly communicating over an Internet Protocol (IP) network, the method comprising:
-
receiving a DNS query from an HTTP client to a DDNS server;
resolving the DNS query using at least one DDNS server having a DNS lookup table, wherein the DNS lookup table includes a direct transport address for a second host that is directly connected to the IP network and a transport address which a redirect server associates with a first host that is connected via a Network Address Translator (NAT) to the IP network; and
generating a DNS response, wherein the DNS response using at least one of the direct transport address and the redirect server'"'"'s address based upon the DNS query being directed to at least one of the first host and the second host, respectively. - View Dependent Claims (20, 21)
-
-
22. A method for facilitating communication from a client connected to the IP network to a host connected via a Network Address Translator (NAT) to the IP network, the method comprising:
-
receiving a packet relay request at a packet relay server connected to the IP network, the request coming from the host connected via the NAT to the IP network; and
providing a response from the relay server via the NAT to the host that indicates establishment of listener on the relay server that will listen on behalf of the host for communication from the client to the host. - View Dependent Claims (23, 24, 25)
-
-
26. A packet relay server, connected to an Internet Protocol (IP) network, for facilitating communication from a client connected to the IP network to a host connected via a Network Address Translator (NAT) to the IP network, the apparatus comprising:
-
an input unit to receive a packet relay request coming from the host connected via the NAT to the IP network; and
a processor unit operable to generate a listener that will listen on behalf of the host for communication from the client to the host, and provide a response via the NAT to the host that indicates in IP address and port number of listener. - View Dependent Claims (27, 28, 29)
-
Specification