Professional Documents
Culture Documents
Pošto je na odgovarajući način obilježen početak i kraj svakog okvira, dolazi se do sljedećeg
problema: kako biti siguran da su svi okviri isporučeni mrežnom sloju primaoca i to
ispravnim redom? Pretpostavimo načas da prijemnik zna procijeni da li primljeni okvir
sadrži ispravne ili pogrešne podatke. Za uslugu bez uspostavljanja direktne veze i bez
potvrde o prijemu, ne bi smetalo da pošiljalac samo isporuči okvire ne vodeći računa o
tome da li su oni stigli u ispravnom stanju. Ali za pouzdanu uslugu sa uspostavljanjem
direktne veze, to uopće ne bi valjalo.
Pouzdanost isporuke obično se obezbjeđuje tako što pošiljalac dobija neku povratnu
informaciju o tome šta se događa na drugom kraju linije. Najčešće protokol zahtijeva od
primaoca da povratno šalje kontrolne okvire s potvrdom (pozitivnom ili negativnom) o
pristiglim okvirima. Ako pošiljalac primi pozitivnu potvrdu o prijemu okvira, on zna da je
okvir stigao na odredište u ispravnom stanju. S druge strane, negativna potvrda znači da
je nešto pošlo naopako i da okvir mora da se pošalje ponovo.
Međutim, ako se okvir ili potvrda o njegovom prijemu izgube, tajmer će se poslije unaprijed
definisanog vremena automatski isključiti i ukazati pošiljaocu na potencijalni problem.
Trivijalno rješenje je da se okvir ponovo pošalje. Međutim, kada se isti okvir šalje više
puta, postoji rizik da ga i primalac primi više puta i da ga isto tako više puta proslijedi
mrežnom sloju. Da bi se to spriječilo, obično je neophodno da se okvirima koji se šalju
dodijele redni brojevi (sequence numbers), tako da primalac može da razlikuje ponovno
poslane okvire od okvira koji su stigli uobičajenim redom.
Važnu stavku pri projektovanju sloja veze podataka (a i viših slojeva) predstavlja šta raditi
s pošiljaocem koji sistematski šalje okvire brže nego što primalac može da ih prihvati.
Takva situacija nastupa ako pošiljalac ima brz i jak računar a primalac spor i slab. Najčešće
se dešava da pametni telefon zatraži veb stranicu od mnogo jačeg servera, koji potom
bujicom podataka zasipa bespomoćni telefon sve dok ga ne zatrpa. Čak i kad se prenos
obavlja bez grešaka, primalac jednostavno ne stiže da obradi okvire brzinom kojom pristižu
i neke od njih izgubi.
Jasno je da nešto treba preduzeti kako bi se opisana situacija preduprijedila. Najčešće se
koriste dva pristupa. U prvom, upravljanju tokom na osnovu povratnih informacija
(feedback-based flow control), primalac šalje pošiljaocu povratnu poruku dozvoljavajući
mu da brže šalje podatke ili ga barem obavještavajući o tome kako izlazi s poslom. U dru-
gom pristupu, upravljanju tokom zasnovanom na ograničenju brzine (rate-basedflow
control), protokol ima ugrađen mehanizam koji ograničava brzinu slanja podataka, nezavi-
san od stanja kod primaoca.
Sistemi zasnovani na ograničenju brzine slanja koriste se samo u transportnom sloju, dok
sistemi zasnovani na upravljanju tokom na osnovu povratnih informacija koriste se i u sloju
veze i u slojevima iznad njega. Danas je ovo drugo češće, pa se hardver sloja veze u tom
slučaju pravi tako da bude dovoljno brz kako ne bi izazvao gubitke. Na primjer, za
hardversku realizaciju sloja veze u obliku mrežne kartice (Network Interface Card, NIC)
ponekad se kaže da radi „brzinom žice“, što znači da okvire može da obradi kojom god joj
brzinom stizali po vezi. Eventualno presipanje tada ne prouzrokuje sloj veze, pa ih
rješavaju viši slojevi.
Poznate su različite vrste upravljanja tokom na osnovu povratnih informacija, ali se ugla-
vnom sve zasnivaju na istom principu. Protokol sadrži strogo definisana pravila o tome ka-
da pošiljalac može da pošalje sljedeći okvir. Ta pravila često zabranjuju slanje okvira prije
nego što primalac dâ podrazumijevano ili eksplicitno dopuštenje. Na primjer, kada se uspo-
stavi veza, primalac može da poruči: „Pošalji mi sada n okvira, ali nakon što to uradiš ne
šalji okvire dalje sve dok ti to ne saopćim“.
U svakoj mreži u kojoj se koristi neusmjereno emitovanje, glavni problem je kako odrediti
ko će koristiti kanal u situaciji kada ima više konkurentnih korisnika. Analogija je telefonski
sastanak kojem prisustvuje na primjer šest osoba; svaki učesnik čuje sve sagovornike i
može razgovarati sa svakim od njih. Kada jedan prestane govoriti, najvjerovatnije će početi
istovremeno govoriti dva ili više ostalih učesnika – totalna zbrka. Na sastancima koji se
odvijaju uživo, zbrka se izbjegava korištenjem spoljnih sredstava (dizanjem ruke da se
dobije riječ). Međutim, ako je na raspolaganju samo jedan kanal, mnogo je teže odrediti
ko će sljedeći emitovati. Kanali za neusmjereno emitovanje ponekad se nazivaju i kanali
za višekorisnički pristup (multiaccess channels) ili kanali za slobodan (slučajan)
pristup (random access channels).
Protokoli kojima se određuje sljedeći korisnik takvog kanala pripadaju podsloju sloja veze
podataka, poznatom kao podsloj za kontrolu pristupa medijima (Medium Access
Control, MAC). Posebno je važan za LANove, pogotovo za bežične koji su po prirodi
neusmjereni. Za razliku od njih, u WANovima se koriste veze point-to-point, osim
satelitskih.
Kanal za neusmjereno emitovanje, u situaciji kad na njega pretenduje više korisnika, može
biti dio bežičnog spektra u nekoj geografskoj oblasti ili samo jedna žica odnosno optičko
vlakno povezano s više čvorova, nije važno. U oba slučaja, kanal povezuje svakog korisnika
sa svim drugim korisnicima, i svaki korisnik koji potpuno zauzme kanal smeta drugim
korisnicima koji također žele da ga upotrijebe.
Klasičan način dodijeljivanja jedinstvenog kanala, kao što je telefonska linija, jednom od
korisnika je da mu se kapacitet isjecka nekim od načina multipleksiranja, npr. FDM. Ako je
N korisnika, onda se opseg dijeli na N jednakih dijelova, i svakom se dijelu dodjeljuje jedan
korisnik. Pošto svaki korisnik ima vlastito frekventno područje, znači da nema interferencije
među njima. Ovo je jednostavan i efikasan alokacijski mehanizam samo ako je mali i
nepromjenjiv broj korisnika, pri čemu svaki ima stalan tok ili veliko opterećenje saobraćaja.
Primjer su FM radio stanice. Svaka dobije dio FM opsega i koristi ga za prenos signala.
Međutim, kada je broj pošiljalaca velik i varira ili saobraćaj dolazi u naletima, FDM ima
problema. Ako je spektar podijeljen na N područja, a ima manje od N korisnika u trenutnoj
komunikaciji, veliki dio spektra koji stoji na raspolaganju je neiskorišten. S druge strane,
ako više od N korisnika želi komunicirati, neki će biti odbijeni zbog nedostatka opsega, pa
čak i u slučaju da korisnici kojima je dodijeljeno frekventno područje skoro ga i ne koriste.
Čak i pod pretpostavkom držanja broja korisnika konstantnim, dijeljenje jednog kanala u
određeni broj statičkih podkanala, u biti je neefikasno. Osnovni problem je što, u slučaju
stanja mirovanje nekih korisnika, opseg je jednostavno izgubljen. Statička alokacija se
teško uklapa u većini računarskih sistema u kojima podatkovni saobraćaj dolazi u naletima,
sa često impulsnim vrhom čiji je odnos u odnosu na ostatak njegovog grafika 1000:1. Zato
je većina kanala prazna većinu vremena.
Isti razlozi vrijede i za ostale načine statičkog dijeljenja kanala. Ako se koristi
multipleksiranje podjelom vremena (TDM) korisnicima se redom naizmenično daje prilika
da neko kratko vrijeme (N-ti odsječak vremena) koriste cijeli propusni opseg, te ako
korisnik ne koristi svoj vremenski odsječak, taj odsječak jednostavno ostaje neiskorišten.
I pretpostavka o koliziji je suštinska. Stanicama treba neki način otkrivanja kolizija kako
bi preklopljene okvire ponovo poslale. U kablovskim mrežama (kanalima) hardver čvora se
može projektovati tako da otkriva koliziju kada do nje dođe. Tada stanica može
prijevremeno prekinuti emitovanje kako se izbjeglo rasipanje kapaciteta. U bežičnim
mrežama takvo otkrivanje je mnogo teže, pa se naknadno zaključuje da je došlo do kolizije
po tome što očekivani okvir s potvrdom nije stigao. U zavisnosti od signala i prijemnog
hardvera, dešava se da i dio okvira obuhvaćen kolizijom bude uspješno primljen. Međutim,
takva situacija nije uobičajena, pa se pretpostavlja da su svi okviri obuhvaćeni kolizijom
izgubljeni.
Slično tome, stanice mogu ili da osluškuju ili da ne osluškuju saobraćaj na nosiocu
podataka. U kablovskim mrežama saobraćaj se uglavnom osluškuje. Međutim, u bežičnim
se to ne može izvesti djelotvorno, jer ne mogu sve stanice biti u dometu svih drugih stanica.
Slično tome, osluškivanje saobraćaja na naosiocu podataka nije moguće u slučajevima
kada stanice ne mogu komunicirati neposredno, na primjer kablovski modemi su stanice
koje moraju komunicirati preko kablovskog razvodnika.
Postoji više algoritama za dodijeljivanje zajedničkog kanala većem broju korisnika. Ovdje
će biti predstavljeni neki od njih.
Aloha
Prvi MAC podsloj potiče sa Havaja ranih 1970-tih. Profesor Norman Abrahamson i njegovi
saradnici sa Havajskog univerziteta, pokušavali su korisnike da udaljenim ostrvima
povezati sa glavnim računarom u Honoluluu. Nije bilo mogućnosti polagati kabla na dno
Tihog okeana, pa su potražili drugo rješenje.
Čista ALOHA
Kada se poslani okvir ošteti, pošiljalac čeka odgovor tokom slučajno odabranog
vremenskog intervala i zatim isti okvir jednostavno pošalje ponovo. Vrijeme čekanja mora
biti nasumično odabrano, inače će se isti okviri sudarati neprestano na isti način. Sistemi
u kojima više korisnika dijeli isti kanal na način koji može dovesti do kolizije poznati su kao
konkurentski (contention) sistemi.
Kad god dva korisnika pokušaju zauzeti kanal istovremeno (gornje slike) dolazi do kolizije
i okviri se oštećuju. Čak i ako se samo prvi bit novog okvira preklopi sa posljednjim bitom
prethodnog okvira, oba propadaju i kasnije se moraju ponovo poslati. Kontrolni zbir ne
može (i ne treba) da vodi računa da li su se okviri potpuno ili samo neznatno preklopili –
greška je greška.
U tom smislu, zanimljivo je pitanje kolika je efikasnost ALOHA kanala? Drugim riječima,
koji dio poslanih okvira izbjegne koliziju u ovim haotičnm okolnostima? Pokazalo se da je
maksimalno očekivano iskorištenje kanala oko 18.4%. Ovo znači da je 81.6% od ukupne
propusne moći mreže praktično neiskorišteno.
Vremenski raspodiljena ALOHA
Ubrzo nakon puštanja ALOHE u rad, Roberts je 1972. godine objavio metodu dupliranja
kapaciteta takvog sistema. Predložio je dijeljenje vremena u vremenske intervale
konačne dužine (slots) i da svaki interval odgovara jednom okviru. Takav pristup
podrazumijeva dogovaranje korisnika oko granica vremenskih intervala. Jedan način da se
to postigne bio bi da posebna stanica emituje odgovarajući signal na početku svakog
intervala, slično satu.
Protokoli po kojima stanice osluškuju nosioca podataka, tj. saobraćaja na njemu, i djeluju
shodno tome, nazivaju se protokoli za pristupanje uz osluškivanje saobraćaja na
nosiocu podataka (cerrier sense protocols).
Trajni i povremeni CSMA protokoli su poboljšanje u odnosu na ALOHE, jer nijedna stanica
ne emituje dok je kanal zauzet. Međutim, ako dvije stanice utvrde da je kanal prazan i
počnu istovremeno da emituju, njihovi signali će biti u koliziji. Još jedno poboljšanje bi bilo
da stanice brzo otkrivaju koliziju i odmah prekidaju emitovanje (umjesto da dovršavaju
slanje) svojih okvira, koji su ionako nepopravljivo izobličeni. Time se štedi vrijeme i
propusni opseg.
Taj protokol je poznat kao CSMA uz otkrivanje kolizije (CSMA with Collision Detection,
CSMA/CD), predstavlja osnovu popularnih lokalnih Ethernet mreža. Važno je shvatiti da je
otkrivanje kolizije analogan proces. Hardver stanice mora da osluškuje kabl dok ona
emituje. Ako se ono što čuje razlikuje od onog što šalje, ona zna da je došlo do kolizije.
Zato primljeni signal ne smije biti mali u poređenju sa emitovanim signalom, što je teško
postići u bežičnim mrežama, gdje primljeni signali mogu biti milion puta slabiji od
emitovanih. Znači, signal mora biti tako modulisan da se kolizija može otkriti (na primjer,
teško bi se otkrila kolizija dva signala napona 0 V).
Iako kod CSMA/CD više ne dolazi do kolizija nakon što stanica nedvosmisleno zauzme
kanal, kolizije se mogu dešavati tokom konkurentskog pristupanja. Ti sukobi se negativno
održavaju na performanse sistema. Kolizije smanjuju propusni opseg, ali i čine da vrijeme
potrebno za prenos okvira bude promjenjivo, što nije prikladno za saobraćaj u realnom
vremenu kao što je prenos govora preko Interneta. Ni CSMA/CD nije univerzalno
primjenjiv.
Prosljeđivanje tokena
Suština ovog protokola je prosljeđivanje male poruke zvane token s jedne stanice do
sljedeće, po istom unaprijed definisanom redoslijedu. Token je pristupna riječ, odnosno
dozvola za slanje. Ako stanica u toku prijema tokena ima okvir u redu čekanja za slanje,
može ga poslati prije nego što token proslijedi sljedećoj stanici. Ukoliko stanica nema svoj
okvir u redu čekanja na slanje, odmah prosljeđuje token sljedećoj stanici.
Nakon slanja okvira, svaka stanica mora sačekati da svih N stanica (i ona sama) pošanje
token svojoj susjednoj stanici i da ostalih N – 1 stanica pošalje po jedan okvir, ako ga
imaju. Nisu privilegovane stanice s niskim niti one s visokim brojevima, pošto su sva mjesta
u prstenu ekvivalentna. Prije nego što protokol pređe na sljedeći korak u mreži tipa token
prstena, svaka stanica šalje token samo do susjedne stanice. Svaki token ne mora da obiđe
sve stanice prije nego što protokol pređe na sljedeći korak.
Literatura
Preuzeto iz:
Andrew S. Tanenbaum, David J. Wetherall, „Računarske mreže“, prevod petog izdanja,
Mikro knjiga Beograd, 2013.