Kalkulačka podsítí IP: CIDR, maska a rozsah hostitelů
Vypočítejte podrobnosti podsítě IPv4 ze zadané adresy a prefixu CIDR: síťovou a broadcast adresu, rozsah použitelných hostitelů, masku podsítě a wildcard masku.
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).
Dokumentace
Kalkulačka podsítí IP
Kalkulačka podsítí IP vypočítá podrobnosti sítě skryté za adresou IPv4 a délkou prefixu. Z těchto dvou vstupů určí síťovou adresu, broadcastovou adresu, rozsah použitelných hostitelských adres, masku podsítě a zástupnou masku.
Co kalkulátor dělá
Nástroj přijímá adresu IPv4 zapsanou jako čtyři čísla oddělená tečkami, například 192.168.1.10, a délku prefixu od 0 do 32. Funguje i zápis obou údajů dohromady ve tvaru CIDR, například 192.168.1.10/24: část /24 se sama přesune do pole délky prefixu.
Kalkulačka vrací:
- Zápis CIDR: síť ve tvaru adresa/prefix, například 192.168.1.0/24.
- Síťová adresa: první adresa v bloku. Označuje samotnou síť.
- Broadcastová adresa: poslední adresa v bloku. Zpráva odeslaná na tuto adresu dorazí ke každému hostiteli v podsíti.
- Rozsah použitelných hostitelských adres: první a poslední adresa, kterou může zařízení skutečně použít.
- Použitelní hostitelé a celkový počet adres: kolik adres blok obsahuje a kolik z nich je volných pro zařízení.
- Maska podsítě a wildcard maska: maska v tečkovaném zápisu, například 255.255.255.0, a její inverze, 0,0.0,255.
- Maska podsítě rozepsaná po jednotlivých bitech, osm bitů na oktet.
Výsledky odpovídají RFC 791 (adresování IPv4), RFC 4632 (zápis CIDR), RFC 950 spolu s RFC 919 a RFC 922 (rezervace síťové a broadcastové adresy) a RFC 3021 (spojení typu point-to-point s prefixem /31).
Jak funguje dělení na podsítě
Adresa IPv4 je číslo o 32 bitech. Zapisuje se jako čtyři oktety, přičemž každý oktet má 8 bitů a obsahuje hodnotu od 0 do 255. Délka prefixu rozdělí těchto 32 bitů na dvě části. První bity, jejichž počet určuje prefix, označují síť. Zbývající bity označují hostitele uvnitř této sítě.
Síť /24 vyhradí 24 bitů pro část sítě a ponechá 8 bitů pro hostitele. Osm hostitelských bitů poskytuje 2⁸ = 256 adres. Síť /26 ponechává pouze 6 hostitelských bitů, takže obsahuje 2⁶ = 64 adres.
Maska podsítě zapisuje stejné rozdělení jako adresa: bit 1 pro každý síťový bit a bit 0 pro každý hostitelský bit. Pro /24 je to 255,255.255,0. Wildcard maska invertuje každý bit masky podsítě. Přístupové seznamy směrovačů, zejména na zařízeních Cisco, porovnávají adresy pomocí wildcard masek, proto nástroj zobrazuje obě.
Vzorec podsítě
Pro délku prefixu p mezi 0 a 30 kalkulačka používá tato pravidla definovaná v RFC 950 a RFC 4632:
- Maska podsítě = prvních p bitů slova o 32 bitech nastavených na 1.
- Síťová adresa = IP adresa AND maska podsítě (bitový operátor AND ponechá bit pouze tam, kde mají oba vstupy hodnotu 1).
- Broadcastová adresa = síťová adresa OR zástupná maska (každý hostitelský bit nastavený na 1).
- Celkový počet adres = 2⁽³²⁻ᵖ⁾.
- Použitelní hostitelé = 2⁽³²⁻ᵖ⁾ − 2. Odčítají se síťová a broadcastová adresa, které vyhrazují RFC 950 a RFC 919.
- První použitelný hostitel = síťová adresa + 1. Poslední použitelný hostitel = broadcastová adresa − 1.
Dvě délky prefixu se řídí odlišnými pravidly. Prefix /31 obsahuje přesně 2 adresy a RFC 3021 stanoví, že obě jsou použitelné jako hostitelé na spojení point-to-point, bez jakékoli broadcastové adresy. Prefix /32 označuje jedinou adresu: 1 celkem, 1 použitelná, bez broadcastu. V těchto dvou případech nástroj označuje první adresu jako „Základ prefixu“ místo „Síťová adresa“, protože žádný z těchto bloků nerezervuje adresu pro označení sítě.
Každý výsledek vychází z aritmetiky s jediným číslem o 32 bitech. Nástroj nevypisuje adresy jednu po druhé, takže prefix /0 pokrývající všech 4 294 967 296 adres IPv4 se vypočítá stejně rychle jako prefix /32.
Praktický příklad
Pro adresu 10.128.7.33 s délkou prefixu /26:
- Maska podsítě: 26 jedničkových bitů následovaných 6 nulovými bity je 11111111,11111111.11111111,11000000, což odpovídá zápisu 255,255.255,192.
- Síťová adresa: Proveďte AND adresy s maskou. První tři oktety zůstanou beze změny. V posledním oktetu je 33 v binární soustavě 00100001; AND s 11000000 dává 00000000, což je 0. Síťová adresa je 10.128.7.0, takže zápis CIDR je 10.128.7.0/26.
- Broadcastová adresa: nastavte všech 6 hostitelských bitů na 1. Poslední oktet bude 00111111, což je 63. Broadcastová adresa je 10,128.7,63.
- Počty: 2⁶ = 64 adres celkem a 64 − 2 = 62 použitelných hostitelů.
- Rozsah hostitelů: od 10.128.7.1 do 10,128.7,62.
- Wildcard maska: inverze masky podsítě, 0,0.0,63.
Druhý příklad s výchozím vstupem nástroje, 192.168.1.10/24: síť 192.168.1.0, broadcast 192.168.1.255, hostitelé od 192.168.1.1 do 192.168.1.254, 254 použitelných hostitelů z 256 adres celkem, maska podsítě 255.255.255.0, wildcard maska 0,0.0,255.
Konvence, kterými se nástroj řídí
Oktety s nulami na začátku jsou odmítnuty. Nástroj odmítne 010.1.1.1, místo aby ji četl jako 10,1.1,1. Je to záměrné. Funkce POSIX inet_aton, která stojí v pozadí příkazů ping a curl i většiny překladačů adres operačních systémů, považuje oktet s počáteční nulou za osmičkové číslo, takže 010.1.1.1 pro tyto programy znamená 8.1.1.1. Žádný výklad jako desetinné nebo osmičkové číslo nemůže souhlasit se všemi čtečkami, proto nástroj nepřijímá ani jeden. Prefix zapsaný jako /08 je ze stejného důvodu odmítnut.
Počet hostitelů se snižuje o dvě. Některé kalkulačky uvádějí jako počet hostitelů surovou velikost bloku. Tento nástroj se řídí RFC 950: v každém bloku od /0 do /30 označuje hostitelská část tvořená samými nulami síť a hostitelská část tvořená samými jedničkami je broadcast, takže obě adresy jsou vyloučeny a prefix /24 má 254 použitelných hostitelů, nikoli 256.
Prefix /31 má dva použitelné hostitele. Starší texty, napsané před RFC 3021 (publikovaným v roce 2000), označují prefix /31 za nepoužitelný, protože po odečtení dvou rezervovaných adres zůstane nula. RFC 3021 obě rezervace pro spojení point-to-point zrušilo a směrovače to podporují už desítky let, takže nástroj uvádí 2 použitelné hostitele a žádnou broadcastovou adresu.
Přijímá se jakýkoli prefix od /0 do /32. Prefix /0 je platný blok pokrývající celý prostor IPv4, což odpovídá tomu, jak se 0.0.0.0/0 objevuje ve směrovacích tabulkách jako výchozí trasa.
Pouze IPv4. IPv6 (RFC 4291) používá adresy o 128 bitech a odlišný zápis, takže nespadá do rozsahu tohoto nástroje. Nástroj také neoznačuje rozsahy ke zvláštním účelům, například privátní nebo smyčkové adresy (RFC 6890); uvádí pouze aritmetiku adres.
Často kladené otázky
Kolik použitelných hostitelů má prefix /24? 254. Prefix /24 ponechává 8 hostitelských bitů, což dává 2⁸ = 256 adres. Dvě jsou rezervované: síťová a broadcastová adresa. Pro zařízení tak zbývá 254 adres.
Co je zástupná maska? Bitová inverze masky podsítě. Tam, kde má maska podsítě 1, má zástupná maska 0, a naopak. Pro masku 255.255.255.0 je zástupná maska 0,0.0,255. Přístupové seznamy na mnoha směrovačích používají zástupné masky k určení adres, na které se pravidlo vztahuje.
Proč se u prefixu /31 nezobrazuje broadcastová adresa? Prefix /31 obsahuje pouze dvě adresy. Kdyby byla jedna vyhrazena pro síť a druhá pro broadcast, nezbyla by žádná, proto RFC 3021 definuje prefix /31 jako spojení point-to-point, kde jsou obě adresy hostiteli a broadcastová adresa neexistuje. Kalkulačka uvádí 2 použitelné hostitele a označuje broadcast jako neuplatňovaný.
Proč je 010.1.1.1 odmítnuta, místo aby byla přečtena jako 10.1.1.1? Protože operační systémy se neshodují na prostém desetinném výkladu. POSIX inet_aton čte oktet s počáteční nulou jako osmičkové číslo, takže 010 pro většinu systémů znamená 8. Odmítnutí vstupu je jediné řešení, které se nemůže tiše lišit od toho, co by provedl vlastní počítač uživatele.
Jaký je rozdíl mezi celkovým počtem adres a použitelnými hostiteli? Celkový počet adres je úplná velikost bloku, 2 umocněné na (32 minus délka prefixu). Počet použitelných hostitelů je toto číslo zmenšené o dvě rezervované adresy, s výjimkou prefixu /31 (obě adresy jsou použitelné) a prefixu /32 (jediná adresa je hostitel).
Co znamená síťová adresa 192.168.1.10/24? Je to 192.168.1.0, získaná zachováním prvních 24 bitů adresy a nastavením hostitelských bitů na nulu. Označuje podsíť jako celek a nelze ji přiřadit zařízení.
Reference
- Postel, J. „RFC 791: Internet Protocol.“ IETF, 1981.
- Mogul, J. a J. Postel. „RFC 950: Internet Standard Subnetting Procedure.“ IETF, 1985.
- Mogul, J. „RFC 919: Broadcasting Internet Datagrams.“ IETF, 1984.
- Fuller, V. a T. Li. „RFC 4632: Classless Inter-domain Routing (CIDR).“ IETF, 2006.
- Retana, A. a kol. „RFC 3021: Using 31-Bit Prefixes on IPv4 Point-to-Point Links.“ IETF, 2000.