Programiści

Jak Obliczyć Maskę Podsieci (CIDR Wyjaśniony na Praktycznym Przykładzie)

7 min czytania

Żeby obliczyć maskę podsieci z prefiksu CIDR, ustaw tyle bitów na 1, licząc od lewej strony liczby 32-bitowej, resztę wypełnij zerami, a potem odczytaj każdą 8-bitową grupę jako liczbę dziesiętną. Prefiks /24 ustawia pierwsze 24 bity na 1, co po konwersji daje 255.255.255.0.

Co właściwie oznacza liczba CIDR

Adres IPv4 to 32 bity, zapisywane jako cztery 8-bitowe grupy (oktety) w postaci dziesiętnej. Zapis CIDR, czyli ukośnik z liczbą po adresie w rodzaju 192.168.1.0/24, mówi, ile z tych 32 bitów jest ustalonych jako część sieciowa. Pozostałe bity należą do hostów w tej sieci.

Prefiks /24 ustala pierwsze 24 bity, zostawiając 8 bitów na hosty. Prefiks /26 ustala 26 bitów, zostawiając tylko 6. Im mniej bitów zostaje na hosty, tym mniej urządzeń zmieści się w danej sieci, a matematyka stojąca za tym to zwykła potęga dwójki: sieć z h bitami hosta ma 2^h adresów łącznie.

Obliczanie maski ręcznie: 192.168.1.0/24

Weź prefiks CIDR, czyli 24, i zapisz liczbę 32-bitową, w której pierwsze 24 bity są ustawione na 1, a ostatnie 8 na 0:

11111111.11111111.11111111.00000000

Zamień każdą 8-bitową grupę na liczbę dziesiętną. Osiem jedynek pod rząd daje 255, a osiem zer daje 0:

255 . 255 . 255 . 0

To jest maska podsieci: 255.255.255.0. Żeby otrzymać adres sieci, ustaw adres IP i maskę jeden pod drugim w postaci binarnej i wykonaj bitową operację AND, bit po bicie, zostawiając 1 tylko tam, gdzie oba wejścia mają 1:

Oktet 1Oktet 2Oktet 3Oktet 4
Adres IP11000000101010000000000100000000
Maska podsieci11111111111111111111111100000000
Sieć (AND)11000000101010000000000100000000

Wynikiem jest adres sieci 192.168.1.0, w tym przypadku identyczny z adresem wejściowym, bo część hosta w oryginalnym adresie była już samymi zerami. Adres rozgłoszeniowy to operacja odwrotna: bierzesz adres sieci i ustawiasz wszystkie bity hosta na 1, co tutaj daje 192.168.1.255. Wszystko pomiędzy, czyli od 192.168.1.1 do 192.168.1.254, to adresy hostów gotowe do użycia. To 256 adresów łącznie w tym bloku, minus 2 zarezerwowane (adres sieci i adres rozgłoszeniowy), czyli 254 dostępne hosty.

Podział sieci /24 na cztery podsieci /26

Masz sieć 192.168.1.0/24 i chcesz podzielić ją na cztery mniejsze, osobne sieci, na przykład po jednej na piętro biura. Przejście z /24 na /26 pożycza 2 dodatkowe bity dla części sieciowej (26 minus 24 to 2), a 2 pożyczone bity zawsze dają 2^2 = 4 równe podsieci. Każda podsieć /26 ma 32 - 26 = 6 bitów hosta, więc mieści 2^6 = 64 adresy łącznie, z czego 62 są dostępne.

PodsiećAdres sieciZakres dostępnyRozgłoszeniowy
1192.168.1.0/26192.168.1.1 - 192.168.1.62192.168.1.63
2192.168.1.64/26192.168.1.65 - 192.168.1.126192.168.1.127
3192.168.1.128/26192.168.1.129 - 192.168.1.190192.168.1.191
4192.168.1.192/26192.168.1.193 - 192.168.1.254192.168.1.255

Każdy adres sieci przeskakuje o 64, czyli o wielkość bloku, a adres rozgłoszeniowy każdej podsieci jest dokładnie o 1 mniejszy od adresu sieci kolejnej podsieci. Ten wzorzec działa niezależnie od tego, na jaki prefiks dzielisz sieć: wielkość bloku to zawsze 2^h, gdzie h to liczba pozostałych bitów hosta, a podsieci wypełniają przestrzeń adresową bez luk i bez nakładania się.

Tabela referencyjna: CIDR i maska podsieci

Ściąga z prefiksami, na które faktycznie trafisz w praktyce, od pojedynczej trasy hosta /32 aż po blok /8:

CIDRMaska podsieciAdresy łącznieDostępne hosty
/8255.0.0.016 777 21616 777 214
/16255.255.0.065 53665 534
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242
/31255.255.255.25422 (łącze punkt-punkt)
/32255.255.255.25511 (trasa hosta)

Oblicz z własnym adresem

Wpisz dowolny adres IPv4 i prefiks CIDR albo maskę poniżej, a rozbicie na adres sieci, rozgłoszeniowy, zakres dostępny i maskę w zapisie binarnym zaktualizuje się na bieżąco.

Kalkulator Podsieci IPv4 (CIDR)
Za darmo, bez rejestracji, na każdym urządzeniu.
Otwórz pełne narzędzie

Częste błędy i przypadki szczególne

Zapominanie, że adres sieci i rozgłoszeniowy nie są dostępnymi hostami. Sieć /24 ma 256 adresów łącznie, ale tylko 254 z nich można faktycznie przypisać urządzeniu. To częsty błąd o jeden: planowanie pojemności według całkowitej liczby adresów zamiast dostępnej, po czym miejsce kończy się dwa adresy wcześniej, niż się spodziewano.

Traktowanie /31 i /32 jak każdego innego prefiksu. RFC 3021 czyni z /31 przypadek szczególny dla łączy punkt-punkt: oba adresy w tej parze są dostępne, bo w bloku o 2 adresach nie ma miejsca na rezerwowanie jednego pod broadcast. Prefiks /32 to pojedynczy adres sam w sobie, najczęściej spotykany jako trasa hosta albo adres loopback, i w ogóle nie ma adresu sieci ani rozgłoszeniowego do odjęcia.

Mylenie maski podsieci z maską wildcard. Maska podsieci oznacza bity sieci jedynkami, 255.255.255.0 dla /24. Maska wildcard to jej bitowa odwrotność, oznacza bity hosta jedynkami, 0.0.0.255 dla tego samego /24. Maski wildcard pojawiają się na listach kontroli dostępu w sprzęcie Cisco i podobnym, a wpisanie maski podsieci tam, gdzie urządzenie oczekuje maski wildcard (albo odwrotnie), po cichu dopasowuje niewłaściwy zestaw adresów.

Zakładanie, że maska podsieci to zawsze ciągły ciąg jedynek. Maska w rodzaju 255.0.255.0 na pierwszy rzut oka wygląda wiarygodnie, ale nie jest poprawna: bity 1 nie tworzą jednego nieprzerwanego bloku od lewej, więc w ogóle nie da się jej zapisać jako prefiksu CIDR. Prawdziwe maski podsieci to zawsze pewna liczba wiodących bitów 1, po których następują same zera, i nic więcej.

Najczęściej zadawane pytania

Jak przeliczyć maskę podsieci z powrotem na prefiks CIDR? Policz liczbę bitów 1 w masce, czytając od lewej do prawej w postaci binarnej. 255.255.255.0 to 11111111.11111111.11111111.00000000, co daje 24 jedynki, więc jest to /24. Działa to tylko wtedy, gdy maska jest poprawnym, ciągłym ciągiem jedynek zakończonym zerami; maska w rodzaju 255.0.255.0 nie ma odpowiednika CIDR, bo jej bity nie są ciągłe.

Dlaczego pożyczanie bitów na podsieci zawsze daje potęgę dwójki? Każdy bit pożyczony z części hosta podwaja liczbę możliwych wartości, jakie ten bit może przyjąć, czyli 0 lub 1. Pożyczysz 1 bit, dostajesz 2 podsieci, pożyczysz 2, dostajesz 4, pożyczysz 3, dostajesz 8. To ten sam mechanizm, dzięki któremu bajt (8 bitów) może reprezentować 256 różnych wartości: każdy dodatkowy bit podwaja liczbę możliwości.

Jaka jest różnica między maską podsieci a bramą domyślną? Maska podsieci mówi urządzeniu, która część adresu IP to sieć, a która host, dzięki czemu urządzenie potrafi rozpoznać, czy inny adres znajduje się w jego własnej sieci lokalnej. Brama domyślna to osobne ustawienie, adres IP routera, do którego urządzenie wysyła ruch, gdy cel nie znajduje się w jego sieci lokalnej. Do tego, by urządzenie mogło dotrzeć poza własną podsieć, potrzebne są oba te ustawienia skonfigurowane poprawnie.

Czy mogę podzielić sieć na prefiks, który nie dzieli się równo, na przykład rozbić /24 na 3 sieci? Nie, nie na dokładnie 3 równe części, bo podział na podsieci zawsze dzieli blok na potęgę dwójki. Dzieląc /24, otrzymasz 2, 4, 8, 16 i tak dalej, nigdy 3. W praktyce oznacza to, że podzielisz sieć na 4 (pożyczając 2 bity) i albo zostawisz jedną podsieć /26 nieużywaną, albo podzielisz ją dalej dla mniejszego działu, zamiast próbować wymusić dokładny podział na 3.

PodsieciCIDRIPv4Sieci
Kalkulator Podsieci IPv4 (CIDR)
Teraz wypróbuj samodzielnie w pełnym narzędziu.
Wypróbuj teraz