Hello there,
@Mannan wrote:
Hi,
By not specifying 0 but instead a certain # for block size, how would this be different from sequential port block allocation.
There is a slight difference only in block-size because You inputted 5000 users versus 4096 users covered by 172.25.0.0/20 prefix (when used in PBA).
The allocation of PBA block to a newly seen private IP is done as follows:
- if "address-allocation round-robin" is configured, JUNOS picks a public IP from mapped pool at random and searches for a free block from the port 1024 upwards
- if there is a free block in that public IP, allocation is done
- if there are no free blocks in that public IP, another random public IP is picked and process repeats until free block is found.
- because of the requirement to have 2:1 private-to-public mapping, You have to use 2 gigantic blocks per public IP.
- this means if both blocks in public IP are taken, JUNOS potentially has to do a lot of random picks to find a free block especially at busy times when ratio of ACTIVE users to public IP approaches 2:1. This contributes to the latency as perceived by user.
- now, if You don't have "address-allocation round-robin", JUNOS simply does sequenial search for a free block initially from 1st public IP port 1024 upwards.
- all subsequent searches are done from where the previous search stopped.
- with time, blocks are allocated & released what looks like a completely random pattern, so again, JUNOS potentially has to do a lot of sequential searches until a free block is found especially at busy times when ratio of ACTIVE users to public IP approaches 2:1. This contributes to the latency as perceived by user.
- with Deterministic NAT, the free block searches are completely gone.
- what is left is only a free port search within the given block.
Hope this makes sense.
HTH
Thx
Alex