3.1. Prijenos podataka
Columbitech-ova WVPN
klijent programska komponenta koristi Windows mehanizme za usmjeravanje
(routing) pri prihvaćanju, enkriptiranju i prosljeđivanju prometa. Stvarajući
virtualno mrežno sučelje (NIC-network interface card) i prisiljavajući sve
aplikacije da mu prosljeđuju svoje podatke, VPN klijent je u stanju
enkriptirati sav odlazeći promet bez potrebe za ikakvim promjenama na postojećim
aplikacijama. Virtualno mrežno sučelje presreće podatke i šalje ih VPN
programu na obradu. Nakon kompresiranja, enkriptiranja i ardesiranja podaci se
šalju fizičkom sloju kojeg se trenutno koristi.
IP filteri se primjenjuju na svim sučeljima
sprječavajući tako korisnike i aplikacije da zaobiđu VPN tunel ručnim
postavljanjem usmjeravajućih tabela. IP filteri također štite računalo od
zlonamjernih napada tijekom izloženosti javnim mrežama. Čim se omogući neko
novo sučelje, ono se odmah zaštičuje.
Lokalno
stacioniranje prometa orjenitiranog na konekciju čini klijenta otpornim na
privremeni gubitak mrežne konekcije. Virtualno mrežno sučelje dopušta
korisniku jednostavno prelaženje između raznih davatelja mrežnih usluga i
nosioca. Čak i kada stvarna veza oscilira sa konekcijom, virtualno mrežno sučelje
uvijek prima promet. Prednost stalne uključenosti virtualnog mrežnog sučelja
je u tome što i ako veza padne, rad lokalno stacioniranih aplikacija neće time
biti narušen već će se sve odvijati kao da su i dalje spojene (online). Pad
mreže odmah pokreće ponovno spajanje na VPN poslužitelj od strane VPN klijent
programske podrške, koja počinje skenirati raspoložive mrežne resurse i
zatim uspostavlja najbolju s obzirom na definirani korisnički profil. Kada
klijentu uspije spajanje na poslužitelj, WTLS session se obnavlja i svi
prijenosi podataka se sinhroniziraju i nastavljaju.
Slika 3 – Stog
protokola WVPN klijenta
Kada se VPN klijent
spoji na mrežu tvrtke, WVPN poslužitelj dodjeljuje virtualnom mrežnom sučelju
IP adresu unutar domene tvrtke, na način da šalje DHCP zahtjev postojećem
DHCP poslužitelju u ime klijenta. Ako ne postoji DHCP poslužitelj na mreži,
WVPN poslužitelj se može konfigurirati za dodjeljivanje IP adrese iz određenog
adresnog područja te će se on ponašati kao DHCP poslužitelj. Ovo u praksi
znači da svaki VPN klijent ima u stvari dvije IP adrese: jednu na fizičkom sučelju,
dodijeljenu od davatelja mrežne usluge kojem smo pristupili i jednu na
virtualnom mrežnom sučelju dodijeljenu od domene tvrtke. IP adresa na fizičkom
sučelju će se promjeniti kada klijent prijeđe na drugu prijenosnu mrežu, dok
će IP adresa na virtualnom mrežnom sučelju ostati ista za cijelo vrijeme
trajanja sessiona.
Zadržavanje iste IP
adrese na virtualnom mrežnom sučelju omogućava neprekinuti roaming sa
kontinuiranom uslugom. Sve aplikacije i komunikacijski potprogrami koriste IP
adresu, u sklopu tvrtke, na virtualnom mrežnom sučelju kada komuniciraju sa
klijentom. IP adresa na fizičkom sučelju je skrivena aplikacijama i koristi se
samo za prijenos podataka između klijenta i VPN poslužitelja. Unutar mreže
tvrtke, WVPN poslužitelj prerađuje sav dolazni i odlazni promet kako bi
aplikacijama sakrio fizičku IP adresu.
Aplikacije na poslužitelju
spajaju se na udaljenog VPN klijenta na isti način kao da je klijent fizički
spojen na mrežu tvrtke. Zahtjev za spajanjem preuzima VPN poslužitelj i
prosljeđuje ga VPN klijentu kroz WTLS tunel. Ako klijent ima pokrenutu
aplikaciju koja “osluškuje” traženi port, vraća se poruka konekcije WVPN
poslužitelju, on prihvaća konekciju na poslužitelja aplikacije i podaci se
mogu poslati klijentu. U slučaju da klijent nije “osluškivao” traženi
port, VPN klijent program šalje poruku odbijanja WVPN poslužitelju, koji onda
šalje odgovarajuću ICMP poruku aplikaciji koja je zahtijevala spajanje.
Slika 4 –
Pregled prijenosa podataka. Aplikacijske konekcije su stacionirane lokalno
na klijentu i podaci se tuneliraju do VPN poslužitelja preko jedne TCP
konekcije. VPN poslužitelj prevodi adrese i prosljeđuje podatke do odredišta.
Kada se VPN klijent
spaja na poslužiteljevu aplikaciju, konekcija je stacionirana lokalno, kao što
je opisano u prethodnom odlomku. Da bi se uspostavila konekcija sve do poslužitelja,
klijent zahtjeva od WVPN poslužitelja da uspostavi konekciju u njegovo ime. Kad
su obje konekcije uspostavljene, klijent i poslužitelj mogu započeti razmjenu
podataka. Aplikacija klijenta i poslužiteljeva aplikacija nisu svjesne
posredovanja WVPN poslužitelja nego vjeruju da su direktno međusobno povezane.
Korištenje
razdvojenih TCP konekcija povećava robusnost i fleksibilnost arhitekture. Ako
veza između klijenta i WVPN poslužitelja padne iz bilo kojeg razloga, obje, i
klijent i poslužitelj aplikacija bit će zaštićene i komunikacija se može
nastaviti čim se uspostavi nova veza. Pristup sa razdvojenim konekcijama omogućava
i daljnje optimiziranje komunikacije između VPN klijenta i WVPM poslužitelja,
s obzirom da aplikacije nisu svjesne postojanja te konekcije. TCP može biti
nanovo primjenjen ili zamjenjen drugim protokolom koji je bolje optimiziran za
bežične kominikacije.
Međutim, dođe li
do povrede end-to-end semantike, arhitektura mora sadržati svoje mehanizme za
provedbu end-to-end kontrole toka i prijenos. U svrhu sprječavanja gubitka
podataka pri padu konekcije između VPN klijenta i WVPN poslužitelja,
Columbitech-ova arhitektura koristi standardni TCP mehanizam za zaustavljanje
daljnjeg slanja podataka od strane aplikacije koja ih je slala. U slučaju pada
mreže WVPN poslužitelj odmah šalje poruku TCP pošiljaocu, kojom mu javlja da
je međuspremnik za primanje podataka WVPN poslužitelja popunjen. Nakon što je
konekcija prema VPN klijentu ponovno uspostavljena, WVPN poslužitelj naređuje
TCP pošiljaocu da nastavi sa slanjem. Ovaj se pristup više preferira od rješenja
da VPN poslužitelj privremeno sprema podatke u svoju RAM memoriju jer bi moglo
doći do popunjavanja memorije što bi rezultiralo ispuštanjem paketa. Rješenje
sa zaustavljanjem slanja se primjenjuje u WVPN poslužitelju, Gatekeeperu i WVPN
klijentu.
Da bi se izbjegao gubitak paketa koji su
prenošeni u trenutku pada veze, WVPN poslužitelj sprema nekoliko zadnjih
poslanih paketa za svaku klijent konekciju. Nakon rekonekcije VPN klijenta, WVPN
poslužitelj i VPN klijent međusobno usklađuju tok podataka te u slučaju da
je došlo do gubitka nekog paketa, on se ponovno prenosi.
Za uspješno
rukovanje prometom kojeg nije moguće prenjeti , npr. UDP ili tekući podaci,
virtualno mrežno sučelje prihvaća sve pakete koji pristižu i prosljeđuje ih
preko enkriptiranog tunela na odredište. Na sličan način, WVPN poslužitelj
prihvaća sve dolazeće pakete i prosljeđuje ih klijentu. Da bi ovo
funkcioniralo, WVPN poslužitelj i virtualno mrežno sučelje moraju biti podešeni
sa istom IP adresom i oznakom podmreže. To omogućava WVPN poslužitelju da se
predstavlja kao klijent te pokreće i prihvaća promet koji mora biti prenesen.