×

Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload

  • US 7,245,622 B2
  • Filed: 03/27/2003
  • Issued: 07/17/2007
  • Est. Priority Date: 03/27/2003
  • Status: Expired due to Fees
First Claim
Patent Images

1. In a network environment that includes an IPv6 Internet in which a plurality of IPv6 clients may communicate using IPv6, an IPv4 Internet in which a plurality of IPv4 clients may communicate using IPv4 and including a server and a relay that are each capable of communicating over both the IPv4 Internet and the IPv6 Internet, the network environment further including a private network of one or more IPv4 clients that are separated from the other portions of the IPv4 Internet by a network address translator, a method for an IPv4 client within the private network establishing communication with an IPv6 client in the IPv6 Internet despite the IPv4 client being configured to communicate using IPv4, but not IPv6, despite the IPv4 client being behind the network address translator, and while reducing the workload of the server, the method comprising the following:

  • an act of the IPv4 client obtaining an IPv6 address;

    an act of the IPv4 client generating an IPv4 message that includes an IPv4 header that includes an IPv4 address and a port of the IPv4 client as a source IPv4 address and a source port, respectively, the IPv4 header further including an IPv4 address and a port of the server as a destination IPv4 address and destination port, respectively, the IPv4 message further including an IPv4 payload that includes the IPv6 address of the IPv4 client and the IPv6 address of the IPv6 client in the IPv6 Internet;

    an act of the IPv4 client transmitting the IPv4 message to the server;

    an act of the network address translator intercepting the IPv4 message and replacing the source IPv4 address and the source port with the IPv4 address and port, respectively, of the network address translator to thereby generate a first modified IPv4 message;

    an act of the network address translator forwarding the first modified IPv4 message to the server;

    an act of the server computer system receiving the first modified IPv4 message and generating an IPv6 message that is derived from the first modified IPv4 message, the IPv6 message including the IPv6 address of the IPv4 client that was in the IPv4 payload of the IPv4 message as a source IPv6 address, the IPv6 message further including the IPv6 address of the IPv6 client that was in the IPv4 payload of the IPv4 message as a destination IPv6 address of the IPv6 message;

    an act of the server transmitting the IPv6 message to the IPv6 client;

    an act of the IPv6 client receiving the IPv6 message and generating an IPv6 response to the IPv6 message using the source IPv6 address included in IPv6 message as the destination IPv6 address, and using the destination IPv6 address included in the IPv6 message as the source IPv6 address;

    an act of the IPv6 client dispatching the IPv6 response to the IPv4 client;

    an act of the relay intercepting the IPv6 response and determining that the destination IPv6 address included in the IPv6 response corresponds to an IPv4 client;

    an act of the relay identifying the IPv4 address and the port of the server based on the destination IPv6 address in the IPv6 response;

    an act of the relay constructing an IPv4 response based on the IPv6 response, the IPv4 response including an IPv4 address and a port of the relay as a source IPv4 address and a source port, respectively, an IPv4 address and a port of the server as a destination IPv4 address a destination port, respectively, and having an IPv4 payload that includes the IPv6 address of the IPv6 client and the IPv6 address of the IPv4 client;

    an act of the relay transmitting the IPv4 response to the server;

    an act of the server receiving the IPv4 response and replacing the source IPv4 address and the source port in the IPv4 response with the IPv4 address and the port, respectively, of the server, and replacing the destination IPv4 address and the destination port in the IPv4 response with the IPv4 address and the port, respectively, of the network address translator, and including in the payload of the IPv4 response an identification of the IPv4 address and port of the relay to generate a first modified IPv4 response; and

    an act of the server transmitting the first modified IPv4 response to the network address translator;

    an act of the network address translator receiving the first modified IPv4 response and replacing the destination IP address and destination port in the first modified IPv4 response with the IPv4 address and the port of the IPv4 client, respectively, to generate a second modified IPv4 response;

    an act of the network address translator transmitting the second modified IPv4 response to the client; and

    an act of the IPv4 client receiving the second modified IPv4 response.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×