Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
54
4.2. Topologija WiFi mreže
WiFi mreže mogu raditi u ad-hoc i infrastrukturnom modu, tj. arhitekturi. U slučaju ad-hoc
načina rada, topologija mreže je meš (mrežasta topologija). U slučaju infrastrukturne arhitekture,
mreža ima topologiju zvezde - Slika 90. Pristupna tačka je centar zvezde, i predstavlja vezu ka
ostatku mreže (obično eternet).
Slika 90. Infrastrukturna arhitektura mreže, topologija zvezde
4.3. MAC podsloj sloja veze podataka
Zadatak MAC podsloja sloja veze podataka je da:
reguliše pristup bežičnom medijumu od strane različitih korisnika
omogućava ispravan prenos okvira sa podacima
obavlja čitav niz upravljačkih funkcija koje omogućavaju da se terminali povežu sa
pristupnom tačkom, formiraju mrežu i održavaju određen kvalitet komunikacije
4.3.1. Kontrola pristupa medijumu
Standardima 802.11 familije definisana su tri načina kontrole pristupa medijumu: DCF
(Distributed Coordination Function), PCF (Point Coordination Function) i HCF (Hybrid
Coordination Function).
U praksi, najčešći je DCF, u kome je višekorisnički pristup zasnovan na takmičenju. U ovom
slučaju, primenjuju se CSMA/CA i RTS/CTS metode, obrađene u poglavlju 2.
PCF definiše način rada u kome pristupna tačka po nekom redosledu proverava da li
terminali žele pristup medijumu, i daje im telekomunikacioni kanal na raspolaganje u slučajevima
da je to potrebno.
HCF predstavlja kombinaciju DCF i PCF koja se koristi u sistemima u kojima postoji
regulisanje kvaliteta servisa (QoS).
U tekstu koji sledi, fokusiraćemo se na pravila rada DCF.
i) Detekcija nosioca
Bežični kanal smatra se slobodnim ukoliko u njemu nema aktivnosti tokom određenog,
standardom definisanog, vremenskog intervala. Standardi 802.11 familije definišu dva intervala od
55
interesa za DCF način kontrole pristupa. To su intervali SIFS (Short Interframe Spacing) i DIFS
(DCF Interframe Spacing). SIFS interval je najmanji mogući interval između dva uzastopna okvira.
Koristi se između fragmenata istog okvira, u slučajevima kada se primenjuje fragmentacija. Takođe,
prethodi i potvrdi uspešnog prenosa (ACK), kao i CTS poruci. U svim ostalim slučajevima, koristi
se DIFS interval.
Slika 91. DIFS i SIFS intervali
ii) Kontrola pristupa putem CSMA/CA
Osnovna metoda kontrole pristupa je već pominjana CSMA/CA - Slika 37. Korisnik koji želi
da šalje podatke proverava da li je kanal slobodan. Ukoliko to nije slučaj, korisnik se povlači, i čeka
da se kanal oslobodi. Kanal se smatra slobodnim ako tokom intervala dužine DIFS nije bilo
aktivnosti u njemu. Kada je kanal slobodan, korisnik koji se prethodno bio povukao postavlja
prozor čekanja (contention window) na početnu vrednost od X=31 slotova, i slučajno odabira
trenutak u okviru tog intervala u kome ponovo pokušava slanje. Ako i u tom trenutku ima aktivnosti
u kanalu, korisnik se opet povlači, a vrednost prozora čekanja se povećava na 63 slota. Sa svakom
neuspešnom transmisijom, raste prozor čekanja, dok ne dostigne vrednost od 1023 slota. Nakon
toga se prozor čekanja dalje ne povećava.
Korisnik koji želi da šalje podatke čeka da kanal bude slobodan tokom DIFS perioda. U
slučaju da prethodno nije pokušavao slanje, podatke šalje odmah. U suprotnom, postavlja prozor
čekanja. Ispravan prenos podataka prijemnik potvrđuje slanjem ACK poruke, pri čemu je interval
između okvira sa podacima i ACK okvira SIFS - Slika 92. S obzirom na to da je SIFS < DIFS, neće
biti problema da se ACK poruka pošalje odmah po slanju okvira sa podacima, jer drugi korisnici
neće ni pokušati da šalju svoje podatke sve dok ne istekne interval DIFS.
Slika 92. CSMA/CA sa ACK porukama
56
iii) Kontrola pristupa korišćenjem RTS/CTS metode
S obzirom na to da CSMA/CA ne rešava problem skrivenog terminala (Slika 38), uvodi se
RTS/CTS metoda, kod koje se šalju zahtev za slanje RTS i dozvola za slanje CTS.
Korisnik koji želi da pošalje podatke čeka dok kanal ne bude slobodan u trajanju DIFS, a
zatim šalje RTS poruku. Prijemnik odgovara CTS porukom, nakon SIFS intervala. Po prijemu CTS
poruke, predajnik nakon SIFS intervala počinje slanje podataka. Ispravan prijem podataka potvrđuje
se slanjem ACK poruke, kojoj takođe prethodi SIFS interval. I u ovom slučaju, SIFS interval
između uzastopnih poruka koje razmenjuju prijemnik i predajnik osigurava da ostali korisnici ne
prekinu proces razmene podataka. Naime, ostali korisnici neće ni pokušati slanje dok ne istekne
interval DIFS, koji je veći od SIFS.
Kako bi se omogućila štednja baterije uređaja, uvodi se mehanizam koji omogućava da ostali
korisnici u sistemu ne proveravaju konstantno aktivnost u kanalu. Naime, u okviru RTS i CTS
poruka nalazi se i informacija o očekivanom trajanju komunikacije koja sledi, sve do završetka
slanja ACK poruke - Slika 93. Može se primetiti da je razlika između informacije koju nosi RTS i
informacije koju nosi CTS jednaka sumi trajanja CTS poruke i SIFS intervala. Na osnovu
informacije o trajanju, ostali uređaji u mreži postavljaju brojač NAV (Network Allocation Vector) i
odlaze u neki vid hibernacije. Dok se vrednost NAV brojača ne dekrementira na nulu, neće
pokušavati da procene da li postoji aktivnost u kanalu. NAV brojač se postavlja na osnovu prve
poruke koju uređaj primi (bilo da je to RTS ili CTS), i po isteku brojača čeka se da kanal bude
slobodan tokom intervala DIFS. Tek nakon toga ostali korisnici pokušavaju da šalju svoje podatke.
Slika 93. RTS/CTS i NAV
Treba obratiti pažnju na to da RTS/CTS metoda unosi dodatni višak protokola (overhead),
jer se više vremena troši na slanje kontrolnih podataka, a i više SIFS intervala imamo među
uzastopnim porukama koje razmenjuju dva korisnika. Zato ovu metodu ima smisla koristiti samo
onda kada je dužina okvira sa podacima (data na slici) dovoljno velika. Sa porastom dužine okvira
sa podacima, raste i verovatnoća greške pri prenosu CSMA/CA metodom, dok se, sa druge strane,
smanjuje procenat viška koji unosi RTS/CTS u odnosu na korisne podatke. Rezultat je povećanje
efektivne brzine prenosa podaka ukoliko se koristi RTS/CTS mehanizam.
4.3.2. Format okvira
Jedinica podataka koja se prenosi na drugom sloju OSI modela naziva se okvir. Opšti format
okvira na MAC sloju 802.11 mreže dat je na slici Slika 94.
57
Slika 94. Format MAC okvira
Polje kontrola okvira sadrži informacije o tipu okvira koji je u pitanju. U opštem slučaju,
razlikujemo kontrolne, upravljačke i okvire sa podacima. Kontrolni okviri su RTS, CTS i ACK
poruke, dok upravljačkih okvira ima više vrsta, i koriste se u raznim upravljačkim procedurama.
Pored informacije o tipu okvira, u polju kontrola okvira nalaze se i informacije o tome da li je okvir
samo fragment nekog većeg okvira, da li je u pitanju retransmisija okvira koji nije uspešno prenet i
slično.
Polje trajanje sadrži informacije na osnovu kojih se postavlja NAV brojač. Očekivano vreme
zauzeća medijuma izraženo je u ovom polju u mikrosekundama.
Polje kontrola sekvence koristi se kod fragmentacije okvira sa podacima. Ono sadrži broj
sekvence (svi fragmenti jednog većeg okvira imaju isti broj sekvence), kao i redni broj konkretnog
fragmenta. Na osnovu ovih informacija, na prijemnoj strani se identifikuju svi fragmenti jednog
okvira, i slažu u odgovarajući redosled.
Polje FCS nosi zaštitni CRC kod, koji služi kontroli ispravnosti prenosa.
Polje sa podacima je maksimalne dužine 2304 okteta. S obzirom na to da se WiFi mreže
obično kombinuju sa eternet mrežama, u kojima je maksimalna dužina polja sa podacima 1500
okteta, u praksi se retko susreću veće dužine ovog polja.
Prema standardu, mogu se koristiti do četiri adresna polja. Ova polja su dužine 48 bita, kao i
MAC adrese u eternetu. Razlikujemo pet tipova informacije koja se može naći u adresnom polju:
1) Adresa odredišta DA (Destination Address) – MAC adresa krajnje destinacije okvira. U
opštem slučaju, ovo može biti i adresa u eternet mreži, tj. uređaj koji je odredište za
podatak uopšte ne mora biti WiFi prijemnik.
2) Adresa izvora SA (Source Address) – MAC adresa izvora okvira. Kao i kod DA adrese, u
opštem slučaju izvor ne mora biti deo WiFi mreže.
3) Adresa predajnika TA (Transmitter Address) – MAC adresa 802.11 terminala ili
pristupne tačke koja šalje podatke. Koristi se u slučaju prosleđivanju podatka od izvora
koji se nalazi u eternet mreži.
4) Adresa prijemnika RA (Recipient Address) – MAC adresa 802.11 terminala ili pristupne
tačke koja prima podatke. Koristi se kada se podaci prosleđuju do odredišta u eternet
mreži.
5) BSSID (Basic Service Set ID) – MAC adresa pristupne tačke kod infrastrukturne
arhitekture mreže. Koristi se pri razmeni podataka između dva terminala u mreži te
pristupne tačke.
O ovome će biti više reči u tekstu koji sledi u narednom poglavlju.
58
4.3.3. Prenos podataka
Kao što je već rečeno, WiFi mreže obično ne postoje same za sebe, već su u sprezi sa eternet
LAN mrežama i globalnim Internetom. Taj „ožičeni“ deo mreže, u kome se ne koriste WiFi
tehnologije, naziva se distributivni sistem.
Slika 95. WiFi i distributivni sistem
Prenos podataka se može odvijati između dva terminala WiFi mreže. Mnogo češće se podaci
prenose između dva uređaja, od kojih se jedan nalazi u distributivnom sistemu, a drugi u bežičnoj
WiFi mreži - Slika 95. Takođe, u izvesnim situacijama možemo se susresti i sa bežičnim
premošćavanjem - Slika 96, kod koga se podatak prenosi između izvora i odredišta u distributivnom
sistemu, ali putanja jednim delom vodi kroz bežičnu mrežu.
Slika 96. Bežično premošćavanje (wireless bridging)
Informacija o tome da li se izvor i odredište nalaze u distributivnom sistemu ili ne sadržana
je u polju kontrola okvira. Bit TO_DS postavljen je na 1 ukoliko je odredište u distributivnom
sistemu, odnosno na 0 ukoliko je odredište u WiFi mreži. Bit FROM_DS postavljen je na 1 ukoliko
je izvor podatka u distributivnom sistemu, a na 0 ukoliko je u WiFi mreži. Na osnovu vrednosti
ovih kontrolnih bita, adresna polja se interpretiraju prema podacima iz tabele Tabela 2.
Tabela 2. Adresna polja pri prenosu podataka
To_DS From_DS Adresa 1 Adresa 2 Adresa 3 Adresa 4
0 0 Odredište Izvor BSSID Ne primenjuje se
0 1 Odredište BSSID Izvor Ne primenjuje se
1 0 BSSID Izvor Odredište Ne primenjuje se
1 1 Prijemnik Predajnik Odredište Izvor
59
U skladu sa tim, okviri za prenos podataka imaju neki od oblika datih na slici
Slika 97. Okviri za prenos podataka
i) Fragmentacija i defragmentacija
Potreba za fragmentacijom (deljenjem) okvira javlja se kada treba poslati podatak veće
dužine od one koja je dozvoljena. Takođe, fragmentacija se primenjuje i kako bi se smanjila
verovatnoća greške pri prenosu okvira (duži okviri su podložniji grešci).
Informacija o rednom broju fragmenta i sekvence prenosi se u okviru polja kontrola
sekvence. Proces u kome se, na osnovu tih informacija, fragmenti okvira ponovo slažu u originalni
redosled naziva se defragmentacija.
Slika 98. Prenos fragmenata okvira
Proces slanja fragmentovanog okvira predstavljen je na slici Slika 98. Nakon razmene RTS i
CTS poruke između predajnika i prijemnika, šalju se svi fragmenti okvira, i prijem svakog
fragmenta pojedinačno se potvrđuje ACK porukom. Interval između svih poruka je SIFS.
60
U polju trajanje RTS i CTS poruke prenosi se očekivano vreme do završetka prenosa prvog
fragmenta i slanja ACK poruke za njega. Međutim, sada i poslati fragmenti i ACK poruke sadrže
informacije o trajanju razmene sledećeg fragmenta. Prvi fragment i njegov ACK nose informaciju o
tome koliko će trajati razmena drugog fragmenta, drugi fragment i njegov ACK nose informaciju o
trajanju razmene trećeg fragmenta i tako redom.
4.3.4. Kontrolni okviri
Rekli smo već da RTS, CTS i ACK poruke predstavljaju kontrolne okvire. Ovi okviri su
kratki, i ne sadrže deo sa podacima.
Format RTS okvira predstavljen je na slici Slika 99, dok je format CTS i ACK okvira dat na
slici Slika 100. CTS i ACK imaju isti format, a konkretan tip okvira određuje se na osnovu
informacije iz polja kontrola okvira.
Slika 99. Format RTS okvira
Slika 100. Format CTS i ACK okvira
4.3.5. Upravljački okviri
Upravljački okviri koriste se u upravljačkim procedurama u WiFi mreži. Služe za prenos
upravljačkih podataka između pristupne tačke i terminala, i obrnuto. U opštem slučaju imaju oblik
sa slike Slika 101. Vidimo da se adresna polja interpretiraju kao i uvek u slučaju TO_DS=0,
FROM_DS=0, jer se upravljački podaci prenose samo u WiFi mreži.
Slika 101. Format upravljačkog okvira
Upravljački podaci su organizovani u informacione elemente promenljive dužine, čiji je
opšti oblik prikazan na slici Slika 102. Tačne oznake elemenata i značenje podataka definisani su
standardom.
Slika 102. Format informacionog elementa
Upravljački okviri koriste se u procedurama za sinhronizaciju i otkrivanje mreže,
autentikaciju, asocijaciju, kao i u procedurama za kontrolu predajne snage, promenu frekvencijskog
kanala i slično.
61
4.3.6. Otkrivanje mreže i sinhronizacija
U proceduri otkrivanja (skeniranja) mreže, terminal identifikuje raspoložive WiFi mreže u
okruženju. Skeniranje mreža može biti pasivno i aktivno.
i) Pasivno skeniranje (otkrivanje) mreže
Pristupna tačka periodično šalje upravljački okvir koji se naziva svetionik (beacon).
Svetionik sadrži različite informacije koje služe identifikaciji mreže od strane terminala i
usaglašavanju karakteristika terminala i pristupne tačke. Neke od najznačajnijih informacija
sadržanih u svetionik okviru su:
Vremenski pečat (timestamp) – Pristupna tačka šalje koliko je mikrosekundi do sada bila
aktivna, što omogućava vremensku sinhronizaciju terminala.
Beacon period – Broj vremenskih jedinica (od 1024 mikrosekundi) između beacon
predaja. Obično oko 100 milisekundi.
Tehničke mogućnosti – Informacije o primenjenoj arhitekturi, kriptografskoj zaštiti i
slično.
Service Set Identity (SSID) – Ime mreže (32 bajta, niz ASCII simbola) na osnovu koga
terminal odlučuje da li će joj pristupiti
Kod zemlje – Na osnovu ovog koda se terminal informiše koja su lokalna regulativna
ograničenja (prvi kanal, broj kanala, maksimalna predajna snaga).
Brzina prenosa – Podržane brzine prenosa od strane pristupne tačke
Terminal skenira sve raspoložive WiFi kanale, i prima svetionik okvire svih mreža u
okruženju. Na osnovu primljenih informacija, korisniku se prikazuje lista raspoloživih mreža i
omogućava povezivanje sa nekom od njih.
ii) Sinhronizacija
Svetionik okvir sadrži vremenski pečat koji se generiše u trenutku slanja okvira. Svetionik se
šalje kvazi-periodično, tj. samo onda kada je kanal slobodan, a istekao je beacon period - Slika 103.
Slika 103. Sinhronizacija mreže
iii) Aktivno skeniranje
Aktivno skeniranje je neophodno u slučajevima u kojima administrator mreže zabrani slanje
svetionik okvira, kako bi se sprečilo povezivanje terminala koji ne znaju SSID mreže. Ovo je
primitivan vid zaštite pristupa.
Terminal koji želi da se konektuje na mrežu šalje upravljački okvir zahtev za otkrivanje
parametara mreže (probe request). U ovom okviru sadržano je sledeće:
62
SSID mreže kojoj terminal želi da pristupi
informacija o brzinama prenosa koje terminal podržava.
Pristupna tačka odgovara na zahtev za otkrivanje parametara, tako što šalje upravljački okvir
odgovor na zahtev za otkrivanje parametara mreže (probe response). Ovaj okvir sadrži praktično
identične podatke kao i svetionik. Pristupna tačka ga šalje samo ako je zahtev za otkrivanje
parametara sadržao njen SSID, a podržane brzine terminala su kompatibilne sa brzinama koje
pristupna tačka podržava.
4.3.7. Autentikacija
Autentikacija je upravljačka procedura u kojoj se korisnik i terminal identifikuju od strane
pristupne tačke, što je neophodno za dalji pristup mreži. Osnovni cilj je da pristupna tačka i ostatak
mreže dobiju informacije o MAC adresi terminala, ali i da se proveri da li korisnik ima pravo da
pristupi mreži. U proceduri autentikacije razmenjuje se upravljači okvir za autentikaciju, u oba
smera između pristupne tačke i terminala. Okvir za autentikaciju sadrži sledeće informacije:
Broj autentikacionog algoritma – U praksi se koristi više algoritama za autentikaciju
(otvoreni sistem, WEP - Wired Equivalent Privacy, TKIP - Temporal Key Integrity
Protocol). Ovo polje specificira koji je algoritam u upotrebi.
Sekvenca – Ovo polje nosi broj trenutnog koraka u procesu autentikacije. U zavisnosti od
primenjenog algoritma, sadržaj poruka koje se razmenjuju menja se sa brojem koraka u
autentikaciji.
Status – Sadrži rezultat procesa autentikacije.
Test tekst (Challenge Text) – Ovo je polje promenljive dužine, i sadrži tekst koji se
enkriptuje od strane terminala, kako bi terminal pokazao da poseduje validan ključ za
pristup mreži.
i) Autentikacija u otvorenom sistemu
Ovo je osnovni oblik autentikacije i nosi malu ili nikakvu zaštitu.
Slika 104. Autentikacija u otvorenom sistemu
U prvom koraku, terminal se prijavljuje pristupnoj tački, pri čemu šalje informaciju o svojoj
MAC adresi - Slika 104. Pristupna tačka u sledećem koraku odgovara porukom koja sadrži status,
tj. informaciju da li je pristup terminalu dozvoljen. Administrator mreže može konfigurisati
pristupnu tačku tako da omogućava pristup samo određenim, autorizovanim MAC adresama. Ova
metoda poznata je kao MAC filtriranje, i nije pouzdana, jer zlonamerni korisnik može otkriti MAC
adresu terminala koji ima pristup osluškivanjem svih razmenjenih upravljačkih okvira.
63
ii) Autentikacija metodom zajedničkih ključeva
Metoda zajedničkih ključeva ili WEP (Wired Equivalent Privacy) zahteva da korisnik
manuelno unese ključ u terminal. Ključ se ne šalje bežičnim putem, ali je potrebno da se uneti ključ
poklapa sa ključem koji ima pristupna tačka.
U prvom koraku, terminal se javlja pristupnoj tački i šalje svoju MAC adresu - Slika 105.
Pristupna tačka odgovara tako što šalje terminalu test tekst, dužine do 128 bajtova. Terminal
enkriptuje taj tekst koristeći ključ koji je korisnik uneo, i šalje ga nazad pristupnoj tački. Pristupna
tačka proverava da li je primljeni enkriptovan tekst u skladu sa očekivanim, i ukoliko jeste,
dozvoljava pristup terminalu.
Slika 105. Autentikacija zajedničkim ključevima
4.3.8. Asocijacija
Asocijacija je procedura koja omogućava distributivnom sistemu (eternetu) da utvrdi
lokaciju terminala, i dostavi podatke do njega. Eternet mreža zna da svi podaci namenjeni MAC
adresi terminala treba da se proslede do pristupne tačke. Pristupna tačka dodeljuje identifikaciju
asocijacije (Association ID) terminalu. To je numerički identifikator, na osnovu koga pristupna
tačka može da identifikuje terminal.
Kada terminal usprešno završi proces autentikacije, on pristupnoj tački šalje upravljački
okvir zahtev za asocijaciju. U ovom okviru terminal šalje podatke o svojim tehničkim
mogućnostima, podržanim brzinama prenosa, predajnoj snazi i frekvencijskim kanalima koje može
da podrži. Ako pristupna tačka odluči da prihvati terminalov zahtev za povezivanje, ona šalje
upravljački okvir odgovor na zahtev za asocijaciju. Taj okvir sadrži identifikaciju asocijacije
(Association ID), koju pristupna tačka dodeljuje terminalu.
S obzirom na to da 802.11 standard dozvoljava asocijaciju terminala samo sa jednom
pristupnom tačkom, pri prelasku iz zone pokrivenosti jedne pristupne tačke u zonu pokrivenosti
druge pristupne tačke, izvršava se procedura reasocijacije. Terminal koji želi da promeni pristupnu
tačku šalje upravljački okvir zahtev za reasocijaciju. Ovaj okvir šalje se novoj pristupnoj tački, a
64
sadrži adresu stare pristupne tačke. Na osnovu te adrese, nova pristupna tačka može da preko
distributivnog sistema (eterneta) prenese podatke koji su baferovani u staroj pristupnoj tački. Detalji
reasocijacije su dati na slici Slika 106.
Slika 106. Procedura reasocijacije
4.3.9. Stanja terminala
U WiFi mreži, terminal se može naći u jednom od tri stanja - Slika 107. Neposredno po
dolasku terminala u zonu pokrivenosti neke pristupne tačke, terminal nije ni autorizovan ni asociran
u odnosu na datu WiFi mrežu (stanje 1). Nakon izvršene autentikacije, terminal prelazi u stanje u
kome je autorizovan, ali ne i asociran (stanje 2). Uspešnim izvršavanjem procesa asocijacije,
terminal prelazi u stanje 3, u kome može da šalje i prima podatke.
U zavisnosti od stanja u kome se WiFi terminal nalazi, samo određeni tipovi okvira su
dozvoljeni. U stanju 1 mogu se slati i primati sledeći okviri: svetionik, zahtev za otkrivanje
parametara mreže, odgovor na otkrivanje parametara mreže, okviri za autentikaciju. U stanju 2,
mogu se slati i primati: zahtev za asocijaciju i reasocijaciju, odgovora na zahtev za asocijaciju i
reasocijaciju, kao i okvir za deautentikaciju. U stanju 3 svi upravljački, kontrolni i okviri za prenos
podataka su mogući.
Slika 107. Stanja WiFi terminala