Máš adresu 192.168.2.4/22
, kde /22
je maska siete.
Porebuješ len z tohto zistiť počiatočnú a koncovú adresu tejto siete, koľko IP adries sa do siete vôjde a ako bonus aj masku zapísanú v štýle adresy.
1. Binárny tvar adresy
Na jednoduché zistenie jednotlivých vecí treba použiť binárne tvary adries a masky.
Každá časť adresy oddelená bodkou, nazývaná oktet, je jedno binárne číslo, resp. reťazec, kde 0 alebo 1 postupne reprezentujú tieto mocniny dvojky: 128, 64, 32, 16, 8, 4, 2, 1. Oktet 192
by teda bol 1100 0000
a celá adresa 192.168.2.4
:
1100 0000 | 1010 1000 | 0000 0010 | 0000 0100
Ako to vypočítať rýchlo z hlavy?
Hľadaj najväčšie číslo ktoré sa z desiatkového tvaru vôjde do vypísaných mocnín - v prípade 192
by to bolo 128, ktoré je hneď na prvej pozícií. Jednotku zapíšeš, 192-128=64, 64 je hneď druhá pozícia, zostala ti 0 a máš to celé v binárnom, teda 1100 0000
.
Aby si to pochopil, tak napríklad ešte 168
, 128 sa doň vôjde, takže hneď píšeš jednotku, 168-128=40, do 40
sa najbližšie vôjde 32, 40-32=8, zapíšeš jednotky na pozície 128, 32, 8, zvyšné sú nuly a máš binárne číslo 1010 1000
.
Každý oktet sa takto počíta zvlášť. Teraz by si už mal mať adresu v binárnom tvare/čísle.
2. Binárny a dekadický tvar masky
Ak máš masku zapísanú ako /22
tak to jednoducho znamená 22 jednotiek za sebou a zvyšok nuly, v tomto prípade píšeš všetky oktety naraz:
1111 1111 | 1111 1111 | 1111 1100 | 0000 0000
Dekadický tvar:
Ak by sa ti to chcelo prepisovať z binárneho do dekadického (čiže desiatkového) tvaru tak by táto maska bola 255.255.252.0
, s tým, že pre túto konverziu samozrejme riešiš každý oktet zvlášť, rovnaké mocniny ako v príklade binárneho tvaru adresy, teda 128,64,32,16,8,4,2,1.
Všimni si, že pri konverzií 1111 1100, keď vieš, že maximálne číslo dosiahnuteľné (1111 1111) je 255, stačí odčítať 2 a 1 a máš 252. Netreba to teda v tomto prípade pracne riešiť od začiatku.
3. Počiatočná adresa siete
Teraz keď máš binárnu adresu aj binárnu masku (prvé dva príklady), potrebuješ urobiť tzv. binárny súčin týchto dvoch a z toho ti vylezie 🐍 počiatočná adresa siete.
Binárny súčin funguje tak, že prenásobíš cifry pod sebou a dostaneš teda buď 0 alebo 1.
1100 0000 | 1010 1000 | 0000 0010 | 0000 0100 (adresa)
1111 1111 | 1111 1111 | 1111 1100 | 0000 0000 (maska)
_____________________________________________
1100 0000 | 1010 1000 | 0000 0000 | 0000 0000 (bin. súčin = počiatočná adresa siete)
Teraz máš počiatočnú adresu siete, už ju len hodíš do dekadického tvaru (pozri príklad dekadického tvaru masky pre pochopenie) a máš 192.168.0.0
.
Táto adresa nikdy nebude patriť špecifickému zariadeniu, využíva sa ako "číslo siete", prvá použiteľná adresa pre zariadenie (192.168.0.1
) je hneď po nej.
4. Koncová adresa siete
Nuly v maske premeníš na jednotky a jednotky ktoré tam už boli na nuly, vznikne ti teda akási "inverzná maska" a potom urobíš binárny súčet cifier pod sebou ignorujúc zvyšok.
1100 0000 | 1010 1000 | 0000 0010 | 0000 0100 (adresa)
0000 0000 | 0000 0000 | 0000 0011 | 1111 1111 (inverzná maska)
_____________________________________________
1100 0000 | 1010 1000 | 0000 0011 | 1111 1111 (súčet = koncová adresa siete)
Potom to prehodíš do dekadického tvaru (pozri príklad dekadického tvaru masky pre pochopenie) a máš 192.168.3.255
.
Táto adresa nikdy nebude patriť špecifickému zariadeniu, ale využíva sa na broadcast, čiže zasielanie správ všetkým zariadeniam na sieti.
5. Maximálny počet adries v sieti
Na toto ti stačí "inverzná maska" z predchádzajúceho príkladu.
0000 0000 | 0000 0000 | 0000 0011 | 1111 1111 (inverzná maska)
Tú premeníš na dekadický tvar a dostaneš 0.0.3.255
.
Teraz si musíš uvedomiť, že pri IP adresách je aj oktet 0
správny, teda začíname od nuly a ku každému oktetu dekadickej inverznej masky musíš pre správny výpočet pripočítať jednotku. Napr. 0-255
je 256 čísel. Po pripočítaní to už nebude inverzná maska ale maximálne počty cifier pre jednotlivé oktety: 1.1.4.256
.
Na záver ich len všetky prenásobíš:
1*1*4*256 = 1024
A 1024 je správna odpoveď pre maximálny počet adries v sieti.
Prvá adresa (v tomto prípade 192.168.0.0
) je číslo siete a posledná (tu 192.168.3.255
) je pre broadcast, takže max. počet zariadení je 1022.
Teraz už vieš…
Sieť, na ktorej je IPv4: 192.168.2.4/22
- má masku
255.255.252.0
- má počiatočnú adresu
192.168.0.0
(tzv. číslo siete) - má koncovú adresu
192.168.3.255
(tzv. broadcast) - môže mať maximálne 1024 adries (z toho 1022 zariadení)