0% au considerat acest document util (0 voturi)
6 vizualizări16 pagini

Framing

Documentul discută despre construirea și recunoașterea limitelor cadrelor în comunicațiile de date, subliniind importanța nivelului de legătură de date în detectarea erorilor și gestionarea cadrelor. Se prezintă patru metode uzuale de delimitare a cadrelor: încălcarea regulilor de codificare, separarea pe bază de caractere, separarea pe bază de biți cu ajutorul fanioanelor și umplerea cu biți. Fiecare metodă are avantaje și dezavantaje, iar utilizarea fanioanelor este evidențiată ca o soluție eficientă pentru a marca limitele cadrelor fără ambiguități.

Încărcat de

Mihi pihi
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOC, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
6 vizualizări16 pagini

Framing

Documentul discută despre construirea și recunoașterea limitelor cadrelor în comunicațiile de date, subliniind importanța nivelului de legătură de date în detectarea erorilor și gestionarea cadrelor. Se prezintă patru metode uzuale de delimitare a cadrelor: încălcarea regulilor de codificare, separarea pe bază de caractere, separarea pe bază de biți cu ajutorul fanioanelor și umplerea cu biți. Fiecare metodă are avantaje și dezavantaje, iar utilizarea fanioanelor este evidențiată ca o soluție eficientă pentru a marca limitele cadrelor fără ambiguități.

Încărcat de

Mihi pihi
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOC, PDF, TXT sau citiți online pe Scribd

CONSTRUIREA ŞI RECUNOAŞTEREA

LIMITELOR CADRELOR
[FRAMING]

Pentru a furniza servicii nivelului de reţea, nivelul legăturii de date trebuie


să utilizeze serviciile furnizate lui de către nivelul fizic. Dar nivelul fizic operează
doar cu şiruri primare de biţi şi nu garantează ajungerea lor la destinaţie fără
eroare; astfel, numărul de biţi sosiţi la receptor poate fi egal sau diferit de numărul
de biţi transmis de emiţător şi aceşti biţi pot avea valori diferite de cele de la
emisie. Este sarcina nivelului legăturii de date să detecteze aceste erori şi să ia
măsuri de remediere. El compune din şirul de biţi cadre şi le calculează suma de
control. La sosirea unui cadru la receptor, se recalculează suma de control şi, dacă
ea diferă de cea conţinută în cadru, nivelul legăturii de date de la receptor constată
existenţa a cel puţin o eroare şi trece la faza de tratare a ei - (ne)confirmând o
recepţie eronată şi solicitând retransmisia cadrului.
Reconstituirea cadrelor din şirul de biţi sosit la recepţie nu este o problemă
uşoară.
O metodă de a marca finalul unui cadru şi începutul următorului ar fi
inserarea de pauze de anumită durată între cadre. Dar reţelele de transmisie
de date garantează arareori duratele, astfel încât este posibil ca aceste pauze să fie
restrânse până la dispariţie sau ca alte pauze să fie inserate în timpul transmisiei.
Astfel, în cazul când nivelul fizic lucrează ca o “conductă de biţi” sincronă, există
uneori perioade (când nu este nimic de transmis) în care se practică o umplere
artificială cu biţi [idle fill], apărând deci necesitatea separării acestora de cadrele
cu date. În cazul unei conducte de biţi sincrone cu intermitenţe, umplerea
artificială este înlocuită cu pauze [dead period] în care nu se transmit biţi;
aceasta nu simplifică problema, căci, pe de o parte, cadrele succesive sunt adesea
transmise fără pauze între ele, iar, pe de altă parte, după o pauză, modemurile de la
nivelul fizic necesită, de obicei, o umplere arfificială cu biţi pentru a restabili
sincronizarea.

Există 4 metode uzuale de stabilire a limitelor cadrelor :

â Încălcarea regulilor de codificare de la nivelul fizic


Metoda este aplicabilă la reţelele în care codificarea în vederea transmisiei de
la nivelul fizic posedă o oarecare redundanţă. De exemplu, codificarea Manchester
codifică fiecare bit de valoare “1” printr-o pereche de niveluri de tensiune înalt-
jos [high-low (H-L)] şi fiecare bit de valoare “0” printr-o pereche de niveluri de
tensiune jos-înalt [low-high (L-H)]. Combinaţiile H-H şi L-L nu sunt foilosite
pentru codificarea datelor. Unele protocoale (ca cele de tip IEEE 802) utilizează
astfel de secvenţe pentru operaţia de stabilire a limitelor cadrelor.

49
ã Separarea cadrelor pe bază de caractere [character-based
framing]
Codurile de caractere - precum ASCII - furnizează reprezentări binare nu
numai pentru caracterele de la tastatură şi caracterele de control pentru terminale, ci
şi pentru diverse caractere de control pentru comunicaţie. În ASCII, toate aceste
reprezentări binare sunt pe 7 biţi, cu un bit (suplimentar) de control al parităţii (ce
poate fi neglijat în comunicaţii, întrucât codul CRC poate fi utilizat mai eficient
pentru detectarea erorilor din cadre). Astfel:
SYN [synchronous idle] = linie sincronă neocupată (cu
codificarea
p001 0110 - unde p reprezintă bitul de control al parităţii) este unul din aceste
caractere de control pentru comunicaţie: un şir de astfel de caractere serveşte drept
umplere artificială între cadre atunci când un DLC emiţător nu are date de
transmis, dar un modem sincron necesită primirea de biţi. SYN poate fi, uneori,
utilizat în cadre pentru sincronizarea modemurilor de tip mai vechi, iar alteori,
pentru a acoperi întârzierile în furnizarea caracterelor reprezentând date.
STX [start of text] = început de text (cu codificarea p000 0010) şi
ETX [end of text] = sfârşit de text (cu codificarea p000 0011) se folosesc
drept caractere de control pentru marcarea începutului şi respectiv finalului unui
cadru.
Observaţie: Protocoalele de comunicaţie bazate pe caractere utilizează în
practică - precum protocolul IBM numit Bisynch sau BSC - sunt mult mai
complexe, dar în cele de faţă simplificăm lucrurile pentru a arăta că problemele
separării cadrelor îşi pot găsi soluţii.
O complicaţie în această metodă o constituie cazurile când antetul sau CRC
pot conţine - din întâmplare - unul din aceste caractere de control. Cum antetul
apare după STX, iar CRC după ETX, aceste caractere apărute în poziţii fixe nu
ridică probleme receptorului. În schimb, dacă pachetul transmis reprezintă un şir
oarecare de biţi - nu un şir de caractere ASCII introduse de la tastatură -, apare o
problemă serioasă: pachetul ar putea conţine structura binară a caracterului ETX,
ceea ce ar fi interpretat greşit la recepţie, ca fiind un final de cadru.
Soluţia o constituie utilizarea unui mod special de transmisie, numit mod
transparent [transparent mode] sau umplere cu caractere [character
stuffing]. Se foloseşte încă un caracter special de control DLE [data link
escape] = părăsirea legăturii de date (cu codificarea p001 0000) inserat
înaintea caracterului STX pentru a indica începutul cadrului şi înainte de
caracterul ETX pentru a marca sfârşitul cadrului. Dar DLE nu se introduce
înaintea eventualelor apariţii ale unor structuri de biţi identice cu caracterele de
control, ci numai înaintea unei structuri de biţi reprezentând DLE. Nivelul DLC
de la receptor va elimina câte un DLE din fiecare pereche sosită DLE DLE şi va
interpreta fiece STX şi ETX precedat de un DLE drept începutul şi respectiv
finalul efective ale unui cadru. Astfel, de exemplu, DLE ETX (precedaţi de altceva
decât DLE) va fi interpretat ca final de cadru, iar DLE DLE ETX (precedaţi de

50
altceva decât DLE) va fi interpretat ca apariţia unor biţi corespunzând întâmplător la
DLE ETX în datele din pachet.
Structura cadrelor va fi în cazul acestei metode:
Cadru

SYN SYN DLE STX Antet Pachet DLE ETX CRC SYN SYN
O astfel de structură se utilizează în reţeaua ARPANET.
Această metodă de separare a cadrelor are 2 dezavantaje:
– o cantitate excesivă de informaţie suplimentară (de control)
[overhead]
– fiece cadru trebuie să conţină un număr întreg de caractere.
În prezenţa erorilor de transmisie, CRC verifică antetul şi pachetul din
cadru, detectând eventualele erori din aceste câmpuri ale cadrului. Dacă apare,
însă, o eroare în câmpul DLE ETX de la finalul cadrului, receptorul nu va detecta
finalul de cadru şi nu va verifica CRC - aceasta fiind situaţia în care cadrul se
consideră “pierdut”. Tot erorile pot cauza şi apariţia (evident, eronată) a structurii
DLE ETX în pachet; în acest caz, receptorul o va interpreta ca final de cadru, iar pe
următorii biţi - drept CRC; astfel, un şir arbitrar de biţi va fi interpretat ca fiind un
CRC, iar datele ce îl preced vor fi acceptate drept pachet cu probabilitatea 2 - L ,
unde L este lungimea CRC.

ä Separarea cadrelor pe bază de biţi [bit-oriented framing] cu


ajutorul fanioanelor [flag]
Această tehnică permite cadrelor cu date să conţină un număr arbitrar de biţi
şi permite folosirea codurilor de caractere cu un număr arbitrar de biţi pentru un
caracter. Ea utilizează un fanion [flag] pentru marcarea finalului unui cadru;
fanionul este un anumit şir de biţi (ar pute fi şi DLE ETX), recunoscut atât de
emiţător cât şi de receptor drept marcaj de sfârşit de cadru. Se utilizează o metodă -
echivalentă cu dublarea DLE în pachet - pentru a evita confuzia dintre posibila
apariţie a structurii fanionului în pachet şi respectiv fanionul efectiv de marcare a
sfârşitului cadrului; ea se numeşte umplerea cu biţi [bit stuffing] şi este (ca şi
umplerea cu caractere DLE) complet transparentă pentru nivelul de reţea.
În practică, fanionul este reprezentat de şirul de biţi 0160 (unde

1k = 1 . . . 1 ).
k

Regula de umplere cu biţi este urm`toarea: la emisie, se va insera


un bit 0 în şirul de biţi ce constituie pachetul, după fiecare apariţie a cinci
biţi succesivi de valoare 1 (adică după secvena 015). Astfel, după umplerea cu
biţi, cadrul nu va mai conţine peste 5 biţi consecutivi de valoare 1, iar fanionul
de la finalul cadrului este detectabil fără ambiguitate. La recepţie, primul 0 de
după fiecare secvenţă de 5 biţi consecutivi de valoare 1 va fi eliminat, iar dacă

51
un şir de
5 biţi consecutivi de valoare 1 este urmat tot de un bit 1, se consideră cadrul
încheiat.
Exemplu: La emisia pachetului 01201160010, se vor insera următorii biţi
suplimentari (înscrişi mai sus cu un rând):
Biţi inseraţi la emisie  0 0 0
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
urmând ca ei să fie înlăturaţi la recepţie.
Umplerea cu biţi are şi alte scopuri în afară de eliminarea structurilor de tip
fanion din pachet. Nivelurile DLC standard au prevăzută capacitatea de
abandonare a transmisiei unui cadru prin emisia a 7 sau mai mulţi biţi consecutivi
de valoare 1; în plus, o legătură este considerată neocupată dacă se recepţionează
un şir de 15 sau mai mulţi biţi de valoare 1. Aceasta înseamnă că 016 este cu
adevărat şirul de biţi ce denotă sfârşitul cadului. Dacă 016 este urmat de un 0, el
reprezintă fanionul ce indică terminarea normală a cadrului; dacă este urmat de
un 1, el indică o terminare anormală a cadrului. Un alt scop al umplerii cu biţi
este acela de a “sparge” un şir lung de biţi 1, care ar putea provoca pierderea
sincronizării de către unele modemuri de tip mai vechi.
Fanioanele vor marca fără ambiguitate limitele cadrelor. Astfel, dacă
receptorul nu mai recunoaşte, la un moment dat, unde a ajuns cu biţii recepţionaţi, el
nu are de făcut altceva decât să scaneze intrarea sa în căutarea fanionului, pentru a
recunoaşte începutul următorului cadru.
Regula de umplere cu biţi pare că obligă la prea mulţi biţi suplimentari (de
umplere) - deci la o mărire inutilă a informaţiei de control din cadru; dar ea este
necesară pentru ca receptorul să nu dea de situaţii ambigue.
Astfel, de exemplu, dacă pachetul începe cu 6 biţi de valoare 1, urmaţi de
un 0 (după fanionul de final al cadrului precedent, fanion recunoscut fără
ambiguitate de către receptor), aceştia nu pot fi - logic - interpretaţi drept tot un
fanion; deci umplerea cu un 0 ar părea inutilă. Dar regula de extragere a biţilor
“de umplutură” la recepţie este fixă (receptorul nefiind “inteligent”).
De asemenea, întrucât fanionul are structura 0160, din punct de vedere logic
nu ar fi necesară introducerea unui 0 într-o structură cu un şir lung de 1 în pachet
(cu excepţia motivului sincronizării vechilor tipuri de modemuri). Dar, din nou,
regula de la recepţie obligă la acest lucru.
În fine, se impune plasarea unui bit 0 după 5 biţi de valoare 1 chiar într-o
structură de tip 0150 (deşi ea nu ar putea fi interpretată eronat ca un fanion de
final de cadru), căci receptorul execută “mecanic” regula de extragere a biţilor 0 de
“umplutură” - el nefiind capabil să distingă un 0 introdus după 015 de un bit de
date de valoare 0 după biţii de date 015.
Observaţie: Acceptând regula - de la emisie - că un şir de date (din pachet)
de forma 016 va fi întotdeauna convertit în 01501, se oate demonstra că trebuie
întotdeauna introdus un 0 după 015.

52
Şirul 016 ca fanion nu este unicul posibil; am putea alege oricare alt şir (ele
se şi folosesc pentru a semnala apariţia unor evenimente rare).
Să considerăm surplusul de informaţie de control implicat de utilizarea unui
fanion pentru marcarea sfârşitului cadrelor. Să presupunem că un cadru - înainte de
umplerea cu biţi şi adăugarea fanionului - constă din variabile binare aleatorii,
independente, distribuite identic, având o probabilitate egală pentru biţii de valoare
0 şi cei de valoare 1. Să presupunem, pentru mărirea gradului de generalitate, că
fanionul de terminare a cadrelor este 01j cu un j oarecare (cu 01j 0 drept
fanion şi 01j+1 indicând o terminare anormală); astfel, j = 6 pentru fanionul
standard. Va apare o inserare după bitul i al cadrului originar (pentru i  j )
dacă şirul de la i - j + 1 până la i este 01j - 1; probabilitatea acestui eveniment
este 2 -j. Va apare o inserare a unui 0 (pentru i  2j - 1) dacă şirul de la i - 2j
+ 2 până la i este 012j - 2; probabilitatea acestui eveniment este 2 -2j + 1. Vom
ignora, însă, acest ultim caz, pe de o parte din cauza probabilităţii sale practic
neglijabile, iar pe de altă parte din cauză că aceste inserări sunt utilizate în principal
pentru a evita existenţa unor şiruri lungi de 1 şi mai puţin pentru a furniza o
delimitare a cadrelor.
Bitul j - 1 din cadru este întrucâtva diferit de ceilalţi biţi, întrucât
inserarea unui 0 în acest punct apare cu probabilitatea 2 - j + 1 (adică dacă primii
j - 1 biţi ai cadrului sunt toţi 1).
Deci, numărul probabil de inserări de 0 într-un cadru de lungime originară
K este suma, pentru toate valorile i, al numărului probabil de inserări după fiece
bit i al cadrului 1. Numărul probabil de inserări după un anume bit este, aşadar,
chiar probabilitatea inserării unui 0 în acel loc. Deci, numărul probabil de inserări
într-un şir de lungime K  j - 1 este:
(K - j + 3)  2 - j .
Adăugând j + 1 biţi pentru fanion, informaţia de control (IC) probabilă pentru
separarea cadrelor va fi
P{IC} = (P{K} - j + 3)  2 - j + j + 1 .
Întrucât (de obicei)
P{K} >> j ,
rezultă (pentru j  3)
P{IC}  P{K}  2 - j + j + 1 .
Este necesar un bit suplimentar pentru a face distincţia între o terminare
normală şi o terminare anormală a cadrului.
Să găsim valoarea întreagă j ce minimizează această expresie pentru o
valoare dată a lungimii probabile a cadrului (P{K}). Întrucât, când j creşte
începând de la 1, membrul drept al inegalităţii de mai sus întâi descreşte şi apoi
creşte, valoarea lui j care minimizează membrul drept al expresiei precedente va fi

1
reamintim că probabilitatea unei sume de variabile aleatoare este egală cu suma
probabilităţilor variabilelor - indiferent dacă variabilele sunt independente sau nu

53
cel mai mic j  N pentru care valoarea membrului drept este mai mică decât
valoarea ei pentru j + 1, adică
P{K}  2 - j + j + 1 < P {K}  2 - j - 1 + j + 2
 P{K}  2 - j - 1 < 1
 j = [log 2 P{K}] .1
Fie
 P{K}  2 - j + j + 1
A =
limita superioară a informaţiei suplimentare (de control).
Pentru valoarea j (obţinută mai sus) care minimizează cantitatea de
informaţie de control pentru stabilirea cadrelor, se constată că
P{IC}  log 2 P{K} + 2 .
Într-adevăr, notând:
 log 2 P{K} - j ,   (0 , 1)
 =
şi determinând valorile minimă şi maximă ale lui
A - log 2 P{K} = 2  -  + 1
pentru  variind în intervalul specificat, obţinem:

şi
A - log2 P{K}|  = 0 = 20 - 0 + 1 = 2
deci:
1,914... + log 2 P{K}  A  2 + log 2 P{K} .
Aşadar, pentru o lungime probabilă a cadrului K = 1 000, valoarea optimă
pentru j este j = 9 şi informaţia suplimentară (de control) probabilă va fi mai
mică de 12 biţi. Pentru fanionul standard, j = 6 şi informaţia suplimentară
probabilă va fi de cca. 23 biţi (ceea ce nu justifică schimbarea valorii standard
j = 6).

å Separarea cadrelor prin precizarea lungimii lor [length count]


Problema de bază la separarea cadrelor este aceea de a informa nivelul
DLC receptor unde se termină fiecare şir de umplere artificială pentru linie
neocupată şi unde se termină fiecare cadru. În principiu, problema determinării
umplerii artificiale este trivială: umplerea artificială reprezintă un anumit şir fix
(de exemplu, caractere SYN repetate sau fanioane repetate) şi ea se opreşte
atunci când respectiva configuraţie se întrerupe; în principiu, este suficientă
inversarea unui bit din configuraţie, deşi, în practică, umplerea artificială se opreşte,
de regulă, la limita dintre fanioane sau dintre caracterele SYN.
1
unde [x] înseamnă partea întreagă a lui x

54
Întrucât un cadru constă dintr-un şir de biţi arbitrar şi necunoscut, este destul
de greu de precizat unde se termină. O alternativă simplă la fanioane sau caractere
speciale este aceea de a include în antet un câmp pentru înscrierea lungimii
cadrului. Reţeaua DECNET utilizează această tehnică.
Presupunând că nu există erori de transmisie, nivelul DLC receptor citeşte
direct din antet lungimea cadrului şi află, astfel, unde se termină cadrul. Dacă
lungimea cadrului este exprimată în binar, numărul de biţi necesari în câmpul
pentru lungimea cadrului trebuie să fie de cel puţin
[log 2 Kmax] + 1
unde Kmax este dimensiunea maximă a cadrului. Aceasta reprezintă informaţia (de
control) suplimentară necesară pentru separarea cadrelor prin această metodă (fiind
identică cu cea de la metoda umplerii cu biţi).
Se pune problema dacă vreo altă metodă de codificare a lungimii cadrelor ar
cere un număr probabil de biţi mai mic. Răspunsul îl dă teoria informaţiei. Dându-se
probabilitatea P(K) pentru o anumită lungime stabilită pentru cadre, teorema
codificării sursei stipulează că numărul minim probabil de biţi ce poate codifica o
astfel de lungime este cel puţin egal cu entropia respectivei distribuţii, dată de
1
H =  P(K) log 2
P(K) .
K
Conform susmenţionatei teoreme, pentru ca receptorul să poată determina unde
se termină fiecare cadru, trebuie trimişi pe linie, pentru un cadru, cel puţin atâţia biţi
de informaţie (de control) destinată separării cadrelor. Dacă
1
P(K) = pentru K  1, . . . , K max  ,
K max
atunci se calculează cu uşurinţă că
H = log 2 Kmax .
Similar, pentru o distribuţie geometrică a lungimilor, cu P{K} dată, entropia
distribuţiei lungimilor este
H  log 2 P{K} + log 2 e
pentru valori mari ale lui P{K}. Această valoare este cu aproximativ 1/2 bit mai
mică decât valoarea optimă P{IC} pentru umplerea cu biţi. Deci, pentru o
distribuţie geometrică a lungimilor, informaţia suplimentară (de control) rezultată
la utilizarea fanioanelor pentru separarea cadrelor este efectiv minimă.
Se demonstrează că distribuţia geometrică necesită mai mulţi biţi
suplimentari de control decât orice altă distribuţie, pentru o valoare P{K} dată.
Ideia de bază la codificarea sursei constă în a pune în corespondenţă valorile
cele mai probabile ale lui K cu şiruri scurte de biţi, iar valorile mai puţin probabile
cu şiruri lungi de biţi. Mai precis, se încearcă punerea în corespondenţă a unui K
1
dat cu circa log2 biţi. Dacă aceasta se execută pentru o distribuţie
P(K)

55
geometrică, se obţine o metodă interesantă de codificare, cunoscută sub numele de
codificare unară-binară. În particular, pentru un j dat, lungimea cadrului va fi
K = i  2j + r ; 0  r < 2j .
Codificarea pentru K va fi atunci: i biţi de valoare 0 urmaţi de un 1 (ceea ce
se numeşte “codificare unară” a lui i ), urmată de o codificare binară obişnuită a
lui r (utilizând j biţi).
De exemplu, dacă
j =2
şi
K = 7,
K se reprezintă cu i = 1, r = 3, ceea ce se codifică sub forma
0111
(unde 01 este codificarea unară a lui i = 1 şi 11 este codificarea binară a lui
r = 3).
Observaţie: Diverse valori pentru K sunt codificate cu numere diferite de
biţi, dar finalul codificării poate fi întotdeauna recunoscut ca apărând după j biţi
de la primul bit 1.
În general, cu o astfel de codificare, un K dat se transpune într-un şir de biţi
de lungime
K
 j + 1+ j .
2 
Dacă se neglijează partea întreagă de mai sus şi se ia valoarea probabilă a lui K,
atunci
P{IC} = P{K}  2j + 1 + j
care este identică cu cea pentru separarea cadrelor prin fanioane. Această valoare
poate fi, deci, minimizată alegând
j = [log 2 P{K}] .
Deci, această codificare unară-binară a lungimii cadrului şi separarea
cadrelor cu ajutorul fanioanelor necesită cantitatea minimă de informaţie
suplimentară în cazul distribuţiei geometrice şi nici o alt[ informaţie suplimentară
în cazul oricărei alte distribuţii pentru P{K} dată.

p
Să analizăm acum algoritmii de separare a cadrelor în condiţiile prezenţei
erorilor de transmisie.
În tehnica separării prin fanioane, dacă apare o eroare în fanion, receptorul nu
va fi capabil să detecteze finalul cadrului şi nu va verifica CRC-ul. În acest caz,
când detectează următorul fanion, receptorul va presupune c[ CRC se află în poziţia
ce precede fanionul. CRC-ul depistat este cel al cadrului curent, dar receptorul îl
interpretează ca pentru transmisia celor două cadre. Pe de altă parte, dacă există o
umplere artificială pentru canal neocupat după un cadru în care fanionul “s-a

56
pierdut”, CRC-ul constatat ar putea include fanionul alterat. În oricare din cazuri,
CRC-ul constatat este, în esenţă, un şir aleator de biţi în raport cu cadrul anterior
perceput de receptor, astfel încât receptorul nu reuşeşte să detecteze erorile cu o
probabilitate de 2 - L, unde L este lungimea CRC.
O altă situaţie este aceea ca o eroare asupra cadrului să transforme un şir de
biţi din pachet într-un fanion, ca, de exemplu:
(transmis) 0100110111001 ...
(recepţionat) 0100111111001 ...
Probabilitatea ca aceasta să se întâmple într-un cadru de K biţi echiprobabili,
independenţi, este de aproximativ
1
Kp
32
unde p reprezintă probabilitatea existenţei unui bit eronat.
(Temă - Recomandare: Se va presupune că p este foarte mică şi că probabilitatea
unor erori multiple în cadru este neglijabilă. Se va presupune, de asemenea, că biţii
din cadrul originar sunt indepemdenţi şi identic distribuiţi, cu o probabilitate egală
a biţilor 0 şi a biţilor 1. Atenţie! : după umplere, biţii nu mai sunt independenţi şi
identic distribuiţi. Se va găsi mai întâi probabilitatea ca un bit inserat şi alterat să
conducă la un fanion - nu o terminare anormală - şi, cu metoda de analiză de la
metoda umplerii cu biţi (vezi pag. 53), se va aproxima numărul probabil de biţi
inseraţi cu K  2 - 6. Apoi se va căuta probabilitatea apariţiei unui fanion din cauza
erorilor asupra biţilor originari din cadru).
În această ultimă situaţie de eroare (ca şi în precedentele), biţii de dinaintea
fanionului perceput sunt interpretaţi de receptor drept CRC şi probabilitatea de a
accepta un cadru fals este 2 - L. Această situaţie este adesea denumită “problema
sensibilităţii la date a DLC”, căci, chiar dacă CRC este capabil să detecteze orice
combinaţie de 3 sau mai puţine erori, o singură eroare ce crează sau distruge un
fanion plus o combinaţie specială de biţi de date care satisface CRC perceput la
recepţie vor conduce la o eroare nedetectabilă.
Dacă separarea cadrelor se face prin înscrierea lungimii lor în antet, o eroare
în câmpul lungimii cadrului va face ca receptorul să caute CRC-ul într-un loc
greşit şi se va accepta un cadru eronat cu o probabilitate de aproximativ 2 - L.
Probabilitatea unei astfel de erori este mai mică atunci când se utilizează lungimea
cadrului în loc de fanion pentru separarea cadrelor, căci erorile pot crea fanioane
false în pachet, dar, după apariţia unei erori în câmpul lungime cadru, receptorul nu
mai ştie unde să caute cadrul următor. Deci, la folosirea lungimii cadrului pentru
delimitarea sa, este necesar un şir de biţi de sincronizare la începutul unui cadru, ori
de câte ori DLC emiţător se întoarce înapoi pentru retransmisie (sincronizarea nu
se foloseşte la începutul fiecărui cadru, căci aceasta ar face câmpul lungime cadru
aproape redundant).
Există unele soluţii parţiale la aceste probleme, dar nici una fără dezavantaje.
DECNET utilizează un antet de lungime fixă pentru fiecare cadru şi
plasează lungimea cadrului în acest antet. În plus, antetul are propriul său CRC. Prin

57
urmare, dacă apare o eroare în câmpul “lungime cadru” din antet, receptorul o poate
detecta cu ajutorul CRC-ului antetului - care apare într-o poziţie cunoscută. O
dificultate o constituie faptul că emiţătorul tot trebuie să resincronizeze transmisia
după o astfel de eroare, căci, chiar dacă eroarea este detectată, receptorul tot nu va şti
unde începe următorul cadru. O altă dificultate este aceea că trebuie utilizate două
CRC, ceea ce micşorează eficacitatea transmisiei.
O altă metodă constă în a plasa câmpul lungime pentru un cadru în marcajul
terminal al cadrului precedent. Aceasta elimină ineficienţa susmenţionată, dar tot
necesită o secvenţă specială de sincronizare după fiecare eroare detectată. Metoda
necesită, de asemenea, un “cadru-antet” special, care să fie trimis ori de câte ori
lungimea următorului cadru este necunoscută când se transmite un cadru dat.
O altă metodă - aplicabilă la orice tehnică de separare a cadrelor - este aceea
de a utiliza un CRC mai lung. Ea reduce măcar probabilitatea de a accepta greşit un
cadru în care au apărut erori. Este, se pare, alternativa cea mai probabilă de a fi
adoptată în practică, căci nivelul DLC standard oferă, ca opţiune, un CRC standard
pe 32 biţi.
O ultimă soluţie este ca pachetele să fie separate prin fanioane (deci la nivelul
de reţea), iar succesiunile rezultate de pachete şi fanioane să fie descompuse în
cadre de lungime fixă. Astfel, limitele pachetelor şi limitele cadrelor nu vor avea
nici o legătură între ele. Dacă un pachet se sfârşeşte în mijlocul unui cadru şi nu mai
există alte pachete disponibile, cadrul va fi completat cu umplere artificială pentru
canal neutilizat. Aceste cadre vor fi preluate de sistemul cu confirmare şi
retransmisie, iar, datorită lungimii fixe a cadrelor, CRC-ul va fi întotdeauna într-un
loc cunoscut.

p
O altă problemă esenţială este stabilirea dimensiunii maxime a cadrelor (şi
respectiv a pachetelor), care depinde de numeroşi factori.
Majoritatea reţelelor de calculatoare utilizează lungimi variabile pentru
pachete, dar proiectanţii ISDN de bandă largă încearcă să standardizeze metoda de
comutaţie a pachetelor numită ATM [Asynchronous Transfer Mode], care
utilizează cadre foarte scurte - numite celule în ATM - cu o lungime fixă de
53 octeţi. Motivul esenţial pentru a lucra cu cadre de lungime constantă îl constituie
simplificarea hardware-ului în vederea comutaţiei cu mare viteză. Cadrele de lungime
constantă prezintă avantaje şi la implementarea sistemelor cu multiacces.
Vom analiza în cele ce urmează problema alegerii lungimii maxime a cadrelor,
întâi în cazul cadrelor de lungime variabilă şi apoi în cazul cadrelor de lungime
constantă.
A) Cadre de lungime variabilă
Să presupunem că fiecare cadru conţine un număr fix V de biţi suplimentari
de control - biţi de umplere, antet şi marcaj terminal - şi fie Kmax lungimea maximă
a cadrului (în biţi). Să mai presupunem, deocamdată, că fiecare mesaj al
utilizatorului este “spart” în pachete de lungime maximă posibilă, ultimul pachet

58
conţinând biţii rămaşi după această fragmentare. Deci un mesaj de lungime M biţi
 M   M 
va fi fragmentat în   pachete, primele   - 1 pachete conţinând fiecare
 K max   K max 
Kmax biţi, iar ultimul pachet conţinând între 1 şi Kmax biţi. Numărul total de biţi
din toate aceste cadre va fi
 M 
=M+ V .
 K max 
Se constată că, pe măsură ce Kmax scade, numărul cadrelor creşte şi, deci,
 M 
numărul total   V de biţi suplimentari de control din mesaj creşte. În cazul
 K max 
V
mesajelor foarte lungi, o parte din biţii transmişi sunt biţi suplimentari
V + K max
de control. În cazul mesajelor mai scurte, partea ce reprezintă biţii suplimentari de
control este, de regulă, ceva mai mare, din cauza lungimii reduse a pachetului final.
Un alt factor care influenţează lungimea maximă a cadrelor este durata de
procesare a cadrelor în nodurile reţelei: pe măsură ce lungimea maximă a cadrelor
scade, numărul lor creşte şi va creşte şi durata de procesare a cadrelor în nodurile
reţelei. Dată fiind enorma creştere a vitezelor de transmisie oferită de fibra optică, va
fi din ce în ce mai dificilă realizarea acestei procesări pentru lungimi mici ale
cadrelor.
În concluzie, transmisia şi procesarea biţilor suplimentari de control reclamă
amândouă lungimi maxime cât mai mari ale cadrelor.
Pe de altă parte, există, însă, şi factori care pledează pentru dimensiuni mici ale
cadrelor.
Un astfel de factor este efectul de “pompare pe conducta de biţi”. Semnalăm
că, pe un traseu cu mai multe tronsoane de linie (deci cu mai multe noduri
intermediare), un pachet trebuie recepţionat complet într-un nod înainte de a fi
retransmis pe tronsonul următor. Aceasta, pe de o parte, fiindcă, dacă nivelul DLC
utilizează - sub o formă sau alta - retransmisia cadrelor, atunci trebuie verificat
CRC-ul înainte de a avansa pachetul pe următorul tronson al căii către destinatar
(căci, dacă se constată o eroare, nu mai este cazul retransmiterii lui mai departe), iar,
pe de altă parte, dacă tronsoanele au diverse viteze de transmisie, corelarea timpilor de
retransmisie cu cei de recepţie devine foarte complicată şi, în plus, interfaţa dintre
nivelul DLC şi nivelul de reţea devine dependentă de timp. Dacă se transmite
întregul mesaj sub forma unui singur pachet, întârzierea totală de transmisie va fi
egală cu suma întârzierilor de transmisie pe fiecare tronson. Dacă, însă, mesajul este
fragmentat în mai multe pachete (deci de o lungime mai mică), pachetele iniţiale
pot circula pe traseu în timp ce ultimele pachete încă se transmit pe primul tronson,
micşorând astfel întârzierea totală de transmisie a mesajului.

59
Să analizăm acum efectul combinat al biţilor suplimentari de control şi al
metodei pompării pe conducta de biţi asupra întârzierii transmiterii mesajului. Vom
presupune că mesajul de lungime M este spart în pachete de lungime maximă, cu
ultimul pachet de obicei mai scurt. Vom presupune că mesajul se transmite pe un
traseu format din j tronsoane de capacitate identică C şi că reţeaua are o
încărcare redusă, astfel încât aşteptările la noduri din cauza traficului pe alte direcţii
pot fi ignorate. De asemenea, vom ignora întârzierile de propagare - care sunt
independente de lungimea maximă a pachetelor - şi, pe moment, vom ignora şi
erorile de transmisie (dar pe care le vom analiza ulterior).
Timpul total T necesar pentru transmiterea mesajului la destinaţie va fi dat
de durata necesară primului pachet pentru a traversa primele j - 1 tronsoane plus
durata necesară întregului mesaj pentru a parcurge ultimul tronson (deci că, atunci
când un cadru - care nu este ultimul - termină de traversat un tronson, următorul
cadru este întotdeauna gata să înceapă traversarea respectivului tronson). Fie
C [biţi/s] capacitatea tuturor tronsoanelor. Atunci, TC va fi numărul de durate
de transmisie a unui bit necesare pentru livrarea mesajului la destinatar. Presupunând

M  Kmax ,
vom avea

60
 M 
TC = (K max + V) ( j - 1) + M +  V .
 K max 
Pentru a găsi valoarea probabilă a acestui surplus de mesaj, vom face
aproximarea
 M    M  1
P    P  +
 K max   K max  2
(aproximare rezonabilă dacă distribuţia lui M este relativ uniformă pe cei Kmax
biţi).
Atunci

Pentru a găsi valoarea lui Kmax care minimizează P {M}, vom deriva expresia
de mai sus în raport cu Kmax , anulând derivata. Vom obţine:

Această relaţie indică un compromis între surplusul de biţi necesar pentru


control şi cerinţele unei pompări continue de biţi pe canal: pe măsură ce surplusul
V de biţi de control creşte, Kmax trebuie mărit, iar pe măsură ce lungimea j a
traseului creşte, Kmax trebuie micşorat.
Reamintim că, în practică, întârzierea este adesea mai puţin importantă pentru
transferul de fişiere decât pentru alte tipuri de mesaje, astfel încât transferurile de
fişiere ar trebui să aibă o pondere mai mică decât celelalte tipuri de mesaje în
estimata P {M}, conducând la valori mai mici pentru Kmax decât în cazul când
astfel de transferuri nu sunt prezente.
Pe măsură ce creşte traficul în reţea, efectul de pompare rămâne, deşi, uzual,
pachetele vor trebui să aştepte la cozile din noduri pentru a avansa. Dar efectul
surplusului de biţi (de control) devine mai important la trafic mare în reţea, din
cauza numărului sporit de biţi ce trebuie transmişi în cazul unor dimensiuni mici ale
pachetelor. Pe de altă parte, există unele efecte la încărcări mari ale reţelei, care
pledează pentru o dimensiune mică a pachetelor. Unul din ele este aşa-numitul efect
de “camion încet” [“slow truck”]: dacă un număr mare de pachete, cu dimensiuni
variind în limite largi, circulă pe un acelaşi traseu, pachetele scurte se vor înşira în
spatele celor lungi, din cauza duratelor mari de transmisie ale pachetelor lungi pe
fiece tronson (situaţie analogă cu înşirarea automobilelor în spatele unui camion încet
pe un drum cu o singură bandă de circulaţie).
Pentru traficul de tip “flux” (precum cel vocal), întârzierile au altă
semnificaţie decât pentru traficul de date: pentru traficul tip flux, suntem interesaţi
de întârzierea dintre momentul când un anumit bit intră în reţea şi momentul când
acesta iese din reţea, în timp ce pentru traficul de date suntem interesaţi de
intervalul dintre sosirea mesajului şi livrarea sa completă.
Să considerăm din nou cazul unei încărcări reduse a reţelei şi să admitem o
viteză R de sosire a pachetelor de lungime K . Primul bit din pachet este reţinut

61
K
timp de în aşteptarea asamblării pachetului. Presupunând că tronsoanele
R
traseului au capacităţile C1 , C2 , ... (toate mai mari ca R) şi admiţând V biţi
K +V
suplimentari de control per cadru, un pachet va fi întârziat cu pe tronsonul
Ci
i . Când un anumit pachet este recepţionat integral în ultimul nod al traseului,
primul bit al pachetului poate fi livrat imediat, ceea ce duce la o întârziere totală
K 1
T =
R
+ (K + V) C i
.
i
Presupunând că fluxul de date recepţionat este extras cu viteza R, toţi biţii
recepţionaţi vor avea aceeaşi întârziere, dată de ultima relaţie.
Observaţie: Am presupus în mod tacit, la determinarea acestei relaţii, că
K + V K
 ( ) i
Ci Ri
(adică faptul că fiece tronson poate transmite cadrele cu aceeaşi viteză cu care ele
sunt generate). Dacă această presupunere este încălcată, durata de aşteptare în şirul
de servire va deveni infinită, chiar şi în absenţa altui trafic în reţea.
Se constată că T scade pe măsura creşterii lui K, până când
K +V K
=
Ci R
pentru unul din tronsoane, obţinându-se astfel întârzierea minimă posibilă.
Lungimile pachetelor pentru traficul de tip flux se aleg, de regulă, mult mai
mari decât cele date de această limită, din cauza celuilalt trafic posibil de pe
respectivul tronson - ce face parte şi din alte trasee. Însă, pe măsură ce vitezele de
K
transmisie pe tronsoane cresc, termenul dominant al întârzierii devine - care
R
nu este afectat de alt trafic. Astfel, de exemplu, pentru trafic vocal cu 64 [kbiţi/s],
pachetele conţin până la 500 biţi, căci, pentru lungimi mai mari, cel de al doilea
termen din expresia lui T devine sensibil.
Observaţie: La încărcare redusă a reţelei, întârzierea în transmisie (pentru
mesaje tip date cât şi pentru mesaje tip flux) este controlată prin lungimea
pachetelor. Dar, la încărcare mare, utilizarea unor pachete lungi de către unii
utilizatori măreşte, în general, întârzierile pentru toţi utilizatorii. Se impune, deci, o
lungime maximă a pachetelor în reţea.
La analiza protocoalelor de tip întoarce cu n înapoi au fost prezentate
unele efecte ale variaţiilor mari de lungime ale cadrelor asupra performanţelor
acestor protocoale: fie o creştere a numărului de pachete ce trebuie retransmise,
fie o mărire a duratelor de aşteptare.. Rezultă de aici necesitatea unor dimensiuni
mici ale pachetelor.

62
Şi erorile de transmisie influenţează dimensiunea maximă a pachetelor.
Cadrele lungi au o probabilitate ceva mai mare de a fi afectate de erori (deşi,
întrucât erorile sunt, de regulă, corelate, efectul nu este atât de pronunţat). Pentru
majoritatea tronsoanelor (exceptând legăturile radio), probabilitatea alterării în
transmisie a cadrelor de dimensiuni rezonabile este de cel mult 10 - 4, astfel încât
acest efect este, în genere, mai puţin important decât celelalte efecte analizate.
Observaţie: În literatura de specialitate se analizează lungimea maximă optimă
a cadrelor în special în legătură cu acest aspect. Deci respectivele rezultate sunt
relevante doar în cazul unor probabilităţi mari ale erorilor de transmisie.
În practică, lungimile maxime tipice pentru WAN sunt de ordinul a unu
până la câteva mii de biţi. LAN au, de obicei, lungimi maxime mult mai mari
pentru cadre, întrucât traseul este format, de regulă, dintr-un singur tronson de linie
(cu multiacces). De asemenea, în LAN întârzierile şi aglomerările sunt, de obicei,
mai puţin importante şi cadrele lungi permit ca majoritatea mesajelor să fie
transmise printr-un singur pachet.
B) Cadre de lungime constantă
Când toate cadrele (şi, deci, toate pachetele) trebuie să aibă aceeaşi lungime,
lungimea mesajelor nu trebuie să fie, neapărat, un multiplu (întreg) al lungimii
pachetelor şi, deci, ultimul pachet al mesajului va trebui completat cu câţiva biţi -
numiţi “umplutură” - pentru a ajunge la lungimea dorită. Distingerea umpluturii faţă
de date, la finalul unui pachet, este, conceptual, aceeaşi problemă ca şi determinarea
sfârşitului unui cadru în cazul cadrelor de lungime variabilă.
Unul din efectele umplerii ultimului pachet este o scădere în plus a
eficacităţii utilizării canalului, în special dacă lungimea constantă fixată pentru
pachete este mult mai mare decât aceea a mai multor mesaje.
La fel ca pentru cazul cadrelor de lungime variabilă, se pot calcula numărul de
durate de transmisie a unui bit necesare pentru livrarea mesajului la destinatar (TC) -
ţinând cont, de această dată, de umplutura din ultimul pachet - precum şi
P {TC} - utilizând şi aici aproximarea
 M   M  1
P     P   +
 K   K  2
-, obţinând în final valoarea lui K ce minimizează P {TC}.
(Temă)
Se constată că lungimea optimă a pachetelor este ceva mai mică decât în
cazul pachetelor de lungime variabilă.
Un efect mult mai important din punct de vedere prectic provine de la
necesitatea realizării unei întârzieri de transmisie cât mai scăzute în cazul traficului
de tip flux . După cum am semnalat, traficul vocal cu 64 [kbiţi/s] trebuie să
utilizeze pachete de până la 500 de biţi şi această cerinţă, în cazul unei lungimi
fixe a cadrelor, obligă toate pachetele să aibă această dimensiune redusă. Acesta

63
este motivul principal pentru care ATM foloseşte cadre de 53 octeţi, chiar dacă,
pentru majoritatea celuilalt tip de trafic, ar fi de dorit cadre mult mai lungi.

64

S-ar putea să vă placă și