Zadnjih nekoliko decenija, svedoci smo rapidnog razvoja IT tehnologija. Ovaj segment tehnološkog prostora napredovao je toliko da je realno nemoguće da jedan IT profesionalac isprati sve inovacije na polju hardvera i softvera.Konstantni razvoj mrežnih tehnologija i uređaja omogućio nam je uživanje u svakodnevnim aktivnostima na internetu, pristup filmovima, video i audio sadržajima, muzici, internet pozivima i brojne druge pogodnosti. Uređaji  i protokoli koji sve ovo omogućuju, za prosečne korisnike nisu transparentni, ali za profesionalce iz oblasti računarskih mreža predstavljaju svakodnevni izazov.

Kada govorimo o mrežnim uređajima  svič (eng. switch) i ruter (eng. router) su nezaobilazne teme. Ova dva uređaja predstavljaju srž svake računarske mreže i arhitektura savremene mreže je gotovo nezamisliva bez njihove upotrebe. Kontinualno unapređivanje performansi ovih uređaja donelo je pregršt novih mogućnosti i inovacija na polju računarskih mreža. Stalni razvoj uzrokovao je i da svičevi postepeno poprime osobine rutera i zamene rutere u nekim segmentima. Postepeno  je ovakvom tipu sviča dodeljen naziv kojeg bi smo preveli kao “višenivoovski” svič (eng. multiLayer switch). Tako je nastao MultiLayer Switching (u daljem tekstu MLS) kao novi koncept u mrežnim tehnologijama.

OSI MODEL

OSI model

Pre bilo kakve priče o MLS-u korisno je podsetiti se OSI referentnog modela, a zatim i klasičnog svičing-a. OSI referentni model predstavlja arhitekturni standard u mrežnim sistemima. Ovaj slojeviti model objašnjava način komunikacije između mrežnih uređaja i definiše protokole za svaki sloj.

OSI model obuhvata sedam slojeva (eng. Layers) i to: fizički sloj (eng. Physical Layer), sloj podataka (eng. Data Link Layer), mrežni sloj (eng. Network Layer), transportni sloj (eng. Transport Layer), sloj sesije (eng. Session Layer), sloj prezentacije (eng. Presentation Layer) i aplikativni sloj (eng. Application Layer). Za svaki od sedam slojeva (u daljem tekstu se koriste oznake L1 do L7) definišu se određeni protokoli. Ovaj model je teorijski model. U praksi, koristi se TCP/IP model koji sadrži 4 nivoa (layer-a) i u kome podela između slojeva nije toliko striktno definisana.

L2 (KLASIČNI) SWITCHING

Klasičan svičing obavlja se na nivou L2. Za prosleđivanje paketa koristi se fizička tj. MAC adresa. Gotovo svi današnji svičevi se lako instaliraju i sposobni su da samostalno nauče i mapiraju MAC adrese mrežnih uređaja na odgovarajući fizički port odnosno interfejs. Broj interfejsa zavisi od modela i karakteristika sviča.

Učenje se odvija korišćenjem specijalnih tabela koje su zbog brzine najčešće hardverski implementirane (Application Specific Integrated Circuits ili skraćeno ASIC). Ove tabele se sreću pod nazivom CAM odnosno MAC tabele (Cisco koristi CAM terminologiju).

switch_razni_modeli

Različiti modeli svičeva

Kada paket stigne na određeni port, posmatra se izvorna i odredišna fizička (MAC) adresa. Izvorna adresa se koristi za učenje o uređajima na mreži, dok se odredišna koristi za prosleđivanje paketa. U tabeli se unosi zapis koji sadrži izvornu fizičku adresu i broj porta na koji je pristigao paket sa izvornom adresom. Odredišna adresa se koristi za određivanje porta na koji treba proslediti paket. U tabeli se zatim vrši pretraga koja adresa kom portu odgovara. Ako se pronađe mapiranje paket se prosleđuje na odgovarajući port.

Na ovaj način svičevi prosleđuju saobraćaj samo na odgovarajući port, za razliku od hub uređaja koji prosleđuju na svim portovima osim na port sa kog je stigao paket. Jedini slučaj kada će svič proslediti paket na sve portove je kada proces učenja nije završen, drugim rečima kada svič nema apsolutno nikakvu informaciju o odredišnoj adresi.

Na sledećem primeru može se videti kako klasičan svičing zaista radi: Host X i Y pripadaju segmentu A, dok host Q i host Z pripadaju segmentima B i C respektivno. U segmentu A nalazi se jedan hub uređaj na kome su mrežnim kablom povezani host X i host Y. Pretpostavimo da smo ovu mrežnu arhitekturu upravo obogatili jednim svičem i na njega mrežnim kablom povezali hub, hostove Q i Z.

switch-hub-mreza1

Prikazaćemo tri najčešća primera komunikacije:

Host X šalje paket hostu Z.

Paket stiže do hub uređaja. Hub u skladu sa svojim načinom rada, prosleđuje paket na svim portovima osim na portu gde je stigao paket. Kako su na istom segmentu, host Y prima taj paket, ali ga odbacuje jer analizirajući MAC adresu zaključuje da paket nije namenjen njemu. U isto vreme paket se prosleđuje i sviču. Svič analizira izvornu adresu, i u svojoj MAC tabeli koja je trenutno prazna, unosi prvi zapis u obliku <MAC address, port, timestamp>.

Na ovaj način svič zna na kom se interfejsu nalazi host X (port Fa0/1). Ovo predstavlja proces učenja (eng. learning). Da bi prosledio paket svič mora da analizira odredišnu adresu paketa. Kako trenutno svič zna samo za host X, paket se prosleđuje na svim interfejsima (eng. flooding), osim na interfejs sa kog je stigao. Paket primaju Q i Z, ali potvrđuje jedino host Z. Kada potvrdni paket stigne do sviča, uređaj saznaje na kom je segmentu host Z i dodaje novi zapis u MAC tabeli. Analizirajući tabelu svič sada zna na kom je portu host X i prosleđuje paket na taj port (nema flooding-a).

Ovo prosleđivanje paketa je glavna funkcija svič uređaja (eng. forwarding). Bitno je napomenuti da se zbog hardverske implementacije ovo prosleđivanje paketa odvija veoma brzo. Dalji saobraćaj sa hosta X ka hostu Z se odvija brzo i jednostavno bez flooding-a, koristeći samo forwarding.

switch-uci1

Host Y šalje paket hostu X.

Kada paket stigne do hub uređaja, ovaj prosleđuje kao i u prvom primeru na sve portove. Kako su hostovi X i  Y na istom mrežnom segmentu, paket stiže do hosta X i time je jednosmerna komunikacija završena. Međutim, svič to ne zna, jer i on u istom vremenskom trenutku dobija paket namenjen hostu X. Svič sada uči na kom se interfejsu nalazi host Y.

Analizirajući odredišnu adresu i zapise u tabeli za hostove X i Y, na osnovu istog interfejsa (Fa0/1) zaključuje da su X i Y na istom segmentu. Zbog toga, primljeni paket se odbacuje i nema prosleđivanja od strane sviča, tj. nema dupliranja paketa. Ovaj proces se naziva filtriranje (eng. filtering).

filtriranje-switch

Host X šalje paket hostu Z koji je zamenjen drugim uređajem ili više nije aktivan.

Ako ste se pitali koja je svrha polja timestamp u MAC tabeli, evo odgovora. Baš zbog ovakvih i sličnih promena na mreži, polje timestamp se koristi kako bi MAC tabela uvek bila ažurna. Uvek kada svič analizira izvornu adresu dolaznog paketa, ažurira se timestamp polje trenutnim vremenom ili kreira novi zapis ukoliko ne postoji u tabeli. Svič vremenom prolazi kroz sve zapise u tabeli i proverava timestamp polje.

Ako uređaj na mreži ne procesira pakete u određenom vremenskom intervalu onda se zapis za taj uređaj, u MAC tabeli posmatra kao nevažeći i uklanja iz tabele. Najčešće se ova tehnika ažuriranja, u engleskoj terminologiji sreće pod nazivom aging, a interval posle kog se zapisi odbacuju kao zastareli se naziva mac-table-aging-time. Ovaj termin se sreće kod programibilnih svičeva. Još jedan bitan razlog zašto se koristi ova tehnika je ograničena memorija sviča i broj zapisa u tabeli. Na ovaj način memorija sviča se optimizira.

Ako host X pokuša da komunicira sa hostom Z koji nije na mreži, tj. zapis koji mapira adresu hosta Z u odgovarajući port je izbrisan iz tabele, onda se radi klasičan flooding kao u prvom primeru. Na primljeni paket niko neće odgovoriti tako da će X posle nekog vremena zaključiti da uređaj više ne postoji na mreži.

hostvanmreze-switch

Što se tiče tehnika za prosleđivanje paketa, u svičevima mogu da se nađu dve najpoznatije: Cut-Through i Store-and-Forward. Kod prve tehnike, zbog brzine, paket se prosleđuje odmah nakon analiziranja odredišne adrese, dok se kod druge paket analizira u celini i prosleđuje jedino ako nema grešaka.

Generalno gledano, korišćenjem prve tehnike dobija se na brzini, dok korišćenjem druge tehnike smanjuje se kolizija i propagiranje paketa s greškom se ovde zaustavlja. Danas je razlika između ove dve tehnike u vremenu prosleđivanja postala zanemarljiva, tako da se Store-and-Forward tehnika nameće kao bolje rešenje.

RUTIRANJE

Kao što svičevi marljivo rade na nivou L2 tako su ruteri zaduženi za saobraćaj na višim nivoima, posebno na nivou L3. Najčešći protokoli u komunikaciji na L3 nivou su IPv4, IPv6, IPX i IPSec. Naravno danas je najzastupljeniji IPv4 protokol sa svojim adresama dužine 32 bita. Zbog nedostatka IP adresa, pitanje trenutka je kada će IPv6 sa svojim IP adresama od 64 bita postati svakodnevnica.

Glavna funkcija rutera je rutiranje paketa između mreža. Ruteri za to koriste tabele za rutiranje i jedan ili kombinaciju više protokola za rutiranje. O načinu rutiranja i protokolima za rutiranje biće posvećen poseban članak na sajtu it-modul. Za razliku od svičeva gde su MAC tabele implementirane hardverski, kod rutera, tabele za rutiranje su implementirane softverski. Sam proces analiziranja IP adresa, provera paketa i rutiranje zahteva znatno duži vremenski period u odnosu na svičeve gde se prosleđivanje paketa odvija skoro neprimetno. Zato je ruterima, iako imaju mnogo prednosti, glavna mana – vreme potrebno za procesiranje paketa. Danas, razvojem novih tehnologija ovo postaje realan problem.

ruteri_razni

Razni ruteri

 

MULTILAYER SWITCHING

Do pre nekoliko godina, postojala je jasna granica između svičeva i rutera. Svičevi su radili na nivou L2, analizirali MAC adresu i nisu imali pojma šta je to IP adresa. Nasuprot njima ruteri su radili i još uvek rade na višim nivoima, analiziraju IP adresu i koriste protokole za rutiranje kako bi uspešno dopremili paket na željenu IP adresu u mrežnom svetu. Međutim, sa razvojem novih tehnologija raste i potreba za bržom propagacijom paketa između mreža.

Trenutna implementacija rutera i standardi ne omogućavaju potrebne performanse. Potrebna je znatno brža komunikacija koja se može porediti sa brzinom rada svič uređaja. Iz ovog razloga, zadnjih godina, veliki broj proizvođača briše granicu između svičeva i rutera. Tako je svetlost dana ugledao novi uređaj nazvan multinivoovski svič (eng. multilayer switch), a samim tim rođen je i novi koncept multilayer switching ( u daljem tekstu MLS).

MLS predstavlja koncept u kome je objedinjen klasičan svičing i rutiranje. Svič sa ovom karakteristikom radi kao običan (L2) svič, ali ima mogućnosti da u zavisnosti od podešavanja radi i na višim nivoima, najčešće na nivou L3 za potrebe rutiranja paketa. Prednost ovog koncepta je što se zadržava brzina žice, jer su tabele za rutiranje najčešće hardverski implementirane. Zato se ovi svičevi ugrađuju u mrežama gde je potrebna brza propagacija paketa. Slično ruterima i ovde se koriste osnovni protokoli za rutiranje tipa: RIP, RIPv2, OSPF, EIGRP i ostali.

Tehnike za implementaciju MLS koncepta su od proizvođača do proizvođača, uglavnom slične. U daljem tekstu data je uprošćena ilustracija kako to radi gigant u proizvodnji mrežne opreme na svetu, kompanija Cisco.

Komponente

Da bi MLS bio moguć neophodne su sledeće komponente:

  • MultiLayer Switching – Switching Engine (u daljem tekstu MLS-SE) je svič koji podržava MLS. Neophodna je kartica koja predstavlja deo hardvera u sviču koji obavlja forwarding paketa, održava keš tabelu i komunicira sa MLS ruterom. Ovu karticu Cisco naziva NetFlow Feature Card (u daljem tekstu NFFC).
  • MultiLayer Switching – Route Processor (u daljem tekstu MLS-RP) je eksterni ruter ili ugrađeni modul u sviču koji ima funkciju rutera. MLS-RP služi da rutira pakete korišćenjem standardnih protokola (RIP, RIPv2, OSPF, EIGRP itd.), primeni pravila ACL-a (Access Controll List – kontrola pristupa) i još neke dodatne funkcionalnosti. Generalno, varijanta ugrađenog modula koji glumi funkciju rutera je bolje rešenje. Ovom varijantom se dobija na brzini, jer nema prosleđivanja paketa do eksternog rutera, nego se sve završava u sviču. Međutim, dobitak na ovoj brzini je mali. Za ogromno povećanje brzine je zaslužna NFFC i MLS proces o kome će biti vise reči kasnije.
  • MultiLayer Switching Protocol (u daljem tekstu MLSP) je MLS protokol kojeg izvršava MLS-RP. Ovaj protokol se koristi u komunikaciji između MLS-RP i MLS-SE, tačnije između MLS-RP i NFFC, jer NFFC pripada MLS-SE.

Način rada

Razmotrimo trivijalni MLS primer u mreži sa dva hosta koja su na dva različita VLAN-a i svičem koji ima ugrađeni MLS-RP modul. Inicijalna keš tabela je u trenutku uključivanja sviča naravno prazna. Generalna zamisao je da se u procesu komunikacije između dva hosta na različitim mrežama, prvi paket rutira, a onda se svi ostali paketi u tom protoku podataka prosleđuju  L3 nivou sviča.

Ovo je realni slučaj jer retko kada je komunikacija sadržana u samo jednom paketu. Ovde se pod protokom (eng. flow) podrazumeva komunikacija između dva hosta na portovima koji se ne menjaju. Tako na primer nije isti protok ukoliko dva hosta komuniciraju preko HTTP (port 80) protokola i ako komuniciraju preko FTP (port 21) protokola. Za svaki od ova dva protokola se pravi poseban zapis u MLS keš tabeli.

U trenutku kada je MLS-SE aktivan na mreži MLSP obaveštava svič o MAC adresi MLS-RP uređaja i brodkastuje ovu adresu do svih svičeva na mreži ukoliko postoje. MLS-RP kontroliše rutiranje kao i ACL (Access Lists). Kada MLS-SE dobije hello paket od MLSP, svič se programira sa MAC adresom MLS-RP uređaja. Ovom adresom se menja izvorna MAC adresa u pristiglom paketu i prosleđuje dalje. Tako krajnji uređaj ne zna da je na mreži svič umesto rutera.

mlsarhitektura

Pretpostavimo da host X inicira komunikaciju sa hostom Y. Kada host X pošalje prvi paket do MLS-SE, on se prosleđuje MLS-RP uređaju. MLS-SE prepoznaje ovaj paket kao paket kandidat (eng. candidate). U ovom trenutku počinje proces učenja. MLS-SE analizira izvorišnu i odredišnu IP i MAC adresu kao i broj porta i prosleđuje paket do MLS-RP. Ovim je u MLS kešu delimično kreiran zapis. MLS-RP prima paket i traži poklapanje u tabeli za rutiranje kako bi znao kome da prosledi paket. MLS-RP takođe proverava ACL i CoS (Class of service) ukoliko postoje.

Ukoliko je dozvoljeno proslediti paket, onda MLS-RP u sledećem koraku briše postojeće MAC adrese iz paketa i dodaje odredišnu MAC adresu za host Y i svoju MAC adresu  kao izvornu adresu. Ovako izmenjen paket se vraća nazad do MLS-SE. Sada MLS-SE prepoznaje MAC adresu MLS-RP uređaja i posmatra ovaj paket kao paket omogućilac (eng. enabler). Na ovaj način se formira pun zapis u MLS keš tabeli.

msl_iniciranje_komunikacije

Nakon ovoga svi naredni paketi koji se šalju sa hosta X ka hostu Y i odgovaraju ovom protoku neće biti rutirani od strane MLS-RP uređaja nego će biti odmah prosleđivani brzinom sviča. Pre prosleđivanja u svim paketima se menjaju MAC adrese, tj. kao odredišna se postavlja MAC adresa hosta Y, dok se kao izvorna postavlja MAC adresa MLS-RP uređaja. Ovo radi MLS-SE, tačnije NFFC hardver. Na ovaj način promena u arhitekturi mreže postaje transparentna za krajnje uređaje, dok se u isto vreme mnogo dobija na brzini, jer nema klasičnog rutiranja i kašnjenja paketa.

Drugim rečima hostovi X i Y neće zahtevati promene u konfiguraciji niti videti razlike (osim brzine) bilo da su njihove mreže spojene klasičnim ruterom ili MLS svičem. Treba napomenuti da je ova komunikacija jednosmerna i zapis u MLS keš tabeli važi samo za jedan smer komunikacije tj. od hosta X ka hostu Y. Kada Y odgovori na iniciranu komunikaciju, process se ponavlja, ali u suprotnom smeru. U MLS keš tabeli se na isti način kao i u prethodnom slučaju pravi novi zapis, s tim što je komunikacija obrnuta.

mls_switch_komunikacija_u_suprotnom_smeru

MLS dozvoljava konfigurisanje standardnih i proširenih ACL-a bez ugrožavanja brzine. Kada se jednom konfigurišu na MLS-RP onda su vidljive od strane MLS-SE i izvršavaju se velikom brzinom. Uzmimo slučaj da postoji ACL koja brani protok podataka od hosta X ka hostu Y. Kada paket kandidat pristigne u MLS-RP, primenjuje se ACL i ovaj paket se odbacuje. Posledica ovog je da paket omogućilac nikad neće stići do MLS-SE i formirati punu putanju u MLS keš tabeli.


PREDNOSTI I NEDOSTACI MLS-a

Za MLS se može reći da ima mnogo prednosti, a malo mana. Neke od najbitnijih su:

  • Brzina – ovo je najveća, ujedno i najbitnija prednost pa čak i razlog zbog kojeg MLS postoji. Brzina je postignuta hardverskom implementacijom svih bitnijih funkcija. NFFC igra glavnu ulogu u ovome.
  • Transparentnost – krajnji uređaji ne zahtevaju nikakvu konfiguraciju. Mrežna struktura se ne menja.  Dodanta pogodnost je što MLS koristi DHCP.
  • Manja investicija – ako već postojeći svič podržava MLS, mogu se ugraditi kartice (na primer NFFC) koje omogućavaju MLS, kao i MLS-RP u obliku modula. Druga varijanta je ugradnja eksternog rutera. Generalno gledano, više se isplate od rutera.
  • Podržani standardi – podržani su standardni protokoli za rutiranje tipa OSPF i RIP. Ovo omogućava da se MLS lako instalira u mreži između različitih provajdera.
  • Brza konvergencija – u slučaju promene mrežne topologije ili greške kod ruta, hardverski se veoma brzo ispravljaju nevalidni zapisi u keš tabeli
  • Lako se koristi – automatski konfiguriše MLS keš. Takođe, plug-and-play dizajn eliminiše potrebu za učenjem novih tehnologija od strane korisnika
  • ACL – omogućava dozvolu i zabranu saobraćaja između hostova na različitim podmrežama. Iz razloga što MLS u toku rada posmatra i portove, liste mogu biti konfigurisane korišćenjem IP adresa i portova.

Postoji još mnogo prednosti koje trenutno nije značajno nabrajati. Neki od bitnijih nedostaka su da multinivovski svičevi ne podržavaju toliko funkcija kao što je to slučaj kod rutera. Drugi nedostatak je što još uvek ne podržavaju sve protokole za rutiranje. Osim toga, multinivovski svičevi trenutno ne podržavaju sve WAN interfejse.


ZAKLJUČAK

Iako postoje realne šanse za korišćenje MLS koncepta, veći deo stručne populacije je još uvek skeptičan po tom pitanju. Neki proizvođači jednostavno ne žele da promovišu MLS iz razloga što imaju stabilne prodajne linije rutera. Kako su danas ruteri u ogromnom broju zastupljeni u svim mrežama, veoma je teško zameniti multinivovskim svičevima u nekom kratkom vremenskom periodu. Bilo kako bilo, MLS obećava dajući realne rezultate i velike napretke u brzini, i samo je pitanje trenutka kada će ruteri otići u zaborav ili u neki drugačiji oblik.


Izvori podataka
U tekstu su korišćene definicije i/ili tehnički podaci iz sledećih izvora:
Wikipedia – Multilayer switch, http://en.wikipedia.org/wiki/Multilayer_switch, 13.09.2012,
Cisco.com – How Lan Switches Work,
http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a00800a7af3.shtml, 19.09.2012,
Technick.net – Network Switching Tutorial,
http://www.technick.net/public/code/cp_dpage.php?aiocp_dp=guide_networking_switching, 13.09.2012,
Support.microsoft.com – The OSI Model’s Seven Layers Defined and Functions Explained,
http://support.microsoft.com/kb/103884, 13.09.2012,
Cisco.com – Cisco IOS Release 12.0 Switching Services Configuration Guide,
http://www.cisco.com/en/US/docs/ios/12_0/switch/configuration/guide/xcmls.html, 13.09.2012,
Techrepublic.com – Multilayer switching: Switching at the speed of wire,
http://www.techrepublic.com/article/multilayer-switching-switching-at-the-speed-of-wire/5033818, 13.09.2012,
Netcraftsmen.net – Switching: MultiLayer Switching,
http://www.netcraftsmen.net/resources/archived-articles/469.html, 13.09.2012,
Cisco.com – Multilayer Switching Overview,
http://www.cisco.com/en/US/docs/ios/lanswitch/configuration/guide/lsw_ml_sw_over.html, 13.09.2012,
Routeralley.com – Multilayer Switching (pdf),
http://www.routeralley.com/ra/docs/multilayer_switching.pdf, 13.09.2012,
Cisco.com – Cisco IOS LAN Switching Configuration Guide (pdf),
http://www.cisco.com/en/US/docs/ios/lanswitch/configuration/guide/15_0/lsw_15_0_book.pdf, 13.09.2012

Tekst je preuzet sa ugašenog bloga IT modul i originalni autor ovog teksta je Saša Kostadinović. Kompjuteraš IT blog će nastaviti da objavljuje tekstove sa tog bloga kako riznica znanja sa te lokacije ne bi otišla u zaborav.