Managing port block space

Both port partitions, initial and extended, are served on a first-come-first-served basis. The initial port partition guarantees at least one port block for each of the preconfigured number of subscribers per outside IP address (configure router nat outside pool port-block-extension ports num-ports subscriber-limit number command). If there are more subscribers in the network than the preconfigured number of NAT subscribers, then this space becomes oversubscribed.

Extended port partitioning, however, does not guarantee that each of the existing NAT subscriber receives additional port blocks. Each subscriber can allocate additional free port blocks only if they are available, up to the maximum combined limit (initial and extended) set in the NAT policy (configure service nat nat-policy block-limit command).

For optimized NAT pool management and correct capacity planning, understanding the following parameters in the operator’s network is essential:

Based on the previous parameters, an average port block per subscriber can be determined and the following parameters in NAT can be set:

The following are reasonable guidelines with an example that can serve as an initial configuration for operators who are unsure of their current traffic patterns in terms of port usage for their subscribers.

These assumptions lead to the following calculations:

Setting the subscriber limit in a pool to 32, the initial and extended port block sizes to 1000 and 335 respectively, the maximum number of port blocks per subscriber to 10, and configuring a /24 address range in a pool would produce the needed results. This assumes that the subscribers are properly load-balanced over ISAs or ESAs. The following is an example configuration.

    [configure service vprn ‟demo vprn” nat outside pool ‟demo pool”]
        port-reservation {
            ports 1000
        }
        l2-aware {
            port-block-extension {
            ports 335
            subscriber-limit 32
            }
        }
        port-forwarding {
            range-end 15000
        }
  
    [configure service nat nat-policy ‟demo-policy”]
        block-limit 10