uses a FIFO pool to allocate IPs

address #5737 by allocating a large pool of IP in a FIFO queue. ReleaseIP puts IP to the back of the queue.