Switchevi

U prethodnom postu pisao sam nesto o 7 slojeva koji omogucavaju komunikaciju izmedju dva hosta. Sada cemo pricati o uredjaju koji radi na drugom sloju OSI modela, Data Link sloju, a to je Switch. Switch je komunikacijski mrezni uredjaj koji pamti MAC adrese koji se nalaze u njegovoj tabeli, i na osnovu portova na kojima su uredjaji spojeni, omogucava slanje podataka od jednog uredjaja do drugog.
Switch radi u drugom sloju OSI modela, Data Link sloju. Prije nego krenemo dalje, jos samo da napomenem, da bi se izvrsila komunikacija izmedju dva racunara u mrezi, rekli smo da se paketi podataka sortiraju i pripremaju za putovanje od hosta A do hosta B. Da bi to radilo, spominjali smo protokole tj. pravila. Podaci u aplikacijskom sloju se jednostavno receno imenuju kao "data", nakon tog sloja data se prosljedjuje nize u OSI modelu do Transport lejera (sloja), koji pridodaje informacije na koji nacin zelimo poslati taj data paket. U tom slucaju ponudjena su samo dva protokola: TCP i UDP, o njima cemo nesto kasnije razgovarati. Recimo da se paket salje pomocu TCP protokola sto znaci da se na nas osnovni data paket pridodaju svojstva TCP protokola. Nakon TCP informacija, data silazi na Network sloj gdje prima podatke o nasoj IP adresi, te na Data Link sloj gdje prima nasu MAC adresu i nakon toga spreman je da se posalje preko komunikacijskom medijuma (Cat5 npr.).

Ove procese najbolje objasnjava slika ispod, koja prilicno jednostavno govori gdje sta pripada i koji dio se nalazi na paketu. Dakle, svaki OSI sloj radi svoj posao, i ubacuje svoj dio posla koji mora obaviti za dati aplikacijski paket. Na kraju, sve se pakuje i odlazi elektronskim putem (koristeci Ethernet kablove), radiofrekvencijom (Wi-Fi) ili pak svjetlosnim putem (koristeci fiber opticki kabel). U sva tri slucaja, ovakvi paketi sa slike ispod, putuju do destinacijskog uredjaja na kome se otpakuje svaki dio ali u suprotnom smjeru. Tako bi destinacijski uredjaj prvo otpakovao Data Link sloj, zatim Network sloj, Transport pa u konacnici Application sloj.Na slici se ne spominje Session i Presentation sloj jer slika predstavlja TCP/IP protokol suite, model protokola koji se koristi u sadasnjem vremenu.


Sada kada smo objasnili kako paket putuje, znamo da smo spominjali da u Data Link sloju, paket dobija informacije o nasoj MAC adresi. Switch radi na ovom sloju i radi sa MAC adresama.
Kada kupimo switch u radnji, fabricki, neotpakovan komad hardwarea, on dolazi bez ikakvih konfiguracija, kada bi pristupili operativnom sistemu switcha, i upalili ga, otvorio bi nam se samo prazan CLI i kursor za kucanje. Posao mreznog administratora bi bio da konfigurise taj switch putem komandi za naseg poslodavca, omoguciti taj switch da radi svoj posao, dati mu zivot. Za primjer, Cisco Switch posjeduje IOS (Internetwork Operating System), operativni sistem napravljen samo za cisco mrezne uredjaje, a da bi ga konfigurisali, moramo znati IOS i njegove komande. Cisco ima razne modele switcheva pa ne bi bilo lose da znate koji su to modeli jer na razgovoru za posao, od vas se trazi da znate prakticne informacije o ovom uredjaju, ne samo njegovu definiciju cemu sluzi. 

Inace, u svijetu switch proizvodjaca, najzastupljeniji su sledeci vendori (proizvodjaci): Juniper, NetGear, Cisco, Brocade, i HP.

Pricati cemo o Cisco modelima dok za ostale vendore mozete slobodno guglati. Cisco switchevi se dijele na 4 kategorije: 

Access switches:
- 4500e
- 2950 L2 switch (Data Link switch)
- 2960 L2 switch
(Data Link switch)
- 3550 L3 switch
(Data Link switch) 
- 3560 L3 switch (Data Link and Network switch)
- 3750 L3 switch
(Data Link and Network switch)

Core and Distribution switches:
- 4500
- 6500
- 3850 (Fiber ports)


Data Center Switches:
- 2000
- 3000
- 5000
- 6000
- 7000
- 9000 


Nexus switches:
- 3000 serije
- 7000 serije
- 9000 serije

Jos da kazemo da postoje verzije IOS a to su: 12.0, 12.1, 12.2, 12.3, 12.4 i 15.0 


 Zamislimo sledeci scenarij. Vlasnik male kompanije od 3 departmenta (rukovodstvo, finansije, i prodaja), posjeduje jednospratnu prostoriju od 3 odvojene prostorije koje zeli povezati. Vlasnik zeli omoguciti besprijekornu transakciju podataka izmedju ova tri departmenta kako bi njegovi radnici mogli slati resurse jedni drugima. Kako bi omogucili ovako nesto, potreban nam je, pored rutera koji je povezan sa vanjskim svijetom, tj. do ISP-a, potrebni su nam switchevi. Switch postavljamo u svaku od ovih prostorija, i na svaki switch povezujemo po, recimo, 10 racunara koje koriste radnici. Kao sto smo rekli, tek kupljeni switch nema pojma sta se desava oko njega, i nakon njegovog prvog ukljucivanja, on ima zadatak da prikupi sto vise informacija o portovima koji su zauzeti, tj. mora znati sve o racunaru na koji je spojen. Recimo da smo na prvi switch, spojili deset racunara na prvih deset portova, iako se switchevi prodaju od po 12, 24, 48 i vise portova. Rekli smo da je switch inteligentan, i na osnovu toga, on mora znati sta uraditi sa ovim racunarima i kako iz njih izvuci potrebne informacije, a to su MAC adrese od svakog od tih racunara, i sacuvati ih u svoju radnu memoriju RAM. Da bi to uspio, nakon prvog paljenja switcha, on salje broadcast MAC adresu svim racunarima. Onaj racunar koji primi MAC adresu od switcha, a koja se nalazi na njegovoj mreznoj kartici, racunar odgovara switchu te ga switch biljezi u svojoj tabeli. Svi ostali racunari, koji su primili odredjenu MAC adresu, a da to nije njihova, ne odgovaraju na zahtjev.


 

Na kraju, kada sva tri switcha prikupe sve informacije na kojem portu se nalazi koji racunar, to izgleda kao na slici iznad. Naravno, schema ovog prikaza zeli pojednostavniti proces dok se u stvarnosti, ovakva tabela provjerava komandom show mac adress-table u IOS na switch uredjaju


 

 Rekli smo da switch ima svoju radnu memoriju, RAM, koja moze biti 2GB, 4GB, 8GB i tako dalje. Medjutim, kao sto znamo, RAM memorija nije trajna, ne cuva podatke kao HDD, stoga, ukoliko se switch ugasi, on ponovo mora provjeravati svaki racunar. To nije zahtjevan posao, switch moze provjeriti 48 portova, kreirati tabelu za par sekundi, ali bitno je znati da tabela nije trajna. Takodjer, svakih 5 minuta (300 sekundi), MAC tabela se radi iznova. Moguce je uspostaviti dynamic ili static MAC adresu na switchu pomocu konfiguracije istog. Staticka MAC adresa ostaje i nakon 5 minuta, dok se dinamicka MAC adresa brise i provjerava opet te se updejtuje tabela unutar switcha. 

Jos jedna bitna stvar kod switcheva jeste collision domain. Zamislimo saobracajnicu od dvije trake u kojoj automobili idu u oba smjera od jednog mjesta do drugog, svaki dan, konstantno. Mozemo zamisliti da su automobili podaci dok su dva grada na krajevima saobracajnice hostovi. Saobracajnica je kabel kroz kojeg putuju podaci. 
Switch ima jednu pametnu stvar a to je da neomogucava sudar automobila dok prenose informacije jer automobili idu u dva smijera (od racunara A do racunara B i obratno), krecu se u krug. Ovakva saobracajnica predstavlja full duplex prenos podataka gdje se podaci mogu kretati u oba smjera u isto vrijeme. 
Nacin na koji switch radi jeste taj da jedan veliki collision domain jeste npr. ulaz u veliki grad, cetiri trake u jednom smjeru, i na tom mjestu moguc je zastoj u saobracaju dok ako podijelimo jedan veliki collision domain u npr deset manjih, onda ako se desi zastoj u prometu, desava se u samo jednom dijelu, a ne na svim, sto omogucava protok podataka kroz medijume. 



Za jos lakse shvatanje collision domaina jeste primjer huba i switcha. Hub je jedan veliki collision domain, svi portovi su "spojeni" i rade kao jedan, podaci se salju kroz sve portove u isto vrijeme, dok sa druge strane, kada pricamo o switchu, svaki port na switchu povezan sa portom na racunaru, je jedan zaseban collision domain. Slika iznad objasnjava politiku collision domaina (CD), gdje roza boja predstavlja jedan CD.  Kao sto smo rekli, hub je jedan CD jer salje podatke svima u isto vrijeme, dok je svaka veza sa switchom zaseban CD sto omogucava bolji protok podataka.