Network address translation in networks using multiple NAT devices
AssigneeT-Mobile USA, Inc.
InventorGrzegorz Wosik
Life of this patent
Estimating the term…
Abstract
Systems, methods, and network topology for network address translation (NAT) are disclosed. In some embodiments, a cluster of NAT devices shares at least one backup NAT device configured to back up all or some of the NAT devices in the cluster. Each NAT device, including the backup NAT device, advertises its status at a regular interval to a router. If the router determines that an active NAT device is no longer advertising its status, the router can send data to the backup NAT. In some embodiments, the router routes traffic to active and backup devices based on networking protocols such as Border Gateway Protocol (BGP) and/or Open Shortest Path First (OSPF). The router can also route data to NAT devices using a round-robin algorithm.
Claims18
A system comprising:
- a first network address translation (NAT) device configured to send first advertising packets,
- wherein the first advertising packets indicate a status of the first NAT device;
- a second NAT device configured to send second advertising packets,
- wherein the second advertising packets indicate a status of the second NAT device;
- a first backup NAT device configured to send backup advertising packets,
- wherein the backup advertising packets indicate a status of the first backup NAT device, and
- wherein the first NAT device, the second NAT device, and the first backup NAT device are part of a number of devices configured to send advertising packets, the number of devices varying based on network traffic, network type, a capacity of each NAT device, and predicted loads on each NAT device;
- and
- at least one router configured to route network traffic to the first NAT device, second NAT device, and first backup NAT device for address translation,
- wherein the router is further configured to receive the first, second and backup advertising packets from the first, second, and first backup NAT devices, respectively, and
- wherein the router is further configured to re-route network traffic from the first or second NAT devices to the first backup NAT device based on:
- a determination that first or second advertising packets have not been received for a predetermined time period, or
- receiving a message indicating an error with respect to the first or second NAT device.
A computer-readable medium, excluding transitory, propagating signals, and storing instructions that, when executed by one or more processors, causes the one or more processors to:
- receive a first message from a first set of network address translation (NAT) devices,
- wherein the first message includes status information for one NAT device in the first set of NAT devices, and
- wherein the first set of NAT devices includes N NAT devices and where N is greater than 1;
- receive a second message from the first set of NAT devices, wherein the second message includes status information for another NAT device in the first set of NAT devices;
- receive a third message from a second set of NAT devices,
- wherein the third message includes status information for a NAT device in the second set of NAT devices,
- wherein the second set of NAT devices includes M number of NAT devices,
- wherein N is greater than M, and
- wherein the N number of NAT devices and M number of NAT devices varies based on network traffic, network type, a capacity of each NAT device, and predicted loads on each NAT device;
- and,
- in response to failing to receive another message from the first set of NAT devices for a time period at least partially determined by a router policy,
- route communications for translation to the second set of NAT devices.
At least one computer-readable medium, excluding transitory, propagating signals, and storing instructions that, when executed by at least one processor, performs a method of using NAT devices, the method comprising:
- receiving a first message from a first NAT device, wherein the first message includes status information for the first NAT device;
- receiving a second message from a second NAT device, wherein the second message includes status information for the second NAT device;
- receiving a third message from a third NAT device, wherein the third message includes status information for the third NAT device;
- maintaining a list of available NAT devices based on the received first, second, and third messages;
- receiving a first request to send a communication from a private internet protocol (IP) device or private network, to a public network;
- determining that sending the communication to one of the available NAT devices is not to be performed because of a network condition,
- wherein the network condition is at least partially based on a NAT device status or NAT device connectivity;
- determining a next available NAT device from the maintained list of available NAT devices;
- causing the communication to be sent to the next available NAT device;
- receiving feedback information from the first, second, and third NAT devices for a first time period,
- wherein the feedback information includes an indication of a number of NAT requests received by a NAT device during the first time period;
- based on the feedback information, selecting the first, second, or third NAT device;
- sending instructions to the selected NAT device to turn off during a next time period;
- and
- during the next time period, routing traffic to non-selected NAT devices;
- and
- after the next time period, sending instructions to the selected NAT device to turn on.
Dependencies are inferred from the claim text.