sharing a NAT IP address are allocated NAT ports in chunks. The ports in a
port-chunk are always used for the subscriber to whom that port-chunk is
allocated irrespective of the protocol.
Whenever a NAT IP
address gets allocated to a subscriber, the first port-chunk gets allocated
along with the NAT IP address. Thus, for not-on-demand pools, the first
port-chunk gets allocated during call setup, and for on-demand pools during
A subscriber’s TCP
and UDP data traffic is NATed with ports chosen in a random fashion from the
port-chunk allocated to that subscriber. For other protocol traffic, the first
available port is allocated. When all the ports in a port-chunk are in use, a
free port-chunk is requested for. A new port-chunk is only allocated if the
“Maximum Port-chunks Per User” limit is not reached.
utilization data of subscribers is aggregated at the NAT pool level. The number
of ports are grouped into buckets of size 8. There are 9 defined port buckets —
[0-8], [9-16], [17-24], [25-32], [33-40], [41-48], [49-56], [57-64] and
[>=65]. The first bucket [0-8] includes not-on-demand calls, that is,
subscribers who are allocated a port chunk without using any ports at all will
fall into the first bucket. The last bucket [>=65] includes all subscribers
using greater than 64 ports. The maximum number of ports that were required by
a subscriber at any point of time is recorded.
In 19 and later releases, the port chunk size of an existing N:1
NAT pool can be changed dynamically without deleting or reconfiguring the pool.
When port chunk size is modified at pool
level, it is possible that some NAT IP addresses will be already in use; for
those active NAT IPs older value of port chunk size will be used. Only new NAT
IPs being allocated from VPN will take the modified port chunk size. With NAT
pool groups, each pool in a group must have the same port chunk size
configured. If different chunk sizes are configured, though the configuration
will still be allowed, the distribution of calls across pools in the group may
not be even.
In release 19, the port chunk size is
reduced to improve efficient usage of port chunks and NAT IP addresses
allocated to a given Sessmgr. By increasing the number of users per NAT IP, the
number of NAT IPs required to handle the calls in a given Sessmgr could come
down. This will free NAT IP addresses and can be used by other Sessmgrs for
allocation. The minimum port chunk size is reduced to 8 and the chunk size is
configured in multiples of 8. The default chunk size will still be 32. If no
chunk size is configured, then the chunk size is calculated by dividing the
entire NAT port range by the number of users per NAT IP and then rounding off
to the nearest multiple of 32.