Autor Tema: Uputstvo za podmrežavanje (Subnet-ovanje)  (Pročitano 1165 puta)

0 članova i 1 gost pregledaju ovu temu.

FaNaGoRiA

  • Administrator
  • Sr. Member
  • *****
  • Van mreže Van mreže
  • Pol: Muški
  • Poruke: 423
  • Status:: Diplomirani
    • Pogledaj profil
    • WWW
Uputstvo za podmrežavanje (Subnet-ovanje)
« poslato: фебруар 21, 2007, 07:01:48 »
Za one kojima jos uvek nije jasno subnetovanje :)
Tekst preuzet s interneta
KLIKNI OVDE DA ODŠTAMPAŠ TEKST

Klasne mreze i namena netmaski

Originalni dizajn IP adresa prepoznaje nekoliko razlicitih klasa IP adresa. Ove klase razlikuju se kako po svojoj velicini (A, B, C), tako i po svojoj nameni (D, E). Za potrebe subnettinga, potrebano je razumeti razlike u velicini. Dakle, necemo se baviti drugim razlikama izmedju IP adresa.

Osnovne klase IP adresa su:

A: Osnovna maska: 255.0.0.0 (8 bita), opseg: 1.0.0.0 do 126.0.0.0, broj mreza: 27 - 2
B: Osnovna maska: 255.255.0.0 (16 bita), opseg: 128.1.0.0 do 191.254.0.0, broj mreza: 214 - 2
C: Osnovna maska: 255.255.255.0 (24 bita), opseg: 191.0.1.0 do 223.255.254.0, broj mreza: 221 - 2

Prva stvar koju se covek zapita kad vidi netmasku je: "cemu ovo zapravo sluzi?". Da bi se odgovorilo na ovo pitanje, problem se mora sagledati van konteksta samih IP adresa. Poenta IP adresiranja je da se omoguci komunikacija izmedju dva uredjaja na (IP - Internet) mrezi. Da bi ta dva uredjaja mogla medjusobno da komuniciraju, moraju ne samo da poznaju adresu onog drugog, vec da znaju putanju (rutu - route) do odredista. Primer ispod je jednostavan:

[A]---[B]
Racunar A je direktno vezan sa racunarom B. Problem sa znanjem putanje gotovo da ne postoji. Medjutim, stvari u realnosti nisu tako jednostavne:

[A]---[v]---[w]---[x]---[B]
       |  X  |
      [y]---[z]


U primeru iznad, ne samo da A nema direktnu vezu sa B, vec postoji vise od nekoliko mogucih putanja od A do B. Svaka od imenovanih tacaka na dijagramu (X je oznaka za vezu izmedju w-z, y-x, prim. aut.) ima najmanje po jednu IP adresu. Da bi podaci od A stigli do B, da li A mora da zna punu putanju do B ili je dovoljno da zna putanju do [v]? U konkretnom slucaju, problem je jednostavan. Znatno kompleksniji problem se predstavlja pred, recimo [v]. Gde ce on da posalje paket? Iako bi ocigledno bilo da je odrediste [w], to zavisi od mnogo faktora. Da se ovo ne bi pretvorilo u veliko razmatranje o rutiranju, pretpostavimo da je putanja nebitna. Pogledajmo primer ispod:

[A]---[v]---[w]---[x]---+---[B]
             |  X   |   |
            [y]---[z]   +---[C]
                        |
                        +---[D]
                        |
                         ...

Dakle, iza
  • imamo ne samo B, vec C, D, E, F... Ako uzmemo u obzir da je moguci broj IP adresa preko 2000000000 i da su sve 32bitne, ako bi svaki uredjaj na mrezi znao putanju do svih adresa, dolazimo do problema da uredjaji moraju da imaju stravicno mnogo memorije da bi imali sve te informacije. Posebno sto pored same adrese moraju imati i podatke o putanji. Kako resiti ovaj problem?

Odgovor je netmaskama. Netmaske su nacin da se na jednostavan nacin referencira vise IP adresa. Kako netmaske funkcionisu? Pogledajmo primer jedne IP adrese:

212.54.211.1

Predstavljena binarno, ova adresa je: 11010100.00110110.11010011.00000001

Predpostavimo da je to IP adresa naseg racunara u gornjem primeru. Neka su [C], [D] ... svi uvecani za 1. Dakle, imamo:

B: 212.54.211.1
C: 212.54.211.2
D: 212.54.211.3
...
Z: 212.54.211.254

Kako je ova IP adresa iz klase C (vidi tabelu sa klasama iznad), osnovna maska je: 255.255.255.0. Maska predstavljena binarno je:

11111111.11111111.11111111.00000000

Ako uradimo logicko "I" adrese B i maske:

11010100.00110110.11010011.00000001 (212.54.211.1)
11111111.11111111.11111111.00000000 (255.255.255.0)
-----------------------------------
11010100.00110110.11010011.00000000 (212.54.211.0)

Ponovimo isto i za C:


11010100.00110110.11010011.00000010 (212.54.211.2)
11111111.11111111.11111111.00000000 (255.255.255.0)
-----------------------------------
11010100.00110110.11010011.00000000 (212.54.211.0)

ili pak Z:

11010100.00110110.11010011.11111110 (212.54.211.254)
11111111.11111111.11111111.00000000 (255.255.255.0)
-----------------------------------
11010100.00110110.11010011.00000000 (212.54.211.0)

U sva tri slucaja, dobijamo isti rezultat! Dati rezultat je najveca zajednicka adresa za sve racunare od A-Z. Ova adresa se zove "network" adresa. Dakle, u primeru nase mreze iznad, racunar A (kao i svi ostali uredjaji na putanji) ne mora da zna putanju do svih racunara B-Z, vec samo do mrezne adrese svih njih.
Network adresa je jedna od dve specijalne adrese u IP svetu. Druga specijalna adresa je tzv. "broadcast" adresa. Za razliku od mrezne adrese koja ima sve binarne 0 na kraju (host polje IP adrese), broadcast adresa ima sve binarne 1 u host polju. Dakle, broadcast adresa za nas primer je 212.54.211.255. Namena broadcast adrese prevazilazi nameru ove poruke.

Pogledom na masku iznad vidimo da njom "pokrivamo" 256 adresa. Sta ukoliko nasa mreza ima manje racunara? Ovde dolazimo do osnovnog problema kojim se ova poruka bavi - subnettingom. Subnetting (neki nakaradan prevod na nas jezik bi mogao da bude podmrezavanje) je proces kojim se iz default "host polja" pozajmljuje odredjeni broj bitova i dodaje masci, kako bi se mreza podelila na manje funkcionalne (administrativne) celine.
Recimo da se u nasem primeru iznad, krajnja mreza sastoji od pedeset racunara sa adresama 212.54.211.1 - 212.54.211.50. U tom slucaju, preko 200 adresa sa default maskom bi bilo neupotrebljeno. Ovaj problem se moze resiti tako sto bi se mreza podelila u subnete.

Najmanji subnet koji moze da opsluzi 50 racunara je od 64 adrese (26). Iznad sam spomenuo da je subnetting proces pozajmljivanja bitova iz host polja i dodavanja masci. Dakle, da bismo imali subnet od 64 adrese, nama je potrebno 6 umesto 8 bitova za host. Dakle, masci treba dodati 2 bita.

Pogledajmo kako to izgleda.

Network adresa:
212.54.211.0

11010100.00110110.11010011.{00}000000 (212.54.211.0)
11111111.11111111.11111111.{11}000000 (255.255.255.192)

Sa {} su oznaceni pozajmljeni bitovi. Ovo polje bitova se naziva "subnet polje".

Da bi nasa mreza ispravno funkcionisala, svaki racunar na mrezi je potrebno da ima konfigurisanu netmasku iznad. Promena netmaske sa default maske nam stvara jos jedan problem. Broadcast adresa vise nije ista! Da podsetim, broadcast adresa u host polju ima sve binarne 1. Pozajmljivanjem bitova za subnet polje, host polje je sad 6 bitova. Dakle, broadcast adresa je:

11010100.00110110.11010011.{00}111111 (212.54.211.63)

Uz malo srece ovo je do sada jasno. Sad sledi zaplet. Po klasnim pravilima subnettinga, ovaj primer iznad je NEISPRAVAN! Ovo je veoma specifican problem vezan za rutiranje. Naime, network adresa naseg subneta (212.54.211.0) je ista kao i adresa C klase 212.54.211.0. Ovo nije dozvoljena situacija. Jos jedna nedozvoljena situacija je pravljenje subneta koji u sebi sadrzi default broadcast adresu mreze (212.54.211.255). Ovo treba uzeti u obzir kao aksiom za klasne mreze! (offtopic: ako su se korisnici Cisco rutera zapitali zasto im ne radi defualt ruta, a problem se resi sa ip classless, objasnjenje pocinje od ovog aksioma).

Veoma cesto prakticno pitanje je, kako za datu adresu i netmasku odrediti koje su network i broadcast adresa. Ovaj problem cu prvo da objasnim binarno, a onda da otkrijem trik za veoma brzo racunanje bez konverzije u binarni sistem (na kraju drugog dela koji sledi u drugoj poruci - sutra).

Primer:

174.211.141.177
255.255.224.0

10101110.11010011.10001101.10110001 (174.211.141.177)
11111111.11111111.11100000.00000000 (255.255.224.0)

Logickim "I" dobijamo adresu mreze:

10101110.11010011.10000000.00000000 (174.211.128.0)
11111111.11111111.11100000.00000000 (255.255.224.0)

Ako u host polje (sva polja koja su u netmasci 0) stavimo sve 1, dobijamo broadcast adresu:

10101110.11010011.10011111.11111111 (174.211.159.255)



Bezklasna pravila subnettinga

Kako je vreme prolazilo, tako je Internet rastao. Sve vise firmi se povezivalo na mrezu. Mnoge od organizacija koje su se povezivale na Internet, imale su manje racunara nego sto su klasne granice (C: 28 - 2, B: 216 - 2, A: 224 - 2). Subnetting je resavao ovaj problem samo do izvesne granice. Zasto? Osnovni problem klasnog subnettinga je sto ne dozvoljava subnete razlicite velicine. Na primer, mrezu B klase: 142.14.0.0 je bilo moguce odeliti, recimo na 254 (28 - 2) mreze: 142.14.1.0, 142.14.2.0 ... 142.14.254.0 sa netmaskom 255.255.255.0. Pretpostavimo da je data B klasa bila dodeljena Internet provajderu kojem se javio korisnik koji u firmi ima samo 2 racunara, a zeli da se poveze na Internet. Provajder nije imao sta drugo da radi, vec da tom korisniku dodeli citav subnet od 256 adrese. Ako uzmemo u obzir da je korisnik od ovoga mogao da koristi samo 254, dakle 251 adresa je neiskoriscena!

Ubrzo je postalo jasno da Internetu predstoji ozbiljan problem - nedostatak IP adresa. Posebno IP adresa iz B klase.

Resenje problema se javilo uz pomoc dve tehnologije (pravilnije bi bilo reci dve teorije). Obe teorije bave se ukidanjem klasa IP adresa. Prva teorija je VLSM (Variable Length Subnet Mask - ftp://ftp.ripe.net/rfc/rfc1878.txt), a druga CIDR (Classless Inter-Domain Routing - ftp://ftp.ripe.net/rfc/rfc1519.txt).

Ukratko (za detalje pogledajte dva navedena RFC-a), ova dva RFC-a se bave mogucnoscu da se se omoguci deljenje kompletnog IP opsega (0.0.0.0 - 255.255.255.255) na razlicite delove, ne po klasama, vec provizorno. Dakle, ukidaju se "podklase" i citav adresni prostor se smatra jednom mrezom, koja se moze deliti na "provizorno" male delove, razlicite velicine (duzine). Ovime se bavi VLSM. CIDR je koncept koji omogucava uredjajima na mrezi (uglavnom ruterima) da medjusobno razmenjuju informacije o putanjama (ritama) u mrezi pritom imajuci u vidu izmenjena pravila.

Sa stanovista subnetovanja, bitno je shvatiti par osnovnih razlika u odnosu na klasna pravila:

- Odmah zaboraviti klase adresa. One ne postoje. Postoji samo jedna "klasa" - kompletan adresni prostor!
- IP adresa je jedan 32bitni broj - ne cetiri 8bitna broja.
- Ogranicenje za "mrezni" i "broadcast" subnet postoje i dalje. IP adrese iz subneta 0.0.0.0/255.0.0.0 i 255.0.0.0/255.0.0.0 su neispravne.

Iako nije netacno, kao netmaska se vise ne preporucuje upotreba tzv. "dotted decimal" formata (npr. 255.255.255.0), vec tzv. "prefix" format (/24). Prefix format nije nista drugo do informacija o tome koliko "konstantih" bitova ima u masci. Konstantni bitovi su bitovi postavljeni na 1. Tabela ispod je brz konvertor iz "prefix" u "dotted decimal" zapis:

Pr. Dotted decimal  Velicina
--- --------------- --------
/32 255.255.255.255        1
/31 255.255.255.254        2
/30 255.255.255.252        4
/29 255.255.255.248        8
/28 255.255.255.240       16
/27 255.255.255.224       32
/26 255.255.255.192       64
/25 255.255.255.128      128
/24 255.255.255.0        256
/23 255.255.254.0        512
/22 255.255.252.0       1024
/21 255.255.248.0       2048
/20 255.255.240.0       4096
/19 255.255.224.0       8192
/18 255.255.192.0      16384
/17 255.255.128.0      32768
/16 255.255.0.0        65536
/15 255.254.0.0       131072
/14 255.252.0.0       262144
/13 255.248.0.0       524288
/12 255.240.0.0      1048576
/11 255.224.0.0      2097152
/10 255.192.0.0      4194304
/9  255.128.0.0      8388608
/8  255.0.0.0       16777216
/7  254.0.0.0       33554432
/6  252.0.0.0       67108864
/5  248.0.0.0      134217728
/4  240.0.0.0      268435456
/3  224.0.0.0      536870912
/2  192.0.0.0     1073741824
/1  128.0.0.0     2147483648
Iako je na prvi pogled novi princip subnetovanja jednostavniji od klasnog (i jeste!), mnogima koncept bezklasnosti predstavlja problem. Razlog za ovo je klasna terminologija koja je jos uvek veoma u upotrebi. Vecina i dalje blok IP adresa od 256 adresa nazivaju "C klasom". Mnogi ljudi ovo rade bez obzira na to sto mnoge adrese zapravo originalno ni ne bi bile C klasa, vec subnet neke od B klasa (recimo: 147.91.75.0/24). Drugi koncept koji se javlja je mogucnost da se uz pomoc prefix notacija referencira veci adresni prostor od jedne klase, a da se pritom koriste adrese koje ocigledno pripadaju toj klasi. Primer: 194.250.64.0/23. Da bi se olaksao prelaz sa klasne na bezklasnu terminologiju, osmisljen je naziv "supernet" koji oznacava datu situaciju. Prakticno posmatrano, i subnet i supernet su nepotrebni izrazi. Najispravnije je koristiti izraz blok.

Generalna pravila za subnetovanje i dalje postoje. Svaki blok mora da da pocne od adrese koja za dat prefix (netmasku) u host polju ima sve binarne 0 i da se zavrsi na adresi koja u host polju ima sve 1. No, ne zaboravimo da se ceo adresni prostor tretira kao jednak - nema klasa!

Evo primera.

Od provajdera je dobijen blok IP adresa: 62.11.48.0/23. Potrebno je napraviti dva subneta za 50 racunara, jedan za 200, a ostatak prostora iskoristiti za point-to-point veze (ruter-ruter, dakle potrebne po dve adrese).

Za pocetak, kako dodeljeni blok izgleda binarno:

00111110000010110011000{000000000}
11111111111111111111111{000000000}
Obratite paznju da nisam koristio "." da razdvojim adresu i masku na oktete. To je zbog lakseg razumevanja. Takodje, obratite paznju da je host deo (oznacen sa {}) 9 bita. Pogledom na tabelu iznad, dobijamo da prefix /23 omogucava ukupno 512 adresa. 29=512. Za sad smo na dobrom putu. Nas problem kaze da nam je potreban jedan subnet za 200 racunara. Opet pogledom na tabelu, vidimo da jedini prefix koji nam odgovara je /24. Ako isto ponovimo za dva subneta od po 50 racunara, vidimo da je najblizi prefix /26. Za 4 adrese, prefix je /30
  • . Dakle, da bismo subnetovali nas blok, trebaju nam sledeci blokovi:

/24
/26
/26
/30
/30
...

Jedan koristan savet: Iako za to nema specijalnog razloga, obicno je lakse izvrisiti subnetovanje odredjenog adresnog prostora ukoliko se krene od najveceg ka najmanjem bloku. Ovo nije pravilo!

Dakle, imajuci u vidu date prefixe, kao i savet iznad, evo sta dobijamo kao rezultat naseg malog problema (ovo sto sledi je klasicno subnetovanje objasnjeno u prethodnom tekstu o klasnom subnetovanju - necu ponavljati objasnjenja):

Blok za 200 adresa:


62.11.48.0
00111110000010110011000000000000 62.11.48.0
11111111111111111111111100000000 /24

Ostaje:
00111110000010110011000100000000 62.11.49.0
11111111111111111111111100000000 /24

Odavde su nam je potrebna dva /26 bloka:

00111110000010110011000100000000 62.11.49.0
11111111111111111111111111000000 /26

00111110000010110011000101000000 62.11.49.64
11111111111111111111111111000000 /26

Preostaju nam /30 blokovi. Evo dva sledeca:

00111110000010110011000110000000 62.11.49.128
11111111111111111111111111111100 /30

00111110000010110011000110000100 62.11.49.132
11111111111111111111111111111100 /30

...
Kako bez konverzije u binarni sistem
Sav dosadasnji tekst je bazirao racunice na konverziji u binarni sistem i razumevanju osnovne binarne logike i aritmetike (binarno sabiranje). To moze predstavljati izvesan problem. Srecom, postoji i skracena metoda za brzo racunanje subneta (network i broadcast adresa) na osnovu date IP adrese i netmaske (ukoliko je dat prefix, pozeljno je znati tabelu konverzije prefix-netmaska napamet).

Da ne bih previse zalazio u teoriju, evo primera:

216.221.4.12/255.255.224.0

Da bi se izracunala network adresa, potrebno je napisati IP adresu i netmasku jednu iznad druge. Gde se u masci nalazi "255", prepisati broj iz IP adrese. Na mestu gde je u netmasci 0, napisati 0.

216.221.4.12
255.255.224.0
-------------
216.221.   .0
Ukoliko ne ostane praznina nigde, to je network adresa. Ukoliko ostane praznina, preostali broj u netmasci oduzeti od 256. Ovo je velicina mreze. U nasem primeru, velicina mreze je 32. Nazovimo ovaj broj mnoziocem. Da bismo dobili ispravan subnet. Potrebno je naci proizvod mnozioca koji je najblizi preostalom broju u IP adresi, a da je manji od tog broja. U nasem slucaju, ovo je 0. Dobijeni rezultat je network adresa:

216.221.4.12
255.255.224.0
-------------
216.221.0.0
Kad smo izracunali network adresu, izracunavanje broadcast adrese je veoma jednostavno. Na prvi oktet u network adresi koju se nalazi iznad broja koji nije 255 u netmasci dodati mnozilac umanjen za jedan. Sve ostale 0 u network adresi zameniti sa 255. U konkretnom primeru:

216.221.4.12
255.255.224.0
-------------
216.221.0.0
216.221.31.255
Evo jos jednog, mozda malo komplikovanijeg primera (koriscen algoritam iznad):

62.74.52.41         62.74.52.41         62.74.52.41         62.74.52.41
255.255.248.0  ==>  255.255.248.0  ==>  255.255.248.0  ==>  255.255.248.0
                    -------------       -------------       -------------
                    62.74.  .0     [8]  62.74.48.0          62.74.48.0
                                                            62.74.55.255
U primeru iznad, mnozilac je 8. Proizvod mnozioca koji nam je potreban je broj koji se dobija umnozavanjem 8, a da je proizvod najblizi, a manji od 52. Taj broj je 48. Broadcast adresu smo dobili tako sto smo na 48 dodali (8 - 1).


  • U posednje vreme, mogucnost koriscenja /31 prefixa za point-to-point veze se polako uvodu u upotrebu. Ovo jos uvek nije siroko rasireno.

Pozdrav svima.
FaNaGoRiA
« Poslednja izmena: фебруар 21, 2007, 07:09:27 FaNaGoRiA »
Sačuvana

Zobenica

  • Newbie
  • *
  • Van mreže Van mreže
  • Poruke: 42
    • Pogledaj profil
Odg: Uputstvo za podmrežavanje (Subnet-ovanje)
« #1 poslato: фебруар 21, 2007, 10:50:20 »
@Fanagoria, mislim da si trebao da navedes odakle si uzeo text.

Ko hoce da proveri ispravnost uradnjenog zadatka, rekao bih da moze pomocu ovog subnet kalkulatora: http://www.subnet-calculator.com/subnet.php?net_class=C
Sačuvana

FaNaGoRiA

  • Administrator
  • Sr. Member
  • *****
  • Van mreže Van mreže
  • Pol: Muški
  • Poruke: 423
  • Status:: Diplomirani
    • Pogledaj profil
    • WWW
Odg: Uputstvo za podmrežavanje (Subnet-ovanje)
« #2 poslato: фебруар 22, 2007, 02:06:15 »
@zule, uzeo ga sa nekog foruma al odavno bese, ne secam se.
Sačuvana

sickboy

  • Sr. Member
  • ****
  • Van mreže Van mreže
  • Pol: Muški
  • Poruke: 419
  • ...I Care Because You Do.
    • Pogledaj profil
    • WWW
Sačuvana
+-+-+-+-+-+-+-+-+-+
 |b|a|c|k|T|R|A|C|E|
+-+-+-+-+-+-+-+-+-+

kempes

  • Hero Member
  • *****
  • Van mreže Van mreže
  • Pol: Muški
  • Poruke: 572
  • Diplomirao
    • Pogledaj profil
    • WWW
Odg: Uputstvo za podmrežavanje (Subnet-ovanje)
« #4 poslato: фебруар 22, 2007, 01:50:18 »
Prvo da vam kazem da su meni ovako pokazali da se radi i da nisam imao prilike nigde da proverim da li je ovo sasvim tacno, pa bih voleo da neko od kolega ispravi greske ako postoje. Da je vec neko ranije na forumu odradio neki zadatak, ja se ne bih ni javljao, da ne unosim zabunu. Ali posto vidim da nema nikakvih resenja, onda bolje neka i ovo stoji. Nadam se da sam uspeo bar malo ovo da uprostim, jer nisam bas vican u prenosenju „znanja“. Pozdrav i srecno!
Sačuvana
www.malizvornik.info

Ako cyber sex nije sex, onda ni cyber criminal nije kriminal?

yonkee

  • Jr. Member
  • **
  • Van mreže Van mreže
  • Pol: Muški
  • Poruke: 61
    • Pogledaj profil
Odg: Uputstvo za podmrežavanje (Subnet-ovanje)
« #5 poslato: фебруар 22, 2007, 08:11:00 »
da ovo je ok. profesor kragovic magistar milanko  ume da rokne ponekad nebulozni broj podmreza tipa podeliti na 666 podmreza...
Sačuvana
1+1=3
Do you catch my drift Jah Jah?

kempes

  • Hero Member
  • *****
  • Van mreže Van mreže
  • Pol: Muški
  • Poruke: 572
  • Diplomirao
    • Pogledaj profil
    • WWW
Odg: Uputstvo za podmrežavanje (Subnet-ovanje)
« #6 poslato: фебруар 22, 2007, 09:14:01 »
Evo i resenih primera koji su ranije postavljeni na forum. Mislim da su 100% tacni. Zao mi je sto ih nisam dobio ranije, ali nadam se da ce vam i sada dosta koristiti.

Da ne bude zabune, ovi zadaci su resavani po principu da je prva podmreza kada su svi subnet biti 0, a poslednja kada su svi subnet biti 1! Od kolege sam dobio i potvrdu da profesor uglavnom ovako i trazi na ispitu.
« Poslednja izmena: фебруар 22, 2007, 09:18:21 kempes »
Sačuvana
www.malizvornik.info

Ako cyber sex nije sex, onda ni cyber criminal nije kriminal?