Kalkulator podsieci IP: CIDR, maska i zakres hostów
Oblicz szczegóły podsieci IPv4 na podstawie adresu i prefiksu CIDR: adres sieci i adres rozgłoszeniowy, zakres użytecznych hostów, maskę podsieci oraz maskę wildcard.
IP Subnet Calculator
Results
Subnet Mask in Binary
Results follow RFC 791 (IPv4 addressing), RFC 4632 (CIDR notation), RFC 950 with RFC 919 and RFC 922 (network and broadcast reservation), and RFC 3021 (/31 point-to-point links).
Dokumentacja
Kalkulator podsieci IP
Kalkulator podsieci IP oblicza szczegóły sieci na podstawie adresu IPv4 i długości prefiksu. Na podstawie tych dwóch danych ustala adres sieci, adres rozgłoszeniowy, zakres użytecznych adresów hostów, maskę podsieci oraz maskę wieloznaczną.
Działanie kalkulatora
Narzędzie przyjmuje adres IPv4 zapisany jako cztery liczby oddzielone kropkami, na przykład 192.168.1.10, oraz długość prefiksu od 0 do 32. Działa także zapis obu wartości razem w notacji CIDR, na przykład 192.168.1.10/24: część /24 zostaje automatycznie przeniesiona do pola prefiksu.
Kalkulator zwraca:
- Notacja CIDR: sieć w postaci adres/prefiks, na przykład 192.168.1.0/24.
- Adres sieci: pierwszy adres w bloku. Identyfikuje samą sieć.
- Adres rozgłoszeniowy: ostatni adres w bloku. Wiadomość wysłana na ten adres dociera do każdego hosta w podsieci.
- Zakres użytecznych adresów hostów: pierwszy i ostatni adres, których urządzenie może faktycznie użyć.
- Użyteczne adresy hostów i łączna liczba adresów: liczba adresów w bloku oraz liczba adresów dostępnych dla urządzeń.
- Maska podsieci i maska wieloznaczna: maska w zapisie kropkowym, na przykład 255.255.255.0, oraz jej odwrotność, 0,0.0,255.
- Maska podsieci przedstawiona bit po bicie, po osiem bitów na oktet.
Wyniki są zgodne z RFC 791 (adresowanie IPv4), RFC 4632 (notacja CIDR), RFC 950 wraz z RFC 919 i RFC 922 (rezerwacja adresu sieci i adresu rozgłoszeniowego) oraz RFC 3021 (łącza punkt-punkt /31).
Jak działa podział na podsieci
Adres IPv4 jest liczbą 32-bitową. Zapisuje się go jako cztery oktety, z których każdy ma 8 bitów i przyjmuje wartość od 0 do 255. Długość prefiksu dzieli te 32 bity na dwie części. Pierwsze bity, w liczbie określonej przez prefiks, identyfikują sieć. Pozostałe bity identyfikują hosta w tej sieci.
Sieć /24 przeznacza 24 bity na część sieciową i pozostawia 8 bitów dla hostów. Osiem bitów hosta daje 2⁸ = 256 adresów. Sieć /26 pozostawia tylko 6 bitów hosta, więc obejmuje 2⁶ = 64 adresy.
Maska podsieci przedstawia ten sam podział jako adres: bit 1 dla każdego bitu sieciowego i bit 0 dla każdego bitu hosta. Dla /24 jest to 255,255.255,0. Maska wieloznaczna odwraca każdy bit maski podsieci. Listy dostępu routerów, szczególnie urządzeń Cisco, dopasowują adresy za pomocą masek wieloznacznych, dlatego narzędzie pokazuje obie maski.
Wzór dotyczący podsieci
Dla długości prefiksu p od 0 do 30 kalkulator stosuje następujące zasady, określone w RFC 950 i RFC 4632:
- Maska podsieci = pierwsze p bitów słowa 32-bitowego ustawionych na 1.
- Adres sieci = adres IP AND maska podsieci (bitowa operacja AND zachowuje bit tylko wtedy, gdy w obu operandach ma on wartość 1).
- Adres rozgłoszeniowy = adres sieci OR maska wieloznaczna (każdy bit hosta ustawiony na 1).
- Łączna liczba adresów = 2⁽³²⁻ᵖ⁾.
- Użyteczne adresy hostów = 2⁽³²⁻ᵖ⁾ − 2. Odejmowanie usuwa adres sieci i adres rozgłoszeniowy, które zgodnie z RFC 950 i RFC 919 są zarezerwowane.
- Pierwszy użyteczny host = adres sieci + 1. Ostatni użyteczny host = adres rozgłoszeniowy − 1.
Dwie długości prefiksu podlegają innym zasadom. /31 obejmuje dokładnie 2 adresy, a RFC 3021 uznaje oba za użyteczne hosty na łączu punkt-punkt, bez adresu rozgłoszeniowego. /32 wskazuje pojedynczy adres: łącznie 1 adres, 1 użyteczny, bez adresu rozgłoszeniowego. W tych dwóch przypadkach narzędzie oznacza pierwszy adres jako „Baza prefiksu” zamiast „Adres sieci”, ponieważ żaden z bloków nie rezerwuje adresu do identyfikacji sieci.
Każdy wynik pochodzi z działań arytmetycznych na jednej liczbie 32-bitowej. Narzędzie nie wylicza adresów pojedynczo, więc blok /0 obejmujący wszystkie 4 294 967 296 adresy IPv4 oblicza równie szybko jak /32.
Przykład obliczeniowy
Dla adresu 10.128.7.33 z długością prefiksu /26:
- Maska podsieci: 26 jedynek bitowych, po których następuje 6 zer bitowych, daje 11111111,11111111.11111111,11000000, co odpowiada zapisowi 255,255.255,192.
- Adres sieci: wykonujemy operację AND adresu z maską. Pierwsze trzy oktety pozostają bez zmian. W ostatnim oktecie 33 ma postać binarną 00100001; operacja AND z 11000000 daje 00000000, czyli 0. Adres sieci to 10.128.7.0, więc notacja CIDR to 10.128.7.0/26.
- Adres rozgłoszeniowy: ustawiamy wszystkie 6 bitów hosta na 1. Ostatni oktet przyjmuje postać 00111111, czyli 63. Adres rozgłoszeniowy to 10,128.7,63.
- Liczby: 2⁶ = 64 adresy łącznie, a 64 − 2 = 62 użyteczne adresy hostów.
- Zakres hostów: od 10.128.7.1 do 10,128.7,62.
- Maska wieloznaczna: odwrotność maski podsieci, 0,0.0,63.
Drugi przykład wykorzystuje domyślne dane wejściowe narzędzia, 192.168.1.10/24: sieć 192.168.1.0, adres rozgłoszeniowy 192.168.1.255, hosty od 192.168.1.1 do 192.168.1.254, 254 użyteczne adresy hostów z 256 adresów łącznie, maska podsieci 255.255.255.0, maska wieloznaczna 0,0.0,255.
Konwencje stosowane przez narzędzie
Oktety z zerami wiodącymi są odrzucane. Narzędzie odrzuca 010.1.1.1, zamiast odczytywać je jako 10,1.1,1. Jest to zamierzone. Funkcja POSIX inet_aton, wykorzystywana przez ping, curl i większość systemowych programów rozpoznawania adresów, traktuje oktet z zerem wiodącym jako ósemkowy, więc dla tych programów 010.1.1.1 oznacza 8.1.1.1. Żaden sposób interpretacji dziesiętnej lub ósemkowej nie będzie zgodny ze wszystkimi odbiorcami, dlatego narzędzie nie akceptuje żadnego z nich. Z tego samego powodu odrzucany jest prefiks zapisany jako /08.
Liczba hostów jest pomniejszana o dwa. Niektóre kalkulatory podają surowy rozmiar bloku jako liczbę hostów. To narzędzie stosuje RFC 950: w każdym bloku od /0 do /30 część hosta złożona z samych zer oznacza sieć, a część z samych jedynek oznacza adres rozgłoszeniowy, więc oba adresy są wykluczone i /24 ma 254 użyteczne adresy hostów, a nie 256.
/31 ma dwóch użytecznych hostów. Starsze publikacje, powstałe przed RFC 3021 (opublikowanym w 2000), uznają /31 za bezużyteczny, ponieważ odjęcie dwóch zarezerwowanych adresów pozostawia zero. RFC 3021 usunęło obie rezerwacje dla łączy punkt-punkt, a routery obsługują to od dziesięcioleci, dlatego narzędzie podaje 2 użyteczne adresy hostów i brak adresu rozgłoszeniowego.
Akceptowany jest dowolny prefiks od /0 do /32. /0 jest prawidłowym blokiem obejmującym całą przestrzeń IPv4, zgodnie z użyciem 0.0.0.0/0 w tablicach routingu jako trasy domyślnej.
Tylko IPv4. IPv6 (RFC 4291) używa adresów 128-bitowych i innej notacji, dlatego nie jest objęty zakresem tego narzędzia. Narzędzie nie oznacza także zakresów specjalnego przeznaczenia, takich jak adresy prywatne czy adresy interfejsu loopback (RFC 6890); oblicza wyłącznie działania na adresach.
Często zadawane pytania
Ile użytecznych adresów hostów ma /24? 254. /24 pozostawia 8 bitów hosta, co daje 2⁸ = 256 adresów. Dwa są zarezerwowane: adres sieci i adres rozgłoszeniowy. Dla urządzeń pozostaje 254 adresów.
Czym jest maska wieloznaczna? Bitową odwrotnością maski podsieci. Tam, gdzie maska podsieci ma 1, maska wieloznaczna ma 0, i odwrotnie. Dla maski 255.255.255.0 maska wieloznaczna to 0,0.0,255. Listy kontroli dostępu w wielu routerach używają masek wieloznacznych do opisywania adresów dopasowywanych przez regułę.
Dlaczego /31 nie pokazuje adresu rozgłoszeniowego? /31 obejmuje tylko dwa adresy. Zarezerwowanie jednego dla sieci i jednego na rozgłoszenia nie pozostawiłoby żadnego, dlatego RFC 3021 definiuje /31 jako łącze punkt-punkt, na którym oba adresy są adresami hostów i nie istnieje adres rozgłoszeniowy. Kalkulator podaje 2 użyteczne adresy hostów i oznacza adres rozgłoszeniowy jako nie mający zastosowania.
Dlaczego 010.1.1.1 jest odrzucany, zamiast być odczytany jako 10.1.1.1? Ponieważ systemy operacyjne różnią się w interpretacji zwykłego zapisu dziesiętnego. POSIX inet_aton odczytuje oktet z zerem wiodącym jako ósemkowy, więc dla większości systemów 010 oznacza 8. Odrzucenie danych wejściowych jest jedynym rozwiązaniem, które nie może po cichu różnić się od działania komputera użytkownika.
Jaka jest różnica między łączną liczbą adresów a użytecznymi adresami hostów? Łączna liczba adresów to pełny rozmiar bloku, czyli 2 do potęgi (32 minus długość prefiksu). Liczba użytecznych adresów hostów jest pomniejszona o dwa zarezerwowane adresy, z wyjątkiem /31 (oba adresy są użyteczne) i /32 (pojedynczy adres jest hostem).
Co oznacza adres sieci dla 192.168.1.10/24? Jest to 192.168.1.0, otrzymany przez zachowanie pierwszych 24 bitów adresu i ustawienie bitów hosta na zero. Identyfikuje całą podsieć i nie może zostać przypisany urządzeniu.
Piśmiennictwo
- Postel, J. „RFC 791: Protokół internetowy”. IETF, 1981.
- Mogul, J. i J. Postel. „RFC 950: Procedura tworzenia podsieci w standardzie internetowym”. IETF, 1985.
- Mogul, J. „RFC 919: Rozgłaszanie datagramów internetowych”. IETF, 1984.
- Fuller, V. i T. Li. „RFC 4632: Bezklasowy routing międzydomenowy (CIDR)”. IETF, 2006.
- Retana, A. i in. „RFC 3021: Używanie prefiksów 31-bitowych w łączach punkt-punkt IPv4”. IETF, 2000.