Load balancing deterministic network address translation across session management modules
First Claim
1. A method comprising:
- hosting a non-contiguous set of public network addresses on each of a plurality of network address translation (NAT) modules of a network device;
allocating a non-contiguous set of private network addresses of a private network to each of the NAT modules;
with each of the NAT modules, internally mapping the non-contiguous set of public network addresses to a contiguous sequence of identifiers for the public addresses and mapping the non-contiguous set of private network addresses to a contiguous sequence of identifiers for the private addresses;
distributing network packets to the plurality of NAT modules; and
with each of the NAT modules, locally performing deterministic NAT on the network packets received by the NAT module based on the contiguous sequence of identifiers for the public addresses and the contiguous sequence of identifiers for the private addresses mapped by the NAT module.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for load-balancing deterministic NAT functions in a mobile gateway or other device in which subscriber sessions are distributed across a plurality of session management cards. Each of the session management cards may host a non-contiguous set of public addresses and a non-contiguous set of private network addresses associated with the subscriber sessions. To facilitate deterministic NAT under such conditions, each of the session management cards locally maps the non-contiguous set of public network addresses to an internal contiguous sequence of identifiers for the public addresses and maps the non-contiguous set of private network addresses to an internal contiguous sequence of identifiers for the private addresses. Each of the session management cards may then perform deterministic NAT on packets based on the contiguous sequence of identifiers for the public addresses and the contiguous sequence of identifiers for the private addresses internal to the session management card.
57 Citations
18 Claims
-
1. A method comprising:
-
hosting a non-contiguous set of public network addresses on each of a plurality of network address translation (NAT) modules of a network device; allocating a non-contiguous set of private network addresses of a private network to each of the NAT modules; with each of the NAT modules, internally mapping the non-contiguous set of public network addresses to a contiguous sequence of identifiers for the public addresses and mapping the non-contiguous set of private network addresses to a contiguous sequence of identifiers for the private addresses; distributing network packets to the plurality of NAT modules; and with each of the NAT modules, locally performing deterministic NAT on the network packets received by the NAT module based on the contiguous sequence of identifiers for the public addresses and the contiguous sequence of identifiers for the private addresses mapped by the NAT module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A network device comprising:
-
a plurality of interfaces configured to send and receive network packets for subscribers of a service provider network; a plurality of session management cards that each host a non-contiguous set of public network addresses; a forwarding component to distribute the network packets to the session management cards; a NAT controller within each of the plurality of session management cards, wherein each of the NAT controllers maps the non-contiguous set of public network addresses to a contiguous sequence of identifiers for the public addresses and maps a non-contiguous set of private network addresses to a contiguous sequence of identifiers for the private addresses, and wherein each of the NAT controllers performs deterministic network address translation on the network packets received by the respective session management card based on the contiguous sequence of identifiers for the public addresses and the contiguous sequence of identifiers for the private addresses mapped by the NAT controller to output a translated packet. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A network router comprising:
-
a plurality of interfaces configured to send and receive packets for subscribers of a service provider network, wherein each of the subscribers is associated with a private network address; a plurality of session management cards to manage subscriber communication sessions associated with the subscribers; a control unit that executes a routing protocol to maintain routing information specifying routes, wherein the control unit allocates to each of the session management cards a non-contiguous set of public network addresses and a non-contiguous set of the private network addresses; a forwarding component configured by the routing engine to select next hops for the packets in accordance with the routing information, the forwarding component comprising a switch fabric to forward the packets to the between the interfaces and the session management cards; wherein each of the session management cards locally map the non-contiguous set of public network addresses to an internal contiguous sequence of identifiers for the public addresses and map the non-contiguous set of private network addresses to an internal contiguous sequence of identifiers for the private addresses, and wherein each of the session management cards perform deterministic network address translation (NAT) on the packets based on the contiguous sequence of identifiers for the public addresses and the contiguous sequence of identifiers for the private addresses internal to the session management card. - View Dependent Claims (18)
-
Specification