Mechanisms for providing stateful NAT support in redundant and asymetric routing environments
First Claim
1. A method for routing traffic in a data network, the data network including a public network and a private network, the private network including a plurality of routers adapted to provide connectivity between nodes in the private network and nodes in the public network, the plurality of routers including at least one active router adapted to perform network address translation (NAT) for traffic flowing between the public and private networks, the plurality of routers further including at least one standby router adapted to provide failover capability for the at least one active router, the method comprising:
- receiving at a first router of the plurality of routers a first packet relating to a first flow between a private network node and a public network node;
associating the first flow with a first NAT entry;
starting a first timeout timer associated with the first NAT entry; and
sending a Delete Query message to at least one second router of the plurality of routers in response to detecting that the first timeout timer has expired so as to query the at least one second router for selected information relating to the first NAT entry.
1 Assignment
0 Petitions
Accused Products
Abstract
Various techniques are described which may be used for improving traffic flows between private networks and public networks. According to one aspect of the present invention, a technique is described for implementing asymmetric routing in a NAT routing environment. Another aspect of the present invention provides a technique for implementing load balancing and resource allocation assignments among peers in a redundant, multiple NAT router environment.
118 Citations
37 Claims
-
1. A method for routing traffic in a data network, the data network including a public network and a private network, the private network including a plurality of routers adapted to provide connectivity between nodes in the private network and nodes in the public network, the plurality of routers including at least one active router adapted to perform network address translation (NAT) for traffic flowing between the public and private networks, the plurality of routers further including at least one standby router adapted to provide failover capability for the at least one active router, the method comprising:
-
receiving at a first router of the plurality of routers a first packet relating to a first flow between a private network node and a public network node; associating the first flow with a first NAT entry; starting a first timeout timer associated with the first NAT entry; and sending a Delete Query message to at least one second router of the plurality of routers in response to detecting that the first timeout timer has expired so as to query the at least one second router for selected information relating to the first NAT entry. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for routing traffic in a data network, the data network including a public network and a private network, the private network including a plurality of routers adapted to provide connectivity between nodes in the private network and nodes in the public network, the plurality of routers including at least one active router adapted to perform network address translation (NAT) for traffic flowing between the public and private networks, the plurality of routers further including at least one standby router adapted to provide failover capability for the at least one active router, the method comprising:
-
receiving, at a first router of the plurality of routers, a first packet relating to a first flow between a private network node and a public network node; the first packet being associated with a first NAT entry at the first router; the first NAT entry having first local timestamp information associated therewith; recording a first timestamp value relating to a time when the first packet was received at the first router; updating the first local timestamp information with the first timestamp value; and performing, at the first router, network address translation on the first packet. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system for routing traffic in a data network, the data network including a public network and a private network, the private network including a plurality of routers adapted to provide connectivity between nodes in the private network and nodes in the public network, the system comprising:
-
a plurality of routers; the plurality of routers including a first active router having a memory and a processor, wherein at least one of the memory or processor of the first active router is configured to perform network address translation (NAT) for traffic flowing between the public and private networks; the plurality of routers further including a first standby router having a memory and a processor, wherein at least one of the memory or processor of the first standby router is configured to provide failover capability for the first active router; the at least one of the memory or processor of the first active router being further configured to receive a first ingress-to-egress packet from a first node in the private network; the at least one of the memory or processor of the first active router being further configured to perform network address translation on the first packet, wherein the first packet is associated with a first NAT entry; the at least one of the memory or processor of the first standby router being further configured to receive a second egress-to-ingress packet from a second node in the public network; and the at least one of the memory or processor of the first standby router being further configured to perform network address translation on the second packet. - View Dependent Claims (17, 18)
-
-
19. A system for routing traffic in a data network, the data network including a public network and a private network, the private network including a plurality of routers adapted to provide connectivity between nodes in the private network and nodes in the public network, the system comprising:
-
a plurality of routers each having at least one memory and at least one processor; the plurality of routers including at least one active router, wherein the at least one of the memory or processor of the at least one active router is configured to perform network address translation (NAT) for traffic flowing between the public and private networks; the plurality of routers further including at least one standby router, wherein the at least one of the memory or processor of the at least one standby router is configured to provide failover capability for the at least one active router; the at least one of the memory or processor of the routers being configured to provide asymmetric traffic flow between nodes in the private network and nodes in the public network; wherein the at least one of the memory or processor of the at least one active router is further configured to process at least a portion of ingress-to-egress traffic flowing out from the private network; and wherein the at least one of the memory or processor of the at least one standby router is further configured to process at least a portion of egress-to-ingress traffic flowing in to the private network. - View Dependent Claims (20)
-
-
21. A device for routing traffic in a data network, the data network including a public network and a private network, the private network including a plurality of routers adapted to provide connectivity between nodes in the private network and nodes in the public network, the plurality of routers including at least one active router adapted to perform network address translation (NAT) for traffic flowing between the public and private networks, the plurality of routers further including at least one standby router adapted to provide failover capability for the at least one active router, the device comprising:
-
at least one processor; at least one interface for providing a communication link to at least one other network device in the data network; and at least one memory; wherein at least one processor or memory is configured to receive a first packet relating to a first flow between a private network node and a public network node; wherein at least one processor or memory is configured to associate the first flow with a first NAT entry; wherein at least one processor or memory is configured to start a first timeout timer associated with the first NAT entry; and wherein at least one processor or memory is configured to send a Delete Query message to at least one standby router of the plurality of routers in response to detecting that the first timeout timer has expired so as to query the at least one standby router for selected information relating to the first NAT entry. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. A device for routing traffic in a data network, the data network including a public network and a private network, the private network including a plurality of routers adapted to provide connectivity between nodes in the private network and nodes in the public network, the plurality of routers including at least one active router adapted to perform network address translation (NAT) for traffic flowing between the public and private networks, the plurality of routers further including at least one standby router adapted to provide failover capability for the at least one active router, the device comprising:
-
at least one processor; at least one interface for providing a communication link to at least one other network device in the data network; and at least one memory; wherein the at least one processor or memory is configured to receive a first packet relating to a first flow between a private network node and a public network node; the first packet being associated with a first NAT entry at the device; the first NAT entry having first local timestamp information associated therewith; wherein the at least one processor or memory is further configured to record a first timestamp value relating to a time when the first packet was received; wherein the at least one processor or memory is further configured to update the first local timestamp information with the first timestamp value; and wherein the at least one processor or memory is further configured to perform network address translation on the first packet. - View Dependent Claims (30, 31, 32, 33, 34, 35)
-
-
36. A system for routing traffic in a data network, the data network including a public network and a private network, the private network including a plurality of routers adapted to provide connectivity between nodes in the private network and nodes in the public network, the plurality of routers including at least one active router adapted to perform network address translation (NAT) for traffic flowing between the public and private networks, the plurality of routers further including at least one standby router adapted to provide failover capability for the at least one active router, the system comprising:
-
means for receiving at a first router of the plurality of routers a first packet relating to a first flow between a private network node and a public network node; means for associating the first flow with a first NAT entry; means for starting a first timeout timer associated with the first NAT entry; means for sending a Delete Query message to at least one second router of the plurality of routers in response to detecting that the first timeout timer has expired; and wherein the Delete Query message is used to query the at least one standby router for selected information relating to the first NAT entry.
-
-
37. A system for routing traffic in a data network, the data network including a public network and a private network, the private network including a plurality of routers adapted to provide connectivity between nodes in the private network and nodes in the public network, the plurality of routers including at least one active router adapted to perform network address translation (NAT) for traffic flowing between the public and private networks, the plurality of routers further including at least one standby router adapted to provide failover capability for the at least one active router, the system comprising:
-
means for receiving, at a standby router of the plurality of routers, a first packet relating to a first flow between a private network node and a public network node; the first packet being associated with a first NAT entry at the standby router; the first NAT entry having first local timestamp information associated therewith; means for recording a first timestamp value relating to a time when the first packet was received at the standby router; means for updating the first local timestamp information with the first timestamp value; and means for performing, at the standby router, network address translation on the first packet; wherein the standby router which is operating in a standby mode of operation.
-
Specification