Number of public IPv4 Addresses: Obviously, the primary factor is the total number of available IPv4 addresses in the ISP's inventory. ISPs with larger address pools can serve more users per a public IP address.
Port Allocation: CGNAT devices allocate ports to each subscriber session. The number of ports available for allocation can limit subscriber density. The common ranges used are 1024-65535, but this can vary based on the CGNAT equipment and configuration.
At NFWare, we recommend setting 500 ports per subscriber, leading to an optimal number of 128 subscribers per IP address. However, it is worth noting that for mobile networks, fewer ports might be needed. Thus, mobile operators might allocate fewer ports per subscriber without compromising service quality.
Session Timeout: Finally, the duration of a CGNAT session's activity also plays a role. Longer session timeouts can reduce available ports for new connections, ultimately limiting the number of subscribers that can share a single IPv4 address.