Príklad:
IP: 128.42.5.4
V binárnom tvare: 10000000 00101010 00000101 00000100
Podsieť: 255.255.248.0
Ako by ste mohli určiť čísla prefixu, siete, podsiete a hostiteľa?
Preveďte bodkovo-decimálnu reprezentáciu sieťovej masky na binárnu. Potom spočítajte počet susediacich bitov 1, počnúc najvýznamnejším bitom v prvom oktete (t. j. na ľavej strane binárneho čísla).
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
-----------------------------------
I counted twenty-one 1s -------> /21
Prefix 128.42.5.4 s maskou siete 255.255.248.0 je /21.
Sieťová adresa je logickým AND príslušných bitov v binárnej reprezentácii IP adresy a sieťovej masky. Zarovnajte bity v oboch adresách a vykonajte logické AND na každom páre príslušných bitov. Potom preveďte jednotlivé oktety výsledku späť na desiatkovú sústavu.
Pravdivostná tabuľka logického AND:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
----------------------------------- [Logical AND]
10000000 00101010 00000000 00000000 ------> 128.42.0.0
Ako vidíte, sieťová adresa 128.42.5.4/21 je 128.42.0.0
Adresa vysielania konvertuje všetky bity hostiteľa na 1s...
Pamätajte si, že naša IP adresa v desiatkovej sústave je:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Maska siete je:
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
To znamená, že naše hostiteľské bity sú posledných 11 bitov IP adresy, pretože masku hostiteľa zistíme invertovaním sieťovej masky:
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
Na výpočet broadcastovej adresy vynútime, aby všetky hostiteľské bity boli 1:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
----------------------------------- [Force host bits]
10000000 00101010 00000111 11111111 ----> 128.42.7.255
Všeobecne platí, že podsiete sa vytvárajú prerozdelením niektorých bitov hostiteľa ako sieťových bitov pre každú podsieť. Mnohokrát neexistuje jeden správny spôsob, ako vytvoriť podsieť... v závislosti od vašich obmedzení môže existovať niekoľko správnych spôsobov, ako vytvoriť podsieť bloku adries.
Predpokladajme, že 128.42.0.0/21 rozdelíme na 4 podsiete, z ktorých každá musí obsahovať aspoň 100 hostiteľov...
V tomto príklade vieme, že na to, aby obsahoval 100 hostiteľov, je potrebný prefix aspoň /25. Ja som zvolil prefix /24, pretože spadá na hranicu oktetov. Všimnite si, že sieťová adresa pre každú podsieť si požičiava hostiteľské bity z nadradeného sieťového bloku.
Ako som zistil, že pre 100 hostiteľov potrebujem aspoň /25 masklength? Vypočítajte prefix zálohovaním do počtu hostiteľských bitov potrebných na obsiahnutie 100 hostiteľov. Na obsiahnutie 100 hostiteľov je potrebných 7 hostiteľských bitov. Oficiálne sa to vypočíta pomocou:
Host bits = Log2(Number-of-hosts) = Log2(100) = 6,643
Keďže adresy IPv4 majú šírku 32 bitov a my používame hostiteľské bity (t. j. najmenej významné bity), jednoducho od 32 odpočítajte 7 a vypočítajte minimálny prefix podsiete pre každú podsieť... 32 - 7 = 25.
Keďže chceme iba štyri podsiete z celého bloku 128.42.0.0/21, mohli by sme použiť /23 podsietí. Vybral som si /23, pretože potrebujeme 4 podsiete... t. j. dva bity navyše pridané k maske siete.
Toto je rovnako správna odpoveď na obmedzenie, použitie /23 podsietí 128.42.0.0/21...
To je to, čo sme už urobili vyššie... len znovu použite masku hostiteľa z práce, ktorú sme vykonali pri výpočte broadcastovej adresy 128.42.5.4/21... Tentoraz použijem namiesto h
1s, pretože potrebujeme opäť vykonať logické AND na sieťovej adrese.
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000111 11111111
----------------------------------- [Logical AND]
00000000 00000000 00000101 00000100 -----> 0.0.5.4
Ak chcete zistiť maximálny počet hostiteľov, pozrite sa na počet binárnych bitov v čísle hostiteľa. Najjednoduchšie to urobíte tak, že od 32 (počet bitov v adrese IPv4) odčítate dĺžku sieťovej masky. Tým získate počet bitov hostiteľa v adrese. V tomto bode...
Maximálny počet hostiteľov = 2**(32 - netmask_length) - 2
Dôvod, prečo vyššie odčítame 2, je ten, že čísla hostiteľov all-ones a all-zeros sú rezervované. Číslo hostiteľa all-zeros je sieťové číslo; číslo hostiteľa all-ones je broadcastová adresa.
Ak použijeme vyššie uvedený príklad podsiete 128.42.0.0/21, počet hostiteľov je...
Maximálny počet hostiteľov = 2**(32 - 21) - 2 = 2048 - 2 = 2046
Predpokladajme, že nám niekto dá dve adresy IP a očakáva od nás, že nájdeme najdlhšiu sieťovú masku, ktorá obsahuje obe adresy; napríklad čo ak by sme mali:
Najjednoduchšie je previesť obe adresy na binárne a hľadať najdlhší reťazec sieťových bitov z ľavej strany adresy.
128.42.5.17 in binary: 10000000 00101010 00000101 00010001
128.42.5.67 in binary: 10000000 00101010 00000101 01000011
^ ^ ^
| | |
+--------- Network ---------+Host-+
(All bits are the same) Bits
V tomto prípade by maximálna sieťová maska (minimálna hostiteľská maska) bola /25
POZNÁMKA: Ak skúsite začať z pravej strany, nenechajte sa oklamať len preto, že nájdete jeden zhodný stĺpec bitov; za týmito zhodnými bitmi môžu byť nezhodnuté bity. Úprimne povedané, najbezpečnejšie je začať z ľavej strany.
Vyššie uvedená odpoveď dokonale trafila klinec po hlavičke. Keď som však začínal, potreboval som niekoľko rôznych príkladov z niekoľkých zdrojov, aby som si to naozaj uvedomil. Preto, ak'ťa zaujímajú iné príklady, napísal som na túto tému niekoľko blogových príspevkov - http://www.oznetnerd.com/category/subnetting/.
Administrátori, ak tento príspevok považujete za spam, pokojne ho vymažte.
Edit: Na návrh YLearn'a sa pokúsim zobrať relevantné časti z prvej časti môjho seriálu bez toho, aby som sem vkladal celý príspevok.
Ako príklad použime 195.70.16.159/30.
Keďže ide o /30, vieme, že hostiteľská časť bude vo štvrtom oktete. Preveďme to na binárny kód:
128 64 32 16 8 4 2 1
SN SN SN SN SN SN H H
1 0 0 1 1 1 1 1
Teraz, aby sme zistili sieťovú adresu, stačí sčítať SN bity, ktoré majú pod sebou 1. (128 + 16 + 8 + 4 = 156).
Keď k prvým trom oktetom adresy pripočítame týchto 156, dostaneme sieťovú adresu 195.70.16.156.
Keďže teraz vieme, že prvá použiteľná adresa je vždy Sieťová adresa plus jedna, stačí vykonať nasledujúci výpočet: (156 + 1 = 157).
To nám dáva prvú použiteľnú adresu 195.70.16.157.
Teraz na chvíľu preskočme Poslednú použiteľnú adresu a nájdime Vysielaciu adresu. Aby sme zistili, aká je, stačí, ak spočítame všetky bity H (bez ohľadu na to, či majú hodnotu 1 alebo 0) a potom toto číslo pripočítame k Sieťovej adrese. (2 + 1 + 156 = 159).
Takto dostaneme rozhlasovú adresu 195.70.16.159.
A nakoniec vypočítajme poslednú použiteľnú adresu. Tento postup je podobný ako pri zisťovaní Prvej použiteľnej adresy, avšak namiesto toho, aby sme k sieťovej adrese pripočítali jednotku, v skutočnosti od Vysielacej adresy odčítame jednotku. (159 - 1 = 158).
Tým získame poslednú použiteľnú adresu 195.70.16.158.
A máme to! Náš temaplte je kompletný. Pre ľahšiu orientáciu ju tu nájdete ešte raz:
Ako skratku môžete použiť aj tento vzorec. Funguje na podsiete akejkoľvek veľkosti:
Príklad:
IP: 128.42.5.4
V binárnom tvare: 10000000 00101010 00000101 00000100
Podsieť: 255.255.248.0
Ako by ste mohli určiť čísla prefixu, siete, podsiete a hostiteľa?
32768 16384 8192 4096 2048 1024 512 256 ----> Binary
128 192 224 240 248 252 254 255 ----> Sunet Mask
/17 /18 /19 /20 /21 /22 /23 /24 ----> CIDR
32766 16382 8190 3094 2046 1022 510 254 ----> Host
128 64 32 16 8 4 2 1 ----> Binary
128 192 224 240 248 252 254 255 ----> Sunet Mask
/25 /26 /27 /28 /29 /30 /31 /32 ----> CIDR
126 62 30 14 6 2 * - ----> Host
128 64 32 16 8 4 2 1
10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001
Example
Network=192.168.1.0 /24;
Network Address with Subnet mask = 192.168.1.0 subnet 255.255.255.0
Ip address range 192.168.1.0----192.168.1.255
Fist available ip address 192.168.1.1;
Last available ip address 192.168.1.254;
Broadcast address = 192.168.1.255;
254 Host
Network=192.168.1.0 /25;
Network Address with Subnet mask = 192.168.1.0 subnet 255.255.255.128
Ip address range 192.168.1.0----192.168.1.128
Fist available ip address 192.168.1.1;
Last available ip address 192.168.1.126;
Broadcast address = 192.168.1.127;
126 Hosts
When the CIDR increased ex. /24. /25. the network will divided by the
binary number.
/25 increase network 0-128| 128- 256 | you will have 2 Networks
/26 increase network 0-64 | 64 - 128 | 128-192 | 192-256 you will have 4 Networks
.
.
.
/32......