---
title: "IP2Location – import pełnych zakresów IPv4"
url: https://michalasobczak.pl/pl/posts/ip2location-complete-ipv4-ranges-ingestion.html
author: "Michał Sobczak"
description: "IP2Location to baza adresów IP, w której znajdziesz najnowsze powiązania adresów IP z lokalizacjami. Pełny zakres IPv4 to 4 294 967 296 adresów, czyli 32 bity. IP2Location zawiera 4 291 944 710 adresów, czyli nieco mniej."
published: 2024-11-05T09:26:10.000Z
updated: 2024-11-05T09:35:03.000Z
language: pl
categories: ["Technology"]
tags: ["Databases", "AI/ML", "Architecture & Process", "PostgreSQL"]
license: CC BY-NC-ND 4.0 (https://creativecommons.org/licenses/by-nc-nd/4.0/)
---
# IP2Location – import pełnych zakresów IPv4

IP2Location to baza adresów IP, w której znajdziesz najnowsze powiązania adresów IP z lokalizacjami. Pełny zakres IPv4 to 4 294 967 296 adresów, czyli 32 bity. IP2Location zawiera 4 291 944 710 adresów, czyli nieco mniej. Jednak aż 608 487 295 adresów nie ma przypisanej lokalizacji. Wynika to z następujących zakresów:

-   0.0.0.0/8 (lokalne)
-   **10.0.0.0/8 (klasa A)**
-   100.64.0.0/10 (współdzielone)
-   127.0.0.0/8 (host)
-   169.254.0.0/16 (link-local)
-   **172.16.0.0/12 (klasa B)**
-   192.0.0.0/24 (dual-stack)
-   192.0.2.0/24 (dokumentacja itp.)
-   192.88.99.0/24 (zarezerwowane, IPv6 do IPV4)
-   **192.168.0.0/16** (klasa C)
-   198.18.0.0/15 (benchmarking)
-   198.51.100.0/24 (dokumentacja itp.)
-   203.0.113.0/24 (dokumentacja itp.)
-   224.0.0.0/4 (multicast, klasa D)
-   233.252.0.0/24 (dokumentacja itp.)
-   240.0.0/4 (zarezerwowane, klasa E)
-   255.255.255.255/32 (broadcast)

Powyższe nie powinny mieć przypisanej lokalizacji, ponieważ są to specjalne zakresy IPv4. Liczba adresów IPv4 o prawidłowym zastosowaniu komercyjnym (a także niekomercyjnym) powinna więc wynosić w okolicach **3 683 457 415**, czyli wszystkie adresy minus adresy bez lokalizacji. Opracowany przez DARPA protokół IPv4 wystartował w 1981 roku, a jego pula wyczerpała się w 2011 roku.

## Jak to się ma do baz danych Cassandra?

Pełne 3,6 mld adresów waży ok. 40 GB danych w pojedynczym węźle Apache Cassandra 5.0. Na zwykłym sprzęcie z Intel i5 10200H i dyskiem NVME Western Digital SN530 możemy uzyskać do 29 tys. insertów na sekundę. Z obliczeń wynika, że pełny import powinien zakończyć się w ciągu 35 godzin. Gdybyśmy jednak użyli wielu węzłów Cassandry do rozłożenia zapisów, najprawdopodobniej byłoby to znacznie szybsze. Powiedzmy, że osiągnęlibyśmy 100 tys./s – wtedy czas importu wyniósłby 10 godzin. Przy 1 mln/s trwałoby to tylko godzinę.
