Вам никогда не потребуется хранить все адреса 2 128 - подавляющее большинство из них не выделено. Если вы хотите сохранить 32-битный счетчик для каждого адреса, вам потребуется 2 100 ГБ!
Для чуть более реалистичного сценария, скажем, вы получите около 32 миллиардов уникальных IP-адресов (вы не получите так много). Вам нужно 16 байтов для адреса и 8 для 64-битного счетчика, то есть 24 B * 32 G = 768 ГБ. Скажем, 2TB, чтобы быть в безопасности и учитывать индексы и еще много чего.
32 миллиона уникальных IP-адресов? Может быть, 2 ГБ.
В подобных случаях, когда вам нужно что-то среднее между линейным и полиномиальным ростом, обычно лучше просто сохранить данные по мере их поступления. У вас будет достаточно времени, чтобы найти другое решение задолго до того, как оно станет проблема. Задумавшись, это приведет вас к преждевременной оптимизации.