Razlika između klasnog i besklasnog adresiranja je u tome što je naša percepcija klasne adrese potpuno decimalna – decimalno vidimo prvi oktet i odmah znamo kojoj klasi pripada, pri čemu tačno znamo koji je deo Network ID-a koji je deo Host ID adrese. Kod besklasnog adresiranja naša percepcija adrese je binarna, dok nam maska pruža mnogo veći broj opcija u pogledu odabira Network ID-a i broja računara.
Kod besklasnog adresiranja broj raspoloživih računara zavisi od relativno proizvoljne maske. Maska sa jednim bitom označava sleš 1 mrežu. Praktično, to je bilo koja mreža sa maskom 1. Koji bi to decimalni broj bio za masku? 128.0.0.0 odnosno u binarnom obliku bi to izgledalo ovako: 10000000.00000000.00000000.00000000. Broj hostova (računara) u datoj mreži se može odrediti tako što se na osnovu preostalog broja nula u maski primeni pravilo 231 - 2. Tačnije, 32 nule je maksimum od koga ćemo oduzeti jednu nulu jer je na njenom mestu jedna jedinica, što nas dovodi do 31 nule. Od toga se oduzimaju još dve adrese, odnosno početna i krajnja adresa mreže. Na taj način dolazimo do postavke: 231 – 2, što predstavlja ukupan mogući broj adresa u datoj mreži. Ovo pravilo se primenjuje na sve ostale sleš mreže, s tim što se menja broj raspoloživih nula.
Kada govorimo o subnetingu, govorimo o tome kako se vrši raspodela adresnog prostora. Subneting je ustvari particionisanje raspoloživog adresnog opsega na manje celine. Najčešće ga primenjuju internet provajderi i velike firme koje imaju nekoliko hiljada računara. Princip subnetinga podrazumeva polazak od nekog Network ID-a koji onda u zavisnosti od zahteva delimo na više manjih podmreža, koji su ustvari fizički subnetovi. Na primer, poći ćemo od mreže:190.15.0.0/16. Ovo je sleš 16 mreža. Dati adresni prostor moramo izdeliti na više manjih fizičkih subnetova pri čemu se mora znati početna i krajnja adresa svakog subneta. Sledeći bitan parametar je broj neophodnih računara po subnetu. Shodno tome, nama je recimo neophodno 22 računara po subnetu. Moram napomenuti da se vrlo retko postiže tačan broj zahtevanih računara ali je moguće postići prvu veću cifru od zahtevane.
Drugi bitan zahtev je mogući broj subnetova. Prvi i drugi zahtev su u međusobnoj vezi i ne mogu biti konstruisani tako da se kose međusobno. Maksimalni broj subnetova zavisi od maksimalnog broja računara.Tehnika izračunavanja adresa je vrlo slična u oba slučaja. Da bismo počeli sa izračunavanjem, uvešćemo dodatne oznake kao što je na primer zahtevani broj hostova. Recimo oznaka mzh . U našem primeru mzh je 22, odnosno mzh = 22. U procesu subnetiranja moramo pronaći koji je tačan broj hostova koji se može postići, koliki je broj subnetova koje ćemo u toj situaciji imati i koji su adresni opsezi za svaki subnet? Ove tri komponente su cilj subnetinga. Sledeća oznaka koju uvodimo je broj hostova. Recimo oznaka mh . Pošto se subnet maska uvećava sa brojem bitova moramo uvesti još neke dodatne parametre. Oznaka n0 predstavlja broj nula u maski a oznaka n1 označava broj jedinica u maski. Neophodna su jos dva parametra, i to nd1 , što predstavlja broj dodatih jedinica maske, i no1 koji predstavlja originalni broj bitova maske. Iz dosadašnjeg bilo bi:
Mogući broj adresa, odnosno, mh = ?
Formula je sledeća:
mh = 2n0 – 2
pa iz toga proizilazi da je,
odatle dobijamo:
2n0 – 2 > 22
2n0 > 24
dobijamo beskonačno mnogo rešenja ali nama treba prvi veći rezultat! Na osnovu toga rešenje bi izgledalo:
21 > 24 (nije tačno rešenje)
22 > 24 (nije tačno rešenje)
23 > 24 (nije tačno rešenje)
24 > 24 (nije tačno rešenje)
25 > 24 (tačno rešenje jer je prvi veći rezultat) i na osnovu toga dobijamo da je:
n0 > 5 (rezultat)
Ovim rezultatom smo praktično dobili novu masku. Nova maska je 32 – 5 koliki je broj nula a ostalo su jedinice. A koliki je broj pridodatih jedinica? Primenićemo sledeću formulu:
nd1 = 32 – n0 – n01 pri čemu je,
nd1 = 32 – 5 -16
nd1 = 11 - broj pridodatih jedinica na masku
Predstavlja broj kombinacija koje reprezentuje broj bita dodatih na masku. Oni su ti koji određuju subnet ID - kao treći podatak o adresi. Mogući broj subnetova ćemo označiti sa ns. Prema tome, mogući broj subnetova računamo prema formuli:
ns = 2nd1 - 2
gde je broj 2 pod znakom pitanja. I ovde se takođe moraju odbaciti prvi i poslednji subnet, kao što se inače odbacuje prva i poslednja adresa, ali postoje situacije u praksi kada to nije neophodno; za potrebe polaganja testova ili ispita potrebno je uvek odbaciti prvi i poslednji subnet. Ruting protokoli su ti koji mogu praviti probleme sa prvim i poslednjim subnetom. Na primer: RIP v1 ruting protokol neće korektno rutirati prvi i poslednji subnet zato što je ušao u upotrebu pre CIDR standarda. Noviji protokoli, RIP v2, OSPF, BGP i ostali, podržavaju korektno rutiranje prvog i poslednjeg subneta. Iz gornje formule proizilazi da je mogući broj subnetova u našem primeru:
ns = 211 - 2
ns = 2046 - je mogući broj subnetova
Da zaključimo, od jedne mreže, u našem primeru B klase, koja ima raspoloživ adresni prostor od 65534 adresa ne može se postići samo sa jednim subnetom. Limit broja računara na jednom subnetu je obično određen kapacitetom rutera, što je otprilike oko 200 računara. Šta više, Ethernet standard ne dozvoljava više od 1024 računara na jednom segmentu ako se koriste UTP kablovi. Pri korišćenju koaksijalnih kablova broj je mnogo manji. Važno je napomenuti da dobijeni subnetovi mogu i dalje da se dele ali se primenjuje varijabilni subneting standard. To je standard u kome nemaju svi subnetovi podjednake veličine.
Superneting je stvar obrnuta od subnetinga, odnosno, umesto da se segmentira adresni prostor cilj je da se što više subnetova reprezentira sa jednim Network ID-em. Ideja supernetinga jeste da se smanji broj ruta na backbone internet ruterima, time što se više manjih mreža reprezentuje sa jednim Network ID-em. Nakon primene superneting standarda ruteri ne moraju da znaju podatke o svakom subnetu na Internetu jer moraju znati samo rutu do Network ID-a mreže koji ih reprezentuje. Na primer imamo sledeće subnetove:
- 195.16.0.0/24
- 195.16.1.0/24
- 195.16.2.0/24
- 195.16.3.0/24
- 195.16.4.0/24
................
................
- 195.16.255.0/24
Ideja je da se svi ovi subnetovi predstave jednim zajedničkim ID-em što je u primeru adresa 195.16.0.0/16. Na ovaj način se mnogo smanjuje broj ruta za održavanje u memoriji backbone internet rutera. Kako odrediti zajednički ID? Objasnićemo na sledećem primeru. Imamo dve adrese subnetova i prvo što moramo uraditi jeste da ih konvertujemo u binarni niz što bi izgledalo ovako:
195.16.5.0/24
195.16.6.0/24
konverzijom u binarni niz dobijamo:
na ovaj način smo došli do adrese koja reprezentuje zajednički ID - 195.16.4.0
Korišćenjem supernetinga je postignuta osnovna ideja o smanjenju broja ruta na Internetu koje moraju biti zapamćene u memoriji backbone internet rutera.
Kroz predhodni tekst smo naučili kako se radi podela mreže na njene manje segmente odnosno subnetiranje radi boljeg iskorišćenja adresnog opsega i optimizacije same mreže, pri tome poštujući važeća međunardna RFC pravila. Između ostalih jedno od najbitnijih RFC pravila je RFC950 pravilo koje detaljno opisuje način primene standarda. Po datom standardu preporuka je da se prvi (binarno sve nule) i poslednji (binarno sve jedinice) subnet ne koriste za dodelu fizičkim podmrežama jer su rezervisani za adrese podmreža i broadcast adrese. Zbog sve većih zahteva za dodelom iz opsega dostupnih adresa za javnu dodelu CISCO kompanija sa svojim pod-kompanijama u svoju mrežnu opremu i uređaje uvodi podršku za korišćenje i ova dva standardom izuzeta subneta pri čemu Subnet Zero se odnosi na subnet sa nulama dok je All-Ones subnet sa jedinicama. Moram napomenuti da nije u pitanju nikakva nova tehnologija jer je opcija postojala od prvog trenutka uvođenja u upotrebu CIDR standarda samo je bilo pitanje da li će proizvođači mrežne opreme to koristiti ili ne.
Da bi se mreža subnetirala na ovaj način svi činioci mreže moraju podržavati datu opciju što nije čest slučaj u praksi. Najčešće je koriste internet provajderi da bi imali veći opseg raspoloživih podmreža za dodelu klijentima. Kada su lokalne mreže u pitanju, a to je fokus Sistemske Administracije, nema potrebe za korišćenjem date opcije jer postojeći način subnetiranja podržava više nego dovoljan broj podmreža za bilo koji broj zahtevanih hostova po subnetu.