IP Adresácia

Pre správnu prácu na sieti potrebujeme vytvoriť a prideliť Internet Protocol (IP) adresu hostiteľskému počítaču pokiaľ pracuje na sieti s TCP/IP protokolmi. IP adresy umožňujú počítačom s rozličným operačným systémom a pracujúcich na rôznych platformách komunikovať medzi sebou. Aby dáta mohli byť posielané medzi rôznymi subnetmi, musíme zadať aj smerovanie (route). Pochopenie smerovacích procedúr vám pomôže pri vytváraní a prideľovaní správnych IP adries hostom na vašej sieti.

Pridelenie IP adresy

Primárna funkcia IP je pridať informáciu o adrese do dátového paketu a smerovať ho po sieti. Aby sme pochopili ako IP funguje je nevyhnutné oboznámiť sa s konceptami ktoré určujú ako sú doručované dátové pakety.

Prezentácia – komponenty IP adresy

Čo sú triedy IP adries

IP adresy sú organizované do tzv. tried. Registrované adresy obvykle získate od vášho internetového providera, prípadne od IANA (Internet Assigned Numbers Authority). Veľkosť a typ siete určuje triedu adresy.

Trieda adries definuje ktoré bity sú použité na identifikáciu siete, sieťové ID, a ktoré bity identifikujú klientsky počítač, hostiteľský ID. Taktiež definuje počet možných sietí a počet hostov na sieti. Existuje päť tried IP adries: triedy A až E. TCP/IP vo Windows Server 2003 (a aj predošlých verziách Windows) podporujú prideľovanie adries pre triedy A, B a C.

IP adresy sú tvorené zo štyroch oktetov, obvykle reprezentovaných ako w.x.y.z. V nasledujúcej tabuľke je zobrazené ako sú oktety distribuované v triedach A, B a C.

Trieda IP adresa Sieťové ID Host ID
A w.x.y.z w x.y.z
B w.x.y.z w.x y.z
C w.x.y.z w.x.y z

Adresy triedy A sú pridelené sieťam s veľkým počtom hostov. Trieda A má 126 sietí (používa prvý oktet pre sieťové ID). Prvý bit (high-order) v tomto oktete je vždy nastavený na nulu. Ďalších sedem bitov v oktete označuje sieťové ID. 24 bitov v zostávajúcich oktetoch reprezentuje ID hosta, čo je zhruba 17 miliónov hostov na jednu sieť. Prvý oktet nadobúda hodnoty 1 – 127.

Adresy triedy B sú prideľované stredným až veľkým sieťam. Adresy triedy B používajú na identifikáciu siete prvé dva oktety a obsahujú 16 384 sietí. Prvé dva bity v prvom oktete sú vždy nastavené na 1 0. Zvyšných šesť bitov spolu s ďalším oktetom vytvárajú sieťové ID. 16 bitov v treťom a štvrtom oktete reprezentujú ID hosta – čo je približne 65 000 hostov na jednu sieť. Sieť triedy B je identifikovaná hodnotou 128 – 191 v prvom oktete.

Adresy triedy C sú prideľované pre malé lokálne siete (LAN). Trieda C umožňuje vytvoriť okolo 2 miliónov sietí pomocou prvých troch oktetov pre sieťové ID. Prvé tri bity v prvom oktete sú vždy nastavené na 1 1 0. Ďalších 21 bitov úplne definuje ID siete. Osem bitov v poslednom oktete reprezentuje ID hosta, čo je 254 hostov na sieť. Prvý oktet nadobúda hodnoty 192 – 223

Triedy D a E nie sú alokované pre hostov. Adresy triedy D sú určené pre multicasting, adresy triedy E sú rezervované pre budúce použitie.

Pri používaní tried pre IP adresy, každá trieda má defaultnú masku siete. Pokiaľ delíte sieť do segmentov alebo subnetov, túto masku použijete pre rozdelenie IP adries. Všetci TCP/IP klienti vyžadujú masku siete aj keď existuje iba jedna sieť. Defaultná maska záleží na použitej triede adries. Všetky bity korešpondujúce so sieťovým ID sú nastavené na 1. Všetky bity korešpondujúce s ID hosta sú nastavené na 0.

Zoznam tried sietí:

Trieda Prvé bity Hodnoty Sieťové ID Host ID Počet sietí Počet hostov
A 0 1-127 8 24 126 16,777,214
B 10 128-191 16 16 16,384 65,534
C 110 192-223 24 8 2,097,152 254

Cvičenie:

  1. Určite triedy nasledovných adries:
  2. 172.16.2.1
    10.15.7.100
    192.168.0.100
    126.0.0.1
    1.1.1.1

  3. V ktorých triedach adries môžete mať viac ako 1000 hostov?
  4. Ktorá trieda adries má 254 hostov?

Prevod medzi desiatkovou a dvojkovou sústavou

Obvykle keď prideľujete IP adresu používame desiatkový zápis, ktorý a je založený na desiatkovej číselnej sústave. Počítače ale používajú dvojkovú (binárnu) číselnú sústavu. Aby ste dokázali pochopiť, ako IP adresy pracujú, musíte aj pochopiť vzťahy medzi týmito číselnými sústavami.

Počítače používajú binárny systém, základom je hodnota 2 (2 čísla – 0 a 1) namiesto desiatkového založenom na čísle 10 (10 čísiel – 0 až 9). V IP adresnej schéme počítače používajú binárny formát štyroch 8 bitových oktetov, čo je dokopy 32 bitov. IP adresy sú normálne vyjadrované v desiatkovom „bodkovom“ zápise, čo sú vlastne štyri čísla oddelené bodkou, napríklad 192.168.1.100. Každé zo štyroch čísiel reprezentuje jeden oktet v rozsahu hodnôt 00000000 až 11111111. V desiatkovom zápise sú ekvivalentné hodnoty 0 až 255.

Každá pozícia bitu v oktete má priradenú desiatkovú hodnotu. Bit ktorý je nastavený na 0 má vždy nulovú hodnotu. Bit ktorý je nastavený na 1 môže byť konvertovaný na desiatkovú hodnotu. Posledný (low-order) bit označuje desiatkovú hodnotu 1. Prvý (high-order) bit označuje desiatkovú hodnotu 128. Najvyššia desiatková hodnota oktetu je teda 255 – ktorá je dosiahnutá vtedy, keď sú všetky bity nastavené na 1.

Príklad:
Binárna hodnota: 10000011 01101011 00000011 00011000
Desiatková hodnota: 131.107.3.24

Ako vypočítať desiatkovú hodnotu z binárneho čísla

Máme binárne číslo 10000011;

  1. Začneme s hodnotu najviac vľavo, vynásobíme každé číslo v oktete postupne zmenšovanou mocninou 2, počnúc 2^7 a posúvame sa zľava doprava.
  2. Súčtom týchto hodnôt získame číslo.

1 * 2^7 = 1 * 128 = 128
0 * 2^6 = 0 * 64 = 0
0 * 2^5 = 0 * 32 = 0
0 * 2^4 = 0 * 16 = 0
0 * 2^3 = 0 * 8 = 0
0 * 2^2 = 0 * 4 = 0
1 * 2^1 = 1 * 2 = 2
1 * 2^0 = 1 * 1 = 1

128 + 0 + 0 + 0 + 0 + 0 + 2 + 1 = 131

Nasledovná tabuľka zobrazuje bitové a desiatkové hodnoty pre všetky bity v oktete.

Binárna forma Bitové hodnoty Desiatková hodnota
00000000 0 0
00000001 1 1
00000011 1+2 3
00000111 1+2+4 7
00001111 1+2+4+8 15
00011111 1+2+4+8+16 31
00111111 1+2+4+8+16+32 63
01111111 1+2+4+8+16+32+64 127
11111111 1+2+4+8+16+32+64+128 255

Ako konvertovať desiatkový zápis do binárneho formátu

Aj keď k prevodu môžete použiť program kalkulačka vo Windows Server 2003, lepšie pochopíte konverziu ak výpočet urobíte manuálne.

Nasledujúca tabuľka reprezentuje desiatkové číslo 131 v binárnom formáte 10000011.

Základ 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
Desiatkový 128 64 32 16 8 4 2 1
Binárny 1 0 0 0 0 0 1 1
131 = 128 0 0 0 0 0 2 1

Ako skonvertovať oktet z desiatkového zápisu na binárny:

  1. Vytvoríme si tabuľku ako vyššie
  2. Určíme najvyššiu mocninu čísla dva, ktorá sa nachádza v oktete (1 2 4 8 16 32 64 128) a je ešte stále menšia alebo rovná ako desiatková hodnota.
  3. Zapíšeme 1 do stĺpca, pokiaľ je hodnota deliteľná mocninou, 0 pokiaľ nie.
  4. Pokračujeme zľava doprava, k výpočtu ďalšej hodnoty použijeme zvyšok po delení.

Cvičenie:
1. Skonvertujte z desiatkovej formy do binárnej:

44
97
255
192.168.1.100
255.255.255.248

2. Skonvertujte z binárnej formy do desiatkovej:

1111111
11111111 11111111 11111111 11111000
00001010. 01100100.00000111.00010101

3. Určite triedu adresy, masku, ID siete a ID hostiteľa

IP Adresa Maska subnetu Sieťové ID Host ID
192.168.0.100 C/255.255.255.0 192.168.0 100
10.7.1.1
172.16.1.1
129.102.197.23
199.32.123.54
1.1.1.1
221.22.64.7
93.44.127.235
23.46.92.184
152.79.234.1
200.100.50.25

Doporučenia pre IP adresáciu

Pre IP adresáciu vo vašej sieti neexistujú nejaké presné pravidlá. Sú ale určité všeobecné dopručenia, ktoré by ste mali mať na pamäti, pokiaľ chcete mať validnú sieť a identifikátory hostiteľov.

  • nepoužívajte IP adresy s hodnotou 127 v prvom oktete. Tieto adresy sú určené pre diagnostické účely.
  • verejne registrované adresy používajte iba tam, kde je to nutné.
  • pre privátne siete používajte adresné rozsahy rezervované organizáciou IANA pre tieto účely.
  • pre ID hostiteľa nepoužívajte adresy, kde sú všetky bity nastavené na 1 alebo 0. Tieto adresy sú interpretované ako tzv. broadcast adresy.
  • IP adresy nemôže byť duplicitné v sieťovom segmente.

Cvičenie:
Identifikujte nesprávne IP adresy:
131.107.256.80
222.222.255.222
231.200.1.1
126.1.0.0
0.127.4.100
190.7.2.0
127.1.1.1
198.121.254.255
255.255.255.255

9 komentárov k “IP Adresácia”

  1. Cauko
    tvoja stránka je veľmi dobrá a veľmi mi pomohla pri učení do školy, hlavne prevody binárnych čísel atď. Mohol by si tam dať aj správne výsledky aby som si to mohol skontrolovať. Fakt dobra stránka.

  2. Je fajn, ak je spokojnost… :)

    Bohuzial, vysledky velmi zverejnovat nemienim, kedze toto su viacmenej podklady pre skolenia a keby som dal vysledky, tak asi by to bolo o nicom. Sorry. Ale maly hint: na preverenie niektorych staci kalkulacka s prevodmi bin<->dec a pri IP adresach si treba vsimat jednotlive hodnoty a nasledne aj cislo ako celok. Vela stastia pri rieseni ;)

  3. dakujem velmi pekne ….neviem sice ci spravim zajtra ten zapocet…..ale mozem ti povedat, ze tvoja stranka je ta najlepsia co som nasla…..dakujem ti velmi velmi pekne

  4. Pekny clanok, ale chyba mi tam spomenut privatny rozsah IP adries a vynimky, napr. localhost a IPv4 a IPv6 (169.254/16). Taktiez posledna uloha – Identifikujte nesprávne IP adresy – je trosku nestastna, pretoze chybaju prefixy pre subnety, takze musim vychadzat iba z default hodnot.

    1. Tento článok je jeden zo série, ktorá je zasa súčasťou prednasok :) Takze tieto veci tam nájdete uvedené a ak nie, na prednáške ich spomínam určite.

      Otázka nespravnych IP je tak postavená úmyselne. Kedže tento článok predchádza problematike subnetov, tak nema význam vôbec spomínať iné masky.

Napísať odpoveď pre lemka Zrušiť odpoveď

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *