Content switch-evi ( poznati i kao aplikativni switch-evi) su klasa mrežnih uređaja koja sve više pronalazi primenu u savremenoj infrastrukturi.
Dobro poznati termin „switch“ do sada se vezivao za uređaje koji rade na drugom layeru OSI modela i jednostavno su dolazne frejmove prosleđivali ka izlaznom portu na osnovu MAC adresa. Contenet switch za razliku od ovih „običnih“ vrši provere malo dublje, od 4 do 7 layera, i može se iskonfigurisati da odrađuje razne „pametne“ stvari na osnovu onoga što prepozna ili pronađe u paketu.
Vendori uređaja? Cisco naravno, sa svojim CSM ( content switching module) and ACE ( app control engine) modulima moguće je ugraditi u switcheve serije 6500 i rutere serije 7600. Takođe Cisco ima i posvećeni uređaj – ACE 4710. Odlične uređaje predstavila je i kompanija F5 Networks. BigIP LTM(local traffic manager) i GTM ( global traffic manager).
Šta su u stvari ovi uređaji? Pa, u principu, računar koji radi na nekom „običnom “ OS-u ( BigIP LTM radi na linux-u) sa nešto dodatnog hardware-a kojim obrađuje i manipuliše paketima. Content switching aplikacija radi pod pomenutim OS-om, i upravlja kako hardware-om tako i logčkim procesima koji se odnose na samu dubinsku kontrolu saobraćaja.
Šta ovi uređaji mogu? Najlakše je dati objašnjenje putem primera:
U ovakvnom okruženju vidi se da treba uraditi nekoliko stvari.
Prvo i najbitnije je alocirati jednu adresu koju će korisnici spolja „gađati“, umesto publikovati adrese svih servera. Drugi zadatak je oblikovati dolazni saobraćaj tako da se ravnomerno raspoređuje na servere, a da se pri tom ne naruši granica između „unutrašnje“ i „spoljne“ mreže. Poslednji zadatak je realizacija „postojanosti“, tj da se na korisnike ne odrazi scenario u kom jedan od servera ima status nedostupnog ( iz bilo kog razloga).
Na prethodnoj skici se vidi da content switch ne postoji. Implementacija jednog CSW-a bi podrazumevala „umetanje“ na relaciji router DataCentar, tj on bi se našao između.
Šta se sve dobija instalacijom CSW-a?
Virtuelni serveri – najjednostavnija stvar. Defeinisanjem virtuelnih servera dobijate kontrolu šta CSW „nudi“ spoljnom svetu ( portove koje opslužuje, protokole, access liste i gomilu drugih sitnih podešavanja). Jedan od dobrih primera je secure konekcija. Zašto da se svaki od servera „bavi“ SSL-om, kada sve može da odradi CSW? Upravljanje klijentskim i serverskim sertifikatima, raskidi sesija, timeout-i,ograničavanje broja sesija su samo neke od opcija koje CSW može da odradi. Ovim se smanjuje opterećenje samih servera, dobija se centralizovano upravljanje itd itd…
Load Balance – Kada se korisnici „upoznaju“ sa virtuelnim serverom, treba pripremiti teren iza. Kreiranje pool-a resursa i učlanjivanje servera u ovaj pool. U ovom delu definišete principe kako će se serveri „boriti“ sa nadolazećim zahtevima kao i šta će se desiti ako se desi neka nepredviđena situacija. Ova druga varijanta je posebno bitna, jer ona faktički preuzima „fail-over“ rolu. Šta će se desiti ako jedan server ispadne? Da li će se saobraćaj i dalje prihvatati od strane ostalih servera ili će se obustaviti prihvatanje novih sesija dok se stanje ne prihvati? Monitoring koji rade CSW su dosta dublji od običnog pinga, i u zavisnosti od pravila/polisa koje su kreirane, sistem će se prilagoditi novonastaloj situaciji raditi po pravilima koja ste definisali. Stoga, vaša akcija nije potrebna ( u nekim slučajevima naravno jeste 🙂 ) pa sve ovo daje dobru dozu samoodrživosti samom sistemu. Downtime-ovi postaju praktično zanemarljivi.
Međupovezanost servera je takođe deo ove priče. Ukoliko korisnik ima ostvarenu sesiju sa serverom 1, potrebno je da se sve akcije korisnika preslikaju i na ostale članove resource pool-a. I ukoliko sam server 1 „padne“ , korisnik će biti prerutiran na sledeći server, gde će ga sačekati svi podaci, tj korisničko iskustvo je da je servis bez prekida, jer je CSW odradio svoj deo posla.
DPI – Deep Packet Inspection – nikakav problem. CSW i ovo rade, jer ispituju dolazni saobraćaj čak do 7 layera OSI modela. Znaju koji se protokoli koriste, i zbog toga mogu da „iščupaju“ user/pass i da na osnovu toga dozvole ili zabrane pristup. Ovo je ujedno i najveća snaga ovih uređaja. Mogu da ispitaju podatke iz svakog paketa i na osnovu toga urade bukvalno šta god hoćete.
Primera radi, svi korisnici sa userom „Pera“ su iz nekog razloga za zabranu pristupa. Na CSW-u možete napraviti pravilo da se svaki „Pera“ preimenuje u „Laza“. Možda ovaj primer i ne zvuči logično, ali ako ste Microsoft i želite da znate šta od update-a da pustite klijentu koji se zakačio na update site, situacija je malo jasnija. Na osnovu dobijenih podataka, korisnika možete prerutirati na server koji mu je geografski najpogodniji, koje update-ove ponuditi itd itd, a sve to mnogo brže nego korišćenjem neke klasične varijante razmene podataka. Sve u svemu, CSW-evi nemaju limite, samo kreativnost admina je granica.
Skalabilnost – pojavila se potreba za dodavanjem novih servera? Nikakav problem. Instalirajte servere, i samo ih učlanite u resource pool. Ne zaboravite, vaši serveri će se baviti samo aplikacijom koju hostuju, dok će se svi „inteligentniji“ procesi i dalje rešavati na CSW-u.
Zaključak – CSW-evi prevazilaze sve mogućnosti koje nude tradicionalni L2 i L3 switchevi. Inspekcijom paketa do 7-og layera dobijate:
- Inteligenti load-balancing na osnovu raspoloživosti servera i sadržaja
- Monitoring svakog serverai automatski fail-over re-rutiranjem sesija korisnika ka raspoloživim resursima
- Inteligentno upravljanje saobraćajem bez nekih krucijalnih limita
- Centralizovan user access control, certificate manadgement, QoS i bandwith manadgement( rasterećenje servera od ovih rola)
- Olakšana nadogradnja server-cluster-a
- Virtual hosting
Sve u svemu, kako i sam naziv kaže, ovo je samo uvod u ovu ogromnu temu, koja će u budučnosti sve više biti razmatrana i sve dostupnija.
Deki, GJ 🙂