Download as pdf or txt
Download as pdf or txt
You are on page 1of 118

Računarske mreže

Sloj veze podataka


(Data Link Layer)
Sloj veze podataka

• Algoritmi za postizanje pouzdane i efikasne


komunikacije između dva susedna računara na
nivou sloja veze
• Susedni računari:
– Povezani komunikacionim kanalom
– Biti se isporučuju tačno onim redom kojim su i
poslati (npr. koaksijalni kabl, tel. linija, ...)
• Na komunikacionom kanalu postoje greške
• Razlika u brzinama slanja, prenosa i prijema
podataka

Predavanja 2
Sloj veze - uvod

• Odgovornost za pouzdan i efikasan prenos


podataka od uređaja do uređaja
• Kontrola načina slanja podataka ka
medijumu Network Layer
• Organizacija bita sa fizičkog
Data Link Layer
nivoa u konzistentnu poruku za sloj mreže
• Glavne funkcije protokola na sloju veze: Physical Layer
– Media Access Control
• Kontrola kada računar šalje podatke
– Error Control
• Detekcija i korekcija greške u prenosu
– Određivanje početka i kraja poruke
Predavanja 3
Sloj veze podataka

Mrežni sloj

Fizički sloj

Predavanja 4
Sloj veze - terminologija

Tx Rx

Paket Paket
frame trailer
header

Polje za Polje za
zaglavlje završni blok zaglavlje završni blok
korisničke podatke korisničke podatke

Okvir (frame) Payload field

Okviri imaju strogo ograničenu veličinu, definisanu hardverom


Predavanja 5
Sloj veze podataka – IEEE standard

Predavanja 6
Zahtevi za sloj veze podataka

• Okviri treba da se isporučuju višim slojevima


prijemnika u istom redosledu kako su dobijeni od
viših slojeva na strani predajnika
• Ne bi smelo da se vrši dupliranje – isporučivanje
istog okvira višim slojevima više puta
• Okviri bi trebalo da se isporučuju bez grešaka

Predavanja 7
Usluge koje se obezbeđuju
za mrežni sloj

PC1 PC2 PC1 PC2

5 5 5 5

4 4 4 4
3 3 3 3

2 2 2 2
1 1 1 1

Virtuelni tok podataka


Stvarni tok podataka
Predavanja 8
Sloj veze podataka

Network
host-to-host

Link
node-to-node
frame-by-frame

...101101001000100101101011010...
Physical
node-to-node
bit-by-bit
Predavanja 9
Usluge koje se obezbeđuju
za mrežni sloj

• Sloj veze podataka može da obezbedi različite


usluge za mrežni sloj

1. Prenos podataka bez uspostavljanja


direktne veze i bez potvrde o njihovom
prijemu
2. Prenos podataka bez uspostavljanja
direktne veze sa potvrdom o njihovom
prijemu
3. Prenos podataka sa uspostavljanjem
direktne veze i sa potvrdom o njihovom
prijemu
Predavanja 10
1. Prenos podataka bez uspostavljanja direktne
veze i bez potvrde o njihovom prijemu
• Tx računar šalje nezavisne okvire za Rx i ne
zahteva potvrdu o prijemu
• Nema uspostavljanja niti raskidanja (logičke) veze
• Ako se neki okvir izgubi, ovaj sloj to ne registruje
• Pogodno je za mesta sa malom verovatnoćom
greške
– Ispravljanje grešaka se prepušta višim
slojevima
• Pogodno za saobraćaj u realnom vremenu
– Npr. prenos govora – gde je najbitnije kašnjenje
• Koristi se u većini LAN-ova
Predavanja 11
2. Prenos podataka bez uspostavljanja direktne
veze sa potvrdom o njihovom prijemu

• Pouzdanija usluga
• Ne uspostavlja se logička veza između Tx i Rx
• Zahteva se potvrda o prijemu za svaki primljeni
okvir
• Kada se utvrdi da neki okvir nije stigao Tx strana
ga ponavlja
• Usluga je pogodna za kanale sa visokim šumom
–npr. bežični sistemi

Predavanja 12
2. Usluga

• Potvrda okvira na nivou sloja veze nije neophodna


• Može se prepustiti višem sloju
– Ponavlja se ceo paket ako nije stigao
• Paketi se obično dele na više okvira
• Primer: Prosečan paket sadrži 10 okvira, a 20% ne stiže
do Tx
– Usluga sa potvrdom okvira se brže odvija od ponavljanja celog
paketa
• Ovo nije dobro kod npr. prenosa po optičkim vlaknima
– Puno vremena se gubi na potvrde, a kanal je dobar

Predavanja 13
3. Prenos podataka sa uspostavljanjem direktne
veze i sa potvrdom o njihovom prijemu
• Uspostava veze između Tx i Rx pre razmene
podataka
• Svaki poslati okvir se numeriše
• Garantuje se da je takav okvir primljen
• Primena npr. za vezu između rutera, tj. za veze
od tačke do tačke
– Ruter se na mrežnom sloju “opterećuje”
algoritmima za rutiranje, a ne sa izgubljenim
okvirima

Predavanja 14
3. Prenos podataka sa uspostavljanjem direktne
veze i sa potvrdom o njihovom prijemu

• Tri odvojene faze:


1. Inicijalizacija promenljivih i brojača koji vode
računa o primljenim okvirima
2. Prenosi se jedan ili više okvira
3. Veza se raskida, oslobađaju se promenljive,
baferi i drugi resursi

Predavanja 15
3. Protokol na sloju veze čini komunikacionu
liniju savršenom Ruter
Ruter
Ruter Ruter
2 2
Protokol na sloju veze

2 3 2 2 3 2

2 2

Ruter
Primer: WAN mreža sa ruterima koji su povezani iznajmljenim linijama

Predavanja
Ruter
16
Sloj veze

“linkovi”

Terminologija:
• Krajnji računari i ruteri su
čvorovi
• Komunikacioni kanali koji spajaju
čvorove su spojni putevi, veze ili
linkovi
– žična veza
– bežična veza
– LAN-ovi
• Na sloju veze osnovna jedinica
za prenos je okvir (frame)

Sloj veze podataka je odgovoran za prenos


paketa između susednih čvorova po datom
spojnom putu
Predavanja 17
Sloj veze

• Datagrami se prenose različitim protokolima sloja veze podataka po


različitim spojnim putevima:
– npr., Ethernet je prvi spojni put, frame relay je posredni spojni put, 802.11 je
na kraju spojni put
• Svaki protokol sloja veze pruža različite servise višim slojevima
– npr., pouzdana/nepouzdana uspostava sa i bez potvde o prijemu

Predavanja 18
Implementacija sloja veze podataka

• U krajnjim računarima
• U mrežnim adapterima
(network interface card host schematic

NIC) application
transport
– Ethernet card, PCMCI card, network cpu memory
802.11 card link

– Radi u fizičkom sloju i sloju host


veze podataka controller
bus
(e.g., PCI)
link
• Povezana je na sistemske physical
physical
magistrale računara transmission

• Kombinacija: hardware, network adapter


software, firmware card

Predavanja 19
Komunikacija mrežnih adaptera

datagram datagram

controller controller

Predajni računar Prijemni računar


datagram

okvir

• Predajna strana: • Prijemna strana


– Enkapsulira datagrame u – Kontrola greške, kontrola
okvire toka, itd.
– Dodaje bite za kontrolu – Izdvaja datagrame i predaje
greške, kontrolu toka itd. ih mrežnom sloju
Predavanja 20
Mrežni adapter

• Sadrži interfejs prema magistrali i interfejs prema


spojnom putu
• Radi poluautonomno
• Kada ima nešto da preda računaru, izaziva prekid prema
procesoru i predaje mu primljeni okvir
• Ako zaključi da je okvir pogrešan može da ga odbaci ne
obaveštavajući drugu stranu
• Zavisno od servisa prema višim slojevima može da:
– Prati brojeve okvira
– Prati tajmere
– Generiše potvrde itd.

Predavanja 21
Sloj veze podataka

Mrežni sloj

Fizički sloj

Predavanja 22
Formiranje okvira

1. Podela toka podataka u okvire konačne (fiksne) dužine


2. Izračunavanje kontrolnog zbira (checksum) za svaki
okvir

• Problem pronalaženja početka i kraja okvira


• Mreže ne garantuju sinhronizovanost događaja na Tx i
Rx strani
• Na fizičkom nivou moguće su greške

Predavanja 23
Formiranje okvira

• Obeležavanje početka i kraja


– Prebrojavanje broja znakova
• Mana: može biti loše očitana dužina
– Upotreba indikatorskih bajtova uz umetanje
bajtova (flegovi)
• Mana: i podaci mogu biti takvi da odgovaraju
flegovima
– Upotreba početnih i završnih indikatora uz
umetanje bita
Predavanja 24
Obeležavanje početka i kraja

– Prebrojavanje broja znakova


Dužina okvira

7 1 2 3 4 5 6 4 1 2 3 8 1 2 3 4 5 6 7 5 1 2 3 4

Okvir 1 Okvir 2 Okvir 3 Okvir 4

Greška (pročitano 6 tj. 0100 se pročita kao 0110)

7 1 2 3 4 5 6 4 1 2 3 8 1 2 3 4 5 6 7 5 1 2 3 4

Okvir 1 Okvir 2 Okvir 3 Okvir 4


Predavanja 25
Obeležavanje početka i kraja

– Upotreba indikatorskih bajtova sa umetanjem


bajtova
FLAG Zaglavlje Korisnički podaci Završni blok FLAG

– Umetanja zbog moguće pojave flegova u podacima

Kontrolni bajt

A FLAG B A ESC FLAG B

A ESC B A ESC ESC B

A ESC FLAG B A ESC ESC ESC FLAG B


Predavanja 26
Umetanje bajtova (Byte Stuffing)

FLAG

FLAG+ESC

Predavanja 27
Obeležavanje početka i kraja

• Umetanje bajtova se primenjuje kod


povezivanja kućnih PC-a sa davaocem Internet
usluga (PPP protokol)
• Problemi:
– Nisu kodovi svih znakova 8-bitni
(npr. kod UNICODE koristi 16 bita)

Predavanja 28
Umetanje bita (Bit Stuffing)

• Upotreba početnih i završnih indikatora uz


umetanje bita
– Početak i kraj okvira su 01111110
– Kada se u sloju veze Tx strane naiđe na pet
uzastopnih jedinica ubacuje se 0
– Ako u podacima postoji indikatorski kod on se
automatski zamenjuje sa 011111010

– Ova tehnika je moguća ako okviri sa podacima


mogu da budu različite
Predavanja
dužine 29
Kontrola grešaka

• Pouzdanost isporuke – obezbeđuje se ako ima


potvrde (ACK ili NAK)
• Problem: kada se okvir potpuno izgubi, Rx strana ne
šalje ni ACK ni NAK
– Neophodan je tajmer
T1 - slanje
T2 - obrada
T3 - prijem

• Moguće je i da se isti okvir pošalje dva puta


– Neophodan je redni broj okvira
Predavanja 30
Sloj veze podataka

Mrežni sloj

Fizički sloj

Predavanja 31
Kontrola greške (Error Control)

• Upravljanje greškama na mreži koje su izazvane


problemima u prenosu
– Greške na mreži
• Npr., promena vrednosti bita u toku prenosa
– Kontrola mrežnim hardverom i softverom
– Greške čoveka:
• Npr., pogrešno otkucan broj (karakter)
– Kontrolisane aplikacijom
• Kategorije mrežnih grešaka
– Narušavanje (promenjen podatak)
– Izgubljen podatak (lost data)
Predavanja 32
Kontrola grešaka

• Nivo greške (error rate)


– 1 pogrešan bit na n poslatih bita,
• Npr., 1 na 500.000
• Grupne greške (burst error)
– Više bita je narušeno u isto vreme)
– Greške nisu uniformno raspoređene
• Npr., nije isto
100 na 50,000,000  1 na 500,000
• Osnovne funkcije
– Sprečavanje grešaka (Preventing errors)
– Detekcija grešaka (Detecting errors)
– Ispravljanje grešaka (Correcting errors)

Predavanja 33
Izvori grešaka

• Šum na liniji i degradacija – osnovni uzrok


– Očekivan na električnim medijima
– Neočekivan električni signal
– Nastaje usled uređaja i prirodnih poremećaja
– Degradira performanse mreže
– Manifestacije
• Dodatni biti – umetanje (extra bits)
• Nedostajući biti – brisanje (missing bits)

Predavanja 34
Izvori grešaka i prevencija

Izvor greške Uzrok Prevencija


Prekid linije Greške uređaja, incidenti, linija ...

Beli Gausov šum Prenos električne energije Povećati snagu signala


(povećanje SNR)
Najvažnije

Impulsni šum Nagle promene struje Oklapanje kablova i njihovo


(npr., osvetljenje, napajanje) pomeranje
Preslušavanje Bliski kablovi, nedovoljno Povećanje freq. opsega i
razmaknuti freq. opsezi pomeranje kablova
Eho Loše veze (signal se reflektuje do Provera konektora ili
izvorišta) podešavanje uređaja
Slabljenje Povećava se sa rastojanjem Upotreba ripitera ili
pojačivača
analogne sisteme

Intermodulacioni Signal nastao kombinacijom iz više Pomeranje ili oklapanje žica


Uobičajeno za

šum prenosnih sistema


Džiter Promena analognih signala Podešavanje uređaja
(amplituda, frekvencija, faza)
Harmonijska Pojačivači menjaju fazu (nekorektno Podešavanje uređaja
izobličenja pojačanje ulaznog signala)
Predavanja 35
Hamingovo rastojanje

• Ukupna dužina okvira n=m+r


– m: dužina poruke
– r: redudantni biti
• Okvir dužine n – kodna reč (codeword)
• Primer: 10001001
10110001 XOR
00111000
• Hamingovo rastojanje je 3

Predavanja 36
Hamingovo rastojanje

• Mogućnost detekcije i ispravke greške zavisi od


minimalnog Hamingovog rastojanja
• Detekcija d grešaka zahteva kod sa min.
rastojanjem d+1
• Ispravka d grešaka zahteva kod sa min.
rastojanjem 2d+1

Predavanja 37
Hamingovo rastojanje

• Primer detekcije: bit parnosti


– Minimalno Hamingovo rastojanje je 2
– Mogu se detektovati samo jednostruke greške

• 010011001
010001000 XOR
000010001

• 000000011
000000101 XOR
000000110

Predavanja 38
Hamingovo rastojanje

• Primer korekcije:
– Npr. Postoje 4 kodne reči
0000000000 0000011111 1111100000
1111111111
– Minimalno Hamingovo rastojanje je 5
– Moguće je ispraviti do dve greške
– Npr: primljena kodna reč 0000000111 se
konvertuje u ispravnu 0000011111
– Više od dva pogrešna bita se ne može ispraviti
Predavanja 39
Detekcija greške

Primalac izračunava
Pošiljalac izračunava
dodatak i poredi ga sa
dodatak i šalje ga
dobijenim
zajedno sa korisnim
podacima
Matematički Matematički
algoritam algoritam
?
=
Korisni dodatak
podaci
– Ako je isto  nema
greške u prenosu
Povećanje dužine:
bolja detekcija greške, – Ako je različito 
manja efikasnost prenosa greška u prenosu
Predavanja 40
Detekcija greške

EDC= Biti za: Error Detection and Correction (redudansa)


D = Korisni podaci (mogu da uključe i zaglavlje okvira)
• Detekcija ne mora da bude 100%
• Protokoli mogu da “propuste” neke greške
• Duži EDC obezbeđuje bolju detekciju i korekciju

Predavanja 41
Tehnike za detekciju greške

• Provera parnosti
• Longitudinal Redundancy Checking (LRC)
• Polinomijalna provera
– Checksum
– Cyclic Redundancy Check (CRC)

Predavanja 42
Provera parnosti

• Najstariji metod i najjednostavniji


• Jedan bit se dodaje svakom karakteru
– Parna parnost (Even parity)
– Neparna parnost (Odd parity)
• Prijemnik prima i ponovo računa bit parnosti
– Može se uočiti neparan broj pogrešnih bita
• Jednostavan metod, ali ne detektuje sve greške
– Detektuje se oko 50% grešaka

Predavanja 43
Primer korišćenja bita parnosti

Slanje: karaktera “V” u 7-bit ASCII kodu: 0110101

EVEN parity sender receiver


01101010
number of all
transmitted 1’s
remains EVEN parity

ODD parity sender receiver


01101011

Predavanja
parity 44
LRC - Longitudinal
Redundancy Checking

• Dodaje se dodatni karakter (umesto bita)


– Block Check Character (BCC) – za svaki okvir podataka
– Dodatak kao bit parnosti, ali se računa duž cele poruke (kao i
vertikalno)
– Izraćunavanje se zasniva na prvom bitu, drugom bitu itd. (za sve
karaktere) u bloku
• Prvi bit u BCC  broj jedinica u prvim bitovima svih
karaktera
• Drugi bit u BCC broj jedinica u drugom bitu svih karaktera
• Mogućnost provere ovom metodom
– 98% detektovanih grešaka u okvirima ( > 10 bits)
– Mogućnost detekcije pojedinačno pogrešnih bita

Predavanja 45
Korišćenje LRC za
detekciju greške

Primer:
Slanje poruke “DATA” korišćenjem ODD parity i LRC

Letter ASCII
D 1000100
A 1000001
T 1010101
A 1000001
BCC 0 0 1 0 0 0 1

Predavanja 46
Korišćenje LRC za korekciju greške

Dvodimenzonalna šema parnosti omogućava detekciju i korekciju


pojedinačno pogrešnih bita u bloku
Predavanja 47
Polinomijalna provera Polynomial Checking
• Dodaje se 1 ili više karaktera na kraj poruke (zasniva
se na matematičkom algoritmu)
• Dva tipa:
– Kontrolna suma (Checksum) i
– CRC
• Checksum
– Sračunava se sabiranjem decimalnih vrednosti
svakog karaktera u poruci,
– ukupna vrednost se deli sa 255,
– ostatak deljenja (1 bajt) je kontrolna suma
– Efikasnost je 95%
– Najčešće se implementira za Transpotni sloj
Predavanja 48
Cyclic Redundancy Check (CRC)

Primer:
P = 58
P/G=Q+R/G G=8
Q=7
R=2
Poruka
(posmatra se Rezultat Ostatak:
kao jedan deljenja –Dodatak uz poruku
dugački (ceo broj)
–Može da bude
binarni broj)
Poznat broj dužine: 8,16,24 ili
(određuje 32 bita
dužinu R)

– Najjači i najviše upotrebljavan u sloju veze podataka


– Detektuje se 100% grešaka (ako je broj grešaka <= veličine R)
– Inače: CRC-16 (99.998%) i CRC-32 (99.9999%)

Predavanja 49
Korekcija greške - Error Correction

• Tehnike za korekciju greške


– Retransmisija (tip tehnike: Backward Error
Correction)
• Jednostavno, efikasno, jeftino, najčešće u upotrebi
• Korekcija retransmisijom podataka
– Prijemnik, kada detektuje grešku, traži od predajnika da ponovo
pošalje poruku
• Čest naziv: Automatic Repeat Request (ARQ)
– Forward Error Correction – korekcija greške
unapred
• Prijemnik na osnovu primljenih podataka može sam da
ispravi grešku Predavanja 50
Forward Error Correction (FEC)
• Prijemnik može da koriguje greške na osnovu
primljene poruke (bez retransmisije)
• Dodatni biti se računaju na osnovu poruke
– Ekstra informacija je oko 50-100% dužine
korisne informacije
• Pogodno za satelitske komunikacije
– Prenos u jednom smeru (retransmisije nisu
efikasne)
– Vreme prenosa je veoma dugo (retransmisije
bi samo povećavale ovo vreme)
– Beznačajna cena FEC-a (u odnosu na
ukupnu cenu sistema)
Predavanja 51
Sloj veze podataka

Mrežni sloj

Fizički sloj

Predavanja 52
Kontrola pristupa medijumu

Dva osnovna pristupa:


• Point-to-point (PPP)
– PPP za dial-up pristup
– point-to-point veza između Ethernet switch-a i računara
• Broadcast – difuzna veza (deljeni medijum)
– stari Ethernet
– satelitska komunikacija
– 802.11 wireless LAN

humans at a
shared wire (e.g., shared RF shared RF cocktail party
cabled Ethernet) (e.g., 802.11 WiFi) (shared air, acoustical)
Predavanja (satellite) 53
Sloj veze podataka

Predavanja 54
MAC – Media Access Control

• Podela mreža:
– Veze od tačke do tačke
– Kanali za neusmereno difuzno emitovanje
• Ekvivalentni nazivi
– Kanali za višekorisnički pristup (multiaccess
channels)
– Kanali za slučajan pristup (random access
channels)
• Upravljanje pristupom medijumima – protokol kojim se
određuje sledeći korisnik kanala
• Donji podsloj sloja vezePredavanja
podataka 55
Problem dodeljivanja kanala

• Statičke šeme dodeljivanja kanala


– FDM – multipleksiranje podelom frekvencija
• Neiskorišćenost ako je broj korisnika manji od broja kanala
• Problemi ako je broj korisnika veći od broja kanala
• U računarskim sistemima saobraćaj je neredovan
– TDM – multipleksiranje podelom vremena
• Nisu pogodne za računarsku primenu gde se saobraćaj
odvija u grupama (rafalima) – povremeno i sa velikim
protokom

Predavanja 56
Problem dodeljivanja kanala

• Osnovne pretpostavke
– Posmatraju se nezavisni terminali koji generišu
okvire za slanje
– Svi terminali su povezani jedinstvenim kanalom
– Istovremeno emitovanje dovodi do kolizije
podataka (collision)
– Ne postoji centralni časovnik za određivanje
vremena slanja
– Terminali mogu da osluškuju ili da ne osluškuju
saobraćaj na kanalu
Predavanja 57
ALOHA – protokol za višekorisnički
pristup

• Prva primena: Radiodifuzno emitovanje


• Nezavisni korisnici se nadmeću za korišćenje
jedinstvenog zajedničkog kanala
– Čista ALOHA
• ne zahteva sinhronizaciju globalnog vremena
– Vremenski raspodeljena ALOHA
• Vreme je izdeljeno na intervale konačne dužine u
koje se moraju uklopiti svi okviri

Predavanja 58
Čista ALOHA (pure ALOHA)

• Ideja: dozvoliti korisnicima da emituju kada imaju podatke


(contention)
• Tx osluškuje komm. kanal ili čeka povratnu potvrdu
• Vreme čekanja je slučajno
• Kada dva korisnika zauzmu kanal u isto vreme, okviri se
oštećuju
• Kolika je efikasnost ALOHA kanala?

Predavanja 59
Čista ALOHA

Vreme potrebno
za prenos standardnog Preklapanje i
okvira fiksne dužine kolizija

Ako broj pokušaja slanja tokom vremena potrebnog za slanje jednog paketa
iznosi G=0.5, tada iskorišćenje kanala iznosi oko 18%.

Predavanja 60
Vremenski raspodeljena ALOHA
(slotted ALOHA)

• Efikasnost čiste ALOHE je udvostručena


• Zahteva se dogovaranje korisnika oko granica vremenskih
intervala
• Iskorišćenje kanala iznosi oko 37%.

Predavanja 61
Vremenski raspodeljena ALOHA
(slotted ALOHA)

Predavanja 62
Pure ALOHA i slotted ALOHA

Predavanja 63
CSMA uz otkrivanje
sukoba

• Kada se otkrije kolizija prekida se emitovanje okvira,


zato što su sigurno izobličeni
– Prati se intenzitet i širina primljenog signala i
poredi sa poslatim
– Otkrivanje kolizije direktno zavisi od načina
kodiranja
• Na ovaj način se štedi vreme i propusni opseg kanala
• CSMA/CD – CSMA with Collision Detection
• Ovaj protokol je osnova LAN mreže tipa Ethernet
Predavanja 64
MAC protokoli za WLAN

• Sistem baznih stanica, međusobno povezanih koje imaju


ograničen domet
• Npr: sobe su zasebne ćelije, a cela zgrada višećelijski
sistem
• Jedna ćelija ima jedan kanal koji pokriva ceo propusni
opseg
• CSMA protokol nije upotrebljiv – smetnje su kod
prijemnika
• Problem je što nisu sve stanice u dometu

Predavanja 65
WLAN – Problem sa CSMA

A B C D

Domet emisije

• Problem skrivene stanice (hiden station problem)


– Stanica C ne može da osluškuje i da vidi šta
radi A
• Problem izložene stanice (exposed station problem)
– Ako B šalje ka A, C će da zaključi da ne može
da šalje ka D

Predavanja 66
Višekorisnički pristup uz
izbegavanje sukoba

• MACA – Multiple Access with Collision Avoidance


• Tx se javlja ka Rx sa kratkim okvirom, na koji Rx
odgovara, takođe kratko
• Na ovaj način se obaveštavaju sve ostale stanice koje su
u dometu
• RTS – zahtev za slanje (30 bajtova sa dužinom okvira
koji će naknadno biti poslat)
• CTS – dozvola za slanje (okvir sa podacima kopiranim iz
RTS okvira)

Predavanja 67
MACA

Domet stanice A Domet stanice B

C A RTS B D C A CTS B D

E E

• Opet postoje šanse za koliziju


• Ako je neko poslao RTS, a ne dobije CTS, posle nekog vremena
mora da ponovi zahtev
Predavanja 68
MACAW – MACA
for Wireless

• Poboljšan MACA protokol


• Uveden je ACK na svaki primljeni okvir (rešenje
problema izgubljenih okvira)
• Primenjen je CSMA princip da se spreči slanje RTS
okvira ako je stanica u dometu aktivna
• Primenjen je mehanizam da stanice razmenjuju
informacije o zagušenju

Predavanja 69
Poliranje

• Proces slanja na zahtev


– Klijent pripremi informaciju za slanje
– Server (periodično) polira klijente da li imaju
podatke za slanje
– Ako klijent ima podatke šalje ih tada
– Ako nema podatke za slanje klijent odgovara
negativno, i server polira sledećeg klijenta.
• Vrste poliranja
– Roll call polling
– Hub polling
(prosleđivanje žetona - token passing)
Predavanja 70
Roll Call Polling

Klijenti
Testira svakog D
klijenta (redom i C
periodično) da vidi
da li imaju nešto za E
prenos: A, B, C, D, B
E, A, B, …
Server A
Klijenti mogu imati
prioritete pa mogu biti • Prouzrokuje čekanje
češće prozivani npr. A, B,
A, C, A, D, A, E, A, B, .. • Neophodan je tajmer da bi
se sprečilo zaključavanje
(klijent koji ne odgovara)
Predavanja 71
Hub Polling
(Token Passing)

Jedan od računara
startuje poliranje:
E
• Šalje se token do D
drugog računara
A
• Vrednost tokena se token C
može menjati (ili
oslobađati) B

Predavanja 72
Relativne performanse

Za veliku gustinu saobraćaja


performanse se degradiraju
(previše kolizija)
Pristup na
osnovu sadržaja
Bolje za mreže sa
velikim saobraćajem

Konstrolisani Mreža se mnogo


pristup efikasnije koristi

Presek
(oko 20
Bolje za male mreže, računara)
sa malim
saobraćajem

Predavanja 73
Pristup medijumu

• Ideal - Pristup zajedničkom medijumu u kome nema


sukobljavanja
– Intervali vremena za slanje
– Faza rezervacije
– Nakon rezervacije okviri se prenose u skladu sa prioritetom

Predavanja 74
Sloj veze podataka

Mrežni sloj

Fizički sloj

Predavanja 75
Kontrola toka

• Kontrola pristupa deljenom resursu


– Stani i čekaj
– Uobičajeno se koristi na velikim računarima –
(mainframes)
• Određivanje koja veza ima pristup glavnom
računaru u datom vremenu

Predavanja 76
X-ON / X-OFF

A B
Stari protokol za Request to Transmit
kontrolu pristupa X-ON not busy
transmitting data
data

Pausing X-OFF busy


(periodically done)
X-ON
not busy
data
transmitting
data

Sreće se i u pojedinim poludupleksnim načinima rada


Predavanja 77
Kontrola toka
(Flow Control)

• Mehanizam kojim se obezbeđuje da predajnik


ne “pretrpa” prijemnika sa podacima
– Sprečava se “buffer overflow”
• Vreme slanja (Transmission time)
– Vreme potrebno da se pošalju svi biti na
medijum za komunikaciju
• Vreme prostiranja (Propagation time)
– Vreme potrebno da biti stignu od predajnika
do prijemnika kroz komunikacioni medijum
Predavanja 78
Model za slanje rama podataka (frame)

Predavanja 79
Automatic Repeat
Request (ARQ)

• Osnovni ARQ protokoli


– Stani i čekaj (Stop and Wait ARQ) (poludupleksna tehnika)
• Predajnik šalje poruku i čeka odgovor – potvrdu
(acknowledgment), zatim šalje sledeću poruku
• Prijemnik prima poruku, šalje potvrdu, a zatim čeka sledeću
poruku
– Kontinualni ARQ (tehnika punog dupleksa)
• Predajnik šalje pakete bez da čeka odgovor prijemnika
• Prijemnik neprekidno prima poruke bez obaveze da odmah
odgovara

Predavanja 80
Stop and Wait ARQ

Predajnik Prijemnik
Slanje paketa i
čekanje na
odgovor od Sends
prijemnika acknowledgement

Sends negative
acknowledgement

Predavanja 81
Kontinualan ARQ

Predajnik šalje pakete bez da


čeka potvrdu prijemnika

Prijemnik vraća NAK


za tačno određeni
paket koji treba ponovo
poslati

Predavanja 82
Fragmentacija

• Veliki blokovi podataka se mogu deliti u manje


celine - ramove
– Ograničena je veličina bafera
– Brža je detekcija greške
– Ako postoji greška vrši se retransmisija
manjih ramova
– Sprečava se da jedan predajnik zauzme
medijum za komunikaciju u dužem periodu
• Protokol tipa stop and wait je neadekvatan u
ovom slučaju
Predavanja 83
Kontrola toka
(Flow Control) sa ARQ

• Obezbeđenje da predajnik ne šalje podatke brže


od mogućnosti prijemnika
– Stop-and-wait ARQ
• Prijemnik šalje ACK ili NAK kada je spreman za
prijem novog paketa
– Kontinualni ARQ:
• Obe strane se dogovaraju oko dužine klizećeg
prozora
– Dužina klizećeg prozora - broj poruka koje se mogu obraditi
na prijemu bez značajnijeg kašnjenja
Predavanja 84
Kontrola toka - primer

Dužina prozora =4 predajnik prijemnik


...3 2 1 0
0123456789
ACK 0...
(klizeći prozor)
...4
0123456789
ACK 4...
(klizeći prozor)
…8 7 6 5
0123456789
ACK 7.. Setuje se
(klizeći prozor) dužina
..9 prozora na 2
0123456789
(timeout)
...9 8
0123456789
Predavanja 85
Sloj veze podataka

Mrežni sloj

Fizički sloj

Predavanja 86
Adresiranje

LAN (MAC ili fizičke) adrese:


• Slanje okvira od jednog do
drugog fizički povezanog
interfejsa
• MAC adrese dužine 48 bita
(za većinu LAN-ova)
Sačuvane u ROM-u NIC-a
(mogu se prepisati)

Predavanja 87
Adresiranje

Računar A šalje datagram na IP


A 223.1.1.1
adresu računara B
 Na osnovu IP adrese i maske 223.1.2.1
223.1.1.2
određuje se da je B u istoj podmreži 223.1.1.4 223.1.2.9
 Sloj veze podataka šalje datagram B
223.1.2.2
koji je enkapsuliran u okvir 223.1.1.3 223.1.3.27 E

223.1.3.1 223.1.3.2

okvir source, datagram source,


dest adrese dest adrese

A’s MAC B’s MAC A’s IP B’s IP


IP payload
addr addr addr addr

datagram
okvir Predavanja 88
• Svaki IP čvor (računar, router) u
ARP LANu ima ARP modul, tabelu
– ARP tabela: mapirane IP/MAC
ARP – protokol kojim se na adrese
osnovu IP adrese određuje < IP address; MAC address; TTL>
fizička adresa čvora < ……....…………………….. >
• TTL (Time To Live): vreme života
(tipično 20 min);
– A šalje broadcasts ARP zahtev, koji
sadrži IP adresu računara B
– B prihvata ARP paket, vraća svoju
fizičku adresu ka računaru A
– A čuva (caches) novi par IP/MAC do
isteka vremenske kontrole

Predavanja 89
Adresiranje računara koji je
u drugom LAN-u

Pretpostavka: A zna IP adresu B


74-29-9C-E8-FF-55 88-B2-2F-54-1A-0F

A E6-E9-00-17-BB-4B
222.222.222.221
1A-23-F9-CD-06-9B
111.111.111.111

222.222.222.220 222.222.222.222
111.111.111.110
B
111.111.111.112
R 49-BD-D2-C7-56-2A
CC-49-DE-D0-AB-7D

• Dve ARP tabele u ruteru R, svaka za određeni LAN


Predavanja 90
• A formira IP datagram sa source A, destination B
• A koristi ARP za dobijanje MAC adrese za R (IP=111.111.111.110)
• A kreira okvir za MAC adresu R, u datagramu su IP adrese A i B
• NIC A šalje okvir
• NIC R prima okvir
• R izdvaja datagram iz okvira, na osnovu IP adrese računara B zna
šta je odredište
• R koristi ARP da bi došao do MAC adrese računara B
• R kreira okvir koji se šalje ka MAC B, i sadrži datagram sa IP
adresama A i B

74-29-9C-E8-FF-55 88-B2-2F-54-1A-0F

A
E6-E9-00-17-BB-4B
222.222.222.221
1A-23-F9-CD-06-9B
111.111.111.111

222.222.222.220 222.222.222.222
111.111.111.110 B
111.111.111.112
R 49-BD-D2-C7-56-2A

CC-49-DE-D0-AB-7D
Predavanja 91
Ethernet

Najdominantnija LAN tehnologija:


• Jeftina tehnologija u odnosu na Token ring i ATM
• Podržane brzine: 10 Mbps – 10 Gb/s

Metcalfe’s Ethernet
sketch

Predavanja 92
Ethernet

• Ethernet je danas dominantna LAN tehnologija u svetu


• Ethernet specifikacija podržava različite komunikacione
medijume, frekv. opseg, i ostale varijacije na sloju 1 i 2,
kao što je MAC strategija za pristup fizičkom sloju
• Osnovni format okvira i adresna šema za sve varijacije
etherneta su isti
• Jednostavan i prilagodljiv (promena kablova), jeftino
• IP protokol (osnova TCP/IP), radi bez uspostavljanja
direktne veze – komaptibilnost sa Eternetom
• Povećanje brzine komuniciranja
• Uvedeni su habovi i switchevi, ali nije menjan softver

Predavanja 93
Ethernet

• CSMA/CD metod za pristup fizičkom medijumu


• Kao standard prvi put je uveden 1980. godine (DEC,
XEROX)
• 1985. godine IEEE donosi standard za ethernet pod
nazivom 802.3 (specifikacije za: fizički sloj i MAC podsloj)
• Ethernet je uveden za brzine od 10 Mb/s, a danas
podržava i 10 Gb/s
• Standard za 100 Mb/s je uveden 1995.
• Standard za gigabitni ethernet je uveden 1998/1999.

Predavanja 94
Ethernet okvir

Preambula: 7 bajtova 10101010, na kraju 10101011


– Za sinhronizaciju prijemnika, ekstrakcija takta, ...
Adrese: 6 bajtova (48 bita)
Type: ukazuje na protokol višeg nivoa, najčešće je to IP,
ali i drugi protokoli (npr. Novell IPX ili AppleTalk, ...)
CRC: ako prijemnik detektuje grešku okvir se odbacuje

Predavanja 95
Ethernet

• Protokol MAC podsloja


– Preambula: 7 bajtova 10101010
– Adrese: 6 bajtova
• MSB = 0: obične adrese
• MSB = 1: grupne adrese
• Ako je adresa sa svim jedinicama: neusmereno
difuzno emitovanje (broadcast)
– Dužina Ethernet okvira je minimalno 64 bajta

7 1 6 6 2 0-1500 0-64 4
Adr Adr Kontr.
Preambula SOF Dužina Podaci Dopuna
odredista izvorista zbir
Predavanja 96
Ethernet

• Protokol MAC podsloja


– MAC adrese
• 48 bit (predstavljaju se sa 12 heksadecimalnih cifara)
• Prvih 6 hex cifara određuju proizvođača (OUI)
• Sledećih 6 hex cifara određuju serijski broj interfejsa
• Upisane su u ROM, a kopiraju se u ram NIC-a pri inicijalizaciji
– Dužina/Tip: Ako je dužina veća od 1500 tada je
to Tip
• Tip se koristi da bi se razlikovali npr. različiti protokoli višeg
(mrežnog sloja)
– Dopuna: nadopunjuje podatke kratke dužine
(poruka ne sme biti kraća od 64 bajta)
Predavanja 97
Manchester
enkodovanje

• Korišćen u 10BaseT
• Ne zahteva se poseban signal takta između
predajnika i prijemnika!
• Zahteva dva puta veći propusni opseg
Predavanja 98
802.3 Ethernet
standard

• Više različitih Ethernet standarda


– zajednički MAC protocol i format okvira
– Različite brzine: 2 Mbps, 10 Mbps, 100
Mbps, 1Gbps, 10G bps
– Različiti medijumi: žica, optika

MAC protocol
application and frame format
transport
network 100BASE-TX 100BASE-T2 100BASE-FX
link 100BASE-T4 100BASE-SX 100BASE-BX
physical

Bakar (TP) - fizički sloj Optika – fizički sloj


Predavanja 99
5: DataLink Layer 5-99
Mrežni sloj

Sloj veze LLC


podataka MAC

Fizički sloj
• Upravljanje logičkom vezom
(LLC - Logical Link Control)
• Skriva razlike između različitih vrsta mreža tipa 802
– obezbeđuje jedinstven interfejs prema mrežnom sloju
• LLC je kreiran da obezbedi:
– nepouzdanu uslugu datagrama
– uslugu datagrama sa potvrđivanjem
– pouzdanu uslugu sa uspostavljanjem direktne veze

Predavanja 100
Ethernet usluga za
više slojeve

• Bez uspostave veze: Nema dogovaranja (no


handshaking) između predajnog i prijemnog NIC-a
• Bez potvrde o prijemu: Prijemni NIC ne odgovara sa
ACK/NACK predajnom NICu
– Eventualne greške su prepuštene protokolima viših slojeva

Predavanja 101
Switch - inicijalizacija

Source: A
Dest: A’
• Switch uči koji čvor je na A A A’
kom interfejsu
– U tabelu se zapisuje MAC C’ B
adresa pošiljaoca, interfejs i
TTL datog zapisa
1 2
6 3
5 4

B’ C
MAC addr interface TTL A’
A 1 60 Switch table
(initially empty)

Predavanja 102
Switches vs. Routers

• Uređaji tipa store-and-forward


– routers: uređaj mrežnog sloja
– Switches: (bridges) uređaj sloja veze podataka
• Routeri održavaju tabele rutiranja, koriste algoritme
rutiranja
• Switch-evi održavaju tabele filtriranja, koriste algoritme
filtriranja i učenja

Switch
Predavanja 103
PPP – Point to Point Protocol

• Protokol sloja veze podataka na Internetu


• Jedan predajnik – jedan prijemnik (lakše nego
broadcast)
– Saobraćaj između rutera na iznajmljenim
linijama (između rutera u mreži i udaljenog
rutera)
– Saobraćaj između korisnika i ISP-a
• Povezivanje korisnika na Internet pomoću
modema i PTT linija
• Korisnikov računar se povezuje sa ruterom ISP
• Veza se prekida kada korisnik završi sesiju
– Nema upravljanja tokom
Predavanja 104
PPP

Predavanja 105
PPP – Point to Point Protocol

• Definisan je sa RFC 1661, 1662 i 1663


• PPP protokol radi sa znakovima
• Svaki okvir sadrži celobrojan broj bajtova
• FLAG je : 01111110
• Adresa je uvek: 11111111 tj. sve stanice treba da prihvate
okvir
• Podržava više drugih protokola, omogućava dogovaranje IP
adresa, potvrđivanje identiteta itd.

1 1 1 1 ili 2 2 ili 4 1
Indikator Adresa Upravljačko polje Kontrolni
Protokol Podaci 01111110
01111110 11111111 00000011 Predavanja zbir 106
PPP – Point to Point Protocol

• Protokol PPP obezbeđuje:


– Formiranje okvira, detekciju greške
– Protokol za upravljanje vezom (povezivanje,
komunik. opcije, prekidanje veze) – LCP – Link
Control Protocol
– Dogovaranje opcija mrežnog sloja, nezavisno
od protokola koji se koristi na tom sloju – NCP –
Network Control Protocol

Predavanja 107
PPP – Point to Point Protocol

• Dial-up veza:
– Fizičko povezivanje putem modema
– Razmena LCP paketa (u jednom ili više PPP
okvira) kojima se dogovaraju PPP parametri
– Razmena NCP paketa za konfigurisanje
mrežnog sloja
• PC izvršava TCP/IP protokol i traži IP adrese
– Sa NCP se prekida veza u mrežnom sloju i
oslobađa se IP adresa
– Sa LCP se prekida veza u sloju podataka
– Na kraju se prekida modemska veza
Predavanja 108
PPP – Point to Point Protocol

• Adresa i Upravljačko polje su uvek isti


• Sa LCP se može dogovoriti njihovo izostavljanje
• Polje Protokol ima definisane vrednosti:
– Ako počinje sa 1: LCP, NCP
– Ako počinje sa 0: IP, IPX, AppleTalk, ..
• Polje Korisnički podaci
– Dužina se dogovara sa LPC
– Podrazumevana dužina je 1500 bajtova
Predavanja 109
Sinhrone komunikacije

• Podaci se šalju u velikim blokovima


– Blokovi: ramovi, paketi
– Tipično dužina je oko 1000 karaktera
(bajtova)
• Adresne informacije
– Uobičajeno se koristi kod multipoint mreža
• Sinhronizacioni karakteri (SYN)
• Vrste sinhronih protokola za prenos
– Bit-oriented protokoli: SDLC, HDLC
– Byte-count protokoli: Ethernet
– Byte-oriented protokoli:
Predavanja
PPP 110
Ethernet (IEEE 802.3)

• Najšire korišćeni LAN protokol, razvijen zajednički od:


Digital, Intel, i Xerox, sada je IEEE standard
– Današnji standard: IEEE 802.3ac
• Primenjuje se pristup medijumu na osnovu sadržaja
(contention based media access control)
• Byte-count protokol na sloju veze
• Ne postoji problem transparentnosti
– Koristi polje koje sadrži broj bajtova koji se
šalju (nema flegova)
• Error correction: opciono
Predavanja 111
Ethernet (IEEE 802.3) okvir
Koristi se za Virtualne Koristi se za prebrojavanje,
LANove; (Ako nema vLAN- ACK/NAK, itd., (1 ili 2 bajta)
a, polje se izostavlja 00
01
Ako se koristi, prva 2 bajta 10
imaju vrednost: 24,832 11
(8100H)

CRC-32

Niz nula i (broj bajtova u Koristi se za


jedinica poruci) razmenu kontrolnih
(1010101010) informacija, npr. tip
protokola na
mrežnom nivou
Predavanja (TCP/IP, IPX/SPX, ...) 112
Data Link Protocol

Protocol Size Error Detection Retransmission Media Access


Asynchronous Xmission 1 Parity Continuous ARQ Full Duplex

File Transfer Protocols

XMODEM 132 8-bit Checksum Stop-and-wait ARQ Controlled Access

XMODEM-CRC 132 8-bit CRC Stop-and-wait ARQ Controlled Access

XMODEM-1K 1028 8-bit CRC Stop-and-wait ARQ Controlled Access

ZMODEM * 32-bit CRC Continuous ARQ Controlled Access

KERMIT * 24-bit CRC Continuous ARQ Controlled Access

Synchronous Protocols

SDLC * 16-bit CRC Continuous ARQ Controlled Access

HDLC * 16-bit CRC Continuous ARQ Controlled Access

Token Ring * 32-bit CRC Stop-and wait ARQ Controlled Access

Ethernet * 32-bit CRC Stop-and wait ARQ Contention


SLIP * None None Full Duplex
PPP * 16-bit CRC Continuous ARQ Full Duplex
* Varira zavisno od dužine poruke
Predavanja 113
Efikasnost prenosa

• Cilj kod mreža:


– Prenos maksimalnog broja bita sa min greškom
 visoka efikasnost i niska cena
• Faktori koji utiču na efikasnost mreže:
– Karakteristike mreže (nivo greške, brzina)
– Brzine uređaja, tehnika za kontrolu greške
– Primenjeni protokol
• Informacioni biti (infomacija za korisnika)
• Dodatni (overhead) biti (provera greške, formiranje okvira,
itd.)

Ukupan broj info bita za prenos


= Ukupan broj bita za prenos
Predavanja 114
Protokoli i efikasnost
prenosa
Asinhroni prenos:
7-bit ASCII (info-biti), 1 parity bit, 1 stop bit, 1 start bit
Efikasnost prenosa = 7 / 10  70%
Npr. V.92 modem sa 56 Kb/s  39.2 Kb/s efektivna brzina

SDLC prenos
Pretpostavimo 100 info-karaktera (800 bita), 2 za flag (16 bita)
Adresa (8 bita), Control (8 bita), CRC (32 bita)
Efikasnost prenosa = 800 / 864  92.6%
Npr. V.92 modem sa 56 Kb/s  51.9 Kb/s efektivna brzina

Što je veća dužina poruke bolja je efikasnost


Ipak, veliki paketi mogu da imaju znatno više grešaka
(verovatne su retransmisije)  slabi se efikasnost prenosa
Predavanja 115
Propusna moć

• Preciznija definicija efikasnosti


• Ukupan broj primljenih infomacionih bita u jednoj sekundi;
Uzimaju se u obzir:
– Overhead biti (kao kod efikasnosti)
– Potrebe da se vrši retransmisija pogrešnih
paketa
• Kompleksno za računanje; zavisi od
– Efikasnosti prenosa
– Nivoa greške
– Broja retransmisija
• Transmission Rate of Information Bits (TRIB)
– Koristi se kao meraPredavanja
propusne moći 116
Optimalna dužina
paketa
Odnos propusne moći i dužine paketa

Prihvatljiv odnos

Predavanja 117
TRIB

= broj primljenih info-bita / ukupno vreme za prihvat bita


(broj info-bita) (verovatnoća uspešnog prenosa)
vreme potrebno za prenos bita + vreme propagacije
Npr:
Prosečan broj Verovatnoća da K=7 bits/character
Broj info-bita neinfo karaktera M = 400 char/block
će blok zahtevati
po karakteru po bloku R= 4.8 Kb/s
retransmisiju
C = 10 char/block
P = 1%
T = 25 ms
K (M – C) (1 – P)
TRIB = 7(400-10)(1-0.01)
(M / R) + T TRIB =
(400/600)+0.025)
Dužina Vreme između blokova = 3.908 Kb/s
paketa u Brzina (u sekundama)
prenosa u
karakterima karakterima
po sekundi
Predavanja 118

You might also like