Kalkulator CIDR – zamiana zakresu IP na CIDR
Przelicz blok CIDR IPv4, np. 10.0.0.0/22, na zakres adresów, maskę i liczbę hostów; zamień zakres od pierwszego do ostatniego adresu IP na minimalny zbiór bloków CIDR albo zagreguj listę bloków w jedną zbiorczą.
Zamiana zakresów IP na bloki CIDR i odwrotnie
Wzór CIDR
Gdzie:
- \(p\) — długość prefiksu, czyli liczba początkowych bitów ustalonych dla bloku (0–32)
- \(N\) — całkowita liczba adresów obejmowanych przez blok
- \(\text{IP}\) — wpisany przez Ciebie adres; bitowa operacja AND (
&) zeruje bity hosta - \(\text{adres sieci}\) i \(\text{adres broadcast}\) — pierwszy i ostatni adres bloku
Blok CIDR jest w pełni określony przez długość prefiksu: blok /\(p\) zawiera \(2^{32-p}\) adresów, zaczyna się od adresu, którego ostatnie \(32-p\) bitów to zera, a jego maska ma dokładnie \(p\) jedynek, po których następują zera. Maska wildcard to po prostu bitowe odwrócenie maski sieci.
CIDR – przykład obliczeń
Przykład: zamiana bloku 10.0.0.0/22 na zakres adresów — to domyślna wartość kalkulatora.
\[ N = 2^{32-22} = 2^{10} = 1024 \]
\[ \text{maska} = 255.255.252.0 \quad \Rightarrow \quad \text{wildcard} = 0.0.3.255 \]
\[ \text{adres broadcast} = 10.0.0.0 + 1023 = 10.0.3.255 \]
Wynik: blok 10.0.0.0/22 obejmuje zakres 10.0.0.0 – 10.0.3.255 — łącznie 1 024 adresy, z czego 1 022 można przydzielić hostom (adres sieci i adres broadcast są zarezerwowane).
Jak korzystać z kalkulatora
- Wybierz tryb: „CIDR → zakres adresów”, „Zakres adresów → bloki CIDR” albo „Agregacja listy bloków CIDR”. Widoczne są tylko pola używane w wybranym trybie.
- W trybie CIDR → zakres adresów wpisz blok CIDR, np.
10.0.0.0/22. Sam adres, taki jak192.168.1.1, jest traktowany jako /32 (pojedynczy host). Wyniki pokazują pierwszy adres (adres sieci), ostatni (adres broadcast), łączną liczbę adresów, maskę sieci, maskę wildcard oraz kanoniczny zapis bloku. - W trybie Zakres adresów → bloki CIDR podaj pierwszy i ostatni adres IP zakresu (oba włącznie). Kalkulator zwraca minimalną liczbę bloków CIDR, które pokrywają zakres dokładnie — bez luk i nakładania — wraz z podziałem na poszczególne bloki.
- W trybie Agregacja listy bloków CIDR wklej swoje bloki w pole Bloki CIDR — po jednym w wierszu, choć przecinki i średniki też działają. Bloki nakładające się i sąsiadujące są łączone automatycznie, a cała lista zostaje sprowadzona do najmniejszego dokładnego zbioru bloków.
- Zajrzyj do szczegółów obliczeń pod wynikami, jeśli chcesz prześledzić logikę krok po kroku — znajdziesz tam też adnotację, gdy podany adres miał ustawione bity hosta. Jeśli planujesz podsieci wokół jednego bloku, kalkulator podsieci IP wykonuje te same operacje pod kątem podziału na podsieci.
Czym jest CIDR?
CIDR (Classless Inter-Domain Routing) zastąpił dawny system klas A/B/C elastycznym zapisem, w którym adres i długość prefiksu zapisuje się razem: a.b.c.d/p. Prefiks \(p\) mówi, ile początkowych bitów jest wspólnych dla wszystkich adresów bloku; pozostałe \(32-p\) bitów są dowolne, więc blok zawiera \(2^{32-p}\) adresów. Ta jedna zasada tłumaczy wszystko pozostałe: /24 to \(2^8 = 256\) adresów i maska 255.255.255.0, /22 to \(2^{10} = 1024\) adresy i maska 255.255.252.0, a /32 to dokładnie jeden adres.
Kluczową konsekwencją struktury bitowej jest wyrównanie: blok o \(2^k\) adresach może zaczynać się tylko od adresu będącego wielokrotnością \(2^k\). Dlatego na przykład 192.168.1.16/28 jest poprawny (16 adresów począwszy od wielokrotności 16), a 192.168.1.8/28 nie leży na prawidłowej granicy bloku. Przy zamianie dowolnego zakresu pierwszy–ostatni na CIDR zakres rzadko pokrywa się z jednym blokiem, więc trzeba go podzielić. Kalkulator stosuje algorytm zachłanny: w każdym kroku bierze największy blok, który mieści się jeszcze w pozostałych adresach i jest poprawnie wyrównany, co gwarantuje minimalną możliwą liczbę bloków.
Interpretacja liczb ma w praktyce znaczenie. „Łączna liczba adresów” to surowy rozmiar bloku, ale w klasycznym dzieleniu na podsieci (prefiksy od /0 do /30) pierwszy adres jest zarezerwowany jako adres sieci, a ostatni jako adres broadcast, więc dla hostów zostaje o dwa adresy mniej. Wyjątkami są /31 (zgodnie z RFC 3021, dla łączy punkt–punkt) i /32 (pojedynczy host) — tam każdy adres jest użyteczny. Jeśli chcesz zaplanować, jak większy blok podzielić na mniejsze podsieci z określoną liczbą hostów, użyj kalkulatora podsieci; do sprawdzenia arytmetyki adresów ręcznie przyda się konwerter liczb binarnych, który pokazuje wzorce bitów kryjące się za maskami.
Wskazówki i ograniczenia
- Kalkulator obsługuje wyłącznie IPv4 (cztery oktety, 0–255, prefiks /0–/32). Adresy IPv6 są odrzucane.
- Jeśli wpiszesz adres z ustawionymi bitami hosta, np.
10.0.1.7/22, wyniki opisują blok nadrzędny (10.0.0.0/22), a szczegóły obliczeń to zaznaczają. Aby uniknąć nieporozumień, zawsze podawaj adres sieci. - Zakres pierwszy–ostatni jest zamieniany na minimalny dokładny zbiór bloków — pokrycie bez luk i powtórzeń. Tego właśnie zwykle wymagają tablice routingu i listy kontroli dostępu.
- Agregacja scala bloki tylko wtedy, gdy się nakładają lub bezpośrednio do siebie przylegają; nawet jednoadresowa przerwa pozostawia je osobno.
- Bardzo duże wyniki (np. agregacja wielu rozproszonych /32) mogą liczyć tysiące bloków; tabela pokazuje pierwszych 200 i podaje pełną liczbę.
Podstawowe prefiksy CIDR — ściągawka
| Prefiks | Maska sieci | Wildcard | Adresy | Użyteczne hosty |
|---|---|---|---|---|
| /30 | 255.255.255.252 | 0.0.0.3 | 4 | 2 |
| /29 | 255.255.255.248 | 0.0.0.7 | 8 | 6 |
| /24 | 255.255.255.0 | 0.0.0.255 | 256 | 254 |
| /22 | 255.255.252.0 | 0.0.3.255 | 1 024 | 1 022 |
| /20 | 255.255.240.0 | 0.0.15.255 | 4 096 | 4 094 |
| /16 | 255.255.0.0 | 0.0.255.255 | 65 536 | 65 534 |
| /8 | 255.0.0.0 | 0.255.255.255 | 16 777 216 | 16 777 214 |
Każdy dodany bit w prefiksie zmniejsza blok o połowę, a każdy odjęty — podwaja go. Aby odtworzyć dowolny wiersz tej tabeli, wystarczy zależność \(N = 2^{32-p}\).
Najczęściej zadawane pytania
Jak obliczyć zakres CIDR ręcznie, bez kalkulatora?
Weź długość prefiksu p i oblicz rozmiar bloku \(N = 2^{32-p}\). Zapisz maskę jako p jedynek, po których następuje (32 − p) zer: dla /22 daje to 11111111.11111111.11111100.00000000 = 255.255.252.0. Wykonaj operację AND adresu z maską, aby otrzymać adres sieci, a potem dodaj \(N - 1\), aby uzyskać adres broadcast. Przydadzą się dwie reguły: każdy oktet obejmuje 256 adresów, a każdy bit prefiksu zmniejsza blok o połowę, więc /24 = 256, /23 = 512, /22 = 1024.
Jak zamienić maskę sieci, np. 255.255.240.0, na zapis CIDR?
Zamień maskę na postać binarną i policz jedynki. 255.255.240.0 = 11111111.11111111.11110000.00000000 ma 20 jedynek, więc to prefiks /20. Skrót: oktety maski to zawsze 255, 254, 252, 248, 240, 224, 192 albo 0 (256 minus potęga dwójki), co odpowiada 8, 7, 6, 5, 4, 3, 2 albo 0 bitom w danym oktecie. 255+255+240+0 daje 8+8+4+0 = 20.
Dlaczego dowolny zakres IP nie da się zapisać jako jeden blok CIDR?
Blok CIDR o rozmiarze \(2^k\) musi zaczynać się od adresu podzielnego przez \(2^k\). Na przykład 192.168.1.16/28 jest poprawny, bo 16 jest wielokrotnością 16, ale 192.168.1.8/28 nie jest prawidłową granicą bloku. Jeśli pierwszy i ostatni adres zakresu nie spełniają warunku wyrównania, zakres trzeba podzielić na kilka bloków — algorytm zachłanny stosowany przez kalkulator zawsze daje minimalną możliwą liczbę.
Czy /24 oznacza to samo, co dawna klasa C?
Blok /24 ma ten sam rozmiar i maskę (255.255.255.0) co sieć klasy C, ale CIDR całkowicie zniósł sztywne klasy — dowolny prefiks od /0 do /32 można użyć z dowolnym adresem, więc /24 nic nie mówi o tym, do jakiej „klasy” adres „należy”. Do dziś istotne są natomiast prywatne zakresy zdefiniowane w RFC 1918: 10.0.0.0/8, 172.16.0.0/12 i 192.168.0.0/16. Blok CIDR z tych zakresów nie jest trasowany w publicznym internecie.
Do czego służy maska wildcard?
Maska wildcard to bitowe odwrócenie maski sieci, więc blok /22 z maską 255.255.252.0 ma wildcard 0.0.3.255. Używa się jej głównie w listach kontroli dostępu Cisca i poleceniach network protokołu OSPF, gdzie bit 0 oznacza „musi się zgadzać”, a bit 1 — „nie ma znaczenia”. To nie to samo co maska podsieci, więc nie wpisuj jej tam, gdzie oczekiwana jest maska sieci — to częsty błąd konfiguracji.
Dlaczego 10.0.1.7/22 daje ten sam wynik co 10.0.0.0/22?
10.0.1.7 nie jest adresem sieci bloku /22 — jego ostatnie 10 bitów (bity hosta) nie są zerami. Operacja AND z maską /22, czyli 255.255.252.0, zeruje te bity i daje blok nadrzędny 10.0.0.0/22, więc kalkulator opisuje właśnie ten blok. Jeśli chcesz być jednoznaczny, zawsze podawaj adres sieci; w szczegółach obliczeń kalkulator zaznaczy, gdy podany adres miał ustawione bity hosta.
Ile podsieci /26 mieści się w bloku /22?
Porównaj różnicę prefiksów: od /22 do /26 to 4 bity, a każdy zapożyczony bit podwaja liczbę podsieci, czyli \(2^4 = 16\) podsieci po 64 adresy (62 użyteczne hosty). Ogólnie blok /p zawiera \(2^{q-p}\) podsieci o prefiksie /q. Jeśli zamiast tego potrzebujesz stałej liczby hostów w podsieci, pamiętaj, że podsieć dla \(H\) hostów wymaga \(H + 2\) adresów (adres sieci i broadcast są zarezerwowane), zaokrąglonych w górę do potęgi dwójki.