Rozdělování IP sítí

Verze pro tiskPDF verze

Na českém internetu jsem nenalezl smysluplný a podrobný článek, který by popisoval rozdělování IP sítí. Je to základní věc, kterou by měl každý se zájmem o sítě ovládat. Pro někoho to bude opakování, pro jiného nová vědomost.

Tímto článkem se snažím rozjet sérii článků o počítačových sítích a zároveň v případě zájmu požádat o pomoc nové redaktory. Článek je určen pro naprosté začátečníky.

Začneme vysvětlením pojmů, které budeme používat a jejichž definic je nutné se držet.

IP adresa - 32 bitové jedinečné identifikační číslo skládající se ze 4 oktetů oddělených tečkami (1 oktet = 8 bitů). Příklad IP adresy: 192.168.0.1. V síti nesmí mít dva počítače stejnou IP adresu.
Adresa sítě - první adresa sítě určující začátek podsítě. Adresa sítě nesmí být přidělena žádnému počítači v síti.
Maska - bitová maska oddělující bity v IP adrese určuje síťovou a uzlovou část. Jednoduše řečeno rozděluje síť na podsítě, určuje která část IP adres se může měnit a hlavně kolik je pro danou podsíť volných adres. Maska musí splňovat určitý řád. Maska začíná v binární podobě samými jedničkami a za nimi mohou být jen! nuly př. 11111111.11111111.11111111.00000000 == 255.255.255.0, ale nesmí být např. 11111111.11111111.11111111.00100000
Broadcast - poslední adresa podsítě, kterou také nesmíme přidělit žádnému uzlu (aktivnímu prvku) v síti. Pokud někdo odešle paket s adresou broadcastu tak přijde všem počítačům, které patří do dané podsítě. Poslední oktet broadcastu je vždy lichý.
Uzel - jakékoliv adresovatelné zařízení připojené k síti. tj. počítač, router, switch, tiskárna atd.

Adresy zvláštního významu

0.0.0.0 - tuto adresu má počítač, který zatím nemá přidělenou IP adresu. Taky to označuje "všechny adresy". Radši to vysvětlím na příkladě. Pokud např. v pravidlech firewallu máte povolený port 22 (ssh) pro adresu 0.0.0.0, tak to znamená, že na port 22 se může připojit kdokoliv.
192.168.0.255/24 - jeden z příkladů broadcastu [255]. Paket s touto cílovou adresou se odešle všem počítačum v síti 192.168.0.0. Číslo /24 určuje velikost masky => 24 bitů, ale k tomu se vrátíme později.
147.251.0.0 - jeden z možných příkladů adresy sítě [0]. Používá se ke směrování paketů.
127.x.x.x - adresy interní sítě uzlu. Např. 127.0.0.1 - této adrese se říká loopback. Je to adresa označující rozhraní. Tuto adresu nesmíte přidělit žádné síťové kartě v síti (ani by to logicky nešlo). Když pošlete paket na adresu 127.0.0.1 tak jdou data jen na síťovou kartu a neodesílají se do sítě. Loopback používají některé aplikace.
--> jak již vyplývá některé adresy, které se používají v interních sítích se nesmí používat na internetu. Pro interní sítě jsou vyhrazeny tyto adresy:

Třída A: 10.0.0.0. až 10.255.255.255
Třída B: 172.16.0.0 až 172.31.255.255
Třída C: 192.168.0.0 až 192.168.255.255

- jakoukoliv z těchto adres můžete používat v interních sítích, ale počítače pak nemohou vysílat přímo do Internetu. Přístup do internetu je vyřešen překladem adres pomocí NAT, ale o tom někdy jindy.

Tak začnem

Nejdříve si vypočítáme jednoduché rozdělení podsítí, kde se budu snažit popsat vše co nejsrozumitelněji.

Máme síť 192.168.0.0
s maskou 255.255.255.0
úkol: rozdělit na 4 stejné podsítě

1) Určíme rozsah volných adres.
- máme masku 255.255.255.0 => používat můžeme poslední oktet => 192.168.0.0 až 192.168.0.255 (192.168.0.1, 192.168.0.2, 192.168.0.3 atd.)
- takže jsme si odvodily, že máme teoreticky 256 volných adres (0-255) a rozsah 192.168.0.0 - 192.168.0.255

2) Návrh rozdělení
- tento rozsah máme rozdělit na 4 stejné podsítě => 256 / 4 = 64
- takže v každé podsítí budeme mít 64 adres

3) Vypočítání adres, bcastů a masek
- takže začínat budem od 0. Zápis bude ve tvaru - \

1. podsíť
192.168.0.0 - 192.168.0.63
255.255.255.192

--- takže jak jsme k tomu došli... 1. podsít má tedy rozsah 0 - 63 = 64 adres
192.168.0.0 je adresa sítě a 192.168.0.63 je broadcastová adresa podsítě 192.168.0.0 ...to je doufám více než jasné.
teď ta maska: chceme rozdělit síť na 4 stejné podsítě = 64 adres pro jednu. Takže musíme určit jaká maska vyjadřuje 64 adres v podsíti.
- Masku podsítě můžeme určit buď rozkladem na binární tvar, nebo jednoduchým vzorcem.
začneme složitě: (kdo neumí počítat v binární soustavě ať se to naučí, nebo použije kalkulačku)

192.168.0.0 -> 11000000.10101000.00000000.00000000
255.255.255.0 lze zapsat jako 11111111.11111111.11111111.00000000
- maska je doslova maskou. Pokud dám adresu sítě a masky pod sebe v binárním tvaru, tak tam kde masce začínají nuly, tam podsíti začíná rozsah, který může použít. Ještě bych chtěl dodat, že pokud vypočítáváme masku, tak nás vůbec nezajímají IP adresy podsítí apod. Jediné čeho se budeme držet je počet volných adres, které potřebujem.
- v naší podsíti potřebujeme 64 volných adres, tj. rozsah 0-63; tento rozsah binárně vypadá takto
00000000 až 00111111 => v masce potřebujeme, aby uzlová část (ta kterou můžem použít) byla posledních šest bitů

11000000.10101000.00000000.00|000000 -> díky masce mohu posledních 6 nul použít 00000000 až 00111111
11111111.11111111.11111111.11|000000 => maska 255.255.255.192 určuje 64 volných IP adres

2. podsíť
192.168.0.64 - 192.168.0.127 (začínáme od konce 1. sítě, pozn. broadcast vždy lichý!)
255.255.255.192 (maska zůstává, protože i v druhé podsíti potřebujeme 64 volných adres)

3. podsíť
192.168.0.128 - 192.168.0.191
255.255.255.192

4. podsíť
192.168.0.192 - 192.168.0.255
255.255.255.192

Zjednodušený postup

Po nějaké době zkoušení rozdělování si člověk masky pamatuje. Chtěl bych vám přesto ukázat, že postup vypočítání masky může být ještě mnohem snazší.

vzorec: 256 - $počet_adres_které_potřebuju = $maska

takže pokud mám podsíť, kde potřebuju 32 adres: 256 - 32 = 224 => maska 255.255.255.224

jednodušší to vážně být nemůže :o]

--- pozn. určitě spoustě z vás připadá tenhle popis přehnaně jednoduchý, ale chtěl jsem ho napsat srozumitelný pro kohokoliv. Teď si dáme něco težšího a pokud to dokážete spočítat sami, tak umíte rozdělovat IP sítě (thatz all).

Horší už to nebude

Příklad:



síť 192.168.16.0
maska 255.255.252.0 V 192.168.16.0/22

1) Určíme si rozsah, který můžem použít.
- bude se měnit 3. oktet => 16 -> 00010000
- maska je 252 -> 11111100

000100|00 => poslední dva bity můžeme využít => 00010000 až 00010011 (16 až 19)
111111|00

rozsah: 192.168.16.0 až 192.168.19.255

2) Pro přehlednost je lepší počítat sítě od největší k nejmenší.

3) Vypočítání adres, bcastů a masek.

1. podsíť (270 PC)
- v sítí je 270 PC, ale mi musíme počítat i s adresou sítě a broadcastem, takže 270 + 2 => pořebujeme 272 adres
- maximální počet adres v Cčkové síti je 256, ale mi pořebujeme 272 adres, takže musíme využít dvě Cčkové třídy
- 192.168.16.0 až 192.168.17.255 -> v této síti je 512 volných adres i když jich potřebujeme pouze 272, ale jinak to rozdělit nejde. 240 adres zůstane prostě nevyužitých.
- maskou musíme určit že rozsah jde i do další Cčkové sítě - od 192.168.16.0 až do 192.168.17.255
- jinak řečeno potřebujeme maskou určit 512 volných adres, což je 2^$pocet_nul => 2^9 = 512 --> v masce musí být devět nulových bitů
11111111.11111111.11111110.00000000 == 255.255.254.0

adresa sítě: 192.168.16.0
broadcast: 192.168.17.255
maska: 255.255.254.0

2. podsíť (129 PC)
- z první podsítě jsme vyčerpaly adresy ze sítí 16 a 17, takže začnem 18kou
- první adresa = adresa sítě: 192.168.18.0
- v síti 129 PC => 131 adres, ale maska dokáže rozdělit Cčkovou podsíť maximálně na 128 a 128 adres
- musíme využít celou Cčkovou síť

adresa sítě: 192.168.18.0
broadcast: 192.168.18.255
maska: 255.255.255.0

3. podsíť (68 PC)
- postupujeme stejně -> 70 adres. Nejbližší možný počet adres, které dokáže maska rozdělit je 128 (58 bude nevyužitých).
- takže od 192.168.19.0 do 192.168.19.127
- maska 2^$x = 128 --> 2^7 = 128 -> sedm nulových bitů
11111111.11111111.11111111.10000000 -- 255.255.255.128

adresa sítě: 192.168.19.0
broadcast: 192.168.19.127
maska: 255.255.255.128

4. podsíť (32 PC)
- zde se často dělá chyba, lidé vidí 32 a počítají 32 adres... potřebujeme ale 34 adres => nebližší 64
- maska zase buď vzorcem 2^$x = 64 - 2^6 = 64, nebo ještě jednodušeji 256 - $počet_adres = $maska => 192

adresa sítě: 192.168.19.128
broadcast: 192.168.19.191
maska: 255.255.255.192

5. síť (2 PC)
- 4 adresy

adresa sítě: 192.168.19.192
broadcast: 192.168.19.195
maska: 255.255.255.252

--- mno a ještě nám 55 adres zbylo

p.s. snažil jsem se to napsat tak, aby to pochopil i naprostý začátečník. pokud přesto je něco nejasné, tak mi to napiště do komentáře a já to poupravím.

Volby prohlížení komentářů

Vyberte si, jak chcete zobrazovat komentáře a klikněte na „Uložit změny“.

Dik za clanek, udelalo mi to

Dik za clanek, udelalo mi to vic jasno, treba v tom broadcastu a adrese site ze se musi zapocitavat do kazdeho rozdeleni. Ten doplnek do 256 je fakt jednodussi nez to resit binarne, ale zas kdyz se to resi binarne tak se s tim da vic sermovat ne? Muze treba posledni cast masky vypadat 00101010 a co to pak bude delat? A jeste by me zajimalo na co vsechno se pouziva ta "adresa site". Jestli je to jen na ten router, tak mi to prijde zbytecny zabrani jedne adresy, router by se tu vec ze muzou vsechny pocitace mohl naucit chapat i z broadcastovy adres ne?

Obrázek uživatele cm3l1k1

precti si clanek jeste

precti si clanek jeste jednou:
Maska začíná v binární podobě samými jedničkami a za nimi mohou být jen! nuly př. 11111111.11111111.11111111.00000000 == 255.255.255.0, ale nesmí být např. 11111111.11111111.11111111.00100000
Takze tvuj priklad masky nemuzes pouzit.

Adresa site se neprirazuje zadnemu zarizeni.

.::[ optimista je člověk s nedostatkem informací.. ]::.
sed '66!d;s/[0-9]*\.\s*//;s/\./\!/' /usr/src/linux/M*

Ahoj, z clanku jsem dost veci

Ahoj, z clanku jsem dost veci pochytil, takze dekuji
mnohokrat. Akorát by mne jeste zajimalo jak by se postupovalo
v pripade, ze bychom tech adres potrebovali vice, nez-li je
rozsah 192.168.16.0 - 192.168.19.255 ?

A druhá moje otázka smeruje k rozdeleni 1.podsite s potrebnymi
272 adresami, proc musime vyhrazovat tak velke misto (pro 512 adres),
kdyz by zustalo nevyuzito 240 adres. Neslo by rozdelit podsit napr
nasledovne?: 192.168.16.0 - 192.168.17.16 (- potrebnych 272 adres)

Obrázek uživatele cm3l1k1

clanek neni konretni, lze ho

clanek neni konretni, lze ho aplikovat na rozdeleni jakehokoliv rozsahu. proste se pouzije vetsi maska. zkus se nad tim zamyslet (bude ti to pak davat vetsi smysl)

maska je binarni, tudiz neni mozne vyhradit presne 272 adres, ale musi jit o nasobky dvou... 2,4,8,16,32,...
takze 240 proste zustane nevyuzitych... ono se nikdy neadresuje presne podle IP adres, protoze clovek tam vzdy musi dat nejakou mezeru pro nove zarizeni...

.::[ optimista je člověk s nedostatkem informací.. ]::.
sed '66!d;s/[0-9]*\.\s*//;s/\./\!/' /usr/src/linux/M*

hm

otázka ,
keďže som v tom nováčik .
Mám adresu napr :
132.14.27.18 a potrebujem ako si zistím masku ,ip siete a poradové číslo počítaču v sieti a maximalny počet pc v sieti , je to síce len taká jednoduchá vec podla všetkého ale tak nikde som nenašiel ako si to vypočítam alebo zistím . Díki

Obrázek uživatele cm3l1k1

Pokud znas jen IP adresu, tak

Pokud znas jen IP adresu, tak to nezjistis.

Na woknech zkus prikaz: ipconfig /all
na Linuxu: ifconfig

.::[ optimista je člověk s nedostatkem informací.. ]::.
sed '66!d;s/[0-9]*\.\s*//;s/\./\!/' /usr/src/linux/M*

privatni ip adresy

Mám takovou připomínku, adresní blok 192.168.0.0-192.168.255.255 patří do privátních ip adres a ty mají odlišnou masku, v tomto případě /16.

privátní ip:
10.0.0.0-10.255.255.255 maska /8
172.16.0.0-172.31.255.255 maska /12
192.168.0.0-192.168.255.255 maska /16

pro neprivátní (veřejné) ip
tř. A /8
tř. B /16
tř. C /24

Dobrý den, jsem moc vděčný za

Dobrý den, jsem moc vděčný za tento článek, je to až zajímavě jednoduché, ale přesto mám otázku. Jaký je rozdíl mezi sítí která není rozdělena do žádné podsítě a která je třeba mezi čtyři. Co to představuje mezi jednotlivé PC v té síti.
Dám příklad.
1, budu mít 254 počítaču v síti 192.168.0.1 až 192.168.0.254 maska /24
2, budu mít 248 počítaču v síti rozdělené do 4 podsítí, jak je to ukázané na Vašem prvním příkladu.

Jednoduše co to prakticky usnadňuje v té síti?
Děkuji K.S.

Obrázek uživatele cm3l1k1

ono vyhodou je asi jen mensi

ono vyhodou je asi jen mensi broadcastova domena... nejde o to ze by rozdeleni neco vyznamneho prineslo, ono je to proste potreba... at uz kvuli pridelenym blokum, VLANam apod.

.::[ optimista je člověk s nedostatkem informací.. ]::.
sed '66!d;s/[0-9]*\.\s*//;s/\./\!/' /usr/src/linux/M*

2 stejné IP adresy

Dobrý den. Jsem úplný začátečník a měla jsem časté problémy s připojením, stahovámí a podobně až mě na displeji vyjela tabulka, že Windouws má problémy protože jsem účastník dvou IP adres. Našla jsem druhého účastníka nějaký samuelstenek prosím o pomoc dále moje schopnosti končí a nemohu najít kdo tyto adresy určuji všude jen diskuze Předem děkuji s pozdravem Anna Rigdová