Transcript ppt

FUNKCIJE NIVOA VEZE
IV POGLAVLJE
1
FUNKCIJA NIVOA VEZE
Na nivou veze, u saglasnosti sa OSI modelom, potrebno je obaviti
veći broj specifičnih funkcija koje se odnose na:
ostvarivanju servisa za potrebe mrežnog nivoa,
odredjivanju načina grupisanja bitova fizičkog nivoa u okvire,
manipulisanju sa greškama u prenosu,
regulisanju toka prenosa okvira tako da se i spori prijemnici ne
"prenatrpaju" porukama od strane brzih predajnika
2
Position of the data-link layer
3
Data link layer duties
4
SERVISI NA MREŽNOM NIVOU
Nivo veze treba da obezbedi usluge mrežnom nivou.
Osnovna usluga (servis) odnosi se na prenos podataka sa mrežnog
nivoa izvorne mašine ka mrežnom nivou odredišne mašine.
Kod izvorišne mašine na mrežnom nivou egzistira jedan proces
(zadatak) koji predaje odredjeni broj bitova nivou veze radi
njihovog prenosa ka odredištu.
5
VIRTUELNA I STVARNA
KOMUNIKACIJA
Host 1
Host 1
Host 2
Host 2
4
4
4
4
3
3
3
3
2
2
2
1
1
2
virtuelni put
podataka
1
1
Virtuelna
komunikacija
stvarni put
podataka
Stvarna
komunikacija
6
STANDARDNE USLUGE
Nivo veze može biti projektovan da pruži različite usluge,
najstandardnije su :
 nepotvrdjivanje okvira
 potvrdjivanje okvira
 potvrdjivanje brojivih poruka
7
STANDARDNE USLUGE
-nepotvrdjivanje okvira Izvorna mašina predaje nezavisne okvire odredišnoj pri čemu ih
odredišna ne potvrdjuje.
 Na početku i na kraju prenosa ne uspostavlja se i raskida veza,
respektivno.
 Ako se signal izgubi zbog šuma na liniji ne zahteva se novi
pokušaj za slanje.
 Ovaj tip prenosa koristi se kod pouzdanih komunikacija.
8
STANDARDNE USLUGE
-potvrdjivanje okvira Svaki okvir se predaje i potvrdjuje individualno.
 Predajnik zna da li je okvir korektno ili ne stigao do prijemnika.
 Ako za specificirani vremenski period okvir nije stigao do
prijemnika on se šalje ponovo.
 Ovaj tip usluga pogodan je za korišćenje kod nepouzdanih veza
kakve standardno srećemo kod bežičnog prenosa.
9
STANDARDNE USLUGE
-potvrdjivanje brojivih poruka Izvorišna i odredišna mašina pre početka prenosa uspostavljaju
vezu.
 U toku prenosa, svaki predati okvir se numeriše.
 Usluga na nivou veze garantuje da će se svaki okvir korektno
primiti i da će okviri biti primljeni u ispravnom redosledu.
10
FORMIRANJE OKVIRA
Podaci koji se predaju šalju se u obliku okvira.
Okvir čini deo poruke.
Jedan od standardnih pristupa za detekciju grešaka koji se koristi
na nivou veze zasniva se na podeli niza podataka na diskretne okvire
i izračunavanju suma-provere (checksum) za svaki okvir.
Kada okvir pristigne, na prijemnoj strani suma provere
izračunava se ponovo.
Kada je novodobijena suma provere različita od one koja je
sastavni deo okvira, nivo-veze zna da se javila greška i preuzima
odgovarajuće akcije (obično se zahteva od predajnika ponovo da
pošalje loše primljeni okvir).
11
DEOBA NIZA BITOVA NA OKVIRE
 Deoba niza bitova može se ostvariti koristeći jednu od
sledećih metoda:
 brojanje znakova
 karakteri početak i kraj prenosa, sa umetanjem karaktera
 umetanje bita
12
DEOBA NIZA BITOVA NA OKVIRE
-BROJANJE ZNAKOVA Odredjenim poljem u okviru zaglavlja specificira se broj karaktera u okviru
broj karaktera
Primer:
6 4 3 2 1 6 3 9 3 7 4 8 9 1 0 5 6 4 0 1 7 8 8 0 2 4 6 1 3 5 7
6 karaktera
9 karaktera
4 karaktera
8 karaktera
6 4 3 2 1 6 3 8 3 7 4 8 9 1 0 5 6 4 0 1 7 8 8 0 2 4 6 1 3 5 7
okvir 1
okvir 2
novi karakter-broj
 Kada nivo-veze na odredišnom kraju izdvoji iz zaglavlja broj-karaktera, on zna koliko karaktera
slede
 Problem kod ovog algoritma se javlja ako dodje do greške u prijemu broj-karaktera
 Prijemnik će izaći iz sinhronizacije i neće biti u stanju da locira početak novog okvira.
13
DEOBA NIZA BITOVA NA OKVIRE
-karakteri početak i kraj prenosa, sa umetanjem karaktera  Početak prenosa svakog okvira karakteriše ASCII karakter sekvenca STX
DLE, a kraj sekvenca DLE ETX
 DLE je Data Link Escape, STX je Start of Text, a ETX je End of Text.
 Ako odredište izgubi trag o granicama okvira ono analizira niz STX DLE ili
DLE ETX da bi se ustanovilo u kom je stanju.
 Ozbiljan problem kod ovog metoda se javlja kod prenosa binarnih podataka
kakvi su objektni programi ili FP brojevi. Naime, može da se dogodi da se par
karaktera STX DLE ili DLE ETX javi u okviru podataka što ima za efekat
narušavanje granica okvira.
 Postoji više načina da se uspešno reši ovaj problem. Jedan od njih je sledeći:
Predajnik na nivo veze (link layer) pre svakog ASCII DLE karaktera umeće
(ubacuje) u nizu karaktera po još jedan DLE karakter.
 Ova tehnika se naziva umetanje-karaktera (character stuffing).
14
DEOBA NIZA BITOVA NA OKVIRE
-karakteri početak i kraj prenosa, sa umetanjem karaktera -
Primer:
a)
b)
c)
STX
DLE
A
DLE
B
A
DLE
DLE
A
DLE
B
B
DLE
ETX
umetnuti
DLE
(a) podaci koji se predaju od nivoa-veze;
(b) podaci nakon umetanja;
(c) podaci nakon restauriranja
15
Example of byte stuffing data link escape
(DLE) characters
16
DEOBA NIZA BITOVA NA OKVIRE
-umetanje bita -
 Okvir podataka može da sadrži proizvoljan broj bitova
 Svaki okvir počinje i završava specijalnim bit oblikom 0111110 koji se naziva
flag-bajt.
 Kada predajnik na nivou-veze u informacionom delu naidje na pet uzastopnih
jedinica on ubaci 0 u izlaznom nizu bitova.
 Kada prijemnik naidje na pet uzastopne jedinice, iza čega sledi 0 bit, on
automatski izbacuje umetnuti 0 bit.
 Ova tehnika se naziva bit stuffing
17
DEOBA NIZA BITOVA NA OKVIRE
-umetanje bita -
Primer:
a)
b)
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
umetnuti bitovi
c)
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
(a) početni podaci;
(b) podaci na liniji;
(c) podaci nakon obnavljanja
18
Bit stuffing
Note:
Bit stuffing is the process of adding
one extra 0 whenever there are five
consecutive 1s in the data so that the
receiver does not mistake the
data for a flag.
19
Bit stuffing and removal-in HDLC
20
Bit stuffing algorithm-in HDLC
21
KONTROLA GREŠKE
 Svaki okvir karakteriše markirani početak i kraj
 Pitanje: Kako je predajnik siguran da su svi okviri koji su predati mrežnom
nivou na odredišnoj strani stigli i prihvaćeni u korektnom redosledu ?
 Problem se rešava na sledeći način: Protokolom je odredjeno da prijemnik
pošalje predajniku pozitivnu ili negativnu potvrdu o pristiglim okvirima.
 Ako predajnik primi pozitivnu potvrdu o okviru on zna da je okvir primljen
korektno, u suprotnom sledi negativna potvrda. Za slučaj da je potvrda negativna,
predajnik ponovo šalje isti okvir prijemniku.
 Predajnik na početku predaje okvira aktivira svoj interni tajmer. U slučaju da
se prijemnik nije odazvao za specificirani vremenski period, sa pozitivnom ili
negativnom potvrdom, to znači da okvir nije stigao do prijemnika, pa predajnik
ponovo šalje istu.
22
UPRAVLJANJE TOKOM PRENOSA
 Drugi važni projektanski zahtev koga treba imati u vidu je sledeći: Šta se
dešava ako predajnik želi sistematski da predaje podatke brzinom koja je veća od
one sa kojom prijemnik može da ih prihvati ?
 Standardno ovaj problem se rešava na sledeći način: Na nivou protokola su
definisana pravila koja odredjuju kada predajnik može da preda novi okvir.
 Pravila definišu da se predajniku zabrani nova predaja sve dok prijemnik ne
garantuje da je spreman da primi novi okvir.
23
Error Detection and Correction
Note:
Data can be corrupted during
transmission. For reliable
communication, errors must be
detected and corrected.
24
Types of Error
Single-Bit Error
Burst Error
25
Single-Bit Error
Note:
In a single-bit error, only one bit in the
data unit has changed.
26
Burst Error
Note:
A burst error means that 2 or more bits
in the data unit have changed.
27
Detection
 Redundancy
 Parity Check
 Cyclic Redundancy Check (CRC)
 Checksum
28
Redundancy
Note:
Error detection uses the concept of
redundancy, which means adding extra bits
for detecting errors at the destination.
29
Detection methods
30
Even-parity concept
Note:
In parity check, a parity bit is added to every data
unit so that the total number of 1s is even
(or odd for odd-parity).
31
Possibility of parity checking
Note:
Simple parity check can detect all
single-bit errors. It can detect burst
errors only if the total number of
errors in each data unit is odd.
32
Two-dimensional parity
33
Property of two-dimensional parity check
Note:
In two-dimensional parity check, a
block of bits is divided into rows and a
redundant row of bits is added to the
whole block.
34
CRC generator and checker
35
Binary division in a CRC generator
36
Binary division in a CRC checker
37
A polynomial
polynomial
Standard polynomials
polynomial representing a divisor
Name
Polynomial
Application
CRC-8
x8 + x2 + x + 1
ATM header
CRC-10
x10 + x9 + x5 + x4 + x 2 + 1
ATM AAL
ITU-16
x16 + x12 + x5 + 1
HDLC
ITU-32
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10
+ x8 + x7 + x5 + x4 + x2 + x + 1
LANs
38
Checksum
39
Data unit and checksum
40
Sender’s and receiver’s steps
The sender follows these steps:
•The unit is divided into k sections, each of n bits.
•All sections are added using one’s complement to get the sum.
•The sum is complemented and becomes the checksum.
•The checksum is sent with the data.
The receiver follows these steps:
•The unit is divided into k sections, each of n bits.
•All sections are added using one’s complement to get the sum.
•The sum is complemented.
•If the result is zero, the data are accepted: otherwise, rejected.
41
Correction
 Correction can be achieved by:
 Retransmission
 Forward Error Correction
 Burst Error Correction
42
Data and redundancy bits
Number of
data bits
m
Number of
redundancy bits
r
Total
bits
m+r
1
2
3
2
3
5
3
3
6
4
3
7
5
4
9
6
4
10
7
4
11
43
Positions of redundancy bits in Hamming code
44
Example of redundancy bit calculation
45
Error detection using Hamming code
46
Burst error correction example
47
Data Link Control and Protocols
Note:
Flow Control
Flow control refers to a set of procedures used to
restrict the amount of data that the sender can
send before waiting for acknowledgment.
Note:
Error Control
Error control in the data link layer is based on
automatic repeat request, which is the
retransmission of data.
48
Stop-and-Wait ARQ
Operation
Bidirectional Transmission
49
Normal operation
50
Stop-and-Wait ARQ, lost frame
51
Stop-and-Wait ARQ, lost ACK frame
52
Numbering frames
Note:
In Stop-and-Wait ARQ, numbering
frames prevents the retaining of
duplicate frames.
53
Stop-and-Wait ARQ, delayed ACK
54
Delayed acknowledgement
Note:
Numbered acknowledgments are
needed if an acknowledgment is
delayed and the next frame is lost.
55
Piggybacking
56
Go-Back-N ARQ
Sequence Number
Sender and Receiver Sliding Window
Control Variables and Timers
Acknowledgment
Resending Frames
Operation
57
Sender sliding window
58
Receiver sliding window
59
Control variables
60
Go-Back-N ARQ, normal operation
61
Go-Back-N ARQ, lost frame
62
Go-Back-N ARQ: sender window size
63
The size of the sender window
Note:
In Go-Back-N ARQ, the size of the
sender window must be less than 2m;
the size of the receiver window is
always 1.
64
Selective-Repeat ARQ
Sender and Receiver Windows
Operation
Sender Window Size
Bidirectional Transmission
Pipelining
65
Selective Repeat ARQ, sender and receiver
windows
66
Selective Repeat ARQ, lost frame
67
The size of the sender and receiver
window
Note:
In Selective Repeat ARQ, the size of
the sender and receiver window must
be at most one-half of 2m.
68
HDLC PROTOKOL
HDLC je skraćenica od High-level Data Link Control
 Da bi zadovoljio potrebe različitih tipova aplikacija, HDLC
definiše:
 tri tipa stanica
 dve link konfiguracije
 tri načina rada kod prenosa podataka
69
Tipovi stanica
 Primarna stanica - kontroliše rad veze (link-a). Okviri koji se izdaju od strane
primarne stanice nazivaju se komande.
 Sekundarna stanica - radi pod kontrolom primarne. Okviri inicirani od strane
sekundarne stanice nazivaju se odgovori. Primarna stanica održava posebnu
logičku vezu (link) sa svakom sekundarnom stanicom na liniji.
 Kombinovana stanica - kombinuje osobine primarne i sekundarne stanice.
Kombinovana stanica može inicirati kako komande tako i odgovore.
70
Link konfiguracije
 Nebalansirana konfiguracija - čini je jedna primarna i jedna ili
više sekundarnih stanica, a podržava se prenos tipa polu-, i punidupleks.
 Balansirana konfiguracija - čine je dve kombinovane stanice, a
podržava se prenos tipa polu-, ili puni-dupleks.
71
HDLC link cofigurations
72
Načini rada za prenos podataka
 NRM (Normal Response Mode) - koristi se kod nebalansirane
konfiguracije. Primarna stanica može inicirati prenos podataka ka
sekundarnoj, dok sekundarna može samo predavati podatke kao odziv na
komande od strane primarne.
 ABM (Asynchronous Balanced Mode) - koristi se kod balansirane
konfiguracije. Jedna od kombinovanih stanica može inicirati prenos bez da
se primi dozvolu od strane druge kombinovane stanice.
 ARM (Asynchronous Response Mode) - koristi se kod nebalansirane
konfiguracije. Sekundarna stanica može inicirati prenos bez eksplicitne
dozvole primarne. Primarna je i dalje zadužena za održavanje veze,
uključujući inicijalizaciju, otkrivanje greške, i logičko raskidanje veze.
73
NRM and ABM
NRM (Normal Response Mode)
ABM (Asynchronous Balanced Mode)
74
Struktura okvira kod HDLC-a
 HDLC koristi sinhroni prenos.
 Prenose se okviri.
 Struktura HDLC okvira :
 Zaglavlje čine: Flag, adresno i upravljačko polje
 Informaciono polje promenljive dužine čine ga podaci
 Rep čine: FCS i Flag polje
Flag
polje
Adresno
polje
Upravljačko
polje
Informaciono polje
8
bitova
8
proširljivo
8
bitova
promenljivo
FCS
Flag
polje
16 ili 32
8
75
Flag polja
 Predstavljaju granice okvira sa prednje i zadnje strane.
 Flag ima jedinstveni bit oblik 01111110.
 Jedan flag se može istovremeno koristiti kao zatvarajući flag za tekući okvir, i
kao početni za naredni.
 Na obe strane linije mrežni-interfejs (HDLC kontroleri) permanentno
nadgledaju liniju i "hvataju" se za flag sekvencu kako bi sinhronizovali svoj rad u
odnosu na početak okvira.
 Dok prima okvir, stanica kontinualno prati pojavu sekvence bitova 01111110, sa
ciljem da odredi trenutak kada nailazi kraj okvira.
76
Adresno polje
 Identifikuje sekundarnu stanicu koja predaje ili prima okvir.
 Ovo polje se ne koristi kod veze tipa tačka-ka-tački, ali uvek egzistira iz razloga
bezbednosti i uniformnosti prenosa.
 Adresno polje je obično obima 8 bitova, ali se može proširiti na dužinu multipl
od po 7 bitova.
 LS bit svakog okteta može biti 1 ili 0 što zavisi od toga da li je taj oktet zadnji
ili ne u adresnom polju. Ostalih sedam bitova svakog okteta formiraju deo adrese.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0
0
8n
...
1
 Adresa 1111 1111 se interpretira kao broadcast
77
Upravljačko polje
 HDLC definiše tri tipa okvira: informacioni, supervizorski i nenabrojivi.
1
I: informacioni okvir
(I-frame)
2
0
3
4
N(S)
5
P/F
6
7
8
N(R)
S: supervizorski okvir
(S-frame)
1
0
S
P/F
N(R)
U: nenabrojivi okvir
(U-frame)
1
1
M
P/F
M
LEGENDA:
N(S) = brojač poslatih sekvenci
N(R) = brojač primljenih sekvenci
S = bitovi supervizorske funkcije
M = bitovi nenabrojive funkcije
P/F = poll/kraj bit
 Svaki od pomenutih okvira ima različit format:
 Informacioni okvir (I-frame) se koristi za prenos podataka korisniku.
 Supervizorski okvir (S-frame) koristi se za potvrdu prijema I-frame-ova
i upravljanje razmenom informacije izmedju stanica koje učestvuju u
prenosu.
 Nenabrojivi okvir (U-frame) obezbedjuje funkcije koje se koriste za
78
upravljanje vezom (link-om).
I frame and S frame control field in HDLC
I frame
S frame
79
U-frame control field in HDLC
U frame
80
HDLC frame and frame types
81
Informaciono polje
 Postoji samo kod I-frame-ova i kod odredjenih tipova U-frameova.
 Ovo polje može da sadrži bilo kakvu sekvencu bitova, koji mora
biti celobrojni umnožak okteta.
 Dužina informacionog polja, do odredjenog maksimuma, može
biti promenljiva.
82
FCS (Frame Check Sequence)
 Predstavlja kôd za detekciju grešaka koje se mogu javiti u toku prenosa.
 Vrednost ovog polja se izračunava na osnovu bitova okvira kada se isključe
flag-ovi.
 Standardno za izračunavanje FCS-a se koristi 16-bitni polinom, definisan od
strane CCITT-a.
CRC16  x16  x12  x 5  1
 Opciono se može koristiti i 32-bitni FCS polinom koji je sledećeg oblika:
CRC32  x 32  x 26  x 23  x 22  x16  x12  x11  x10  x 8  x7  x 5  x 4  x 2  1
83
Derivati HDLC-a -LLC
 Logical Link Control-LLC – karakterišu sledeće osobine:
 koristi balansni režim rada,
 aplicira se kod LAN i WAN računarskih mreža,
 podržava peer-to-peer multi-point link konekciju,
 servis- nepotvrdjen prijem poruke pri gubitku veze,
 šalju se nenabrojivi informacioni okviri (UI-frames)
 potvrda gubitka veze,
 u sklopu poruke postoje adresno i kontrolno polje (AC-frame)
 potvrdjeno uspostavljanje veze koristeći I-okvir
84
Derivati HDLC-a –LAP
 Link Access Procedure- LAP karakterišu sledeće osobine:
 koristi asinhroni režim rada kod odziva u nebalansiranoj konfiguraciji
 podržava rad X.25 mreže,
 proširena verzija predstavlja LAP-B,
 kod LAP-B razmenjuju se podaci izmedju DTE i mreža sa javnom
komutacijom ili privatnih mreža,
 veze su tipa tačka-ka-tački (point-to-point),
 nudi se asinhroni balansirani režim rada
85
Formati
upravljačkih
okvira na nivou
veze kod različitih
tipova protokola
Flag
polje
Upravljačko
polje
Adresno
polje
8
8n
FCS
Flag
polje
16 ili 32
8
FCS
Flag
polje
16
8
Informaciono polje
8 ili 16
promenljivo
a) HDLC, LAPB
Flag
polje
Upravljačko
polje
Adresno
polje
8
16
Informaciono polje
16*
promenljivo
b) LAPD
MAC
upravljanje
Odredišna
MAC
adresa
promenljivo
16 ili 48
Izvorišna
MAC
adresa
DSAP
SSAP
LLC
upravljanje
Informaciono
polje
Flag
polje
8
8
16*
promenljivo
32
16 ili 48
c) LLC/MAC
Flag
polje
8
Upravljačko
polje
Adresno
polje
16 ili 32
FCS
Flag
polje
16 ili 32
8
FCS
Flag
polje
16
8
Informaciono polje
16*
promenljivo
d) LAPF (upravljački)
Flag
polje
8
Adresno
polje
Informaciono polje
promenljivo
16 ili 32
e) LAPF (jezgro)
Opšta
informacija o
toku
upravljanja
Identifikator
virtuelnog puta
4
8
Identifikator
virtuelnog
kanala
Upravljački
bitovi
Zaglavlje o
upravljanju
greškama
4
8
16
Informaciono
polje
f) ATM
* = 16-bitno upravljačko polje (7-bitni brojač sekvence) za I- i S- okvie; 8-bitno za U-okvire
86
384
U-frame control command and response
Command/response
Meaning
SNRM
Set normal response mode
SNRME
Set normal response mode (extended)
SABM
Set asynchronous balanced mode
SABME
Set asynchronous balanced mode (extended)
UP
Unnumbered poll
UI
Unnumbered information
UA
Unnumbered acknowledgment
RD
Request disconnect
DISC
Disconnect
DM
Disconnect mode
RIM
Request information mode
SIM
Set initialization mode
RSET
Reset
XID
Exchange ID
FRMR
Frame reject
87
Example-1
88
Example-2
89
PROTOKOL
000
000
000
100
S
I
P/F 0011
F
P
0111
0111
P/F 0011
potvrda okvira
do Nr-1
UI
X
X
RIM
SIM
X
X
X
X
Neophodna je inicijalizacija: očekuje se SIM
Postavljanje inicijalizacioni mod
SNRM
X
X
X
Postavi normalni odzivni mod, predaj se samo kao odziv na komandu
X
X
X
000
010
011
F
P
F
1111
0011
0011
DM
DISC
UA
100
F
0111
FRMR
111
110
F 1111
P/F 0111
BCN
CFGR
X
010
101
001
111
F
P/F
P
P/F
RD
XID
UP
TEST
X
X
X
0011
1111
0011
0011
resetuje Nr i Ns
akronim
odziv
U
binarna
konfiguracija
komanda
format
Primer:
zabrana I-polja
SDLC
X
Definisanje karakteristika
Nenabrojiva komanda ili odgovor koja(i) sadrži informaciju
Ova stanica je u modu raskidanja
Ne predaj ili primaj informaciju
Potvrda za nenabrojive komande SNRM, DISC i SIM
X
X
X
Primljen je neodgovarajući okvir (mora da se primi SNRM, DISC i SIM )
X
X
X
X
Signalizira gubitak ulaza
Sadrži funkcijski deskriptor u informacijskom polju
X
X
X
Ova stanica želi da se diskonektuje
Identifikacija u informacionom polju
Opcioni odziv ako P bit nije 'on'
Test oblik u informacionom polju
X
X
Nr
P/F 0001
RR
X
X
X
X
Spreman za prijem
Nr
P/F 0101
RNR
X
X
X
X
Nije spreman za prijem
Nr
P/F 1010
REJ
X
X
X
X
Predaja ili retransmisija, počevši od okvira Nr
Nr
P/F
I
X
X
X
Sekvencirani I-okvir
Ns 0
90
91
92