Sunteți pe pagina 1din 783

Reele de calculatoare

Ediia a treia
revizuit

Andrew S. Tanenbaum
Universitatea Vrijie
Amsterdam, Olanda

ACKRA
1998 Computer Press AGORA
http://www.agora.ro
Traducere:
Colectivul de coordonare:
prof. dr. ing. Valentin Cristea
prof. dr. ing. Irina Athanasiu
prof. dr. ing. Eugenia Kalisz

Colectivul de traductori:
prof. dr. ing. Nicolae Tpu
prof. dr. ing. Trandafir Moisa
ing. Vlad Vieru
prep. ing. Anca Bucur
as. ing. Gavril Godza
as. ing. Bogdan Costinescu
prep. ing. Bogdan Panghe
prep. ing. Florin Teodorescu
prep. ing. Andrei Rare
as. ing. Ion Bica
as. ing. Matei Rpeanu
prep. ing. Monica Dulgheru
prep. ing. Monica Pietroanu
ing. tefan Rusen
ing. Florentina Popovici
prep. ing. Mihaela ncu
ing. Liviu Ristoscu

Pregtire, design, producie:


Adrian Pop

Editat de Computer Press AGORA s.r.l., 1998


4300 Tg. Mure, Str. T. Vladimirescu 63/1, Tel: +40-(0)65-166516

Sub licen Prentice-Hall, Inc. dup:


Computer Networks, 3rd ed. eAndrew S. Tanenbaum
1996 by Prentice-Hall PTR, Prentice-Hall, Inc., A Simon & Schuster Company,
Upper Saddle River, New Jersey 07458

Tiprit n Romnia, la INFOPRESS SA,


4150 Odorheiul Secuiesc, Str. Victoriei 12, Tel: +40-(0)66-218283

ISBN:973-97706-3-0
Toate drepturile sunt rezervate. Nici o parte a acestei cri nu poate fi reprodus, ntr-o form sau printr-un mijloc oarecare,
fr permisiunea scris a editorului.

letan.
Reele de calculatoare
Ediia a treia
revizuit

Pentni Suzanne, Barbara, Maivin, i micul Bram


Alte titluri de mare succes ale lui Andrew S. Tanenbaum:

Sisteme de operare: proiectare i implementare, ediia a doua

Acest text despre sisteme de operare, devenit clasic, este singura carte ce acoper
att principiile sistemelor de operare ct i aplicaiile acestora la un sistem real. Sunt
tratate n detaliu toate subiectele tradiionale legate de sistemele de operare. n plus,
principiile sunt ilustrate cu grij de MINIX, un sistem de operare gratuit, de tip UNIX,
pentru calculatoare personale. A doua ediie, care este ateptat la finele lui 1996, se va
ocupa de noul sistem MINIX 2.0, bazat pe POSIX. La fel ca prima ediie, cartea va
conine un listing de cod surs MINIX. O noutate a ediiei a doua este un CD-ROM
gratuit pentru fiecare carte, CD-ROM ce conine sistemul MINIX complet (cod binar i
surs).

Sisteme de operare moderne

Acest text de mare succes prezint fundamentele att pentru sistemele uniprocesor
ct i pentru cele distribuite. Tanenbaum trateaz temele tradiionale ce cuprind
procese, gestiunea memoriei i sisteme de fiiere, dar i probleme de baz ale sistemelor
distribuite, incluznd modelul client-server. apelul de proceduri la distan, fire de
control al execuiei i sisteme de fiiere distribuite. Acest ghid practic folosete UNIX,
MS-DOS, Mach i Amoeba pentru a ilustra conceptele sistemelor de operare.

Sisteme de operare distribuite

Acest text acoper conceptele fundamentale ale sistemelor de operare distribuite.


Subiectele principale includ comunicaia i sincronizarea, procese i procesoare,
memorii comune distribuite, sisteme de fiiere distribuite, sau sisteme distribuite de
timp real. Principiile calculului distribuit sunt ilustrate n patru studii de caz detaliate ce
folosesc Mach, Amoeba, Chorus i mediile de operare DCE.

Organizarea structurat a calculatoarelor, ediia a treia

Acest text fundamental abordeaz arhitectura calculatoarelor ca pe o serie de


niveluri. La baz este hardware-ul: tranzistori, pori, registre, sumatoare i alte circuite.
Apoi vine nivelul microprogramat. Mai sus, este nivelul mainii convenionale, cu
instruciunile sale ADD, MOVE, JUMP i altele. Deasupra acestuia este sistemul de
operare, care adaug faciliti noi cum sunt gestiunea fiierelor i memoria virtual.
Ultimul capitol se ocup cu dou probleme avansate: calculatoare paralele i
proiectarea mainilor RISC.
CUPRINS

PREFAA XV

1. INTRODUCERE 1

1.1 UTILIZRILE REELELOR DE CALCULATOARE 3


1.1.1 Reele pentru firme 3
1.1.2 Reele pentru oameni 4
1.1.3 Aspecte sociale 6

1.2 HARDWARE-UL REELEI 7


1.2.1 Reele locale 8
1.2.2 Reele metropolitane 10
1.2.3 Reele larg rspndite geografic 11
1.2.4 Reele radio 13

1.3 PROGRAMELE DE REEA 15


1.3.1 Ierarhiile de protocoale 16
1.3.2 Probleme de proiectare a nivelurilor 19
1.3.3 Interfee i servicii 21
1.3.4 Servicii orientate pe conexiuni i servicii fr conexiuni 22
1.3.5 Primitive de serviciu 23
1.3.6 Relaia dintre servicii i protocoale 25
vi CUPRINS

1.4 MODELE DE REFERIN 26


1.4.1 Modelul de referin OSI 26
1.4.2 Modelul de referin TCP/IP 32
1.4.3 O comparaie ntre modelele de referin OSI i TCP 35
1.4.4 O critic a modelului i protocoalelor OSI 37
1.4.5 O critic a modelului de referin TCP/IP 40

1.5 EXEMPLE DE REELE 41


1.5.1 Novell NetWare 41
1.5.2 ARPANET-ul 43
1.5.3 NSFNET 46
1.5.4 Internet-ul 48
1.5.5 Prototipuri gigabit 50

1.6 EXEMPLE DE SERVICII PENTRU COMUNICAII DE DATE 52


1.6.1 SMDS - Serviciu de Date Comutat Multimegabit 52
1.6.2 Reele X.25 54
1.6.3 Retransmiterea cadrelor 55
1.6.4 ISDN de band larg i ATM 56
1.6.5 Comparaii ntre servicii 61

1.7 STANDARDIZAREA REELELOR 61


1.7.1 Who's Who n lumea telecomunicaiilor 62
1.7.2 Who's Who n lumea standardelor internaionale 64
1.7.3 Who's Who n lumea standardelor Internet 65

1.8 RESTUL CRII N REZUMAT 66

1.9 REZUMAT 67

2. NIVELUL FIZIC 71

2.1 BAZELE TEORETICE ALE COMUNICRII DE DATE 71


2.1.1 Analiza Fourier 71
2.1.2 Semnalele limitate de banda de frecven 72
2.1.2 Viteza Maxim de Transfer de Date a unui Canal 75

2.2 MEDIUL DE TRANSMISIE 76


CUPRINS vii

2.2.1 Mediul Magnetic 76


2.2.2 Cablul Torsadat 76
2.2.3 Cablu Coaxial n Band de Baz 77
2.2.4 Cabluri coaxiale de band larg 78
2.2.5 Fibre optice 80

2.3 COMUNICAIILE FR FIR 86


2.3.1 Spectrul electromagnetic 87
2.3.2 Transmisia radio 89
2.3.3 Transmisia prin microunde 90
2.3.4 Undele infraroii i milimetrice 91
2.3.5 Transmisia de undelor luminoase 92

2.4 SISTEMUL TELEFONIC 93


2.4.1 Structura Sistemului Telefonic 94
2.4.2 Politica din domeniul telefonic 97
2.4.3 Buclele locale 99
2.4.4 Trunchiuri i multiplexare 108
2.4.5 Comutarea 120

2.5 ISDN DE BANP LARG 128


2.5.1 Servicii ISDN 129
2.5.2 Arhitectura sistemului ISDN 129
2.5.3 Interfaa ISDN 131
2.5.4 Perspectivele N-ISDN 132

2.6 ISDN DE BAND LARG I ATM 133


2.6.1 Circuitele virtuale n comparaie cu circuitele comutate 133
2.6.2 Transmisia n reelele ATM 135
2.6.3 Comutatoare ATM 136

2.7 RADIO CELULAR 144


2.7.1 Sisteme pager 144
2.7.2 Telefoane fr fir 145
2.7.3 Telefoane celulare analogice 146
2.7.4 Telefoane celulare digitale 150
2.7.5 Servicii de comunicaii personale 151

2.8 SATELII DE COMUNICAIE 152


viii CUPRINS

2.8.1 Satelii geosincroni 152


2.8.2 Satelii de joas altitudine 155
2.8.3 Satelii yersus Fibre Optice 156

2.9 REZUMAT 157

3. NIVELUL LEGTUR DE DATE 163


3.1 ASPECTE ALE PROIECTRII NIVELULUI LEGTUR DE DATE 163
3.1.1 Servicii oferite nivelului reea 164
3.1.2 ncadrarea 166
3.1.3 Controlul erorilor 169
3.1.4 Controlul fluxului 170

3.2 DETECTAREA I CORECTAREA ERORILOR 170


3.2.1 Coduri corectoare de erori 171
3.2.2 Coduri detectoare de erori 173

3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 177


3.3.1 Un protocol simplex fr restricii 180
3.3.2 Un protocol simplu Stop-and-Wait (pas-cu-pas) 182
3.3.3 Un protocol simplex pentru un canal cu zgomote 184

3.4 PROTOCOALE CU FEREASTR GLISANT 187


3.4.1 Un protocol cu fereastr glisant de un bit 189
3.4.2 Un protocol de revenire cu n pai (Go Back n) 192
3.4.3 Un protocol cu repetare selectiv 197

3.5 SPECIFICAREA I VERIFICAREA PROTOCOALELOR 202


3.5.1 Modele de tip automat finit 202
3.5.2 Modele de tip reea Petri 206

3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 208


3.6.1 HDLC - Controlul de nivel nalt al legturii de date 208
3.6.2 Nivelul legtura de date n Internet 211
3.6.3 SLIP - Serial Line IP 212
3.6.4 PPP - Point-to-Point Protocol (protocol punct-la-punct) 213
3.6.5 Nivelul legtura de date la ATM 217
CUPRINS ix

3.7 REZUMAT 220

4. SUBNIVELUL DE ACCES LA MEDIU 225


4.1 PROBLEMA ALOCRII CANALULUI 226
4.1.1 Alocarea static a canalului n reelele LAN i MAN 226
4.1.2 Alocarea dinamic a canalului n reelele LAN i MAN 227

4.2 PROTOCOALE CU ACCES MULTIPLU 228


4.2.1 ALOHA228
4.2.2 Protocoale cu acces multiplu i detecie de purttoare 232
4.2.3 Protocoale fr coliziuni 235
4.2.4 Protocoale cu conflict limitat 237
4.2.5 Protocoale cu acces multiplu cu divizarea frecvenei 240
4.2.6 Protocoale pentru reele LAN fr fir 243
4.2.7 Radioul celular digital 246

4.3 STANDARDUL IEEE 802 PENTRU LANURI I MAN-URI 255


4.3.1 Standardul IEEE 802.3 i ETHERNET 255
4.3.2 Standardul IEEE 802.4: LAN de tip jeton pe magistral 266
4.3.3 Standardul IEEE 802.5: LAN de tip jeton pe inel 271
4.3.4 Comparaie ntre 802.3, 802.4 i 802.5 278
4.3.5 Standardul IEEE 802.6: Magistral dual cu coad distribuit 279
4.3.6 Standardul IEEE 802.2: Controlul legturii logice 280

4.4 PUNI 282


4.4.1 Puni de la 802.x la 8O2.y 284
4.4.2 Puni transparente 287
4.4.3 Puni cu dirijare de la surs 291
4.4.4 Compararea punilor 802 293
4.4.5 Puni aflate la distan 294

4.5 LANURI DE MARE VITEZ 295


4.5.1 FDDI295
4.5.2 Ethernet rapid 298
4.5.3 HIPPI- Interfaa paralel de mare vitez 301
4.5.4 Canalul de fibr optic 302
x CUPRINS

4.6 REELE DE SATELII 303


4.6.1 Interogare 304
4.6.2 ALOHA.305
4.6.3 FDM306
4.6.4 TDM 306
4.6.5 CDMA 308

4.7 REZUMAT 309

5. NIVELUL REEA 315

5.1 CERINELE DE PROIECTARE ALE NIVELULUI REEA 315


5.1.1 Servicii furnizate nivelului transport 315
5.1.2 Organizarea intern a nivelului reea 318
5.1.3 Comparaie ntre subretele bazate pe circuite virtuale i datagrame 319

5.2 ALGORITMI DE DIRIJARE 321


5.2.1 Principiul optimalitii 322
5.2.2 Dirijarea pe calea cea mai scurt 323
5.2.3 Inundarea 325
5.2.4 Dirijarea bazat pe flux 327
5.2.5 Dirijare cu vectori distan 329
5.2.6 Dirijarea folosind starea legturilor 333
5.2.7 Dirijare ierarhic 339
5.2.8 Dirijarea pentru calculatoare gazd mobile 340
5.2.9 Dirijarea prin difuzare 343
5.2.10 Dirijarea cu trimitere multipl (multicast) 345

5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 347


5.3.1 Principii generale ale controlului congestiei 349
5.3.2 Politici pentru prevenirea congestiei 350
5.3.3 . Formarea traficului 352
5.3.4 Specificarea fluxului 357
5.3.5 Controlul congestiei n subreelele bazate pe circuite virtuale 358
5.3.6 Pachete de oc 359
5.3.7 mprtierea ncrcrii 363
5.3.8 Controlul fluctuaiilor 364
5.3.9 Controlul congestiei la transmisia multicast 364
CUPRINS xi

5.4 INTERCONECTAREA REELELOR 367


5.4.1 Prin ce difer reelele 370
5.4.2 Circuite virtuale concatenate 371
5.4.3 Interconectarea reelelor fr conexiuni 372
5.4.4 Trecerea prin tunel 374
5.4.5 Dirijarea n reele interconectate 375
5.4.6 Fragmentarea 377
5.4.7 Ziduri de protecie 380

5.5 NIVELUL REEA N INTERNET 382


5.5.1 Protocolul IP 383
5.5.2 Adrese IP 386
5.5.3 Subretele 387
5.5.4 Protocoale de control n Internet 389
5.5.5 Protocolul de dirijare folosit de porile interioare: OSPF 393
5.5.6 Protocolul de dirijare pentru pori externe: BGP 398
5.5.7 Trimiterea multipl n Internet 399
5.5.8 IP mobil 400
5.5.9 CIDR - Dirijarea fr clase ntre domenii 402
5.5.10 IPv6 405

5.6 NIVELUL REEA N REELE ATM 416


5.6.1 Formatele celulelor 417
5.6.2 Stabilirea conexiunii 419
5.6.3 Dirijarea i comutarea 421
5.6.4 Categorii de servicii 424
5.6.5 Calitatea serviciului 426
5.6.6 Modelarea traficului i politici de trafic 429
5.6.7 Controlul congestiei 433
5.6.8 LAN-uri ATM 436

5.7 REZUMAT 438

6. NIVELUL TRANSPORT 445


6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 445
6.1.1 Servicii furnizate nivelurilor superioare 445
6.1.2 Calitatea unui serviciu 447
xii CUPRINS

6.1.3 Primitivele serviciilor de transport 448

6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 453


6.2.1 Adresarea 454
6.2.2 Stabilirea unei conexiuni 457
6.2.3 Eliberarea conexiunii 452
6.2.4 Controlul fluxului i memorarea temporar (buffering) 466
6.2.5 Multiplexarea 470
6.2.6 Refacerea dup cdere 471

63 UN PROTOCOL SIMPLU DE TRANSPORT 473


6.3.1 Primitivele serviciului aies ca exemplu 473
6.3.2 Entitatea de transport aleas ca exemplu 475
6.3.3 Exemplul vzut ca un automat finit 482

6A PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 485


6.4. Modelul Serviciului TCP 485
6.4.2 Protocolul TCP 487
6.4.3 Antetul segmentului TCP 488
6.4.4 Administrarea conexiunii TCP 491
6.4.5 Politica TCP de Transmisie a datelor 495
O.^T.'iJ wsJiil.i'wiUi VVj-ilg^OLlwi Iii i ' v f T7O

6.4.7 Administrarea contorului de timp n TCP 504


6.4.8 UDP 504
6.4.9 TCP i UDP fr fir 504

5 PROTOCOALE AAL DE NIVEL ATM 506


6.5.1 Structura nivelului de adaotare ATM 508
ii.

6.5.2 AAL 1 509


6.5.3 AAL 2 510
6.5.4 AAL 3/4 511
6.5.5 AAL 5 514
6.5.6 O comparaie a protocoalelor AAL 515
6.5.7 SSCOP - protocol orientat pe conexiuni, specific serviciului 516

6,6 ELEMENTE DE PERFORMAN 516


6.6.1 Probleme de performan n reelele de calculatoare 517
6.6.2 Msurarea performanelor reelei 519
6.6.3 Proiectarea de sistem pentru performane superioare 522
CUPRINS

6.6.4 Prelucrarea rapid a TPDU-urilor 525


6.6.5 Protocoale pentru reele gigabit 529

6.7 REZUMAT 532

\ NIVELUL APLICAIE 537

7.1 SECURITATEA REELEI 537


7.1.1 Criptografia tradiional 539
7.1.2 Dou principii criptografice fundamentale 545
7.1.3 Algoritmi cu Cheie Secret 546
7.1.4 Algoritmi cu Cheie Public 555
7.1.5 Protocoale de Autentificare 559
7.1.6 Semnturi Digitale 570 \
7.1.7 Implicaii sociale 577

7.2 DNS - SISTEMUL NUMELOR DE DOMENII 577


7.2.1 Spaiul de nume DNS 578
7.2.2 nregistrri de resurse 580
7.2.3 Servere de nume 583

73 SNMP - PROTOCOL SIMPLU DE ADMINISTRARE A REELEI 585


7.3.1 Modelul SNMP 586
7.3.2 ASN.l - Notaia sintactic abstract 1 588
7.3.3 SMI - Structura informaiei de administrare 593
7.3.4 MIB - Baza de informaii de administrare 595
7.3.5 Protocolul SNMP 596

7.4 POTA ELECTRONIC 597


7.4.1 Arhitectur si servicii 598
7.4.2 Agentul utilizator 600
7.4.3 Formatele mesajelor 604
7.4.4 Transfer de mesaje 610
7.4.5 Confidenialitatea potei electronice 615

7.5 TIRI USENET 621


7.5.1 USENET din punctul de vedere al utilizatorului 621
7.5.2 Cum este implementat USENET 625
xiv CUPRINS

7.6 WORLD WIDE WEB 630


7.6.1 Aspectele privind clientul 631
7.6.2 Aspecte privind serverul 634
7.6.3 Scrierea unei pagini de Web n HTML 640
7.6.4 Java 654
7.6.5 Regsirea informaiilor pe Web 666

7.7 MULTIMEDIA 669


7.7.1 Audio 669
7.7.2 Video 672
7.7.3 Compresia datelor 675
7.7.4 Video la Cerere 687
7.7.5 MBone - Coloana vertebral pentru trimitere multipl 699

7.8 REZUMAT 702

8. BIBLIOGRAFIE I RECOMANDRI DE LECTUR 709

8.1 SUGESTII PENTRU LECTURI VIITOARE 709


8.1.1 Lucrri introductive i generale 710
8.1.2 Nivelul fizic 711
8.1.3 Nivelul legtur de date 712
8.1.4 Subnivelul de control al accesului la mediu 712
8.1.5 Nivelul reea 713
8.1.6 Nivelul transport 714
8.1.7 Nivelul aplicaiei 714

8.2 BIBLIOGRAFIE N ORDINE ALFABETIC 716

DICIONAR 737

INDEX 761
PREFAA

Aceast carte este acum la a treia ediie. Fiecare ediie a corespuns unei etape diferite n modul
de utilizare a reelelor de calculatoare. Cnd a aprut prima ediie, n 1980, reelele erau o
curiozitate academic. n 1988, cnd a aprut a doua ediie, reelele erau folosite de universiti i de
marile firme. Cnd a aprut a treia ediie n 1996, reelele de calculatoare, n special Intemet-ul
rspndit n ntreaga lume, au devenit o realitate zilnic pentru milioane de oameni.
Mai mult, echipamentele i programele de reea s-au schimbat complet de cnd a aprut a doua
ediie. n 1988, aproape toate reelele se bazau pe cablul de cupru. Acum, multe se bazeaz pe fibr
optic i comunicaie fr fir. Reelele particulare, cum este SNA, au devenit mult mai puin
importante dect reelele publice, n special Internet-ul. Protocoalele OS1 au disprut n tcere i
protocolul TCP/IP a devenit dominant. De fapt, opernd att de multe schimbri, cartea a fost
rescris aproape n ntregime.
Dei Cap. 1 are aceeai funcie introductiv pe care o avea i n ediia a doua, cuprinsul a fost
complet revzut i actualizat. De exemplu, n loc de a centra cartea pe modelul OSI cu apte
niveluri, se folosete un model hibrid cu cinci niveluri, introdus n Cap. 1. Dei acesta nu este identic
cu modelul TCP/IP, principial este mult mai apropiat de modelul TCP/IP dect de modelul OSI
folosit n ediia a doua. De asemenea, noile exemple funcionale folosite de la un capt la cellalt al
crii - Internet-ul i reelele ATM - sunt prezentate aici, mpreun cu unele reele gigabit i alte
reele rspndite.
xv
xvi PREFA

n Cap. 2 accentul s-a mutat de la cablul de cupru la fibra optic i comunicaia fr fir,
acestea fiind tehnologiile viitorului. n decada care a trecut, sistemul telefonic a devenit
aproape n ntregime digital, astfel c o mare parte din materialul referitor la el a fost rescris,
cu adugarea unui material nou despre ISDN de band larg.
Ordinea discuiei despre nivelul legtur de date i subnivelul MAC a fost inversat,
deoarece experiena cu studenii a artat c ei neleg mai bine subnivelul MAC dup ce au
studiat nivelul legtur de date. Exemplele de protocoale prezentate acolo au fost pstrate,
deoarece s-au dovedit foarte populare, dar au fost rescrise n C. S-au adugat materiale noi
despre nivelul legtur de date la Internet i ATM.
Principiile subnivelului MAC din Cap. 4 au fost revizuite pentru a reflecta noile protocoale,
incluznd multiplexarea cu divizarea lungimii de und, LAN-uri fr fir i radioul digital. Discuiile
despre puni au fost revizuite i s-a adugat o parte nou despre LAN-uri de mare vitez.
Cei mai muli dintre algoritmii de dirijare din Cap. 5 au fost nlocuii cu unii mai moderni,
incluznd dirijarea dup vectorul distanelor i dirijarea dup starea legturilor. Seciunile
despre controlul congestiei au fost refcute complet i materialul despre exemplele practice,
Internet i ATM, este n ntregime nou.
Cap. 6 trateaz n continuare nivelul transport, dar i aici au avut loc schimbri importante,
n primul rnd adugarea unei mari cantiti de material nou despre Internet, ATM i
performanele reelei.
Cap. 7, despre nivelul aplicaie, este acum cel mai lung capitol din carte. Materialul despre
securitatea reelei i-a dublat lungimea i s-au adugat materiale noi despre DNS, SNMP,
e-mail, USENET, World Wide Web, HTML, Java, multimedia, video la cerere i Mbone.
Dintre cele 395 de figuri din a treia ediie, 276 (70 la sut) sunt complet noi, iar unele
dintre celelalte au fost revizuite. Dintre cele 370 de trimiteri la literatura de specialitate, 281
(76 la sut) sunt la cri i articole care au aprut dup publicarea ediiei a doua. Dintre
acestea, peste 100 sunt la lucrri publicate numai n 1995 i 1996. Prin urmare, probabil c 75
la sut din ntreaga carte este complet nou i pri din cele 25 de procente rmase au fost
revizuite n amnunt. Deoarece aceasta este efectiv o carte nou, coperta a fost redesena
pentru a se evita confuzia cu ediia a doua.
Crile despre calculatoare sunt pline de acronime. Cea de fa nu este o excepie.
Cnd vei termina de citit aceast carte, toate cele ce urmeaz ar trebui s sune familiar:
AAL, AMPS, ARP, ASN, ATM, BGP, CDMA, CDPD, CSMA, DQDB, DNS, FAQ, FDM,
FTP, FTTC, FTTH, GSM, HDLC, HEC, HIPP, IAB, ICMP, IDEA, IETF, IPv6, ISO,
ITU, LATA, MAC, MACA, MAN, MIB, MIME, NAP, NNTP, NSA, NSAP, OSI, OSPF,
PCM, PCN, PCS, PEM, PGP, PPP, PSTN, PTT, PVC, QAM, RARP, RFC, RSA, SABME,
SAP, SAR, SDH, SDLC, SHA, SMI, SNA, SNMP, SNRME, SPX, TCP, UDP, VHF, VLFS
VSAT, WARC, WDM, WWV i WWW. Dar nu v ngrijorai. Fiecare va fi definit cu grij
nainte de a fi utilizat.
PREFA xvii

Pentru a ajuta instructorii n folosirea acestei cri ca text pentru curs, autorul a pregtit trei
materiale ajuttoare pentru predare:
Un manual cu soluiile problemelor.
Fiiere PostScript coninnd toate figurile (pentru producerea de transparente)
Un simulator (scris n C) pentru exemplele de protocoale din Cap. 3.
Manualul cu soluii este disponibil la Prentice Hali (dar numai pentru instructori).
Fiierul cu figuri i simulatorul sunt disponibile prin World Wide Web. Pentru a le obine, v rog
s v uitai la pagina personal a autorului: http:llwww.cs.vu.dhustj.
Cartea a fost editat* n Times Roman, folosind Troff, care, dup toi aceti ani, este nc singura
soluie posibil. Dei Troff nu este aa modern ca sistemele WYSIWYG, cititorul este invitat s
compare calitatea acestei cri cu alte cri produse de sisteme WYSIWYG. Singura concesie pe
care am fcut-o PC-urilor i editrii cu ajutorul calculatoarelor personale este c, pentru prima dat,
figurile au fost produse folosind Adobe Illustrator, n loc s fie desenate pe hrtie. De asemenea,
pentru prima dat, cartea a fost produs n ntregime electronic. Rezultatul PostScript de la Troff a
fost trimis prin Internet la tipografie unde s-a realizat filmul pentru producerea matrielor. Nici o
copie intermediar pe hrtie nu a fost tiprit i fotografiat, aa cum se face n mod normal.
Multe persoane m-au ajutat n timpul lucrului la a treia ediie. A dori n mod deosebit s-mi
exprim mulumirile ctre Chase Bailey, Saniya Ben Hassen, Nathaniel Borenstein, Ron Cocchi,
Dave Crocker, Wiebren de Jonge, Cari Ellison, M. Rasit Eskicioglu, John Evans, Mario Gerla, Mike
Goguen, Paul Green, Dick Grune, Wayne Hathaway, Franz Hauck, Jack Holtzman, Gerard
Holtzmann, Philip Homburg, Peter Honeyman, Raj Jain, Dave Johnson, Charie Kaufman, Vinary
Kumar, Jorg Liebeherr, Paul Mockapetris, Carol Orange, Craig Partridge, Charlie Perkins, Thomas
Powell, Greg Sharp, Arme Steegstra, George Swallow, Mark Taylor, Peter van der Linden, Hans van
Staveren, Maarten van Steen, Kees Verstoep, Stephen Walters, Michael Weintraub, Joseph Wilkes
i Stephen Wolff. Mulumiri speciale Radiei Perlman pentru multe sugestii utile. Studenii mei au
ajutat i ei n multe moduri. A dori s-i evideniez pe Martijn Bot, Wibert de Graaf, Flavio del
Porno i Amold de Wit pentru asistena acordat.
Editorul meu de la Prentice Hali, Mary Franz m-a aprovizionat cu mai multe materiale pentru
citit dect am consumat n cei 10 ani anteriori. Ea mi-a fost de asemenea de ajutor n numeroase alte
feluri, mici, medii, mari i colosale. Editorul meu de producie, Camille Trentacoste, m-a nvat
despre oameni de zpad, cldiri cu 8 etaje, fax [sic] i alte articole importante, n timp ce executa
servicii utile si se confrunta cu un Autor Nzuros si un orar ncrcat.
n sfrit, am ajuns la persoanele cele mai importante. Suzanne, Barbara, Marvin i chiar i micul
Bram au mai trecut prin aceast procedur nainte. Au suportat-o cu infinit rbdare i cu mare
amabilitate. Le mulumesc.

ANDREW S. TANENBAUM

* este vorba de ediia original, publicat la Prentice-Hall International, Inc. (n.t.)


INTRODUCERE

Fiecare din ultimele trei secole a fost dominat de o anumit tehnologie. Secolul al XVIII-lea a
fost secolul marilor sisteme mecanice care au nsoit Revoluia Industrial. Secolul al XlX-lea a
nsemnat era mainilor cu aburi. In secolul XX, tehnologia cheie este legat de colectarea,
prelucrarea i distribuirea informaiei. Printre alte realizri, am asistat la instalarea reelelor
telefonice mondiale, la invenia radioului i a televiziunii, la naterea i creterea nemaivzut a
industriei de calculatoare i la lansarea sateliilor de comunicaii.
Datorit progresului tehnologic rapid, aceste domenii converg n ritm alert, iar
diferenele ntre colectarea, transportul, stocarea i prelucrarea informaiei dispar pe zi
ce trece. Organizaii cu sute de birouri rspndite pe o arie geografic larg se ateapt
s poat examina n mod curent printr-o simpl apsare de buton chiar i echipamentele
lor cele mai ndeprtate. Pe msur ce posibilitile noastre de a colecta, prelucra i
distribui informaia cresc tot mai mult, cererea pentru o prelucrarea i mai sofisticat a
informaiei crete i mai rapid.
Dei industria de calculatoare este tnr n comparaie cu alte industrii (de exemplu,
construcia de automobile i transportul aerian), domeniul calculatoarelor a cunoscut un
progres spectaculos ntr-un timp scurt. In primele decenii de existen sistemele de calcul erau
foarte centralizate, de obicei n interiorul unei singure ncperi. Adesea, aceast ncpere avea
perei de sticl prin care vizitatorii se puteau holba la marea minune electronic dinuntru. O
companie de mrime mijlocie sau o universitate ar fi putut avea unul sau dou calculatoare, n
timp ce instituiile mari aveau cel mult cteva zeci. Ideea c n mai puin de 20 de ani
calculatoare la fel de puternice, mai mici dect un timbru potal, vor fi produse pe scar larg
n milioane de exemplare prea desprins dintr-un scenariu tiinifico-fantastic.
2 INTRODUCERE CAP. 1

ntreptrunderea dintre domeniul calculatoarelor i cel al comunicaiilor a avut o influen


profund asupra modului n care sunt organizate sistemele de calcul. Conceptul de centru de
calcul" - n accepiunea sa de camer unde exist un calculator mare la care utilizatorii vin s-i
ruleze programele - este total depit. Vechiul model al unui singur calculator care servete
problemelor de calcul ale organizaiei a fost nlocuit de un model n care munca este fcut de un
numr mare de calculatoare separate, dar interconectate. Aceste sisteme se numesc reele de
calculatoare. Proiectarea i organizarea acestor reele reprezint subiectul acestei cri.
Pe parcursul crii vom folosi termenul reea de calculatoare" pentru a desemna o colecie
interconectat de calculatoare autonome. Se spune despre dou calculatoare c sunt interconectate
dac sunt capabile s schimbe informaie ntre ele. Conectarea nu se face neaprat printr-un cablu
de cupru; pot fi folosite n acest scop fibre optice, microunde sau satelii de comunicaii. Impunnd
calculatoarelor cerina de a fi autonome, dorim s excludem din definiia noastr sistemele n care
exist o relaie clar de tip master/slave. Dac un calculator poate s porneasc, s opreasc sau s
controleze n mod forat un altul, atunci calculatoarele nu sunt autonome. Un sistem cu o unitate de
control i mai multe uniti aservite nu este o reea; aa cum nu este o reea nici un calculator mare
cu imprimante i terminale aflate la distan.
n literatura de specialitate, se face deseori confuzie ntre o reea de calculatoare i un sistem
distribuit. Deosebirea esenial este c, ntr-un sistem distribuit, existena mai multor calculatoare
autonome e transparent pentru utilizator. Acesta poate tasta o comand pentru a executa un
program i programul se va executa. Este sarcina sistemului de operare s aleag procesorul cel mai
potrivit, apoi s gseasc i s transfere toate fiierele de intrare ctre respectivul procesor i s
depun rezultatele n locul corespunztor.
Cu alte cuvinte, utilizatorul unui sistem distribuit nu este contient c exist mai multe
procesoare; sistemul arat ca un singur procesor virtual. Alocarea lucrrilor pe procesoare i a
fiierelor pe discuri, transferul de fiiere ntre locul unde ele sunt stocate i locul unde sunt necesare,
orice alt funcie de sistem - toate acestea trebuie s se execute automat.
ntr-o reea, utilizatorii trebuie s se conecteze explicit la o anumit main, s comande explicit
execuia proceselor la distan, s transfere explicit fiierele i, n general, s personalizeze toat
administrarea reelei. ntr-un sistem distribuit nu este nimic de fcut n mod explicit; totul este
realizat automat de ctre sistem, fr cunotina utilizatorilor.
De fapt, un sistem distribuit este un sistem de programe construit peste o reea. Programele
asigur reelei un grad mare de coeziune i transparen. De aceea, diferena major ntre o reea i
un sistem distribuit nu apare la nivel de echipamente, ci de programe (n special la nivelul sistemului
de operare).
Nu mai puin adevrat este faptul c ntre cele dou subiecte exist o suprapunere considerabil.
De exemplu, att sistemele distribuite ct i reelele de calculatoare au nevoie s transfere fiiere.
Diferena se refer la cine invoc transferul: sistemul sau utilizatorul. Dei aceast carte are n
vedere n primul rnd reelele, multe din subiectele abordate sunt importante i n sistemele
distribuite. Pentru mai multe informaii despre sistemele distribuite, a se vedea (Coulouris .a.,
1994; Mullender, 1993; i Tanenbaum, 1995).
SEC. 1.1 UTILIZRILE REELELOR DE CALCULATOARE 3

1.1 UTILIZRILE REELELOR DE CALCULATOARE

nainte de examinarea n detaliu a problemelor tehnice, merit s artm de ce sunt oamenii


interesai de reelele de calculatoare i la ce pot fi ele folosite.

1.1.1 Reele pentru firme

Multe organizaii dispun de un numr semnificativ de calculatoare, aflate deseori ia distan


unul de altul. De exemplu, o firm cu multe fabrici poate avea n fiecare unitate de producie cte
un calculator pe care se ine evidena inventarului, se monitorizeaz productivitatea i se calculeaz
salariile angajailor. La nceput, fiecare din aceste calculatoare putea lucra izolat de celelalte, dar, la
un moment dat, managerii au decis s le conecteze ntre ele pentru a putea extrage i corela
informaii despre ntreaga firm.
n termeni mai generali, subiectul se refer la mprirea resurselor, iar scopul este de a face
toate programele, echipamentele i n special datele disponibile pentru oricine din reea, indiferent
de localizarea fizic a resursei i a utilizatorului. Cu alte cuvinte, simplul fapt c un utilizator se
ntmpl s fie la 1000 km distan de datele sale nu trebuie s l mpiedice s foloseasc
respectivele date ca i cum ele ar fi locale. Acest obiectiv poate fi sintetizat spunnd c reprezint o
ncercare de a distruge tirania geografiei".
Un al doilea scop este asigurarea unei fiabiliti mari prin accesul ia mai multe echipamente de
stocare alternative. De exemplu, fiierele pot fi copiate pe dou sau trei maini, astfel nct, dac
una din ele nu este disponibil (datorit unei defeciuni hardware), pot fi utilizate celelalte copii. n
plus, prezena mai multor procesoare nseamn c, dac un procesor se defecteaz, celelalte pot s
preia i s duc la bun sfrit, fie i cu performane reduse, activitatea respectivului procesor. Pentru
domeniile militar i bancar, controlul traficului aerian, sigurana reactoarelor nucleare i multe alte
asemenea aplicaii, posibilitatea de a nu ntrerupe operarea unor echipamente n eventualitatea
unor probleme hardware este de maxim importan.

Maina ciien Maina server


Procesul | ] Procesu
client "
v
j \ ,
1 1
/ !
- Reea
Cerere y
Rspuns_____

Fig. 1-1. Modelul client-server.

Un alt scop este economisirea banilor. Calculatoarele mici au un raport pre/calitate mult mai
bun dect cele mari. Sistemele mari de calcul (calculatoare de mrimea unei camere) sunt cam de
zece ori mai rapide dect calculatoarele personale, dar cost de o mie de ori mai mult. Acest
dezechilibru i-a determinat pe muli proiectani s construiasc sisteme formate din calculatoare
4 INTRODUCERE CAP. 1

personale, cte unul pentru fiecare utilizator, datele din reea fiind pstrate pe unul sau mai multe
servere de fiiere partajate. In acest model utilizatorii sunt numii clieni, iar ntregul aranjament
poart numele de model client-server. Acest model este ilustrat n Fig. 1-1.
n modelul client-server comunicarea ia, n general, forma unui mesaj de cerere prin care
clientul solicit serverului executarea unei anumite aciuni. Serverul execut cererea i trimite
rspunsul napoi clientului. n mod uzual exist un numr mare de clieni i un numr mic de
servere.
Un alt scop al conectrii n reele este scalabilitatea: posibilitatea ca, odat cu volumul de
munc, s creasc treptat i performana sistemului prin adugarea de noi procesoare. n cazul
sistemelor mari de calcul centralizate, atunci cnd sistemul este ncrcat el trebuie nlocuit cu un
sistem mai mare, operaie ce presupune de obicei costuri mari i multe neplceri pentru utilizatori,
n modelul client-server pot fi adugai clieni i servere noi pe msur ce este nevoie de ei.
n sfrit, punerea n funciune a unei reele de calculatoare servete i unui scop care nu
are de-a face aproape deloc cu tehnologia. O reea de calculatoare poate furniza un mediu de
comunicare puternic ntre angajai aflai la mare deprtare unii de alii. Folosind o reea, este
uor ca dou sau mai multe persoane care triesc n locuri diferite s scrie mpreun un
raport. Cnd un angajat schimb ceva ntr-un document din reea, ceilali pot vedea
schimbarea imediat, fr a mai atepta cteva zile o scrisoare n acest scop. Cooperarea ntre
grupuri de oameni aflai la distane mari unii fa de alii - un lucru imposibil nainte - devine
n acest fel simpl. Pe termen lung, utilizarea reelelor pentru a asigura comunicarea inter-
uman se va dovedi, probabil, mai important dect scopuri tehnice de genul creterii
fiabilitii.

1.1.2 Reele pentru oameni

Motivaiile prezentate mai sus pentru construirea reelelor de calculatoare au o natur esenial
economic i tehnologic. Dac ar fi disponibile la preuri acceptabile sisteme de calcul suficient de
mari i de puternice, atunci majoritatea firmelor ar decide pur i simplu s i pstreze datele pe
acestea i s pun la dispoziia angajailor terminale conectate la ele. n anii 70 i la nceputul anilor
'80, cele mai multe companii lucrau n acest mod. Reelele de calculatoare au devenit populare abia
cnd reelele formate din calculatoare personale au oferit un uria avantaj pre/performan asupra
sistemelor mari de calcul.
n anii 1990, reelele de calculatoare au nceput s furnizeze servicii la domiciliu pentru
persoane particulare. Aceste servicii, ca i motivele pentru care sunt folosite, se deosebesc n mare
msur de modelul eficienei colective" descris n seciunea precedent. Vom scoate acum n
eviden trei dintre cele mai fascinante lucruri care au nceput s se petreac:

1. Accesul la informaie de la distan.


2. Comunicaiile interpersonale.
3. Divertismentul interactiv.

Accesul informaiei la distan va lua forme multiple. O aplicaie deja actual privete accesul la
instituii financiare. Muli oameni i pltesc electronic taxele i i administreaz electronic
conturile bancare i investiiile. A devenit de asemenea popular practica de a face cumprturi de
SEC. 1.1 UTILIZRILE REELELOR DE CALCULATOARE 5

la domiciliu, cu posibilitatea de a inspecta cataloagele on-line a mii de firme. Unele din aceste
cataloage vor permite curnd ca, printr-un simplu clic pe numele oricrui produs, s vizionm
imediat o prezentare video a produsului respectiv.
Presa va fi disponibil n direct i va fi personalizat. Va fi posibil s comunici unui ziar c te
intereseaz tot ce este legat de politicieni corupi, incendii, scandaluri n lumea celebritilor i
epidemii, n schimb fotbal - nu, mulumesc. Noaptea, n timp ce dormi, ziarul va fi adus pe discul
calculatorului tu sau va fi tiprit pe imprimanta ta laser. Pe o scar restrns acest serviciu exist
deja. Urmtorul pas dup ziare (plus reviste i publicaii tiinifice) este biblioteca digital n direct.
n funcie de costul, mrimea i greutatea calculatoarelor blocnotes, crile tiprite ar putea s
devin simboluri ale trecutului. Scepticii ar trebui s ia aminte la efectul pe care tiparul 1-a avut
asupra manuscriselor medievale.
O alt aplicaie din aceast categorie este accesul la sisteme de informaii similare actualului
World Wide Web. Web-ul conine informaii despre arte, afaceri, gtit, politic, sntate, istorie,
hobby-uri, recreere, tiin, sport, cltorii i multe alte domenii prea numeroase chiar i pentru a fi
doar menionate.
Toate aceste aplicaii presupun interaciuni ntre o persoan i o baz de date aflat la distan.
O a doua categorie larg de utilizri ale reelei se va referi la interaciunile ntre persoane - este
vorba n primul rnd de replica secolului XXI la telefonul din secolul al XlX-lea. Pota electronic,
sau e-mail-ul, este deja folosit frecvent de milioane de oameni i, n scurt timp, va conine n mod
A

curent, pe lng text, secvene audio i video. In schimb, va dura ceva mai mult pn cnd se va
pune la punct nglobarea mirosului n mesaje.
Pota electronic n timp real va permite utilizatorilor aflai la distan s comunice fr nici o
ntrziere, fiind posibil eventual chiar s se vad i s se aud unul pe cellalt. Aceast tehnologie
face posibile ntlnirile virtuale, numite videoconferine, ntre oameni care se gsesc n diferite
locuri pe glob. Se spune uneori c are loc o competiie ntre transport i comunicaii, iar
ctigtorul, indiferent cine va fi, va prelua i rolul jucat pn acum de ctre domeniul nvins,
ntlnirile virtuale ar putea fi folosite pentru educaie la distan, pentru a cere sfaturi medicale de
la specialiti aflai la deprtare i pentru alte numeroase aplicaii.
Grupurile de interese de pe tot globul, cu discuii privind orice subiect imaginabil, fac deja parte
din realitatea cotidian a unei anumite categorii de persoane, iar aceast categorie va crete pn la
dimensiunile ntregii omeniri. Discuiile, n care o persoan trimite un mesaj i toi ceilali abonai ai
grupului de interes pot s-1 citeasc, se deruleaz n toate stilurile posibile, putnd fi la fel de bine
extrem de amuzante sau de ptimae.
A treia categorie avut n vedere este divertismentul, care reprezint o industrie uria, n
continu cretere. n acest domeniu aplicaia de cel mai mare succes (cea care poate s influeneze
tot restul) se numete video la cerere. Este plauzibil ca peste vreo zece ani s putem selecta orice
film sau program de televiziune realizat vreodat n orice ar i acesta s fie disponibil pe ecranul
nostru imediat. Filmele noi ar putea deveni interactive: spectatorul ar fi ntrebat n anumite
momente ce continuare a povestirii alege (s-1 ucid MacBeth pe Duncan sau s atepte o ocazie
mai bun?), fiind prevzute scenarii alternative pentru toate cazurile. De asemenea, televiziunea n
direct s-ar putea desfura interactiv, cu telespectatori care particip la concursuri, care aleg
ctigtorul dintre concurenii preferai i aa mai departe.
Pe de alt parte, poate c nu sistemul de video la cerere, ci jocurile vor reprezenta aplicaia de
maxim succes. Exist deja jocuri pentru mai multe persoane cu simulare n timp real, de exemplu
6 INTRODUCERE CAP. 1

v-ai ascunsea ntr-o nchisoare virtual sau simulatoare de zbor n care juctorii unei echipe
ncearc s-i doboare pe cei din echipa advers. Dac animaia este tridimensional, n timp real i
de calitate fotografic, atunci avem un fel de realitate virtual global i partajat.
Pe scurt, posibilitatea combinrii de informaii, comunicare i divertisment va da natere, cu
siguran, unei uriae industrii noi, bazat pe reelele de calculatoare.

1.1.3 Aspecte sociale

Introducerea pe scar larg a reelelor va ridica noi probleme sociale, etice i politice
(Laudon, 1995). Vom meniona pe scurt cteva dintre ele; un studiu exhaustiv ar necesita cel
puin o carte. O aplicaie popular a multor reele sunt grupurile de interese sau sistemele de
informare n reea (BBS-urile), unde oamenii pot schimba mesaje cu persoane avnd
preocupri similare. Atta vreme ct este vorba de subiecte tehnice sau de pasiuni precum
grdinritul, nu sunt motive s apar multe probleme.
Problemele se ivesc n cazul grupurilor de interese care iau n discuie subiecte delicate sau
extrem de disputate, cum ar fi politica, religia sau sexul. Atitudinile exprimate n cadrul acestor
grupuri pot fi considerate ofensatoare de ctre anumii oameni. Mai mult chiar, nu este obligatoriu
ca mesajele s se limiteze la text. Fotografii color de nalt rezoluie i chiar scurte clipuri video pot
fi acum transmise cu uurin prin reelele de calculatoare. Unii oameni au o atitudine neutr
(triete i las-m s triesc"), dar alii consider c trimiterea anumitor materiale (de exemplu,
pornografia n care sunt implicai copii) este pur i simplu inacceptabil. Din aceast cauz,
dezbaterea este foarte aprins.
Unii oameni au dat n judecat operatori de reea, pretinznd c ei sunt responsabili pentru
informaia care circul, exact ca n cazul ziarelor i revistelor. Rspunsul inevitabil este c reeaua e
ca o companie de telefoane sau ca un oficiu potal i nu poate controla ceea ce discut utilizatorii
si. Mai mult chiar, dac operatorii reelei ar cenzura mesajele, atunci probabil c ei ar putea terge
orice fr a exista nici cea mai mic posibilitate de a-i da n judecat, nclcnd astfel dreptul
utilizatorilor la exprimare liber. Nu este, probabil, hazardat s afirmm c aceast dezbatere va
continua mult timp.
O alt disput animat are n atenie drepturile angajailor n raport cu drepturile
patronilor. Multe persoane citesc i scriu pot electronic la serviciu. Directorii unor firme
au pretins c ar avea dreptul s citeasc i eventual s cenzureze mesajele angajailor, inclusiv
mesajele trimise dup orele de lucru de la terminalele de acas. Numai c nu toi angajaii
agreeaz aceast idee (Sipior i Ward, 1995).
Dar chiar admind c directorii au o astfel de putere asupra angajailor, exist o relaie similar
si ntre universiti si studeni? Dar ntre licee si elevi? n 1994 Universitatea Carneeie-Mellon a
hotrt s blocheze mesajele care veneau de la grupuri de interese legate de sex pe motivul c
materialele nu erau potrivite pentru minori (adic pentru cei civa studeni care nu aveau nc 18
ani). Disputa izvort din aceast decizie va dura ani ntregi.
Reelele de calculatoare ofer posibilitatea de a trimite mesaje anonime. In anumite situaii aa
ceva este de dorit. De exemplu, reprezint un mijloc pentru studeni, soldai, angajai, ceteni de a
trage un semnal de alarm - fr team de represalii - n cazul comportamentului ilegal al
profesorilor, ofierilor, directorilor sau politicienilor. Pe de alt parte, n Statele Unite i n
SEC. 1.2 HARDWARE-UL REELEI

majoritatea democraiilor, legea asigur n mod explicit dreptul unei persoane acuzate de a-i
chema acuzatorul n faa Curii. Acuzaiile anonime nu pot servi drept prob.
Pe scurt, reelele de calculatoare, asemenea industriei tipografice cu 500 de ani n urm, permit
cetenilor obinuii s-i lanseze opiniile prin mijloace diferite i ctre audiene diferite fa de cele
de pn acum. Aceast libertate nou descoperit aduce cu ea probleme nerezolvate de ordin social,
politic i moral. Soluia acestor probleme este lsat cititorului drept exerciiu.

1.2 HARDWARE-UL REELEI

A venit acum timpul s ne ndreptm atenia de la aplicaiile i problemele sociale ale


interconectrii la aspectele tehnice care intervin n proiectarea reelelor. Dei nu exist o taxonomie
general acceptat n care pot fi ncadrate toate reelele de calculatoare, sunt extrem de importante
dou criterii: tehnologia de transmisie i scara la care opereaz reeaua. Vom examina pe rnd
fiecare din aceste aspecte.
n principal exist dou tipuri de tehnologii de transmisie:

1. Reele cu difuzare.
2. Reele punct-la-punct.

Reelele cu difuzare au un singur canal de comunicaii care este partajat de toate mainile din reea.
Orice main poate trimite mesaje scurte, numite n anumite contexte pachete, care sunt primite de
toate celelalte maini. Un cmp de adres din pachet specific maina creia i este adresat pachetul. La
recepionarea unui pachet, o main controleaz cmpul de adres. Dac pachetul i este adresat,
maina 11 prelucreaz; dac este trimis pentru o alt main, pachetul este ignorat.
S considerm, ca analogie, c cineva se afl la captul unui coridor cu multe ncperi i strig
Watson, vino aici: Am nevoie de tine." Dei pachetul poate fi primit (auzit) de mult lume, numai
Watson va rspunde. Ceilali pur i simplu l ignor. Un alt exemplu ar fi un aeroport unde se
anun c toi pasagerii zborului 644 sunt rugai s se prezinte la poarta 12.

Distana ntre Procesoare situate Exempu


procesoare n aceeai

0.1 m Piac de circuite j Main de tip flux de date

1m Sistem ! Muiticalculator
10 m Camer

100 m Cldire Reea iocai


1 km Campus

10 km Ora Reea metropolitan


100 km Tar
Reea de larg rspndire
1,000 km Continent geografic
10,000 km Planet intern et-ui

Fig. 1-2. Clasificarea procesoarelor interconectate n funcie de distan.


8 INTRODUCERE CAP. 1

Sistemele cu difuzare permit n general i adresarea unui pachet ctre toate destinaiile, prin
folosirea unui cod special n cmpul de adres. Un pachet transmis cu acest cod este primit i
prelucrat de toate mainile din reea. Acest mod de operare se numete difuzare. Unele sisteme cu
difuzare suport de asemenea transmisia la un subset de maini, operaie cunoscut sub numele de
trimitere multipl. Una din schemele posibile este s se rezerve un bit pentru a indica trimiterea
multipl. Restul de n -1 bii de adres pot forma un numr de grup. O main se poate abona" la
orice grup sau la toate grupurile. Un pachet trimis unui anumit grup va ajunge la toate mainile
abonate la grupul respectiv.
Prin contrast, reelele punct-la-punct dispun de numeroase conexiuni ntre perechi de maini
individuale. Pentru a ajunge de la surs la destinaie pe o reea de acest tip, un pachet s-ar putea s
fie nevoit s treac prin una sau mai multe maini intermediare. Deseori sunt posibile trasee
multiple, de diferite lungimi, de aceea algoritmii de dirijare joac n reelele punct-la-punct un rol
important. Ca o regul general (dei exist numeroase excepii), reelele mai mici, localizate
geografic, tind s utilizeze difuzarea, n timp ce reelele mai mari sunt de obicei punct-la-punct.
Un criteriu alternativ pentru clasificarea reelelor este mrimea lor. n Fig. 1-2 este prezentat o
clasificare a sistemelor cu procesoare multiple dup mrimea lor fizic. Prima categorie o
reprezint mainile de tip flux de date, calculatoare cu grad ridicat de paralelism dispunnd de mai
multe uniti funcionale care lucreaz la acelai program. Urmeaz apoi multicalculatoarele,
sisteme care comunic transmind mesaje pe magistrale foarte scurte i foarte rapide. Dincolo de
multicalculatoare sunt adevratele reele, calculatoare care comunic prin schimbul de mesaje pe
cabluri mai lungi. Acestea pot fi mprite n reele locale, reele metropolitane i reele larg
rspndite geografic. n sfrit, prin conectoreajajdQu sau mai .multe. rejtele rezul_o inter-reea.
Internet-ul este un exemplu bine cunoscut de inter-reea. Distana este un criteriu de clasificare
important, pentru c, la scri diferite, sunt folosite tehnici diferite. n aceast carte ne vom ocupa
numai de reelele adevrate i de interconectarea lor. Prezentm mai jos o scurt introduce n
subiectul echipamentelor de reea.

1.2.1 Reele locale

Reelele locale (Local Area Networks), denumite n general LAN-uri, sunt reele private
localizate ntr-o singur cldire sau ntr-un campus de cel mult civa kilometri. Ele sunt frecvent
utilizate pentru a conecta calculatoarele personale i staiile de lucru din birourile companiilor i
fabricilor, n scopul de a partaja resurse (imprimante, de exemplu) i de a schimba informaii. LAN-
urile se disting de alte tipuri de reele prin trei caracteristici: (1) mrime, (2) tehnologie de
transmisie i (3) topologie.
LAN-urile au dimensiuni restrnse, ceea ce nseamn c timpul de transmisie n cazul cel mai
defavorabil este limitat i cunoscut dinainte. Cunoscnd aceast limit, este posibil s utilizm
anumite tehnici de proiectare care altfel nu ar fi fost posibile. Totodat, se simplific administrarea
reelei.
LAN-urile utilizeaz frecvent o tehnologie de transmisie care const dintr-un singur cablu
la care sunt ataate toate mainile, aa cum erau odat cablurile telefonice comune n zonele
rurale. LAN-urile tradiionale funcioneaz la viteze cuprinse ntre 10 i 100 Mbps, au
ntrzieri mici (zeci de microsecunde) i produc erori foarte puine. LAN-urile mai noi pot
opera la viteze mai mari, pn la sute de megabii/sec. n aceast carte vom pstra tradiia i
SEC. 1.2 HARDWARE-UL REELEI

vom msura vitezele de transmisie pe linii n megabii/sec (Mbps), nu n megabytes/sec


30
(MB/sec). Un megabit reprezint 1,000,000 bii, nu 1,048,576 (2 ) bii.

-Calcuiator

'Cablu Calculator

(a) (b)

Fig. 1-3. Dou reele cu difuzare, (a) Magistral, (b) Inel.

Pentru LAN-urile cu difuzare sunt posibile diverse topologii^ Figura 1-3 prezint dou dintre
ele. ntr-o reea cu magistral (cu cablu liniar), n fiecare moment una dintre maini este mater i
are dreptul s transmit. Restul mainilor nu pot transmite. Cnd dou sau mai multe maini vor s
transmit simultan, este necesar un mecanism de arbitrare. Mecanismul de arbitrare poate fi
centralizat sau distribuit. De exemplu, IEEE 802.3, popular num'it Ethernet , este o reea cu
difuzare bazat pe magistral cu control descentralizat, lucrnd la 10 sau 100 Mbps. Calculatoarele
dintr-un Ethernet pot transmite oricnd doresc; dac dou sau mai multe pachete se ciocnesc,
fiecare calculator ateapt o perioad de timp aleatorie i apoi ncearc din nou.
Un al doilea tip de reea cu difuzare este reeaua n inel. ntr-un inel fiecare bit se propag
independent de ceilali, fr s atepte restul pachetului cruia i aparine. n mod tipic, fiecare bit
navigheaz pe circumferina ntregului inel ntr-un interval de timp n care se transmit doar civa
bii, de multe ori nainte chiar ca ntregul pachet s fi fost transmis. Ca n orice alt sistem cu
difuzare, este nevoie de o regul pentru a arbitra accesele simultane la inel. Pentru aceasta se
utilizeaz diferite metode, care vor fi discutate n carte mai trziu. IEEE 802.5 (inelul cu jeton de la
IBM) este un LAN popular de tip inel, care opereaz la 4 i la 16 Mbps.
Reelele cu difuzare pot fi n continuare mprite n staticei dinamice, n funcie de modul de
alocare al canalului. O metod tipic de alocare static ar fi s divizm timpul n intervale discrete i
s rulm un algoritm round-robin, lsnd fiecare main s emit numai atunci cnd i vine rndul.
Alocarea static irosete capacitatea canalului atunci cnd o main nu are nimic de transmis n
cuanta de timp care i-a fost alocat, astfel c majoritatea sistemelor ncearc s aloce canalul
dinamic (la cerere).
Metodele de alocare dinamic pentru un canal comun sunt fie centralizate, fie descentralizate.
n cazul metodei centralizate de alocare a canalului exist o singur entitate, de pild o unitate de
arbitrare a magistralei, care determin cine urmeaz la rnd. Poate face acest lucru acceptnd cereri
i lund o decizie conform unui algoritm intern. n cazul metodei descentralizate de alocare a
canalului nu exist o entitate central; fiecare main trebuie s hotrasc pentru ea nsi dac s
INTRODUCERE CAP. 1

transmit sau nu. S-ar putea crede c n acest fel se ajunge totdeauna la haos, dar lucrurile nu stau
aa. Vom studia mai trziu numeroi algoritmi proiectai s refac ordinea dintr-un potenial haos.
Cellalt tip de LAN-uri este construit cu linii punct-la-punct. Liniile individuale leag o main
specificat cu o alt main specificat. Un astfel de I A N reprezint o reea larg rspndit
geografic n miniatur. Vom vedea aceste reele ceva mai trziu.

1.2.2 Reele metropolitane

O reea metropolitan (Metropolitan Area Neirork), sau MN (plural: MAN-uri, nu MEN')


este, n linii mari, o versiune extins de LAN' i utilizeaz n mod normai tehnologii similare cu
aceasta. O reea metropolitan se poate ntinde pe zona ocupat de un grup de birouri nvecinate
sau pe suprafaa unui ntreg ora i poate fi att privat ct i public. Un MAN poate suporta att
date ct i voce i poate chiar s aib legturi cu reeaua local de televiziune prin cablu. Un MAN'
dispune numai de un cablu sau dou, fr s conin elemente de comutare care deviaz pachetele
pe una din cele cteva posibile linii de ieire. Nefiind necesar comutarea, proiectarea este mai
simpl.
Motivul principal pentru care MAN-urile figureaz ca o categorie special const n adoptarea
unui standard specific, standard care este acum implementat. Acesta se numete DQDB
(Bistrbuted Queue Bua! Bus - magistral dual cu coad distribuit) sau. pentru cei care prefer
numerele, 802.6 (numrul standardului EEE care o definete). DQDB const din dou magistrale
(cabluri) unidirecionale la care sunt conectate toate calculatoarele, aa cum este artat n Fig. 1-4.
Fiecare magistral are un capt de distribuie (head-end) - un dispozitiv care iniiaz activitatea de
transmisie. Traficul destinat unui calculator din dreapta ransmitorului folosete magistrala de sus.
Traficul ctre utilizatorii din stnga folosete magistrala de jos.

Sensu! fluxului pe magistrala A


Magistrala A

Cecuaor -

Magistrala B
< Sensu! fluxului pe magistrala B

Fig. 1-4. Arhitectura reelei metropolitane DQDB

Un aspect cheie pentru un MAN este prezena unui mediu de difuzare (n cazul lui 802.6, dou
cabluri) la care sunt ataate toate calculatoarele. Acesta simplific mult proiectarea n comparaie
cu alte tipuri de reele. Vom discuta mai detaliat DQDB n Cap. 4.

* n original MANS no MEN (n.t.


SEC. 1.2 HARDWARE-UL REELEI 11

1.2.3 Reele larg rspndite geografic

O reea larg rspndit geografic (Wide Area Network), sau WAN, acoper o arie geografic
ntins - deseori o ar sau un continent ntreg. Reeaua conine o colecie de maini utilizate
pentru a executa programele utilizatorilor (adic aplicaii). n concordan cu termenul uzual, vom
numi aceste maini gazde. Uneori este folosit n literatur termenul de sistem final. Gazdele sunt
conectate printr-o sobreea de comunicaie sau, pe scurt, subreea. Sarcina subreelei este s
transporte mesajele de la gazd la gazd, exact aa cum sistemul telefonic transmite cuvintele de la
vorbitor la asculttor. Prin separarea aspectelor de pur comunicaie ale reelei (subreelei) de
aspectele referitoare la aplicaii (gazde), proiectarea ntregii reele se simplific mult.
n majoritatea reelelor larg rspndite geografic, subreeaua este format din dou
componente distincte: liniile de transmisie i elementele de comutare. Liniile de transmisie (numite
i circuite, canale, sau trunchiuri) transport biii ntre maini.
Elementele de comutare sunt calculatoare specializate, folosite pentru a conecta dou sau mai
multe linii de transmisie. Cnd sosesc date pe o anumit linie, elementul de comutare trebuie s
aleag o nou linie pentru a retransmite datele mai departe. Din pcate, nu exist nici o
terminologie standard pentru denumirea acestor calculatoare. Folosind diveri termeni, ele pot fi
numite, de exemplu, noduri de comutare a pachetelor, sisteme intermediare, sau comutatoare de
date. Noi vom folosi ca termen generic pentru aceste calculatoare de comutare cuvntul rater.
Cititorul trebuie s tie, totui, c nu exist un consens asupra terminologiei. Conform acestui
model, prezentat n Fig. 1-5, fiecare gazd este n general conectat la un LAN n care exist un
rater. n anumite cazuri, ns, o gazd poate fi legat direct cu un ruter. Colecia de linii de
comunicaie i de rutere (dar nu i gazdele) formeaz subreeaua.

Subreea Ruter

Gazd

Fig. 1-5. Relaia dintre gazde i subreea.

Merit s facem o scurt divagaie n jurul termenului de subreea". Iniial, singura sa


accepiune se referea la colecia ruterelor i liniilor de comunicaie care mutau pachetele de la
gazda surs la gazda destinaie. Totui, civa ani mai trziu, cuvntul a mai cptat un al doilea
neles, n conjuncie cu adresarea reelelor (pe care o vom discuta n Cap. 5). De aceea, termenul
conine o anumit ambiguitate. Din nefericire, nu exist o alternativ larg acceptat pentru nelesul
12 INTRODUCERE CAP.l

su iniial, drept care noi vom folosi acest termen, cu unele rezerve, n ambele sensuri. Din context,
va fi totdeauna clar care din ele este subneles.
n cazul celor mai multe WAN-uri, reeaua conine numeroase cabluri sau linii telefonice,
fiecare din ele legnd o pereche de rutere. Dac dou rutere nu mpart un acelai cablu, dar
doresc s comunice, atunci ele trebuie s fac acest lucru indirect, prin intermediul altor
rutere. Cnd un pachet este transmis de la un ruter la altul prin intermediul unuia sau mai
multor rutere, pachetul este primit n ntregime de fiecare ruter intermediar, este reinut
acolo pn cnd linia de ieire cerut devine liber i apoi este retransmis. O subreea care
funcioneaz pe acest principiu se numete subreea punct-ia-punct, subreea memoreaz-i-
retraesmite sau subreea cu comutare de pachete. Aproape toate reelele larg rspndite
geografic (excepie fcnd cele care utilizeaz satelii) au subretele memoreaz-i-retransmite.
Cnd pachetele sunt mici i au aceeai mrime, ele sunt adesea numite celule.
Atunci cnd se folosete o subreea punct-la-punct, o problem important de proiectare se
refer la alegerea topologiei de interconectare a ruterelor. Figura 1-6 prezint cteva topologii
posibile. Reelele locale proiectate astfel folosesc de obicei topologii simetrice. Din contr, reelele
larg rspndite geografic au, n mod tipic, topologii neregulate.

(b) (c)

Fig. 1-6. Cteva topologii posibile pentru o subreea punct-la-punct.


(a) Stea. (b) Inel. (c) Arbore, (d) Complet, (e) Inele intersectate.
(f) Neregulat.

O a doua posibilitate pentru un WAN este utilizarea unui satelit sau a unui sistem radio terestru.
Fiecare ruter are o anten cu care poate s recepteze i s emit. Toate ruterele pot auzi semnalul
de la satelit, iar n unele cazuri, ele pot auzi totodat i transmisiile de la rutere ctre satelit.
SEC 1.2 HARDWARE-UL REELEI 13

Uneori ruterele sunt conectate la o reea punct-la-punct i numai unele dintre ele au antene de
satelit. Reelele de satelii sunt n mod inerent reele cu difuzare i se utilizeaz mai ales atunci
cnd proprietatea de difuzare este important.

1.2.4 Reele radio

Calculatoarele mobile, aa cum sunt blocnotesurile sau asistenii personali digitali (PDA-urile),
reprezint segmentul din industria tehnicii de calcul cu dezvoltarea cea mai rapid. Muli posesori ai
acestor calculatoare au la birou sisteme legate la LAN-uri i WAN-uri i vor s se conecteze la
acestea, chiar i atunci cnd se afl n locuri deprtate de cas sau pe drum. Deoarece legturile
prin fir sunt imposibile n maini i avioane, interesul pentru reelele radio este foarte puternic. In
aceast seciune vom face o scurt introducere n acest subiect. (Not: prin seciune nelegem
poriunile din carte notate printr-un numr cu trei cifre, de genul 1.2.4)
Comunicaiile digitale fr fir nu reprezint, de fapt, o idee nou. nc din 1901, fizicianul
italian Guglielmo Marconi a realizat legtura ntre un vapor i un punct de pe coast folosind
telegraful fr fir i codul Morse (punctele i liniile sunt, n definitiv, binare). Sistemele radio
moderne au performane mai bune, dar ideea fundamental a rmas aceeai. Informaii
suplimentare despre aceste sisteme pot fi gsite n (Grag i Wilkes, 1996; i Pahlavan .a., 1995).
Reelele radio au numeroase utilizri. Biroul portabil reprezint una dintre ele. Oamenii aflai
pe drum doresc adesea s foloseasc echipamentele lor electronice portabile pentru a trimite i
primi faxuri i pot electronic, pentru a citi fiiere aflate la distan, pentru a se conecta la distan
si aa mai departe. i doresc s fac aa ceva din orice loc de pe uscat, ap sau aer.
Reelele radio sunt de mare importan pentru parcurile de camioane, taxiuri i autobuze, ca i
pentru echipele de intervenie care trebuie s menin contactul cu baza. Reelele radio pot fi de
asemenea utile pentru echipele de intervenie n locuri de dezastru (incendii, inundaii, cutremure
etc.) unde sistemul telefonic a fost distrus. Calculatoarele aduse la faa locului pot s trimit mesaje,
s nregistreze informaii i aa mai departe.
n sfrit, reelele radio sunt importante pentru armat. Dac trebuie s faci fa n cel mai scurt
timp unui rzboi care se poate desfura oriunde n lume, atunci probabil c nu este o idee bun s
te bazezi pe infrastructura de reele existent la faa locului. Este mai bine s-i aduci propria reea.

Fr fir Mobif Aplicaii


Nu Nu Staii de lucru staionare ntr-un birou
Nu Da Folosirea unui calculator portabil ntr-un hotel sau pentru inspecia trenurilor
Da Nu LAN-uri instalate n cldiri mai vechi, fr fire
Da Da Birouri mobile; PDA-uri pentru inventarierea magaziei

Fig. 1-7. Combinaii de reele fr fir i tehnic de calcul mobil.

Dei reelele fr fir i echipamentele de calcul mobile sunt adesea nrudite, ele nu sunt identice
(a se vedea Fig. 1-7). Calculatoarele portabile comunic uneori cu ajutorul firelor. Dac ntr-un
hotel un turist racordeaz un calculator mobil la mufa de telefon, acesta este un exemplu de
mobilitate fr reea radio. Un alt exemplu se refer la o persoan care poart cu sine un calculator
mobil n timp ce inspecteaz, pentru probleme tehnice, un tren. n acest caz, n spatele
calculatorului poate foarte bine s atrne un fir lung (ca la aspirator).
14 INTRODUCERE CARI

Pe de alt parte, unele calculatoare fr fir nu sunt portabile. Un exemplu important de acest tip
se refer la o firm care posed o cldire mai veche, fr reele de cabluri instalate, i care dorete
s i conecteze calculatoarele. Instalarea unui LAN fr fir poate s nu necesite mare lucru, n
afar de cumprarea unei mici cutii cu componente electronice i de montarea unor antene.
Aceast soluie poate fi mai puin costisitoare dect instalarea cablurilor n cldire.
Dei LAN-urile fr fir sunt uor de instalat, ele au i unele dezavantaje. Capacitatea lor tipic
este de l-2Mbps, ceea ce este mult mai puin dect n cazul LAN-urilor cu fir. De asemenea, rata
de erori este adesea mai mare, iar transmisiile ntre diferite calculatoare pot interfera unele cu
altele.
Dar exist, desigur, i aplicaii cu adevrat mobile, fr fir, ncepnd cu biroul portabil i
terminnd cu persoanele care fac inventarul uriui magazin folosind PDA-uri. n multe aeroporturi
aglomerate, angajaii companiilor de nchiriat maini lucreaz n parcri cu calculatoare portabile
fr fir. Ei introduc n calculator numrul de nmatriculare al fiecrei maini returnate, iar
portabilele lor, care au nglobat o imprimant, apeleaz calculatorul central, primesc informaii
despre nchirierea respectivei maini i elibereaz factura de plat pe loc. Aplicaii autentice ale
tehnicii de calcul mobile sunt discutate mai pe larg n (Forman i Zahorjan, 1994).
Reelele fr fir exist n multe forme. Unele universiti instaleaz deja n campusuri antene
care permit studenilor s stea sub copaci i s consulte cataloagele bibliotecilor. n acest caz,
calculatoarele comunic cu LAN-urile fr fir direct n form digital. O alt posibilitate este
utilizarea unui telefon celular (adic portabil), mpreun cu un modem analogic tradiional. n
numeroase orae sunt acum disponibile serviciile celulare digitale directe, numite CDPD (Cellular
Digital Packet Data - pachete de date celulare digitale). Vom studia aceste servicii n Cap. 4.

Ruter zburtor

L A N
'v / ' T"^ ^< Calculator ' i*"\ ^\
r-M .. x * . t J::^\ ^\ portabil t__^. \. cablat
O legtur telefonic ^ \ _ _ _ > ^ - ^ JS>
pentru fiecare calculator
(a) (b)
Fig. 1-8. (a) Calculatoare mobile individuale, (b) Un LAN zburtor.

n sfrit, este posibil s avem diverse combinaii de reele cu i fr fir. De exemplu, n Fig. 1-
8(a) este desenat un avion n care mai muli pasageri folosesc modemuri i telefoane pentru a suna
la birou. Fiecare convorbire este independent de celelalte. O opiune mult mai eficient este, ns,
LAN-ul zburtor din Fig. l-8(b). n acest caz, fiecare scaun este echipat cu un conector Ethernet, la
care pasagerii pot s-i racordeze calculatoarele. La bordul avionului exista un singur rutei?. Acesta
menine n fiecare moment o legtur radio cu un ruter aflat la sol, ruter care se schimb pe
parcursul zborului. Configuraia respectiv' nu reprezint altceva dect un LAN tradiional, cu
deosebirea c legtura sa cu lumea exterioar este asigurat de o conexiune radio n loc de o linie
fizic.
SEC. 1.3 PROGRAMELE DE REEA 15

Mult lume crede despre calculatoarele portabile fr fir c reprezint valul viitorului. Dar, n
acelai timp, s-a fcut auzit cel puin o prere contrar. Bob Metcalfe, inventatorul Ethernet-ului, a
scris urmtoarele: Calculatoarele mobile fr fir sunt ca bile mobile fr evi - nite olie de
noapte portabile. Ele vor fi ceva comun n vehicule, pe antiere i la concerte rock. Sfatul meu este
s v racordai cabluri n cas i s rmnei acolo" (Metcalfe, 1995). Vor urma cei mai muli sfatul
lui Metcalfe? Timpul ne va rspunde.
n lume exist multe reele, cu echipamente i programe diverse. Persoanele conectate la o
anumit reea doresc adesea s comunice cu persoane racordate la alta. Aceast cerin impune
conectarea unor reele diferite, de multe ori incompatibile, ceea ce uneori se realizeaz utiliznd
maini numite porii (gateways). Acestea realizeaz conectarea i asigur translatrile necesare, att
n termeni de hardware ct i de software. O colecie de reele interconectate este numit inter-
reea sau internei
O form comun de inter-reea este o colecie de LAN-uri conectate printr-un WAN. De fapt,
dac am nlocui eticheta subreea" din Fig. 1-5 prin WAN", n figur nu ar mai trebui schimbat
nimic altceva. n acest caz, singura diferen real ntre o subreea i un WAN se refer la prezena
gazdelor. Dac sistemul din interiorul curbei nchise conine numai rutere, atunci este o subreea.
Dac el conine att rutere, ct i gazde cu utilizatori proprii, atunci este un WAN.
Pentru a evita confuziile, luai v rog not c termenul internet" va fi totdeauna folosit n
aceast carte ntr-un sens generic. Prin contrast, Internet-ul (a se remarca folosirea lui I mare)
reprezint un internet mondial specific, care este utilizat pe larg pentru a conecta universiti,
birouri guvernamentale, firme i, n ultima vreme, persoane particulare. Vom avea multe de spus n
aceast carte att despre internet ct i despre Internet.
Deseori se produc confuzii ntre subretele, reele i inter-reele. Termenul de subreea este mai
potrivit n contextul unei reele larg rspndite geografic, unde se refer la colecia de rutere i linii
de comunicaie aflate n proprietatea operatorului de reea - de exemplu, o firm ca America
Online sau CompuServe. Ca o analogie, sistemul telefonic const din centrale telefonice de
comutare, care sunt conectate ntre ele prin linii de mare vitez i sunt legate la domicilii i birouri
prin linii de vitez sczut. Aceste linii i echipamente, deinute i ntreinute de ctre compania
telefonic, formeaz subreeaua sistemului telefonic. Telefoanele propriu-zise (care corespund n
aceast analogie gazdelor) nu sunt o parte a subreelei. Combinaia dintre o subreea i gazdele sale
formeaz o reea. n cazul unui LAN, reeaua este format din cablu i gazde. Aici nu exist cu
adevrat o subreea.
O inter-reea se formeaz atunci cnd se leag ntre ele reele diferite. Din punctul nostru de
vedere, legarea1 unui LAN i a unui WAN sau legarea a dou LAN-uri formeaz o inter-reea, dar
nu exist un consens asupra terminologiei din acest domeniu.

13 PROGRAMELE DE REEA

In proiectarea primelor reele de calculatoare, s-a acordat atenie n primul rnd


echipamentelor, iar programele au fost gndite ulterior. Aceast strategie nu mai este valabil.
Programele de reea sunt acum foarte structurate. n seciunile urmtoare vom examina unele
detalii ale tehnicii de structurare a programelor. Metoda descris aici formeaz punctul de sprijin al
ntregii cri i ea va aprea mai departe n repetate rnduri.
16 INTRODUCERE CAP.l

13.1 Ierarhiile de protocoale

Pentru a reduce din complexitatea proiectrii, majoritatea reelelor sunt organizate sub forma
unei serii de straturi sau niveluri, fiecare din ele construit peste cel de dedesubt. Numrul de
niveluri, numele fiecrui nivel, coninutul i funcia sa variaz de la reea la reea. Oricum, n toate
reelele, scopul fiecrui nivel este s ofere anumite servicii nivelurilor superioare, protejndu-le
totodat de detaliile privitoare la implementarea efectiv a serviciilor oferite.
Nivelul n d e pe o main converseaz cu nivelul n de pe alt main. Regulile i conveniile
utilizate n conversaie sunt cunoscute sub numele de protocolul nivelului n. n principal, un
protocol reprezint o nelegere ntre prile care comunic, asupra modului de realizare a
comunicrii. Ca o analogie, atunci cnd o femeie este prezentat unui brbat, ea poate hotr s-i
ntind brbatului mna. La rndul su, brbatul poate decide fie s-i strng, fie s-i srute mna,
decizie care depinde, s spunem, dac femeia este o avocat american care a venit la o ntlnire de
afaceri sau este o prines european prezent la un bal. nclcarea protocolului va face
comunicarea mai dificil, dac nu chiar imposibil.
n Fig. 1-9 este ilustrat o reea cu cinci niveluri. Entitile care conin niveluri corespunztoare
de pe maini diferite se numesc egale. Cu alte cuvinte, entitile egale sunt cele care comunic
folosind protocolul.

Gazda 1 Gazda 2
Protocolul nivelului 5
Nivel 5 Nivel 5
L

Interfaa 4/5; r

Protocolul nivelului 4
Nivel 4 Nivel 4

Interfaa 3/4'
L

Protocolul nivelului 3
Nivel 3 - Nivel 3

Interfaa 2/3 '


Protocolul nivelului 2
Nivel 2 Nivel 2

Interfaa 1/2'1
ti

Protocolul nivelului 1
Nivel 1 Nivel 1
i

Mediu fizic

Fig. 1-9. Niveluri, protocoale i interfee

n realitate, nici un fel de date nu sunt transferate direct de pe nivelul n al unei maini pe nivelul
n al altei maini. Fiecare nivel transfer datele i informaiile de control nivelului imediat inferior,
pn cnd se ajunge la nivelul cel mai de jos. Sub nivelul 1 se afl mediul fizic prin care se produce
SEC. 1.3 PROGRAMELE DE REEA 17

comunicarea efectiv. n Fig. 1-9, comunicarea virtual este reprezentat prin linii punctate, iar
comunicarea fizic prin linii continue.
ntre dou niveluri adiacente exist o interfa. Interfaa definete ce
ofer nivelul de jos ctre nivelul de sus. Cnd proiectanii de reea decid cte niveluri s includ
ntr-o reea i ce are de fcut fiecare din ele, unul din considerentele cele mai importante se refer
la definirea de interfee clare ntre niveluri.
Aceasta presupune ca, la rndul su, fiecare nivel s execute o colecie specific de funcii clar
definite. Pe lng minimizarea volumului de informaii care trebuie transferate ntre niveluri,
interfeele clare permit totodat o mai simpl nlocuire a implementrii unui nivel cu o
implementare complet diferit (de exemplu, toate liniile telefonice se nlocuiesc prin canale de
satelit). Aa ceva este posibil, pentru c tot ceea ce i se cere noii implementri este s furnizeze
nivelului superior exact setul de servicii pe care ii oferea vechea implementare.
O mulime de niveluri i protocoale este numit arhitectur de reea. Specificaia unei
arhitecturi trebuie s conin destule informaii pentru a permite unui proiectant s scrie
programele sau s construiasc echipamentele necesare fiecrui nivel, astfel nct nivelurile s
ndeplineasc corect protocoalele corespunztoare. Nici detaliile de implementare i nici
specificaiile interfeelor nu fac parte din arhitectur, deoarece acestea sunt ascunse n interiorul
mainilor i nu sunt vizibile din afar. Nu este necesar nici mcar ca interfeele de pe mainile dintr-
o reea s fie aceleai - cu condiia, ns, ca fiecare main s poat utiliza corect toate protocoalele.
O list de protocoale utilizate de ctre un anumit sistem, cte un protocol pentru fiecare nivel, se
numete stiv de protocoale. Arhitecturiie de reea, stivele de protocoale i protocoalele propriu-
zise constituie principalele subiecte ale acestei cri.
O analogie poate ajuta la explicarea ideii de comunicare multinivel. maginai-v doi filosofi
(procesele egale de la nivelul 3), unul din ei vorbind limbile urdu i englez, iar cellalt vorbind
chineza i franceza. Deoarece filosofii nu cunosc o limb comun, fiecare din ei angajeaz cte un
translator (procesele egale de la nivelul 2), iar fiecare translator contacteaz la rndul su o
secretar (procesele egale de la nivelul 1). Filosoful 1 dorete s comunice partenerului afeciunea
sa pentru oiyctolagus cuniculus. Pentru aceasta, el trimite un mesaj (n englez) prin interfaa 2/3
ctre translatorul su, cruia i spune urmtoarele cuvinte: I like rabbits"1 (ceea ce este ilustrat n
Fig. 1-10). Translatorii s-au neles asupra unei limbi neutre, olandeza, aa c mesajul este convertit
n Ik hou van konijnen." Alegerea limbii reprezint protocolul nivelului 2 i este la latitudinea
proceselor pereche de pe acest nivel.
n continuare, translatorul nmneaz mesajul secretarei, care l trimite, de exemplu, prin fax
(protocolul nivelului 1). Cnd mesajul este primit, el este tradus n francez i trimis prin interfaa
2/3 ctre filosoful 2. Observai c, atta timp ct interfeele nu se modific, fiecare protocol este
complet independent de celelalte. Dac doresc, translatorii pot schimba olandeza cu alt limb, s
spunem finlandeza, cu condiia ca amndoi s se neleag asupra acestui lucru i ca nici unul din ei
s nu i modifice interfaa cu nivelul 1 sau cu nivelul 3. n mod similar, secretarele pot nlocui faxul
cu pota electronic sau cu telefonul fr a deranja (sau mcar a informa) celelalte niveluri. Fiecare
proces poate aduga anumite informaii suplimentare destinate numai procesului su pereche.
Aceste informaii nu sunt transmise n sus, ctre nivelul superior.

Propoziia nseamn " mi plac iepurii." (n.t.)


18 INTRODUCERE CAP. 1

Adresa A Adresa B

Mesaj ! J'aime ' \


Filozof h
\ las | |
! aoip.s I i

Informaie pentru
transiatorui Translator L: Dutch; j
aflat ia distant !k hou | j
van ||
konijnerj |

Informaie pentru
secretara I Fax #
afiat !a distan Secretara - !_L_Ditch
'"hoiT~

^onijner! i

Fig. 1-10. Arhitectura filosof-translaior-si retara.

S considerm acum un exemplu mai tehnic: cum se realizeaz comunicarea ia ultimul, nivel din
reeaua cu cinci niveluri din Fig. 1-11. O aplicaie care se execut n nivelul 5 produce un mesaj M si
l furnizeaz nivelului 4 pentru a-i transmite. Nivelul 4 insereaz im antei n iaa mesajului, pentru a
identifica respectivul mesaj i paseaz rezultatul nivelului 3. Antetul include informaii de control,
de exemplu numere de ordine care ajut nivelul 4 de pe maina destinaie s livreze mesajele n
ordinea corect n cazul n care nivelurile inferioare nu pstreaz aceast ordine. Pe unele niveluri,
antetele conin de asemenea cmpuri de control pentru mrime, timp i alte informaii.
In numeroase reele nu exist nici o limit cu privire la mrimea mesajelor transmise n
protocolul nivelului 4, dar exist aproape ntotdeauna o limit impus de protocolul nivelului 3. n
consecin, nivelul 3 trebuie s sparg mesajele primite n uniti mai mici, pachete, atand fiecrui
pachet un antet specific nivelului 3. n acest exemplu, M este descompus n dou pri, Mi i M->.
Nivelul 3 decide ce linie de transmisie s utilizeze i trimite pachetele nivelului 2. Nivelul 2
adaug nu numai cte un antet pentru fiecare bucat, ci i o ncheiere, dup care furnizeaz
unitatea rezultant nivelului 1 pentru a o transmite fizic. n maina receptoare mesajul este trimis n
sus, din nivel n nivel, pe parcurs fiind eliminate succesiv toate antetele. Nici un antet corespunztor
nivelurilor sub n nu este transmis n sus nivelului n.
SEC. 1.3 PROGRAMELE DE REEA 19

Nivel
Protocolul nivelului 5
5 M

Protocolul nivelului 4
M

Protocolul

3 H3 H, H, M, H3 H. H3 M2

Protocolul
nivelului 2
2 H2 H3 H, H, M, H2 H3 H4 M, T2 H2 H3 M 2 T2

Main surs Main destinaie

Fig. 1-11. Exemplu de flux de informaii pentru suportul comunicrii


virtuale la nivelul 5.

Ceea ce este important de neles n Fig. 1-11 este 5|atia_djntt;e_ comunicaia virtual i cea
efectiv i diferena ntre protocoale i interfee. De exemplu, procesele egale de la nivelul 4 i
imagineaz conceptual comunicarea ca realizndu-se pe orizontal", utiliznd protocolul nivelului
4. Dei fiecare din ele are, probabil, o procedur de genul TrimitenCealaltParte i o alta
PrimeteDinCealaltParte, aceste proceduri nu comunic de fapt cu cealalt parte, ci cu nivelurile
inferioare prin interfaa 3/4.
Abstractizarea proceselor pereche este crucial pentru proiectarea ntregii reele. Cu ajutorul ei,
aceast sarcin practic imposibil poate fi descompus n probleme de proiectare mai mici,
rezolvabile, i anume proiectarea nivelurilor individuale.
Dei Seciunea 1-3 este intitulat Programele de reea", merit s subliniem c nivelurile
inferioare dintr-o ierarhie de protocoale sunt implementate frecvent n hardware sau n firmware.
Nu e mai puin adevrat c aici intervin algoritmi compleci, chiar dac ei sunt nglobai (parial sau
n totalitate) n hardware.

1.3.2 Probleme de proiectare a nivelurilor

O parte din problemele cheie care apar la proiectarea reelelor de calculatoare sunt prezente n
mai multe niveluri. Vom meniona pe scurt unele probleme mai importante.
Fiecare nivel are nevoie de un mecanism pentru a identifica emitorii i receptorii. Dat fiind c
o reea cuprinde n mod normal numeroase calculatoare, iar o parte dintre acestea dein mai multe
20 INTRODUCERE CAP. 1

procese, este necesar o modalitate prin care un proces de pe o anumit main s specifice cu cine
dorete s comunice. Ca o consecin a destinaiilor multiple, pentru a specifica una dintre ele, este
necesar o form de adresare.
Un alt set de decizii de proiectare se refer la regulile pentru transferul de date. n unele sisteme
datele circul ntr-un singur sens (comunicare simplex). n altele datele pot circula n orice sens, dar
nu simultan (comunicare semi-duplex). n sfrit, n alte sisteme datele circul n ambele sensuri
simultan (comunicare duplex integral). Protocolul trebuie, de asemenea, s determine^ cjorcanale
logice le corespunde conexiunea i care sunt prioritile acestora. Multe reele dispun de cel puin
dou canale logice pe conexiune, unul pentru date normale i unul pentru date urgente.
Deoarece circuitele fizice de comunicaii nu sunt perfecte, controlul erorilor este o
problem important. Se cunosc multe coduri detectoare i corectoare de erori, dar ambele
capete ale conexiunii trebuie s se neleag asupra codului utilizat. n plus, receptorul trebuie
s aib cum s-i spun emitorului care mesaje au fost primite corect i care nu.
Nu toate canalele de comunicaii pstreaz ordinea mesajelor trimise. Pentru a putea trata o
eventual pierdere a secvenierii, protocolul trebuie s furnizeze explicit receptorului informaia
necesar pentru a putea reconstitui ordinea corect a fragmentelor. O soluie evident este s se
numeroteze fragmentele, dar aceast soluie nc nu rezolv problema fragmentelor care sosesc n
ordine incorect.
O problem ce intervine la fiecare nivel se refer la evitarea situaiei n care un emitor
rapid trimite unui receptor lent date la vitez prea mare. Au fost propuse diverse rezolvri i
ele vor fi discutate mai trziu. Unele dintre acestea presupun o anumit reacie, direct sau
indirect, prin care receptorul l informeaz pe emitor despre starea sa curent. Altele
limiteaz viteza de transmisie a emitorului la o valoare stabilit de comun acord cu
receptorul.
O alt problem care apare la cteva niveluri privete incapacitatea tuturor proceselor de a
accepta mesaje de lungime arbitrar. Acest fapt conduce la mecanisme pentru a dezasambla, a
transmite i apoi a reasambla mesajele. O problem asemntoare apare atunci cnd procesele
insist s transmit datele n uniti att de mici, nct transmiterea lor separat este ineficient. n
aceast situaie, soluia este s se asambleze mpreun mai multe mesaje mici destinate aceluiai
receptor i s se dezasambleze la destinaie mesajul mare obinut astfel.
Atunci cnd este neconvenabil sau prea costisitor s se aloce conexiuni separate pentru fiecare
pereche de procese comunicante, nivelul implicat n comunicare poate hotr s utilizeze aceeai
conexiune pentru mai multe conversaii independente. Atta timp ct aceast mutiplexare i
demultiplexare se realizeaz transparent, ea poate fi utilizat de ctre orice nivel. Multiplexarea este
necesar, de exemplu, n nivelul fizic, unde traficul pentru toate conexiunile trebuie s fie transmis
prin cel mult cteva circuite fizice.
Atunci cnd exist mai multe ci ntre surs i destinaie, trebuie ales un anumit drum.
Uneori aceast decizie trebuie mprit pe dou sau mai multe niveluri. De exemplu, este
posibil ca trimiterea unor date de la Londra la Roma s necesite att o decizie la nivel nalt
pentru alegerea ca ar de tranzit a Franei sau a Germaniei - n funcie de legile lor de
protejare a secretului datelor - ct i o decizie de nivel sczut pentru alegerea unuia din
multele trasee posibile, pe baza traficului curent.
SEC. 1.3 PROGRAMELE DE REEA 21

1.3.3 Interfee i servicii

Fiecare nivel are rolul de a furniza serviciile necesare nivelului de deasupra sa. n aceast seciune,
vom examina mai n detaliu ce anume este un serviciu. Dar mai nti vom introduce civa termeni.
Ele^menele ^civg.dinJiecsrejnjyel sunt numite frecvent entiti. O entitate poate fi o entitate
software (aa cum este un proces) sau o entitate hardware (aa cum este un cip de intrare/ieire
inteligent). Entitile corespunztoare aceluiai nivel, dar aflate pe maini diferite, se numesc
entiti egale. Entitile de la nivelul n implementeaz un serviciu utilizat de nivelul n + 1. n acest
caz nivelul n se numete furnizor de servicii, iar nivelul n + 1 se numete utilizator de servicii.
Nivelul n poate utiliza serviciile nivelului n -1 pentru a furniza propriile sale servicii. El poate oferi
cteva clase de servicii, de exemplu comunicare rapid, costisitoare i comunicare lent, ieftin.
Serviciile sunt disponibile n SAP-uri (Service Access Points - puncte de acces la servicii). SAP-
urile nivelului n sunt locurile unde nivelul n + 1 poate avea acces la serviciile oferite. Fiecare SAP
are o_adres_care l identific n mod unic. Ca lucrurile s fie mai clare: SAP-urile din sistemul
telefonic sunt soclurile la care se pot racorda telefoanele modulare, iar adresele SAP-urilor sunt
numerele de telefon corespunztoare acestor socluri. Similar, n sistemul potal adresele SAP-urilor
sunt adresele strzilor i numerele csuelor potale. Pentru a trimite o scrisoare, trebuie s cunoti
adresa SAP-ului destinatarului.
Pentru ca dou niveluri s schimbe ntre ele informaie, trebuie s fie convenit un set de reguli
referitoare la interfa. Aa cum este ilustrat n Fig. 1-12, n cazul unei interfee tipice, entitatea de
la nivelul n + 1 paseaz nivelului n, prin intermediul SAP-ului, un IDU (Interface Data Unit -
unitate de date de interfa). Acest IDU const dintr-un SDU (Service Data Unit - unitate de date
de servicii) i nite informaii de control. SDU reprezint informaia transmis prin reea ctre
entitatea pereche i apoi n sus ctre nivelul n + 1. Informaia de control (de exemplu, numrul de
octei din SDU) este necesar pentru a ajuta nivelul de mai jos s-i ndeplineasc sarcina, dar nu
face parte din datele propriu-zise. * .? A ,. r~

SAP = Service Access Point


(punct de acces la servicii)
IDU = Interface Data Unit
Nivel N+1 (unitate de date de interfa)
SDU = Service Data Unit
(unitate de date de servicii)
PDU = Protocol Data Unit
Interfa (unitate de date de protocol)
= Interface Control Information
(informaie de control a interfeei)
Nivel N
Entitile de pe nivelul N
fac schimb de N-PDU-uri
*- n protocolul nivelului N
N-PDU "
Antet
Fig. 1-12. Relaia dintre niveluri la o interfa.

Pentru a transfera SDU-ul, entitatea din nivelul n poate fi nevoit s l fragmenteze n


cteva buci, fiecare din acestea primind cte un antet i fiind trimis sub forma unui PDU
22 INTRODUCERE CAP. 1

(Protocol Data Unit - unitate de date a protocolului) separa, ca un pachet. Antetele


PDU-urilor sunt folosite de entitile egale pentru a realiza protocolul pereche corespunztor.
Ele identific ce PDU-uri conin date i ce PDU-uri conin informaii de control, furnizeaz
numere de secveniere i aa mai departe.

1.3.4 Servicii orientate pe conexiuni i servicii fr conexiuni

Nivelurile pot oferi nivelurilor de deasupra lor dou tipuri de servicii: orientate pe cojiexiuni i
fr conexiuni. n aceast seciune vom arunca o privire asupra acestor dou tipuri i vom examina
diferenele ntre ele.
Serviciul orientat pe conexiuni este modelat pe baza sistemului telefonic. Cnd vrei s vorbeti
cu cineva, mai nti ridici receptorul, apoi formezi numrul, vorbeti i nchizi. Similar, pentru a
utiliza un serviciu orientat pe conexiuni, beneficiarul trebuie mai nti s stabileasc o conexiune, s
foloseasc acea conexiune i apoi s o elibereze. In esen conexiunea funcioneaz ca o eava:
emitorul introduce obiectele (biii) la un capt, iar receptorul le scoate afar, n aceeai ordine, la
cellalt capt.
Prin opoziie, serviciul fr conexiuni este modelat pe baza sistemului potal. Toate mesajele
(scrisorile) conin adresele complete de destinaie i fiecare mesaj circul n sistem independent de
celelalte. n mod normal, atunci cnd dou mesaje sunt trimise Ia aceeai destinaie, primul expediat
este primul care ajunge. Totui, este posibil ca cel care a fost expediat primul s ntrzie i s ajung
mai repede al doilea. n cazul unui serviciu orientat pe conexiuni, aa ceva este imposibil.
Fiecare serviciu poate fi caracterizat printr-o calitate a serviciului. Unele servicii sunt sigure n
sensul c nu pierd date niciodat. De obicei, un serviciu sigur se implementeaz oblignd receptorul
s confirme primirea fiecrui mesaj, astfel nct expeditorul s fie sigur c mesajul a ajuns la
destinaie. Procesul de confirmare introduce un timp suplimentar i ntrzieri. Aceste dezavantaje
sunt adesea acceptate, ns uneori ele trebuie evitate.
Transferul de fiiere este una din situaiile tipice n care este adecvat un serviciu sigur orientat pe
conexiuni. Proprietarul fiierului dorete s fie sigur c toi biii ajung corect i n aceeai ordine n
care au fost trimii. Foarte puini utilizatori ai transferului de fiiere ar prefera un serviciu care
uneori amestec sau pierde civa bii, chiar dac acest serviciu ar fi mult mai rapid.
Serviciul sigur orientat pe conexiuni admite dou variante: secvenele de mesaje i fluxurile de
octei. Prima variant menine delimitarea ntre mesaje. Cnd sunt trimise dou mesaje de 1 KB,
ele vor sosi sub forma a dou mesaje distincte de 1 KB, niciodat ca un singur mesaj de 2 KB.
(Not: KB nseamn kilobytes; Kb nseamn kilobits.) n a doua variant, conexiunea este un
simplu flux de octei i nu exist delimitri ntre mesaje. Cnd receptorul primete 2 KB, nu exist
nici o modalitate de a spune dac ei au fost trimii sub forma unui mesaj de 2 KB, a dou mesaje de
1 KB sau a 2048 mesaje de cte 1 octet. Dac paginile unei cri sunt expediate unei maini
fotografice de tiprit printr-o reea, sub form de mesaje, atunci delimitarea mesajelor poate fi
important. Pe de alt parte, n cazul unui terminal care se conecteaz la un sistem cu divizarea
timpului aflat la distan, este nevoie numai de un flux de octei de la terminal la calculator.
Aa cum am menionat mai sus, ntrzierile introduse de confirmri sunt inacceptabile pentru
unele aplicaii. O astfel de aplicaie se refer la traficul de voce digitizat. Pentru abonaii telefonici
este preferabil s existe puin zgomot pe linie sau s aud ocazional cte un cuvnt distorsionat
dect s se produc o ntrziere din cauza ateptrii confirmrii. n mod similar, atunci cnd se
SEC. 1.3 PROGRAMELE DE REEA 23

transmite un film video, civa pixeli diferii nu reprezint o problem, n schimb ntreruperile
pentru a corecta erorile ar fi extrem de suprtoare.
Nu orice aplicaie necesitjconexiuni. De exemplu, pe msur ce pota electronic devine ceva
tot mai comun, poate s nu apar n curnd publicitatea prin pot electronic? Expeditorul de
publicitate prin pot electronic probabil c nu vrea s se complice stabilind i apoi elibernd o
conexiune doar pentru un singur mesaj. Nici furnizarea la destinaie cu o rat de corectitudine de
100% nu este esenial, mai ales dac lucrul acesta cost mai mult. Tot ceea ce se cere este un
mijloc de a trimite un singur mesaj cu o probabilitate mare de a ajunge la destinaie, dar fr o
garanie n acest sens. ^Serviciul nesiguri (adic neconfirmat) Sra^conexiuni este deseori numit
serviciu datagram, prin analogie cu serviciul de telegrame - care, la rndul su, nu prevede
trimiterea unei confirmri ctre expeditor.
n alte situaii, avantajul de a nu fi necesar sabilirga unejj^nexiuni pentru a trimite un mesaj
scurt este de dorit, d^r_gma^i^s^]^^i]d}^^^^jiR]. Aceste aplicaii pot utiliza serviciul
datagram confirmat. Este ca i cum ai trimite o scrisoare recomandat i ai solicita o confirmare
de primire. n clipa n care sosete confirmarea, expeditorul este absolut sigur c scrisoarea a fost
livrat la destinaia corect i nu a fost pierdut pe drum.
Mai exist un serviciu, i anume serviciul cerere-rspuns. n acest serviciu emitorul
transmitea singur datagram care conine o cerere; replica primit de la receptor conine
rspunsul. n aceast categorie intr, de exemplu, un mesaj ctre biblioteca local n care se
ntreab unde este vorbit limba Uighur. Serviciu][^ cerere-rspuns^este utilizat n mod frecvent
pentru a implementa comunicarea n modeluLxlient-server: clientul lanseaz o cerere i
serverul rspunde la ea. n Figura 1-13 sunt rezumate tipurile de servicii discutate mai sus.

Serviciu Exemplu

_ i ! Flux de mesaje siguri Secven de pagini


Orientate pe j [______ !
conexiuni i-iux de octei sigur Conectare la distan

Conexiune nesigur c Voce digitizat

C Datagram nesigur Publicitate prin e-mail


Fr J | ;i Datagram confirmat.. -o Scrisori cu confirmare
conexiuni ] '
Cerere-rspuns Interogri baze de date
V, L

Fig. 1-13. ase tipuri diferite de servicii.

1.3.5 Primitive de serviciu

Un serviciu este specificat formal printr-un_set dej)rimjtoye (operaii) puse la dispoziia


utilizatorului sau a unei alte entiti care folosete serviciul. Aceste primitive comand serviciului s
execute anumite aciuni sau s raporteze despre aciunile executate de o entitate pereche. Un mod
de a clasifica primitivele de serviciu este mprirea lor n patru grupe, aa cum se arat n Fig. 1-14.
24 INTRODUCERE CAP. 1

Primitiva Semnificaia
Request 0 entitate cere serviciului s realizeze ceva.
Indication 0 entitate trebuie informat despre un eveniment.
Response 0 entitate vrea s rspund la un eveniment.
Confirm A venit rspunsul ia o cerere anterioar.

Fig. 1-14. Patru clase de primitive de serviciu.

Pentru a ilustra utilizarea primitivelor, s considerm modul de stabilire i eliberare a unei


conexiuni. Entitatea care iniiaz aciunea lanseaz un CONNECT.request, ceea ce are ca rezultat
trimiterea unui pachet. Receptorul primete apoi un CONNECT.indication care anun c o entitate
de undeva dorete s stabileasc o conexiune cu el. Entitatea care primete CONNECT.indication
utilizeaz apoi primitiva CONNECT.response pentru a comunica dac accept sau refuz
conexiunea propus. Indiferent de rspuns, entitatea care a lansat iniial CONNECT.request afl ce
s-a ntmplat printr-o primitiv CONNECT.confirm.
Primitivele pot avea parametri i majoritatea chiar au. Parametrii unui CONNECT.request pot
specifica maina la care se dorete conectarea, tipul de serviciu dorit i dimensiunea maxim a
mesajelor care vor circula pe conexiune. Parametrii unui CONNECT.indication pot conine
identitatea apelantului, tipul de serviciu dorit i dimensiunea maxim propus a mesajelor. Dac
entitatea apelat nu este de acord cu dimensiunea maxim propus, atunci poate face o
contrapropunere n primitiva sa response, iar aceast contrapropunere va fi pus la dispoziia
apelantului iniial prin confirm. Detaliile acestei negocieri fac parte din protocol. De exemplu, n
cazul a dou propuneri contradictorii privind dimensiunea maxim a mesajelor, protocolul poate
specifica s se aleag ntotdeauna valoarea mai mic.
n legtur cu terminologia, vom evita sintagmele deschiderea unei conexiuni" i nchiderea
unei conexiune", deoarece, pentru un inginer din domeniul electric, un circuit deschis" este un
circuit n care exist o ntrerupere. Electricitatea poate circula numai prin circuite nchise". n
schimb, informaticienii nu ar accepta niciodat c informaia circul printr-un circuit nchis. Pentru
a mpca ambele tabere, vom folosi termenii stabilirea unei conexiuni" i eliberarea unei
conexiuni".
Serviciile pot fi att confirmate ct i neconfirmate. ntr-un serviciu confirmat exist primitivele
request, indication, response i confirm. ntr-un serviciu neconfirmat exist numai request i indication.
CONNECT este ntotdeauna un serviciu confirmat, pentru c perechea sa aflat la distan trebuie
s accepte stabilirea conexiunii. Transferul de date, pe de alt parte, poate fi sau confirmat, sau
neconfirmat, dup cum emitorul are sau nu nevoie de confirmare! n reele se folosesc ambele
tipuri de servicii.
Pentru a face conceptul de serviciu mai concret, s considerm ca exemplu un serviciu simplu
orientat pe conexiuni care are urmtoarele primitive de serviciu:

1. CONNECT.request - Solicit s fie stabilit o conexiune.


2. CONNECT.indication - Semnalizeaz apelatul.
3. CONNECT.response - Folosit de apelat pentru a accepta/refuza apelurile.
4. CONNECT.confirm - Informeaz apelantul dac cererea a fost acceptat.
SEC. 1.3 PROGRAMELE DE REEA 25

5. DATA.request - Solicit trimiterea datelor.


6. DATA.indication - Semnalizeaz sosirea datelor.
7. DISCONNECT.response - Solicit eliberarea conexiunii.
8. DISCONNECT.indication - Semnalizeaz perechea n legtur cu cererea.

n acest exemplu CONNECT este un serviciu confirmat (este solicitat un rspuns explicit), n
timp ce DISCONNECT este neconfirmat (fr rspuns).
Pentru a vedea cum sunt folosite aceste primitive ar putea fi util o analogie cu sistemul
telefonic. S considerm paii necesari pentru a-i telefona mtuii Millie i a o invita la un ceai.

1. CONNECT.request - Formezi numrul de telefon al mtuii Millie.


2. CONNECT.indication - Telefonul mtuii Millie sun. ^
3. CONNECT.response - Ea ridic receptorul.
4. CONNECT.confirm - Auzi c mtua Millie a rspuns.
5. DATA.request - O invii la ceai.
6. DATA.indication - Ea aude invitaia ta.
7. DATA.request - Ea spune c ar fi ncntat s vin.
8. DATA.indication - Tu auzi c a acceptat.
9. DISCONNECT.request - Tu nchizi telefonul.
10. DISCONNECT.indication - Ea aude c ai nchis telefonul si nchide si ea.
t

Figura 1-15 arat aceeai secven de pai sub forma unei serii de servicii primitive, incluznd
confimarea final a ntreruperii legturii. Fiecare pas implic o interaciune ntre dou niveluri de
pe unul din calculatoare. Fiecare request sau response determin puin mai trziu un indication sau
confiim la cellat capt. n acest exemplu, utilizatorii serviciilor (tu i mtua Millie) se afl pe
nivelul N + 1, iar furnizorul de servicii (sistemul telefonic) se afl pe nivelul N.

Nivel N + 1 1 5 7
4 4 Calculator 1
Nivel N \ 4 X 6 \

6 7 8 9 10 Timp-

Nivel N + 1 3 5
\V V
4 Calculator 2
Nivel N 2 \
6 8

Fig. 1-15. Cum ar invita-o un calculator pe mtua Millie la ceai. Numerele de la coada
fiecrei sgei se refer la cele opt primitive de serviciu discutate n aceast seciune.

1.3.6 Relaia dintre servicii i protocoale

Dei sunt adesea confundate, serviciile i protocoalele reprezint concepte distincte. Diferena
ntre ele este att de important, nct o subliniem din nou n aceast seciune. Un serviciu este un
set de primitive (operaii) pe care un nivel le furnizeaz nivelului de deasupra sa. Serviciul definete
26 INTRODUCERE CAPI

ce operaii este pregtit nivelul s ndeplineasc p e n t o utilizatorii si, dar nu spune nimic despre
aceste operaii. Un serviciu este definit n contextul unei interfee ntre
dou niveluri, nivelul inferior fiind, furnizorul serviciului i nivelul superior fiind utilizatorul
serviciului. , ...
Prin contrast, unprotocol este un set de reguli care guverneaz jbrmatul i semnificaia_cadrelor,
pachetelor sau mesajelor schimbate ntre.ele de entitile r^rcche_dintr-]^mvel. Entitile folosesc
protocoale pentru a implementa definiiile serviciului lor. Ele sunt libere s i schimbe protocoalele
dup cum doresc, cu condiia s nu modifice serviciul pe care l vd utilizatorii. n acest fel, serviciul
i protocolul sunt complet decuplate.
Merit s facem o analogie cu limbajele de programare. Un serviciu este ca un tip de date
abstracte sau ca un obiect ntr-un limbaj orientat pe obiecte. Acesta definete operaiile care pot fi
aplicate pe un obiect, dar nu specific modul de implementare a operaiilor. Un protocobse refer
la implementarea serviciului i nu_este vizibil pentnijujlizaliaiiLsjejyicM
Multe protocoale mai vechi nu distingeau serviciul de protocol. Ca urmare, un nivel tipic putea
avea o primitiv de serviciu SEND PACKET n care utilizatorul furniza o referin ctre un pachet
complet asamblat. Acest aranjament nsemna c toate modificrile protocolului erau imediat vizibile
pentru utilizatori. Majoritatea proiectanilor de reele privesc acum un astfel de mecanism ca pe o
eroare grav.

1.4 MODELE DE REFERIN

Acum, dup ce am discutat la modul abstract structura pe niveluri a reelelor, a sosit timpul s
studiem cteva exemple. n urmtoarele dou seciuni vom discuta dou arhitecturi de reea
importante, modelul de referin OSI i modelul de referin TCP/IP.

1.4.1 Modelul de referin OSI

Modelul OSI este prezentat n Fig. 1-16 (mai puin mediul fizic). Acest model se bazeaz pe o
propunere dezvoltat de ctre Organizaia Internaional de Standardizare (International
Standards Organization - OSI) ca un prim pas ctre standardizarea internaiona a protocoalelor
folosite pe diferite niveluri (Day i Zimmermann, 1983). Modelul se numete ISO OSI (Open
Systems Interconnection - Interconectarea sistemelor deschise), pentru c el se ocup de
conectarea sistemelor deschise - adic de sisteme deschise comunicrii cu alte sisteme. n
continuare vom folosi mai ales termenul prescurtat de model OSI.
Modelul OSI cuprinde apte niveluri. Principiile aplicate pentru a se ajunge la cele apte niveluri
sunt urmtoarele:
1. Un nivel trebuie creat atunci cnd este nevoie de un nivel de abstractizare diferit.
2. Fiecare nivel trebuie s ndeplineasc un rol bine definit.
3. Funcia fiecrui nivel trebuie aleas acordndu-se atenie definirii de protocoale
standardizate pe plan internaional.
4. Delimitarea nivelurilor trebuie fcut astfel nct s se minimizeze fluxul de informaii prin
interfee.
5. Numrul de niveluri trebuie s fie suficient de mare pentru a nu fi nevoie s se introduc n
acelai nivel funcii diferite i sufieient de mie pentru ca arhitectura s rmn funcional.
SEC. 1.4 MODELE DE REFERINA 27

Nivel Numele unitii


schimbate
Protocolul aplicaie
7 Aplicaie icatie APDU

Interfa
Protocolul prezentare
6 Prezentare Prezentare PPDU

Interfa
Protocolul sesiune
5 Sesiune Sesiune SPDU

t
Protocolul transport
4 Transport -H Transport I TPDU
y
Limita subreelei de comunicaie
Ir Protocolul intern al subreteie\

Reea Reea Reea ~H Reea Pachet


j
-

2 Legtur Legtur Legtur Legtur


g | C a d r u
de date de date de date de
de date

1
date

I
1 Fizic Fizic
1 Fizic Fizic

Gazda A Ruer Ruter Gazda B

Protocolul gazd-ruter de Ia nivelul reea


Protocolul gazd-ruter de la nivelul legturii de date
Protocolul gazd-ruter de la nivelul fizic

Kg. 1-16. Modelul de referin OSI.

n continuare vom discuta fiecare nivel al modelului, ncepnd cu nivelul cel rnai de jos.
Modelul OSI nu reprezint n sine o arhitectur de reea, pentru c nu specific serviciile i
protocoalele utilizate la fiecare nivel. Modelul spune numai ceea ce ar trebui s fac fiecare
nivel. ISO a produs de asemenea standarde pentru fiecare nive, ns aceste standarde nu fac
parte din modelul de referin propriu-zis. Fiecare din standardele respective a fost publicat
ca un standard internaional separat.

Nivelul fizic

Nivelul fizic se ocup de transmiterea biilor printr-un canal de comunicaie. Proiectarea trebuie
s garanteze c atunci cnd unul din capete trimite un bit 1, acesta e receptat n cealalt parte ca un
bit 1, nu ca un bit 0. Problemele tipice se refer la ci voli trebuie utilizai pentru a reprezenta un 1
i ci pentru un 0, dac transmisia poate avea loc simultan n ambele sensuri, cum este stabilit
28 INTRODUCERE CAP. 1

conexiunea iniial i cum este ntrerupt cnd au terminat de comunicat ambele pri, ci pini are
conectorul de reea i la ce folosete fiecare pin. Aceste aspecte de proiectare au o legtur strns
cu interfeele mecanice, electrice, funcionale i procedurale, ca i cu mediul de transmisie situat sub
nivelul fizic.

Nlvelu legtur de date


Sarcina principal a nivelului legtur de date este de a transforma un mijloc o.are.c.are_ de
transmisie ntr-o linie care s fie disponibil nivelului reea fr erori de transmisie nedetectate.
Nivelul legtur de date realizeaz aceast sarcin oblignd emitorul s descompun datele de
intrare n cadre de.date (n mod tipic, cteva sute sau cteva mii de octei), s transmit cadrele
secvenial i s prelucreze cadrele de confirmare trimise napoi de receptor. Deoarece nivelul fizic
nu face dect s accepte i s transmit un flux de bii, fr s se preocupe de semnificaia sau de
structura lor, responsabilitatea pentru marcarea i recunoaterea delimitatorilor ntre cadre i revine
nivelului legtur de date. Aceasta se poate realiza prin ataarea unor abloane speciale de bii la
nceputul i la sfritul cadrului. In cazul n care abloanele respective de bii pot aprea accidental
n datele propriu-zise, trebuie luate msuri speciale de precauie pentru ca aceste abloane s nu fie
incorect interpretate ca delimitatori de cadre.
Un zgomot aprut pe linie poate distruge un cadru n ntregime. n acest caz, programele
nivelului legtur de date de pe maina surs pot s retransmit cadrul. Transmiterile multiple ale
aceluiai cadru introduc posibilitatea cadrelor duplicate. Un cadru duplicat poate aprea la
transmisie n situaia n care s-au pierdut cadrele de confirmare trimise de la receptor napoi spre
emitor. Rezolvarea problemelor datorate cadrelor deteriorate, pierdute sau duplicate cade n
sarcina nivelului legtur de date. Acesta poate oferi nivelului reea cteva clase de servicii diferite,
fiecare de o calitate i un pre diferit.
O alt problem care apare la nivelul legtur de date (i, de asemenea, la majoritatea
nivelurilor superioare) este evitarea inundrii unui receptor lent cu date provenite de la un emitor
rapid. n acest scop sunt necesare mecanisme de reglare a traficului care s permit emitorului s
afle ct spaiu tampon deine receptorul la momentul curent. Controlul traficului i tratarea
erorilor sunt deseori integrate.
Dac linia poate fi folosit pentru a transmite date n ambele sensuri, atunci apare o nou
complicaie, care trebuie rezolvat de ctre programele de la nivelul legtur de date. Problema se
refer la concurena care exist pentru utilizarea liniei ntre cadrele de confirmare pentru traficul de
la A la B i cadrele de date din traficul de la B la A. Pentru rezolvarea ei a fost conceput o soluie
inteligent: ataarea piggybacking)^ mai trziu vom discuta aceast soluie n detaliu.
Reelele cu difuzare determin n nivelul legtur de date o problem suplimentar: cum s fie
controlat accesul la canalul partajat. De aceast problem se ocup un subnivel special al nivelului
legtur de date, i anume subnivelul de acces la mediu.

Nivelul reea se ocup de controlul funcionrii ubreelei. O problem cheie n proiectare este
determinarea modului n care pachetele sunt dirijate de la surs la destinaie. Dirijarea se poate
baza pe tabele statistice care sunt cablate" intern n reea i care sunt schimbate rar. Traseele pot fi
de asemenea stabilite la nceputul fiecrei conversaii, de exemplu la nceputul unei sesiuni la
. 1.4 MODELE DE REFERIN 29

terminal. n sfrit, dirijarea poate fi foarte dinamic, traseele determinndu-se pentru fiecare
pachet n concordan cu traficul curent din reea.
Dac n subreea exist prea multe pachete simultan, ele vor intra unul pe traseul celuilalt i
astfel se vor produce gtuiri. Controlul unor astfel de congestii i revine tot nivelului reea.
Deoarece operatorii subreelei pot foarte bine s atepte o plat pentru eforturile lor, n nivelul
reea exist, de obicei, nglobat o funcie de taxare a traficului. Pentru a calcula suma datorat de
clienii reelei, programul trebuie cel puin s numere cte pachete, sau cte caractere, sau ci bii a
trimis fiecare client. Calculul se complic atunci cnd un pachet traverseaz frontiera dintre dou
zone cu sisteme de preuri diferite.
Multe probleme pot aprea cnd un pachet trebuie s cltoreasc dintr-o reea n alta ca s
ajung la destinaie. Modul de adresare folosit de a doua reea poate s difere de cel pentru prima.
A doua reea poate chiar s nu accepte deloc pachetul pentru c este prea mare. De asemenea,
protocoalele pot fi diferite i aa mai departe. Rezolvarea acestor probleme n vederea
interconectrii reelelor eterogene este sarcina nivelului reea.
n reelele cu difuzare, problema dirijrii este simpl, astfel c nivelul reea este deseori subire
sau chiar nu exist deloc.

Nivelul transport
Rolul principal al nivelului transport este s accepte date de la nivelul sesiune, s le
descompun, dac este cazul, n uniti mai mici, s transfere aceste uniti nivelului reea i s se
asigure c toate fragmentele sosesc corect la cellalt capt. n plus, toate acestea trebuie fcute
eficient i ntr-un mod care izoleaz nivelurile de mai sus de inevitabilele modificri n tehnologia
echipamentelor.
n condiii normale nivelul transport creeaz o conexiune de reea distinct pentru fiecare
conexiune de transport cerut de nivelul sesiune. n cazul n care conexiunea de transport necesit o
productivitate mare, nivelul transport poate totui s creeze conexiuni de reea multiple i s divid
datele prin conexiunile de reea, astfel nct productivitatea s creasc. Pe de alt parte, dac
crearea i ntreinerea unei conexiuni de reea este costisitoare, nivelul transport ar putea reduce
costul prin multiplexarea ctorva conexiuni de transport pe aceeai conexiune de reea. n oricare
dintre cazuri, nivelului transport i se cere s fac mutiplexarea transparent pentru nivelul sesiune.
Nivelul transport determin, de asemenea, ce tip de serviciu s furnizeze nivelului sesiune i, n
final, utilizatorilor reelei. Cel mai obinuit tip de conexiune transport este un canal punct-la-punct
fr erori care furnizeaz mesajele sau octeii n ordinea n care au fost trimii. Alte tipuri posibile
de servicii de transport sunt transportul mesajelor individuale - fr nici o garanie n privina ordinii
de livrare - i difuzarea mesajelor ctre destinaii multiple. Tipul serviciului se determin cnd se
stabilete conexiunea.
Nivelul transport este un adevrat nivel capt-la-capt, de la surs la destinaie. Cu alte cuvinte,
un program de pe maina surs poart o conversaie cu un program similar de pe maina destinaie,
folosind n acest scop antetele mesajelor i mesaje de control. n nivelurile inferioare protocoalele
au loc ntre fiecare main si vecinii si imediai, si nu direct ntre mainile surs si destinaie, care
pot fi separate de numeroase rutere. Diferena ntre nivelurile de la 1 pn la 3, care sunt nlnuite,
i nivelurile de la 4 la 7, care sunt capt-la-capt, este ilustrat n Fig. 1-16.
30 INTRODUCERE CAP. 1

Numeroase gazde sunt multiprogramate, ceea ce implic existena unor raE^xjunynuliple care
intrsi ies din fiecare gazd. Trebuie s existe o modalitate prin care s se poat spune care mesaje
aparin crei conexiuni. Unul din locurile unde poate fi pus aceast informaie este antetul de
transport (Ht n Fig. -11).
n plus fa de multiplexarea mai multor fluxuri de mesaje pe un singur canal, nivelul transport
mai trebuie s se ocupe de stabilirea i anularea conexiunilor n reea. Pentru acest lucru este
necesar un mecanism de atribuire a numelor, astfel ca un proces de pe o anumit main s poat
descrie cu cine vrea s converseze. Trebuie, de asemenea, s existe un mecanism pentru reglarea
fluxului de informaii, astfel nct o gazd rapid s nu suprasolicite o gazd lent. Un astfel de
mecanism se numete controlul fluxului i joac un rol cheie n nivelul transport (ca i n alte
niveluri). Controlul fluxului ntre gazde_ee_diferit fa de controlul fluxului ntre rutere, dar vom
vedea mai trziu c pentru amndou se aplic principii similare.

Nivelul sesiune
Nivelul sesiune permite utilizatorilor de pe maini diferite s stabileasc ntre ei sesiuni. Ca i
nivelul transport, o_eiune permite transportul obinuit de date, dar furnizeaz totodat i servicii
mbuntite, utile n anumite aplicaii. O sesiune poate fi utilizat pentru a permite unui utilizator s
se conecteze la distan pe un sistem cu divizarea timpului sau s transfere un fiier ntre dqumaini.
Unul dintre serviciile nivelului sesiune se refer la controlul dialogului. Sesiunile pot permite s
se realizeze trafic n ambele sensuri simultan, sau numai ntr-un sens odat. Dac este permis
traficul ntr-un singur sens odat (analog drumurilor cu sens unic), nivelul sesiune poate ajuta s se
in evidena emitorilor crora le vine rndul s transmit.
Un serviciu sesiune nrudit este gestionarea jetonului. In unele protocoale este esenial ca cele
dou pri s nu ncerce s realizeze aceeai operaie n acelai timp. Pentru a trata aceste situaii,
nivelul sesiune dispune de jetoane care pot circula ntre maini. Numai partea care deine jetonul
are voie s realizeze operaia critic.
Un alt serviciu sesiune este sincronizarea. S considerm problemele care poate aprea atunci
cnd se ncearc transferarea unui fiier ntre dou maini, n condiiile n care transferul dureaz 2
ore, iar intervalul mediu de cdere a legturii este 1 or. Dup fiecare eec, tot transferul va trebui
iniiat din nou i probabil c nu va reui nici ncercarea urmtoare. Pentru a elimina problema
respectiv, nivelul sesiune prevede o modalitate de a introduce njluxul de date puncte de control,
astfel nct dup un eec trebuie s se reia numai transferul datelor de dup ultimul punct de control.

Nivelul prezentare

Nivelul prezentare ndeplinete cteva funcii care sunt solicitate suficient de des pentru ca, n loc
s fie lsat fiecare utilizator s rezolve problemele, s se justifice gsirea unei soluii generale. n
particular, spre deosebire de toate nivelurile inferioare, care se ocup numai de transferul sigur al
biilor dintr-un loc n altul, nivelul prezentare se ocug de sintaxa si semantica informaiilor transmise.
Unjjxejiiplu tipic deserviciu prezentare este edificarea datelor ntr-un mod standard,
jpresabilit. Majoritatea programelor folosite de utilizatori nu fac schimb de iruri aleatoare de bii.
Ele fac schimb de nume de persoane, adrese, date, sume de bani, anunuri. Aceste informaii sunt
reprezentate prin iruri de caractere, prin ntregi, prin numere reale i prin structuri de date
compuse dintr-un numr de date mai simple. Diferite calculatoare au diferite coduri pentru
E C 14 MODELE DE REFERIN 31

^g?&z^terea finirilor de caractere (de exemplu, ASCII i Unicode), ntregilor (de exemplu,
^j^jlejnentul fa de 1 i complementul fa de 2) i aa mai departe. Pentru a face posibil
comunicarea ntre calculatoare cu reprezentri diferite, structurile de date pot fi definite ntr-un
mod abstract, alturi de o codificare standardizat ce va fi .utilizat pe cablu". MveJkijjDrezejiare
gestioneaz acejejjructtrr^^ din reprezentarea Intern folosit jn_
3icuitor n reprezejQtareastesdardizat din reea i-invers^

Nivelul aplicaie
Nivelul aplicaie conine o varietate de protocoale frecvent utilizate. De exemplu, n lume exist
sute de tipuri de terminale incompatibile. Gndii-v la impasul n care se afl un editor n mod
ecran care trebuie s lucreze ntr-o reea cu multe tipuri diferite de terminale, fiecare cu un aspect
diferit al ecranului i cu secvene ESCAPE diferite pentru introducerea i tergerea textului,
mutarea cursorului etc.
O modalitate de a rezolva problema este s se defineasc un terminal virtual de reea abstract i
s se scrie editoare i alte programe care tiu s lucreze cu acesta. Pentru a putea lucra cu orice tip
de terminal, este necesar un program care s pun n coresponden funciile terminalului virtual de
reea i terminalul real. De exemplu, atunci cnd editorul mut cursorul din terminalul virtual n
colul stnga-sus al ecranului, programul trebuie s aplice secvena potrivit de comenzi pentru
terminalul real, astfel nct s se mute i cursorul acestuia. Toate programele terminalului virtual se
afl pe nivelul aplicaie.
Un alt rol al nivelului aplicaie este transferul fiierelor. Sisteme de fiiere diferite au convenii
de nume diferite, moduri diferite de a reprezenta liniile de text i aa mai departe. Transferul unui
fiier ntre doujsisteme de fiiere.diferite presupune rezolvarea acestor incompatibiliti i a altora
de acelai gen. Si acest lucru cade tot n seama nivelului aplicaie, la fel ca si posta electronic,
mr^ucereajucrrilor la distan, examinarea cataloagelor i diverse alte faciliti cu scop general
sau particular.

Transmiterea datelor n modelul OSI


Figura 1-17 prezint un exemplu de transmitere a datelor folosind modelul OSI. Procesul
emitor vrea s trimit nite date procesului receptor. Emitorul furnizeaz datele nivelului
aplicaie, acesta le ataeaz n fa antetul aplicaiei, AH (care poate fi vid) i furnizeaz obiectul
rezultat nivelului prezentare.
Nivelul prezentare poate s modifice acest obiect n diferite moduri i poate eventual s-i
adauge n fa un antet, furniznd rezultatul ctre nivelul sesiune. Este important de tiut c nivelul
prezentare nu cunoate care poriune din datele primite de la nivelul aplicaie reprezint AH, n
cazul n care acesta exist, i care poriune reprezint datele prppriu-zise ale utilizatorului. r
Acest proces se repet pn cnd datele ajung la nivelul fizic, unde ele vor fi trimise efectiv ctre
maina receptoare. Pe respectiva main, diversele anete sunt eliminate succesiv, pe msur ce
mesajul se propag prin niveluri fn sus, pn cnd ajunge m final la procesul destinaie.
Ideea de baz este c, dei n Fig. 1-17 transmiterea datelor este vertical, fiecare nivel este
programat ca i cum transmiterea ar fi orizontal. De exemplu, atunci cnd nivelul transport emitor
primete un mesaj de la nivelul sesiune, el i ataeaz un antet de transport i l expediaz nivelului
transport destinaie. Din punctul su de vedere, faptul c n realitate trebuie s paseze mesajul
32 INTRODUCERE CAPI

nivelului reea de pe maina sa proprie este un detaliu tehnologic lipsit de importan. Analog, cnd
un diplomat care vorbete limba Tagalog se adreseaz Naiunilor Unite, el se gndete c se
adreseaz celorlali diplomai prezeni la adunare. Faptul c n realitate el vorbete numai
translatorului su este vzut ca un detaliu tehnic.

Procesul Procesul
emitor^ receptor-

Date

Nivelul Protocolul aplicaie AH Date Nivelul


aplicaie aplicaie
Nivelul Nivelul
Protocolul prezentare PH Date
prezentare prezentare
Nivelul Protocolul sesiune SH Date Nivelul
sesiune sesiune
Nivelul Protocolul Nivelul
TH Date
transport transport transport
Nivelul Protocolul Nivelul
NH Date
reea reea reea
ivelul legtur DH Date DT Nivelul legtur
de date de date
Nivelul Bii Nivelul
fizic fizic

Calea concret de transmitere a datelor

Fig. 1-17. Un exemplu de utilizare a modelului OSI. O parte din antete pot s fie nule. (Sursa:
H.C. Folts. Utilizat cu permisiunea autorului.)

1.4.2 Modelul de referin TCP/EP

S ne ndreptm acum atenia de la modelul de referin OSI spre modelul de referin utilizat
n strmoul tuturor reelelor de calculatoare, ARPANET-ul, i n succesorul su, Internet-ul. Dei
vom prezenta mai trziu o scurt istorie a ARPANET-ului, este util s menionm acum cteva
aspecte eseniale. ARPANET a fost o reea de cercetare sponsorizat de ctre DoD (U.S.
Department of Defense - Departamentul de Aprare al Statelor Unite). n cele din urm, reeaua a
ajuns s conecteze ntre ele, utiliznd linii telefonice nchiriate, sute de reele universitare i
guvernamentale. Atunci cnd au fost adugate, mai trziu, reele prin satelit i radio,
interconectarea acestora cu protocoalele existente a pus diferite probleme. Era nevoie de o nou
arhitectur de referin. De aceea, posibilitatea de a interconecta fr probleme mai multe tipuri
de reele a reprezentat de la bun nceput un obiectiv de proiectare major. Aceast arhitectur a
devenit cunoscut mai trziu sub denumirea de modelul de referin TCP/EP, dat dup numele
celor dou protocoale fundamentale utilizate. Arhitectura respectiv a fost definit prima dat n
SEG. 1.4 MODELE DE REFERINA 33

(Cerf si Kahn, 1974). O perspectiv ulterioar este prezentat n (Leiner .a., 1985). Filosofla de
proiectare din spatele modelului este discutat n (Clark, 1988).
Dat fiind ngrijorarea Departamentului de Aprare c o parte din preioasele sale gazde, rutere
si pori de interconectare ar putea fi distruse dintr-un moment n altul, un alt obiectiv major a fost ca
reeaua s poat supravieui pierderii echipamentelor din subreea fr a fi ntrerupte conversaiile
existente. Cu alte cuvinte, DoD dorea ca, atta timp ct funcionau maina surs i maina
destinaie, conexiunile s rmn intacte, chiar dac o parte din maini sau din liniile de transmisie
erau brusc scoase din funciune. Mai mult, era nevoie de o arhitectur flexibil, deoarece se aveau
n vedere aplicaii cu cerine divergente, mergnd de la transferul de fiiere pn la transmiterea
vorbirii n timp real.

Nivelul internet

Toate aceste cerine au condus la alegerea unei reele cu comutare de pachete bazat pe
un nivel inter-reea fr conexiuni. Acest nivel, numit nivelul internet, este axul pe care se
centreaz ntreaga arhitectur. Rolul su este de a permite gazdelor s emit pachete n orice
reea i a face ca pachetele s circule independent pn la destinaie (fiind posibil ca aceasta
s se gseasc pe o alt reea). Pachetele pot chiar s soseasc ntr-o ordine diferit fa de
cea n care au fost trimise, caz n care - dac se dorete furnizarea lor ordonat - rearanjarea
cade n sarcina nivelurilor de mai sus. De observat c internet" este folosit aici ntr-un sens
generic, chiar dac acest nivel este prezent i n Internet.

OSI TCP/IP

7 Aplicaie Aplicaie

6 Prezentare *~-\ Nu exist n


^-"^ acest model
5 Sesiune

4 Transport Transport

3 Reea Internet

2 Legtur de date Gazd-la-reea

1 Fizic

Fig. 1-18. Modelul de referin TCP/IP.


/
Aici, analogia este cu sistemul de pot (clasic). O persoan dintr-o anumit ar poate depune
ntr-o cutie potal mai multe scrisori internaionale i, cu puin noroc, majoritatea scrisorilor vor
ajunge la adresa corect din ara de destinaie. Probabil c scrisorile vor trece pe drum prin mai
multe oficii de cartare, dar acest lucru se face transparent pentru utilizatori. Mai mult, faptul c
fiecare ar (adic fiecare reea) are propriile timbre, propriile mrimi favorite de plicuri i propriile
reguli de livrare este ascuns beneficiarilor.
Nivelul internet definete oficial un format de pachet i un protocol numit IP (Internet
Protocol - protocol, Internet). Sarcina nivelului internet este s furnizeze pachete IP ctre destinaie.
34 INTRODUCERE CAP.l

Problemele majore se refer la dirijarea pachetelor i evitarea congestiei. n consecin, este


rezonabil s spunem c nivelul internet din TCP/IP funcioneaz asemntor cu nivelul reea din
OSI. Figura 1-18 arat aceast coresponden.

Nivelul transport

Nivelul situat deasupra nivelului internet din modelul TCP/IP este frecvent numit nivelul
transport. Acesta este proiectat astfel, nct s permit conversaii ntre ej^tjikpereche din
gazdele surs i, respectiv, destinaie, la fel ca n nivelul transport OSI. n acest sens au fost
definite dou protocoale capt-la-capt. Primul din ele, TCP (Transmission Control Protocol
entat e
- protocolul de control al transmisiei), este un gi^tocol_igut l i P conexiuni care
permite ca un flux de octei trimii de pe o main s ajung fr erori pe orice alt main
din inter-reea. Acest protocol fragmenteaz fluxul de^ octei n mesaj ejdiscrete i paseaz
fiecare mesaj nivelului internet. La destinaie, procesul TCP receptor reasambleaz mesajele
primite n flux de ieire. TCP trateaz totodat controluIfLuxului pentru a se asigura c un
emitor rapid nu inund un receptor lent cu mai multe mesaje dect poate acesta s
prelucreze.
Al doilea protocol din nivel, UDP (User Datagram Protocol - protocolul datagramelor
utilizator), este un protocol nesigur, fr conexiuni, destinat aplicaiilor care doresc s
utilizeze propria lor secveniere i control al fluxului, i nu pe cele asigurate de TCP.
Protocolul UDP este de asemenea mult folosit pentru interogri ntrebare-rspuns dintr-un
foc, client-server, i pentru aplicaii n care comunicarea prompt este mai important dect
comunicarea cu acuratee, aa cum sunt aplicaiile de transmisie a vorbirii i a imaginilor
video. Relaia dintre IP, TCP i UDP este prezentat n Fig. 1-19. De cnd a fost dezvoltat
acest model, IP a fost implementat pe multe alte reele.

Nivelui (numele OSII


r
TELNET FTP SMTP DNS Aplicaie

Protocoale < TCP UDP Transport

IP Reea
V.
r

Radio cu Fizic +
Reele < ARPANET SATNET
pachete
LAN legtur de date

Fig. 1-19. Protocoale i reele din modelul TCP/IP iniial.

Nivelul aplicaie

Modelul TCP/IP nu conine niveluri sesiune sau prezentare. Acestea nu au fost incluse pentru
c nu s-a simit nevoia lor. Experiena modelului OSI a dovedit c aceast viziune a fost corect: n
majoritatea aplicaiilor, nivelurile respective nu sunt de mare folos.
SE C.1.4 MODELE DE REFERIN 35

;
Deasupra aiv^afoi traBsport se afl nivelul aplicaie. Acesta conine toate protocoalele de nivel
mai rialt. Aa cum se vede din Fig. 1-19, primele protocoale de acest gen includeau terminalul virtual
(TELNET), transferul de fiiere (FTP) i pota electronic (SMTP). Protocolul de terminal virtual
permite unui utilizator de pe o maina s se conecteze i s lucreze pe o main aflat la distan.
Protocolul de transfer de fiiere pune la dispoziie o modalitate de a muta eficient date de pe o main
pe alta. Pota electronic a fost la origine doar un tip de transfer de fiiere, dar ulterior a fost dezvoltat
un protocol specializat pentru acest serviciu. Pe parcursul anilor, la aceste protocoale s-au adugat
multe altele, aa cum sunt Serviciul Numelor de Domenii (Domain Name Service - DNS) pentru
stabilirea corespondenei dintre numele gazdelor i adresele reelelor, NNTP, protocolul utilizat
pentru a transfera articole d^^

Nivelul gazd-reea
Sub nivelul internet se afl necunoscutul. Modelul de referin TCP/IP nu spune mare lucru
despre ce se ntmpl acolo, ns menioneaz c gazda trebuie s se lege la reea, pentru a putea
trimite pachete IP, folosind un anumit protocol. Acest protocol nu este definit i variaz de la gazd la
gazd i de la reea la reea. Crile i articolele despre TCP/IP rareori discut despre acest protocol.

1.43 O comparaie ntre modelele de referin OSI i TCP

Modelele de referin OSI i TCP/IP au multe lucruri n comun. Amndou se bazeaz pe


conceptul unei stive de protocoale independente. De asemenea, funcionalitatea nivelurilor este n
linii mari similar. De exemplu, n ambele modele, nivelurile pn la nivelul transport inclusiv sunt
necesare pentru a pune la dispoziia proceselor care doresc s comunice un serviciu de transport
capt-la-capt independent de reea. Nivelurile respective formeaz furnizorul de transport. Din
nou, n ambele modele, nivelurile de deasupra transportului sunt beneficiari orientai pe aplicaii ai
serviciului de transport.
n pofida acestor similitudini fundamentale, ntre cele dou modele exist i multe deosebiri. n
aceast seciune ne vom concentra asupra diferenelor cheie dintre cele dou modele de referin.
Este important de subliniat c vom compara aici modelele de referin, nu stivele de protocoale
corespunztoare. Protocoalele propriu-zise vor fi discutate mai trziu. Pentru o ntreag carte
consacrat comparaiei i diferenelor dintre TCP/IP i OSI, a se vedea (Piscitello i Chapin, 1993).
Trei concepte sunt eseniale pentru modelul OSI:
/ 1. Servicii
2. Interfee
\ 3. Protocoale
c cea mai mare contribuie a modelului OSI este ca a fcut explicita diferena
ntre aceste trei concepte. Fiecare nivel realizeaz nite servicii pentru nivelul situat deasupra
sa. Definiia serviciului spune ce face nivelul, nu cum l folosesc entitile de deasupra sa sau
cum funcioneaz nivelul. - ^ - r ^ - * ^ / ^ > 4 .
Interfaa unui nivel spune proceselor aflate deasupra sa cum s fac accesul. Interfaa precizeaz
ce reprezint parametrii i ce rezultat se obine. Nici interfaa nu spune nimic despre funcionarea
intern a nivelului.
n sfzit, protocoalele pereche folosite ntr-un nivel reprezint treaba personal a nivelului
36 ENIRQDUCERE CAP.l

Nivelul poate folosi orice protocol dorete, cu condiia ca acesta s funcioneze (adic s
ndeplineasc serviciul oferit). Nivelul poate de asemenea s schimbe protocoalele dup cum vrea,
fr ca acest lucru s afecteze programele din nivelurile superioare.
Aceste idei se potrivesc foarte bine cu ideile moderne referitoare la programarea orientat pe
obiect. Un obiect, ca i un nivel, posed un set de metode (operaii) care pot fi invocate de ctre
procese din afara obiectului. Semanticele acestor metode definesc mulimea de servicii pe care le
ofer obiectul. Parametrii i rezultatele metodelor formeaz interfaa obiectului. Codul intern al
obiectului reprezint protocolul su i nu este vizibil sau de vreo importan n afara obiectului.
Dei lumea a ncercat ulterior s l readapteze pentru a fi mai asemntor modelului OSI, modelul
o distincie clar ntre serviciu, interfa i protocol. De exemplu, singurele
servicii veritabile oferitedeTnTvefufmternet sunt SENDIP PACKET i RECEIVEIP PACKET.
n consecin, protocoalele din modelul OSI sunt mai bine ascunse dect n modelul TCP/EP i pot fi
nlocuite relativ uor pe msur ce se schimb tehnologia. Capacitatea de a face asemenea modificri
reprezint unul din scopurile principale ale organizrii protocoalelor pe niveluri n modelul OSI.
Modelul de referin OSI a fost conceput nainte s fie inventate protocoalele. Ordinea
respectiv semnific faptul c modelul nu a fost orientat ctre un set specific de protocoale, fiind
prin urmare destul de general. Reversul este c proiectanii nu au avut mult experien n ceea ce
privete acest subiect i nu au avut o idee coerent despre mprirea funciilor pe niveluri.
De exemplu, nivelul legtur de date se ocupa iniial numai cu reelele punct-la-punct. Atunci
cnd au aprut reelele cu difuzare, a trebuit s fie introdus n model un subnivel nou. Cnd lumea a
nceput s construiasc reele reale utiliznd modelul OSI i protocoalele existente, s-a descoperit c
acestea nu se potriveau cu specificaiile serviciului cerut (minunea minunilor), astfel c a ttebuit
introdus n model conyej^ntejubnjw^ pe marginea
diferentelor. In sfrit, comitetul se atepta iniial ca fiecare tar s aib cte o reea care s fie n
custodia guvernului i s foloseasc protocoalele OSI, aa c nu s-a dat nici o atenie interconectrii.
Pentru a nu mai lungi povestea, s spunem doar c lucrurile s-au petrecut altfel.
n ceea ce privete TCP/IP, lucrurile stau exact pe dos: mai nti au aprut protocoalele,
iar modelul a fost de fapt doar o descriere a protocoalelor existente. Cu protocoalele
respective nu era nici o problem: ele se potriveau perfect cu modelul. Singurul necaz era c
modelul nu se potrivea cu nici o alt stiv de protocoale. Prin urmare, modelul nu a fost prea
util pentru a descrie alte reele non-TCP/IP.
Pentru a ne ntoarce de la subiectele filosofice la subiecte mai specifice, p diferen evident ntre
cele dou modele sejefer lanumrul^^jde.niveluri: modelul OSI are apte niveluri, iar TCP/IP are
patru. Ambele modele au niveluri (inter-)reea, transport i aplicaie, dar restul nivelurilor sunt
diferite.
O alt deosebire privete subiectul comunicaiei fr conexiuni fa de cel al comunicaiei orientat
pe conexiuni. Modelul OSI suport^ ambele tipuri de comunicaii la nivelul reea, dar numai
Cj^mjyuiicj^ unde acest fapt are importan (pentru c
serviciul de transport este vizibil utilizatorilor). Modelul TCP/IP arenumai unjtnod (^r|j3Qne^ujii) la
nivelul reea, dar suport ambele moduri la nivelul transport, ceea ce las utilizatorilor posibilitatea
alegerii. Aceast alegere este important n mod special pentru protocoale ntrebare-rspuns simple.
SEC. 1.4 MODEIJE DE REFERINA 37

0 eritic a modelului i protocoalelor OSI

Nici modelul i protocoalele OSI i nici modelul i protocoalele TCP/IP nu sunt perfecte.
Asupra lor se pot formula, i s-au formulat, cteva critici. n prezenta i n urmtoarea seciune vom
vedea unele dintre aceste critici. Vom ncepe cu OSI, dup care vom examina TCP/IP.
La momentul cnd a fost publicat a doua ediie a acestei cri (1989), majoritatea experilor n
domeniu credeau c modelul i protocoalele OSI se vor impune peste tot i vor elimina orice
concurent. Acest lucru nu s-a ntmplat. De ce? O privire spre leciile trecutului poate fi util.
Aceste lecii pot fi rezumate astfel:

1. Ratarea momentului.
2. Tehnologii proaste.
3. Implementri proaste.
4. Politici proaste.

Ratarea momentului

S vedem mai nti prima problem: ratarea momentului. Momentul la care se stabilete un
standard este absolut critic pentru succesul acestuia. David Qark de la M.I.T. are o teorie asupra
standardelor pe care o numete Apocalipsa celor doi elefani i care este ilustrat n Fig. 1-20. .

Investiii de
Cercetare miliarde de dolari

B
2
'>
I

Timp

Fig. 1-20. Apocalipsa celor doi elefani.

Aceast figur arat cantitatea de activitate desfurat n jurul unui subiect nou. Cnd subiectul
este descoperitoare loc o explozie a activitii de cercetare sub form de discuii, articole i ntlniri.
Dup un timp, cercetarea se reduce foarte mult, subiectul este descoperit de companii i piaa
primete lovitura unui val de investiii de miliarde de dolari.
Este esenial ca standardele s fie scrise n intervalul dintre cei doi elefani". Dac ele sunt
scrise prea devreme, nainte s se ncheie cercetarea, atunci subiectul poate s nu fie nc destul de
bine neles, ceea ce conduce la standarde proaste. Dac ele sunt scrise prea trziu, atunci probabil
c att de multe firme au fcut deja investiii majore realiznd lucrurile altfel, nct standardele sunt
38 INTRODUCERE OAP.1

efectiv ignorate. Dac intervalul dintre cei doi elefani este, foarte ;Spur (pentru c toat lumea arde
de nerbdare s treac la lucru), atunci cei care dezvolt standardele pot fi prini la mijloc i strivii.
Acum se vede c protocoalele OSI standard au fost strivite. La momentul apariiei lor,
protocoalele concurente TCP/IP erau deja folosite pe larg n universiti n cercetare. nainte s
vin valul investiiilor de miliarde de dolari, piaa din domeniul academic era destul de dezvoltat
pentru ca multe firme s nceap, prudent, s ofere produse TCP/IP. Cnd a aprut OSI, firmele nu
au mai vrut, fr s fie forate, s sprijine o a doua stiv de protocoale, i, prin urmare, n-au fost nici
un fel de oferte iniiale de acest gen. Fiecare firm atepta s nceap celelalte firme, aa c pn la
urm n-a mai nceput nici o firm i fenomenul OSI nu s-a mai produs niciodat.

Tehnologii proaste
Al doilea motiv pentru care OSI n-a prins niciodat este c att modelul ct i protocoalele au
defecte. Majoritatea discuiilor purtate n jurul modelului cu apte niveluri dai impresia c numrul
i coninutul nivelurilor alese n cele din urm erau singura soluie, sau cel puin soluia evident.
Lucrurile stau altfel. Nivelul sesiune este foarte puin folosit n majoritatea aplicaiilor, iar nivelul
prezentare e aproape nul. De fapt, propunerea britanic ctre ISO avea numai cinci niveluri, nu
apte. Spre deosebire de nivelurile sesiune i prezentare, nivelurile legtur de date i reea sunt att
de ncrcate, nct trebuiau mprite n mai multe subniveluri, fiecare cu funcii diferite.
Dei rareori admite cineva n public, motivul real pentru care modelul OSI are apte niveluri
este c, n momentul proiectrii, IBM avea un protocol propriu cu apte niveluri numit SNA
(Systems Network Architecture - arhitectura sistemelor de reele). La acea vreme, IBM domina
industria de calculatoare n asemenea grad, nct toi ceilali - companii de telefoane, firme
concurente de calculatoare i chiar organizaii guvernamentale importante - se temeau groaznic c
IBM i va folosi piaa pentru a fora efectiv pe toat lumea s utilizeze SNA, pe care putea s-1
schimbe oricnd vroia. Ideea pe care s-a bazat OSI a fost s se produc o stiv de protocoale i un
model de referin compatibil IBM, care s devin standardul internaional, dar care s nu fie
controlat de o singur firm, ci de o organizaie neutr, ISO.
Modelul OSI, alturi de protocoalele i definiiile de servicii asociate, este extraordinar de
complex. Atunci cnd sunt puse unul peste altul, standardele tiprite ocup civa zeci de centimetri
buni. Standardele sunt, de asemenea, dificil de implementat i ineficiente n funcionare. n acest
context mi vine n minte o ghicitoare formulat de Paul Mockapetris i citat n (Rose, 1993):
: Ce obii cnd aplici un standard internaional unui gangster?
R: O persoan care i face o ofert pe care n-o poi nelege.
Pe lng faptul c este incomprehensibil, o alt problem cu OSI este c unele funcii, cum sunt
adresarea, controlul fluxului i controlul erorilor reapar din nou i din nou n fiecare nivel. Saltzer
.a. (1994), de exemplu, au artat c, pentru a fi eficient, controlul erorilor trebuie fcut la nivelul cel
mai nalt i c repetarea sa de attea ori n nivelurile de mai jos este adesea inutil i ineficient.
O alt problem este c decizia de a plasa anumite funcii n anumite niveluri particulare nu este
totdeauna eviden. Pe parcursul dezvoltrii standardului, gestionarea terminalului virtual
(prezent acum n nivelul aplicaie) a fost mult timp sarcina nivelului prezentare. Aceasta a fost
mutat n nivelul aplicaie, deoarece comitetul avea probleme s decid la ce era bun nivelul
prezentare. Securitatea datelor i criptarea au fost att de controversate, nct nimeni n-a putut fi de
MODELE DE REFERINA 39

imvelul a care s le introduc,;aa c au fost lsate toate pe dinafar. De asemenea,


i reelei a fost omis din model din motive similare.
O alt critic asupra standardului iniial se refer la ignorarea complet a serviciilor i
fflotocoalelor fr conexiune, n pofida faptului c majoritatea reelelor funcioneaz n acest mod.
consecin, addenda care a urmat (cunoscut n lumea programatorilor drept fixarea erorilor) a
corectat aceast problem.
Cea mai serioas critic este, probabil, c modelul reflect o mentalitate dominat de problema
comunicaiilor. Relaia dintre calcul i comunicare nu este menionat aproape deloc, iar o parte
din alegerile fcute sunt total nepotrivite pentru modul n care lucreaz calculatoarele i
programele. Gndii-v, de exemplu, la primitivele OSI, listate n Fig. 1-14. n particular, gndii-v
atent cum ar putea cineva s foloseasc aceste primitive ntr-un limbaj de programare.
Primitiva CONNECT.request e simpl. Ne putem imagina o procedur de bibliotec, connect, pe
care programul o apeleaz ca s stabileasc o conexiune. Acum gndii-v la CONNECT.indication.
Cnd sosete un mesaj, trebuie anunat procesul destinaie. Mai precis, trebuie s primeasc o
ntrerupere - un concept rareori adecvat n programele scrise ntr-un limbaj modern de nivel nalt.
Desigur, la nivelul cel mai de jos trebuie s se produc o indicaie (ntrerupere).
Daca programul ateapt s soseasc pentru el un apel, atunci ar putea s invoce o procedur de
bibliotec receive care s l blocheze. n acest caz, de ce nu a fost receive primitiva conceput n locul
lui indication ? Receive este clar orientat spre modul de lucru al calculatoarelor, n timp ce
indication este la fel de clar orientat spre modul de lucru al telefoanelor. Calculatoarele sunt
diferite fa de telefoane. Telefoanele sun. Calculatoarele nu sun. Pe scurt, modelul semantic al
unui sistem bazat pe ntreruperi reprezint din punct de vedere conceptual o idee proast i n
total contradicie cu toate ideile moderne despre programarea structurata. Aceast problem i
altele similare sunt discutate de ctre Langsford (1984).

Implementri proaste
Dat fiind enorma complexitate a modelului i a protocoalelor, nu este nici o surpriz n faptul
c implementrile iniiale erau uriae, greoaie i ineficiente. Oricine le ncerca se simea ca oprit.
Nu a trecut mult i lumea a asociat OSI" cu calitate slab." Odat cu trecerea timpului, produsele
au devenit mai bune, dar imagina s-a deteriorat.
Din contr, una din primele implementri de TCP/IP fcea parte din Berkeley UNIX i era
destul de bun (ca s nu mai spunem c era i gratuit). Lumea a nceput s o foloseasc repede, ceea
ce a determinat apariia unei comuniti largi de utilizatori, ceea ce a dus mai departe la mbuntiri,
iar aceasta a dus la o comunitate i mai numeroas. n acest caz spirala nu cobora, ci urca.

Politici proaste
Din cauza implementrii iniiale, mult lume, n special din mediul academic, a considerat
TCP/IP ca o parte din Unix; iar n anii '80 Unix-ul era pentru oamenii din lumea academic cam la
fel de popular ca paternitatea (numit apoi incorect maternitate) sau ca plcinta cu mere.
OSI, pe de alt parte, a fost gndit ca o creaie a ministerelor de telecomunicaii europene, apoi
a Comunitii Europene i, mai trziu, a guvernului Statelor Unite. Aceast viziune s-a dovedit
adevrat numai n parte; dar chiar ideea n sine - un grup de birocrai guvernamentali ncercnd s
bage un standard inferior tehnic pe gtul bieilor cercettori i programatori care stau n tranee i
40 INTRODUCERE CAP. 1

dezvolt efectiv reelele de calculatoare - nu a ajutat prea mult. Unii oameni au vzut aceast
abordare n aceeai lumin n care a fost vzut IBM cnd a anunat n anii '60 c PL/I era limbajul
viitorului, sau DoD care a corectat IBM-ul anunnd c limbajul respectiv era de fapt Ada.
n pofida faptului c modelul i protocoalele OSI nu au fost chiar un succes rsuntor, mai exist
totui unele organizaii interesate de OSI, n special PTT-urile2 europene care dein nc un
monopol asupra telecomunicaiilor. n consecin, a existat un mic efort pentru a mbunti OSI i
rezultatul este un model revizuit publicat n 1994. Pentru a vedea ceea ce a fost schimbat (puin) i
ceea ce ar fi trebuit schimbat (mult), a se consulta (Day, 1995).

1.4.5 O critic a modelului de referin TCP/BP

Modelul i protocoalele TCP/IP au i ele problemele lor. Mai nti, modelul nu face o distincie
clar ntre conceptele de serviciu, interfa i protocol. O practic recomandabil n ingineria
programrii este s se fac diferena ntre specificaie i implementare, ceea ce OSI face cu mult
atenie, pe cnd TCP/IP nu face. De aceea, modelul TCP/IP nu este un ghid prea bun de proiectare
a reelelor noi folosind tehnologii noi.
n al doilea rnd, modelul TCP/IP nu este de loc general i nu este aproape deloc potrivit pentru
descrierea altor stive de protocoale n afara celei TCP/IP. De exemplu, descrierea SNA-ului
folosind modelul TCP/IP ar fi aproape imposibil.
n al treilea rnd, nivelul gazd-reea nu este deloc un nivel - n sensul normal n care este folosit
termenul n contextul protocoalelor organizate pe niveluri - ci estej) interfa (ntre nivelurile reea
si legtur de date). Distincia ntre o interfa si un nivel este crucial si de aceea trebuie s i se
acorde atenia cuvenit.
n al patrulea rnd, modelul TCP/IP nu distinge (i nici mcar nu menioneaz) nivelurile fizic i
legtur de date. Acestea sunt complet diferite. Nivelul fizic are de-a face cu caracteristicile de
transmisie ale comunicaiilor prin cablu de cupru, fibre optice sau radio. Rolul nivelului legtur de
date este s delimiteze nceputul i sfritul cadrelor i s le transporte dintr-o parte n alta cu gradul
de siguran dorit. Un model corect ar trebui s includ ambele niveluri ca niveluri separate.
Modelul TCP/IP nu face acest lucru.
n sfrit, dei protocoalele IP i TCP au fost atent gndite i bine implementate, multe din
celelalte protocoale erau ad-hoc, fiind n general opera ctorva absolveni care tot metereau" la
ele pn oboseau. Implementrile protocoalelor erau apoi distribuite gratuit; ca urmare, ele erau
larg utilizate, fr s li se asigure suportul necesar, fiind de aceea dificil de nlocuit. Unele
protocoale au ajuns acum s fie mai mult o pacoste. Protocolul de terminal virtual, TELNET, de
exemplu, a fost proiectat pentru un terminal tele-imprimator mecanic de zece caractere pe secund.
Cu toate acestea, 25 de ani mai trziu, protocolul este nc foarte utilizat.
Pentru a rezuma, n pofida acestor probleme, modelul OSI (mai puin nivelurile sesiune i
prezentare) s-a dovedit a fi excepional de util pentru a discuta reelele de calculatoare. Din
contr, protocoalele OSI nu au devenit populare. Pentru TCP/IP este adevrat afirmaia
invers: modelul este practic inexistent, dar protocoalele sunt larg utilizate. Dat fiind faptul c
informaticienilor le place s prepare - i apoi s i mnnce - propria lor prjitur, n aceast
carte vom folosi un model OSI modificat, dar ne vom concentra n primul rnd pe TCP/IP i

2
PTT-urile sunt instituiile de administrare a Potei, Telegrafului i Telefoanelor (n.t.)
SEC. 1.5 EXEMPLE DE REELE 41

alte protocoale nrudite cu el; de asemeneaj vom mai folosi unele protocoale mai noi, precum
SDMS, retransmiterea cadrelor, SONET i ATM. Modelul de lucru folosit n carte este,
practic, modelul hibrid prezentat n Fig. 1-21.

Nivelul aplicaie
Nivelul transport
Nivelul reea
Nivelul legtur de date
Nivelul fizic

Fig. 1-21. Modelul hibrid de referin care va fi utilizat n aceast carte.

1.5 EXEMPLE DE REELE

La ora actual, numrul reelelor care funcioneaz n lume este foarte mare. Unele dintre
acestea sunt reele publice administrate de companii de telefonie publice sau de PTT-uri, altele sunt
reele de cercetare, altele sunt reele de cooperare administrate chiar de utilizatori i, n sfrit,
altele sunt reele comerciale aparinnd unor corporaii. n seciunile urmtoare vom arunca o
privire asupra ctorva reele de domeniul prezentului sau al trecutului pentru a ne face o idee
asupra lor i asupra diferenelor dintre ele.
Reelele se deosebesc prin istorie, administrare, faciliti oferite, proiectare i prin
comunitile lor de utilizatori. Istoria i administrarea pot varia de lt o reea atent planificat
de ctre o singur organizaie cu un obiectiv bine definit, pn la o colecie ad-hoc de maini
care au tot fost conectate ntre ele de-a lungul anilor, fr s existe vreun plan coerent sau
vreo administrare central. Facilitile disponibile variaz de la comunicaii arbitrare ntre
procese pn la pot electronic, transfer de fiiere, conectare la distan i execuie la
distan. Detaliile tehnice de proiectare pot s difere n ceea ce privete mediul de transmisie,
algoritmii de atribuire a numelor i de dirijare, numrul i coninutul nivelurilor, protocoalele
utilizate. n sfrit, comunitatea utilizatorilor poate varia de la o singur corporaie pn la
comunitatea tuturor informaticienilor din lumea industrializat.
n seciunile urmtoare vom vedea cteva exemple: popularul pachet comercial pentru reele
LAN, Novell NetWare, Internet-ul (incluznd predecesorii si, ARPANET i NSFNET) i
primele reele gigabit.

1.5.1 Novell NetWare

Cel mai popular sistem de reele din lumea PC-urilor este Novell NetWare. Acesta a fost
proiectat pentru a fi folosit de firme care treceau de la mainframe-uri la reele de PC-uri. n astfel
de sisteme, fiecare utilizator are un PC care funcioneaz pe post de client. n plus, un anumit
numr de PC-uri puternice lucreaz ca servere, oferind unei colecii de clieni servicii de gestionare
a fiierelor i a bazelor de date, precum i alte tipuri de servicii. Cu alte cuvinte, Novell NetWare se
bazeaz pe modelul client-server.
NetWare utilizeaz o stiv de protocoale proprie ilustrat n Fig. 1-22. Aceasta se bazeaz pe
vechiul Xerox Network System, XNS, supus ns unor diferite modificri. Novell NetWare
42 MIRODUCERE CARI

precede OSI i nu se bazeaz pe el. Dac este s semene cu ceva, atunci seamn mai mult cu
TCP/IP dect cu OSI.
Nivelul fizic i nivelul legtur de date pot fi alese dintre diferite standarde industriale, incluznd
Ethernet, IBM token ring (jeton pe inel) i ARCnet. Nivelul reea folosete un protocol de
interconectare fr conexiuni, nesigur, numit IPX. Acesta transmite transparent pachetele de la
surs la destinaie, chiar dac sursa i destinaia se afl n reele diferite. IPX funcioneaz similar cu
IP, exceptnd faptul c IPX folosete adrese pe 10 octei n loc de adrese pe 4 octei. Justeea
acestei alegeri ni se va dezvlui n Cap. 5.

Nivel
Aplicaie SAP Server de fiiere

Transport NCP SPX

Reea IPX

Legtur de date Ethernet Token ring ARCnet

Fizic Ethernet Token ring ARCnet

Fig. 1-22. Modelul de referin Novell NetWare.

Peste IPX vine un protocol de transport orientat pe conexiuni numit NCP (Network Core
Protocol - protocolul nucleului de reea). NCP asigur n plus fa de transportul datelor de la
utilizatori diferite alte servicii i este, de fapt, inima sistemului Novell NetWare. Mai este disponibil
i un al doilea protocol, SPX, dar acesta ofer numai transport. O alt opiune este TCP. Aplicaiile
pot alege oricare din ele. De exemplu, sistemul de fiiere folosete NCP, iar Lotus Notes folosete
SPX. Nu exist niveluri sesiune sau prezentare. n nivelul aplicaie sunt prezente diverse protocoale
de aplicaii.

Octei 2 2 1 1 12 12

Adresa destinaiei Adresa sursei Date

' Packet type {tip pachet)


Transport control (control transport)
1
Packet length (lungime pachet)
Checksum (sum de control)

Fig. 1-23. Un pachet Novell NetWare IPX.

Ca i n TCP/IP, cheia ntregii arhitecturi este pachetul datagram internet, peste care este
construit orice altceva. Formatul unui pachet IPX este prezentat n Fig. 1-23. Cmpul Checksum
este folosit rar, deoarece nivelul legtur de date furnizeaz la rndul lui o sum de control. Cmpul
Facket tength arat ct de lung este ntregul pachet, antet plus date. Cmpul Transport control
SEC 1.5 EXEMPLE DE REELE 43

BBfi| prin cte reele a traversat pachetul. Cnd acest numr depete un anumit maxim,
pachetul este eliminat. Cmpul Pocket type este folosit pentru a marca diferite pachete de control.
Fiecare din cele dou adrese conine un numr de reea pe 32 de bii, un numr de main pe 48 de
bii (adresa 802 LAN) i adresa local (soclul) pe 16 bii de pe respectiva main. n sfrit, mai
avem datele; acestea ocup restul pachetului i lungimea lor maxim depinde de reeaua respectiv.
Aproximativ o data pe minut, fiecare server difuzeaz un pachet n care i d adresa i
spune ce servicii ofer. Aceste difuzri utilizeaz protocolul SAP (Service Advertising
Protocol - protocolul de reclam a serviciilor). Pachetele sunt vzute i colectate de ageni
speciali care se execut pe mainile de dirijare. Agenii folosesc informaiile din pachete
pentru a construi baze de date cu serverele din reea.
La pornire, o main client difuzeaz o cerere n care ntreab unde se afl cel mai apropiat
server. Agentul de pe maina de dirijare local vede cererea, se uit n baza sa de date despre
servere i caut cel mai bun server corespunztor cererii. Rspunsul privind respectivul server este
apoi trimis napoi ctre client. n acest moment clientul poate stabili o conexiune NCP cu serverul.
Utiliznd aceast conexiune, clientul i serverul negociaz dimensiunea maxim a pachetelor. Din
acest punct, clientul poate face acces la sistemul de fiiere i alte servicii folosind conexiunea
stabilit. Qientul poate de asemenea s interogheze baza de date a serverului pentru a gsi alte
servere (mai deprtate).

1.5.2 ARPANET-ul

S schimbm acum domeniul de la LAN-uri la MAN-uri. La mijlocul anilor 1960, cnd


Rzboiul Rece era n punctul culminant, DoD-ul a vrut o reea de comand i control care s poat
supravieui unui rzboi nuclear. Tradiionalele reele telefonice cu comutare de circuite erau
considerate prea vulnerabile, deoarece pierderea unei linii sau a unui comutator ar fi pus capt
tuturor conversaiilor care le foloseau i ar fi putut chiar s partiioneze reeaua. Pentru a rezolva
aceast problem, DoD s-a orientat ctre agenia sa de cercetare, ARPA (mai trziu DARPA,
acum ARPA din nou): (Deferise) Advanced Research Projects Agency - Agenia de Cercetare
pentru Proiecte Avansate (de Aprare).
ARPA a fost creat ca rspuns la lansarea Sputnik-ului de ctre Uniunea Sovietic n 1957 i
avea misiunea de a dezvolta tehnologia care putea fi util scopurilor militare. ARPA nu avea
savani sau laboratoare, nu avea de fapt nimic mai mult dect un birou i un buget redus (dup
standardele Pentagonului). Activitatea ageniei a constat n furnizarea de fonduri i contracte
universitilor i firmelor care aveau idei promitoare.
O parte din primele fonduri au mers ctre universiti n vederea studierii comutrii de pachete,
o idee radical la acea vreme; ideea fusese sugerat de Paul Baran ntr-o serie de rapoarte ale
Corporaiei RND publicate la nceputul anilor 1960. Dup discuii cu diveri experi, ARPA a
decis c reeaua de care avea nevoie DoD trebuia s fie o reea cu comutare de pachete constnd
dintr-o subreea i din calculatoare gazd.
Subreeaua trebuia s fie format din minicalculatoare numite IMP-uri (Ihterface Message
Processors - procesoare de mesaje de interfa) conectate prin linii de transmisie. Pentru o
siguran mare, fiecare IMP trebuia legat la cel puin alte dou IMP-uri. Subreeaua avea s
fie o subreea datagram, astfel c dac unele linii i IMP-uri se defectau, mesajele puteau fi
redirijate automat pe ci alternative.
44 INTRODUCERE CAP.l

Fiecare nod al reelei era format dintr-un IMP i dintr-o gazd, aflate n aceeai ncpere
i legate printr-un fir scurt. O gazd putea s trimit mesaje de pn la 8063 bii spre IMP-ul
su, iar acesta descompunea apoi mesajele n pachete de cel mult 1008 bii i le retransmitea
la destinaie separat. Fiecare pachet era primit n ntregime nainte de a fi reexpediat, astfel c
subreeaua a fost prima reea electronic memoreaz-i-retransmite cu comutare de pachete.
ARPA a cutat apoi o ofert pentru construirea subreelei. Au depus oferte dousprezece
firme. Dup evaluarea tuturor propunerilor, ARPA a selectat BBN, o firm de consultan din
Cambridge, Massachusetts, i n 1968 a ncheiat cu aceasta un contract pentru construirea subreelei
i scrierea programelor de subreea. BBN a decis s utilizeze pe post de IMP-uri minicalculatoare
Honeywell DDP-316 special modificate, dispunnd de o memorie intern de 12K cu cuvinte pe 16
bii. IMP-urile nu aveau discuri, pentru c prile mobile erau considerate nesigure. IMP-urile au
fost interconectate prin linii de 56 kbps nchiriate de la companii de telefoane.
Programele au fost mprite n dou: pentru subreea i pentru gazde. Programele de subreea
cuprind gestionarea captului dinspre IMP al conexiunii gazd-IMP, protocolul IMP-IMP i un
protocol surs IMP - destinaie IMP, proiectat pentru a mri sigurana. Proiectul iniial al reelei
ARPANET este prezentat n Fig. 1-24.

Protocol gazd-gazd

Protocol
Gazd-IMP

Subreea

IMP

Fig. 1-24. Proiectul iniial al reelei ARPANET.

i n afara subreelei, erau necesare programe: gestionarea captului dinspre gazd al conexiunii
gazd-IMP, protocolul gazd-gazd i programe de aplicaie. n scurt timp, a devenit clar c BBN
considera sarcina sa ncheiat din momentul n care acceptase un mesaj pe un fir gazd-IMP i l
plasase pe firul gazd-IMP la destinaie.
Pentru a se descurca cu problema programelor pentru gazde, Larry Roberts de la ARPA a
convocat n vara anului 1969, la Snowbird, Utah, o ntlnire ntre cercettori din domeniul
reelelor, cei mai muli din ei proaspt absolveni de facultate. Absolvenii se ateptau ca nite
experi n reele s le explice proiectarea i software-ul reelei i ca fiecare din ei s primeasc
dup aceea sarcina de a scrie o parte din programe. Ei au rmas ns mui de uimire cnd au
constatat c nu exista nici un expert n reele i nici o proiectare serioas. Ei trebuia s-i dea
singuri seama ce au de fcut.
SEC. 15 EXEMPLE DE REELE 45

toate acestea, n decembrie 1969 ncepea deja s funcioneze o reea experimental cu patru
noduri, la UCLA, UCSB, SRI i Universitatea din Utah. Au fost alese aceste patru instituii, pentru
c toate aveau un numr mare de contracte cu ARPA i toate aveau calculatoare gazd diferite i
complet incompatibile (doar ca treaba s fie mai amuzant). Pe msur ce se aduceau i se instalau
mai multe IMP-uri, reeaua cretea rapid; n scurt timp, s-a ntins pe tot spaiul Statelor Unite.
Figura 1-25 arat ct de repede a crescut ARPA n primii 3 ani.

UTAH MIT UTAH ILLINOIS MIT LINCOLN CASE

0CARN

UCLA UCLA RND BBN UCLA RND BBN HARVARD BURROUGHS

ta) (b) (C)

LBL MCCLELLAN UTAH ILLINOIS MIT

MCCLELLAN CCA
BBN
SRI /uTAH NCAR GWC LINCOLN CASE HARVARD 0 U N C C
^_ o o ABERDEEN
RADCx STANFORD NB
AMESO ETAC
UCSB
STAN O OSDC ARPA
MITRE
SAAC
UCU RND TINKER BBN HARVARD NBS BELVOIR
CMU

UCLA SDC USC NOAA GWC CASE


(d) (e)

Fig. 1-25. (a) Dec. 1969. (b) Iulie 1970. (c) Martie 1971. (d) Aprilie 1972. (e) Sept. 1972.

Mai trziu, programele pentru IMP-uri au fost modificate pentru a permite terminalelor s
se lege direct la un IMP special, numit TIP (Terminal Interface Processor - procesor de
interfatare a terminalelor), fr a fi nevoie s treac printr-o gazd. Schimbrile ulterioare au
permis, printre altele, existena mai multor gazde pentru un IMP (pentru a economisi bani),
comunicarea gazdelor cu mai multe IMP-uri (ca mijloc de aprare mpotriva defectrii
IMP-urilor) i separarea gazdelor de IMP-uri prin distane mari (pentru ca gazdele s se afle
departe de subreea).
Pe lng ajutorul oferit pentru dezvoltarea tnrului ARPANET, ARPA a finanat de
asemenea cercetri n domeniul reelelor de satelii i reelelor mobile radio cu pachete. ntr-
o faimoas demonstraie, un Camion care circula n California folosea reeaua radio cu
pachete pentru a trimite mesaje ctre SRI, aceste mesaje erau retransmise apoi prin
ARPANET pe Coasta de Est, iar de aici mesajele erau expediate ctre University CoUege din
46 INTRODUCERE CAP. 1

Londra prin reeaua de satelii. Acest lucru permitea unui cercettor din camion s utilizeze
un calculator din Londra n timp ce cltorea prin California.
Acest experiment a demonstrat totodat c protocoalele ARPANET existente nu erau potrivite
pentru a rula pe mai multe reele. Observaia a condus la noi cercetri asupra protocoalelor,
culminnd cu invenia modelului i protocoalelor TCP/IP (Cerf i Kahn, 1974). TCP/IP a fost
proiectat special pentru a trata comunicarea prin inter-reele, un lucru care devenea din ce n ce mai
important, pe msur ce tot mai multe reele erau legate la ARPANET.
Pentru a ncuraja adoptarea acestor noi protocoale, ARPA a semnat cteva contracte cu BBN i
cu University of California din Berkeley pentru a integra protocoalele n Berkeley UNIX.
Cercettorii de la Berkeley au dezvoltat o interfa de programare cu reeaua (soclurile) i au scris
numeroase aplicaii, utilitare i programe de administrare care s simplifice interconectarea.
Momentul era perfect. Multe universiti tocmai achiziionaser un al doilea sau al treilea
calculator VAX i un LAN care s le conecteze, dar nu aveau nici un fel de programe de
interconectare. Cnd a aprut 4.2BSD, cu TCP/IP, socluri i multe utilitare de reea, pachetul
complet a fost adoptat imediat. Mai mult chiar, folosind TCP/IP, LAN-urile se puteau lega simplu
la ARPANET, i multe LAN-uri au fcut acest lucru.
n 1983, ARPANET-ul, cu peste 200 de IMP-uri i cu sute de gazde, era stabil i se bucura de
succes. n acest moment, ARPA a ncredinat administrarea reelei Ageniei de Comunicaii a
Aprrii (Defense Communications Agency - DCA), pentru a o folosi ca reea operaional. Primul
lucru pe care 1-a fcut DCA a fost s izoleze poriunea militar (aproximativ 160 de IMP-uri, din
care 110 n Statele Unite i 50 n strintate) ntr-o subreea separat, MILNET, i s prevad pori
stricte ntre MILNET i subreeaua de cercetare rmas.
n timpul anilor 1980 au fost conectate la ARPANET multe alte reele, n special LAN-uri. Pe
msur ce cretea dimensiunea reelei, gsirea gazdelor devenea tot mai costisitoare; de aceea, a
fost creat DNS (Domain Naming System - Sistemul Numelor de Domenii), care organiza mainile
n domenii i punea n coresponden numele gazdelor cu adrese IP. De atunci ncoace, DNS a
ajuns s fie un sistem de baze distribuit, generalizat, folosit pentru a memora diverse informaii
referitoare la procedurile de atribuire a numelor. Vom studia detaliat acest sistem n Cap. 7.
n 1990 ARPANET-ul era deja surclasat de reele mai modeme crora le dduse natere el
nsui. Prin urmare, ARPANET-ul a fost nchis i demontat, dar el continu s triasc n inima i
mintea specialitilor n reele de pretutindeni. MILNET funcioneaz, totui, n continuare.

1.5.3 NSFNET

La sfritul anilor 1970, NSF (U.S. National Science Foundation - Fundaia Naional de tiin
din SUA) a remarcat enormul impact pe care ARPANET-ul l avea asupra cercetrii universitare,
reeaua permind savanilor din toat ara s partajeze date i s colaboreze la proiecte de
cercetare. Dar, pentru a se conecta la ARPANET, o universitate trebuia s aib un contract de
cercetare cu DoD, iar multe universiti nu aveau. Lipsa accesului universal a determinat NSF-ul s
organizeze o reea virtual, CSNET, centrat n jurul unei singure maini de la BBN care asigura
suport pentru linii telefonice i care avea conexiuni cu ARPANET-ul i cu alte reele. Folosind
CSNET, cercettorii puteau suna i lsa pot electronic pentru a fi citit mai trziu de alte
persoane. Era simplu, i funciona.
SEC 1^ EXEMPLE DE REELE 47

n 1984 NSF a nceput s proiecteze un succesor de mare vitez al ARPANET-ului care s fie
deschis tuturor grupurilor de cercetare din universiti. Pentru a avea ceva concret cu care s
nceap, NSF a hotrt s construiasc o coloan vertebral care s lege centrele sale de
supercalculatoare din ase orae: San Diego, Boulder, Champaign, Pittsburgh, Ithaca i Princeton.
Fiecare supercalculator a primit un frate mai mic, constnd dintr-un minicalculator LSI-11 numit
fuzzlball. Fuzzball-urile au fost legate prin linii nchiriate de 56 kbps i au format subreeaua - aceeai
tehnologie hardware folosit i de ARPANET. Oricum, tehnologia software era diferit:
fuzzball-urile utilizau TCP/IP de la bun nceput; prin urmare, acesta a fost primul WAN TCP/IP.
NSF a finanat, de asemenea, un numr de (aproximativ 20, pn la urm) reele regionale care
se conectau la coloana vertebral, permind utilizatorilor din mii de universiti, laboratoare de
cercetare, biblioteci i muzee s acceseze oricare dintre supercalculatoare i s comunice ntre ei.
Reeaua complet, care includea coloana vertebral i reelele regionale, a fost numit NSFNET.
Aceasta a fost conectat la ARPANET printr-o legtur ntre un IMP i un fuzzball din laboratorul
de la Carnegie-Mellon. Prima coloan vertebral NSFNET este ilustrat n Fig. 1-26.

o Centru NSF de supercalculatoare


Reea NSF de nivel mediu
Ambele

Fig. 1-26. Coloana vertebral NSFNET n 1988.

NSFNET-ul a reprezentat un succes instantaneu i a fost suprasolicitat din clipa n care a


nceput s funcioneze. NSF a nceput imediat s planifice succesorul NSFNET-ului i a semnat un
contract cu consoriul MERIT cu sediul n Michigan. Pentru realizarea coloanei vertebrale numrul
2, au fost nchiriate de la MCI canale cu fibre optice de 448 kbps. Ca rutere s-au folosit IBM-uri
RS6000. i aceast reea a devenit curnd suprancrcat, drept care, n 1990, a doua coloan
vertebral a fost adus la viteza de 1.5 Mbps.
Creterea a continuat ns, iar NSF a realizat c guvernul nu poate finana interconectrile la
nesfrit. n plus, o serie de organizaii comerciale erau interesate s se conecteze, dar statutul NSF
le interzicea s se lege la reele finanate de NSF. n consecin, NSF a ncurajat MERIT, MCI i
IBM s formeze o corporaie nonprofit, ANS (Advanced Networks and Services - Reele i Servicii
48 INTRODUCERE CAPI

Avansate), ca un pas pe drumul spre comercializare. n 1990, ANS a preluat NSFNET i a nlocuit
legturile de 1.5 Mbps cu legturi de 45 Mbps, formnd ANSNET.
n decembrie 1991, Congresul Statelor Unite a aprobat un proiect de lege care autoriza
NREN (National Research and Educaional Network - Reeaua de Cercetare i Educaie
Naional), succesorul din domeniul cercetrii al NSFNET-ului, funcionnd ns la viteze de
ordinul gigabiilor. Obiectivul era s se realizeze naintea sfritului de mileniu o reea
naional funcionnd la 3 Gbps. Aceast reea este gndit ca un prototip al mult discutatei
super-magistrale informaionale.
Deoarece numeroase companii aveau reele IP comerciale, n 1995 coloana vertebral a
NSFNET-ului deja nu mai era necesar pentru interconectarea reelelor regionale ale NSF-
ului. Cnd America Online a cumprat ANSNET-ul n 1995, reelele regionale ale NSF-ului
au fost deconectate i au fost nevoite s cumpere servicii IP pentru a se interconecta.
: Ca s uureze tranziia i ca s fie sigur c orice reea regional putea comunica cu orice alt
reea regional, NSF a semnat contracte cu patru operatori de reele diferii n vederea stabilirii
unui NAP (Network Access Point - punct de acces la reea). Aceti operatori erau PacBell (San
Francisco), Ameritech (Chicago), MFS (Washington, D.C.), i Sprint (New York City, unde - din
raiuni legate de NAP - Pennsauken, N.J. se consider New York City). Fiecare operator de reea
care dorea s ofere servicii de infrastructur pentru reelele regionale NSF trebuia s se lege la
toate NAP-urile. De aceea, pentru a ajunge de la NAP-ul su la NAP-ul destinaiei, un pachet
trimis din orice reea regional putea opta ntre mai multe companii care ofer servicii de transmisie
pe coloana vertebral. n consecin, pentru a fi alese de reelele regionale, companiile de
comunicaii au fost forate s intre n competiie pe baza serviciilor i preurilor practicate - i,
bineneles, asta era i ideea. Pe lng NAP-urile NSF, au mai fost create i diverse NAP-uri
guvernamentale (de exemplu, FIX-E, FIX-W, MAE-East i MAE-West) i NAP-uri comerciale (de
exemplu, CIX), astfel nct conceptul unei singure coloane vertebrale implicite a fost nlocuit de o
infrastructur competitiv pe baze comerciale.
Alte ri i regiuni construiesc i ele reele comparabile cu NSFNET. n Europa, de
exemplu, EBONE este o coloan vertebral IP pentru organizaii de cercetare i EuropaNET
este o reea orientat mai mult spre domeniul comercial. Ambele reele leag numeroase
orae din Europa prin linii de 2 Mbps. n prezent se lucreaz la schimbarea acestora cu linii
de 34 Mbps. Fiecare ar din Europa are una sau mai multe reele naionale, care sunt, n linii
mari, similare cu reelele regionale NSF.

1.5.4 Internet-ul

Numrul reelelor , mainilor i utilizatorilor conectai la ARPANET a crescut rapid dup ce


TCP/IP a devenit, la 1 ian. 1983, unicul protocol oficial. Cnd au fost conectate NSFNET i
ARPANET, creterea a devenit exponenial. S-au alturat multe reele regionale i s-au realizat
legturi cu reele din Canada, Europa i Pacific.
Cndva, pe la mijlocul anilor 1980, lumea a nceput s vad colecia de reele ca fiind un
internet, iar apoi ca fiind Internet-ul; nu a existat ns nici un toast oficial cu politicieni
desfcnd sticle de ampanie.
Creterea a continuat exponenial i n 1990 Internet-ul ajunsese s cuprind 3000 de reele i
200.000 de calculatoare. n 1992 a fost ataat'gazda cu numrul 1.000.000. n 1995 existau mai
SEC L5 EXEMPLE DE REELE 49

multe coloane vertebrale, sute de reele de nivel mediu (adic regionale), zeci de mii de LAN-uri,
milioane de gazde i zeci de milioane de utilizatori. Mrirnea Internet-ului se dubleaz aproximativ
la fiecare an (Paxson, 1994).
Mare parte din cretere se datoreaz conectrii la Internet a reelelor existente. Printre acestea
s-au numrat n trecut SPN, reeaua de fizic spaial a NASA, HEPNET, o reea de fizica
energiilor nalte, BITNET, reeaua de sisteme de calcul a IBM-ului, EARN, o reea academic
european foarte utilizat acum n Europa de Est, i multe altele. Sunt n funciune numeroase
legturi transatlantice, cu viteze cuprinse ntre 64 kbps i 2 Mbps.
Substana care ine legat Internet-ul este modelul de referin TCP/IP i stiva de protocoale
TCP/IP- TCP/IP face posibile serviciile universale, putnd fi comparat cu sistemul telefonic sau cu
adoptarea limii standard pentru cile ferate n secolul 19.
Ce nseamn de fapt s fii pe Internet? Definiia noastr este c o main este pe Internet dac
folosete stiva de protocoale TCP/IP, are o adres IP i are posibilitatea de a trimite pachete IP
ctre toate celelalte maini de pe Internet. Simpla posibilitate de a trimite i primi pot electronic
nu este suficient, deoarece pota electronic este redirectat ctre multe reele din afara Internet-
ului. Oricum, subiectul este cumva umbrit de faptul c multe calculatoare personale pot s apeleze
un furnizor de servicii Internet folosind un modem, s primeasc o adres IP temporar i apoi s
trimit pachete IP spre alte gazde. Are sens s privim asemenea maini ca fiind pe Internet numai
atta timp ct ele sunt conectate la ruterul furnizorului de servicii.
Dat fiind creterea exponenial, vechiul mod informai de funcionare a Internet-ului nu mai
este acceptabil. n ianuarie 1992 a fost nfiinat Societatea Internet, cu scopul de a promova
utilizarea Internet-ului i, probabil, de a prelua n cele din urm administrarea sa.
Tradiional, Internet-ul a avut patru aplicaii principale, dup cum urmeaz:

1. Pota electronic. Facilitatea de a compune, trimite i primi pot electronic a existat din
primele zile ale ARPANET-ului i este imens de popular. Muli oameni primesc zeci de
mesaje pe zi i consider pota electronic principalul lor mijloc de a interaciona cu lumea
exterioar, depind de departe telefonul i pota obinuit. Programele de pot
electronic sunt astzi disponibile practic pe orice tip de calculator.
2. tiri. Grupurile de tiri sunt forumuri specializate n care utilizatorii cu un anumit interes
comun pot s fac schimb de mesaje. Exist mii de grupuri de tiri, pe subiecte tehnice sau
nontehnice incluznd calculatoarele, tiina, divertismentul i politica. Fiecare grup de tiri
are eticheta, stilul i obiceiurile sale proprii i nenorocirea s se abat asupra oricui le
ncalc.
3. Conectare la distan. Folosind Telnet, Rlogin sau alte programe, utilizatorii aflai oriunde
pe Internet pot s se conecteze la orice main pe care au un cont.
4. Transfer de fiiere. Copierea fiierelor de pe o main din Internet pe alta este posibil
utiliznd programul FTP. n acest fel sunt disponibile imens de multe articole, baze de date
si alte informaii.

Pn la nceputul anilor 1990 Internet-ul a fost foarte populat cu cercettori din domeniul
academic, guvernamental i industrial. O aplicaie nou, WWW (World Wide Web), a schimbat
toat situaia i a adus n reea milioane de noi utilizatori care nu fac parte din mediul academic.
Aceast aplicaie, inventat de fizicianul Tim Berners Lee de la CERN, nu a modificat nici una din
50 INTRODUCERE CARI

facilitile existente, h schfeib le-a fcut mai uor de folosit. mpreun cu programul de navigare
Mosaic, scris la Centrul Naional pentru Aplicaiile Supercalculatoarelor, WWW-ul a fcut posibil
ca un sit s pun la dispoziie un numr de pagini de informaii coninnd text, poze, sunet i chiar
video, n fiecare pagin existnd legturi ctre alte pagini Printr-un clic pe o legtur, utilizatorul
este imediat transportat la pagina indicat de legturi De exemplu, multe firme au o pagin
principal cu intrri care trimit la alte pagini pentru informaii asupra produselor, liste de preuri,
reduceri, suport tehnic, comunicare cu-angajaii, informaii despre acionari i multe altele.
ntr-un timp foarte scurt au aprut numeroase alte tipuri de pagini: hri, tabele cu cotaii la
burs, cataloage de bibliotec, programe radio nregistrate i chiar o pagin care indic spre textele
complete ale multor cri crora le-au expirat drepturile de autor (Mark Twain, Charles Dickens,
etc). De asemenea, muli oameni au pagini personale (home pages).
n primul an de la lansarea Mosaic-ului, numrul de servere WWW a crescut de la 100 la 7000.
Aceast enorm cretere va continua, fr ndoial, n urmtorii ani i va reprezenta, probabil, fora
care va conduce tehnologia i utilizarea Internet-ului spre mileniul urmtor.
Despre Internet i protocoalele sale s-au scris multe cri. Pentru mai mult informaie, a se
vedea (Black, 1995; Carl-Mitchell i Quarterman, 1993; Corner, 1995; i Santifaller, 1994).

1.5.5 Prototipuri gigabit

Coloanele vertebrale Internet opereaz la viteze de ordinul megabiilor. Pentru oamenii care
vor s foreze limitele actuale ale tehnologiei, urmtorul pas l reprezint interconectarea la viteze
de gigabii. Odat cu fiecare cretere a limii de band din reele, devin posibile aplicaii noi, iar
reelele gigabit nu sunt o excepie. n aceast seciune vom spune mai nti cteva cuvinte despre
aplicaiile gigabit, vom meniona dou dintre ele, dup care vom prezenta cteva exemple de
prototipuri gigabit construite pn acum.
Reelele gigabit asigur o lime de band mai bun dect reelele megabit, dar nu totdeauna i
o ntrziere mai bun. De exemplu, trimiterea unui pachet de 1 KB de la New York la San
Francisco la 1 Mbps necesit 1 msec pentru a recepiona biii i 20 msec pentru ntrzierea
transcontinental, ceea ce nseamn un total de 21 msec. O reea de 1 Gbps poate reduce timpul
total la 20,001 msec. Dei biii pot fi primii mai rapid, ntrzierea transcontinental rmne aceeai,
pentru c viteza luminii prin fibre optice (sau fire de cupru) este de aproximativ 200.000 km/sec,
independent de rata de transmisie a datelor. De aceea, trecerea la viteze mai ridicate poate s nu fie
de mare ajutor pentru aplicaii larg rspndite geografic n care ntrzierea redus este critic. Din
fericire, exist aplicaii pentru care conteaz exact limea de band i pentru aceste aplicaii
reelele gigabit vor nsemna o mare diferen.
Una din aplicaii este telemedicina. Mult lume se gndete c un mijloc de a reduce
costurile medicale este reintroducerea doctorilor de familie i clinicilor familiale pe scar
larg, astfel nct oricine s aib acces convenabil la ngrijire medical. Cnd apare o
problem medical serioas, doctorul de familie poate cere teste de laborator i explorri prin
imagistic medical, de exemplu raze X, scanare CAT sau scanare MRI. Rezultatele testelor
i imaginile obinute pot fi apoi trimise electronic la un specialist care stabilete diagnosticul.
Doctorii nu doresc, n general, s pun diagnostic pe baza imaginilor pe calculator dect dac
imaginile transmise au o calitate la fel de bun ca imaginile originale. Din aceast cauz, imaginile
vor avea, probabil, nevoie de 4K x 4K pixeli, cn&Mi per pixel (imagini alb negru) sau 24 bii per
SEC. 1.5 EXEMPLE DE REELE 51

piei (imagini color). Deoarece multe teste presupun pn la 100 de imagini (de exemplu, diferite
seciuni transversale ale organului examinat), o singur serie de imagini pentru un pacient poate s
genereze 40 gigabii. Imaginile n micare (de exemplu, o inim care bate) genereaz o cantitate de
date nc i mai mare. Compresia poate ajuta, ns doctorii sunt precaui, pentru c algoritmii cei
mai eficieni reduc din calitatea imaginilor. n plus, toate imaginile trebuie stocate ani de zile, dar, n
cazul unei urgene, poate fi necesar examinarea lor imediat. Spitalele nu doresc s devin centre
de calculatoare i, de aceea, este esenial stocarea datelor n afara spitalului, combinat cu
transmisia electronic de band larg.
O alt aplicaie gigabit este ntlnirea virtual. n fiecare sal pentru ntlniri exist o video
camer sferic i unul sau mai muli oameni. Fluxurile de bii de la fiecare camer sunt combinate
electronic pentru a da iluzia c toat lumea se afl n aceeai ncpere. Fiecare persoan vede aceast
imagine folosind ecrane pentru realitatea virtual. n acest mod, ntlnirile pot avea loc evitnd
cltoriile, dar, nc o dat, volumul de date necesar este uria.
ncepnd din 1989, iar mai trziu ca parte a proiectului NREN, ARPA i NSF au convenit
s finaneze mpreun un numr de prototipuri gigabit universitare i industriale. n unele
cazuri, viteza de transmisie a datelor ntr-un sens era de 622 Mbps, aa c, numai socotind
traficul n ambele sensuri, se obine un gigabit. Acest tip de gigabit este uneori numit un
gigabit guvernamental." (Unii cinici l numesc: un gigabit dup impozitare.) Vom meniona
pe scurt primele cinci proiecte. Ele i-au realizat scopul i s-au ncheiat, dar merit aprecierile
noastre ca pionierat n domeniu - n acelai sens n care merit aprecieri i ARPANET-ul.

1. Aurora a fost un prototip care lega patru site-uri din Nord-est: M.I.T., University of
Pennsylvania, TJ. Watson Lab al IBM-ului i Bellcore (Morristown, N.J.). Viteza era de
622 Mbps i se utilizau fibre optice de la MCI, Bell Atlantic i NYNEX. Aurora a fost
proiectat n mare msur pentru a ajuta, folosind reele paralele, la depanarea
comutatorului Sunshine - produs de Bellcore i plaNET - comutatorul (proprietar) al IBM-
ului. Subiectele de cercetare au inclus tehnologia de comutare, protocoalele gigabit,
dirijarea, controlul reelei, memoria virtual distribuit, i colaborarea cu ajutorul
videoconferinelor. Pentru mai multe informaii, a se vedea (Clark .a., 1993).

2. Blanca a fost la nceput un proiect de cercetare numit XUNET, n care au fost implicai
AT&T Bell Labs, Berkeley i Universitatea din Wisconsin. n 1990, proiectul a fost extins la
cteva noi situri (LBL, Cray Research i Universitatea din Illinois) i a obinut finanare de
la NSF/ARPA. O parte a reelei funciona la 622 Mbps, dar alte pri funcionau la viteze
mai mici. Blanca a fost singurul prototip naional; restul au fost regionale. Prin urmare, a
existat o preocupare deosebit n ceea ce privete efectele datorate ntrzierii legate de
viteza luminii. n acest sens, prezentau interes protocoalele, mai ales protocoalele de
control al reelei, interfeele gazdelor i aplicaiile gigabit de tipul imagisticii medicale,
modelrii meteorologice i astronomiei radio. Pentru mai multe informaii a se vedea
(Catlett, 1992; i Fraser, 1993).

3. Casa a fost proiectat pentru a fi studiate aplicaiile supercalculatoarelor, n special acelea


n care o parte a problemei se implementa cel mai bine pe un anumit tip de supercalculator
(de exemplu, un supercalculator vectorial Cray) i cealalt parte se potrivea cu un alt tip de
52 INTRODUCERE GAP. 1

supercalculator (de exemplu, un supercalculator paralel). Printre aplicaiile studiate s-au


numrat aplicaii geologice (analiza imaginilor primite de la Landsat), modelarea climei,
nelegerea reaciilor chimice. CASA a operat n California i New Mexico i a legat Los
Alamos, Cal Tech, JPL i Centrul de Supercalculatoare din San Diego.

4. Nectar se deosebea de cele trei prototipuri prezentate mai sus prin faptul c era un MAN
gigabit experimental. Nectar opera ntre CMU i Centrul de Supercalculatoare din
Pittsburgh. Proiectanii erau interesai de aplicaii privind descrierea proceselor chimice i,
totodat, de scule de depanare pentru acestea.

5. "VISTAnet a fost un prototip gigabit redus, care opera n Research Triangle Park, North
Carolina i conecta Universitatea din North Carolina, Universitatea de Stat din North
Carolina i MCNC. Scopul era realizarea unui prototip pentru o reea gigabit public, cu
comutare; comutatoarele aveau sute de linii gigabit i, din acest motiv, trebuia s fie
capabile de procesri de ordinul terabiilor/sec. Cercetarea tiinific s-a focalizat pe
utilizarea imaginilor 3D n planificarea terapiei prin iradiere pentru pacienii de cancer;
oncologul avea posibilitatea s varieze parametrii fasciculului de radiaii i s vad
instantaneu doza de radiaii care ajungea la tumoare i nconjura esutul (Ransom, 1992).

1.6 EXEMPLE DE SERVICE PENTRU COMUNICATE DE DATE

Companiile telefonice i alte firme au nceput s ofere servicii de reea pe baz de abonament
oricrei organizaii interesate. Subreeaua, aflat n proprietatea operatorului reelei, ofer servicii
de comunicaii pentru gazdele i terminalele clienilor. Un astfel de sistem se numete o reea
public. Este analogul sistemului telefonic public i, deseori, face parte din el. Am vzut deja pe
A

scurt un serviciu nou, DQDB, n Fig. 1-4. In seciunile urmtoare vom studia alte patru exemple de
servicii: SMDS, X.25, retransmiterea cadrelor i ISDN de band larg.

1.6.1 SMDS - Serviciu de Date Comutat Multimegabit

Primul serviciu pe care l lum n discuie, SMDS (Switched Multimegabit Data Service -
serviciu de date comutat multimegabit), a fost proiectat pentru a interconecta mai multe LAN-uri,
de obicei LAN-uri din filialele i fabricile unei singure companii. Acest serviciu a fost proiectat de
Bellcore n anii '80 i a fost pus efectiv n funciune la nceputul anilor '90 de ctre companii de
comunicaii - majoritatea regionale, dar i cteva care operau pe distane mari. Obiectivul era
producerea unui serviciu de date de mare vitez i scoaterea sa pe pia cu ct mai puin trboi.
SMDS este primul serviciu comutat de band larg (adic de vitez mare) oferit publicului.
Pentru a vedea o situaie n care SMDS ar fi util, s considerm o firm cu patru birouri n patru
orae diferite, fiecare cu propriul su LAN. Firma ar dori s lege toate LAN-urile, astfel nct
pachetele s poat circula de la un IAN la altul. Una din soluii ar fi s nchirieze ase linii de mare
vitez i s conecteze LAN-urile complet, aa cum arat n Fig. l-27(a). O astfel de soluie este
foarte posibil, dar este costisitoare.
O soluie alternativ este s se foloseasc SMDS, dup cum este artat n Fig. l-27(b). Reeaua
o-coloan yertebralJAN de mare vitez, permind pachetelor din orice
SEC. 1.6 EXEMPLE DE SERVICII PENTRU COMUNICAII DE DATE S3

k s circule spre orice alt LAN. ntre LAN-urile din birourile clienilor i reeaua SMDS din
birourile companiei telefonice exist o (scurt) linie de acces nchiriat de la compania telefonic.
De obicei, aceast linie este un MAN i folosete DQDB, dar pot fi disponibile i alte opiuni.

LAN1 LAN 3

LAN 2 LAN 4
(a)

Fig. 1-27. (a) Patru LAN-uri interconectate cu linii nchiriate,


(b) Interconectare folosind SMDS.

n timp ce majoritatea serviciilor companiilor de telefoane sunt proiectate pentru trafic


continuu, SMDS este proiectat pentru trafic n rafale. Cu alte cuvinte, din timp n timp, un pachet
trebuie s fie transportat rapid de la un LAN la altul, dar, n cea mai mare parte a timpului, nu
exist nici un fel de trafic ntre LAN-uri. Soluia cu liniile nchiriate, din Fig. 1-27, prezint
dezavantajul unor costuri lunare ridicate; odat instalate liniile, clientul trebuie s plteasc pentru
ele, indiferent dac le folosete continuu sau nu. n cazul traficului intermitent, liniile nchiriate
reprezint o soluie costisitoare, iar preul SDMS-ului este competitiv. Pentru n LAN-uri, o reea cu
linii nchiriate conectat complet presupune nchirierea a n(n-l)/2 linii, care pot fi lungi (deci,
costisitoare), n timp ce SMDS necesit numai nchirierea a n linii de acces scurte pn la cel mai
apropiat ruter SMDS.
Deoarece scopul su este s realizeze trafic de la un LAN la altul, SMDS-ul trebuie s fie
suficient de rapid pentru aceast sarcin. Viteza standard este 45 Mbps, dar uneori sunt disponibile
i opiuni de vitez mai mic. MAN-urile pot opera tot la 45 Mbps, ns ele nu sunt comutate.
Adic, pentru a conecta patru LAN-uri folosind un MAN, compania de telefoane ar trebui s
instaleze un cablu de la LAN 1 pn la LAN 2 pn la LAN 3 pn la LAN 4, ceea ce este posibil
numai dac ele se afl n acelai ora. Folosind SDMS, fiecare LAN se leag la un comutator al
companiei telefonice. Comutatorul dirijeaz pachetele prin reeaua SMDS n funcie de destinaia
lor, traseul trecnd eventual prin mai multe comutatoare.

Octei D9188
Adresa Adresa
Datele utilizatorului
destinaiei sursei

Fig. 1-28. Formatul unui pachet la SMDS.


i INTRODUCERE CAP.l

Serviciul de baz al SMDS este un simplu serviciu de furnizare.de. pachete fr conexiuni.


Formatul pachetului este prezentat n Fig. 1-28. Pachetul are trei cmpuri: destinaia (unde trebuie s
ajung pachetul), sursa (cine 1-a expediat) i o ncrctur util de lungime variabil, pn la 9188
octei, pentru datele utilizatorului. Maina de pe LAN-ul emitor conectat la linia de acces pune
pachetul pe linia respectiv, iar SMDS-ul ncearc s fl transporte la destinaia corect, cu un efort
optim. Nu exist, ns, nici o garanie n acest sens.
Adresele sursei i destinaiei constau dintr-un cod pe 4 bii, urmat de un numr de telefon de
pn la 15 cifre zecimale. Fiecare cifr este codificat pe 4 bii, ntr-un cmp separat. Numerele
de telefon conin codul rii, codul regiunii, i numrul abonatului, astfel c serviciul poate fi
oferit n final la scar internaional. Prin folosirea numerelor de telefon zecimale ca adrese de
reele, s-a crezut c noul serviciu va prea familiar utilizatorilor nervoi.
Pentru a preveni fraudele, atunci cnd un pachet sosete la reeaua SMDS, primul ruter verific
dac adresa sursei corespunde cu linia de primire. Dac adresa este incorect, pachetul este pur i
simplu abandonat. Dac este corect, pachetul este trimis la destinaie.
O caracteristic util a SMDS-ului este difuzarea. Clientul poate specifica o list de numere de
telefon pentru SMDS i i se poate atribui un numr special pentru ntreaga list. Orice pachet trimis
la acel numr este furnizat tuturor membrilor de pe lista respectiv. Asociaia Naional a
Dealerilor de Aciuni folosete aceast caracteristic a serviciului SMDS oferit de MCI pentru a
difuza noile preuri ale aciunilor ctre toi cei 5000 de membri ai si.
O facilitate suplimentar pentru beneficiari este ecranarea adreselor, att pentru pachetele
primite, ct i pentru cele expediate. n cazul ecranrii la emisie, clientul poate s furnizeze o list cu
numere de telefon i s specifice c nici un pachet nu poate fi trimis la vreo alt adres. Utiliznd
ecranarea la recepie, vor fi acceptate numai pachete de la anumite numere de telefon prestabilite.
Cnd se folosesc ambele ecranri, utilizatorul poate s-i construiasc efectiv o reea privat fr
conexiuni SMDS spre lumea exterioar. Pentru firmele care lucreaz cu date confideniale aceast
posibilitate este extrem de preioas. Datele efective din pachet pot conine orice secven de octei
dorit de utilizator, pn la maximum 9188 octei. Datele pot conine un pachet Ethernet, un
pachet IBM token ring, un pachet IP sau orice altceva. Indiferent de coninut, datele sunt
transportate de la LAN-ul surs la LAN-ul destinaie ,fr modificri.
SMDS trateaz traficul n rafale dup cum urmeaz. Ruterul conectat la fiecare linie de acces
conine un numrtor care este incrementat ntr-un ritm constant, s spunem, o dat la 10 jusec.
Dac, de exemplu, linia a fost inactiv 10 msec, numrtorul va indica 1000 i utilizatorului i se va
permite s trimit o rafal de 1 kilobyte la viteza maxim de 45 Mbps; transmisia va dura, deci,
aproximativ 180 yitsec. n cazul unei linii nchiriate de 100.000 bytes/sec, transmiterea aceluiai
kilobyte ar dura 10 msec. Din acest motiv, atta timp ct rata medie de transmisie rmne sub
valoarea convenit, SMDS ofer ntrzieri scurte n cazul rafalelor de date independente transmise
la intervale mari. Acest mecanism asigur un rspuns rapid atunci cnd este necesar, dar mpiedic
utilizatorii s foloseasc mai mult lime de band dect cea pentru care au pltit.

1.6.2 Reele X25

Multe reele publice mai vechi, mai ales n afara Statelor Unite, respect un standard numit
X.25. Acesta a fost dezvoltat n anii 1970 de ctre CQTT pentru a asigura o interfa ntre reelele
publice cu comutare de pachete i clienii acestor reele.
SEC 16 EXEMPLE DE SERVICII PENTRU COfefUNCA'pi DE DATE 55

g nivelului fizic, numit X21, specific interfaa fizic, electric i procedural ntre
gazd si reea. Foarte puine reele publice asigur suport peiitru acest standard, deoarece el
necesit semnale digitale, nu analogice, pe liniile telefonice. Ca o msur interimar a fost definit o
interfa analogic similar familiarului standard RS-232.
Standardul nivelului legtur de date are cteva variante (uor incompatibile). Toate variantele
sunt proiectate pentru a trata erorile de transmisie de pe liniile telefonice dintre echipamentul
(gazda sau terminalul) utilizatorului i reeaua public (rutenii).
Protocolul nivelului reea se ocup de adresare, de controlul fluxului, de confirmarea primirii, de
ntreruperi i de alte probleme asemntoare. n principal, el permite utilizatorului sjabileasc
circuite virtuale i s transmit apoi pe ele pachete de pn la 128 octei. Aceste pachete sunt livrate
Inlguran i n ordine. Majoritatea reelelor X.25 lucreaz Ia viteze de pn la 64 Kbps, ceea ce le
face nepotrivite pentru multe sarcini. Cu toate acestea, ele sunt nc rspndite i, de aceea, cititorul
trebuie s tie de existena lor.
X.25 este orientat pe ccmexjuni^ Un
circuit vkSarOTmMtat este creat atunci cnd un calculator trimite reelei un pachet n care i cere s
apeleze un calculator aflat la distan. Odat stabilit conexiunea, pachetele pot fi transmise prin
conexiunea respectiv, urmnd s soseasc totdeauna n ordinea corect. Pentru a se asigura c un
emitor rapid nu poate s nece un receptor lent sau ocupat, X.25 asigur controlul fluxului.
Un circuit virtual permanent este folosit la fel ca unul comutat, cu deosebarea c este instalat n
avans, prin nelegere ntre client i compania telefonic. El este prezent ntotdeauna, nefiind nevoie
s fie configurat pentru a-1 folosi. Circuitul virtual permanent este analog cu o linie nchiriat.
Deoarece lumea este plin, nc, de terminale care nu cunosc X.25, a fost definit un alt set de
standarde, care descriu cum comunic un terminal obinuit (neinteligent) cu o reea public X.25.
Practic, utilizatorul sau operatorul reelei instaleaz o cutie neagr" la care se pot conecta aceste
terminale. Cutia neagr se numete PAD (Packet Assembter Disassembier - asamblor/dezasamblor
de pachete) i funcia ei este descris ntr-un document cunoscut ca XJ. ntre terminal i PAD a
fost definit un protocol standard, numit X.2R; ntre PAD i reea exist un alt protocol standard,
numit X.29. Toate aceste trei recomandri, mpreun, sunt deseori numite triplu X.

1.63 Retransmiterea cadrelor

Retransmiterea cadrelor este un serviciu pentru persoanele care doresc o modalitate orientat
pe conexiune absolut minimal pentru a transfera bitde la. A la B cu viteze rezorble i aTcosturi
reduse (Smith, 1993). Existena sa se datoreaz schimbrilor care au avut loc n tehnologie n
ultimele dou decenii. Acum douzeci de ani, comunicarea prin linii telefonice era lent, analogic
i nesigur, iar calculatoarele erau lente i scumpe. Ca urmare, pentru mascarea erorilor, era nevoie
de protocoale complexe, iar calculatoarele utilizatorilor erau prea costisitoare pentru a fi puse s
fac acest lucru.
Situaia s-a schimbat radical. Liniile telefonice nchiriate sunt rapide, digitale i sigure, iar
calculatoarele sunt rapide i ieftine. Faptul sugereaz utilizarea unor protocoale simple, cea mai
mare parte din munc fiind fcut mai curnd de calculatoarele utilizatorilor dect de reea. Acesta
este contextul n care funcioneaz retransmiterea cadrelor.
cadrelor^oate^,cel_mai bine gndit ca o-linie mchkiat virtual. CJentul
^ ntre dou puncte, dup care poate trimite ntre acestea
56 INTRODUCERE CAP. 1

cadre (adic pachete) de pn la 1600 octei. Este, de asemenea, posibil nchirierea de circuite
virtuale permanente ntre un sit dat i multe alte situri, astfel c fiecare cadru poart un numr de
10 bii care spune ce circuit virtual s foloseasc.
Diferena ntre o linie nchiriat efectiv i o linie nchiriat virtual este c, folosind o linie
efectiv, utilizatorul poate transmite toat ziua trafic la viteza maxim. n cazul unei linii virtuale,
rafalele de date pot fi trimise cu vitez maxim, dar utilizarea medie pe termen lung trebuie s se
menin sub un anumit nivel prestabilit. n schimb, firma de transmisie cere mult mai puini bani
pentru o linie virtual dect pentru una fizic.
Suplimentar faa de competiia cu liniile nchiriate, retransmiterea cadrelor reprezint un
concurent i pentru circuitele virtuale permanente X.25. Retransmiterea cadrelor opereaz ns la
viteze mai ridicate, de obicei 1.5 Mbps, i prevede mai puine faciliti.
Retransmiterea cadrelor asigur un serviciu minimal, n primul rnd o modalitate de a
determina nceputul i sfritul fiecrui cadru, i detectarea erorilor de transmisie. Dac se
primete un cadru deteriorat, atunci retransmiterea cadrelor l elimin pur i simplu. Este
responsabilitatea utilizatorului s descopere c lipsete un cadru i s ntreprind aciunile
necesare pentru a-1 recupera. Spre deosebire de X.25, retransmiterea cadrelor nu prevede
confirmri sau controlul fluxului normal. Totui, conine n antet un bit pe care un capt al
conexiunii poate s l seteze pentru a indica celuilalt capt existena unei probleme. Folosirea
acestui bit este la latitudinea utilizatorilor.

1.6.4 ISDN de band larg i ATM

Chiar dac serviciile prezentate anterior devin populare, companiile telefonice sunt
confruntate n continuare cu o problem mult mai important: reelele multiple. POTS (Plain
Old System Service) i Telexul folosesc vechile reele cu comutare de circuite. Fiecare serviciu
de date nou, aa cum sunt SMDS sau retransmiterea cadrelor, folosete propria sa reea cu
comutare de pachete. DQDB difer de acestea , iar reeaua de administrare a apelurilor
telefonice interne (SSN 7) este o alt reea. Administrarea tuturor acestor reele separate este
o btaie de cap major; n plus, exist o alt reea, televiziunea prin cablu, pe care companiile
telefonice nu o controleaz, dar ar dori s o fac.
Soluia preconizat este inventarea unei singure noi reele a viitorului, care va nlocui ntregul
sistem telefonic i toate reelele specializate printr-o singur reea integrat pentru toate tipurile de
transfer de informaii. Noua reea va avea o vitez de transmisie uria n comparaie cu toate
reelele i serviciile existente i va face posibil oferirea unei mari varieti de servicii noi. Acesta nu
reprezint un proiect mic i, desigur, nu va fi realizat peste noapte, dar lucrul a nceput deja.
Noul serviciu larg rspndit geografic se numete B-ISDN (Broadband Integrated Services
Digital Network - reea digital cu servicii integrate de band larg). El va oferi video la cerere,
televiziune n direct din numeroase surse, pot electronic multimedia, muzic la calitatea CD-
urilor, interconectare de LAN-uri, transport de date de mare vitez pentru tiin i industrie i
multe alte servicii care nici mcar nu au fost gndite nc - toate acestea prin linii telefonice.
Tehnologia care face posibil B-ISDN-ul se numete ATM (Asynchronous Transfer Mode - mod
de transfer asincron), deoarece funcionarea nu este sincron (legat de un ceas mater), aa cum
este n cazul majoritii liniilor telefonice pe distane lungi. Trebuie remarcat c acronimul ATM de
SEC 1.6 EXEMPLE DE SERVICII PENTRU COMUNICAII DE DATE 57

aici nu are nimic n comun cu acele Automated TeDer Machines3 pe care le pun la dispoziie
numeroase bnci (dei o main ATM poate utiliza o reea ATM pentru a conversa cu banca sa).
Dei mai este un drum lung n fa, s-a lucrat deja destul de mult la ATM i la sistemul B-
ISDN care l folosete. Pentru mai mult informaie asupra acestui subiect, a se vedea
(Fischer .a., 1994; Gasman, 1994; Goralski, 1995; Kim .a., 1994; Kyas, 1995; McDysan i
Spohn, 1995; i Stallings, 1995).

Octei 5 48
Antet Datele utilizatorului

Fig. 1-29. O celul ATM.

Ideea fundamental din spatele ATM-ului este s se transmit toate informaiile n


pachete mici, de lungime fix, numite celule. Dup cum se vede din Fig. 1-29, celulele au o
lungime de 53 octei, din care 5 octei reprezint antetul i 48 octei reprezint datele efective.
ATM este nj}eiaj>ijini|) 6 * ! ? , 0 ^ ^ ( a s c u n s ? de utilizatori) i un potenial serviciu (vizibil
pentru utilizatori). Uneori, serviciul este numit retransmiterea celulelor, prin analogie cu
retransmiterea cadrelor. C-^l vleVyj
Utilizarea unei tehnologii cu comutare de celule reprezint o uria ruptur cu tradiia - veche
de 100 de ani - a comutrii de circuite (stabilirea unui drum prin cupru) din sistemul telefonic.
Exist diverse motive pentru care a fost aleas comutarea de celule; iat cteva dintre acestea. n
primul rnd, comutarea de celule este__ foarte flexibil si poate trata uor att trafic cu vitez
constant (audio, video) ct i trafic cu vitez variabil (date). |n_ajjfoileajrnd, la vitezele foarte
mari care sunt preconizate (pn la ordinul gigabiilor/sec), conii^rea_jdigjtal de^celule este mai
simri^dect utilizarea tehnicilor de jmjuitiplexaxs, tradiionale, n special dac se folosesc fibre
optice. ji^Treileaxnd, pentru distribuia de televiziune, difuzarea este esenial; comutarea de
celulepQate_ asigure difuzarea, n timp ce comutarea de circuite nu poate.
l^^^SL^M.SliSSLQJ^^,^9QU^^- Realizarea unui apel presupune mai nti trimiterea
unui mesaj pentru stabilirea conexiunii. Dup aceasta, toate celulele urmtoare circul spre
destinaie pe acelai traseu. Furnizarea celulelor nu este garantat, ns ordinea lor este. Dac
celulele 1 i 2 sunt trimise n aceast ordine, atunci - n cazul n care ajung amndou - ele vor
ajunge n ordinea aceasta, niciodat mai nti 2 i apoi 1.
Reelele ATM sunt organizate ca WAN-urile tradiionale, cu linii ijjomutatoare (rutere).
Vitezele preconizate pentru reelele ATM sunt 155 Mbps i 622 Mbps, cu posibilitatea
ulterioar de viteze gigabit. S-a optat pentru viteza de 155 Mbps, deoarece cam aceasta este
viteza necesar pentru transmiterea televiziunii de nalt definiie. S-a ales exact viteza de
155.52 Mbps pentru compatibilitate cu sistemul de transmisie SONET de la AT&T. Viteza de
622 Mbps a fost aleas ca s poat fi transmise astfel patru canale de 155 Mbps. Acum ar
trebui s fie clar de ce unele prototipuri gigabit operau la 622 Mps: ele utilizau ATM.

3
Automate pentru crile de credit electronice (n.t.)
58 INTRODUCERE

Atunci cnd a fost propus ATM-ul, toat discuia (adic publicitatea) se nvrtea, practic, n
jurul posibilitii de a oferi video la cerere n fiecare cas i de a nlocui sistemul telefonic, aa cum s-
a descris anterior. ntre timp, au devenit importante i alte aspecte. Multe organizaii nu prea mai
au lime de band suficient n LAN-urile din campusurile sau cldirile lor, fiind astfel forate s se
orienteze spre un anumit tip de sistem cu comutare care s ofere mai mult lime de band dect
are un singur LAN. De asemenea, n sistemele client-server, este necesar ca unele aplicaii s poat
conversa cu anumite servere la viteze ridicate. Pentru amndou problemele ATM-ul este, cu
siguran, un candidat foarte important. Cu toate acestea, ntre obiectivul de a nlocui ntregul
sistem telefonic analogic de vitez sczut printr-un sistem digital de mare vitez i scopul de a
ncerca legarea tuturor Ethernet-urilor din campus este o diferen oarecum dezamgitoare.
Interconectarea LAN-urilor folosind ATM este discutat n (Kavak, 1995; Newman, 1994; i
Gtruong .a., 1995).
Merit de asemenea subliniat c organizaii diferite implicate n ATM au interese (financiare)
diferite. Companiile de telefonie la mare distan i PTT-urile sunt cele mai interesate n folosirea
ATM-ului pentru a nlocui sistemul telefonic i a concura cu firmele de televiziune prin cablu pe
piaa distribuiei electronice de imagini video. Vnztorii de calculatoare vd LAN-urile ATM din
campusuri ca marea surs de ctiguri (pentru ei). Toate aceste interese concurente nu fac ca
procesul de standardizare aflat n curs s fie nici mai simplu, nici mai rapid i nici mai coerent.
Totodat, politicile i puterea care se manifest n cadrul organizaiei pentru standardizarea ATM-
ului (Forumul ATM) au o influen considerabil asupra a ceea ce va fi n final ATM-ul.

Modelul de referin B-ISDN ATM


S ne ntoarcem acum napoi la tehnologia ATM-ului, aa cum va fi el utilizat n special n
(viitorul) sistem telefonic. ISDN-ul de band larg folosind ATM are propriul su model de
referin, diferit de modelul OSI i diferit de asemenea de modelul TCP/IP. Acest model este
ilustrat n Fig. 1-30. El const din trei niveluri - nivelul fizic, nivelul ATM i nivelul de adaptare
ATM - plus orice mai vrea utilizatorul s pun deasupra lor.
Nivelul fizic se ocup de mediul fizic: voltaj, planificare la nivel de bii i diverse alte
aspecte. ATM nu prescrie un set particular de reguli, dar spune n schimb c celulele ATM
pot fi trimise direct prin cablu sau fibre optice sau pot fi, ia fel de bine, mpachetate n
interiorul datelor din alte sisteme de transmisie. Cu alte cuvinte, ATM-ul a fost proiectat
pentru a fi independent de mediul de transmisie. ,
Nivelul ATM se ocup de celule i de transportul celulelor. Nivelul definete structura unei
celule i spune ce reprezint cmpurile celulelor. Tot el se ocup i de stabilirea i eliberarea
circuitelor virtuale. Controlul congestiei se realizeaz tot aici.
Deoarece cele mai multe aplicaii nu vor s lucreze direct cu celule (dei unele vor), deasupra
nivelului ATM a fost definit un nivel care permite utilizatorilor s trimit pachete mai mari dect o
celul. Interfaa ATM segmenteaz aceste pachete, transmite celulele individual i le reasambleaz
la cellalt capt. Acest nivel este AAL (ATM Adaption Layer - nivelul de adaptare ATM).
Spre deosebire de cele dou modele de referin anterioare, care erau bidimensionale,
modelul ATM este definit ca fiind tridimensional, dup cum se arat n Fig. 1-30. Planul
utilizator se ocup, printre altele, cu transportul datelor, controlul fluxului, corectarea
erorilor. Prin contrast, sarcina planului de control este s trateze conexiunile. Funciile de
EXEMPLE DE SERVICE PENTRU COMUNICAII DE DATE 59
SEC. 1.6

administrare ale nivelurilor i planurilor se refer la gestionarea resurselor i coordonarea


ntre niveluri.

Administrarea planurilor

Administrarea nivelurilor

Planul de control Planul utilizator


CS: Convergence sublayer
Nivelurile superioare Nivelurile superioare (subnivelul de convergen)
SAR: Segmentation and reassernbly sublayer
CS....~ Nivelul de adaptare ATM
(subnivelul de segmentare i reasamblare)
SAR
TC: Transmission convergence sublayer
Nivelul ATM
(subnivelul de convergen a transmisiei)
PMD: Physical medium dependent sublayer
(subnivelul dependent de mediul fizic)

Fig. 1-30. Modelul de referin B-ISDN ATM.


Fiecare din nivelurile fizic i AAL sunt mprite n dou subniveluri: un subnivel care face
munca efectiv, la baz, i un subnivel de convergen, deasupra, care pune la dispoziia nivelului
situat peste el interfaa adecvat. Funciile nivelurilor i subnivelurilor sunt prezentate n Fig. 1-31.

Nivel Nivel Subnivel


OSI ATM ATM Rolul

CS Asigurarea interfeei standard (convergenei)


3/4 AAL
SAR Segmentarea i reasamblarea

Controlul fluxului!
Generarea/extragerea antetelor din celule
2/3 ATM Administrarea circuitelor/drumurilor virtuale
Muitiplexarea/demultiplexarea celulelor

Decuplarea ratei celulelor


Generarea i verificarea sumelor de control din antete
2 TC Generarea celulelor
mpachetarea/despachetarea celulelor din anvelop
Generarea cadrelor

Temporizarea biilor
1 PMD
Accesul fizic la reea

Fig. 1-31. Nivelurile i subnivelurile ATM, i funciile acestora.


60 INTRODUCERE CARI

Medium Dependent - dependent de rediul fizic) asigur interfaa cu


cablul propriu-zis. Acest subnivel transfer biii i se ocup de planificarea transmisiei la nivel de
bii. n cazul unor companii telefonice i a unor cabluri diferite, subnivelul va fi i el diferit.
Cellalt subnivel al nivelului fizic este subnivelul TC (Transmission Convergence - convergena
transmisiei). Cnd sunt transmise celulele, nivelul TC le expediaz sub forma unui ir de bii spre
nivelul PMD. Acest lucru este uor de fcut. La cellalt capt, subnivelul TC primete de la
subnivelul PMD un flux de bii. Sarcina sa este s converteasc acest flux de bii ntr-un flux de
celule pentru nivelul ATM. Subnivelul TC se ocup de tot ce este necesar pentru a putea spune
unde ncep i unde se termin celulele din fluxul de bii. n modelul ATM aceast funcionalitate
este nglobat n nivelul fizic. n modelul OSI i n majoritatea celorlalte reele, ncadrarea, adic
transformarea unui flux oarecare de bii ntr-o secven de cadre sau de celule, este sarcina nivelului
legtur de date. De aceea, n aceast carte vom discuta funcia respectiv mpreun cu nivelul
legtur de date, nu cu nivelul fizic.
Aa cum am menionat mai devreme, nivelul ATM gestioneaz celulele, inclusiv generarea i
transportul lor. Mare parte din aspectele interesante ale ATM-ului apar aici. Nivelul ATM este un
amestec ntre nivelurile legtur de date i reea de la OSI, dar nu este mprit n subniveluri.
Nivelul AAL este mprit ntr-un subnivel SAR (Segmentation And Reassembly - segmentare i
reasamblare) i un subnivel CS (Convergence Sublayer - subnivel de convergen). Subnivelul
inferior descompune pachetele n celule - la captul la care are loc transmisia - i le recompune la
destinaie. Subnivelul superior face posibile sistemele ATM care ofer diverse tipuri de servicii
pentru diverse aplicaii (de exemplu, transferul de fiiere i sistemul video la cerere au cerine
diferite privitoare la gestionarea erorilor, planificare etc).

Perspectivele ATM-ului
ntr-o msur considerabil ATM este un proiect inventat de industria de telefonie din cauz c,
dup instalarea pe scar larg a Ethemet-ului, industria de calculatoare nu s-a mai putut ralia n
jurul unei tehnologii de reea xu vitez mai ridicat care s devin standard. Companiile telefonice
au umplut acest gol cu ATM; cu toate acestea, n octombrie 1991 multe firme de tehnic de calcul
s-au alturat companiilor telefonice pentru a crea Forumul ATM, un grup industrial care va ghida
viitorul ATM-ului.
Dei ATM promite posibilitatea de a putea furniza informaii, oriunde, la viteze care vor
depi curnd 1 Gbps, ndeplinirea acestei promisiuni nu va fi uoar. ATM se bazeaz pe
comutarea de pachete la mare vitez, o tehnologie cu care companiile telefonice nu au mult
experien. Ceea ce posed, ntr-adevr, companiile telefonice sunt investiii masive ntr-o
tehnologie diferit (comutare de circuite), care a rmas neschimbat n concept din vremea
lui Alexander Graham Bell. Inutil s mai spunem, tranziia nu se va produce rapid, cu att mai
mult cu ct presupune mai curnd o schimbare prin revoluie dect una prin evoluie - iar
revoluiile nu se produc niciodat fr convulsii.
Trebuie luate, de asemenea, n considerare aspectele economice ale instalrii ATM-ului
pe scar mondial. O parte substanial din actualul sistem telefonic va trebui s fie nlocuit.
Cine va plti pentru acest lucru ? Ct de mult vor dori consumatorii s plteasc pentru a
vedea un film transmis electronic prin video la cerere, din moment ce pot cu civa dolari s l
cumpere de la magazinul local de casete video? n sfrit, ntrebarea referitoare la
STANDARDIZAREA REELELOR 61
SEC. 1.7

echipamentele pe eare M vor implementa serviciile evoluate este crucial. Dac serviciile vor
fi asigurate de reea, atunci vor profita de pe urma lor companiile telefonice. Dac serviciile
vor fi asigurate de calculatoare ataate la reea, atunci profitul va reveni productorilor i
operatorilor acestor echipamente. Utilizatorii pot s nu fie interesai de acest aspect, dar
companiile telefonice i vnztorii de tehnic de calcul sunt ct se poate de interesai, iar acest
lucru va afecta, cu siguran, i interesul lor n realizarea ATM-ului.

1.6.5 Comparaii ntre servicii

Cititorul se poate ntreba de ce exist att de multe servicii care sunt incompatibile sau se
suprapun: DQDB, SMDS, X.25, retransmiterea cadrelor, ATM i altele. Motivul trebuie cutat n
decizia din 1984 de a diviza AT&T-ul i de a mri competiia din industria de telecomunicaii.
Diferite firme cu diferite interese i tehnologii sunt acum libere s ofere orice servicii pentru care
ele cred c exist cerere - i multe din ele fac acest lucru din plin.

Caracteristic DQDB SMDS X.25 Retransmiterea cadrelor ATM/AAL


Orientat pe conexiune Da Nu Da Da Da
Viteza normal (Mbps) 45 45 0.064 1.5 155,^ 6 ^
Cu comutare Nu Da Da Nu Da '
ncrcarea util de dimensiune fix Da Nu Nu Nu Nu
ncrcarea util maxim 44 9188 128 1600 Variabil
Circuite virtuale permanente Nu Nu Da Da Da
Transmisie multidestinaie Nu Da Nu Nu Da

Fig. 1-32. Diferite servicii de reea.

S recapitulm acum o parte din serviciile de care ne-am ocupat n acest capitol. DQDB este o
tehnologie MAN necomutat care permite transmiterea prin cablu, n perimetrul unui ora, a unor
celule de 53 octei (din care 44 reprezint informaia util). SMDS este o tehnologie comutat
pentru transmiterea datagramelor, oriunde pe o reea, la o vitez de 45 Mbps. X.25 este o
tehnologie de reea orientat pe conexiuni, mai veche, care permite transmiterea unor pachete mici,
de lungime variabil, la 64 kbps. Retransmiterea cadrelor este un serviciu care asigur linii nchiriate
virtuale la viteze de aproximativ 1.5 Mbps. In sfrit, ATM este proiectat pentru a nlocui ntregul
sistem telefonic cu comutare de circuite printr-un sistem cu comutare de celule i pentru a putea
transmite att date ct i imagini de televiziune. n Fig. 1-32. sunt rezumate cteva diferene ntre
aceste servicii aflate n competiie.

1.7 STANDARDIZAREA REELELOR


A,

In prezent exist numeroi productori i furnizori, fiecare cu propriile idei despre cum ar trebui
realizate reelele. In lipsa coordonrii, ar fi un haos complet i utilizatorii nu ar putea face nimic.
Singura soluie este s se convin asupra unor standarde de reea.
Standardele nu numai c permit diverselor calculatoare s comunice ntre ele, ci sporesc
totodat piaa pentru produsele care ader la un anumit standard, cu urmtoarele consecine:
62 IISrmODUCERE CAP. 1

producie de mas, profituri financiare, implementri VLSI i alte beneficii care duc la scderea
preurilor i la acceptarea i mai larg a respectivelor produse. n seciunile urmtoare vom arunca
o privire asupra importantei, dar puin cunoscutei, lumi a standardizrii internaionale.
Standardele fac parte din dou categorii: de facto i de jure. Standardele de facto (expresia
latin pentru de fapt") sunt acelea care pur i simplu au luat fiin, fr s existe vreun plan oficial.
Deoarece zeci de productori au ded s copieze aproape identic mainile IBM, PC-ul IBM i
succesorii si reprezint standarde de facto pentru calculatoarele de birou mici. n seciile de
informatic ale facultilor, UNIX este standardul de facto pentru sisteme de operare.
Standardele de jure (expresia latin pentru de drept") sunt, prin contrast, standarde legale,
adoptate de un anumit organism de standardizare autorizat. Autoritile de standardizare
internaionale sunt, n general, mprite n dou clase: organizaii stabilite prin tratate ntre
guvernele naionale i organizaii voluntare neguvernamentale. n domeniul standardelor pentru
reele de calculatoare exist cteva organizaii din fiecare categorie. n continuare vom discuta
despre aceste organizaii.

1.7.1 Who's Who n lumea telecomunicaiilor

Statutul legal al companiilor telefonice de pe glob variaz considerabil de la ar la ar. La una


din extreme se situeaz Statele Unite, care au 1500 de firme de telefonie private. nainte s fie
divizat, n 1984, AT&T, cea mai mare corporaie din lume la vremea aceea, domina scena complet.
AT&T furniza servicii telefonice pentru aproximativ 80 la sut din telefoanele Americii, rspndite
pe jumtate din ntinderea sa, n timp ce toate celelalte firme asigurau servicii pentru restul
clienilor (rurali, n majoritatea lor). De la divizarea sa, AT&T continu s furnizeze servicii de
lung distan, dar acum o face n concuren cu alte firme. Cele apte Companii Regionale Bell n
care a fost mprit AT&T-ul, precum i alte 1500 de firme independente, ofer servicii de telefonie
local i celular. O parte din aceti independeni, de exemplu GTE, sunt companii foarte mari.
Firmele americane furnizoare de servicii de comunicaii pentru public sunt numite companii
telefonice publice. Ofertele i preurile lor sunt descrise printr-un document numit tarif. Acesta
trebuie s fie aprobat de Comisia Federal de Comunicaii, care se ocup de traficul dintre statele
SUA i de traficul internaional, i de ctre comisiile publice de stat pentru traficul n interiorul su.
La cealalt extrem se afl rile n care guvernul are un monopol complet asupra tuturor
mijloacelor de comunicaie: pota, telegraful, telefonul i, de multe ori, chiar radioul i televiziunea.
Cea mai mare parte a lumii se ncadreaz n aceast categorie. n unele cazuri, autoritatea de
telecomunicaii este o companie naionalizat, n altele, este o simpl filial a guvernului, cunoscut
de obicei sub numele de PTT (Post, Telegraf & Telephone administration). Tendina actual n
lumea ntreag este ctre liberalizare i competiie i mpotriva monopolului guvernamental.
Din cauza tuturor acestor diveri furnizori de servicii este nevoie de o compatibilitate la scar
mondial. Compatibilitatea asigur faptul c oamenii (i calculatoarele) dintr-o ar pot s-i apeleze
partenerii din alt ar. La drept vorbind, aceast necesitate exist de mult timp. n 1865,
reprezentani ai multor guverne din Europa s-au ntlnit pentru a forma predecesorul actualului ITU
(International Telecommunication Union - Uniunea Internaional de Telecomunicaii). Sarcina
Uniunii era standardizarea telecomunicaiilor internaionale, care la vremea aceea nsemnau
telegrafia. Chiar de atunci, era clar c dac jumtate din ri foloseau codul Morse i cealalt
jumtate foloseau un cod diferit, atunci vor apare probleme. Cnd au aprut serviciile de telefonie
SEC 1.7-' STANDARDIZAREA REELELOR 63

internaional, ITU a preluat de asemenea i sarcina standardizrii telefoniei. n 1947 ITU a devenit
o agenie a Naiunilor Unite.
ITU are trei sectoare principale:
1. Sectorul de Radiocomunicaii (ITU-R).
2. Sectorul de Standardizare a Telecomunicaiilor (ITU-T).
3. Sectorul de dezvoltare (ITU-D).
ITU-R se ocup de alocarea frecvenelor internaionale de radio ctre grupurile concurente
interesate. Ne vom referi mai nti la ITU-T, care se ocup de sistemele de telefonie i de
comunicare de date. Din 1956 pn n 1993, ITU-T a fost cunoscut ca CCITT, un acronim pentru
numele su francez: Comite Consultatif International Telegraphique et Telefonique. La 1 martie
1993, CCITT a fost reorganizat n scopul de a deveni mai puin birocratic i a fost redenumit pentru
a reflecta noul su rol. Att ITU-T ct i CCITT au dat recomandri n domeniul telefoniei i
comunicaiilor de date. Dei, ncepnd cu 1993, recomandrile poart eticheta ITU-T,
recomandrile CCITT, de genul CCITT X.25, mai sunt ntlnite nc frecvent.
ITU-T are cinci clase de membri:
1. Administraii (PTT-uri naionale).
2. Operatori privai recunoscui (de exemplu, AT&T, MCI, British Telecom).
3. Organizaii de telecomunicaii regionale (de exemplu, organizaia european ETSI).
4. Comerciani din domeniul telecomunicaiilor i organizaii tiinifice.
5. Alte organizaii interesate (de exemplu, reele bancare i aviatice).
ITU-T are aproximativ 200 de administraii, 100 de operatori privai i cteva sute de ali
membri. La lucrrile ITU-T pot vota numai administraiile, dar pot participa toi membrii.
Deoarece Statele Unite nu posed un PTT, locul su trebuia s fie reprezentat la ITU-T de
altcineva. Aceast sarcin a revenit Departamentului de Stat, probabil, pe baza faptului c ITU-T
avea de-a face cu ri strine, specialitatea Departamentului de Stat.
Sarcina pe care o are ITU-T este de a face recomandri tehnice asupra interfeelor din
telefonie, telegrafie i comunicaii de date. Acestea devin deseori standarde recunoscute
internaional; de exemplu, V.24 (cunoscut n Statele Unite i ca EIA RS-232), care specific
amplasarea i semnificaia pinilor de pe conectorul folosit de majoritatea terminalelor asincrone.
Nu trebuie uitat c recomandrile date de ITU-T sunt numai sugestii tehnice, pe care guvernele
le pot adopta sau ignora, dup cum doresc. n practic, o ar care dorete s adopte un standard de
telefonie diferit de cel utilizat n restul lumii este liber s o fac, dar o face cu preul izolrii de
toate celelalte ri. Lucrul acesta poate s mearg n cazul Albaniei, dar n alt parte ar fi o
adevrat problem. Fantezia de a numi standardele ITU-T recomandri" a fost i este necesar
pentru a calma forele naionaliste din multe ri.
Adevrata munc de la ITU-T se desfoar n Grupe de Studiu, care uneori cuprind chiar i
400 de persoane. Pentru ca pn la urm munca s aib un rezultat, Grupele de Studiu se mpart n
Echipe de Lucru, care se mpart la rndul lor n Echipe de Experi, care, la rndul lor, se mpart n
grupuri ad-hoc. Birocraie a fost, birocraie rmne.
In pofida tuturor acestor lucruri, ITU-T reuete efectiv s fac efectiv ce are de fcut.
Rezultatul l reprezint aproximativ 5000 de pagini de recomandri pe an. Costurile pentru
ITU-T sunt acoperite de membri. Statele mari, bogate, trebuie s plteasc pn la 30 de
64 INTRODUCERE CAP. 1

uniti de contribuie pe an; cele mici, srace, pot s-o scoat la capt cu 1/16 dintr-o unitate de
contribuie (o unitate de contribuie este cam 250.000 dolari). Ca o mrturie a valorii pe care
o are ITU-T st faptul c aproape toat lumea i pltete contribuia, chiar dac aceste
contribuii sunt complet voluntare.
Pe msur ce telecomunicaiile desvresc tranziia - nceput n anii 1980 - de la un caracter
strict naional la un caracter complet global, standardele vor deveni din ce n ce mai importante i
tot mai multe organizaii vor dori s devin implicate n producerea acestora. Pentru mai multe
informaii privind ITU, a se vedea (Irmer, 1994).

1.7.2 Who's Who n lumea standardelor internaionale


4
Standardele internaionale sunt produse de ISO (International Standards Organization -
Organizaia Internaional de Standardizare), o organizaie voluntar, neguvernamental fondat
n 1946. Membrii si sunt organizaiile naionale de standardizare din cele 89 de ri membre.
Aceti membri cuprind ANSI (S.U.A.), BSI (Marea Britanie), AFNOR (Frana), DIN (Germania)
i nc 85 de alte organizaii.
ISO produce standarde referitoare la un numr vast de subiecte, ncepnd cu piulie i uruburi
i terminnd cu vopsirea stlpilor de telefon. n total au fost create peste 5000 de standarde, inclusiv
standardele OSI. ISO are aproape 200 de Comitete Tehnice (Technical Committees - TC),
numerotate n ordinea crerii lor, fiecare comitet ocupndu-se de un subiect specific. TC1 se ocup
de piulie i uruburi (standardizarea nclinrii filetelor). TC97 se ocup de calculatoare i
prelucrarea informaiei. Fiecare TC are subcomitete (SC-uri) mprite n grupe de lucru (Work
Groups - WG).
Munca propriu-zis se desfoar n principal n WG-uri, prin intermediul a peste 100.000 de
voluntari din ntreaga lume. Muli dintre aceti voluntari" sunt pui s lucreze la probleme ale ISO
de ctre patronii lor, ale cror produse sunt standardizate. Alii sunt oficiali guvernamentali dornici
s vad c modalitatea de a face lucrurile n ara lor devine standardul internaional. n multe WG-
uri sunt activi, de asemenea, experi academici.
n ceea ce privete standardele din telecomunicaii, ISO i ITU-T coopereaz frecvent, (ISO
este un membru al ITU-T) n ideea de a evita ironia a dou standarde internaionale oficiale i
mutual incompatibile.
Reprezentantul S.U.A. n ISO este ANSI (American National Standards Institute - Institutul
Naional American de Standarde), care, n pofida numelui su, este o organizaie privat
neguvernamental i nonprofit. Membrii si sunt productori, companii telefonice publice i alte
pri interesate. Standardele ANSI sunt frecvent adoptate de ISO ca standarde internaionale.
Procedura utilizat de ISO pentru adoptarea standardelor este conceput astfel nct s se
obin un consens ct mai larg posibil. Procesul ncepe cnd una din organizaiile naionale de
standardizare simte nevoia unui standard internaional ntr-un anumit domeniu. n acel moment, se
formeaz un grup de lucru care vine cu un CD (Committee Draft - proiect de comitet). CD-ul
circul apoi pe la toate organizaiile membre, care au la dispoziie 6 luni pentru a-1 supune criticilor.
Dac se primete aprobarea din partea unei majoriti substaniale, atunci se produce un document
revizuit, numit DIS (Draft International Standard - proiect de standard internaional), care va

4
Adevratul nume pentru ISO este International Organization for Standardization (n.a.)
SEP 1-7 STANDARDIZAREA REELELOR 65

circula n scopul de a fi comentat i votat. Pe baza rezultatelor din aceast rund, se pregtete, se
aprob i se public textul final al respectivului I (International Standard - standard
internaional). n domeniile foarte controversate, un CD sau un DIS pot s treac prin cteva
versiuni nainte de a obine suficiente voturi i ntregul proces poate dura ani de zile.
NIST (National Institute of Standards and Technology - Institutul Naional de Standarde i
Tehnologie) este o agenie a Departamentului pentru Comer al Statelor Unite. NIST a fost
cunoscut anterior sub numele de Biroul Naional de Standarde. El produce standarde care sunt
obligatorii pentru achiziiile fcute de guvernul U.S.A., mai puin pentru cele care privesc
Departamentul de Aprare, acesta avnd propriile sale standarde.
Un alt actor important din lumea standardelor este IEEE (Institute of Electrical and
Electronics Engineers - Institutul Inginerilor Electricieni i Electroniti), cea mai mare
organizaie profesional din lume. Suplimentar fa de producerea a zeci de jurnale i
organizarea a numeroase conferine n fiecare an, IEEE are un grup de standardizare care
dezvolt standarde n domeniul ingineriei electrice i tehnicii de calcul. Standardul IEEE 802
pentru reele locale de calculatoare este standardul cheie pentru LAN-uri. El a fost ntre
timp preluat de ISO ca baz pentru standardul ISO 8802.

1.73 Who's Who n lumea standardelor Internet

Internet-ul mondial are propriile sale mecanisme de standardizare, foarte diferite de cele ale
ITU-T i ISO. Diferena poate fi rezumat grosier spunnd c lumea care vine la ntlnirile pentru
standardizare ale ITU i ISO poart costum. Lumea care vine la ntlnirile pentru standardizarea
Internet-ului poart fie blugi, fie uniforme militare.
La ntlnirile organizate de ITU-T i ISO e plin de oficiali ai unor corporaii i de funcionari
guvernamentali pentru care standardizarea reprezint meseria lor. Ei privesc standardizarea ca un
lucru bun i i dedic vieile acestui scop. Lumea implicat n Internet, pe de alt parte, prefer, ca
principiu de baz, anarhia; totui, pentru ca lucrurile s funcioneze, este nevoie, uneori, de
nelegeri prestabilite. De aceea, standardele, dei regretabile, apar ocazional ca fiind necesare.
Cnd a fost creat ARPANET-ul, DoD-ul a nfiinat un comitet neoficial care s l
supravegheze. n 1983 comitetul a fost redenumit IAB (Internet Activities Board - Consiliul
activitilor Internet) i a primit o misiune ceva mai ampl: s fie atent ca cercettorii
implicai n ARPANET i Internet s se mite, mai mult sau mai puin, n aceeai direcie - o
activitate care ar putea fi asemnat cu pstoritul" pisicilor. Semnificaia acronimului IAB"
a fost schimbat mai trziu n Internet Architecture Board (Consiliul Arhitecturii Internet).
Fiecare din cei aproximativ 10 membri ai IAB-ului conducea un departament care se ocupa de o
anumit problem important. IAB-ul se ntlnea de cteva ori pe an pentru a discuta rezultatele i
a trimite informri ctre DoD i NSF, care asigurau la acea vreme majoritatea fondurilor. Cnd era
nevoie de un dbu standard (de exemplu, un nou algoritm de dirijare), membrii IAB l luau n
discuie i apoi anunau schimbarea, astfel ca absolvenii facultilor - care erau sufletul muncii de
programare - s l poat implementa. Comunicrile erau puse la dispoziie printr-o serie de
rapoarte tehnice, numite RFC-uri (Request For Comments - cereri pentru comentarii). RFC-urile
sunt memorate on-line i pot fi citite de oricine este interesat de ele. RFC-urile sunt numerotate n
ordinea cronologic a crerii lor. Pn acum exist aproape 2000.
66 INTRODUCERE CAP.l

n 1989 Internet-ul crescuse att de mult, nct acest stil informai nu mai putea funciona. Multe
firme vindeau la acea vreme produse TCP/IP i nu erau dispuse s le modifice doar pentru c zece
cercettori se gndiser la o idee mai bun. n vara anului 1989, IAB a fost reorganizat. Cercettorii
au fost transferai la IRTF (Internet Research Task Force - Departamentul de Cercetare Internet),
care a fost pus n subdrdinea IAB-ului, alturi de EETF (Internet Engineering Task Force -
Departamentul de Inginerie Internet). IAB-ul a fost repopulat cu persoane care reprezentau un
palier de organizaii mai larg dect stricta comunitate a cercettorilor. La nceput, a fost un grup
care se auto-perpetua: membrii erau activi pe o perioad de 2 ani, iar membrii noi erau selectai de
ctre membrii mai vechi. Mai trziu, a fost nfiinat Societatea Internet (Internet Society), care
reunea oameni interesai de Internet. Societatea Internet este, prin urmare, comparabil ntr-un
sens cu ACM sau IEEE. Societatea este administrat de un comitet ales, iar comitetul desemneaz
membrii IAB.
Ideea acestei divizri a fost ca IRTF s se concentreze asupra cercetrii pe termen lung,
iar IETF s se ocupe de probleme inginereti pe termen scurt. IETF a fost mprit n grupuri
de lucru, fiecare cu o problem specific de rezolvat. Iniial, preedinii grupurilor de lucru s-
au reunit ntr-un comitet de organizare, n scopul de a coordona munca inginereasc ce le
revenea. Preocuprile grupurilor de lucru includeau aplicaii noi, informaii de la utilizatori,
integrare OSI, dirijare i adresare, securitate, administrare de reea, standarde. n final s-au
format att de multe grupuri de lucru (mai mult de 70), nct ele au fost grupate pe domenii,
iar comitetul de organizare s-a constituit din preedinii domeniilor.
n plus, a fost adoptat un proces de standardizare mai formal, preluat dup modelul ISO. Pentru
a deveni un standard propus (Proposed Standard), ideea fundamental trebuie s fie complet
explicat ntr-un RFC i s prezinte destul interes din partea comunitii pentru a merita s fie luat
n considerare. Pentru a avansa la stadiul de proiect de standard (Draft Standard), este necesar o
implementare de lucru care s fi fost testat n amnunime de ctre dou situri independente, timp
de cel puin 4 luni. Dac IAB-ul este convins c ideea e bun i c programul funcioneaz, atunci
poate s declare RFC-ul respectiv ca fiind un Standard Internet. Unele Standarde Internet au
devenit standarde ale DoD-ului (MIL-STD), fiind, prin urmare, obligatorii pentru furnizorii
DoD-ului. David Clark a fcut odat o remarc devenit celebr privitoare la standardizarea
Internet-ului, care ar consta din consens aproximativ i programe care merg."

1.8 RESTUL CRTTI N REZUMAT

Cartea de fa discut att principiile ct i practica interconectrii calculatoarelor. Majoritatea


capitolelor ncep printr-o discuie a principiilor relevante, urmat de un numr de exemple care
ilustreaz principiile respective. Pe parcursul crii sunt folosite ca exemple reale dou reele:
Internet-ul i reelele ATM. ntr-un fel, cele dou reele sunt complementare: ATM se ocup n
special de nivelurile inferioare, iar Internet-ul se ocup mai ales de nivelurile superioare. n viitor,
Internet-ul ar putea funciona n mare parte pe o coloan vertebral ATM, fiind, deci, posibil
coexistena ambelor reele. Acolo unde este relevant, vor fi date i alte exemple.
Cartea este structurat n concordan cu modelul hibrid din Fig. 1-21. ncepnd cu
Cap. 2, pornim la drum de la baz n sus, de-a lungul ierarhiei de protocoale. Capitolul al doilea
prezint cadrul pentru studierea domeniului comunicaiilor de date. Capitolul acoper diferite
subiecte: transmisii analogice i digitale, multiplexare, comutare, sistemul telefonic trecut, actual i
SEC. 1.9 REZUMAT 67

viitor. Acest material se refer la nivehil fizic, dar noi ne vom ocupa numai de aspectele
arhitecturale, nu de cele privitoare la echipamente. Sunt discutate, de asemenea, cteva exemple de
niveluri fizice, aa cum sunt SONET i radiofonia celular.
Cap. 3 discut modelul legtur de date i protocoalele sale prin intermediul unui numr
de exemple din ce n ce mai complexe. Se realizeaz* de asemenea, analiza acestor protocoale.
Dup aceea, sunt discutate unele protocoale importante din lumea real, printre care HDLC
(folosit n reelele de vftez sczut i medie), SLIP i PPP (folosite n Internet) i, de
asemenea, ATM (folosit n B-ISDN).
Cap. 4 se refer la subnivelul de acces la mediu, care face parte din nivelul legtur de
date. Problema fundamental cu care se ocup este cum s determine cine poate folosi
reeaua - atunci cnd reeaua const dintr-un singur canal partajat, aa cum se ntmpl n
majoritatea LAN-urilor i n unele reele de satelii. Se dau multe exemple din domeniul
LAN-urilor, reelelor prin fibre optice i reelelor de satelii. Tot aici sunt discutate i punile,
care se folosesc pentru a interconecta LAN-urile.
Cap. 5 se ocup de nivelul reea, n special de dirijare, de controlul congestiei i de interconectare.
Capitolul discut att algoritmi de dirijare statici, ct i algoritmi de dirijare dinamici. Se ia n discuie
si dirijarea cu difuzare. Se discut destul de detaliat efectele proastei dirpri i ale congestiei.
Interconectarea reelelor eterogene n inter-reele conduce la numeroase probleme care sunt discutate
aici. Se acord mare atenie nivelurilor din Internet i din reelele ATM.
Cap. 6 se ocup de nivelul transport. Se discut pe larg protocoalele orientate pe conexiuni,
deoarece ele sunt necesare n numeroase aplicaii. Se discut n detaliu un exemplu de serviciu de
transport i implementarea sa. Att protocoalele de transport din Internet (TCP i UDP) ct i
protocoalele de transport ATM sunt discutate pe larg.
Nevznd o utilizare de prea mare importan, nivelurile OSI sesiune i prezentare nu sunt
discutate n aceast carte.
Cap. 7 se ocup de nivelul aplicaie, de protocoalele i aplicaiile sale. Printre aplicaiile discutate
se numr securitatea, procedurile de atribuire a numelor, pota electronic, grupurile de tiri,
administrarea de reea, Web-ul i multimedia.
Cap. 8 conine o list adnotat de lecturi sugerate, aranjate n ordinea capitolelor. Lista este
gndit ca un ajutor pentru cititorii care doresc s continue studiul reelelor. Capitolul are de
asemenea o bibliografie alfabetic a tuturor referinelor citate n aceast carte.

1.9 REZUMAT

Reelele de calculatoare pot fi utilizate pentru numeroase servicii, att pentru lume ct i pentru
persoane particulare. Pentru firme, reelele de calculatoare cu servere partajate asigur de multe ori
flexibilitate i un bun raport pre/performan. Pentru persoane particulare, reelele ofer acces la o
mulime de informaii si de resurse de divertisment.
n mare, reelele pot fi mprite n LAN-uri, MAN-uri, WAN-uri i inter-reele, fiecare cu
caracteristicile, tehnologiile, vitezele i rolurile sale proprii. LAN-urile acoper suprafaa unei
cldiri, MAN-urile acoper suprafaa unui ora, iar WAN-urile se ntind pe suprafaa unei ri
sau a unui continent. LAN-urile i MAN-urile sunt necomutate (adic nu au rutere);
WAN-urile sunt comutate.
68 INTRODUCERE CAP. 1

Programele de reea constau din protocoale, adic regii prin care procesele pot s comunice.
Protocoalele pot fi fie fr conexiuni, fie orientate pe conexiuni. Majoritatea reelelor asigur suport
pentru ierarhiile de protocoale, fiecare nivel asigurnd servicii pentru nivelurile de deasupra sa i
izolndu-le de detaliile protocoalelor folosite n nivelurile de mai jos. Stivele de protocoale se
bazeaz n mod tipic fie pe modelul OSI, fie pe modelul TCP/IP. Ambele modele posed niveluri
reea, transport i aplicaie, dar ele difer n ceea ce privete celelalte niveluri.
Printre reelele celebre s-au numrat NetWare, produs de Novell, ARPANET-ul (acum mort),
NSFNET-ul, Internet-ul i diferite prototipuri gigabit. Serviciile de reea au inclus DQDB, SMDS,
X.25, retransmiterea cadrelor i ISDN-urile de band larg. Toate acestea sunt disponibile
comercial de la o mulime de furnizori. Piaa va determina care din ele vor supravieui i care nu.

1.10 PROBLEME

1. n viitor, cnd toat lumea va avea acas un terminal conectat la o reea de calculatoare, vor
deveni posibile referendumuri publice imediate pe subiecte de legislaie importante. n ultim
instan ar putea fi chiar eliminate parlamentele, pentru a lsa voina poporului s se exprime
direct. Aspectele pozitive ale unei astfel de democraii directe sunt destul de evidente; discutai
unele din aspectele negative.

2. O alternativ la un LAN este pur i simplu un mare sistem, cu divizarea timpului cu


terminale pentru toi utilizatorii. Prezentai dou avantaje ale unui sistem client-server
care folosete un LAN.

3. O colecie de cinci rutere trebuie s fie conectat ntr-o subreea punct-la-punct. ntre dou
rutere proiectanii pot instala o linie de mare vitez, o linie de vitez medie, o linie de vitez
sczut sau nici o linie. Dac generarea i examinarea fiecrei topologii pe calculator dureaz
100 ms, ct timp va dura examinarea tuturor topologiilor pentru a o gsi pe cea care se
potrivete cel mai bine cu ncrcarea prevzut?
n
4. Un grup de 2 -l rutere sunt interconectate ntr-un arbore binar centralizat, cu un ruter n
fiecare nod al arborelui. Ruterul i comunic cu rutenii/ trimind un mesaj rdcinii arborelui.
Rdcina trimite apoi mesajul napoi n jos pn la;. Deducei o expresie aproximativ pentru
numrul mediu de salturi pe mesaj n cazul unui numr n mare, presupunnd c toate perechile
de rutere sunt la fel de probabile.

5. Un dezavantaj al unei subretele cu difuzare este risipa de capacitate datorat multiplelor gazde
care ncearc s acceseze canalul n acelai timp. Ca un exemplu simplist, s presupunem c
timpul este mprit n intervale discrete i fiecare din cele n gazde ncearc s utilizeze canalul
cu probabilitatea p n timpul fiecrui interval. Ce fraciune din intervale se pierde datorit
coliziunilor?

6. Care sunt adresele SAP n cazul difuzrii radio FM ?

7. Care este principala diferen ntre comunicarea fr conexiuni i comunicarea orientat pe


conexiuni?
SEC 1.10 PROBLEME 69

.j ou reele furnizeaz, fiecare, servicii orientate pe conexiuni sigure. Una din ele ofer un flux
sigur de octei, iar cealalt ofer un flux sigur de mesaje. Sunt acestea identice? Dac da, de ce
se face aceast distincie? Dac nu, exemplificai prin ce difer.

9 Care este diferena ntre un serviciu confirmat i un serviciu neconfirmat? Pentru fiecare din
urmtoarele servicii spunei dac poate fi un serviciu confirmat, un serviciu neconfirmat,
amndou sau niciunul.
a) Stabilirea conexiunii.
b) Transmisia datelor.
c) Eliberarea conexiunii.

10. Ce nseamn negociere" atunci cnd se discut protocoalele de reea? Dai un exemplu.

11. Care sunt dou din motivele utilizrii protocoalelor organizate pe niveluri?

12. Prezentai dou aspecte comune modelului de referin OSI i modelului de referin TCP/IP.
Prezentai apoi dou aspecte prin care modelele difer.

13. Preedintelui Companiei de Vopsele Speciale i vine ideea s lucreze mpreun cu un


productor local de bere n scopul de a produce o cutie de bere invizibil (ca o msur
anti-gunoi). Preedintele comand departamentului su juridic s analizeze ideea, iar acesta
cere ajutorul, la rndul su, departamentului de ingineri. Ca rezultat, inginerul ef l cheam pe
inginerul-ef de la cealalt firm pentru a discuta aspectele tehnice ale proiectului. Apoi,
inginerii prezint un raport ctre departamentele juridice respective, iar acestea aranjeaz prin
telefon aspectele legale. n final, cei doi preedini de firme discut partea financiar a afacerii.
Este acesta un exemplu de protocol multinivel n sensul modelului OSI?

14. n majoritatea reelelor, nivelul legtur de date trateaz erorile de transmisie, solicitnd
retransmiterea cadrelor deteriorate. Dac probabilitatea de a se strica un cadru este/?, care este
numrul mediu de transmisii necesare pentru a trimite un cadru, n cazul n care confirmrile
nu se pierd niciodat?

15. Care dintre nivelurile OSI se ocup de fiecare din urmtoarele sarcini:
a) Descompunerea fluxului de bii transmii n cadre.
b) Determinarea traseului care trebuie folosit n subreea.
c) TDPU-rile ncapsuleaz pachete sau invers? Discuie.

16. Un sistem are o ierarhie de protocoale organizat pe n niveluri. Aplicaiile genereaz mesaje de
lungime M octei. La fiecare nivel este adugat un antet de h octei. Ce fraciune din limea
benzii reelei este ocupat de antete?

17. Care este principala deosebire ntre TCP i UDP?

18. Arhitectura Novell NetWare seamn mai mult cu X.25 sau cu Internet-ul? Motivai rspunsul.

19. Internet-ul i dubleaz dimensiunea o dat la aproximativ 18 luni. Dei nimeni nu tie cu
siguran, una din estimri consider numrul gazdelor la 1 ianuarie 1996 ca fiind de 7 milioane.
Folosii aceste date pentru a calcula numrul de gazde Internet prevzut pentru anul 2008.
70 INTRODUCERE CARI

20. De ce a fost SMDS proiectat ca o reea fr conexiuni, iar retransmiterea cadrelor ca una
orientat pe conexiuni?

21. Imaginai-v c v-ai dresat cinele St. Bernard, pe nume Bernie, ca, n locul clasicei sticle cu
rom, s poarte o cutie cu trei benzi Exabyte de 8 mm. (Gnd i se umple discul, respectiva cutie
reprezint o urgen.) Aceste benzi conin flecare 7 gigabytes. Cinele poate cltori pn la
dvs., oriunde v-ai afla, cu 18 km/h. Pentru ce ordin de distane are Bernie o vitez mai mare de
transmisie a datelor dect o linie ATM de 155 Mbps?

22. La transferul unui fiier ntre dou calculatoare exist (cel puin) dou strategii de confirmare.
Conform primei strategii, fiierul este descompus n pachete care sunt confirmate individual de
ctre server, dar transferul de fiiere pe ansamblu nu este confirmat. n a doua strategie,
pachetele nu sunt confirmate individual, dar la sfrit este confirmat ntregul fiier. Discutai
aceste dou abordri.

23. Imaginai-v c pachetul SMDS din Fig. 1-28 ar trebui ncorporat n ierarhia de protocoale
OSI. Pe care nivel ar aprea el?

24. Prezentai un avantaj i un dezavantaj al retransmiterii cadrelor printr-o linie telefonic nchiriat.

25. De ce folosete ATM-ul celule mici, de lungime fix?

26. Prezentai dou avantaje i dou dezavantaje ale existenei standardelor internaionale pentru
protocoalele de reea.

27. Atunci cnd un sistem dispune de o parte permanent i de o parte detaabil, de exemplu un
cititor de dischete i o dischet, este important ca sistemul s fie standardizat, astfel ca diferite
firme s poat realiza att prile permanente ct i cele mobile i ca ele s se potriveasc fr
probleme. Dai trei exemple din afara industriei de calculatoare unde exist astfel de standarde
internaionale. Indicai apoi trei domenii din afara industriei de calculatoare unde nu exist
astfel de standarde.
NIVELUL FIZIC

n acest capitol vom studia nivelul inferior descris n ierarhia din Fig. 1-21. Vom ncepe cu o
analiz teoretic a transmisiunilor de date, cu scopul de a descoperi c Mama Natur impune o
limit la ceea ce se poate transmite printr-un canal.
n continuare, vom analiza mediile de transmisie, att cele ghidate (cablu din cupru i fibre
optice) ct i cele neghidate (fr fir). Acest material furnizeaz informaiile fundamentale
referitoare la tehnologiile de comunicaie folosite n reelele moderne.
Restul capitolului este dedicat unor exemple de sisteme de comunicaie care folosesc
mediile de transmisie descrise. Vom ncepe cu sistemul telefonic, studiind trei variante:
actualul sistem (parial) analogic, un potenial sistem digital pentru viitorul apropiat (N-ISDN)
i un posibil sistem digital pentru viitorul ndeprtat (ATM). Mai departe vor fi studiate dou
sisteme de comunicaie fr fir: radiofonia celular i sateliii de comunicaie.

2.1 BAZELE TEORETICE ALE COMUNICARE DE DATE

Informaia poate fi transmis prin cablu variind cteva proprieti fizice cum ar fi tensiunea i
intensitatea curentului. Reprezentnd valoarea tensiunii sau a intensitii curentului ca o funcie de
timp, f(t), putem modela comportamentul semnalului i l putem analiza matematic. Aceast analiz
face subiectul urmtoarelor seciuni.

2.1.1 Analiza Fourier

La nceputul secolului XIX, matematicianul francez Jean-Baptiste Fourier a demonstrat c orice


funcie periodic cu comportare rezonabil, g(t), cu perioada T poate fi construit prin nsumarea
unui numr (posibil infinit) de sinusoide i cosinusoide:
71
72 NIVELUL FIZIC CAP. 2

1 OO OO

g(t) = -c + ^ an sin(27inft) + ^ bn cos(27inft) (2-1)


2 n
=l n=l

unde / = 1 / T este frecvena fundamental, iar an i bn sunt amplitudinile sinusurilor i


cosinusurilor armonicei (termenului) n. Aceast descompunere este numit serie Fourier. Pornind
de la seria Fourier, funcia poate fi reconstruit; aceasta nseamn c, dac perioada T este
cunoscut i amplitudinile sunt date, funcia de timp original poate fi aflat prin evaluarea sumelor
din ecuaia 2-1.
Un semnal de date de durat finit (proprietate pe care o au toate semnalele) poate fi tratat
presupunnd c el repet ntregul tipar la infinit (adic intervalul de la T la 2T este acelai ca cel de
la01aT,etc).
Amplitudinile an pot fi calculate pentru orice g(t) prin multiplicarea ambilor membri ai ecuaiei
2-1 cu sin(27tkft) urmat de integrarea de la 0 la T. Deoarece

V fO pentru k n
J
sm(2nkft) &m(2mfi)dt = ^
Q
[T/2 pentru k = n

numai un singur termen al sumei de sinusuri nu se anuleaz: an. Termenii sumei de cosinusuri se
anuleaz complet. Similar, multiplicnd membrii ecuaiei 2-1 cu cos(27ikft) i integrnd de la 0 la T,
putem obine bn. Prin integrarea ambilor membri ai ecuaiei originale, se poate obine c. Rezultatele
obinute prin efectuarea acestor operaii sunt:

2T
T
2 T o
an = -Jg(t)sin(27mft)dt bn = -Jg(t)cos(27inft)dt c = -Jg(t)dt
* o o * o

2.1.2 Semnalele limitate de banda de frecven

Pentru a face legtura dintre cele prezentate i comunicarea de date s considerm urmtorul
exemplu: transmisia caracterului ASCII b" codificat pe un octet. Biii care urmeaz a fi transmii
sunt 01100010. Partea din stnga a figurii 2-1 (a) reprezint tensiunea la ieire emis de calculatorul
care transmite. Din analiza Fourier a acestui semnal rezult urmtorii coeficieni:

an = [cos(nn / 4) - cos(3nn / 4) + cos(6nn / 4) - cos(7'nn 14)]

bn- [sin(37m / 4) - sin(7m / 4) + sin(77m / 4) - sin(67m / 4)]


nn

an + bn ,pentru primii termeni este prezentat n


partea dreapt a figurii 2-l(a). Aceste valori ne intereseaz, deoarece ptratele lor sunt
proporionale cu energia transmis la frecvena respectiv.
SEC 2.1 BAZELE TEORETICE ALE COMUNICRII DE DATE 73

0 1 1 0 0 0 1 0
0) 0.50

ampi itudi
0.25

i i 1 I i 1 1 i
Timn T 1 2 3 4 5 6 7 8 9 101112131415
Numrul armonicei
(a)

1 armonic

2 armonici

1 2
(O

4 armonici

12 3 4
(d)

8 armonici

12 3 4 5 6 7 8
Timp Numrul armonicei
(e)

Fig. 2-1. (a) Un semnal binar i radicalul sumei ptratelor amplitudinilor Fourier.
(b) - (e) Aproximaii succesive ale semnalului iniial.
74 NIVELUL FIZIC CAP. 2

Nu exist un mijloc de transmisie care s poat trimite semnale fr pierdere de putere n timpul
procesului. Dac toate componentele Fourier ar fi micorate n aceeai msur, atunci semnalul
rezultat ar fi atenuat n amplitudine, dar nu ar prezenta distorsiuni [ar avea aceeai form ca cea din
Fig. 2-l(a)]. Din pcate, orice mijloc de transmisie atenueaz diferite componente Fourier n diferite
proporii, introducnd astfel distorsiuni. De obicei, amplitudinile sunt transmise fr atenuri de la 0
la o anumit frecven fp [msurat n cicluri/secund sau n Hertzi (Hz)], iar toate celelalte
amplitudini cu frecvene mai mari dect aceast frecven de prag sunt puternic atenuate. n unele
cazuri aceasta este o proprietate fizic a mediilor de transmisie, n timp ce n altele este introdus
intenionat un filtru n circuit, pentru a limita banda de frecven disponibil fiecrui client.
S vedem cum va arta semnalul transmis dac banda de frecven folosit ar fi att de
ngust, nct numai frecvenele foarte joase pot fi transmise [funcia ar fi aproximat doar cu
primii civa termeni ai ecuaiei (2-1)]. Fig. 2-l(b) reprezint semnalul rezultat dintr-un canal
care permite numai primei armonici (f, fundamental) s fie transmis. Similar, figurile 2-l(c)-
(e) prezint spectrele i funciile reconstruite pentru canale cu o band de frecven mai larg.
Timpul T necesar pentru transmiterea caracterului depinde att de metoda de codificare ct i
de viteza semnalului [de cte ori pe secund se schimb valoarea (tensiunea) semnalului]. Numrul
de variaii pe secund se msoar n baud. O linie cu o vitez de transfer de b baud nu transmite
implicit b bii/secund, deoarece un semnal poate transmite mai muli bii. Dac se utilizeaz
tensiunile 0,1,2,3,4 5, 6 i 7, fiecare semnal poate fi folosit pentru transmiterea a 3 bii, rezultnd
un numr de bii transferai pe secund de trei ori mai mare dect viteza de transmisie. n exemplul
nostru, au fost folosii doar 0 i 1 ca nivele de semnal, numrul de bii transferai pe secund fiind
egal cu viteza de transmisie.
Pentru o anumit vitez de b bii/secund, timpul necesar pentru a transmite, de exemplu, 8 bii
este de 8/b secunde, frecvena primei armonice fiind b/8 Hz. O linie telefonic obinuit, deseori
numit linie n band vocal (voice grade line), are introdus artificial o frecven de prag n jurul
frecvenei de 3000 Hz. Aceast restricie conduce la rezultatul c numrul celei mai mari armonice
care poate fi transmis este aproximativ de 3000/(b/8), adic 24000/b (frecvena de prag nu este
foarte exact).

Bps T (msec) Prima armonic (Hz) nr. armonice transmise


300 26.27 37.5 80
600 13.33 75 40
1200 6.67 150 20
2400 3.33 300 10
4800 1.67 600 5
9600 0.83 1200 2
19200 0.42 2400 1
38400 0.21 4800 0

Fig. 2-2. Relaia ntre viteza de transfer a datelor i armonice

n Fig. 2-2 sunt prezentate valorile unor viteze de transfer de date. Pornind de la aceste
cifre, este clar c ncercarea de a transmite date la o vitez de 9600 bps, folosind o linie
telefonic obinuit, va transforma semnalul din Fig. 2-l(a) n ceva asemntor cu Fig. 2-l(c),
fiind dificil obinerea secvenei de bii originale. Este evident c la viteze de transfer mai mari
BAZELE TEORETICE ALE COMUNICRII DE DATE 75

nu exist nici o speran de a recupera semnalele binare, chiar dac mediul de


transmisie ar fi lipsit n totalitate de zgomote. Cu alte cuvinte, limitnd banda de frecven, se
limiteaz i viteza de transfer chiar i pentru canalele perfecte. Oricum, exist tehnici de
codificare sofisticate, care folosesc mai multe nivele de tensiune i care pot atinge rate de
transfer mai performante. Vom discuta aceste tehnici mai trziu n cadrul capitolului de fa.

21.2 Viteza Maxftn de Transfer de Date a unui Canal

nc din 1924, H. Nyquist a descoperit existena acestei limite fundamentale i a dedus o ecuaie
care exprim viteza maxim de transfer de date pentru un canal fr zgomote cu band finit de
frecvent. n 1948, Claude Shannon a continuat cercetrile lui Nyquist exprimnd aceast limit
pentru un canal supus zgomotului aleatoriu (termodinamic) (Shannon 1948). Noi nu vom face aici
dect o prezentare scurt a acestor rezultate, acum devenite clasice.
Nyquist a demonstrat c dac un semnal arbitrar este transmis printr-un filtru de frecvene joase
de band H, semnalul filtrat poate fi complet reconstruit prin efectuarea a exact 2H eantioane pe
secund. Eantionarea semnalului la o vitez mai mare dect 2H / secund este inutil, deoarece
componentele cu o frecven mai nalt pe care aceste eantioane le-ar putea obine au fost deja
filtrate. Dac semnalul are V nivele discrete, teorema lui Nyquist afirma:

viteza maxim de transfer de date = 2H log 2 V bii / sec

De exemplu, un canal de 3-kHz fr zgomote nu poate transmite semnale binare (pe dou
nivele) la o vitez mai mare de 6000 bps.
Pn acum am studiat doar cazul canalelor fr zgomote. Dac sunt prezente zgomote aleatorii,
situaia se deterioreaz rapid. Mrimea zgomotului termic prezent se msoar prin raportul dintre
puterea semnalului i puterea zgomotului, fiind numit raportul semnal / zgomot. Dac notm
puterea semnalului cu S i puterea zgomotului cu N, atunci raport semnal / zgomot este S/N De
obicei, acest raport nu este specificat; n schimb, este dat expresia 10 log10S/N. Aceste uniti sunt
numite decibeli (dB). Un raport S/N egal cu 10 este de 10 dB, un raport egal cu 100 este de 20 dB,
un raport egal cu 1000 este de 30 dB i aa mai departe. Fabricanii de amplificatoare stereo
caracterizeaz, deseori, banda de frecven (domeniul de frecven) n care produsul lor este liniar,
furniznd frecvena de 3 dB la fiecare capt. Acestea sunt punctele n care factorul de amplificare s-a
njumtit (aproximativ).
Rezultatul cel mai important obinut de Shannon este expresia pentru viteza maxim de transfer
de date a unui canal cu zgomote, avnd banda de frecven de H Hz i a crui raport semnal /
zgomot S/N este dat de:

numrul maxim de bii/sec = H log 2 (1+S/N)

De exemplu, un canal cu o band de frecven de 3000 Hz i zgomot termic de 30 dB (parametri


tipici prii analogice a sistemului telefonic) nu va putea transmite mult mai mult de 30.000 bps,
indiferent de ct de multe sau de puine nivele are semnalul sau ct de multe sau puine eantioane
sunt luate. Rezultatele lui Shannon au fost obinute folosind att argumente teoretice ct i argumente
informaionale i se aplic oricrui canal supus zgomotelor Gaussiene (termice). Contraexemplele ar
76 NIVELUL FIZIC CAP. 2

trebui tratate n aceeai categorie ca i mainile perpetuum mobile. Oricum, trebuie remarcat c
aceast vitez nu este dect o limit superioar pe care sistemele reale o ating rareori.

2.2 MEDIUL DE TRANSMISIE

Scopul nivelului fizic este de a transporta o secven de bii de la o main la alta. Pentru
transmisie, pot fi utilizate diverse medii fizice. Fiecare dintre ele este definit de lrgimea lui de
band, ntrziere, cost i de uurina de instalare i de ntreinere. Aceste medii pot fi
mprite n dou grupe mari: mediile ghidate, cum ar fi cablul de cupru i fibrele optice i
mediile neghidate, cum ar fi undele radio i laserul. Vom arunca o privire asupra acestora n
seciunea de fa i n urmtoarea.

2.2.1 Mediul Magnetic

Una din cele mai obinuite metode de a transporta date de la un calculator la altul este s se
scrie datele pe o band magnetic sau pe un disc flexibil, s se transporte fizic banda sau discul la
maina de destinaie, dup care s se citeasc din nou datele. Cu toate c aceast metod nu este la
fel de sofisticat ca folosirea unui satelit de comunicaie geosincron, ea este de multe ori mai
eficient din punct de vedere al costului, mai ales pentru aplicaiile n care o band de frecven
larg sau costul pe bit sunt factori cheie.
Un calcul simplu va confirma acest punct de vedere. O band video standard de 8 mm poate
nmagazina 7 gigaoctei. ntr-o cutie cu dimensiunile 50 x 50 x 50 cm pot ncape cam 1000 de astfel
de benzi, ceea ce nseamn o capacitate total de 7000 de gigaoctei. O cutie cu benzi poate fi
distribuit oriunde n Statele Unite n 24 de ore de ctre Federal Express sau de alte companii.
Banda de frecven efectiv a acestei transmisii este de 56 gigabii / 84600 sec sau 648 Mbps, care
este cu puin mai bun dect versiunea rapid a ATM-ului (622 Mbps). Dac destinaia ar fi numai
la distan de o or cu maina, lrgimea benzii de frecven s-ar mri la peste 15 Gbps.
Pentru o banc cu gigaoctei de date care sunt salvai zilnic pe o alt main (pentru ca banca s
poat face fa chiar i unor inundaii puternice sau unui cutremur), probabil c nici o alt
tehnologie de transmisie nu e comparabil cu performana atins de banda magnetic.
Dac ne uitm la cost, vom obine aceeai situaie. Atunci cnd sunt cumprate en gros, costul a
1000 de benzi video este probabil de 5000 de dolari. O band magnetic poate fi refolosit de cel
puin 10 ori, reducnd costul benzilor la aproximativ 500 de dolari. Dac adugm nc 200 de dolari
pentru transport, vom avea un cost de 700 de dolari pentru a transporta 7000 de gigaoctei. Costul a
unui gigaoctet transmis este de 10 ceni. Nici una dintre companiile care asigura transportul de date
pe reea nu poate concura cu un astfel de pre. Morala povetii:

Niciodat nu subestima lrgimea benzii de frecven a unui camion ncrcat cu benzi magnetice.

2.2.2 Cablul Torsadat

Dei caracteristicile benzii de frecven a unei benzi magnetice sunt excelente, caracteristicile
legate de ntrziere sunt slabe. Timpul de transmisie ne se msoar n milisecunde, ci n minute sau
ore. Pentru multe aplicaii este nevoie de o conexiune on-line. Cel mai vechi i nc cel mai utilizat
SEC. 2.2 MEDIUL DE TRANSMISIE 77

mediu de transmisie este cablul torsadat. Un cablu torsadat este format din dou fire de cupru
izolate, avnd o grosime tipic de 1 mm. Firele sunt mpletite ntr-o form elicoidal, exact ca o
molecul de ADN. Scopul mpletirii firelor este de a reduce interferena electric. (Dou fire
paralele constituie o anten; dac le mpletim, nu mai formeaz o anten.)
Cea mai cunoscut aplicaie a cablului torsadat este sistemul telefonic. Aproape toate telefoanele
sunt conectate la centrala telefonic printr-un cablu torsadat. Cablurile torsadate se pot ntinde pe
mai muli kilometri fr amplificare, dar pentru distane mai mari, sunt necesare repetoare. Atunci
cnd sunt grupate n paralel mai multe cabluri torsadate, de exemplu toate firele de la un bloc de
locuine la centrala telefonic, ele sunt legate mpreun i ncapsulate ntr-un material protector.
Dac nu ar fi fost mpletite perechile de fire, grupate astfel mpreun, ar fi interferat. n anumite
pri ale lumii, unde liniile telefonice sunt montate pe stlpi, sunt des ntlnite cablurile de mai muli
centimetri n diametru.
Cablurile torsadate pot fi folosite att pentru transmisia analogic ct i pentru cea digital.
Banda de frecven depinde de grosimea firului i de distana parcurs, dar, n multe cazuri, poate fi
atins o vitez de mai muli megabii pe secund pe distane de civa kilometri. Datorit
performanei satisfctoare i a costului sczut, cablurile torsadate sunt foarte larg folosite n prezent
si probabil c vor rmne larg folosite i n urmtorii ani.
Exist numeroase feluri de cablaj torsadat, dou dintre acestea fiind importante pentru reelele
de calculatoare. Cablurile torsadate din Categoria 3 sunt formate din dou. fire izolate mpletite
mpreun. n mod obinuit patru astfel de perechi sunt grupate ntr-un material din plastic, pentru a
le proteja i pentru a le ine mpreun. Pn n 1988, cele mai multe cldiri cu birouri aveau un cablu
de categoria 3, care pornea din panoul central de la fiecare etaj ctre fiecare birou. Aceast schem
permitea ca pn la patru telefoane obinuite, sau dou telefoane cu mai multe linii, aflate ntr-un
birou, s fie cuplate la centrala telefonic prin panoul central.
ncepnd din 1988, au fost introduse cablurile mai performante din Categoria 5. Ele sunt
similare celor din categoria 3, dar au mai multe rsuciri pe centimetru i sunt izolate cu
teflon, rezultnd o interferen redus i o mai bun calitate a semnalului pe distane mari,
ceea ce le face mai adecvate comunicaiilor la viteze mari ntre calculatoare. Pentru a le
deosebi de cablurile torsadate voluminoase, ecranate i scumpe, pe care IBM le-a introdus la
nceputul anilor 80, dar care nu au devenit populare n afara instalaiilor IBM, aceste dou
tipuri de cabluri sunt cunoscute sub numele de cabluri UTP (Unshielded Twisted Pair, - cablu
torsadat neecranat).

2.2.3 Cablu Coaxial n Band de Baz

Un alt mediu uzual de transmisie este cablul coaxial (cunoscut printre utilizatorii si sub numele
de coax"). El are o ecranare mai bun dect cablurile torsadate, putnd acoperi distane mai mari
la rate de transfer mai mari. Exist dou tipuri de cabluri coaxiale folosite pe scar larg. Primul,
cablul de 50 - ohmi, este folosit n transmisia digital i constituie subiectul acestei seciuni. Al doilea
tip, cablul de 75 de ohmi, este frecvent folosit n transmisia analogic, aceasta reprezentnd subiectul
urmtoarei seciuni. Aceast clasificare are la baz un criteriu stabilit mai mult pe considerente
istorice dect pe considerente tehnice (de exemplu, primele antene dipol aveau o impedan de 300
de ohmi, transformatoarele de impedan 4 : 1 erau uor de construit).
78 NIVELUL FIZIC CAP. 2
V

Un cablu coaxial este format dintr-o srm de cupru dur, protejat de un material izolant. Acest
material este ncapsulat ntr-un conductor circular, de obicei sub forma unei plase strns ntreesute.
Conductorul exterior este acoperit cu un nveli de plastic protector. n Fig. 2-3 este prezentat o
vedere n seciune a cablului coaxial.

Mie? de Material Conductor /nveli


cupru \ izolator exterior /S protector
ntreesut / din plastic

Fig. 2-3. Un cablu coaxial.

Structura i ecranarea cablului coaxial asigur o bun mpletire a necesitilor de band de


frecven larg i totodat de imunitate excelent la zgomot. Banda de frecven poate depinde de
lungimea cablului. Pentru cabluri de 1 Km, este posibil o vitez de transfer a datelor ntre 1 i 2
Gbps. Pot fi folosite i cabluri mai lungi, dar la rate de transfer mai joase sau folosind periodic
amplificatoare. Cablurile coaxiale sunt larg folosite n sistemul telefonic, dar pe distanele lungi, au
fost n mare parte nlocuite de fibre optice. Numai n Statele Unite, sunt instalate n fiecare zi 1000
Km de fibre optice (socotind o rol de 100 km cu 10 fire ca fiind echivalent cu 1000 km). Sprint
folosete deja 100 % fibre optice i multe alte companii vor atinge acest standard n scurt timp.
Oricum, cablul coaxial este foarte uzual n televiziunea prin cablu i n unele reele locale.

2.2.4 Cabluri coaxiale de band larg

Cellalt model de cablu coaxial este folosit pentru transmisia analogic n sistemele de
televiziune prin cablu. Acesta este numit cablu de band larg. Cu toate c termenul de band
larg" provine din lumea telefoniei, unde se refer la o band de frecven mai larg dect 4 kHz, n
lumea reelelor de calculatoare cablu de band larg" nseamn orice reea prin cablu care
folosete transmisia analogic, (vezi Cooper, 1986).
Deoarece reelele de band larg se bazeaz pe tehnologia standard a televiziunii prin cablu,
cablurile pot fi folosite pn la 300 MHz (i de multe ori pn la 450 MHz) i datorit transmisiei
analogice pot acoperi distane de aproape 100 Km, care este mult mai puin critic dect transmisia
digital. Pentru a transmite semnale digitale pe o reea analogic, fiecare interfa trebuie s conin
un echipament electronic care s converteasc secvena de bii ce urmeaz a fi transmis n semnal
analogic i semnalul analogic de la intrare ntr-o secven de bii. Depinznd de echipamentul
electronic respectiv, 1 bps poate ocupa aproximativ 1 Hz din lrgimea de band. La frecvene mai
mari, se pot obine mai muli bii pe Hz folosind tehnici avansate de modulare a semnalului.
Sistemele de band larg sunt mprite n mai multe canale, n televiziune fiind frecvent folosite
canalele de 6 MHz. Fiecare canal poate fi folosit n televiziunea analogic, n transmisia audio de
SEC. 2.2 MEDIUL DE TRANSMISIE 79

calitatea compact discului (1,4 Mbps), sau ntr-un flux de date la o vitez de - s zicem - 3 Mbps,
independent de celelalte. Televiziunea i datele se pot mixa pe acelai canal.
O diferen major ntre banda de baz i banda larg este aceea c sistemele de band larg
acoper, de obicei, o suprafa mai mare, fiind nevoie de amplificatoare analogice care s
reamplifice periodic semnalul. Aceste amplificatoare pot transmite semnalul ntr-o singur direcie,
astfel c un calculator care transmite un pachet nu poate s primeasc date de la alte calculatoare,
dac ntre ele se afl un amplificator. Pentru a ocoli aceast problem, au fost dezvoltate dou tipuri
de sisteme de band larg: sisteme cu cablu dual i sisteme cu cablu simplu.
Sistemele cu cabluri duale au dou cabluri identice care funcioneaz n paralel, unul lng altul.
Pentru a transmite date, un calculator emite pe cablul 1, pn la un echipament numit capt de
distribuie (head-end), care se afl la rdcina arborelui de cabluri. Captul de distribuie transfer
semnalul pe cablul 2 pentru transmisia napoi pe arbore. Toate calculatoarele transmit pe cablul 1 i
recepioneaz pe cablul 2. Un sistem cu cablu dual este prezentat n Fig. 2-4 (a).
Cealalt schem aloc diferite benzi de frecven pentru transmisie i recepie pe un singur cablu
[vezi Fig. 2-4(b)]. Banda de frecvene joas este folosit pentru comunicaia ntre calculatoare i
capt, apoi captul transfer semnalul n banda de frecven nalt i l retransmite. n sistemele cu
mprire inegal (subsplit), frecvenele de la 5 la 30 MHz sunt folosite pentru transmisie i
frecvenele de la 40 la 300 MHz sunt folosite pentru recepie.

Capt de distribuie Capt de distribuie

) Calculator! Amplificator

Cablu de
emisie Cablu unic.
Pentru transmisie
se utilizeaz fercvene joase,
iar pentru recepie se utilizeaz
frecvene nalte.
(a) (b)
Fig. 2-4. Reele de band larg, (a) Cablu dual. (b) Cablu simplu.

n sistemele cu njumtire (midsplit), transmisia se face n banda 5 -116 MHz, iar recepia n
banda 168 - 300 MHz. Alegerea acestor frecvene este de ordin istoric i are legtur cu modul n
care Comisia Federal a Statelor Unite (U.S. Federal Communications Commission) a atribuit
frecvenele pentru televiziune, aceasta fiind implementat pe sisteme de band larg. Pentru ambele
sisteme este necesar un capt activ care accept semnale pe o band i le retransmite pe alta. Aceste
tehnici i frecvene au fost dezvoltate pentru televiziunea prin cablu i au fost preluate de reele fr
modificri, datorit fiabilitii i a echipamentelor relativ ieftine.
80 NIVELUL FIZIC CAP. 2

Sistemele de band larg pot fi folosite n numeroase moduri. Unor perechi de calculatoare li se
pot atribui canale permanente pentru uzul lor exclusiv. Alte calculatoare pot face o cerere de canal
pentru o conectare temporar i apoi pot comuta, pe durata legturii, frecvenele proprii la cele ale
canalului. O alt posibilitate este ca toate calculatoarele s se afle n competiie pentru accesul la un
singur canal sau la un grup de canale, folosindu-se n acest scop tehnici ce vor fi prezentate n
capitolul 4.
Cablul de band larg este inferior tehnic cablului pentru band de baz (cu un singur canal)
pentru transmisia datelor digitale, dar are avantajul c este deja instalat pe scar extrem de larg. n
Olanda, de exemplu, 90 la sut din case au cablu TV. n Statele Unite, cablul TV acoper
aproximativ 80 la sut din case. Aproape 60 la sut dintre ele sunt conectate. Datorit competiiei,
aflat n plin desfurare, dintre companiile telefonice i companiile de televiziune prin cablu, ne
putem atepta ca sistemele de televiziune prin cablu s nceap s opereze ca MAN - uri i s ofere
tot mai frecvent servicii telefonice i alte servicii. Pentru mai multe informaii referitoare la folosirea
televiziunii prin cablu pe post de reea de calculatoare vezi (Karshmer and Thomas, 1992).

2.2.5 Fibre optice

Multe persoane din industria calculatoarelor sunt foarte mndre de rapiditatea evoluiei
tehnologiei calculatoarelor. n 1970, un calculator rapid (de ex. CDC 6600) putea executa o
instruciune n 100 de nsec. Douzeci de ani mai trziu, un calculator CRAY rapid putea executa o
instruciune n 1 nsec, o mbuntire cu un factor de 10 la fiecare deceniu. Un rezultat care nu este
de neglijat.
n aceeai perioada, comunicaiile de date au evoluat de la o vitez de 56 Kbps (ARPANET)
pn la 1 Gbps (comunicaiile optice moderne), un ctig cu un factor mai mare de 100 pe fiecare
decad. n aceeai perioad, frecvena erorilor a sczut de la IO'5 per bit pn aproape de zero.
Mai mult, procesoarele se aproprie de limitele lor fizice, date de viteza luminii i problemele de
disipare a cldurii. Prin contrast, folosind tehnologiile actuale de fibre optice, banda de frecven
care poate fi atins este cu siguran mai mare dect 50,000 Gbps (50 Tbps) i sunt nc muli
oameni care caut materiale mai performante. Limita practic actual de aproximativ 1 Gbps este o
consecina a imposibilitii de a converti mai rapid semnalele electrice n semnale optice. n
laborator, sunt posibile rate de 100 Gbps pe distane scurte. n doar civa ani se va putea obine o
vitez de 1 Terabit/sec. Sunt n curs de realizare sistemele integral optice (inclusiv intrarea i ieirea
din calculator) (Miki, 1994a).
n cursa dintre calculatoare i comunicaii, acestea din urm au nvins. Implicaiile unei benzi de
frecven, prin natura ei infinit (dei nu la un cost nul), nu au fost nc remarcate de unii oameni de
tiin i de unii ingineri care au nvat s gndeasc n termenii limitelor joase ale lui Nyquist i
Shannon impuse pentru srm de cupru. Noua manier de abordare const n a considera
calculatoarele ca fiind extrem de ncete, astfel c reelele ar trebui s evite calculele la orice cost,
A

indiferent de lrgimea de band risipit. In aceast seciune vom studia fibrele optice pentru a ne
familiariza cu aceast tehnologie de transmisie.
Un sistem de transmisie optic este format din trei componente: sursa de lumin, mediul de
transmisie i detectorul. Prin convenie, un impuls de lumin nseamn bitul 1, iar absena luminii
indic bitul zero. Mediul de transmisie este o fibr foarte subire de sticl. Atunci cnd intercepteaz
un impuls luminos, detectorul genereaz un impuls electric. Prin ataarea unei surse de lumin la un
SEC. 2.2 MEDIUL DE TRANSMISIE 81

capt al fibrei optice i a unui detector la cellalt, obinem un sistem unidirecional de transmisie a
datelor care accept semnale electrice, le convertete i le transmite ca impulsuri luminoase i apoi le
reconvertete la ieire n semnale electrice.
Acest sistem de transmisie ar fi fost lipsit de importan n practic, cu excepia unui principiu
interesant al fizicii. Cnd o raz luminoas trece de la un mediu la altul, de exemplu, de la siliciu la
aer, raza este refractat (ndoit) la suprafaa de separaie siliciu / aer ca n Fig. 2-5. Se observ o
raz de lumin inciden pe suprafaa de separaie la un ungi 04 care se refract la un unghi p\.
Mrimea refraciei depinde de proprietile celor dou medii (n particular, de indicii lor de
refracie). Pentru unghiuri de inciden mai mari dect o anumit valoare critic, lumina este
refractat napoi n siliciu fr nici o pierdere. Astfel o raz de lumin, la un unghi egal sau mai mare
dect unghiul critic, este ncapsulat n interiorul fibrei, ca n Fig. 2-5(b) i se poate propaga pe muli
kilometri, aparent fr pierderi.

Suprafaa
Aer
de separare Reflexie
aer /siliciu total

ai Ct2 ot3

Siliciu Surs de lumin

(a) (b)

Fig. 2-5. (a) Trei exemple de raze de lumin n interiorul unei fibre de siliciu care cad pe
suprafaa de separaie aer / siliciu la unghiuri diferite.
(b) ncapsularea luminii prin reflexie total.

n Fig. 2-5(b) se poate observa o singura raz ncapsulat, dar se pot transmite mai multe raze cu
unghiuri de inciden diferite, datorit faptului c orice raz de lumin cu unghi de inciden la
suprafaa de separaie mai mare dect unghiul critic va fi reflectat total. Se spune c fiecare raz are
un mod diferit, iar fibra care are aceast proprietate se numete fibr multi-mod.
Oricum, dac diametrul fibrei este redus la cteva lungimi de und ale luminii, fibra
acioneaz ca un ghid de und i lumina se va propaga n linie dreapt, fr reflexii, rezultnd
o fibr mono-mod. Aceste fibre sunt mai scumpe, dar pot fi folosite pe distane mai mari.
Fibrele mono-mod curente pot transmite date la mai muli Gbps pe distane de 30 Km. Rate
de transfer de date mai mari au fost obinute n laborator pe distane mai scurte.
Experimentele au artat c lasere puternice pot transmite pe fibre de lungimi de 100 Km, fr
repetoare, ns la viteze mai mici. Cercetrile referitoare la fibrele dopate cu erbium promit
transmisii pe distane chiar mai lungi, fr a utiliza repetoare.

Transmisia luminii prin fibre

Fibrele optice sunt fabricate din sticl, iar sticla este fabricat la rndul ei din nisip, un material
brut necostisitor, care se gsete n cantiti nelimitate. Producerea sticlei era cunoscut de egiptenii
din Antichitate, dar sticla lor trebuia s nu fie mai groas de 1 mm pentru ca lumina s treac prin
82 NIVELUL FIZIC CAP. 2

ea. Sticla suicient de transparent pentru a putea fi folosit ca fereastr a aprut n timpul
Renaterii. Sticla folosit pentru fibrele optice moderne este att de transparent nct, dac oceanul
ar fi fost plin cu sticl n loc de ap, fundul oceanului s-ar vedea tot att de clar, cum se vede din
avion pmntul ntr-o zi senin.
Atenuarea luminii prin sticl depinde de lungimea de und a luminii. Pentru tipul de sticl folosit
la fibre optice, atenuarea este prezentat n Fig. 2-6 n decibeli pe kilometru linear de fibr.
Atenuarea n decibeli este dat de formula:

puterea _ transmis
Atenuarea _n_ decibeli = 10 logJC
puterea _ recepionat

De exemplu, pentru un factor de pierdere egal cu 2 rezult o atenuare de 10 Iogio2 = 3 dB.


Figura prezint valorile atenurii pentru lungimi de und apropiate spectrului razelor infraroii, care
sunt folosite n practic. Lumina vizibil are lungimi de und puin mai mici, de la 0.4 la 0.7 microni
(1 micron este IO*6 metri).

Banda de Banda de Banda de


0.85n

0.8 0.9 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
Lungimea de und (microni)

Fig. 2-6. Atenuarea luminii prin fibr n spectrul infrarou.

Trei benzi din acest spectru sunt folosite n comunicaii. Ele sunt centrate respectiv la 0.85,1.3 i
1.55 microni. Ultimele dou au proprieti bune de atenuare (mai puin de 5 la sut pierderi pe
kilometru). Banda de 0.85 microni are o atenuare mai mare, dar o proprietate care o avantajeaz este
c, la aceast lungime de und, laserul i echipamentul electronic pot fi fcute din acelai material
(arseniur de galiu). Toate cele trei benzi au o lrgime a benzii de 25,000 pn la 30,000 GHz.
Impulsurile de lumin transmise pe o fibr i extind lungimea n timpul propagrii. Aceast
extindere se numete dispersie. Mrimea ei este dependent de lungimea de und. Un mod de a
preveni suprapunerea acestor impulsuri extinse este de a mri distana dintre ele, dar aceasta se
SEC. 2.2 MEDIUL DE TRANSMISIE 83

ate face doar prin reducerea ratei de semnalizare. Din fericire, s-a descoperit c, dnd acestor
impulsuri o form special, legat de reciproca cosinusului hiperbolic, se anuleaz toate efectele de
dispersie, devenind astfel posibil s se trimit impulsuri pe mii de kilometri, fr distorsiuni
apreciabile ale formei. Aceste impulsuri se numesc solitonuri. Pentru a implementa n practic
aceast soluie de laborator se desfoar cercetri intense.

Cablurile din fibr de sticl


Cablurile din fibr de sticl sunt similare celor coaxiale, cu singura deosebire c nu prezint acel
material conductor exterior sub forma unei plase. Figura 2-7(a) prezint o seciune a unei singure
fibre. n centru se afl miezul de sticl prin care se propag lumina. n fibrele multi-mod, miezul are
un diametru de 50 microni, aproximativ grosimea prului uman. n fibrele mono-mod miezul este de
8 pn la 10 microni.

Protecie
Miez
(sticl)

mbrcminte Protecie
/
(sticl) (plastic) Miez \ ^ _ _ ^/ mbrcminte

(a) (b)
Fig. 2-7 (a) Vedere n seciune a unei singure fibre,
(b) Vedere n seciune a unei teci cu trei fibre.

Miezul este mbrcat n sticl cu un indice de refracie mai mic dect miezul, pentru a pstra lumina
n miez. Totul este protejat cu o nvelitoare subire din plastic. De obicei, mai multe fibre sunt grupate
mpreun, protejate de o teac protectoare. Figura 2-7(b) prezint un astfel de cablu cu trei fibre.
Aceste teci protectoare sunt ngropate n pmnt pn la adncimi de un metru, fiind ocazional
deteriorate de buldozere sau de crtie. Lng rm, fibrele sunt ngropate n anuri cu ajutorul unui
fel de plug de mare. n apele adnci, ele stau pe fundul apei, unde pot fi agate de traulere de
pescuit sau pot fi mncate de rechini.
Fibrele pot fi conectate n trei moduri. Primul mod const n ataarea la captul fibrei a unor
conectori care se pot lega la un soclu pentru fibr. Conectorii pierd aproape 10-20 la sut din lumin,
dar aceste sisteme sunt uor de reconfigurat.
Al doilea mod const n mbinarea mecanic. mbinrile mecanice se obin prin ataarea celor
dou capete unul lng altul, ntr-un nveli special, i fixarea lor cu ajutorul unor clame. Alinierea se
poate face prin trimitere de semnale prin jonciune i realizarea de mici ajustri pentru a maximiza
semnalul. Unui specialist i trebuie n jur de 5 minute s fac o mbinare mecanic, aceasta avnd ca
rezultat o pierdere a luminii cu 10 la sut.
A treia posibilitate este de a mbina (topi) cele dou buci de fibr, pentru a forma o conexiune
solid. O mbinare prin sudur este aproape la fel de bun ca i folosirea unui singur fir, dar chiar i
aici, apare o mic atenuare.
84 NIVELUL FIZIC CAP. 2

Criteriu LED Laser cu semiconductor


viteza de transfer a datelor Joas Mare
Mod Multi-mod Multi-mod sau mod unic '
Distana Scurt Lung
Durata de via Via lung Via scurt
Sensibilitatea Ia temperatur Minor Substanial
Cost Cost redus Scump

Fig. 2-8. O comparaie ntre diodele cu semiconductoare i LED-uri ca surse de lumin.

Pentru semnalizare se pot folosi dou tipuri de surse de lumin, LED-uri (Iight Emitting Diode -
diod cu emitere de lumin) i laserul din semiconductoii Ele au proprieti diferite, dup cum arat
Fig. 2-8. Ele se pot ajusta n lungime de und prin introducerea interferometrelor Fabry-Perot sau
Mach-Zender ntre sursa i fibra optic. Interferometrele Fabry-Perot sunt simple caviti rezonante,
formate din dou oglinzi paralele. Lumina cade perpendicular pe oglinzi. Lungimea acestei caviti
selecteaz acele lungimi de und care ncap n interior de un numr ntreg de ori. Interferometrele
Mach-Zender separ lumina n dou fascicole. Cele dou fascicole se propag pe distane uor diferite.
Ele sunt apoi recombinate i se afl n faz doar pentru anumite lungimi de und.
Captul fibrei optice care recepioneaz semnalul const dintr-o fotodiod, care declaneaz un
impuls electric cnd este atins de lumin. Rspunsul tipic al unei diode este de 1 nsec, ceea ce
limiteaz viteza de transfer de date la aproximativ 1 Gbps. Pentru a putea fi detectat, un impuls
luminos trebuie s aib suficient energie ca s evite problema zgomotului termic. Viteza de apariie
a erorilor se poate controla prin asocierea unei puteri suficient de mari a semnalului.

Reelele din fibre optice

Fibrele optice pot fi folosite att pentru LAN-uri ct i pentru transmisia pe distane foarte lungi,
cu toate c transmisia prin acest mediu este mult mai complex dect conectarea la Ethernet. Un
mod de a evita aceast problem este de a realiza c o reea n inel este doar o colecie de legturi
punct la punct, ca n Fig. 2-9. Interfaa fiecrui calculator las s treac impulsul de lumin ctre
urmtoarea legtur i totodat are rolul unei jonciuni n T pentru a face posibil transmiterea i
recepia mesajelor.

La/de la calculator
Srm de cupru

Direcia
de propagare
a luminii

Receptor Regenerator Transmitor


optic de semnal optic
Fibr optic "Interfa (fotodiod) (electric) (LED)

Fig. 2-9. Un inel din fibr optic cu repetoare active.


SEC. 2.2 MEDIUL DE TRANSMISIE 85

Se folosesc dou tipuri de interfee. O interfa activ const din doi conectori sudai pe fibra
central. Unul din ei are la un capt un LED sau o diod cu laser (pentru transmisie) i cellalt are
la capt o fotodiod (pentru recepie). Conectorul este complet pasiv i prezint ncredere, deoarece
un LED sau o fotodiod defect nu ntrerupe inelul, ci doar scoate un calculator din circuit.
Un alt model de interfa, prezentat n Fig. 2-9, este repetorul activ. Lumina recepionat este
convertit ntr-un semnal electric, regenerat la puterea maxim, dac este atenuat i retransmis ca
semnal optic. Interfaa cu calculatorul este o srm de cupru obinuit care se leag la regeneratorul
de semnal. n prezent, sunt folosite i repetoare integral optice. Aceste echipamente nu necesit
conversiile optic - electric - optic, ceea ce nseamn c opereaz cu lrgimi de band foarte nalte.
n cazul n care repetorul activ se deterioreaz, inelul este ntrerupt i reeaua cade. Pe de alt
parte, deoarece semnalul este regenerat la fiecare interfa, legturile ntre dou calculatoare
adiacente pot avea lungimi de kilometri, practic fr nici o limit n dimensiunea total a inelului.
Interfeele pasive pierd lumin la fiecare jonciune, avnd ca efect restricii drastice n ceea ce
privete numrul de calculatoare ce pot fi conectate i lungimea total a inelului.

Interfee
cu
calculatorul

Fiecare fibr la intrare


lumineaz ntreaga stea

Fiecare fibr de ieire


recepioneaz lumina de la
toate fibrele de intrare

Fig. 2-10. Conectarea unei stele pasive n reelele de fibr optic

O topologie n inel nu este singura modalitate de a construi un LAN folosind fibre optice, fiind
posibil de asemenea arhitectura stea pasiv prezentat n Fig. 2-10. n aceast schem, fiecare
interfa prezint o fibr care face conexiunea ntre transmitor i un cilindru de siliciu, cu toate
aceste fibre sudate la un capt al cilindrului. Similar, fibrele sudate la cellalt capt al cilindrului se
conecteaz la fiecare receptor. Ori de cte ori o interfa transmite un semnal, el este difuzat n
interiorul stelei pasive pentru a ilumina toi receptorii, realizndu-se astfel difuzarea. Steaua pasiv
combin toate semnalele de la intrare i transmite semnalul combinat pe toate liniile. Deoarece
energia de la intrare este mprit ntre toate liniile de la ieire, numrul de noduri n reea este
limitat de senzitivitatea fotodiodelor.
86 NIVELUL FIZIC CAP. 2

Comparaie ntre fibrele optice i firul de cupru


O comparaie ntre fibr i cupru este instructiv. Fibra are multe avantaje. Mai nti,
lrgimea de band pe care o suport este mai mare dect a cuprului. Numai acest lucru i ar fi
suficient pentru a fi utilizat n reelele performante. Datorit atenurii sczute, repetoarele
sunt necesare la fiecare 30 km pe liniile lungi, n comparaie cu 5 Km pentru cupru. Fibra are
avantajul c nu este afectat de ocurile electrice, de interferena cmpului electromagnetic
sau de cderile de tensiune. De asemenea, nu este afectat de substanele chimice corozive din
aer, fiind ideal pentru mediile aspre din fabrici.
Destul de surprinztor, companiile de telefoane prefer fibra dintr-un alt motiv: este
subire i foarte uoar. Multe din canalele cu cabluri sunt pline pn la refuz i prin
nlocuirea cuprului cu fibr se golesc canalele, iar cuprul are o valoare excelent pe pia,
deoarece fabricile de cupru l consider un minereu de mare importan. De asemenea, fibra
este mai uoar dect cuprul. O mie de cabluri torsadate cu o lungime de 100 Km lungime
cntresc 8000 Kg. Dou fibre au o capacitate mai mare i cntresc doar 100 Kg, acest lucru
reducnd drastic necesitatea unor echipamente mecanice scumpe care trebuie ntreinute. Pe
traseele noi, fibra ctig detaat n faa cuprului datorit costului de instalare foarte sczut.
n sfrit, fibrele nu pierd lumin i sunt foarte dificil de interceptat. Acest lucru le ofer o
excelent securitate mpotriva unor poteniale tentative de interceptare.
Motivul pentru care fibra este mai bun dect cuprul este intrinsec. Cnd electronii se
mic ntr-un cablu, ei interacioneaz unul cu altul i sunt ei nii influenai de electronii din
afara cablului. Fotonii dintr-o fibr nu interacioneaz unul cu altul i nu sunt afectai de
fotonii din exterior.
Pe de alt parte, fibra este o tehnologie nefamiliar i necesit o pregtire pe care cei mai
muli dintre ingineri nu o au. Deoarece transmisia optic este prin natura ei unidirecional,
comunicaiile bidirecionale necesit fie dou fibre, fie dou benzi de frecven diferite pe
aceeai fibr. n sfrit, interfeele pentru fibr cost mai mult dect interfeele electrice. Nu
mai puin adevrat este faptul c toate comunicaiile de date pe lungimi mai mari dect civa
metri se vor face n viitor cu fibre. Pentru o prezentare detaliat a tuturor aspectelor ce apar
ntr-o reea cu fibr optic, vezi (Green 1993).

2.3 COMUNICAIILE FR FIR

Secolul nostru a generat dependena de informaie : oameni care au nevoie s fie n


permanena conectai. Pentru aceti utilizatori mobili, cablul torsadat, cablul coaxial i fibrele
optice nu sunt de nici un folos. Ei au nevoie de date pentru calculatoarele lor portabile, de
buzunar, fr a fi legai de infrastructura comunicaiilor terestre. Pentru aceti utilizatori,
rspunsul l constituie comunicaiile fr fir. n aceast seciune vom arunca o privire general
asupra comunicaiilor fr fir, deoarece acestea au multe aplicaii importante peste serviciile
de conectare oferite utilizatorilor care doresc s-i citeasc pota electronic n avion.
Unii oameni cred c viitorul rezerv numai dou tipuri de comunicaii: prin fibre optice i fr
fir. Toate calculatoarele, faxurile, telefoanele fixe (nemobile) vor folosi fibre, iar cele mobile vor
folosi comunicaia fr fir.
COMUNICAIILE FR FIR 87
SEC 2.3
n comunicaia fr fir este avantajoas chiar i pentru echipamentele fixe, n anumite
urri De exemplu, n cazul n care conectarea unei cldiri cu ajutorul fibrei este dificil datorit
1 ii (muni, jungle, mlatini etc), comunicaia fr fir este preferabil. Este de remarcat faptul c
?,. ele de comunicaie digital fr fir au aprut n Insulele Hawaii, unde utilizatorii erau desprii
ari ntinderi de ap din oceanul Pacific, sistemul telefonic fiind inadecvat.

23.1 Spectrul electromagnetic

Atunci cnd electronii se afl n micare, ei creeaz unde electromagnetice care se pot propaga
~ sDatiu (chiar si n vid). Aceste unde au fost prezise de fizicianul britanic James Clerk Maxwell n
1865 si au fost produse i observate pentru prima dat de fizicianul german Heinrich Hertz n 1887.
Numrul de oscilaii pe secund este numit frecven, /, i este msurat n Hz (n onoarea lui
Heinrich Hertz). Distana dintre dou maxime (sau minime) consecutive este numit lungime de
und. Notaia universal a lungimii de und este X (lambda).
Prin ataarea unei antene corespunztoare unui circuit, undele electromagnetice pot fi difuzate
eficient si interceptate de un receptor, aflat la o anumit distan. Toate comunicaiile fr fir se
bazeaz pe acest principiu.
n vid, toate undele electromagnetice se transmit cu aceeai vitez, indiferent de frecven,
Aceast vitez, de obicei numit viteza luminii, c, este de aproximativ de 3 x IO8 msec, sau aproape
1 picior (30 cm) pe nanosecund. n cupru sau n fibr, viteza scade la aproape 2/3 din aceast
valoare i devine uor dependent de frecven. Viteza luminii este viteza maxim care se poate
atinge. Nici un obiect sau semnal nu se va deplasa vreodat cu o viteza mai mare ca aceasta.
Relaia fundamental dintre,/, A i c (n vid) este

/=c (2-2)

Deoarece c este o constant, dac tim /, putem afla X i invers. De exemplu, undele cu o
frecven de 1 MHz au o lungime de aproape 300 metri, iar cele cu o lungime de 1 cm au o frecven
de30GHz.
Spectrul electromagnetic este prezentat n Fig. 2-11. Domeniile corespunztoare undelor radio,
microundelor, undelor infraroii i luminii vizibile din spectru pot fi folosite pentru transmiterea
informaiei prin modularea amplitudinii, frecvenei, sau fazei undelor. Lumina ultraviolet, razele X
i razele gama ar fi chiar mai performante datorit frecvenei lor mai nalte, dar ele sunt greu de
produs i de modulat, nu se propag bine prin cldiri i sunt periculoase fiinelor vii. Benzile listate n
partea de jos a Fig. 2-11 sunt numele oficiale ITU i se bazeaz pe lungimile de und, LF acoperind
intervalul de la 1 Km la 10 Km (aproximativ de la 30 kHz la 300 kHz). Termenii de LF,MF i HF se
refer la frecvenele joase, medii i respectiv nalte. Este evident c atunci cnd au fost date aceste
nume, nimeni nu se atepta s foloseasc frecvene mai mari de 10 MHz. Benzile mai nalte au fost
numite mai trziu benzi de frecven Foarte, Ultra, Super, Extrem i Extraordinar de nalte.
Dincolo de aceste frecvene nu mai exist denumiri consacrate, dar am putea s folosim termeni de
frecvene Incredibil, Uimitor i Miraculos de nalte.
Cantitatea de informaie pe care o und electromagnetic o poate transporta este legat de
lrgimea ei de band. Folosind tehnologia curent, este posibil s codificm civa bii pe Hertz la
frecvene joase i deseori pn la 40 bii / Hz n anumite condiii, la frecvene nalte, deci un cablu cu
88 NIVELUL FIZIC CAP. 2

lrgime de band de 500 MHz poate transporta mai muli gigabii / sec. Din Fig. 2-11 ar trebui s
reias acum clar de ce oamenii care se ocup de reele apreciaz aa de mult fibrele optice.

f(Hz)10 IO2 10* 106 10 8 1010 1012 10U 10 16 1018 10 20 1022 1024

Radio Microunde Infrarosu UV RazeX Raze Gamma

Lumin
vizibil

f(Hz)10.' IO5 106 IO7 IO8 IO9 1010 10" 1012 1013 1014 ir/ 1016
Cablu torsadat Satelii Fibre
1 * optice
Coax Microunde
Radio Radio terestre
Maritim J^J\ FM

TV

I 1 1 1 1 1 1
Band LF MF HF VHF UHF SHF EHT THF

Fig. 2-11. Spectrul electromagnetic aa cum este folosit n comunicaii.

Dac rezolvm Ec. (2-2) pentru/i o difereniem n raport cu lungimea de und, obinem

.-___2
dk~ X
Dac acum trecem la diferene finite n loc de difereniale i alegem doar valorile pozitive, obinem:

2
(2-3)
X
Astfel, fiind dat lrgimea unei benzi de lungimi de und, &k, putem calcula banda de frecven
corespunztoare, A/, i, din aceasta, viteza de transfer de date pe care banda o poate produce. Cu ct
banda este mai larg, cu att creste viteza de transfer a datelor. De exemplu, s considerm banda
de 1.30 microni din Fig. 2-6. Aici avem A = 1.3 x IO"6 iAX = 0.17 x IO"6, cu A/ aproape 30 THz.
Pentru a preveni un haos total, exist convenii naionale i internaionale relative la ce frecvene
pot fi folosite i de ctre cine. Fiecare vrea o vitez de transmisie mai mare, adic vrea un spectru
de frecvene mai larg. n Statele Unite, FCC aloca spectru pentru radio AM i FM, televiziune i
telefoanele celulare i totodat pentru companiile de telefoane, poliie, navigaie, armat, guvern i
muli ali competitori. Pe scar global, acest lucru l face o agenie a ITU-R (WARC). De exemplu,
la ntlnirea din Spania din 1991, WARC a alocat echipamentelor de comunicaie portabile o
anumit poriune din spectru. Din pcate, FCC, care nu este limitat de recomandrile WARC, a
c 2 3 COMUNICAIILE FR FIR 89

Ies o alt poriune din spectru (deoarece oamenii din Statele Unite care deineau banda respectiv
au vrut s renune la ea i au avut o influen politic suficient). n consecin, echipamentele de
comunicaie personale construite pe piaa S.U.A. nu vor funciona n Europa sau Asia i vice-versa.
Majoritatea transmisiilor folosesc o band ngust de frecven {tflf 1) pentru a obine cea
mai buna recepie (muli W/Hz). Oricum, n unele cazuri, transmitorul sare de la o frecven la
alta n conformitate cu anumite reguli, sau transmisia este intenionat ntins pe o band de
frecvent larg. Aceast tehnic se numete spectru mprtiat (spread spectrum) (Kohno 1995).
Ea este foarte popular n comunicaiile armatei, deoarece face transmisia greu de detectat i
aproape imposibil de bruiat. Saltul peste frecvene nu este de mare interes pentru noi (n afar de
faptul c a fost co-inventat de actria de cinema Hedy Lamarr). Spectrele cu adevrat largi, numite
uneori spectru mprtiat cu secven direct (direct sequence spread spectrum), ctig
popularitate n lumea comercial i vom reveni la ele n capitolul 4. Pentru o istorie fascinant i
detaliat a comunicaiilor n spectru larg, vezi (Scholtz, 1982).
Pentru moment, vom considera c toate transmisiunile folosesc o band de frecven ngust.
Vom discuta despre diferitele pri ale spectrului, ncepnd cu banda radio.

2.3.2 Transmisia radio

Undele radio sunt uor de generat, pot parcurge distane mari, penetreaz cldirile cu uurin,
fiind larg rspndite n comunicaii, att interioare ct i exterioare. Undele radio sunt de asemenea
omnidirecionale, ceea ce nseamn c se pot propaga n orice direcie de la surs, deci nu este
nevoie de o aliniere fizic a transmitorului i a receptorului.
Uneori aceast proprietate de propagare omnidirecional este bun, alteori nu. n anii '70,
General Motors a decis s echipeze noile sale Cadillac-uri cu un calculator care s previn
blocarea frnelor. Atunci cnd oferul apsa pedala de frn, calculatorul frna treptat, n loc
s preseze frna complet. ntr-o frumoas zi de var, un ofier de pe o autostrad din Ohio a
nceput s-i foloseasc staia radio mobil pentru a chema sediul central i deodat Cadillac-
ul situat n apropriere a nceput s se cabreze ca un cal slbatic. Atunci cnd ofierul a oprit
maina, oferul a pretins c el nu a fcut nimic i c maina a nnebunit.
n cele din urm a reieit c lucrurile se petreceau dup un anumit tipar: Cadillac-urile erau
scpate uneori de sub control, dar numai pe marile autostrzi din Ohio i numai cnd patrula era n
zona. Pentru o foarte lung perioad de timp, cei de la General Motors nu au neles de ce
Cadillac-urile mergeau foarte bine n toate celelalte state, ca i pe strzile secundare din Ohio. Dup
ndelungi cutri ei au descoperit c, n Cadillac, cablajul forma o anten foarte bun pentru
frecvena folosit de noul sistem radio al poliiei rutiere din Ohio.
Proprietile undelor radio sunt dependente de frecvene. La frecvene joase, undele radio se
propag bine prin obstacole, dar puterea semnalului scade mult odat cu distana de la surs,
aproximativ cu l/r3 n aer. La frecvene nalte, undele radio tind s se propage n linie dreapt i s
sar peste obstacole. De asemenea, ele sunt absorbite de ploaie. Toate frecvenele radio sunt supuse
la interferene datorate motoarelor i altor echipamente electrice.
Datorit capacitii undelor radio de a se propaga pe distane mari, interferena dintre utilizatori
devine o problem. Din acest motiv, toate guvernele acord cu foarte mare atenie licenele pentru
utilizatorii de transmitoare radio, cu o singur excepie (discutat mai jos).
In benzile de frecven foarte joase, joase i medii, undele radio se propag la sol, dup cum este
90 NIVELUL FIZIC CAP. 2

ilustrat n Fig. 2-12(a). Aceste unde pot fi detectate pn la aproximativ 1000 Km pentru frecvene \
joase i mai puin pentru cele mai nalte. Difuzarea undelor radio AM folosete banda MF, acesta
fiind motivul pentru care staia radio AM din Boston nu poate fi auzit cu uurin n New York.
Undele radio n aceast band trec uor prin cldiri, fiind astfel posibil utilizarea radiourilor
portabile n spaii interioare. Problema principal care apare la comunicarea de date la aceste
frecvene este lrgimea relativ mic a benzii pe care o ofer [ vezi Ec. (2-2)].
n benzile nalte i foarte nalte, undele de la sol tind s fie absorbite de pmnt.
Oricum, undele care ating ionosfera, un strat de particule care nvelesc atmosfera la o nlime
de 100 pn la 500 Km, sunt refractate de aceasta i trimise napoi spre pmnt, dup cum arat Fig.
2-12(b). n anumite condiii atmosferice, semnalele pot parcurge acest drum de mai multe ori.

Und la
suprafaa pmntului

Suprafaa pmntului \s \y ^^ Suprafaa pmntului


(a) (b)

Fig. 2-12. (a) n benzile VLF, VF i MF, undele radio urmresc curbura pmntului,
(b) n banda HF undele revin din ionosfera.

Operatorii radio amatori folosesc aceste benzi pentru a realiza convorbiri la mare distan. De
asemenea, armata comunic n benzile de und nalte i foarte nalte.

2.33 Transmisia prin microunde

Peste 100 MHz, undele se propag n linii drepte i pot fi, din acest motiv, direcionate.
Concentrnd toat energia ntr-un fascicol ngust, cu ajutorul unei antene parabolice (ca o anten de
satelit obinuit) rezult o valoare mult mai ridicat a ratei de semnal-zgomot, dar antenele care
transmit i cele care recepioneaz trebuie s fie aliniate cu precizie una cu alta. n plus, faptul c
aceste unde sunt orientate permite ca mai multe transmitoare s fie aliniate i s comunice cu mai
multe receptoare fr interferene. naintea fibrelor optice, microundele au format, timp de decenii,
inima sistemului telefonic de comunicaie pe distane mari. De fapt, numele companiei MCI
provenea de la Compania de Comunicaii prin Microunde (Microwave Communication Inc.),
deoarece ntregul ei sistem a fost iniial construit pe baz de turnuri de microunde (de atunci cea
mai mare parte a fost trecut la reea cu fibr).
Datorit faptului c microundele se propag n linii drepte, dac turnurile sunt foarte deprtate,
atunci st n cale pmntul (gndii-v la o legtur ntre San Francisco i Amsterdam). De
asemenea sunt necesare, periodic, repetoare. Cu ct turnurile sunt mai nalte, cu att repetoarele se
pot afla la distane mai mari. Distana dintre repetoare crete aproximativ cu radicalul nlimii
turnului. Pentru turnuri cu o nlime de 100 m, repetoarele se pot afla la distane de 80 Km.
Spre deosebire de undele radio la frecvene joase, microundele nu trec bine prin cldiri. n plus
cu toate c unda poate fi bine direciona la transmitor, apare o divergen n spaiu. Unele unde
COMUNICAIILE FR FIR 91

te
:i* refractate de straturile atmosferice joase i pot ntrzia mai mult dect undele directe. Undele
"ifiziate pot sosi defazate fa de unda direct, anulnd astfel semnalul. Acest efect este numit
re multi-ci (multipath fading) i constituie deseori o problem serioas. Este dependent de

eme si de frecven. Unii operatori pstreaz nefolosit un procent de 10 la sut din canalul propriu
nentru a putea comuta pe acesta atunci cnd atenuarea multi-ci anuleaz temporar anumite benzi
de frecven.
Cererea de spectre din ce n ce mai larg contribuie la mbuntirea tehnologiilor, astfel nct
transmisia poate folosi frecvene i mai nalte. Benzi de pn la 10 GHz sunt acum uzuale, dar la
aproape 8 GHz apare o nou problem: absorbia de ctre ap. Aceste unde sunt doar de civa
centimetri lungime i sunt absorbite de ploaie. Acest efect ar fi fost potrivit pentru cineva care ar
ncerca s construiasc un imens cuptor cu microunde n aer liber, dar pentru comunicaii este o
problem dificil. La fel ca i n cazul atenurii multi-ci, singura soluie posibil este de a ntrerupe
legturile acolo unde plou i s se gseasc o alt rut.
Comunicaiile cu microunde sunt att de larg folosite de telefonia pe distane mari, telefoanele
celulare, televiziune i altele, nct a aprut o criz n ceea ce privete spectrul. Microundele au mai
multe avantaje semnificative fa de fibr. Cel mai important avantaj este c nu sunt necesare
drepturi de acces la drum, cumprnd un mic teren la fiecare 50 Km i montnd un turn pe el, se
poate ocoli sistemul telefonic i se poate realiza o comunicare direct. Astfel a reuit MCI s
porneasc att de rapid ca o companie de telefoane pe distane mari. (Sprint a aplicat o alt tactic :
a fost format de Southern Pacific Railroad (cile feroviare sudice), care deja deinea destule
drepturi de acces i tot ce a avut de fcut a fost s ngroape fibra lng ine.)
Comunicaiile cu microunde, prin comparaie cu alte medii de transmisie, sunt ieftine.
Preul ridicrii a dou turnuri simple (doi stlpi nali asigurai cu patru cabluri) i de montare
a unei antene pe fiecare turn, poate fi mai mic dect preul ngroprii a 50 de Km de fibr ntr-
o zon urban foarte populat sau peste un munte i poate fi mai mic dect costul nchirierii
fibrei de la o companie telefonic, mai ales atunci cnd acestea nu au pltit nc integral
cuprul care a fost nlocuit cu fibr.
n afar de utilizarea pentru transmisia pe distane mari, microundele mai au o alt aplicaie
important i anume benzile industriale, tiinifice i medicale. Aceste benzi sunt o excepie de la
regula acordrii licenelor: transmitoarele care folosesc aceste benzi nu necesit licene de la
guvern. Este alocat global o singur band: 2.400-2.484 GHz. n plus n Statele Unite i Canada,
exist benzi ntre 902-928 MHz i ntre 5.725 - 5.850 GHz. Aceste benzi sunt folosite de telefoanele
fr fir, uile de garaj cu telecomand, boxe Hi-Fi fr fire, pori securizate etc. Banda de la 900
MHz funcioneaz cel mai bine, dar este suprasolicitat, iar echipamentul care o utilizeaz poate fi
folosit numai n America de Nord. Benzile mai largi necesit un echipament electronic mai scump i
sunt supuse la interferene datorate cuptoarelor cu microunde i instalaiilor radar. Nu mai puin
adevrat este faptul c aceste benzi sunt foarte uzuale pentru diferite forme de reele fr fir pe arii
restrnse, deoarece nu necesit procurarea unei licene.

2.3.4 Undele infraroii i milimetrice

Undele infraroii i milimetrice sunt larg folosite pentru comunicaiile pe distane reduse.
Telecomenzile pentru televizoare, aparatele video i stereo folosesc comunicaiile n infrarou. Ele
sunt relativ direcionale, ieftine i uor de construit, dar au un dezavantaj major: nu penetreaz
92 NIVELULFIZIC CAP. 2;

obiectele solide (ncercai s stai ntre telecomand i televizor i vedei dac mai merge). n general,
cum ne deplasm de la undele radio lungi ctre lumina vizibil, undele se comport din ce n ce mai
mult ca lumina i din ce n ce mai puin ca unde radio.
Pe de alt parte, faptul c razele infraroii nu trec prin obiecte constituie un avantaj. Aceasta
nseamn c un sistem cu infraroii dintr-o camer a unei cldiri nu va interfera cu un sistem
similar situat n camerele adiacente. Mai mult, protecia sistemelor cu infraroii mpotriva
interceptrilor este mult mai bun dect sistemele radiofonice, exact din acest motiv. Datorit
acestor motive, pentru operarea unui sistem cu infraroii nu este necesar procurarea unei
licene, spre deosebire de sistemele radiofonice, care trebuie s dein o licen.
Aceste proprieti au fcut din undele infraroii un candidat demn de luat n seam pentru LAN-
urile interioare fr fir. De exemplu, calculatoarele i birourile dintr-o cldire pot fi echipate cu
transmitoare i receptoare infraroii relativ nedirecionate (adic oarecum omnidirecionale). n
acest fel, calculatoarele portabile cu posibiliti de comunicare prin infrarou pot face parte din
reeaua local fr a fi nevoie s se conecteze fizic la ea. Atunci cnd mai muli oameni se prezint la
o ntlnire cu calculatoarele lor portabile, ei pot sta ntr-o sal de conferine i s fie total conectai
fr a ntinde cabluri. Comunicaiile cu infraroii nu pot fi folosite n exterior, deoarece soarele
emite tot attea raze infraroii ct unde n spectrul vizibil. Pentru mai multe informaii despre
comunicaiile cu infraroii vezi (Adams ct al., 1993; i Bantz and Bauchot, 1994).

2.3.5 Transmisia de undelor luminoase

Semnalele optice neghidate au fost folosite secole ntregi. naintea faimoasei lui cltorii,
Paul Revere a folosit semnale optice binare de la Old North Church. O aplicaie mai modern
este conectarea reelei locale n dou cldiri prin intermediul laserului montat pe acoperiul
lor. Semnalizarea optic folosind laserul este inerent unidirecional, deci fiecare cldire are
nevoie de propriul ei laser i de propria ei fotodiod. Aceast schem ofer o band foarte
larg la un cost foarte redus. De asemenea, este uor de instalat i, spre deosebire de
microunde, nu necesit o licen FCC.
Puterea laserului, un fascicol foarte ngust, este aici o slbiciune. ndreptarea unui fascicol de
lumin de lmm lime ctre o int de 1 mm lime aflat la 500 de metri deprtare necesit o
tehnic de vrf. De obicei, sunt introduse lentile pentru a defocaliza uor fascicolul.
Un dezavantaj este c fascicolul laser nu penetreaz ploaia i ceaa groas, dar n mod normal
ele funcioneaz bine n zilele nsorite. Oricum, autorul a participat odat ntr-un hotel modern din
Europa la o conferin la care organizatorii conferinei s-au gndit s pun la dispoziie o camer
plin cu terminale, n care participanii s-i poat citi pota electronic n timpul prezentrilor
plictisitoare. Deoarece PTT-ul local nu dorea s instaleze un numr mare de linii telefonice doar
pentru 3 zile, organizatorii au montat pe acoperi un laser orientat ctre cldirea departamentului de
calculatoare al universitii de calculatoare aflat la o distana de civa kilometri. Ei l-au testat cu o
noapte nainte i totul a decurs perfect. La ora 9, dimineaa urmtoare, ntr-o zi nsorit, legtura a
czut i a rmas aa toata ziua. Seara, organizatorii au testat-o din nou cu atenie i a funcionat nc
o dat perfect. Acelai lucru s-a ntmplat timp de dou zile consecutiv.
-,, , SEC. 2.4 SISTEMUL TELEFONIC 93

Fascicolul laser
rateaz detectorul
Fotodetector Regiune de
/ turbulen a vederii Laser

t ^ t j - - ^ Cldura care se nal


din cldire

Fig. 2-13. Curenii de convecie pot interfera cu sistemele de comunicaie prin laser. Aici este
prezentat un sistem bidirecional, cu dou lasere.

Dup conferin, organizatorii au descoperit problema. Cldura datorat soarelui din


timpul zilei a determinat naterea unor cureni de convecie din acoperiul cldirii, ca n Fig. 2-
13. Acest aer turbulent a deviat fascicolul i 1-a fcut s oscileze n jurul detectorului. Aceast
vedere" atmosferic face ca stelele s plpie (acesta este motivul pentru care astronomii i
pun telescoapele pe vrful munilor - s fie ct se poate de mult deasupra atmosferei). Efectul
respectiv este responsabil i pentru tremurul" oselei ntr-o zi nsorit i a imaginii n Valuri'
deasupra unui radiator fierbinte.

2.4 SISTEMUL TELEFONIC

Dou calculatoare ale aceleiai companii sau organizaii, aflate la mic distan, pot fi
conectate simplu printr-un cablu, pentru a comunica ntre ele. Acesta este modul de
funcionare al reelelor locale. Oricum, cnd distanele sunt mari sau sunt multe calculatoare
ori cnd cablurile ar trebui s treac printr-un loc public, costul instalrii de cabluri particulare
este aproape prohibitiv. Mai mult, n aproape toate rile din lume, instalarea de cabluri de-a
lungul (sau pe sub) proprietile publice este ilegal. n consecin, proiectanii de reele
trebuie s se bazeze pe facilitile de comunicaie existente.
94 NIVELUL FIZIC CAP. 2

O astfel de facilitate este PSTN, (Public Switched Telephone Network - reea telefonic
comutat public), care a fost proiectat cu muli ani n urm, n cu totul alt scop: transmisia vocii
umane ntr-o form mai mult sau mai puin recognoscibil. Acest sistem nu este prea potrivit pentru
comunicaiile ntre calculatoare, dar situaia se schimb rapid odat cu introducerea fibrelor optice i
a tehnologiei digitale. n orice caz, sistemul telefonic este att de strns legat de reelele de
calculatoare (larg rspndite geografic), nct merit s i acordm un studiu mai aprofundat.
Pentru a vedea ordinul de mrime al problemei, s facem o comparaie scurt dar semnificativ
ntre proprietile unei conexiuni tipice ntre calculatoare printr-un cablu local i printr-o linie
telefonic. Un cablu care face legtura ntre dou calculatoare poate transfera date la viteza
7 8
memoriei, n mod tipic IO - IO bps. Rata de apariie a erorilor este de obicei att de mic, nct este
greu de msurat, dar o eroare pe zi ar fi considerat mare pentru majoritatea instalaiilor. O eroare
12 13
pe zi la acele viteze este echivalent cu o eroare la IO - IO bii transmii.
4
Prin contrast, o linie telefonic are o viteza maxim de transfer de date de ordinul IO bps i
o rat de apariie a erorilor cam de 1 la IO5 bii transmii, depinznd ntr-o anumit msur de
vrsta echipamentului telefonic cu comutaie folosit. Produsul dintre rata de apariie a unei
erori si viteza transferului de date ale unui cablu local este astfel cu 11 ordine de mrime mai
bun dect pentru o linie telefonic. Pentru a face o analogie n domeniul transportului,
raportul dintre costul ntregului proiect Apollo, cu ajutorul cruia oamenii au aterizat pe
Lun,i costul unei cltorii cu autobuzul n ora este de aproape 11 ordine de mrime
(exprimat n dolari la nivelul anului 1965: 40 miliarde la 0.40).
Desigur, proiectanii de sisteme de calculatoare cheltuiesc mult timp i efort pentru a
analiza cum pot fi acestea folosite ct mai eficient i au dificulti cu un sistem a crui
performan (din punctul lor de vedere) este cu 11 ordine de mrime mai slab. Pe de alt
parte, companiile telefonice au fcut eforturi considerabile n ultimul deceniu pentru
mbuntirea echipamentului i a serviciilor n diferite zone. n seciunile care urmeaz vom
descrie sistemele telefonice i vom prezenta istoria i viitorul lor. Pentru informaii
suplimentare despre structura sistemelor telefonice vezi (Bellamy 1991).

2.4.1 Structura Sistemului Telefonic

Atunci cnd Alexander Graham Bell a brevetat telefonul n 1876 (doar cu cteva ore naintea
rivalului su, Elisha Gray), cererea pentru noua sa invenie a fost imens. Piaa iniial consta n
vnzarea telefoanelor, existente numai sub form de perechi. Era la latitudinea clientului s ntind
un fir ntre ele. Dac proprietarul unui telefon dorea s comunice cu ali n proprietari de telefoane,
trebuiau folosite fire separate pentru conectarea tuturor celor n case. n mai puin de un an, oraele
erau acoperite cu fire care treceau peste case i copaci ntr-o ncrengtur slbatic. A devenit
imediat evident c modelul conectrii fiecrui telefon la fiecare alt telefon, ca n Fig. 2-14(a), nu va
putea funciona.
Bell a observat acest lucru i a nfiinat Bell Telephone Company, care a deschis primul oficiu cu
comutare (n New Haven, Connecticut), n 1978. Compania a ntins un fir ctre casa sau biroul
fiecrui client. Pentru a da un telefon, clientul lovea furca pentru a semnaliza sonor i a atrage astfel
atenia operatorului, care apoi conecta manual cei doi clieni cu ajutorul unui cablu. Modelul unui
oficiu de comutare este ilustrat n Fig. 2-14(b).
SEC. 2.4 SISTEMUL TELEFONIC 95

Destul de repede, oficiile de comutare Bell Systems au aprut peste tot i oamenii au simit
nevoia unor convorbiri interurbane, oficiile Bell System ncepnd s se conecteze ntre ele. Problema
"nitial a redevenit actual: conectarea fiecrui oficiu de comutare cu fiecare alt oficiu prin
intermediul unui cablu a scpat rapid de sub control, fiind astfel inventate oficiile de comutare de
nivelul doi. Dup un timp, au fost necesare mai multe oficii de nivelul doi, ca n Fig. 2-14(c). n cele
din urm, ierarhia a ajuns pn la 5 nivele.

(a) (b) (c)

Fig. 2-14. (a) Reea conectat integral, (b) Comutator centralizat.


(c) Ierarhie pe dou nivele.

n 1890, cele trei componente majore ale sistemului telefonic erau puse la punct: oficiile de
comutare, cablurile ntre clieni i oficiile de comutare (acum echilibrate, izolate, cablu
torsadat n locul firelor neizolate, legate la pmnt) i legturile ntre oficiile de comutare pe
distan lung. Cu toate c au aprut mbuntiri n toate cele trei domenii, modelul de baz
al sistemului Bell a rmas esenialmente intact mai bine de 100 de ani. Pentru o scurt istorie a
sistemului telefonic, vezi (Hawley 1991).
n prezent, sistemul telefonic este implementat ca o ierarhie pe multe nivele cu un grad
mare de redundan. Descrierea care urmeaz, dei foarte simplificat, conine totui
esenialul. Fiecare telefon are dou fire de cupru conectate direct la cel mai apropriat oficiu
final (deseori numit oficiu central local). Distana este n mod uzual ntre 1 i 10 Km, fiind mai
mic n orae dect n zonele rurale.
Numai n Statele Unite sunt peste 19,000 de oficii finale. Concatenarea codului zonei i a
primelor trei cifre din numrul de telefon specific n mod unic un oficiu final. Legtura format de
cele dou fire ntre un telefon i oficiul final este cunoscut n termeni tehnici sub numele de bucl
local. Dac toate buclele locale din toat lumea ar fi fost puse cap la cap, ele ar acoperi distana de
la pmnt la Lun i napoi de 1000 de ori.
La un moment dat, 80 la sut din capitalul AT&T era constituit de cuprul din buclele
locale. AT&T era atunci, de fapt, cea mai mare min de cupru din lume. Din fericire, acest
ucru nu era prea mult cunoscut n lumea investiiilor. Dac s-ar fi cunoscut, AT&T putea fi
cumprat, lichidate toate serviciile telefonice din Statele Unite, smuls tot cablul i vndut
mei rafinrii de cupru pentru un profit imediat.
96 NIVELUL FIZIC CAP. 2

Dac un abonat ataat la un anumit oficiu final apeleaz alt abonat ataat la acelai oficiu final,
mecanismul de comutare din acel oficiu stabilete o legtur electric direct ntre cele dou bucle
locale. Aceast legtur rmne intact pe toat durata convorbirii. Dac telefonul apelat este ataat
la un alt oficiu final, trebuie folosit o alt procedur. Fiecare oficiu final are un numr de linii
conectate la unul sau mai multe centre de comutare apropriate, numite oficii de taxare (sau dac
sunt n aceeai zon local, oficii n tandem). Aceste linii se numesc trunchiuri de conectare la
oficiile de taxare (toii connecting trunks). Dac se ntmpl ca att oficiul final al celui care apeleaz
ct i al celui apelat s aib un trunchi de conectare ctre acelai oficiu de taxare (ceea ce este
probabil dac sunt relativ apropriate), legtura poate fi stabil de ctre oficiul de taxare. O reea
telefonic format din telefoane (punctele mici), oficii finale (punctele mari) i oficiile de taxare
(ptratele) este prezentat n Fig. 2-14(c).
Dac apelantul i apelatul nu au un oficiu de taxare n comun, calea va trebui s fie stabilit
undeva mai sus n ierarhie. Oficiile de taxare sunt conectate prin intermediul unei reele formate din
oficii primare, de seciune i regionale. Comunicaiile ntre oficiile de taxare, primare, de seciune i
regionale se realizeaz prin intermediul trunchiurilor de comunicaie de band foarte larg.
Varietatea centrelor de comutare i a topologiei acestora (pot dou oficii de seciune s fie conectate
direct sau prin intermediul unui oficiu regional ?) difer de la o ar la alta n funcie de densitatea
telefonic. Figura 2-15 prezint un mod posibil de a realiza o legtur pe distane medii.

Oficii de
Telefon Oficiu Oficiu de comutare Oficiu de Oficiu Telefon
final taxare intermediare taxare final

Bucl Trunchiuri de Trunchiuri Trunchiuri de Bucl


local conectare la de band foarte larg conectare la local
oficiile de taxare ntre oficiile de taxare oficiile de taxare

Fig. 2-15. O rut a circuitului uzual pentru o convorbire pe o distan medie

In telecomunicaii sunt diverse medii de transmisie. In prezent buclele locale constau din cabluri
torsadate, cu toate c, n primele zile ale telefoniei erau uzuale firele neizolate, aflate la o distana de
A.

25 cm ntre ele, la polii telefonului. Intre oficiile de comutare sunt larg folosite cablurile coaxiale,
microundele i mai ales fibrele optice.
n trecut, comunicarea n sistemul telefonic era analogic, semnalul vocal fiind transmis de la
surs la destinaie sub forma unei tensiuni electrice. Odat cu apariia electronicii digitale i a
calculatoarelor, a devenit posibil semnalizarea digital. n acest sistem sunt admise numai dou
tensiuni, de exemplu -5 voli i 5 voli.
Aceast tehnic are cteva avantaje fa de transmisiunea analogic. Primul este c, dei
atenuarea i distorsiunea sunt mult mai severe n cazul transmiterii unui semnal pe dou nivele dect
prin folosirea unui modem, este uor de calculat ct de departe se poate propaga un semnal astfel ca
el s mai poat fi recunoscut. Acolo, poate fi inserat un regenerator digital, pentru a regenera
semnalul la valoarea lui original, deoarece nu exist dect dou posibiliti. Un semnal digital poate
SISTEMUL TELEFONIC 97

gg p r - u n numr oarecare de regeneratoare digitale fr pierderi Q semnal i astfel s


'arcurg distane - mari fr pierderi de informaie. Prin contrast, semnalele analogice sufer
totdeauna pierderi de informaie atunci cnd sunt amplificate i aceste pierderi se cumuleaz.
Avantajul net este c transmisiunea digital prezint o frecven sczut a erorilor.
Un al doilea avantaj al transmisiunii digitale este c vocea, datele, muzica i imaginea (de
ex televizor, fax i video) pot fi suprapuse pentru a putea folosi mai eficient circuitele i
echipamentele. Un alt avantaj este c simt posibile viteze mult mai mari de transfer al datelor
pe liniile deja existente.
Un al treilea avantaj este c transmisiunea digital este mult mai ieftin dect transmisiunea
analogic, deoarece nu este necesar s se reproduc exact forma unei unde analogice dup ce
aceasta s-a propagat prin sute de amplificatoare ntr-o convorbire intercontinental. Posibilitatea de
a distinge corect ntre 0 i 1 este suficient.
jn sfrit, ntreinerea este mai uoar n cazul unui sistem digital dect al unuia analogic. Un bit
transmis este recepionat corect sau nu, fiind mai simpl depistarea problemelor.
n consecin, toate trunchiurile pe distane mari din sistemul telefonic sunt rapid convertite la
trunchiuri digitale. Sistemul vechi folosea transmisia analogic prin intermediul firelor de cupru;
noul sistem folosete transmisia digital prin intermediul fibrelor optice.
Pe scurt, sistemul telefonic const din trei componente majore:

1. Bucle locale (cablu torsadat, transmisie analogic).


2. Trunchiuri (fibre optice sau microunde, cele mai multe digitale).
3. Oficii de comutare.

Dup o scurt prezentare a politicii n domeniul telefonic, vom studia aceste trei componente
mai n detaliu. Ne vom ocupa de transmiterea datelor prin bucla local (un rspuns rapid: folosind
un modem). Pentru trunchiurile pe distane mari, subiectul principal va fi gruparea mai multor
convorbiri mpreun i trimiterea lor simultan. Subiectul se cheam multiplexare i vom studia trei
modaliti diferite de multiplexare. n sfrit, exist dou moduri fundamental diferite de a face
comutarea, aa c le vom studia pe amndou.

2.4.2 Politica din domeniul telefonic

Timp de mai multe zeci de ani, pn n 1984, Bell Systems a asigurat servicii att pe scurt ct i pe
lung distan pe aproape toat suprafaa Statelor Unite. n anii 70, guvernul S.UA a ajuns la concluzia
c acesta era un monopol ilegal i a hotrt s fl anuleze. Guvernul a ctigat pe 1 ianuarie 1984, AT&T
fiind destrmat n AT&T Long Lines, 23 de companii BOC (Bell Operating Companies) i alte cteva
pri. Cele 23 de companii BOC erau grupate n apte BOC regionale (RBOC) pentru a le face viabile
din punct de vedere economic. ntreaga natur a telecomunicaiilor n Statele Unite a fost schimbat
peste noapte de o hotrre judectoreasc (nu de un act al Congresului).
Detaliile exacte ale acestei privaiuni sunt descrise n aa numita MFJ (Modifed Final
Judgement, hotrre final modificat), un oximoron, n cazul n care a existat vreodat (dac
hotrrea putea fi modificat, este evident c nu era final). Acest eveniment a condus la o cretere
a competiiei, asigurarea unor servicii mai bune i preuri mai sczute adresate clienilor. Multe alte
frjiaji n consideraie introducerea competiiei dup acelai model.
98 NIVELUL FIZIC CAP. 2

S clarificm cum s-a putut atinge acest scop: Statele Unite au fost mprite n aproape
160 de LATA (Local Access and Transport Areas - zone de acces i transport locale). Pe scurt,
o LATA acoper o suprafa cam la fel de mare ca un cod zonal. n cadrul unei LATA, exist
de obicei un LEC (Local Exchange Carrier - transportator local), care deine monopolul pe un
serviciu telefonic tradiional din interiorul LATA. Cele mai importante LATA sunt BOC-
urile, cu toate c unele LATA conin una sau mai multe din cele peste 1500 de companii
telefonice independente care funcioneaz ca LEC-uri. ntr-un LATA care acoper o
suprafa ntins (cele mai multe sunt n Vest), LEC-ul poate asigura convorbiri pe distane
mari n cadrul aceleiai LATA dar nu poate asigura convorbiri ctre o alt LATA.

Primul oficiu de Al doilea oficiu de


talare IXC taxare IXC

IXC pop
Oficii
tandem

Oficii
finale

LATA1 LATA 2 LATA 3

' Fig. 2-16. Relaia dintre LATA-uri, LEC-uri i IXC-uri. Toate cerculeele sunt oficii de
comutare LEC. Fiecare hexagon aparine cte unui IXC.

Tot traficul inter-LATA este asigurat de un alt tip de companie, un IXC (IntereXchange Carrier
- transportatorul inter-oficii). Iniial, AT&T Long Lines era singura companie IXC serioas, dar
acum MCIj^Sgrint sunt competitori consacrai n domeniul IXC. Una dintre preocuprile care au
aprut la aceast partajare a fost ca toate IXC s fie tratate egal. n ce privete calitatea liniilor,
tarife i numrul de cifre pe care un client trebuie s le formeze pentru a le putea folosi. Modul n
care acest lucru a fost ndeplinit este prezentat n Fig. 2-16. Aici vedem trei exemple de LATA,
fiecare cu mai multe oficii finale. LATA-urile 2 i 3 au de asemenea o mic ierarhie format din
oficii tandem (oficii intra-LATA).
Orice IXC care dorete s asigure convorbiri provenite dintr-o LATA poate construi un oficiu de
comutare, numit POP (Point of Presence - Punct de Livrare). LEC-ul trebuie s conecteze fiecare
IXC la fiecare oficiu final, direct, ca n LATA 1 i 3, sau indirect, ca n LATA 2. Mai mult, condiiile
n care se face aceast conectare, att tehnice ct i financiare, trebuie s fie aceleai pentru toate
SEC 2.4 SISTEMUL TELEFONIC 99

iXC-urile. n acest mod, un abonat din, szieem, LATA 1, poate alege ce IXC s foloseasc pentru
aapela abonai din LATA 3.
Printr-o clauz a MFJ, companiilor IXC le era interzis s ofere servicii telefonice locale i tuturor
LEC le era interzis s ofere servicii telefonice inter-LATA, cu toate c amndou erau libere s intre
n orice alt afacere, de exemplu deschiderea unor restaurante. n 1984, aceast declaraie era lipsit
de ambiguiti. Din pcate, tehnologia are un fel de a face ca legea s par depit. Nici televiziunea
prin cablu i nici telefoanele celulare nu erau acoperite de aceast nelegere. Atunci cnd
televiziunea prin cablu a trecut de la forma unidirecional la bidirecional i a crescut brusc
popularitatea telefoanelor celulare, att LEC-urile ct i IXC-urile au nceput s cumpere sau s se
asocieze cu companiile din aceste domenii.
n 1995, Congresul a observat c meninerea unei deosebiri ntre diferite tipuri de companii nu
mai era posibil i a aprobat o not prin care permitea companiilor de cablu TV, companiilor
telefonice locale, transportatorilor pe distane mari i operatorilor celulari s fac afaceri unul n
domeniul celuilalt. Ideea era ca orice companie s poat oferi clienilor si un serviciu complet,
cuprinznd cablul TV, telefon i servicii informaionale i c diferite companii ar putea concura n
ceea ce privete calitatea serviciilor asigurate i preul acestora. Aceast not a fost legiferat n
februarie 1996. n urma acestei hotrri, peisajul telecomunicaiilor n Statele Unite se afl n
prezent n plin proces de restructurare radical.

2.43 Buclele locale

n ultimii 100 de ani, transmisia analogic a dominat comunicaiile. n particular, sistemul telefonic
a fost iniial bazat integral pe semnalizare analogic. n timp ce trunchiurile pe distane mari sunt acum
n mare parte digitale, cu precdere n rile mai avansate, buclele locale sunt nc analogice i probabil
vor rmne aa pentru nc un deceniu sau dou, datorit costului enorm de a le nlocui.

Echipamentul Echipamentul
clientului clientului

Digital
Analogic (trunchiurile Analogic
(bucl companiei (bucl
local) telefonice) local)
Codor/ Codor/
Decodor Decodor

Oficiu Oficiu Oficiu


final de taxare final
Digital Digital
(cablu scurt) (cablu scurt)

Fig. 2-17. Conectarea ntre calculatoare folosete att a transmisia analogice ct i cea digital.
Conversia este realizat de ctre modemuri i de ctre codoare/decodoare.

In consecin, atunci cnd un calculator dorete s trimit date numerice pe o linie telefonic,
datele trebuie s fie n prealabil convertite sub form analogic de ctre un modem, pentru a putea fi
.100 NIVELUL FIZIC CAP. 2

transmise pe o bucl local, apoi convertit la date numerice, atunci cnd sunt transmise pe
trunchiurile pe distane mari, apoi din nou la analogic, la captul care recepioneaz i, n final, din
nou la digital de ctre un alt modem, pentru a putea fi memorate n calculatorul de destinaie.
Aceast schem este prezentat n Fig. 2-17.
Dei aceast situaie nu este ideal, ea va rmne pentru moment neschimbat i studenii care
studiaz reelele ar trebui s neleag att transmisia analogic ct i cea digital, precum i cum se
face conversia de la una la alta. Pentru liniile nchiriate este posibil folosirea semnalului digital de la
un capt la altul, dar acestea sunt foarte scumpe i sunt utile numai pentru a construi reele private
n interiorul unei companii.
n subcapitolele care urmeaz vom arunca o scurt privire asupra problemelor transmisiei
analogice i vom examina cum pot modem-urile s transmit date numerice folosind circuite
analogice. De asemenea, vom face o prezentare a dou interfee uzuale pentru modem, RS-
232-CiRS-449.

Factori care afecteaz transmisiile

Semnalizarea analogic const n modificarea tensiunii electrice n funcie de timp, n scopul de a


reprezenta un ir de date. Dac mediul de transmisie ar fi fost ideal, receptorul ar fi primit exact
acelai semnal pe care 1-a expediat transmitorul. Din pcate, mediile nu sunt perfecte, semnalul
recepionat nefiind identic cu semnalul transmis. Pentru datele numerice, aceste diferene pot
conduce la erori.
Liniile de transmisie ntmpin trei mari probleme: atenuarea, distorsiunea de ntrziere i
zgomotul. Atenuarea reprezint pierderea n energie n timpul propagrii semnalului. Pentru
mediile ghidate (de ex. cabluri i fibrele optice), semnalul se atenueaz logaritmic cu distana.
Pierderea se exprim n decibeli pe kilometru. Energia pierdut depinde de frecvena semnalului.
Pentru a vizualiza efectul acestei dependene de frecven, s ne imaginm un semnal nu ca o simpl
und, ci ca o serie de componente Fourier. Fiecare component este atenuat diferit, ceea ce are ca
rezultat la receptor un spectru Fourier diferit, rezultnd implicit un semnal diferit.
Dac atenuarea este prea mare, receptorul poate s nu detecteze deloc semnalul, sau
semnalul se poate ncadra sub limita de zgomot. In cele mai multe cazuri, proprietile de
atenuare ale mediului sunt cunoscute, putnd fi folosii amplificatori care s compenseze
atenuarea dependent de frecven. Aceast metod ajut, dar niciodat nu va putea restaura
semnalul la forma lui original.
Al doilea factor care compromite transmisia este distorsiunea n ntrziere. Acesta este
determinat de faptul c diferite componente Fourier se propag cu diferite viteze. Pentru datele
numerice, componentele mai rapide ale unui bit pot ajunge din urm componentele mai lente ale
bitului anterior, mixnd cei doi bii i mrind astfel probabilitatea unei recepionri incorecte.
Al treilea factor este zgomotul, care reprezint energie nedorit, provenit din alte surse dect
transmitorul. Zgomotul termic este cauzat de micarea aleatorie a electronilor printr-o srm i
nu se poate evita. Interferena este produs de cuplajul inductiv care se formeaz ntre dou fire care
sunt apropriate unul de altul. Atunci cnd vorbim la telefon, putem auzi o alt conversaie n fundal.
Aceasta este interferena. n sfrit, exist i zgomote de tip impuls, determinate de ocuri electrice
sau de alte cauze. Pentru datele digitale, zgomotele de tip impuls pot duce la dispariia unuia sau a
mai multor bii.
SISTEMUL TELEFONIC 101
SEC. 2.4

^ problemelor prezentate anterior, n special datorit faptului c att atenuarea ct i


t o r

"t za de propagare sunt dependente de frecven, se dorete evitarea prezenei unui domeniu larg
de frecvene ritr-un semnal.
"*'- 0 1 0 1 1 0 0 1 0 0 1 0 0

(O

(d)

Schimbri defaza

Fig. 2-18. (a) Un semnal binar, (b) Modularea n amplitudine,


(c) Modularea n frecven, (d) Modularea n faz.

Din pcate, undele ptratice, precum cele din datele numerice, au un spectru larg i, n
concluzie, sufer o atenuare puternic i o distorsiune n ntrziere. Aceste efecte fac
semnalizarea n banda de baz (CC) nepotrivit, atunci cnd nu se utilizeaz viteze mici i
transmisia nu are loc pe distane scurte.
Pentru a evita problemele asociate cu semnalizarea n band de baz (CC), n special pe liniile
telefonice, se utilizeaz semnalizarea AC. Se introduce un ton continuu n domeniul 1000 - 2000 de
Hz, numit und purttoare sinusoidal. Amplitudinea, frecvena sau faza acestei unde pot fi
modulate. n modularea n amplitudine, sunt folosite dou nivele de tensiune pentru a reprezenta 0
i 1, respectiv. n modularea n frecven, cunoscut de asemenea sub denumirea de codare prin
deplasarea frecvenei (frequency shift keying), se folosesc dou (sau mai multe) tonuri diferite. n
102 NIVELUL FIZIC CAP. 2 I
1
varianta cea mai simpl a modulrii n faz, unda purttoare este sistematic comutat la intervale
egale la 45,135,225, sau 315 grade. Fiecare schimbare de faz transmite 2 bii de informaie. Figura
2-18 ilustreaz cele trei forme de modulare. Un echipament care accept un ir serial de bii la
intrare i produce un purttor modulat la ieire (sau vice-versa) se numete modem (modulator-
demodulator). Modemul este inserat ntre calculatorul (digital) i sistemul telefonic (analogic).
Atingerea unor viteze din ce n ce mai mari nu este posibil doar prin continua cretere a
ratei de eantionare. Teorema lui Nyquist afirm c, chiar i pentru o linie ideal de 3000 de
Hz ( ceea ce nu e cazul pentru o linie telefonic), eantionarea la o frecvena mai mare dect
6000 Hz este lipsit de interes. n consecin, toate cercetrile pentru obinerea unor
modemuri mai rapide sunt orientate ctre transmiterea mai multor bii pe eantion (pe baud).

15
77

(a) (b)

Fig. 2-19. (a) modularea 3 bii / baud. (b) modularea 4 bii / baud.

Cele mai performante modemuri folosesc o combinaie de tehnici de modulare pentru a


transmite mai muli bii pe baud. n Fig. 2-19(a), vedem puncte la 0,90,180 i 270 de grade, cu
dou niveluri de amplitudine pe faz. Amplitudinea este indicat prin distana fa de origine,
n Fig. 2-19(b) vedem o schem diferit de modulare, n care sunt folosite 16 combinaii de
amplitudine i diferene de faz. Astfel Fig. 2-19(a) are opt combinaii posibile i poate fi
folosit pentru a transmite 3 bii pe baud. Prin contrast, Fig. 2-19(b) are 16 combinaii valabile
i poate fi folosit astfel la transmiterea a 4 bii pe baud. Schema din Fig. 2-19(b) este numit
QAM (Quadratwre Amplitude Modulation - modulaia cuadratic toamplitudine) atunci cnd
este folosit pentru transmisia a 9600 bii pe secund pe o linie de 2400 baud.
Diagramele de genul celor din figura 2-19, care reprezint combinaiile posibile de amplitudine i
faz, sunt numite tipare de constelaii. Fiecare standard de modem de viteze nalte are propriul lui
tipar de constelaie i poate comunica numai cu alte modemuri care folosesc acelai standard (cu
toate c majoritatea modemurilor pot simula modemuri mai lente). Standardul modemului ITU
V.32 9600 bps folosete de exemplu tiparul de constelaie din Fig. 2-19(b).
Urmtorul pas peste 9600 bps este 14.400 bps. Este numit V.32 bis. Aceast vitez este atins
prin transmiterea a 6 bii pe eantion la o rat de 2400 baud. Tiparul de constelaie are 64 de puncte.
c 2 4 SISTEMUL TELEFONIC 103

^-modemurile folosesc aceast vitez pentru a transmite pagini care au fost scanate ca o hart de
""bii Dup V.32 bis urmeaz V.34, care atinge 28.800 bps. [t< ^- = ot00
' Cu attea puncte n tiparul de constelaie, chiar i un mic nivel de zgomot detectat n
amplitudine sau faz poate conduce la o eroare, deci la 6 bii eronai. Pentru a reduce posibilitatea
de a obine o eroare, multe modemuri adaug un bit de paritate, rezultnd tipar de constelaie de
128 de puncte. Codarea punctelor se face cu atenie, pentru a maximiza ansa de a detecta erorile.
Codificarea care face acest lucru se numete codificare matricial (trellis coding).
O metod cu totul diferit pentru a atinge transmisiuni la viteze mari este mprirea spectrului
de 3000 Hz n 512 benzi nguste i transmiterea s zicem la o rat de 20 bps, pe fiecare din ele.
Aceast schem cere ca modemul s conin un procesor performant, dar are avantajul c este
capabil s anuleze anumite benzi de frecven care sunt prea zgomotoase. Modemurile care
folosesc aceast tehnic au, de obicei, i caracteristici V.32 i V.34, deci pot comunica cu
modemurile standard.
Multe modemuri prezint faciliti de compresie i de corectare a erorilor. Marele avantaj al
acestei tehnici este c facilitile respective mbuntesc viteza efectiv de transmisie a datelor fr
a fi nevoie s se fac modificri n programele existente. O schem de compresie foarte utilizat este
MNP 5, ce folosete o codificare prin care se nlocuiete o secven de bii identici cu numrul de
apariii al acestor bii. Fax-modemurile folosesc aceast codificare, deoarece secvene de 0 (blanc)
sunt foarte obinuite. O alt schem este V.42 bis, care folosete algoritmul de compresie Ziv-
Lempel folosit n Compress i n alte programe (Ziv i Lempel, 1977).
Chiar i atunci cnd sunt folosite modemurile, o alt problem poate aprea pe liniile telefonice:
ecourile. Pe o linie lung, atunci cnd semnalul atinge destinaia final, o parte din energie se poate
reflecta, asemenea ecourilor acustice n muni. Pentru a ilustra ecourile electromagnetice, ncercai
s orientai noaptea lumina unei lanterne dintr-o camer ntunecat spre geam. Vei vedea o reflexie
a razei de lumin n geam (o parte din energie a fost reflectat la suprafaa de separaie dintre aer i
sticl i a fost trimis napoi n camer).Acelai lucru se ntmpl i cu liniile de transmisie, mai ales
acolo unde buclele locale ajung la oficiile finale.
Efectul acestui ecou este c o persoan care vorbete la telefon i aude dup o scurt perioad
de timp propriile lui cuvinte. Studii psihologice au artat c acest lucru este suprtor pentru mult
lume, producnd deseori confuzii. Pentru a elimina problema ecourilor, pe liniile mai lungi de 2000
Km sunt instalate uniti de suprimare a ecoului. (Pe liniile scurte ecourile se ntorc att de repede
nct oamenii nu sunt deranjai de ele.) O unitate de suprimare a ecoului este un echipament care
detecteaz vorbirea uman venind de la un capt i suprim toate semnalele care se propag n
cealalt direcie. Acesta este de fapt un amplificator care poate fi activat sau nu de un semnal de
control generat de un circuit de detectare a vorbirii.
Atunci cnd prima persoan termin de vorbit i ncepe a doua persoan, unitatea de suprimare
a ecoului i schimb direcia. O unitate bun de suprimare a ecoului poate face aceast comutare
ntr-un interval de timp de 2 pn la 5 milisecunde. Oricum, n timp ce funcioneaz, informaia se
poate scurge ntr-o singur direcie; ecourile nu se pot ntoarce la cel care trimite. Figura 2-20(a)
prezint starea unitii de suprimare a ecoului cnd A vorbete lui B. Figura 2-20(b) prezint starea
dup ce B a nceput s vorbeasc.
104 NIVELUL FIZIC CAP. 2

Circuit din dou fire


Suprimarea ecoului
(a)

(b)

Fig. 2-20. (a) A vorbind cu B. (b) B vorbind cu A

Unitile de suprimare a ecoului au cteva proprieti nedorite pentru comunicaiile de date. n


primul rnd, dac nu ar fi fost prezente, ar fi fost posibil s se transmit n amndou direciile
simultan, prin folosirea unor benzi de frecven diferite pentru fiecare direcie. Aceast abordare se
numete transmisie duplex integral. In cazul unitilor de suprimare a ecoului, transmisiunea duplex
integral este imposibil. Alternativa este transmisia semi-duplex, n care comunicaia se poate face n
amndou direciile, dar la momente diferite. O singur in de cale ferat este semi-duplex. Dei
comunicarea semi-duplex este adecvat, aceasta este suprtoare, deoarece timpul necesar pentru a
schimba sensul poate fi mare. Mai mult, unitile de suprimare a ecoului sunt proiectate s se
comute n funcie de detecia vocii umane, nu a datelor numerice.
Pentru a evita aceste probleme, circuitele telefonice cu uniti de suprimare a ecoului au fost
dotate cu o u de siguran. Cnd aceste uniti recepioneaz un ton clar la o frecven de 2100
Hz, ele se nchid automat i rmn aa att timp ct acest purttor este prezent. Aceast schem este
unul din multele exemple de semnalizare n band, numite astfel deoarece semnalele de control
care activeaz i dezactiveaz funciile de control intern se afl n banda accesibil utilizatorului. n
general, tendina este de a evita semnalizarea n band, pentru a preveni interferena utilizatorilor
cu funcionarea sistemului. n Statele Unite, cele mai multe din semnalizrile n band au disprut,
dar n alte ri nc exist.
O alternativ la unitile de suprimare a ecoului sunt unitile de anulare a ecoului. Acestea sunt
circuite care simuleaz ecoul, estimeaz mrimea lui i l scad din semnalul pe care l transmite, fr
a fi necesare relee mecanice. Cnd sunt folosite uniti de anulare a ecoului, este posibil operaia
duplex integral. Din acest motiv, n Statele Unite i n alte mari ri, unitile de anulare a ecoului
nlocuiesc rapid unitile de suprimare a ecoului.
SISTEMUL TELEFONIC 105

Interfaa dintre calculator sau terminal i modem este un exemplu de protocol al nivelului fizic.
Aceasta trebuie s specifice n detaliu interfaa mecanic, electric, funcional i procedural. Vom
'arunca acum o privire mai atent pe dou standarde binecunoscute ale nivelului fizic: RS-232-C i
succesorul suRS-449.
S ncepem cu RS-232-C, care reprezint a treia revizie a standardului RS-232. Standardul, al
crui nume complet este EIA RS-232-C Electronic Industries Association (Asociaia Industriilor
Electronice), o organizaie format din productori de echipamente electronice. Versiunea
internaional este dat de recomandarea CCITT V.24, este uor diferit de standardul menionat,
pentru unele circuite folosite mai rar. In standarde, terminalul sau calculatorul este numit DTE
(Data Terminal Equipment - Echipament Terminal de Date) iar modemul este numit oficial DCE
(Data Circuit-Terminating Equipment - Echipament de Terminare a Circuitului de Date).
Specificaia mecanic se refer la un conector de 25 de pini, cu o lime de 47,04 +/- 0.13 mm
(ntre axele uruburilor), toate celelalte dimensiuni fiind specificate la fel de riguros. Rndul de sus
conine pinii numerotai de la 1 la 13 (de la stnga la dreapta); rndul de jos are pinii numerotai de
la 14 la 25 (de asemenea de la stnga la dreapta).
Specificaiile electrice pentru RS-232-C precizeaz c tensiunea negativ sub -3 voli se
reprezint prin 1 binar i o tensiune mai mare de +4 voli este un 0 binar. Sunt permise viteze de
transfer al datelor de pn la 20 Kbps i cabluri de lungimi pn la 15 metri.

mpmntare (1)
Transmisie (2)
Recepie (3)
Cerere de transmisie (4)
Gata de transmisie (5)
Calculator Modem
sau Modem pregtit (6)
terminal Legtur bidirecional (7)
Purttoare detectat (8)
Terminal pregtit (20)

Fig. 2-21. Cteva dintre circuitele principale ale RS-232-C.


Numerotarea pinilor este dat n paranteze.

Specificaiile funcionale indic semnificaiile circuitelor conectate la fiecare din cei 25 de pini ai
conectorului. Figura 2-21 prezint 9 pini care sunt prezeni aproape ntotdeauna. Ceilali sunt omii
frecvent. Atunci cnd terminalul sau calculatorul este pus n funciune, el activeaz (seteaz pe 1
logic) Terminal Pregtit (Terminal Ready)(pinul 20). Atunci cnd modemul este pus n funciune,
seteaz Modem Pregtit (Data Set Ready) (pin 6). Atunci cnd detecteaz un purttor pe linia
telefonic, modemul activeaz Purttoare Detectat (Carrier Detected) (pin 8). Semnalul Cerere de
Transmisie (Request to send) (pin 4) indic faptul c terminalul dorete s transmit date. Semnalul
106 NIVELUL FIZIC CAP.2'

Gata de Transmisie (Qear to Send) (pin 5) arat c modemul este pregtit s accepte date. Datele
sunt transmise pe circuitul de Transmisie (pin 2) i recepionate pe circuitul de Recepie (pin 3).
Exist, de asemenea, alte circuite pentru a selecta viteza de transfer al datelor, testarea
modemului, sincronizarea datelor, detectarea apelurilor i trimiterea datelor n direcia opus, pe un
canal secundar. Ele sunt rareori folosite n practic.

RS-232-C CCITTV.24 RS - 449


Cod Pin Circuit Cod Pin Circuit Cod Pin Circuit
AA 1 Mas de protecie 101 1 Mas de protecie 1
AB 7 Mas semnal 102 7 Mas semnal S~G 19 Mas semnal
SC 37 tetur comun pentru transmisie
RC 20 Retur comun pentru recepie
BA 2 Date transmise 103 2 Date transmise SD 4,22 ransmite date
BB 3 Date recepionate 104 3 Date recepionate RD 6,24 Primete date
CA 4 Cerere de transmisie 105 4 Cerere de transmisie RS 7,25 Cerere de transmisie
CB 5 Gata de transmisie 106 5 Gata de transmisie CS 9,27 Gata de transmisie
CC 6 Modem pregtit 107 6 Modem pregtit DM 11,29 modul date
CD 20 Terminal pregtit 108 20 Terminal pregtit TR 12,30 Terminal Pregtit
CE 22 Indicator de sonerie 125 22 Indicator de apel IC 15 Apel
CF 8 Detector de linie 109 8 Detector de linie RR 13,31 Receptor Pregtit
CG 21 Calitatea semnalului 110 21 Calitatea semnalului SQ 33 Calitatea semnalului
CH 23 rata DTE 111 23 rata DTE SR 16 Rata de semnalizare
CI 18 rata DCE 112 18 rata DCE l 2 ndicatori de semnalizare
!S 28 Terminalul lucreaz
136 Apel nou NS 34 Apei nou
126 11 Frecvent de selecie SF 16 Frecvent de selecie
f
24 Sincronizare DTE
DA 113 24 Sincronizare DTE TT 17,25 Sincronizarea terminalului
DB 15 Sincronizare DCE 114 15 Sincronizare DCE ST 5,23 Sincronizarea transmisiei
DD 17 Sincronizarea 115 17 Sincronizarea RT 8,26 Sincronizarea recepiei
receptorului receptorului
SBA 14 Date transmise 118 14 Date transmise SSD 3 Transmite date
SBB 16 Date recepionate 119 16 Date recepionate SRD 4 Recepioneaz date
SCA 19 Cerere de transmisie 120 19 Semnal de linie SRS 7 Cerere de transmisie
SCB 13 Gata de transmisie 121 13 Canal pregtit SCS 8 Gata de transmisie
{ SCF 12 Detector de linie 122 12 Detector de linie SRR 2 Receptor pregtit
LL 10
RL 14 Bucl local
TM 18 Bucl la distan
modui test
SS 32 Selecteaz pregtit
SB 36 Indicator pregtit

Fig. 2-22. Comparaie ntre RS-232-C, V .24 i RS-449

Specificaia procedural reprezint protocolul, adic secvena legal a evenimentelor. Protocolul


se bazeazz pe perechi aciune-reaciune. De exemplu, atunci cnd terminalul specific Cerere de
Transmisie, modemul rspunde cu Gata de Transmisie, n cazul n care este capabil s accepte date.
Perechi aciune-reaciune similare exist i pentru alte circuite.
Deseori, este necesar ca dou calculatoare s fie conectate folosind RS-232-C. Deoarece nici unul
nu este modem, apare o problem de interfa. Aceast problem este rezolvat prin conectarea lor
cu un echipament numit modem nul, care conecteaz liniile de transmisie ale unei maini la liniile de
SISTEMUL TELEFONIC

pic aleeeleflalte. Modemul nul conecteaz totodat, ntr-un mod similar, i unele din celelalte
Unii. Un modem nul arat ca un cablu scurt.
RS-232-C exist de ani de zile. Treptat, limitarea vkezejje^n^r_aldatelor la numai 20 Kbps
4 a l u n c i i cablului la maximum 15 metri a devem7dn~l^r m le~ln^
dezbtut pe larg dac s introduc un nou standard care s fie compatibil cu cel vechi (dar nu foarte
avansat din punct de vedere tehnic) sau un standard nou i i n c o m p a t i b i l e s acopere nevoile
- mJ ce vor urma. Ei au ajuns n cele din urm la un compromis, prin alegerea ambelor variante
= Noul standard, numit RS-449, reprezint, de fapt, trei standarde ntr-unui singur Interfeele
mecanice, funcionale i procedurale sunt date de RS-449, dar interfaa electric este dat de dou
standarde diferite. Primul dintre acestea, RS-423-A, este similar cu RS-232-C prin faptul c toate
arcuitele mpart aceeai mpmntare. Aceast tehnic este numit transmisie neechilibrat n
schimb, al doilea standard electric, RS-422-A, folosete transmisia echilibrat, n care fiecare circuit
m&pd n e c e s i t d o u fre ' f r mpmntare comun. Ca rezultat, RS-422-A poate fi folosit la
l la c
viteze
viteze de pn
viteze de pn
p 2^EhSB^^S^SJ^hM^
2^EhSB^^S^SJ^hM^
c
J^^ Q-
J^^BMB
Circuitele folosite n RS-449 sunt prezentate toFig. 2-22." Au fost adugate mai multe circuite
care nu sunt prezente n RS-232-C. In particular, au fost introduse circuite de testare att a
modemului local ct i a celui de la distan. Datorit introducerii unui numr de circuite noi (atunci
cnd este folosit RS-422-A), n noul standard sunt necesari mai muli pini, vechiul standard de 25 de
pini fiind nlocuit. In locul lui a aprut uncone^oj^eJ7jinLi un: conectorde 9 pini Conectorul de
9 pini este necesar numai dac se utilizeaz canalul secundar. " 4j " '

Fibrele optice n bucla local

Pentru serviciile evoluate ale viitorului, cum ar fi video la cerere, canalul curent de 3 kHz nu va
mai face fa. Discuiile despre posibilele soluii s-au concentrat pe dou variante. Soluia direct -
conectarea fiecrei case la oficiul final, folosind o fibr numit FITH (Fiber To The Home fibr
ctre cas). Soluia se potrivete cu sistemul actual, dar nu va fi fezabil din punct de vedere
economic decenii ntregi. Pur i simplu este prea scump.
O alternativ mult mai ieftin este FTTC (Fiber To The Curb - Fibr ctre vecintate) n acest
model, compania telefonic instaleaz-o fibr optic de la fiecare oficiu final la fiecare vecintate
the curb pe care o deservete (Paff, 1995). Fibra se termin cu o cutie de jonciune, n care X
oa e buc ele locale. Deoarece buclele locale sunt acum mult mai scurte (probabil ioo de metri n loc
de 3 Km), ele pot suporta viteze de transmisie mai nalte, n jur de 1 Mbps, exact ct este nevoie
pentru compresia video. Aceast schem este prezentat n Fig. 2-23(a)
1 61 m a l t e id ( g ()
^Z ! i i ^ ^^
(SaU Camle
^ ^ ut 6 1i h0 m^U)n *d fpot transmite
bre tice
pe fibr la
n Z T ^ ^ f ****** * * P
a la 1000 de abonai, costul pe abonat poate fi redus i totodat poate fi asigurat o
* 1 ^bps
mai mare dect actual Depirea s e m a
T * PS dlStSne m a n eSte
- 0 8 cu
^&
te vor t r d s M MtQ treptat
fefe ^ P W " ^ torsadate actuale Deci toate
tQtreptatprin
prinfbre
fbre p rpb i e m a
erefo , ? ds
TT -- i * * *^^ - ii
m t e n a telefonica este daca sa se utilizeze pentru nceput soluia intermediar FTTC sau dac ar
trebui sa se implementeze de la bun nceput FTTH.
108 NIVELUL FIZIC CAP. 2^

Oficiu de Trunchiuri din fibr Cutie de Cas


comutare de band larg jonciune

ii! [BIS]

Cablu torsadat
din cupru !!::
(a)

Comutator Trunchiuri din fibr Cablu TV


de band larg M
din cupru

JCutie de jonciune

Cas

(b)

Fig. 2-23. Fibr ctre fiecare vecintate, (a) Folosind sistemul telefonic,
(b) Folosind reeaua de cablu TV.

n Fig. 2-23(b) este prezentat o schem alternativ folosind infrastructura de cablu TV


existent. Aici este folosit, n loc de conectarea punct la punct, caracteristic sistemului telefonic, un
cablu cu mai multe ieiri (multidrop cable). Este de ateptat ca amndou schemele din Fig. 2-23(a)
i Fig. 2-23(b) s coexiste n viitor, deoarece companiile telefonice i cele de cablu TV vor deveni
competitori n ceea ce privete oferta de servicii de voce, date i chiar de televiziune. Pentru mai
multe informaii legate de acest subiect, vezi (Cook i Stern, 1994; Miki, 1994b; i Mochida, 1994).

2.4.4 Trunchiuri i multiplexare

Economia rezultat din scalabilitate joac un rol important n sistemul telefonic. Instalarea i
ntreinerea unor trunchiuri de band larg ntre dou oficii de comutare cost cam tot att ct
instalarea i ntreinerea unui trunchi de band joas (costul provine de la sparea anului, nu de la
SEC. 2.4 SISTEMUL TELEFONIC 109

gj de cupru sau de la fibra optic). n consecin, companiile telefonice au dezvoltat metode


sofisticate pentru multiplexarea mai multor convorbiri pe aceeai magistral fizic. Aceste metode
de multiplexare se pot mpri n dou categorii principale: FDM (Frequency Division Multiplexing
- Multiplexare cu Divizare n Frecven) i TDM (Time Division Multiplexing - Multiplexare cu
Divizare n Timp). La FDM spectrul de frecven este mprit n mai multe canale logice, cu fiecare
utilizator avnd drepturi exclusive asupra unei anumite benzi de frecven. La TDM utilizatorii i
ateapt rndul (ntr-un mod repetat), fiecare utilizator obinnd pentru o scurt perioad de timp
ntreaga band de frecven.
Difuzarea radio AM prezint amndou metodele de multiplexare. Spectrul alocat este de
aproape 1 MHz, aproximativ ntre 500 i 1500 de kHz. Pentru diferite canale logice (staii)
sunt alocate frecvene diferite. Fiecare canal logic opereaz ntr-un anumit domeniu al
spectrului, distanele ntre canale fiind destul de mari pentru a preveni interferena. Acest
sistem este un exemplu de multiplexare prin divizarea frecvenei. n plus (n unele ri), staiile
individuale au dou subcanale logice: muzic i publicitate. Acestea dou alterneaz n timp pe
aceeai frecven, la nceput muzic i dup un timp o secven de reclame, apoi din nou
muzic i aa mai departe. Aceast situaie se numete multiplexare prin divizare n timp.
n continuare, vom studia multiplexarea prin divizarea n frecven. Dup aceea vom analiza cum
se poate aplica FDM fibrelor optice (multiplexare prin divizarea lungimii de und). Apoi ne vom
ntoarce la TDM, iar n final vom studia un sistem TDM avansat folosit n fibrele optice (SONET).

Multiplexarea prin divizarea n frecven

Figura 2-24 ne prezint cum sunt multiplexate trei canale de band vocal folosind FDM.

Canal 1

Canal 2
CD Canal 2
3 Canal 1 Canal 3
C
0)

o
o
O 60 64 68 72
CD
Canal 3 Frecven (kHz)

(O

300 3100 60 64 68

Frecven (Hz) Frecven {kHz)

(a) (b)

Fig. 2-24. Mutliplexarea prin divizare n frecven, (a) Banda de frecven iniial,
(b) Banda deplasat n frecven, (c) Canalul multiplexat.
110 NIVELUL FIZIC CAP. 2 1
I
Filtrele limiteaz lrgimea de band folosit la 3000 de Hz pe canal de band vocal. Atunci i
cnd sunt multiplexate mpreun mai multe canale, fiecrui canal i sunt alocai 4000 de Hz, astfel
nct canalele s fie bine separate. Mai nti canalele de voce sunt ridicate n frecven, fiecare cu o
mrime diferit. Apoi ele pot fi combinate, deoarece nu exist dou canale care s ocupe aceeai
zon a spectrului. Este de remarcat c, dei exist spaii (spaii de gard) ntre canale, are loc o
suprapunere ntre canalele adiacente, deoarece filtrele nu au marginile abrupte. Aceast
suprapunere nseamn c un semnal puternic la captul unui canal va fi simit n canalul adiacent ca
un zgomot non-termic.
Schemele FDM folosite pe glob sunt, pn la un anumit nivel, standardizate. Un standard foarte
folosit este dat de 12 canale vocale a 4000 Hz (3000 Hz pentru utilizator, plus doua benzi de gard
de 500 de Hz fiecare) multiplexate n banda de 60 pn la 108 kHz. Aceast unitate este numit un
grup. Banda 12 - 60 kHz este uneori folosit de un alt grup. Multe companii ofer clienilor un
serviciu de linie nchiriat de 48 pn la 56 kbps, bazat pe un grup. Cinci grupuri (60 de canale
vocale) formeaz un super-grup. Urmtoarea unitate este un master-grup, care este format din cinci
super-grupuri (n standardul CCITT) sau zece super-grupuri (sistemul Bell). Exist alte standarde
care cuprind pn la 230.000 canale vocale.

Multiplexarea prin divizarea lungimii de und

Pentru canalele de fibr optic, se utilizeaz o alternativ a multiplexrii prin divizarea


frecvenei. Aceasta se numete WDM (Wavelength Division Multiplexing - Multiplexarea prin
Divizarea lungimii de und). Un mod simplu de a utiliza FDM pe fibre este prezentat n Fig.
2-25. Aici dou fibre se ntlnesc la nivelul unei prisme (sau mai degrab o gril de difracie),
fiecare cu energia proprie ntr-o band diferit. Cele dou raze sunt trecute prin prism i
combinate ntr-o singur fibr comun pentru a fi transmise ctre o destinaie deprtat, unde
ele sunt din nou mprite.
Aici nu este de fapt nimic nou. Atta timp ct fiecare canal are propriul lui domeniu de frecven
i toate aceste domenii sunt disjuncte, ele pot fi multiplexate mpreun pe o fibr de distan mare.
Singura diferen fa de FDM electric este c un sistem optic care folosete o suprafa de difracie
este total pasiv i, de aceea, foarte sigur. Este de remarcat c motivul popularitii att de mari a
WDM-ului este c energia pe o singur fibr este, de obicei, de numai civa gigaheri, deoarece este
imposibil s se fac momentan mai rapid conversia de la mediul electric la cel optic. Din moment ce
banda de frecven a unei singure fibre este de aproximativ 25.000 GHz (vezi Fig. 2-6), exist un
mare potenial pentru multiplexarea mai multor canale pe traseele lungi. Oricum, ca o condiie
necesar, canalele de intrare trebuie s foloseasc frecvene diferite.
O posibil aplicaie a WDM-ului este n sistemele FTTC descrise anterior. Iniial, o companie
telefonic putea instala o fibr optic de la fiecare oficiu final la fiecare cutie de jonciune de
vecintate unde se ntlnea cu cablurile torsadate de la locuine. Dup civa ani, atunci cnd costul
fibrei este mai sczut i cererea de fibre este mai mare, cablurile torsadate pot fi nlocuite cu fibre i
toate buclele locale pot fi reunite pe fibra care le conecteaz la oficiul final folosind WDM.
n exemplul din Fig. 2-25, avem un sistem fix de lungimi de und. Bii din fibra 1 trec n fibra 3 i
bii din fibra 2 trec n fibra 4. Este imposibil s avem bii care s treac din fibra 1 n fibra 4. Totui,
este de asemenea posibil s construim sisteme WDM care sunt comutate. ntr-un asemenea
echipament, exist multe fibre la intrare i multe fibre la ieire i datele de la orice fibr de intrare
SISTEMUL TELEFONIC IU
.SEC 2.4

aitifl^e la orice fibr de ieire. De obicei, cuplajul este o stea pasiv, cu fiecare raz de lumin de
^i fecaw fibr de intrare iluminnd steaua. Cu toate c prin difuzarea ctre n ieiri, energia se
f - n u e a z cu un factor n, astfel de sisteme sunt practice pentru sute de canale.

Spectrul
Spectrul Spectrul fibrei folosite
fibrei 1 fibrei 2 n comun


O.

Prism sau gril


de defractie

Fibr folosit
n comun

Fig. 2-25. Multiplexarea prin divizarea lungimii de und

Desigur, dac lumina provenit din fibra de la intrare este de 1,50206 microni i trebuie s
ajung la toate fibrele de la ieire, atunci toate fibrele de la ieire au nevoie de filtre ajustabile,
astfel nct fibra selectat s se poate stabili automat la 1,50206 microni. Astfel de filtre optice
ajustabile pot fi construite din interferometre Fabry-Perot su Mach-Zender. Alternativ,
fibrele de la intrare pot fi ajustabile iar cele de la ieire fixe. Cheltuiala suplimentar datorat
utilizrii fibrelor ajustabile att la intrare ct i la ieire este rareori motivat.

Multiplexarea prin divizarea n timp

Cu toate c FDM este folosit nc pe firele de cupru sau canalele de microunde, ele necesit
circuite analogice i nu poate fi fcut de ctre un calculator. Din contr, TDM-ul poate fi n
ntregime tratat de electronica digital, devenind mult mai rspndit n ultimii ani. Din pcate,
TDM-ul poate fi folosit numai pentru date digitale. Deoarece buclele locale produc semnale
analogice, este necesar o conversie de la analogic la digital n oficiul final, unde toate buclele
locale individuale se ntlnesc pentru a forma o magistral. Vom arunca acum o privire asupra
modului n care mai multe semnale vocale analogice sunt digitizate i se reunesc pentru a forma o
singur magistral digital. (inei minte c datele trimise de un calculator prin modem sunt tot
analogice cnd ajung la oficiul final).
Semnalele analogice sunt digitizate n oficiul final de un echipament numit codec (codificator/
decodificator), producnd un numr de 7-8 bii (vezi Fig. 2-17). Codec-ul realizeaz 8000 de
eantioane pe secund (125 usec/eantion), deoarece teorema lui Nyquist spune c aceasta rat este
suficient pentru a capta toat informaia de pe canalul telefonic de 4 kHz. La o rat mai mic de
112 NIVELUL FIZIC CAP.

eantionare, informaia ar putea fi pierdut; la o rat mai mare, nu se poate recepionat informaie
suplimentar. Aceast tehnic se numete PCM (Puise Code Modulation - Modularea Impulsurilor
n Cod). PCM constituie inima sistemelor telefonice moderne. Ca o consecin, practic toate
intervalele de timp dintr-un sistem telefonic sunt multipli de 125 usec.
Cnd transmisia digital a.nceput s devin o tehnologie fezabil, CCITT a fost incapabil s
ajung la o nelegere referitoare la un standard pentru PCM. n consecin, acum exist o varietate
de scheme incompatibile folosite n ri diferite n toat lumea. Convorbirile telefonice ntre ri
incompatibile necesit cutii negre" (i deseori foarte scumpe) pentru a converti sistemul din ara de
origine n sistemul din ara destinaie.

Cadru de 193 bii (125 msec)

, Bitul 1 este 7 bii de date Bitul 8 este pentru


pentru ncadrare pe fiecare canal informaia de semnalizare
pentru fiecare eantion

Fig. 2-26. Purttorul TI (1,544 Mbps).

O metod rspndit n America de Nord i Japonia o reprezint purttorul TI, prezentat n Fig.
2-26. (Din punct de vedere tehnic, formatul se numete DSl iar purttorul se numete TI, dar noi
nu vom face aceast deosebire subtil aici). Purttorul TI const din 24 de canale vocale
multiplexate mpreun. De obicei, semnalele analogice sunt eantionate ntr-o manier repetat, iar
semnalul analogic rezultat este trecut prin codec, fr utilizarea a 24 de codec-uri separate pentru a
le uni apoi la ieirea digital. Fiecare canal din cele 24, va introduce 8 bii n secvena de la ieire.
apte bii reprezint date, iar unul este de control, rezultnd 7x8000 = 56.000 bps de date i 1x8000
= 8.000 bps de informaie de semnalizare pe fiecare canal.
Un cadru const din 24x8 = 192 bii, plus un bit suplimentar pentru ncadrare, rezultnd 193 de
bii la fiecare 125 usec. De aici rezult o vitez de transfer a datelor de 1.544 Mbps. Bitul 193 este
folosit pentru sincronizarea cadrelor. Urmeaz ablonul 0101010101.... n mod normal, receptorul
verific acest bit pentru a fi sigur c nu a pierdut sincronizarea. Dac a pierdut tactul, receptorul
poate cuta acest ablon pentru a se resincroniza. Clienii analogici nu pot genera acest ablon,
deoarece el corespunde unei unde sinusoidale la 4000 Hz, care ar fi filtrat. Clienii digitali pot,
desigur, s genereze acest ablon, dar ansele apariiei lui, atunci cnd cadrul este pierdut, sunt mici.
Atunci cnd un sistem TI este folosit integral pentru date, doar 23 de canale sunt folosite pentru
SISTEMUL TELEFONIC
113

ate. Canalul 24 este folosit pentru un ablon de sincronizare special, care permite recuperarea mai
rapid n cazul n care un cadru este pierdut.
Cnd a ajuns, n final, la o nelegere, CCITT a simit c 8000 bps de informaie de
semnalizare este mult prea mult, aa c standardul de 1.544 Mbps se bazeaz pe date de 8 bii
n loc de 7 bii; aceasta nseamn c semnalul analogic este codificat, folosind 256 n loc de 128
de nivele discrete. Exist dou variante incompatibile. n semnalizarea prin canal comun
(common-channel signaling), bitul suplimentar (care este ataat mai degrab n urma si nu n
faa cadrului de 193 de bii) are valorile 1010101010... n cadrele impare i conine informaii
de semnalizare pentru toate canalele n cadrele pare.
n cealalt alternativ, semnalizarea asociat canalelor (channel asssociated signaling) fiecare
canal are propriul su subcanal de semnalizare. Un subcanal privat este constituit prin alocarea
unuia din cei 8 bii utilizatori, la fiecare 6 cadre, pentru semnalizare, astfel c 5 din 6 eantioane sunt
de 8 bii lungime, iar ultimul este de doar 7 bii lungime. De asemenea, CCITT a recomandat un
purttor de 2.048 Mbps numit El. Acest purttor are 32 de eantioane de 8 bii, mpachetate n
cadrul fundamental de 125 usec. Treizeci de canale sunt folosite pentru informaii iar dou sunt
folosite pentru semnalizare. Fiecare grup de 4 cadre asigur 64 de bii de semnalizare din care
jumtate sunt folosii la semnalizarea asociat canalului i jumtate pentru sincronizarea cadrelor
sau pentru alte funcii dependente de rile care i utilizeaz. Purttorul de 2,048 Mbps este lam
folosit n afara Americii de Nord i a Japoniei.
Odat ce semnalul vocal a fost codificat, este tentant s folosim metode statistice pentru a
reduce numrul de bii necesari pentru fiecare canal. Aceste tehnici sunt potrivite nu numai pentru
codificarea vorbim, ci i pentru digitizarea oricrui semnal analogic. Toate metodele de compactare
se bazeaz pe principiul c semnalul se modific relativ ncet n comparaie cu frecventa de
eantionare, deci multe din informaiile din nivelele de 7-8 bii sunt redundante '

Eantioanele consecutive difer


ntotdeauna cu 1
15
Semnalul se schimb
prea repede pentru a putea
CD
fi codat corect
10
o
o
o
CD

-tu 5

1 0I1M 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
Timp->
Interval de Secvena de bii
eantionare transmis

Fig. 2-27. Modularea Delta.


114 NIVELUL FIZIC CAP.2J

Metoda, numit modularea diferenial a impulsurilor n cod (differential puise


modulation), const n scoaterea la ieire nu a amplitudinii digitizate codificate, ci a diferenei dintre
valoarea curent i cea anterioar. Deoarece sunt puin probabile salturi mai mari de +/-16 pe o
scal de 128, ar putea fi suficieni 5 bii n loc de 7. Dac semnalul are salturi prea brute, logica de
codificarea poate necesita mai multe perioade de eantionare pentru a prinde din urm" aceste
variaii. n cazul vorbirii, eroarea introdus poate fi ignorat.
O variant a acestei metode de compactare necesit ca fiecare valoare eantionat s difere de
precedenta prin +1 sau -1. Este transmis un singur bit, care indic dac nivelul curent este superior
sau inferior nivelului precedent. Aceast tehnic, numit modulare delta, este ilustrat n Fig. 2-27.
La fel ca toate tehnicile de compactare care presupun schimbri mici de nivel ntre eantioane
consecutive, dac sistemul se schimb prea brusc, modularea delta poate eua, aa cum se arat n
figur. Cnd se ntmpl acest lucru, informaia se pierde.
O mbuntire a PCM-ului diferenial este s se extrapoleze cteva valori precedente pentru a
prezice noua valoare i apoi s se codifice diferena dintre semnalul actual i cel prevzut. Desigur,
att transmitorul ct i receptorul trebuie s foloseasc acelai algoritm de predicie. O astfel de
schem se numete codificare predictiv. Aceast tehnic este util, pentru c reduce dimensiunea
datelor care trebuie codificate i, prin urmare, reduce dimensiunea datelor care trebuie transmise.
Cu toate c PCM este larg folosit pe trunchiurile care conecteaz oficiile de comutare,
calculatorul are beneficii limitate n cazul n care toate datele trebuie transmise ctre oficiul final sub
forma unui semnal analogic modulat la 28.8 kbps. Ar fi interesant dac purttorul ar conecta bucla
local direct la sistemul PCM de pe magistral, calculatorul putnd astfel s transmit date digitale
direct pe bucla local la 1,544 sau 2,048 Mbps. Din pcate, buclele locale nu pot atinge aceste viteze
pentru distane mari.
Multiplexarea prin divizarea n timp permite ca mai muli purttori TI s fie multiplexai
mpreun n purttori de un grad mai nalt. Figura 2-28 arat cum se poate face acest lucru. La
stnga vedem patru canale TI multiplexate ntr-un canal T2. Multiplexarea la T2 i peste T2 se face
bit cu bit i nu octet cu octet ca n cazul celor 24 de canale care constituie un cadru TI. Patru
secvene TI la 1,544 Mbps ar trebui s genereze 6,176 Mbps, dar T2 este de fapt la 6,312 Mbps. Biii
suplimentari sunt folosii la ncadrare i la recuperare, n cazul n care purttorul este pierdut.
La nivelul urmtor, ase T2 sunt combinate pentru a forma o secven T3. Apoi apte T3 sunt
grupate pentru a forma o secven T4. La fiecare pas, se adug, pentru ncadrare i recuperare, o
mic suprancrcare.

4 T1 la intrare " 6 T2 Ia intrare 7 T3 la intrare

|4[0k /* 11 T2 la ieire
ieir
T2
la

4:11- I6I5I413I2IIQI ZZ 6:1


1TTI6I2I-

1.544 Mbps 6.312 Mbps 44.736 Mbps 274.176 Mbps

T1 T2 T3 T4

Fig. 2-28. Multiplexarea secvenelor TI n purttori cu capacitate mai mare.


SISTEMUL TELEFONIC 115

^raast nenelegeri privind purttorul de baz, ntre Statele Unite i restul lumii,
stQ. nenelegeri privitoare la modul de multiplexare n purttori de band mai larg.
kaimrienientat n S.U.A, care este fcut prin trepte de 4, 6 i 7, nu s-a impus ca un
" drd standardul CCITT multiplexnd 4 secvene n una singur la fiecare nivel. De
S
" enea ncadrarea i recuperarea datelor se fac diferit. Ierarhia CCITT de 32, 128, 512,
2048 si-8192 de canale funcioneaz la viteze de 2,048,8,848,34,304,139,264 i 565,148 Mbps.
#Hff

SONET/SDH
- "La apariia fibrelor optice, fiecare companie telefonic avea propriul sistem optic TDM. Dup ce
AT&T-ul a fost divizat n 1984, companiile telefonice locale au fost obligate s se conecteze la mai
inulte companii de telecomunicaie pe distane mari, fiecare companie avnd sisteme TDM diferite,
devenind astfel evident necesitatea unei standardizri. n 1985, Bellcore, divizia de cercetare a
RBOC, a nceput s lucreze la un nou standard, numit SONET ( Synchronous Optical NETwork -
reea optic sincron). Mai trziu s-a alturat i CCITT, fapt care s-a materializat n 1989 prin
standardul SONET i printr-un set paralel de recomandri CCITT (G.707, G.708 i G.709).
Recomandrile CCITT sunt numite SDH (Synchronous Digital Hierarchy - ierarhie digital
sincron), dar difer de SONET numai n mic msur. Practic, aproape tot traficul pe distane
mari, n Statele Unite, i cea mai mare parte a traficului din alte zone folosete acum trunchiuri cu
SONET pe nivelul fizic. Datorit faptului c tipurile SONET sunt mai ieftine, plcile de interfa
SONET pentru calculatoare ar putea deveni mult mai rspndite i astfel ar putea fi mai uor pentru
companii s conecteze calculatoarele direct la inima reelei telefonice pe linii speciale nchiriate. n
cele ce urmeaz vom studia pe scurt elurile i schema SONET. Pentru informaii suplimentare vezi
(Bellamy 1991; i Omidyar i Aldrige, 1993).
Proiectul SONET a urmrit patru obiective principale. Primul i cel mai important, SONET
fireMa s permit conlucrarea mai multor companii de telecomunicaie. Pentru atingerea acestui
obiectiv este necesar definirea unui standard comun de semnalizare referitor la lungimea de und,
la sincronizare, la structura de ncadrare i altele.
n al doilea rnd, erau necesare cteva metode de a unifica sistemele digitale din S.U.A. ,
Europa i Japonia, toate bazndu-se pe canale PCM de 64 kbps, dar toate fiind folosite diferit i
fiind totodat incompatibile ntre ele.
n al treilea rnd, SONET trebuia s permit multiplexarea mai multor canale digitale. Atunci
cnd a fost elaborat SONET, cel mai mare purttor digital utilizat efectiv pe scar larg n Statele
Unite era T3, la 44.736 Mbps. T4 era definit, dar nu era att de folosit, iar deasupra vitezei lui T4 nu
era definit nimic. O parte a misiunii SONET era s ridice ierarhia la nivel de gigabii / sec i chiar
mai mult. Era de asemenea necesar o modalitate standard de multiplexare a canalelor mai lente
ntr-lin canal SONET.
n al patrulea rnd, SONET trebuia s asigure suportul de operare, administrare i ntreinere
(OAM Operations, Administration, and Maintenance). Sistemele precedente nu au realizat acest
lucru foarte bine.
O decizie mai veche era ca din SONET s se fac un sistem TDM tradiional, n care toat
banda de frecven a fibrei optice atribuit unui singur canal s conin diferite intervale de timp
pentru subcanale diferite. Astfel, SONET este un sistem sincron. El este controlat de un ceas
116 NIVELUL FIZIC CAP. 2

9
principal, cu o eroare de aproximativ IO" . Biii sunt trimii pe o linie SQNET la intervale extrem de
precise, controlate de ceasul principal.
Atunci cnd comutarea celulelor a fost propus mai trziu ca baz pentru ISDN n band larg,
faptul c ea permitea sosirea neregulat a celulelor a determinat etichetarea sa ca mod de transfer
asincron (ATM), pentru a contrasta astfel cu operaiile sincrone ale SONET-ului.
Un sistem SONET const din comutatoare, multiplexoare i repetoare, toate conectate prin
fibr. n Fig. 2-29 este prezentat o cale de la surs la destinaie, cu un multiplexor intermediar i un
repetor intermediar. n terminologia SONET, o fibr care face legtura direct de la orice
echipament la orice alt echipament, fr nimic intermediar, se numete o seciune. O legtur ntre
dou multiplexoare (eventual cu unul sau mai multe repetoare n mijloc) - se numete linie. n
sfrit, legtura dintre surs i destinaie (eventual cu unul sau mai multe multiplexoare sau
repetoare) se numete cale. Topologia SONET poate fi o plas, dar poate fi i un inel dual.

Multiplexor la Multiplexor la
surs Repetor Multiplexor Repetor destinaie

Seciune- -Seciune -Seciune- Seciune-


- Linie Linie

Cale

Fig. 2-29. Calea SONET.


Cadrul de baz SONET este un bloc de 810 octei, lansat la fiecare 125 psec. Deoarece SONET
este sincron, cadrele sunt emise, chiar dac nu exist date utile de transmis. Rata de 8000 cadre / sec
coincide cu viteza de eantionare a canalelor PCM folosite n sistemele telefonice digitale.
Cadrele SONET de 810 octei sunt cel mai bine descrise prin matrici cu 90 de coloane i 9
rnduri. Cei 8x810 = 6480 bii ai unui cadru sunt transmii de 8000 de ori pe secund, la o vitez de
transfer a datelor de 51,84 Mbps. Acesta este canalul de baz SONET i este numit STS-1
(Synchronous Transport Signal -1 Semnal de Transport Sincron). Toate trunchiurile SONET sunt
multiple de STS-1.
Primele trei coloane ale fiecrui cadru sunt rezervate pentru informaia de supervizare a
sistemului, aa cum este prezentat n Fig. 2-30. Primele trei rnduri conin suprancrcarea de
seciune; urmroarele ase conin suprancrcarea de linie. Suprancrcarea de seciune este
generat i verificat la nceput i la captul fiecrei seciuni, n timp ce suprancrcarea de linie este
generat i verificat la nceputul i captul fiecrei linii.
Restul de 87 de coloane conin 87 x 9 x 8 x 8000 = 50.112 Mbps de date ale utilizatorului. Totui,
datele utilizatorului, numite SPE (Synchronous Payload Envelope - nveli sincron pentru informaie
util) nu ncep ntotdeauna cu rndul 1, coloana 4. SPE poate ncepe oriunde n interiorul cadrului.
Un pointer ctre primul octet este coninut n primul rnd al suprancrcrii de linie. Prima coloan
din SPE este suprancrcarea de cale (antet pentru protocolul subnivelului cale capt-la capt).
SISTEMUL TELEFONIC 117
2.4

sftesi&fl sa ca SPE s nceap oriunde n cadrul SONET i chiar s se ntind pe dou cadre,
sits* nieste prezentat n Fig. 2-30, confer sistemului o flexibilitate suplimentar.

"Xcblbane pentru
. suprancrcare
87 coloane

Cadru
-4 -- -

Sonet
rnduri -i.
i<

--
(125 msec)
-r~
-

1 li' L = r:".f'F1 '


-

l j _ ,,
T ' 5r
. f 5 t
!
- ,'iin,;,


- ,
Lli1 ^ 1 *' ^
ip .
1
;-, .:1, li,
.
i -1 ; ;=:
_

!
M " , -'li

"d --1
* -' '

Cadru
- ii T.
1- i. hb

...
. M

t t-er
'l
,..f ., "= 1 '! *' ?
4r t.'E>J. i2!a..l!dMHkTr&iT
I
n r . - T O I * j*-sa*i
Sonet
4 r f ,i- s i (125 msec)
-
I
Suprancrcare n Suprancrcare m Suprancrcare SPE
de seciune de linie de cadru

Fig. 2-30. Dou cadre SONET legate.

De exemplu, dac la surs ajung date, n timp ce se construiete un cadru SONET gol, aceste
date pot fi inserate n cadrul curent, n loc s fie reinute pn la nceputul urmtorului cadru.
Aceast proprietate este util i atunci cnd datele nu se ncadreaz exact ntr-un cadru, cum ar fi n
cazul a 53 de celule ATM. Primul rnd al suprancrcrii de linie poate indica nceputul primei
celule pline, pentru a asigura sincronizarea.

Convertor
Modificator electric-optic

STS-12 OC-12
T3

Multiplexor Multiplexor
T3 3:1 4:1

Fig. 2-31. Multiplexarea n SONET.


118 NIVELUL FIZIC CAP. 2

Suprancrcarea de seciune, de linie i de cale conin octei utilizai n operarea, administrarea i


ntreinerea sistemului. Din moment ce fiecare octet apare de 8000 de ori pe secund, el reprezint
un canal PCM. Trei octei sunt, de fapt, folosii pentru a asigura canale vocale pentru personalul de
ntreinere de pe seciune, linie i cale. Ali octei sunt folosii pentru ncadrare, paritate,
monitorizarea erorilor, identificare, sincronizare i alte funcii. Bellamy (1991) descrie toate aceste
funcii n detaliu.
Multiplexarea a mai multor secvene de date, numite aflueni, joac un rol important n SONET.
Multiplexarea este ilustrat n Fig. 2-31. La stnga, ncepem cu diferite secvene de intrare de vitez
joas, care sunt convertite la viteza de baz a STS-1 SONET, n cele mai multe cazuri completnd
diferena pentru a atinge o vitez de transfer de 51,84 Mbps. Apoi, trei aflueni STS-1 sunt
multiplexri ntr-o secven de ieire STS-3 de 155,52 Mbps. Aceast secven, n schimb, este
multiplexat cu alte trei, obinnd la ieire n secvena final de 12 ori capacitatea lui STS-1. n acest
moment semnalul este modificat, pentru a preveni interferena cu ceasul a unor iruri lungi de 0 sau
de 1 i este convertit din semnal electric n semnal optic.
Multiplexarea se face octet cu octet. De exemplu, cnd trei aflueni STS-1 la 51,84 Mbps sunt
combinai ntr-o secven STS-3 la 155,52 Mbps, multiplexorul emite la nceput primul octet din
afluentul 1, apoi un octet din afluentul 2 i n sfrit un octet din afluentul 3, nainte de a se ntoarce
la 1. O schem STS-3 echivalent figurii 2-30, prezint (de la stnga la dreapta) coloanele pentru
afluenii 1, 2 i 3, n aceast ordine, apoi un alt triplet i aa mai departe, pn la coloana 270.
Fiecare cadru de 270 x 9 octei este transmis odat la 125 usec, rezultnd o vitez de transfer a
datelor de 155,52 Mbps.

SONET SDH Rata de date (Mbps)


Electric Optic Optic Total SPE Client
STS- OC-1 51.84 50.112 49.536
STS-3 OC-3 STM-1 155.52 150.336 148.608
STS-9 OC-9 STM-3 466.56 451.008 445.824
STS-12 OC-12 STM-4 622.08 601.344 594.432
STS-18 OC-18 STM-6 933.12 902.016 891.648
STS-24 OC-24 STM-8 1244.16 1202.688 1188.864
STS-36 OC-36 STM-12 1866.24 1804.032 1783.296
STS-48 OC -48 STM-16 2488.32 2405.376 2377.728

Fig. 2-32. Ratele de multiplexare pentru SONET i SDH.

Ierarhia de multiplexare SONET este prezentat n Fig. 2-32. Au fost definite viteze de la STS-1
pn la STS-48. Purttorul optic corespunztor lui STS-n este numit OC-n i este bit cu bit identic
cu STS-n cu excepia modificrii din Fig. 2-31. Numele SDH sunt diferite i ncep de la OC-3,
deoarece sistemele bazate pe CCITT nu au o viteza de transfer apropriat de 51,84 Mbps.
Purttorul OC-9 este prezent, deoarece este apropriat de vitezele de transfer ale celor mai multe
trunchiuri de mare vitez folosite n Japonia. OC-18 i OC-36 vor fi folosite n viitor n Japonia.
Viteza grosier de transfer a datelor conine i suprancrcarea. Vitezele de transfer SPE exclud
suprancrcarea de linie i de seciune. Viteza de transfer a utilizatorului exclude toat
suprancrcarea i ia n consideraie numai cele 87 de coloane puse la dispoziie pentru datele utile.
SEC 2.4 SISTEMUL TELEFONIC 119

Atunci cnd un purttor, cum ar fi OC-3, nu este multiplexat, dar transport date de la.o singur
surs, este adugat n notaie litera c (de la concatenate), astfel c OC-3 indic un purttor de 155,
52 Mbps care const din trei purttori OC-1 diferii, n timp ce OC-3c indic o secven de date de la
o singur surs la 155,52 Mbps. Cele trei secvene OC-1 dintr-o secven OC-3c sunt ntreesute pe
coloane, prima coloan din secvena 1, apoi coloana din secvena 2, apoi coloana 1 din secvena 3,
urmat de coloana 2 din secvena 1 i aa mai departe, ceea ce conduce la un cadru de 270 de
coloane i 9 rnduri.
Cantitatea de date proprii ale utilizatorului ntr-o secven OC-3c este puin mai mare dect
ntr-o secven OC-3 (149,760 Mbps versus 148,608 Mbps), deoarece coloana pentru
suprancrcarea de cale este introdus n SPE o singur dat, n loc de trei ori, ca n cazul a trei
secvene independente OC-1. Cu alte cuvinte, n OC-3c sunt disponibile 260 din 270 de coloane, n
timp ce n OC-3 numai 258 de coloane sunt disponibile datelor utilizatorului.

Subnivel
Caie
Linie 1 . .I
Seciune i
i
Fotonic I
i
Surs Repetor Multiplexor Destinaie
- Seciune *--* Seciune * * Seciune *-
-* Linie *- -* Linie *-
- Cale *~

Fig. 2-33. Arhitectura SONET

De acum trebuie s fie clar de ce ATM lucreaz la 155 Mbps: intenia este s se transporte celulele
ATM pe trunchiurile SONET OC-3c. Este de asemenea clar c cifra, deseori citat, de 155 Mbps este
viteza grosier de transfer, care include i suprancrcarea SONET. Mai mult, cineva a rotunjit incorect
155,52 Mbps la 155 Mbps i acum toi ceilali fac greit, la rndul lor, acest lucru. Nivelul fizic SONET este
mprit n patru subnivele, dup cum este artat n Fig. 2-33. Nivelul cel mai de jos este subnivelui
fotonic. Acest subnivel specific proprietile fizice ale luminii i ale fibrei utilizate.
Restul de trei subniveluri corespund seciunilor, liniilor i cilor. Subnivelui seciunii trateaz o
singur fibr punct-la-punct, genernd un cadru standard la un capt i procesndu-1 la cellalt
capt. Seciunile pot ncepe i se pot termina la repetoare, care doar amplific i regenereaz biii,
dar fr s i schimbe sau s i prelucreze n vreun fel.
Subnivelui de linie este folosit pentru multiplexarea mai multor aflueni pe o singur linie i
demultiplexarea lor la cellalt capt. Pentru subnivelui de linie repetoarele sunt transparente.
Atunci cnd emite bii pe fibr, un multiplexor se ateapt ca biii s ajung la cellalt multiplexor
neschimbai, indiferent de numrul de repetoare folosite. Prin urmare, protocolul subnivelului de
linie se desfoar ntre dou multiplexoare i se ocup de probleme cum ar fi numrul de intrri
multiplexate i modul de realizare a multiplexrii. Spre deosebire de acesta, subnivelui i protocolul
de cale se ocup de subiecte legate de comunicaia capt-la-capt.
120 NIVELUL FIZIC CAP. 2;

2.4.5 Comutarea

Din punctul de vedere al unui inginer telefonist obinuit, sistemul telefonic se mparte n dou:
domeniul exterior (buclele locale i trunchiurile, deoarece ele sunt n afara oficiilor de comutare) i
domeniul interior (comutatoarele). Tocmai am aruncat o privire asupra domeniului exterior. Acum
a venit timpul s examinm domeniul interior.
n sistemul telefonic se utilizeaz dou tehnici de comutare diferite: comutarea de circuite si
comutarea de pachete. Vom prezenta mai jos o scurt introducere pentru ambele tehnici. Apoi vom
studia n detaliu comutarea de circuite, acesta fiind modul de funcionare actual al sistemul telefonic.
Mai trziu, n acest capitol, vom trata n detaliu comutarea de pachete n contextul noii generaii a
sistemului telefonic, ISDN de band larg.

Comutarea de circuite

Atunci cnd formezi - tu sau calculatorul tu - un numr de telefon, echipamentul de comutare


din sistemul telefonic caut o cale fizic (incluznd aici i fibrele i undele radio) ntre telefonul tu i
telefonul apelat. Aceast tehnic se cheam comutare de circuite i este prezentat schematic n Fig.
2-34(a). Fiecare din cele 6 dreptunghiuri reprezint un oficiu de comutare al companiei de
A

telecomunicaie (oficiu final, oficiu de taxare etc). In acest exemplu fiecare oficiu are trei linii de
intrare i trei linii de ieire. Atunci cnd o cerere trece prin oficiu, se stabilete conceptual o legtur
ntre linia de pe care a venit cererea i una din liniile de ieire, reprezentate de liniile punctate.
Conectarea fizic
realizat pe durata
convorbirii

(a)
Oficiu de comutare

Calculator Pachetele aflate n


coad pentru a fi
transmise n continuare

Calculator

Fig. 2-34. (a) Comutare de circuite, (b) Comutare de pachete


SISTEMUL TELEFONIC 121

J*-' snrimele zile ale telefoniei, legtura era fcut de un operator care conecta un cablu n mufele
a " - trare si de ieire. De fapt, exist i o povestioar simpatic legat de invenia echipamentului de
". - u t a re automat a circuitelor. Acest echipament a fost inventat n secolul XIX de un proprietar
1 unei firme de Pompe Funebre numit Almon B. Strowger. Puin timp dup ce telefonul a fost
ntat cnd cineva a murit, unul dintre supravieuitori a sunat operatorul oraului i a spus: V
rog, fecei-mi legtura cu o firm de Pompe Funebre".

Semnal de cerere convorbire

PktT
ntrziere de
propagare

PktT

Pkt2

/l
Timp
IVlsg ntrziere datorat
ateptrii n coad Pkt3
Pkt T

a Pkt 2
E petrecut
n ateptarea
unui trunchi Pkt 3

Semnal de
acceptare a
convorbirii

Date

Truchi Truchi Truchi


AB BC CD

(a) (b) (O

Fig. 2-35. Apariia evenimentelor n (a) comutarea de circuite,


(b) comutarea de mesaje, (c) comutarea de pachete

Din pcate pentru domnul Strowger, existau dou firme de Pompe Funebre n ora, iar
proprietarul celeilalte era soul operatoarei telefonice a oraului. Domnul Strowger i-a dat repede
seama c fie va inventa echipamentul telefonic de comutare automat, fie va renuna la afacere. A
ales prima opiune. Timp de 100 de ani, echipamentul de comutare a circuitelor a fost cunoscut n
toat lumea drept cutia Strowger. (Istoria nu a consemnat ns dac operatoarea de comutare
rmas omer, a obinut ulterior un post de operator de informaii, rspunznd la informaii de
genul: Care este numrul de telefon al unei filme de Pompe Funebre ?").
122 NIVELULFIZIC CAP. 2

Modelul prezentat n Fig. 2-34(a) este desigur foarte simplificat, deoarece unele poriuni din<
drumul de cupru" ntre cele dou telefoane pot fi, de fapt, legturi prin microunde pe care sunt;f
multiplexate mii de convorbiri. Nu mai puin adevrat, ideea de baz este valid: odat ce o ]
convorbire a fost fixat, o cale dedicat dintre cele dou capete exist i va continua s existe pn i
cnd convorbirea se termin.
O proprietate important a comutrii de circuite este nevoia de a stabili o cale de la un capt la "
cellalt, nainte ca datele s poat fi transmise. Intervalul de timp dintre momentul formrii '
numrului i pn cnd se aude sunnd telefonul apelat poate ajunge uor la 10 sec, chiar mai mult
pe distane mari sau n cazul convorbirilor internaionale. In acest interval de timp, sistemul telefonic
caut un drum prin cupru, dup cum e prezentat n Fig. 2-35(a). De remarcat c, nainte ca
transmisia de date s poat ncepe, semnalul de apel trebuie s se propage pn la destinaie. Pentru
multe aplicaii pe calculator (de ex. verificarea creditului la punctul de vnzare), se dorete evitarea
perioadelor lungi de setare.
Ca o consecin a drumului dintre cele dou pri care vorbesc, odat ce setarea a fost realizat,"
singura ntrziere a datelor este dat de timpul de propagare a semnalului electromagnetic, de l
aproximativ 5 msec la 1000 Km. Totodat, ca o consecin a traseului stabilit, pericolul de congestie
nu mai exist - asta nseamn c, odat ce apelul s-a realizat, nu vei mai primi semnalul ocupat",
dei nainte de a stabili legtura se poate primi semnalul ocupat" datorit imposibilitii de
comutare sau a capacitii insuficiente a trunchiului.
O alternativ la strategia de comutare de circuite este comutarea de mesaje, prezentat n
Fig. 2-35(b). Atunci cnd se utilizeaz acest tip de comutare, nu se stabilete de la nceput o cale
ntre apelant i apelat. n schimb, atunci cnd apelantul are de transmis un bloc de date, acesta este ;
memorat n primul oficiu de comutare (ruter) i este retransmis mai trziu, cte un salt la un
moment dat. Dup cum a fost menionat n capitolul 1, o reea care folosete aceast tehnic se
numete reea memoreaz-i-retransmite.
Primul sistem de telecomunicaie electromecanic se baza pe comutarea de mesaje i a fost
folosit pentru telegrame. Mesajul era perforat pe o band de hrtie la oficiul de transmisie, band ce
era apoi citit i transmis pe o linie de comunicaie ctre urmtorul oficiu de pe traseu, unde era
perforat pe o alt band de hrtie. Un operator de acolo rupea banda de hrtie i o citea pe unul din
multele cititoare de band hrtie, cte unul pentru fiecare magistral de ieire. Un astfel de oficiu de
comutare era numit oficiu de tocare a benzilor (torn tape office).
n cazul comutrii de mesaje, nu exist o limit a dimensiunii blocului, ceea ce nseamn c
ruterele (din sistemele moderne) necesit discuri pentru memorarea unor blocuri lungi. De
asemenea, acest lucru nseamn c un singur bloc poate ocupa o linie ruter-ruter minute ntregi,
comutarea de mesaje nefiind util pentru traficul interactiv. Pentru a rezolva aceste probleme, a fost
inventat comutarea de pachete. Reelele cu comutare de pachete fixeaz o limit superioar precis
pentru dimensiunea blocului, permind pachetelor s fie pstrate n memoria principal a ruterului,
n loc s se salveze pe disc. Asigurndu-se faptul c nici un utilizator nu va putea monopoliza o linie
de transmisie mult timp (milisecunde), reelele cu comutare de pachete au devenit adecvate pentru
traficul interactiv. Un alt avantaj al comutrii de pachete fa de comutarea de mesaje este prezentat
n Fig. 2-35(b) i (c): primul pachet al unui mesaj multi-pachet poate fi transmis nainte ca cel de-al
doilea mesaj s fie complet recepionat, micornd ntrzierea i mbuntind productivitatea. Din
aceste motive, reelele de calculatoare folosesc, de obicei, comutarea de pachete, ocazional,
comutarea de circuite, dar niciodat comutarea de mesaje.
SISTEMUL TELEFONIC 123

utarea de circuite i comutarea de pachete difer n multe privine. Diferena principal este
S i n care se face transmisia: comutarea de circuite rezerv static banda de frecven necesar de
:
f^'inceput, n timp ce comutarea de pachete o obine i o elibereaz dup cum are nevoie. n
'.mutarea de circuite, orice band de frecven nefolosit pe un circuit alocat este pierdut. n
comutarea de pachete, ea poate fi folosit de alte pachete provenind de la surse diferite, transmise
ctre destinaii diferite, deoarece circuitele nu sunt dedicate. Totui, datorit faptului c circuitele nu j
sunt dedicate, o cretere -brusc a traficului la intrare poate suprancarc un ruter, depindu-i ^
capacitatea de stocare i provocnd pierderea unor pachete.
Spre deosebire de comutarea de circuite, atunci cnd se utilizeaz comutarea de pachete, ruterele
pot asigura vitez i conversie de cod. De asemenea, ntr-o anumit msur, ele pot asigura la
destinaie corectarea erorilor. Totui, n unele reele cu comutare de pachete, pachetele pot fi livrate
ntr-o ordine aleatorie. n comutarea de circuite nu se poate face niciodat reordonarea pachetelor.
O alt diferen este c comutarea de circuite este complet transparent. Transmitorul i
receptorul pot folosi orice vitez de transfer, orice format sau metod de ncadrare. Compania
de telecomunicaie nu cunoate aceste lucruri i nici nu o intereseaz. n cazul comutrii de
pachete, compania de telecomunicaie determin parametrii de baz. O analogie ar fi strada
comparat cu calea ferat. n cazul primei, utilizatorul determin mrimea, viteza i natura
vehicolului; n cazul celei de a doua, acest lucru l face societatea de cale ferat. Aceast
transparen face posibil coexistena vocii, faxului i a datelor n sistemul telefonic.
O ultim diferen ntre comutarea de circuite i comutarea de pachete se refer la algoritmul de
taxare. La comutarea de pachete, taxarea se face, de obicei, att pe numrul de octei (sau pachete)
transmise ct i n funcie de timpul de conectare. Mai mult, distana de transmisie nu conteaz, cu
excepia situaiei n care se face voluntar. La comutarea de circuite, taxarea se bazeaz doar pe
distan i timp, nu pe trafic. Diferenele sunt prezentate n Fig. 2-36.

Criteriu Comutarea de circuite Comutarea de pachete


Cale de cupru" dedicat Da Nu
Banda de frecven disponibil Fix Dinamic
Banda de frecven eventual risipit Da Nu
Transmisia memoreaz i transmite Nu Da
Fiecare pachet urmeaz aceiai cale Da Nu
Realizarea conectrii Necesar Nu e necesar
Cnd poate apare congestia La momentul setrii La fiecare pachet
Taxarea pe minut pe pachet

Fig. 2-36. Comparaie ntre reelele cu comutare de circuite i cu comutare de pachete.

Datorit faptului c att comutarea de circuite ct i comutarea de pachete sunt foarte


importante, vom reveni n scurt timp la ele i vom prezenta n detaliu diversele tehnologii folosite.

Ierarhia de comutatoare

Merit s spunem cteva cuvinte despre cum se face rutarea ntre comutatoare n actualul sistem
telefonic cu comutare de circuite. Aici vom descrie sistemul AT&T, dar alte companii i alte ri
folosesc aceleai principii generale. Sistemul telefonic are cinci clase de oficii de comutare, ilustrate
n Fig. 2-37. Acolo exist 10 oficii de comutare regionale, acestea fiind integral interconectate prin 45
124 NIVELUL FIZIC CAP.:

1^

de trunchiuri din fibr optic de band larg. Sub oficiile regionale exist 67 de oficii secionale, 23Q|
de oficii primare, 1.300 de oficii de taxare i 19.000 de oficii finale. Ultimele patru niveluri au foti
:
conectate iniial sub form de arbore.

10 oficii
regionale
(interconectate
integral)

67 oficii
de seciune

230 oficii
primare

1300 oficii
de taxare

19,000 oficii
finale
12 3 4 5 200 milioane de telefoane 19,000

Fig. 2-37. Ierarhia telefonic AT&T. Liniile punctate sunt trunchiuri directe.

Legturile sunt fcute de obicei la cel mai jos nivel posibil. Astfel, dac un abonat conectat la
oficiul final 1 apeleaz un alt abonat conectat la oficiul final 1, convorbirea se va desfura n oficiul
respectiv. Oricum, un apel de la un client ataat la oficiul final 1 ctre un client ataat la oficiul final
2, va trebui s treac prin oficiul de taxare 1. Un apel de la oficiul final 1 la oficiul final 4 se va stabili
prin oficiul primar 1 i aa mai departe. n cazul unui arbore exist un singur drum minimal i acesta
este drumul care trebuie urmat.
n timpul multor ani de funcionare, companiile telefonice au observat c unele rute sunt
mai ocupate dect altele. De exemplu, existau multe convorbiri de la New York la Los
Angeles. n loc s se parcurg toat ierarhia, pentru traseele aglomerate s-au instalat
SEC 2.4 SISTEMUL TELEFONIC 125

trunchiuri directe. Unele dintre acestea sunt indicate n Fig. 2-37 prin linii punctate. n
consecin, multe convorbiri pot fi direcionate pe mai multe ci. Traseul ales este, n general,
traseul cel mai direct, dar dac trunchiurile necesare sunt prea ncrcate, se opteaz pentru o
variant alternativ. Aceast rutare complex este posibil acum, deoarece o main de
comutare, precum AT&T ESS, nu este, de fapt, dect un calculator de uz general cu un numr
re ^ echipamente de intrare/ieire foarte specializate.

Comutator matricial
S trecem acum de la modul de rutare ntre comutatoare diferite, la modul de funcionare
intern a comutatorului. n sistemul telefonic exist (sau existau) cteva tipuri de comutatoare. Cel
mai simplu dintre acestea este comutatorul matricial (numit i crosspoint switch - comutator cu
puncte de ncruciare), din Fig. 2-38. ntr-un comutator cu n linii de intrare i n linii de ieire (linii
duplex integral), comutatorul matricial are n2 noduri, numite puncte de ncruciare, unde o linie de
intrare i o linie de ieire pot fi conectate printr-un comutator semiconductor, aa cum arat Fig. 2-
38(a). n Fig. 2-38(b) vedem un exemplu n care linia 0 este conectat la linia 4, linia 1 este conectat
la linia 7 i linia 2 este conectat la linia 6. Liniile 3 i 5 nu sunt conectate. Toi biii care sosesc la
comutator pe linia 4, de exemplu, sunt imediat transmii pe linia 0. n acest fel comutatorul matricial
implementeaz comutarea de circuite printr-o legtur electric direct, aa cum fceau circuitele de
legtur (jumper) n prima generaie de comutatoare, numai c acum comutarea se face automat i
n cteva microsecunde.
Conectare Dosibil Conectare! real
\
/ \
n n
u u
i
/
i ii

* o
rri
Int rri

c "
A A
4
q ir
0
fi fl
O

7 7 <

( i : i l l> (5 ir () ' i :i *X l i f3 r
eir i eir i

(a) (b)
Fig. 2-38. (a) Un Comutator matricial fr conectri, (b) Un Comutator matricial
setat cu trei conectri: 0 cu 4,1 cu 7 i 2 cu 6.

Problema care apare la comutatoarele matriciale este c numrul punctelor de ncruciare


crete ptratic cu numrul de linii din comutator. Dac presupunem c toate liniile sunt duplex
integral i c nu exist auto-conectri, atunci sunt necesare numai punctele de intersecie de
126 NIVELUL FIZIC CAP.'

deasupra diagonalei. n orice caz, este nevoie de n(n-l)/2 puncte de intersecie. Pentru n = 1(
avem nevoie de 499.500 de puncte. n timp ce construcia unui cip VLSI cu acest numr de
tranzistoare este posibil, existena a 1000 de pini pe cip nu este. De aceea, un comutator matricial;
este util numai pentru oficiile finale relativ mici. . -4

Comutator cu divizare n spaiu

Prin mprirea comutatorului matricial n bucele mici i prin interconectarea acestora,,


este posibil s se construiasc comutatoare pe mai multe niveluri cu mult mai puine puncte de
intersecie. Acestea se numesc comutatoare cu divizare n spaiu. n Fig. 2-39 sunt prezentate -
dou configuraii.

= 16,n = 4,

N N N
ncruciri ncruciri ncruciri ncruciri

nxk nxk

ncruciri

nxk
N N n xk
X
n n

nxk
N N n xk
X
n n

nxk nxk

N Intrri N Ieiri N Intrri N Ieiri

(a) (b)

Fig. 2-39. Dou comutatoare cu divizare n spaiu cu diferii parametri.

Pentru a pstra exemplul nostru simplu, vom considera comutatoare pe trei nivele, dar se pot
realiza i comutatoare pe mai multe nivele. n aceste exemple, avem un numr total de N intrri i N
ieiri. n loc s construim un singur comutator matricial NxN, vom construi un comutator pe mai
multe nivele. La primul nivel sunt n intrri, deci avem nevoie de N/n comutatoare pentru a putea
manevra cele N linii de la intrare.
Al doilea nivel are k comutatoare matriciale, fiecare cu N/n intrri i N/n ieiri. Al treilea nivel
este la fel ca primul nivel, dar inversat de la stnga la dreapta. Fiecare nod intermediar este conectat
la fiecare linie de intrare i la fiecare linie de ieire. Prin urmare, este posibil s conectm fiecare
intrare la fiecare ieire folosind primul sau al doilea comutator matricial intermediar. De fapt, exist
dou ci disjuncte de la fiecare intrare la fiecare ieire, n funcie de linia folosit. n Fig. 2-39(b)
SISTEMUL TELEFONIC 127

|fe'*rrg t r e j cgi pentru fiecare pereche de intrare/ieire. Pentru k nivele intermediare (k este un
6
arametru stabilit de proiectani), exist k ci disjuncte.
S calculm numrul de puncte de ncruciare necesare pentru comutatorul pe trei nivele. n
rimul nivel, exist N/n linii, fiecare cu nk puncte de ncruciare, deci un total de Nk. n al doilea
2
Vel exist k linii, fiecare cu (N/n) puncte de ncruciare. Al treilea nivel este identic ca primul.
Adunnd aceste trei nivele, obinem:
Numrul de ncruciri = 2kN + k(N/nf
Pentru N = 1000, n = 50 i k = 10, avem nevoie de 24.000 de puncte de ncruciare n loc de
499 500, cte erau necesare la un comutator matricial 1000 x 1000 pe un singur nivel.
Din pcate, ca de obicei, nimic nu e pe gratis. Comutatorul se poate bloca. S considerm
din nou Fig. 2-39(a). Nivelul 2 a*e opt intrri, deci se pot efectua, n acelai timp, opt
convorbiri. Atunci cnd apare al noulea apel, se va obine semnalul ocupat, chiar dac
destinaia este disponibil. Comutatorul din figura 2-39(b) este mai bun, pentru c poate
permite un maxim de 12 convorbiri n loc de 8, dar folosete mai multe puncte de ncruciare.
Uneori, atunci cnd facem un apel telefonic, putem obine semnalul ocupat nainte s
terminm de format numrul. Acest fapt se datoreaz probabil unui blocaj undeva n reea.
Evident, cu ct k este mai mare, cu att este mai scump comutatorul i cu att mai mic
este probabilitatea de blocare. n 1953, Clos a artat c atunci cnd k = 2n - 1 , comutatorul nu
se va bloca niciodat (Clos, 1953). Ali cercettori au analizat n detaliu diferite abloane de
apeluri foarte detaliate cu scopul de a construi comutatoare care teoretic se pot bloca, dar se
blocheaz rareori n practic.

Comutatoarele cu Divizare n Timp

Un tip cu totul diferit de comutator este comutatorul cu divizare n timp, prezentat n Fig. 2-40.

Schimbtor de
cuante (de timp)
n linii de n linii de
intrare I ieire
Cadru de intrare Cadru de ieire
0 1 2 3 4 5 6 7
Intervale de timp Intervale de timp
I Contor
BufferRAM
de n cuvinte de k bii
7 1
6 2
5 5
4 0 Tabel de punere n
3 3 coresponden a cuvintelor
2 6
1 7
0 4

Fig. 2-40. Un comutator cu divizare n timp


128 NIVELUL FIZIC CAP. 2

La comutarea cu divizare n timp, cele n linii de intrare sunt scanate secvenial pentru a forma
un cadru de intrare cu n celule. Fiecare celul are k bii. n cazul comutatoarelor TI, celulele au 8
bii i prelucreaz 8000 de cadre pe secund.Esena comutatorului cu divizare n timp este
schimbtorul de cuante (de timp) (time slot interchanger), care accept cadre la intrare i
produce cadre de ieire n care intervalele de timp au fost reordonate. n Fig. 2-40, intrarea
numrul 4 este transmis prima, apoi 7 i aa mai departe. n final, cadrul de la ieire este
demultiplexat, cu ieirea 0 (intrarea 4) plecnd pe linia 0 i aa mai departe. n esen,
comutatorul a mutat un octet din linia de intrare 4 la linia de ieire 0, un alt octet de la linia de
intrare 7 la linia de ieire 1 etc. Vzut din afar, toat aceast schem pare un comutator de
circuite, cu toate c nu exist conectri fizice.
Schimbtorul de cuante funcioneaz dup cum urmeaz: cnd un cadru de la intrare este
pregtit pentru prelucrare, fiecare celul (adic fiecare octet din cadrul de intrare) este scris ntr-un
tampon RAM din interiorul schimbtorului. Celulele sunt scrise n ordine, astfel c tamponul i
conine celula i.
Dup ce toate celulele cadrului de intrare au fost memorate n tampon, cadrul de ieire este
construit prin recitirea cuvintelor, dar intr-o alt ordine. Un contor are valori de la 0 la n - 1 . La pasul
j, se citete coninutul cuvntului; dintr-o tabel de corespondene i se utilizeaz pentru a adresa
tabela RAM. Astfel, dac cuvntul 0 din tabel conine numrul 4, cuvntul 4 din tamponul RAM va
fi citit primul i prima celul din cadrul de ieire va fi celula 4 din cadrul de intrare. Astfel,
coninutul tabelului determin ce permutare a cadrului de intrare va fi generat pe post de cadru de
ieire, deci ce linie de intrare este conectat la ce linie de ieire.
Comutatoarele cu divizare n timp folosesc tabele care variaz linear, nu ptratic, cu numrul de
bii, dar ele au o alt limitare. Este necesar ca n tamponul RAM s se memoreze n celule i apoi
celulele s fie recitite n intervalul de 125 usec. Dac fiecare acces la memorie dureaz T
microsecunde, timpul necesar pentru a procesa un cadru este de 2nT microsecunde, deci obinem
2nT = 125 sau n = 125/27". O memorie cu durata ciclului de 100 nsec suport pn la 625 de linii.
Putem utiliza aceast relaie i pentru a determina durata maxim necesar unui ciclu de memorie
pentru a suporta un anumit numr de linii. La fel ca i pentru comutatoarele matriciale, este posibil
s realizm comutatoare multi-nivel care mpart lucrul n mai multe pri i apoi combin rezultatele
pentru a putea suporta un numr mai mare de linii.

2.5 ISDN DE BAND LARG

Timp de mai bine de un secol, sistemul telefonic public cu circuite comutate a constituit
infrastructura de baz a telecomunicaiilor internaionale. Acest sistem a fost proiectat pentru
transmisia vocal i este neadecvat cerinelor transmisiilor prin modem. Anticipnd cererea
considerabil a utilizatorilor pentru un serviciu capt-la-capt digital (diferit de cel din Fig. 2-17 care
este parial digital i parial analogic), companiile de telefoane i PTT-urile din ntreaga lume s-au
ntrunit n 1984 sub auspiciile CCITT i s-au pus de acord s construiasc un nou sistem telefonic cu
circuite comutate, complet digital, pn n prima parte a secolului XXI. Acest nou sistem, denumit
ISDN (Integrated Services Digital Network - Reea Digital cu Servicii Integrate), are ca principal
scop integrarea serviciilor vocale i non-vocale. El este deja disponibil n multe locuri i, ncetul cu
ncetul, utilizarea sa crete. n urmtorul capitol vom descrie ce face i cum funcioneaz acest
sistem. Pentru informaii suplimentare, a se vedea (Dangdeviren .a., 1994; i Kessler, 1993).
SEC. 2.5 ISDN DE BAND LARG 129

2.5.1 Servicii ISDN

Cu toate c se vor aduga o serie de noi faciliti mbuntite, principalul serviciu al ISDN-ului
va continua s fie cel vocal. De exemplu, muli directori de companii au un buton pentru comunicaii
interioare, amplasat pe telefonul propriu, care sun instantaneu secretara (timpul necesar pentru
stabilirea legturii fiind nul), O facilitate a ISDN-ului o reprezint telefoanele cu butoane multiple
pentru stabilirea rapid a legturii cu orice telefoane situate oriunde n lume. O alt facilitate o
constituie telefoanele care afieaz pe un ecran, n momentul n care telefonul sun, numrul de
telefon, numele i adresa apelantului. O versiune mai sofisticat a acestei faciliti va permite ca
telefonul s poat fi cuplat la un calculator astfel nct, nregistrarea din baza de date
corespunztoare apelantului va fi afiat pe ecran n momentul apelului. De exemplu, un agent de
schimb pentru aciuni poate astfel aranja ca atunci cnd rspunde la telefon, portofoliul apelantului
s fie deja afiat pe ecran mpreun cu preurile curente ale tuturor aciunilor apelantului. Alte
servicii vocale avansate vor permite redirectarea apelului i conferine telefonice la nivel mondial.
Dintre serviciile non-vocale avansate fac parte citirea de la distan a contoarelor electrice
i alarmele medicale, anti-efracie i de incendiu, cuplate on-line, care apeleaz automat
spitalul, poliia sau pompierii i transmit adresele proprii n scopul unei reacii mai rapide din
partea acestor instituii.

2.5.2 Arhitectura sistemului ISDN

A venit acum momentul s analizm n detaliu arhitectura ISDN, n special echipamentul


clientului i interfaa dintre client i compania de telefoane sau FIT. Ideea eseniala care st la baza
ISDN-ului este aceea de conduct digital de bii (digital bit pipe), o conduct abstract prin care
circul biii ntre client i furnizorul de servicii. Nu are importan dac biii provin de la un telefon
digital, un terminal digital, un fax digital sau orice alt dispozitiv. Tot ceea ce conteaz este faptul c
biii pot circula prin conduct n ambele sensuri.
n mod normal, conducta digital de bii poate suporta mai multe canale independente prin
multiplexarea n timp a irului de bii. Formatul exact al irului de bii i multiplexarea acestuia sunt
pri definite riguros n specificaia interfeei pentru conducta digital de bii. Pentru conducta de
bii au fost elaborate dou standarde mai importante: un standard de band joas pentru locuine i
un standard de band nalt pentru firme, care poate suporta mai multe canale, identice cu cele
folosite n locuine. Mai mult, n cazul n care au nevoie de o capacitate mai mare dect cea pe care
standardul o poate furniza, firmele pot avea mai multe conducte de bii.
n Fig. 2-41(a) este prezentat configuraia normal pentru o locuin sau firm mic. Furnizorul
de servicii monteaz n sediul clientului un dispozitiv terminal de reea, NT1 i l conecteaz la
dispozitivul de conversie ISDN din oficiul telefonic, aflat la civa kilometri deprtare, folosind
cablurile torsadate care au fost utilizate anterior pentru conectarea telefonului. Dispozitivul NT1 are
un conector n care se poate insera un cablu de magistral pasiv. Pe acest cablu se pot conecta pn
la opt telefoane, terminale, alarme sau alte dispozitive ISDN, ntr-un mod similar celui n care se
conecteaz dispozitivele la un LAN. Din punctul de vedere al clientului, limita reelei proprii este
conectorul de pe NT1.
Pentru firmele mari, modelul din Fig. 2-41(a) este neadecvat, deoarece vor exista n mod frecvent
mai multe convorbiri telefonice simultane dect se pot transmite prin cablul de magistral. Prin
130 NIVELUL HZIC CAP.2

urmare, n acest caz se folosete modelul din Fig. 2-41 (b). n acest model observm un dispozitiv,
NT2, denumit PBX (Private Branch eXchange - Central Telefonic Privat) care este conectat la
NTl i care furnizeaz interfaa real pentru telefoane, terminale sau alte echipamente. Un PBX
ISDN nu este foarte diferit conceptual fa de un comutator ISDN, cu toate c este, n mod normal,
mai mic i nu poate gestiona la fel de multe legturi n acelai timp,

Sediu clientului * -* Oficiul telefonic

Terminal ISDN
Conduct
digital
de bii
Ctre reeaua!
intern a
furnizorului
Telefon Terminal de servicii
ISDN ISDN

Echipamentul clientului Echipamentul furnizorului de servicii


(a)

Sediul clientului Oficiul telefonic

E1
Terminal
ISDN

Ctre reeaua
intern a
furnizorului
de servicii
TEI
Telefon
ISDN
Echipamentul furnizorului de servicii

Terminal
Non-ISDN

Echipamentul clientului
(b)

Fig. 2-41. (a) Exemplu de sistem ISDN pentru locuin,


(b) Exemplu de sistem ISDN cu un PBX, pentru firme mari.
SEC. 2.5 ISDN DE BAND LARG 131

CCITT a definit patru puncte de referin, denumite R, S, T, i U, ntre diferite dispozitive.


Acestea sunt marcate n Fig. 2-41. Punctul de referina U l reprezint conexiunea dintre dispozitivul
de conversie ISDN din oficiul telefonic i NT1. In momentul de fa, acesta este un cablu torsadat
bifilar de cupru, dar n viitor s-ar putea s fie nlocuit prin fibre optice. Punctul de referin T este
dat de ceea ce pune la dispoziia clientului conectorul de pe NT1.
Punctul de referin S reprezint interfaa dintre PBX ISDN i terminalele ISDN. Punctul de
referin R este dat de conexiunea dintre adaptorul de terminal i terminalele non-ISDN. n cadrul
lui R pot fi folosite diferite tipuri de interfee.

2.53 Interfaa ISDN

Conducta de bii ISDN suport mai multe canale, folosind n acest scop multiplexarea n timp. O
parte din aceste canale au fost standardizate:

A - canal telefonic analogic de 4 KHz


B - canal PCM digital pentru voce sau date de 64 Kbps
C - canal digital de 8 6au 16 Kbps
D - canal digital pentru semnalizare n afara benzii de 16 Kbps
E - canal digital pentru semnalizare n interiorul ISDN de 64 Kbps
H - canal digital de 384,1536, sau 1920 Kbps

CCITT nu a intenionat s permit orice combinaie de canale pe conducta digital de bii. Pn


acum au fost standardizate trei combinaii:

1. Viteza de baz: 2B + 1D
2. Viteza primara: 23B + 1D (S.U.A. i Japonia) sau 30B + 1D (Europa)
3. Hibrid: IA + IC

Canalele pentru viteza de baz i viteza primar sunt prezentate n Fig. 2-42.

D (64 kbps)

D (16 kbps) ^ = = \ Viteza primar


Viteza de baz L 1 :"""' ^ ' ,sB1toB23
O Bl to B2

(a) (b)

Fig. 2-42. (a) Canal digital pentru viteza de baz.


(b) Canal digital pentru viteza primar.

Canalul pentru viteza de baz ar trebui privit ca un potenial nlocuitor al POTS-ului (Plain Old
Telephone Service Sistemul Telefonic Tradiional) pentru locuine i firme mici. Fiecare din
canalele B de 64 Kbps pot transmite un singur canal PCM vocal cu eantioane de 8 bii, frecvena de
eantionare fiind de 8000 eantioane pe secund (a se observa c n acest caz, 64 Kbps nseamn
132 NIVELUL FIZIC CAP. 2

6.4000 i EU .65.536).. Semnalizarea se face pe un canal D de 16 Kbps, separat, astfel c toi cei 64
Kbps sunt pui la dispoziia utilizatorului (asemntor sistemului CCITT de 2.048 Mbps i diferit de
sistemul TI din S.U.A. i Japonia). Deoarece ISDN se bazeaz att de mult pe canale de 64 Kbps,
ne vom referi la el ca N-ISDN (Narrowband ISDN - ISDN de Band ngust), pentru a-1 distinge de
ISDN de band larg (ATM), care va fi discutat mai trziu.
Canalul pentru viteza primar este adecvat pentru a fi folosit n punctele de referin T n
cazul firmelor cu un PBX. El are 23 de canale B i un canal D (de 64 Kbps) n Statele Unite i
Japonia i 30 de canale B i un canal D (de 64 Kbps) n Europa. Varianta 23B + 1D a fost
aleas astfel, nct s permit unui cadru ISDN s fie compatibil cu sistemul TI de la AT&T.
Varianta 30B + 1D a fost aleas astfel, nct s permit unui cadru ISDN s fie compatibil cu
sistemul CCITT de 2.048 Mbps. Cel de-al 32-lea interval de timp din sistemul CCITT este
folosit pentru ncadrare i ntreinerea general a reelei. Trebuie remarcat faptul c raportul
dintre numrul de canale D i numrul de canale B, n cazul vitezei primare, este mult mai mic
dect n cazul vitezei de baz, deoarece n acest caz nu se ateapt s fie necesare att de multe
msurtori sau s se foloseasc pachete de date de dimensiuni reduse.

2.5.4 Perspectivele N-ISDN

N-ISDN a reprezentat o ncercare puternic de a nlocui sistemul telefonic analogic cu unul


digital, potrivit att pentru traficul vocal ct i pentru cel non-vocal. S-a presupus c obinerea unui
consens mondial n ceea ce privete standardul interfeei pentru viteza de baz, va conduce la o
cerere mare pentru echipamente ISDN din partea utilizatorilor i astfel se vor realiza producii n
mas, reduceri de scar i circuite VLSI ISDN ieftine. Din nefericire, procesul de standardizare a
durat ani de zile, iar tehnologia din acest domeniu a evoluat foarte rapid, ceea ce a fcut ca n
momentul n care standardul a fost n sfrit adoptat, acesta s fie deja nvechit.
n cazul locuinelor, cea mai mare cerere pentru noile servicii va fi cu siguran video la
cerere. Din nefericire, canalul pentru vitez de baz a ISDN limiteaz limea de band
necesar cu dou ordine de mrime. Pentru firme, situaia este i mai sumbr. LAN-urile
existente n momentul de fa ofer cel puin 10 Mbps i sunt treptat nlocuite de LAN-uri de
100 Mbps. Oferind servicii de 64 Kbps pentru firme, n anii 1980 acest sistem a constituit o
ofert serioas. n anii 1990, a devenit o bagatel.
Destul de surprinztor, ISDN mai poate fi nc salvat doar de ctre o aplicaie total neateptat:
accesul la Internet. Diferite companii vnd acum adaptoare ISDN care combin canalele 2B + 1D
ntr-un singur canal digital de 144 Kbps. Muli furnizori de servicii Internet suport, de asemenea,
aceti adaptori. Rezultatul este c lumea poate face acces la Internet printr-o legtur complet
digital de 144 Kbps, n loc de o legtur analogic prin modem de 28,8 Kbps. Pentru muli
utilizatori ai Internetului, creterea de cinci ori a vitezei de afiare a paginilor World Wide Web
complet grafice justific din plin existena acestui serviciu. n timp ce B-ISDN la 155 Mbps este mult
mai bun, N-ISDN este disponibil acum la un pre accesibil i acest fapt poate constitui principala sa
aplicaie n urmtorii ani.
SEC 2.6 ISDN DE BAND LARG I ATM 133

2.6 ISDN DE BAND LARG I ATM

Atunci cnd CCITT i-a dat seama c ISDN de band ngust nu poate s corespund
cerinelor actuale, a ncercat s se gndeasc la un nou serviciu. Rezultatul a fost apariia
ISDN-ului de band larg (B-ISDN), n principiu un circuit digital virtual pentru transportul
pachetelor de dimensiune fix (celule) de la surs la destinaie, cu 155 Mbps (n realitate 156
Mbps, dup cum am menionat mai devreme). Din moment ce aceast vitez de transfer este
suficient chiar i pentru HDTV (necomprimat), se pare c va satisface chiar i cele mai mari
cereri de band, cel puin pentru civa ani.
ISDN-ul de band ngust a fost un prim pas timid spre era digital, n timp ce ISDN de band
larg este un salt ndrzne n necunoscut. Beneficiile sunt enorme, limea de band crescnd de
2500 de ori fa de ISDN de band ngust, dar tot att de multe sunt i problemele care apar
(Armbruster, 1995).
n primul rnd, ISDN-ul de band larg se bazeaz pe tehnologia ATM i, dup cum am discutat
pe scurt n Cap. 1, ATM este n primul rnd o tehnologie bazat pe comutarea de pachete i
nicidecum o tehnologie bazat pe comutarea de circuite (dei ea poate emula comutarea de circuite
destul de bine). Prin contrast, att PSTN-ul existent ct i ISDN-ul de band ngust sunt tehnologii
bazate pe comutarea de circuite. Prin aceast schimbare, aproape toat experiena inginereasc din
domeniul comutrii de circuite va deveni nvechit. Trecerea de la comutarea de circuite la
comutarea de pachete este ntr-adevr o paradigm a schimbrii.
Ca i cum aceasta nu ar fi fost de ajuns, ISDN-ul de band larg nu poate fi folosit pe
cablurile torsadate existente, n cazul unor distane mai mari. Aceasta nseamn c
implementarea sa va necesita eliminarea total a celor mai multe bucle locale i nlocuirea lor
cu cabluri torsadate de categoria a 5-a sau cu fibre optice (Stephens i Banwell, 1995). Mai
mult dect att, comutatoarele cu divizare n spaiu i cele cu divizare n timp nu pot fi folosite
pentru comutarea de pachete. Ele vor fi toate nlocuite de comutatoare noi, care au la baz
principii complet diferite i care lucreaz la viteze mult mai mari. Singurele lucruri care pot fi
pstrate sunt trunchiurile de fibr optic inter-zonale.
Pe scurt, renunarea la cunotinele acumulate n 100 de ani, la care se adaug o investiie, att n
instalaii tehnologice ct i n instalaii auxiliare, n valoare de mai multe sute de miliarde de dolari,
nu este chiar un pas mic, care s poat fi fcut uor. Cu toate acestea, pentru companiile de
telefoane este clar c dac ele nu vor face acest pas, companiile de televiziune prin cablu, gndindu-
se s realizeze video la cerere, aproape sigur l vor face. In timp ce un deceniu sau chiar mai mult, se
pare, vor mai exista att PSTN-ul actual ct i ISDN de band ngust, viitorul va ine probabil cu
ATM-ul pentru o lung perioad de timp i, prin urmare, l vom studia amnunit n aceast carte,
ncepnd, n acest capitol, cu nivelul fizic.

2.6.1 Circuitele virtuale n comparaie cu circuitele comutate

Serviciul de baz al ISDN-ului de band larg este un compromis ntre comutarea pur de
circuite i comutarea pur de pachete. Serviciul oferit la ora actual este orientat pe conexiune
dar este implementat intern prin comutarea de pachete, nu prin comutarea de circuite. Sunt
disponibile dou tipuri de conexiuni: circuite virtuale permanente i circuite virtuale comutate.
Circuitele virtuale permanente sunt cerute explicit de ctre client (de exemplu prin trimiterea
3.4 NIVELUL FIZIC CAP. 2

unui fax ctre furnizor) i, n mod normal, se pstreaz pe durata mai multor luni sau ani.
Circnitele virtuale comutate sunt asemntoare apelurilor telefonice: sunt stabilite n mod
dinamic n momentul apelului i pot fi desfcute imediat dup aceea.
ntr-o reea cu comutare de circuite, realizarea unei conexiuni presupune de fapt stabilirea unei
legturi fizice prin reea, de la surs la destinaie, bineneles, atunci cnd se folosesc comutatoare cu
divizare n spaiu. (n cazul comutatoarelor cu divizare n timp, noiunea de legtur fizic este puin
forat.) nr-o reea cu circuite virtuale (cum este ATM-ul), atunci cnd este stabilit un circuit, se
alege traseul ntre surs i destinaie i toate comutatoarele (ruterele, n acest caz) de pe traseu i
construiesc intrri n tabela de dirijare, astfel nct s poat dirija orice pachet prin acel circuit. De
asemenea, comutatoarele au posibilitatea de a pstra resurse pentru un nou circuit. Figura 2-43
prezint un singur circuit virtual de la calculatorul gazd HI la calculatorul gazd H5, via
comutatoarele (ruterele) A, E, C i D.

H2 H3

)
( )

f' \
f H5
Hi
J

Tabel intern
e rutare

He E

Calculator gazd

Fig. 2-43. Linia punctat indica un circuit virtual. El este definit pur i simplu de ctre intrrile
din tabela de dirijare din interiorul fiecrui comutator.

Atunci cnd sosete un pachet, comutatorul inspecteaz antetul pachetului pentru a stabili crui
circuit virtual i aparine. Apoi caut acel circuit virtual n tabela de rutare proprie, pentru a
determina pe care linie de comunicaie s fac transmisia. Vom examina acest proces mai amnunit
n Cap. 5.
In acest moment ar trebui s fie clar semnificaia circuitului virtual permanent ntre HI i
H5 din Fig. 2-43. Acesta reprezint un acord ntre client i furnizor prin care comutatoarele
vor menine ntotdeauna n tabelele de dirijare, intrrile corespunztoare unei destinaii
particulare, chiar dac nu a mai existat trafic de luni ntregi. Evident, un astfel de acord cost
resurse (n mod sigur, spaiu n tabela de dirijare din interiorul comutatoarelor i, probabil,
lime de band i tampoane rezervate) i, prin urmare, va exista o tax lunar pentru fiecare
circuit virtual permanent. Avantajul fa de un circuit virtual comutat const n faptul c se
SEC 2.6 ISDN DE BAND LARG I ATM as.

elimin timpul de stabilire a legturii. Pachetele se pot deplasa instantaneu n acest caz. n
cazul unor aplicaii de genul verificrii crilor de credit, economisirea ctorva secunde la
fiecare tranzacie poate s justifice din plin pltirea acestui cost.
Prin contrast, o linie nchiriat ntre HI i H5 ntr-o reea cu comutare de circuite, avnd
topologia din Fig. 2-43 i comutatoare cu divizare n spaiu, ar menine nchise punctele de
intersecie (crosspoints) timp de mai multe luni i ar rezerva permanent o lime de band din banda
trunchiurilor, sub form de band FDM sau interval de timp (o linie nchiriat poate fi nndit" de
mai multe ori (multihop), n cazul n care nu este disponibil o linie direct). O astfel de
implementare ar conduce n mod clar la o risip mult mai mare de resurse, atunci cnd circuitul este
liber, dect n cazul circuitelor virtuale.

2.6.2 Transmisia n reelele ATM

Dup cum am artat mai nainte, ATM nseamn Asynchronous Transfer Mode - mod de
transfer asincron. Acest mod poate fi comparat cu modul sincron TI, prezentat n Fig. 2-44 (a).
Un cadru TI este generat exact la fiecare 125 usec. Aceast rat de generare este dictat de un
ceas mater. Slotul k al fiecrui cadru conine un octet de date de la aceeai surs. TI este un
mod de transfer sincron.

1 cadru T1 !125|isec\i
22 2324 1 2 3 4 5 6 7 8 9 10 11 12 131415 1617 18 192021 22 2324 1 2 3

-Canalul 1 ocup exact octetul 1 de la nceputul fiecrui cadru -

(a)

1 14

Nu exist nici o constrngere asupra ordinii celulelor


1 celul
(b) (53 octei)

Fig. 2-44. (a) Modul de transmisie sincron, (b) Modul de transmisie asincron.

Prin comparaie, ATM nu cere ca celulele s alterneze strict ntre surse diferite. Fig. 2-44 (b)
prezint celulele de pe o linie provenind de la surse diferite, fr s se respecte un ablon particular.
Celulele sosesc n mod aleatoriu de la diverse surse.
Mai mult, nu se impune ca irul de celule transmise de un calculator s fie continuu. Este posibil
s existe guri" ntre celulele de date. Aceste guri" sunt umplute cu celule libere speciale.
ATM nu standardizeaz formatul pentru celulele transmise. n loc de aceasta se precizeaz c
este permis, pur i simplu, transmisia individual a celulelor i, de asemenea, se precizeaz c
celulele pot fi ncapsulate ntr-un mediu de transmisie ca TI, T3, SONET sau FDDI (un LAN pe
NIVELUL FIZIC CAP. 2

fibr, optic). Pentru aceste exemple, exist standarde care stabilesc modul de mpachetare a
fepiia4i de aceste sisteme.
355.$2 Mbps, cu o vil^ .adiional de ptai
vitez a fost aleas pentru compatibilitate cu SONET,
standardul folosit pentru legturile pe fibr optic din sistemul telefonic. De asemenea, sunt
prevzute standarde pentru ATM pe T3 (44,736 Mbps) i FDDI (100 Mbps).
Mediul de transmisie pentru ATM este, n mod normal, fibra optic, dar pentru distane sub 100
metri, sunt acceptate i cablurile coaxiale sau cele torsadate de categoria a 5-a. Fibra optic se poate
folosi pe distane de mai muli kilometri. Fiecare legtur ine de la un calculator pn la un
comutator ATM sau ntre dou comutatoare ATM. Cu alte cuvinte, toate legturile ATM sunt de
tip punct-la-punct (spre deosebire de LAN-uri, care au mai muli emitori i receptori pe acelai
cablu). Trimiterea multipl se realizeaz prin transmisia celulei care a intrat ntr-un comutator, pe
mai multe linii de ieire. Fiecare legtura punct-la-punct este unidirecional. Pentru o operare full-
duplex sunt necesare dou legturi paralele, cte una pentru fiecare sens.
Subnivelul ATM Physical Medium Dependent - dependent de mediul fizic are rolul de a insera
sau extrage biii n sau din cablu. n funcie de viteza i codificarea pe linie, pentru cabluri i fibre
optice diferite este necesar un hardware diferit. Scopul subnivelul transmision convergence -
convergena transmisiei este de a furniza o interfa uniform nivelului ATM, n ambele direcii. La
emisie, nivelul ATM furnizeaz o secven de celule, iar subnivelul PMD o codific dup cum este
necesar i apoi o transmite ca un ir de bii.
La recepie, subnivelul PMD preia de pe reea biii care sosesc i livreaz subnivelului TC un ir
de bii. Marginile cadrului nu sunt marcate n nici un fel. Este rolul subnivelului TC s marcheze
ntr-un anumit fel unde se sfrete o celul i unde ncepe urmtoarea. Acest lucru nu este doar
dificil, el este teoretic imposibil. De aceea, responsabilitatea subnivelul TC este clar. Deoarece
subnivelul TC realizeaz ncadrarea celulelor, aceasta este o funcie a legturii de date i, prin
urmare, o vom discuta n Cap. 3. Pentru mai multe informaii despre nivelul fizic ATM, a se vedea
(Rao i Hatamian, 1995).

2.6.3 Comutatoare ATM

n literatura de specialitate au fost descrise mai multe proiecte de comutatoare de celule ATM.
O parte din acestea au fost implementate i testate. n acest capitol vom face o scurt introducere n
principiile de proiectare a comutatoarelor de celule ATM i le vom ilustra prin cteva exemple.
Pentru mai multe informaii, a se vedea (De Prycker, 1993; Garcia-Haro i Jajszczyk, 1994; Handel
. a., 1994; i Partridge, 1994). Pentru informaii despre un comutator ATM optimizat pentru lucrul
cu IP peste ATM, a se vedea (Parulkar . a., 1995).
Modelul general al unui comutator de celule ATM este prezentat n Fig. 2-45. Comutatorul are
un numr de linii de intrare i un numr de linii de ieire, aceste numere fiind aproape ntotdeauna
aceleai (deoarece aceste linii sunt bidirecionale). Comutatoarele ATM sunt, n general, sincrone,
n sensul c pe durata unui ciclu, de pe fiecare linie de intrare se preia cte o celul (dac exist
vreuna), se introduce n schema intern de comutare i eventual se transmite pe linia de ieire
corespunztoare.
Comutatoarele pot fi de tip band de asamblare, ceea ce nseamn c s-ar putea s dureze mai
multe cicluri pn cnd o celula recepionat apare pe linia de ieire corespunztoare. n realitate,
SEC. 2.6 ISDN DE BAND LARG SI ATM 137

s@sesc pe i p i i stmaice exist un ceas mater care


iiimi noad n momentul n care a btut
5^isal, poate fi comutat pe durata acelui ddu. O celul care nu a fost n ntregime recepionat
rebme s atepte pn la urmtorul cidu.

Celulele sunt Celulele sunt Celulele sunt


recepionate comutate retransmise

11 Schem intern
11 de comutare


Fig. 2-45. Un comutator ATM generic.

Celulele sosesc cu viteza ATM, n mod normal de aproximativ 150 Mbps. Aceasta reprezint
ceva mai mult de 360.000 celule/sec, ceea ce nseamn c durata unui ciclu ntr-un comutator este
de aproximativ 2,7 usec. Un comutator comercial poate avea ntre 16 i 2048 linii de intrare, ceea ce
nseamn c acesta trebuie s fie gata s primeasc i s nceap comutarea unui lot de 16 pn la
1024 de celule, la fiecare 2,7 usec. La o vitez de 622 Mbps, n schema intern de comutare este
injectat un nou lot de celule la fiecare 700 nsec. Faptul c celulele sunt de lungime fix i reduse ca
dimensiune (53 de octei), face posibil construcia unor astfel de comutatoare. Dac pachetele ar fi
lungi i variabile ca dimensiune, comutatoarele de mare vitez ar fi mult mai complexe i din aceast
cauz ATM-ul folosete celule de lungime fix i reduse ca dimensiune.
Orice comutator ATM are dou scopuri principale:

1. Comutarea tuturor celulelor cu o rat de rejectare ct mai mic posibil.


2. Pstrarea ntotdeauna a ordinii celulelor de pe un circuit virtual.

Primul punct spune c este permis s se elimine celule n caz de necesitate, dar rata de pierdere a
celulelor trebuie s fie ct mai mic posibil. Se poate accepta o rat de pierdere de o celul din 1012.
In cazul unui comutator de dimensiuni mai mari, aceast rat este de aproximativ una sau dou
celule pe or. Punctul 2 spune c celulele care sosesc pe un circuit virtual ntr-o anumit ordine,
trebuie s plece n aceeai ordine, fr nici o excepie. Aceast constrngere face ca proiectarea
comutatoarelor s fie mult mai dificil, dar ea este impus de standardul ATM.
O problem care apare n toate comutatoarele ATM este ce se ntmpl dac celulele care
sosesc la dou sau mai multe linii de intrare, vor s plece pe acelai port de ieire pe durata aceluiai
ciclu. Rezolvarea acestei probleme este una din chestiunile cele mai importante n proiectarea
tuturor comutatoarelor ATM. O soluie fals ar fi s se aleag o celul care s se transmit i s se
elimine ce mai rmne. Deoarece acest algoritm violeaz punctul 1, el nu poate fi folosit.
O alt ncercare de a rezolva problema ar fi s se prevad o coad de ateptare pentru fiecare
linie de intrare. Dac dou sau mai multe celule sunt n conflict n privina liniei de ieire, una din ele
B8 NIVELUL FIZIC CAP. 2

este aleas pentru transmisie i restul sunt pstrate pentru urmtorul ciclu. Alegerea celulei poate fi
fcut aleatoriu sau ciclic, dar trebuie s nu se favorizeze n mod sistematic, de exemplu, liniile cu
numrul de ordine mai mic, pentru a se evita servirea mai des a acestora fa de liniile cu numrul
de ordine mai mare. Figura 2-46(a) prezint situaia de la nceputul ciclului 1, n care celulele au
sosit pe toate cele patru linii de intrare i au ca destinaie liniile 2,0, 2 i 1, respectiv. Deoarece exist
un conflict pentru linia 2, poate fi aleas numai una dintre celule. S presupunem c se alege aceea
de pe linia 0. La nceputul ciclului 2, prezentat n Fig. 2-46(b), trei dintre celule au fost transmise, iar
celula de pe linia 2 a fost reinut i au mai sosit nc dou celule. Exact la nceputul ciclului 4,
prezentat n Fig. 2-46(d), toate celulele au prsit comutatorul.

Celul destinat Start Start Start Start


liniei 2 ciclu 1 ciclu 2 ciclu 3 ciclu 4

3 0 0

0 2 2 A
U 2
-
3

(a) (b) (O (d)

Fig. 2-46. Folosirea cozilor de ateptare pe intrri la un comutator ATM .

Problema folosirii cozilor de ateptare pe intrri este c, atunci cnd o celul trebuie s atepte,
ea blocheaz naintarea tuturor celulelor din spatele ei, chiar dac acestea ar putea fi, altfel,
comutate. Acest efect poart denumirea de blocare Ia captul liniei.

Start Start Start


ciclu 1 ciclu 2 ciclu 3

? 3 0 n
0 1

2 n
U
o
i. 2 o
i.
1 3

(a) (b) (c)


Fig. 2-47. Folosirea cozilor de ateptare pe ieiri la un comutator ATM .

ntr-o oarecare msur, lucrurile sunt ceva mai complicate dect au fost prezentate aici,
deoarece ntr-un comutator cu 1024 de linii de intrare, conflictele nu pot fi detectate pn cnd
celulele nu strbat efectiv comutatorul i se ciocnesc" pe linia de ieire. Pstrarea unei celule n
coada sa de la intrare pn cnd sosete napoi un semnal care s anune ciocnirea, necesit o logic
SEC. 2.6 ISDN DE BANDA LARGA SI ATM 139

suflipentar, o cale de semnalizare invers i,o ntrziere mai mare, Ceea ce se face uneori este s
se pun celulele care au pierdut btlia", pe o magistral de reciclare care le trimite napoi n
partea de intrare, dar n acest caz, comutatorul trebuie s aib grij unde va pune celulele pentru a
evita livrarea ntr-o alt ordine a celulelor de pe acelai circuit virtual.
O soluie alternativ care nu prezint efectul de blocare la captul liniei, folosete cozi de
ateptare n partea de ieire, aa cum este artat n Fig. 2-47. n acest desen avem acelai model de
celule la intrare, dar de data aceasta, atunci cnd dou celule vor s mearg spre aceeai linie de
ieire n acelai ciclu, ambele sunt trecute prin comutator. Una din ele este transmis pe linia de
ieire, iar cealalt este pus n coada de ateptare asociat liniei de ieire, dup cum se observ n
Fig. 2-47(b). n acest caz, pentru a comuta toate pachetele sunt necesari trei cicli n loc de patru.
Karol . a. (1987) a artat c folosirea cozilor de ateptare pe ieiri este, n general, mai eficient
dect folosirea lor pe intrri.

Comutatorul Knockout

Haidei acum s ne uitm mai atent la un proiect de comutator ATM care folosete cozi de
ateptare pe ieiri. Comutatorul se numete comutator knockout (Yeh . a., 1987) i este prezentat n
Fig. 2-48 pentru cazul cu opt linii de intrare i opt linii de ieire.

Linii de intrare Magistrala de difuzare

Concentrator

Regisrtru
de deplasare

Cozi de
ieire

Linii de
0 1 2 3 4 5 6 7 ieire

Fig. 2-48. O schem simplificat a unui comutator knockout.

Fiecare linie de intrare este conectat la o magistral pe care celulele recepionate sunt difuzate
n timpul ciclului n care au sosit. Existnd doar un singur controlor de magistral pentru fiecare
magistral, proiectarea i ordonarea n timp a funcionrii schemei se simplific considerabil.
Pentru fiecare celul recepionat, hardware-ul inspecteaz antetul celulei pentru a gsi
informaia despre canalul virtual asociat, se uit n tabela de rutare (vezi Fig. 2-43) i activeaz apoi
legtura corespunztoare. Celula cltorete" apoi de-a lungul magistralei proprii pn cnd
ajunge la legtura activat, moment n care se ndreapt n jos ctre linia de ieire corespunztoare.
Este posibil ca mai multe celule, de fapt chiar toate, s mearg ctre aceeai linie de ieire. De
140 NIVELUL FIZIC CAP. 2

asemenea, este posibil ca o celul s fie trimis pe mai multe linii de ieire doar prin activarea mai
multor legturi de pe magistrala de difuzare corespunztoare.
Cea mai simpl modalitate de manipulare a coliziunilor ar fi pur i simplu memorarea temporar
a tuturor celulelor n partea de ieire. Totui, pentru un comutator cu 1024 linii de intrare, n cazul
cel mai defavorabil, ar fi nevoie de 1024 de zone tampon de ieire. n practic, este foarte puin
probabil s apar aceast situaie i, prin urmare, se poate face o optimizare rezonabil prin folosirea
a mult mai puine tampoane, s zicem n.
n cazul puin probabil n care ntr-un ciclu sosesc mai multe celule dect se pot manipula,
concentratorul de pe fiecare linie selecteaz n celule pentru a fi puse n coada de ateptare i le
elimin pe celelalte. Concentratorul este un circuit inteligent care face aceast selecie ntr-un mod
echitabil, folosind un turneu de eliminare (knockout) similar cu sferturile de final, semifinalele sau
finalele din multe turnee sportive.
Conceptual, toate celulele selectate merg ntr-o singur coad de ieire (n afar de cazul n care
aceasta este plin, caz n care celulele sunt eliminate). Totui, colectarea tuturor celulelor ntr-o
singur coad n intervalul de timp alocat, nu este posibil i, prin urmare, coada de ieire este
simulat prin mai multe cozi. Celulele selectate intr ntr-un registru de deplasare, care apoi le
distribuie uniform n n cozi de ieire. Pentru a ine evidena cozilor care urmeaz la rnd, n scopul
meninerii ordinii din interiorul fiecrui circuit virtual, se folosete un jeton. Variind n, proiectanii
pot micora costul comutatorului cu preul creterii ratei de pierdere a celulelor.

Comutatorul Batcher-Banyan

Problema comutatorului knockout este aceea c el este de fapt un comutator matriceal i, prin
urmare, numrul punctelor de legtura este egal cu ptratul numrului de linii. Deoarece acest
factor s-a dovedit a fi o problem n comutarea de circuite, el constituie, de asemenea, o problem i
pentru comutarea de pachete. Soluia pentru comutarea de circuite a constituit-o comutarea cu
divizare n Spaiu care a redus substanial numrul de legturi cu preul folosirii unui comutator n
mai multe trepte. i pentru comutarea de pachete exist o soluie similar.

Treapta 1 face dirijarea n funcie de bitul cel mai semnificativ


Treapta 2 face dirijarea n funcie de bitul din mijloc
Treapta 3 face dirijarea n funcie de bitul cel mai puin semnificativ

* 0 e o

(b)

Fig. 2-49. Un comutator banyan cu opt linii de intrare i opt linii de ieire,
(b) Traseele pe care le parcurg dou celule prin comutatorul banyan.
SEC. 2:6 ISDN DE BAND LARGA SI ATM 141

Aceast soluie poart denumirea de comutator Bateher-Banyan. La fel ca i comutatoarele


knockout, comutatoarele Bateher-Banyan sunt sincrone, ele prelund o mulime de celule (zero sau
una pentru fiecare linie de intrare) la fiecare ciclu. Chiar i un comutator Bateher-Banyan simplu
este mult mai complicat dect comutatoarele cu divizare n spaiu din Fig. 2-39 i de aceea l vom
prezenta pas cu pas. n Fig. 2-49(a) avem un comutator banyan 8x8 n trei trepte, denumit astfel
deoarece se spune c schema sa seamn cu rdcinile unui arbore banyan. n toate comutatoarele
banyan, exist o singur cale de la fiecare linie de intrare la fiecare linie de ieire. Dirijarea se
realizeaz prin determinarea numrului liniei de ieire pentru fiecare celul (pe baza informaiilor
despre circuitul virtual i a tabelelor de rutare). Acest numr binar pe 3 bii este apoi pus n faa
celulei pentru a fi folosit la rutarea prin comutator.
Fiecare din cele 12 elemente de comutare din comutatorul banyan are dou intrri i dou ieiri.
Atunci cnd o celul sosete la un element de comutare, este inspectat bitul corespunztor liniei de
ieire i, pe baza acestuia, celula este ratat ctre portul 0 (cel superior) sau ctre portul 1 (cel
inferior). n cazul unei coliziuni, se rateaz o celul i se elimin cealalt.
Un comutator banyan analizeaz numrul liniei de ieire de la stnga la dreapta i, prin urmare,
prima treapt examineaz bitul cel mai din stnga (bitul cel mai semnificativ), treapta a dou
examineaz bitul din mijloc, iar treapta a treia pe cel din dreapta (cel mai puin semnificativ). n Fig.
2-49(b) sunt prezente dou celule: o celul pe linia de intrare 0, avnd ca destinaie linia de ieire 6 i
o celul pe linia de intrare 3, avnd ca destinaie linia de ieire 1. Pentru prima celul, adresa binar
de ieire este 110, prin urmare ea trece prin cele trei trepte folosind portul inferior n prima treapt,
portul inferior n cea de-a doua i portul superior n cea de-a treia, aa cum se vede n figur. Similar,
cealalt celul, etichetat cu 001 n binar, folosete portul superior n prima treapt, portul superior
n cea de-a doua i portul inferior n cea de-a treia treapt.

0 0
1 HMMI
1
T -\r V y
1^

T
3
r\r hr 3
4
5

6
"A
TA MMM mm
6
7 7

Fig. 2-50. (a) Coliziunea celulelor ntr-un comutator Banyan.


(b) Rutarea fr coliziuni a celulelor ntr-un comutator banyan.

Din nefericire, ntr-un comutator banyan apare o coliziune atunci cnd dou celule
recepionate vor s ias dintr-un element de comutare pe acelai port simultan. n Fig. 2-50(a)
sunt prezentate o serie de astfel de coliziuni. n prima treapt, n coliziune sunt implicate
celulele care se ndreapt ctre urmtoarele perechi de linii de ieire: (5,7), (0,3), (6,4) i (2,1).
142 NIVELUL FIZIC CAP. 2

S presupunem c aceste coliziuni sunt rezolvate n favoarea liniilor 5, 0, 4 i 1. n cea de-a


doua treapt vom avea coliziuni ntre (0,1) i (5,4). Lsm aici s ctige 1 i 5 care apoi vor fi
dirijate ctre liniile de ieire corespunztoare.
Privii acum Fig. 2-50 (b). Toate cele opt celule trec fr nici o coliziune. Concluzia este
urmtoarea: n funcie de celulele de la intrare, un comutator banyan poate face o rutare bun
sau proast.
Ideea care se ascunde n spatele unui comutator Batcher-banyan este de a pune n faa sa un
comutator care s permute celulele ntr-o configuraie pe care comutatorul banyan o poate
manipula fr pierderi de celule. De exemplu, dac celulele recepionate sunt sortate dup
destinaie i puse pe liniile de intrare 0, 2,4, 6,1,3,5, i 7 n aceast ordine, n msura n care este
necesar (n funcie de cte celule exist efectiv), atunci comutatorul banyan nu va pierde din celule.

Reeaua capcan
Comutator Batcher se amplaseaz Comutator Banyan
Interclasare pe Interclasare pe aici
Sortare 4 ci 8 ci

Reeaua de amestecare

Fig. 2-51. Schema intern de comutare a unui comutator Batcher-banyan.

Pentru a sorta celulele recepionate putem folosi un comutator Batcher, inventat de KE


Batcher (1969). La fel ca i comutatoarele banyan i knockout, comutatorul Batcher este, de
asemenea, sincron i funcioneaz n cicluri discrete. Un comutator Batcher este construit din 2x2
elemente de comutare, cu deosebirea c acestea funcioneaz diferit fa de cele din comutatorul
banyan. Atunci cnd un element de comutare recepioneaz: dou celule, compar numeric adresele
de ieire (nu un singur bit) i o ruteaz pe cea cu adresa mai mare spre portul indicat de sgeat, iar
pe cea cu adresa mai mic spre cellalt port. Dac exist o singur celul la intrare, atunci ea se duce
spre portul opus celui indicat de sgeat.
n Fig. 2-51 este prezentat un comutator Batcher pentru opt linii. Prima treapt sorteaz perechi
alturate de celule recepionate. Urmtoarele dou trepte fac o interclasare pe 4 ci. Ultimele trei
trepte fac o interclasare pe 8 ci. n general, pentru n linii, complexitatea unui comutator Batcher
crete cu log2n. Atunci cnd pe liniile de intrare exist k celule, comutatorul Batcher pune celulele
sortate pe primele A: linii de ieire.
SEC. 2.6 ISDN DE BAND LARG I ATM 143

. Dup ieirea din comutatorul Batcher, celulele strbat o conexiune de amestecare i apoi sunt
injectate n comutatorul banyan. Rezultatul final este c fiecare celul apare pe linia de ieire corect
la captul ndeprtat al comutatorului banyan.
n Fig. 2-52 este prezentat un exemplu de funcionare al schemei combinate de comutatoare
Batcher-banyan. n aceast figur sunt prezente celule pe liniile de intrare 2, 3, 4 i 5 avnd ca
destinaie liniile de ieire 6,5,1 i respectiv 4. Iniial, celulele avnd ca destinaie liniile 5 i 6 intr n
acelai element de comutare. Celula 6 are o adres mai mare, prin urmare va iei pe direcia indicat
de sgeat; celula 5 va merge pe cealalt cale. n acest caz nu apare nici o schimbare de direcie. n
cazul celulelor 1 i 4 apare o schimbare de direcie, celula 4 intr n elementul de comutare pe linia
de jos i iese pe linia de sus. Liniile ngroate marcheaz traseele strbtute pn la final.

Comutator Batcher Comutator Banyan

Fig. 2-52. Un exemplu de rutare a patru celule folosind un comutator Batcher-banyan.

Trebuie remarcat faptul c la sfritul comutatorului Batcher, cele patru celule sunt aranjate n
ordine. Apoi ele strbat reeaua de amestecare i sunt injectate n comutatorul banyan care le poate
prelucra acum fr coliziuni.
In principiu, comutatorul Batcher-banyan realizeaz o bun comutare ATM dar exist dou
complicaii pe care le-am ignorat: coliziunea pe liniile de ieire i transmiterea multipl a celulelor.
Dac dou sau mai multe celule au ca destinaie aceeai linie de ieire, comutatorul Batcher-banyan
nu le poate manipula i, drept urmare, va trebui s folosim din nou un fel de memorare ntr-un
tampon. O metod de rezolvare a acestei probleme ar fi inserarea unei reele capcan ntre
comutatorul Batcher i comutatorul banyan. Rolul reelei capcan este de a filtra celulele care au
aceeai destinaie i de a le recicla pentru ciclurile urmtoare, avnd grij s se menin ordinea
celulelor de pe acelai circuit virtual. (Ar trebui s fie clar acum c ordinea celulelor constituie o
problem mult mai complicat dect pare la prima vedere.) Comutatoarele comerciale pot, de
asemenea, trata i trimiteri multiple.
Primul comutator ATM de tip Batcher-banyan a fost proiectat de Huang i Knauser (1984). El a
fost denumit Starlite. Apoi au urmat Moonshine (Hui, 1987) i unhine (Giacopelli . a. 1991).
144 NIVELUL FIZIC CAP. 2

Trebuie s admitei c aceste denumiri au o not de umor. Starlite, Moonshine i Sunshine difer n
principal prin reeaua capcan i prin modul n care trateaz trimiterile multiple.

2.7 RADIO CELULAR

Exist un grup de utilizatori, n continu cretere, pe care sistemul telefonic tradiional


(chiar i atunci cnd ISDN de band larg va deveni complet operaional) nu va putea s l
satisfac: oamenii n micare. Prin urmare, sistemele care folosesc pentru comunicaii unde
radio n loc de cabluri sau fibre optice reprezint o concuren tot mai serioas. Aceste sisteme
vor juca n urmtorii ani, un rol din ce n ce mai important pentru reelele de calculatoare
portabile, pentru telefoanele de buzunar i pentru asistenii digitali personali. n urmtorul
capitol vom examina paging-ul prin satelit, telefoanele fr fir, telefoanele celulare i alte
tehnologii similare. Aceste sisteme sunt acum combinate ntre ele, dnd natere
calculatoarelor portabile capabile s recepioneze apeluri telefonice, faxuri i pot electronic
sau s interogheze de la distan o baz de date, indiferent de locul unde se afl pe glob.
Astfel de dispozitive au creat deja o pia imens. La aceast aciune doresc s ia parte multe
companii din domeniul calculatoarelor, telefoanelor, sateliilor sau alte domenii. Rezultatul este o
piaa haotic, cu numeroase produse i servicii suprapuse i incompatibile, toate aflate ntr-o
schimbare rapid i fiind diferite, n general, de la ar la ar. Cu toate acestea, prezentarea care
urmeaz i propune s pun la dispoziie mcar cunotinele fundamentale despre tehnologiile care
stau la baza acestor sisteme. Pentru mai multe informaii, a se vedea (Bates, 1994; Goodman, 1991;
Macario, 1993; Padgett . a., 1995; i Seybold, 1994).

2.7.1 Sisteme pager

Primele sisteme pager foloseau difuzoarele din interiorul unei singure cldiri. ntr-un spital este
ceva obinuit s se aud prin sistemul public de comunicare, anunuri de genul: Dr. Suzanne este
rugat s sune la interiorul 4321." n zilele noastre, persoanele care vor s primeasc mesaje prin
pager, poart asupra lor nite beeper-e mici. Acestea au de obicei ecrane de dimensiuni reduse
pentru afiarea scurtelor mesaje primite.
O persoan care dorete s ia legtura prin pager cu un posesor de beeper, poate s sune la
compania de beeper-e, i s introduc un cod de securitate, numrul beeper-ului i .de asemenea
numrul de telefon la care s sune purttorul beeper-ului (sau un alt mesaj scurt). Calculatorul
recepioneaz cererea i apoi o transmite prin linii terestre ctre o anten amplasat la o nlime
mare, care difuzeaz direct mesajul (n cazul sistemelor pager locale) sau l transmite ctre un satelit
care apoi l redifuzeaz (n cazul sistemelor pager de lung distan). Atunci cnd beeper-ul
detecteaz n semnalul radio recepionat, propriul numr de identificare, beeper-ul emite un semnal
sonor i afieaz numrul de telefon care trebuie format. De asemenea, este posibil s se anune
simultan prin pager un grup de persoane, doar printr-un singur telefon.
Majoritatea sistemelor de pager avansate se pot conecta direct la un calculator i pot recepiona
nu doar un singur numr de telefon ci un mesaj mult mai lung. Calculatorul poate apoi s prelucreze
datele pe msur ce sunt recepionate. De exemplu, cu ajutorul acestui sistem de pagere, o
companie poate menine actualizate listele de preuri din calculatoarele portabile ale vnztorilor.
-frimarea fer majoritate; sistemele pager actuale au proprietatea c surit sisteme ntr-un singur
SEG.2.7 RADIO CEEULAR 145

sens, de la ieirea unui singur calculator ctre un numr mare de receptori. Din moment ce exist un
singur emitor n tot sistemul, nu exist nici o problem n legtur cu cine urmeaz s vorbeasc i
nici o disput ntre utilizatorii aflai n competiie pentru un numr mic de canale.
Sistemele pager actuale necesit o band ngust, deoarece fiecare mesaj are nevoie, pentru a fi
transmis, de o singur rafal de aproximativ 30 de octei. La o asemenea rat de transfer a datelor,
un canal prin satelit de 1 Mbps poate gestiona peste 240.000 pagere pe minut. Sistemele pager mai
vechi lucreaz la diferite frecvene n banda 150-174 MHz.

931 MHz 830 MHz 842 MHz

887 MHz

(a) (b)

Fig. 2-53. (a) Sistemele pager sunt unidirecionale,


(b) Telefoanele mobile sunt bidirecionale.

Majoritatea sistemelor pager moderne folosesc banda 930-932 MHz. Figura 2-53(a) evideniaz
caracterul unidirecional al unui sistem pager, avnd o singur frecven pentru efectuarea tuturor
transmisiilor. Mai trziu vom vedea prin ce difer acest mod de transmisie de telefoanele mobile.
Telefoanele mobile sunt bidirecionale i folosesc dou frecvene pentru o legtura, avnd perechi
diferite de frecvene pentru apeluri diferite, aa cum se poate vedea n Fig. 2-53(b). Aceste diferene
fac ca sistemele pager s fie mult mai simple i mai uor de folosit.

2.7.2 Telefoane fr fir

Telefoanele fr fir au aprut din dorina de a permite oamenilor s se plimbe n jurul casei n
timp ce vorbesc la telefon. Un telefon fr fir se compune din dou pri: o staie de baz i un
telefon. Acestea sunt vndute ntotdeauna mpreun. Staia de baz are n spate o muf de telefon
standard prin care poate fi conectat (printr-un fir) la sistemul telefonic. Telefonul comunic cu
staia de baz printr-un sistem radio de putere mic. Distana tipic este de aproximativ 100 pn la
3o6metri.
Deoarece primele telefoane fr fir au fost concepute numai ca s comunice cu propria staie de
baz, nu a fost necesar o standardizare. O parte din modelele mai ieftine foloseau o frecven fix,
stabilit din fabric. Dac, din ntmplare, telefonul dumneavoastr fr fir se nimerea s foloseasc
aceeai frecven ca i cea utilizat de telefonul vecinului, atunci fiecare dintre dumneavoastr putea
146 NIVELULHZIC CAP. 2

asculta convorbirile celuilalt. Modelele mai scumpe nltur aceasta problem, permind
utilizatorului s selecteze frecvena de emisie.
Prima generaie de telefoane fr fir, cunoscut sub denumirea CT-1 n Statele Unite i
CEPT-1 n Europa, a fost n ntregime analogic. Era posibil - i deseori se ntmpl astfel - ca
aceste telefoane s creeze interferene cu radioul i televizorul. Recepia slab i lipsa
securitii au determinat fabricanii s dezvolte un standard digital, CT-2, care i are originile
n Anglia. Primele dispozitive CT-2 puteau face apeluri dar nu le puteau recepiona. Imediat
ce au fost vndute primele dispozitive, productorul a recepionat cteva reacii negative i
sistemul a fost reproiectat rapid. Ca i versiunea CT-1, fiecare telefon trebuie s se afle la o
distan de cteva sute de metri de staia de baz, ceea ce l face util n jurul casei sau biroului,
dar inutil n automobil sau cnd umblm prin ora.
n 1992 a aprut a treia generaie, CT-3 sau DECT, care suport distane mai mari fa de staia
de baz. Aceast tehnologie este pe cale s se apropie tot mai mult de telefoanele celulare care vor fi
descrise n continuare.

2.7.3 Telefoane celulare analogice

Radiotelefoanele mobile au fost folosite sporadic, pentru comunicaii maritime i militare, nc


din timpul primelor decenii ale secolului XX. n 1946, primul sistem de telefoane pentru automobile
a fost pus n funciune n St. Louis. Acest sistem folosea un singur emitor amplasat pe o cldire
nalt i avea un singur canal folosit att pentru emisie ct i pentru recepie. Pentru a vorbi, un
utilizator trebuia s apese un buton care activa emitorul i dezactiva receptorul. Astfel de sisteme,
cunoscute sub denumirea de sisteme cu buton de emisie au fost instalate n cteva orae, spre
sfritul anilor 1950. Radioul CB, taxiurile i mainile de poliiejfolosesc deseori aceast tehnologie.
n 1960 a fost instalat BVTTS (Improved Mobile Telephone System - sistemul mbuntit de
telefonie mobil). i acesta folosete un emitor de mare putere (200 watt), amplasat pe vrful unui
deal, dar acum se utilizeaz dou frecvene: una pentru emisie i una pentru recepie. Prin urmare,
nu mai este nevoie de butonul de emisie. Deoarece toat comunicaia dinspre telefoanele mobile se
desfoar pe un canal diferit de cel pe care telefoanele ascult, utilizatorii telefoanelor mobile nu se
mai pot auzi unii pe alii (spre deosebire de sistemul cu buton de emisie folosit la taxiuri).
IMTS suport 23 de canale mprite ntre 150 MHz i 450 MHz. Din cauza numrului mic de
canale, utilizatorii trebuie s atepte deseori perioade lungi de timp pn cnd obin tonul. De
asemenea, datorit puterii mari a emitorului aflat la nlime, sistemele adiacente trebuie s se afle
la cteva sute de kilometri distan, pentru a se evita interferena. Pe ansamblu, sistemul a fost
impracticabil datorit posibilitilor limitate.

Sistemul Telefonic Mobil Avansat


Totul s-a schimbat odat cu AMPS (Advanced Mobile Phone System -Sistemul Telefonic Mobil
Avansat), inventat de Bell Labs i instalat pentru prima dat n S.UA n 1982. De asemenea, sistemul
este folosit n Anglia, unde poart denumirea TACS i n Japonia, unde se numete MCS-L1. n
AMPS, o regiune geografic este mprit n celule, de obicei de 10 pn la 20 km lime, fiecare
celul folosind o anumit mulime de frecvene. Ideea de baz care confer AMPS-ului o capacitate
semnificativ mai mare dect a tuturor sistemelor anterioare, const n folosirea de celule relativ mici si
SEC. 2.7 RADIO CELULAR 147

4. *

fcfotesirea frecvenelor de transmisie n celule apropiate (dar nu adiacente). In timp ce ntr-un sistem
IMTSde 100 km lime poate exista un singur apel pe fiecare frecven, un sistem AMPS poate avea
100 de celule de 10 km n aceeai regiune i este capabil s suporte 5 pn la 10 apeluri pe fiecare
frecven, n celule separate i ndeprtate. Mai mult dect att, celulele de dimensiuni reduse
necesit puteri mici, ceea ce implic dispozitive de dimensiuni reduse i ieftine. Telefoanele de mn
emit 0,6W; emitoarele de pe maini au n mod tipic 3 W, valoarea maxim permis de FCO.
Ideea refolosirii frecvenelor este ilustrat n Fig. 2-54(a). n mod normal, celulele sunt
aproximativ circulare dar ele pot fi modelate mai uor ca hexagoane. n Fig. 2-54(a), celulele au
toate aceeai dimensiune. Ele sunt grupate mpreun n uniti de 7 celule. Fiecare liter indic un
grup de frecvene. Trebuie remarcat c pentru fiecare set de frecvene exist o zon (tampon) de
lime aproximativ egal cu dou celule distan n care acea frecvena nu este refolosit, realiznd
astfel o delimitare mai bun i o interferen sczut.
O problem major o constituie gsirea locurilor nalte pentru instalarea antenelor staiei de
baz. Aceast problem a determinat pe unii furnizori de servicii de telecomunicaii s ncheie
contracte cu Biserica Romano-Catolic pentru c aceasta dispune de un numr substanial de
poteniale locuri nalte pentru antene, toate aflate n mod convenabil, sub o singur administraie.
ntr-o zon n care numrul de utilizatori s-a mrit att de mult, nct sistemul a devenit
suprancrcat, se reduce puterea i se mpart celulele suprancrcate n celule mai mici pentru
a permite mai multe refolosiri de frecvene, aa cum este artat n Fig. 2-54(b). Determinarea
dimensiunii maxime a celulelor constituie o problem complex i este tratat n (Hac, 1995).

(a) (b)

Fig. 2-54. (a) Frecvenele nu sunt refolosite n celule adiacente,


(b) Pentru a aduga mai muli utilizatori se pot folosi celule mai mici.

n centrul fiecrei celule se afl o staie de baz prin intermediul creia transmit toate telefoanele
din celul. Staia de baz cuprinde un calculator i un emitor/receptor conectat la o anten. ntr-un
sistem redus, toate staiile de baz sunt conectate la un singur dispozitiv denumit MTSO (Mobile
Telephone Switching Office- Oficiu Telefonic de Comutare Mobil). ntr-un sistem mare, pot fi
necesare mai multe MTSO-uri, toate acestea conectndu-se la un al doilea nivel MTSO i aa mai
148 NIVELULFIZIC CAP, 2

departe. MTSO-urile sunt n esen oficii finale - ca si n sistemul telefonic - si sunt de fapt conectate
la cel puin un oficiu final din sistemul telefonic. MTSO comunic cu staiile de baz, ntre ele i cu
PSTN-ul folosind o reea cu comutare de pachete.
n orice moment, orice telefon mobil se afl, n mod logic, ntr-o celul specific i sub controlul
staiei de baz a celulei respective. Cnd un telefon mobil prsete o celul, staia sa de baz
sesizeaz o scdere a semnalului dinspre telefon i ntreab toate staiile de baz nconjurtoare ct
de puternic este semnalul pe care l recepioneaz ele de la respectivul telefon. Staia de baz
transfer apoi proprietatea asupra telefonului ctre celula care recepioneaz cel mai puternic
semnal, aceasta fiind i celula n care se afl acum telefonul. Telefonul este apoi informat despre
noul su ef, iar dac un apel este n derulare n acel moment, telefonul va fi rugat s comute pe un
canal nou (deoarece canalul vechi nu este refolosit n nici o celul adiacent). Acest proces poart
denumirea de timp mort i dureaz aproximativ 300 ms. Atribuirea canalului se face de ctre
MTSO, care este centrul nervos al sistemului. Staiile de baz sunt, de fapt, doar nite radio-relee.

Canale
Sistemul AMPS utilizeaz 832 canale full-duplex, fiecare constnd dintr-o pereche de canale
simplex. Exist astfel 832 canale simplex pentru transmisie de la 824 la 849 MHz i 832 canale
simplex pentru recepie de la 869 la 894 MHz. Fiecare din aceste canale simplex are o lime de 39
kHz. Din aceast cauz AMPS folosete FDM pentru a separa canalele.
n banda de 800 MHz, undele radio au aproximativ 40 cm lungime i se propag n linie dreapt.
Ele sunt absorbite de copaci i plante i sunt reflectate de pmnt i cldiri. Este posibil ca un semnal
emis de un telefon mobil s ajung la staia de baz pe calea direct, dar tot la fel de bine poate s
ajung uor mai trziu i dup ce este reflectat de pmnt sau cldiri. Aceasta poate s conduc la un
efect de ecou sau la distorsionarea semnalului. Uneori este posibil chiar s se aud o convorbire
ndeprtat care a suferit mai multe reflexii.
n Statele Unite, cele 832 canale din fiecare ora sunt alocate de FCC. Din acestea, jumtate sunt
alocate companiei locale de telefoane, furnizor de telefoane prin fir sau furnizor de tip B (B-side
earrier), cealalt jumtate fiind repartizat noului venit n afacerile cu telefoane celulare, numit
furnizor de tip A (A-side earrier). Ideea este s se asigure existena a cel puin doi furnizori de
celulare concureni, pentru a promova n acest fel concurena i preuri mai sczute.
Cu toate acestea, diferena dintre o companie de telefoane i o companie de telefoane celulare
este nesemnificativ, deoarece majoritatea companiilor de telefoane au ca parteneri o companie de
telefoane celulare, iar n 1994 AT&T a fuzionat cu McCaw Cellular, cel mai rspndit furnizor de
celulare. De multe ori se ntmpl ca o companie s fie furnizor de tip A pe unele piee i furnizor de
tip B pe altele. O zpceal suplimentar apare i datorit faptului c un furnizor poate vinde sau
comercializa oricare sau toate cele 416 licene de canal proprii.
Cele 832 de canale se mpart n 4 categori:

1. Control (baza ctre mobil) pentru gestionarea sistemului.


2. Paging (baza ctre mobil) pentru a anuna utilizatorii de telefoane mobile c sunt apelai.
3. Acces (bidirecional) pentru stabilirea apelului i alocarea canalului.
4. Date (bidirecional) pentru voce, fax sau date.
SEC 17 RADIO CELULAR 149

Pentru control sunt rezervate douzeci i unu de canale i acestea sunt fixate n fiecare telefon
ntr-un PROM. Deoarece nu pot fi refolosite n celule nvecinate aceleai frecvene, numrul real de
canale vocale disponibile pe celul este mult mai mic dect 832, de regul 45.

Gestiunea apelului
Fiecare telefon mobil din AMPS are un numr serial pe 32 bii i un numr de telefon de 10 cifre
n PROM-ul propriu. Numrul de telefon este format dintr-un cod al zonei de 3 cifre pe 10 bii i un
numr de abonat de 7 cifre pe 24 de bii. Atunci cnd este activat, un telefon scaneaz o list
preprogramat cu 21 canale de control, pentru a descoperi semnalul cel mai puternic. Telefoanele
mobile sunt configurate s scaneze numai dup A-side, numai dup B-side, preferabil A-side sau
preferabil B-side, n funcie de serviciul (serviciile) la care s-a abonat clientul. De pe canalele de
control se determin numerele canalelor de paging i acces.
Apoi telefonul difuzeaz propriul numr serial de 32 de bii i numrul de telefon de 34 de bii.
Ca orice alt informaie de control din AMPS, acest pachet este transmis n form digital, de mai
multe ori i cu un cod corector de erori, dei canalele vocale sunt analogice.
Atunci cnd staia de baz aude anunul, sesizeaz MTSO-ul care nregistreaz existena
noului su client i informeaz de asemenea MTSO-ul clientului asupra poziiei sale curente,
n timpul unei funcionri normale, telefonul mobil se renregistreaz aproximativ odat la
fiecare 15 minute.
Pentru a face un apel, un utilizator de mobil activeaz telefonul, introduce de la taste numrul de
apelat i apas butonul SEND. Telefonul transmite apoi numrul de apelat i identitatea proprie pe
canalul de acces. Dac acolo apare o coliziune, el ncearc mai trziu din nou. Atunci cnd primete
o cerere, staia de baz informeaz MTSO-ul. Dac apelantul este un client al companiei MTSO
(sau unul din parteneri), MTSO-ul caut un canal liber pentru apel. Dac se gsete unul, numrul
canalului este transmis napoi pe canalul de control. Telefonul mobil comut apoi automat pe
canalul vocal selectat i ateapt pn cnd partea apelat ridic telefonul.
Apelurile primite funcioneaz diferit. La nceput toate telefoanele libere ascult n continuu pe
canalul de paging pentru a detecta mesajele adresate lor. Atunci cnd se face apel ctre un telefon
mobil (fie de la un telefon fix fie de la alt telefon mobil), se transmite un pachet ctre MTSO-ul
apelatului pentru a descoperi unde se afl acesta. Se transmite apoi un pachet ctre staia de baz
din celula sa curent, care apoi transmite pe canalul de paging un mesaj de difuzare de forma
urmtoare: "Unitatea 14, eti acolo?". Telefonul apelat rspunde apoi cu Da" pe canalul de
control. Baza spune apoi ceva de genul Unitatea 14, ai un apel pe canalul 3". n acest moment,
telefonul apelat comut pe canalul 3 i ncepe s sune.

Probleme de securitate
Telefoanele celulare sunt total lipsite de securitate. Oricine dispune de un receptor
(scaner) de band larg se poate poziiona i poate asculta tot ceea ce se ntmpl ntr-o
celul. Prinesa Di i iubitul ei au fost prini odat n acest fel i au aprut pe prima pagin a
revistelor din lumea ntreag. Deoarece majoritatea utilizatorilor celularelor nu-i dau seama
ct de nesigur este acest sistem, de multe ori ei transmit n acest mod numerele crilor de
credit sau alte informaii confideniale.
150 NIVELUL FIZIC CAP. 2

0 alt problem important o constituie furtul de informaie pe timpul emisiei. Utiliznd un


receptor pentru ntreaga band ataat la im calculator, un ho poate monitoriza canalul de control i
nregistra numrul serial de 32 bii i numrul de telefon de 34 de bii al tuturor telefoanelor mobile
pe care le ascult. Plimbndu-se prin zon cteva ore, el poate foarte uor s construiasc o baz de
date destul de mare. Houl poate apoi s aleag un numr i s-1 foloseasc pentru apelurile proprii.
Acest truc funcioneaz pn cnd victima primete facturile de plat, cteva sptmni mai trziu,
moment n care houl alege pur i simplu un alt numr.
Unii hoi ofer un serviciu telefonic la pre redus, utiliznd numerele furate pentru a realiza
apeluri pentru clieni proprii. Alii reprogrameaz telefoane mobile cu numerele furate i le vnd ca
telefoane care pot face apeluri netaxabile.
O parte din aceste probleme ar putea fi rezolvate prin criptografie dar atunci poliia nu ar mai
putea realiza interceptarea convorbirilor criminalilor. Acest subiect este foarte controversat i este
prezentat mai detaliat n Cap. 7.
O alt problem legat de securitate, o constituie* vandalismul i deteriorarea antenelor i
staiilor de baz. Toate aceste probleme sunt destul de grave i se adaug la sutele de milioane de
dolari pierderi pe an ale industriei de celulare.

2.7.4 Telefoane celulare digitale

Prima generaie de sisteme celulare a fost analogic. Cea de-a doua generaie este digital. n
Statele Unite a existat n principal numai un singur sistem: AMPS. Atunci cnd a venit timpul
sistemelor digitale, au aprut trei sau patru concureni i a nceput lupta pentru supravieuire. Acum
se pare c vor supravieui dou sisteme. Primul este compatibil cu cele anterioare, avnd schema
AMPS de alocare a frecvenelor i este specificat n standardele cunoscute sub denumirile IS-54 i
IS-135. Cellalt se bazeaz pe succesiunea direct a spectrului mprtiat i este specificat n
standardul IS-95.
IS-54 este dual (analogic i digital) i folosete aceleai canale de 30 KHz pe care le folosete i
AMPS. El mpacheteaz 48,6 Kbps pe fiecare canal i l partajeaz ntre trei utilizatori simultan.
Fiecare utilizator primete 13 Kbps; restul reprezint suprancrcarea datorat datelor de control i
sincronizrii. Celulele, staia de baz i MTSO-ul funcioneaz la fel ca n AMPS. Difer numai
semnalizarea digital i codificarea digital a vocii. Sistemul IS-95 este complet nou. Acesta va fi
discutat atunci cnd vom ajunge la alocarea canalului, n Cap. 4.
n Europa a avut loc procesul invers. Erau n folosin cinci sisteme analogice diferite, n ri
diferite, prin urmare nu se putea utiliza un telefon britanic n Frana i aa mai departe. Aceast
experien a condus PTT-urile europene la acceptarea unui sistem digital comun, denumit GSM
(Global Systems for Mobile Commimication-Sistem Global pentru Comunicaii Mobile), care a fost
pus n funciune naintea oricruia din sistemele concurente americane. Sistemul japonez este diferit
de toate cele prezentate anterior.
Deoarece toate sistemele europene erau diferite ntre ele, rencadrarea- acolo unde era posibil -
n banda de 900 MHz i, n plus, transformarea lor n sisteme digital care s opereze ntr-o band de
frecvene nou (1,8 GHz), s-au fcut destul de simplu. GSM folosete att FDM ct i TDM.
Spectrul disponibil este mprit n benzi de 50-200 KHz. n interiorul fiecrei benzi se folosete
TDM pentru a multiplexa mai muli utilizatori.
SEC 2.7 RADIO CELULAR 151

Unele telefoane GSM folosesc cartele inteligente. O cartel inteligent are dimensiunea unei
cri de credit i conine un procesor. Numrul serial i numrul de telefon se afl n cartel i nu n
telefon, ceea ce conduce la o mai mare securitate (dac furi telefonul, dar nu ai cartela, atunci nu vei
putea obine numrul). De asemenea, se folosete i criptarea. Vom discuta GSM n Cap. 4.

2.7.5 Servicii de comunicaii personale

n lumea telefoanelor, idealul H reprezint un mic telefon fr fir pe care s-1 poi folosi n jurul
casei i pe care s-1 poi lua cu tine oriunde n lume. Acesta ar trebui s rspund la acelai numr de
telefon, indiferent de locul unde se afl, astfel ca oamenii s aib doar un singur numr de telefon
(n cazul AMPS-ului, telefonul dumneavoastr de acas i cel mobil au numere diferite). Acest
sistem se afl n acest moment ntr-o dezvoltare rapid (Lipper i Rumsewicz, 1994). n Statele
Unite el este denumit PCS (Personal Communication Services-Servicii de Comunicaii Personale),
n toate celelalte ri el este denumit PCN (Personal Communication Network-Reea de
Comunicaii Personale). n lumea telefoniei, Statele Unite au ceva tradiie n a face ceva cu totul
diferit fa de oricine altcineva. Din fericire, majoritatea datelor tehnice sunt aceleai.
PCS va folosi tehnologia celular, dar cu microcelule, probabil de 50 pn la 100 de metri
lime. Aceasta permite folosirea unor puteri foarte mici (1/4 Watt), ceea ce va face posibil s
se construiasc telefoane foarte mici i uoare. Pe de alt parte, el necesit mult mai multe
celule dect AMPS-ul cu celule de 20 Km. Presupunnd c o microcelul este de 200 ori mai
mic n diametru dect o celul AMPS, pentru a acoperi aceeai arie sunt necesare de 40.000
mii de ori mai multe celule. Chiar dac aceste microcelule sunt mult mai ieftine dect celulele
AMPS, construirea unui sistem PCS complet, pornind de la zero, va necesita, n mod sigur, o
investiie n infrastructur semnificativ mai mare dect a necesitat AMPS-ul. Dat fiind c
exist deja stlpii i firele, unele companii de telefoane i-au dat seama c pot reduce
substanial costurile de instalare folosind pentru amplasarea staiilor de baz - care au
dimensiunea unui prjitor de pine - propriii lor stlpi de telefon. Aceste mici staii de baz
sunt denumite uneori tele-puncte (telepoints). Ct de multe staii s se instaleze i unde s fie
amplasate constituie o problem complicat (Stelle .a. ,1995a, 1995b).
Guvernul S.U.A (i anume FCC) folosete PCS pentru a face bani din nimic. n 1994-1995, FCC
a vndut la licitaie licene pentru folosirea spectrului PCS (1,7 pn la 2,3 GHz). licitaia a adus
guvernului 7,7 miliarde dolari. Aceast licitaie a nlocuit sistemul anterior de acordare a
frecvenelor prin loterie, eliminnd astfel practica firmelor fr nici un interes n telecomunicaii de
a participa la loterie. Orice companie care a ctigat o frecvena, poate s o vnd instantaneu uneia
care a pierdut, pentru cteva milioane de dolari.
Din nefericire, nimic nu este gratuit nici chiar pentru guvern. Banda ntre 1,7 i 2,3 GHz este deja
alocat complet altor utilizatori. Acestor utilizatori li se va da un specte n alt parte i li se va spune
s se mute acolo. Problema este c dimensiunea unei antene depinde de frecven i, prin urmare,
aceast realocare forat a frecvenei va face s se duc pe apa smbetei o investiie de mai multe
miliarde de dolari n antene, emitoare etc. n jurul Washington-ului se nvrt deja mai multe
grupuri de lobby-iti care dau tot felul de sugestii referitoare la cine ar trebui s plteasc toate
acestea. Rezultatul final este c PCS nu va putea fi instalat pe scar larg pn la sfritul acestui
mileniu. Pentru a nelege mai bine problemele legate de spectru, a se vedea (Youssef .a., 1995).
152 NIVELUL FIZIC CAP. 2

28 SATIOTT DE COMUNICAIE

n anii 1950 i la nceputul anilor 1960, oamenii au ncercat s stabileasc sisteme de comunicaie
pe baza reflectrii semnalelor de ctre baloanele meteorologice metalizate. Din nefericire,
semnalele recepionate erau prea slabe ca s poat fi folosite practic la ceva. Apoi, Marina S.U.A. a
observat pe cer un fel de balon meteorologic permanent - Luna - i a construit, pe baza reflectrii
semnalelor de ctre Lun, un sistem operaional pentru comunicaii nav-rm.
Progresul n domeniul comunicaiilor celeste a trebuit s mai atepte pn cnd a fost lansat
primul satelit de comunicaii, n 1962. Principala diferen ntre un satelit artificial i unul natural
este aceea c satelitul artificial poate amplifica semnalele nainte de a le transmite napoi,
transformnd o curiozitate stranie ntr-un sistem de comunicaie puternic.
Sateliii de comunicaie au cteva proprieti interesante, care i fac tentani pentru multe
aplicaii. Un satelit de comunicaie poate fi gndit ca un mare repetor de microunde, aflat n cer.
Acesta conine mai multe dispozitive de recepie-transmisie automat (transporder), fiecare din
acestea ascult pe o anume poriune din spectru, amplific semnalul recepionat i apoi l
redifuzeaz pe o alt frecven, pentru a evita interferena cu semnalul care se recepioneaz. Unda
descendent poate fi difuzat, acoperind astfel o fraciune substanial din suprafaa Pmntului su
poate fi concentrat, caz n care va acoperi numai o zon de cteva sute de kilometri n diametru.

2.8.1 Satelii geosincroni

Conform legii lui Kepler, perioada de rotaie a unui satelit variaz cu puterea 3/2 a razei orbitei,
n apropierea suprafeei Pmntului, perioada este de aproximativ 90 min. Sateliii de comunicaie
aflai la o altitudine att de mic sunt problematici, deoarece se gsesc n raza vizual a unei staii de
pe pmnt numai un interval scurt de timp.
Totui, la o altitudine de aproximativ 36.000 km deasupra ecuatorului, perioada unui satelit este
de 24* de ore i, prin urmare, satelitul se nvrtete la aceeai vitez ca i Pmntul de sub el. Un
observator care se uit la un satelit de pe o orbit ecuatorial circular, vede satelitul ntr-un punct
fix de pe cer, aparent nemicat. Este ideal ca satelitul s apar fix pe cer, deoarece altfel ar fi nevoie -
pentru urmrirea sa - de o anten rotativ foarte scump.
Pentru a evita interferena, n condiiile tehnologiilor actuale, nu este bine s existe satelii
poziionai mai aproape 2 grade n planul ecuatorial de 360 grade. La o spaiere de 2 grade, pot
exista pe cer, la un moment dat, doar 360/2=180 satelii de comunicaie geostaionari. O parte din
aceste poziii pe orbit sunt rezervate pentru alte clase de utilizatori (de exemplu difuzare de
televiziune, n scopuri guvernamentale sau militare etc).
Din fericire, sateliii care folosesc poriuni diferite din spectru nu interfera i, de aceea,
fiecare din cei 180 de satelii posibili, pot avea mai multe fluxuri de date care urc i coboar
simultan. Prin urmare, dac lucreaz la frecvene diferite, doi sau mai muli satelii pot ocupa
aceeai poziie pe orbit.
Pentru a preveni haosul total pe cer, s-au realizat acorduri internaionale referitoare la cine
poate ocupa o poziie de pe orbit i ce frecvene poate folosi. Cele mai importante benzi comerciale
sunt listate n Fig. 2-55. Banda C a fost desemnat iniial pentru traficul comercial prin satelii. n

N
Mai exact, perioada de rotaie este egal cu ziua sideral: 23 de ore, 56 minute, 4,09 secunde.
SEC.-18 SATELIT! DE COMUNICAIE 153

banda C sunt asigurate dou domenii de frecven, cea mai mic pentru traficul descendent (dinspre
satelit), iar cea superioar pentru traficul ascendent (ctre satelit). Pentru o conexiune full-duplex
este necesar un canal n ambele sensuri. Aceste benzi sunt deja supraaglomerate, deoarece sunt
folosite i de purttoarele obinuite pentru legturile terestre pe microunde.

Banda Frecvene Legtura Legtura Probleme


descendent (GHz) ascendenta(GHz)
C 4/6 3,7-4,2 5,925-6,425 Interferene terestre
Ku 11/14 11,7-12,2 14,0-14,5 Ploaia
Ka 20/30 17,7-21,7 27,5-30,5 Ploaia; costul echipamentelor

Fig. 2-55. Principalele benzi de satelit.

Urmtoarea band mai nalt disponibil pentru companiile comerciale de telecomunicaie este
banda Ku. Aceast band nu este (nc) congestionat i - la aceste frecvene - sateliii pot fi
poziionai la o apropiere de 1 grad. Totui, exist d alt problem: ploaia. Apa este un absorbant
excelent al acestor microunde scurte. Din fericire, furtunile toreniale sunt de obicei localizate i,
prin urmare, folosind mai multe staii terestre separate prin distane mari, n loc de una singur,
problema poate fi evitat cu preul unui surplus de antene, cabluri i electronic pentru a comuta
rapid ntre staii. Limea de band a benzii Ka a fost de asemenea alocat pentru traficul comercial
prin satelit, dar echipamentul necesar pentru folosirea ei este nc foarte scump. n plus fa de
aceste benzi comerciale, exist de asemenea multe benzi guvernamentale i militare.
Un satelit obinuit are 12-20 transpondere, fiecare cu o lime de band de 36-50 MHz. Un
transponder de 50 Mbps poate fi folosit pentru a codifica un singur flux de date de 50 Mbps, 800
canale vocale digitale de 64 Kbps, sau diverse alte combinaii, Mai mult dect att, dou
transpondere pot folosi polarizri diferite ale semnalului, prin urmare ele pot folosi acelai domeniu
de frecvene fr s interfere. n sateliii mai vechi, mprirea transponderilor pe canale s-a fcut
static, prin despicarea limii de band n benzi fixe de frecven (FDM). n prezent, se folosete de
asemenea multiplexarea cu divizare n timp datorit marii sale flexibiliti.
Primii satelii aveau un singur fascicol spaial care ilumina ntregul pmnt. Odat cu scderea
masiv a preului, dimensiunii i cerinelor de putere ale microelectronicii, a devenit posibil o
strategie de difuzare mult mai sofisticat. Fiecare satelit este echipat cu antene i transpondere
multiple. Fiecare fascicol descendent poate fi focalizat pe o arie geografic mic i prin urmare pot
avea loc simultan, transmisii ascendente i descendente multiple. Aceste aa numite fascicole
punctuale sunt n mod obinuit de form eliptic i pot avea pn la cteva sute de km n diametru.
Un satelit de comunicaii pentru Statele Unite are n mod normal un singur fascicol larg pentru cele
48 de state alturate, plus fascicole punctuale pentru Alaska i Hawaii.
O nou realizare n lumea comunicaiilor prin satelit o constituie dezvoltarea microstaiilor de
cost sczut, denumite uneori i VSAT-uri (Very Small Aperture Terminals - Terminale cu
Deschidere Foarte Mic) (Ivancic .a., 1994). Aceste mici terminale au antene de 1 metru i pot
emite cu o putere de aproximativ 1 Watt. Legtura ascendent; este n general bun pentru 19.2
kbps, dar cea descendent este mai mare, deseori de 512 kbps. n multe sisteme YSAT, mierostaiile
nu au suficient putere pentru a comunica direct ntre ele (prin intermediul satelitului, desigur). n
schimb, se folosete o staie terestr special, un hub, cu o anten mare, de ctig ridicat, pentru a
retransmite traficul dintre VSAT-uri, aa cum este prezentat n Fig. 2-56. n acest mod de lucru, att
154 NIVELUL FIZIC CAP. 2

enitorul ct i receptorul dispun de o anten larg i de un amplificator puternic. Compromisul


const ntr-o ntrziere mai mare n schimbul unor staii mai ieftine la utilizatorul final.

Satelit de
comunicaii

Hub

Fig. 2-56. VSAT-uri ce folosesc un hub.

Sateliii de comunicaie au cteva proprieti care se deosebesc radical de legturile terestre


punct-la-punct. Ca un prim aspect, cu toate c semnalele spre i dinspre satelit se propag cu viteza
luminii (aproximativ 300.000 km/sec), distana mare dus-ntors introduce o ntrziere substanial.
Funcie de distana dintre utilizator i staia terestr i de nlimea satelitului deasupra orizontului,
timpul de propagare capt-la-capt este ntre 250 i 300 msec. O valoare uzual este de 270 msec
(540 msec pentru un sistem VSAT cu un hub).
Pentru comparaie, legturile terestre prin microunde au o ntrziere de propagare n jur de 3
usec/km, iar legturile pe cablu coaxial sau fibr optic au o ntrziere de aproximativ 5usec/km
(semnalele electromagnetice se propag mai repede n aer dect n materiale solide).
O alt proprietate important a sateliilor este aceea c ei sunt n mod inerent sisteme cu
difuzare. Transmiterea unui mesaj ctre miile de staii din raza de aciune a unui transponder cost
tot att de mult ct pentru o singur staie. Pentru unele aplicaii, aceast proprietate este foarte
util. Chiar atunci cnd difuzarea poate fi simulat folosind linii punct-la-punct, difuzarea prin satelit
poate fi mult mai ieftin. Pe de alt parte, din punctul de vedere al securitii i confidenialitii,
sateliii sunt un dezastru complet: oricine poate asculta orice. Atunci cnd este necesar securitatea,
criptarea este esenial.
Sateliii au de asemenea proprietatea c preul transmisiei unui mesaj este independent de
distana parcurs. Un apel peste ocean nu cost mai mult dect un apel peste strad. Sateliii au rate
de eroare excelente i pot fi instalai aproape instantaneu, un considerent major pentru
comunicaiile militare.
SEC. 2.8 SATELII DE COMUNICATE 115

2.8.2 Satelii de joas altitudine .

n primii 30 de ani ai erei sateliilor, sateliii de joas altitudine au fost rareori folosiri pentru
comunicaii, deoarece ei apar i dispar destul de repede din cmpul vizual. n 1990, Motorola a
deselenit terenul prin punerea la punct a unei noi aplicaii. Motorola a obinut acordul FGC n
vederea lansrii a 77 de satelii de joas altitudine pentru proiectul Iridium (elementul 77 este
Iridium). Planul a fost mai trziu revzut, astfel nct s se utilizeze numai 66 de satelii i, ca urmare,
proiectul ar fi trebuit s fie redenumit Dyproium (elementul 66) dar, probabil c suna prea mult ca
o boal. Ideea era c n momentul n care un satelit dispare din cmpul vizual, ar putea s-i ia locul
un alt satelit. Aceast propunere a generat printre celelalte companii de telefoane o poft nebun.
Dintr-o dat, toat lumea dorea s lanseze un lan de satelii de joas altitudine. Aici vom descrie pe
scurt, sistemul Iridium, celelalte sisteme fiind similare.
Scopul principal al sistemului Iridium este s furnizeze servicii mondiale de
telecomunicaie, folosind dispozitive portabile care s comunice direct cu sateliii Iridium.
Sistemul furnizeaz servicii vocale, de date, paging, fax i navigare, n orice loc de pe glob.
Acest serviciu concureaz strns cu PCS/PCN, fcnd ca acesta din urm s nu mai fie necesar.
Sistemul folosete ideea din radioul celular, dar cu o modificare. n mod normal, celulele
sunt fixe i utilizatorii sunt mobili. n acest caz, fiecare satelit are un numr considerabil de
raze punctuale care pot scana Pmntul pe msur ce satelitul se deplaseaz. De aceea, n
acest sistem, att celulele ct i utilizatorii sunt mobili, dar tehnicile de transfer folosite pentru
radioul celular, se aplic la fel, att pentru cazul n care celula prsete utilizatorul ct i
pentru cazul n care utilizatorul prsete celula.

(a) (b)
Fig. 2-57. (a) Sateliii Iridium formeaz ase coliere n jurul Pmntului,
(b) 1628 de celule mictoare acoper Pmntul.

Sateliii trebuie poziionai la o altitudine de 750 km pe orbite polare circulare. Ei vor fi aranjai
n form de coliere nord-sud, cu un satelit la fiecare 32 grade latitudine. Dup cum se sugereaz n
156 NIVELUL FIZIC CAP. 2

Fig. 2-57(a), cu ase coliere de satelii s-ar putea acoperi ntregul Pmnt. Cei care nu cunosc prea
multe despre chimie, se pot gndi la aceast dispunere ca la un atom de dysprosium foarte mare,
avnd Pmntul pe post de nucleu i sateliii pe post de electroni.
Dup cum este prezentat n Fig. 2-57(b), fiecare satelit va avea maximum 48 de raze
punctuale, cu un total de 1628 celule pe suprafaa Pmntului. Frecvenele pot fi refolosite
dou celule mai ncolo, ca i n radioul celular convenional. Fiecare celul va avea 174 canale
full-duplex, cu un total de 283.272 canale pe tot globul. O parte din acestea vor fi pentru
paging i navigare, care nu prea necesit lime de band. (Dispozitivele de paging avute n
vedere vor afia dou linii de text alfanumeric).
Legturile ascendente i cele descendente vor lucra n banda L, la 1,6 GHz. n felul acesta,
comunicarea cu un satelit este posibil s se fac folosind un dispozitiv alimentat cu o baterie mic.
Mesajele recepionate de un satelit, dar destinate unui alt satelit aflat la distan, vor fi retransmise
ntre satelii n banda Ka. n spaiul exterior este disponibil suficient lime de band pentru
legturi intersatelit. Factorul limitator l-ar putea constitui segmentele ascendente/descendente.
Motorola estimeaz c 200 MHz ar fi suficieni pentru ntregul sistem.
Costul estimat pentru utilizatorul final este de aproximativ 3 dolari pe minut. Dac aceast
tehnologie poate furniza la acest pre servicii universale n orice loc de pe pmnt, este puin
probabil ca proiectul s moar din lips de clieni. Oamenii de afaceri sau ali oameni aflai n
cltorie, care vor s fie n contact tot timpul, chiar i n zonele slab dezvoltate, se vor ngrmdi s se
aboneze. Totui, n zonele dezvoltate, Iridium va avea de nfruntat concurena puternic din partea
PCS/PCN cu ale lor telepuncte (telepoints) de tip prjitor de pine pe stlp.

2.83 Satelii versus Fibre Optice

O comparaie ntre comunicaiile prin satelit i comunicaiile terestre este instructiv. Nu mai
demult dect acum 20 de ani, se putea crede c viitorul aparine comunicaiilor prin satelit. La urma
urmei, sistemul telefonic s-a schimbat puin n ultimii 100 de ani i nici nu d semne de schimbare n
urmtorii 100 de ani. Aceast evoluie lent s-a datorat n mare msur mediului nconjurtor n
care companiilor de telefoane li se cerea s furnizeze un serviciu vocal calitativ la un pre rezonabil
(ceea ce au i fcut) n schimbul unui profit garantat al investiiilor lor. Prin urmare, pentru cei care
aveau date de transmis, erau disponibile modemuri de 1200 bps. Aceasta era destul de bine pentru
ceea ce exista atunci.
Introducerea competiiei n 1984 n Statele Unite i, ceva mai trziu, n Europa a schimbat
radical situaia. Companiile de telefoane au nceput nlocuirea cu fibre optice a reelelor exploatate
att de mult timp i introducerea serviciilor cu limi de band ridicate, cum ar fi SMDS i B-ISDN.
Ele au ncetat practica ndelungat de a pretinde preuri artificial ridicate pentru utilizatorii de
distan lung n scopul subvenionrii utilizatorilor locali.
Dintr-o dat, se prea c legturile terestre pe fibr optic vor fi ctigtorul pe termen lung. Cu
toate acestea, sateliii de comunicaie au cteva nie pe pia, n care fibra optic nu a ptruns (i n
unele cazuri nici nu o va putea face). Vom analiza acum o parte dintre acestea.
n timp ce o singur fibr optic are, n principiu, mai mult lime potenial de band dect toi
sateliii lansai vreodat, aceast lime de band nu este disponibil majoritii utilizatorilor. Fibrele
optice instalate la ora actual sunt folosite n sistemul telefonic pentru a gestiona simultan mai multe
apeluri de distan lung, i nu pentru a furniza utilizatorilor individuali lime de band ridicat.
SEC 2.9 REZUMAT f7

Mai mult dect att, puini utilizatori pot avea acces la un canal pe fibr optic, deoarece le st n
drum vechea bucl local din cablu torsadat. Dac oficiul final al companiei de telefoane locale se
apeleaz la 28,8 kbps, nu se va obine niciodat o lime de band mai mare de 28,8 kbps, indiferent
de cta lime de band are cablul intermediar. n cazul sateliilor, un utilizator poate foarte bine s
scoat o anten pe acoperiul cldirii i s ocoleasc complet sistemul telefonic. Pentru muli
utilizatori, evitarea buclei locale constituie o motivaie serioas.
Pentru utilizatorii care (uneori) au nevoie de 40 sau 50 Mbps, o posibil soluie este
nchirierea unei purttoare T3 (44,736 Mbps). n orice caz, aceasta este o aciune costisitoare.
Dac limea de band este necesar numai n mod intermitent, SMDS-ul ar putea fi o soluie
convenabil, ns acesta nu este disponibil oriunde, n timp ce serviciul prin satelit este.
O a doua ni o reprezint comunicaiile mobile. n zilele noastre, muli oameni doresc s
comunice n timp ce fac jogging, conduc, navigheaz sau zboar. Legturile terestre prin fibre optice
nu le sunt de nici un folos, n schimb le pot fi utile legturile prin satelit. Este posibil, totui, ca o
combinaie ntre radioul celular i fibra optic s satisfac cerinele majoritii utilizatoror (probabil
cu excepia acelora care se afl la bordul unui avion sau pe mare).
O a treia ni o reprezint situaiile n care este esenial difuzarea. Un mesaj transmis de satelit
poate fi recepionat simultan de mii de staii terestre. De exemplu, o firm care transmite aciuni,
titluri de proprietate sau preurile mrfurilor ctre mii' de distribuitori, poate gsi un sistem prin
satelit mult mai ieftin dect dac ar simula difuzarea pe pmnt.
O a patra ni o constituie comunicaia n locurile cu terenuri greu accesibile sau cu o
infrastructur terestr slab dezvoltat. Indonezia, de exemplu, are propriul satelit pentru traficul
telefonic intern. Lansarea unui satelit a fost mult mai simpl dect ntinderea a mii de cabluri
submarine ntre toate insulele din arhipelag.
O a cincea ni pe piaa sateliilor este acolo unde dreptul de instalare a fibrei optice este dificil
de obinut sau nejustificat de scump.
n al aselea rnd, atunci cnd instalarea rapid este critic, ca n cazul sistemelor de comunicaii
militare pe timp de rzboi, sateliii obin ctig de cauz fr probleme.
Pe scurt, se pare c n viitor fluxul principal de comunicaie va fi pe fibra optic combinat cu
radio celular, iar pentru civa utilizatori specializai, sunt preferabili sateliii. Totui, exist un
avertisment valabil pentru toate acestea: economia. Cu toate c fibra optic ofer mai mult lime
de band, este, fr ndoial, posibil ca, n viitor, comunicaiile terestre i cele prin satelit s intre
ntr-o competiie agresiv pe baza preului practicat. Dac progresele tehnologice vor reduce radical
costul de instalare al unui satelit (de exemplu, unele viitoare navete spaiale vor putea mprtia n
spaiu mai multe zeci de satelii la o singur lansare) sau dac vor deveni populari sateliii de joas
altitudine, atunci s-ar putea ca fibrele optice s-i piard, pe unele piee, poziia lor de lider.

2.9 REZUMAT

Nivelul fizic st la baza tuturor reelelor. Natura a impus dou limite fundamentale asupra unui
canal, iar acestea determin limea de band. Aceste limite sunt Urnita Nyquist, care se aplic
asupra canalelor fr zgomot, i limita Shannon, pentru canale cu zgomot.
Mediile de transmisie pot fi ghidate sau neghidate. Principalele medii ghidate sunt cablul
torsadat, cablul coaxial i fibra optic. Mediile neghidate includ undele radio, microundele, undele n
infrarou i laseri ce se propag prin aer.
158 NTVELULFIZIC CAP.2

Elementul cheie din majoritatea reelelor larg rspndite geografic 11 constituie sistemul
telefonic. Principalele sale componente sunt buclele locale, trunchiurile i comutatoarele. Buclele
locale sunt analogice, cu circuite din cablu torsadat, ele necesitnd modemuri pentru transmisia
digital a datelor. Trunchiurile sunt digitale i pot fi multiplexate n mai multe moduri, printre care:
FDM, TDM i WDM. Comutatoarele pot fi comutatoare cu bare transversale (crossbars switches),
comutatoare cu divizare n spaiu i comutatoare cu divizare n timp. Sunt importante att
comutarea de circuite ct i comutarea de pachete.
n viitor, sistemul telefonic va fi digital de la un capt la altul i va transporta att
informaie vocal ct i non-vocal, pe aceleai linii. Acum se introduc dou variante ale
acestui nou sistem, cunoscut ca ISDN. ISDN de band ngust este un sistem digital de
comutare de circuite, care reprezint o mbuntire a sistemului existent. Prin contrast, ISDN
de band larg reprezint o paradigm a schimbrii, deoarece se bazeaz pe tehnologia ATM
cu comutare de celule. Exist diferite tipuri de comutatoare ATM, printre care comutatoarele
knockout i comutatoarele Batcher-banyan.
Pentru aplicaiile mobile, sistemul telefonic bazat pe cabluri fixe nu este adecvat. Alternativele la
sistemul telefonic includ radioul celular i sateliii de comunicaii. Radioul celular este folosit acum
pe scar larg pentru telefoanele portabile, dar curnd va fi folosit frecvent i pentru traficul de date.
Generaiile actuale de sisteme celulare (de'exemplu, AMPS) sunt analogice, dar generaiile viitoare
(de exemplu, PCS/PCN) vor fi complet digitale. Sateliii de comunicaie tradiionali sunt
geostaionari, dar exist acum un interes deosebit pentru sistemele de satelii de joas altitudine,
cum ar fi Iridium.

2.10 PROBLEME

1. Calculai coeficienii Fourier pentru funcia f(t)=t, (0 < t < 1).

2. Un canal de 4 KHz fr zgomot este eantionat la fiecare 1 msec. Care este rata maxim de
transfer a datelor?

3. Canalele de televiziune au o lime de 6 MHz. Ci bii/sec pot fi transmii dac se folosesc


semnale digitale pe patru nivele? Considerai cazul unui canal fr zgomot.

4. Dac un semnal binar este transmis pe un canal de 3 KHz al crui raport semnal/zgomot este de
20 dB, care este rata maxim de transfer a datelor care se poate realiza?

5. Ce raport semnal/zgomot este necesar pentru a pune o purttoare TI pe o linie de 50 KHz?

6. Care este diferena dintre o stea pasiv i un repetor activ ntr-o reea pe fibr optic?

7. Care este lrgimea de band existent n 0.1 microni de spectru la o lungime de und de 1
micron?

8. Se dorete s se transmit printr-o fibr optic o secven de imagini de pe ecranul


calculatorului. Ecranul are 480 x 640 pixeli, fiecare pixel avnd 24 bii. Exist 60 imagini ecran
SEC.2-10 PROBLEME 159

pe secund. Ce lime de band este necesar i care este lungimea de und, n microni,
necesar pentru aceast band la 1,30 microni?

9. Teorema lui Nyquist este adevrat pentru fibra optic sau numai pentru cablul de cupru?.

10. n Fig. 2-6 banda din partea stng este mai ngust dect celelalte. De ce? ;

11. Antenele radio funcioneaz deseori cel mai bine atunci cnd diametrul antenei este egal cu
lungimea de und a undei radio. Antenele rezonabile au ntre 1 cm i 5 m n diametru. Ce
domeniu de frecven acoper acestea?

12. Atenuarea multici este maximizat atunci cnd dou raze sosesc cu un defazaj de 180 grade.
Ct de mare trebuie s fie diferena de drum pentru a maximiza atenuarea n cazul unei legturi
prin microunde de 1 GHz avnd 50 km lungime?

13. O und laser de 1 mm lime este urmrit de un detector de 1 mm lime aflat la 100 m
distan, pe acoperiul unei cldiri. Ct de mare trebuie s fi fost deviaia unghiular (n grade)
a laserului dac nainte aceasta nu nimerea detectorul?

14. Un sistem telefonic simplu este alctuit din dou oficii finale i un singur oficiu de taxare la care
fiecare oficiu final este conectat printr-un trunchi duplex de 1 MHz. Un telefon obinuit este
folosit pentru a face 4 apeluri ntr-o zi lucrtoare de 8 ore. Durata medie a unui apel este de 6
minute. 10 procente din apeluri sunt de distan lung (de exemplu, traverseaz oficiul de
taxare). Care este numrul maxim de telefoane pe care l poate suporta un oficiu final?
(presupunei 4 KHz pe circuit)

15. O companie regional de telefoane are 10 milioane de abonai. Fiecare din telefoanele acestora
este conectat la un oficiu central printr-un cablu torsadat de cupru. Lungimea medie a acestor
cabluri este de 10 km. Ct de mult reprezint cuprul din valoarea buclelor locale? Presupunei
c seciunea transversal a fiecrui cablu are 1 mm diametru, greutatea specific a cuprului este
9.0 i cuprul se vinde cu 3 dolari pe kg. 6

16. Costul unui microprocesor puternic a sczut ntr-att, nct este posibil s se includ cte unul n
fiecare modem. Cum afecteaz aceasta gestiunea erorilor liniei telefonice?

17. O diagram - constelaie a unui modem, similar celei din Fig. 2-19 are puncte n urmtoarele
coordonate: (1,1), (1,-1),(-1,1) i (-1,-1). Ci bii pe secund poate atinge un modem cu aceti
parametri, la 1200 bauds?

18. O diagram - constelaie a unui modem, similar celei din Fig. 2-19, are puncte n (0,1) i (0,2).
Modemul folosete modulaie de faz sau modulaie de amplitudine?

19. Se potrivete FTTH modelului unei companii telefonice cu oficii finale, oficii de taxare i altele
sau trebuie schimbat modelul ntr-un mod fundamental? Explicai rspunsul.
160 NIVELUL FIZIC CAP. 2

20. n partea de jos, sistemul telefonic este n form de stea, cu toate buclele locale dintr-un cartier
convergente ctre un oficiu final. Din contr, televiziunea prin cablu este alctuit dintr-un
singur cablu lung, cu un traseu erpuit pe deasupra tuturor caselor din acelai cartier.
Presupunem c n viitor cablul TV va fi din fibr optic de 10 Gbps n loc de cupru. Ar putea
acesta fi folosit pentru a simula modelul telefonic n care fiecare s aib propria sa linie ctre
oficiul final? Dac da, cte case cu un telefon pot fi conectate la o singur fibr optic?

21. Un sistem de TV prin cablu are 100 de canale comerciale, fiecare din acestea alternnd
programele cu publicitatea. Acestea seamn cu TDM sau FDM?

22. De ce a fost stabilit timpul de eantionare PCM la 125 microsecunde?

23. Care este procentul de suprancrcare pe o purttoare TI? Adic, ce procent din cei 1,544 Mbps
nu este pus la dispoziia utilizatorului final?

24. Comparai rata maxim de transfer a datelor, care aprin unui canal fr zgomot de 4 KHz
folosind:
a) ficare analogic cu 2 bii pe eantion;
b) sistemul PCM TI.

25. Dac un sistem cu purttoarea TI cade i nu tie unde se afl, el ncearc s se resincronizeze
folosind primul bit din fiecare cadru. Cte cadre vor trebui inspectate, n medie, pentru a se
resncroniza cu o probabilitate de eec de 0.001 ?

26. Care este diferena, dac exist vreuna, ntre partea de demodulare a unui modem i partea de
codificare a unui codec? (n definitiv, ambele convertesc semnale analogice n semnale digitale.)

27. Un semnal este transmis digitizat pe un canal de 4 KHz fr zgomot, cu un eantion la fiecare
125 microsecunde. Ci bii pe secund sunt de fapt transmii pentru fiecare din aceste metode
de codificare?
a) StandardulCCITT de 2,048 Mbps;
b) DPCM cu o valoare relativ a semnalului pe 4 bii;
c) Modulaia delta.

28. Un semnal pur sinusoidal de amplitudine A este codificat folosind modulaia delta, cu x
eantioane/secund. Un semnal de ieire de +1 corespunde unei schimbri a semnalului cu
+A/8 iar un semnal de ieire de -l corespunde unei schimbri a semnalului cu -A/8. Care este
cea mai mare frecven care poate fi urmrit fr erori cumulative?
9
29. Ceasurile SONET au o rat de deviaie de aproximativ 1/10 . Ct timp este necesar pentru ca
deviaia s egaleze limea unui bit? Care sunt implicaiile acestui calcul?

30. n Fig. 2-32 rata de transfer a datelor utilizator pentru OC-3 a fost stabilit la 148,608 Mbps.
Artai cum poate fi obinut acest numr din parametrii SONET OC-3.

31. Care este limea de band disponibil utilizatorului ntr-o conexiune OC-12c?
SEC 2.10 PROBLEME 161

32. Se dau trei reele cu comutare de pachete, fiecare ^Minnd noduri. Prima reea are
topologie stea cu un comutator central, cea de-a doua este un inel (bidirecional), iar cea
de-a treia este interconectat complet, avnd cte o legtur de la fiecare nod ctre toate
celelalte noduri. Care sunt cile n salturi n cazul cel mai bun, n cazul mediu i n cazul
cel mai defavorabil?

33. Comparai ntrzierea n transmisia unui mesaj de x bii pe o cale de Mopuri dintr-o reea cu
circuite comutate i ntr-o reea cu comutare de pachete (puin aglomerat). Timpul de stabilire
a circuitului este de S sec, ntrzierea de propagare este de d sec/hop, dimensiunea pachetului
este de/? bii i rata de transfer a datelor este de b bii/sec. n ce condiii reeaua cu pachete are
o ntrziere mai mic?

34. Presupunem cx bii de date utilizator trebuie transmii pe o cale cu k hopuri dintr-o reea cu
comutare de pachete, ca o serie de pachete, fiecare coninnd p bii de date i h bii pentru
antete, cu x > > p+h. Rata de transfer a liniei este de b bps i ntrzierea de propagare este
neglijabil. Ce valoare a luip minimizeaz ntrzierea total?

35. Cte puncte de legtur au comutatoarele din Fig. 2-39(a) i Fig. 2-39(b)? Comparai cu un
comutator 16x16 complet, cu bare transversale, cu o singur treapt.

36. n comutatorul cu divizare n spaiu din Fig. 2-39(a) care este cel mai mic numr de conexiuni
existente care poate bloca un nou apel de ieire?

37. Un proiect alternativ celui din Fig. 2-39(a) este unul n care cele 16 linii sunt mprite n dou
blocuri de opt, n loc de patru blocuri de patru (de exemplu, n=8 n loc de n=4). Un astfel de
proiect ar putea reduce costurile hardware din moment ce ar fi necesari doar doi concentratori,
unul pe intrare i unul pe ieire. Care este cel mai puternic argument mpotriva acestei
alternative?

38. Cte linii poate gestiona un comutator cu divizare n timp dac timpul de acces la RAM este de
50nsec?

39. Ci bii de buffer RAM are nevoie un schimbtor cu comutare n timp (time switch
interchanger) dac eantioanele de pe liniile de intrare au 10 bii i exist 80 de linii de intrare?

40. Comutarea cu divizare n timp, introduce n mod necesar o ntrziere minim la fiecare treapt
de comutare? Dac da, care este aceasta?

41. Ct de mult dureaz transmiterea unei imagini de 8 inci pe 10 inci prin facsimil, pe un canal
ISDN de tipul B? Facsimilul digitizeaz imaginea n 300 de pixeli pe inci i utilizeaz 4 bii pe
pixel. Fax-urile actuale funcioneaz mai rapid dect acestea, chiar pe linii telefonice obinuite.
Cum credei c fac ele acest lucru?

42. Prezentai un avantaj i un dezavantaj al NT12(prin comparaie cu NT1 i NT2) ntr-o


reea ISDN.
162 NIVELUL FIZIC CAP. 2

43. n Fig. 2-50(a) observm coliziunile dintre celule care traverseaz un comutator banyan. Aceste
coliziuni apreau n prima i cea de-a doua treapt. Pot aprea coliziuni n cea de-a treia
treapt? Dac da, n ce condiii?

44. Pentru aceast problem va trebui s dirijai cteva celule printr-un comutator ATM
Batcher-banyan, pas cu pas. Sunt prezente 4 celule pe liniile de intrare 0 pn la 3, avnd
c destinaie liniile 3,5,2 i respectiv 1. Pentru fiecare din cele 6 trepte din comutatorul
Batcher i pentru cele 4 trepte din comutatorul banyan (incluznd intrarea i ieirea),
listai ce celule se afl acolo sub forma unui tuplu (celula de pe linia 0, celula de pe linia 1
etc). Indicai liniile fr nici o celul, prin -.

45. Repetai acum problema anterioar pornind de la (7, -, 6, -, 5, -,4, -).

46. Un comutator ATM are 1024 linii de intrare i 1024 linii de ieire. Liniile opereaz la viteza de
transfer SONET de 622 Mbps, ceea ce furnizeaz o rat de transfer pentru utilizator de 594
Mbps. De ce lime de band, pe ansamblu, are nevoie comutatorul pentru a trata ncrcarea ?
Cte celule pe secund trebuie s fie el capabil s prelucreze?

47. ntr-un sistem telefonic celular tipic, cu celule hexagonale, este interzis s se refolosease o
band de frecven ntr-o celul adiacent. Dac sunt disponibile n total de 840 frecvene, cte
frecvene se pot folosi ntr-o celul?

48. Facei o estimare aproximativ a numrului de microcelule PCS de 100 m diametru, care ar fi
necesare pentru a acoperi San Francisco(120 km2)?

49. Uneori, atunci cnd un utilizator traverseaz grania dintr-o celul n alta, apelul curent se
termin brusc, dei toate emitoarele i receptoarele funcioneaz perfect. De ce?

50. Cei 66 de satelii de joas altitudine din proiectul Iridium sunt mprii n 6 coliere n jurul
Pmntului. La altitudinea la care sunt folosii, perioada de rotaie este de 90 minute. Care este
intervalul mediu pentru timpii mori n cazul unui. emitor staionar?
NIVELUL LEGTURA DE DATE

n acest capitol vom studia arhitectura nivelului 2, nivelul legtur de date. Acest studiu se
ocup de algoritmii de obinere a unei comunicaii eficiente i sigure, ntre dou maini
adiacente la nivelul legturii de date. Prin adiacent nelegem c cele dou maini sunt
conectate fizic printr-un canal de comunicaie care se manifest conceptual ca un fir (de
exemplu, un cablu coaxial sau o linie telefonic). Calitatea esenial a unui canal care l face
asemntor unui fir este aceea c biii sunt livrai n exact aceeai ordine n care sunt transmii.
La nceput ai putea crede c aceast problem este att de simpl, nct nu exist programe de
analizat - maina A pune biii pe fir i maina B i preia. Din pcate, circuitele de comunicaie produc
uneori erori. n plus, ele au numai o rat finit a datelor i exist o ntrziere a propagrii, nenul, ntre
momentul n care un bit este emis i momentul n care acesta este recepionat. Aceste limitri au
implicaii importante pentru eficiena transferului de date. Protocoalele utilizate pentru comunicaie
trebuie s ia n considerare toi aceti factori. Aceste protocoale reprezint subiectul capitolului de fa.
Dup o introducere n principalele aspecte ale proiectrii nivelului legtur de date, vom ncepe
studiul protocoalelor examinnd natura erorilor, cauzele producerii lor i cum pot fi ele detectate i
corectate. Apoi vom studia o serie de protocoale din ce n ce mai complexe, fiecare dintre ele rezolvnd
ct mai multe dintre problemele prezente la acest nivel. Vom ncheia cu un studiu al modelrii i
corectitudinii protocoalelor i vom da cteva exemple de protocoale ale legturii de date.

3.1 ASPECTE ALE PROffiCTRH NIVELULUI LEGTUR DE DATE

Nivelul legtur de date are un numr de funcii specifice pe eafeitrabuie s le ndeplineasc.


Aceste funcii includ furnizarea unei interfee bine-definite cipe^aniveW^ ieea, determinarea
modului n care biii nivelului fizic sunt grupai n cadre, tratareavBdMfcsifcte* transmisie i reglarea

163
164 NIVELUL LEGTUR DE DATE CAP. 3

fluxului cadrelor n aa fel, nct receptorii leni s nu fie inundai de ctre emitori rapizi. n
urmtoarele seciuni vom examina pe rnd fiecare dintre aceste aspecte.

3.1.1 Servicii oferite nivelului reea

Funcia nivelului legtur de date este s ofere servicii nivelului reea. Principalul serviciu este
transferul datelor de la nivelul reea al mainii surs la nivelul reea al mainii destinaie. La nivelul
reea al mainii surs exist o entitate, s-i spunem proces, care trimite bii ctre nivelul legtur de
date, pentru a fi transmii la destinaie. Funcia nivelului legtur de date este s transmit biii spre
maina destinaie, pentru ca acolo s fie livrai nivelului reea, aa cum se arat n Fig. 3-l(a).
Transmisia efectiv urmeaz calea din Fig. 3-1 (b), dar este mai uor de neles n termenii a dou
procese ale nivelului legtur de date care comunic utiliznd un protocol al legturii de date. Din
acest motiv, pe parcursul acestui capitol, vom folosi n mod implicit modelul din Fig. 3-1 (a).

Gazd 1 Gazd 2 Gazd 1 Gazd 2

Cale virtual
de date

Cale efectiv
de date
(a) (b)

Fig. 3-1. (a) Comunicaie virtual, (b) Comunicaie efectiv.

Nivelul legtur de date poate fi proiectat s ofere diferite servicii. Serviciile efective oferite pot
varia de la sistem la sistem. Trei posibiliti de baz, oferite n mod curent, sunt:

1. Serviciu neconfirmat fr conexiune.


2. Serviciu confirmat fr conexiune.
3. Serviciu confirmat orientat-conexiune.

S le analizm pe rnd pe fiecare dintre acestea.


Serviciul neconfirmat fr conexiune const din aceea c maina surs trimite cadre
independente ctre maina destinaie, fr ca maina destinaie s trebuiasc s confirme primirea
lor. n acest caz, nu sunt necesare stabilirea i desfiinarea unei conexiuni. Dac un cadru este
pierdut datorit zgomotidui 3tepe linie, la nivelul legtur de date nu se face nici o ncercare pentru
recuperarea lui. AeeaMfecteadjs servicii este adecvat atunci cnd rata de erori este foarte sczut,
aa c recuperarea est&Jgfcfof&velurilor superioare. De asemenea, este adecvat pentru traficul de
SEC. 3.1 ASPECTE ALE PROIECTRII NIVELULUI LEGTUR DE DATE 165

timp-real, cumpr-fi vorbirea, tinde datele ntrziate sunt mai nocive dect datele eronate.
Majoritatea LAN-urilor utilizeaz la nivelul legturii de date servicii neconfirmate fr conexiune.
Urmtorul pas n ceea ce privete sigurana este serviciul confirmat fr conexiune. Atunci cnd
este oferit acest serviciu, nc nu se utilizeaz conexiuni, dar fiecare cadru trimis este confirmat
individual. n acest mod, emitorul tie dac un cadru a ajuns sau nu cu bine. Dac nu a ajuns ntr-
un interval de timp specificat, poate fi trimis din nou. Acest serviciu este folositor pentru canale
nesigure, cum ar fi sistemele neconectate prin fir.
Poate c merit s subliniem c asigurarea confirmrii la nivelul legturii de date este doar o
optimizare, niciodat o cerin. Nivelul transport poate ntotdeauna s trimit un mesaj i s atepte
sa fie confirmat. Dac confirmarea nu apare n timp util, atunci emitorul poate retrimite ntregul
mesaj. Problema cu aceast strategie este aceea c daca mesajul mediu este spart n, s zicem, 10
cadre i 20% din totalul cadrelor sunt pierdute, transmiterea mesajului poate lua foarte mult timp.
n cazul n care sunt confirmate i retransmise cadre individuale, ntregul mesaj va fi transmis mult
mi rapid. Pe canale sigure;, precum cablul, costul suplimentar implicat de un astfel de protocol al
legturii de date poate fi nejustificat, dar pe canale fr fir, costul este pe deplin justificat datorit
nesiguranei acestora.
Revenind la serviciile noastre, cel mai sofisticat serviciu pe care nivelul legtur de date l pune la
dispoziia nivelului reea este serviciul orientat-conexiune. In cazul acestui serviciu, mainile surs i
destinaie stabilesc o conexiune nainte de a transfera date. Fiecare cadru trimis pe conexiune este
numerotat i nivelul legtur de date garanteaz c fiecare cadru trimis este ntr-adevr recepionat.
Mai mult, garanteaz c fiecare cadru este recepionat exact o dat i toate cadrele sunt recepionate
n ordinea corect. n schimb, n cazul serviciului fr conexiune, este posibil ca, datorit unei
confirmri pierdute, un cadru s fie transmis de mai multe ori i, prin urmare, recepionat de mai
multe ori. Spre deosebire de acesta, serviciul orientat conexiune furnizeaz proceselor de la nivelul
reea echivalentul unui flux de bii sigur.

Ruter

Proces al nivelului
legtura de date

Protocol de
Cadre Pachete legtur
de date

Linie de transmisie
ctre ruter

Fig. 3-2. Plasarea protocolului legtur de date.


166 NIVELUL LEGTURA DE DATE CAP. 3

Atunci cnd este utilizat serviciul orientat conexiune, transferurile au trei faze distincte. n
prima faz este stabilit conexiunea, ambele pri iniializnd variabile i contoare, utilizate
pentru a ine evidena cadrelor care au fost recepionate i a celor care nu au fost. n a dpua
faz, sunt transmise unul sau mai multe cadre. n a treia i ultima faz, conexiunea este
desfiinat, elibernd variabilele, tampoanele i alte resurse utilizate la meninerea conexiunii.
S considerm un exemplu tipic: o subreea WAN format din rutere conectate prin linii
telefonice punct-la-punct, nchiriate. Cnd un cadru ajunge la un ruter, hardware-ul verific
suma de control i trimite cadrul programelor nivelului legtur de date (care se pot afla
ntr-un cip de pe adaptorul de reea). Programele nivelului legtur de date verific s vad
dac acesta este cadrul ateptat i, dac este aa, trimit pachetul din cmpul de informaie util
ctre programele de dirijare. Programele de dirijare aleg linia de ieire corespunztoare i
trimit pachetul napoi, ctre programele nivelului legtur de date, care apoi l transmit. Fluxul
dintre dou rutere este artat n Fig. 3-2.
Programul de dirijare dorete frecvent ca operaia s fie corect executat, ceea ce presupune
conexiuni secveniale sigure pe fiecare linie punct-la-punct. El nu dorete s fie deranjat prea des de
pachete care s-au pierdut pe drum. Este sarcina protocolului legturii de date, prezentat n
dreptunghiul punctat, s fac liniile de comunicaie nesigure s par perfecte sau, cel puin, suficient
de bune. Aceast proprietate este foarte important pentru legturile fr fir, care sunt, prin natura
lor, foarte nesigure. Ca o remarc, cu toate c am prezentat copii ale programelor nivelului legtur
de date n fiecare ruter, de fapt exist o singur copie, care trateaz toate liniile, utiliznd tabele i
structuri de date diferite pentru fiecare dintre ele.
Cu toate c acest capitol se refer numai la nivelul legtur de date i protocoalele legturii de
date, multe dintre principiile pe care le vom studia aici, cum ar fi controlul erorilor i controlul
fluxului, se regsesc n protocoalele de transport i de alte tipuri.

3.1.2 ncadrarea

n vederea furnizrii unui serviciu nivelului reea, nivelul legtur de date trebuie s utilizeze
serviciul furnizat de ctre nivelul fizic. Sarcina nivelului fizic este s primeasc un flux de bii i s
ncerce s-1 trimit la destinaie. Nu se garanteaz c acest flux de bii nu conine erori. Numrul de
bii recepionai poate fi mai mic, egal cu, sau mai mare dect numrul de bii transmii i pot avea
valori diferite. Este la latitudinea nivelului legtur de date s detecteze i, dac este necesar, s
corecteze erorile.
Abordarea uzual pentru nivelul legtur de date este s sparg irul de bii n cadre discrete i s
calculeze suma de control pentru fiecare cadru. (Algoritmii pentru suma de control vor fi discutai
mai trziu n acest capitol.) Atunci cnd un cadru ajunge la destinaie, suma de control este
recalculat. Dac noua sum de control este diferit de cea coninut n cadru, nivelul legtur de
date tie c a aprut o eroare i face operaiile necesare pentru a o rezolva (adic, elimin cadrul
eronat i trimite napoi un raport de eroare).
Spargerea irului de bii n cadre este mai dificil dect pare la prima vedere. O cale pentru a
realiza aceast ncadrare este inserarea de intervale de timp ntre cadre, aa cum inserm spaii ntre
cuvinte ntr-un text normal. Totui, reelele dau rareori garanii referitoare la timp, aa c este
posibil ca aceste intervale s fie comprimate sau ca n timpul transmisiei s fie inserate alte intervale.
SEC. 3.1 ASPECTE ALE PROIECTRII NIVELULUI LEGTUR DE DATE 167

.Deoarece este prea periculos s ne bizuim pe timp pentru a marca nceputul i sfritul fiecrui
cadru, au fost elaborate alte metode. n aceast seciune vom analiza patru metode:

1. Numrarea caracterelor.
2. Caractere de nceput i de sfrit, cu inserare de caractere.
3. Indicatori de nceput i de sfrit, cu inserare de bii.
4. Violarea codificrilor la nivel fizic.

Prima metod de ncadrare utilizeaz un cmp din antet pentru a specifica numrul de caractere
din cadru. Atunci cnd nivelul legtur de date de la destinaie primete contorul de caractere, tie
cte caractere urmeaz i unde este sfritul cadrului. Aceast tehnic este prezentat n Fig. 3-3 (a)
pentru patru cadre de dimensiune de 5,5,8 i 8 caractere.

Contor de caractere Un caracter

(a) 5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 23

Cadrul 1 Cadrul 2 Cadrul 3 Cadrul 4


5 caractere 5 caractere 8 caractere 8 caractere

Eroare

tb) 5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6 9 7 8 9 0 1 2 3
\
Cadrul 1 Cadrul 2 Acum un contor
(incorect) de caractere

Fig. 3-3. Un ir de caractere, (a) Fr erori, (b) Cu o eroare.

Problema cu acest algoritm este c valoarea contorului poate fi alterat de erori de


transmisie. De exemplu, dac contorul de caractere din al doilea cadru din Fig. 3-3(b) din 5
devine 7, destinaia va pierde sincronizarea i va fi incapabil s localizeze nceputul cadrului
urmtor. Chiar dac suma de control este incorect i destinaia tie c a primit cadru eronat,
nu exist nici o posibilitate de a determina unde ncepe urmtorul cadru. Nu ajut nici
trimiterea unui cadru napoi la surs, cernd o retransmisie, deoarece destinaia nu tie peste
cte caractere s sar pentru a ncepe retransmisia. Din acest motiv, metoda contorizrii
caracterelor este rar utilizat.
A doua metod de ncadrare nltur problema resincronizrii dup o eroare prin aceea c
fiecare cadru ncepe cu secvena de caractere ASCII DLE SX i se termin cu secvena DLE ETX.
(DLE nseamn Data link Escape, STX este Start of TeXt i ETX este End of TeXt). n acest mod,
dac destinaia pierde evidena limitelor cadrelor, tot ceea ce trebuie s fac este s se uite dup
caracterele DLE STX sau DLE ETX pentru a vedea unde sunt.
O problem serioas cu aceast metod apare atunci cnd se transmit date binare, cum ar
fi un program obiect sau numere n virgul mobil. Se poate ntmpla ca n date s apar
168 NIVELUL LEGTUR DE DATE CAP. 3

caracterele DLE STX sau DLE ETX, care vor interfera cu cadrul. Un mijloc de rezolvare a
acestei probleme este ca nivelul legtur de date al emitorului s insereze un caracter
ASCII, DLE, chiar naintea fiecrui caracter DLE "accidental" din date. Nivelul legtur de
date de la captul receptor nltur caracterele DLE nainte ca datele s fie transmise nivelului
reea. Aceast tehnic se numete inserare de caractere (character stuffing). Astfel, absena
sau prezena unui singur DLE permite s se fac diferena ntre DLE STX sau DLE ETX de
ncadrare i cele din date. DLE-urile din date sunt ntotdeauna dublate. Figura 3.4 prezint un
exemplu de ir de date naintea inserrii, dup inserare i dup extragere.
Un dezavantaj major al utilizrii acestei metode de ncadrare este acela c este limitat la
caractere de 8 bii n general i la codul caracterelor ASCII n particular. Datorit dezvoltrii
reelelor, dezavantajele inserrii de coduri de caractere n mecanismul de ncadrare a devenit din ce
n ce mai evident, aa c a trebuit dezvoltat o nou tehnic, care s permit caractere de
dimensiune variabil.

DLE STX A DLE B DLE ETX


(a)

DLE STX A DLE DLE B DLE ETX


(b)
DLE inserat

DLE STX A DLE B DLE ETX


(O

Fig. 3-4. (a) Date trimise de nivelul reea, (b) Datele dup ce nivelul legtur de date a inserat
caractere, (c) Datele trimise ctre nivelul reea al receptorului.

Noua tehnic permite cadrelor de date s conin un numr arbitrar de bii i permite coduri de
caractere cu un numr arbitrar de bii per caracter. Funcioneaz astfel: fiecare cadru ncepe i se
termin cu un ablon special pe bii, 01111110, numit octet indicator (flag). De fiecare dat cnd
nivelul legtur de date al emitorului identific cinci de unu consecutivi n date, insereaz automat
un bit 0 n irul de bii de rezultai. Aceast inserare de bii (bit stuffing) este similar inserrii de
caractere, n care un DLE este inserat n irul de caractere de ieire, nainte de fiecare DLE din date.
Atunci cnd receptorul primete o succesiune de cinci bii 1, urmai de un bit 0, extrage automat
(adic, terge) bitul 0. La fel ca i inserarea de caractere, care este complet transparent pentru
nivelul reea din ambele calculatoare, aa este i inserarea de bii. Dac datele utilizator conin
ablonul indicator, 01111110, acest indicator este transmis ca 011111010, dar n memoria
receptorului este pstrat ca 01111110. Figura 3-5 d un exemplu de inserare de bii.
A

In cazul inserrii de bii, graniele dintre dou cadre pot fi recunoscute fr ambiguitate datorit
ablonului indicator. Astfel, dac receptorul pierde evidena a ceea ce primete, tot ceea ce are de
fcut este s caute la intrare secvenele indicator, deoarece acestea pot s apar numai la marginile
cadrului si niciodat n interiorul datelor.
SEC. 3.1 ASPECTE ALE PROIECTRII NIVELULUI LEGTUR DE DATE 169

Ultima metod de ncadrare este aplicabil reelelor n care codificarea pe mediul fizic conine o
anumit redundan. De exemplu, unele LAN-uri codific un bit de date utiliznd doi bii fizici. De
obicei, un bit 1 este reprezentat de o tranziie sus-jos i un bit 0 de o tranziie jos-sus. Combinaiile
sus-sus i jos-jos nu sunt utilizate pentru date. Schema nseamn c fiecare bit de date are o tranziie
n mijloc, receptorului fiindu-i uor s localizeze frontierele biilor. Aceast utilizare de coduri fizice
incorecte este parte a standardului 802 LAN, pe care l vom studia n capitolul 4.

(a) 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0

(b) 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 10

Bii inserai

(c) 0 1 1 0 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 0 0 1 0

Fig. 3-5. Inserare de bii. (a) Datele originale, (b) Datele aa cum apar pe linie.
(c) Datele aa cum sunt stocate n memoria receptorului dup extragerea biilor inserai.

Ca observaie final asupra ncadrrii, multe protocoale de legtur de date utilizeaz, pentru o
mai mare siguran, o combinaie de contor de caractere cu una dintre celelalte metode. La sosirea
unui cadru, pentru a localiza sfritul acestuia, este utilizat cmpul contor. Cadml este acceptat ca
valid doar dac n poziia respectiv exist delimitatorul corespunztor i dac suma de control este
corect. Altfel, irul de intrare este scanat pentru a detecta urmtorul delimitator.

3.13 Controlul erorilor

Problema marcrii nceputului i sfritului fiecrui cadru fiind rezolvat, ne vom ndrepta
atenia ctre problema urmtoare: cum s fim siguri c toate cadrele ajung pn la urm la
nivelul reea de la destinaie i n ordinea corect. S presupunem c emitorul trimite
cadrele de ieire fr s verifice dac au ajuns corect. Aa ceva se poate accepta n cazul
serviciilor neconfirmate fr conexiune, dar nu n cel al serviciilor sigure, orientate conexiune.
Modul uzual de a asigura o. transmitere sigur este de a furniza emitorului o reacie invers
despre ceea ce se ntmpl la cellalt capt al liniei. De obicei protocolul i cere receptorului s trimit
napoi cadre de control speciale, purtnd confirmri pozitive sau negative despre cadrele sosite. Dac
emitorul recepioneaz o confirmare pozitiv despre un cadru, el tie c acel cadru a ajuns cu bine.
Pe de alt parte, o confirmare negativ nseamn c ceva a mers prost i cadrul trebuie retransmis.
O complicaie n plus vine de la posibilitatea ca defectele de echipament s determine dispariia
complet a unui cadru (de exemplu ntr-o rafal de zgomot). n acest caz, receptorul nu va reaciona
n nici un fel, din moment ce nu are nici un motiv s reacioneze. Trebuie s fie clar c un protocol n
care emitorul trimite un cadru i apoi ateapt o confirmare, pozitiv sau negativ, va rmne
agat pentru totdeauna dac un cadru este complet pierdut datorit nefuncionrii echipamentului.
Aceast posibilitate a determinat introducerea contoarelor de timp (ceasurilor) la nivelul
legturii de date. Atunci cnd emitorul trimite un cadru, pornete de obicei i un contor de timp.
Contorul de timp este setat s expire dup un interval suficient de lung pentru ca acel cadru s poat
170 NIVELUL LEGTUR DE DATE CAP. 3

ajunge la destinaie, s fie prelucrat acolo i confirmarea s se propage napoi ctre emitor. n mod
normal, cadrul va fi corect recepionat i confirmarea va sosi nainte ca timpul s expire, caz n care
contorul va fi anulat.
Dar, dac fie cadrul, fie confirmarea se pierd, intervalul de timp expir, n acest caz, emitorul
fiind atenionat c a aprut o problem. Soluia evident este retransmiterea cadrului. Dar, atunci
cnd cadrele pot fi transmise de mai multe ori, exist pericolul ca receptorul s accepte acelai cadru
de dou sau mai multe ori i s-1 trimit de mai multe ori nivelului reea. Pentru a evita aceast
situaie este necesar s atribuim numere de secven cadrelor de ieire, aa nct receptorul s poat
face distincie ntre cadrele retransmise i cele originale.
ntreaga problematic a gestiunii ceasurilor i numerelor de secven, astfel nct fiecare cadru s
ajung la nivelul reea de la destinaie o singur dat, fr excepie, reprezint o parte important a
obligaiilor nivelului legtur de date. Mai trziu, n acest capitol, vom studia n detaliu cum este
realizat aceast gestiune, urmrind o serie de exemple de complexitate din ce n ce mai mare.

3.1.4 Controlul fluxului

Un alt aspect important de proiectare care apare la nivelul legtur de date (i, desigur, i
la nivelurile superioare) este cum trebuie procedat cu un emitor care dorete sistematic s
transmit cadre mai repede dect poate s accepte receptorul. Aceast situaie poate s apar
uor atunci cnd emitorul ruleaz pe un calculator rapid (sau mai puin ncrcat) i
receptorul ruleaz pe o main lent (sau foarte ncrcat). Emitorul continu s transmit
cadre la o rat nalt pn cnd receptorul este inundat. Chiar dac transmisia este fr erori,
la un anumit punct receptorul nu va mai fi capabil s trateze cadrele care sosesc i va ncepe s
piard unele dintre ele. Bineneles, trebuie fcut ceva pentru a evita aceast situaie.
Soluia uzual este de a introduce controlul fluxului iflow control) pentru o obliga emitorul s
nu trimit mai rapid dect poate s accepte receptorul. Aceasta necesit n general un mecanism de
reacie, aa nct emitorul s-i poat da seama dac receptorul poate sau nu s in pasul.
Sunt cunoscute diferite scheme de control al fluxului, dar cele mai multe dintre ele utilizeaz
acelai principiu de baz. Protocolul conine reguli bine-definite despre momentul cnd emitorul
poate trimite urmtorul cadru. Aceste reguli interzic trimiterea cadrelor nainte ca Receptorul s o
permit, implicit sau explicit. De exemplu, cnd se stabilete o conexiune, receptorul trebuie s
spun: "Acum poi s-mi trimii n cadre, dar dup ce au fost trimise,-s nu trimii altele pn cnd nu
i spun s continui". n acest capitol vom studia diferite mecanisme de control al fluxului bazate pe
acest principiu. n capitolele urmtoare vom studia alte mecanisme.

3.2 DETECTAREA I CORECTAREA ERORILOR

Aa cum am vzut n Cap. 2, sistemul telefonic are trei pri: comutatoarele, trunchiurile inter-
oficii (interoffice tmnks) i buclele locale. Primele dou sunt acum aproape complet digitizate n
Satele Unite i n alte cteva ri. Buclele locale sunt nc din perechi de fire torsadate din cupru. n
timp ce pe partea digital erorile sunt rare, ele sunt nc obinuite pe buclele locale. Mai mult,
comunicaia fr fir a devenit mai uzual i ratele erorilor sunt, n acest caz, cu cteva ordine de
mrime mai frecvente dect pe trunchiurile de fibr inter-oficii. Concluzia este: erorile de transmisie
vor fi o realitate pentru muli ani de acum nainte.
DEIECI^REApaMECTAREAHlORILOR 171

Gwezultat al proceselor fizice care le genereaz, erorile dintr-unmediu (de exemplu radiq) tind s
mai curnd n rafale dect izolate. Sosirea erorilor n rafal, are att avantaje ct i dezavantaje
fat de erorile izolate pe un singur bit. Avantajul este acela c, datele de la calculator sunt trimise
ntotdeauna n blocuri de bii. S presupunem c dimensiunea unui bloc este de 1000 de bii i rata de
eroare este de 0.001 per bit. Dac erorile ar fi independente, multe blocuri ar conine o eroare. Dac
erorile vin n rafal de cte 100, n medie vor fi afectate doar unul sau dou blocuri din 100.
Dezavantajul erorilor n rafal este acela c sunt mult mai greu de detectat i corectat dect
erorile izolate.

3.2.1 Coduri corectoare de erori

Proiectanii de reele au dezvoltat dou strategii de baz pentru tratarea erorilor. O modalitate
este ca pe lng fiecare bloc de date trimis s se includ suficient informaie redundant pentru ca
receptorul s poat deduce care a fost caracterul transmis. O alt soluie este s se includ suficient
redundan pentru a permite receptorului s constate c a aprut o eroare, dar nu care este eroarea,
si s cear o retransmisie. Prima strategie utilizeaz coduri corectoare de erori, iar cea de-a doua
utilizeaz coduri detectoare de erori.
Pentru a nelege cum pot fi tratate erorile, este necesar s privim cu atenie la ceea ce este cu
adevrat o eroare. n mod normal, un cadru conine m bii de date (adic mesaj) i r bii redundani
sau de control. S considerm lungimea total n (adic, n = m + r). O unitate format din n bii,
care conine date i bii de control, este numit frecvent cuvnt de cod de n bii (-bit codeword).
Date fiind dou cuvinte de cod, s zicem, 10001001 i 10110001, este posibil s determinm ci
bii de coresponden difer. n acest caz difer 3 bii. Pentru a determina ci bii difer, aplicm
operatorul SAU EXCLUSIV ntre cele dou cuvinte de cod i numrm biii 1 din rezultat.
Numrul de poziii binare n care dou cuvinte de cod difer se numete distana Hamming
(Hamming, 1950). Semnificaia sa este c dac dou cuvinte de cod sunt desprite de o distan
Hamming d, sunt necesare d erori de un singur bit pentru a-1 converti pe unul n cellalt.
n multe aplicaii de transmisie de date, toate cele 2m mesaje de date posibile sunt corecte, dar,
datorit modului n care sunt calculai biii de control, nu sunt utilizate toate cele 2n cuvinte de cod
posibile. Dat fiind algoritmul pentru calculul biilor de control, este posibil s construim o list
complet de cuvinte de cod permise i din aceast list s gsim cele dou cuvinte de cod a cror
distan Hamming este minim. Aceast distan este distana Hamming a codului complet.
Proprietile detectoare i corectoare de erori ale unui cod depind de distana sa Hamming.
Pentru a detecta d erori, este nevoie de un cod cu distan d + 1, deoarece cu un asemenea cod nu
exist nici o modalitate ca d erori de un singur bit s poat modifica un cuvnt de cod corect ntr-un
alt cuvnt de cod corect. Atunci cnd receptorul vede un cuvnt de cod incorect, poate spune c s-a
produs o eroare de transmisie. Similar, pentru a corecta d erori, este nevoie de un cod cu distan
2d + 1, deoarece n acest mod cuvintele de cod corecte sunt att de distanate, nct, chiar cu d
modificri, cuvntul de cod originar este totui mai apropiat dect alte cuvinte de cod i va fi unic
determinat.
Ca un exemplu simplu de cod detector de erori s considerm un cod n care la date este adugat
un singur bit de paritate. Bitul de paritate este ales astfel, nct numrul de bii 1 din cuvntul de cod
estepar (sau impar). De exemplu, atunci cnd 10110101 este trimis n paritate par, prin adugarea
unui bit la sfrit devine 101101011, n timp ce 10110001 devine 101100010. Un cod cu un singur bit
172 NIVELULLEGATURADEDATE CAP.3^

de paritate are distana 2, deoarece orice eroare pe u Singur bit produce un cuvnt de cod cu |
paritatea greit. Acesta poate fi utilizat pentru detectarea erorilor singulare. ')
Ca exemplu simplu de cod corector de erori, s considerm un cod cu numai patru cuvinte de l
cod corecte: . ;;

0000000000, 0000011111, 1111100000 i 1111111111.

Acest cod are distanai, ceea ce nseamn c poate corecta erori duble. Dac sosete cuvntul
de cod 0000000111, cel ce recepioneaz tie c originalul trebuie s fi fost 00000111111. Dac totui
o eroare tripl modific 0000000000 n 0000000111, eroarea nu va fi corectat corespunztor.
S ne imaginm c dorim s proiectm un cod cu m bii de mesaj i r bii de control care ne
va permite s corectm toate erorile singulare. Pentru fiecare din cele 2m mesaje corecte exist
n cuvinte de cod eronate, aflate la distan 1 de el. Acestea sunt formate prin inversarea
sistematic a fiecruia dintre cei n bii din cuvntul de cod de n bii format din el. Astfel,
fiecare din cele 2m mesaje corecte necesit n+1 abloane asociate. Cnd numrul total de
abloane este 2n, trebuie s avem (n+1) 2m < = 2 n . Utiliznd n=m+r, aceast condiie devine
(m + r + 1 ) < = 2 r . Dndu-se m, acesta impune o limit inferioar asupra numrului de bii de
control necesari pentru a corecta erorile singulare.
Aceast limit inferioar teoretic poate fi, de fapt, atins utiliznd o metod atribuit lui
Hamming (1950). Biii cuvntului de cod sunt numerotai consecutiv, ncepnd cu bitul 1 de la
marginea din stnga. Biii care sunt puteri ale lui 2 (1,2,4,8,16 etc.) sunt bii de control. Restul (3,
5,6,7,9 etc.) sunt completai cu cei m bii de date. Fiecare bit de control foreaz ca paritatea unui
grup de bii, inclusiv el nsui, s fie par (sau impar).

ar. ASCII Bii de control

/ / \ \

H 1001000 00110010000
a 1100001 10111001001
m 1101101 11101010101
m 1101101 11101010101
i 1101001 01101011001
n 1101110 01101010110
g 1100111 11111001111
0100000 10011000000
c 1100011 11111000011
o 1101111 00101011111
d 1100100 11111001100
e 1100101 00111000101
ordinea transmiterii biilor

Fig. 3-6. Utilizarea unui cod Hamming pentru corectarea erorilor n rafal.

Un bit poate fi inclus n mai multe calcule de paritate. Pentru a vedea la care bii de control
contribuie bitul de date din poziia k, rescriem k ca o sum de puteri ale lui 2. De exemplu, 11=
1+2+8 i 29=1+4+8+16. Un bit este verificat de acei bii de control care apar n dezvoltarea sa (de
exemplu, bitul 11 este verificat de biii 1,2 i 8).
SEC. 3.2 DETECTAREA I CORECTAREA ERORILOR 173

Cnd sosete un cuvnt de cod, receptorul iniializeaz un contor la 0. Acesta examineaz apoi
fiecare bit de control, k (k = 1,2,4,8...) pentru a vedea dac are paritatea corect. Dac nu, adaug
k la contor. Dac, dup ce au fost examinai toi biii de control, contorul este 0 (adic, dac toi biii
au fost coreci), cuvntul de cod este acceptat ca valid. Dac valoarea contorului este nenul, ea
reprezint numrul bitului incorect. De exemplu, dac biii de control 1, 2 i 8 sunt eronai, atunci
bitul inversat este 11, deoarece este singurul verificat de biii 1, 2 i 8. Fig. 3-6 prezint cteva
caractere ASCII pe 7 bii codificate prin cuvinte de cod pe 11 bii, utiliznd codul Hamming. De
reamintit c informaia este regsit n biii de pe poziiile 3, 5,6, 7, 9,10 i 11. Codurile Hamming
pot corecta numai erori singulare. Totui, exist un artificiu care poate fi utilizat pentru a permite
codurilor Hamming s corecteze erorile n rafal. O secven de k cuvinte de cod consecutive este
aranjat ca o matrice, avnd cte un cuvnt de cod pe fiecare linie. In mod normal, datele ar fi
transmise linie cu linie, de la stnga la dreapta. Pentru a corecta erorile n rafal, datele vor trebui
transmise pe coloane, ncepnd cu coloana cea mai din stnga. Cnd au fost trimii toi cei k bii, este
transmis a doua coloan i aa mai departe. Atunci cnd un cadru ajunge la receptor, matricea este
reconstruit, coloan cu coloan. Dac a aprut o eroare n rafal, de lungime k, va fi afectat cel
mult un bit din fiecare dintre cele k cuvinte de cod, dar codul Hamming poate corecta o eroare pe
cuvnt de cod, aa nct ntregul bloc poate fi refcut. Aceast metod utilizeaz kr bii de control
pentru a face blocuri de km bii de date imune la erorile n rafal de lungime k sau mai mic.

3.2.2 Coduri detectoare de erori

Codurile corectoare de erori sunt utilizate uneori pentru transmiterea datelor, de exemplu atunci
cnd un canal este simplex, deci nu pot fi cerute retransmisii, dar cel mai adesea este preferat
detecia erorii urmat de retransmisie, deoarece este mai eficient. Ca un simplu exemplu, s
considerm un canal n care erorile sunt izolate i rata erorilor este de IO"6 per bit. S considerm c
dimensiunea unui bloc este de 1000 bii. Pentru a permite corecia erorilor pentru blocuri de 1000 de
bii sunt necesari 10 bii de control; un megabit de date va necesita 10000 bii de control. Pentru a
detecta uor un bloc cu o singur eroare de un bit, va fi suficient un bit de paritate la fiecare bloc. O
dat la fiecare 1000 de blocuri va trebui transmis un extrabloc (1001 bii). ncrcarea suplimentar
total n cazul metodei de detecie i retransmisie este de numai 2001 bii pentru un megabit de date,
n comparaie cu 10000 bii pentru un cod Hamming.
Dac unui bloc i se adaug un singur bit de paritate i blocul este puternic deformat de o eroare
n rafal lung, probabilitatea ca eroarea s fie detectat este de numai 0.5, ceea ce este greu de
acceptat. ansele pot fi mbuntite considerabil dac fiecare bloc transmis este privit ca o matrice
dreptunghiular de n bii lime i k bii nlime. Pentru fiecare coloan este calculat un bit de
paritate, care este adugat ntr-o nou linie de la sfritul matricei. Matricea este apoi transmis linie
cu linie. La sosirea blocului, receptorul verific toi biii de paritate. Dac oricare din ei este greit, va
cere o retransmisie a blocului.
Aceast metod poate detecta o singur rafal de lungime n, cu numai un bit pe coloan
modificat. O rafal de lungime n+1 va trece totui nedetectat dac primul i ultimul bit sunt
inversai, iar toi ceilali bii sunt coreci (o eroare n rafal nu nseamn c toi biii sunt greii, ci c
cel puin primul i ultimul sunt greii). Dac blocul este puternic deformat de o rafal lung sau de
rafale scurte multiple, probabilitatea ca oricare din cele n coloana s aib, accidental, paritatea
corect este 0.5, deci probabilitatea ca un bloc eronat s fie acceptat atunci cnd nu ar trebui este 2'n.
174 NIVELUL LEGTUR DE DATE CAP. 3

Cu toate c schema de mai sus poate fi uneori adecvat, n" practic este larg utilizat o alt
metod: codul polinomial (cunoscut i sub numele de cod cu redundan ciclic - cydic redundancy
code sau cod CRC). Codurile polinomiale sunt bazate pe tratarea irurilor de bii ca reprezentri de
polinoame cu coeficieni 0 i 1. Un cadru de k bii este vzut ca o list de coeficieni pentru un
1
polinom cu k termeni, de la it la x. Se spune c un astfel de polinom este de gradul k-1. Bitul cel
lc 1 2
mai semnificativ (cel mai din stnga) este coeficientul lui x ' ; urmtorul bit este coeficientul lui x*'
.a.m.d. De exemplu, 110001 are ase bii i ei reprezint un polinom cu ase termeni cu coeficienii
; 4
1,1,0,0,0 i 1: r +x +x. Aritmetica polinomial este de tip modulo 2, n conformitate cu regulile
teoriei algebrice. Nu exist transport la adunare i nici mprumut la scdere. Att adunrile ct i
scderile sunt identice cu SAU EXCLUSIV. De exemplu:

10011011 00110011 11110000 01010101


+11001010 +11001101 -10100110 -10101111
01010001 11111110 01010110 11111010

mprirea lung este fcut ca n binar cu excepia faptului c scderea este realizat modulo 2,
ca mai sus. Despre un mpritor se spune c intr" ntr-un demprit dac dempritul are tot
atia bii ca mpritorul.
Atunci cnd este utilizat metoda codului polinomial, emitorul i receptorul se pun de acord n
avans asupra unui polinom generator G(x). Att bitul cel mai semnificativ ct i cel mai puin
semnificativ trebuie s fie 1. Pentru a calcula suma de control pentru un cadru cu m bii,
corespunztor polinomului M(x), cadrul trebuie s fie mai lung dect polinomul generator. Ideea
este de a aduga o sum de control la sfritul cadrului, astfel nct polinomul reprezentat de cadrul
cu sum de control s fie divizibil prin G(x). Cnd receptorul preia cadrul cu suma de control,
ncearc s-1 mpart la G(x). Dac se obine un rest, nseamn c a avut loc o eroare de transmisie.
Algoritmul pentru calculul sumei de control este urmtorul:

1. Fie r gradul lui G(x). Se adaug r bii 0 la captul mai puin semnificativ al cadrului, aa nct
acesta va conine acum n+r bii i va corespunde polinomului xTvI(x).
2. Se mparte irul de bii ce corespund lui G(x) ntr-un ir de bii corespunznd lui tfM(x),
utiliznd mprirea modulo 2.
3. Se scade restul (care are ntotdeauna r sau mai puini bii) din irul de bii corespunznd lui
xrM(x), utiliznd scderea modulo 2. Rezultatul este cadrul cu sum de control ce va fi
transmis. Numim polinomul su T(x).

Fig. 3-7 ilustreaz calculul pentru cadrul 1101011011 i G(x) = x 4 +x+l.


Trebuie s fie clar c T(x) este divizibil (modulo 2) cu G(x). n orice problem de mprire, dac
din demprit se scade restul, atunci ceea ce rmne este divizibil prin mpritor. De exemplu, n
baza 10, dac mprim 210278 la 10941 restul este 2399. Prin scderea lui 2399 din 210278, ceea ce
rmne (207879) este divizibil cu 10941.
S analizm puterea acestei metode. Ce tipuri de erori vor fi detectate? S ne imaginm c apare
o eroare de transmisie, aa nct n loc s soseasc irul de bii pentru T(x), ajunge T(x) + E(X).
Fiecare bit din E(x) corespursde unui bit care a fost inversat. Dac n E(x) exist k bii 1, aceasta
nseamn c au aprut k erori de un singur bit.
SEC.3.2 DETECTAREA SI CORECTAREA ERORILOR 175

Cadru : 1 1 0 1 0 1 1 0 11
Generator: 10 0 11
Mesaj dup adugarea a 4 bii de zero: 1 1 o 1 0 1 l 0 0 0 0

1 1 0 0 0 0 1 0
1 0 0 1 1 1 1 0 1 0 ,1 1 0 1 1 0 0 0 0
1 0 0 1 1 I

1: 0 0 1 1
1 0 0 1 1_ j

0 0 0 0 1
0 0 0 0 0

0 0 0 1 0
o o o o o

0 0 1 0 1
0 - 0 0 0 0
t
0 1 0 1 1
0 0 0 0 o
1 0 1 1 0
1 0 0 1 1

0 1 0 1 o
0 0 0 0 o

1 0 1 0 0
1 0 0 1 1

0 1 1 1 o
0 0 0 0 0 .-- Rest
1 1 1 0

Cadru t r a n s m i s : 1 1 0 1 0 1 1 0 1 1 1 1 1 0

Fig. 3-7. Calculul sumei de control n cod polinomial

O singur eroare n rafal este caracterizat de un 1 iniial, un amestec de 0 i 1 i un 1 final, toi


ceilali bii fiind 0.
La recepia cadrului cu sum de control, receptorul l mparte prin G(x); aceasta nseamn c va
calcula [T(x) + E(x)]/G(x). T(x)/G(x) este 0, aa nct rezultatul calculului este pur i simplu
E(x)/G(x). Acele erori care se ntmpl s corespund unor polinoame care l au ca factor pe G(x)
vor scpa; toate celelalte vor fi detectate.
176 NIVELUL LEGTUR DE DATE CAP. 3

Dac a aprut o eroare pe un singur bit, E(x) =x", unde / determin care bit este eronat. Dac
G(x) conine doi sau mai muli termeni, nu poate fi divizor al lui E(x), aa nct toate erorile pe un
singur bit vor fi detectate.
Dac au aprut dou erori izolate pe un singur bit, atunci E(x)= xi+xJ, unde i>j. Alternativ,
aceasta se poate scrie ca E(x)=^(^+1). Dac presupunem c G(x) nu este divizibil prin x, o
condiie suficient pentru detectarea erorilor duble este ca G(x) s nu se divid p r i n Z + l pentru
orice k pn la valoarea maxim /-; (adic, pn la lungimea maxim a cadrului). Sunt cunoscute
polinoame simple, de grad mic, care asigur protecie cadrelor cu lungime mare. De exemplu,
x 1 5 +x 1 4 +1 nu se va divide c u / + i pentru nici o valoare a lui k mai mic dect 32768.
Dac exist un numr impar de bii eronai, E(x) conine un numr impar de termeni (adic,
x +x 2 +l, dar nu x 2 +l). Destul de interesant, n sistemul modulo 2 nu exist nici un polinom cu
5

numr impar de termeni care s l aib pe x+1 ca factor. Fcndu-1 pe x+1 factor al lui G(x), vom
putea depista toate erorile constituite dintr-un numr impar de bii inversai.
Pentru a vedea c nici un polinom cu numr impar de termeni nu este divizibil cu x+1, s
presupunem c E(x) are un numr impar de termeni i este divizibil cu x+1. Factorizm E(x) n
(x+l)Q(x). Acum evalum E(l)= (1+1)Q(1). Deoarece 1+1=0 (modulo 2), E(l) trebuie s fie 0.
Daca E(x) are un numr impar de termeni, substituind fiecare x cu 1, rezultatul obinut va fi
ntotdeauna 1. Prin urmare nici un polinom cu numr impar de termeni nu este divizibil ai x+1. n
sfrit, i cel mai important, un cod polinomial cu r bii de control va detecta toate erorile n rafal de
lungime < r. O eroare n rafal de lungime k poate fi reprezentat de x1 (x*'1 + ... +1), unde i
determin ct de departe este localizat rafala fa de captul din dreapta al cadrului recepionat.
Dac G(x) conine termenul x, atunci nu l va avea ca factor ipex", aa c dac gradul expresiei dintre
paranteze este mai mic dect gradul lui G(x), restul nu poate fi niciodat 0.
Dac lungimea rafalei este r+1, restul mpririi cu G(x) va fi zero dac i numai dac rafala este
identic cu G(x). Prin definiia rafalei, primul i ultimul bit trebuie s fie 1, aa c potrivirea depinde
de cei r - 1 bii intermediari. Daca toate combinaiile sunt privite ca egal posibile, atunci
probabilitatea ca un cadru incorect s fie acceptat ca valid este l/2 r4 .
Trei polinoame au devenit standarde internaionale:

CRC-12 =x 1 2 +x 1 1 +x 3 +x 2 +x 1 +l
CRC-16 =x 1 6 +x 1 5 +x 2 +l
16 12 5
CRC-CCITT =x +x +x +l

Toate trei l conin pe x+1 ca factor prim. CRC-12 este utilizat atunci cnd lungimea
caracterului este de 6 bii. Celelalte dou sunt utilizate pentru caractere de 8 bii. O sum de
control pe 16 bii, precum CRC-16 sau CRC-CCITT, detecteaz toate erorile singulare i
duble, toate erorile cu un numr impar de bii, toate erorile n rafal de lungime 16 sau mai
mic, 99,997 % din erorile n rafal de 17 bii i 99,998 % din rafalele de 18 sau mai muli bii.
Dei calculele necesare pentru determinarea sumei control pot s par complicate, Peterson i
Brown (1961) au artat c pentru a calcula i verifica suma de control poate fi utilizat un simplu
registru de deplasare. n practic, acest tip de circuit este utilizat aproape ntotdeauna.
Timp de zeci de ani s-a presupus c acele cadre pentru care se calculeaz suma de control conin
bii aleatori. Toate analizele algoritmilor pentru calculul sumei de control au fost fcute cu aceast
p, mrente ale datelor reale au artat c aceast presupunere nu este corect. Ca
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DEDATE 177

o consecin, n unele circumstane, erorile nedetectate sunt mult mai obinuite dect s-a crezut
anterior (Partridge .a. 1995).

3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE


Pentru a face introducerea n subiectul protocoalelor, vom ncepe prin a analiza trei protocoale
de complexitate din ce n ce mai mare. Pentru cititorii interesai, un simulator pentru aceste
protocoale i pentru cele care urmeaz este disponibil prin WWW (vezi prefaa). nainte de a
analiza protocoalele, este util s explicitm unele dintre ipotezele care stau la baza modelelor de
comunicaie. Pentru nceput, considerm c la nivelul fizic, nivelul legtur de date i nivelul reea
exist procese independente care comunic transferndu-i mesaje n ambele sensuri. n unele
cazuri, procesele de la nivelul fizic i de legtur de date se vor executa pe un procesor dintr-un cip
special de intrare/ieire al reelei, iar cele de la nivelul reea n CPU, dar sunt posibile i alte
implementri (de exemplu toate cele trei procese ntr-un singur cip de intrare/ieire; nivelurile fizic i
legtur de date ca proceduri apelate de procesul nivelului reea etc). n orice caz, tratarea celor trei
niveluri ca procese separate va face discuiile conceptuale mai clare i de asemenea va scoate n
eviden independena nivelurilor.
O alt presupunere cheie este c mainal vrea s trimit un lung ir de date mainii B, folosind
un serviciu sigur, orientat pe conexiune. Mai trziu, vom consider cazul n care B vrea de asemenea
s-i transmit simultan date lui A Presupunem c A are tot timpul date gata de transmis i nu
ateapt niciodat ca aceste date s fie produse. Atunci cnd nivelul legtur de date al lui A cere
date, nivelul reea este totdeauna capabil s i le furnizeze imediat. (i aceast restricie va fi
abandonat mai trziu.)
n ceea ce privete nivelul legtur de date, pachetul care trece de la nivelul reea, prin interfa,
ctre el este constituit din date pure, fiecare bit al acestora trebuind s fie trimis la nivelul reea
destinaie. Faptul c nivelul reea destinaie poate interpreta o parte din pachetul de date ca antet nu
prezint interes pentru nivelul legtur de date.
Atunci cnd accept un pachet, nivelul legtur de date l ncapsuleaz ntr-un cadru,
adugndu-i un antet i o ncheiere de legtur de date (vezi Fig. 1-11). Deci un cadru se compune
dintr-un pachet de date i cteva informaii de control (antetul). Apoi cadrul este transmis ctre alt
nivel legtur de date. Vom presupune c exist proceduri de bibliotec adecvate pentru transmitea
i recepionarea unui cadru: to_physicaljayer i, respectiv, from_physicaljayer. Echipamentul de
transmisie calculeaz i adaug suma de control, astfel nct programele nivelului legtur de date
nu trebuie s se preocupe de aceasta. De exemplu, ar putea fi utilizat algoritmul polinomial discutat
mai devreme n acest capitol.
Iniial, receptorul nu are nimic de fcut. Doar st ateptnd s se ntmple ceva. n exemplele de
protocoale din acest capitol artm c nivelul legtur de date ateapt s se produc un eveniment
prin apelul de procedur waitjor_event (event). Aceast procedur red controlul numai atunci
cnd s-a ntmplat ceva (adic atunci cnd sosete un cadru). La revenire, variabila event spune ce s-
a ntmplat. Mulimea de evenimente posibile nu este aceeai pentru diferitele protocoale ce vor fi
descrise i va fi definit separat, pentru fiecare protocol n parte. De reinut c, ntr-o situaie mai
realist, nivelul legtur de date nu va sta pur i simplu n ateptarea unui eveniment, aa cum am
sugerat, ci va primi o ntrerupere, care l va determina s se opreasc, indiferent ce fcea n acel
moment, i s se ocupe de cadrul care sosete; De asemenea, pentrusimplitate, vom- ignora toate
178 NWELUfc LEGTUR DE DATE CAP.3

detaliile activitilor paralele din cadrul nivelului legtur de date i vom presupune c este tot
timpul dedicat numai canalului nostru.
Cnd'un cadru ajunge la receptor, echipamentul calculeaz suma de control. Dac aceasta este
incorect (n cazul unei erori de transmisie), atunci nivelul legtur de date este informat
corespunztor (event = cksumjrr). Dac un cadru ajunge nealterat, nivelul legtur de date este de
asemenea informat (event = framejmival), aa c poate primi cadrul pentru inspecie folosind
fivmjyhysicaljayer. De ndat ce nivelul de legtur de date a primit un cadru nealterat, verific
informaiile de control din antet i dac totul este n regul, pachetul este transmis nivelului reea. n
nici un caz, antetul nu este transmis nivelului reea.
Exist un motiv serios pentru care nivelului reea nu trebuie s i se transmit niciodat vreo parte
din antet: separarea complet a protocoalelor de reea de cele de legtur de date. Att timp ct
nivelul reea nu tie nimic despre protocolul nivelului legtur de date sau despre formatul cadrului,
acestea pot fi schimbate, fr s fie necesar schimbarea programelor nivelului reea. Furnizarea
unei interfee rigide ntre nivelul reea i nivelul legtur de date simplific considerabil proiectarea
programelor, deoarece protocoalele de comunicaie de la niveluri diferite pot evolua independent.
Figura 3-8 arat cteva declaraii (n C) comune multor protocoale ce vor fi discutate mai trziu.
Sunt definite cinci structuri de date: boolean, seq_nr,packet,frame_kind,frame. Un boolean este de
tip enumerativ i poate lua numai valorile true sau false. Seqjir este un numr ntreg mic folosit
pentru a numerota cadrele, astfel nct s le putem identifica. Aceste numere de secven sunt
cuprinse ntre 0 i MAX_SECV inclusiv, aceasta din urm fiind o constant definit n fiecare
protocol n care este necesar. Unpachet este unitatea de informaie schimbat ntre nivelul reea i
nivelul legtur de date de pe aceeai main sau ntre niveluri reea similare. n modelul nostru el
conine totdeauna MAX_PKT octei, dar mai realist ar fi s aib lungime variabil.
XJnframe (cadru) este compus din patru cmpuri: kind, seq, ack, i info, dintre care primele trei
conin informaii de control, iar ultimul poate conine datele efective care trebuie transferate.
Ansamblul acestor cmpuri de control este numit antetul cadrului (frame header). Cmpul kind
(tip) spune dac exist sau nu date n cadru, deoarece unele protocoale fac distincie ntre cadrele
care conin exclusiv informaii de control i cele care conin i date. Cmpurile seq i ack sunt
utilizate pentru numere de secven i, respectiv, confirmri (acfcnowledgements); utilizarea lor va fi
descris n detaliu mai trziu. Cmpul info al unui cadru de date conine un singur pachet de date;
cmpul info al unui cadru de control nu este utilizat. O implementare mult mai realist va folosi un
cmp info de lungime variabil, omindu-1 cu totul din cadrele de control.
Este important s ne dm seama de relaia dintre un pachet i un cadru. Nivelul reea
construiete un pachet lund un mesaj de la nivelul transport i adugnd la acesta antetul nivelului
reea. Acest pachet este trimis nivelului legtur de date pentru a fi inclus n cmpul info al unui
cadru care pleac. Cnd cadrul ajunge la destinaie, nivelul legtur de date extrage pachetul din
cadru si l trimite nivelului reea. n aceast manier, nivelul reea poate aciona ca si cnd mainile
ar putea s schimbe direct pachete.
n figura 3-8 sunt prezentate i cteva proceduri. Acestea sunt rutine de bibliotec ale cror
detalii sunt dependente de implementare i al cror mod intern de lucru nu ne intereseaz n
continuare. Procedura waitjorjvent st n bucl, ateptnd s se ntmple ceva, aa cum am
menionat mai devreme. Procedurile tojietworkjayer ifrornjietworkjayersunt utilizate de nivelul
de legtur de date pentru a trimite, respectiv a accepta, pachete de la nivelul de reea. De reinut c
from_physkaljayer i to_physical_layer sunt utilizate pentru trimiterea cadrelor ntre nivelurile fizic i
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 179

legtur de date, n timp ce tojietworkjayer i fromjietworkjayer sunt folosite pentru a trimite


pachetele ntre nivelul legtur de date i nivelul reea. Cu alte cuvinte, tojietworkjayer i
fromjietworkjayer realizeaz interfaa dintre nivelurile 2 i 3, n timp ce fromj>hysicaljayer i
tojyhysicaljayer realizeaz interfaa dintre nivelurile 1 i 2.
n cele mai multe dintre protocoale se consider c se utilizeaz un canal nesigur care, ocazional,
poate pierde cadre ntregi. Pentru a contracara efectul unor asemenea calamiti, nivelul legtur de
date care transmite trebuie s porneasc un contor de timp sau un ceas intern de fiecare dat cnd
trimite un cadru. Dac nu s-a primit un rspuns ntr-un interval de timp predefinit, la expirarea
acestuia, nivelul legtur de date primete un semnal de ntrerupere.
n protocoalele noastre aceasta este asigurat de procedura waitjorjvent care ntoarce event =
timeout. Procedurile start Jimer i stop_ timer sunt utilizate pentru a porni, respectiv a opri contorul
de timp. Expirarea timpului este posibil numai atunci cnd contorul de timp lucreaz. Este permis
explicit s se apeleze start_ timer n timp ce contorul de timp lucreaz; un astfel de apel va reseta pur
i simplu contorul de timp, determinndu-1 s genereze urmtorul semnal de expirare de timp dup
ce ntregul interval de timp se va epuiza (exceptnd cazul n care este resetat sau dezactivat n acest
interval timp).
Procedurile startjickjimer i stopjickjimer sunt folosite pentru a controla un contor de timp
auxiliar, utilizat pentru a genera confirmri n anumite condiii
Procedurile enabkjietworkjayer i disablejietworkjayer sunt utilizate n protocoalele mai
sofisticate, n care nu mai presupunem c nivelul de reea are tot timpul pachete de trimis. Cnd
nivelul legtur de date activeaz nivelul reea, acestuia i se permite s ntrerup atunci cnd are un
pachet de trimis. Indicm aceasta cu event = networkjayerjeady. Cnd un nivel reea este dezactivat,
acesta nu poate provoca asemenea evenimente. Gestionnd cu pruden activarea i dezactivarea
nivelului reea, nivelul legtur de date poate preveni ca acesta s-1 inunde cu pachete atunci cnd nu
mai are spaiu n tampon.
Numerele de secven ale cadrelor sunt ntotdeauna de la 0 la MAX_SECV (inclusiv), unde
MAX_SECV difer de la protocol la protocol. Deseori este necesar ca numrul de secven s
avanseze circular (adic MAX_SECV este urmat de 0). Aceast incrementare este realizat de
macroinstruciunea inc. A fost definit ca macroinstruciune, deoarece este utilizat n-line n
secvena critic. Asa cum vom vedea mai trziu, factorul care limiteaz performanta reelei este
adesea prelucrarea efectuat de protocol, aa c definirea operaiilor simple, ca aceasta, ca
macroinstruciuni, nu afecteaz claritatea codului, dar mbuntete performana. Mai mult, de
vreme ce MAXJSECVva avea diferite valori n diferite protocoale, definirea de macroinstruciuni
face posibil includerea tuturor protocoalelor n acelai fiier binar fr conflict. Aceast posibilitate
este util pentru simulator.

Idefine MAX_PKT 1024 /* determin dimensiunea n octei a pachetului */


typedef enum {false, true} boolean; /* t i p boolean */
typedef unsigned int seq_nr; /* numere de secven sau de ack */
typedef struct {unsigned char data[MAX_PKT];} packet; /* definiia pachetului */
typedef enum {data, ack, nak} frame_kind; /* definiia t i p u r i l o r de cadre */
typedef struct { /* la acest nivel sunt transportate cadre */
frame_kind kind; /* ce fel de cadru este acesta? */
seq_nr seq; /* numr de secven */
180 NIVELUL LEGTUR DE DATE CAP. 3

seq_nr ack; /* numr de confirmare */


packet info; /* pachetul de nivel reea */
} frame;
/* Ateapt producerea unui eveniment; ntoarce tipul acestuia n variabila event */
void wait_for_event(event_type *event);
/* Preia un pachet de la nivelul reea, spre a-1 transmite prin canal */
void from_network_layer(packet *p);
/* Livreaz nivelului reea informaia dintr-un cadru ajuns la destinaie */
void to_network_layer(packet *p);
/* Preia cadrul sosit de la nivelul fizic i l copiaz n r. */
void from_physicalJayer(frame * r ) ;
/* Livreaz cadrul nivelului fizic, pentru transmisie */
void to_physi cal J a y e r (frame *s);
/* Pornete ceasul i activeaz evenimentul timeout */
void start_timer(seq_nr k);
/* Oprete ceasul i dezactiveaz evenimentul timeout */
void stop_timer(seq_nr k);
/* Pornete un ceas auxiliar i activeaz evenimentul ack_timeout */.
void start_ack_timer(void);
/* Oprete ceasul auxiliar i dezactiveaz evenimentul ack_timeout */
void stop_ack_timer(void);
/* Permite nivelului reea s provoace un eveniment network_layer_ready */
void enable_network_layer(void);
/* Interzice nivelului reea generarea unui eveniment network_layer_ready */
void disable_network_layer(void);
/* Macroinstruciunea inc este expandat n-line: l incrementeaz circular pe k */
#define inc(k) if (k ( MAXJEQ) k = k + 1; else k = 0

Fig. 3-8. Cteva definiii necesare n protocoalele care urmeaz.


Aceste definiii se gsesc n fiierulprotocol.h.

Declaraiile din Fig. 3-8 fac parte din fiecare dintre protocoalele care urmeaz. Pentru a
economisi spaiu i pentru a furniza referine convenabile, acestea au fost extrase i listate
mpreun, dar din punct de vedere conceptual ele trebuie incluse n protocoalele respective. n
C, aceasta se realizeaz punnd definiiile ntr-un fiier antet special, n acest caz protocol.h, i
utiliznd facilitatea #include a preprocesorului C pentru a le include n fiierele protocol.

3.3.1 Un protocol simplex fr restricii

Ca un prim exemplu vom considera cel mai simplu protocol posibil. Datele sunt transmise ntr-o
singur direcie. Cele dou niveluri reea, de transmisie i de recepie, sunt considerate tot timpul
pregtite. Timpul de prelucrare poate fi ignorat. Memoria de stocare disponibil este infinit. i, cel
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 181

mai bun lucru dintre toate, canalul de comunicaie ntre niveluri legtur de date nu pierde i nu
altereaz niciodat cadrele. Acest protocol total nerealist, pe care l vom numi "utopia", este
prezentat n Fig. 3 - 9;

/* Protocolul 1 (utopia) asigur transmitere de date doar ntr-o direcie, de la


transmitor la receptor. Canalul de comunicaie se presupune a fi fr erori, iar despre
receptor se presupune c este capabil s prelucreze infinit de repede tot ce primete de
la intrare. Deci, transmitorul nu face dect s stea ntr-o bucl, pompnd date pe
linie ct de repede poate */

typedef enum {frame_arrival} event_type;


#include protocol.h"
void senderl(void)

frame s; /* tampon pentru cadrul transmis */


packet buffer; /* tampon pentru pachetul transmis */

while (true) {
from_network_layer(&buffer) * preia ceva de transmis */
s.info = buffer; /* l copiaz n s pentru transmitere */
to_physical_layer(&s); /* l trimite pe traseu */
/* Tomorrow, and tomorrow, and tomorrow
Creeps n this petty pace from day to day
To the last syllable of recorded time
- Macbeth, V, v */

void receiverl(void)
C
frame r;
event_type event; /* completat de rutina wait, dar neutilizat aici */
while (true) {
wait_for_event(&event); /* singura posibilitate este sosirea unui cadru */
from_physical_layer(&r); /* preia cadrul sosit */
to_network_layer(&r.info); /* pred datele nivelului reea */

Fig. 3-9. Un protocol simplex fr restricii.

Protocolul const din dou proceduri distincte, una de emisie i cealalt de recepie. Emitorul
lucreaz la nivelul legtur de date al mainii surs, iar receptorul la nivelul legtur de date al
mainii de destinaie. Nu.se folosesc nici numere de secven, nici confirmri, aa c nu este nevoie
de MAXjSECV. Singurul eveniment posibil GSteframejirrival (sosirea unui cadru nealterat).
Emitorul este ntr-un ciclu infinit care doar pompeaz datele pe linie ct poate de repede.
Ciclul const din trei aciuni: preluarea unui pachet de date de la nivelul reea (care este ntotdeauna
serviabil), construirea unui cadru de ieire folosind variabila s i trimiterea cadrului pe drumul su.
Acest protocol utilizeaz numai cmpul info al cadrului, deoarece celelalte cmpuri se refer la erori
i secvene de control, iar n cazul nostru nu exist erori sau restricii de control.
182 .NIVELUL LEGTUR DE DATE- CAP.3

Receptorul este la fel de simplu. Iniial el ateapt s se ntmple ceva, singura posibilitate fiind
sosirea unui cadru nealterat. n cele din urm, cadrul ajunge, iar procedura waitjorjvent se
ntoarce cu event setat \afmme_arrival (care este oricum ignorat). Apelul rutinei from_physical_layer
mut cadrul nou sosit din zona tampon a echipamentului n variabila /*. n cele din urm pachetul de
date este trimis nivelului reea i nivelul legtur de date revine la starea de ateptare a cadrului
urmtor, autosuspendndu-se pur i simplu pn la sosirea unui nou cadru.

3.3.2 Un protocol simplu Stop-and-Wait (pas-cu-pas)

Acum vom renuna la cea mai nerealist restricie utilizat n protocolul 1: posibilitatea ca nivelul'
reea receptor s prelucreze datele de intrare cu vitez infinit (sau echivalent, prezena n nivelul
legturii de date receptor a unui tampon infinit n care s fie memorate, ct timp i ateapt rndul,
toate cadrele sosite). Totui, se presupune n continuare c nu se produc erori pe canalul de
comunicaie i c traficul de date este nc simplex.
Principala problem pe care trebuie s o rezolvm aici este cum s evitm ca emitorul s
inunde receptorul cu date care sosesc mai rapid dect poate acesta s prelucreze. n esen, dac
receptorul are nevoie de un timp At ca s execute fromjphysicaljayer i tojietworkjayer, atunci
emitorul trebuie' s transmit la o vitez medie mai mic de un cadru la fiecare interval de timp de
At. Mai mult, dac presupunem c echipamentul receptor nu realizeaz automat memorarea n zona
tampon i gestiunea cozii de ateptare, atunci emitorul nu trebuie s transmit niciodat un nou
cadru pn cnd cel vechi nu a fost preluat de rutina fivm_physical_layer, ca nu cumva cel nou s se
scrie peste cel vechi.
n anumite situaii speciale (de exemplu, transmisie sincron i un nivel legtur de date receptor
complet dedicat prelucrrii unei singure linii de intrare) s-ar putea ntmpla ca emitorul s
introduc pur i simplu o ntrziere n protocolul 1, pentru a-1 ncetini suficient, astfel nct s se evite
inundarea receptorului. Totui, uzual, fiecare nivel legtur de date va avea mai multe linii de luat n
considerare i intervalul de timp ntre sosirea unui cadru i nceputul prelucrrii sale poate varia
considerabil. Dac cei ce proiecteaz reele pot calcula comportamentul receptorului n cazul cel
mai defavorabil, atunci pot programa emitorul s transmit att de ncet, nct, chiar dac fiecare
cadru va suferi ntrzierea maxim, nu vor exista depiri. Problema cu aceast abordare este aceea
c este prea conservatoare. Ea conduce la o utilizare a lrgimii de band care este cu mult sub optim,
cu excepia situaiei n care cazurile cel mai favorabil i cel mai defavorabil sunt aproape la fel (adic,
variaia timpului de reacie al nivelului legtur de date este mic).
O soluie mult mai general a acestei dileme este ca receptorul s furnizeze o reacie ctre
emitor. Dup trimiterea unui pachet ctre nivelul su reea, receptorul trimite un mic cadru fictiv
ctre emitor care, de fapt, i d emitorului permisiunea s transmit urmtorul cadru. Dup ce a
transmis un cadru, emitorul este obligat de protocol s intre n ateptare un timp, pn cnd
sosete micul cadru fictiv (deci confirmarea).
Protocoalele n care emitorul trimite un cadru i apoi, nainte de a continua, ateapt o
confirmare, se numesc stop-and-wait (pas-cu-pas). Fig. 3-10 prezint un exemplu de protocol
simplex stop-and-wait.
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU IEGTURA DE DATE 183

/* Protocolul 2 (stop-and-wait) asigur la rndul su un flux de date unidirecional, de


la emitor la receptor. Despre canalul de comunicaie se presupune din nou c este fr
erori, ca i n protocolul 1. Totui, de data aceasta, receptorul are doar un tampon de
capacitate limitat i o vitez de prelucrare finit, aa c protocolul trebuie s
mpiedice n mod explicit emi-torul s inunde receptorul cu date mai repede dect le
poate trata acesta. */
typedef enum {frame_arrival} event_type;
#include protocol.h"
void sender2(void)
{
frame s; /* tampon pentru cadrul trimis */
packet buffer; /* tampon pentru pachetul trimis */
event_type event; /* singura posibilitate este sosirea unui cadru */

while (true) {
from_network_layer(&buffer); /* preia ceva de trarvsmis */
s.info = buffer; /* l copiaz n s pentru transmitere */
to_physicaljayer(&s); /* pa pa micu cadru */
wait_for_event(&event); /* nu continu pn nu primete semnalul */

void receiver2(void)
{
frame r, s; /* zone tampon pentru cadre */
event_type event; /* singura posibilitate este sosirea unui cadru */
while (true) {
wait_for_event(&event); /* singura posibilitate este sosirea unui cadru */
from_physical_layer(&r); /* preia cadrul sosit */
to_network_layer(&r.info); /* livreaz datele nivelului reea */
to_physical_Iayer(&s); /* trimite un cadru fictiv pentru a trezi emitorul */

Fig. 3-10. Un protocol simplex stop-and-wait.

Ca i n protocolul 1, emitorul ncepe prin preluarea unui pachet de la nivelul reea, utilizarea
lui pentru construirea unui cadru i trimiterea acestuia. Numai c acum, spre deosebire de
protocolul 1, emitorul trebuie s atepte pn cnd sosete un cadru de confirmare, nainte de a
relua ciclul i a prelua urmtorul pachet de la nivelul reea. Nivelul legtur de date care transmite
nu are nevoie s inspecteze cadrul care sosete: nu exist dect o singur posibilitate.
Singura diferen dintre receiverl i receiver2 este aceea c dup transmiterea unui pachet ctre
nivelul reea, receiverl trimite un cadru de confirmare napoi la emitor, nainte de a intra din nou n
bucla de ateptare. Deoarece numai sosirea cadrului de ntoarcere la emitor este important, nu i
coninutul lui, receptorul nu trebuie s pun nici o informaie particular n el.
Chiar dac traficul de date este simplex, mergnd numai de la emitor la receptor, cadrele se
deplaseaz n ambele direcii. n consecin, canalul de comunicaie dintre cele dou niveluri legtur
de date trebuie s permit transferul de informaie bidirecional. Totui, acest protocol impune o
184 NIVELUL LEGTURA DE DATE CAP. 3

alternan strict a fluxului: mai nti emitorul trimite un cadru, apoi receptorul trimite un alt cadru,
apoi emitorul trimite alt cadru .a.m.d. n acest caz este suficient un canal fizic semiduplex.

3.3.3 Un protocol simplex pentru un canal cu zgomote

S considerm situaia normal a unui canal de comunicaie care produce erori. Cadrele pot fi
fie modificate, fie complet pierdute. Totui, presupunem c dac un cadru a fost modificat n tranzit,
echipamentul receptor va detecta acest lucru atunci cnd calculeaz suma de control. Dac un cadru
este modificat ntr-un asemenea mod, nct suma de control este totui corect, situaie care este
foarte puin probabil, acest protocol (i toate celelate protocoale) pot eua (adic, trimit un pachet
incorect ctre nivelul reea).
La prima vedere s-ar prea c o variant a protocolului 2 va funciona: adugarea unui contor de
timp (ceas). Emitorul poate trimite un cadru, dar receptorul va trimite un cadru de confirmare
numai dac informaia a fost recepionat corect. Dac la receptor ajunge un cadru modificat, el va
fi eliminat. Dup un timp, emitorul va iei din ateptare i va retrimite cadrul. Acest proces va fi
repetat pn cnd cadrul va ajunge n final intact.
Schema de mai sus conine o eroare fatal. Gndii-v la problem i ncercai s descoperii ceea
ce este greit nainte s citii mai departe.
Pentru a vedea ceea ce poate merge ru, amintii-v care este sarcina proceselor nivelului
legtur de date - aceea de a asigura comunicaie fr erori, transparent ntre procesele nivelului
reea. Nivelul reea de pe mainal d o serie de pachete nivelului su legtur de date, care trebuie
s asigure o serie identic de pachete nivelului reea de pe maina B prin nivelul su legtur de
date. n particular, nivelul reea de pe B nu are nici o posibilitate s tie c un pachet a fost pierdut
sau duplicat, aa c nivelul legtur de date trebuie s garanteze c nici o combinaie de erori de
transmisie, indiferent ct de puin probabile, nu poate produce un pachet duplicat care s fie
transmis nivelului reea.
S considerm urmtorul scenariu:

1. Nivelul reea de pe A trimite pachetul 1 ctre nivelul su legtur de date. Pachetul este
corect recepionat de B i este trimis nivelului reea de pe B. B trimite un cadru de
confirmare napoi lui A
2. Cadrul de confirmare s-a pierdut complet. El nu va mai ajunge deloc. Viaa ar fi cu mult mai
simpl n cazul n care canalul ar altera sau pierde doar cadre de date, nu i cadre de control,
dar, din nefericire, canalul nu face discriminri.
3. Nivelul de legtur de date de pe A ateapt expirarea timpului limit. Nerecepionnd o
confirmare, el presupune (incorect) c acel cadru de date a fost modificat sau pierdut i
trimite nc o dat cadrul coninnd pachetul 1.
4. Cadrul duplicat ajunge i el cu bine la nivelul legtur de date B i este trimis nivelului reea de
acolo. Dac A trimite un fiier lui B, o poriune de fiier va fi duplicat (adic, copia fiierului
fcut de B va fi incorect i eroarea nu va fi detectat). Cu alte cuvinte, protocolul va eua.

n mod clar, este necesar o soluie ca receptorul s poat distinge un cadru pe care l vede
pentru prima dat de o retransmisie. Soluia evident este aceea ca emitorul s pun un
numr de secven n antetul fiecrui cadru pe care l trimite. Apoi receptorul poate verifica
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 185

numrul de secven al fiecrui cadru sosit pentru a vedea dac este un cadru nou sau un
duplicat ce trebuie eliminat. . ' - .

/* Protocolul 3 (par) permite un flux de date unidirecional, printr-un canal nesigur. */


#define MAX_SEQ 1 /* trebuie s fie 1 pentru protocolul 3 */
typedef enum {frame_arrival, cksum_err, timeout} event_type;
finclude protocol.h" -
void sender3(void)

eqjrr next_frame_to_send; /* numrul de secven al urmtorului cadru trimis */


frame s; /* variabil temporar */
packet buffer; /* tampon pentru pachetul transmis */
event_type event;
next_frame_to_send = 0; /* iniializeaz numerele, de secven de ieire */
fromjietworkjayer(&buffer); /* preia primul pachet */
while (true) {
s.info = buffer; /* construiete un cadru pentru transmitere */
s.seq = next_frame_to_send; /* insereaz n cadru un numr de secven */
to_physi cal_l ayer(&s); /* l trimite pe traseu */
start_timer(s.seq); /* dac rspunsul ntrzie prea mult, timpul va expira */
wait_for_event(&event); /* frame_arrival, cksum_err, timeout */
if (event == frame_arrival) {
from_network_layer(&buffer); /* preia urmtorul pachet de transmis */
inc(next frame to send); /* inverseaz next_frame_to_send */

void receiver3(void)
{-
seq_nr frame_expected;
frame r, s;
event_type event;
frame_expected = 0;
while (true) {
wai t_for_event(&event); /* variante: frame_arrival, cksum_err */
if (event == frame_arrival) { /* a sosit un cadru corect */
from_physical_layer((r); /* preia cadrul nou sosit */
if (r.seq == frame_expected) { /* este cel pe care l ateptam V
to_network_layer((r.info); /* transfer datele nivelului reea */
i ne(frame_expected); /* incrementeaz numr de secven */

}
to_physi cal_layer(&s); /* nici unul dintre cmpuri nu este utilizat */

Fig. 3-11. Un protocol cu confirmare pozitiv i retransmitere.


NIVELUL LEGTUR DE DATE CAP. 3;

Deoarece este de dorit ca un antet de cadru s nV de dimensiune* mic, se piine ntrebarea


urmtoare: care este numrul minim de bii necesari pentru numrul de secven? Singura
ambiguitate n acest protocol este ntre un cadru m i succesorul su m+1. n cazul n care cadrul m
este pierdut sau modificat, receptorul nu l va confirma, aa nct emitorul va ncerca s-1
retransmit. Odat ce a;fost corect recepionat, receptorul va trimite o confirmare napoi la
emitor. Aici este punctul n care putem s avem necazuri. Dup cum cadrul de confirmare ajunge
sau nu corect napoi la emitor, emitorul va ncerca s transmit m sau m+1.
Evenimentul care determin emitorul s nceap transmiterea lui m+2 este sosirea unei
confirmri pentru m+1. Dar aceasta presupune c m a fost recepionat corect i, mai mult,
confirmarea a fost de asemenea corect recepionat de emitor (altfel emitorul nu ar fi trimis
m+1, ca s nu mai vorbim de m+2 ). n consecin, singura ambiguitate este ntre un cadru i
predecesorul sau succesorul su imediat, nu ntre ultimii doi.
Este deci suficient un numr de secven de 1 bit (0 sau 1). La fiecare moment de timp,
receptorul ateapt un anumit numr de secven. Orice cadru sosit, care conine un numr de
secven greit este rejectat ca duplicat. Atunci cnd sosete un cadru cu numr de secven corect,
acesta este acceptat, transmis nivelului reea i numrul de secven ateptat este incrementat
modulo 2 (adic, 0 devine 1 i 1 devine 0).
Un exemplu de astfel de protocol este prezentat n Fig. 3-11. Protocoalele n care emitorul
ateapt pentru o confirmare pozitiv naintea de a trece la urmtorul element de date se numesc
deseori PAR (Positive Acknowledgement with Retransmision - confirmare pozitiv cu
retransmitere) sau ARQ (Automatic Repeat reQuest - cerere automat de repetare). Asemenea
protocolului 2, i acesta transmite datele ntr-o singur direcie. Chiar dac poate gestiona cadre
pierdute (prin expirarea timpului), necesit o perioad de timeout care s fie suficient de lung
pentru a preveni expirri premature. Dac timpul emitorului expir prea repede, n timp ce
confirmarea este nc pe drum, acesta va trimite un duplicat.
Atunci cnd, n cele din urm, ajunge i confirmarea, emitorul va considera, n mod greit, c
cel confirmat este cadrul pe care tocmai 1-a trimis i nu i va da seama c este probabil ca un alt
cadru de confirmare s se afle undeva pe drum. Dac urmtorul cadru transmis este complet
pierdut, dar confirmarea suplimentar ajunge corect, emitorul nu va ncerca s retransmit cadrul
pierdut i protocolul va eua. n protocoalele urmtoare, cadrele de confirmare vor conine
informaii care s previn tocmai acest gen de probleme. Pentru moment, cadrele de confirmare vor
fi doar fictive i vom presupune o alternan strict a emitorului i receptorului.
Protocolul 3 se deosebete de predecesorii si prin aceea c i emitorul i receptorul au o
variabil a crei valoare este pstrat ct timp nivelul legtur de date este n starea de ateptare.
Emitorul pstreaz numrul de secven al urmtorului cadru de transmis n nextjramejojend;
receptorul pstreaz numrul de secven al urmtorului cadru ateptat \nframe_expected. Fiecare
protocol are o scurt faz d8 Iniializare nainte de a intra n bucla infinit.
Dup transmiterea unui cadru, emitorul declaneaz contorul de timp. Dac acesta era deja
pornit, atunci va fi resetat pentru un nou interval complet. Intervalul de timp trebuie s fie ales
astfel, nct s permit sosirea cadrului la receptor, prelucrarea sa de ctre receptor, chiar i n cazul
cel mai defavorabil, i propagarea cadrului de confirmare napoi la emitor. Numai atunci cnd a
expirat acest interval de timp putem s spunem cu siguran c s-a pierdut fie cadrul transmis, fie
confirmarea sa i se poate trimite un duplicat.
SEC. 3.4 PROTOCOALE CU FEREASTR GLISANT 187

Dup transmiterea unui cadru i pornirea contorului de timp, emitorul ateapt s se ntmple
ceva interesant. Exist trei posibiliti: un cadru de confirmare ajunge .nemodificat, sosete un cadru
de confirmare modificat sau expir timpul. Dac sosete o confirmare valid, atunci emitorul preia
urmtorul pachet de la nivelul reea i l pune n tampon, scriind peste pachetul anterior. De
asemenea avanseaz numrul de secven. Dac sosete un cadru modificat sau nu sosete nici un
cadru, nu se modific nici tamponul i nici numrul de secven, aa c va fi transmis un duplicat.
Atunci cnd la receptor sosete un cadru corect, este verificat numrul de secven, pentru
a vedea dac nu cumva este un duplicat. Dac nu, este acceptat, transmis nivelului reea i este
generat o confirmare. Cadrele duplicate i cele modificate nu sunt trimise ctre nivelul reea.

3.4 PROTOCOALE CU FEREASTR GLISANT

n protocoalele anterioare, cadrele cu date erau transmise ntr-o singur direcie. n cele mai
multe situaii practice, este necesar s se transmit date n ambele direcii. O modalitate de a realiza
transmisia de date fuU-duplex este de a avea dou canale de comunicaie separate fiecare dintre ele
fiind utilizat pentru traficul de date simplex (n direcii diferite). Dac se face aceasta, vom avea dou
circuite fizice separate, fiecare cu un canal "direct" (forward) pentru date i un canal "invers"
(reverse) pentru confirmri. n ambele cazuri lrgimea de band a canalului invers este irosit
aproape n totalitate. Ca efect, utilizatorul pltete pentru dou circuite care utilizeaz doar
capacitatea unuia.
O idee mai bun este s se utilizeze acelai circuit pentru date n ambele direcii. n protocoalele 2
i 3 a fost deja utilizat transmiterea cadrelor n ambele sensuri i canalul invers are aceeai capacitate
ca i canalul direct. n acest model cadrele cu date de hA la B sunt mixate cu cadrele de confirmare
de la A la B. Uitndu-se la cmpul Jdnd din antetul cadrului ce a sosit, receptorul poate spune dac
este vorba de un cadru de date sau de confirmare.
Cu toate c ntreptrunderea cadrelor de date i control pe acelai circuit constituie o
mbuntire fa de cazul utilizrii a dou circuite fizice separate, este posibil nc o mbuntire.
Atunci cnd sosete un cadru cu date, n locul emiterii imediate a unui cadru de control separat,
receptorul st i ateapt pn cnd nivelul reea i d urmtorul pachet. Confirmarea este ataat
cadrului cu date de ieire (utiliznd cmpul ack din antetul cadrului). De fapt, confirmarea este
transportat pe gratis de ctre urmtorul cadru cu date de ieire. Tehnica ntrzierii confirmrii,
astfel nct s poat fi agat de urmtorul cadru de date, este cunoscut ca ataare (piggybacking).
Principalul avantaj al utilizrii tehnicii de ataare n comparaie cu utilizarea cadrelor de
confirmare distincte este o mai bun utilizare a lrgimii de band disponibile. Cmpul ack din
antetul cadrului ocup doar civa bii, n timp ce un cadru separat va necesita un antet, confirmarea
i o sum de control. n plus, mai puine cadre transmise nseamn mai puine ntreruperi datorate
"sosirii cadrelor" i probabil mai puine zone tampon n receptor, n funcie de modul n care sunt
organizate programele receptorului. n urmtorul protocol ce va fi examinat, cmpul de ataare
ocup doar un bit n antetul cadrului. Arareori ocup mai mult de civa bii.
Totui, tehnica de ataare introduce o complicaie care nu era prezent n cazul
confirmrilor separate. Ct timp trebuie s atepte nivelul legtur pachetul pe care s ataeze
confirmarea? Dac nivelul legtur de date ateapt mai mult timp dect perioada de timeout
a emitorului, cadrul va fi retransmis, anulnd complet rolul confirmrilor. Dac nivelul
legtur de date ar fi.un oracol i ar putea prezice viitorul, ar putea ti cnd va sosi urmtorul
188 NIVELUL LEGTURA DE DATE CAP.1

pachet de la nivelul reea i ar putea decide dac s l atepte sau s trimit imediat o *-*
confirmare separat, n funcie de ct de lung urmeaz s fie ateptarea. Desigur, nivelul -
legtur de date nu poate prezice viitorul, aa c trebuie s recurgem la cteva scheme ad-hoc, -
cum ar fi ateptarea, pentru un numr fixat de milisecunde. Dac un nou pachet sosete mai
repede, confirmarea este adugat n el, altfel, dac pn la sfritul acestei perioade de timp
nu a sosit un nou pachet, nivelul legtur de date trimite un cadru de confirmare separat.
n afara faptului c este numai simplex, protocolul 3 poate eua n anumite condiii
speciale, ce implic -o expirare prematur a timpului. Ar fi bine s avem un protocol care
rmne sincronizat n faa oricrei combinaii de cadre deformate, cadre pierdute i expirri
premature ale timpului. Urmtoarele trei protocoale sunt mai robuste i continu s
funcioneze chiar n condiii patologice. Toate trei aparin unei clase de protocoale numite
protocoale cu fereastr glisant (sliding window). Cele trei difer ntre ele n termeni de
eficien, complexitate i necesar de tampoane, aa cum vom vedea mai trziu.
n toate protocoalele cu fereastr glisant, fiecare cadru expediat conine un numr de secven
cuprins ntre 0 i o valoare maxim. Maximul este de obicei 2n -l, aa c numrul de secven se
ncadreaz foarte bine ntr-un cmp de n bii. Protocoalele cu fereastr glisant stop-and-wait
utilizeaz n=l, restricionnd numerele de secven la 0 i 1, dar versiuni mai sofisticate pot utiliza o
valoare arbitrar a lui n.
Esena protocoalelor cu fereastr glisant este aceea c, la orice moment de timp,
emitorul menine o mulime de numere de secven care corespund cadrelor pe care are
permisiunea s le trimit. Se spune c aceste cadre aparin ferestrei de transmisie (sending
window). Similar, receptorul menine de asemenea o fereastr de recepie (receiving window),
ce corespunde mulimii de cadre care pot fi acceptate. Fereastra emitorului i fereastra
receptorului nu trebuie s aib aceleai limite minime i maxime i nici mcar aceeai
dimensiune. n unele protocoale ele au dimensiune fix, dar n altele ele pot crete sau scdea
pe msur ce cadrele sunt emise sau recepionate.
Chiar dac aceste protocoale dau nivelului legtur de date mai mult independen n
ceea ce privete ordinea n care poate primi sau recepiona cadre, nu am renunat la cerina ca
protocolul s livreze pachetele la nivelul reea destinaie n aceeai ordine n care acestea sunt
trimise ctre nivelul legtur de date de pe maina emitoare. Nu am modificat nici condiia
impus canalului fizic de comunicaie, care trebuie s se comporte "ca un fir", adic trebuie s
trimit toate cadrele n ordinea emiterii.
Numerele de secven din cadrul ferestrei emitorului reprezint cadre transmise dar nc
neconfirmate. De fiecare dat cnd de la nivelul reea sosete un nou pachet, acestuia i este atribuit
urmtorul numr de secven, iar marginea superioar a ferestrei este avansat cu unu. Atunci cnd
sosete o confirmare, crete cu unu limita inferioar a ferestrei. n acest mod, fereastra menine
continuu o list de cadre neconfirmate.
Deoarece cadrele din fereastra curent a emitorului pot fi pierdute sau modificate pe traseu,
emitorul trebuie s pstreze toate aceste cadre n memoria sa pentru o posibil retransmisie.
Astfel, dac dimensiunea maxim a ferestrei este n, emitorul are nevoie de n tampoane pentru a
pstra cadrele neconfirmate. Dac fereastra crete la dimensiunea maxim, nivelul legtur de date
al emitorului trebuie s foreze nchiderea nivelului reea pn cnd se elibereaz un tampon.
Fereastra nivelului legtur de date receptor corespunde cadrelor pe care acesta le poate
accepta. Orice cadru din afara ferestrei este eliminat fr comentarii. Atunci cnd este recepionat
SEC. 3.4 PROTOCOALE CU FEREASTRA GLISANT

$n cadru al crui numr de ejyen este egal cu marginea inferioar a ferestrei, acesta este trimis
nivelului reea, este generat o confirmare i fereastra se deplaseaz cu o unitate. Spre deosebire de
fereastra emitorului, fereastra receptorului rmne ntotdeauna la dimensiunea iniial. De notat
c o fereastr de dimensiune 1 nseamn c nivelul legtur de date accept numai cadre ordonate,
dar pentru ferestre mari afirmaia nu mai este valabil. In contrast, nivelul reea este alimentat
ntotdeauna cu date n ordine corect, indiferent de dimensiunea ferestrei nivelului legtur de date.

Emitor
7 , 0

5V \/2 5 V V 2 5V V 2 5V V 2
4 3 4 3 4 3 4 3

feceptor

(a) (b) (c) (d)

Fig. 3-12. O fereastr glisant de dimensiune 1, cu numr de secven de 3 bii.


(a) Iniial, (b) Dup ce a fost transmis primul cadru. (c) Dup ce a fost recepionat primul
cadru, (d) Dup ce a fost recepionat prima confirmare.

Fig. 3-12 prezint un exemplu cu o fereastr de dimensiune maxim 1. Iniial, nu sunt emise
cadre, aa c marginile inferioar i superioar ale ferestrei emitorului sunt egale, dar odat cu
trecerea timpului, situaia evolueaz ca n figur.

3.4.1 Un protocol cu fereastr glisant de un bit

nainte de a analiza cazul general, s examinm mai nti un protocol cu fereastr glisant avnd
dimensiunea maxim a ferestrei 1. Un astfel de protocol utilizeaz metoda stop-and-wait, deoarece
emitorul transmite un cadru i ateapt confirmarea sa naintea transmiterii urmtorului cadru.
Fig. 3-13 prezint un astfel de protocol. Ca i alte protocoale, acesta ncepe prin definirea
unor variabile. Nextjramejojend spune ce cadru ncearc s transmit emitorul. Similar,
frame_expected spune ce cadru este ateptat de receptor. n ambele cazuri singurele posibiliti
sunt 0 i 1.
' n mod normal, unul dintre cele dou niveluri legtur de date pornete primul. Cu alte cuvinte,
numai unul din programele nivelului legtur de date va conine apelurile procedurilor
to_physicaljayer i start Jimer n afara buclei principale. n eventualitatea c ambele niveluri legtur
190 NIVELUL LEGTUR DE DATE CAP. 3

de date pornesc simultan, apare o situaie special, care va fi discutat mai trziu. Maina care
pornete prima preia primul pachet de la nivelul reea propriu, construiete din el un cadru i fl
trimite. Cnd acest cadru (sau oricare altul) sosete, nivelul legtur de date receptor verific dac
nu cumva este un duplicat, exact ca n protocolul 3. Dac respectivul cadru este cel ateptat, atunci
este trimis nivelului reea i fereastra receptorului este deplasat.

/* Protocolul 4 (fereastr glisant) este bidirecional i mai robust dect protocolul 3 */


#define MAX_SEQ 1 /* pentru protocolul 4 trebuie s fie 1 */
typedef enum {frame_arrival, cksum_err, timeout} event_type;
#include protocol.h"
void protocol4(void)

seq_nr next_frame_to_send; /* doar 0 sau 1 */


seq_nr frame_expected; /* doar 0 sau 1 */
frame r, s; /* variabile temporare */
packet buffer; /* pachetul curent, care este transmis */
event_type event;
next_frame to_send = 0; /* urmtorul cadru pe fluxul de ieire */
frame_expected = 0; /* numrul de secven al cadrului ateptat */
from_network_layer(&buffer); /* preia un pachet de la nivelul reea */
s.info = buffer; /* pregtete trimiterea cadrului iniial */
s.seq = next_frame_to_send; /* insereaz n cadru numrul de secven */
s.ack = 1 - frame_expected; /* confirmare ataat */
to_physica1 layer(&s); /* transmite cadrul */
start_timer(s.seq); /* pornete ceasul */
while (true) {
wait_for_event(&event).; /* frame_arrival, cksum_err sau timeout */
if (event == frame_arrival) { /* un cadru a ajuns nedeformat */
from_physical_layer(&r); /* preia cadrul */
if (r.seq == frame_expected) { /* trateaz fluxul de cadre sosite */
to_network_layer(&r.info); /* pred pachetul nivelului reea */
inc(frame_expected); /* inverseaz numrul de secven ateptat */
}
if (r.ack == next_frame_to_send) { /* trateaz fluxul de cadre de ieire */
from_network_layer(&buffer); /* preia un nou pachet de la nivelul reea */
inc(next_frame_to_send); /*inverseaz numrul de secven al emitorului */

s.info = buffer; /* construiete cadrul care iese */


s.seq = next_frame_to_send; /* insereaz un numr de secven */
s.acfe = 1 - frame_expected; numrul de secven al ultimului cadru primit */
to_physical_layer(&s); /* transmite un cadru */
start_timer(s.seq); /* pornete ceasul */

Fig. 3-13.Un protocol cu fereastr glisant de 1 bit.


SEC. 3.4 PROTOCOALE CU FEREASTRA GLISANTA

*. .-Cmpii de confirmare conine numrul ultimului cadru recpfiqna ff^froare. Pac- acest
numr.corespunde cu numrul de secven al cadrului pe care emitorul ncearc s-1 transmit,
emitorul tie c a terminat cu cadrul memorat n tampon i poate prelua; urmtorul pachet de la
nivelul su reea. Dac numrul de secven nu corespunde, el trebuie s continue s trimit acelai
cadru. De fiecare dat cnd este recepionat un cadru, un alt cadru este trimis de asemenea napoi.
S examinm acum ct de fiabil este protocolul 4 la condiiile limit. S presupunem c A
ncearc s trimit cadrul 0 lui B i B ncearc s trimit cadrul su 0 lui A. S presupunem c A
trimite un cadru lui B, dar timpul de expirare al lui A este puin prea scurt. n consecin, datorit
expirrii repetate a timpului, A va trimite o serie de eadre identice, toate cu seq=Qiack'!rl.
.. ; Atunci cnd la B sosete primul cadru corect, el va fi acceptat i frarm_expectedva. fi setat la 1.
Toate cadrele Urmtoare vor fi rejectate, deoarece B ateapt cadre cu numrul de. secven 1, nu 0.
Mai mult, deoarece toate duplicatele au ack=l i B este n ateptarea confirmrii lui 0, B nu va
prelua un nou pachet de la nivelul su reea. . ,
Dup sosirea fiecrui duplicat rejeetat, B trimite lui A un cadru coninnd seq=0 i ack-=0. n
cele din urm, unul dintre acestea sosete corect I a 4 facndu-1 pev4 s nceap s trimiti urmtorul
pachet. Nici o combinaie de cadre pierdute sau de intervale de ceas reduse nu poate face ca
protocolul s furnizeze pachete duplicate ctre vreunul dintre nivelurile reea sau s sar un pachet
sau s se blocheze.

A trimite (0,1,A0)- A trimite (0,1, A0) B primete (0,1, B0>


B primete (0,1, A0)* B primete (0,1,A0)*
B trimite (0,0, B0) B trimite (0,0, B0)
A primete {0,0, B0>* A primete (0,1, B0)*
A trimite (1,0, A1)-_ A trimite (0,0, A0)
B primete (1,0, AU*
B trimite (1,1, B1) B primete (0,0, A0)
A primete (1,1, BU* B trimite (1,0,81)
A trimite (0,1, A2) A primete (0,0, B0)
B primete (0, , A2)* A trimite (1,0, AU
B trimite (0,0, B2) B primete (1,0, AU*
A primete (0,0, B2)*' B trimite (1,1, B1)
Atrimite(1,0,A3)-
B primete (1,0, A3)* A primete (1,0, Bl)*
B trimite (1,1, B3) A trimite (1,1, Al)
B primete (1,1,A1)
B trimite (0,1, B2)

Timp
(a) (b)
Fig. 3-14. Dou scenarii pentru protocolul 4. Notaia este (seq, ack, packet number).
Un asterisc arat c nivelul reea accept, un pachet.

Totui, dac ambele pri trimit simultan un pachet iniial, atunci apare o situaie special.
Aceast dificultate de sincronizare este ilustrat de Fig. 3-14. n partea (a) este prezentat
funcionarea normal a protocolului. n (b) este ilustrat situaia special. Dac B ateapt primul
cadru de la A nainte de a-1 trimite pe al su, secvena de aciuni este cea artat n (a) i fiecare
cadru este acceptat. Totui, dac A i B iniiaz comunicaia, simultan, primele lor cadre se
ncrucieaz i nivelurile legtur de date ajung n situaia (b). n (a) fiecare sosire de cadru aduce- un
nou pachet pentru nivelul reea; nu exist duplicate. n (b) jumtate din cadre conin duplicate, chiar
192 NIVELUL LEGTUR DE DATE CAP. 3

dac nu exist erori de transmisie. Situaii similare pot s apar ca rezultat al expirrii premature a
timpului, chiar dac una dintre pri ncepe prima. De fapt, dac intervin mai multe expirri
premature, atunci cadrele pot fi trimise de trei sau mai multe ori.

3.42 Un protocol de revenire cu n pai (GoBackn)

Pn acum am fcut o presupunere tacit c timpul de transmisie necesar pentru ca un


cadru s ajung la receptor plus timpul de transmisie a confirmrii este neglijabil. Uneori
aceast presupunere este dar fals. n aceste situaii timpul mare de transfer poate avea
implicaii importante pentru eficiena utilizrii lrgimii de band. Ca exemplu, s considerm
un canal de satelit de 50 kbps cu timpul de ntrziere datorit propagrii de 500 milisecunde.
S ne imaginm c ncercm s utilizm protocolul 4 pentru a trimite cadre de 1000 de bii
prin satelit. La t = 0 emitorul ncepe s emit primul cadru. Considernd cele mai optimiste
condiii (fat ateptare la receptor i un cadru de confirmare scurt), cadrul nu poate ajunge n
totalitate la receptor nainte de t = 270 milisecunde, iar confirmarea nu poate ajunge napoi la
emitor nainte de t = 520 milisecunde. Aceasta nseamn c emitorul a fost blocat pentru
500/520 sau 96% din timp (adic a fost utilizat doar 4% din lrgimea de band). Evident,
combinaia dintre un timp de tranziie lung, lrgime de band mare i un cadru de lungime
mic este dezastruoas din punct de vedere al eficienei.
Problema descris anterior poate fi privit ca o consecin a regulii care cere ca un emitor s
atepte o confirmare naintea trimiterii unui alt cadru. Dac relaxm aceast restricie, poate fi
atins o eficien mult mai ridicat. Practic, soluia const n a permite emitorului s transmit
pn la w cadre, n loc de unul singur. Cu o alegere potrivit a lui w emitorul va putea s transmit
continuu cadre pentru un timp egal cu timpul de tranzit, fr a umple fereastra. n exemplul anterior
w va fi minim 26. Emitorul ncepe emiterea cadrului 0 ca mai nainte. n momentul n care se
termin trimiterea a 26 de cadre, la / = 520, va sosi i confirmarea pentru cadrul'0. Apoi,
confirmrile vor sosi la fiecare 20 milisecunde, aa nct emitorul primete ntotdeauna
permisiunea s continue exact atunci cnd dorete. n permanen exist 25 sau 26 cadre
neconfirmate. Cu alte cuvinte dimensiunea maxim a ferestrei emitorului este de 26.
Aceast tehnic este cunoscut ca band de asamblare (pipelining). Considernd capacitatea
canalului de b bii pe secund, dimensiunea cadrului de / bii i timpul de propagare dus-ntors R
secunde, timpul necesar pentru a transmite un singur cadru este l/b secunde. Dup ce a fost transmis
ultimul bit al unui cadru de date, apare o ntrziere de R/2 nainte ca biii s ajung la receptor i o
alt ntrziere de cel puin R/2 pentru sosirea confirmrii, rezultnd o ntrziere total de R. n cazul
protocoalelor stop-and-wat linia este ocupat pentru l/b i n ateptare pentru R, rezultnd o
utilizare a liniei de l/*(l+bR). Dac 1 < bR, eficiena va fi mai mic de 50%. Deoarece pn la
ntoarcerea confirmrii exist ntotdeauna o ntrziere nenul, n principiu poate fi folosit banda de
asamblare, pentru a ine linia ocupat tot acest interval, dar dac intervalul este mic, complexitatea
suplimentar face efortul inutil.
Utilizarea benzii de asamblare n cazul unui canal de comunicaie nesigur ridic probleme
serioase. Mai nti s vedem ce se ntmpl dac un cadru din mijlocul unui ir lung este modificat
sau pierdut. Numeroase cadre succesive vor ajunge la receptor nainte ca emitorul s observe c
ceva este greit. Atunci cnd un cadru modificat ajunge la receptor este evident c el trebuie
SEC. 3.4 PROTOCOALE.CU FEREASTR GLISANT 193

eliminat, dar ce trebuie s fac receptorul cu toate cadrele corecte care urmeaz? S reamintim c
nivelul legtur de date receptor este obligat s livreze pachete ctre nivelul reea n secven.

--Interval de expirare a timpuluf*-

2 3 4 5 6 7 8

Eroare Cadre eliminate de nivelul legtur de date

Timp-
(a)

Interval de expirare a timpului--

\\ \\ AX \X AX \X

J
\
Eroare Pstrate n zone tampon Pachetele 2-8 predate
de nivelul de legtur nivelului reea

Fig. 3-15. (a) Efectul unei erori cnd dimensiunea ferestrei receptoare este 1.
(b) Efectul unei erori cnd dimensiunea ferestrei receptorului este mare.

Exist dou moduri de baz de tratare a erorilor n prezena benzii de asamblare. Un mod,
numit revenire cu n pai (go back n), este ca receptorul s elimine pur i simplu cadrele care
urmeaz, netrimind confirmri pentru cadrele eliminate. Aceast strategie corespunde unei
ferestre de recepie de dimensiune 1. Cu alte cuvinte, nivelul legtur de date refuz s accepte orice
cadru exceptndu-1 pe urmtorul care trebuie livrat ctre nivelul reea. Dac fereastra emitorului
se umple naintea expirrii contorului de timp, banda de asamblare va ncepe s se goleasc. n cele
din urm, timpul emitorului va expira i se vor retransmite toate cadrele neconfirmate, n ordine,
ncepnd cu cadrul pierdut sau modificat. Dac rata erorilor este mare, aceast abordate, prezentat
n Fig. 3-15 (a), poate risipi o mare parte din lrgimea de band.
Cealalt strategie general de tratare a erorilor atunci cnd este folosit banda de asamblare,
numit repetare selectiv (selective repeat), este ca nivelul legtur de date receptor s memoreze
toate cadrele corecte care urmeaz dup cel incorect. Atunci cnd emitorul observ n cele din
urm c ceva este greit, el retransmite doar cadrul incorect, nu toate cadrele succesoare, ca n Fig.
3-15(b). Dac a doua ncercare reuete, nivelul legtur de date receptor va avea mai multe cadre
194 NIVELUL LEGTUR DE DATE CAP. 3

corecte n secven, aa nct toate acestea pot fi trimise rapid nivelului reea i poate fi confirmat
numrul maxim.
Aceast strategie corespunde unei ferestre a receptorului mai mare ca 1. Orice cadru din
interiorul ferestrei poate fi acceptat i memorat pn cnd toate cele precedente vor fi trimise
nivelului reea. Dac fereastra este mare, aceast abordare poate necesita un spaiu mare de
memorie pentru nivelul legtur de date.

/* Protocolul 5 (linie de asamblare) permite mai multe cadre n ateptare. Emitorul


poate trimite pn la MAX_SEQ cadre fr a atepta confirmare. n plus, spre deosebire de
protocoalele precedente, acesta nu presupune c nivelul reea ar avea tot timpul un nou
pachet.
n schimb, nivelul reea provoac un eveniment networkjayerjready atunci cnd are de
trimis un pachet */
#define MAXJEQ 7 /* trebuie s fie 2 A n - 1 */
typedef enum {frame_arrival, cksum_err, timeout, networkjayerjready} event_type;
#include "protocol.h"
static boolean between(seq_nr a, seq_nr b, seq nr c)
{
/* ntoarce adevrat dac a <= b < c n mod circular i fals n caz contrar */
if (((a <= b) && (b < c)) || ((c < a) && (a <= b)) ||'((b < c) && (c < a)))
return(true);
el se
return(false);
}
static void send_data(seq_nr framejir, seq nr frame_expected, packet buffer[])
/* construiete i trimite un cadru de date */
frame s; /* variabil temporar */
s.info = buffer[framejirj; /* insereaz pachetul n cadru */
s.seq = framejir; /* insereaz numrul de secven n cadru */
s.ack = (frame_expected + MAXJEQ) % (MAX_SEQ + 1); /* ataeaz confirmarea */
to_physical_layer(&s); /* transmite cadrul */
start_timer(frame_nr); /* pornete ceasul */

void protocol5(void)
{
seqjir next_frame_to_send; /* MAX_SEQ > 1; utilizat pentru fluxul de ieire */
seq_nr ack_expected; /* cel mai vechi cadru nc neconfirmat */
seq_nr frame expected; /* urmtorul cadru ateptat, din fluxul de intrare */
frame r; /* variabil auxiliar */
packet buffer[MAX_SEQ]; /* zone tampon pentru fluxul de ieire */
seq_nr nbuffered; /* numr de zone tampon de ieire utilizate n prezent */
seq_nr I; /* utilizat ca index n vectorul de zone tampon */
event_type event;
enable_network_layer(); /* permite evenimente networkjayer_ready */
ack_expected = 0; /* urmtoarea confirmare ateptat */
next frame to send = 0; /* urmtorul cadru transmis */
SEC. 3.4 PROTOCOALE CU FEREASTRA'GLISANT 195

. - frame_expected = 0; ,
: . =/* numrul cadnrlui ateptat si soseasc */
nbuffered = 0; /* iniial n zonele tampon nu exist nici un pachet */'
while(true) { . .
wait_for_event(&event); /* patru posibiliti: vezi eventjype, mai sus */
switch(event) {
case network_layer_read.y: /* nivelul reea are un pachet de trimis */
/* accept, salveaz i transmite un nou cadru */
from_networkjayer(&buffer[next_frame_to_send]); /* preia noul pachet */
nbuffered = nbuffered + 1; /* extinde fereastra emitorului */
send_data(next_frame_to_send, frame_expected, buffer); /* transmite cadrul */
inc(next_frame_to_send); /* crete limita superioar a ferestrei emitorului */
case frame_arrival: /* a sosit un cadru de date sau de control */
from_physical_layer(&r); /* preia de la nivelul fizic cadrul sosit */
if (r.seq == frame_expected) {
/* cadrele sunt acceptate doar n ordine */
to_network_Tayer(&r.info); /* pred pachetul nivelului reea*/
inc(frame_expected);/* crete limita inferioar a ferestrei emitorului*/
}
/* Confirmarea lui n implic n-1, n-2 etc. Verific acest lucru. */
while (between(ack_expected, r.ack, next_frame_to_send)) {
/* trateaz confirmarea ataat */
nbuffered = nbuffered .- 1; /* un cadru mai puin n zonele tampon */
stop_timer(ack_expected); /* cadrul a sosit intact; oprete ceasul */
inc(ack_expected); /* contract fereastra emitorului */
}
case cksum_err: ; /* cadrele eronate sunt pur i simplu ignorate */
case timeout: /* necaz; retransmite toate cadrele neconfirmate */
next_frame_to_send = ack_expected; /* ncepe retransmiterea de aici */
for (i =1; i <= nbuffered; i++) {
send_data(next_frame_to_send, frame_expected, buffer);/* retransmite 1 cadru */
inc(next_frame_to_send); /* pregtete transmiterea urmtorului */

if (nbuffered < MAXJEQ)


enable_network_layer();
el se
disable_network_layer();

Fig. 3-16. Un protocol cu fereastr glisant utiliznd revenirea cu n pai.


Aceste dou alternative reprezint compromisuri ntre lrgimea de band i spaiul ocupat de
tampoane la nivelul legtur de date. n funcie de resursa cea mai important, poate fi utilizat una
sau cealalt. Fig. 3-16 prezint un protocol de tip band de asamblare n care nivelul legtur de date
receptor accept cadre ordonate; cadrele ce urmeaz dup o eroare sunt eliminate. n acest
protocol, pentru prima dat, am renunat la presupunerea c nivelul reea are o rezerv infinit de
pachete care trebuie trimise. Atunci cnd nivelul reea are un pachet pe care dorete s-1 trimit,
196 NIVELUL LEGTURA DE DATE CAP. 3

poate produce un eveniment networkjayerjeady. Totui, pentru a ntri regula de control al


fluxului, conform creia nu pot exista dect cel mult MAX_SECV cadre neconfirmate, nivelul
legtur de date trebuie s poat s interzic nivelului reea s l perturbe cu mai multe. Aceast
funcie este realizat de funciile de bibliotec enablejietworkjayer i disablejietworkjayer.
Observai c n orice moment pot exista cel mult MAX_SECV cadre i nu MAX_SECV+1 cadre
neconfirmate, chiar dac existMAX_SECV+\ numere de secven: 0,1,2, ..MAX_SECV. Pentru a
vedea de ce este necesar aceast restricie, s considerm urmtorul scenariu cu MAX_SECV = 7.

1. Emitorul trimite cadrele de la 0 la 7.


2. Confirmare ataat pentru cadrul 7 ajunge la emitor.
3. Emitorul trimite alte opt cadre, din nou cu numerele de secven de la 0 la 7.
4. Acum ajunge o alt confirmare ataat pentru cadrul 7.

ntrebarea este: toate cele opt cadre aparinnd celui de al doilea lot au ajuns corect ori s-au
pierdut n totalitate? n ambele cazuri receptorul va trimite cadrul 7 ca o confirmare. Emitorul nu
are posibilitatea s decid. Din acest motiv, numrul maxim de cadre neconfirmate trebuie limitat la
MAXJECV.
Chiar dac protocolul 5 nu pstreaz cadrele sosite dup o eroare, problema memorrii nu
dispare. Deoarece un emitor poate avea de retransmis la un moment de timp viitor toate cadrele
neconfirmate, el trebuie s pstreze toate cadrele transmise pn cnd va fi sigur c au fost acceptate
de receptor. Cnd sosete o confirmare pentru cadrul n, cadrele n-1, n-2 .a.m.d. sunt confirmate
automat. Aceast proprietate este foarte important atunci cnd unele dintre cadrele purttoare de
confirmri au fost pierdute sau modificate. De fiecare dat, cnd sosete o confirmare, nivelul
legtur de date verific s vad dac unele tampoane pot fi eliberate. Dac tampoanele pot fi
eliberate (adic exist spaiu disponibil n fereastr), atunci nivelul reea anterior blocat poate primi
permisiunea s produc alte evenimente networkjayerjeady.

Timp
/real
10:00:00.0 ' 10:00:00.5

\
5 1 8 2 - *
6 3 X 8 2 6 3 X
Referin la urmtoarea expirare a timpului
Cadru care este cronometrat
Semnale de ceas rmase pn la expirarea timpului
[a) (b)

Fig. 3-17. Simularea prin program a contoarelor de timp multiple

Deoarece acest protocol are mai multe cadre neconfirmate, este evident c necesit mai multe
contoare de timp, cte unul pentru fiecare cadru neconfirmat. Timpul fiecrui cadru expir
independent de toate celelalte. Toate aceste contoare pot fi simulate uor prin program, utiliznd un
SEC. 3.4 PROTOCOALECUFEREASTR GOS&NT 1917

singur ceas fizic care produce ntreruperi periodice. Contoarele de timp active formeaz o list
nlnuit, n fiecare nod existnd informaii despre cte semnale de ceas mai sunt p n la expirarea
timpului, cadrul care este cronometrat i un pointer ctre urmtorul nod.
Ca o ilustrare a modului n care pot fi implementate contoarele de timp, s considerm exemplul
din Fig. 3-17. Sa presupunem c impulsurile de ceas sunt la fiecare 100 ms. Iniial timpul real este
10:00:00.0 i exist trei timpi de expirare, la 10:00:00.5,10:00:01.3 i 10:00:01.9. La fiecare impuls de
ceas produs de echipament, timpul real este actualizat i contorul de impulsuri de la captul listei este
decrementat. Atunci cnd contorul de impulsuri de ceas devine zero^ se produce o expirare de timp i
nodul este scos din list, ca n Fig. 3-17 (b). Chiar dac aceast organizare cere ca lista s fie parcurs
cnd este apelat startJimer sau stop_ timer, nu va necesita multe operaii la fiecare impuls de ceas. n
protocolul 5, ambele rutine au un parametru indicnd pentru ce cadru se face contorizarea timpului.

3.43 Un protocol cu repetare selectiv

Protocolul 5 lucreaz bine dac erorile sunt rare, dar dac linia este slab, se pierde mult din
lrgimea de band cu retransmiterea cadrelor. O alt strategie de tratare a erorilor este ca receptorul
s accepte i s numeroteze cadrele care urmeaz dup un cadru deteriorat sau pierdut. Un astfel de
protocol nu elimin cadre doar pentru c un cadru'anterior a fost deteriorat sau pierdut.
n acest protocol, att emitorul ct i receptorul menin o fereastr de numere de secven
acceptabile. Dimensiunea ferestrei emitorului ncepe de la 0 i crete pn la un maxim predefinit
MAXJSECV. Spre deosebire de aceasta, fereastra receptorului are dimensiunea fix MAX_SECV.
Receptorul are un tampon rezervat pentru fiecare numr de secven din cadrul ferestrei. Fiecare
tampon are un bit asociat (arrived - sosit) care ne spune dac tamponul este plin sau gol. De fiecare
dat, cnd sosete un cadru, numrul su de secven este verificat de funcia between, pentru a
vedea dac face parte din fereastr. Dac da, i dac nu a fost deja recepionat, este acceptat i
memorat. Aceast aciune are loc fr s se verifice dac conine sau nu urmtorul pachet ateptat
de nivelul reea. Desigur cadrul trebuie pstrat la nivelul legtur de date i nu trebuie trimis ctre
nivelul reea dect atunci cnd toate cadrele cu numere mai mici au fost deja livrate nivelului reea
n ordinea corect. Un protocol utiliznd acest algoritm este prezentat n figura 3 -18.

/* Protocolul 6 (recepie nesecvenial) accept cadrele n afara secvenei, dar pred


pachetele n ordine nivelului reea. Fiecrui cadru neconfirmat i este asociat un ceas.
La expirarea timpului este retransmis doar acest cadru i nu toate cele neconfirmate, ca
n protocolul 5. */

#define MAXJEQ 7 /* trebuie s f i e 2An - 1 */


fdefine NRJ8UFS ((MAXJEQ + l)/2)
typedef enum {frame_arrival, cksum_err, timeout, network_layer_ready, ack_timeout)
event_type;
#include protocol.h"
boolean nojiak = true; /* nc nu a fost trimis nici o confirmare negativ */
static boolean between(seq_nr a, seq_nr b, seq_nr c)
< ..
/* La fel ca between din protocolul 5, dar mai scurt i mai obscur. */
return ((a < b) && (b < c ) ) | | ((c < a) && (a <= bj) || ((b < c) && (c < a));
198 NIVELUL LEGTUR DEDATE CAP. 3

static void send_frame(frame_kind fk, seq_nr frame_nr, seq_nr frame_expected,


packet buffer[])
{ ,
/* construiete i trimite un cadru de date, de ack sau de nak */
frame s; /* variabil temporar */
s.kind = fk; /* kind == data, ack sau nak */
if (fk == data) s.info = buffer[frame_nr % NRJUFS];
s.seq = frame_nr; /* are sens doar pentru cadrele de date */
s.ack = (frame_expected + MAXJEQ) % (MAXJEQ + 1);
if (fk == nak) nojiak = false; /* un nak per cadru, te rog */
to_physical layer(&s); /* transmite cadrul */
if (fk == data) start_timer(frame_nr % NRJUFS);
stop_ack_timer(); 7* nu este nevoie de un cadru de ack separat */
} " " '

void protocol6(void)
{
seq_nr = ack_expected; /* limita inferioar a ferestrei emitorului */
seq_nr = next_frame_to_send; /* limita superioar a ferestrei emitorului + 1*/
seq_nr frame_expected; /* limita inferioar a ferestrei receptorului */
seq_nr too_far; /* limita superioar a ferestrei receptorului + 1*/
seqjir oldest_frame; /* crui cadru i-a expirat timpul ? */
int i; /* indicele zonei tampon */
frame r; /* variabil temporar */
packet out_buf[NR_BUFS]; /* zone tampon pentru fluxul de ieire */
packet n_buf[NR_BUFS]; /* zone tampon pentru fluxul de intrare */
boolean arrived [NRJUFS]; /* hart de bii de intrare */
seq_nr nbuffered; /* cte zone tampon de ieire sunt folosite n prezent */
event_type event;
enable_network_layer(); /* iniializeaz */
ack_expected = 0; /* urmtoarea confirmare ateptat n fluxul de intrare */
next_frame_to_send = 0 ; /* numrul urmtorului cadru transmis */
frame_expected = 0;
too_far = NRJUFS;
nbuffered = 0; /* iniial zonele tampon nu conin nici un pachet */
for (i = 0; i < NRJUFS; i++) arrived[i] = false;
wait_for_event(); /* cinci variante: vezi event_type, mai sus */
switch(event) {
case network_layer_ready: /* accept, salveaz i trimite un nou cadru */
nbuffered = nbuffered + 1; /* extinde fereastra */
from_network_layer(&out_buf[next_frame_to_send % NRJUFS]); /* preia un nou pachet */
send_frame(data, next_frame_to_send, frame_expected, outjuf); /* trimite cadrul */
inc(next_frame_to_send); /* avanseaz limita superioar a ferestrei */
case frame_arrival: /* a sosit un cadru de date sau de control */
from_physical_layer(&r); /* preia cadrul sosit de la nivelul fizic */
if (r.kind == data) {
/* A sosit un cadru nedeteriorat */
if ((r.seq != frame_expected) && nojiak)
send_frame(nak, 0, frame_expected, outjuf); else start_ack_timer();
if (between(frame_expected, r.seq, too_far) && (arrived[r.seq%NRJUFS]==false)) {
/* Cadrele pot fi acceptate n orice ordine */
arrived[r.seq%NRJUFS] = true; /* marcheaz tamponul ca fiind plin */
SEC 3.4 PROTQOMIEC^I^REAS^IGIJSANT W9

n_buf[r.seq%NR__BUFS] r.info; /* introduce datele n tampon */


whTle (arrived[frame_expected % NRJUFS]) {
/* Pred cadrele i avanseaz fereastra */
to_network_layer(&n_buf[frame_expected % NRJUFS]);
no_nak = true;
arrived[frame_expected % NRJUFS] = false;
inc(frame_expected); /* avanseaz limita inferioar a ferestrei receptorului */
inc(too_far); /* avanseaz limita superioar a ferestrei receptorului */
start_ack timer(); /* pentru a stabili dac e necesar ack separat */

}
if ((r.kind==nak)&&between(ack_expected, (r.ack+l)%(MAX_SEQ+l),next_frame_to_send))
send_frame(data, (r.ack+l)%(MAX_SEQ+l), frame_expected, out_buf);
while Tbetween(ack_expected, r.acl<, next_frame_to_send)) {
nbuffered = nbuffered - 1; /* trateaz ack ataat */
stop_timer(ack_expected % NRJUFS); /* cadrul a ajuns intact */
inc(ack_expected); /* avanseaz marginea inferioar a ferestrei emitorului */
}
case cksum_err:
if (nojiak) send_frame(nak, 0, frame_expected, out_buf); /* cadru deteriorat */
case timeout:
send_frame(data, oldest_frame, frame_expected, out_buf); /* a expirat timpul */
case ack_timeout:
send_frame(ack, 0, frame_expected, out_buf); /* timpul asociat confirmrii
pozitive a expirat; trimite ack */
}
if (nbuffered ( NR BUFS) enable_network_layer(); else disable_network_layer();

Fig. 3-18. Un protocol cu fereastr glisant utiliznd repetarea selectiv.

Recepia nesecvenial introduce anumite probleme ce nu sunt prezente n protocoalele n care


cadrele sunt recepionate numai n ordine. Putem ilustra problemele foarte uor cu un exemplu. S
presupunem c avem un numr de secven pe trei bii i deci emitorul poate transmite pn la
apte cadre nainte s fie necesar s atepte o confirmare. Iniial ferestrele emitorului i
receptorului arat ca n figura 3-19(a). Emitorul trimite acum cadrele de la 0 la 6. Fereastra
receptorului i permite s accepte orice cadru cu numr de secven ntre 0 i 6 inclusiv. Toate cele
apte cadre sosesc corect, deci receptorul le confirm avansndu-i fereastra pentru a permite
recepia cadrelor 7, 0, 1, 2, 3, 4 sau 5, aa cum arat Fig. 3-19 (b). Toate cele 7 tampoane sunt
marcate ca fiind goale.
n acest punct se produce dezastrul, din cauza unui fulger care lovete linia telefonic, nlturnd
toate confirmrile. Emitorul ajunge n cele din urm la timeout i retransmite cadrul 0. Atunci
cnd acest cadru sosete la receptor, este fcut o verificare pentru a vedea dac se ncadreaz n
fereastra receptorului. Din pcate, n Fig. 3-19(b) cadrul 0 este n interiorul noii ferestre i deci va fi
acceptat. Receptorul trimite o confirmare ataat pentru cadrul 6, deoarece au fost recepionate
cadrele de la 01a 6.
200 NIVELUL LEGTURA DE DATE CAP. 3

Emitorul este fericit s afle c toate cadrele transmise au ajuns corect, deci i avanseaz
fereastra i trimite apoi imediat cadrele 7, 0, i, 2, 3, 4 i 5. Cadrul 7 va fi acceptat de receptor i
pachetul su va fi trimis direct nivelului reea. Imediat dup aceea, nivelul legtur de date receptor
verific s vad dac are un cadru 0 corect, descoper c l are i trimite pachetul coninut n el
nivelului reea. n consecin, nivelul reea primete un pachet incorect i protocolul eueaz.
Esena problemei este aceea c dup ce receptorul i avanseaz fereastra, noul interval de
numere de secven corecte se suprapune peste cel vechi. Urmtoarea serie de cadre trebuie s fie
sau duplicate (dac toate confirmrile sunt pierdute) sau unele noi (dac toate confirmrile au fost
recepionate). Receptorul nu are nici o posibilitate de a distinge cele dou cazuri.

Emitor 0 12 3 4 5 6 0 12 3 4 5 6 0 12 3 4 5 6 0 12 3 4 5 6 7

Receptor 0 12 3 4 5 6 0 12 3 4 5 0 12 3 4 5 6 0 12 3 4 5 6 7

(a) (c) (d)

Fig. 3-19. (a) Situaia iniial cu o fereastr de dimensiune 7. (b) Dup ce apte cadre au fost
trimise i recepionate, dar neconfirmate. (c) Situaia iniial cu o fereastr de dimensiune
patru, (d) Dup ce patru cadre au fost trimise i recepionate, dar neconfirmate.

Pentru a iei din aceast dilem, trebuie s ne asigurm c atunci cnd receptorul i deplaseaz
fereastra, nu exist nici o suprapunere peste cea anterioar. Pentru a asigura c nu exist
suprapunere, dimensiunea maxim a ferestrei trebuie s fie de cel mult jumtate din intervalul
numerelor de secven, aa cum se face n Fig. 3-19 (c) i Fig. 3-19 (d). De exemplu, dac pentru
numerele de secven sunt utilizai 4 bii, acestea vor lua valori de la 0 la 15. n orice moment trebuie
s existe numai opt cadre. Astfel, dac receptorul tocmai a acceptat cadrele de la 0 la 7 i avanseaz
fereastra pentru a permite acceptarea cadrelor de la 8 la 15, poate spune cu certitudine dac
urmtoarele cadre sunt retransmisii (de la 0 la 7) sau sunt unele noi (de la 8 la 15). n general,
dimensiunea ferestrei pentru protocolul 6 va fi (MAX_SECV+l)/2.
O ntrebare interesant este: cte tampoane trebuie s aib receptorul? n nici un caz el nu va
accepta cadre ale cror numere de secven sunt sub limita minim a ferestrei, sau cadre ale cror
numere de secven depesc limita maxim a acesteia. In consecin, numrul de tampoane
necesare este egal cu dimensiunea ferestrei, nu cu intervalul de valori al numerelor de secven. n
exemplul anterior, cu numere de secven pe 4 bii, sunt necesare 8 tampoane, numerotate de la 0 la
7. Atunci cnd sosete cadrul i, acesta este pus n tamponul i mod 8. De notat c, dei / i
(i+8) mod 8 concureaz" pentru acelai tampon, nu vor fi n aceeai fereastr simultan, deoarece
aceasta ar implica o dimensiune a ferestrei de cel puin 9.
Pentru acelai motiv, numrul de contoare de timp necesare este egal cu numrul de tampoane,
nu cu dimensiunea spaiului secvenial. Efectiv, exist un contor de timp asociat fiecrui tampon.
Atunci cnd contorul expir, coninutul tamponului este retransmis.
SEC 3.4 PROTOCOALE CU FEREASTR GLISANT 201

n protocolul 5, s-a presupus n mod implicit c acel canal, este puternic ncrcat. Cnd sosete un
cadru, nu se trimite imediat o confirmare. Confirmarea este ataat la urmtorul cadru de date de
ieire. Dac traficul invers este slab, confirmarea va fi reinut o perioad mare de timp. Dac
traficul este intens ntr-o direcie i inexistent n cealalt direcie, atunci sunt trimise numai
MAX'_SECVcadre i apoiprotocolulse blocheaz.
Aceast problem este rezolvata n protocolul 6. Dup sosirea unei secvene de cadre cu
date, este pornit un contor de timp auxiliar, prin startjickjimer. Dac pn la expirarea
acestui contor nu a aprut trafic n sens invers, atunci este trimis un cadru de confirmare
separat. O ntrerupere datorat contorului auxiliar se numete eveniment ackjimeout. Cu
acest artificiu, fluxul de trafic unidirecional este acum posibil, deoarece absena cadrelor de
date n sens invers, pe care pot fi ataate confirmri, nu mai este un obstacol. Exist numai un
contor auxiliar i dac start_ack_timer este apelat n timpul funcionrii contorului, acesta este
resetat la un interval complet de timp de confirmare.
Este esenial ca timpul de expirare asociat contorului auxiliar s fie mult mai scurt dect cel
utilizat pentru msurarea timpului cadrelor de date de ieire. Aceast condiie este impus pentru a
asigura c o confirmare pentru un cadru corect recepionat sosete nainte ca timpul emitorului s
expire i acesta s retransmit cadrul.
Protocolul 6 utilizeaz pentru tratarea erorilor o strategie mai eficient dect protocolul 5. De
fiecare dat cnd receptorul are motiv s suspecteze c a aprut o eroare, trimite napoi la emitor
un cadru cu o confirmare negativ (NAK). Un asemenea cadru reprezint o cerere pentru
retransmiterea cadrului specificat n NAK. Exist dou cazuri n care receptorul va fi suspicios: a
sosit un cadru modificat sau a sosit un alt cadru dect cel ateptat (un posibil cadru pierdut). Pentru
a preveni producerea cererilor multiple de retransmisie a aceluiai cadru pierdut, receptorul va ine
minte dac un NAK a fost deja trimis pentru un anumit cadru. Variabila nojiak din protocolul 6 are
valoarea adevrat dac nici un NAK nu a fost trimis pentru framejxpecte. Dac NAK a fost
modificat sau pierdut, nu se ntmpl nimic, deoarece emitorul va ajunge, pn la urm, la timeout
i va retransmite cadrul lips. Dac un cadru greit sosete dup ce un NAK a fost transmis i
pierdut, nojiak va fi adevrat i va fi pornit contorul de timp auxiliar. La expirarea acestuia, va fi
trimis un ACK pentru resincronizarea emitorului cu starea curent a receptorului.
n unele situaii, timpul necesar pentru ca un cadru s se propage la destinaie, s fie
prelucrat i s se recepioneze confirmarea este (aproape) constant. n aceste condiii,
emitorul i poate ajusta contorul de timp s fie puin mai mare dect intervalul de timp
normal ateptat ntre emiterea unui cadru i recepionarea confirmrii sale. Totui, dac acest
timp variaz puternic, emitorul trebuie s aleag ntre fixarea intervalului la o valoare mic,
riscnd transmisii inutile i irosirea lrgimii de band i, respectiv, fixarea la o valoare mare,
rmnnd n ateptare timp ndelungat dup producerea unei erori, deci irosind lrgime de
band. Dac traficul n sens invers este sporadic, timpul dinaintea confirmrii va: fi neregulat,
fiind scurt cnd exist trafic n sens invers i lung cnd nu exist. Variaia timpului de
prelucrare la receptor poate fi, de asemenea, o problem. n general, atunci cnd deviaia
standard a intervalului de confirmare este mic, n comparaie cu intervalul nsui, intervalul
de timp poate fi strmt" i NAK-urile nu sunt utile. Altfel, contorul de timp trebuie s fie
setat "larg" i NAK-urile pot accelera apreciabil retransmisia cadrelor eronate sau pierdute.
Strns legat de problema expirrii timpului i NAK-urilor este problema determinrii cadrului
care a cauzat expirarea timpului. n protocolul 5 acesta este ntotdeauna ackjxpected, deoarece este
202 NIVELUL LEGTUR DE DATE CAP. 3

ntotdeauna cel mai vechi. n protocolul 6 nu este uor s se determine cel care a produs expirarea
timpului. S presupunem c au fost transmise cadrele de la 0 la 4, nsemnnd c lista cadrelor
neconfirmate este 0,1,2,3,4, n ordinea de la cel mai vechi la cel mai nou. Acum s ne imaginm c
expir timpul pentru 0, este transmis 5 (un nou cadru), expir timpul pentru 1, expir timpul pentru
2 i este transmis 6 (un alt cadru nou). n acest punct, lista cadrelor neconfirmate este 3,4,0,5,1,2,
6, de la cel mai vechi la cel mai nou. Dac tot traficul de ntoarcere este pierdut pentru un timp,
expirarea timpului pentru cele apte cadre neconfirmate se va produce n aceast ordine. Pentru a
nu face ca exemplul s fie mai complicat dect este deja, nu am artat administrarea timpului. n
schimb, am presupus c, la expirarea timpului, variabila oldestjrame este setat astfel, nct s indice
cadrul pentru care a trecut timpul.

3.5 SPECIFICAREA I VERIFICAREA PROTOCOALELOR

Protocoalele reale i programele ce le implementeaz sunt adesea destul de complicate. Ca


urmare, a fost ntreprins o imens munc de cercetare pentru a gsi tehnici formale, matematice,
pentru specificarea i verificarea protocoalelor. n seciunile urmtoare vom studia cteva astfel de
modele i tehnici. Chiar dac le privim n contextul nivelului legturii de date, ele sunt, de asemenea,
aplicabile i altor niveluri.

3.5.1 Modele de tip automat finit

Un concept cheie folosit n multe modele de protocoale l constituie automatul finit. Cu aceast
tehnic, fiecare automat al protocolului (adic transmitor sau receptor) este n fiecare moment de
timp ntr-o stare specific. Strile sale constau din toate valorile variabilelor sale, incluznd contorul
de instruciuni al programului.
n cele mai multe cazuri, un numr mare de stri pot fi grupate mpreun, n vederea analizei. De
exemplu, considernd receptorul din protocolul 3, am putea abstractiza toate strile posibile n dou
stri importante: ateptarea cadrului 0 sau ateptarea cadrului 1. Toate celelalte stri pot fi
considerate ca fiind tranzitorii, simpli pai pe calea spre una din strile principale. De obicei, strile
sunt alese ca fiind acele momente n care automatul protocolului ateapt s se petreac urmtorul
eveniment [adic s execute apelul de procedur wait(event) din exemplele noastre]. n acest punct,
starea automatului este complet determinat de strile variabilelor sale. Numrul de stri este deci
2", unde n este numrul de bii necesari pentru reprezentarea tuturor combinaiilor de variabile.
Starea ntregului sistem este combinaia tuturor strilor celor dou automate ale protocolului i a
strii canalului. Starea canalului este determinat de coninutul su. Folosind din nou protocolul 3
ca exemplu, canalul are patru stri posibile: un cadru zero sau un cadru unu circulnd de la
transmitor la receptor, un cadru de confirmare circulnd n sens invers sau nici un cadru. Dac
modelm transmitorul sau receptorul prin dou stri, ntregul sistem are 16 stri distincte.
Aici trebuie s spunem cteva cuvinte despre starea canalului. Conceptul de cadru circulnd
prin canal" este, bineneles, o abstractizare. Adevratul neles este acela c respectivul cadru a fost
parial transmis, parial primit, dar nu a fost nc prelucrat la destinaie. Un cadru rmne pe canal"
pn cnd automatul execut FromPhysicalLayer i l prelucreaz.
Din fiecare stare, exist zero sau mai multe tranziii posibile spre alte stri. Tranziiile au loc
atunci cnd se petrece un eveniment. Pentru un automat, o tranziie trebuie s se fac atunci cnd
SEC. 35 SPECIFICAREA I VERIFICAREA PROTOCOALELOR 203

este trimis un cadru, cnd sosete un cadru, cnd expir, un interval de timp, cnd apare o
ntrerupere etc. Pentru canal, evenimentele tipice sunt introducerea unui nou cadru pe canal de
ctre automatul protocolului, livrarea, cadrului unui automat sau pierderea unui cadru datorat unei
rafale de zgomote. Dat fiind o descriere complet a automatelor protocolului i a caracteristicilor
canalului, este posibil s trasm graful orientat care prezint toate strile automatului ca noduri i
toate tranziiile ca arce orientate.
O singur stare este desemnat ca stare iniial. Aceast stare corespunde descrierii
sistemului, atunci cnd e ncepe sa funcioneze, sau unui punct de pornire convenabil imediat
urmtor. Unele stri, poate chiar toate strile, pot fi atinse din starea iniial printr-o secven
de tranziii. Folosind tehnicile binecunoscute din teoria graiurilor (de exemplu, calculul
nchiderii tranzitive a unui graf), este posibil s se determine care stri sunt accesibile i care
nu. Aceast tehnic este numit analiza accesibilitii (Lin .a., 1987). Aceast analiz poate fi
util n determinarea corectitudinii protocolului.
Formal, un model de tip automat finit al unui protocol poate fi privit ca un cvadruplu
(S, U, I, T) unde:
S este mulimea strilor n care se pot gsi procesele i canalul
M este mulimea cadrelor care pot fi schimbate prin canal
/ este mulimea strilor iniiale ale proceselor
T este mulimea tranziiilor ntre stri
La nceputul intervalului de timp, toate procesele se gsesc n strile lor iniiale. Apoi ncep s se
produc evenimente, cum ar fi disponibilizarea unor cadre pentru transmisie sau expirarea unor
intervale de timp. Fiecare eveniment poate face ca unul dintre procese sau canalul s execute o
aciune i s comute ntr-o nou stare. Prin enumerarea atent a fiecrui succesor posibil pentru
fiecare stare, se poate construi graful de accesibilitate i se poate analiza protocolul.
Analiza accesibilitii poate fi folosit pentru a detecta diferite erori n specificaia
protocolului. De exemplu, dac este posibil ca un anumit cadru s apar ntr-o anumit stare i
automatul finit s nu tie ce aciune trebuie ntreprins, atunci specificaia este eronat
(incompletitudine). Dac exist o mulime de stri fr ieire i din care nu se poate progresa,
avem o alt eroare (interblocare). O eroare mai puin serioas este cea n care specificaia
protocolului spune cum s se trateze un eveniment ntr-o stare n care evenimentul nu se poate
produce (tranziie neesenial). De asemenea pot fi detectate i alte erori.
Ca exemplu de model de automat finit s considerm Fig. 3-20(a). Acest graf corespunde
protocolului 3 descris anterior: fiecare automat de protocol are dou stri, iar canalul are
patru stri. Exist un total de 16 stri, nu toate accesibile din starea iniial. Strile inaccesibile
nu sunt artate n figur. Fiecare stare este etichetat cu trei caractere, XYZ, unde X este 0 sau
1, corespunztor cadrului pe care transmitorul (S) ncearc s l expedieze; Y este de
asemeriea 0 sau 1, corespunztor cadrului pe care receptorul (R) l ateapt, iar Z este 0, \,A
sau vid (-), corespunztor strii canalului. n acest exemplu, starea iniial a fost aleas ca fiind
(000). Cu alte cuvinte, transmitorul tocmai a trimis cadrul 0, receptorul ateapt cadrul 0 i
cadrul 0 este actualmente pe canal.
204 NIVELUL LEGTURA DE DATE CAP. 3

Spre
Cine Cadru Cadru nivelul
Tranziie ruleaz? acceptat emis reea
(cadru pierdut)
0
1 R 0 A Da
2 S A 1
3 R 1 A Da
4 S A 0
5 R 0 A Nu
6 R 1 A Nu
7 S (timp expirat) 0
8 S (timp expirat) 1

(b)

Fig. 3-20. (a) Diagrama de stare pentru protocolul 3. (b) Tranziiile.

n Fig. 3-20 sunt artate nou tipuri de tranziii. Tranziia 0 corespunde pierderii coninutului
canalului. Tranziia 1 corespunde livrrii corecte a pachetului 0 la receptor, receptorul schimbndu-
i starea pentru a atepta cadrul 1 i emind o confirmare. Tranziia 1 include i livrarea pachetului
0 de ctre receptor spre nivelul reea. Celelalte tranziii sunt listate n Fig. 3-20(b). Sosirea unui
cadru cu suma de control eronat nu a fost pus n eviden, deoarece nu trebuie schimbat starea
(n protocolul 3).
Pe parcursul operrii normale, tranziiile 1,2,3 i 4 sunt repetate n ordine, la nesfrit. n fiecare
ciclu sunt livrate dou pachete, aducnd transmitorul napoi n starea iniial, n care se ncearc
transmiterea unui nou cadru cu numrul de secven 0. n cazul n care canalul pierde cadrul 0, el
face o tranziie din starea (000) n starea (00-). Pn la urm, transmitorului i expir intervalul de
timp (tranziia 7) i sistemul revine n starea (000). Pierderea unei confirmri este mai complicat,
necesitnd dou tranziii, 7 i 5, sau 8 i 6, pentru a repara eroarea.
Una din proprietile pe care protocolul cu numr de secven pe 1 bit trebuie s le aib este
aceea c, indiferent de secvena de evenimente ce are loc, receptorul nu trebuie s livreze niciodat
dou pachete impare fr un pachet par intermediar i invers. Din graful din Fig. 3-20 se vede c
aceast cerin poate fi formulat mai riguros astfel: nu trebuie s existe ci din starea iniial care
s conin dou apariii ale tranziiei 1 fr ca ntre ele s apar tranziia 3 sau invers." Din figur se
poate vedea c protocolul este corect n raport cu aceast cerin.
O alt cerin, similar, este aceea c nu trebuie s existe ci pe care transmitorul s-i schimbe
starea de dou ori (de exemplu din 0 n 1 i napoi n 0) n timp ce starea receptorului rmne
constant. Dac ar exista o astfel de cale, atunci, n secvena corespunztoare de evenimente, dou
cadre ar fi iremediabil pierdute, fr ca receptorul s observe. Secvena de pachete livrat ar avea n
ea o lips nedetectat, de dou pachete.
O alt proprietate important a unui protocol este absena interblocrilor. O interblocare
(deadlock) este situaia n care protocolul nu mai nregistreaz nici un progres la transmitere (adic
livrare de pachete spre nivelul reea), indiferent de secvena de evenimente produse. n termenii
. SEC. 3.5 SPECIHCAREA I VERIFICAREA PROTOCOALELOR 205

modelului de graf, o interblocare este caracterizat de existena unei su|>mulimi de stci care este
accesibil din starea iniial i care are dou proprieti:

1. Nu exist nici o tranziie ntr-o stare din afara submulimii de stri.


2. n submulimea de stri, nu exist tranziii care s determine continuarea transmiterii.

Odat ajuns n situaia de interblocare, protocolul rmne aici pentru totdeauna. Din nou, este
uor de vzut din graf c protocolul 3 nu are interblocare.

2+5

A )

1+2

3+4
(a)

(0 0 0 ) , (0 1 A), (0 1 0 A), (1 1 1 A), <1 1 A), (0 1 0 ) , (0 1 A), (1 1 1 )


(b)

Fig. 3-21. (a) Graful de stri pentru protocolul 3 i canal duplex integral,
(b) Secven de stri ce provoac euarea protocolului.

S considerm acum o variant a protocolului 3, n care canalul semi-duplex este nlocuit cu un


canal duplex integral. n Fig. 3-21 sunt artate strile ca produs al strilor celor dou automate de
protocol i al strilor celor dou canale. De notat c acum canalul de transmisie are trei stri: cadru
0, cadru 1 sau vid, iar canalul de rspuns are dou stri, A sau vid. Tranziiile sunt aceleai ca n Fig.
3-20(b), cu excepia aceleia cnd un cadru de date i o confirmare se gsesc simultan pe canal,
206 NIVELUL LEGTUR DE DATE CAP. 3

existnd aici o mic ciudenie. Receptorul nu poate elimina el nsui cadrul de date, deoarece
aceasta ar determina prezena pe canal a dou confirmri n acelai timp, lucru nepermis de modelul
nostru (cu toate acestea este uor de conceput un model care s-1 permit). Similar, transmitorul
nu poate terge o confirmare, deoarece aceasta ar determina emiterea unui al doilea cadru de date,
nainte ca primul s fi fost acceptat. In consecin, ambele evenimente trebuie s aib loc mpreun,
de exemplu, tranziia ntre starea (000A) i starea (11 IA), etichetat cu 1+2 n figur.
n Fig. 3-21(a) exist ci care pot face protocolul s eueze. n particular, exist ci pe care
transmitorul obine repetat pachete noi, chiar dac pachetele anterioare nu au fost livrate corect.
Problema apare deoarece acum este posibil ca transmitorului s i expire timpul i s trimit un
cadru nou fr s perturbe confirmarea de pe canalul de rspuns. Atunci cnd aceast confirmare
sosete, ea va fi interpretat greit, ca referindu-se la transmisia curent i nu la cea anterioar.
O secven de stri ce provoac euarea protocolului este artat n Fig. 3-21 (b). n a patra i a
asea stare din aceast secven, transmitorul i schimb starea, indicnd faptul c el preia un nou
pachet de la nivelul reea, n timp ce receptorul nu i schimb starea, ceea ce nseamn c nu
livreaz nici un pachet nivelului reea.

3.5.2 Modele de tip reea Petri

Automatul finit nu este singura tehnic de specificare formal a protocoalelor. n aceast


seciune vom descrie o alt tehnic, Reelele Petri (Danthine, 1980). O reea Petri are patru
elemente de baz: locuri, tranziii, arce i jetoane. Un loc reprezint o stare n care se poate
gsi sistemul (sau o parte a sa). Figura 3-22 prezint o reea Petri cu dou locuri, A i B,
reprezentate prin cercuri. Sistemul se afl n starea A, indicat prin jeton (punctul ngroat) n
locul A. O tranziie este indicat printr-o bar orizontal sau vertical. Fiecare tranziie are
zero sau mai multe arce de intrare, venind dinspre locuri de intrare, i zero sau mai multe arce
de ieire, mergnd spre locuri de ieire.

Fig. 3-22. O reea Petri cu dou locuri i dou tranziii.

O tranziie este activat dac exist cel puin un jeton de intrare n fiecare din locurile sale
de intrare. Orice tranziie activat poate fi executat la dorin, tergnd un jeton din fiecare
loc de intrare i depunnd un jeton n fiecare loc de ieire. Dac numrul de arce de intrare i
de ieire difer, jetoanele nu vor fi conservate. Dac dou sau mai multe tranziii sunt
activate, oricare din ele se poate executa. Alegerea tranziiei care se va executa este
nedeterminist, motiv pentru care reelele Petri sunt utile n modelarea protocoalelor.
Reeaua Petri din Fig. 3-22 este determinist i poate fi folosit pentru a modela orice proces
n dou faze (de exemplu comportamentul unui bebelu: mnnc, doarme, mnnc, doarme
.a.m.d.). Ca n cazul tuturor instrumentelor de modelare, detaliile inutile sunt eliminate.
SEC. 35 SPECIFICAREA I VERIFICAREA PROTOCOALELOR

C: Cadru 0 pe linie
D: Confirmare pe linie (Ack)
E: Cadru 1 pe linie

Prelucreaz 0
Emite 0

Ateapt Ateaptt 1
confirmarea
pentru 0

Emite 1 Prelucreaz 1

Ateapt Ateapt 0
confirmarea
pentru 1

\ Pierdut

Starea Canal Starea


transmitorului receptorului

Fig. 3-23. Model de tip reea Petri pentru protocolul 3.

Figura 3-23 d modelul de tip reea Petri pentru Fig. 3-21. Spre deosebire de modelul de tip
automat finit, aici nu exist stri compuse: starea transmitorului, starea canalului i starea
receptorului sunt reprezentate separat. Tranziiile 1 i 2 corespund trimiterii cadrului 0 de ctre
transmitor, normal i, respectiv, la expirarea timpului. Tranziiile 3 i 4 sunt analoagele pentru
cadrul 1. Tranziiile 5, 6 i 7 corespund pierderii unui cadru 0, unei confirmri i, respectiv, a unui
cadru 1. Tranziiile 8 i 9 se petrec atunci cnd la receptor sosete un cadru de date cu numr de
secven greit. Tranzipe 10 i 11 reprezint sosirea la receptor a urmtorului cadrului din secven
i livrarea acestuia ctre nivelul reea.
Reelele Petri pot fi utilizate pentru a detecta erori n protocol, ntr-un mod similar folosirii
automatelor finite. De exemplu, dac o secven executabil a inclus tranziia 10 de dou ori fr a
include tranziia 11 ca intermediar, protocolul ar fi incorect. Conceputul de interblocare ntr-o reea
Petri este de asemenea similar corespondentului su de la automatul finit.
Reelele Petri pot fi reprezentate ntr-o form algebric convenabil asemntoare gramaticilor.
Fiecrei tranziii i corespunde o regul din gramatic. Fiecare regul specific locurile de intrare i
20S NIVELUL LEGTURA DE DATE CAP. 3

de ieire ale tranziiei, de exemplu, tranziia 1 din Fig. 3-23 este BD-^AC. Starea curent a reelei
Petri este reprezentat ca o colecie neordonat de locuri, fiecare loc fiind reprezentat n colecie de
un numr de ori egal cu numrul de jetoane pe care le conine. Orice regul ale crei locuri din
membrul stng sunt prezente, poate fi executat, tergnd aceste locuri din starea curent i
adugnd locurile sale de ieire la starea curent. Marcajul din Fig. 3-23 este AGG, i astfel, regula
10 (CG-^DF) poate fi aplicat, dar regula 3 (AD->BE) nu poate fi aplicat.

3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE

n urmtoarele seciuni vom examina cteva protocoale larg folosite pentru legtura de date.
Primul dintre ele, HDLC, este obinuit n X.25 i n multe alte reele. Dup acesta, vom examina
protocoalele legturii de date folosite n Internet i, respectiv, n reelele ATM. n urmtoarele
capitole vom folosi de asemenea Internet i ATM ca exemple funcionale.

3.6.1 HDLC - Controlul de nivel nalt al legturii de date

n aceast seciune vom examina un grup de protocoale strns legate, puin mai vechi, dar
care sunt nc foarte utilizate n reelele din ntreaga lume. Ele sunt toate derivate din protocolul
pentru legtura de date utilizat n reeaua SNA a IBM, numit SDLC (Synchronous Data Link
Control - protocolul de control sincron al legturii de date). Dup ce a dezvoltat SDLC, IBM 1-a
supus examinrii ANSI i ISO pentru acceptare ca standard SUA i, respectiv, internaional.
ANSI a modificat protocolul, astfel nct acesta a devenit ADCCP (Advanced Data
Communication Control Procedure - procedur de control avansat al comunicaiilor de date), iar
ISO 1-a modificat i a produs HDLC (High-level Data Link Control - control de nivel nalt al
legturii de date). CCITT a adoptat i modificat HDLC pentru al su LAP (Link Access
Procedure - procedur de acces la legtur) care este parte a standardului pentru interfaa de
reea X.25, dar, mai trziu 1-a modificat din nou, rezultnd LAPB, n scopul de a-1 face mai
compatibil cu o versiune ulterioar de HDLC. Un lucru frumos n ceea ce privete standardele
este c sunt multe, dintre care poi alege. Mai mult dect att, dac nu i place nici unul dintre
ele, poi atepta modelul care va aprea anul viitor.
Toate aceste protocoale se bazeaz pe aceleai principii. Toate sunt orientate pe bii i folosesc
inserarea de bii pentru transparena datelor. Ele difer doar n puncte minore, niciodat suprtoare.
Discuia care urmeaz, despre protocoalele orientate pe bii, intenioneaz a fi o introducere general.
Pentru detaliile specifice fiecrui protocol, consultai definiia corespunztoare.

Bii 8 8 8 >0 16 8

Sum de
01111110 Adres Control Date 01111110
control

Fig. 3-24. Format de cadru pentru protocoalele orientate pe bii.


SEC. 3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 209

Toate protocoalele orientate pe bii folosesc structura de cadru prezentat n Fig. 3-24. Cmpul
Adres este primul ca importan pe liniile cu terminale multiple, unde el este folosit pentru a
identifica unul dintre terminale. Pentru liniile punct-la-punct, el este folosit uneori pentru a deosebi
comenzile de rspunsuri.
Cmpul Control este folosit pentru numere de secven, confirmri i alte scopuri, dup cum se
va arta n continuare.
Cmpul Date poate conine informaii arbitrare. Poate avea lungime arbitrar, cu toate c
eficiena sumei de control scade odat cu creterea lungimii cadrului, datorit creterii probabilitii
de apariie a erorilor n rafal. , ^
Cmpul Suma de Control este o variant a binecunoscutului CRC (Cyclic Redundancy Code -
cod ciclic redundant), folosind CRC-CCITT ca polinom generator. Diferena este c permite
detectarea octeilor indicator pierdui.
Cadrul este delimitat cu o alt secven indicator (01111110). Pe liniile punct-la-punct inactive
secvenele indicator sunt transmise continuu. Un cadru minim conine trei cmpuri i are n total 32
de bii, excluznd indicatorii de la fiecare capt.

5ii 1 3 1 3
(a) 0 Secven P/F Urmtor

(b) 1 0 Tip P/F Urmtor

(0 1 1 Tip P/F Urmtor

Fig. 3-25. Cmpul Control (a) un cadru de informaie, (b) un cadru de supervizare,
(c) un cadru nenumerotat.
Exist trei tipuri de cadre: Informaie, Supervizor i Nenumerotat. Coninutul cmpului Control
pentru fiecare dintre aceste trei tipuri este prezentat n Fig, 3-25. Acest protocol folosete o fereastr
glisant, cu un numr de secven reprezentat pe 3 bii. n fereastr pot fi pstrate, la un moment
dat, pn la apte cadre neconfirmate. Cmpul Secven din Fig. 3-25(a) este numrul de secven al
cadrului. Cmpul Urmtor este o confirmare ataata. Oricum, toate protocoalele ader la convenia
c, n loc s ataeze numrul ultimului cadru recepionat corect, s foloseasc numrul primului
cadru nerecepionat (adic urmtorul cadru ateptat). Opiunea pentru ultimul cadru primit sau
urmtorul cadru recepionat este arbitrar; nu are importan ce convenie este utilizat, dac este
folosit cu consecvena.
Bitul P/F nseamn Test/Final (Poli/Final). El este folosit atunci cnd un calculator (sau un
concentrator) interogheaz un grup de terminale. Cnd este folosit ca P, calculatorul invit
terminalul s trimit date. Toate cadrele trimise de terminal, cu excepia celui final, au bitul
P/F setat pe P. Pentru cadrul final bitul este setat la F.
n cteva dintre protocoale, bitul P/F este folosit pentru a fora cealalt main s trimit imediat
un cadru Supervizor, n loc s atepte fluxul invers la care s se ataeze informaia despre fereastr.
Bitul are de asemenea cteva utilizri minore referitoare la cadrele nenumerotate.
210 NIVELUL LEGTUR DE DATE CAP. 3

Numeroasele tipuri de cadre Supervizor sunt difereniate prin cmpul Tip. Tipul 0 este un cadru
de confmnare (numit oficial RECEIVE READY) folosit pentru a indica urmtorul cadru ateptat.
Cadrul este folosit atunci cnd nu exist flux invers care s poat fi folosit pentru ataare. :

Tipul 1 este un cadru de confirmare negativ (oficial numit REJECT). Este folosit pentru a
indica detecia unei erori de transmisie. Cmpul Urmtor indic primul cadru din secven ce nu a
fost recepionat corect (deci cadrul ce trebuie retransmis). Transmitorului i se cere s retransmit
toate cadrele neconfirmate, ncepnd cu Urmtor-ul Aceast strategie este similar mai degrab
protocolului 5 dect protocolului 6.
Tipul 2 este RECEIVE NOT READY. El confirm toate cadrele, cu excepia lui Urmtor, exact
ca RECEIVE READY, dar spune transmitorului s opreasc transmisia. RECEIVE NOT
READY este destinat s semnaleze anumite probleme temporare aprute la receptor, cum ar fi
lipsa zonelor tampon, i nu ca o alternativ la controlul fluxului cu fereastr glisant. Cnd problema
a fost rezolvat, receptorul trimite un RECEIVE READY, REJECT sau anumite cadre de control.
Tipul 3 este SELECTIVE REJECT. El cere retransmiterea, ns doar pentru cadrul specificat.
Din acest punct de vedere este mai apropiat de protocolul 6 dect de protocolul 5 i de aceea este
folositor atunci cnd dimensiunea ferestrei transmitoruui este jumtate sau mai puin din
dimensiunea spaiului secvenei. Astfel, dac receptorul dorete s pstreze o secven de cadre
pentru posibila folosire ulterioar, el poate s foreze retransmiterea oricrui cadru, folosind
SELECTIVE REJECT. HDLC i ADCCP permit acest tip de cadru, dar SDLC i LAPB nu l
permit (adic nu exist Selective Reject) i cadrele de tipul 3 nu sunt definite.
Cea de-a treia clas o reprezint cadrul Nenumerotat. El este folosit uneori n scopuri de
control, dar poate fi folosit i pentru transportul datelor atunci cnd se recurge la un serviciu
nesigur, neorientat pe conexiune. Diversele tipuri de protocoale orientate pe bii difer
considerabil aici, spre deosebire de celelalte dou tipuri, unde erau aproape identice. Pentru a
indica tipul cadrului sunt disponibili cinci bii, dar nu sunt folosite toate cele 32 de posibiliti.
Toate protocoalele furnizeaz o comand, DISC (DISConnect), care permite ca o main s
anune c se va opri (de exemplu pentru ntreinere preventiv). De asemenea exist o comand ce
permite ca o main, care tocmai s-a reconectat, s-i anune prezena i s foreze resetarea tuturor
numerelor de secven la zero. Aceast comand poart numele de SNRM (Set Normal Response
Mode - stabilete modul normal de rspuns). Din nefericire, modul normal de rspuns" numai
normal nu este. Este un mod neechilibrat (adic asimetric) n care unul din capetele liniei este
mater iar cellalt este sclav. SNRM dateaz din timpurile cnd comunicaia datelor presupunea un
terminal neinteligent comunicnd cu un calculator, ceea ce este, evident, asimetric. Pentru a face
protocolul mai potrivit cazurilor n care cei doi parteneri sunt egali, HDLC i LAPB au o comand
suplimentar, SABM (Set Asynchronous Balanced Mode - stabilete modul asincron echilibrat),
care reseteaz linia i declar ambii parteneri ca fiind egali. De asemenea, aceste protocoale au
comenzile SABME i SNRME, care sunt identice cu SABM i, respectiv, SNRM, cu excepia
faptului c ele permit folosirea unui format extins pentru cadru, care utilizeaz numere de secven
pe 7 bii n locul unora pe 3 bii.
A treia comand prevzut de toate protocoalele este FRMR (FRaMe Reject), folosit pentru a
indica sosirea unui cadru cu suma de control corect, dar cu semantic imposibil. Exemple de
semantic imposibil sunt cadru de tipul 3 Supervizor n LAPB, un cadru mai scurt de 32 de bii, un
cadru de control nepermis, confirmarea unui cadru care a fost n afara ferestrei etc. Cadrele FRMR
conin un cmp de date de 24 de bii care arat ceea ce a fost eronat la cadrul respectiv. Datele
EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 211

fixted^mpul de coritrol al cadrului eronat, parametrii ferestrei i o C&tecie de bii folosii pentru a
semnala erori specifice.
Cadrele de control pot fi pierdute sau deteriorate ca i cadrele de date, de aceea i ele trebuie
confirmate. n acest scop este furnizat un cadru special de control, numit UA (Unnumbered
Acknowledgement). Deoarece poate exista un singur cadru de control neconfirmat, nu exist
niciodat ambiguiti asupra cadrului care este confirmat.
Cadrele de control rmase sunt folosite pentru iniializare, interogare i raportarea strii. Exist,
de asemenea, un cadru de control care poate conine informaii arbitrare, UI (Unnumbered
Information). Aceste date nu sunt livrate nivelului reea, ci sunt destinate a fi primite chiar de
nivelul legtur de date.
n ciuda utilizrii pe scar larg, HDLC este departe de a fi perfect. O discuie despre
diversitatea problemelor asociate cu acest protocol poate fi gsit n (Fiorini .a., 1995).

3.6.2 Nivelul legtura de date n Internet

Internet-ul const din maini individuale (calculatoare gazd i rutere) i o infrastructur de


comunicaie care le conecteaz. n cadrul unei singure cldiri sunt larg utilizate LAN-urile pentru
interconectare, dar infrastructura de arie larg este construit din linii nchiriate, punct-la-punct. n
Cap. 4 vom studia LAN-urile; aici vom examina protocoalele legturii de date folosite pe liniile
punct-la-punct n Internet.
n practic, comunicaia punct-la-punct este folosit n principal n dou situaii. n primul rnd,
mii de organizaii au una sau mai multe LAN-uri, fiecare cu un anumit numr de calculatoare gazd
(calculatoare personale, staii de lucru ale utilizatorilor, servere .a.m,d.) i un ruter (sau o punte
care este funcional similar). Adeseori, ruterele sunt interconectate printr-un trunchi IsAN. n mod
tipic, toate conexiunile cu lumea exterioar se fac printr- unul sau dou rutere care au linii punct-la-
punct nchiriate spre rutere aflate la distan. Inteiet-ul este construit din aceste rutere i liniile lor
nchiriate care realizeaz subreelele de comunicaie.
A doua situaie n care liniile punct-la-punct joac un rol major n Internet o reprezint
milioanele de utilizatori individuali care au conexiuni de acas la Internet folosind modemuri i linii
telefonicecomutate. De obicei PC-ul casnic al unui utilizator apeleaz un furnizor de servicii
Internet, cum ar fi America Online, CompuServe i Microsoft Network, sau una din mai multe
universiti i companii ce furnizez conectivitate Internet la domiciliu pentru studenii i angajaii
lor. Uneori PC-ul casnic funcioneaz chiar ca un terminal orientat caracter, conectat la sistemul cu
divizarea timpului al furnizorului de servicii Internet. In acest mod, utilizatorul poate introduce
comenzi i poate executa programe, dar serviciile Internet n mod grafic, cum ar fi World Wide
Web, nu sunt disponibile. Acest mod de lucru este cunoscut ca avnd un cont de lucru prin linia de
comand (shell account).
Alternativ, PC-ul casnic, poate apela un ruter al furnizorului de servicii Internet i poate aciona
astfel ca orice calculator gazd Internet. Aceast metod de operare nu este diferit de aceea n care
exist o linie nchiriat ntre PC i ruter, cu excepia faptului c se nchide conexiunea atunci cnd
utilizatorul i termin sesiunea. In aceast abordare, toate serviciile Internet, inclusiv cele grafice*
devin disponibile. n Fig. 3-26 este ilustrat un PC casnic ce apeleaz un furnizor de servicii Internet.
Att pentru conexiunea pe linie nchiriat ruter-ruter ct i pentru conexiunea comutat
calcalator^azd^raterreste necesar un protocol de legtur-de date punct-la-punct pentru ncadrare,
212 NIVELUL LEGTURA DE DATE CAP. 3

controlul erorilor i pentru alte funcii ale nivelului legtur de date pe care le-am studiat n acest
capitol. n Internet sunt folosite dou astfel de protocoale, SLIP i PPP. n continuare le vorn
examina pe amndou.

3.63 SLIP-Serial Line IP

SLIP este cel mai vechi dintre cele dou protocoale. El a fost conceput de Rick Adams n 1984
pentru a conecta staiile de lucru Sun n Internet, prin intermediul unei linii comutate folosind un
modem. Protocolul, dup cum este descris n RFC 1055, este foarte simplu.

Acas la utilizator Biroul furnizorului de servicii Internet

PC

D
Proces client
\ \
folosind TCP/IP
Linie telefonic
comutat

Modem
Conexiune TCP/IP
folosind SLIP sau PPP

Proces de rutare

Fig. 3-26. Un calculator personal lucrnd ca un calculator gazda n Internet

Staia de lucru trimite pachete IP curate de-a lungul liniei, cu un octet indicator special de
ncadrare (OxCO) la sfrit. Dac octetul indicator apare n interiorul pachetului IP, este
folosit o form de umplere cu caractere i este trimis n locul acestuia secvena de doi octei
(OxDB, OxDC). Dac OxDB apare n interiorul pachetului IP, el va fi, de asemenea, codificat
prin umplere. Anumite implementri de SLIP ataeaz un octet indicator att la nceputul ct
i la sfritul fiecrui pachet IP trimis.
Versiuni mai recente de SLIP fac o oarecare comprimare a antetelor TCP i IP. Ele se bazeaz.
pe faptul c pachetele consecutive au adeseori multe cmpuri din antet comune. Acestea sunt
comprimate prin omiterea acelor cmpuri care sunt identice cu cmpurile corespunztoare din
pachetul IP anterior. Mai mult dect att, cmpurile care difer nu sunt trimise n ntregime, ci ca
incremente fa de valoarea lor anterioar. Aceste optimizri sunt descrise n RFC 1144.
Cu toate c este larg utilizat, SLIP are cteva probleme deosebit de serioase. n primul rnd el nu
face nici un fel de detecie sau corecie a erorilor, astfel nct trebuie ca niveluri superioare s
detecteze i s recupereze cadrele pierdute, distruse sau amestecate.
n al doilea rnd, SLIP suport doar IP. Odat cu creterea Internet-ului, au aprut i reele care
nu folosesc IP ca limbaj nativ (de exemplu LAN-urile Novell), ceea ce face ca aceast restricie s
devin din ce n ce mai serioas.
n al treilea rnd, fiecare parte trebuie s cunoasc dinainte adresa IP a celeilalte; nici o adres
nu poate fi asociat dinamic, la momentul pornirii. Dat fiind limitarea curent a adreselor IP,
SEC. 3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 213

aceast limitare este o problem major, deoarece este imposibil s se atribuie fiecrui utilizator
Internet de la domiciliu o adres IP unic.
n al patrulea rnd, SLIP nu furnizeaz nici o form de autentificare, astfel nct nici una din
entiti nu tie cu cine urmeaz s comunice. Pentru linii nchiriate aceasta nu este o problem, dar
este pentru linii comutate.
n al cincilea rnd, SLIP nu este un Standard Internet aprobat, astfel c exist multe versiuni
diferite (i incompatibile). Aceast situaie nu faciliteaz lucrul n echip.

3.6.4 PPP -Point-to-Point Protocol (protocol punct-la-punct)

Pentru a mbunti situaia, IETF a definit un grup pentru proiectarea protocoalelor


legturii de date pentru liniile punct-la-punct, care s rezolve toate aceste probleme i care s
poat deveni un Standard Internet. Aceast activitate a culminat cu PPP (Point-to-Point
Protocol - protocolul punct-la-punct) care este definit n RFC 1661 i dezvoltat n alte cteva
RFC-uri (de exemplu RFC-urile 1662 i 1663). PPP face detecia erorilor, suport mai multe
protocoale, permite ca adresele IP s fie negociate n momentul conectrii, permite
autentificarea i are multe alte mbuntiri fa de SLIP. n timp ce muli furnizori de servicii
Internet ofer nc suport att pentru SLIP ct i pentru PPP, viitorul aparine cu siguran
PPP-ului, att pentru liniile comutate ct i pentru liniile nchiriate ruter-ruter.
PPP furnizeaz trei lucruri:
1. O metod de mprire n cadre care delimiteaz, fr ambiguitate, sfritul unuia i
nceputul urmtorului. Formatul cadrului permite i detecia de erori.
2. Un protocol de legtur pentru a obine liniile, a le testa, a negocia opiunile i pentru a
elibera liniile atunci cnd nu mai este nevoie de ele. Acest protocol se numete LCP(Link
Control Protocol - protocolul de control al legturii).
3. Un mod de a negocia opiunile nivelului reea ntr-un mod independent de protocolul
folosit pentru nivelul reea. Metoda aleas este de a avea un NCP (Network Control
Protocol - protocolul de control al reelei) pentru fiecare nivel de reea suportat.
Pentru a vedea cum lucreaz mpreun aceste pri, s considerm un scenariu tipic n care
un utilizator sun de la domiciliu un furnizor de servicii Internet pentru a transforma PC-ul
su casnic ntr-un calculator gazd Internet temporar. PC-ul apeleaz mai nti ruterul
furnizorului prin intermediul unui modem. Dup ce modemul ruterului a rspuns la telefon i
s-a stabilit o conexiune fizic, PC-ul trimite ruterului o serie de pachete LCP n cmpul de
informaie util (payload) al unuia sau mai multor cadre PPP. Aceste pachete i rspunsurile
lor selecteaz parametri PPP ce vor fi utilizai.
Odat ce parametrii s-au stabilit de comun acord, mai multe pachete NCP sunt trimise pentru a
configura nivelul reea. n mod obinuit, PC-ul vrea a ruleze o suit de protocoale TCP/IP i va avea
nevoie de o adres IP. Deoarece nu exist adrese IP suficiente, fiecare furnizor de Internet ia un
bloc din ele i asociaz dinamic cte una pentru fiecare PC nou ataat n reea, pe durata sesiunii de
conectare. Dac un furnizor posed n adrese IP, el poate avea pn la n maini conectate simultan,
dar numrul total de clieni poate fi de mai multe ori pe att. NCP pentru IP este folosit pentru a
realiza asocierea adreselor IP.
214 NIVELUL LEGTURA DE DATE CAP. 3

n acest moment, PO-ul este un calculator gazd Internet i poate trimite i primi pachete IP,
exact aa cum o pot face calculatoarele conectate prin cabluri. Cnd utilizatorul termin, NCP este
folosit pentru a ntrerupe conexiunea la nivelul reea i pentru a elibera adresele IP. LCP este folosit
pentru a ntrerupe conexiunea la nivelul legtur de date. n final, calculatorul spune modemului s
nchid telefonul, elibernd conexiunea la nivel fizic.
Formatul cadrului PPP a fost ales foarte asemntor cu formatul cadrului HDLC deoarece nu
exista nici un motiv pentru a se reinventa roata. Diferena major ntre PPP i HDLC este c primul
este mai degrab orientat pe caractere dect pe bii. n particular, PPP, ca i SLIP, folosete
umplerea cu caractere pe liniile comutate prin modem, astfel nct toate cadrele au un numr ntreg
de octei. Nu este posibil s se trimit un cadru constnd din 30.25 octei, aa cum era la HDLC.
Cadrele PPP pot fi transmise nu numai pe liniile telefonice comutate, ele pot fi transmise i pe linii
SONET sau linii HDLC, cu adevrat orientate pe bii (de exemplu pentru conexiuni ruter-ruter),
Formatul cadrului PPP este prezentat n Fig. 3-27.

Octei 1 1 1 1 sau 2 Variabil 2 sau 4 1


rr
Jr"
Indicator Adres Control Sum de Indicator
Protocol Informaie
01111110 11111111 00000011 utila' control 01111110
Jj

Fig. 3-27. Formatul complet de cadru PPP pentru operarea n mod nenumerotat.

Toate cadrele PPP ncep cu octetul indicator HDLC standard (01111110), pentru care se
folosete umplerea cu caractere, dac apare n cadrul cmpului ce specific infonnaia util. Dup
acesta urmeaz cmpul Adres, care este ntotdeauna setat la valoarea binar 11111111, indicnd
astfel c toate staiile trebuie s accepte cadrul. Folosirea acestei valori evit situaia n care se
asociaz adrese legturii de date.
Cmpul Adres este urmat de cmpul Control, a crui valoare implicit este 00000011. Aceast
valoare indic un cadru nenumerotat. Cu alte cuvinte, PPP nu furnizeaz o transmisie sigur
folosind numere de secven i confirmri n mod implicit. n medii cu zgomote, cum ar fi reelele
fr fir, poate fi folosit transmisia sigur utiliznd numere de secven. Detaliile exacte sunt definite
n RFC 1663.
Deoarece cmpurile Adres i Control sunt ntotdeauna constante n configuraiile implicite, LCP
furnizeaz mecanismul necesar ca cele dou pri s negocieze opional omiterea amndurora i s
salveze astfel doi octei pe cadru.
Cel de-al patrulea cmp PPP este cmpul Protocol. Sarcina lui este s spun ce tip de pachet este
n cmpul Informaie util. Sunt definite coduri pentru LCP, NCP, IP, IPX, AppleTalk i alte
protocoale. Protocoalele ce ncep cu un bit 0 sunt protocoale pentru nivelul reea, cum ar fi IP, IPX,
OSI CLNP, XNS. Acelea care ncep cu un bit 1 sunt folosite pentru a negocia alte protocoale.
Acestea includ LCP i un NCP diferit pentru fiecare protocol de reea suportat. Dimensiunea
implicit a cmpului Protocol este de 2 octei, dar ea poate fi negociat la 1 octet folosind LCP.
Cmpul Informaie util este de lungime variabil, pn'la o anumit limit maxim
negociat. Dac lungimea nu este negociat folosind LCP n timpul setrii liniei, este folosit o
SEG3.6 EXEMPLE DE PROTOCOALE ALE LEGTUM DE DATE 215

lungime implicit de 1500 de octei. Dac este necesar, dup informaia util pot fi adugate
caractere de umplere.
Dup cmpul Informaie util urmeaz cmpul Sum de control, care este n mod normal
de 2 octei, dar poate fi modificat la 4 octei.
n concluzie, PPP este un mecanism de ncadrare multiprotocol potrivit pentru folosirea pe
linii cu modem, linii seriale orientate pe bii HDLC, SONET i alte niveluri fizice. Suport
detecia erorilor, negociere opional, compresia antetului i, opional, transmisie sigur
folosind cadre HDLC.
S ne ntoarcem acum de la formatul cadrului PPP la modul n care liniile sunt stabilite (brought
up) i eliberate (brought down). Diagrama simplificat din Fig. 3-28 arat fazele prin care trece o
linie atunci cnd este stabilit, folosit i eliberat. Secvena se aplic att pentru conexiunile prin
modem ct i pentru conexiunile ruter-ruter.

Purttoare Ambele pri se pun .Autentificare


detectat de acord asupra opiunilor reuit

Purttoare Configurare
eliberat NCP

Fig. 3-28. O diagrama de faze simplificata pentru stabilirea i eliberarea unei linii.

Cnd o linie este DEAD, nu este prezent nici o purttoare la nivel fizic i nu exist nici o
conexiune fizic. Dup ce este stabilit conexiunea fizic, linia trece n ESTABLISH. n acest punct
ncepe negocierea opional LCP care, dac reuete, conduce la AUTHENTICAE. Acum cele
dou pri pot s-i verifice una alteia identitatea, dac doresc. Cnd se intr n faza NETWORK,
este invocat protocolul NCP corespunztor pentru a configura nivelul reea. Dac configurarea se
face cu succes, este atins faza OPEN i poate avea loc transportul datelor. Gnd transportul datelor
este terminat,linia este trecut n faza TERMINATE i, de aici, napoi n DEAD unde purttoarea
este ntrerupt.
LCP este folosit pentru a negocia ogiuml^rotoTOlului legturii de date n timpul fazei
ESTABLISH. Protocolul LCP nu se ocup chiar de opiuni, ci de mecanismul de negociere. El
furnizeaz procesului iniiator un mod de a face o propunere i procesului de rspuns un mod
de a accepta sau refuza aceast- propunere. De asemenea, el furnizeaz celor dou procese un
mecanism de a testa calitatea liniei, de a verifica dac aceasta este suficient de bun pentru a
216 NIVELUL LEGTURA DE DATE CAP. 3.

defini o conexiune. n fine, protocolul LCP permite liniilor s fie eliberate atunci cnd nu mai
este nevoie de ele. ..,..,,
n RFC 1661 sunt definite unsprezece tipuri de pachete LCP. Acestea sunt listate n Fig. 3-29.
Cele patru tipuri Configure- permit iniiatorului (I) s propun valori pentru opiuni i celui care
rspunde (R) s le accepte sau s le refuze. n ultimul caz, cel care rspunde poate face o propunere
alternativ sau poate anuna c nu este gata s negocieze n nici un fel anumite opiuni. Opiunile ce
vor fi negociate i valorile propuse pentru ele sunt coninute n pachetele LCP.

Nume Direcie Descriere

r Configure-request
Configure-ack
I->R
I<-R
Lista opiunilor i valorilor propuse
Toate opiunile sunt acceptate
Configure-nak M Anumite opiuni nu sunt acceptate

\ i
Configure-reject
Terminate-request
I<-R
I-R
Anumite opiuni nu sunt negociabile
Cerere de eliberare a liniei

Terminate-ack I<-R OK, linia este eliberat


f Code-reject I<-R Primire cerere necunoscut
Protocol-reject I<-R Cerere protocol necunoscut
i Echo-request I->R Rog trimiterea acestui cadru napoi
V
Echo-replay I<-R lat cadrul napoi
V
i Discard-request I->R Ignor cadrul (pentru testare)

Fig. 3-29. Tipurile de pachete LCP

Codurile Terminate- sunt folosite pentru a elibera o linie atunci cnd ea nu mai este
necesar. Codurile Code-reject i Protocol-reject sunt folosite de ctre cel ce rspunde pentru a
spune c a primit ceva ce nu nelege. Aceast situaie poate nsemna c a avut loc o eroare de
transmisie, dar, mai degrab, nseamn c iniiatorul i cel ce rspunde folosesc versiuni
diferite ale protocolului LCP. Tipurile Echo- sunt folosite pentru a testa calitatea liniei. n
sfrit, Discard-request este folosit pentru depanare. Dac unul din capete are probleme cu
transmiterea biilor, programatorul poate folosi acest tip pentru testare. Dac el reuete s
mearg de la un capt la cellalt, receptorul doar l rejecteaz, fr a ntreprinde nici o aciune
care ar putea genera confuzii pentru persoana care testeaz.
Opiunile care pot fi negociate includ definirea dimensiunii maxime pentru informaia util din
cadrele de date, activarea autentificrii i alegerea protocolului ce va fi folosit, activarea
monitorizrii calitii liniei n timpul operaiunilor normale i selectarea diferitelor opiuni pentru
comprimarea antetului.
Nu se pot spune multe despre protocoalele NCP n general. Fiecare este specific unui
anumit protocol de nivel reea i permite s se fac cereri de configurare ce sunt specifice unui
anumit protocol. De exemplu, pentru IP, asocierea dinamic a adreselor este cea mai
important posibilitate.
SEC. 3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 217

3.6.5 Nivelul legtura de date la ATM

Acum este momentul s ncepem cltoria noastr prin niveluri de protocol ATM din Fig. 3-30.
Nivelul fizic ATM acoper cu aproximaie niveluri OSI fizic i legtur de date, cu subnivelul fizic
dependent de mediu, identic funcional cu nivelul fizic OSI i cu subnivelul de convergen a
transmisiei (TC- transmission convergence) avnd funcionalitatea legturii de date. Nu exist
caracteristici ale nivelului fizic specifice pentru ATM. n schimb, celulele ATM pot fi transportate de
SONET, FDDI i alte sisteme de transmisie. De aceea ne vom concentra aici asupra funcionalitii
de legtur de date a subnivelului TC i vom discuta mai trziu cteva aspecte ale interfeei cu
subnivelul inferior.
Cnd un program de aplicaie produce un mesaj ce trebuie transmis, mesajul parcurge stiva
de protocoale ATM, primind antete i terminatori i este segmentat n celule. n cele din urm
celulele ating subnivelul TC pentru transmisie. S vedem ce se ntmpl cu ele n continuare.

Transmisia celulelor
Primul pas este verificarea sumei de control a antetului. Fiecare celul conine un antet de
5 octei ce const din 4 octei ce specific circuitul virtual i informaia de control urmai de
suma de control pe 1 octet. Dei coninutul antetului nu este relevant pentru subnivelul TC,
cititorii curioi, ce doresc s arunce o-privire asupra acestuia, o pot face n Fig. 5-62. Suma de
control acoper primii patru octei din antet, nu cmpul informaie util. Ea const din restul
mpririi antetului de 32 de bii la polinomul x8+x2+x+l. La aceasta se adaug constanta
01010101, pentru a asigura robustee n cazul antetelor ce conin mai muli bii 0 dect 1.
Decizia de a verifica suma de control doar pentru antet a fost luat pentru a reduce
probablitatea de livrare incorect a celulelor datorit unei erori din antet, dar evitnd preul
unei verificri a sumei de control pentru cmpul informaie util. Nivelurile superioare vor
aplica aceast funcie dac este nevoie. Pentru multe aplicaii de timp real, cum ar fi cele de
voce i video, pierderea din cnd n cnd a unor bii este acceptabil (cu toate c pentru
anumite scheme de compresie, toate cadrele sunt egale, dar anumite cadre sunt mai egale
dect altele). Deoarece acoper numai antetul, cmpul suma de control pe 8 bii este numit
HEC (controlul erorilor pentru antet - Header Error Control).
Un factor ce a jucat un rol major n realizarea schemei pentru suma de control este acela c
ATM a fost proiectat pentru folosirea prin medii de fibr optic ce sunt foarte sigure. Mai mult
dect att, un studiu major al reelei telefonice din S.U.A. a artat c n timpul operrii normale,
99.64 % din toate erorile de pe liniile de fibr optic sunt erori de un singur bit (AT&T i Bellcore,
1989). Schema HEC corecteaz toate erorile de un singur bit i detecteaz la fel de bine multe erori
multi-bit. Dac presupunem c probabilitatea de a se produce o eroare de un singur bit este de IO"8,
atunci probabilitatea ca o celul s conin o eroare antet muli-bit este n jur de IO"13. Probabilitatea
ca o celul s se strecoare cu un antet eronat este de aproape IO'20, ceea ce nseamn c la viteza
OC-3, o celul cu antet greit va aprea o dat la 90 000 de ani. Cu toate c aceasta pare s
reprezinte un timp destul de lung, pentru 1 miliard de telefoane ATM, fiecare utilizat 10 procente
din timp, vor scpa nedetectate peste 1000 de celule cu antet eronat pe an.
Pentru aplicaii ce necesit transmisie sigur la nivelul legtur de date, Shaeham i McKenney
(1990) au dezvoltat o schem n care o secven de celule consecutive este combinat XQR.
218 NIVELUL LEGTUR DE DATE CAP. 3

Rezultatul, o celul ntreag, este adugat la secven. Dac una din celule este pierdut saii
eronat, ea poate fi reconstruit din informaia disponibil.
Odat ce HEC-ul a fost generat i inserat n antetul celulei, aceasta este gata pentru a fi
transmis. Mediul de transmisie se mparte n dou categorii: asincron i sincron. Cnd se
folosete un mediu asincron, o celul poate fi transmis ori de cte ori ea este gata pentru a fi
transmis. Nu exist restricii de timp. Cu un mediu sincron, celulele trebuie transmise dup
un ablon de timp predefinit. Dac nu exist celule de date disponibile atunci cnd este nevoie,
subnivelul TC trebuie s inventeze una. Aceste celule se numesc celule libere (idle cells).
Un alt tip de celule ce nu conin date sunt celulele OAM (Operation And Maintenance -operare
i ntreinere). Celulele OAM sunt de asemenea utilizate de ctre comutatoarele ATM pentru
schimbul de informaii de control i de alte tipuri necesare pentru a menine sistemul n funciune.
Celulele OAM au de asemenea i cteva funcii speciale. De exemplu viteza de 155.52 Mbps OC-3
corespunde ratei de date brute a SONET-ului, dar un cadru STM-1 are un total de 10 coloane de
suprancrcare din 270, aa c ncrcarea pentru SONET este doar de 260/270x155.52 Mbps sau
149.76 Mbps. Pentru a scap SONET-ul de inundare, o surs ATM ce folosete SONET-ul ar trebui
n mod normal s emit o celul OEM la fiecare 27 de celule, pentru a ncetini scderea ratei de
date la 26/27 din 155.52Mbps i astfel s se coordoneze exact cu SONET-ul. Sarcina de a potrivi rata
de ieire a ATM-ului cu rata sistemului de transmisie inferior este o misiune important a
subnivelului TC.
Pentru receptor, celulele libere sunt prelucrate n subnivelul TC, dar celulele OAM sunt
transmise nivelului ATM. Celulele OAM se deosebesc de celulele de date prin faptul c au primii
trei octei din antet egali cu zero, lucru nepermis pentru celulele de date. Cel de-al patrulea octet
descrie natura celulei OAM.
O alt sarcin important a subnivelului TC este generarea informaiei de ncadrare pentru
sistemul de transmisie de la baz, dac exist. De exemplu, o camer video ATM trebuie s produc
att o secven de celule pe fir, ct i cadre cu celule ATM incorporate n cmpul de informaie util
de la SONET. n acest din urm caz, subnivelul TC ar trebui s genereze ncadrare SONET i s
mpacheteze celulele ATM n aceste cadre, ceea ce nu este o sarcin prea uoar, deoarece cmpul
de informaie util de la SONET nu cuprinde un numr ntreg de celule de 53 de octei.
Dei companiile telefonice intenioneaz s foloseasc SONET-ul ca subsistem de transmisie de
baz pentru ATM, au fost definite, i corespondenele de la ATM la cmpurile de informaie util
ale altor sisteme, iar actualmente se lucreaz la cele noi. In particular, exist puneri n coresponden
pentru TI, T3 i FDDI.

Recepia celulelor
Sarcina subnivelului TC la ieire este s preia o secven de celule, s adauge un HEC la
fiecare, s converteasc rezultatul ntr-un ir de bii i s potriveasc irul de bii la viteza
sistemului fizic de transmisie de la baz prin inserarea de celule OAM ca umplutur. La
intrare, subnivelul TC procedeaz exact invers. El ia irul de bii de la intrare, localizeaz
limitele celulelor, verific antetele (elimin celulele cu antet incorect), proceseaz celulele
OAM i transmite celulele n sus spre nivelul ATM.
Cea mai dificil parte este localizarea limitelor celulelor n irul de bii de la intrare. La
nivel de bii, o celul este doar o secven de 53x8=424 bii. Nu sunt prezeni octei indicatori
SEC.3.6 EXEMPLE DE PROTOCOALE ALEiEGURH DE DATE 219

01111110 pentru a marca nceputul i sfritul unei celule, .cum exist la HDLC. De fapt, nu
exist de loc marcaje. Ciimqpot s fie recunoscute n ageast, situai limitele celulelor?
n anumite cazuri, nivelul fizic de la baziuinizeaz un ajutor. Cu SONET, de exemplu, celulele
pot fi aliniate cu Synchronous Paybad Enyebpe (nveli sincron pentru informaia util), astfel nct
pointerul SPE din antetul SONET indic nceputul primei celule complete. Cu toate acestea, uneori
nivelul fizic nu furnizez nici o asisten pentru ncadrare. Ce se face atunci?
Ideea este s se foloseasc HEC-ul. Pe msur ce biii sosesc, subnivelul TC menine un registru
de deplasare de 40 de bii, cu biii intrnd prin stnga i ieind prin dreapta. Subnivelul TC
inspecteaz cei 40 de bii s vad dac acetia pot reprezenta un antet corect de celul. Dac da, cei
mai nesemnifcativi 8 biii vor fi HEC-ul valid pentru cei mai din stnga 32 de bii. Dac condiia nu
este ndeplinit, tamponul nu conine o celul valid, caz n care toi biii din tampon sunt deplasai
la dreapta cu un bit, producnd eliminarea unui bit i intrarea unui bit nou la captul din stnga.
Procesul este repetat pn cnd este localizat un HEC valid. La acest punct, extremitatea celulei este
cunoscut, deoarece registrul de deplasare conine un antet valid.
Problema cu aceast euristic este c HEC-ul este format doar din 8 bii. Pentru orice registru de
deplasare dat, chiar unul care conine bii aleatorii, probabilitatea de a gsi un HEC valid este 1/256,
o valoare destul de mare. Utilizat de sine stttor, aceast procedur ar detecta incorect mult prea
des, antetele celulelor.

Verificare Verificare
bitcubit g e HEC corect celul cu celul
netec

a 8
HEC-uri HEC-uri
incorecte corecte
consecutive consecutive

Fig. 3-30. Euristica delimitrii celulelor.

Pentru a mbunti precizia algoritmului de recunoatere, este folosit automatul finit din
Fig. 3-30. Sunt utilizate trei stri: HUNT, PRESYNCH i SYNCH. n Starea HUNT, subnivelul
TC deplaseaz biii n registrele de deplasare cte unul la un moment dat, cutnd un HEC
valid. Atunci cnd este gsit unul, automatul finit comut n starea PRESYNCH, aceasta
nsemnnd c a localizat o extremitate de celul. Acum el va deplasa urmtorii 424 bii (53
octei) fr a-i examina. Dac presupunerea despre extremitatea de celul a fost corect,
registrul de deplasare ar trebui s conin acum un alt antet valid de celul, astfel nct s
ruleze din nou algoritmul HEC. Dac HEC-ul este incorect, TC merge napoi n starea HUNT
i continu cutarea bit cu bit a unui antet al crui HEC este corect.
Pe de alt parte, dac al doilea HEC este de asemenea corect, TC poatea gsit ceva, aa c el
deplaseaz ali 424 bii i ncearc din nou. El continu s inspecteze antetele n aceast manier
220 NIVELUL LEGTUR DE DATE CAP. 3

pn cnd gsete 8 antete la rnd, moment la care el presupune c s-a sincronizat i trece n starea
SYNCH pentru a ncepe operarea normal. De notat c probabilitatea ca s se intre n starea
SYNCH, printr-un accident, cu un ir de bii pur aleator este de 2~, care poate fi fcut arbitrar de
mic prin alegerea unui 8 suficient de mare. Preul pltit pentru un 8 mare este totui un timp mai
mare de sincronizare.
n plus, pentru a se resincroniza dup pierderea sincronizrii (sau la pornire), subnivelul TC are
nevoie de o euristic pentru a determina cnd s-a pierdut sincronizarea, de exemplu dup ce un bit a
fost inserat sau ters din irul de bii. Ar fi lipsit de nelepciune s se renune dac doar un HEC a
fost incorect, deoarece multe erori rezult din inversri de bii, nu din inserri sau din tergeri. Cel
mai nelept lucru de fcut aici este s se elimine celula cu antet eronat i s se spere c urmtoarea
va fi bun. Totui, dac al a-lea HEC la rnd este eronat, subnivelul TC trebuie s trag concluzia c
s-a pierdut sincronizarea i trebuie s revin n starea HUNT.
Cu toate c este puin probabil, exist posibilitatea ca un utilizator ru-intenionat s ncerce s
nele subnivelul TC prin inserarea unei configuraii de date n cmpul informaie util al multor
celule consecutive care imit algoritmul HEC. Atunci, dac sincronizarea a fost vreodat pierdut,
ea va fi rectigat ntr-un loc greit. Pentru a face acest artificiu mai greu de aplicat, biii informaie
util sunt mixai la transmisie i separai la recepie.
nainte s prsim subnivelul TC, este bine s facem urmtorul comentariu. Mecanismul ales
pentru delimitarea celulelor necesit ca subnivelul TC s neleag i s foloseasc antetul nivelului
ATM superior. Existena unui nivel care utilizeaz antetul unui nivel superior este o violare a
regulilor de baz ale ingineriei protocoalelor. Ideea de a avea protocoale structurate pe niveluri este
aceea de a realiza independena nivelurilor. Ar fi posibil, de exemplu, s se schimbe formatul
antetului nivelului ATM fr a afecta subnivelul TC. Totui, datorit modului n care este realizat
delimitarea celulelor, efectuarea unei asemenea schimbri nu este posibil.

3.7 REZUMAT

Sarcina nivelului legtur de date este de a converti irurile de bii oferite de nivelul fizic n iruri
de cadre pentru a fi folosite de ctre nivelul reea. Sunt utilizate diferite metode de ncadrare,
incluznd numrarea caracterelor, inserarea de caractere i umplerea cu bii. Protocoalele legturii
de date pot furniza controlul erorilor pentru retransmiterea cadrelor distruse sau pierdute. Pentru a
mpiedica un emitor rapid s suprasolicite un receptor lent, protocolul legturii de date poate
furniza i controlul fluxului. Mecanismul cu fereastr glisant este foarte folosit pentru a integra
controlul erorilor si controlul fluxului ntr-un mod convenabil.
Protocoalele cu fereastr glisant pot fi clasificate dup dimensiunea ferestrei emitorului i
dup dimensiunea ferestrei receptorului. Cnd ambele sunt egale cu 1, protocolul este pas-cu-pas
(stop-and-wait). Cnd fereastra emitorului este mai mare ca 1, de exemplu pentru a mpiedica
emitorul s blocheze un circuit cu o ntrziere mare de propagare, receptorul poate fi programat
fie s elimine toate celelalte cadre cu excepia urmtorului din secven (protocolul 5), fie s
memoreze cadrele neordonate pn cnd ele vor fi necesare (protocolul 6).
Protocoalele pot fi modelate folosind diferite tehnici ce ajut la demonstrarea corectitudinii lor
(sau a lipsei acesteia). Modelele bazate pe automate finite i modelele bazate pe reele Petri sunt
larg utilizate n acest scop.
PROBLEME 221

reele folosesc la nivelul legtur de date unul dintre protocoalele orientate pe bii -
g HDLC, ADCCP sau LAPB. Toate aceste protocoale folosesc octei indicatori pentru
delimitarea cadrelor i inserarea de bii pentru a preveni apariia octeilor indicatori n cadrul
datelor. De asemenea toate aceste protocoale folosesc fereastra glisant pentru controlul fluxului.
Internet-ul utilizeaz SLIP i PPP ca protocoale ale legturii de date. Sistemele ATM au propriul lor
protocol simplu, care face o minim verificare a erorilor i nici un fel de control al fluxului.

3.8 PROBLEME

1. Un mesaj de la un nivel mai nalt este spart n 10 cadre, fiecare dintre acestea avnd 80% ans
de a ajunge nemodificat. Dac nu se face nici un control al erorilor de ctre protocolul legturii
de date, de cte ori va trebui transmis mesajul n medie pentru a-1 obine ntreg la destinaie?

2. Urmtorul fragment de date apare n mijlocul unui ir de date pentru care este folosit
algoritmul de inserare de caractere descris n text: DLE, STX, A, DLE, B, DLE, ETX. Care
este ieirea dup inserare?

3. Dac n irul de bii 0111101111101111110 se insereaz bii, care este irul de ieire?

4. Cnd este utilizat inserarea de bii, este posibil ca prin pierderea, inserarea sau modificarea
unui singur bit s se provoace o eroare nedetectabil prin suma de control? Dac nu, de ce?
Dac da, de ce? Lungimea sumei de control joac vreun rol aici?

5. Putei concepe o situaie n care un protocol cu bucl deschis (de exemplu un cod
Hamming) poate fi preferabil protocoalelor cu bucl de reacie (feedback), discutate pe
parcursul acestui capitol?

6. Pentru a furniza o mai mare siguran dect cea pe care o poate da un singur bit de paritate, o
schem de codificare cu detecie de erori folosete un bit de paritate pentru verificarea tuturor
biilor de ordin impar i un al doilea bit de paritate pentru toi biii de ordin par. Care este
distana Hamming pentru un astfel de cod?

7. Un mod de a detecta erorile este de a transmite datele ca un bloc de n rnduri a cte k bii pe
rnd i adugarea de bii de paritate pentru fiecare rnd i fiecare coloan. Va detecta aceast
schem toate erorile singulare? Dar erorile duble? Dar erorile triple?

8. Un bloc de bii eu n rnduri i k coloane folosete bii de paritate vertical i orizontal pentru
detecia erorilor, S presupunem c datorit erorilor de transmisie sunt inversai exact 4 bii.
Deducei o expresie pentru exprimarea probabilitii ca eroarea s nu fie detectat.

9. Ce rest se obine prin mprirea lui x 7 +x 5 +l la polinomul generator x 3 +l?

10. Protocoalele legturii de date pun aproape ntotdeauna CRC-ul n partea final i nu n antet.
Dece?
222 NIVELUL LEGTUR DE DATE CAP. 3

11. Un canal are o rat de transmisie a biilor de 4kbps i o ntrziere de propagare de 20 msec.
Pentru ce domeniu al dimensiunii cadrelor metoda pas-cu-pas (stop-and-wait) are o eficien de
celpuin50%?

12. Un trunchi TI lung de 3000 km este folosit pentru a transmite cadre de 64 de bii folosind
protocolul 5. Dac viteza de propagare este de 6 usec/km, pe ci bii trebuie reprezentate
numerele de secven?

13. Imaginai un protocol cu fereastr glisant ce folosete suficieni bii pentru numerele de
secven, astfel nct s nu apar niciodat suprapuneri. Ce relaie trebuie s existe ntre cele
patru limite ale ferestrelor i dimensiunea ferestrei?

14. Dac procedura between din protocolul 5 este verificat pentru condiia a < b < c n locul
condiiei a < b < c, ar avea aceasta vreun efect asupra corectitudinii protocolului sau eficienei
sale? Explicai rspunsul.

15. n protocolul 6, cnd sosete un cadru de date, este fcut o verificare pentru a se vedea dac
numrul de secven difer de cel ateptat i NoNak este adevrat. Dac ambele condiii sunt
ndeplinite, este trimis un NAK Altfel, este pornit contorul de timp auxiliar. Presupunei c ar fi
omis clauza else. Ar afecta aceasta corectitudinea protocolului?

16. Presupunem c bucla while cu trei instruciuni din finalul protocolului 6 a fost tears din cod.
Ar afecta aceasta corectitudinea protocolului sau doar performana? Explicai rspunsul.

17. Presupunem c instruciunea case pentru erorile de sum de control a fost scoas din
instruciunea switch din protocolul 6. Cum ar afecta aceasta operarea protocolului?

18. n protocolul 6 codul pentru FrameAnival are o seciune folosit pentru NAK-uri. Aceast
seciune este invocat n cazul n care cadrul sosit este un NAK i este ndeplinit nc o
condiie. Indicai un scenariu n care prezena acestei condiii este esenial.

19. Imaginai-v c scriei un program la nivelul legtur de date pentru o linie folosit pentru
a primi date, dar nu i pentru a trimite. Cellalt capt folosete HDLC, cu un numr de
secven pe 3 bii si o dimensiune a ferestrei de 7 cadre. Ati dori s memorai ct mai
multe cadre din secven pentru a crete eficiena, dar nu v este permis s modificai
programul pentru transmisie. Este posibil s avei o fereastr la receptor mai mare ca 1 i
totui s existe garania c protocolul nu va eua? Dac da, care este fereastra cea mai
mare care poate fi utilizat n siguran?

20. Considerai operarea protocolului 6 pe o linie fr erori de IMbps. Dimensiunea maxim a


cadrului este 1000 bii. Pachetele noi sunt generate la un inteval de aproape 1 secund.
Intervalul de expirare a timpului este de 10 msec. Dac ar fi eliminate confirmrile speciale
pentru contorul de timp, ar putea aprea expirri de timp inutile. De cte ori ar trebui transmis
n medie un mesaj ?
SEC. 3.8 PROBLEME 223

21. n protocolul 6 MaxSeq=T-l. n timp ce aceast condiie este evident necesar pentru a utiliza
eficient biii din antet, nu s-a demonstrat c ea este i esenial, Ar lucra protocolul corect
pentru MaxSeq=A de exemplu?

22. Cadrele de 1000 de bii sunt transmise pe un canal prin satelit de IMbps, Confirmrile sunt
ntotdeauna ataate cadrelor de date. Antetele sunt foarte scurte. Sunt folosite numere de
secven pe 3 bii. Care este utilizarea maxim realizabil a canalului pentru:
a) Pas-cu-pas (stop-and-wait);
b) Protocolul 5;
c) Protocolul 6.

23. Calculai fraciunea din lrgimea de band ce este pierdut datorit suprancrcrii (antete i
retransmisie) pentru protocolul 6 pe un canal de satelit de 50 kbps, foarte ncrcat cu cadre de
date constnd din 40 de bii antet i 3960 bii de date. Cadrele ACK nu apar niciodat. Cadrele
NACK sunt de 40 de bii. Rata de erori pentru cadrele de date este de 1% i rata de erori
pentru cadrele NACK este neglijabil. Numerele de secven sunt pe 8 bii.

24. Se consider un canal prin satelit fr erori, de 64 kbps, folosit pentru a transmite cadre de date
ntr-o singur direcie, cu confirmri foarte scurte ce se ntorc pe alt cale. Care este
productivitatea maxim pentru dimensiuni ale ferestrei de 1,7,15 i 127?

25. Un cablu lung de 100 km funcioneaz la rata de transmisie de date TI. Viteza de propagare pe
cablu este 2/3 din viteza luminii. Ci bii ncap pe cablu?

26. Redesenai Fig. 3-21 pentru un canal duplex-integral care nu pierde niciodat cadre. Este totui
posibil eecul protocolului? * > '

27. Dai o secven executabil pentru reeaua Petri din Fig. 3-23 corespunztoare secvenei de stri
(000), (01A), (01-), (010), (01A) n Fig. 3-20. Explicai n cuvinte ce reprezint secvena
respectiv.

28. Date fiind regulile de tranziie AC-^B, B->AC, CD->E i E->CD, desenai reeaua Petri
descris de ele. Folosind reeaua Petri, desenai graful finit al strilor accesibile din starea
iniial ACD. Ce concept bine-cunoscut din tiina calculatoarelor folosete acest model de
reguli de tranziie?

29. PPP se bazeaz pe HDLC, care folosete inserarea de bii pentru a preveni ca octeii indicatori
accidentali din interiorul informaiei utile s provoace confuzii. Dai cel puin un motiv pentru
care PPP folosete n locul acesteia inserarea de caractere.

30. Care este suprancrcarea minim n transmiterea unui pachet IP folosind PPP? Luai n
considerare doar suprancrcarea introdus de PPP nsui, nu i suprancrcarea produs de
antetulIP.

31. Considerai o euristic de delimitare a celulelor ATM cu cc=5, 8=6 i o rat de erori pe bit de
IO'5. Odat ce sistemul a fost sincronizat, ct timp va rmne astfel, n ciuda erorilor ocazionale
de bii n antet? Presupunei c timpul de rulare este OC-3.
224 NIVELUL LEGTUR DEDATE CAP. 3

32. Scriei un program care s simuleze stocastic comportamentul unei reele Petri. Programul
trebuie s citeasc regulile de tranziie i o list de stri corespunznd nivelului legtur al
reelei ce emite un nou pachet sau accept un pachet. Din starea iniial, de asemenea citit de
pe mediul de intrare, programul trebuie s aleag tranziiile permise i s le execute aleatoriu, s
verifice dac un calculator gazd accept dou mesaje fr ca un alt calculator gazd s emit
unul nou ntre ele.
SUBNIVELUL DE ACCES LA MEDIU

Aa cum am artat n Cap. 1, reelele pot fi mprite n dou categorii: cele care utilizeaz
conexiuni punct-la-punct i cele care utilizeaz canale cu difuzare (broadcast channels). Acest
capitol se ocup de reelele cu difuzare (broadcast networks) i de protocoalele lor.
n orice reea cu difuzare, problema cheie const n a determina cine poate utiliza canalul,
atunci cnd exista mai muli utilizatori concureni. Pentru a lmuri lucrurile, s considerm o
teleconferin n care ase persoane, vorbind de la ase telefoane diferite, sunt conectate astfel,
nct fiecare i poate auzi pe ceilali i poate vorbi cu ei. Este foarte probabil ca atunci cnd
cineva se oprete din vorbit, doi sau mai muli s nceap s vorbeasc simultan, ceea ce va
duce la haos. ntr-o ntlnire fa-n-fa, haosul este evitat prin mijloace externe - de exemplu,
prin ridicarea minii pentru a cere permisiunea de a vorbi. Cnd este disponibil un singur
canal de comunicaie, este mult mai greu s determini cine urmeaz s ia cuvntul. Sunt
cunoscute multe protocoale de rezolvare a acestei probleme i ele constituie coninutul acestui
capitol. n literatura de specialitate, canalele cu difuzare sunt uneori numite canale multiacces
(multiaccess channels), sau canale cu acces aleator (random access channels).
Protocoalele folosite pentru a determina cine urmeaz ntr-un canal multiacces aparin unui
subnivel al nivelului legtur de date, numit subnivelul MAC (Medium Access Control - controlul
accesului la mediu). Subnivelul MAC este important mai ales pentru reelele de tip LAN (le vom
numi prescurtat LAN-uri), care utilizeaz aproape toate un canal multiacces ca baz pentru
comunicaie. Din contr, reelele de tip WAN (le vom numi WAN-uri) utilizeaz legturi punct-la-
punct, cu excepia reelelor prin satelit. Datorit faptului c LAN-urile i canalele multiacces sunt
att de strns legate, n acest capitol vom discuta, n general, att despre LAN-uri ct i despre reele
prin satelit i alte reele cu difuzare.
Tehnic vorbind, subnivelul MAC reprezint partea de jos a nivelului legtur de date, deci logic
ar fi fost s l fi studiat nainte de a trece n revist toate protocoalele punct-la-punct din capitolul 3.
226 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

Dar, pentru majoritatea oamenilor, nelegerea protocoalelor care implic mai multe pri este mai
uoar dup ce au neles bine protocoalele care implic dou pri. Pentru acest motiv am deviat
puin de la stilul de prezentare strict ascendent al ierarhiei reelelor.

4.1 PROBLEMA ALOCARE CANALULUI


Tema central a acestui capitol o reprezint modul de alocare a unui singur canal cu difuzare
ntre mai muli utilizatori concureni. Mai nti vom arunca o privire general asupra schemelor
statice i dinamice de alocare. Apoi vom studia civa algoritmi specifici.

4.1.1 Alocarea static a canalului n reelele LAN i MAN

Modul tradiional de alocare a unui singur canal, cum ar fi cablul telefonic, ntre mai muli
utilizatori concureni este multiplexarea cu diviziunea frecvenei (FDM - Frequency Division
Multiplexing). Dac exist N utilizatori, banda de transmisie este mprit n N pri egale (vezi Fig.
2-24), fiecrui utilizator fiindu-i alocat una dintre acestea. Deoarece fiecare utilizator are o band
de frecven proprie, nu exist interferene ntre utilizatori. Atunci cnd exist doar un numr mic i
constant de utilizatori, fiecare avnd un trafic ncrcat (i bazat pe utilizarea zonelor tampon), cum
ar fi, de exemplu, oficiile de comutare ale companiilor de telecomunicaie, FDM este un mecanism
de alocare simplu i eficient.
Cu toate acestea, atunci cnd numrul emitorilor este mare i variaz n permanen, sau cnd
traficul este de tip rafal, FDM prezint cteva probleme. Dac spectrul benzii este mprit n N
regiuni i mai puin de N utilizatori vor s comunice, o bun parte din band se va risipi. Dac vreau
s comunice mai mult de N utilizatori, unii dintre ei nu o vor putea face, din lips de spaiu n banda
de transmisie, chiar dac unii dintre utilizatorii care au primit cte o parte din band transmit sau
recepioneaz mesaje extrem de rar.
Chiar dac presupunem c numrul utilizatorilor ar putea fi meninut n vreun fel constant
la valoarea N, divizarea singurului canal disponibil n subcanale statice este, evident,
ineficient. Principala problem este c, atunci cnd unii utilizatori sunt inactivi, bucata lor de
band se pierde pur i simplu. Ei nu o folosesc, dar nici alii nu au voie s o utilizeze. Mai mult,
n majoritatea sistemelor de calcul, traficul de date este extrem de inegal (raporturi de 1000:1
ntre traficul de vrf i cel mediu sunt obinuite). n consecin, majoritatea canalelor vor fi
libere n cea mai mare parte a timpului.
Performanele slabe ale alocrii FDM statice pot fi uor observate dintr-un simplu calcul fcut cu
ajutorul teoriei cozilor. S lum, pentru nceput, ntrzierea medie, T, pentru un canal cu capacitatea
C bps, la o rat a sosirilor de X cadre/sec, fiecare cadru avnd o lungime dat de o funcie de
densitate de probabilitate exponenial cu media de l/u. bii/cadru:

T =
\iC-X

Acum s divizm canalul n N subcanale independente, fiecare cu o capacitate de CIN bps. Rata
medie a intrrilor pe fiecare subcanal va fi acum de XIN. Recalculnd T vom obine:
PROBEEMAAIjOGRnGANMIJEUI 227

Jt=NT (44)
\i(C/N)-(k/N) \iC-X

ntrzierea medie la FDM este de N ori mai mare dect n cazul n care toate cadrele ar fi fost,
printr-o scamatorie, aranjate n ordine ntr-o mare coad central.
Exact aceeai logic utilizat la FDM se poate aplica i la multiplexarea cu diviziunea timpului
(TDM - Time Division Multiplexing). Fiecrui utilizator i este alocat static fiecare a JV-a cuant.
Dac un utilizator nu i folosete timpul alocat, acesta rmne nefolosit. Deoarece nici una dintre
metodele statice de alocare a canalului nu merg bine n condiii de trafic n rafal, vom studia n
continuare metodele dinamice.

4.12 Alocarea dinamic a canalului n reelele LAN i MAN

nainte de a ncepe prezentarea numeroaselor metode de alocare a canalului, care fac obiectul
acestui subcapitol, merit s formulm cu atenie problema alocrii. La baza ntregii activiti din
acest domeniu stau cinci ipoteze-cheie, descrise n continuare.

1. Modelul staiilor. Acest model const din N staii independente (calculatoare, telefoane,
dispozitive de comunicare personal etc), fiecare genernd cadre de transmis.
Probabilitatea de generare a unui cadru ntr-un interval de lungime A/ este X&t, unde A este
o constant (rata sosirilor de cadre noi). Odat ce a fost generat un cadru, staia se
blocheaz i nu mai face nimic pn la transmiterea cu succes a cadrului.
2. Ipoteza canalului unic. Exist un singur canal accesibil pentru comunicaie. Toate staiile
pot transmite prin el i pot recepiona de la el. n ceea ce privete partea de hardware, toate
staiile sunt echivalente, dei protocolul software le poate acorda prioriti diferite.
3. Ipoteza coliziunii. Dac dou cadre sunt transmise simultan, ele se suprapun, iar semnalul
rezultat va fi neinteligibil. Acest eveniment se numete coliziune. Toate staiile pot detecta
coliziuni. Un cadru care a intrat n coliziune cu un alt cadru trebuie retransmis ulterior. Nu
exist alte erori n afara celor generate de coliziuni.
4. Timp continuu. Transmisia cadrelor poate surveni n orice moment. Nu exist un ceas
comun, care s mpart timpul n intervale discrete.
5. Timp discret. Timpul este mprit n intervale discrete (cuante). Transmisia cadrelor
pornete ntotdeauna la nceputul unei cuante. O cuanta poate conine 0,1, sau mai multe
cadre, corespunztor unei cuante de ateptare, unei transmisiuni efectuate cu succes i,
respectiv, unei coliziuni.
6. Detecia purttoarei. Staiile pot afla dac un canal este liber sau nu nainte de a ncerca s-1
utilizeze. Dac el este deja ocupat, nici o staie nu va mai ncerca s l utilizeze pn cnd nu
se va elibera.
7. Nedetecia purttoarei. Staiile nu pot afla starea canalului nainte de a ncerca s l utilizeze.
Ele pur i simplu ncep s transmit. Abia dup aceea vor putea determina dac transmisia
s-a efectuat cu succes sau nu.
228 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

Este momentul s discutm puin despre aceste ipoteze. Prima dintre ele spune c staiile sunt
independente, iar cadrele sunt generate cu o frecvena constant. De asemenea, se presupune
implicit c transmisia fiecrei staii este controlat de un singur program sau de un singur utilizator,
deci atta timp ct staia este blocat, ea nu va genera noi cadre. Modelele mai sofisticate permit
existena staiilor multiprogramate, care pot genera noi cadre n timp ce staia este blocat, dar
analiza acestor staii este mult mai complex.
Ipoteza canalului unic este de fapt inima problemei. Nu exist mijloace externe de comunicare.
Staiile nu pot ridica minile pentru a cere profesorului permisiunea de a vorbi.
Ipoteza coliziunii este, de asemenea, o ipotez de baz, dei n unele sisteme (ntre care
remarcm sistemele cu spectru larg de transmisie) ea este relaxat, cu rezultate surprinztoare. De
asemenea, unele LAN-uri, cum ar fi cele de tip token-ring, utilizeaz un mecanism de eliminare a
conflictelor, care elimin coliziunile..
Exist dou ipoteze alternative despre timp. Intr-una din ele timpul este continuu, iar n
cealalt este discret. Unele sisteme consider timpul ntr-un fel, altele n cellalt fel, aa c le
vom discuta i analiza pe amndou. Evident, pentru un sistem dat, numai una dintre ipoteze
este valabil.
n mod similar, o reea poate avea sau nu faciliti de detecie a purttoarei. Reelele LAN au n
general detecie de purttoare, dar reelele prin satelit nu (datorit ntrzierii mari de propagare).
Staiile din reelele cu detecie de purttoare i pot termina transmisia prematur, dac descoper c
au intrat n coliziune cu o alt transmisie. De notat c aici nelesul cuvntului purttoare" se refer
la semnalul electric de pe cablu i nu are nimic de a face cu vreun alt tip de purttoare.

4.2 PROTOCOALE CU ACCES MULTIPLU

Sunt cunoscui muli algoritmi de alocare a unui canal cu acces multiplu. n seciunile care
urmeaz vom studia un eantion reprezentativ al celor mai interesani algoritmi i vom da exemple
de utilizare a lor.

4.2.1 ALOHA

n anii 70, Norman Abramson i colegii si de la Universitatea din Hawaii au elaborat o


nou i elegant metod de rezolvare a problemei alocrii canalului. De atunci, munca lor a
fost continuat de muli cercettori (Abramson, 1985). Dei realizarea lui Abramson, numit
sistemul ALOHA, utiliza difuzarea prin radio de la sol, ideea de baz se poate aplica la orice
sistem n care utilizatori ce nu pot fi localizai concureaz la utilizarea unui unic canal partajat.
Vom discuta dou versiuni ale protocolului ALOHA: ALOHA pur i ALOHA cuantificat. Ele
difer prin faptul c timpul este sau nu divizat n intervale discrete, n care trebuie s se potriveasc
orice cadru. ALOHA pur nu cere sincronizare de timp global, pe cnd ALOHA cuantificat cere.

ALOHA pur
Ideea de baz ntr-un sistem ALOHA este simpl: utilizatorii sunt lsai s transmit ori de cte
ori au date de trimis. Bineneles c vor exista coliziuni, iar cadrele intrate n coliziune vor fi distruse.
Oricum, datorit proprietii de reacie a difuzrii, un emitor poate afla oricnd dac mesajul su a
fest-distrus, ascultnd canalul, la fel ca i ceilali utilizatori. ntr-o reea LAN, reacia este imediat;
ntr-o reea prin satelit, exist o ntrziere de 270 msec nainte ca emitorul s aie dac transmisia s-
a ncheiat cu succes. n cazul n care cadrul trimis a fost distrus, emitorul ateapt un interval
oarecare de timp i l trimite din nou. Timpul de ateptare trebuie s fie aleatoriu, altfel aceleai
cadre vor intra n coliziune iar i iar, blocndu-se reciproc la nesfrit. Sistemele n care mai muli
utilizatori partajeaz un canal comun ntr-un mod care poate duce la conflicte sunt cunoscute sub
numele de sisteme cu conflicte (contention systems).
n Fig. 4-1 este prezentat o schi de generare a cadrelor ntr-un sistem ALOHA. Am ales s
reprezentm cadre de aceeai lungime, pentru c productivitatea sistemelor ALOHA este
maximizat n cazul n care avem cadre de lungime uniform, fa de cazul n care avem cadre de
lungime variabil.

Utilizator

A
B
C :"
D
E
Timp +

Fig. 4-1. n ALOHA pur, cadrele sunt transmise la momente complet arbitrare.

Ori de cte ori dou cadre ncearc s ocupe canalul n acelai timp, se va produce o coliziune i
amndou vor fi denaturate. Dac primul bit al unui nou cadru se suprapune cu ultimul bit al unui
cadru aproape terminat, amndou cadrele vor fi total distruse i amndou vor trebui retransmise
mai trziu. Suma de control nu poate (i nu trebuie) s disting ntre o pierdere total i o ratare la
musta". Ceea ce este ru este ru.
O ntrebare foarte interesant este: care este eficiena unui canal ALOHA? Cu alte cuvinte, ce
fraciune din cadrele transmise nu intr n coliziune n aceste circumstane haotice? S considerm
mai nti o colectivitate infinit de utilizatori interactivi stnd n faa calculatoarelor (staiilor) lor.
Un utilizator este ntotdeauna ntr-una din cele dou stri: introduce caractere sau ateapt. Iniial,
toi utilizatorii sunt n prima stare, scriind. Cnd termin o linie, utilizatorul se oprete din scris,
ateptnd un rspuns. Atunci staia transmite pe canal un cadru coninnd linia i verific dac
transmisia s-a efectuat cu succes. Dac da, utilizatorul vede rspunsul i se apuc din nou de scris.
Dac nu? utilizatorul continu s atepte, iar cadrul va fi transmis n mod repetat, pn cnd
transmisia se va ncheia cu succes.
S numim interval de cadru" timpul necesar pentru a transmite un cadru standard, de lungime
fix (adic lungimea cadrului mprit la rata biilor). Vom presupune c populaia infinit de
utilizatori genereaz cadre noi conform unei distribuii Poisson cu media de S cadre pe interval de
cadru (ipoteza populaiei infinite este necesar pentru a ne asigura c 5 nu descrete pe msur ce
230 SUBNTVELUL DE ACCES LA MEDIU CAP. 4

utilizatorii se blocheaz). Dac S > 1, utilizatorii genereaz cadre cu o rat mai mare dect
capacitatea de transmisie a canalului i aproape fiecare cadru va suferi o coliziune. Pentru o
productivitate rezonabil ar trebui ca 0 < S < 1.
n plus fa de noile cadre, staiile mai genereaz i copii ale cadrelor care au suferit
anterior coliziuni. S presupunem n continuare c probabilitatea de a avea k ncercri de
transmisie pe interval de cadru, incluznd i retransmisiile, are de asemenea o distribuie
Poisson, cu media G pe interval de cadru. Evident, G > S. La ncrcare redus (adic S ~ 0),
vor fi puine coliziuni, deci puine retransmisii, aa c G ~ S. La ncrcare mare vor fi multe
coliziuni, deci G > S. Orice ncrcare am avea, productivitatea este chiar ncrcarea dat, G,
nmulit cu probabilitatea ca o transmisie s se ncheie cu succes - adic S = GPQ, unde Po este
probabilitatea ca un cadru s nu sufere coliziuni.

Intr n coliziune Intr n coliziune


cu nceputul cu sfritul
cadrului umbrit cadrului umbrit

t o +3t Timp
Vulnerabil

Fig. 4-2. Perioada vulnerabil pentru cadrul umbrit.

Un cadru nu va suferi coliziuni dac nici un alt cadru nu va fi emis n intervalul de un cadru socotit
de la nceputul lui, aa cum se arat n Fig. 4-2. n ce condiii cadrul umbrit va ajunge ntreg? Fie t
timpul necesar emisiei unui cadru. Dac un alt utilizator a generat un cadru ntre /0 i t0 + t, sfritul
acelui cadru va intra n coliziune cu nceputul cadrului umbrit. De fapt, soarta cadrului umbrit era deja
pecetluit chiar nainte de transmisia primului bit, dar cum n ALOHA pur, o staie nu ascult canalul
nainte de transmisie, nu are cum s tie c un alt cadru se afl deja n curs de transmisie. Similar, orice
alt cadru care ncepe ntre t0 +1 i t0 + It va nimeri peste sfritul cadrului umbrit.
Probabilitatea ca ntr-un interval de cadru dat s fie generate un numr k de cadre este modelat
de distribuia Poisson:

* -G
Gke
Pr[*] = (4-2)
k\

deci probabilitatea generrii a zero cadre este doar e'G. ntr-o perioad de timp ct dou intervale de
cadru, media numrului de cadre generate este 2G. Astfel, probabilitatea ca nici o transmisie s nu
nceap n timpul perioadei de timp vulnerabile este dat de Po = e1G.
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 231

Lund 5 = GP0, obinem:

-2G
S=Ge

Relaia dintre traficul oferit i productivitate este prezentat n Fig. 4-3. Productivitatea maxim
este obinut la G = 0.5, cu S = l/2e, adic aproximativ 0.184. Cu alte cuvinte, cea mai bun
performan la care putem spera este o utilizare a canalului de 18 procente. Acest rezultat nu este
prea ncurajator, dar, n situaia aceasta n care fiecare utilizator transmite la dorin, cu greu ne-am
fi putut atepta la o performan de sut la sut.

ALOHA cuantificat: S = Ge~

o
o
o 0.5 1.0 1.5 2.0
G (ncercri pe interval de pachet)

Fig. 4-3. Productivitatea n funcie de traficul oferit pentru sistemele ALOHA.

ALOHA cuantificat

n 1972, Roberts a publicat o metod de dublare a capacitii unui sistem ALOHA (Roberts,
1972). Propunerea lui era s se mpart timpul n intervale discrete, fiecare interval corespunznd
unui cadru. Aceast abordare cere ca utilizatorii s cad de acord asupra mrimii cuantelor. O cale
de a obine sincronizarea ar fi ca o staie special s emit un bip" la nceputul fiecrui interval, ca
un tact de ceas.
n metoda lui Roberts, care a devenit cunoscut sub numele de ALOHA cuantificat (slotted
ALOHA), n contrast cu metoda lui Abramson - ALOHA pur (pure ALOHA), unui calculator nu i
este permis s emit ori de cte ori este apsat tasta Return". El este nevoit s atepte nceputul
urmtoarei cuante. Astfel, protocolul ALOHA pur este transformat din continuu n discret.
Deoarece acum perioada vulnerabil este njumtit, probabilitatea ca n intervalul cadrului nostru
de test s nu mai apar un alt trafic este e"6, ceea ce conduce la:

S = Ge -a (4-3)

Aa cum reiese din Fig. 4-3, ALOHA cuantificat prezint un maxim la G = 1, cu o productivitate de
S = l/e, adic aproximativ 0.368, dublu fa de ALOHA pur. Dac sistemul opereaz la G = 1,
probabilitatea unei cuante neutilizate este 0.368 (din ecuaia 4-2). Cea mai bun performan la care
232 SUBNWELUL DE ACCES LA MEDIU CAP: 4

ne putem atepta de la ALOHA cuantificat este: 37% din cuante neutilizate, 37% cadre transmise
cu succes i 26% coliziuni. Lucrul cu valori mai mari ale lui G reduce numrul cuantelor neutilizate,
dar l mrete exponenial pe cel al coliziunilor. Pentru a vedea cum se explic rapida cretere a
numrului coliziunilor odat cu G, s considerm transmisia unui cadru de test. Probabilitatea ca el
G
s evite o coliziune este e , adic probabilitatea ca toi ceilali utilizatori s nu transmit n acest
G
interval. Probabilitatea unei coliziuni este deci 1 - e' . Probabilitatea ca o transmisie s se efectueze
exact din k ncercri (adic dup k -1 coliziuni, urmate de un succes) este

Numrul de transmisii prognozat pentru fiecare apsare a tastei Return", E, este deci

k=l k=\

Ca urmare a dependenei exponeniale a lui E faa de G, creteri mici ale ncrcrii canalului pot
reduce drastic performanele sale.

4.2.2 Protocoale cu acces multiplu i detecie de purttoare

Cu ALOHA cuantificat poate fi obinut o utilizare a canalului de maxim l/e. Acest lucru nu este
surprinztor, dac ne gndim c staiile transmit la dorin, fr a fi atente la ceea ce fac celelalte
staii i, n consecin, vor exista numeroase coliziuni. Oricum, n reelele locale, staiile pot detecta
ce fac celelalte staii i i pot adapta comportamentul n mod corespunztor. Aceste reele pot
obine o utilizare mult mai bun dect 1/e. n aceast seciune vom discuta cteva protocoale de
mbuntire a performanei.
Protocoalele n care staiile ascult pentru a detecta o purttoare (adic o transmisie) i
acioneaz corespunztor se numesc protocoale cu detecie de purttoare (carrier sense protocols).
Kleinrock i Tobagi (1975) au analizat n detalid cteva protocoale de acest tip. n continuare vom
prezenta cteva versiuni ale protocoalelor cu detecie de purttoare.

CSMA persistent i nepersistent


Primul protocol cu detecie de purttoare pe care l vom studia n acest material se numete
CSMA l-persistent (Carrier Sense Multiple Access - acces multiplu cu detecie de purttoare).
Atunci cnd o staie are date de transmis, mai nti ascult canalul pentru a vedea dac nu cumva
transmite altcineva n acel moment. n cazul n care canalul este ocupat, staia ateapt pn la
eliberarea sa. Atunci cnd staia detecteaz canalul liber, transmite un cadru. Dac se produce o
coliziune, staia ateapt o perioad aleatorie de timp i o ia de la nceput. Protocolul se cheam
l-persistent, pentru c staia transmite cu o probabilitate de 1 atunci cnd gsete canalul liber.
ntrzierea de propagare are o influen important asupra performanei protocolului. Exist o
oarecare ans ca, imediat dup ce o staie ncepe s transmit, o alt staie s devin pregtit de
transmisie i s asculte canalul. Dac semnalul primei staii nu a ajuns nc la cea de-a doua, aceasta
din urm va detecta canalul liber i va ncepe la rndul ei s emit, rezultnd o coliziune. Cu ct este
4=2 PROTOCOALE CU ACCES MULTIPLU 233

mai mare ntrzierea de propagare, cu att acest efect devine mai important, iar perfomianta
protocolului mai slab.
Chiar dac ntrzierea de propagare ar fi zero, tot s-ar mai produce coliziuni. Dac dou staii
devin gata de transmisie n timpul transmisiunii unei a treia staii, amndou vor atepta politicos
pn la sfritul ei, dup care vor ncepe s transmit simultan, producndu-se o coliziune. Dac ele
nu ar fi att de nerbdtoare, s-ar produce mai puine coliziuni. Chiar i aa, acest protocol este de
departe mai bun dect ALOHA pur, ntruct ambele staii au bunul sim s nu interfereze cu cadrul
celei de-a treia staii. Intuitiv, acest fapt va conduce la o performan mai bun dect ALOHA pur.
Acelai lucru este valabil i pentru ALOHA cuantificat.
Un al doilea protocol cu detecie de purttoare este CSMA nepersistent (nonpersistent CSMA).
n acest protocol, o ncercare contient de transmisie este mai puin lacom" dect n cel anterior,
nainte de a emite, staia ascult canalul. Dac nimeni nu emite, ncepe ea s emit. Dac ns
canalul este ocupat, staia nu rmne ncontinuu n ascultare, pentru a-1 ocupa imediat dup
detectarea sfritului transmisiei precedente. n schimb, ateapt o perioad aleatorie de timp i apoi
repet algoritmul. Intuitiv, acest algoritm ar trebui s conduc la o utilizare mai bun a canalului i la
ntrzieri mai mari dect la CSMA l-persistent.
Ultimul protocol este CSMA p-persistent (p-persistent CSMA). El se aplic la canalele
cuantificate i funcioneaz dup cum este descris n continuare. Cnd o staie este gata s emit, ea
ascult canalul. Dac acesta este liber, va transmite cu o probabilitate/?. Cu o probabilitate q = 1 -p,
ea va atepta urmtoarea cuant. Dac aceast cuant este de asemenea liber, sau va transmite, sau
va atepta din nou, cu probabilitile/? i q. Acest proces este repetat pn cnd cadrul este transmis
sau alt staie ncepe s transmit. n ultimul caz, staia se comport ca i cnd s-ar fi produs o
coliziune (adic ateapt o perioad aleatorie de timp i pornete iar). Dac iniial staia detecteaz
canalul ocupat, ateapt cuanta urmtoare i aplic algoritmul de mai sus. Figura 4-4 arat
productivitatea n funcie de traficul oferit pentru toate cele trei protocoale, precum i pentru
ALOHA pur i ALOHA cuantificat.

CSMA 0.01 persistent

CSMA nepersistent

CSMA 0.1-persistent

CSMA
<*""0.5-persistent

ALOHA
cuantificat
CSMA

2 3 4 5 6
G (ncercri pe interval de pachet)

Fig. 4-4. Comparaie ntre utilizrile canalului n funcie de ncrcare,


pentru diferite protocoale cu acces aleator.
234 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

CSMA cu detecia coliziunii

Protocoalele CSMA persistent i nepersistent reprezint n mod cert o mbuntire fa de


ALOHA, pentru c au grij ca nici o staie s nu nceap s transmit atunci cnd canalul este
ocupat. O alt mbuntire este abandonarea transmisiei ndat ce se detecteaz o coliziune. Cu
alte cuvinte, dac dou staii gsesc canalul liber i ncep s transmit simultan, amndou vor
detecta coliziunea aproape imediat. Dect s i termine de transmis cadrele, care oricum sunt
iremediabil denaturate, staiile i vor termina brusc transmisia imediat dup detectarea coliziunii.
Terminnd repede cu cadrele distruse, se salveaz timp i lrgime de band. Acest protocol,
cunoscut sub numele de CSMA/CD (Carrier Sense Multiple Access with Collision Detection - acces
multiplu cu detecia purttoarei i a coliziunii), este des ntrebuinat n LAN-uri n subnivelul MAC.
CSMA/CD, ca i multe alte protocoale de LAN, utilizeaz modelul conceptual din
Fig. 4-5. n momentul marcat cu t0, o staie oarecare i termin de transmis cadrul. Acum orice alt
staie care are de transmis un cadru poate ncerca s transmit. Dac dou sau mai multe staii se
decid s transmit simultan, se va produce o coliziune. Coliziunile pot fi detectate urmrind puterea
sau limea impulsului semnalului recepionat i comparndu-le cu semnalul transmis.
Dup ce o staie a detectat o coliziune, i abandoneaz transmisia, ateapt o perioad de timp
oarecare i ncearc iar, dac nici o alt staie nu a nceput s transmit ntre timp. De aceea,
modelul nostru pentru CSMA/CD va fi alctuit alternativ din perioade de timp cu transmisii i
perioade de timp de conflict, avnd i perioade de ateptare, cnd toate staiile tac (de exemplu, din
lips de activitate).

Cuante de
conflict

Cadru

Perioad de Perioad de Perioad


transmisie conflict inactiv
Timp

Fig. 4-5. CSMA/CD se poate afla ntr-una din urmtoarele stri: conflict,
transmisie sau inactiv.

S privim acum mai ndeaproape detaliile algoritmului de tratare a conflictelor. S presupunem


c dou staii ncep s transmit simultan, exact la momentul t0. Ct timp le va lua ca s-i dea seama
c s-a produs o coliziune? Rspunsul la aceast ntrebare este vital pentru determinarea mrimii
perioadei de conflict, deci i a ntrzierii i a productivitii. Timpul minim de detectare a coliziunii
este chiar timpul necesar propagrii semnalului de la o staie la alta.
Bazndu-ne pe acest raionament, am putea crede c o staie care nu detecteaz nici o coliziune
ntr-o perioad de timp egal cu timpul de propagare pe toat lungimea cablului, perioad msurat
de la nceputul transmisiei, poate fi sigur c a ocupat canalul. Prin ocupat" nelegem c toate
celelalte staii tiu c ea transmite i nu vor interfera cu ea. Aceast concluzie este greit. S
considerm cazul cel mai defavorabil, descris n urmtorul scenariu. Fie x timpul de propagare a
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 235

semnalului ntre staiile cele mai ndeprtate. La fo o staie ncepe s transmit. La /0 + (x - ) CU O


dip nainte ca semnalul s ajung la cea mai ndeprtat staie, aceasta ncepe la rndul ei s
transmit. Bineneles, ea detecteaz coliziunea aproape instantaneu i se oprete, dar scurta rafal
de zgomot produs de coliziune nu se va ntoarce la staia de origine dect dup 2x - e. Cu alte
cuvinte, n cel mai ru caz, o staie nu poate fi sigur c a ocupat canalul dect dup ce a transmis
timp de 2x fr a detecta vreo coliziune. Din acest motiv vom modela intervalul de conflict ca un
sistem ALOHA cuantificat, cu dimensiunea cuantei 2x. Pe un cablu coaxial de 1 km, x ~ 5 usec.
Simplificnd, vom presupune c fiecare cuant conine un singur bit. Bineneles c, odat ce canalul
a fost ocupat, o staie poate transmite cu orice rat dorete, nu neaprat doar 1 bit la 2x sec.
Este important s nelegem c detecia coliziunii este un proces analogic. Echipamentul staiei
trebuie s asculte cablul n timp ce transmite. Dac ceea ce recepioneaz este diferit fa de ceea ce
transmite, nseamn c se produce o coliziune. Aadar, codificarea semnalului trebuie s permit
detectarea coliziunilor (de exemplu, o coliziune a dou semnale de 0 voli poate fi imposibil de
detectat). Din acest motiv, de obicei se utilizeaz codificri speciale.
CSMA/CD este un protocol important. Mai trziu, n acest capitol, vom studia o versiune a sa,
IEEE 802.3 (Ethernet), care este un standard internaional.
Pentru a evita orice nenelegere, e bine s notm c nici un protocol al subnivelului MAC nu
garanteaz o livrare corect a cadrelor. Chiar i n absena coliziunilor, receptorul poate s nu fi
copiat corect cadrul din diverse motive (de exemplu, lips de spaiu n zona tampon, sau o
ntrerupere ratat).

4.2.3 Protocoale iar coliziuni

Dei n CSMA/CD nu apar coliziuni dup ce o staie a ocupat efectiv canalul, ele mai pot aprea n
perioada de conflict. Aceste coliziuni afecteaz negativ performana sistemului, mai ales atunci cnd
cablul este lung (adic x mare), iar cadrele scurte. Pe msur ce reelele bazate pe fibre optice foarte
lungi i cu lrgime mare de band sunt tot mai folosite, combinaia de valori mari pentru x i cadre
scurte va deveni o problem din ce n ce mai serioas. n aceast seciune vom examina cteva
protocoale care rezolv conflictul pentru canal fr nici o coliziune, nici mcar n perioada de conflict.
n protocoalele ce vor fi descrise, vom presupune c exist N staii, fiecare avnd o adres unic
fix, cuprins ntre 0 i N -1. Nu conteaz dac unele staii sunt inactive o parte din timp. ntrebarea
de baz rmne: care staie va primi canalul dup o transmisie efectuat cu succes? Vom continua s
folosim modelul din Fig. 4-5, cu cuantele sale discrete de conflict.

Protocolul Bit-Map (cu hart de bii)


In primul nostru protocol fr coliziuni, metoda bit-map de baz (basic bit-map method), fiecare
perioad de conflict va fi format din exact N cuante. Dac staia 0 are de transmis un cadru,
transmite un bit 1 n timpul cuantei 0. Nici o alt staie nu are voie s transmit n timpul acestei
cuante. Fr a avea vreo legtur cu ceea ce face staia 0, staia 1 are ocazia s transmit un 1 n
timpul cuantei 1, dar doar dac are un cadru de transmis. In general, staia; poate anuna c are de
transmis un cadru insernd un bit 1 n cuanta;. Dup ce au trecut toate cele N cuante, fiecare staie
va cunoate care dintre staii doresc s transmit. n acest moment, ele ncep s transmit n ordinea
cresctoare a adresei de staie (vezi Fig. 4-6).
236 SUBNTVELUL DE ACCES LA MEDIU CAP. 4

C:a<dre
8 cuante de conflic t i cuante de conflict 1 6
/
0 1 234567 / 0 1 234567 0 12 3 4 5 6 7
>
1 1 1 1 3 7 1 1 1 5 1 2

Fig. 4-6. Protocolul bit-map de baz.

ntruct toi sunt de acord cine urmeaz, nu vor exista niciodat coliziuni. Dup ce ultima dintre
staiile pregtite s emit i-a transmis cadrul, eveniment pe care toate staiile l pot uor urmri, va
ncepe o alt perioad de conflict de N bii. Dac o staie devine gata imediat dup ce a trecut cuanta
care i corespunde, nseamn c a ratat ocazia i va trebui s atepte urmtoarea perioad de
conflict. Protocoalele de acest gen, n care intenia de a transmite este anunat nainte de transmisia
propriu-zis, se numesc protocoale cu rezervare (reservation protocols).
. S analizm pe scurt performanele acestui protocol. Vom conveni ca timpul s fie msurat n
uniti de mrimea cuantelor de un bit ale perioadei de conflict, iar cadrele de date s fie formate
din d astfel de uniti de timp. Practic, n condiii de trafic slab, pachetul de bii ai perioadei de
conflict va fi transmis n mod repetat, din lips de cadre de date.
S privim situaia din punctul de vedere al unei staii cu adres mic, ca de exemplu 0 sau 1. n
mod obinuit, cnd ea devine gata s emit, cuanta curent" va fi undeva n mijlocul pachetului de
bii. n medie, o staie va trebui s atepte N/2 cuante pentru ca runda curent s se termine i alte JV
cuante pn la runda urmtoare, nainte de a putea ncepe transmisia.
Perspectivele staiilor cu adrese mari sunt ceva mai luminoase. n general, ele nu vor trebui s
atepte dect o jumtate de rund (N/2 cuante) nainte de a ncepe s transmit. Staiile cu adrese
mari trebuie rareori s atepte urmtoarea rund. Deoarece staiile cu adrese mici au de ateptat n
medie 1.5N cuante, iar cele cu adrese mari 0.5N cuante, media pentru toate staiile este de N cuante.
Eficiena canalului la trafic sczut este uor de calculat. ncrcarea suplimentar a unui cadru este de
JVbii, iar cantitatea de date este de d bii, rezultnd o eficien de d/(N + d).
n condiii de trafic ncrcat, cnd toate staiile vor s emit simultan, perioada de conflict de N
bii este mprit la N cadre, rezultnd o ncrcare suplimentar de doar un bit pe cadru, adic o
eficien de d/(d + 1). ntrzierea medie pentru un cadru este egal cu suma timpului de ateptare n
interiorul staiei, plus o ntrziere suplimentar de N(d + l)/2, care se adaug atunci cnd ajunge la
nceputul cozii interne a staiei.

Numrtoarea invers binar

O problem a protocolului de baz bit-map este c ncrcarea suplimentar este de 1 bit pe


staie. Putem obine rezultate mai bune utiliznd adresele binare ale staiilor. O staie care vrea s
utilizeze canalul i difuzeaz adresa ca un ir de bii, ncepnd cu bitul cel mai semnificativ. Se
presupune c toate adresele au aceeai lungime. Biii de pe aceeai poziie din adresele diferitelor
staii sunt combinai printr-o operaie logic OR (SAU), iar rezultatul este citit ca o singur adres.
Vom numi acest protocol numrtoarea invers binar (binary countdown). El este utilizat n
Datakit (Fraser, 1987).
SEC 4.2 PROTOCOALE CU ACCES MULTIPLU 237

Pentru a evita conflictele, trebuie aplicat o regul de arbitrare: de ndat ce o staie observ c
unul dintre biii superiori ai adresei sale, coninnd un 0, a fost acoperit de un 1, renun s mai emit.
De exemplu, dac staiile 0010,0100,1001 i 1010. ncearc s obin canalul n acelai timp, n timpul
primului bit staiile transmit 0, 0,1 i, respectiv, 1. Aceti bii sunt combinai printr-o operaie SAU,
rezultnd un 1. Staiile 0010 i 0100 vd acest 1 i tiu c o staie cu o adres superioar ncearc s
obin canalul, aa c renun s mai emit n runda curent. Staiile 1001 i 1010 continu.
Urmtorul bit este 0 i ambele staii continu. Urmtorul bit este 1, aa c staia 1001 va renuna.
Ctigtoare este staia 1010, pentru c are adresa cea mai mare. Dup ce a ctigat licitaia, ea poate
transmite un cadru, dup care ncepe o nou rund de licitaii. Protocolul este ilustrat n Fig. 4-7.

Interval de bit
0 12 3

0 0 10 0

0 10 0 0

10 0 1 10 0

10 10 10 11

Rezultat 10 11

Staiile 0010 Staia 1001


i 0100 vd acest 1 vede acest 1
i renun i renun

Fig. 4-7. Protocolul cu numrtoare invers binar. O liniu indic tcere.

Eficiena canalului, n cazul acestei metode, este de df(d + In N). Dac formatul cadrului a fost
bine ales, astfel nct adresa emitorului s fie primul cmp al cadrului, chiar i aceti In N bii nu
sunt pierdui, iar eficiena este de 100%.
Mok i Ward (1979) au descris o variant a numrtorii inverse binare utiliznd o interfa
paralel n locul celei seriale. Ei au sugerat, de asemenea, utilizarea de adrese de staie virtuale,
cuprinse ntre 0 i numrul staiei ctigtoare inclusiv, adrese ce vor fi permutate dup fiecare
transmisie, pentru a da prioritate mai mare staiilor care nu au mai transmis de mult. De exemplu,
dac staiile Q H, D, A,G,B,E iFau prioritile 7,6,5,4,3,2,1 i, respectiv, 0, atunci o transmisie
cu succes a staiei D o va plasa la sfritul listei, rezultnd ordinea prioritilor: Q H, A, G, B, E, F, D.
Astfel, C rmne virtual staia 7, A suie de la 4 la 5, iar D coboar de la 5 la 0. Acum staia D va
putea obine canalul numai dac nici o alt staie nu l dorete.

4.2.4 Protocoale cu conflict limitat

Am considerat pn acum dou strategii de baz pentru obinerea canalului ntr-o reea cablat:
cu conflict, ca n CSMA, i fr coliziuni. Fiecare strategie poate fi cotat dup performane n
funcie de doi parametri importani, ntrzierea n condiii de trafic sczut i eficiena canalului la
trafic ncrcat. n condiiile unui trafic sczut, conflictul (adic ALOHA pur sau cuantificat) este
238 SUBNTVELUL DE ACCES LA MEDIU CAP. 4

preferat datorit ntrzierilor miei. Cu ct traficul crete, aceste metode devin tot mai puin atractive,
deoarece ncrcarea suplimentar asociat cu arbitrarea canalului, devine tot mai mare. Exact
inversul acestui efect este valabil pentru protocoalele fr coliziuni. La trafic slab, ele au ntrzieri
mari, dar, pe msur ce traficul crete, eficiena canalului se mbuntete, n loc s se
nruteasc, cum se ntmpl la protocoalele cu conflict.
Evident, ar fi frumos s putem combina cele mai bune proprieti ale protocoalelor cu
conflict cu cele ale protocoalelor fr coliziuni, obinnd un nou protocol care s utilizeze
varianta cu conflict la trafic sczut, pentru a avea ntrzieri mici, i varianta fr coliziuni la
trafic mare, pentru a putea oferi o eficien bun a canalului. Asemenea protocoale, pe care le
vom numi protocoale cu conflict limitat (limited contention protocols), exist i vor ncheia
studiul nostru despre reelele cu detecie de purttoare.
Pn acum, singurele protocoale cu conflict pe care le-am studiat au fost simetrice, adic fiecare
staie ncearc s obin canalul cu o probabilitate p, aceeai pentru toate staiile. Fapt destul de
interesant, performana global a sistemului poate fi uneori mbuntit utiliznd un protocol care
asociaz probabiliti diferite pentru staii diferite.
nainte de a trece la protocoalele asimetrice, s trecem succint n revist performanele cazului
simetric. S presupunem c exist k staii care concureaz pentru obinerea accesului la canal.
Fiecare are o probabilitate p de a transmite n timpul fiecrei cuante. Probabilitatea ca o staie s
obin canalul n timpul unei cuante este kp (1 -pf' \ Pentru a obine valoarea optim pentru p,
derivm n raport cup, egalm rezultatul cu zero i rezolvm pentru p. Vom obine c valoarea cea
mai bun a lui/? este l/k. Substituind/ = \jk, obinem probabilitatea

(klT
Pr[succes cu poptim] = (4-4)

Aceast probabilitate este reprezentat n Fig. 4-8. Pentru un numr mic de staii ansele de succes
sunt mari, dar probabilitatea scade ctre o valoare asimptotic de l/e nainte chiar ca numrul
staiilor s ating valoarea cinci.
Din Fig. 4-8 reiese clar c probabilitatea ca o staie s obin canalul poate fi crescut doar
reducnd concurena. Protocoalele cu conflict limitat fac exact acest lucru. Mai nti, ele mpart staiile
n grupuri (nu neaprat disjuncte). Doar membrilor grupului 0 li se permite s concureze pentru
cuanta 0. Dac unul din ei reuete, ocup canalul i i transmite cadrul. n cazul n care cuanta
rmne nentrebuinat sau apare o coliziune, membrii grupului 1 vor concura pentru cuanta 1 etc.
Fcnd o mprire corect a staiilor n grupuri, numrul de conflicte pentru fiecare cuant poate fi
redus, aducnd performana corespunztoare fiecrei cuante ctre extrema stnga a Fig. 4-8.
Trucul const n modul n care asociem staiile cuantelor. nainte de a analiza cazul general, s
considerm cteva cazuri particulare. La o extrem, fiecare grup are un singur membru. O astfel de
mprire garanteaz c niciodat nu vom avea coliziuni, pentru c cel mult o staie concureaz
pentru o cuant. Am vzut astfel de protocoale anterior (de exemplu, numrtoarea invers binar).
Urmtorul caz particular este mprirea n grupuri de cte dou staii. Probabilitatea ca amndou
s ncerce s transmit n timpul unei cuante este p2, ceea ce pentru un p mic este o valoare
neglijabil. Pe msur ce unei cuante i sunt asociate mai multe staii, probabilitatea unei coliziuni
crete, n schimb lungimea pachetului de bii, necesar pentru a da fiecruia o ans, se micoreaz.
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 2

Gazul limit.este un.singur grup coninnd toate staiile (adic ALQHA cuantificat). Ceea ce ne
trebuie este o cale de a asocia staii cuantelor n mod dinamic, cu multe staii pe cuant atunci cnd
traficul este sczut i puine staii pe euant (sau chiar una singur) atunci cnd traficul este mare.

1.0

0.8

o 0.6

J
1 0.4
JQ

Jg
8 0.2
Q.

0.0 I
10 15 20 25
Numrul staiilor gata de transmisie

Fig. 4-8. Probabilitatea de obinere a unui canal cu conflict simetric.

Protocolul cu parcurgere arborescent adaptiv

O cale foarte simpl de a face o asociere bun este utilizarea algoritmului conceput de armata
Statelor Unite n scopul testrii pentru sifilis a soldailor n timpul celui de-al doilea rzboi mondial
(Dorfinan, 1943). Pe scurt, armata preleva eantioane de snge de la N soldai. O poriune din
fiecare eantion era pus n acelai tub de test. Acest eantion mixat era apoi testat pentru anticorpi.
Dac nu era gsit nici un anticorp, toi soldaii din grup erau declarai sntoi. Dac ns erau
prezeni anticorpi, erau preparate dou noi eantioane mixte, unul corespunztor soldailor de la 1
la N/2, iar altul corespunztor celorlali. Procesul era repetat recursiv pn cnd erau determinai
soldaii infectai.

Staii
A B C D E F G H

Fig. 4-9. Arborele pentru opt staii.


240 SUBNTVELUL DE ACCES LA MEDIU CAP. 4

Pentru versiunea informatic a acestui algoritm (Capetanakis, 1979), cel mai simplu este s ne
nchipuim staiile ca fiind frunzele unui arbore binar, ca n Fig. 4-9. n prima cuant de conflict care
urmeaz dup un cadru transmis cu succes, i anume cuanta 0, toate staiile au permisiunea de a
ncerca ocuparea canalului. Dac numai una din ele ncearc, foarte bine. Dac s-a produs o
coliziune, atunci, n timpul cuantei 1, doar staiile de sub nodul 2 din arbore pot concura. Dac una
din ele obine canalul, cuanta care urmeaz cadrului ce va fi transmis este rezervat pentru staiile de
sub nodul 3. Dac, pe de alt parte, dou sau mai multe staii de sub nodul 2 vor s transmit, se va
produce o coliziune n timpul cuantei 1, caz n care va fi rndul nodului 4 n timpul cuantei 2.
n principiu, dac apare o coliziune n timpul cuantei 0, este cercetat ntregul arbore n adncime,
pentru a localiza toate staiile gata s transmit. Fiecare cuant de un bit este asociat unui nod
particular din arbore. Dac se produce o coliziune, cutarea este continuat recursiv cu fiii stng i
drept ai nodului. Dac o cuant de un bit este liber sau dac o singur staie transmite n timpul ei,
cutarea nodului pentru aceast cuant se poate opri, pentru c toate staiile gata s transmit au
fost localizate (dac erau mai multe dect una s-ar fi produs o coliziune).
Atunci cnd ncrcarea sistemului este mare, nu prea merit s dedicm cuanta 0 nodului
1, pentru c acest lucru ar avea sens doar n eventualitatea - destul de puin probabil - ca o
singur staie s aib un cadru de transmis. Similar, se poate argumenta c nodurile 2 i 3 pot fi
lsate la o parte din aceleai motive. n termeni mai generali, ntrebarea este: la ce nivel din
arbore ar trebui s nceap cutarea? Este clar c, cu ct traficul este mai mare, cu att
cutarea trebuie s nceap mai de jos. Vom considera c fiecare staie deine o estimare
corect a numrului de staii gata s transmit, de exemplu q, obinut din monitorizarea
traficului recent.
Pentru nceput, s numrm nivelurile arborelui ncepnd de la vrf, cu nodul 1 din Fig. 4-9
pe nivelul 0, nodurile 2 i 3 pe nivelul 1 etc. Observai c fiecare nod de pe nivelul i are
dedesubt o fraciune de 2~l din totalul staiilor. Dac cele q staii gata s transmit sunt uniform
distribuite, numrul celor care se afl sub un anumit nod de pe nivelul i este Tq. Intuitiv, ar
trebui ca nivelul optim de ncepere a cutrii s fie cel pentru care numrul mediu de staii
care vor s transmit n timpul unei cuante este 1, adic nivelul la care 2~lq = 1. Rezolvnd
aceast ecuaie vom gsi c i = log2g.
Au fost descoperite numeroase mbuntiri ale algoritmului de baz, care sunt discutate n
detaliu de Bertsekas i Gallager (1992). De exemplu, s considerm cazul n care staiile G iH vor
s transmit. La nodul 1 se va produce o coliziune, aa c va fi ncercat 2, care va fi gsit liber. Este
fr sens s ncercm nodul 3 pentru c este sigur c vom avea o coliziune (tim c dou sau mai
multe staii de sub 1 vor s transmit i nici una dintre ele nu se afl sub 2, deci toate sunt sub 3).
ncercarea lui 3 poate fi srit i se trece la 6. Dac nici aceast ncercare nu d nici un rezultat, 7
poate fi srit i este ncercat G n continuare.

4.2.5 Protocoale cu acces multiplu cu divizarea frecvenei

O abordare diferit a problemei alocrii canalului o reprezint mprirea acestuia n subcanale


utiliznd FDM, TDM, sau amndou, i alocarea lor dinamic dup necesiti. Astfel de metode
sunt frecvent utilizate n LAN-urile cu fibr optic pentru a permite ca transmisiuni diferite s
utilizeze lungimi de und (adic frecvene) diferite n acelai timp. n aceast seciune vom examina
un astfel de protocol (Humblet .a., 1992).
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 241

~ O cale simpl de construire a urnii LAN cu fibr optic este utilizarea unui cuplor pasiv de tip
stea (vezi Fig. 2-10). Dou fibre de la fiecare staie intr ntr-un cilindru de sticl. O fibr este pentru
transmisia ctre cilindru iar cealalt pentru transmisia de la cilindru. Emisia de lumin de la oricare
din staii ilumineaz cilindrul i poate fi detectat de toate celelalte staii. Stelele pasive pot cupla
pn la sute de staii.
Pentru a permite transmisiuni multiple simultane, spectrul este divizat n canale (benzi de
frecven), ca n Fig. 2-24. n acest protocol, WDMA (Wavelength Division Multiple Access - acces
multiplu cu divizarea frecvenei), fiecrei staii i sunt asociate dou canale. Un canal ngust este
folosit drept canal de control pentru semnalizarea ctre staie, iar unul larg pentru ca staia s poat
trimite cadre de date prin el.

m cuante de timp
pentru control
Staie
Canalul de control al lui A
este utilizat de alte staii
pentru a-l contacta pe A

n + 1 cuante de timp pentru date

1
Canalul de control al lui B
Utilizat de B pentru
Canalul de date al lui B
a transmite date

Canalul de control al lui C

Canalul de date al lui C

Canalul de control al lui D


Canalul de date al lui D

Timp-

Fig. 4-10. Acces multiplu cu divizarea frecvenei.

Fiecare canal este mprit n cuante de timp, ca n Fig. 4-10. Fie m numrul de cuante ale
canalului de control i n + 1 numrul de cuante ale canalului de date, dintre care n sunt pentru date
i ultima este utilizat de staie pentru a-i raporta starea (n principal, care dintre cuantele ambelor
canale sunt libere). Pe ambele canale secvena de cuante se repet la infinit, cu cuanta 0 marcat
special pentru ca cei. care iau parte mai trziu la transmisie s o poat detecta. Toate canalele surit
sincronizate de un unic ceas global.
Protocolul suport trei clase de trafic: (1) trafic orientat pe conexiune cu rat constant de date,
cum este semnalul video necomprimat, (2) trafic orientat pe conexiune cu rat.variabil de date,
cum este transferul de fiiere i (3) trafic de datagrame, cum sunt pachetele UDP; Pentru cele dou
protocoale orientate pe conexiune, ideea este dk, pentru a comunica caB, trebuie s insereze mai
nti un cadru CONNECTION REQUEST (cerere conectare) ntr-o cuant liber de pe canalul de
control al lui B. Dac B accept, comunicaia se poate desfura pe canalul de date al lui A
242 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

Fiecare staie are doi emitori i doi receptori, dup cum urmeaz:

1. Un receptor cu lungime de und fix, pentru ascultarea propriului canal de control.


2. Un emitor reglabil pentru comunicarea pe canalul de control al altei staii.
3. Un emitor cu lungime de und fix pentru emisia cadrelor de date.
4. Un receptor reglabil pentru selectarea emitorului de ascultat.

Cu alte cuvinte, fiecare staie i ascult propriul canal de control pentru cererile care sosesc, dar
trebuie s se regleze pe frecvena emitorului pentru a primi datele. Reglarea frecvenei este
realizat cu un interferometru Fabry-Perot sau Mach-Zehnder, care elimin prin filtrare toate
frecvenele, cu excepia celei dorite.
S urmrim acum modul n care staia^ stabilete un canal de comunicaie de clas 2 cu staia B
pentru, s zicem, un transfer de fiiere. Mai nti, A i regleaz receptorul de date pe frecvena
canalului de date al lui B i ateapt cuanta de stare. Aceast cuant precizeaz care cuante de
control sunt ocupate i care sunt libere. De exemplu, n Fig. 4-10 se observ c din cele opt cuante de
control ale lui B, 0,4 i 5 sunt libere. Restul sunt ocupate (fapt indicat prin cruciulie).
A alege una din cele trei cuante de control, s zicem 4, i i insereaz mesajul CONNECT
REQUEST n ea. Cum B i ascult permanent canalul de control, vede cererea i o. aprob
acordnd cuanta 4 lui A. Aceast decizie este anunat n cuanta de stare a canalului de control.
Atunci cnd A vede anunul, va ti c s-a stabilit o conexiune unidirecional. Dac A cerea o
conexiune bidirecional, B ar fi trebuit s repete acelai algoritm cu A
Este posibil ca n timp ce A cuta s ocupe cuanta 4 de control a lui B, C s fac acelai
lucru. Nici o staie nu o va obine i amndou vor observa eecul supraveghind cuanta de
stare din canalul de date al lui B. Ele vor atepta n continuare un interval de timp aleatoriu,
dup care vor ncerca din nou.
n acest moment, fiecare parte are o cale fr conflicte pentru trimiterea de scurte mesaje de
control ctre cealalt. Pentru a realiza transferul de fiiere, A va trimite ctre B un mesaj de control,
spunnd, de exemplu, Te rog urmrete-mi urmtoarea cuant 3 de date de ieire. n ea se afl un
cadru de date pentru tine". Cnd B primete mesajul de control, i va regla receptorul pe canalul de
ieire al lui A pentru a citi cadrul de date. Bazndu-se pe un protocol de nivel mai nalt, B poate
utiliza acelai mecanism pentru a trimite napoi o confirmare, dac dorete.
De notat c apare o problem cnd A i C au conexiuni ctre B i fiecare i spune s se uite la
cuanta 3. B va alege una dintre ele la ntmplare, iar cealalt transmisie va fi pierdut.
La trafic constant este utilizat o variant a acestui protocol. Atunci candel cere o conexiune, ea
spune n acelai timp ceva de genul: este n regul dac i voi trimite cte un cadru n fiecare cuant
3? Dac B poate accepta (adic nu i-a luat nici un angajament pentru cuanta 3), este stabilit o
conexiune cu lrgime de band garantat. Dac nu, A poate ncerca din nou cu o alt propunere, n
funcie de cuantele de ieire libere.
Traficul de clas 3 (datagrame) utilizeaz o alt variant. n loc s scrie un mesaj
CONNECTION REQUEST n cuanta de control pe care tocmai a gsit-o (4), va scrie un mesaj
DATA FOR YOU N SLOT 3 (n cuanta 3 se afl date pentru tine). Dac B este liber n timpul
urmtoarei cuante 3 de date, transmisiunea va reui. Altfel, cadrul de date se va pierde. n acest fel
nu vom avea niciodat nevoie de conexiuni.
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 243

. Simt posibile mai multe variante ale ntregului protocol De exemplu, n loc s i asigurm
fiecrei staii propriul canal de control, toate staiile pot partaja un singur canal de control. Fiecrei
staii i este asociat un bloc de cuante n fiecare grup, multiplexnd astfel mai multe canale virtuale
ntr-un singur canal fizic.
De asemenea ne putem descurca cu un singur emitor reglabil i un singur receptor reglabil pe
staie, diviznd canalul fiecrei staii n m cuante de control, urmate de n + 1 cuante de date.
Dezavantajul const n faptul c emitorii trebuie s atepte mai mult pentru a obine o cuant de
control, iar cadrele de date consecutive vor fi separate din cauza informaiilor de control de pe canal.
Au mai fost propuse i numeroase alte protocoale WDMA, care se deosebesc prin detalii. Unele
au un canal de control, altele au mai multe. Unele iau n considerare ntrzierea de propagare, altele
nu; unele consider timpul de reglare a frecvenei ca fcnd parte explicit din model, altele l ignor.
De asemenea protocoalele se deosebesc prin complexitatea prelucrrii, productivitate i
scalabilitate. Pentru mai multe informaii, vezi (Bogineni .a., 1993; Chen, 1994; Chen i Yum, 1991;
Jia i Mukherjee, 1993; Levine i Akyldiz, 1995; Williams .a., 1993).

4.2.6 Protocoale pentru reele LAN iar fir

Pe msur ce numrul de echipamente de calcul i comunicaie crete, acelai lucru se


ntmpl i cu nevoia lor de conectare la lumea exterioar. Chiar i primele telefoane portabile
aveau posibilitatea de a se conecta la alte telefoane. Primele calculatoare portabile nu au avut
aceast posibilitate, dar curnd dup aceea, modemurile au devenit un lucru obinuit. Pentru a
comunica, aceste calculatoare trebuia s fie conectate la o priz telefonic de perete.
Necesitatea unei conexiuni prin cablu la o reea fix nsemna c de fapt calculatoarele, dei
erau portabile, nu erau mobile.
Pentru a obine o adevrat mobilitate, calculatoarele portabile trebuie s utilizeze pentru
comunicaie semnale radio (sau infraroii). Astfel, utilizatorii dedicai pot citi sau trimite pota
electronic n timp ce merg cu maina sau cu vaporul. Un sistem de calculatoare portabile care
comunic prin radio poate fi privit ca un LAN fr fir. Aceste LAN-uri au proprieti oarecum
diferite fa de LAN-urile convenionale i necesit protocoale speciale pentru subnivelul MAC. n
aceast seciune vom examina cteva din aceste protocoale. Mai multe informaii despre LAN-urile
fr fir pot fi gsite n (Davis i McGuffin, 1995 i Nemzow, 1995).
O configuraie obinuit pentru un LAN fr fir este o cldire cu birouri, cu staiile de baz
amplasate strategic n jurul cldirii. Toate staiile de baz sunt interconectate prin cabluri de cupru
sau fibr optic. Dac puterea de emisie a staiilor de baz i a calculatoarelor portabile este reglat
la o raz de aciune de 3 sau 4 metri, atunci fiecare camer devine o singur celul, iar ntreaga
cldire devine un mare sistem celular, ca n sistemele de telefonie celular tradiional, pe care le-am
studiat n Cap. 2. ns, spre deosebire de sistemele de telefonie celular, fiecare celul are un singur
canal, acoperind ntreaga lrgime de band disponibil. n mod normal, lrgimea de band a
canalului este de 1-2 Mbps.
n discuia care urmeaz vom presupune, pentru simplificare, c toi emitorii radio au un
domeniu fix. Atunci cnd un receptor se afl n raza a doi emitori activi, semnalul rezultat va fi, n
general, amestecat i neutilizabil (cu cteva excepii care vor fi discutate mai trziu). E important s
ne dm seama c n unele LAN-uri fr fir nu toate staiile se afl n domeniul celorlalte, ceea ce
244 SUBNIVELUL DE ACCES LA MEDIU CAP. +

duce la o serie de complicaii. Mai mult, pentru LAN-uri de incint fr fir, prezena pereilor ntre
staii poate avea un impact major asupra domeniului efectiv al fiecrei staii.
O abordare naiv n construirea unui LAN fr fir o constituie ncercarea de utilizare a
CSMA: ascultarea celorlalte transmisiuni i transmisia numai n cazul n care nimeni nu
transmite. Problema este c acest protocol nu este chiar potrivit, pentru c ceea ce conteaz
este interferena la receptor, nu la emitor. Pentru a vedea natura problemei, s privim
Fig. 4-11, n care apar patru staii nelegate prin cablu. Pentru ceea ce vrem s artm nti
conteaz care sunt staii de baz i care sunt calculatoare portabile. Domeniul (de recepie)
radio are proprietatea c A i B sunt fiecare n domeniul celeilalte i pot interfera una cu
cealalt. i C poate s interfereze att cu B ct i cu D, dar nu cu A

vi/
/T\
* Domeniul radio '

(a) (b)

Fig. 4-11. Un LAN fr fir. (a) A transmite, (b) B transmite.

S considerm mai nti ce se ntmpl atunci candel transmite ctre B, ca n Fig. 4-ll(a). Dac
C ascult mediul, ea nu o va auzi pe A pentru c A este n afara domeniului ei, trgnd concluzia
fals c poate transmite. Dac C ncepe s transmit, ea va interfera la B cu cadrul de la A,
distrugndu-1. Problema staiei care nu poate detecta un potenial competitor la mediu pentru c se
afl prea departe este numit uneori problema staiei ascunse (hidden station problem).
S considerm acum situaia invers: B transmite ctre A, ca n Fig. 4-ll(b). Dac C ascult
mediul, va sesiza transmisia i va deduce n mod incorect c nu poate transmite ctre D, cnd de fapt
o asemenea transmisie ar cauza o proast recepie doar n zona cuprins ntre B i C, unde nu se afl
nici unul dintre receptorii vizai. Aceast situaie se mai numete i problema staiei expuse (exposed
station problem).
Problema este c nainte de a ncepe o transmisiune, o staie dorete s tie dac n preajma
receptorului se desfoar sau nu vreo activitate. CSMA sesizeaz acest lucru prin simpla detecie a
purttoarei. Prin cablu, toate semnalele se propag la toate staiile, aa c, la un moment dat, poate
avea loc o singur transmisie, indiferent de zona sistemului n care se desfoar ea. ntr-un sistem
bazat pe unde radio cu domeniu mic, se pot desfura mai multe transmisiuni simultan, dac acestea
au destinaii diferite i aceste destinaii au domenii disjuncte.
Alt cale de abordare a acestei probleme este s ne nchipuim o cldire de birouri n care
fiecare angajat are un calculator portabil nelegat prin cablu. S presupunem c Linda vrea s i
transmit un mesaj lui Milton. Calculatorul Lindei ascult mediul local i, nedetectnd nici o
activitate, ncepe s transmit. Totui, se mai poate produce o coliziune n biroul lui Milton,
pentru c o a treia persoan i transmitea deja dintr-un alt loc, att de departe de Linda, nct
calculatorul ei nu a putut detecta acest lucru.
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 245

MACAiMACAW
Unul dintre primele protocoale concepute pentru LAN-uri fr fir este MACA (Multiple Access
with Collision Avoidance - acces multiplu cu evitarea coliziunii) (Karn, 1990). El a fost utilizat ca
baz pentru standardul de LAN fr fir IEEE 802.11. Ideea de baz care st n spatele su este ca
emitorul s stimuleze receptorul s emit un scurt cadru, astfel nct staiile apropiate s poat
detecta aceast transmisiune i s nu emit i ele pe durata cadrului (mare) de date care urmeaz.
MACA este ilustrat n Fig. 4-12.

Domeniul de transmisie al lui A

Domeniul de
transmisie al lui B
(a) (b)

Fig. 4-12. Protocolul MACA. (a) A emite un RTS ctre B.


(b) B i rspunde lui A cu un CTS.

S vedem aeuni modul n care A i trimite un cadru lui B. A ncepe prin a emite un cadru RTS
(Request To Send - cerere de emisie) ctre B, ca n Fig. 4-12(a). Acest scurt cadru (30 de octei)
conine lungimea cadrului de date care va urma. Apoi B rspunde cu un cadru CTS (Clear To Send
- aprobare transmisie), ca n Fig. 4-12(b). Cadrul CTS conine lungimea datelor (copiat din cadrul
RTS). La recepia cadrului CTS, A ncepe transmisia.
S urmrim acum modul n care reacioneaz staiile care recepioneaz vreunul din aceste
cadre. Orice staie care aude RTS se afl n mod cert n apropierea lui^4 i trebuie s tac suficient
de mult pentru ca CTS s poat fi trimis fr conflicte napoi la A Orice staie care recepioneaz
CTS se afl n mod cert n apropiere de B i trebuie s tac n timpul transmisiei de date n curs, a
crei lungime o poate afla examinnd cadrul CTS.
n Fig. 4-12, C se afl n domeniul lui A, ns nu n domeniul lui B. De aceea va auzi RTS de la^4,
dar nu i CTS de la B. Ct timp nu interfereaz cu CTS, ea este liber s transmit n timp ce cadrul
de date este emis. n schimb D este n domeniul lui B, dar nu i n cel al lui A. Nu aude RTS, dar
aude CTS. Recepionnd CTS, i va da seama c este aproape de o staie care este pe cale s
primeasc un cadru, aa c se va abine de la a emite ceva pn cnd, dup calculele sale, acel cadru
se va termina. Staia E aude ambele mesaje de control i, ca i D, trebuie s tac pn la terminarea
cadrului de date.
246 SUBNTVELUL DE ACCES LA MEDIU CAP. 4

n ciuda acestor precauii, nc mai pot aprea coliziuni. De exemplu, B i C ar putea transmite
simultan cadre RTS ctre .4. Ele vor intra n coliziune i se vor pierde. n eventualitatea unei
coliziuni, un emitor care nu a avut succes (adic unul care nu aude un CTS n intervalul de timp
prevzut) va atepta o perioad de timp aleatorie i va ncerca din nou. Algoritmul utilizat este cel d<
regresie exponenial binar, pe care l vom studia cnd vom ajunge la LAN-ul IEEE 802.3.
Bazat pe studii de simulare a MACA, Bharghavan .a. (1994) au reuit pn la urma s
mbunteasc performanele MACA i au redenumit noul lor protocol MACAW. La nceput, ei aii
observat c, fr confirmri ale nivelului legtur de date, cadrele pierdute nu erau retransmise pn
cnd, mult mai trziu, nivelul transport le observa absena. Au rezolvat aceast problem
introducnd un cadru de confirmare ACK dup fiecare cadru de date transmis cu succes. Tot ei au
mai observat c CSMA are o oarecare utilitate, i anume s opreasc o staie de la a transmite un
RTS concomitent cu o alt staie apropiat care face acelai lucru ctre aceeai destinaie, aa c a
fost adugat i detecia de purttoare. n plus, ei au mai decis s execute algoritmul de regresie
separat pentru fiecare flux de date (pereche surs-destinaie), iar nu pentru fiecare staie. Aceast
schimbare mbuntete echitatea protocolului. n final, pentru a mbunti performanele
sistemului, au mai adugat un mecanism ce permite staiilor s schimbe informaii despre congestia
reelei, precum i o cale de a face ca algoritmul de regresie s reacioneze mai puin violent la
problemele temporare.

4.2.7 Radioul celular digital

O a doua form de reele fr fir o reprezint radioul celular, succesor al sistemului AMPS, pe
care l-am studiat n cap.2. Radioul celular digital prezint un mediu oarecum diferit fa de LAN-
urile fr fir i utilizeaz protocoale diferite. n particular, el este orientat ctre telefonie, care cere
mai degrab conexiuni de ordinul minutelor, dect al milisecundelor, deci este mai eficient alocarea
canalelor per convorbire, dect per cadru. Oricum, ambele termici sunt egal valabile n cazul
traficului de date. n aceast seciune vom trece n revist trei abordri radical diferite n alocarea
canalelor pentru sistemele radio digitale fr fir, i anume GSM, CDPD i CDMA.

GSM - sistem global pentru comunicaii mobile

Prima generaie de telefoane celulare a fost analogic, dup cum am descris n capitolul 2, dar
generaia actual este digital, utiliznd pachete radio. n cazul comunicaiilor mobile, transmisia
digital are cteva avantaje fa de cea analogic. Primul: vocea, datele i faxul pot fi integrate ntr-
un singur sistem. Al doilea: cu ct sunt descoperii algoritmi mai buni de compresie a vocii, cu att
este nevoie de o lrgime de band mai ngust pentru fiecare canal. Al treilea: pentru mbuntirea
calitii transmisiunii pot fi folosite coduri corectoare de erori. n fine, semnalele digitale pot fi
criptate, pentru asigurarea securitii.
Dei ar fi fost frumos ca ntreaga lume s fi adoptat acelai standard digital, acest lucru nu s-a
ntmplat. Sistemul Statelor Unite, IS-54, i sistemul japonez, JDC, au fost concepute pentru a fi
compatibile cu propriile sisteme analogice aflate n uz, astfel nct fiecare canal AMPS s poat fi
utilizat att pentru comunicaii analogice, ct i digitale.
n schimb, sistemul digital european, GSM (Global System for Mobile Communications), a
fost conceput de la nceput ca un sistem pur digital, fr vreun compromis de dragul
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 247

compatibilitii napoi (de exemplu, utilizarea cuantelor de frecven existente). ntruct GSM
este mai naintat fa de sistemul Statelor Unite i este utilizat curent n peste 50 de ri din
Europa i din afara ei, l vom folosi ca exemplu de radio celular digital.
GSM a fost proiectat iniial pentru a fi utilizat n banda de 900 MHz. Mai trziu au fost alocate
frecvene i la 1800 MHz, iar un al doilea sistem, asemntor cu GSM, a fost instalat acolo. El a fost
numit DCS1800, dar, n esen, este GSM.
Standardul GSM are peste 5000 de pagini [sic!]. O bun parte din acest material se refer la
aspectele inginereti ale sistemului, n special la structura receptoarelor care permit propagarea pe
mai multe ci i la sincronizarea emitorilor i receptorilor.

Cadru TDM
A Canal

959.8 MHz 124'

Baz
935.4 MHz ctre mobil
1 M MII 1 ftM I I 1 1 1 11 II II 1 11 II 1 1
935.2 MHz I N I M I I N I M I i II II II II 1 1 1
xo

914.8 MHz 124


Mobil
pi 2 ctre baz
890.4 MHz N W\ I i
!,! III
890.2 MHz I I i I 1

Timp

Fig. 4-13. GSM utilizeaz 124 de canale de frecven,


fiecare utiliznd un sistem TDM cu opt cuante.

Un sistem GSM are maxim 200 de canale full-duplex pe celul. Fiecare canal este constituit
dintr-o frecven tur (de la staiile mobile la staia de baz) i o frecven retur (de la staia de
baz la staiile mobile). Fiecare band de frecven are o lrgime de 200 KHz, ca n Fig. 4-13.
Fiecare din cele 124 de canale de frecven suport 8 conexiuni separate utiliznd multiplexarea
prin diviziunea timpului. Fiecrei staii active la un moment dat i este repartizat o cuant de timp pe
un canal. Teoretic, fiecare celul poate suporta 992 de canale, dar multe din ele nu sunt disponibile,
pentru a evita conflictele de frecven cu celulele vecine. n Fig. 4-13, cele opt cuante de timp
umbrite aparin aceluiai canal, cte patru pentru fiecare direcie. Dac staia mobil, creia i s-au
acordat frecvenele 890.4/935.4 MHz i cuanta 2, vrea s transmit staiei de baz, ea ar utiliza cele
patru cuante umbrite de jos (i pe cele care ar urma n timp), punnd date n fiecare cuant, pn
cnd sunt transmise toate datele.
Cuantele TDM din Fig. 4-13 fac parte dintr-o ierarhie complex de cadre. Fiecare cuant TDM
are o structur specific, iar grupurile de cuante TDM formeaz multicadre, de asemenea cu o
structur specific. O versiune simplificat a acestei ierarhii este prezentat n Fig. 4-14. Se observ
c fiecare cuant TDM este format dintr-un cadru de date de 148 de bii. Fiecare cadru de date
ncepe i se termin cu trei bii 0, pentru delimitarea cadrului. De asemenea, mai conine dou
248 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

cmpuri de Informaie (Information) de cte 57 de bii, fiecare avnd un bit de control care ne arat
dac urmtorul cmp de Informaie este pentru voce sau date. ntre cmpurile de Informate se afl
un cmp (de pregtire) de 26 de bii, Sync, utilizat de receptor pentru a se sincroniza cu capetele
cadrului emitorului. Un cadru de date este transmis n 547 usec, dar un emitor are voie sa
transmit un cadru de date doar la fiecare 4.615 msec, ntruct mparte canalul cu alte apte staii.
Rata total a fiecrui canal este de 270 833 bps, mprit la opt utilizatori. Scznd ncrcarea
suplimentar, fiecare conexiune poate transmite un semnal de voce compresat sau 9600 bps de date.
Dup cum se poate vedea n Fig. 4-14, opt cadre de date formeaz un cadru TDM, iar 26 de
cadre TDM formeaz un multicadru de 120 msec. Din cele 26 de cadre TDM ale unui multicadru,
cuanta 12 este utilizat pentru control iar cuanta 25 este rezervat pentru utilizri viitoare, astfel
nct doar 24 sunt disponibile pentru traficul utilizatorilor.
Totui, pe lng cele 26 de cuante ale multicadrului din Fig. 4-14, este utilizat i un multicadru de
51 de cuante (care nu apare n figur). Unele dintre aceste cuante sunt utilizate pentru a pstra
cteva canale de control folosite la administrarea sistemului. Canalul de control al difuzrii
(broadcast control channel) este un flux continuu de date emis de staia de baz i conine
identitatea acesteia i starea canalului. Toate staiile mobile i urmresc cu atenie semnalul, pentru a
sti cnd au trecut ntr-o nou celul.

-Multicadru de 32 5000 de bii transmis n 120 msec


I
C
0 1 2 3 4 5 6 7 8 9 10 11 T 13 14 15 16 17 18 19 20 21 22 23 24
L 4
/
Rezervat
pentru
6
r
\:adru TDM de 1250 de bi emis n 4,615 mst!C

II I1 I
1 2 4
0 l1 I1 1
3 5 7
S
viitoare

Timp de
siguran
....-" Cadru de date de 8,25 bii
de 148 de bii emis n 547 usec (30 usec)

000 Informaie Sync Informaie 000

Bii 3 57 \ 26 / 57 3
Bit de voce/date

Fig. 4-14. O poriune din structura cadrului GSM.

Canalul de control dedicat (dedicated control channel) este folosit la reactualizarea localizm,
nregistrarea i stabilirea legturii. n particular, fiecare staie de baz menine o baz de date a
staiilor mobile aflate momentan n perimetrul deservit de ea. Informaiile necesare pentru
meninerea acestei Base de date sunt transmise prin canalul de control dedicat.
n sfrit, mai exist i canalul de control comun (common control channel), care este mprit n
trei subcanale logice. Primul dintre aceste subcanale este canalul de avertizare (paging channel),
utilizat de staia de baz pentru a anuna apeluri ctre staii. Fiecare staie l ascult permanent,
SEC, 4.2 PROTOCOALE CU ACCES MULTIPLU

,a detecta-. apelurile la. care ..trebuie s rspund.. Al; doilea jeste canalul cu acces aleatoriu
(random access channel), care funcioneaz pe principiul unui sistem ALOHA cuantificat, pentru a
permite staiilor mobile s cear o cuant pe canalul de control dedicat. Cu ajutorul acestei cuante, o
staie poate iniia o convorbire. Cuanta acordat este anunat pe cel de-al treilea subcanal, canalul
de acordare a accesului (access grant channel).
n concluzie, GSM este un sistem relativ complex. El asigur accesul la canal utiliznd o
combinaie de ALOHA cuantificat, FDM i TDM. Pentru mai multe informaii despre GSM,
inclusiv despre aspecte ale sistemului pe care nu le-am discutat, de exemplu arhitectura pe niveluri a
protocolului, vezi (Rahnema, 1993).

CDPD - pachete de date digitale celulare


GSM se bazeaz, n principal, pe comutare de circuite. Un calculator mobil cu un modem special
poate realiza un apel utiliznd un telefon GSM n acelai mod n care lLar realiza printr-un telefon
cablat. Totui, utilizarea acestei strategii nu este lipsit de probleme. Pe de o parte, schimbarea
staiei de baz este frecvent, uneori chiar i pentru utilizatorii staionari (staiile de baz i pot
transfera utilizatorii ntre ele, pentru echilibrarea ncrcrii), iar fiecare transfer nseamn o pierdere
de circa 300 msec de date. Pe de alt parte, GSM poate suferi de o rat nalt a erorilor. Tastarea
A

unui a" i afiarea lui ca m" devine suprtoare. In fine, apelurile fr fir sunt scumpe i nota de
plat crete rapid, deoarece taxarea se face pe minut de conectare, nu pe octet transmis.
O ncercare de rezolvare a acestor probleme este reprezentat de un serviciu de datagrame
digitale cu comutare de pachete numit CDPD (Cellular Digital Packet Data). El este construit
deasupra AMPS (vezi Cap. 2) i este pe deplin compatibil cu acesta. n principiu, orice canal liber de
30 KHz poate fi obinut temporar pentru transmisia de cadre de'date la o rat total de 19,2 Kbps.
Pentru c CDPD implic o mic ncrcare suplimentar, rata net a datelor se situeaz aproape de
9600 bps. Totui, un sistem de datagrame fr fir, neorientat pe conexiune, pentru transmisia, de
exemplu, a pachetelor IP, utiliznd actualul sistem de telefonie celular; este o propunere
interesant pentru muli utilizatori i de aceea utilizarea ei este tot mai frecvent.
CDPD urmeaz ndeaproape modelul OSI. Nivelul fizic se ocup cu detaliile modulaiei i
transmisiei radio, care nu ne intereseaz aici. De asemenea, exist protocoale pentru nivelurile
legtur de date, reea i transport, dar nici ele nu ne intereseaz n mod special. n schimb,
vom da o descriere general a sistemului, iar apoi vom descrie protocolul de acces la mediu.
Pentru mai multe informaii despre ntreg sistemul CDPD, vezi (Quick i Balachandran, 1993).
Un sistem CDPD este format din trei tipuri de staii: gazde mobile, staii de baz i staii de
baz de interfa (n jargon CDPD: sisteme finale mobile, sisteme de Base de date mobile i,
respectiv, sisteme intermediare de date mobile). Aceste staii interacioneaz cu gazdele
staionare i eu ruterele standard, de tipul celor care se gsesc n orice WAJNb Gazdele mobile
sunt calculatoarele portabile ale utilizatorilor. Staiile de baz sunt emitorii care emit ctre
gazdele mobile. Staiile de interfa.de baz sunt noduri speciale care interfaeaz toate staiile
de baz din zona unui furnizor de CDPD cu un ruter standard (fix), pentru a transmite mai
departe prin Internet sau alt WAN. Aceast configuraie este prezentat n Fig. 4-15.
n CDPD sunt definite trei tipuri de interfee. Interfaa E (E-interface), extern furnizorului de
CDPD,; conecteaz o zon CDPD la o reea fix. Aceast interfa trebuie bine definit, pentru a
permite CDPD, s se conecteze la o varietate de reele. Interfaa I (I-interface), intern furnizorului
250 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

de GDPD, conecteaz dou zone CDPD. Ea trebuie s fie standardizat, pentru a permite
utilizatorilor s treac de la o zon la alta. A treia interfa este interfaa A (A-interface), interfaa
aerian, ntre staia de baz i gazdele mobile. Aceasta este cea mai interesant, aa c acum o vom
examina mai de aproape.

Ctre reeaua fix


Ctre reeaua fix

v Zon a furnizorului de CDPD


\ Interfaa

Staia de Ruter
interfa
de baz
Interfaa A Staie de
baz

Gazd
mobil

Fig. 4-15. Un exemplu de sistem CDPD.

. Datele sunt transmise prin interfaa aerian compresate, criptate i cu corecia erorilor. Buci de
cte 274 de bii compresati i criptai sunt mpachetai n blocuri de 378 de bii utiliznd codul
corector de erori Reed-Solomon. Fiecrui bloc RS i sunt adugate apte cuvinte indicatoare de cte
6 bii, formnd blocuri de cte 420 de bii. Fiecare bloc de 420 de bii este mprit n apte
microblocuri de cte 60 de bii, care sunt transmise consecutiv. Fiecare microbloc i are propriul
cuvnt indicator de 6 bii, utilizai pentru a indica starea canalului. Aceste microblocuri trec printr-
un canal retur (de la baz) de 19.2 Kbps, sau printr-un al doilea canal, canalul tur (spre baz), de
19.2 Kbps, n modul full-duplex. Efectiv, att canalul tur ct i cel retur sunt cuantificate n timp, ca o
secven de microblocuri de 60 de bii. Fiecare microbloc dureaz 3.125 msec.
Fiecare celul CDPD are o singur pereche tur/retur disponibil pentru date. Canalul retur
este uor de administrat, ntruct exist un singur emitor pe celul: staia de baz. Toate
cadrele transmise prin el sunt difuzate, fiecare gazd mobil selectndu-le doar pe acelea
destinate ei sau tuturora.
Partea complicat este canalul tur, pentru care concureaz toate gazdele mobile care vor s
transmit. Cnd o gazd mobil are de transmis un cadru, va urmri canalul retur pentru un
bit indicator care i spune dac cuanta curent de pe canalul tur este liber sau ocupat. Dac
este ocupat, n loc s atepte pentru urmtoarea cuant de timp, sare peste un numr
aleatoriu de cuante i ncearc din nou. Dac iari vede canalul tur ocupat, ateapt un timp
aleatoriu mai ndelungat i repet procedura. Timpul de ateptare mediu statistic se dubleaz
la fiecare ncercare nereuit. Cnd, n sfrit, reuete s prind canalul presupus liber, ncepe
s-i transmit microblocul.
Esena acestui algoritm, numit DSMA (Digital Sense Multiple Access - acces multiplu cu
detecie digital) este s evite ca toate gazdele mobile s se precipite pe canalul tur imediat ce acesta
SEC . 4.2 PROTOCOALE CU ACCES MULTIPLU 251

d&me; liber. ntr-un fel, se aseamn cu protocolul CSMA p-persistent discret, menionat anterior,
deoarece i el utilizeaz cuante de timp discrete pe ambele canale.
Necazul este c, n ciuda DSMA, nc mai este posibil o coliziune cu alt gazd mobil,
deoarece dou sau mai multe dintre ele pot alege aceeai cuant de timp pentru a ncepe
emisia. Pentru a permite gazdelor mobile s descopere dac au suferit sau nu o coliziune, un
bit indicator din fiecare microbloc arat dac microblocul precedent de pe canalul tur a fost
recepionat corect. Din nefericire, staia de baz nu poate determina acest lucru instantaneu
dup terminarea unui microbloc, astfel c recepia corect/incorect a microblocului n este
ntrziat pn la microblocul n + 2.
ntruct nu poate aprecia dac o transmisiune s-a efectuat cu succes, n cazul n care un emitor
are mai multe blocuri de transmis, le va transmite pur i simplu, fr a fi nevoit s capete din nou
canalul. Dac n cuanta de timp urmtoare constat c transmisia sa anterioar a euat, se oprete.
Altfel, va continua s transmit, pn la un anumit numr maxim de blocuri Reed-Solomon sau
pn cnd staia de baz seteaz un bit indicator pe canalul retur, pentru a-i spune c deocamdat a
auzit destul de la respectivul emitor.
O proprietate suplimentar a CDPD este c utilizatorii de date sunt un fel de ceteni de
categoria a doua. Atunci cnd o nou transmisiune de voce este pe cale s primeasc un canal
utilizat momentan pentru CDPD, staia de baz emite un semnal special pe retur, nchiznd canalul.
Dac staia de baz cunoate deja numrul noului canal CDPD, l anun. Altfel, pentru a-1 gsi,
gazdele mobile trebuie s a vneze dintr-o mulime cunoscut de poteniale canale CDPD. n acest
fel, CDPD poate absorbi orice capacitate liber dintr-o celul, fr a interfera cu vocea.
Ar trebui s rezulte clar din aceast descriere c CDPD a fost adugat sistemului de voce dup
ce acesta din urm era deja operaional, iar proiectarea sa era constrns de faptul c nu se puteau
efectua modificri asupra sistemului de voce. n consecin, atunci cnd se execut selecia canalului
pentru transmisiuni vocale, algoritmul nu ine cont de existena CDPD. Acesta este motivul pentru
care canalul CDPD este uneori confiscat brusc. Oricum, nimic nu ne mpiedic s avem canale
CDPD dedicate. Cu ct CDPD crete n popularitate, cu att este mai probabil ca furnizorii s
rezerve canale exclusiv pentru el.

CDMA - acces multiplu cu diviziunea codului


GSM ar putea fi descris ca o soluie brutal pentru alocarea canalului. El utilizeaz o combinaie
de, practic, toate tehnicile cunoscute (ALOHA, TDM, FDM), ntreesute complex. CDPD folosit la
transmisiuni de cadre singulare este la baz CSMA nepersistent. Vom examina acum nc o metod
de alocare a unui canal fr fir, CDMA (Code Division Multiple Access).
CDMA este complet diferit de toate celelalte tehnici de alocare studiate pn acum. Unele
dintre ele erau bazate pe mprirea canalului n benzi de frecven i repartizarea acestora static
(FDM) sau la cerere (multiplexare cu diviziunea frecvenei), deintorul utiliznd banda neprecizat
de mult, Alte tehnici alocau canalul,n rafale, repartiznd ntregul canal static (TDM cu cuante de
timp fixe) sau dinamic (ALOHA). CDMA permite fiecrei staii s transmit ncontinuu pe ntreg
spectrul de frecven. Transmisiunile multiple simultane sunt separate cu ajutorul teoriei codificrii.
CDMA relaxeaz de asemenea presupunerea c acele cadre care intr n coliziune sunt total
denaturate. n schimb, el presupune c semnalele multiple sunt nsumate.
252 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

nainte de a prezenta algoritmul, s considerm teoria petrecerii (cocktail party theory)


referitoare la accesul la canalul de comunicaie. ntr-o camer foarte mare discut mai multe perechi
de oameni. TDM este atunci cnd toi se afl n mijlocul camerei i vorbesc pe rnd. FDM este
atunci cnd oamenii se strng n grupuri larg distanate, n fiecare grup purtndu-se cte o
conversaie independent de celelalte grupuri, dar n acelai timp cu ele. CDMA este atunci cnd toi
se afl n mijlocul ncperii vorbind n acelai timp, dar fiecare pereche n alt limb. Cuplul francez
discut doar n francez, ignornd orice altceva ca pe un zgomot. Astfel, esena CDMA const n a
extrage semnalul dorit, respingnd n acest timp restul ca pe un zgomot oarecare.
n CDMA fiecare interval de bit este divizat n m intervale scurte numite achii (chips). n mod
obinuit sunt 64 sau 128 de achii/bit, dar n exemplul de mai jos, pentru simplificare, vom folosi doar
8 achii/bit.
Fiecare staie are un cod unic pe m bii, numit i secven de achii (chip sequence). Pentru a
transmite un bit 1, o staie i trimite propria secven de achii. Pentru a transmite un bit 0, ea va
trimite complementul secvenei sale de achii. Nici o alt secven nu este permis. Astfel, pentru m
= 8, dac staia A are secvena 00011011, va trimite un 1 cu 00011011 i un 0 cu 11100100.
Creterea cantitii de informaie transmis de la b bii/sec la mb achii/sec poate fi realizat dac
lrgimea de band disponibil este mrit de m ori, fcnd astfel ca CDMA s fie o form de
comunicaie cu spectru larg (presupunnd c nu se fac schimbri n tehnicile de modulaie sau
codificare). Dac avem o band de 1 MHz pentru 100 de staii, cu FDM fiecare ar avea 10 kHz i ar
putea emite la 10 kbps (presupunnd 1 bit pe Hz). Cu CDMA, fiecare staie folosete toat banda
de 1 MHz, astfel c rata achiilor este de 1 megaachie pe secund. Cu mai puin de 100 de achii pe
bit, lrgimea de band efectiv pentru fiecare staie este mai mare la CDMA dect la FDM, iar
problema alocrii canalului este de asemenea rezolvat, aa cum vom vedea pe scurt.
Din motive pedagogice, este mai convenabil folosirea unei notaii bipolare, cu 0 binar
reprezentat ca -l, iar 1 binar ca +1. Vom scrie secvenele de achii ntre paranteze, aa c un bit 1
pentru staia A va deveni (-1-1-1 +1 +1-1 +1 +1). n Fig. 4-16(a) sunt prezentate secvenele de
achii binare asociate celor patru staii luate ca exemplu. n Fig. 4-16(b) ele sunt prezentate n
notaia noastr bipolar.
Fiecare staie are propria sa secven de achii. Vom folosi simbolul S pentru a indica vectorul de
m achii pentru staia S i ~S pentru negaia sa. Toate secvenele de achii sunt ortogonale dou cte
dou, prin aceasta nelegnd c produsul scalar normat al oricror dou secvene distincte de achii,
S i T, notat S T, este 0. n termeni matematici,

- -s,i; =0 (4-5)
;=i

Altfel spus, toate perechile care se pot forma sunt diferite ntre ele. Aceast proprietate de
ortogonalitate se va dovedi crucial mai trziu. De notat c dac S T = 0, atunci i S ~T este tot 0.
Produsul scalar normat al oricrei secvene de achii cu sine nsi este 1:
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 253

A:0001 1 0 1 1 A: (-1-1-1+1+1 -1+1+1)


B: 0 01 01 1 1 0 B: (-1 -1 +1 -1 +1 +1 +1 -1)
C: 01:01 1 100 C:(-1 +1 -1 +1 +1 +1-1 -1)
D: 01 0 0 0 0 1 0 D: (-1 +1 -1 -1 -1 -1 +1 -1)
(a) (b)

ase exemple:

1- C S, = (-1+1-1+1+1+1-1-1)
-11- B+C S2 = (-2 0 0 0+2+2 0-2)
10-- A+B S 3 = (0 0-2+2 0-2 0+2)
101- A + B +C S 4 = (-1+1-3+3-1-1-1+1)
1111 A+B+C+D S 5 = (-4 0-2 0+2 0+2-2)
1101 A + B + C +D S6 = (-2-2 0 - 2 0-2 + 4 0)
(c)

s,. c = (1+1+1+1+1+1+1
5 2 . C = (2 +0 +0 +0 +2 +2 +0 +2)/8 = 1
5 3 . C = (0 +0 +2 +2 +0 -2+0 -2)/8 = 0
5 4 . C = (1 +1 +3 +3 +1 -1 +1 -1)/8 = 1
5 5 . C = (4 +0 +2 +0+2 +0 -2 +2)/8 = 1
5 6 . C = (2 -2 +0 -2 +0 -2 -4 +0)/8 = -1
(d)
Fig. 4-16. (a) Secvenele de achii binare pentru patru staii, (b) Secvenele de achii bipolare,
(c) ase exemple de transmisii, (d) Recuperarea semnalului staiei C.

Acest lucru se ntmpl deoarece fiecare din cei m termeni ai produsului scalar este 1, astfel c
suma este m. De notat de asemenea c S " S = -1.
n timpul fiecrui interval de bit, o staie poate transmite un 1 emind propria secven de
achii, sau poate transmite un 0 emind complementul secvenei sale de achii, sau poate s nu
transmit nimic. Pentru moment vom presupune c toate staiile sunt sincronizate n timp, astfel c
toate secvenele de achii ncep n acelai moment.
Cnd dou sau mai multe staii transmit simultan, semnalele lor bipolare se adun liniar. De
exemplu, dac ntr-un interval de achie trei staii emit +1 i o staie emite -l, rezultatul este +2.
Putem privi aceasta ca pe o adunare de tensiuni: trei staii emit +1 volt i o staie emite -l volt,
rezultnd 2 voli.
n Fig. 4-16(c) avem ase exemple de una sau mai multe staii transmind simultan. n primul
exemplu, C transmite 1 bit 1, deci vom obine secvena de achii a lui C. n al doilea exemplu, att B
ct i C transmit bii de 1, deci vom obine suma secvenelor lor de achii bipolare, i anume:

(-1 -l +1 -l +1 +1 +1 -1) + (-1 +1 -l +1 +1 +1 -l -1) = (-2000+2 +20-2)

n cel de-al treilea exemplu, staia A emite un 1 iar staia B emite un 0. Celelalte tac. n al
patrulea exemplu, A i C emit cte un bit 1, n timp ce B emite un bit 0. n al cincilea exemplu, toate
cele patru staii emit cte un bit 1. n final, n ultimul exemplu, A, B, i D emit cte un bit 1, n timp
254 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

ce C emite un bit 0. S notm c fiecare dintre cele ase secvene, Si pn la S6, date n Fig. 4-16(c)
reprezint durata unui singur bit.
Pentru a reface irul de bii al unei staii individuale, receptorul trebuie s cunoasc dinainte
secvena de achii a staiei. El face recuperarea calculnd produsul scalar normat ntre secvena de
achii recepionat (suma liniar a tuturor staiilor care au transmis) i secvena de achii a staiei al
crei ir de bii ncearc s l refac. Dac secvena de achii recepionat este S i receptorul
ncearc s asculte de la o staie a crei secven de achii este C, atunci va calcula doar produsul
scalar normat, S*C.
Pentru a vedea de ce se ntmpl aa, imaginai-v dou staii, A i C, ambele transmind un bit
1 n acelai timp n careB transmite un bit 0. Receptorul primete suma: S = A + ~B + Ci
calculeaz:

SC = (A + ~B + C)C = AC + -BC + O C = 0 + 0 + 1 = 1

Primii doi termeni dispar, deoarece toate perechile de secvene de achii au fost alese cu grij pentru
a fi ortogonale, ca n ecuaia (4-5). Acum ar trebui s fie clar de ce aceast proprietate trebuie
impus secvenelor de achii.
Un alt mod de a gndi relativ la aceast situaie este de a ne imagina toate cele trei secvene de
achii sosite separat, n loc s fie nsumate. Atunci receptorul ar calcula produsul scalar cu fiecare
separat i ar aduna rezultatele. Datorit proprietii de ortogonalitate, toate produsele interne n
afar de C C ar fi 0. Adunndu-le i apoi fcnd produsul lor scalar este, de fapt, acelai lucru cu
calculul produselor interne i adunarea acestora.
Pentru a face procesul de decodificare mai concret, s considerm din nou cele 6 exemple din
Fig. 4-16(d). S presupunem c receptorul este interesat n extragerea bitului trimis de staia C din
fiecare din cele ase sume de la Si la S6. Ea calculeaz acest bit prin nsumarea perechilor de produse
ntre vectorul S recepionat i vectorul C din Fig. 4-16(b), lund apoi 1/8 din rezultat (deoarece n
acest caz m - 8). Aa cum am artat, de fiecare dat este decodificat bitul corect. Este ca i cum s-ar
fi vorbit franceza.
ntr-un sistem CDMA ideal, fr zgomote, capacitatea (adic numrul de staii) poate fi mrit
arbitrar de mult, aa cum i capacitatea unui canal Nyquist fr zgomote poate fi mrit arbitrar de
mult prin utilizarea unui numr tot mai mare de bii pe eantion. n practic, limitrile fizice reduc
considerabil capacitatea. La nceput, am presupus c toate achiile sunt sincronizate n timp. n
realitate, aceasta este imposibil de realizat. Ceea ce se poate face este ca emitorul i receptorul s
se sincronizeze prin expedierea de ctre emitor a unei secvene de achii cunoscute, suficient de
lung pentru ca receptorul s o poat localiza. Astfel, toate celelalte transmisii (nesincronizate) sunt
percepute ca un zgomot aleatoriu. Dac ele nu sunt prea numeroase, algoritmul fundamental de
decodificare funcioneaz totui destul de bine. Exist multe situaii referitoare la suprapunerea
secvenei de achii cu nivelul de zgomot (Pickholtz .a., 1982). Aa cum v putei atepta, cu ct o
secven de achii este mai lung, cu att este mai mare probabilitatea detectrii ei corecte n
prezena zgomotului. Pentru o mai mare siguran, secvena de bii poate folosi un cod corector de
erori. Secvenele de achii nu folosesc niciodat coduri corectoare de erori.
O presupunere implicit n discuia anterioar este c nivelurile de putere ale tuturor staiilor sunt
aceleai cu cele percepute de receptor. Protocolul CDMA este folosit n mod obinuit pentru sistemele
fr fir cu o staie de baz fix i multe staii mobile la distane variabile de aceasta. Nivelurile de putere
SEC. 43 STANDARDUL ffiEE 802 PENTRU LAN-URI I MAN-URI 255

recepionate la staia de baz depind dest de departe sunt emt^toL^n acest caz, o euristic bun
este ca fiecare staie mobil s emit ctre staia de baz la un nivel invers de putere fa cel primit de
la staia de baz, astfel nct o staie mobil eare recepioneaz un semnal slab de la baz va folosi mai
mult putere dect una care primete un semnal puternic. De asemenea, staia de baz poate s
comande staiilor mobile s creasc sau s scad puterea lor de emisie.
De asemenea, am presupus c receptorul tie cine este emitorul. n principiu, avnd
suficient capacitate de calcul, receptorul poate asculta toi emitorii deodat, prin rularea
algoritmului de decodificare pentru fiecare dintre ei n paralel. n viaa real ns, este
suficient s spunem c este mai uor de zis dect de fcut. CDMA are nc i muli ali factori
complicai, care au fost trecui cu vederea nr aceast scurt introducere. Cu toate acestea,
CDMA este o strategie inteligent care este rapid introdus n comunicaiile mobile fr fir.
Cititorii care au cunotine solide de inginerie electric i care vor s aprofundeze studiul CDMA
pot citi (Viterbi, 1995). Q strategie alternativ de eantionare, n care eantionarea se face mai
degrab n timp dect n frecven, este descris n (Crespo .a., 1995).

43 STANDARDUL BEEE 802 PENTRU LAN-URII MAN-URI

Discuia noastr general asupra protocoalelor abstracte de alocare a canalelor s-a ncheiat, aa
c este timpul s vedem cum se aplic aceste principii sistemelor reale, n particular LAN-urilor. Aa
cum am discutat n seciunea 1.7.2, IEEE a produs cteva standarde pentru LAN-uri. Acestea,
cunoscute colectiv ca IEEE 802, includ CSMA/CD, token-bus i token-ring. Diversele standarde
difer la nivelul fizic i la subnivelul MAC, dar sunt compatibile la nivelul legturii de date.
Standardele IEEE 802 au fost adoptate de ANSI ca standarde naionale americane, de NIST ca
standarde guvernamentale i de ISO ca standarde internaionale (cunoscute ca ISO 8802). Ele sunt
surprinztor de inteligibile (fa de alte standarde).
Standardele sunt divizate n pri, fiecare parte fiind publicat ca o carte separat. Standardul
802.1 face o introducere n setul de standarde i definete primitivele de interfa. Standardul 802.2
descrie partea superioar a nivelului legtur de date, care folosete protocolul LLC (Logical Iink
Control - controlul legturii logice). Prile ntre 802.3 i 802.5 descriu trei standarde de LAN,
CSMA/CD, token-bus i, respectiv, token-ring. Fiecare standard acoper protocoalele de nivel fizic
i de subnivel MAC. Urmtoarele trei seciuni se refer la aceste trei sisteme. Informaii
suplimentare pot fi gsite n (Stallings, 1993b).

4.3.1 Standardul IEEE 8023 i ETHERNET

Standardul IEEE 802.3 este proiectat pentru un LAN CSMA/CD l-persistent. Pentru a trece n
revist ideea, atunci cnd o staie dorete s transmit, ascult cablul. Dac este ocupat, staia ateapt
pn cnd acesta devine liber; dac nu, transmite imediat Dac dou sau mai multe staii ncep s
transmit simultan pe un cablu liber, ele vor intra n coliziune. Toate staiile intrate n coliziune
ntrerup transmisia, ateapt o perioad de timp aleatorie i repet ntregul proces de la capt.
Standardul 802.3 are o istorie interesant. Adevratul nceput a fost sistemul ALOHA construit
pentru a permite comunicaii radio ntre calculatoarele mprtiate n insulele Hawaii. Mai trziu, a
fost adugat detecia purttoarei, iar Xerox PARC a construit un sistem CSMA/CD de 2.94 Mbps
.pentru a conecta peste 100 de staii de lucru personale pe cablu de 1 lan(Metcalfe iBoggs, 1976).
256 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

Acest sistem a fost numit Ethernet^ dup eterni luminifer prin cate se credea cndva c se propag
radiaiile electromagnetice. (Cnd fizicianul britanic din secolul al nousprezecelea, James Qerk
Maxwell, a descoperit c radiaia electromagnetic poate fi descris printr-o ecuaie de unda,
savanii au presupus c spaiul este umplut cu un mediu eteric prin care se propag radiaia. Abia
dup faimosul experiment Michelson-Morley din 1887 fizicienii au descoperit c radiaia
electromagnetic se poate propaga n vid.)
Soluia Ethernet a firmei Xerox a fost att de reuit, nct Xerox, DEC i Intel au elaborat un
standard pentru Ethernet la 10 Mbps. Acest standard a constituit baza pentru 802.3. Standardul
802.3 publicat difer de specificaia Ethernet prin faptul c descrie o ntreag familie de sisteme
CSMA/CD l-persistente, lucrnd la viteze cuprinse ntre 1 i 10 Mbps n diverse medii. De
asemenea, cmpul de antet difer ntre cele dou (cmpul de lungime de la 802.3 este folosit n
Ethernet pentru tipul pachetului). Standardul iniial mai ofer i parametri pentru un sistem de 10
Mbps n banda de baz, folosind cablu coaxial de 50 de ohmi. Seturile de parametri pentru alte
medii i viteze au venit mai trziu.
Muli oameni utilizeaz (incorect) numele Ethernet" ntr-un sens general, pentru a se referi la
toate protocoalele CSMA/CD, chiar dac el se refer n realitate la un produs specific care, n mare,
implementeaz 802.3. n urmtoarele cteva paragrafe vom utiliza termenii 802.3" i CSMA/CD",
cu excepia cazului n care ne referim n mod special la produsul Ethernet.

Cablarea 802.3

ntruct numele Ethernet" se refer la cablu (eterul), s pornim discuia noastr de aici. n mod
obinuit, sunt utilizate cinci tipuri de cabluri, dup cum se arat n Fig. 4-17. Din punct de vedere
istoric, cablul 10Base5, numit popular i Ethernet gros (thick Ethernet), a fost primul. El se
aseamn cu un furtun galben de grdin cu semne la fiecare 2.5 metri pentru a arta unde vin
conectorii (Standardul 802.3 nu impune de fapt cabluri de culoare galben, dar sugereaz acest
lucru). Conexiunile cu el sunt fcute n general utiliznd conectori-vampir (vampire taps), la care un
pin este introdus cu grij pn n miezul cablului coaxial. Notaia 10Base5 nseamn c funcioneaz
la 10 Mbps, utilizeaz semnalizare n banda de baz i poate suporta segmente de pn la 500 metri.

Nume Cablu Seg. maxim Noduri / seg. Avantaje


10Base5 coaxial gros 500 m 100 Bun pentru coloane vertebrale
10Base2 coaxial subire 200 m 30 Cel mai ieftin sistem
10Base-T perechi torsadate 100 m 1024 ntreinere uoar
10Base-F fibr optic 2000 m 1024 Cel mai bun ntre cldiri

Fig. 4-17. Cele mai obinuite tipuri de LAN-uri 802.3 n banda de baz.

Istoricete vorbind, al doilea tip de cablu a fost 10Base2, sau Ethernet subire (thin
Ethernet), care, spre deosebire de Ethernet gros ca un furtun de grdin", se ndoaie uor.
Conexiunile cu el sunt fcute utiliznd conectori standard industriali BNC pentru a forma
jonciuni n T, mai curnd dect conectori-vampir. Ei sunt mai uor de folosit i mai siguri.
Ethernet-ul subire este mult mai ieftin i mai uor de instalat, dar el poate suporta lungimi ale
cablului de maxim 200 de metri i poate trata numai 30 de calculatoare pe segment de cablu.
SEC. 4.3 STANDARDUL IEEE 802 PENTRU LANDURI SI MAN-URI 257

j. Detectarea ntreruperilor de cablu, a conectorilor proti sau a conectorilor desprini poate fi o


problem major pentru ambele medii de transmisie. Din acest motiv au fost dezvoltate tehnici care
s le detecteze. n esen, n cablu este injectat un impuls cu o form cunoscut. Dac impulsul
ntlnete un obstacol sau ajunge la captul cablului, va fi generat un ecou care este trimis napoi.
Msurnd cu grij timpul scurs ntre emiterea impulsului i recepionarea ecoului, este posibil
localizarea originii ecoului/Aceast tehnic este numit reflectometrie n domeniul timp (linie
domain reflectometry).
Problemele asociate cu gsirea ntreruperilor de cablu au condus sistemele ctre un alt tip de
model de cablare, n care toate staiile au un cablu care duce la un concentrator (hub). De obicei,
aceste fire sunt perechi torsadate ale companiei de telefoane, deoarece majoritatea cldirilor cu
birouri sunt deja cablate n acest fel i, n mod normal, exist o mulime de perechi disponibile.
Aceast strategie se numete lOBase-T.
Aceste trei strategii de cablare sunt ilustrate n Fig. 4-18. Pentru 10Base5, n jurul cablului este
prins strns un transiver (transceiver), astfel nct conectorul su face contact cu miezul cablului.
Transiverul conine partea de electronic ce se ocup cu detecia purttoarei i cu detecia
coliziunilor. Atunci cnd este detectat o coliziune, transiverul trimite pe cablu un semnal nepermis
special, pentru a se asigura c i celelalte transivere i dau seama c s-a produs o coliziune.

Controlor

Controlor
Cablul
transiverul ui
Miez Conector-vampir
o Q 0 Q Q (TOTl
Transiver Conector
Concentrator
(a) (b) (O

Fig. 4-18. Trei tipuri de cablare 802.3 . (a) 10Base5. (b) 10Base2. (c)lOBase-T.

La 10Base5, un cablu de transiver (transceiver cable) conecteaz transiverul cu o plac de


interfa din calculator. Cablul transiverului poate avea pn la 50 de metri lungime i conine 5
perechi torsadate izolate individual. Dou dintre perechi sunt pentru datele de intrare i respectiv
datele de ieire. Alte dou sunt pentru semnalele de control de intrare i de ieire. A cincea pereche,
care nu este ntotdeauna folosit, permite calculatorului s alimenteze electronica transiverului.
Pentru a reduce numrul de transivere necesare, unele transivere permit s le fie ataate pn la 8
calculatoare nvecinate.
Cablul transiverului se termin la placa de interfa din interiorul calculatorului. Placa de
interfa conine un cip controlor care transmite cadre ctre transiver i recepioneaz cadre de la
258 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

acesta. Controlorul este responsabil cu asamblarea datelor n formatul de cadru corespunztor,


precum i cu calculul sumelor de control pentru cadrele trimise i verificarea lor pentru cadrele
primite. Unele tipuri controlor gestioneaz i un set de zone tampon pentru cadrele primite, o coad
de zone tampon pentru transmisie, transferurile DMA cu calculatoarele gazd i alte aspecte legate
de administrarea reelei.
La 10Base2, conexiunea cu cablul se face printr-un conector BNC pasiv cu jonciune n T.
Electronica transiverului este pe placa controlorului i fiecare staie are ntotdeauna propriul transiver.
La lOBase-T, nu exist nici un cablu, ci doar un concentrator - o cutie plin de electronic.
Adugarea sau ndeprtarea unei staii este mai simpl n aceast configuraie, iar ntreruperile
cablului pot fi detectate uor. Dezavantajul lui lObasc-T este acela c dimensiunea maxim a
cablului care pleac de la concentrator este de numai 100 de metri, poate chiar 150 de metri, dac
sunt folosite perechi torsadate de foarte bun calitate (categoria 5). De asemenea, un concentrator
mare cost mii de dolari. Totui, lOBase-T devine tot mai popular datorit uurinei de ntreinere.
O versiune mai rapid de lOBase-T (lOOBase-T) va fi discutat mai trziu n acest capitol.
A patra opiune de cablare pentru 802.3 este lOBase-F, care folosete fibre optice. Aceast
alternativ este scump datorit costului conectorilor i a terminatorilor, dar are o imunitate
excelent la zgomot i este metoda care este aleas atunci cnd transmisia se face ntre cldiri sau
concentratoare aflate la distante mari.

A B
ii A B D

yo Repetor

Coloan vertebral

(a) (b) (c) (d)


Fig. 4-19. Topologii de cablu, (a) Liniar, (b) Coloan, (c) Arbore, (d) Segmentat.

Figura 4-19 arat diferite moduri de cablare a unei cldiri. n Fig. 4-19(a), un singur cablu
este erpuit din camer n camer, fiecare staie fiind conectat la el n punctul cel mai
apropiat. n Fig. 4-19(b), o coloan vertical suie de la parter pn la acoperi, cu cabluri
orizontale conectate la ea la fiecare etaj prin amplificatoare speciale (repetoare). n unele
cldiri, cablurile orizontale sunt subiri, iar coloana este groas. Cea mai general topologie
este cea de arbore, ca n Fig. 4-19(c), deoarece o reea cu dou ci ntre unele perechi de staii
ar suferi din cauza interferenei dintre cele dou semnale.
Fiecare versiune de 802.3 are o lungime maxim de cablu pe segment. Pentru a permite
reele mai largi, mai multe cabluri pot fi conectate prin repetoare (repeaters), aa cum se arat
n Fig. 4-19(d). Un repetor este un dispozitiv de nivel fizic. El recepioneaz, amplific i
retransmite semnale n ambele direcii. n ceea ce privete programarea, o serie de segmente
de cablu conectate prin repetoare nu prezint nici o diferen fa de un singur cablu (cu
excepia unei oarecare ntrzieri introduse de repetoare). Un sistem poate conine segmente
SEC. 4.3 STANDARDUL IEEE 802 PEMMJ LAM-llRI I MAN-URI

multiple i repetoare multiple, dar dou transivere nu pot fi la o distan mai mare de
2 5 km i nici o cale ntre oricare dou transivere nu poate traversa mai mult de 4 repetoare.

Edificarea Manchester
Nici una din versiunile lui 802.3 nu folosete o codificare binar direct, cu 0 voli pentru un bit 0
si 5 voli pentru un bit 1, deoarece aceasta conduce la ambiguiti. Dac o staie trimite irul de bii
00010000, altele l-ar putea interpreta fals ca 10000000 sau 01000000 ntruct nu pot distinge
diferena ntre un emitor inactiv (0 voli) i un bit 0 (0 voli).
Ceea ce le trebuie receptorilor este un mijloc de a determina fr dubii nceputul, sfritul i
jumtatea fiecrui bit fr ajutorul unui ceas extern. Dou astfel de abordri se numesc codificarea
Manchester (Manchester encoding) i codificarea Manchester difereniala (diferential Manchester
encoding). n cazul codificrii Manchester, fiecare perioad a unui bit este mprit n dou
intervale egale. Un bit 1 este trimis stabilind un voltaj ridicat n timpul primului interval i sczut n
cel de-al doilea. Un 0 binar este trimis exact invers: nti nivelul sczut iar apoi cel ridicat. Aceast
strategie asigur c fiecare perioad a unui bit are o tranziie la mijloc, uurnd sincronizarea ntre
emitor i receptor. Un dezavantaj al codificrii Manchester este acela c necesit o lrgime de
band dubl fa de codificarea binar direct, deoarece impulsurile au durata pe jumtate.
Codificarea Manchester este prezentat n Fig. 4-20(b).

Flux de bii

Codificare binar

Codificare Manchester

Codificare Manchester
diferenial

Aceast tranziie Lipsa tranziiei aici


indic un 0 indic un 1

Fig. 4-20. (a) Codificare binar, (b) Codificare Manchester.


(c) Codificare Manchester diferenial.

Codificarea Manchester diferenial, prezentat n Fig. 4-20(c), este o variant a codificrii


Manchester clasice. n aceasta, un bit .1 este indicat prin absena tranziiei la nceputul unui
interval. Un bit 0 este indicat prin prezena unei tranziii la nceputul intervalului. n ambele
cazuri, exist i o tranziie la mijloc. Strategia diferenial necesit un echipament mai
complex, dar ofer o mai bun imunitate la zgomot. Toate sistemele 802.3 n banda de baz
folosesc codificarea Manchester datorit simplitii sale. Semnalul nalt este de +0.85 voli iar
semnalul sczut este de -0.85 voli, dnd o valoare n curent continuu de 0 voli.
260 SUBNIVELUL DE ACCES LA MEDIU

Protocolul subnivelului MAC 802.3 -**fljrf

Structura cadrului 802.3 (IEEE, 1985a) este prezentat n Fig. 4-21. Fiecare cadru ncepe cu un
Preambul (Preamble) de 7 octei, fiecare octet coninnd ablonul de bii 10101010. Codificarea
Manchester a acestui ablon furnizeaz o und dreptunghiular de 10 Mhz timp de 5.6 usec pentru a
permite ceasului receptorului s se sincronizeze cu cel al emitorului. Urmeaz un octet de nceput
de cadru (Start of frame), coninnd 10101011, pentru a semnala nceputul propriu-zis al cadrului. '-
Cadrul conine dou adrese, una pentru destinaie i una pentru surs. Standardul permite
adrese pe 2 i pe 6 octei, dar parametrii definii pentru standardul n banda de baz de 10 Mbps
folosesc numai adrese pe 6 octei. Bitul cel mai semnificativ al adresei destinaie este 0 pentru
adresele obinuite i 1 pentru adresele de grup. Adresele de grup permit mai multor staii s asculte
de la o singur adres. Cnd un cadru este trimis la o adres de grup, toate staiile din grup l
recepioneaz. Trimiterea ctre un grup de staii este numit multicast (trimitere multipl). Adresa
avnd toi biii 1 este rezervat pentru broadcast (difuzare). Un cadru coninnd numai bii de 1 n
cmpul destinaie este distribuit tuturor staiilor din reea.

Octei 1 2 sau 6 2 sau 6 2 0-1500 0-46 4


{{
))
Adresa Adresa Cmp de Sum de
Preambul Date
t destinaiei sursei
t fT
completare control
1 I ^
Delimitator de nceput Lungimea cmpului
de cadru de date

Fig. 4-21. Formatul cadrului 802.3.

O alt trstur interesant a adresrii este utilizarea bitului 46 (vecin cu cel mai semnificativ bit)
pentru a distinge adresele locale de cele globale. Adresele locale sunt stabilite de fiecare
administrator de reea i nu au semnificaie n afara reelei locale. n schimb, adresele globale sunt
asignate de IEEE pentru a se asigura c oricare dou staii din lume nu au aceeai adres global.
Cu 48 - 2 = 46 bii disponibili, exist aproximativ 7xlO13 adrese globale. Ideea este c orice staie
poate adresa n mod unic orice alt staie specificnd numai numrul corect pe 48 de bii. Este
sarcina nivelului reea s-si dea seama cum s localizeze destinatarul.
Cmpul Lungime (Length) arat ci octei se afl n cmpul de date, de la minim 0 pn la
maxim 1500. Deoarece este permis un cmp de date de 0 octei, apare urmtoarea problem.
Atunci cnd un transiver detecteaz o coliziune, el trunchiaz cadrul curent, ceea ce nseamn
c pe cablu apar tot timpul bii rtcii i buci de cadre. Pentru a distinge mai uor cadrele
corecte de cele deteriorate, 802.3 stabilete c lungimea cadrelor corecte trebuie s fie de cel
puin 64 de octei, de la adresa destinaie pn la suma de control. Dac poriunea de date a
unui cadru este mai mic de 46 de octei, pentru a umple cadrul pn la dimensiunea minim
este folosit cmpul de completare (pad).
Un alt motiv (i mai important) de a avea o lungime minim a cadrului este de a preveni situaia
n care o staie termin transmisia unui cadru scurt nainte ca primul bit s ajung la captul cel mai
ndeprtat al cablului, unde poate intra n coliziune cu un alt cadru. Aceast problem este ilustrat
SEC. 4.3 STANDARDUL IEEE 802 PENTRU LAN-URI SI MAN-URI 261

n Fig. 4-22. La momentul 0, staia^4, de la un capt al reelei, expediaz lin cadru. S notfii cu t
timpul de propagare al cadrului pn la cellalt capt. Exact nainte de sosirea cadrului la cellalt
capt (adic la momentul x - E), cea mai ndeprtat staie, B, ncepe s transmit. Cnd B observ c
primete mai mult putere dect emite, tie c a aprut o coliziune, prin urmare abandoneaz
transmisia i genereaz o rafal de 48 de bii de zgomot pentru a avertiza toate celelalte staii.
Aproximativ la momentul 2x, emitorul observ apariia zgomotului i i abandoneaz la rndul
su transmisia. Apoi ateapt un timp aleatoriu nainte de a ncerca din nou.
Dac o staie ncearc s transmit un cadru foarte scurt, este posibil s apar o coliziune,
dar transmisia se termin nainte ca zgomotul produs s se ntoarc la momentul 2x.
Emitorul va ajunge incorect la concluzia c transmisia cadrului s-a ncheiat cu succes. Pentru
a preveni apariia acestei situaii, transmisia fiecrui cadru trebuie s ia mai mult de 2x. Pentru
un LAN la 10 Mbps cu o lungime maxim de 2500 metri i patru repetoare (conform
specificaiei 802.3), cadrul minim permis trebuie s dureze 51.2 usec. Acest timp corespunde
unui numr de 64 de octei. Cadrele cu mai puini octei sunt completate pn la 64 octei.

Pachetul pornete Pachetul ajunge


/ l a momentul 0 aproape de B \
la momentul x-e

(a) (b)

Rafala de zgomot
/ ajunge napoi la A
la momentul 2%

(O Coliziune la (d)
momentul T

Fig. 4-22. Detectarea coliziunii poate dura 2x.

Pe msur ce viteza reelelor crete, lungimea minim a cadrului trebuie s creasc sau lungimea
maxim a cablului trebuie s scad proporional. Pentru un LAN de 2500 de metri opernd la 1
Gbps, dimensiunea minim a cadrului ar trebui s fie de 6400 octei. Alternativ, dimensiunea
minim a cadrului ar putea fi de 640 octei, iar distana maxim ntre dou staii de 250 de metri.
Aceste restricii devin din ce n ce mai neplcute pe msur ce ne ndreptm spre reele cu viteze de
ordinul gigabiilor.
Ultimul cmp la 802.3 este Suma de control (Checksum). Aceasta este de fapt un cod de
dispersie pe 32 de bii (32-bit hash-code) al datelor. Dac anumii bii de date sunt recepionai
eronat (datorit zgomotului de pe cablu), suma de control va fi aproape sigur greit i va fi
detectat o eroare. Algoritmul sumei de control este un control cu redundan ciclic de tipul celui
discutat n capitolul 3.
262 SUBNIVELUL DE ACCES LA MEDIU CAP. 4,

Algoritmul de regresie exponenial binar


S vedem acum cum se genereaz timpii aleatorii atunci cnd apare o coliziune. Modelul este cel
din Fig. 4-5. Dup o coliziune, timpul este mprit n intervale discrete, a cror lungime este egal
cu timpul de propagare dus-ntors prin mediu n cazul cel mai defavorabil (2x). Pentru a se potrivi cti
cea mai lung cale permis de 802.3 (2.5 km i patru repetoare), mrimea cuantei a fost fixat la 512
intervale de bit, adic 51.2 usec.
Dup prima coliziune, fiecare staie ateapt fie 0, fie 1 cuante nainte s ncerce din nou. Dac
dou staii intr n coliziune i fiecare alege acelai numr aleatoriu, vor intra din nou n coliziune.
Dup a doua coliziune, fiecare ateapt la ntmplare 0,1,2 sau 3 cuante. Dac se produce o a treia
coliziune (probabilitatea este de 0.25), atunci, data viitoare, numrul de cuante ateptate va fi ales
3
aleatoriu din intervalul de la 0 la 2 - 1 .
n general, dup / coliziuni, se ateapt un numr aleatoriu de cuante ntre 0 i 2' - 1 . Oricum,
dup un numr de 10 coliziuni, intervalul de ateptare este ngheat la un maxim de 1023 de cuante.
Dup 16 coliziuni, controlorul arunc prosopul* i raporteaz eec calculatorului. Recuperarea
ulterioar a erorii cade n sarcina nivelelor superioare.
Acest algoritm, numit algoritmul de regresie exponenial binar (binary exponenial backoff
algorithm), a fost conceput s se poat adapta dinamic la numrul staiilor care ncearc s
transmit. Dac intervalul de generare aleatorie a fost pentru toate coliziunile 1023, ansa ca 2 staii
s intre n coliziune pentru a doua oar este neglijabil, dar timpul mediu de ateptare dup o
coliziune ar fi de sute de cuante, introducnd o ntrziere semnificativ. Pe de alt parte, dac
fiecare staie ateapt mereu sau zero sau o cuant, atunci dac 100 de staii ar ncerca s transmit
deodat, ele ar intra n coliziune iar i iar, pn cnd 99 dintre ele aleg 0 i una 1 sau invers. Aceasta
ar putea dura ani de zile. Lsnd intervalul de generare aleatorie s creasc exponenial pe msur
ce apar tot mai multe coliziuni, algoritmul asigur o ntrziere minim cnd se cioGnesc numai cteva
staii, dar garanteaz de asemenea c ciocnirea este rezolvat ntr-un interval rezonabil atunci cnd
este vorba de mai multe staii.
Aa cum am artat pn acum, CSMA/DC nu ofer confirmri. Cum simpla absen a
coliziunilor nu garanteaz c biii nu au fost modificai de zgomotul de pe cablu, pentru o
comunicaie sigur, destinaia trebuie s verifice suma de control i, dac este corect, s trimit
napoi ctre surs un cadru de confirmare. n mod normal, din punct de vedere al protocolului,
aceast confirmare ar fi doar un alt cadru i ar trebui s lupte pentru timp de canal, ca orice cadru de
date. Totui, o simpl modificare a algoritmului de tratare a conflictelor ar permite o confirmare
rapid a recepionrii cadrului (Tokoro i Tamaru, 1977). Tot ceea ce ar fi necesar este s se rezerve
prima cuant de conflict care urmeaz unei transmisii cu succes pentru staia destinaie.

Performanele standardului 802.3


S examinm pe scurt performanele standardului 802.3 n condiii de ncrcare mare i
constant, adic, k staii gata mereu s transmit. O analiz riguroas a algoritmului de regresie
exponenial binar ar fi complicat. n schimb vom proceda ca Metcalfe i Boggs (1976) i vom
presupune o probabilitate de retransmisie constant pentru fiecare cuant. Dac fiecare staie

* Aa cum procedeaz antrenorul unui boxer cnd hotrte ca acesta s abandoneze lupta.
.SEC.43 STANDARDUL IEEE 802 PENTRU LAN-URI SI MAN-URI 263

timpul unei cuante:de conflict cu probabilitatea p, probabilitatea A ea o staie s


primeasc canalul n aceast cuant este

A = kp(l-p)k'1 (4-6)

A este maxim cnd/? = l/k, CVLA -> l/e atunci cnd k -> >. Probabilitatea ca intervalul de
conflict s aib exact/ cuante este A (1 - A) y'\ astfel c numrul mediu de cuante pe conflict
este dat de:

;=O

ntruct fiecare cuant dureaz-2% intervalul de conflict mediu, w, este 2%IA. Presupunnd/?
optim, numrul mediu de cuante de conflict nu este niciodat mai mare dect e, deci w este cel
mult 2TC = 5.4T.
Dac pentru a transmite un cadru de lungime medie sunt necesare P secunde pentru a fi
transmis, atunci cnd multe staii au cadre de transmis,

Eficienta canalului = (4-7)

Aici vedem cum intr lungimea maxim a cablului dintre oricare dou staii n calculul
performanelor, sugernd i alte topologii dect cea din Fig. 4-19(a). Cu ct cablul este mai lung, cu
att intervalul de conflict este mai lung. Permind cel mult 2.5 km de cablu i patru repetoare ntre
oricare dou transiyere, timpul dus-ntors (round-trip time) poate fi limitat la 51.2 usec, care la
10 Mbps corespunde la 512 bii sau 64 de octei, lungimea minim a unui cadru.
Este instructiv s formulm ecuaia (4-7) n termeni lungime de cadru i7," lrgime de band a
reelei B, lungime a cablului L i vitez de propagare a semnalului c, pentru cazul optim cu e cuante
de conflict pe cadru. Cu P = F/B, ecuaia (4-7) devine:

Eficienta canalului = (4-8)


K
\ + 2BLe/cF '

Atunci cnd al doilea termen al numitorului este mare, eficiena reelei va fi mic. Mai precis,
creterea lrgimii de band sau a distanei (produsul BL) reduce eficiena pentru o lungime dat a
cadrului. Din nefericire, o mare parte din cercetarea n domeniul hardware-ului de reea a intit
exact creterea acestui produs. Oamenii doresc lrgime de band mare pe distane lungi (de
exemplu, MAN-urile cu fibr optic), ceea ce sugereaz c 802.3 poate s nu fie cel mai bun sistem
pentru aceste aplicaii.
In Fig. 4-23 este trasat eficiena canalului n funcie de numrul staiilor gata de transmisie,
pentru 2% = 51.2 usec i o rat de transmisie a datelor de 10 Mbps, folosind ecuaia (4-12). Cu o
mrime a cuantei de 64 de octei, nu este surprinztor faptul c nu sunt eficiente cadrele de 64 de
264 SUBNIVELUL DE ACCES LA MEDIU

octei. Pe de alt parte, cu cadre de 1Q24 de octei i o valoare asimptotic de e cuante de 64 de


pe interval de conflict, perioada de conflict este de 174 de octei, iar eficiena este 0.85.

1.0

0.9 Cadre de 1024 de octei

0.8
Cadre de 512 de octei
5 0.7
Cadre de 256 de octei
"5 0.6

0.5
Cadre de 128 de octei
0.4
0.3 - Cadre de 64 de octei

0.2

0.1
_L J_ I
0 1 2 4 8 16 32 64 128 256
Numrul staiilor care ncearc s transmit

Fig. 4-23. Eficiena 802.3 la 10 Mbps cu dimensiunea cuantelor de 512 bii.

Pentru a determina numrul mediu de staii gata de transmisie n condiiile unei ncrcri mari,
putem utiliza urmtoarea observaie (brut). Fiecare cadru acapareaz canalul pentru o perioad de
conflict i un interval de transmisie a unui cadru, totaliznd un timp de P + w secunde. Numrul de
cadre pe secund este prin urmare 1/(P + w). Dac fiecare staie genereaz cadre cu o rat medie de
A, cadre/sec, atunci cnd sistemul este n starea k*, rata total de intrare combinat a tuturor staiilor
neblocate este de kX cadre/sec. Deoarece la echilibru ratele de intrare i de ieire trebuie s fie
identice, putem egala aceste dou expresii i rezolva pentru k (notai c w este funcie de k). O
analiz mai sofisticat este dat n (Bertsekas i Gallager,1992).
Probabil c merit s menionm c s-au realizat numeroase analize teoretice ale
performanelor pentru 802.3 (i pentru alte reele). De fapt, toat aceast munc a presupus c
traficul este de tip Poisson. Pe msur ce cercettorii au nceput s se uite la datele reale, s-a
descoperit c traficul n reea este rareori Poisson, n schimb este autosimilar (Paxson i
Floyd,1994; i Willinger .a., 1995). Aceasta nseamn c prin calcularea unor medii pe
perioade lungi de timp nu se netezete traficul. Numrul mediu de pachete n fiecare minut'al-
unei ore variaz la fel de mult ca i numrul mediu de pachete n fiecare secund a unui minut*
Consecina acestei descoperiri este c majoritatea modelelor de trafic n reea nu se aplica
lumii reale i ar trebui luate cu un pic (sau, mai bine, cu o ton) de sare!

k staii gata de transmisie


SEC. 4.3 STANDARDUL IEEE 802 PENTRU LAN-URIIMAN-URI 265

LAN^uri 802.3 comutate

Pe msur ce la un LAN 802.3 sunt adugate tot mai multe staii, traficul va crete. n cele din
urm, LAN-ul se va satura. O cale de ieire din aceast situaie este mrirea vitezei, s zicem, de la
10 Mbps la 100 Mbps. Aceast soluie necesit renunarea la toate plcile de adaptoare de 10 Mbps
si cumprarea altora noi, ceea ce este scump. Dac cipurile 802.3 se afl pe plcile de baz ale
calculatoarelor, s-ar putea chiar ca nlocuirea lor s nu fie posibil.
Din fericire, este posibil o soluie diferit, mai puin drastic: un LAN 802.3 comutat ca cel din
Fig. 4-24. Inima acestui sistem este un comutator care conine un fund de sertar (backplane) de
mare vitez i, tipic, loc pentru 4 pn la 32 de plci de reea plug-n, fiecare avnd ntre unu i opt
conectori. Cel mai des, fiecare conector are o conexiune prin perechi torsadate de tip lOBase-T cu
un singur calculator gazd.

Comutator Spre
Conector
gazde

LAN 802.3 I Spre


Hub gazde

Spre
\ \ gazde

Conexiune
10Base-T'
Spre calculatoarele gazd

Fig. 4-24. Un LAN 802.3 comutat.

Atunci cnd o staie dorete s transmit un cadru 802.3, trimite un cadru standard ctre
comutator. Placa plug-n care primete cadrul verific dac el este destinat pentru una din celelalte
staii conectate la aceeai plac. Dac da, cadrul este copiat acolo. Dac nu, cadrul este trimis prin
fundul de sertar de mare vitez ctre placa staiei destinaie. Fundul de sertar ruleaz n mod
obinuit la peste 1 Gbps folosind protocolul proprietar.
Ce se ntmpl dac dou calculatoare legate la aceeai plac plug-n transmit cadre n acelai
timp? Depinde de cum a fost construit placa. O posibilitate este ca toate porturile de pe plac s fie
legate mpreun pentru a forma un LAN local pe-plac. Coliziunile din acest LAN pe-plac vor fi
detectate si tratate la fel ca orice alt coliziune dintr-o reea CSMA/CD - cu retransmisii utiliznd
algoritmul de regresie binar. Cu acest tip de plac plug-n, este posibil o singur transmisie pe
plac la un moment dat, dar toate plcile pot transmite n paralel. Astfel concepute, fiecare dintre
plci i formeaz propriul su domeniu de coliziune (collision domain), independent de celelalte.
Cu cellalt tip de plac plug-n, fiecare port de intrare utilizeaz un registru tampon, astfel
nct cadrele care vin sunt stocate n memoria RAM inclus n plac, pe msur ce sosesc.
Aceast concepie permite tuturor porturilor de intrare s recepioneze (i s transmit) cadre
266 SUBNIYELUL DE ACCES LA MEDIU CAP. 4

n acelai timp, pentru operare full-duplex, n paralel. Odat ce un cadru a fost recepionat n
ntregime, placa poate verifica dac el este destinat pentru un alt port de pe aceeai plac, sau
A A

pentru un port aflat la distan. In primul caz, el poate fi transmis direct la destinaie. In cel
de-al doilea, el trebuie transmis prin fundul de sertar ctre placa corespunztoare. n acest
mod, fiecare port este un domeniu de coliziune separat, deci nu se mai produc coliziuni.
Adesea productivitatea ntregului sistem poate fi mrit cu un ordin de mrime peste
10Base-5, care are un singur domeniu de coliziune pentru ntreg sistemul.
ntruct comutatorul st i ateapt cadre standard 802.3 pe fiecare port de intrare, putem folosi
unele porturi drept concentratori. n Fig. 4-24, portul din colul din dreapta sus este conectat nu la o
singur staie, ci la un concentrator cu 12 porturi. Pe msur ce cadrele sosesc la concentrator, ele
concureaz pentru LAN-ul 802.3 n mod obinuit, cu coliziuni i algoritm de regresie binar. Cadrele
transmise cu succes ajung la comutator, unde sunt tratate ca orice cadru de intrare: sunt ndreptate
ctre linia de ieire corect prin fundul de sertar de vitez mare. Dac toate porturile de intrare sunt
conectate la concentratoare, nu la staii individuale, comutatorul devine doar o punte ntre reele de
tip 802.3. Punile vor fi studiate mai trziu n acest capitol.

4.3.2 Standardul IEEE 802.4: LAN de tip jeton pe magistral

Dei 802.3 este larg utilizat n birouri, n timpul dezvoltrii standardului 802, cei de la General
Motors i din alte companii interesate n automatizarea fabricilor au avut serioase rezerve
referitoare la acesta. n primul rnd, datorit protocolului MAC probabilistic, cu puin neans o
staie ar putea atepta un timp nedefinit pentru a expedia un cadru (adic, cazul cel mai defavorabil
este nelimitat). n al doilea rnd, cadrele 802.3 nu au prioriti, ceea ce le face nepotrivite pentru
sistemele de timp real n care cadrele importante nu trebuie s atepte dup cele neimportante.
Un sistem simplu n care se cunoate cazul cel mai defavorabil este un inel n care staiile trimit
pe rnd cadre. Dac exist n staii, iar expedierea unui cadru dureaz T secunde, nici un cadru nu va
avea de ateptat vreodat mai mult de nT secunde pentru a fi transmis. Persoanelor din comitetul
802 nsrcinate cu automatizarea fabricilor le-a plcut ideea conceptual a unui inel, dar nu i
implementarea fizic, deoarece o ntrerupere n cablul inelului ar cauza cderea ntregii reele. Pe
deasupra, ei au observat c un inel se potrivete prea puin cu topologia liniar a majoritii liniilor
de asamblare. Ca rezultat, a fost dezvoltat un nou standard, avnd robusteea cablului de difuzare
802.3, dar comportarea cunoscut n cazul cel mai defavorabil a unui inel.

17 20
Cablu coaxial
de band larg,. \ Inel logic
\

Aceast staie
II nu face parte
13 11 - 7 19 din inelul logic
Direcia micrii
jetonului

Fig. 4-25. Un token-bus.


SEC. 4.3 STANDARDUL JEEE 802 PENTRU LAN-URI I MAN-URI 267

, Acest standard, 802.4 (Dirvin i Miller, 1986; i IEEE, 1985b), descrie un LAN numit token-bus
(LAN cu jeton pe magistral). Din punct de vedere fizic, token-bus este un cablu liniar sau n form
de arbore, la care sunt ataate staiile. Din punct de vedere logic, staiile sunt organizate ntr-un inel
(vezi Fig. 4-25), fiecare staie cunoscnd adresele staiilor din stnga" sa i din dreapta" sa. Atunci
cnd inelul logic este iniializat, staia cu cel mai mare numr poate trimite primul cadru. Dup
aceea, transfer permisiunea de a transmite ctre vecinul imediat urmtor, emind ctre acesta un
cadru special de control numit jeton (token). Jetonul strbate circular inelul logic, numai deintorul
jetonului avnd permisiunea de a transmite cadre. ntruct o singur staie deine jetonul la un
moment dat, nu se produc coliziuni.
O observaie important de care trebuie s ne dm seama este c ordinea fizic n care staiile
sunt conectate la cablu nu are importan. Deoarece cablul este n esen un mediu de difuzare,
fiecare staie recepioneaz fiecare cadru, ignorndu-le pe cele care nu i sunt destinate. Atunci cnd
o staie transfer jetonul, ea emite un cadru jeton adresat special vecinului ei logic din inel,
indiferent unde se afl acesta localizat fizic pe cablu. Merit de asemenea s notm c, atunci cnd
staiile sunt pornite prima oar, ele nu se vor afla n inel (de exemplu, staiile 14 i 19 din Fig. 4-25),
deci protocolul MAC are prevzut posibilitatea de adugare i de eliminare a staiilor din inel.
Protocolul MAC 802.4 este foarte complex, fiecare staie trebuind s gestioneze zece ceasuri
diferite i peste dou duzini de variabile interne de stare. Standardul 802.4 este mult mai lung dect
802.3, umplnd mai mult de 200 de pagini. Cele dou standarde sunt, de asemenea, destul de
diferite ca stil, 802.3 oferind protocoalele ca proceduri Pascal, n timp ce 802.4 le d ca automate cu
stri finite, cu aciunile scrise n Ada .
Pentru nivelul fizic, token-bus utilizeaz cablul coaxial de band larg de 75 ohmi, utilizat la
televiziunea prin cablu. Sunt admise att sistemele cu cablu simplu ct i cele cu cabluri duale, cu sau
fr terminatori. Sunt permise trei scheme diferite de modulaie analogic: deplasare de frecven
cu faz continu, deplasare de frecven cu faz coerent i deplasare de faz cu modulaie de
amplitudine duo-binar multinivel. Sunt posibile viteze de 1, 5 i 10 Mbps. n plus, schemele de
modulaie nu furnizeaz doar modaliti de reprezentare pentru 0,1 i cablu liber, ci i trei alte
simboluri utilizate pentru controlul reelei. n concluzie, nivelul fizic este total incompatibil cu 802.3
i mult mai complicat.

Protocolul subnivelului MAC la token-bus


Atunci cnd este iniializat inelul, staiile sunt inserate n el n ordinea adreselor de staie, de la
cea mai mare la cea mai mic. Transferul jetonului se face de asemenea de la adresele mari la cele
mici. De fiecare dat cnd o staie capt jetonul, ea poate transmite cadre o anumit perioad de
timp; dup aceea trebuie s transfere jetonul mai departe. n cazul n care cadrele sunt destul de
scurte, pot fi trimise mai multe cadre con|qei|v. Dac staia nu are date de transmis, ea transfer
jetonul de ndat ce 1-a recepionat. ii
Token-bus definete patru clase de prioriti: 0,2,4 i 6 pentru trafic, cu 0 cea mai mic i 6 cea
mai mare. Cel mai uor este s ne gndim c fiecare staie este mprit intern n patru substaii,
una pentru fiecare nivel de prioritate. Pe msur ce datele intr n subnivelul MAC venind de
deasupra, ele sunt verificate pentru a determina prioritatea i apoi dirijate ctre una din cele patru
substaii. Astfel, fiecare staie i pstreaz propria a coad de cadre de transmis.
268 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

Atunci cnd jetonul sosete la staie prin cablu, el este transferat n interior substaiei cu
prioritatea 6, care poate ncepe s transmit cadre, dac are vreunul. Cnd a terminat (sau
cnd timpul su a expirat), jetonul este transferat intern substaiei cu prioritatea 4, care apoi
poate transmite cadre pn cnd timpul ei expir, moment n care jetonul este transferat
substaiei cu prioritatea 2. Acest proces se repet pn cnd substaia cu prioritatea 0 i-a
transmis toate cadrele sau timpul ei a expirat. n ambele cazuri, n acest moment jetonul este
trimis urmtoarei staii din inel.
Fr a intra n toate detaliile despre cum sunt gestionate diferitele ceasuri, ar trebui s fie clar c,
setnd corect ceasurile, putem fi siguri c o fraciune garantat din timpul total de deinere al
jetonului poate fi alocat traficului de prioritate 6. Prioritile mai mici vor fi nevoite s foloseasc
ceea ce a mai rmas. Dac substaiile cu prioriti mari nu au nevoie de ntreg timpul care le-a fost
alocat, substaiile cu prioriti mai mici pot beneficia de timpul rmas, deci acesta nu va fi pierdut.
Aceast schem de prioriti, care garanteaz traficului de prioritate 6 o fraciune cunoscut din
lrgimea de band a reelei, poate fi folosit pentru implementarea traficului de timp real. De
exemplu, s presupunem c parametrii unei reele de 50 de staii rulnd la 10 Mbps au fost reglai
pentru a da traficului de prioritate 61/3 din lrgimea de band. Atunci fiecare staie are garantai 67
Kbps pentru traficul de prioritate 6. Aceast lrgime de band poate fi utilizat pentru sincronizarea
roboilor pe o linie de asamblare sau pentru un canal digital de voce pe staie, iar puinul care a mai
rmas pentru informaiile de control.
Formatul cadrului token-bus este prezentat n Fig. 4-26. Din nefericire, acesta este diferit de
formatul cadrului 802.3. Preambulul este folosit pentru sincronizarea ceasului receptorului, ca la 802.3,
cu excepia faptului c aici poate fi i un singur octet. Cmpurile Delimitator de nceput (Starting
delimiter) i Delimitator de sfrit (Ending delimiter) sunt folosite pentru a marca limitele cadrului.
Ambele cmpuri conin codificarea analogic a simbolurilor, altele dect 0 sau 1, astfel nct ele nu pot
aprea accidental n datele utilizatorilor. n consecin nu este nevoie de cmp de lungime.

Octei > 1 1 1 2 sau 6 2 sau 6 0-8182


ff
Adresa Adresa
Date Sum de control
destinaiei sursei

Controlul cadrului
Delimitator de nceput Delimitator
Preambul de sfrit

Fig. 4-26. Formatul cadrului 802.4.

Cmpul Controlul cadrului (Frame control) este folosit pentru a deosebi cadrele de date de cele
de control. Pentru cadrele de date, acest cmp conine prioritatea cadrului. De asemenea el poate
conine un indicator care s cear staiei destinaie confirmarea recepiei corecte sau incorecte a
cadrului. Fr acest indicator, destinaiei nu i va fi permis s transmit nimic, deoarece nu posed
jetonul. Acest indicator transform token-bus-ul n ceva asemntor cu schema de confirmare
Tokoro i Tamaru.
Pentru cadrele de control, cmpul Controlul cadrului este folosit pentru a specifica tipul
cadrului. Tipurile permise includ cadre de transfer al jetonului i diverse cadre de ntreinere a
SEC 4.3 STANDARDUL IEEE 802 PENTRU IAN-URI I MAN-URI

siy mecanismul care.; la noi staii s intre n inel, mecanismul care permite
staiilor prsirea inelului i aa mai departe. Notai c protocolul 802.3 nu are nici un cadru
de control. Tot ce face nivelul su MAC este s furnizeze o cale de a transmite cadre prin
cablu; nu i pas ce conin acestea.
Cmpurile Adres destinaie (Destination address) i Adres surs (Source address) sunt la fel ca
n 802.3 (ntr-adevr, cele dou grupuri au discutat ntre ele; dar nu prea au czut de acord). Ca i n
802.3, o reea dat trebuie s utilizeze numai adrese pe 2 octei sau numai adrese pe 6 octei, nu un
amestec pe acelai cablu. Standardul 802.4 iniial permite ambele dimensiuni. Adresarea individual
si de grup i desemnarea adreselor locale i globale sunt identice cu cele de la 802.3.
Cmpul Date (Data) poate avea pn la 8182 de octei atunci cnd sunt utilizate adrese de 2
octei i pn la 8174 de octei atunci cnd sunt utilizate adrese de 6 octei. Acesta este de mai mult
de 5 ori mai lung dect cadrul 802.3 maxim, care a fost fcut scurt pentru a preveni situaia n care o
staie ocup canalul prea mult. Cu token-bus, ceasurile pot fi utilizate ca o msur mpotriva
acaparrii, dar este bine s putem transmite cadre lungi atunci cnd traficul de timp real nu este o
cerin. Suma de control (Checksum) este folosit pentru detectarea erorilor de transmisie. Ea
folosete acelai algoritm i polinom ca i 802.3.
Cadrele de control ale token-bus-ului sunt prezentate n Fig. 4-27. Ele vor fi discutate n
continuare. Sigurul cadru pe care l-am vzut pn acum este cadrul jeton, folosit pentru a trece
jetonul de la o staie la alta. Majoritatea celorlalte cadre se refer la adugarea i eliminarea staiilor
din inelul logic.

Cmpul de control Nume Semnificaie


al cadrului
00000000 Claimjoken (Cerejeton) Cere jetonul la iniializarea inelului
00000001 Solicit_successor_1 Permite staiilor s intre n inel
(Solicit_succesor_)
00000010 Solicitisuccessor_2 Permite staiilor s intre n inel
(Solcit_suecesor_2) -

00000011 Whojollows (Cine_urmeaz) Recuperare dup pierderea jetonului


00000100 Resolve_contention Utilizat atunci cnd mai multe staii vor s
(Rezolvare_conflict) intre
00001000 Token (Jeton) Transmite jetonul
00001100 Set_succesor (Stabilire_succesor) Permite staiei s ias din inel

Fig. 4-27. Cadrele de control la token-bus.

ntreinerea inelului logic

Din cnd n cnd, unele staii sunt pornite i vor s se ataeze la inel. Altele sunt oprite i
vor s l prseasc. Protocolul subnivelului MAC furnizeaz o specificare detaliat a modului
n care este realizat exact acest lucru, meninnd n acelai timp limita cunoscut a rotaiei
jetonului n cazul cel rriai defavorabil. n continuare vom schia pe scurt mecanismele utilizate.
Odat ce inelul a fost stabilit, interfaa fiecrei staii pstreaz intern adresele staiilor
predecesoare i succesoare. Periodic, deintorul jetonului trimite unul din cadrele
SOLICIT_SUCCESSOR (solicit succesor) prezentate n Fig. 4-27, pentru a solicita cereri de la
staiile care doresc s se alture inelului. Cadrul ofer adresa expeditorului i adresa succesorului.
270 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

Doar staiile cuprinse ntre aceste limite pot cere intrarea (pentru a menine inelul sortat
descresctor dup adresele staiilor).
Dac nici o staie nu cere s intre n timpul unei cuante (2r, ca n 802.3), fereastra de rspuns
(response window) este nchis, iar deintorul jetonului i continu activitatea normal. Dac exact
o staie se ofer s intre, ea este inserat n inel i devine succesorul deintorului jetonului.
Dac dou sau mai multe staii cer s intre, cadrele lor se vor ciocni i vor fi distruse, ca n 802.3.
Apoi deintorul jetonului va rula un algoritm de arbitrare, ncepnd cu difuzarea unui cadru
RESOLVE_CONTENTION (rezolvare conflict). Algoritmul este o variant a numrtorii inverse
binare, folosind doi bii deodat.
Mai mult, toate interfeele staiilor menin intern doi bii aleatorii. Aceti bii sunt utilizai pentru
a ntrzia toate cererile cu 0,1, 2 sau 3 cuante, pentru a reduce conflictele. Cu alte cuvinte, dou
staii intr n coliziune atunci cnd fac o cerere numai dac cei doi bii de adres cureni sunt identici
i se ntmpl s aib aceiai doi bii aleatorii. Pentru a prentmpina ca staiile care trebuie s
atepte 3 cuante s fie permanent dezavantajate, biii aleatorii sunt regenarai de fiecare dat cnd
sunt folosii sau periodic la fiecare 50 msec.
Solicitarea de noi staii nu poate interfera cu cazul cel mai defavorabil garantat pentru rotaia
jetonului. Fiecare staie are un ceas care este resetat ori de cte ori primete jetonul. Cnd sosete
jetonul, vechea valoare a acestui ceas (adic timpul de rotaie anterior al jetonului) este inspectat
chiar nainte ca ceasul s fie resetat. Dac el depete o anumit valoare de prag, nseamn c n
ultima vreme traficul a fost prea aglomerat, aa c acum nu mai poate fi solicitat nici o cerere de
alturare. Oricum, numai o singur staie poate intra la fiecare solicitare, pentru a limita timpul
consumat cu ntreinerea inelului. Nu exist nici o garanie n privina timpului de ateptare necesar
pentru ca o staie s se alture inelului atunci cnd traficul este aglomerat, dar n practic el nu ar
trebui s fie mai mare de cteva secunde. Aceast incertitudine este nefericit, fcnd 802.4 mai
puin potrivit pentru sistemele de timp real dect pretind adesea suporterii lui.
Prsirea inelului este uoar. O staie X, cu succesorul S i predecesorul P, prsete inelul prin
trimiterea ctre P a unui cadru SET_SUCCESOR (stabilire succesor) care i spune c de acum
ncolo succesorul lui va fi 5 n loc de X. Apoi X nceteaz transmisia.
Iniializarea inelului este un caz special de adugare de noi staii. Considerai un sistem inactiv,
cu toate staiile oprite. Atunci cnd prima staie pornete, ea observ c nu exist trafic o anumit
perioad de timp. Apoi emite un cadru CLAIM_TOKEN (cere jeton). Neauzind pe nimeni
concurnd pentru jeton, creeaz un jeton i iniializeaz un inel care o conine numai pe ea.
Periodic, solicit cereri pentru ca noi staii s se alture. Pe msur ce sunt pornite noi staii, ele vor
rspunde acestor solicitri i se vor altura inelului conform algoritmului de tratare a conflictelor
descris anterior. n cele din urm, fiecare staie care vrea s intre n inel va putea s o fac. Dac
primele dou staii sunt pornite simultan, protocolul rezolv acest lucru lsndu-le s cear jetonul
folosind algoritmul numrtorii inverse binare standard modificat i cei doi bii aleatorii.
Datorit erorilor de transmisie sau a problemelor hardware, se pot ivi probleme n legtur cu
inelul logic sau cu jetonul. De exemplu, ce se ntmpl dac o staie ncearc s transfere jetonul
unei staii care a czut? Soluia este simpl. Dup ce a transferat jetonul, o staie ascult s vad
dac succesorul ei transmite un cadru sau transfer jetonul. Dac nu face nici una, nici alta, jetonul
este transferat a doua oar.
Dac nici de data asta nu se ntmpl nimic, staia transmite un cadru WHO_FOLLOWS (cine
urmeaz), specificnd adresa succesorului ei. Cnd succesorul staiei czute vede un cadru
STANDARDUL ffiEE 802 PENTRU LAN-URI I.MAN-URI 271

mdjen^pe^ecesoijul: ei, .ea rspunde? itrimiBiun cadru SETJSU.GEQR


crei succesor a czut, numindu-se pe sine ca nou succesor. n acest fel staia czut
este eliminat din.ineL
Acum s presupunem c o staie nu reuete s transfere jetonul succesorului ei i nici s
localizeze succesorul succesorului ei, care poate fi de asemenea czut. Atunci adopt o nou
strategie, trimind un cadru SOLICIT_SUCCESOR_2 pentru a vedea dac mai este cineva viu.
Protocolul standard de tratare a conflictelor este rulat nc o dat, cu toate staiile care vor s intre n
inel concurnd pentru un loc. n cele din urm, inelul este refcut.
Un alt tip de problem apare dac deintorul jetonului cade i, odat cu el, dispare i jetonul.
Aceast problem este rezolvat folosind algoritmul de iniializare a inelului. Fiecare staie are un
ceas care este reiniializat ori de cte ori n reea apare un cadru. Cnd acest ceas atinge o valoare de
prag, staia emite un cadru CLAIM_TOKEN i algoritmul numrtorii inverse binare modificat, cu
bii aleatorii, determin cine primete jetonul.
O alt problem o reprezint jetoanele multiple. Dac o staie deintoare de jeton sesizeaz o
transmisie de la o alt staie, ea renun la propriul jeton. Dac au fost dou, acum va fi unul. Dac
au fost mai mult de dou, acest proces-va fi repetat mai devreme sau mai trziu, pn cnd va
rmne unul singur. Dac, accidental, sunt eliminate toate jetoanele, atunci lipsa activitii va
determina una sau mai multe staii s ncerce obinerea unui nou jeton.

4.33 Standardul DEEE 802.5: LAN de tip jeton pe inel

Reelele de tip inel exist de muli ani (Pierce,1972) i au fost ndelung utilizate att pentru
reele locale ct i pentru cele de mare ntindere. Printre multele lor caracteristici atractive se
afl i faptul c un inel nu este de fapt un mediu real de difuzare, ci o colecie de legturi
punct-la-punct individuale care ntmpltor formeaz un cerc. Legturile punct-la-punct
implic o tehnologie bine pus la punct i testat n practic i pot funciona pe cabluri din
perechi torsadate, cabluri coaxiale sau fibre optice. Ingineria inelului este de asemenea
aproape n ntregime digital, n timp ce 802.3, de exemplu, are o component analogic
substanial pentru detecia coliziunii. Un inel este i echitabil i are o limit superioar
cunoscut pentru accesul la canal. Din aceste motive, IBM a ales inelul ca LAN al su, iar
IEEE a aprobat standardul token-ring sub denumirea de 802.5 (IEEE, 1985c; Latif .a., 1992).
O parte important n proiectarea i analiza oricrei reele de tip inel este lungimea fizic" a unui
bit. Dac rata datelor n inel este de JR Mbps, un bit este emis la fiecare l/R usec. n cazul unei viteze
tipice de propagare a semnalului de aproximativ 200 m/usec, fiecare bit ocup 200/R metri pe inel.
Aceasta nseamn, de exemplu, c un inel de 1 Mbps, a crui circumferin este de 1000 m, poate
conine doar 5 bii simultan. Implicaiile numrului de bii de pe inel vor fi clarificate mai trziu.
Dup cum am menionat anterior, un inel const n realitate dintr-o colecie de interfee de inel
conectate prin linii punct-la-punct. Fiecare bit sosit la o interfa este copiat ntr-un tampon de 1 bit
i apoi copiat iari pe inel. n timp ce se afl n tampon, bitul poate fi inspectat i eventual modificat
nainte de a fi expediat. Acest pas de copiere introduce o ntrziere de 1 bit la fiecare interfa. n
Fig. 4-28 sunt artate un inel i interfeele sale.
ntr-un token-ring, un ablon special de bii, numit jeton, circul de-a lungul inelului ori de cte
ori toate staiile sunt inactive. Gnd o staie vrea s transmit un cadru, trebuie s preia jetonul i s
l elimine din inel nainte de a transmite. Acest lucru este realizat inversnd un singur bit din cei 3
272 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

octei ai jetonului, care se transform instantaneu n primii 3 octei ai unui cadru normal'de date.
Deoarece exist un singur jeton, numai o singur staie poate transmite la un moment dat, rezolvnd
astfel problema accesului la canal n acelai mod n care este rezolvat i de token-bus.

Interfaa Staie
cu inelul

ntrziere Interfaa
de 1 bit cu inelul

(a) (b) (c)

Fig. 4-28. (a) O reea de tip inel. (b) Modul recepie, (c) Modul transmisie.

O consecin a proiectrii la token-ring este c inelul nsui trebuie s aib o ntrziere suficient
pentru a conine un jeton complet care s circule atunci cnd toate staiile sunt inactive. ntrzierea
are dou componente: o ntrziere de 1 bit introdus de fiecare staie i ntrzierea de propagare a
semnalului. n aproape toate inelele proiectanii trebuie s presupun c staiile pot fi oprite
oricnd, n special noaptea. Dac interfeele sunt alimentate de inel, nchiderea staiilor nu are efect
asupra lor, dar dac interfeele sunt alimentate extern, ele trebuie proiectate astfel, nct s
conecteze intrarea la ieire atunci cnd alimentarea este oprit, eliminnd astfel ntrzierea de 1 bit.
Aici ideea este c ntr-un inel scurt ar putea fi nevoie de introducerea unei ntrzieri artificiale
noaptea, pentru a fi siguri c ncape un jeton n el.
Interfeele inelului au dou moduri de operare, recepie i transmisie. n modul recepie, biii de
intrare sunt pur i simplu copiai la ieire, cu o ntrziere de 1 bit, aa cum se arat n Fig. 4-28(b). n
modul transmisie, n care se ajunge numai dup ce s-a primit jetonul, interfaa ntrerupe legtura
ntre intrare i ieire, introducnd propriile informaii pe inel. Pentru a putea comuta din modul
recepie n modul transmisie n interval de 1 bit, interfaa are nevoie, de obicei, s stocheze unul sau
mai multe cadre proprii, dect s le aduc de la staie ntr-un timp att de scurt.
Pe msur ce biii care s-au propagat pe inel se ntorc, ei sunt eliminai din el de ctre
emitor. Staia emitoare poate fie s i salveze, pentru a-i compara cu datele originale,
monitoriznd astfel sigurana transmisiei prin inel, fie s i elimine. Deoarece pe inel nu apare
niciodat ntregul cadru n acelai timp, aceast arhitectur de inel nu limiteaz dimensiunea
cadrelor. Dup ce o staie a terminat transmisia ultimului bit al ultimului su cadru, ea trebuie
s regenereze jetonul. Atunci cnd ultimul bit al cadrului a executat un tur i s-a ntors, el
SEC. 4.3 STANDARDUL ffiEE 802 PENTRU LAN-URI SI MAN-URI 273

ttebuieeliminat,iar interfaa:trebuie.s.omute imediat napoi m modul recepie, pentru a


evita eliminarea jetonului care ar putea urma dac nici o alta staie nu 1-a eliminat.
ntr-un token-ring confirmrile sunt simplu de folosit Formatul cadrului trebuie s includ
numai un cmp de 1 bit pentru confirmri, iniial pus pe 0. Atunci cnd staia destinaie a
recepionat un cadru, seteaz bitul respectiv pe 1..Desigur, dac o confirmare nseamn c suma de
control a fost verificat, bitul trebuie s urmeze sumei de control, iar interfaa de inel trebuie s fie
capabil s verifice suma de control imediat dup ce a sosit ultimul ei bit. Atunci cnd un cadru este
difuzat mai multor staii, trebuie utilizat un mecanism de confirmare mai complicat (dac se
utilizeaz vreunul).
Atunci cnd traficul este redus, jetonul va petrece mare parte din timp nconjurnd nestingherit
inelul. Ocazional, o staie l va prelua, va transmite un cadru i apoi va elibera un nou jeton. Oricum,
atunci cnd traficul este ncrcat, astfel nct exist o coad la fiecare staie, imediat ce o staie i
termin transmisia i regenereaz jetonul, urmtoarea staie de pe parcurs va observa siva elimina
jetonul. In acest fel permisiunea de a transmite este cedat circular prin inel, n genul round-robin.
n condiii de ncrcare mare, eficiena reelei poate s se apropie de 100%.

-Staie

Cablu

Releu de ocolire

A
Conector

' Centru de cablaj

Fig. 4-29. Patru staii conectate printr-un centru de cablaj.

Acum s ne ntoarcem de la token-ring-uri n general la standardul 802.5 n particular. La nivelul


fizic, 802.5 cere perechi torsadate ecranate funcionnd la 1 sau 4 Mbps, dei IBM a introdus mai
trziu o versiune la 16 Mbps. Semnalele sunt codificate utiliznd codificarea Manchester diferenial
[vezi Fig. 4-20(c)] cu nivelurile nalte i sczute alese ca fiind semnale pozitive i negative cu valori
274 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

absolute ntre 3.0 i 4.5 voli. n mod normal, codificarea Manchester diferenial utilizeaz
combinaii sus-jos sau jos-sus pentru fiecare bit, dar 802.5 utilizeaz i sus-sus i jos-jos n anumii
octei de control (de exemplu, pentru a marca nceputul i sfritul unui cadru). Aceste semnale
nepurttoare de informaie apar ntotdeauna n perechi consecutive, astfel nct s nu introduc o
component de curent continuu n voltajul inelului.
O problem cu reelele inel este c dac se ntrerupe cablul undeva, inelul moare. Aceast
problem poate fi rezolvat foarte elegant prin utilizarea unui centru de cablaj (wire center), aa
cum se arat n Fig. 4-29. Dei logic este un inel, din punct de vedere fizic fiecare staie este
conectat la centru de cablaj printr-un cablu coninnd (cel puin) dou perechi torsadate, una
pentru datele ctre staie i alta pentru datele de la staie
nuntrul centrului de cablaj se afl relee de ocolire ce sunt alimentate cu curent de la staii.
Dac inelul se ntrerupe sau o staie pic, pierderea de curent va decupla releul i va izola staia.
Releele pot fi dirijate i prin software pentru a permite programelor de diagnosticare s elimine
staiile pe rnd, pentru a gsi staiile i segmentele de inel vinovate. Inelul poate apoi s i continue
activitatea, segmentele defecte fiind ocolite. Dei standardul 802.5 nu cere oficial acest tip de inel,
denumit adesea inel cu configuraie de stea (star-shaped ring) (Saltzer .a., 1983), pentru a
mbunti sigurana i ntreinerea, majoritatea LAN-urilor 802.5 utilizeaz de fapt centre de cablaj.
Atunci cnd o reea const din multe grupuri de staii, grupuri aflate la mari distane, poate fi
utilizat o topologie cu mai multe centre de cablaj. Imaginai-v numai cum cablul ctre una din
staiile din Fig. 4-29 a fost nlocuit printr-un cablu ctre un centru de cablaj ndeprtat. Dei logic
toate staiile sunt pe acelai inel, cerinele cablrii sunt mult reduse. Un inel 802.5 care folosete un
centru de cablaj are o topologie similar cu o reea 802.3 lOBase-T bazat pe concentratoare, ns
formatele i protocoalele sunt diferite.

Protocolul subnivelului MAC la Token Ring


Funcia de baz a protocolului MAC este simpl. Atunci cnd pe inel nu exist trafic, un jeton de
3 octei circul la nesfrit, ateptnd ca o staie s l preia prin setarea unui bit specific de la 0 la 1,
convertind astfel jetonul n secvena nceput-de-cadru. Staia emite apoi restul unui cadru normal de
date, aa cum se arat n Fig. 4-30.
n condiii normale, primul bit al cadrului va nconjura inelul i se va ntoarce la emitor nainte
ca ntregul cadru s fi fost transmis. Numai un inel foarte lung va fi capabil s in chiar i un cadru
scurt. n consecin, staia emitoare trebuie s dreneze inelul n timp ce continu s transmit. Aa
cum este artat n Fig. 4-28(c), aceasta nseamn c biii care au fcut un tur complet al inelului se
ntorc la emitor i sunt eliminai.
O staie poate pstra jetonul pentru un interval de deinere a jetonului (token-holding
time), care este de 10 msec, dac nu cumva este fixat o valoare diferit la instalare. Dac
dup ce a fost transmis primul cadru a rmas destul timp pentru a expedia mai multe cadre,
acestea pot fi i ele transmise. Dup ce toate cadrele aflate n ateptare au fost transmise sau
dac transmisia unui alt cadru ar depi timpul de deinere a jetonului, staia regenereaz
cadrul jeton de 3 octei i l pune n inel.
SEC. 4.3 STANDARDUL IEEE 802 PENTRU LANDURI SI MAN-URI 275

1 1

SDAC ED

(a)

Octei 11 1 2 sau 6 2 sau 6 Nelimitat 1 1

SDAC FC
Adresa Adresa Date Sum de control ED FS
destinaiei sursei
-HK-
Controlul cadrului Delimitator de sfrit
Controlul accesului Stare cadru
Delimitator de nceput

Fig. 4-30. (a) Formatul jetonului, (b) Formatul cadrului de date.

Cmpurile Delimitator de nceput (Starting delimiter) i Delimitator de sfrit (Ending


delimiter) din Fig. 4.30(b) marcheaz nceputul i sfritul cadrului. Fiecare conine abloane
Manchester diferenial nevalide (sus-sus i jos-jos), pentru a le deosebi de octeii de date.
Octetul de Control al accesului (Access control) conine bitul de jeton, precum i Bitul de
monitor (Monitor bit), Biii de prioritate (Priority bits) i Biii de rezervare (Reservation bits,
descrii n continuare). Octetul de Control al cadrului (Frame control) deosebete cadrele de
date de diferitele cadre de control posibile.
Urmeaz cmpurile Adres destinaie (Destination address) i Adres surs (Source
ddress), care sunt aceleai ca i n 802.3 i 802.4. Acestea sunt urmate de date, care pot fi att
de lungi ct este necesar, cu condiia ca transmisia cadrului s poat fi efectuat n timpul de
deinere a jetonului. Cmpul Sum de control (Checksum), la fel ca i adresele surs i
destinaie, este acelai de la 802.3 i 802.4.
Un octet interesant, care nu este prezent n celelalte dou protocoale, este octetul de Stare a
cadrului (Frame status). Acesta conine biii A i C. Atunci cnd un cadru sosete la interfaa staiei
care are adresa de destinaie, ea comut bitul ^4 de pe 0 pe 1, n timp ce acesta trece. Dac interfaa
copiaz cadrul pentru staie, ea comut i bitul C de pe 0 pe 1. O staie poate eua n copierea unui
cadru datorit lipsei de spaiu n zona tampon sau din alte motive.
Atunci cnd staia emitoare preia cadrul din inel, testeaz biii A i C. Sunt posibile trei
combinaii:
1. A = 0 i C = 0: destinaia nu exist sau nu este pornit.
2. A =1 i C = 0: destinaia exist, dar cadrul nu este acceptat.
3. A = 1 i C = 1: destinaia exist i cadrul este copiat.

Aceast convenie furnizeaz o ronfirmare automat pentru fiecare cadru. Dac un cadru este
rejectat, dar staia este prezent, emitorul poate opta s ncerce din nou peste puin timp. Pentru a
crete sigurana, biii A i C sunt prezeni de dou ori n octetul de Starea cadrului, ntruct ei nu
sunt protejai de suma de control.
276 SUBNWELUL DE ACCES LA MEDIU CAP. 4

Delimitatorul de sfrit conine un bit E, care este setat atunci cnd o interfa detecteaz o eroare
(de exemplu, un ablon non-Manchester acolo unde nu este permis). El mai conine i un bit care
poate fi folosit pentru a marca ultimul cadru dintr-o secven logic, ca un fel de bit end-of-file
(sfrit de fiier).
Protocolul 802.5 are o strategie complex pentru tratarea cadrelor cu prioriti multiple. Cadrul
jeton de 3 octei conine n octetul din mijloc un cmp care d prioritatea jetonului. Atunci cnd o
staie vrea s transmit un cadru cu prioritatea n, el trebuie s atepte pn cnd poate captura un
jeton a crui prioritate este mai mic sau egal cu n. Mai mult, atunci cnd trece un cadru de date, o
staie poate ncerca s rezerve urmtorul jeton, scriind prioritatea cadrului pe care dorete s l
transmit n Biii de rezervare ai cadrului. Dac acolo a fost deja rezervat o prioritate mai mare,
staia nu mai poate face rezervarea. Atunci cnd cadrul curent s-a terminat, urmtorul jeton este
generat la prioritatea care a fost rezervat.
Gndindu-ne puin, vom vedea c acest mecanism acioneaz ca o prghie unidirecional,
ridicnd prioritatea rezervat din ce n ce mai sus. Pentru a elimina aceast problem, protocolul
conine cteva reguli complexe. Esena ideii este c staia care crete prioritatea este responsabil
pentru micorarea ei atunci cnd a terminat.
Notai c aceast schem de prioriti difer substanial de schema de la token-bus, n care
fiecare staie i primete ntotdeauna poriunea corect de lrgime de band, indiferent de ce fac
celelalte staii. La token-ring, o staie care are numai cadre cu prioritate sczut poate muri de
foame ateptnd apariia unui jeton cu prioritate sczut. Este clar, cele dou comitete au avut
gusturi diferite cnd au negociat ntre servicii bune pentru traficul de prioritate nalt i egalitate
pentru toate staiile.
A

ntreinerea inelului

Protocolul token-bus tinde ctre lungimi considerabile pentru a realiza ntreinerea inelului
ntr-un mod complet descentralizat. Protocolul token-ring realizeaz ntreinerea destul de
diferit. Fiecare token-ring are o staie monitor (monitor station) care supravegheaz inelul.
Dac monitorul cade, un protocol de tratare a conflictelor asigur c o alt staie este aleas
rapid ca monitor (fiecare staie are capacitatea de a deveni monitor). Ct timp monitorul
funcioneaz corect, numai el este responsabil de funcionarea corect a inelului.

Cmpul de control Nume Semnificaie


00000000 Duplicate address test Testeaz dac dou staii au aceeai adres
(Test de adres duplicat)
00000010 Beacon Utilizat la localizarea ntreruperilor din inel
(Baliz)
00000011 Claim token ncercare de a deveni monitor
(Cere jeton)
00000100 Purge Reiniializeaz inelul
(Epurare)
00000101 Active monitor present Emis periodic de monitor
(Exist monitor activ)
00000110 Standby monitor present Anun prezena unor poteniale monitoare
(Exist monitor n ateptare)

Fig. 4-31. Cadrele de control la Token Ring.


SEC. 4.3 STANDARDUL IEEE 802 PENTRU LAN-URI I MAN-URI 271

ta crearea inelului sau atunci cnd o staie observ c nu mai exist monitor, ea poate
transmite un cadru de control CLAIM_TOKEN (cere jeton). Dac acest cadru nconjoar
inelul nainte ca s fie trimis un alt cadru CLAIMJTOKEN, emitorul devine noul monitor
(fiecare staie are ncorporat capacitatea de a deveni monitor). Cadrele de control ale
token-ring-ului sunt prezentate n Fig. 4-31.
Printre responsabilitile monitorului se afl aceea de a observa c jetonul nu s-a pierdut, dar i
preluarea iniiativei atunci cnd inelul se ntrerupe, curarea inelului atunci cnd apar cadre
deteriorate i supravegherea cadrelor orfane. Un cadru orfan apare atunci cnd o staie transmite n
ntregime un cadru scurt ntr-un inel mare i apoi cade sau este oprit nainte de absorbia cadrului.
Dac nu se face nimic, cadrul va circula la infinit.
Pentru a detecta jetoanele pierdute, monitorul are un ceas care este setat la cel mai lung interval
de timp posibil fr jeton: cel n care fiecare staie transmite pe ntregul interval de deinere a
jetonului. La expirarea intervalului de timp, monitorut golete Meiul i emite un nou jeton.
La apariia unui cadru deteriorat, monitorul l detecteaz datorit formatului su incorect sau a
sumei de control, deschide inelul pentru a-1 goli i emite un nou jeton atunci cnd inelul a fost
curat. n final, monitorul detecteaz cadrele orfane setnd bitul monitor din octetul de Control al
accesului ori de cte ori trec pe la el. Dac un cadru sosit are acest bit setat, nseamn c ceva este n
neregul, ntruct acelai cadru a trecut pe la monitor de dou ori fr s fi fost absorbit, aa c
monitorul l va absorbi.
O ultim funcie a monitorului vizeaz lungimea inelului. Jetonul are o lungime de 24 de bii,
ceea ce nseamn c inelul trebuie s fie destul de mare pentru a cuprinde 24 de bii. Dac
ntrzierile de 1 bit din staii plus lungimea cablului adunate dau mai puin de 24 de bii, monitorul
insereaz bii suplimentari de ntrziere pentru ca jetonul s poat circula.
O funcie de ntreinere care nu poate fi realizat de monitor este localizarea ntreruperilor n
inel. Dac o staie observ c unul dintre vecinii ei pare mort, trimite un cadru BEACON (baliz),
dnd adresa presupusei staii moarte. Cnd acest cadru s-a propagat ct de departe a putut, se poate
vedea cte staii sunt oprite i acestea sunt eliminate din inel, utiliznd releele de ocolire din centrul
de cablaj, totul realizndu-se fr intervenia operatorului.
Este instructiv s comparm abordrile alese pentru controlul token-bus-ului i cel al token-ring-
ului. Comitetul 802.4 a fost speriat de moarte de ideea de a avea vreo component centralizat care
ar putea cdea pe neateptate i prbui i sistemul odat cu ea. De aceea ei au proiectat un sistem
n care deintorul curent al jetonului are puteri speciale (de exemplu, solicitarea cererilor de
alturare la inel), dar n care nici o staie nu este diferit n vreun fel de celelalte (de exemplu,
responsabilitatea administrativ atribuit curent pentru ntreinere).
Pe de alt parte, comitetul 802.5 a simit c avnd un monitor centralizat se pot trata mult mai
uor jetoanele pierdute, cadrele orfane i aa niai departe; n plus, ntr-un sistem normal, staiile
cedeaz foarte rar, aa c suportarea ocazional a concurenei pentru un nou monitor nu este o
mare dificultate. Preul pltit este c dac vreodat monitorul chiar o ia razna, dar continu s emit
periodic cadre de control ACTIVE MONITOR PRESENT (exist monitor activ), nici o staie nu-1
va nlocui. Monitoarele nu pot fi puse la ndoial.
Aceast diferen n abordri vine de la domeniile diferite de aplicaii avute n vedere de cele
dou comitete. Comitetul 802.4 se gndea la fabrici cu mase mari de metal micndu-se sub
controlul calculatorului. Cderile reelei puteau provoca pagube serioase i trebuia prevenite cu.
278 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

orice pre. Comitetul 802.5 era interesat n automatizarea birourilor, unde cderi rare puteau fi
tolerate ca pre pentru un sistem mai simplu. Dac 802.4 este sau nu mai fiabil dect 802.5 rmne
un subiect controversat.

4.3.4 Comparaie ntre 8023,802.4 i 802.5

Datorit existenei a trei tipuri de LAN-uri diferite i incompatibile, fiecare cu proprieti


diferite, multe organizaii sunt confruntate cu ntrebarea: pe care ar trebui s-1 instalm? n aceast
seciune vom arunca o privire asupra tuturor celor trei standarde LAN 802, evideniind punctele lor
tari i slabe, asemnrile i deosebirile.
Pentru nceput, merit s notm c cele trei standarde LAN folosesc aproximativ aceeai
tehnologie i au performane relativ similare. In timp ce cercettorii i inginerii din domeniul
calculatoarelor pot discuta ore ntregi despre meritele cablului coaxial n comparaie cu cele ale
perechii torsadate, cei din departamentele de marketing, personal i contabilitate probabil c nu
sunt prea interesai n realitate de una sau alta dintre opiuni.
S ncepem cu avantajele lui 802.3. Este de departe tipul cel mai larg folosit n prezent, cu o baz
instalat imens i experien n funcionare considerabil. Protocolul este simplu. Staiile pot fi
instalate din mers, fr a opri reeaua. Este utilizat un cablu pasiv i nu sunt necesare modemuri.
Mai mult, ntrzierea la ncrcare sczut este practic nul (staiile nu trebuie sa atepte pentru un
jeton; ele pur i simplu transmit imediat). .
Pe de alt parte, 802.3 are o component analogic substanial. Fiecare staie trebuie s
fie capabil s detecteze semnalul celei mai slabe staii, chiar i atunci cnd ea nsi transmite,
iar toate circuitele de detectare a coliziunilor din transiver sunt analogice. Datorit posibilitii
de a avea cadre eliminate prin coliziune, cadrul corect minim este de 64 de octei, ceea ce
reprezint o ncrcare suplimentar substanial atunci cnd datele constau doar dintr-un
singur caracter de la un terminal.
Mai mult, 802.3 este nedeterminist, ceea ce adesea este inadecvat pentru lucru n timp real [dei
o oarecare funcionare n timp real este posibil simulnd prin software un token-ring
(Venkatramani i Chiueh, 1995)]. De asemenea, el nu are prioriti. Lungimea cablului este limitat
la 2.5 km (la 10 Mbps), ntruct lungimea dus-ntors a cablului determin mrimea cuantei, deci i
performana. Pe msur ce viteza crete, eficiena scade deoarece timpul de transmisie a cadrului
scade, dar intervalul de conflict nu (mrimea cuantei este 2x, indiferent care este rata datelor). Ca o
alternativ, cablul ar trebui scurtat. De asemenea, la ncrcare mare, prezena coliziunilor devine o
problem major i poate afecta serios productivitatea.
Acum s considerm standardul 802.4, token-bus. El utilizeaz echipament de televiziune prin
cablu de nalt fiabilitate, care este disponibil n stoc la numeroi furnizori. Este mai determinist
dect 802.3, dei pierderi repetate ale jetonului la momente critice pot introduce mai mult
nesiguran dect vor suporterii si s admit. Poate lucra cu cadre scurte de lungime minim.
De asemenea, token-bus suport prioriti i poate fi configurat s furnizeze o fraciune
garantat a limii de band pentru trafic de nalt prioritate, cum ar fi vocea digitizat. De
asemenea, are o excelent productivitate i eficien la ncrcare mare, devenind efectiv TDM. n
fine, cablul de band larg poate suporta mai multe canale, nu numai pentru date, dar i pentru voce
si televiziune.
SEG. 4.3 STANDARDULIEEE 802 PENTRU LAN-URI I MAN-URI 279
&r.

i-; ;-Ba GapMtdimmusurir5istemele.jea-band larg utilizeaz mult tehnologie anabgica:i includ


m@cemuri i amplificatoare de band larg. Protocolul este extrem de complex i are o ntrziere
substanial la ncrcare sczut (staiile trebuie s atepte ntotdeauna jetonul, chiar i ntr-un
sistem inactiv). n sfrit, el este puin potrivit pentru implementri cu fibre optice i are un numr
mic de utilizatori.
Acum s considerm standardul token-ring. El utilizeaz conexiuni punct-la-punct, ceea ce
nseamn c tehnologia este simpl i poate fi complet digital. Inelele pot fi construite utiliznd
practic orice mediu de transmisie, de la porumbei cltori la fibre optice. Perechea torsadat
standard este ieftin i simplu de instalat. Utilizarea centrelor de cablaj face din token-ring singurul
LAN care poate detecta i elimina automat defeciunile de cablu.
Ca i la token-bus, sunt posibile prioriti, dei strategia nu este att de corect. Tot ca la token-
bus, sunt posibile cadrele scurte, dar, spre deosebire de token-bus, sunt posibile i cele arbitrar de
mari, limitate numai de intervalul de deinere a jetonului. n fine, productivitatea i eficiena la
ncrcare mare sunt excelente, ca la token-bus i n contrast cu 802.3.
Dezavantajul major este prezena unei funcii de monitor centralizat, care introduce o
component critic. Chiar dac un monitor mort poate fi nlocuit, unul bolnav poate cauza dureri de
Cap. Mai mult, ca n toate strategiile de transfer al jetonului, exist ntotdeauna ntrzieri la
ncrcare sczut, datorit faptului c emitorul trebuie s atepte jetonul.
Este de asemenea demn de subliniat faptul c s-au fcut numeroase studii asupra tuturor celor
trei LAN-uri. Principala concluzie pe care o putem trage din aceste studii este c nu se poate trage
nici o concluzie din ele. ntotdeauna se poate gsi un set de parametri care face ca unul dintre LAN-
uri s par mai bun dect celelalte. n cele mai multe situaii, toate trei funcioneaz bine, aa c,
pentru a face o alegere, probabil c sunt mai importani ali factori dect performana.

4.3.5 Standardul IEEE 802.6: Magistral dual cu coad distribuit

Nici unul dintre LAN-urile 802 pe care le-am studiat pn acum nu este potrivit pentru a fi
utilizat ca un MAN. Limitrile lungimii cablului i problemele de performan n cazul conectrii a
mii de staii le limiteaz la arii de mrimea unui campus. Pentru reele care acoper un ora ntreg,
IEEE a definit un MAN, numit DQDB (Distributed Queue Dual Bus), ca standard 802.6. n aceast
seciune vom vedea cum lucreaz el. Pentru informaii suplimentare, vezi (Kessler i Train, 1992). O
bibliografie de 171 de pagini despre DQDB este dat m (Sadiku i Arvindj 1994).
Geometria de baz a 802.6 este ilustrat n Fig. 1-4. Dou magistrale unidirecionale paralele
erpuiesc prin ora, cu staii ataate la amndou n paralel. Ambele magistrale au un capt care
genereaz un flux constant de celule de cte 53 de octei. Fiecare celul pleac de la capt i merge
n josul fluxului. Cnd ajunge la cellalt capt, iese de pe magistral.
Fiecare celul transport un cmp de informaie tM de 44 de octei, realiznd compatibilitatea
cu unele moduri AAL. De asemenea mai are i 2 bii de protocol, Ocupat, setat pentru a arta c o
celul este ocupat, iCerere, care poate fi setat atunci cnd o staie dorete s fac o cerere.
Pentru a transmite o celul, o staie trebuie s tie dac destinaia este la stnga sau la dreapta ei.
Dac destinaia este la dreapta, emitorul folosete magistralavlv Altfel folosete magistrala B.
Datele sunt puse pe una din magistrale utiliznd un circuit cablat OR (SAU), astfel nct defectarea
unei staii s nu conduc la cderea reelei.
280 SUBNTVELUL DE ACCES LA MEDIU CAP. 4

Spre deosebire de toate celelalte protocoale de LAN 802,802.6 nu este lacom. n toate celelalte,
dac o staie are ansa s transmit, o va face. Aici, staiile se aeaz la coad n ordinea n care devin
pregtite s emit i transmit dup politica FIFO. Partea interesant din acest protocol este cum se
obine ordinea FTFO fr existena unei cozi centrale.
Regula de baz este c staiile sunt politicoase: ele cedeaz n favoarea celor aflate n aval de ele.
Aceast politee este necesar pentru a preveni situaia n care staia cea mai apropiat de capt
nha toate celulele goale care vin i le umple, nfometnd pe cei din aval. Pentru simplificare, vom
examina numai transmisia pe magistrala^!, dar acelai lucru se ntmpl i cu magistrala B.
Pentru a simula coada FIFO, fiecare staie menine dou contoare, RC i CD. RC (Request
Counter - contor de cereri) numr cererile din aval aflate n ateptare nainte de momentul n
care staia nsi are un cadru de transmis. n acel moment, RC este copiat n CD, RC este
resetat la 0 i numr acum cererile fcute dup ce staia a devenit pregtit. De exemplu,
dac pentru staia k CD = 3 i RC = 2, urmtoarele trei celule goale care trec pe la staia k
sunt rezervate pentru staiile din aval, dup care staia k poate emite, iar apoi nc dou celule
sunt rezervate pentru staiile din aval. Pentru a simplifica vom presupune c o staie poate
ave,a o singur celul gata de transmis la un moment dat.
Pentru a expedia o celul, o staie trebuie s fac mai nti o rezervare prin setarea bitului de
Cerere (request) ntr-o celul de pe magistrala de ntoarcere (adic pe magistrala B pentru o
transmisie care va avea loc mai trziu pe magistrala^). Pe msur ce aceast celul se propag pe
magistrala de ntoarcere, fiecare staie de-a lungul drumului ei o observ i i incrementeaz RC.
Pentru a ilustra acest concept, vom folosi un exemplu. Iniial toate contoarele RC sunt 0, iar n coad
nu exist nici o celul, aa cum se arat n Fig. 4-32(a). Apoi staia D face o cerere care determin
staiile C, B i A s i incrementeze contoarele RC, dup cum se arat n Fig. 4-32(b). Dup aceasta,
B face o cerere i copiaz valoarea curent din RC n CD, rezultnd situaia din Fig. 4-32(c).
n acest moment, captul de pe magistrala^ genereaz o celul goal. Cnd ea trece prinB, acea
staie vede c propriul CD>0, deci nu poate utiliza celula goal (cnd o staie are o celula n coad,
CD reprezint poziia sa n coad, 0 nsemnnd capul cozii). n schimb decrementeaz CD. Atunci
cnd celula nc goal ajunge la D, acea staie vede c CD - 0, nsemnnd c nimeni nu este n faa
ei n coad, aa c i pune datele n celul executnd un SAU ntre datele ei i celul i seteaz bitul
Ocupat. Dup ce a terminat transmisia, avem situaia din Fig. 4-32(d).
Atunci cnd este generat urmtoarea celul goal, staia B vede c este prima din coad i
ocup celula (prin setarea unui bit), aa cum este ilustrat n Fig. 4-32(e). n acest fel, staiile stau la
coad pentru a le veni rndul, fr s existe un administrator al unei cozi centralizate.
Sistemele DQDB sunt acum instalate de multe companii de telecomunicaii n orae ntregi. Ele
au pn la 160 km la viteze de 44.736 Mbps (T3).

4.3.6 Standardul IEEE 802.2: Controlul legturii logice

Acum este probabil timpul s facem un pas napoi i s comparm ce am nvat n acest capitol
cu ce am studiat n cel anterior. n Cap. 3, am vzut cum dou maini pot comunica n siguran pe o
linie nesigur folosind diverse protocoale ale legturii de date. Aceste protocoale furnizau un control
al erorilor (folosind confirmri) i un control al fluxului (folosind o fereastr glisant).
SEC. 4.3 STANDARDUL ffiEE 802 PENTRU LAN-URI SI MAN-URI 281

Capt
Magistrala A

C " - D "

LJJ
T A
' T B "

RC = O =IC = O RC = 0 =IC = O RC = 0 Capt


CD = O ( :D = O I:D = O ( :D = O :D = o /
J i

I - tI
T
Magistrala B
(a)

A a - B ' r C U
i D " ^^Pachet , E
RC=1 RC = 1 RC=1 RC = 0 RC = 0
CD = O CD = O CD = 0 CD = 0 CD = 0
ir I f ' V . " 1 u

CERERE
(b)

i- A ' r B " Pachet V C " , D il


- E

RC = 2 RC = O RC=1 RC = 0 RC = 0
CD = O CD=1 CD = 0 CD = 0
CD = 0
iL i
V ,. "

CERERE (0
Date

,Pachet - C "
LU

v A " ir B ' u D "


RC = 1 RC = O RC = 0 RC = 0 RC = 0
CD = O CD = 6 CD = 0 CD = 0

CD = 0
: ' -"'ii - '; - 1 :' .-"' i i i
ir \r V

(d)

Date
(
c
C0-

L
i D '
LU

i- A
RC = O RC = O RC = 0 RC = 0 RC = 0
CD = O CD = O CD = 0 CD = 0 CD = 0
Ji (_
\r l V
V .

Fig. 4-32, (a) Iniial reeaua MAN este inactiv, (b) Dup ce D face o cerere,
(c) Dup ce B face o cerere, (d) Dup ce D transmite, (e) Dup ce B transmite.

n schimb, n acest capitol nu am spus nici un cuvnt referitor la comunicaiile fiabile. Tot
ce ofer MAN-ul i LAN-urile 802 este un serviciu datagram de tipul best-efforts" (cea mai
bun ncercare). Uneori, acest serviciu este adecvat. De exemplu, pentru transportul
pachetelor IP, nu sunt cerute sau ateptate garanii. Un pachet IP poate fi pur i simplu inserat
ntr-un cmp de informaie util al 802 i trimis pe traseul su. Dac se pierde, asta este.
282 SUBNTVELUL DE ACCES LA MEDIU CAP. 4

Cu toate acestea, exist sisteme n care este de dorit un protocol al legturii de date cu control al
erorilor i al fluxului. IEEE a definit unul care poate sta deasupra tuturor protocoalelor MAN i
LAN 802. n plus, acest protocol, numit LLC (Logical Link Control), ascunde diferenele dintre
diferitele tipuri de reele 802 prin furnizarea unui singur format i a unei singure interfee pentru
nivelul reea. Formatul, interfaa i protocolul sunt strns legate de OSI. LLC formeaz jumtatea
superioar a nivelului legturii de date, cu subnivelul MAC sub el, aa cum se arat n Fig. 4-33.

Nivelul reea Pachet j

r
1
LLC
;

\
Nivelul LLC Pachet ]
legtur -s
dedate MAC MAC LLC Pachet MAC

t 1
Nivelul fizic Reea
(a) (b)

Fig. 4-33. (a) Poziia LLC. (b) Formatele protocoalelor.

Folosirea obinuit a LLC este descris n continuare. Nivelul reea de pe maina emitoare
trimite un pachet ctre LLC folosind primitivele de acces ale LLC. Subnivelul LLC adaug apoi un
antet LLC, coninnd numerele de secven i de confirmare. Structura rezultat este apoi inserat
n cmpul de informaie util al unui cadru 802.x i transmis. La receptor are loc procesul invers.
LLC furnizeaz opional trei servicii: serviciul datagram nesigur, serviciul datagram cu
confirmare i serviciul sigur orientat pe conexiune. Antetul LLC este bazat pe protocolul mai vechi
HDLC. Pentru date si control este folosit o varietate de formate diferite. Pentru serviciul
datagram cu confirmare sau cel orientat pe conexiune, cadrele de date conin o adres surs, o
adres destinaie, un numr de secven, un numr de confirmare i ali civa bii. Pentru serviciul
datagram nesigur, numrul de secven i cel de confirmare lipsesc.

4.4 PUNI

Multe organizaii au LAN-uri multiple i doresc s le conecteze. LAN-urile pot fi conectate prin
dispozitive numite puni (bridges), care opereaz la nivelul legturii de date. Aceasta nseamn c
punile nu examineaz antetul nivelului de reea i pot astfel s copieze la fel de bine pachete IP,
IPX i OSI. Dimpotriv, un ruter strict IP, IPX sau OSI poate lucra numai cu pachetele
corespunztoare protocolului su.
n urmtoarele seciuni vom analiza arhitectura punilor, n special pentru conectarea LAN-
urilor 802.3,802.4 i 802.5. Pentru o tratare cuprinztoare a punilor i a altor subiecte nrudite, vezi
(Perlman, 1992). nainte de a intra n tehnologia punilor, merit s aruncm o privire asupra
ctorva situaii obinuite n care acestea sunt folosite. Vom meniona ase motive pentru care o
singur organizaie poate ajunge s aib LAN-uri multiple. n primul rnd, multe universiti i
departamente ale unor corporaii au propriile lor LAN-uri, n principal pentru a-i conecta
SEC. 4.4 PUOT1

calculatoarele personale, staiile de -lucru i serverele. Deoarece scopurile departamentelor difer,


departamente diferite vor alege LAN-uri diferite, indiferent de ce fac alte departamente. Mai
devreme sau mai trziu, este nevoie de interaciune, deci este nevoie de puni. n acest exemplu,
LAN-urile multiple au aprut datorit autonomiei proprietarilor lor.
n al doilea rnd, organizaia poate fi rspndit geografic n mai multe cldiri separate
aflate la distane considerabile. Poate fi mai ieftin soluia cu LAN-uri separate n fiecare
cldire, conectate prin puni i legturi n infrarou, dect soluia cu ntinderea unui singur
cablu coaxial pe ntreaga suprafa.

Coloan vertebral
LAN

H Server
I de fiier

Grup pe
un singur
LAN
Staie
de lucru

LAN

Fig. 4-34. LAN-uri multiple conectate printr-o coloan vertebral pentru a trata
un trafic total mai mare dect capacitatea unui singur LAN.

n al treilea rnd, pentru a face fa traficului poate fi necesar s desprim ceea ce logic este un
singur LAN n LAN-uri separate. La multe universiti, de exemplu, mii de staii de lucru sunt
disponibile pentru profesori i studeni. Fiierele sunt inute de obicei pe servere i sunt ncrcate pe
mainile utilizatorilor la cerere. Dimensiunea mare a acestui sistem mpiedic punerea tuturor
staiilor de lucru pe un singur LAN - lrgimea de band total necesar este mult prea mare. n
schimb sunt folosite LAN-uri multiple conectate prin puni, dup cum este artat n Fig. 4-34.
Fiecare LAN conine un grup de staii de lucru cu propriul su server de fiiere, astfel nct cea mai
mare parte a traficului este limitat la un singur LAN nencrcnd suplimentar coloana.vertebral.
n al patrulea rnd, n anumite situaii, un singur LAN ar fi potrivit n ceea ce privete traficul,
dar distana fizic ntre cele mai ndeprtate calculatoare este prea mare (de exemplu, mai mult de
2.5 km pentru 802.3). Chiar dac este uor de ntins cablul, reeaua nu ar funciona din cauza
ntrzierilor excesiv de mari pentru propagarea dus/ntors a semnalelor. Singura soluie este
partiionarea LAN-ului i instalarea de puni ntre segmente. Folosind punile, poate fi mfit
distana fizic total acoperit.
n al cincilea rnd, trebuie considerat problema siguranei. Pe un singur LAN, un nod defect,
care trimite tot timpul un ir continuu de date alterate, va compromite LAN-ul. Punile pot fi
284 SUBNIVELUL DE ACCES LA MEDIU CAP. 4'

inserate topunetecritice pentru a preveni ca un singur nod care funcioneaz defectuos s afecteze
ntregul sistem. Spre deosebire de un repetor, care doar copiaz ceea ce vede, o punte poate fi
programat s exercite un anumit control privind ceea ce trimite mai departe i ceea ce nu trimite.
n al aselea (i ultimul) rnd, punile pot contribui la securitatea organizaiei. Cele mai
multe interfee LAN au un mod transparent de lucru (promiscuous mode), n care toate
cadrele sunt transferate calculatorului, nu numai cele care sunt adresate acestuia. Spionilor si
bgreilor le place acest lucru. Prin inserarea punilor n diferite locuri i prin grija de a nu
transmite traficul de date senzitive, este posibil izolarea unor pri din reea, astfel nct
datele s nu cad n minile cui nu trebuie.

Gazd A Gazd B

Reea

LANCSMA/CD LANTokenbus
Fig. 4-35. Funcionarea unei puni de LAN de la 802.3 la 802.4.

Dup ce am vzut de ce sunt necesare punile, s ne ntoarcem la felul n care funcioneaz


acestea. Fig. 4-35 ilustreaz funcionarea unei puni simple, dublu-port. Gazda A are un
pachet de trimis. Acest pachet coboar la subnivelul LLC i dobndete un antet LLC. Apoi
trece la subnivelul MAC i i este ataat un antet 802.3 (ca de altfel i o ncheiere, care nu este
artat n figur). Aceast structur iese apoi pe cablu i n cele din urm este predat
subnivelului MAC din punte, unde antetul 802.3 este ndeprtat. Pachetul simplu (cu antetul
LLC) este predat subnivelului LLC din punte. In acest exemplu, pachetul este destinat unei
subretele 802.4 conectat la punte, astfel nct i face drum pe partea 802.4 a punii i pleac
mai departe. De notat c o punte conectnd k LAN-uri diferite va avea k subniveluri MAC
diferite i k niveluri fizice diferite, cte unul pentru fiecare tip.

4.4.1 Puni de la 802.x la 8O2.y

Aparent, o punte de la un LAN 802 la altul este ceva banal. Nu este cazul. n aceast seciune
vom atrage atenia asupra ctorva dintre dificultile care vor fi ntlnite atunci cnd se ncearc
construirea unei puni ntre LAN-uri 802 diferite.
SEC. 4.4 PUNI 285

;. Fiecare dintre cele nou combinaii de 802 JC la 8O2.y prezinlisetul su unic de probleme. Totui,
nainte de a le considera pe fiecare n parte, s considerm cteva probleme generale comune
tuturor punilor. Pentru nceput, fiecare dintre LAN-uri folosete un format de cadru diferit (vezi
Fig. 4-36). Nu exist nici un motiv tehnic viabil pentru aceast incompatibilitate. Doar c niciuna
dintre corporaiile care promoveaz cele trei standarde (Xerox, GM, i IBM) nu au vrut s l
schimbe pe al ei. Drept care orice transfer ntre LAN-uri diferite cere reformatare, ceea ce consum
timp CPU, necesit o nou calculare a sumei de control i introduce posibilitatea erorilor
nedetectate datorat biilor eronai n memoria punii. Nimic dintre cele menionate nu ar fi fost
necesar dac cele trei comitete ar fi putut s cad de acord asupra unui singur format.

Adresele
surs
DelimitatorControl Control i Umplu- Sum Delimitator Stare
Preambul start acces cadru destinaie Lungime Date tur de control sfrit cadru

802.3
i
! i
:
i 1 i
802.4
i
i
802.5

Fig, 4-36. Formatele cadrelor IEEE 802.

O a dou problem este c LAN-urile interconectate nu funcioneaz neaprat la aceeai rat de


transfer. Atunci cnd se transmite un ir lung de cadre concatenate de la un LAN rapid la unul mai
lent, puntea nu va putea transmite cadrele n ritmul n care sosesc. Va trebui s le memoreze,
spernd s nu i se termine memoria. De asemenea, problema exist ntr-o anumit msur de la
802.4 la 802.3 la 10 Mbps, deoarece ceva din banda lui 802.3 se pierde n coliziuni. n realitate 802.3
nu are 10 Mbps, pe cnd 802.4 chiar are (aproape). Punile care conecteaz trei sau mai multe LAN-
uri au o problem similar n cazul n care mai multe LAN-uri ncearc s alimenteze acelai LAN
de ieire n acelai moment.
O problem subtil dar important referitoare la gtuirea traficului prin punte este
valoarea ceasurilor n nivelurile superioare. S presupunem c nivelul reea al unui LAN 802.4
ncearc s trimit un mesaj foarte lung ca succesiune de cadre. Dup ce trimite ultimul cadru,
pornete un ceas care s atepte o confirmare. Dac mesajul trebuie s tranziteze o punte spre
un LAN 802.5 mai lent, exist pericolul ca intervalul de timp s se termine nainte ca ultimul
cadru s fie transmis LAN-ului mai lent. Nivelul reea va crede c problema se datoreaz unui
cadru pierdut i va transmite din nou ntreaga secven. Dup n ncercri nereuite s-ar putea
s renune i s spun nivelului transport c destinaia este moart.
O a treia, i potenial cea mai serioas problem dintre toate, este c toate aceste trei LAN-uri
802 au o lungime maxim de cadru diferit. Pentru 802.3 depinde de parametrii configuraiei, dar
pentru sistemul standard 10 Mbps informaia util este de maxim 1500 octei. Pentru 802.4 este
fixat la 8191 octei. Pentru 802.5 nu exist o limit superioar, cu excepia faptului c o staie nu
poate s transmit mai mult dect timpul de deinere a jetonului. Cu valoarea implicit de 10 msec,
lungimea maxim a cadrului este de 5000 de octei.
286 SUBNWELUL DE ACCES LA MEDIU CAP^l

O problem evident apare atunci cnd un cadra lung trebuie transmis unui LAN care nu 8 "i
poate accepta. La acest nivel, mprirea cadrului iese din discuie. Toate protocoalele presupun
recepionarea total sau nu a cadrelor. Nu exist posibilitatea de reasamblare a cadrelor din uniti
mai mici. Aceasta nu nseamn c asemenea protocoale nu ar putea fi inventate. Ele pot fi i au fost.
Doar c 802 nu are aceast caracteristic. Fundamental, nu exist nici o soluie. Cadrele care sunt
prea lungi pentru a fi transmise trebuie eliminate. Cam att n ceea ce privete transparena.
S analizm acum, pe scurt, fiecare dintre cele nou cazuri de punte de la 802.x la 8O2.y, pentru a
vedea ce alte probleme se mai ascund n umbr. Pentru 802.3 la 802.4 este uor. Singura! lucru care
poate s mearg prost este ca LAN-ul destinaie s fie att de tare ncrcat, nct cadrele se tot
adun n punte, iar puntea nu poate scpa de ele. Dac aceast situaie dureaz suficient de mult,
puntea poate s rmn fr spaiu de memorie i s nceap s abandoneze cadre. Din moment ce
problema poate s apar ntotdeauna cnd se transmite spre un LAN 802.3, nu o vom mai aminti n
cele ce urmeaz. n cazul celorlalte dou LAN-uri fiecrei staii, inclusiv punii, i se garanteaz
obinerea periodic a jetonului aa nct nu poate fi dezactivat pentru mult timp.
De la 802.4 la 802.3 exist dou probleme. Prima: cadrele 802.4 conin bii de prioritate pe care
cadrele 802.3 nu i au. Drept urmare, dac dou LAN-uri 802.4 comunic printr-un LAN 802.3,
prioritatea va fi pierdut de LAN-ul intermediar.
O a dou problem este cauzat de o caracteristic special a lui 802.4: predarea temporar a
jetonului. Este posibil ca un cadra 802.4 s aib un bit din antet setat la 1 pentru a pasa temporar
jetonul destinaiei, permindu-i s trimit un cadra de confirmare. Totui, dac un asemenea cadru
este transmis de o punte, ce ar trebui s fac puntea? Dac trimite ea nsi un cadra de confirmare
minte, pentru c, n realitate, cadrai nu a fost livrat nc. De fapt, destinaia poate fi moart.
Pe de alt parte, dac nu genereaz confirmarea, expeditorul va concluziona mai mult ca sigur c
destinaia este moart i va raporta eec superiorilor si. Se pare c aceast problem nu are soluie.
De la 802.5 la 802.3 avem o problem similar. Formatul cadrului 802.5 are biii A i C n octetul
de stare al cadrului. Aceti bii sunt setai de ctre destinaie ca s-i spun expeditorului dac staia
adresat a vzut cadrul i dac 1-a copiat. Din nou puntea poate s mint i s anune copierea
cadrului, dar dac mai trziu rezult c destinaia este inactiv, pot aprea probleme serioase. n
esen, inserarea unei puni ntr-o reea a schimbat semantica biilor. Este greu de imaginat o soluie
potrivit acestei probleme.
De la 802.3 la 802.4 problema este: ce s punem n biii de prioritate. Se poate argumenta c
puntea trebuie s retransmit toate cadrele la cea mai mare prioritate, pentru c probabil au suferit
deja suficiente ntrzieri.
De la 802.4 la 802.4 singura problem este ce s facem n cazul predrii temporare a jetonului.
Cel puin aici avem posibilitatea ca puntea s reueasc transmiterea cadrului suficient de repede
pentru a primi rspuns nainte de expirarea timpului. Totui ne asumm un risc. Prin transmiterea
cadrului cu cea mai mare prioritate, puntea spune o minciun cusut cu a alb, dar mrete
probabilitatea primirii rspunsului la timp.
De la 802.5 la 802.4 avem aceeai problem cu biii A i C ca mai nainte. De asemenea, definiia
biilor de prioritate este diferit pentru cele dou LAN-uri, dar ceretorii nu au de ales. Cel puin
cele dou LAN-uri au acelai numr de bii de prioritate. Tot ceea ce poate s fac puntea este s
copieze biii de prioritate dintr-o parte n cealalt i s spere c totul va fi bine.
De la 802.3 la 802.5 puntea trebuie s genereze bii de prioritate, dar nu exist alte probleme
speciale. De la 802.4 la 802.5 o problem posibil este cea a cadrelor prea lungi i apare din nou
SEC. 4.4 PUNI 287

'- problema predrii jetonului. n sfrit, de la 8015;la 802.5 se jpuse problema tratrii biilor A i C.
Piferitele probleme pe care le-am discutat sunt rezumate n Fig 4-37.

LAN destinaie
802.3 (CSMA/CD) 802.4 (Token-bus) 802.4 (Token-ring)

802.3 1,4 1,2,4,8


UN
802.4 1,5,8,9,10 9 1,2,3,8,9,10
surs
802.5 1,2,5,6,7,10 1,2,3,6,7 6,7

Aciuni:
1. Reformateaz cadrele i calculeaz noua sum de control.
2. Inverseaz ordinea biilor.
3. Copiaz prioritatea, indiferent dac are sau nu nsemntate.
4. Genereaz o prioritate fictiv.
5. Elimin prioritatea.
6. Dreneaz inelul (n vreun fel).
7. Seteaz biii A i C (prin minciun).
8. Se ocup de congestie (LAN-uri rapide la LAN-uri lente}.
9. Se ocup de transferul jetonului,
confirmarea fiind ntrziat sau imposibil.
10. Se alerteaz n cazul unui cadru prea lung pentru
LAN-ul destinaie.

Parametrii presupui:
802.3: cadre de 1500 octei, 10 Mbps (minus coliziunile)
802.4: cadre de 8191 octei, 10 Mbps
802.5: cadre de 5000 octei, 4 Mbps

Fig. 4-37. Problemele ntlnite n construirea punilor de la 802.x la 8O2.y.

Atunci cnd comitetul IEEE 802 a dorit s vin cu un standard LAN, nu a putut s hotrasc
asupra unui singur standard, drept care a produsira standarde incompatibile, dup cum tocmai am
vzut n detaliu. Pentru acest eec a fost criticat de toat lumea ulterior. Dup aceea, cnd i s-a dat
sarcina s proiecteze un standard pentru punile care s interconecteze cele trei LAN-uri
incompatibile, i-a propus s se achite mai bine i a fcut-o. A venit cu dou arhitecturi de puni
incompatibile. Pn acum nimeni nu i-a cerut s proiecteze o poart standard care s conecteze cele
dou puni incompatibile, dar cel puin ne ndreptm n direcia cea bun.
Aceast seciune s-a ocupat de problemele ntlnite n conectarea a dou LAN-uri IEEE
printr-o singur punte. Urmtoarele dou seciuni se vor ocupa de problemele conectrii
reelelor mari care conin multe LAN-uri i multe puni i cele dou abordri IEEE n ce
privete proiectarea acestor puni.

4.42 Puni transparente

Prima punte 802 este o punte transparent sau punte cu arbore de acoperire (Perlman, 1992).
Preocuparea dominant a celor care sprijin aceast arhitectur a fost transparena total. n
288 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

viziunea lor, un sit cu LAN-url multiple ar trebui s fie capabil s se duc i s cumpere puni
proiectate dup standardul IEEE, s stabileasc conexiunile i totul s funcioneze perfect,
instantaneu. Nu ar trebui s fie nevoie de modificri de hardware, de modificri de software, de
setarea adreselor, de ncrcarea tabelelor sau parametrilor, nimic altceva. Se conecteaz numai
cablurile i funcioneaz. Mai mult, funcionarea LAN-urilor existente nu ar trebui s fie afectat n
nici un fel de puni. Destul de surprinztor, chiar au reuit.
O punte transparent opereaz n mod transparent (promiscuous mode), acceptnd orice cadru
transmis pe oricare dintre LAN-urile la care este ataat. De exemplu, s considerm configuraia
din Fig. 4-38. Puntea Bl este conectat la LAN-urile 1 i 2, iar puntea B2 este conectat la LAN-
urile 2, 3 i 4. Un cadru destinat lui A de la LAN 1 care ajunge la puntea Bl poate fi eliminat
imediat, pentru c este deja pe LAN-ul care trebuie, dar un cadru care ajunge de la LAN 1 pentru C
sau F trebuie transmis.
La sosirea unui cadru, o punte trebuie s decid dac s fl elimine sau s l transmit mai departe,
iar dac l transmite, pe ce LAN s l pun. Aceast decizie este luat cutnd adresa destinaiei ntr-
o tabel (de dispersie) mare din interiorul punii. Tabelul poate s includ fiecare destinaie posibil
i crei linii de ieire (LAN) i aparine. De exemplu, tabelul lui B2 ar include A ca aparinnd lui
LAN 2, din moment ce tot ce trebuie s tie B2 este pe care LAN s pun cadrele destinate lui A.
Nu prezint interes faptul c mai trziu, vor avea loc mai multe transmisii.
La prima conectare a punilor, toate tabelele de dispersie sunt vide. Niciuna dintre puni nu tie
unde se afl destinaiile, astfelnct folosesc algoritmul de inundare: orice cadru care vine pentru o
destinaie necunoscut este trimis pe toate LAN-urile la care este conectat puntea, cu excepia celui
de pe care a venit. Cu trecerea timpului, punile afl unde se gsesc destinaiile, dup cum este
descris n cele ce urmeaz. Odat ce o destinaie este cunoscut, cadrele destinate ei sunt puse pe
LAN-Ul care trebuie, n loc s fie inundate.
Algoritmul folosit de punile transparente este nvare regresiv (backward learning). Dup cum
a fost menionat anterior, punile lucreaz n mod transparent (promiscuous), astfel nct vd fiecare
cadru trimis pe oricare dintre LAN-urile lor. Uitndu-se la adresa sursei, ele pot spune care
calculator este accesibil pe care LAN. De exemplu, dac puntea Bl din Fig. 4-38 vede un cadru pe
LAN 2 venind de la C, tie c C trebuie s fie accesibil prin LAN 2, deci creeaz o intrare n tabela
de dispersie, n care noteaz c pentru cadrele care merg la C ar trebui s foloseasc LAN 2. Orice
cadru ulterior adresat lui C care vine pe LAN 1 va fi transmis, dar un cadru pentru C care vine pe
LAN 2 va fi abandonat.
Topologia se poate schimba dup cum calculatoarele i punile sunt n funciune sau nu, sau
mutate de colo-colo. Pentru a trata topologii dinamice, de cte ori se creeaz o intrare n tabela de
dispersie, n ea este notat timpul de sosire a cadrului. De cte ori sosete un cadru a crui destinaie
se afl deja n tabel, intrarea sa este adus la zi cu timpul curent. Astfel, timpul asociat fiecrei intrri
arat ultimul moment n care a fost primit un cadru de la respectivul calculator.
Periodic, un proces din punte scaneaz tabela de dispersie i cur toate intrrile mai
vechi de cteva minute. n acest fel, dac un calculator este scos din LAN-ul su, plimbat prin
cldire i reinstalat n alt parte, n cteva minute va reveni la funcionarea normal, fr vreo
intervenie manual. Acest algoritm semnific de asemenea c dac un calculator este inactiv
pentru cteva minute, orice trafic trimis spre el va trebui inundat, pn cnd calculatorul
respectiv va trimite un cadru.
PUNI

LAN1 LAN 2 LAN 3

Fig. 4-38. O configuraie cu patru LAN-uri i dou puni.

Procedura de dirijare pentru un cadru sosit depinde de LAN-ul pe care sosete (LAN-ul surs) i
de LAN-ul n care se afl destinaia sa (LAN-ul destinaie), dup cum urmeaz:

1. Dac LAN-ul surs este acelai cu LAN-ul destinaie, abandoneaz cadrul.


2. Dac LAN-ul surs i cel destinaie sunt diferite, transmite cadrul.
3. Dac LAN-ul destinaie nu este cunoscut, folosete inundarea.

Acest algoritm trebuie aplicat pentru fiecare cadru care sosete. Exist cipuri VLSI speciale
care realizeaz cutarea i actualizarea n tabela de dispersie, doar n cteva microsecunde.
Pentru a mri sigurana, unele situri folosesc dou sau mai multe puni n paralel ntre perechi de
LAN-uri, dup cum este artat n Fig. 4-39. Totui, acest aranjament introduce i unele probleme
suplimentare, ntruct creeaz bucle n topologie.

Cadru copiat Cadru copiat


deB1\ / d e B2

LAN 2

LANl

-Cadru iniial

Fig. 4-39. Dou puni transparente paralele.

n Fig. 4-39 este prezentat modul n care este tratat un cadru, F, cu destinaie necunoscut.
Fiecare punte, urmnd regulile obinuite pentru tratarea destinaiilor necunoscute, folosete
inundarea care, n acest exemplu, nu nseamn dect copierea cadrului pe LAN 2. Puin dup aceea,
puntea 1- vede F2, un cadru cu destinaie necunoscut, pe care l copiaz pe LAN 1, genernd F3
(care nu este artat n figur). La fel, puntea 2 copiaz FI pe LANl genernd F4 (care nu este
artat). Acum puntea 1 trimite F4 i puntea 2 copiaz F3. Acest ciclu se continu la nesfrit.
290 SUBNIVELULDE ACCES LA MEDIU CAP.4

Puni cu arbore de acoperire

Soluia acestei probleme este ca punile s comunice unele cu altele i s suprapun peste
topologia actual un arbore "de acoperire care ajunge la fiecare LAN. De fapt, n interesul construirii
unei topologii fictive fr bucle, sunt ignorate cteva conexiuni posibile ntre LAN-uri. De exemplu,
n Fig. 4-40(a) apar nou LAN-uri interconectate prin zece puni. Aceast configuraie poate fi
rezumat ntr-un graf cu LAN-urile drept noduri. Un arc leag oricare dou LAN-uri care sunt
conectate de o punte.

LAN D

Punte care
face parte
din arborele H
de acoperire Punte care
Punte nu face parte
din arborele
de acoperire

(a) (b)

Fig. 4-40. (a) LAN-uri interconectate (b) Arbore de acoperire pentru


LAN-uri. Liniile punctate nu fac parte din arborele de acoperire.

Graful poate fi redus la un arbore de acoperire renunnd la arcurile figurate ca linii punctate n
Fig. 4-40(b). Folosind acest arbore de acoperire, exist exact un drum de la fiecare LAN la fiecare alt
LAN. Odat ce punile s-au neles asupra arborelui de acoperire, toat transmiterea dintre LAN-uri
urmrete arborele de acoperire. Din moment ce exist un drum unic de la fiecare surs la fiecare
destinaie, buclele sunt imposibile.
Pentru a construi arborele de acoperire, punile trebuie s aleag mai nti o punte reprezentnd
rdcina arborelui. Ele fac aceast alegere prin emiterea de ctre fiecare punte a numrului de serie,
instalat de fabricant, garantat ca fiind unic n ntreaga lume. Puntea cu cel mai mic numr serial
devine rdcin. Apoi se construiete un arbore de drumuri minime de la rdcin la fiecare punte i
LAN. Acest arbore este un arbore de acoperire. Dac o punte sau un LAN cade, este calculat un
nou arbore de acoperire.
Rezultatul acestui algoritm este c se stabilete un drum unic de la fiecare LAN la rdcin, i
astfel la fiecare alt LAN. Dei arborele acoper toate LAN-urile, nu neaprat toate punile sunt
prezente n arbore (pentru a evita buclele). Dup ce a fost stabilit arborele de acoperire, algoritmul
continu s ruleze pentru a detecta automat schimbri n topologie i a actualiza arborele.
Algoritmul distribuit, folosit pentru construirea arborelui de acoperire, a fost inventat de Perlman i
este descris n detaliu n (Perlman, 1992).
SEC.4.4 PUNI 291

Punile pot fi folosite i pentru conectarea LAN-urilor aflate la mare distan. n acest model,
fiecare sit const dintr-o colecie de LAN-uri i puni, dintre care una are o legtur la un WAN.
Cadrele pentru LAN-urile ndeprtate circul prin WAN. Algoritmul arborelui de acoperire de baz
poate fi folosit, preferabil cu anumite optimizri, pentru a selecta un arbore care micoreaz volumul
traficului n WAN.

4.43 Puni cu dirijare de la surs

Punile transparente au avantajul de a fi uor de instalat. Le conectezi i pleci. Pe de alt


parte,, nu folosesc optim lrgimea de band, din moment ce nu folosesc dect un subset al
topologiei (arborele de acoperire). Importana relativ a acestor doi factori (i a altora) a dus
la o ruptur n interiorul comitetelor 802 (Pitt, 1988). Partizanii CSMAVCD i token bus au
ales puntea transparent, partizanii inelului (cu ncurajri de la IBM) au preferat o schem
denumit dirijare de la surs (source routing), pe care o s-b descriem n continuare. Pentru
detalii suplimentare, vezi (Dixon, 1987).
Redus la esen, dirijarea de la surs presupune c emitorul fiecrui cadru tie dac
destinaia este sau nu n propria reea local. Atunci cnd se trimite un cadru la o reea local
diferit, maina surs seteaz la 1 bitul cel mai semnificativ din adresa destinaie, pentru a
marca acel cadru. Mai mult, include n antetul cadrului traseul exact pe care acesta l va urma.
Acest drum este construit astfel: fiecare LAN are un numr unic, de 12 bii, iar fiecare punte are
un numr de patru bii care o identific n mod unic n contextul reelelor locale. Astfel, dou puni
ndeprtate pot avea ambele numrul trei, dar dou puni dintre aceleai dou LAN-uri trebuie s
aib numere diferite. Un drum este astfel o secven de numere de punte, LAN, punte, LAN ...
Referindu-ne kt Fig. 4-38, un drum de la A la D ar fi (LI, Bl, L2, B2, L3).
O punte de tip dirijare de Ia surs este interesata numai de acele cadre care au bitul cel mai
semnificativ al adresei destinaie setat la valoarea 1. Pentru fiecare astfel de cadru, puntea scaneaz
traseul cutnd numrul LAN-ului pe care a sosit cadrul; Dac acest numr de LAN este urmat de
ctre propriul numr de punte, puntea trimite mai departe cadrul spre LAN-ul al crui numr
urmeaz dup numrul ei. Dac numrul LAN-ului pe care a sosit cadrul este urmat de numrul
unei alte puni, puntea nu trimite mai departe cadrul.
Acest algoritm duce la trei implementri posibile:

1. Software: puntea lucreaz n mod transparent, copiind in memoria sa toate cadrele, pentru a
vedea dac au bitul cel mai semnificativ al adresei destinaie setat la 1. Dac da, cadrul este
inspectat n continuare, altfel, nu.
2. Hibrid: interfaa LAN a punii inspecteaz bitul cel mai semnificativ al adresei destinaie i
accept numai cadrele cuiaeest bit setat la 1. Interfaa este simplu de implementat n
hardware i reduce foarte mult numrul de cadre pe care trebuie s le inspecteze puntea.
1. Hardware: interfaa LAN a punii, nu numai c testeaz bitul cel mai semnificativ al adresei
destinaie, dar scaneaz i traseul pentru a vedea dac puntea trebuie s fac trimiterea mai
departe. Punii i sunt predate numai cadrele care trebuie trimise mai departe. Aceast
implementare necesit hardware-ul cel mai complex, dar n schimb nu ncarc unitatea
central a punii cu prelucrarea cadrelor nerelevante care sunt filtrate.
292 SUBNIVELUL DE ACCES LA MEDIU CAR4

Aceste trei implementri difer, prin costuri i performane. Prima, nu are costuri
suplimentare de hardware pentru interfa, dar pentru a putea trata toate cadrele poate
necesita o unitate central foarte rapid. Ultima necesit un cip special VLSI, dar preia de la
punte o mare parte din prelucrri,.astfel c poate fi folosit i o unitate central mai lent sau,
alternativ, puntea poate trata mai multe LAN-uri. : ;...{.

n proiectarea dirijrii de la surs n mod implicit, orice main din inter-reea tie, sau poate
afla, drumul optim spre orice alt main. O parte important a algoritmului dirijm de la surs este
modul n care sunt descoperite aceste trasee. Ideea de baz este c dac destinaia este necunoscut,
sursa emite un cadru de difuzare pentru a aia unde se afl aceasta. Acest cadra de descoperire
(discoveiy frame) este trimis mai departe de fiecare punte astfel nct el ajunge la fiecare LAN din
inter-reea. La sosirea rspunsului, punile i nregistreaz identitatea n acesta, astfel nct
expeditorul iniial poate vedea traseul exact urmat i n cele din- urm alege cel mai buri traseu.

Punte LAN

-o
\ /
- o
/ \
Gazd
-O-- o - -O-
/ \

- o - -o
Nivel N

Fig. 4-41.0 serie de LAN-uri conectate prin puni triple.

Dei n mod evident acest algoritm gsete cel mai bun traseu (gsete toate traseele), el sufer
de o explozie de cadre. S considerm configuraia din Fig. 4-41, cu N LAN-uri conectate liniar prin
puni triple. Fiecare cadru de descoperire trimis de staia 1 este copiat de fiecare din cele trei puni
pe LAN 1, conducnd la trei cadre de descoperire pe LAN 2. Fiecare dintre acestea este copiat de
fiecare dintre puni conectate pe LAN 2, rezultnd nou cadre pe- LAN 3. n momentul n care
ajungem la LAN N, circul 3N cadre. Dac sunt traversate dousprezece seturi de puni, n ultimul
LAN vor trebui injectate mai mult de jumtate de milion de cadre de descoperire, cauznd o
congestie sever.
Un proces oarecum analog are loc n cazul punii transparente, numai c nu este, nici pe
departe, att de sever. Atunci cnd sosete un cadru necunoscut, este inundat, dar numai de-a
lungul arborelui de acoperire, astfel nct volumul total, de cadre este proporional cu
dimensiunea reelei, nu exponenial. ;
Odat ce un calculator gazd a descoperit un traseu spre o anumit destinaie, memoreaz
traseul ntr-o memorie tampon, astfel nct data viitoare s nu mai fie necesar execuia procesului
de descoperire. Dei aceast abordare limiteaz mult impactul exploziei cadrelor, ngreuneaz
administrativ toate gazdele i, evident, ntregul algoritm nu este transparent, ceea ce era .unul din
scopurile iniiale, dup cum am menionat anterior.
SEC. 4.4 PUNTI 293

4.4.4 Compararea punilor 802 --. . . . -

Punile transparente i'cele de tip dirijare de la surs au fiecare avantaje i dezavantaje. n


aceast seciune vom discuta cteva dintre cele mai importante, rezumate n Fig. 442 i prezentate
mai detaliat n (Soha i Perlman, 1988; i Zhang, 1988). Avei grij, totui, c fiecare punct este
foarte contestat.

Caracteristic Punte transparent Punte cu dirijare de la surs


Orientare Fr conexiune Orientat conexiune
Transparen Complet transparent Netransparent
Configurare Automat Manual
Dirijare Suboptimal Optimal
Localizare nvare regresiv Cadre de descoperire
Eecuri Tratate de puni Tratate de gazd
Complexitate La nivelul punilor La nivelul gazdelor

Fig. 4-42. Comparaie ntre puni transparente i de tip dirijare de la surs.

La bazja diferenei dintre cele dou tipuri de puni este diferena dintre reelele orientate
conexiune i cele fr conexiune. Punile transparente dirijeaz independent fiecare cadru,
fr yreo legtur cu conceptul de circuit virtual. Spre deosebire de acestea, punile de tip
dirijare de. la surs determin un traseu utiliznd cadre de descoperire i apoi utilizeaz numai
acel traseu.
Punile transparente sunt complet invizibile pentru gazde i n ntregime compatibile cu
toate produsele 802 existente; Punile cu dirijare de la surs nu sunt nici transparente nici
compatibile. Pentru a folosi dirijarea de la surs, gazdele trebuie s fie n ntregime contiente
de schema de legtur (bridging scheme) i trebuie s participe activ la ea. mprirea unui
LAN existent n dou LAN-uri conectate de o punte cu dirijare de la surs necesit efectuarea
de schimbri nsoftwarerul gazdei.
Atunci mnsQ folosesc puni transparente, administrarea reelei nu este necesar. Punile se
configuieaz automat la topologia reelei. n cazul punilor dirijate de la surs, administratorul
reelei trebuie s instaleze manual LAN-ul i numerele punilor. Greeli cum ar fi duplicarea
numrului unui LAN sau al unei puni sunt foarte greu de detectat, ntruct pot cauza ca numai
anumite cadre s cicleze pe diverse trasee. Mai mult, cnd se conecteaz dou inter-reele, iniial
disjuncte, n cazul punilor transparente nu este altceva de fcut dect conectarea lor, pe cnd n
cazul dirijrii de la surs poate fi necesar schimbarea manual a multor numere LAN, pentru a le
face unice n inter-reeaua combinat.
Unul-jdintre puinele avantaje ale dirijrii de la sursa este c, n teorie, poate folosi dirijarea
optim, pe cnd puntea transparent se restrnge la arborele de acoperire. Mai mult, dirijarea de la
surs poate beneficia de puni paralele ntre dou LAN-uri pentru a mpri traficul. Este discutabil
dac punile reale vor fi suficient de inteligente pentru a folosi aceste avantaje teoretice.
Localizarea destinaiilor se realizeaz folosind nvarea regresiv n cazul punilor
transparente, iar n cazul punilor cu dirijare de la surs, prin cadre de descoperire.
Dezavantajul nvrii regresive este c pentru a descoperi unde este o main, punile trebuie
s atepte pn cnd se ntmpl s vin un cadru de la respectiva main. Dezavantajul
294 SUBISfIVELUL DE ACCES LA MEDIU CAP.4

cadrelor de descoperire este explozia exponenial a cadrelor n inter-reele de dimensiuni


moderate pn la mari, cu puni paralele.
Tratarea defectrilor este total diferit n cele dou cazuri. Punile transparente afl despre
defectrile punilor i LAN-urilor i alte schimbri de topologie repede i automat, numai
ascultndu-i una alteia cadrele de control. Gazdele nu remarc deloc aceste schimbri.
n cazul dirijrii de la surs, situaia este cu totul alta. Atunci cnd se defecteaz o punte,
mainile care dirijeaz prin ea remarc iniial absena confirmrii cadrelor, astfel nct dup
expirarea timpului se ncearc din nou i din nou. In cele din urm, trag concluzia c ceva este n
neregul, dar nc nu tiu dac problema este cu destinaia sau cu traseul curent Numai trimind
un alt cadru de descoperire pot s afle dac destinaia este disponibil. Din nefericire, atunci cnd se
defecteaz o punte important, expirarea timpului se va produce la un mare numr de gazde care
vor trimite noi cadre de descoperire nainte ca problema s fie rezolvat, chiar dac este disponibil
un traseu alternativ. Aceast mai mare vulnerabilitate la defectri este una dintre cele mai mari
slbiciuni ale tuturor sistemelor orientate pe conexiune.
n sfrit, am ajuns la complexitate i cost, un subiect foarte controversat. Dac punile de tip
dirijare de la surs au un circuit VLSI care accept doar acele cadre care trebuie trimise mai
departe, aceste puni vor fi mai puin ncrcate cu prelucrarea de cadre i vor da rezultate mai bune
pentru o anumit investiie n hardware. Fr acest cip ele funcioneaz mai prost, deoarece se fac
mult mai multe prelucrri pentru fiecare cadru.
n plus, dirijarea de la surs adaug complexitate la nivelul gazdelor: ele trebuie s memoreze
traseele, s trimit cadre de descoperire i s copieze informaie despre traseu n fiecare cadru.
Toate aceste lucruri necesit memorie i timp unitate central. Din moment ce numrul de gazde
este, de regul, cu unul sau dou ordine de mrime mai mare dect cel de puni, ar fi mai bine s se
pun costul i complexitatea suplimentare mai degrab n cteva puni dect n toate gazdele.

4.4.5 Puni aflate Ia distan

Punile sunt n mod obinuit folosite pentru conectarea a dou (sau mai multe) LAN-uri aflate la
distan unele de altele. De exemplu, o companie poate avea fabrici n mai multe orae, fiecare
dintre acestea cu propriul su LAN. Ideal ar fi ca toate aceste LAN-uri s fie interconectate pentru
ca sistemul n ntregime s funcioneze ca un mare LAN.

Punte

y Linie punct la punct


LAN1 LAN 2

LAN 3

Fig. 4-43. Puni aflate la distan folosite pentru a interconecta LAN-uri ndeprtate.
SEC. 4.5 LAN-URI DE MARE VITEZ 295

Acest el poate fi atins punnd cte o punte fiecrui LAN i conectnd punile n perechi cu linii
punct-la-punet (de exemplu linii nchiriate de la o companie de telefoane). Un sistem simplu, cu trei
LAN-uri, este prezentat n Fig. 4-43. Aici se aplic algoritmul de dirijare obinuit. Cel mai simplu
este s se priveasc cele trei linii punct-la-punct ca LAN-uri. frclgazde. Adic, un sistem obinuit de
ase LAN-uri interconectate.prin patru puni. Nimic din ce am studiat pn acum nu spune c un
LAN trebuie s aib gazde.
Pe liniile punct-la-punct pot fi folosite diverse protocoale. O posibilitate este alegerea unui
protocol de legtur de date punct-la-punct standard, punnd cadre MAG complete n cmpul de
informaie util. Aceast strategie funcioneaz cel mai bine dac LAN-urile sunt identice i singura
problem este transmiterea cadrelor la LAN-ul care trebuie. Alt posibilitate este eliminarea
antetului i a ncheierii cadrelor MAC la puntea surs, punnd ceea ce a mi rmas n cmpul de
informaie util al protocolului punct-la-punct. Un nou antet i o nou ncheiere MAC pot fi apoi
generate la puntea destinaie. Un dezavantaj al acestei abordri este c suma de control care ajunge
la puntea destinaie nu este cea calculat de gazda surs, existnd posibilitatea ca erori cauzate de
bii eronai n memoria unei puni s nu fie detectai.

4.5 LAN-URI DE MARE VITEZ

Toate LAN-urile i MAN-urile 802 pe care le-am studiat sunt bazate pe un singur fir de cupru
(dou fire de cupru pentru 802.6). Pentru viteze mici i distane scurte funcioneaz bine, dar pentru
viteze i distane mari LAN-urile trebuie bazate pe fibr optic sau pe reele paralele de fire de
cupru. Fibra optic are band larg, este subire i uoar, nu este afectat de interferene
electromagnetice provenind de la maini grele (important atunci cnd cablarea trece prin tunelul de
la lift), variaiile de tensiune, fulgere i prezint o excelent securitate, ntruct este aproape
imposibil s nu se detecteze o interceptare. n consecin, LAN-urile rapide folosesc deseori fibr
optic. n urmtoarele seciuni vom analiza att unele reele locale care folosesc fibr optic, ct i
un LAN de foarte mare vitez care folosete demodata srm de cupru (dar foarte mult).

4.5.1 FDDI

FDDI (Fiber Distributed Data Interface - interfaa de date distribuite pe fibr optic) este
un LAN token ring cu fibr optic, de mare performan, funcionnd la 100 Mbps pe distane
de pn la 200 km cu cel mult 1000 staii conectate (Black, 1994; Jain, 1994; Mirchandani i
Khanna, 1993; Ross i Hamstra, 1993; Shah i Ramakrishnan, 1994; Wolter, 1990). Poate fi
folosit n acelai mod ca oricare dintre LAN-urile 802, dar pentru c are band de transfer
mult mai mare, o alt utilizare obinuit este cea de coloan vertebral pentru conectarea
LAN-urilor de cupru, aa cum se arat n Fig. 4-44: FDDI-II este succesorul lui FDDI,
modificat s trateze sincron date PCM prin comutare de circuite pentru voce sau trafic ISDN,
n plus fa de datele obinuite. Ne vom referi la FDDI i FDDI-II simplu FDDI. Aceast
seciune se ocup att de nivelul fizic ct i de nivelul MAC al FDDI.
FDDI folosete fibre multimod, deoarece costurile adiionale ale fibrelor monomod nu sunt
necesare pentru reele funcionnd la numai 100 Mbps.- De asemenea, folosete
LED-uri mai degrab dect lasere, nu numai datorit costului lor mai mic, dar i pentru c FDDI
296 CAP. 4

poate fi utilizat uneori pentru a se conecta directIastai3e derhicm afe utffizatEBifer. Existpericolul
ca utilizatori curioi s scoat oc^anaieene^mlxfefiffqat^ a
vedea cum trec biii la 100 Mbps. Ctrimlasercurio^utiMzatoEar pHteasfii.ctLo:gaHr.n:retkv
LED-urile sunt prea slabe pentra a rnr 0ebM, darsu&aientrde ptttenriaeLpenrro a transporta: cu
10
acuratee date la 100 Mbps. Proiectarea FDDI spedSc'rBrmarrnnB: de o efoaran 23xlO bii.
Multe implementri se comport mult maibke.

Token-bus

Punte

Inei FDDI
Ethernet
Punte

Calculator
Token-ring

Ethernet

Fig. 4-44. Un inel FDDI reprezentnd coloana vertebral pentru conectarea


LAN-urilor i calculatoarelor.
Cablarea FDDI const din dou inele de fibr, unul transmind n sensul acelor de ceasornic i
cellalt n sens invers, dup cum este ilustrat n Fig. 4-45(a). Dac unul se defecteaz, n locul lui
poate fi folosit cellalt. Dac amndou se ntrerup n acelai punct, de exemplu din cauza unui foc
sau a altui accident n conducta cablului, cele dou inele pot fi conectate ntr-un singur inel
aproximativ de dou ori mai lung, dup cum este artat n Fig. 4-45(b). n eventualitatea unor
probleme la staie, fiecare staie conine relee care pot fi folosite pentru conectarea celor dou inele
sau untarea staiei. De asemenea pot fi folosite panouri de cablare, ca la 802.5.

(a) (b)

Fig. 4-45. (a) FDDI const din dou inele rotindu-se n sensuri opuse, (b) n eventualitatea
ntreruperii ambelor inele htr-un punct, ele pot fi legate pentru a forma un singur inel mai lung.
see.4-5

Nivdai M c : nu..folosete, codiilcare de tip Maucfaester^ kmct eoGifcaxea. Manchester la


10OMI)SHe^stfeMknaafela20^ fofoseteo
schem deraamit codificarea. 4 cfe 5b Efecte. gHr de- 4 siiEfoluri MAC (6-uri,
l-uri i anumite simboluri catemi surt de-tip dat, cam ar ftifef^-^^dte^-Siait ca^SScate ca un
grup de 5 tai. Dintre cele 32 de combmaii 16. sunt pentoE cfete^ 3 p e s t e ddimitatori, 2 pentru
contool, 3 pentoi avertizarea hardware^ului i 8 sunt ne&loste..(adKiez3ervate, pentru versiuni
ulterioare ale acestui protocol).
Avantajul acestei scheme este c economisete band, dar dezavantajul este pierderea
proprietii de autosincronizare din codificarea Manchester. Pentru a compensa aceast pierdere^ se
utilizeaz un preambul lung pentru a sincroniza receptorul cu ceasul emitorului. Mai mult, toate
ceasurile trebuie s fie stabile la cel puin 0.005%. Cu aceast stabilitate, cadrele de pn la 4500
octei pot fi trimise fr pericolul ca ceasurile receptoarelor s se abat prea mult i s ias din
sincronismul cu fluxul de date.
r

Protocoalele FDDI de baz urmeaz ndeaproape modelul protocoalelor 802.5. Pentru a


transmite date, o staie trebuie mai nti s captureze jetonul. Dup aceea transmite un cadru i l
elimin atunci cnd apare din nou la staie. O diferen ntre FDDI i 802.5 este c n 802.5 o staie
nu poate genera un nou jeton pn cnd cadrul su nu a parcurs tot drumul i nu s-a ntors napoi. n
FDDI, cu posibiliti de 1000 de staii i 200 km de fibr, timpul pierdut ateptnd cadrul s
nconjoare ntregul inel poate fi substanial. Din acest motiv s-a decis s se permit unei staii s
pun un nou jeton n inel imediat ce a terminat de transmis cadrele. ntr-un inel mare, mai multe
cadre pot fi prezente n acelai timp.

Octei >8 2 sau 6 2 sau 6 Fr limit 1 1

Adres Adres
Preambul Date Sum de control
destinaie surs

Control cadru Delimitator de sfrit Jt


- Delimitator de nceput Stare cadru

Fig. 4-46. Formatul cadrelor FDDI.

Cadrele de date FDDI sunt asemntoare cu cadrele de date 802.5. Formatul FDDI este
prezentat n Fig. 4-46. Cmpurile Delimitator de nceput (Start delimiter) i Delimitator de sfrit (End
delimiter) marcheaz capetele cadrului. Cmpul Control cadru spune ce fel de cadru este (dat,
control etc). Octet-ul Stare cadru pstreaz bii de confirmare, similari cu aceia ai 802.5. Celelalte
cmpuri sunt analoage celor de la 802.5.
n plus fa de cadrele obinuite (asincrone), FDDI permite i cadre speciale sincrone pentru
date sincrone PCM prin comutare de circuite sau date ISDN. Cadrele sincrone sunt generate la
fiecare 125 microsecunde de o staie mater, pentru a furniza cele 8000 de eantioane pe secund de
298 SUBNVEEULDE ACCES LA MEDIU CAP.$

care au nevoie sistemele PCM. Fiecare dintre aceste cadre are un antet, 16 octei de date transmii
fr comutare de circuite i cel mult 96 octei de date transmii cu comutare de circuite (adic pn
la 96 de canale PGM pe cadru).
Numrul 96 a fost ales pentru c permite ca ntr-un cadru s ncap patru canale TI (4x24) la
1.554 Mbps sau trei canale CCITT El (3x32) la 2.048 Mbps, fcndu-1 astfel potrivit oriunde n
lume. Un cadru sincron la fiecare 125 de microsecunde consum 6.144 Mbps de band pentru cele
96 de canale cu comutare de circuite. Un maxim de 16 cadre sincrone la fiecare 125 de
microsecunde permite cel mult 1536 canale PGM i consum 98.3 Mbps.
Odat ce o staie a dobndit una sau mai multe cuante de timp ntr-un cadru sincron, acele
cuante i sunt rezervate pn cnd sunt eliberate n mod explicit. Banda total nefolosit de cadrele
sincrone este alocat la cerere. n toate aceste cadre este prezent o masc indicnd cuantele
disponibile pentru alocare la cerere. Traficul nesincron este mprit n clase de prioriti, prioritile
mari findprimele care au acces la banda rmas.
Protocolul MAC FDDI folosete trei contoare de timp. Contorul de timp de reinere a
jetonului (token holding timer) determin ct timp poate continua s transmit o staie dup
ce a dobndit jetonul. Acest contor de timp previne situaia n care staia ar ocupa inelul la
nesfrit Contorul de timp de rotaie a jetonului (token rotation timer) este repornit la fiecare
trecere a jetonului. Dac acest contor de timp expir, nseamn c jetonul nu a fost vzut
pentru un interval prea lung. Probabil c a fost pierdut, astfel nct este iniiat procedura de
recuperare a jetonului, in sfrit, contorul de timp de transmisie corect (valid transmission
timer) este folosit la detectarea i recuperarea unor erori temporare n inel.
FDDI are, de asemenea, un algoritm de prioritate similar cu 802.4. El determin care clas
de prioritate va transmite la o anumit trecere a jetonului. Dac jetonul este n avans fa de
planificare, pot transmite toate clasele de prioritate, dar dac jetonul este n urm, pot
transmite numai clasele de prioritate ridicat.

4.5.2 Ethernet rapid

Se presupunea c FDDI va fi urmtoarea generaie de LAN, dar nu a ptruns mai departe de


piaa coloanelor vertebrale (unde continu s fie utilizat). Administrarea staiilor era prea
complicat, ceea ce a dus la cip-uri complexe i preuri mari. Costul substanial al cip-urilor FDDI i-a
fcut pe productorii de staii de lucru s nu o doreasc s devin reeaua standard, astfel nct nu s-
a trecut la producia de mas i FDDI nu a ptruns puternic pe pia. Lecia care trebuia nvat de
aici era KISS (Keep It Simple, Stupid), adic PLSP (pstreaz lucrurile simple, prostule).
n orice caz, eecul lui FDDI n a se impune a lsat loc unei varieti de LAN-uri la viteze mai
mari de 10 Mbps. Multe instalri necesitau mai mult band i de aceea aveau numeroase LAN-uri
de 10 Mbps conectate printr-un labirint de repetoare, puni, rutere i pori, dei administratorii de
reea aveau cteodat impresia c erau inute la un loc prin gum de mestecat.
n aceste condiii, IEEE a convocat din nou, n 1992, comitetul 802.3 instruindu-1 s proiecteze
un LAN mai rapid. O propunere era s se pstreze 802.3 identic, dar s fie fcut s mearg mai
repede. Alt propunere era ca 802.3 s fie total reproiectat, s i se dea o mulime de noi
caracteristici, cum ar fi trafic n timp real i voce digitizat, dar s i se pstreze vechiul nume (din
motive de marketing). Dup dispute zgomotoase, comitetul a decis s pstreze 802.3 aa cum era,
doar s-1 fac mai rapid. Cei din spatele propunerii respinse au fcut ceea ce ar fi fcut n aceste
SEC. 45 IAN-URI DE MARE VITEZ 299

circumstane oricine,din industria calculatoarelor - au format propriul lor comitet i i-au


standardizat LAN-ul (n cele din urm ca 802.12).
Cele trei motive principale pentru care comitetul .802.3 a decis s mreasc puterea LAN-ului
802.3 au fost urmtoarele:

1. Nevoia de a fi compatibil cu miile de LAN-uri existente din versiunea precedent.


2. Teama c un nou protocol ar avea probleme neprevzute.
3. Dorina de a rezolva problema nainte ca tehnologia s se schimbe.

Reproiectarea s-a fcut repede (dup normele comitetelor de standarde) i rezultatul, 802.3u, a
fost aprobat oficial de IEEE n iunie 1995. Tehnic, 802.3u nu este un standard nou, ci o completare
la standardul-existent (pentru a sublinia compatibilitatea eu versiunea precedent). De vreme ce
toat lumea i spune Ethernet rapid (fast Ethernet), mai degrab dect 802.3u, aa vom face i noi.
Ideeade baz din spatele Ethemet-ului rapid era simpl: pstreaz toate vechile formate de
pachete, interfee i reguli procedurale, n schimb se reduce durata de bit de la 100 nsec la 10 nsec.
Tehnic, ar fi fost posibil s se copieze 10Base-5 sau 10Base-2 i s se detecteze coliziunile la timp
numai prin reducerea lungimii maxime a cablului de zece ori. Totui, avantajele cablrii lOBase-T au
fost att de copleitoare, nct Ethernet-ul rapid se Baseaz n ntregime pe acest mod de cablare.
Astfel toate sistemele Ethernet rapide folosesc concentratoare; nu sunt permise cablurile multipunct
cu conectori vampir sau BNC.
Cu toate acestea, tot mai trebuia luate anumite decizii, cea mai important fiind ce fel de
srm s fie folosit. O alternativ a fost reprezentat de perechi torsadate de categoria 3.
Argumentul era c practic fiecare birou occidental are cel puin patru fire torsadate categoria
3, mergnd de la el la o central telefonic aflat la cel mult 100 m, cteodat existnd chiar
dou asemenea cabluri. Astfel, folosirea perechilor torsadate de categoria 3 ar face posibil
legarea calculatoarelor de birou prin Etherne-ul rapid, fr s fie necesar o recablare a
cldirii, un avantaj enorm pentru multe organizaii.
Dezavantajul principal al firelor torsadate categoria 3 este incapacitatea lor de a purta semnale
de 200 Mbozi (100 Mbps cu codificarea Manchester) pe o distan de 100 m, distana maxim
calculator - concentrator specificat pentru lOBase-T (vezi Fig.4-17). n contrast, cablarea cu fire
torsadate categoria 5 poate s controleze uor 100 de metri, iar fibra merge i mai departe.
Compromisul ales a fost s se permit toate cele trei posibiliti, aa cum se arat n Fig. 4-47, dar s
se mbunteasc soluia cu categoria 3 pentru a i se da capacitatea de transport necesar.

Nume Cablu Segment max. Avantaje


100Base-T4 Fire torsadate 100 m Folosete categoria 3UTP
100Base-TX Fire torsadate 100 m Full duplex la 100 Mbps
100Base-F Fibr optic 2000 m Full dup[ex la 100 Mbps pentru distane mari

;
Fig. 4-47. Cablarea Ethemet-ului rapid.

Schema cu fire categoria 3 UTP, numita 100Base-T4, folosete o vitez de semnalizare de 25


MHz, numai cu 25% mai mare dect cei 20 de MHz ai standardului 802.3 (amintii-v c, dup cum
se arata n Fig. 4-20, codificarea Manchester necesit dou perioade de tact pentru fiecare bit din
300 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

cele 10 milioane n fiecare secund). Pentru a: dobndi banda necesar, lOOBase^ necesit patrii
perechi torsadate. Din moment ce de zeci de ani telefonia standard a folosit patru perechi torsadate
per cablu, cele mai multe dintre birouri pot s se descurce. Bineneles, nseamn abandonarea
telefonului de la birou, dar aceasta este desigur un pre mic pentru un e-mail mai rapid.
Dintre cele patru perechi torsadate, una este ntotdeauna nspre concentrator, una este
ntotdeauna dinspre concentrator, iar celelalte dou sunt comutabile n direcia transmisiei curente.
Pentru a obine banda necesar nu se folosete codificarea Manchester, dar cu ceasurile moderne i
asemenea distane scurte, nici nu este nevoie. n plus, sunt trimise semnale ternare, aa nct n
timpul unei singure perioade de tact firul poate conine un 0, un 1 sau un 2. Cu trei perechi torsadate
mergnd n direcia de transmitere i semnale ternare, oricare din cele 27 de simboluri posibile poate
fi transmis, fcnd posibil, cu o anumit redundan, transmiterea a 4 bii. Transmiterea a patru bii
n fiecare din cele 25 de milioane de perioade de tact pe secund d cei 100 Mbps necesari. n plus,
ntodeauna exist un canal invers de 33.3 Mbps care folosete perechea torsadat rmas. Aceast
schem, cunoscut ca 8B(7T (8 bii reprezint 6 trii), nu va ctiga premii pentru elegan, dar
funcioneaz cu cablarea existent.
Pentru cablajul categoria 5, arhitectura, lOOBase-TX, este mai simpl deoarece cablul
poate suporta frecvene de pn la 125 MHz i peste. Sunt folosite numai dou fire torsadate
pe direcie, unul mergnd la concentrator i unul venind de la concentrator. Mai degrab dect
s se foloseasc o codificare binar direct, la 125 MHz este folosit o schem numit 4B5B.
Fiecare grup de cinci perioade de tact este folosit pentru a trimite 4 bii, urmrind s asigure
redundana, s furnizeze suficiente tranziii pentru a permite o sincronizare simpl a
ceasurilor, s creeze abloane unice pentru delimitarea cadrelor i s fie compatibil cu FDDI
la nivelul fizic. n consecin, lOOBase-TX este un sistem full-duplex; staiile pot transmite la
100 Mbps i primi la 100 Mbps n acelai timp. n plus, poi avea dou telefoane n birou
pentru comunicaii adevrate n cazul n care calculatorul este ocupat cu navigarea pe Web.
Ultima opiune, lOOBase-FX, folosete dou fire de fibr multimod, cte unul pentru fiecare
direcie, aa nct i ea este full-duplex cu 100 Mbps n fiecare direcie. n plus, distana dintre staie
i concentrator poate fi pn la 2 km.
n cazurile 100Base-T4 i lOOBase-TX sunt posibile dou tipuri de concentratoare, reunite sub
numele lOOBase-T. ntr-un concentrator partajat, toate liniile care intra (sau cel puin toate liniile
care ajung la o plac "plug-n") sunt conectate logic, formnd un singur domeniu de coliziuni. Toate
regulile standard, inclusiv algoritmul de regresie binar n caz de coliziune (binary back-off), se
aplic, astfel nct sistemul funcioneaz ca 802.3. n particular, la un moment dat nu poate transmite
dect o singur staie.
ntr-un concentrator comutat, fiecare cadru sosit este memorat ntr-un modul de intrare. Dei
aceast caracteristic crete preul concentratorului, are proprietatea c toate staiile pot transmite
(i primi) n acelai timp, mbuntind semnificativ banda total a sistemului, de cele mai multe ori
cu un ordin de mrime sau chiar mai mult. Cadrele memorate sunt trecute printr-un fund de sertar
de vitez mare de la placa surs la placa destinaie. Fundul de sertar nu a fost standardizat i nici nu
trebuie s fie, din moment ce este ascuns adnc n interiorul comutatorului. Dac ne putem ghida
dup experiena trecut, comercianii de comutatoare se vor ntrece serios pentru a produce funduri
de sertar de i mai mare vitez, pentru a mbunti productivitatea sistemului. Deoarece cablurile
lOOBase-FX sunt prea lungi pentru algoritmul Ethernet de coliziune obinuit, ele trebuie conectate
SEC. 4.5 LAN-URI DE MARE VITEZ 301

la concentratoare de tip comutatoare cu memorie tampon, astfel c fiecare este un domeniu de


coliziune cu el nsui.
Ca o observaie final, aproape,toate comutatoarele pot trata un amestec de staii de 100 Mbps i
10 Mbps, pentru a face modernizarea mai uoar. Pe msur ce o reea dobndete tot mai multe
staii de lucru de 100 Mbps, tot ceea ce trebuie fcut este s se cumpere necesarul de module
standard care s fie inserate n comutator.
Mai multe informaii despre Ethemet-ulrapid pot fi gsite n (Johnson, 1996). Pentru o
comparaie a reelelor locale de mare vitez, n particular, FDDI, Ethernetul rapid, ATM i VG-
AnyLAN, vezi (Croninet al., 1994).

4.53 HIPPI- Interfaa paralel de mare vitez

n timpul rzboiului rece, Laboratorul Naional Los Alamos, centrul guvernamental al SUA de
proiectare a armelor nucleare, a achiziionat cte un supercalculator din fiecare tip aflat pe pia.
Los Alamos a achiziionat de asemenea periferice deosebite, cum ar fi dispozitive de stocare de
mare capacitate i staii grafice speciale pentru vizualizare tiinific.
La momentul respectiv, fiecare productor avea o interfa diferit pentru conectarea
perifericelor la supercalculatorul su, astfel nct nu a fost posibil s se partajeze perifericele sau s
se interconecteze dou supercalculatoare.
n 1987, cercettorii de la Los Alamos au nceput lucrul la o interfa standard ntre
supercalculatoare, cu intenia de a o standardiza i de a convinge apoi toi productorii s o
foloseasc. (Datorit bugetului su pentru calculatoare, cnd Los Alamos vorbea, productorii
ascultau.) Interfaa i propunea s fie implementat rapid i eficient de oricine. Principiul de baz
era KISS (Keep It Simple, Stupid). Interfaa nu urma s aib opiuni nici s necesite proiectarea
unor noi cip-uri, dar s aib performanele unui furtun de pompieri.
Specificaiile iniiale cereau o rat de transfer de 800 Mbps, ntruct pentru urmrirea filmelor cu
bombe explodnd era nevoie de cadre de 1024x1024 pixeli cu 24 de bii pe pixel i 30 de cadre pe
secund, pentru o rat de transfer agregat de 750 Mbps. Mai trziu s-a strecurat o opiune: o a
dou rat de transfer de 1600 Mbps. Cnd aceast propunere, denumit HIPPr(HIgh Performance
Paralled Interface - interfaa paralel de mare vitez) a fost oferit la ANSI pentru standardizare,
cei care au propus-o au fost privii ca o band de nebuni, deoarece LAN-urile din anii '80 nsemnau
Ethernet-uri de 10 Mbps.
HIPPI a fost proiectat iniial pentru a fi mal degrab un canal de transfer de date dect un LAN.
Canalele de transfer opereaz punct-la-punct, de la un mater (un calculator) la un slave (un
periferic), cu cabluri dedicate i fr comutare. Nu apar conflicte i funcionarea este n ntregime
previzibil. Mai trziu, nevoia de a comuta un echipament periferic de la un supercalculator la altul a
devenit presant i astfel la proiectul HIPPI a fost adugat un comutator matricial, dup cum este
ilustrat n Fig. 4-48. ' '
Pentru a obine asemenea performane ridicate folosind numai cipuri standard existente,
interfaa de baz a fost fcut de 50 de bii; 32 de bii de date i 18 bii de control, astfel nct cablul
HIPPI conine 50 de fire torsadate. La fiecare 40 nsec prin interfa este transferat, n paralel, un
cuvnt. Pentru a obine 1600 Mbps, sunt folosite dou cabluri i se transfer dou cuvinte pe ciclu.
Toate transferurile sunt simplex. Pentru a obine comunicaie n ambele sensuri, este nevoie de dou
(sau patru) cabluri. La aceste viteze, lungimea maxim a cablului este de 25 de metri.
302 SUBNIVELUL DE ACCES IA MEDIU CAP/4

Memorie
de mare
capacitate

Super-
calculator
2 comuta-
tor
matricial
Super- 4x4
calculator

Super-
calculator
4 50 pn la 100
de perechi torsadate

Fig.4-48. HIPPI folosind un comutator matricial.

Dup ce a depit ocul iniial, comitetul ANSI X3T9.3 a produs un standard HIPPI bazat pe
propunerea de la Los Alamos. Standardul acoper nivelul fizic i nivelul legtur de date. Tot ce este
deasupra depinde de utilizatori. Protocolul de baz este urmtorul: pentru a comunica, o gazd i
cere mai nti comutatorului matricial s stabileasc o legtur; dup aceea trimite (de obicei) un
singur mesaj i elibereaz legtura.
Mesajele sunt structurate ntr-un cuvnt de control, un antet de cel mult 1016 bii i o parte de
date de pn la 2 32 - 2 octei. Din motive legate de controlul fluxului, mesajele sunt mprite n
cadre de cte 256 de cuvinte. Atunci cnd receptorul este capabil s accepte un cadru, atenioneaz
emitorul, care apoi trimite un cadru. De asemenea receptorii pot s cear cadre multiple.
Controlul erorilor const dintr-un bit paritate orizontal pe cuvnt i un cuvnt de paritate vertical
la sfritul fiecrui cadru. Sumele de control tradiionale sunt privite ca inutile i prea lente.
HIPPI a fost implementat rapid de muli productori i a fost standardul de interconectare a
supercalculatoarelor timp de ani de zile. Pentru mai multe informaii, vezi (Hughes i Frana, 1994;
Tolmie, 1992; i Tolmie i Renwick, 1993).

4.5.4 Canalul de fibr optic

Atunci cnd a fost proiectat HIPPI, fibra optic era prea costisitoare i nu era considerat
suficient de sigur, astfel c cel mai rapkl LAN era construit din fire de telefon de calitate sczut.
Cu trecerea timpului, fibra a devenit mai ieftin i mai sigur, fiind natural ncercarea de a reface
HIPPI folosind o singur fibr n loc de 50 sau 100 de fire torsadate. Din nefericire, bunul obicei ca
Los Alamos s analizeze propunerile noi de ndat ce se iveau, se pierduse pe drum. Succesorul lui
HIPPI, numit canal de fibr optic, este mult mai complicat i mai costisitor de implementat.
Rmne de vzut dac acesta se va bucura de succesul comercial al HIPPI.
Canalul de fibr trateaz att canale de transfer de date, ct i legturi de reea. n particular,
poate fi folosit pentru a transporta canale de transfer de date incluznd HIPPI, SCSI i canalul
SEC.4.6 REELE DE SATELII 303

multiplexor folosit pe mainframe-urile IBM. Poate de asemenea s transfere pachete de reea,


incluznd IEEE 802, IP i ATM. Ca la HIPPI, structura de baz a canalului de fibre este un
comutator matricial care conecteaz intrrile la ieiri. Legturile pot fi stabilite pentru un pachet sau
pentru un interval mult mai lung.
Canalele de fibre suport trei dasede servicii. Prima clas este simpla comutare de circuite, care
garanteaz livrarea n ordine. Lucrul n mod canal de date folosete aceast clas de servicii. A dou
clas este comutarea de pachete cu livrare garantat. A" treia clas este comutarea de pachete fr
livrare garantat.
Canalul de fibr are o structur de protocol complexa, dup cum se arat n Fig. 4-49. Se pot
observa cinci niveluri care acoper nivelul fizic i cel al legturii de date. Cel mai de jos nivel se
ocup cu mediul fizic. Deocamdat, suport rate de transfer de 100,200,400 i 800 Mbps. Cel de-al
doilea nivel se ocup de codificarea biilor. Sistemul folosit se aseamn ntructva cu FDDI, dar n
loc de a folosi 5 bii pentru codificarea a 16 simboluri valide, sunt folosii 10 bii pentru a codifica 256
de simboluri valide, furniznd i o oarecare redundan. mpreun, aceste dou nivele sunt
funcional echivalente nivelului fizic al OSI.

Nivel Canale de date Reele

FC-4 HIPPI IBM SCSI 802 IP ATM


Nivel
FC-3 Servicii obinuite ["legtur
de date
FC-2 Protocol de cadru

FC-1 8/10 Codificare/Decodificare


I Nivel
100 200 400 800 .[ fizic
FC-0 Mbps Mbps Mbps Mbps Viitor

Fig. 4-49. Nivelurile de protocol ale canalului de fibr.

Nivelul de mijloc definete structura cadrului i formatele antetului. Datele sunt transmise n
cadre a cror parte util poate fi de pn la 2048 octei. Nivelul urmtor permite ca serviciile
obinuite s fie oferite n viitor nivelului superior, dup cerin. n sfrit, nivelul cel mai de sus
asigur interfeele cu diferite tipuri de calculatoare i periferice admise. Ca observaie, dei canalul
de fibr a fost proiectat n Statele Unite, ortografia numelui su a fost aleas de editorul standului,
care era britanic.
Informaii suplimentare despre canalul de fibre se gsesc n (Tolmie, 1992). O comparaie ntre
acesta HIPPI i ATM este prezentat n (Tolmie, 1995).

4.6 REELE DE SATELII

Dei majoritatea canalelor de acces multiplu se gsesc n LAN-uri, exist un tip de WAN care
folosete canale de acces multiplu: WAN-uri bazate pe comunicaii prin satelii. n seciunile
urmtoare, vom studia pe scurt unele dintre problemele care apar n cadrul reelelor cu ntindere
304 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

mare bazate pe satelii. De asemenea ne vom ocupa de unele dintre protocoalele care au fost create
pentru a le trata.
Sateliii de comunicaii au de obicei n jur de dousprezece sau mai multe transpondere. Fiecare
transponder are un fascicul care acoper o poriune din pmntul de dedesubt, variind de la un
fascicul larg cu diametrul de 10 000 km, la un fascicul localizat cu diametrul de numai 250 km.
Staiile din interiorul suprafeei acoperite de fascicul pot trimite cadre satelitului pe frecvena de
ridicare. Satelitul le retransmite apoi pe frecvena de coborre. Pentru ridicare i coborre se
folosesc frecvene diferite pentru a mpiedica transponderul s intre n oscilaie. Sateliii care nu fac
prelucrare local, ci doar amplific i retransmit orice aud (cei mai muli dintre ei) se numesc satelii
de tip conduct cotit (bent pipe).
Fiecare anten se poate orienta ctre o anumit suprafa, poate transmite cteva cadre, i apoi
reorienta ctre alt suprafa. Poziionarea (orientarea) se face electronic, dar tot dureaz un numr
de microsecunde. Timpul n care un fascicul st poziionat pe o suprafa dat se numete timp de
staionare (dwell time). Pentru eficien maxim, acesta nu trebuie s fie prea scurt, pentru c altfel
s-ar pierde prea mult timp cu mutarea fasciculului.
La fel ca i n cazul LAN-urilor, una dintre problemele cheie de proiectare este cum s fie
alocate canalele transponderelor. Totui, spre deosebire de LAN-uri, detectarea purttoarei este
imposibil, datorit unei ntrzieri de propagare de 270 msec. Cnd o staie detecteaz starea unui
canal de coborre, aude ce s-a ntmplat cu 270 msec n urm. Detectarea unui canal de ridicare este
n general imposibil. Drept rezultat, protocoalele CSMA/CD (care presupun c o staie care
transmite poate detecta coliziunile pe durata primilor bii transmii i apoi s se retrag dac are loc
o coliziune) nu pot fi folosite n cazul sateliilor. De aici nevoia de alte protocoale.
Pe canalul de acces multiplu (ridicare) sunt folosite cinci clase de protocoale: interogare,
ALOHA, FDM, TDM i CDMA. Dei le-am studiat pe fiecare dintre acestea, funcionarea
sateliilor adaug cteodat noi dificulti. Problema principal este cu canalul de ridicare,
deoarece canalul de coborre nu are dect un expeditor (satelitul) i nu are probleme de
alocare a canalului.

4.6.1 Interogare

Modul tradiional de a aloca un singur canal ntre utilizatori concureni utilizeaz interogarea
acestora. Este prohibitiv de costisitor ca satelitul s interogheze pe rnd fiecare staie pentru a vedea
dac are un cadru, din cauza timpului de 270 msec necesar pentru fiecare secven
ntrebare/rspuns.
Totui, dac toate staiile de la sol sunt legate la o reea de comutare de pachete (n mod obinuit
de band ngust), se poate concepe o variant a acestei idei. Ideea este s se aranjeze toate staiile
ntr-un inel logic, astfel nct fiecare staie s-i cunoasc succesorul. Prin acest inel terestru circul
un jeton, pe care satelitul nu l vede niciodat. Unei staii i este permis s transmit pe ridicare
numai atunci cnd a capturat jetonul. Dac numrul staiilor este mic i constant, dac timpul de
transmitere al jetonului este scurt i dac rafalele de date transmise pe canalul de ridicare sunt mult
mai lungi dect timpul de rotaie a jetonului, schema are o eficien moderat.
SEG.4.6 REELE DE SATELII 305

4.6.2 ALOHA

ALOHA simplu se implementeaz uor: fiecare staie transmite atunci cnd vrea.
Problema este c eficiena canalului nu se ridic peste 18%. n general, un asemenea factor de
utilizare redus este inacceptabil pentru satelii care cost zeci de milioane de dolari fiecare.

Satelit \ / Satelit \ /
/ ///////l/J/ v
W
J
//////////// (fv^^
///////// ffj

Un canal Dou canale


de de
coborre ridicare

Fig. 4-50. (a) Un sistem ALOHA standard,


(b) Adugarea unui al doilea canal de ridicare

Folosind ALOHA cuantificat, se dubleaz eficiena, dar apare problema sincronizrii tuturor
staiilor, pentru ca toate s tie cnd ncepe fiecare cuant de timp. Din fericire, chiar satelitul are
rspunsul, din moment ce este implicit un mediu de difuzare. O staie terestr, staia de referin,
transmite periodic un semnal special, a crui redifuzare este folosit de toate staiile terestre ca
origine a timpului. Dac toate cuantele de timp au lungimea AT, fiecare staie tie acum c cuanta
de timp k ncepe la un interval kAT de la originea timpului. Deoarece ceasurile merg puin diferit,
este necesar resincronizarea periodic, pentru a menine toate staiile n faz. O complicaie n plus
este c timpul de propagare de la satelit este diferit pentru fiecare staie terestr, dar aceasta se
poate corecta.
Pentru a mri utilizarea canalului de ridicare peste l/e, putem s trecem de la canalul cu un
singur flux de ridicare din Fig. 4-50(a) la schema cu dou fluxuri de ridicare din
Fig. 4-50 (b). O staie care are un cadru de transmis alege la ntmplare unul dintre cele dou canale
de ridicare i trimite cadrul n urmtorul interval. Fiecare canal de ridicare opereaz apoi un canal
;
ALOHA cuantificat independent.
Dac unul dintre canalele de ridicare conine un singur cadru, acesta este pur i simplu transmis
n cuanta de coborre corespunztoare mai trziu. Dac amndou canalele au succes, satelitul
poate s memoreze unul dintre cadre, transmindu-1 mai trziu n timpul unei cuante libere.
Calculnd probabilitile, se poate arta c, dat fiind un spaiu de memorare nelimitat, utilizarea
coborrii poate fi adus la 0.736, cu condiia mririi cu 50% a necesitilor de band.
306 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

4.6.3 FDM

Multiplexarea prin divizarea frecvenei este cea mai veche i probabil nc cea mi folosit
metod de alocare a canalelor. Un transponder de 36-Mbps poate fi mprit static if 500
canale PCM de 64Kbps, fiecare opernd la frecvena sa unic, pentru a evita interferena cu
altele.
Dei simpl, FDM are anumite dezavantaje. n primul rnd, este nevoie de benzi de gard ntre
canale pentru a menine staiile separate. Aceast cerin exist pentru c nu este posibil
construirea unor emitori care emit toat energia n banda principal i nimic n benzile
laterale/secundare. Cantitatea de band risipit n benzile de gard poate reprezenta o fraciune
important din total.
n al doilea rnd, staiile trebuie controlate cu grij n ceea ce privete puterea semnalului de
ieire. Dac o staie emite putere prea mare n banda principal, va pune automat prea mult putere
n benzile secundare, revrsndu-se peste canalele adiacente i cauznd interferene. n sfrit, FDM
este n ntregime o tehnic analogic i nu este adecvat implementrii n software.
Dac numrul de staii este mic i fixat, canalele de frecven pot fi alocate static n avans. Totui,
dac numrul de staii sau ncrcarea pe fiecare dintre acestea poate fluctua rapid, este nevoie de o
form de alocare dinamic a benzilor de frecven. Un asemenea mecanism este sistemul SPADE
folosit pe civa satelii Intelsat timpurii. Fiecare transponder SPADE a fost mprit n 794 canale
de voce PCM mai simple (64-kbps) mpreun cu un canal obinuit de semnalizare, de 128-kbps.
Canalele PCM erau folosite n perechi pentru a oferi serviciu full-duplex. Banda total folosit de un
transponder era de 50 Mbps pentru poriunea de ridicare i de nc 50 Mbps pentru coborre.
Canalul obinuit de semnalizare era mprit n uniti de 50 msec. O unitate coninea 50 de
cuante de 1 msec (128 bii). Fiecare cuant "aparinea" cel mult uneia dintre cele 50 de staii
terestre. Cnd o staie terestr avea informaie de trimis, alegea la ntmplare un canal curent
nefolosit i scria numrul acelui canal n urmtoarea cuant de 128 de bii. n cazul n care canalul
selectat era n continuare nefolosit atunci cnd cererea era vzut pe coborre, canalul era
considerat alocat i toate celelalte staii se abineau de la a ncerca s-1 dobndeasc. Dac dou sau
mai multe staii ncercau s aloce acelai canal n acelai cadru, se producea o coliziune i trebuia s
ncerce din nou mai trziu. Atunci cnd o staie termina de folosit canalul, trimitea un mesaj de
eliberare a cuantei sale din canalul comun.

4.6.4 TDM

La fel ca FDM, TDM este bine neles i larg folosit n practic. Necesit sincronizarea cuantelor
de timp, dar aceasta poate fi oferit de o staie de referin, dup cum este descris pentru ALOHA
cuantificat de mai sus. Asemntor cu FDM, pentru un numr de staii mic i care nu variaz,
atribuirea cuantelor poate fi stabilit n avans i niciodat schimbat, dar pentru un numr variabil
de staii sau pentru un numr fixat de staii cu ncrcare variabil n timp, cuantele de timp trebuie
atribuite dinamic.
Atribuirea cuantelor se poate face n mod centralizat sau descentralizat. Ca exemplu de atribuire
centralizat de cuante, s considerm ACTS-ul experimental (Advanced Communication Tecnology
Satellite - Satelitul cu tehnologie avansat de comunicare), care a fost proiectat pentru cteva zeci de
staii (Palmer i White, 1990). ACTS a fost lansat n 1992 i are patru canale TDM independente de
SEC. 4.6 REELE DE SATELIT! 307

110 Mbps, dou de ridicare i dou de coborre. Fiecare canal este organizat ca o secven de cadre
de 1-msec, fiecare cadru coninnd 1728 cuante de timp. Fiecare cuant de timp are partea util de
64 bii, permind includerea unui canal de voce de 64 Kbps.
Fasciculele pot fi mutate de la o suprafa geografic la alta, dar din moment ce mutarea
consum cteva cuante de timp, n mod normal canalelor care au originea sau se termin n aceeai
arie geografic le sunt atribuite cuante de timp succesive, pentru a mri timpul de staionare i a
micora pierderea de timp datorat mutrii fasciculului. Astfel gestionarea cuantelor de timp
necesit o cunoatere n profunzime a amplasrii geografice a staiilor pentru a minimiza numrul
de cuante de timp risipite. Pentru acest motiv i pentru altele, gestiunea cuantelor de timp se face de
ctre una dintre staiile terestre, MCS (Mater Control Station - staia de control principal).
Funcionarea ACTS este un proces continuu n trei pai, fiecare pas lund 1 msec. n pasul 1,
satelitul primete un cadru i fl stocheaz ntr-un RAM cu 1728 intrri, aflat la bordul satelitului. n
pasul 2, un calculator (aflat la bord) copiaz fiecare intrare la ieirea corespunztoare (posibil pentru
o alt anten). n pasul 3, cadrul de ieire este transmis pe coborre.
Iniial, fiecrei staii i este atribuit cel puin o cuant de timp. Pentru a dobndi canale
suplimentare (pentru alte apeluri de voce), o staie trimite un scurt mesaj de cerere la MCS.
Aceste mesaje folosesc un numr mic de bii suplimentari i ofer un canal de control special
la MCS cu o capacitate de aproximativ 13 mesaje/sec pe staie. Canalele sunt dedicate; nu
exist dispute pentru ele.
Alocarea dinamic de cuante TDM este de asemenea posibil. n cele ce urmeaz vom discuta
trei scheme. n fiecare dintre acestea, cadrele TDM sunt mprite n cuante de timp, cu fiecare
cuant avnd un posesor (temporar). Cuanta de timp poate fi folosit numai de posesor.
Prima schem presupune c exist mai multe cuante dect staii, astfel nct fiecrei staii i
este atribuit o cuant implicit (Binder, 1975). Dac sunt mai multe cuante dect staii,
cuantele suplimentare nu sunt asociate nimnui. Dac posesorul unei cuante nu o dorete pe
durata ciclului curent, trece n ateptare. O cuant fr nimic este un semnal pentru toi
ceilali c posesorul ei nu are trafic. n timpul cadrului urmtor, cuanta devine disponibil
oricui o vrea, pe baz de concuren (ALOHA).

Proprietar G A F E B C D Subsloturi de rezervare

Grupi G A F B C D A F c G D E
m

Grup 2 G A
i B C D B A G D E
m

Grup 3 G A A E A A G D
m
ffi

Grup 4 G A
i E B B A A D D
m

(a) (b) (O

Fig. 4-51. Scheme de rezervare, (a) Binder, (b) Crowther. (c) Roberts.
Ptrelele umbrite indic coliziuni. Pentru fiecare dintre cele trei scheme,
sunt artate patru grupuri consecutive de cuante.
308 SUBNIVELUL DE ACCES LA MEDIU CAP. 4;

Dac posesorul dorete s-i recupereze cuanta sa "implicit", trimite un cadru, fornd astfelo
coliziune (dac mai exist trafic). Dup coliziune, orice staie n afar de posesor trebuie s renune
s foloseasc cuanta n urmtorul cadru. Astfel posesorul poate ntotdeauna s nceap transmisia
ntr-un interval de dou cadre (n cel mai ru caz). La utilizare redus a canalelor sistemul nu are
performane la fel de bune ca ALOHA cuantificat normal din moment ce, dup fiecare coliziune,
staiile intrate n coliziune trebuie s se abin de la un cadru pentru a vedea dac posesorul vrea
cuanta napoi. Fig. 4-51(a) prezint un cadru cu opt cuante, dintre care apte sunt deinute de G, A,
F, E, B, C i, respectiv, D. Cea de-a opta cuant nu aparine nimnui i poate fi disputat.
O a doua schem este aplicabil, chiar dac numrul staiilor este necunoscut i este variabil
(Crowther .a., 1973). n aceast metod, cuantele nu au posesori permaneni, spre deosebire de
metoda lui Binder. n schimb, staiile concureaz pentru cuante folosind ALOHA cuantificat. De
cte ori o transmisie este reuit, staia care a fcut-o are dreptul la aceeai cuant i n urmtorul
cadru. Astfel, ct timp o staie are de trimis informaie, poate s o fac la nesfrit (supus unor
reguli tip Te-rog-nu-fii-mgar). n esen propunerea permite un amestec dinamic de ALOHA
cuantificat i TDM, cu numrul cuantelor atribuite fiecreia variind la cerere. Fig. 4-51(b) prezint
un cadru cu opt cuante. Iniial, E folosete ultima cuant, dar dup dou cadre, nu mai are nevoie de
aceasta. Trece n ateptare timp de un cadru, apoi D o culege i o pstreaz pn cnd termin.
O a treia schem, datorat lui Roberts (1973), impune ca staiile s fac cereri n avans,
nainte de a transmite. Fiecare cadru conine, s zicem, o cuant special (ultima din
Fig. 4-5 l(c)) care este mprit n V subcuante mai mici, folosite pentru a face rezervri.
Atunci cnd o staie vrea s trimit date, emite un scurt cadru de cerere ntr-o subcuant de
rezervare aleas la ntmplare. Dac rezervarea este reuit (adic nu au loc coliziuni), atunci
este rezervat urmtoarea cuant (sau cuante) obinuit. Toate staiile trebuie s in n
permanen evidena lungimii cozii (numrul de cuante rezervate), astfel ca, atunci cnd orice
staie face o rezervare reuit, s tie peste cte cuante trebuie s sar nainte de a transmite.
Staiile nu trebuie s in evidena celor aflai n coad; trebuie s cunoasc doar lungimea
cozii. Atunci cnd lungimea cozii scade la 0, toate cuantele se transform n subcuantele de
rezervare pentru a mri viteza procesului de rezervare.
Dei TDM este larg folosit, cu i fr schemele de rezervare, are i el unele defecte. n primul
rnd impune ca toate staiile s fie sincronizate n timp, ceea ce nu este aa de uor n practic din
cauz c sateliii au tendina de a aluneca pe orbit, ceea ce schimb timpul de propagare la fiecare
staie terestr. De asemenea necesit ca fiecare staie terestr s fie capabil de viteze rafal foarte
mari. De exemplu, chiar dac o staie ACTS poate avea numai un canal de 64 Kbps, ea trebuie s fie
capabil s emit o rafal de 64 bii ntr-o cuant de timp de 578 nsec. Cu alte cuvinte, trebuie de
fapt s opereze la 110 Mbps. n schimb, o staie FDM de 64 Kbps opereaz ntr-adevr la 64 Kbps.

4.6.5 CDMA

Ultima schem este CDMA. CDMA evit problema sincronizrii n timp i cea a alocrii
canalelor. Este complet descentralizat i n ntregime dinamic.
Totui, are trei dezavantaje principale. n primul rnd, capacitatea unui canal n prezena
zgomotelor i a staiilor necoordonate este n mod obinuit mai mic dect ce poate realiza TDM. n
al doilea rnd, cu 128 cipuri/bit (o valoare obinuit), dei rata de transfer nu este mare, rata de
cipuri este mare, necesitnd un emitor rapid i scump (la citire). n al treilea rnd, puini ingineri
SEC. 4.7 REZUMAT 309

neleg de faptCMDA, ceea ce n general nu crete ansele ca ei s-1 foloseasc, chiar dac este cea
mai bun metod pentru o anumit aplicaie. Cu toate acestea, CDMA a fost folosit de armat zeci
de ani i acum devine din ce n ce mai obinuit i n aplicaiile comerciale.

4.7 REZUMAT

Anumite reele au un singur canal care este folosit pentru toate comunicaiile. n aceste
reele, principala problem de proiectare este alocarea acestui canal ntre staiile concurente
care doresc s l foloseasc. Au fost pui la punct numeroi algoritmi de alocare a canalului.
Un rezumat al unora dintre cele mai importante metode de alocare a canalului este prezentat
nFig.4-52.

Metod Descriere
FDM Dedic o band de frecven fiecrei staii
TDM Dedic o cuant de timp fiecrei staii
ALOHA pur Transmisie nesincronizat n orice moment
ALOHA cuantificat Transmisie aleatoare n cuante de timp bine definite
CSMA1-persistent Acces multiplu standard cu detectarea purttoarei
CSMA nepersistent ntrziere aleatoare cnd canalul este ocupat
CSMA p-persistent CSMA cu probabilitatea de persisten p
CSMA/CD CSMA cu oprire n cazul detectrii unei coliziuni
Hart de bii (bit map) Utilizeaz o hart de bii pentru planificare de tip rulare prin rotaie
Numrare binar invers Urmtoarea este staia pregtit cu cel mai mare numr
Parcurgere arborescent Reduce conflictele prin activare selectiv
Divizarea lungimii de und Schem FDM dinamic pentru fibre optice
MACA, MACAW Protocoale LAN fr fir
GSM FDM plus TDM pentru telefonie celular
CDPD Comutare de pachete radio ntr-un canal AMPS
CDMA Toi vorbesc n acelai timp, dar n limbaj diferit
Ethernet CSMA/CD cu algoritm cu regresie exponenial binar
Token-bus Inel logic pe o magistral fizic
Token-rihg Trimite un cadru dup primirea jetonului
DQDB MAN cu dou magistrale utiliznd cozi distribuite de mesaje
FDDI Token-ring pe fibr optic
HIPPI Comutator matricial care utilizeaz 50 -100 de perechi torsadate
Canal de fibr Comutator matricial folosind fibr optic
SPADE FDM cu alocare dinamic a canalului
ACTS TDN cu alocarea centralizat a cuantelor
Binder TDM cu ALOHA cnd deintorul cuantei nu este interesat
Crowther ALOHA cnd deintorul cuantei o pstreaz
Roberts Rezervarea n avans a canalului prin ALOHA

Fig. 4-52. Metode i sisteme de alocare a canalului pentru un canal obinuit.

Cele mai simple scheme de alocare sunt FDM i TDM. Acestea sunt eficiente atunci cnd
numrul de staii este mic iar traficul continuu. Amndou sunt larg folosite n aceste condiii, de
exemplu pentru a diviza banda de legtur utilizat pentru trunchiuri telefonice.
310 SUBNIVELUL DE ACCES LA MEDIU CAP. 4

Dac numrul staiilor este mare i variabil, iar traficul de tip rafal, atunci FDM i DM
nu sunt alegeri bune. Ca alternativ a fost propus protocolul ALOHA, cu sau fr cuantificare
i control. ALOHA i numeroasele sale variante i derivate a fost pe larg discutat, analizat i
folosit n sisteme reale.
Atunci cnd starea canalului poate fi detectat, staiile pot evita nceperea unei transmisii ct
timp transmite alt staie. Aceast tehnic, detectarea purttoarei, a condus la o diversitate de
protocoale care pot fi folosite pe LAN-uri i MAN-uri.
Exist o clas de protocoale care elimin total conflictele, sau cel puin le reduce considerabil.
Numrarea binar invers elimin complet conflictele. Protocolul de parcurgere arborescent le
reduce mprind dinamic staiile n dou grupuri disjuncte, unuia permindu-i-se s transmit iar
celuilalt nu. Acesta ncearc s fac mprirea astfel, nct transmisia s-i fie permis unei singure
staii dintre cele pregtite s trimit.
LAN-urile fr fir au propriile lor probleme i soluii. Cea mai mare problem este cauzat de
staii ascunse, astfel nct CSMA nu funcioneaz. O clas de soluii, tipizat de MACA,
intenioneaz s stimuleze transmisiile n jurul destinaiei, pentru a mbunti funcionarea CSMA.
Pentru calculatoare i telefoane mobile, tehnologia radio celular vine din urm. GSM, CDPD i
CDMA sunt larg folosite.
LAN-urile IEEE 802 sunt: CSMA/CD, token-bus i token-ring. Fiecare dintre acestea are
propriile sale avantaje i dezavantaje, fiecare i-a gsit propria sa comunitate de utilizatori i
probabil va continua s serveasc acea comunitate i n viitor. Convergena la un singur standard
LAN este un eveniment improbabil. O nou adugare la aceast familie este DQDB, vndut ca
MAN n multe orae.
O organizaie cu multe LAN-uri le conecteaz deseori prin puni. Atunci cnd o punte
conecteaz dou sau mai multe tipuri de LAN-uri, apar noi probleme, dintre care unele
nerezolvabile.
n timp ce 802 sunt caii de traciune ai zilei, caii de curse sunt FDDI, Ethernet-ul rapid, HIPPI i
canalul de fibre. Toate acestea ofer band n domeniul de 100 Mbps i peste.
n sfrit, reelele de satelii folosesc de asemenea canale de acces multiplu (pentru
ridicare). n acest caz se utilizeaz diferite metode de alocare a canalului, incluznd ALOHA,
FDM, TDM i CDMA.

4.8 PROBLEME

1. Un grup de N staii folosesc n comun un canal ALOHA pur de 56 Kbps. Fiecare staie emite n
medie un cadru de 1000 de bii la fiecare 100 sec, chiar dac cel precedent nu a fost nc trimis
(de exemplu, staiile folosesc zone tampon). Care este valoarea maxim a lui N?

2. Comparai ntrzierea unui canal ALOHA pur cu aceea a unui canal ALOHA cuantificat la
ncrcare mic. Care dintre ele este mai mic? Motivai rspunsul.

3. Zece mii de staii de rezervare a biletelor de avion concureaz pentru folosirea unui singur canal
ALOHA cuantificat. O staie obinuit face 18 cereri/or. O cuant este de 125 usec. Care este
ncrcarea total aproximativ a canalului?
SEG.4.8 PROBLEME 311

4 . 0 populaie mare de utilizatori ALOHA genereaz 50 cereri/sec, inclusiv originalele i


retransmisiile. Timpul este cuantificat n uniti de 40 msec.
Care este ansa de succes a primei ncercri?
Care este probabilitatea unui numr de exact k coliziuni urmate de un succes?
Cte ncercri de transmisie ne ateptm s fie necesare?

5. Msurtorile fcute asupra unui canal ALOHA cuantificat, cu un numr infinit de utilizatori,
arat ca 10% din cuante sunt nefolosite.
, a) Care este ncrcarea canalului^ G?
b) Care este productivitatea?
c) Canalul este subhcrcat sau suprancrcat?

6. ntr-un sistem cuantificat ALOHA cu o populaie infinit, numrul mediu de cuante pe care o
staie le ateapt ntre o coliziune i retransmisia ei, este 4. Reprezentai curba ntrzierii n
funcie de productivitate, pentru acest sistem.

7. Un LAN folosete versiunea lui Mpk i Ward pentru numrtoarea invers binar. La un
anumit moment, cele zece staii au numerele virtuale de staie 8, 2, 4, 5, 1, 7, 3, 6, 9 i 0.
Urmtoarele trei staii care trebuie s emit sunt 4, 3 i 9, n aceast ordine. Care sunt noile
numere virtuale de staie dup ce toate cele trei i-au terminat transmisiile?

8. aisprezece staii concureaz pentru folosirea unui canal comun folosind protocolul cu
parcurgere arborescent adaptiv. Dac toate staiile ale cror adrese sunt numere prime devin
brusc simultan disponibile, cte intervale de bit sunt necesare pentru a rezolva conflictul?

9. O colecie de 2n staii folosesc protocolul cu parcurgere arborescent adaptiv pentru a arbitra


accesul la un cablu comun. La un moment dat, dou dintre ele devin disponibile. Care este
numrul minim, maxim i mediu de cuante pentru a parcurge arborele
dac2n>>l?

10. LAN-urile fr fir pe care le-am studiat foloseau protocoale ca MACA n loc de CSMA/CD. n
ce condiii ar fi posibil s foloseasc CSMA/CD?

11. Care sunt caracteristicile comune ale protocoalelor de acces la canal WDMA i GSM?

12. Folosind structura de cadru GSM dat n figura 4-14, determinai ct de des un utilizator dat
poate trimite un cadru de date.

13. Presupunei c A, B i C transmit simultan bii 0 folosind un sistem CDMA cu secvenele de


achii din figura 4-16(b). Care este secvena de achii rezultat?

14. n discuia despre ortogonalitatea secvenelor de achii CDMA, se afirm c dac S*T=0,
atunci S~T=0. Demonstrai acest lucru.

15. S considerm un alt mod de a privi proprietatea de ortogonalitate a secvenelor de achii ale
CDMA Fiecare bit dintr-o pereche de secvene se poate potrivi sau nu. Exprimai proprietatea
de ortogonalitate n termeni de potriviri sau nepotriviri.
312 SUBNIVELULDE ACCES LA MEDIU CAP. 4

16. Un receptor CDMA primete urmtoarele achii: (-1 +1-3 +1 -1-3 +1 +1). Considernd
secvenele de achii definite n figura 4-16(b), care staii au transmis i ce bii a trimis
fiecare staie?

17. O cldire cu 7 etaje are 15 birouri alturate pe fiecare etaj. Fiecare birou conine o priz de
perete pentru un terminal pe peretele din fa, astfel nct prizele formeaz o reea rectangular
n plan vertical, cu o distan de 4 m ntre prize, att pe orizontal ct i pe vertical.
Presupunnd c este posibil s se monteze cte un cablu direct ntre orice pereche de prize, pe
orizontal, vertical sau diagonal, ci metri de cablu sunt necesari pentru conectarea tuturor
prizelor folosind:
a) O configuraie stea cu un singur ruter n mijloc?
b) Un LAN 802.3?
c) O reea de tip inel (fr fir central)?

18. Care este viteza (n bauds) a unui LAN 802.3 standard de 10 Mbps?

19. Un LAN CSMA/CD de 10 Mbps (care nu e 802.3), lung de 1 km, are o vitez de propagare de
200 m/usec. Cadrele de date au o lungime de 256 bii, incluznd 32 de bii de antet, suma de
control i alte date suplimentare. Primul interval de bit dup o transmitere efectuat cu succes
este rezervat pentru receptor spre a ocupa canalul pentru a trimite un cadru de confirmare de
32 de bii. Care este viteza efectiv de date, excluznd ncrcarea suplimentar i presupunnd
c nu sunt coliziuni?

20. Dou staii CSMA/CD ncearc s transmit fiecare fiiere mari (multicadru). Dup ce
este trimis fiecare cadru, ele concureaz pentru canal folosind, algoritmul de regresie
exponenial binar. Care este probabilitatea terminrii conflictului la runda k, i care este
numrul mediu de runde per conflict?

21. S considerm cazul unei reele CSMA/CD de lGbps, cu un cablu mai lung de 1 km, fr
repetoare. Viteza semnalului pe cablu este de 200.000 km/sec. Care este dimensiunea
minim a cadrului?

22. Schiai codificarea Manchester pentru irul de bii: 0001110101.

23. Schiai codificarea Manchester diferenial pentru irul de bii din problema precedent.
Presupunei c linia este iniial n stare jos.

24. Un sistem token-bus funcioneaz n modul uftntor. Cnd un jeton ajunge la o staie, un ceas
este resetat la 0. Staia ncepe apoi s transmit cadre cu prioritate 6 pn cnd ceasul ajunge la
T6. Apoi ea trece la cadre de prioritate 4 pn cnd ceasul ajunge la T4. Acest algoritm este
apoi repetat pentru prioritatea 2 i prioritatea 0. Dac toate staiile au valorile ceasului de 40,
80,90 i 100 msec pentru T6 pn la T0, respectiv, ce fraciuni din limea total de band este
rezervat pentru fiecare clas de prioritate?

25. Ce se ntmpl ntr-o reea token-bus dac o staie accept jetonul dup care se blocheaz
imediat? Cum trateaz protocolul descris n capitol acest caz?
SEC. 4.8 PROBLEME 313

26. La o rat de. transmisie de 5 Mbps i o vitez de propagare de 200 m/usec, cu ci metri de cablu
este echivalent ntrzierea de 1 bit din interfaa token-ring?

27. ntrzierea din reeaua token-ring trebuie s fie suficient de mare pentru a conine ntregul
jeton. n cazul n care cablul nu este suficient de lung, trebuie introduse unele ntrzieri
artificiale. Explicai de ce este necesar aceast ntrziere suplimentar n conflictul unui jeton
de 24 bii i un inel cu doar 16 bii de ntrziere.

28. Un token-ring de 10 Mbps, lung de 1 km i foarte ncrcat, are viteza de propagare de 200
m/usec. Cincisprezece staii sunt uniform rspndite n jurul inelului. Cadrele de date sunt de
256 de bii, inclusiv 32 de bii de ncrcare suplimentar. Confirmrile sunt ataate la cadrele de
date i astfel incluse ca bii de rezerv n interiorul cadrelor de date i sunt efectiv gratuite.
Jetonul este de 8 bii. Este viteza de transfer efectiv a acestui inel mai mare sau mai mic dect
aceea a unei reele CSMA/CD de 10 Mbps?

29. ntr-un token-ring emitorul terge cadrul. Ce modificare a sistemului este necesar pentru ca
receptorul s tearg cadrul i care ar fi consecinele?

30. Un token-ring de 4 Mbps are un ceas pentru pstrarea jetonului cu valoarea de 10 msec. Care
este cel mai lung cadru care poate fi trimis n acest inel?

31. Are folosirea unui centru de cablaj vreo influen asupra performanelor unei reele token-ring?

32. O reea token-ring cu fibr optic folosit ca MAN are o lungime de 200 km i funcioneaz la
100 Mbps. Dup trimiterea unui cadru, o staie scoate cadrul din inel nainte de a regenera
jetonul. Viteza de propagare a semnalului prin fibr este de 200.000 km/sec, iar dimensiunea
maxim a cadrului este 1 Koctet. Care este eficiena maxim a inelului (ignornd orice alte surse
de ncrcare suplimentar) ?

33. n figura 4-32, staia D dorete s transmit o celul. Ctre ce staie vrea s o trimit?

34. 'Sistemul din figura 4-32 este n ateptare (liber). Puin mai trziu, staiile C, A i B devin
gata de transmitere, n aceast ordine i n succesiune rapid. Presupunnd c nici un
cadru de date nu este transmis nainte ca toate cele trei staii s emit cte o cerere, artai
care sunt valorile pentru RC i CD dup fiecare cerere i dup cele trei cadre de date.

35. Se spune uneori c Ethernet-ul nu este folositor pentru calcule n timp real datorit
faptului c intervalul de retransmitere n cazul cel mai defavorabil este nelimitat. n ce
situaii acest argument poate fi invocat n cazul token-ring? n ce condiii se poate
cunoate cazul cel mai defavorabil pentru reeaua token-ring? Presupunei c numrul de
staii n token-ring este fix i cunoscut.

36. Cadrele Ethernet trebuie s aib o lungime minim de 64 de octei pentru a avea sigurana c
emitorul nc mai emite, n cazul unei coliziuni la captul cellalt al cablului. Fast Ethernet-ul
are aceeai dimensiune minim a cadrului de 64 de octei, dar poate emite biii de zece ori mai
rapid. Cum este posibil s se menin aceeai dimensiune minim a cadrului?
314 SUBNWELUL DE ACCES LA MEDIU CAP. 4

37. Imaginai-v.dou puni LAN, amndou conectnd o pereche de reele 802.4. Prima punte
primete 1000 de cadre pe secund cu o lungime de 512 octei, care trebuie transmise mai
departe. Cea de a doua punte primete 200 de cadre pe secund cu lungimea de 4096 octei.
Care punte credei c va avea nevoie de o UCP mai rapid? Justificai.

38. Presupunei c cele dou puni din problema precedent conectau fiecare un LAN 802.4 la un
LAN 802.5. Ar avea aceast modificare vreo influen asupra rspunsului precedent?

39. O punte ntre un LAN 802.3 i un LAN 802.4 are o problem legat de erorile intermitente de
memorie. Poate aceast problem s cauzeze erori nedetectate n cadrele transmise sau acestea
vor fi detectate de ctre sumele de control ale cadrelor?

40. Departamentul de informatic al unei universiti are 3 segmente Ethernet, conectate prin
dou puni transparente ntr-o reea liniar. ntr-o zi administratorul de reea
demisioneaz i este nlocuit temporar de ctre cineva de la centrul de calcul, centru care
este o reea token-ring IBM. Noul administrator, observnd c nu sunt conectate capetele
reelei, comand urgent o nou punte transparent i le conecteaz, construind un inel
nchis. Ce se va ntmpla dup aceea?

41. Un inel FDDI mare are 100 de staii i un timp de rotaie a jetonului de 40 msec. Timpul de
deinere a jetonului este de 10 msec. Ce eficien maxim poate fi atins n inel?

42. S considerm cazul interconectrii unor supercalculatoare folosind abordarea HIPPI, dar n
tehnologie modern. Calea pentru date are acum limea de 64 de bii, iar un cuvnt poate fi
trimis la fiecare 10 nsec. Care este lrgimea de band a canalului?

43. n acest capitol se afirm c un satelit cu dou canale ALOHA cuantificate unul de ridicare i
unul de coborre poate ajunge la o utilizare a canalului de coborre de 0.736, avnd la dispoziie
o cantitate infinit de spaiu tampon. Artai cum poate fi obinut acest rezultat.
NIVELUL REEA

Nivelul reea are ca sarcin preluarea pachetelor de la surs i transferul lor ctre destinaie.
Atingerea destinaiei poate presupune realizarea mai multor salturi prin rutere intermediare de-a
lungul drumului. Aceast funcie contrasteaz clar cu cea a nivelului legtur de date, care avea
scopul mult mai modest de a transfera cadre de la un capt al unui fir la cellalt. Astfel nivelul reea
este cel mai sczut nivel care are de-a face cu trarsrnisii capt la capt. Pentru mai multe informaii
despre aceasta, vezi (Huitema, 1995 i Perlman, 1992).
Pentru realizarea scopurilor propuse, nivelul reea trebuie s cunoasc topologia subreelei de
comunicaie (de exemplu mulimea tuturor ruterelor) i s aleag calea cea mai potrivit prin
aceasta. De asemenea trebuie s aleag cile de urmat astfel, nct s nu ncarce excesiv unele
legturi de comunicaie sau rutere n timp ce altele sunt inactive. n fine, cnd sursa i destinaia fac
parte din reele diferite, este sarcina nivelului reea s se ocupe de diferenele existente i s rezolve
toate problemele care decurg din acestea. n acest capitol vom studia toate aceste aspecte i le vom
exemplifica cu dou exemple n funciune la ora actual, Internet i ATM.

5.1 CERINELE DE PROIECTARE ALE NIVELULUI REEA

Vom prezenta, n continuare, o introducere a cerinelor pe care proiectantul nivelului reea trebuie
s le rezolve. Acestea includ serviciile furnizate nivelului transport i proiectarea intern a subreelei.

5.1.1 Servicii furnizate nivelului transport

Nivelul reea furnizeaz servicii nivelului transport la interfaa dintre cele dou niveluri. Aceast
interfa este important i dintr-un alt motiv: n mod frecvent este interfaa ntre furnizor i client,

315
316 NIVELUL REEA CAP. 5

adic este grania subreelei. De obicei furnizorul are controlul protocoalelor i interfeelor pn la
nivelul reea inclusiv. Sarcina sa este de a livra pachetele pe care clienii i le trimit. Acesta este
motivul pentru care aceast interfa trebuie s fie deosebit de bine definit.
Serviciile nivelului reea au fost proiectate avnd rfvedere urmtoarele scopuri:
1. Serviciile trebuie s fie independente de tehnologia subreelei.
2. Nivelul transport trebuie s fie independent de numrul, tipul i topologia subreelelor
existente.
3. Adresele de reea disponibile la nivelul transport trebuie s foloseasc o schem de
numerotare uniform, chiar n cadrul reelelor LAN i WAN.
Obiectivele fiind stabilite, proiectantul nivelului reea are o mare libertate n a scrie specificaiile
detaliate ale serviciilor oferite nivelului transport. Aceast libertate degenereaz adesea ntr-o aprig
btlie ntre dou tabere opuse. Disputa are la baz ntrebarea d p nivelul reea trebuie s
furnizeze servicii orientate pe conexiune sau servicii neorienfaie pe conexiune.
O tabr (reprezentat de comunitatea Internet) afirm c menirea subreelei este de a
transfera bii i nimic mai mult. n viziunea lor (bazat pe experiena a aproape 30 de ani de
exploatare a unei reele de calculatoare n funciune), subreeaua este inerent nesigur,
indiferent cum ar fi proiectat. De aceea calculatoarele gazd trebuie s accepte faptul c ea
este nesigur i s fac controlul erorilor.
Acest punct de vedere duce rapid la concluzia c serviciul reea trebuie s fie neorientat pe
conexiune, cu dou primitive SEND PACKET i REGEIVE PACKET i cu foarte puin n plus. n
particular, nu trebuie fcut nici o operaie pentru controlul ordinii sau fluxului pachetelor pentru c
oricum calculatorul gazd va face acest lucru, iar dublarea acestor operaii aduce un ctig
nesemnificativ. n continuare, fiecare pachet va trebui s poarte ntreaga adres de destinaie, pentru
c fiecare pachet este independent de pachetele predecesoare, dac acestea exist.
Cealalt tabr, reprezentat de companiile de telefoane, afirm c subreeaua trebuie s asigure
un serviciu orientat pe conexiune, garantnd o siguran rezonabil. Ei susin c 100 de ani de
experien cu sistemul telefonic mondial reprezint un bun ghid. n aceast perspectiv, conexiunile
trebuie s posede urmtoarele proprieti:
1. nainte de a trimite datele, un proces al nivelului reea de pe calculatorul care trimite trebuie
s stabileasc o conexiune cu partenerul de pe calculatorul care va recepiona. Aceast
conexiune, care va primi un identificator special, este apoi folosit pn ce toate datele au
fost trimise, dup care este eliberat explicit.
2. Cnd se stabilete o conexiune, cele dou procese pot iniia o negociere privind parametrii,
calitatea si costul serviciului furnizat.
3. Comunicaia este bidirecional, iar pachetele sunt livrate n secven.
4. Controlul fluxului este asigurat automat, pentru a preveni ca un emitor rapid de s trimit
pachete pe conexiune la o rat mai mare dect cea la care receptorul le poate prelua, aceasta
putnd conduce la apariia unei depiri.
Alte proprieti, cum ar fi garantarea livrrii, confirmarea explicit a livrrii i pachete cu
prioritate ridicat sunt opionale. Aa cum am artat n Capitolul 1, serviciile neorientate pe
conexiune se aseamn sistemului de pot uzual, iar serviciile orientate pe conexiune sunt
asemntoare sistemului telefonic.
SEC. 5.1 CERINELE DE PROIECTARE ALE.NIVELULUI REEA 317

Alegerea ntre un serviciu orientat pe conexiune i unul neorie.ntat pe conexiune se reduce


n ultim instan la alegerea locului n care s fie plasat complexitatea. n cazul serviciului
orientat pe conexiune e vorba de .nivelul, reea (subreea); n cazul serviciului neorientat pe
conexiune este vorba, de nivelul;, transport (calculator gazd). Susintorii serviciilor
neorientate pe conexiune afirm c resursele de calcul de care poate dispune un utilizator au
devenit suficient de ieftine, astfel nct s nu existe nici un motiv s nu plasm complexitatea la
nivelul calculatoarelor gazd. n continuare se argumenteaz c subreeaua este o investiie
(inter)naional important, care va exista pentru decenii, deci nu trebuie ncrcat inutil cu
faciliti care-pot fi depite repede, dar, care vor intra n structura preului pentru muli ani.
Mai mult,, anumite aplicaii, cum ar fi vocea digitizat sau culegerea de informaii n timp real
pot considera rapiditatea livrrii mult mai important dect acurateea acesteia.
.., Pe de alt parte, suporterii serviciilor orientate pe conexiune spun c majoritatea utilizatorilor nu
sunt interesai s ruleze protocoale complicate de nivel transport pe mainile proprii. Ceea ce doresc
este s foloseasc servicii sigure, fat defecte i aceste servicii;pot fi furnizate cel mai bine folosind
conexiuni la nivelul reea. Mai departe, anumite servicii, ca audio-video n timp real, sunt mai uor
de realizat deasupra unui nivel reea, orientat pe conexiune dect deasupra unui nivel reea
neorientat pe conexiune.
Dei rareori se pune problema n felul acesta, aici sunt implicate dou idei distincte. Prima, dac
reeaua s fie orientat pe conexiune (ceea ce presupune existena unei faze de stabilire a
parametrilor) sau neorientat pe conexiune (unde faza de stabilire a parametrilor nu este necesar).
A doua, dac reeaua este sigur (fr pierderea, duplicarea sau alterarea pachetelor) sau nesigur
(n care pachetele pot fi pierdute, duplicate sau alterate). Teoretic sunt posibile toate cele patru
combinaii; ns cele mai rspndite combinaii sunt servicii sigure orientate pe conexiune i servicii
nesigure neorientate pe conexiune, astfel nct celelalte dou tind s dispar.

Pota electronic FTP


TCP
IP
ATM
Legtur de date
Fizic

Fig. 5-1. Implementarea TCP/IP deasupra unei subretele ATM.

Aceste dou tabere sunt reprezentate de cele dou exemple n funciune de care am amintit.
Reeaua Internet are un nivel reea neorientat pe conexiune, iar reelele ATM au nivelul reea
orientat pe conexiune. Se ridic o ntrebare evident asupra modului n care Internet funcioneaz
cnd este implementat deasupra unei subretele bazate pe ATM. Rspunsul este acela c maina
surs mai nti Stabilete o conexiune ATM la nivel reea cu calculatorul destinaie i apoi trimite
pachete (IP) independente pe aceasta, aa cum se arat n Fig. 5-1. Dei aceast abordare
funcioneaz, ea este ineficient datorit duplicrii unor funcii la cele dou niveluri. De exemplu,
nivelul reea ATM garanteaz livrarea plachetelor n ordine, ns codul TCP conine ntregul
mecanism pentru gestionarea i rearanjarea pachetelor n afara secvenei normale. Pentru mai multe
informaii despre cum funcioneaz IP deasupra ATM vezi RFC 1577 i (Armitage i Adams, 1995).
318 NTVELULREpA CAP.5

5.1.2 Organizarea intern a nivelului reea

Dup ce am vzut cele dou clase de servicii pe care nivelul reea le furnizeaz utilizatorilor si, e
timpul s vedem cum lucreaz el intern. Exist dou filozofii de baz distincte pentru organizarea
subreelei, una folosind conexiuni, iar a doua lucrnd fr conexiuni. n contextul operrii interne a
subreelei, o conexiune este numit de obicei circuit virtual, prin analogie cu circuitele fizice care se
stabilesc n sistemul telefonic. Pachetele independente ale organizrii neorientate pe conexiune se
numesc datagrame, prin analogie cu telegramele.
Circuitele virtuale sunt folosite de obicei n subretele care ofer un serviciu primar orientat
pe conexiune, deci vor fi descrise n acest context. Ideea care se afl la baza circuitelor virtuale
este evitarea alegerii unei noi ci (rute) pentru fiecare pachet sau celul trimise. n consecin,
cnd se stabilete o conexiune, se alege i memoreaz o cale ntre maina surs i maina
destinaie, ca parte component a parametrilor conexiunii. Aceast cale va fi folosit pentru
tot traficul de pe conexiune, exact n acelai mod n care funcioneaz sistemul telefonic. Cnd
conexiunea este eliberat, circuitul virtual se elibereaz.
n contrast cu o reea datagram, nici o cale nu este stabilit n avans, chiar dac serviciul este
orientat pe conexiune. Fiecare pachet trimis este dirijat independent de predecesorii si. Pachete
consecutive pot urma ci diferite. Cu toate c subreelele bazate pe datagrame au ceva mai mult de
lucru, ele sunt, de obicei, mai robuste i se adapteaz la defecte i congestii mai uor dect
subreelele bazate pe circuite virtuale. Vom discuta argumentele pro i contra pentru aceste dou
abordri mai trziu.
Deoarece pachetele vehiculate de-a lungul unui circuit virtual parcurg ntotdeauna aceeai cale
prin subreea, fiecare ruter trebuie s memoreze unde s trimit pachetele pentru fiecare dintre
circuitele virtuale deschise care trec prin el. Fiecare ruter trebuie s pstreze o tabel cu o intrare
pentru fiecare circuit virtual deschis care trece prin el. Fiecare pachet care navigheaz prin subreea
trebuie s conin un cmp pentru pstrarea numrului circuitului virtual, pe lng numrul de
secven, sume de control i celelalte cmpuri uzuale. Cnd un pachet ajunge la un ruter, rutenii tie
pe ce legtur a sosit i ce numr are circuitul virtual asociat. Pe baza acestei singure informaii
pachetul trebuie s fie dirijat pe linia corect de ieire.
Cnd se stabilete o conexiune la nivel reea, se alege ca identificator al conexiunii un numr
ntreg, care s nu fie deja utilizat pe maina respectiv. Deoarece fiecare main alege aceste numere
de circuite virtuale independent, ele au doar semnificaie local. Dac ar fi avut semnificaie global,
n ntreaga reea, ar fi fost posibil ca dou circuite virtual distincte cu acelai indicator s treac prin
acelai nod, crend confuzii.
Deoarece circuitele virtuale pot fi iniiate de la ambele capete, apare o problem atunci cnd
apelul pentru stabilirea conexiunii se propag simultan n ambele direcii, de-a lungul unui lan de
rutere. La un moment dat ele ajung n rutere adiacente. Fiecare ruter trebuie s aleag un numr de
circuit virtual pentru conexiunea n curs de stabilire. Dac ele sunt programate s aleag cel mai mic
numr disponibil pentru legtur, vor alege acelai numr, fcnd s existe dou circuite virtuale
independente pe aceeai legtur fizic. Cnd un pachet de date este recepionat ulterior, rutenii
care 1-a primit nu poate s decid dac este vorba de un pachet direct pe primul circuit sau un pachet
n sens invers pe al doilea. Dac circuitele sunt simplex, nu exist ambiguiti.
Este important de reinut c fiecrui proces i se cere s specifice cnd termin de folosit un
circuit virtual, astfel nct acest circuit s poat fi eliminat din tabelele interului, pentru a economisi
SEC. 5.1 CERINELE DE PROIECTARE ALE NIVELULUI REEA 319

5
spaiu. n reelele publice motivaia este alta (thestick rather ihan the carroi ): utilizatorii pltesc att
timpul de conectare ct i volumul datelor transmise. In plus, trebuie luate unele msuri de precauie
pentru a rezolva situaiile mainilor care termin circuitele virtuale forat, din cauza unor defeciuni,
m loc s le elibereze, politicos atunci cnd au terminat.
Att despre folosirea intern a circuitelor virtuale n cadrul subreelei. Cealalt posibilitate este
sa se foloseasc intern datagramele, caz n care ruterele nu dein o tabel cu o intrare pentru fiecare
circuit virtual deschis. n schimb, ele dispun de o tabel care precizeaz linia de ieire utilizat pentru
fiecare dintre ruterele destinaie. Aceste tabele sunt necesare i n cazul folosirii interne a circuitelor
virtuale pentru a stabili calea pe care o urmeaz pachetul iniial.
Fiecare datagram trebuie s conin adresa complet a destinaiei. Pentru o reea mare,
aceste adrese pot s fie destul de lungi (12 octei sau chiar mai mult). Cnd este recepionat un
pachet, ruterul stabilete linia de ieire care trebuie folosit i trimite pachetul pe acest drum.
De asemenea, stabilirea i eliberarea conexiunilor de nivel reea sau transport nu necesit nici
un efort deosebit din partea ruterului.

5.13 Comparaie ntre subretele bazate pe circuite virtuale i datagrame

Att circuitele virtuale ct i datagramele au suporteri i oponeni. Vom ncerca acum s


rezumm argumentele ambelor tabere. Principalele aspecte sunt prezentate n Fig. 5-2, dei
cei extrem de riguroi ar putea probabil gsi un contraexemplu pentru toate cele descrise n
aceast figur.

Problem Subreea datagram Subreea CV


Stabilirea circuitului Nu e necesar Obligatorie
Adresare Fiecare pachet conine adresa Fiecare pachet conine un numr mic de
complet pentru surs i destinaie CV
Informaii de stare Subreeaua nu pstreaz informaii Fiecare CV are nevoie de informaii
de stare despre subreea
Dirijare Fiecare pachet este dirijat Calea este stabilit la iniierea CV; toate
independent pachetele urmeaz aceast rut
Efectul defectrii Nici unul, cu excepia pachetelor Toate circuitele virtuale care trec prin
ruterului pierdute n timpul defectrii ruterul defect sunt terminate
Controlul congestiei Dificil Simplu, dac se aloc n avans suficiente
zone tampon pentru fiecare CV

Fig. 5-2. Comparaie ntre subreelele bazate pe circuite virtuale


i cele bazate pe datagrame.

n interiorul subreelei exist situaii n care trebuie s se aleag ntre faciliti antagoniste
specifice fie circuitelor virtuale, fie datagramelor. Un astfel de compromis este acela ntre
spaiul de memorie al ruterului i limea de band, Circuitele virtuale permit pachetelor s
conin numere de circuite n locul unor adrese complete. Dac pachetul tinde s fie foarte
mic, atunci existena unei adrese complete n fiecare pachet poate reprezenta o suprancrcare
(overhead) important i deci o irosire a limii de band. Preul pltit pentru folosirea intern

' N.T. Btaia este mai eficient dect duhul blndeii.


320 NIVELUL REEA CAP. 5

a circuitelor virtuale este spaiul necesar pstrrii tabelei n ruter. Soluia mai ieftin este
determinat de raportul ntre costul circuitelor de comunicaie i cel al memoriei ruterului.
Alt compromis este cel ntre timpul necesar stabilirii circuitului i timpul de analiz a
adresei. Folosirea circuitelor virtuale presupune existena unei faze iniiale de stabilire a cii,
care cere timp i consum resurse. Oricum, este uor s ne imaginm ce se ntmpl cu un
pachet de date ntr-o subreea bazat pe circuite virtuale: ruterul folosete numrul circuitului
ca un index ntr-o tabel pentru a afla unde merge pachetul. ntr-o reea bazat pe datagrame,
se folosete o procedur mult mai complicat pentru a stabili unde merge pachetul.
Circuitele virtuale au unele avantaje n evitarea congestionrii subreelei, deoarece resursele pot
fi rezervate n avans, atunci cnd se stabilete conexiunea. La sosirea pachetelor, limea de band
necesar i capacitatea ruterului vor fi deja pregtite. Pentru o reea bazat pe datagrame, evitarea
congestionrii este mult mai dificil.
Pentru sistemele de prelucrare a tranzaciilor (de exemplu apelurile magazinelor pentru a
verifica cumprturi realizate cu cri de credit) overhead-ul necesar pentru stabilirea i
eliberarea unui circuit virtual reduce considerabil folosirea acestora. Dac majoritatea
traficului este de acest tip, folosirea intern a circuitelor virtuale comutate n cadrul subreelei
nu prea are sens. Pe de alt parte, ar putea fi de folos circuite virtuale permanente, stabilite
manual si care s dureze luni sau chiar ani.
Circuitele virtuale au o problem de vulnerabilitate. Dac un ruter se defecteaz (cade") i i
pierde coninutul memoriei, toate circuitele virtuale care treceau prin el sunt terminate forat, chiar
dac acesta.i revine dup o secund. Prin contrast, dac un ruter bazat pe datagrame cade, doar
acei utilizatori care aveau pachete memorate temporar n cozile de ateptare ale sale vor fi afectai i
e posibil ca numrul lor s fie i mai mic, n funcie de cte pachete au fost deja confirmate.
Pierderea liniei de comunicaie este fatal pentru circuitele virtuale care o folosesc, ns poate fi uor
compensat dac se folosesc datagrame. Datagramele permit de asemenea ruterului s echilibreze
traficul prin subreea, deoarece cile pot fi modificate oriunde de-a lungul conexiunii.
Este bine s subliniem c serviciul oferit (orientat pe conexiune sau fr conexiune) difer de
structura subreelei (circuit virtual sau datagram). Teoretic, toate combinaiile sunt posibile.
Evident, o implementare cu circuite virtuale a unui serviciu orientat pe conexiune sau o
implementare cu datagrame a unui serviciu fr conexiune sunt rezonabile. De asemenea,
implementarea unui serviciu orientat pe conexiune folosind datagrame are sens dac se dorete
furnizarea unui serviciu foarte robust.

Nivelul superior Tip subreea


Datagrame Circuite virtuale
Fr conexiune UDP UDP
peste peste
IP IP
peste
ATM
Orientate pe conexiune TCP ATMAAL1
peste peste
IP ATM

Fig. 5-3. Exemple ale diferitelor combinaii de servicii i structuri ale subreelei.
SEC. 5.2 ALGORITMI DE DIRIJARE 321

A patra posibilitate, serviciu fr conexiune, folosind o subreea bazat pe circuite virtuale, pare
ciudat, dar cu siguran apare. Un exemplu imediat este folosirea IP deasupra unei subretele ATM.
Aici s-a dorit folosirea unui protocol fr conexiune existent peste un nou serviciu reea orientat
conexiune. Aa cum s-a mai menionat deja, aceasta este mai degrab o soluie ad-hoc a problemei
dect o proiectare bun. ntr-un sistem nou, proiectat s lucreze peste o subreea ATM, nu s-ar
plasa n mod normal un protocol fr conexiune ca IP deasupra unui nivel reea orientat conexiune
ca ATM i apoi un nivel transport orientat conexiune deasupra acestui protocol neorientat pe
conexiune. Exemple din cele patru cazuri sunt prezentate n Fig. 5-3.

5.2 ALGORITMI DE DIRIJARE

Funcia principal a nivelului reea este dirijarea (dirijarea) pachetelor de la maina surs ctre
maina destinaie. n rnajoritatea subreelelor pacheele vo face salturi jnultipje pentru a-i face
cltoria. Singura excepie remarcabil o reprezint reelele cu dozare, dar chiar i aici dirijarea
este important, atunci cnd sursa i destinaia nu sunt n aceeaireea. Algoritmii care aleg calea i
structurile de date folosite de acetia reprezint un domeniu important al proiectrii nivelului reea.
Algoritmul de dirijare (routing algorithm) este acea parte a software-ului nivelului reea care
rspunde de alegerea liniei de ieire pe care un pachet recepionat trebuie trimis mai departe. Dac
subreeaua folosete intern datagrame, aceast decizie trebuie luat din nou pentru fiecare pachet
recepionat, deoarece e posibil ca cea mai bun rut s se fi modificat ntre timp. Dac subreeaua
folosete circuite virtuale, decizia de dirijare se ia doar la stabilirea unui nou circuit virtual. Dup
aceea pachetele ,de date vor urma doar calea stabilit anterior. Acest ultim caz este numit uneori
sesiune de dirijare, deoarece calea rmne n funciune pentru o ntreag sesiune utilizator (de
exemplu o sesiuriTde conectare de la un terminal -login- sau un transfer de fiiere).
Indiferent dac ruta se alege independent pentru fiecare pachet sau doar la stabilirea unei noi
conexiuni, exist anumite proprieti pe care un algoritm de dirijare trebuie s le aib: corectitudine,
simplitate, robustee, stabilitate, prevenirea defavorizrii nodurilor, optimalitate. Corectitudinea i
simplitatea nu mai au nevoie de comentarii, dar necesitatea robusteei poate fi mai puin evident la
prima vedere. Odat ce apare pe pia o reea important, este de ateptat ca ea s funcioneze
continuu ani ntregi, fr defecte generale ale sistemului. n acest timp vor exista defecte hardware i
software de tot felul. Calculatoare gaz, rutere, linii de comunicaie vor cdea i vor reveni repetat
i topologia se va schimba de multe ori. Algoritmul de dirijare trebuie s fac fa acestor modificri
ale topologiei i traficului, fr a impune ca toate job-urile de pe toate calculatoarele s fie
abandonate i reeaua s fie reiniializat de fiecare dat cnd un ruter se defecteaz.
Stabilitatea este de asemenea un obiectiv important pentru algoritmii de dirijare. Exist
algoritmi de dirijare care niciodat nu converg la echilibru, indiferent ct timp ar rula.
Prevenirea defavorizrii nodurilor i optimalitatea sunt evidente - nimeni nu se opune lor -
ns,, aa cum se va arta, sunt obiective contradictorii. Un exemplu simplu al acestui conflict
este prezentat n Fig. 5-4. Presupunem c ntre A i A', ntre B i B' i ntre C i C exist un
trafic suficient pentru a satura legturile orizontale, Pentru a maximiza fluxul total, traficul
ntre X i X' trebuie oprit. Din pcate acest lucru ar defavoriza pe X i X'. Evident, este
necesar un compromis ntre eficiena global i prevenirea defavorizrii anumitor conexiuni.
322 NIVELUL REIEA CAP. 5

l
r r

A1 B' C

Fig. 5-4. Conflict ntre optimalitate i prevenirea defavorizrii.

nainte de a ncerca s gsim rezolvarea acestui conflict ntre optimalitate i prevenirea


defavorizrii, trebuie s stabilim c^^m^a_ogtimizm. Minimizarea ntrzierihnedii a unmpachet
este un candidat evident, ns la fel este i n^wQnmea^g^im^l^mi^^) totale a reelei.
Mai mult, i aceste dou obiective sunt n conflict, deoarece funcionarea unui sistem cu cozi de
ateptare la limita capacitii sale produce ntrzieri majore. Pentru a realiza un compromis, n multe
reele se ncearc minjmizarea numrului^ dejsalturi pe care un pachet trebuie s le fac, deoarece
reducerea numrului de salturi tinde s mbunteasc ntrzierea i de asemenea s reduc limea
de band consumat, ceea ce tinde s mbunteasc i productivitatea.
Algoritmii de dirijare pot fi grupai n dou mari clase: nead^ptiy^siadapjrvi. Algoritmii
neadaptivi nui bazeazdgdzjilg.de dirijare pe msurtori sau estimri^ale traficului i topologiei
curente. Astfel, alegerea cii folosite pentru a a]unge~de la nodul / la nodul J (oricare ar fi / i Jf) se
calculeaz n avans, off-line i parvine ruterului la iniializarea reelei. Aceast procedur se mai
numete i dirijare static.
Algoritmii adaptivi, prin contrast, i modific deciziile de dirijare pentru a reflecta modificrile
de topologie i de multe ori i pe cele de trafic. Algoritmii adaptivi difer prin locul de unde i iau
informaia (de exemplu local, de la un ruter vecin sau de la toate ruterele), prin momentul la care
schimb rutele (de exemplu la fiecare AT secunde, cnd se schimb ncrcarea sau cnd se schimb
topologia) i prin metrica folosit pentru optimizare (de exemplu distana, numrul de salturi sau
timpul estimat pentru tranzit). In seciunile urmtoare, vom discuta o varietate de algoritmi de
dirijare, att statici ct i dinamici.

5.2.1 Principiul optimalitii

nainte de a intra n algoritmii specifici, ar fi poate folositor s observm c se poate face o


afirmaie despre rutele optimale fr a ne referi la topologia reelei sau la trafic. Aceast afirmaie
este cunoscut sub numele de principiul optimalitii. El stabilete c dac ruterul J este pe calea
optim de la ruterul I ctreruterul^K, atunci cajea^pjim deJaJJa Kje^te^e^e^TruTPerjSu a
vedea aceasta, snotm cu ri partea din cale de la I la J, iar cu r2 restul rutei. Dac ar exista o rut
mai bun dect r2 de la J la K, ea ar putea fi concatenat cu ri i ar mbunti ruta de la I la K, ceea
ce ar contrazice presupunerea c r^ este optimal.
SEC. 5.2 ALGORITMI DE DIRIJARE 323

Ca o c &n, putem observa c mulimea rutelor deja


toate sursele ctre_o anume destinaie formeaz un arbore avnd rdcina n destinaie. Acest
arbore se numete arbore de scufundare (sink tree) i este prezentat n Fig. 5-5, undelnetnca aleas
este numrul de salturi. Observai c arborele de scufundare nu este unic, putnd exista i ali arbori
cu aceeai lungime a cii. Scopul tuturoralgoritmilor de dirijare este de a descoperi i folosi arborii
de scufundare pentru toate ruterele.

B \

K
M O M

(a) (b)
Fig. 5-5. (a) O subreea. (b) Un arbore de scufundare pentru ruterul B.

Deoarece arborele de scufundare este ntr-adevr un arbore, el nu conine bucle, deci fiecare
pachet va fi livrat ntr-un numr finit i mrginit de salturi. In practic viaa nu e chiar aa de uoar.
Legturile i ruterele pot s se defecteze i s-i revin n timpul operaiilor, astfel nct diferite
rutere pot avea imagini diferite asupra topologiei curente. De asemenea, am trecut mai repede peste
ntrebarea dac fiecare ruter trebuie s obin individual informaia necesar calculrii arborelui de
scufundare sau dac aceast informaie este colectat prin alte mijloace. Vom reveni ns la aceast
problem n curnd. Cu toate acestea, principiul optimalitii i arborele de scufundare furnizeaz
referine cu care pot fi comparai ceilali algoritmi.
n urmtoarele trei seciuni, vom studia trei algoritmi statici diferii. Apoi vom trece la cei adaptivi.

5.2.2 Dirijarea pe calea cea mai scurt

S ncepem studiul algoritmilor de dirijare cu o tehnic des utilizat n multe forme deoarece
este simpl i uor de neles. Ideea este de a construi un graf al subreelei, fiecare nod al grafului
fiind un ruter, iar fiecare arc al grafului fiind o linie de comunicaie (numit adesea legtur). Pentru
a alege o cale ntre o pereche dat de rutere, algoritmul trebuie s gseasc calea cea mai scurt pe
graf ntre cele dou rutere.
Conceptul de cea mai scurt cale (shortest path routing) necesit unele explicaii. O modalitate
de a msura lungimea cii este numrul de salturi. Folosind aceast metric, cile ABC iABE din
Fig. 5-6 sunt la fel de lungi. O alt metric este distana geografic n kilometri, caz n care ABC este
clar mult mai mare dect ABE (presupunnd c figura este desenat la scar).
324 NIVELUL REEA CAP. 5

Oricum, sunt posibile multe alte metrici n afar de salturi i dis^antaje^rafic. De exemplu,
fiecare arc poate fi etichetat cu valojile_rnedji ale ateptrii n coad i ntrzierii de transmisie
pentru anumite pachete standard de test, aa cum sunt determinate de msurtori care se fac dufor
n or. Cu aceast etichetare cea mai scurt cale este cea mai rapid, nu neaprat cea cu mai puine
arce sau kilometri.
n cazul cel mai general, etichetele de pe arce ar putea fi calculate ca funcii de distant, lrgime
de band, trafic mediu, cost al comunicaiei, lungime medie a cozilor de ateptare, ntrzieri
msurate i ali factori. Prin modificarea ponderilor, algoritmul ar putea calcula cea mai scurt"
cale, n conformitate cu oricare dintre aceste criterii sau cu combinaii ale acestor criterii.

B (2, A) C (oo, -)

D (oo, -)

H G(6,A) H(oo,-)
(b)

B (2, A) C (9, B) B(2,A) C (9, B)

D(oo,1)

G(6,A) H(oo,-) G (5, E) H (oo, -)


(0 (d)

B(2,A) C (9, B)

D (oo,-)

G (5, E) H (9, G) G (5, E) / H (8, F)


(f)

Fig. 5-6. Primii cinci pai folosii n calcularea celei mai scurte ci de la A la D.
Sgeile indic nodul curent.

Se cunosc mai muli algoritmi pentru calculul celei mai scurte ci ntre dou noduri dintr-un graf.
Cel mai cunoscut este cel propus de Dijkstra (1959). Fiecare nod este etichetat (n paranteze) cu
jjijana de la nodul surs pn la el, de-a lungul celei mai bune ci cunoscute. Iniial nu se, cunoate
nici o cale, aa c toate nodurile vor fi etichetate cu infinit. Pe msur ce se execut algoritmul i se
gsesc noi ci, etichetele se pot schimba, reflectnd ci mai bune. O etichet poate fi fie temporar,
fie permanent. Iniial toate etichetele sunt Jemp_orare. Atunci cnd se descoper c o etichet
SEC: 5-2 ALGORITMI DE DIRIJME 325

reprezint cea mai scurt cale posibil de la surs ctre acel nod, ea devine permanent i nu se mai

Pentru a ilustra cum funcioneaz algoritmul de etichetare, s ne uitm la graful neorientat,


etichetat din Fig. 5-6(a), unde etichetele reprezint, de exemplu, distana. Dorim s aflm cea mai
scurt cale de la/1 la D. ncepem prin rrmc^j^diAji^^rrnM^pLt, indicnd aceasta printr-un
0316 e s t e
cerc colorat. Apoi vom examina fiecjje^od^adiaffn SL,^ l acum nodul curent),
reetichetnd fiecare nod cu distantajgre,^. De fiecare dat cnd un nod este reetichetat, l vom
eticheta i cu nodul de la care s-a fcut ncercarea, pentru a putea reface calea ulterior. Dup ce am
examinat toate nodurile adiacente ale lui A, vom examina toate nodurile cu etichet temporar din
ntregul graf i fljacejnj^cjd^^^ cum se observ din Fig. 5-6(b).
Acest nod devine noul nod curent. fe C2 {iv)
Acum oeegejnjiini? i examinm toate nodurile sale adiacente. Dac suma ntre eticheta lui 1? i
este mai mic dect eticheta acelui nod, n&eamnFcTam gsit o
cale mai scurt i va trebui fcut xeetichetarea nodului.
Dup ce toate nodurile adiacente nodului curent au fost inspectate i au fost schimbate toate
etichetele temporare posibile, se reia cutarea n ntregul graf pentru a identifica nodul cu eticheta
temporar minim. Acest nod este fcut permanent i devine nodul curent al etapei urmtoare. Fig.
5-6 prezint cei cinci pai ai algoritmului.
Pentru a vedea de ce merge algoritmul, s privim Fig. 5-6(c). La momentul respectiv de abia am
fcut permanent nodul E. S presupunem c ar exista o cale mai scurt dect ABE, de exemplu
AXYZE. Exist dou posibiliti: fie nodul Z a fost deja fcut permanent, fie nc nu a fost. Dac a
fost, atunci E a fost deja examinat (la pasul imediat urmtor celui la care Z a fost fcut permanent),
astfel nct caleaAXYZE nu a fost ignorat.
S considerm acum cazul n care Z este nc etichet temporar. Atunci fie eticheta lui Z este
mai mare sau egal cu cea a lui E, caz n care ABE nu poate fi o cale mai scurt dect AXYZE, fie
este mai mic dect cea a lui E, caz n care Z i nu E va deveni permanent mai nti, permind lui E
s fie examinat din Z. -
Algoritmul este prezentat n Fig. 5-7. Singura diferen ntre program i algoritmul descris mai
sus este aceea c n Fig. 5-7 calculm calea cea mai scurt pornind de la nodul terminal, t, n locul
nodului surs, s. Deoarece calea cea mai scurt de la Ha s ntr-un graf neorientat este exact aceeai
cu calea cea mai scurt de la s la t, nu conteaz la care capt ncepem (dect dac exist mai multe
ci scurte, caz n care, inversnd calea, am putea gsi alt drum). Motivul pentru care ncepem
cutarea de la nodul destinaie este acela c nodurile sunt etichetate cu predecesorul i nu cu
succesorul. Cnd copiem calea final n variabila de ieire, path, calea este inversat. Prin inversarea
cutrii, cele dou efecte se anuleaz, astfel nct rezultatul se obine n ordinea corect.

5.2.3 Inundarea

Un alt algoritm static este inundarea (flooding), n care fiecare pachet recepionat este trimis mai
departe pe fiecare linie de ieire, cu excepia celei pe care a sosit. Este evident c inundarea
genereaz un mare numr de pachete duplicate, de fapt un numr infinit dac nu se iau unele
msuri pentru a limita acest proces. O astfel de msur este pstrarea unui contor de salturi n
antetul fiecrui pachet, contor care este decrementat la fiecare salt i care face ca pachetul s fie
distrus cnd contorul atinge valoarea zero.
326 NIVELUL REEA CAP. 5

Idefine MAX_NODES 1024 /* numrul maxim de noduri */


#define INFINITY ljOOODOOpOO /* un numr mai mare dect orice cale */
int n,dist[MAX_NODES][ MAXJODES] /* d i s t [ i ] [ j ] e distana de la i la j */

void shortest_patb(int s, int t, int path[])


{ struct state { /* calea cu care se lucreaz */
int predecessor; /'* nodul a n t e r i o r * /
int length; /* lungimea de la surs la acest nod */
enum {permanent, temporar} labei; /* etichet stare */
}state [MAXJODES];
i n t i , k, min;
struct state *p;
for (p = &state[0];-p < &state[n]; p++) { /* i n i i a l i z r i */
p->predecessor = - 1 ;
p->length = INFINITY;
p->label = temporar;
}
state[t].length = 0; state[t].labei = permanent;
k = t; /* k este nodul i n i i a l de lucru */
do { /* exist vreo cale mai bun de la k? */
for (i = 0; i < n; i++) /* graful are n noduri '*/
if ( d i s t [ k ] [ i ] != 0 && state[i].labei == temporar) {
if (statefk].length + d i s t [ k ] [ i ] < state[ij.length) {
state[i].predecessor = k;
state[i].length = state[k].length + d i s t [ k ] [ i ] ;
}

/* Gsete nodul etichetat temporar cu cea mai mic etichet */


k = 0; min = INFINITY;
for (i = 0; i < n; i++)
if (statefi].labei == temporar && state[i].length < min) {
min = state[i].length;
k = i;
}
state[k].labei = permanent;
} while (k != s);
/* Copiaz calea n vectorul de ieire */
i = 0; k = s;
do { path[i++] = k; k = statefk].predecessor; } while (k >= 0);

Fig. 5-7. Algoritmul Dijkstra pentru calculul celei mai scurte ci ntr-un graf.

Ideal ar fi ca acest contor s fie iniializat cu lungimea 'cii de la surs la destinaie. Dac
emitorul nu cunoate lungimea cii, poate iniializa contorul la valoarea cea mai defavorabil,
adic diametrul subreelei.
O metod alternativ pentru limitarea inundrii este identificarea pachetelor care au fost
deja inundate, pentru a prentmpina trimiterea lor a doua oar. O cale pentru a realiza acest
SEC. 5.2 ALGORITMI DE DIRIJARE 327

scop este ca ruterul surs s plaseze un numr de secven n fiecare pachet pe care l primete
de la calculatorul gazd asociat. Fiecare ruter necesit meninerea unei liste pentru fiecare
ruter surs, cu numerele de secven iniiate de acel ruter surs i care au fost deja trimise mai
departe. Dac sosete un pachet care se afl n list, el nu mai este trimis mai departe.
Pentru a limita creterea lungimii listei, fiecare list trebuie nsoit de un contor, k, care
semnific faptul c toate numerele de secven pn la k au fost deja tratate. La recepia unui pachet
este uor s se verifice dac este sau nu un duplicat, caz n care este distrus. Evident, lista cu numere
mai mici dect k nu este necesar, deoarece k o rezum.
O variant a algoritmului de inundare, care este i ceva mai practic, este inundarea
selectiv. n acest algoritm ruterele nu trimit fiecare pachet recepionat pe fiecare legtur de
ieire, ci doar pe acele linii care duc aproximativ n direcia potrivit. De obicei sunt puine
motive pentru a trimite un pachet spre partea de vest a reelei folosind o legtur spre est,
excepie fcnd reelele cu topologii deosebite.
Inundarea nu este practic pentru majoritatea aplicaiilor, ns are destule utilizri. De exemplu,
n aplicaiile militare, unde un mare numr de rutere pot fi scoase din funcionare la orice moment,
robusteea extraordinar a inundrii este necesar. n aplicaiile de baze de date distribuite, este
uneori necesar s fie actualizate toate bazele de date concurent, caz n care inundarea poate fi
folositoare. O a treia utilizare posibil a inundrii este ca metric la care s se raporteze toi ceilali
algoritmi de dirijare. Inundarea alege ntotdeauna cea mai scurt cale, deoarece alege n paralel
toate cile posibile. n consecin, nici un alt algoritm nu poate produce o ntrziere mai redus
(dac ignorm suprancrcarea -overhead-ul- generat de nsui procesul de inundare).

5.2.4 Dirijarea bazat pe flux

Algoritmii studiai pn n acest moment luau n considerare doar topologia. Ei nu ineau


seama de ncrcare. Dac, de exemplu, n Fig. 5-6 exist ntotdeauna un trafic uria de la A la
B, atunci poate e mai bine s dirijm traficul de \a.A\d.C pe calea AGEFC, chiar dac aceast
cale este mult mai lung dect ABC. n aceast seciune, vom studia un algoritm static care
pentru dirijare ine cont att de topologie ct i de ncrcare. El se numete algoritm de
dirijare bazat pe flux (flow based routing).
n unele reele, fluxul mediu de date ntre fiecare pereche de noduri este relativ stabil i
previzibil. De exemplu, n reeaua unui lan de magazine en-detail", fiecare magazin trebuie
s trimit comenzi, rapoarte de vnzri, actualizri ale inventarului i alte tipuri de mesaje bine
definite ctre noduri prestabilite, respectnd un model predefinit, astfel nct volumul total al
traficului variaz puin de la o zi la alta. n condiiile n care traficul mediu de la i la j este
cunoscut n avans i, ntr-o aproximare rezonabil, constant n timp, este posibil analiza
matematic a fluxurilor pentru a optimiza dirijarea.
Ideea care st la baza analizei este aceea c pentru o anumit linie, dac se cunosc
capacitatea i fluxul mediu, este posibil s se calculeze ntrzierea medie a unui pachet pe linia
respectiv, folosind teoria cozilor. Pe baza ntrzierilor medii ale tuturor liniilor se poate
calcula imediat, ca medie ponderat dup flux, ntrzierea medie a unui pachet pentru
ntreaga subreea. Problema dirijrii se reduce apoi la gsirea algoritmului de dirijare care
produce ntrzierea medie minim pentru subreea. Fig. 5-8.
328 NIVELUL RE1EA CAP. 5

Pentru a folosi aceast tehnic, trebuie cunoscute n avans anumite informaii. n primul rnd,
trebuie cunoscut topologia subreelei. n al doilea rnd, trebuie precizat matricea traficului, F^. n
al treilea rnd, trebuie s fie disponibil matricea capacitilor liniilor, Qp care precizeaz
capacitatea fiecrei linii, exprimat n bps. n final, se alege (cu titlu de ncercare) un anume algoritm
de dirijare.
Destinaie
A B C D E F

iliilii 9 4 1 7 4
AB ABC ABFD AE AEF

9 8 3 2 4
BA Sili BC BFD BFE BF
4 8 3 3 2
XD CBA CB CD CE CEF
M
3
CO 1 3 3 lllis 3 4
20
DFBA DFB DC DCE DF
7 2 3 3
11115
EA EFB EC ECD EF
(a)
4 4 2 4 5
FEA FB FEC FD FE

(b)

Fig. 5-8. (a) Subreea cu capacitile liniilor exprimate n kbps.


(b) Traficul n pachete/sec i matricea de dirijare.

Ca o exemplificare a acestei metode, s considerm subreeaua full-duplex din


Fig. 5-8(a). Etichetele arcelor reprezint capacitile Cy , n ambele sensuri, exprimate n kbps.
Matricea din Fig. 5-8(b) are o intrare pentru fiecare pereche surs-destinaie. Intrarea
corespunztoare sursei i i destinaiei j indic ruta folosit pentru traficul de la / la ;, precum i
numml de pachete/sec de trimis de la sursa / la destinaia/ De exemplu, 3 pachete/sec pleac de la
B la D i, pentru a ajunge, ele folosesc calea BFD. Observai c pentru a obine rutele din matrice a
fost aplicat un anumit algoritm de dirijare.

Ai Ci Ti
i Linie (pachete/sec) (kbps) (pachete/sec) (msec) Pondere
1 AB 14 20 25 91 0.171
2 BC 12 20 25 77 0.146
3 CD 6 10 12.5 154 0.073
4 AE 11 20 25 71 0.134
5 EF 13 50 62.5 20 0.159
6 FD 8 10 12.5 2222 0.098
7 BF 10 20 25 67 0.122
8 EC 8 20 25 59 0.098

Fig. 5-9. Analiza subreelei din Fig. 5-8 folosind pachete cu dimensiunea medie 800 bii.
Traficul invers (BA, CB etc.) este acelai cu traficul direct.
SEC. 5.2 ALGORITMI DE DIRBARE 329

Avnd aceste informaii, se calculeaz, imediat totalul pe linia /, X;. De exemplu, traficul B-D
contribuie cu 3 pachete/sec la traficul liniei BF i tot cu 3 pachete/sec la traficul liniei FD. Similar,
traficul A-D contribuie cu 1 pachet/sec, la fiecare dintre cele 3 linii. Traficul total n fiecare linie
orientat spre stnga (eastbound) este prezentat n coloana X; din Fig. 5-9. n acest exemplu traficul
este simetric, adic traficul XY este identic cu traficul YX, pentru toi X i Y. n reelele reale aceast
condiie nu este ndeplinit ntotdeauna. Figura prezint de asemenea numrul mediu de
pachete/sec pe fiecare linie, \iCu presupunnd dimensiunea medie a unui pachet 1/^=800 bii.
Penultima coloan din Fig. 5-9 conine'ntrzierea medie pentru fiecare linie, obinut din teoria
cozilor, cu formula:

piC-X

unde l/\i este dimensiunea medie n bii a unui pachet, C este capacitatea n kbps i X este fluxul
mediu n pachete/sec. De exemplu, cu o capacitate de \ = 25 pachete/sec i un flux curent X = 14
pachete/sec, ntrzierea medie este de 91 msec. Se observ ca, chiar dac facem X = 0, ntrzierea
medie este de 40 msec, deoarece capacitatea este de doar 25 pachete/sec. Cu alte cuvinte,
ntrzierea" cuprinde att ateptarea n cozi ct i timpul de servire.
Pentru a calcula ntrzierea medie pentru ntreaga subreea, vom considera suma ponderat a
celor opt linii, ponderea fiind fraciunea din traficul total folosit de acea linie. Efectund calculele,
obinem pentru acest exemplu valoarea 86 msec.
Pentru a evalua un alt algoritm de dirijare, putem repeta ntregul proces, folosind ns alte valori
ale fluxului pentru a obine o alt valoare a ntrzierii medii. Dac ne limitm doar la algoritmi de
dirijare cu cale unic (single path-routing), aa cum am fcut pn acum, exist un numr finit de
moduri n care putem dirija pachetele de la fiecare surs ctre fiecare destinaie. Astfel, ntotdeauna
este posibil s scriem un program care s ncerce fiecare variant, una dup alta, pentru a determina
care are cea mai mic ntrziere medie. Deoarece acest calcul poate fi fcut independent (off line) n
avans, consumul de timp nu reprezint o problem serioas. Se alege astfel cel mai bun algoritm de
dirijare. Bertsekas i Gallager (1992) prezint algoritmii bazai pe flux n detaliu.

5.2.5 Dirijare cu vectori distan

Reelele moderne de calculatoare folosesc de obicei algoritmi dinamici de dirijare n locul celor
statici, descrii mai sus. Cei mai folosii algoritmi dinamici sunt algoritmul de dirijare cu vectori
distan i algoritmul de dirijare bazat pe starea legturilor. n aceast seciune ne vom ocupa de
primul algoritm. n seciunea care urmeaz vom studia al doilea algoritm.
Algoritmul de dirijare cu vectori distan (distance vector routing) presupune c fiecare ruter
menine o tabel (de exemplu un vector) care pstreaz cea mai bun distan cunoscut spre
fiecare destinaie i linia care trebuie urmat pentru a ajunge acolo. Aceste tabele sunt actualizate
prin schimbul de informaii ntre nodurile vecine.
Algoritmul de dirijare cu vectori distan este cunoscut i sub alte nume, cum ar fi algoritmul
distribuit de dirijare Bellman-Ford sau algoritmul Ford-Fulkerson, dup numele cercettorilor care
l-au propus (Bellman, 1957; i Ford i Fulkerson, 1962). A fost algoritmul de dirijare folosit iniial n
330 NIVELUL REEA CAP. 5

reeaua ARPANET, a fost folosit de asemenea n Internet sub numele de RIP si n versiunile
incipiente ale DECnet i Novell IPX. AppleTalk i Cisco folosesc versiuni mbuntite ale
protocolului vectorilor distan.
n dirijarea pe baza vectorilor distan, fiecare ruter pstreaz o tabel de dirijare indexat dup
i coninnd o intrare pentru fiecare ruter din subreea. Aceast intrare are dou pri: linia de ieire
preferat care se folosete pentru destinaia respectiv i o estimare a timpului sau distanei pn la
acea destinaie. Metrica folosit poate fi numrul de salturi, ntrzierea n milisecunde, numrul
total de pachete care ateapt n cozi de-a lungul cii, sau ceva asemntor.
Se presupune c ruterul cunoate distana" spre fiecare din vecinii si. Dac se folosete metrica
salturilor, distana este de doar un salt. Dac metrica folosit este cea a lungimilor cozilor de
ateptare, ruterul examineaz pur i simplu lungimile acestor cozi. Dac metrica este cea a
ntrzierilor, ruterul o poate msura direct prin pachete speciale ECHO, n care receptorul va marca
doar timpul curent (tampila de timp) i le va trimite napoi ct mai repede posibil.
Ca un exemplu, s presupunem c se folosete metrica ntrzierilor i c ruterul cunoate
ntrzierea spre fiecare dintre vecinii si. O dat la fiecare T msec fiecare ruter trimite spre fiecare
vecin o list a estimrilor proprii spre fiecare destinaie. De asemenea el recepioneaz o list
similar de la fiecare vecin. Sa presupunem c una dintre aceste tabele tocmai a sosit de la vecinul X,
cuZ; fiind estimarea lui X despre ct timp este necesar pentru a ajunge la ruterul i. Dac ruterul tie
c ntrzierea spre X este m msec, el tie de asemenea c poate atinge ruterul / trecnd prin X n X{
+ m msec. Fcnd aceste calcule pentru fiecare vecin, un ruter poate stabili care estimare pare a fi
cea mai bun, pentru a folosi aceast estimare, mpreun cu linia corespunztoare n noua tabel de
dirijare. De remarcat faptul c vechea tabel de dirijare nu se folosete pentru calcule.

Noua ntrziere
Ruter estimat de la J
La A H K Linia
0 24 20 2T 8 A
12 36 31 28 20 A
25 18 19 36 28 I
40 27 8 24 20 H
14 7 30 22 17 I
23 20 19 40 30 I
18 31 6 31 18 H
17 20 0 19 12 H
21 0 14 22 10 I
(a) 9 11 7 10 0 -
24 22 22 0 6 K
29 33 9 9 15 K
intrzienle Noua
JA Jl JH JK tabel de
8 10 12 6 rutare
pentru J
Vectorii primii de la
cei patru vecini ai lui J
(b)

Fig. 5-10. (a) O subreea. (b) Intrri de la A, I, H i K i noua tabel de dirijare pentru J.
sEC 5.2 ALGORITMI DE DIRIJARE 331

Acest proces de actualizare este ilustrat n Fig. 5-10. Partea (a) pezint o subreea. Primele
patru coloane din partea (b) conin vectorii de ntrzieri primii de la vecinii ruterului /. v4
afirm c are 12 msec ntrziere spre B, 25 msec ntrziere spre C, 40 msec ntrziere spre D
etc. Presupunem c / i-a msurat sau estimat ntrzierea fa de vecinii si A, I, H i K,
obinnd valorile 8,10,12 i 16 msec, respectiv.
S vedem cum calculeaz / noua cale spre rutenii G. El tie c poate ajunge la A n 8 msec i A
pretinde c este n stare s ajung la G n 18 msec, astfel nct / poate conta pe o ntrziere de 26
msec spre G dac dirijeaz pachetul spre A Similar, el calculeaz ntrzierea spre G prin I,H,K ca
fiind 41 (31 + 10), 18 (6 + 12) i 37 (31 + 6) respectiv. Cea mai bun valoare este 18, deci el va
pregti o intrare n tabela de dirijare ctre G, care va avea ntrzierea 18 msec i care va specifica
linia de ieire care trebuie urmat prin H. Aceleai calcule se fac pentru toate destinaiile,
obinndu-se noua tabel de dirijare, care este prezentat n ultima coloan a figurii.

Problema numrrii la infinit


Dirijarea folosind vectori distan funcioneaz n teorie, ns n practic are o limitare
important: dei ea converge spre rezultatul corect, o face foarte lent. n particular, ea reacioneaz
rapid la vetile bune, dar foarte lent la cele rele. S considerm un ruter care are un cel mai bun
drum spre destinaia X foarte lung. Dac la urmtorul schimb de informaii, vecinul su A
raporteaz brusc o ntrziere mic spre X, rutenii va comuta i va folosi linia spre ,4 pentru a dirija
traficul spre X. Astfel, ntr-o singur schimbare a vectorului, vestea bun a fost luat n considerare.

A B C D E A B C D E

00 oo oo oo Iniial 12 3 4 Iniial
1 oo oo co Dup 1 schimb 3 2 3 4 Dup 1 schimb
1 2 oo oo Dup 2 schimburi 3 4 3 4 Dup 2 schimburi
1 2 3 oo Dup 3 schimburi 5 4 5 4 Dup 3 schimburi
1 2 3 4 Dup 4 schimburi 5 6 5 6 Dup 4 schimburi
7 6 7 6 Dup 5 schimburi
(a) 7 8 7 8 Dup 6 schimburi

oo oo oo co

(b)

Fig. 5-11. Problema numrrii la infinit.

Pentru a vedea ct de repede se propag vetile bune, s considerm subreeaua (liniar) de cinci
noduri din Fig. 5-11, unde metrica ntrzierilor este numrul de salturi. Presupunem c iniial nodul
A nu funcioneaz i toate celelalte rutere cunosc acest lucru. Cu alte cuvinte, toate celelalte rutere
au nregistrat ntrzierea spre A ca avnd valoarea infinit.
Cnd A pornete, celelalte rutere afl aceasta datorit schimbrilor din vector. Pentru
simplificare, vom considera c exist un gong uria undeva, care bate periodic pentru a iniia
schimbul de vectori simultan la toate ruterele. La momentul primului schimb, B afl c vecinul din
332 NIVELUL REEA CAP. 5

stnga are o ntrziere nul spre A. Astfel, B creeaz o nou intrare n tabela sa, marcnd faptul c A
este la un singur salt distan, spre stnga. Toate celelalte rutere consider c A este nc oprit.
Intrrile tabelei de dirijare pentru A, la acest moment, sunt prezentate n a doua linie din Fig. 5-
ll(a). La urmtorul schimb, C afl c B are o cale de lungime 1 spre A, astfel nct i actualizeaz
tabela de dirijare pentru a indica o cale de lungime 2, ns D i E nu vor primi vestea cea bun dect
mai trziu. Evident, vestea cea bun se rspndete cu viteza de un salt la fiecare schimb. ntr-o
subreea avnd calea cea mai lung de lungime N salturi, dup N schimburi fiecare ruter va afla
despre liniile i ruterele nou aprute.
S considerm acum situaia din Fig. 5-1 l(b), n care toate liniile i ruterele sunt iniial n
funciune. Ruterele B, C,D iE au distanele spre A respectiv de 1, 2, 3, 4. Brusc, A se oprete
sau, alternativ, linia dintre A i B este ntrerupt, ceea ce reprezint efectiv acelai lucru din
punctul de vedere al lui B.
La primul schimb de pachete, B nu primete nimic de la A. Din fericire, C spune: Nici o
problem. Eu tiu o cale spre A de lungime 2." ns B nu tie c aceast cale a lui C trece prin B
nsui. Dup cunotinele lui B, C ar putea avea zece linii de ieire, toate pe ci independente de
lungime 2 spre A Prin urmare B va crede c poate ajunge la^4 prin C pe o cale de lungime 3. D i E
nu i actualizeaz intrrile proprii pentruyl la primul schimb.
La al doilea schimb, C remarc faptul c fiecare dintre vecinii si pretinde a avea o cale de
lungime 3 spre A. El va alege la ntmplare unul dintre aceti vecini i va nregistra noua distan
spre A ca fiind 4, aa cum se arat n linia a treia din Fig. 5-1 l(b). Schimburile urmtoare vor
produce succesiunea prezentat n continuare n Fig. 5-ll(b).
Din aceast figur se poate deduce de ce vetile rele circul mai lent: nici un ruter nu va avea
vreodat o valoare mai mare cu mai mult de unu dect valoarea minim a vecinilor si. Treptat,
toate ruterele vor ajunge la infinit, ns numrul de schimburi necesar depinde de valoarea numeric
folosit pentru a reprezenta valoarea infinit. Din aceast cauz este recomandat s se aleag
infinitul, ca fiind lungimea celei mai mari ci, plus 1. Dac metrica este ntrzierea n timp, atunci nu
este definit nici o limit superioar, astfel nct este necesar o valoare mare pentm a preveni
considerarea unui drum cu ntrziere mare ca fiind un drum defect. Nu e deloc surprinztor acum
de ce aceast problem se cheam problema numrrii la infinit (the count to infinit) problem).

Despicarea orizontului
n literatura de specialitate au fost propuse numeroase soluii ad-hoc ale problemei numrrii la
infinit, fiecare mai complicat i mai puin folositoare dect precedenta. Vom descrie aici doar una
dintre ele i apoi vom arta de ce i aceasta, la rndul ei, este greit. Algoritmul de despicare a
orizontului funcioneaz similar cu dirijarea folosind vectori distan, excepie fcnd faptul c
distana spre X nu este nregistrat pe linia pe care se trimit pachetele pentru X (de fapt, aceast
distan este considerat infinit). De exemplu, n starea iniial din Fig. 5-1 l(b), C i declar lui D
distana adevrat ctre A, ns C i declar lui B c lungimea cii spre A este infinit. Similar, D i
spune adevrul lui E, ns fl minte pe C.
S vedem acum ce se ntmpl dac A se oprete. La primul schimb, B descoper c linia direct
a czut, iar C raporteaz de asemenea o distan infinit ctre A. Deoarece nici unul dintre vecinii si
nu poate atinge A, B va atribui distanei proprii valoarea infinit. La urmtorul schimb, C afl c A
este inaccesibil pentru ambii si vecini, deci l va marca pe A ca fiind inaccesibil. Folosind aceast
2
SEC.5- ALGORITMI DE DIRIJARE 333

metod, vetile rele se propag cu viteza de un salt pe schimb. Aceast vitez este mult-mai bun
dect cea fr despicarea orizontului.
Vestea cu adevrat proast este c aceast metod, dei larg utilizat, uneori greete. S
considerm de exemplu subreeaua de patru noduri din Fig. 5-12. Iniial, atM ct i B au ambele
distana 2 spre D, iar C are distana 1.
A. . .B

Ruter

Fig. 5-12. Un exemplu n care despicarea orizontului eueaz.

S presupunem acum c linia CD se ntrerupe. Folosind despicarea orizontului, att>l ct i B


anun lui C c nu mai pot accesa D. Astfel C consider imediat c D este inaccesibil i raporteaz
aceasta att lui A ct i lui B. Din pcate A afl c B are o cale de lungime 2 spre D, astfel nct
presupune c poate atinge D prin B n 3 salturi. Similar, B presupune c poate atinge D prinzi n 3
salturi. La urmtorul schimb fiecare va modifica distana spre D la 4. Astfel, ambele ajung s
numere treptat la infinit, avnd exact comportamentul care s-a dorit s fie evitat.

5.2.6 Dirijarea folosind starea legturilor

Dirijarea folosind vectori distan a fost folosit n ARPANET pn n 1979, cnd a fost
nlocuit prin dirijarea folosind starea legturilor. Au fost dou probleme importante care au
cauzat aceast schimbare. n primul rnd, deoarece metrica folosit era lungimea cozilor de
ateptare, nu se lua n considerare limea de band la stabilirea rutei. Iniial toate liniile erau
de 56 kbps, astfel nct limea de band nu era o problem, ns dup ce cteva linii au fost
mbuntite la 230 kbps, iar altele la 1.544 Mbps, neluarea n considerare a limii de band a
devenit o problem major. Evident, era posibil s se schimbe metrica folosit pentru a
depinde i de limea de band, ns exista i o a doua problem i anume aceea c algoritmul
convergea destul de greu, chiar i cu trucuri de genul despicrii orizontului. De aceea, a fost
nlocuit cu un algoritm nou, numit algoritm de dirijare folosind starea legturilor (link state
routing)). Variantele acestui algoritm sunt actualmente foarte rspndite.
Ideea algoritmului bazat pe starea legturilor este simpl i poate fi formulat n 5 puncte.
Fiecare ruter trebuie:

1. Sa descopere care sunt vecinii si i afle adresele de reea ale acestora.


2. S msoare ntrzierea sau costul pn la fiecare din vecinii si.
3. S pregteasc un pachet prin care anun pe toat lumea c tocmai a terminat de cules
datele despre vecini.
4. S trimit acest pachet ctre toate celelalte rutere.
5. S calculeze cea mai scurt cale spre fiecare ruter.
334 NIVELUL REEA CAP. 5

Ca urmare, ntreaga topologie i toate ntrzierile sunt msurate experimental i distribuite spre
fiecare ruter. Apoi se poate folosi algoritmul lui Dijkstra pentru a afla cea mai scurt cale ctre
fiecare ruter. n continuare vom analiza mai n detaliu aceti cinci pai.

Determinarea vecinilor

Cnd un ruter este pus n funciune, prima sa sarcin este s afle care sunt vecinii si. El
realizeaz aceasta prin trimiterea unui pachet special HELLO pe fiecare linie prin care este legat la
alt ruter. Rutenii de la cellalt capt trebuie s rspund anunnd ntr-un pachet identitatea sa.
Aceste nume trebuie s fie unice global, pentru c dac mai trziu un ruter afl c trei rutere sunt
conectate toate la F, este esenial ca acesta s poat determina dac cele trei se refer la acelai F.

Ruter

Fig. 5-13. (a) Nou rutere i o LAN. (b) Graful asociat punctului (a).

Cnd dou sau mai multe rutere sunt conectate printr-o LAN, situaia devine puin mai
complicat. Fig. 5-13(a) ilustreaz conectarea direct a trei rutere A, C i F la o LAN. Fiecare dintre
aceste rutere este conectat cu unul sau mai multe alte rutere, aa cum se arat.
O modalitate de a modela reeaua local este de a o considera ca un nod, aa cum se arat n Fig.
5-13 (b). Aici am introdus un nod nou, artificial, N, la cart A, C i F sunt conectate. Faptul c este
posibil s se mearg de fa A la C prin LAN este reprezentat aici de calea^VC.

Msurarea costului liniei

Algoritmul de dirijare bazat pe starea legturilor cere ca fiecare ruter s tie, sau cel puin s aib
o estimare rezonabil, a ntrzierii ctre fiecare din vecinii si. Cel mai direct mod de a afla acest
lucru este de a trimite un pachet special ECHO pe linie, cernd ca ruterul partener s-1 trimit
napoi imediat. Msurnd timpul n care pachetul se ntoarce (round-trip time) i mprindu-1 la
doi, ruterul iniiator poate avea o estimare rezonabil a ntrzierii. Pentru rezultate i mai bune,
testul poate fi repetat de mai multe ori, folosindu-se apoi valoarea medie obinut.
O problem interesant este dac s se considere sau nu ncrcarea reelei la msurarea
ntrzierii. Pentru a ine cont de ncrcare, timpul de revenire trebuie msurat din momentul n care
SEC. 5.2 ALGORITMI DEDIRIJARE 335

pachetul ECHO este pus n coad. Penttu a ignora ncrcarea, ceasul se poate porni n momentul n
care pachetul ECHO atinge prima poziie din coad.
Pot fi aduse argumente n favoarea ambelor variante. Dac se ine cont de ntrzierile provocate
de trafic la msurtori nseamn c dac un ruter trebuie s aleag ntre dou linii cu aceeai lime
de band, una dintre ele fiind puternic ncrcat tot timpul, iar cealalt nefiind foarte ncrcat,
atunci ruterul va desemna calea cea mai puin ncrcat ca fiind cea mai scurt. Aceasta alegere va
duce la mbuntirea performanelor.

Fig. 5-14. O subretea n care prile de Est i Vest sunt conectate prin dou linii.

Din pcate, exista i un argument mpotriva folosirii ncrcrii la calculul ntrzierii. S


considerm subreeaua din Fig. 5-14, care este divizat n dou zone, Est i Vest, conectate prin
dou linii, CF i EI. S presupunem c majoritatea traficului ntre Est i Vest folosete linia CF i
prin urmare, aceast linie este puternic ncrcat i are ntrzieri mari. Folosirea ntrzierilor n cozi
pentru calculul celei mai scurte ci va face ca drumul EI s fie preferat. Dup ce noile tabele de
dirijare au fost instalate, majoritatea traficului Est-Vest va trece acum prin EI, suprancrcnd-o. De
aceea, la urmtoarea actualizare, CF va prea a fi calea cea mai scurt. Prin urmare tabelele de
dirijare vor oscila puternic, conducnd la o dirijare fluctuant i facilitnd apariia multor probleme
poteniale. Dac nu se ine cont de ncrcare, lundu-se n considerare doar limea de band,
aceast problem nu mai apare. Alternativ, ncrcarea poate fi distribuit pe ambele linii, dar
aceast soluie nu folosete n ntregime calea cea mai bun.

Construirea pachetelor cu starea legturilor

De ndat ce a fost colectat informaia necesar pentru realizarea schimbului, se poate trece la
pasul urmtor, fiecare ruter construind un pachet care conine toate datele. Pachetul ncepe cu
identitatea expeditorului, urmat de un numr de secven, vrst (care va fi descris n continuare)
i o list a vecinilor. Pentru fiecare vecin se specific ntrzierea asociat. Un exemplu de subretea
este prezentat n Fig. 5-15(a), unde sunt marcate ntrzierile asociate liniilor. Pachetele cu starea
legturilor asociate tuturor celor ase rutere sunt prezentate n Fig, 5-15(b).
336 NIVELUL REEA CAP. 5

Pachete cu starea legturilor


B 2 C
A B C D E F
Secv. Secv. Secv. Secv. Secv. Secv.
Vrst Vrst Vrst Vrst Vrst Vrst
_Bj 4 A 4 B 2 C 3 A 5 TT6
E 5 C 2 D 3 F 7 C 1 7
E 8 F F 6 E 1 F 8 E 8

(a) (b)

Fig. 5-15. (a) O subreea. (b) Pachetele cu starea legturilor pentru aceast subreea.

Construirea pachetelor cu starea legturilor se face uor. Partea mai dificil este s se determine
cnd s fie construite ele. O posibilitate este ca ele s fie construite periodic, adic la intervale
regulate. O alt posibilitate este atunci cnd se produce un eveniment semnificativ, cum ar fi
scoaterea din funciune a unui vecin sau a unei linii, sau repunerea lor n funciune, sau modificarea
semnificativ a proprietilor lor.

Distribuirea pachetelor cu starea legturilor

Cea mai complicat parte a algoritmului este distribuirea sigur a pachetelor cu starea
legturilor. De ndat ce pachetele sunt distribuite i instalate, ruterele care primesc primele pachete
i vor schimba rutele. n consecin, rutere diferite ar putea folosi versiuni diferite ale topologiei,
ceea ce poate duce la apariia unor inconsistene, bucle, maini inaccesibile sau a altor probleme.
Pentru nceput vom descrie algoritmul de baz folosit pentru distribuie. Apoi vom
prezenta unele mbuntiri posibile. Ideea fundamental este folosirea inundrii pentru a
distribui pachetele cu starea legturilor. Pentru a avea controlul inundrii, fiecare pachet
conine un numr de secven care este incrementat la fiecare nou pachet trimis. Ruterele
pstreaz evidena tuturor perechilor (ruter surs, numr secven) pe care le vd. La sosirea
unui nou pachet cu starea legturilor, el este cutat n lista pachetelor deja vzute. Dac
pachetul este nou, el este retrimis pe toate liniile, cu excepia celei pe care a sosit. Dac este
un duplicat, pachetul este distrus. Dac pachetul sosit are un numr de secven mai mic dect
cel mai mare numr de secven detectat, atunci el este rejectat ca fiind nvechit.
Acest algoritm are cteva probleme, dar ele sunt tratabile. n primul rnd, dac numerele
de secven ating valoarea maxim posibil i rencep de la valori mici, se pot produce confuzii.
Soluia este folosirea numerelor de secven pe 32 bii. Considernd un pachet de starea
legturilor pe secund, ar trebui 137 ani pentru a se rencepe de la valori mici, astfel nct
aceast posibilitate poate fi ignorat.
n al doilea rnd, dac un ruter se defecteaz, el va pierde evidena numerelor de secven. Dac
va rencepe de la 0, urmtorul pachet va fi rejectat ca duplicat.
n al treilea rnd, dac numrul de secven este alterat i se recepioneaz 65540 n loc de 4
(eroare de modificare a unui bit), pachetele de la 5 la 65540 vor fi rejectate ca fiind nvechite,
deoarece se consider c numrul de secven curent este 65540.
Soluia tuturor acestor probleme este includerea vrstei pachetului dup numrul de secven i
decrementarea sa la fiecare secund. Cnd vrsta ajunge la zero, informaia de la rutenii respectiv
SEC. 5.2 ALGORHM DE DIRIJARE 337

este distrus. n"mod normal un nou pachet apare, s zicem, la fiecare 10 minute, astfel nct
informaia de la ruter expir doar dac rutenii este oprit (sau dac ase pachete consecutive s-au
pierdut, un lucru extrem de improbabil). Cmpul vrst este decrementat de asemenea de fiecare
ruter la nceputul procesului de inundare, pentru a se asigura c nici un pachet nu se poate pierde
sau nu poate supravieui o perioad nelimitat (un pachet avnd vrsta zero este distrus).
Unele mbuntiri ale algoritmului pot s-1 fac mai robust. Cnd un pachet cu starea
legturilor ajunge ntr-un ruter pentru inundare, el nu este pus n coada de transmisie imediat.
El este pus ntr-o zon de ateptare pentru o scurt perioad. Dac nainte de a fi trimis
sosete un alt pachet cu starea legturilor de la aceeai surs, numerele lor de secven sunt
comparate. Dac sunt identice, duplicatul este distrus. Dac sunt diferite, cel mai btrn este
ignorat. Pentru a prentmpina erorile pe linia ruter-ruter, toate aceste pachete sunt
confirmate. Dac linia nu este folosit, zona de ateptare este inspectat n manier round-
robin, pentru a selecta un pachet sau o confirmare de trimis.
Structura de date folosit de ruterul B pentru subreeaua din Fig. 5-15(a) este descris n
Fig. 5-16. Fiecare linie corespunde unui pachet cu starea legturilor sosit recent, dar nc
neprelucrat n ntregime. Se nregistreaz n tabel originea pachetului, numrul de secven,
vrsta i datele transportate. n plus mai exist unele indicatoare (flags) de trimitere i
confirmare pentru fiecare dintre cele trei linii ale lui B (respectiv ctre A, C, F). Indicatorul de
trimitere precizeaz c pachetul trebuie trimis pe linia indicat. Indicatorul de confirmare
precizeaz c respectivul pachet trebuie confirmat. .
Trimitere ACK

Sursa Secv. Vrsta A C F A c F Date

A 21 60 0 1 1 1 0 0

F 21 60 1 1 0 0 0 1

E 21 59 0 1 0 1 0 1

C 20 60 1 0 1 0 1 0

D 21 59 1 0 0 0 1 1

Fig. 5-16. Zona tampon pentru pachete a ruterului B din Fig. 5-15.

n Fig. 5-16, pachetul cu starea legturilor de la^4 sosete direct, astfel nct el trebuie trimis ctre
C i F i trebuie confirmat ctre A, aa cum precizeaz biii indicatori. Similar, pachetul de la F
trebuie trimis ctre A i C i confirmat ctre F.
Oricum, situaia celui de-al treilea pachet, de la E, este diferit. El sosete de dou ori, nti pe
calea EAB i apoi pe calea EFB. n consecin el trebuie trimis numai ctre C, ns trebuie confirmat
att \wA ct i lui F, aa cum indic i biii corespunztori.
Dac sosete un duplicat n timp ce pachetul este nc n zona tampon, biii trebuie modificai.
De exemplu, dac o copie a strii lui C sosete de la F nainte ca a patra intrare din tabel s fie
trimis, cei ase bii se vor schimba la 100011 pentru a preciza c pachetul trebuie confirmat ctre F,
dar nu trimis acolo.
338 NIVELUL REEA CAP. 5

Calcularea noilor rute


De ndat ce un ruter a acumulat un set complet de pachete cu starea legturilor, el poate
construi graful ntregii subretele, deoarece fiecare legtur este reprezentat. De fapt, fiecare
legtur este reprezentat de dou ori, o dat pentru fiecare direcie. Cele dou valori pot fi mediate
sau folosite separat.
Acum poate fi folosit local algoritmul lui Dijkstra, pentru a construi cea mai scurt cale ctre
toate destinaiile posibile. Rezultatul acestui algoritm poate fi trecut n tabelele de dirijare, iar apoi
operaiile normale pot fi reluate.
Pentru o subreea format din n rutere, fiecare avnd k vecini, memoria necesar pentru a stoca
datele de intrare este proporional cu kn. Pentru subretele mari, aceasta poate fi o problem. De
asemenea i timpul de calcul poate fi important. Cu toate acestea, n multe situaii, algoritmul bazat
pe starea legturilor funcioneaz bine.
Oricum, probleme ale hardware-ului sau software-ului pot influena negativ funcionarea acestui
algoritm (la fel ca a altora). De exemplu, dac un ruter pretinde c are o linie pe care de fapt nu o
are, sau uit despre o linie pe care o are, graful subreelei va fi incorect. Dac un ruter eueaz n a
retrimite pachetele, sau le altereaz coninutul n timp ce le retrimite, vor apare probleme. n fine,
dac un ruter rmne fr memorie sau calculeaz greit rutele, se vor petrece lucruri urte. Pe
msur ce subreeaua crete n dimensiune, ajungnd la zeci sau sute de mii de noduri,
probabilitatea ca un ruter s se defecteze devine neneglijabil. Trucul care se poate folosi const n
ncercarea de limitare a pagubelor atunci cnd inevitabilul s-a produs. Perlman (1988) trateaz n
detaliu aceste probleme, precum i soluiile lor.
Dirijarea bazat pe starea legturilor este larg folosit n reelele actuale, astfel nct ar fi
potrivite cteva cuvinte despre unele protocoale care o folosesc. Protocolul OSPF, care este folosit
din ce n ce mai mult n Internet, folosete un algoritm bazat pe starea legturilor. Vom descrie
protocolul OSPF n seciunea 5.5.5.
Un alt protocol important bazat pe starea legturilor este IS-IS (Intermediate System-
Intermediate System), care a fost proiectat pentru DECnet i mai apoi adoptat de ISO pentru a fi
folosit cu protocolul neorientat pe conexiune de la nivelul reea, CLNP. De atunci a fost modificat
pentru a se descurca i cu alte protocoale, cel mai important fiind IP. IS-IS este folosit n numeroase
coloane vertebrale ale Internet-ului (Internet backbones) (inclusiv n vechiul NSFNET) i n unele
sisteme digitale celulare cum ar fi CDPD. Novell NetWare folosete o variant simplificat IS-IS
(NLSP) pentru a dirija pachetele IPX.
n principiu IS-IS distribuie o imagine a topologiei ruterelor, pe baza creia se calculeaz
calea cea mai scurt. Fiecare ruter anun, n informaia de stare a legturilor sale, ce adrese la
nivelul reea poate s acceseze direct. Aceste adrese pot fi IP, IPX, AppleTalk, sau orice alte
adrese. IS-IS poate accepta chiar mai multe protocoale ale nivelului reea n acelai timp.
Multe din inovaiile din proiectarea lui IS-IS au fost preluate de OSPF (OSPF a fost proiectat la
muli ani dup IS-IS). Acestea includ o metod auto-stabilizatoare a inundrii, folosit la
actualizarea strii legturilor, conceptul de ruter dedicat ntr-o LAN, metoda de calcul i utilizare a
cilor divizate i mai multe metrici. Ca o consecin, vor exista puine diferene ntre IS-IS i OSPF.
Cea mai important diferen este c IS-IS este codificat n aa fel, nct suport uor i chiar natural
s transporte informaiile mai multor protocoale ale nivelului reea, o caracteristic pe care OSPF
nu o are. Acest avantaj este deosebit de important, n special n mediile mari, multiprotocol.
SEC. 5.2 ALGORITMI DE DIRIJARE 339

5,2.7 DiEpreierarhic

Pe msur ce reelele cresc n dimensiune, tabelele de dirijare cresc proporional. Pe lng


faptul c memoria ruterului este consumat de fiecare nou cretere a tabelelor, pentru
parcurgerea lor este necesar tot mai mult timp de calcul i se folosete tot mai mult din limea
de band pentru a trimite rapoartele de stare despre ele. La un moment dat, reeaua poate
crete pn la un punct la care nu mai este posibil ca fiecare ruter s dein o intrare pentru
fiecare alt ruter, astfel nct dirijarea trebuie fcut ierarhic, la fel ca n reeaua telefonic.
Atunci cnd se folosete dirijarea ierarhic, ruterele sunt mprite n ceea ce vom numi regiuni,
fiecare ruter tiind toate detaliile necesare pentru a dirija pachete spre destinaie n cadrul regiunii
sale, dar netiind nimic despre organizarea intern a celorlalte regiuni. Dac se leag reele diferite,
este natural s privim fiecare reea ca pe o regiune, pentru a elibera ruterele dintr-o reea de sarcina
de a cunoate structura topologic a celorlalte.
Pentru reele uriae, o ierarhie pe dou niveluri ar putea fi insuficient, ar putea fi necesar
s grupm regiunile n asociaii (clusters), asociaiile n zone, zonele n grupuri i aa mai
departe pn ce nu mai avem nume pentru aceste aglomerri. Ca un exemplu de ierarhie
multinivel, s considerm cum poate fi dirijat un pachet din Berkeley, California spre Malindi,
Kenya. Ruterul din Berkeley cunoate n detaliu topologia din California, aa c va trimite tot
traficul pentru exteriorul statului ctre ruterul din Los Angeles. Ruterul din Los Angeles este
capabil s dirijeze traficul spre alte rutere interne, dar va trimite tot traficul extern spre New
York. Ruterul din New York este programat s dirijeze traficul ctre ruterul din ara de
destinaie care se ocup de traficul extern, de exemplu n Nairobi. n final, pachetul va urma
calea sa, cobornd n arborele din Kenya pn ce ajunge la Malindi.

Tabela complet Tabela ierarhic


pentru 1A pentru 1A
Oest. Linie Salturi Det. Linie Salturi
Regiune 1 Regiune 2 1A IA
,"""B"-\ /2A 2 B \ 1B 1B 1 1B 1B 1
IC IC 1 IC 1C 1
1C/ 2D
2A 1B 2 2 1B 2
\2C
2B 1B 3 3 1.C 2
2C 1B 3 4 IC 3
2D 1B 4 5 IC 4
3A V 4A \ /"5B 5C 3A IC 3
* 5A.~ 3B 1C 2
3B A4B JlC/X 5D 4A 1C 3
4B 1C 4
Regiune 3 Regiune 4 Regiune 5
4C 1C 4
5A 1C 4
5B IC 5
5C 1B 5
5D 1C 6
5E_ 1C 5
(a) (b) (O

Fig. 5-17. Dirijare ierarhic.


34 NIVELUL REEA CAP. 5

Fig. 5-17 sugereaz un exemplu cantitativ al dirijrii ntr-o ierarhie pe dou niveluri, avnd
cinci regiuni. Tabela de dirijare complet a ruterului L4 are 17 intrri, aa cum se arat n Fig.
5-17 (b). Cnd dirijarea se face ierarhic, aa ca n Fig. 5-17(c), exist intrri pentru toate
ruterele locale, la fel ca i pn acum, ns toate celelalte regiuni au fost condensate ntr-un
singur ruter, astfel nct tot traficul pentru regiunea 2 va merge pe linia 1A-2B, iar restul
traficului la distan va merge pe linia 1C-3B. Dirijarea ierarhic a redus dimensiunea tabelei
de la 17 intrri la 7. Pe msur ce raportul ntre numrul de regiuni i numrul de rutere dintr-
o regiune crete, se economisete tot mai mult spaiu de memorie.
Din pcate acest ctig de spaiu nu este gratuit. Trebuie pltit un pre i acesta este concretizat
n creterea lungimii cilor. De exemplu, cea mai bun cale de la L4 la 5C este prin regiunea 2, ns
n dirijarea ierarhic tot traficul ctre regiunea 5 este trimis spre regiunea 3, deoarece aa este mai
bine pentru majoritatea destinaiilor din regiunea 5.
Dac o reea unic devine prea mare, o ntrebare interesant este: Cte niveluri trebuie s aib
ierarhia? De exemplu, s considerm o subreea cu 720 rutere. n absena oricrei ierarhii, tabela de
dirijare a fiecrui ruter trebuie s conin 720 intrri. Dac subreeaua este partiionat n 24 regiuni
cu 30 de rutere fiecare, fiecare ruter necesit 30 de intrri locale plus 23 de intrri pentru celelalte
regiuni, deci un total de 53 intrri. Dac se alege o ierarhie pe trei niveluri, cu opt asociaii (clusters),
fiecare avnd 9 regiuni a cte 10 rutere fiecare, fiecare ruter are nevoie de 10 intrri pentru ruterele
locale, 8 intrri pentru celelalte regiuni din asociaia sa i de 7 intrri pentru celelalte asociaii, deci
un total de 25 intrri. Kamoun i Kleinrock (1979) au descoperit c numrul optim de niveluri
pentru o subreea cu N rutere este lnN, ceea ce necesit un total de e ln/V intrri pentru fiecare ruter.
Ei au artat de asemenea c creterea efectiv a lungimii medii a cilor provocat de dirijarea
ierarhic este suficient de mic pentru a fi acceptat.

5.2.8 Dirijarea pentru calculatoare gazd mobile

Milioane de oameni dein astzi calculatoare portabile i, de obicei, ei doresc s-i citeasc pota
electronic i s-i acceseze sistemele de fiiere uzuale din orice punct al lumii s-ar afla. Aceste
calculatoare mobile introduc o nou complicaie: pentru a dirija un pachet ctre un calculator mobil,
reeaua trebuie mai nti s-1 localizeze. Problema integrrii calculatoarelor mobile ntr-o reea este
foarte recent, dar n aceast seciune vom sugera unele abordri i vom da o posibil soluie.
Modelul lumii folosit de obicei de proiectanii de reele este cel prezentat n Fig. 5-18. Aici avem
o reea WAN format din rutere i calculatoare gazd. LA WAN sunt conectate LAN-uri, MAN-uri
i celule de comunicaie fr fir de tipul celor descrise n Cap. 2.
Utilizatorii care nu se mic niciodat se numesc staionari. Ei sunt conectai la reea prin fire de
cupru sau fibre optice. n contrast, putem distinge alte dou categorii de utilizatori. Utilizatorii
migratori sunt de fapt utilizatori staionari, dar care, din cnd n cnd, se mut dintr-un loc fixat n
altul i care folosesc reeaua doar atunci cnd sunt legai fizic. Utilizatorii cltori efectueaz calcule
n timp ce se deplaseaz i doresc s menin legtura n timpul deplasrii. Vom folosi termenul
utilizatori mobili pentru a desemna fiecare dintre ultimele dou categorii, adic toi utilizatorii care
sunt departe de cas.
Se presupune c toi utilizatorii au o locaie de domiciliu permanent (home location), care nu se
modific niciodat. Utilizatorii au de asemenea o adres personal permanent, care poate fi
folosit pentru a determina locaia de domiciliu, ntr-o manier similar celei n care numrul de
SEC 52 ALGORITMI DE DIRIJARE 341

telefon 1-212-5551212 indic Statele Unite (codul de ar 1) i Manhattan (212). Scopul dirijrii n
sistemele cu utilizatori mobili este de a face posibil s se trimit pachete spre utilizatorii mobili
folosind adresa lor personal permanent i s se asigure o trimitere eficient a pachetelor spre ei,
oriunde ar fi acetia. Problema este, bineneles, modul de localizare a lor.

Gazd mobil1
\ ,>
Agent }\ /
pentru strini'

LAN pentru strini


\/
WAN MAN

Fig. 5-18. O reea WAN la care sunt conectate reele LAN, MAN
i celule de comunicaie fr fir.

n modelul din Fig. 5-18, lumea este divizat (geografic) n uniti de dimensiune redus. S
denumim aceste uniti domenii, ele sunt de obicei LAN-uri sau celule de comunicaie fr fir. n
fiecare domeniu exist unul sau mai muli ageni pentru strini (foreign agent) care in evidena
tuturor utilizatorilor mobili care viziteaz domeniul. n plus, fiecare domeniu are un agent local
(local agent) care ine evidena utilizatorilor cu domiciliul n domeniul respectiv, dar care tocmai
viziteaz alte domenii.
Cnd un nou utilizator ptrunde ntr-un domeniu, fie prin conectarea la acesta (ataarea fizic la
LAN), fie prin plimbarea printr-o celul, calculatorul su trebuie s se nregistreze la agentul pentru
strini din domeniul respectiv. Procedura de nregistrare se desfoar de obicei astfel:

1. Periodic, fiecare agent pentru strini difuzeaz un pachet anunndu-i existena i adresa.
Un utilizator mobil nou sosit trebuie s atepte unul dintre aceste mesaje, ns dac nici unul
nu sosete ntr-un interval rezonabil de timp, calculatorul mobil poate difuza un pachet care
spune: Este vreun agent pentru strini prin zon?"
2. Calculatorul mobil se nregistreaz la agentul pentru strini preciznd adresa sa
permanent, adresa actual a nivelului legtur de date, precum i unele informaii de
securitate.
3. Agentul pentru strini contacteaz apoi agentul local al domeniului din care provine
utilizatorul mobil i i spune: Unul dintre calculatoarele tale gazd se afl chiar aici."
Mesajul agentului pentru strini ctre agentul local conine adresa de reea a agentului
pentru strini. El mai conine de asemenea i informaia de securitate, pentru a convinge
agentul local c gazda mobil este ntr-adevr acolo.
342 NIVELUL REEA CAP. 5

4. Agentul local examineaz informaia de securitate, care conine i o tampil de timp,


pentru a dovedi c a fost generat n ultimele cteva secunde. Dac este aa, se confirm
aceasta agentului pentru strini.
5. Cnd agentul pentru strini primete confirmarea de la agentul local, el creeaz o nou
intrare n tabela sa i anun utilizatorul mobil c a fost nregistrat.

Ideal, atunci cnd un utilizator prsete un domeniu, acest lucru trebuie anunat, pentru a fi
scos din eviden, ns muli utilizatori pur i simplu nchid calculatorul cnd termin.
Cnd se trimite un pachet ctre un utilizator mobil, el este dirijat ctre reeaua LAN unde este
domiciliul utilizatorului, deoarece adresa sugereaz c aa trebuie fcut, dup cum se ilustreaz i n
pasul 1 din Fig. 5-19. Pachetele trimise ctre utilizatorul mobil n LAN-ul su de domiciliu sunt
interceptate de agentul local. Apoi agentul local caut noua locaie (temporar) a utilizatorului
mobil i afl adresa agentului pentru strini care se ocup de utilizatorul mobil. Agentul local face, n
continuare, dou lucruri. n primul rnd, ncapsuleaz pachetul n cmpul de informaie util
(payload) al unui pachet de trimis, pe care l expediaz apoi ctre agentul pentru strini (pasul 2 din
Fig. 5-19). Acest mecanism se numete tunelare; l vom studia n detaliu puin mai trziu. Dup ce
recepioneaz pachetul ncapsulat, agentul pentru strini extrage pachetul iniial din cmpul payload
i l trimite ctre utilizatorul mobil drept cadru al nivelului legtur de date.

1. Pachetul este trimis la


adresa de acas a gazdei mobil

4. Urmtoarele pachete sunt


tunelate ctre agentul strin
3. Emitorul primete adresa
agentului pentru strini

2. Pachetul este tunelat


ctre agentul pentru strini

Fig. 5-19. Dirijarea pachetelor pentru utilizatorii mobili.

n al doilea rnd, agentul local anun expeditorul mesajului s trimit pachetele adresate
utilizatorului mobil prin ncapsularea lor n cmpul de informaie util (payload) al unor pachete
trimise explicit agentului pentru strini, n loc s le trimit la adresa de domiciliu a utilizatorului
sE C.5.2 ALGORITMI DE DIRIJARE 343

mobil (pasul 3). Pachetele urmtoare vor putea fi dirijate direct ctre utilizator, prin intermediul
agentului pentru strini (pasul 4), evitnd n ntregime trecerea prin locaia de domiciliu.
Diversele scheme propuse difer prin mai multe aspecte. n primul rnd, ct din acest protocol
este realizat de rutere i ct de calculatoarele gazd i, n aceast ultim situaie, pe care nivel de pe
calculatorul gazd. n al doilea rnd, unele scheme prevd rutere de-a lungul traseului care
nregistreaz adresele modificate, astfel nct s fie posibil interceptarea i redirectarea traficului
chiar nainte ca acesta s ajung la locaia de domiciliu. n al treilea rnd, n unele variante fiecare
vizitator primete o adres temporar unic; n altele adresa temporar se refer la un agent care se
ocup de toi vizitatorii.
n al patrulea rnd, variantele propuse difer prin modul de rezolvare a situaiei n care
pachetele adresate unei destinaii trebuie livrate n alt parte. O variant este schimbarea adresei
destinaie i retransmiterea pachetului modificat. Ca o alternativ, ntregul pachet, adresa de
domiciliu i toate celelalte pot fi ncapsulate n cmpul de informaie util (payload) al altui pachet
care este trimis spre adresa temporar. n fine, schemele difer prin aspectele legate de securitate. n
general, cnd un ruter sau calculator gazd primete un mesaj de forma ncepnd din acest
moment, v rog s trimitei toate mesajele de pot electronic ale lui Cayla ctre mine," el ar putea
avea dubii n legtur cu partenerul de dialog i dac este sau nu o idee bun s fac aa. Diferite
protocoale pentru calculatoare gazd mobile sunt discutate i comparate n (Ioannidis i Maguire,
1993; Myles i Skellern, 1993; Perkins, 1993; Teraoka .a., 1993; i Wanda .a., 1993).

5.2.9 Dirijarea prin difuzare

Pentru unele aplicaii, calculatoarele gazd au nevoie s trimit mesaje ctre mai multe sau ctre
toate celelalte calculatoare gazd. De exemplu, un serviciu de distribuire a rapoartelor
meteorologice, de actualizare a stocurilor pe pia sau transmisiuni radio n direct ar putea funciona
mai bine prin difuzarea datelor ctre toate mainile, fiind la latitudinea celor interesate de date s le
recepioneze. Trimiterea simultan a unui pachet ctre toate destinaiile se numete difuzare
(broadcast); au fost propuse mai multe metode pentru a o realiza.
O metod de difuzare care nu are cerine deosebite din partea reelei este ca sursa s trimit un
pachet distinct ctre fiecare destinaie. Metoda este nu numai consumatoare de lime de band, dar
ea cere ca sursa s dein o list complet a tuturor destinaiilor. S-ar putea ca n practic aceasta s
fie singura metod utilizabil, ns ea este metoda cea mai puin dorit.
Inundarea este un alt candidat evident. Dei inundarea este nepotrivit pentru comunicaia
obinuit capt la capt, pentru difuzare ar trebui luat serios n considerare, mai ales dac nici una
din metodele ce vor fi descrise n continuare nu este aplicabil. Problema folosirii inundrii ca
metod de difuzare este aceeai cu problema ivit la folosirea sa ca algoritm de dirijare capt la
capt: genereaz prea multe pachete i consum lime de band prea mare.
Al treilea algoritm este dirijarea multidestinaie. Dac se folosete aceast metod, fiecare
pachet conine fie o list a destinaiilor, fie o hart de bii care indic destinaiile dorite. Cnd un
pachet ajunge la un ruter, ruterul verific toate destinaiile pentru a determina setul liniilor de ieire
pe care trebuie trimis pachetul. (O linie de ieire este selectat dac este calea cea mai bun pentru
cel puin o destinaie.) Ruterul genereaz o nou copie a pachetului pentru fiecare linie de ieire
folosit i include n fiecare pachet doar acele destinaii care folosesc linia respectiv. Efectul este
partiionarea mulimii destinaiilor ntre liniile de ieire. Dup un numr suficient de salturi, fiecare
344 NIVELUL REEA CAP. 5

pachet va conine o singur destinaie i poate fi tratat ca un pachet normal. Dirijarea multidestinaie
este asemntoare trimiterii separate a mai multor pachete ctre adresele destinaie, excepia fiind
faptul c dac mai multe pachete trebuie s urmeze aceeai cale, unul dintre ele pltete tot drumul,
iar celelalte cltoresc gratuit.
Al patrulea algoritm de difuzare utilizeaz explicit arborele de scufundare al ruterului care
iniiaz difuzarea sau orice alt arbore de acoperire util. Un arbore de acoperire (spanning tree) este
un subset al subreelei care include toate ruterele i nu conine bucle. Dac fiecare ruter cunoate
care din liniile sale particip la arborele de acoperire, el poate copia un pachet de difuzare
recepionat pe toate liniile de ieire care fac parte din arborele de acoperire, cu excepia celei pe care
a fost recepionat. Aceast metod asigur o utilizare deosebit de eficient a limii de band,
genernd numrul minim de pachete necesare pentru a rezolva problema. Singura problem este c,
pentru a fi aplicabil, fiecare ruter trebuie s dein cunotine despre un anume arbore de acoperire.
Uneori aceast informaie este disponibil (de exemplu la dirijarea bazat pe starea legturilor), iar
alteori nu este disponibil (de exemplu la dirijarea cu vectori distan).
Ultimul nostru algoritm cu difuzare este o ncercare de a aproxima comportamentul
precedentului, chiar i atunci cnd ruterele nu tiu absolut nimic despre arborele de acoperire. Ideea
este remarcabil de simpl odat ce a fost indicat. Cnd un pachet de difuzare ajunge la un ruter,
acesta verific dac pachetul a sosit pe linia pe care se trimit de obicei pachete ctre sursa difuzrii.
Dac este aa, este o ans foarte mare ca nsui pachetul de difuzare s fi urmat cea mai bun cale,
fiind astfel prima copie care ajunge la ruter. Aceasta fiind situaia, rutenii trimite pachetul pe toate
liniile de ieire, cu excepia celei pe care a sosit. Dac ns pachetul a sosit pe alt linie dect cea
preferat pentru a ajunge la surs, pachetul este distrus, fiind considerat un posibil duplicat.

M M

(a) (b) (O

Fig. 5-20. Algoritmul cii inverse, (a) O subreea. (b) Un arbore de acoperire,
(c) Arborele construit de algoritmul cii inverse.

Un exemplu al algoritmului, numit trimiterea pe calea invers (inverse path forwarding), este
prezentat n Fig. 5-20. Partea (a) prezint subreeaua, partea (b) arat arborele de scufundare
pentru rutenii / al subreelei, iar partea (c) prezint cum funcioneaz algoritmul cii inverse. La
primul salt, / trimite pachete ctre F, H, J i N, aa cum se vede din al doilea nivel al arborelui.
Fiecare din aceste pachete ajunge pe calea preferat ctre / (presupunnd c ruta preferat face
SEC. 5.2 ALGORITMI DE DIRIJARE 345

parte din arborele de scufundate), lucru care este indicat printr-uncerc n jurul literei. La saltul
urmtor, se genereaz opt pachete, dou de ctre fiecare ruter care a primit un pachet la primul salt.
Aa cum se vede, toate aceste opt pachete ajung la rutere nc nevizitate i toate, cu excepia unuia,
ajung pe linia preferat. Dinte cele nou pachete generate la al treilea salt, doar dou sosesc pe linia
preferat (n C i L) i astfel doar ele genereaz pachete suplimentare. Dup cinci salturi i 24
pachete, difuzarea se termin, spre deosebire de patru salturi i 14 pachete necesare dac arborele
de scufundare ar fi fost urmat integral.
Principalul avantaj al folosirii cii inverse este acela c este rezonabil de eficient i este uor de
implementat. El nu cere ruterelor s cunoasc arborele de acoperire i nici nu are overhead-ul
algoritmului de adresare multidestinaie, care folosete o list de destinaii sau hart de bii la fiecare
difuzare. De asemenea, el nu necesit nici un mecanism special pentru a opri procesul, ca n cazul
inundrii (unde se folosete fie un contor al salturilor n fiecare pachet i o cunoatere a priori a
diametrului subreelei, fie o list de pachete deja vzute pentru fiecare surs).

5.2.10 Dirijarea cu trimitere multipl (multicast)

Pentru unele aplicaii, este necesar ca mai multe procese aflate la distane mari unele de altele s
lucreze n grup, de exemplu, un grup de procese care implementeaz o baz de date distribuit.
Adesea este necesar ca un proces s trimit un mesaj ctre toi ceilali membri ai grupului. Dac
grupul este mic, el poate trimite fiecrui partener un mesaj capt la capt. Dac grupul este mare,
aceast strategie este costisitoare. Uneori se poate folosi difuzarea, dar folosirea difuzrii pentru a
anuna 1000 de maini dintr-o reea cu un milion de noduri este ineficient, deoarece majoritatea
receptorilor nu sunt interesai (sau chiar mai ru, ei sunt chiar foarte interesai, dar nu e bine s
afle). De aceea avem nevoie de o modalitate de a trimite mesaje spre grupuri bine definite, care
conin un numr mare de noduri, dar totui redus fa de dimensiunea reelei ca un ntreg.
Trimiterea unui mesaj ctre un astfel de grup se numete multicasting, iar algoritmul de
dirijare asociat se numete dirijare multicast. In aceast seciune, vom descrie o modalitate de
a realiza dirijarea multicast. Pentru informaii adiionale, vezi (Deering i Cheriton, 1990;
Deering .a., 1994; Rajagopalan, 1992).
Pentru a realiza dirijarea multicast, este necesar gestiunea grupului. Trebuie s existe modaliti
de a crea i distruge grupuri i ca procesele s intre n grupuri sau s le prseasc. Cum se
realizeaz aceste funcii nu e treaba algoritmului de dirijare. Important pentru algoritmul de dirijare
este c atunci cnd un proces se ataeaz unui grup, el trebuie s informeze gazda sa despre aceasta.
Este foarte important ca un ruter s tie cror grupuri aparin calculatoarele gazd asociate. Fie
calculatoarele gazd trebuie s anune rutenii asociat la producerea unei modificri n alctuirea
grupurilor, fie rutenii trebuie s interogheze periodic aceste calculatoare gazd. n ambele cazuri,
rutenii determin care este apartenena la grupuri a calculatoarelor gazd. Ruterele i informeaz
vecinii, astfel c informaia se propag prin subreea.
Pentru a realiza dirijarea multicast, fiecare ruter calculeaz arborele de acoperire care
acoper toate celelalte rutere din subreea. De exemplu, n Fig. 5-21 (a) avem o subreea cu
dou grupuri, 1 i 2. Unele rutere sunt ataate la calculatoare gazd care aparin unuia sau
ambelor grupuri, aa cum se indic n figur. Un arbore de acoperire pentru cel mai din stnga
ruter este prezentat n Fig. 5-21(b).
346 NIVELUL REEA CAP. 5

Atunci cnd un proces trimite un pachet multicast ctre un grup, primul ruter i examineaz
arborele de acoperire i l reteaz, eliminnd toate liniile care nu conduc ctre calculatoare gazd,
membre ale grupului. n exemplul nostru, Fig. 5-21(c) arat arborele de acoperire retezat pentru
grupul 1. Similar, Fig. 5-21(d) arat arborele de acoperire retezat pentru grupul 2. Pachetele
multicast sunt dirijate doar de-a lungul arborelui de acoperire corespunztor.

2
-

(d)

Fig. 5-21. (a) O subreea. (b) Arborele de acoperire pentru cel mai din stnga ruter.
(c) Arborele multicast al grupului 1. (d) Arborele multicast al grupului 2.

Sunt posibile mai multe moduri de retezare a arborelui de acoperire. Cel mai simplu se poate
folosi dac se utilizeaz dirijarea bazat pe starea legturilor i fiecare ruter cunoate ntreaga
topologie a subretelei, inclusiv apartenena calculatoarelor gazd la grupuri. Atunci arborele poate fi
retezat pornind de la sfritul fiecrei ci i mergnd spre rdcin, eliminnd toate ruterele care nu
aparin grupului respectiv.
n cazul dirijrii folosind vectori distan, trebuie aplicat o alt strategie pentru retezarea
arborelui. Algoritmul de baz folosit este trimiterea pe calea invers. Oricum, ori de cte ori
un ruter fr nici un calculator gazd interesat de un anume grup i fr nici o conexiune la
alte rutere primete un mesaj multicast pentru acel grup, el va rspunde cu un mesaj PRUNE
(retezare), anunnd expeditorul s nu i mai trimit mesaje multicast pentru acel grup. Cnd
un ruter care nu are printre calculatoarele gazd nici un membru al vreunui grup primete
astfel de mesaje pe toate liniile sale, el poate de asemenea s rspund cu un mesaj PRUNE,
n acest fel subreteaua este retezat recursiv.
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 347

Un potenial dezavantaj al acestui algoritm este acela c se comport deficitar n cazul


reelelor extinse. S presupunem c o reea are n grupuri, fiecare cu un numr mediu de m
membri. Pentru fiecare grup, trebuie memorai m arbori de acoperire retezai, deci un total de
mn arbori. Dac exist grupuri mari, este necesar o cantitate tot mai mare de memorie pentru
a memora aceti arbori.
O alternativ de proiectare folosete arbori de baz (core-base trees) (Ballardie .a., 1993).
Aici se calculeaz un singur arbore de acoperire pentru fiecare grup, avnd rdcina (core -
inima, nucleu) lng mijlocul grupului. Pentru a trimite un mesaj multicast, un ruter trimite
mesajul ctre rdcin, care apoi l trimite de-a lungul arborelui de acoperire. Dei acest
arbore nu va fi optim pentru toate sursele, reducerea costului memorrii de la m arbori la unul
singur este o realizare major.

53 ALGORITMI PENTRU CONTROLUL CONGESTIEI


Atunci cnd foarte multe pachete sunt prezente ntr-o subreea (sau parte a unei subretele),
performanele se degradeaz. Situaia care apare se numete congestie. Fig. 5-22 prezint
simptomele. Cnd numrul de pachete emise n subreea de calculatoarele gazd nu depete
capacitatea de transport, ele sunt livrate integral (cu excepia celor care sunt afectate de erori de
transmisie), iar numrul celor livrate este proporional cu numrul celor emise. Totui, atunci cnd
traficul crete prea mult, ruterele ncep s nu mai fac fa i s piard pachete. Aceasta tinde s
nruteasc lucrurile. La un trafic foarte intens performanele se deterioreaz complet i aproape
nici un pachet nu mai este livrat.

Perfect

de transport a
subreelei

Pachete trimise

Fig. 5-22. Dac traficul este prea intens, apare congestia i performanele se
degradeaz puternic.

Congestia poate fi produs de mai muli factori. Dac dintr-o dat ncep s soseasc iruri de
pachete pe trei sau patru linii de intrare i toate necesit aceeai linie de ieire, atunci se va forma o
coad. Dac nu exist suficient memorie pentru a le pstra pe toate, unele se vor pierde.
Adugarea de memorie poate fi folositoare pn la un punct, Nagle (1987) descoperind c dac
ruterele ar avea o cantitate infinit de memorie, congestia s-ar nruti n loc s se amelioreze,
348 NIVELUL REEA CAP. 5

deoarece n timpul petrecut de pachete pentru a ajunge la nceputul cozii ele au fost deja
considerate pierdute (timeout repetat) i s-au trimis mai multe duplicate. Toate aceste pachete vor fi
cu greu trimise ctre urmtorul ruter, crescnd ncrcarea de-a lungul cii ctre destinaie.
i procesoarele lente pot cauza congestia. Dac unitatea central (CPU) a ruterului este lent
n execuia funciilor sale (introducerea n cozi, actualizarea tabelelor etc), cozile pot crete,
chiar dac linia de comunicaie nu e folosit la capacitate. Similar i liniile cu lime de band
sczut pot provoca congestia. Schimbarea liniilor cu unele mai performante i pstrarea
aceluiai procesor sau vice-versa de obicei ajut puin, ns de cele mai multe ori doar deplaseaz
punctul critic. De asemenea, mbuntirea parial i nu total a sistemului cel mai adesea mut
punctul critic n alt parte. Adevrata problem este de multe ori o incompatibilitate ntre pri
ale sistemului. Ea va persista pn ce toate componentele sunt n echilibru.
Congestia tinde s se auto-alimenteze i s devin tot mai rea. Dac un ruter nu mai are
zone tampon libere, el trebuie s ignore mesajele noi pe care le recepioneaz. Cnd un pachet
este distrus, ruterul care 1-a trimis (un vecin) poate iniia retransmiterea sa pe motiv de
timeout de mai multe ori. Deoarece nu poate distruge pachetul pn ce nu a fost confirmat,
congestia de la receptor l va fora pe emitor s nu elibereze o zon tampon pe care n mod
normal ar fi eliberat-o. n felul acesta congestia se accentueaz, ca n cazul mainilor care se
apropie de un punct de taxare de pe autostrad.
Este important s subliniem diferena dintre controlul congestiei i controlul fluxului, deoarece
relaia este subtil. Controlul congestiei trebuie s asigure c subreeaua este capabil s transporte
ntreg traficul implicat. Este o problem global, implicnd comportamentul tuturor calculatoarelor
gazd, ale tuturor ruterelor, prelucrarea de tip memoreaz i trimite" (store-and-forward) din
rutere i toi ceilali factori care tind s diminueze capacitatea de transport a subreelei.
Controlul fluxului, prin contrast, se refer la traficul capt la capt ntre un expeditor i un
destinatar. Rolul su este de a mpiedica un expeditor rapid s trimit date continuu, la o vitez mai
mare dect cea cu care destinatarul poate consuma datele. Controlul fluxului implic aproape
ntotdeauna existena unui feed-back de la receptor ctre emitor, pentru a spune emitorului cum
se desfoar lucrurile la cellalt capt.
Pentru a vedea diferena dintre aceste dou concepte, s considerm o reea cu fibre optice cu o
capacitate de 1000 gigabii/sec pe care un supercalculator ncearc s transfere un fiier ctre un
calculator personal la 1 Gbps. Dei nu exist nici o congestie (reeaua nu are nici un fel de
probleme), controlul fluxului este necesar pentru a fora supercalculatorul s se opreasc des, pentru
a permite calculatorului personal s i respire.
La cealalt extrem, s considerm o reea de tip memoreaz i trimite" (store-and-forward), cu
linii de 1 Mbps i 1000 de calculatoare mari, din care jumtate ncearc s transfere fiiere la 100
kbps ctre cealalt jumtate. Aici problema nu apare datorit unui emitor rapid care surclaseaz
un receptor lent, ci pentru c traficul cerut depete posibilitile reelei.
Motivul pentru care controlul congestiei i controlul fluxului sunt adesea confundate este acela
c unii algoritmi pentru controlul congestiei funcioneaz trimind mesaje napoi ctre diferitele
surse, spunndu-le s ncetineasc atunci cnd reeaua are probleme. Astfel, un calculator gazd
poate primi un mesaj de ncetinire fie din cauz c receptorul nu suport ncrcarea, fie pentru c
reeaua este depit. Vom reveni asupra acestui punct mai trziu.
SE C.5.3 AmORTIMIPENTRireONTROLUL CONGESTIEI 349

Vom ncepe studiul algoritmilor pentru controlul congestiei prin studiul unui model general al
congestiei. Apoi ne vom ocupa de principalele msuri pentru prevenirea sa. Dup aceea, vom vedea
o serie de algoritmi dinamici pentru tratarea congestiei odat ce a aprut.

5.3.1 Principii generale ale controlului congestiei

Multe din problemele care apar n sistemele complexe, cum ar fi reelele de calculatoare, pot fi
privite din punctul de vedere al unei teorii a controlului. Aceast abordare conduce la mprirea
tuturor soluiilor n dou grupe: n bucl deschis i n bucl nchis. Soluiile n bucl deschis
ncearc s rezolve problema printr-o proiectare atent, n esen s se asigure c problema nu
apare. Dup ce sistemul este pornit i funcioneaz, nu se mai fac nici un fel de corecii.
Instrumentele pentru realizarea controlului n bucl deschis decid cnd s se accepte
trafic nou, cnd s se distrug pachete i care s fie acestea, realizeaz planificarea deciziilor
n diferite puncte din reea. Toate acestea au ca numitor comun faptul c iau decizii fr a ine
cont de starea curent a reelei.
Prin contrast, soluiile n bucl nchis se bazeaz pe conceptul de reacie invers (feedback
loop). Aceast abordare are trei pri, atunci cnd se folosete pentru controlul congestiei:

1. Monitorizeaz sistemul pentru a detecta cnd i unde se produce congestia.


2. Trimite aceste informaii ctre locurile unde se pot executa aciuni.
3. Ajusteaz funcionarea sistemului pentru a corecta problema.

n vederea monitorizrii subreelei pentru congestie se pot folosi diverse metrici. Cele mai
utilizate sunt procentul din totalul pachetelor care au fost distruse din cauza lipsei spaiului temporar
de memorare, lungimea medie a cozilor de ateptare, numrul de pachete care sunt retransmise pe
motiv de timeout, ntrzierea medie a unui pachet, deviaia standard a ntrzierii unui pachet. n toate
cazurile, numerele mari indic creterea congestiei.
Al doilea pas n bucla de reacie este transferul informaiei legate de congestie de la
punctul n care a fost depistat la punctul n care se poate face ceva. Varianta imediat
presupune trimiterea unor pachete de la ruterul care a detectat congestia ctre sursa sau
sursele de trafic, pentru a raporta problema. Evident, aceste pachete suplimentare cresc
ncrcarea reelei exact la momentul n care acest lucru era cel mai puin dorit, subreeaua
fiind congestionat.
Exist ns i alte posibiliti. De exemplu, poate fi rezervat un bit sau un cmp n fiecare
pachet, pentru a fi completat de rutere dac congestia depete o anumit valoare de prag.
Cnd un ruter detecteaz congestie, el completeaz cmpurile tuturor pachetelor expediate,
pentru a-i preveni vecinii.
O alt abordare este ca ruterele sau calculatoarele gazd s trimit periodic pachete de prob
pentru a ntreba explicit despre congestie. Aceste informaii pot fi apoi folosite pentru a dirija
pachetele n zonele cu probleme. Unele staii de radio i trimit elicopterele s zboare deasupra
oraelor pentru a raporta congestiile de pe drumuri, n sperana c asculttorii lor i vor dirija
pachetele (mainile) astfel, nct s ocoleasc zonele fierbini.
n toate schemele cu feedback se sper c informarea asupra producerii congestiei va determina
calculatoarele gazd s ia msurile necesare pentru a reduce congestia. Pentru a funciona corect,
350 NIVELUL REEA CAP. 5

duratele trebuie reglate foarte atent. Dac de fiecare dat cnd dou pachete sosesc ntr-o linie, un
ruter strig STOP i de fiecare dat cnd rutenii e liber mai mult de 20 usec el strig PLEAC,
atunci sistemul va oscila puternic i nu va converge niciodat. Pe de alt parte, dac el ateapt 30
minute pentru a fi sigur nainte de a spune ceva, mecanismul pentru controlul congestiei
reacioneaz prea lent pentru a fi de vreun folos real. Pentru a funciona corect sunt necesare unele
medieri, dar aflarea constantelor de timp cele mai potrivite nu este o treab tocmai uoar.
Se cunosc numeroi algoritmi pentru controlul congestiei. Pentru a oferi o modalitate de
organizare a lor, Yang i Reddy (1995) au dezvoltat o taxonomie pentru algoritmii de control al
congestiei. Ei ncep prin a diviza algoritmii n cei n bucl nchis i cei n bucl deschis, aa cum s-a
precizat mai sus. n continuare mpart algoritmii cu bucl deschis n unii care acioneaz asupra
sursei i unii care acioneaz asupra destinaiei. Algoritmii n bucl deschis sunt de asemenea
mprii n dou subcategorii, cu feedback implicit i cu feedback explicit. n algoritmii cu feedback
explicit, pachetele sunt trimise napoi de la punctul unde s-a produs congestia ctre surs, pentru a o
avertiza. n algoritmii implicii, sursa deduce existena congestiei din observaii locale, cum ar fi timpul
necesar pentru ntoarcerea confirmrilor.
Prezena congestiei nseamn c ncrcarea (momentan) a sistemului este mai mare dect
resursele gestionate de sistem. Pentru rezolvare vin imediat n minte dou soluii: sporirea resurselor
sau reducerea ncrcrii. De exemplu subreeaua poate ncepe s foloseasc linii telefonice pentru a
crete temporar limea de band ntre anumite puncte. n sisteme ca SMDS (vezi Cap. 1), se poate
cere furnizorului o suplimentare temporar a limii de band. n sistemele bazate pe satelii,
creterea puterii de transmisie asigur de regul creterea limii de band. Spargerea traficului pe
mai multe ci n locul folosirii doar a celei mai bune poate duce efectiv la creterea limii de band.
n fine, ruterele suplimentare, folosite de obicei doar ca rezerve pentru copii de siguran (backups)
(pentru a face sistemul tolerant la defecte), pot fi folosite pentru a asigura o capacitate sporit atunci
cnd apar congestii serioase.
Oricum, uneori nu este posibil creterea capacitii sau aceasta a fost deja crescut la limit.
Atunci singura cale de a rezolva congestia este reducerea ncrcrii. Sunt posibile mai multe metode
pentru reducerea ncrcrii, cum ar fi interzicerea unor servicii ctre anumii utilizatori, degradarea
serviciilor pentru o parte sau pentru toi utilizatorii i planificarea cererilor utilizatorilor ntr-o
manier mai previzibil.
Unele din aceste metode, pe care le vom studia pe scurt, pot fi aplicate cel mai bine circuitelor
virtuale. Pentru subreelele care folosesc intern circuite virtuale aceste metode pot fi utilizate la
nivelul reea. Pentru subretele bazate pe datagrame ele pot fi totui folosite uneori pentru conexiuni
la nivelul transport. n acest capitol, ne vom concentra pe folosirea lor n cadrul nivelului reea. n
urmtorul, vom vedea ce se poate face la nivelul transport pentru a controla congestia.

5.3.2 Politici pentru prevenirea congestiei

S ncepem studiul nostru asupra metodelor pentru controlul congestiei prin analiza
sistemelor cu bucl deschis. Aceste sisteme sunt proiectate astfel, nct s minimizeze
congestia, n loc s o lase s se produc i apoi s reacioneze. Ele ncearc s-i ating
scopul folosind politici corespunztoare, la diferite niveluri. n Fig. 5-23 sunt prezentate
diferite politici pentru nivelul legtur de date, reea i transport, care pot influena
congestia (Jain, 1990).
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 351

Nivel Politic
Transport Politica de retransmisie \
Politica de memorare temporar a pachetelor n afar de secven
(out-of-order caching)
Politica de confirmare
Politica de control al fluxului
Determinarea timeout-ului
Reea Circuite virtuale contra datagrame n interiorul subreelei
Plasarea n cozi de ateptare a pachetelor i politici de servire
Politica de distrugere a pachetelor
Algoritmi de dirijare
Gestiunea timpului de via al pachetelor
Legtur de date Politica de retransmitere
Politica de memorare temporar a pachetelor n afar de secven
(out-of-order caching)
Politica de confirmare
Politica de control al fluxului

Fig. 5-23. Politici care influeneaz congestia.

S ncepem cu nivelul legtur de date i s ne continum apoi drumul spre niveluri superioare.
Politica de retransmisie stabilete ct de repede se produce timeout la un emitor i ce transmite
acesta la producerea timeout-ului. Un emitor vioi, care produce repede timeout i retransmite
toate pachetele n ateptare folosind retrimiterea ultimelor n, va produce o ncrcare mai mare dect
un emitor calm, care folosete retrimiterea selectiv. Strns legat de acestea este politica de
memorare. Dac receptorii distrug toate pachetele n afara secvenei, acestea vor trebui retransmise
ulterior, introducnd o ncrcare suplimentar.
i politica de confirmare afecteaz congestia. Dac fiecare pachet este confirmat imediat,
pachetele de confirmare vor genera un trafic suplimentar. Dac confirmrile sunt preluate de
traficul de rspuns, se pot produce timeout-uri i retransmisii suplimentare. O schem prea strns
pentru controlul fluxului (fereastr mic) reduce volumul de date i ajut n lupta cu congestia.
La nivelul reea, alegerea ntre folosirea circuitelor virtuale i datagrame influeneaz congestia,
deoarece muli algoritmi pentru controlul congestiei funcioneaz doar pe subretele bazate pe
circuite virtuale. Plasarea n cozi de ateptare a pachetelor i politicile de servire specific dac
ruterele au o coad pentru fiecare linie de intrare, o coad pentru fiecare linie de ieire sau ambele.
Mai precizeaz ordinea n care se prelucreaz pachetele (de exemplu round robin sau bazat pe
prioriti). Politica de distrugere a pachetelor este regula care stabilete pachetele distruse dac nu
mai este spaiu. O politic bun va ajuta la eliminarea congestiei, pe cnd una greit o va accentua.
Algoritmul de dirijare poate ajuta la evitarea congestiei prin rspndirea traficului de-a lungul
tuturor liniilor; un algoritm neperformant ar putea trimite toate pachetele pe aceeai linie, care deja
este congestionat. n fine, gestiunea timpului de via asociat pachetelor stabilete ct de mult
poate tri un pachet nainte de a fi distrus. Dac acest timp este prea mare, pachetele pierdute vor
ncurca pentru mult timp activitatea, iar dac este prea mic, este posibil s se produc timeout
nainte de a atinge destinaia, provocnd astfel retransmisii.
La nivelul transport apar aceleai probleme ca la nivelul legturii de date, n plus, determinarea
intervalului de timeout este mai dificil de realizat, deoarece timpul de tranzit prin reea este mai
greu de prezis dect timpul de tranzit pe un fir ntre dou rutere. Dac acesta este prea mic, vor fi
352 NIVELUL REEA CAP. 5

trimise inutil pachete suplimentare. Dac este prea mare, congestia se va reduce, ns timpul de
rspuns la pierderea unui pachet se va mri.

5.3.3 Formarea traficului

Una dintre principalele cauze ale congestiei este aceea c traficul este de obicei n rafal.
n cazul n care calculatoarele gazd ar putea fi fcute s transmit cu o rat uniform,
congestia nu ar mai fi ceva att de obinuit. O alt metod bucl deschis care ajuta la
controlul congestiei este impunerea unei rate previzibile cu care s fie transmise pachetele.
Aceast abordare a gestiunii congestiei este larg rspndit n reelele ATM i se numete
formarea traficului (traffic shaping).
Formarea traficului se ocup cu uniformizarea ratei medii de transmisie a datelor (atenuarea
rafalelor). n contrast, protocoalele cu fereastr glisant pe care le-am studiat anterior limiteaz
volumul de date n tranzit la un moment dat i nu rata la care sunt transmise acestea. La momentul
stabilirii unui circuit virtual, utilizatorul i subreeaua (clientul i furnizorul) stabilesc un anumit
model al traficului (form) pentru acel circuit. Att timp ct clientul i respect partea sa de
contract i trimite pachete conform nelegerii, furnizorul promite livrarea lor n timp util. Formarea
traficului reduce congestia i ajut furnizorul s-i in promisiunea. Astfel de nelegeri nu sunt
foarte importante pentru transferul de fiiere, ns sunt deosebit de importante pentru datele n timp
real, cum ar fi conexiunile audio sau video, care nu suport bine congestia.
Pentru formarea traficului clientul spune furnizorului: Modelul meu de transmisie arat cam
aa. Poi s te descurci cu el?" Dac furnizorul este de acord, problema care apare este cum poate
spune furnizorul dac clientul respect nelegerea i ce s fac dac nu o respect. Supravegherea
fluxului traficului se numete politica traficului (traffic policing.) Stabilirea unei forme a traficului i
urmrirea respectrii ei se fac mai uor n cazul subreelelor bazate pe circuite virtuale dect n cazul
subreelelor bazate pe datagrame. Cu toate acestea, chiar i n cazul subreelelor bazate pe
datagrame, aceleai idei pot fi aplicate la conexiunile nivelului transport.

Algoritmul gleii gurite


S ne imaginm o gleat cu un mic orificiu n fundul su, aa cum este prezentat n Fig. 5-
24(a). Nu conteaz cu ce rat curge apa n gleat, fluxul de ieire va fi la o rat constant, p, dac
este o cantitate de ap n gleat i zero dac gleata e goal. De asemenea, odat ce gleata s-a
umplut, orice cantitate suplimentar de ap se va revrsa n afara pereilor i va fi pierdut (adic nu
se va regsi n fluxul de ieire de sub orificiu).
Aceeai idee poate fi aplicat i n cazul pachetelor, aa cum se arat i n Fig. 5-24 (b).
Conceptual, fiecare calculator gazd este conectat la reea printr-o interfa coninnd o
gleat gurit, n fapt o coad intern cu capacitate finit. Dac un pachet sosete n coad
atunci cnd aceasta este plin, el este distrus. Cu alte cuvinte, dac unul sau mai multe procese
de pe acel calculator gazd ncearc trimiterea unui pachet atunci cnd coada conine deja
numrul maxim de pachete, pachetele noi vor fi distruse n modul cel mai nepoliticos cu
putin. Acest aranjament poate fi implementat n interfaa hardware sau poate fi simulat de
ctre sistemul de operare gazd. A fost propus pentru prima dat de ctre Turner (1986) i
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 353

numit algoritmul gleii gurite (Ihe leaky bucket algorithm). De fapt nu este altceva
dect un sistem de cozi cu un singur server i cu timp de servire constant.

Robinet

Pachet

Flux
neregulat
Gleat
gurit Gleata
Interfa reine
coninnd
pachetele
o gleat gurit

Flux
regularizat
Apa curge prin gaur
ntr-un flux constant

Reea

(a) (b)

Fig. 5-24. (a) O gleat gurit umplut cu ap (b) O gleat gurit, cu pachete.

Calculatorul gazd poate pune pe reea cte un pachet la fiecare tact al ceasului. Din nou aceasta
poate fi implementat n hardware sau poate fi simulat de ctre sistemul de operare. Acest
mecanism transform un flux neregulat de pachete de la procesele de pe calculatorul gazd ntr-un
flux uniform de pachete care se depun pe reea, netezind rafalele i reducnd mult ansele de
producere a congestiei.
Dac pachetele au toate aceeai dimensiune (de exemplu celule ATM), algoritmul poate fi
folosit exact aa cum a fost descris. Dac se folosesc pachete de lungimi variabile, este adesea mai
convenabil s se transmit un anumit numr de octei la fiecare tact i nu un singur pachet. Astfel,
dac regula este 1024 bii la fiecare tact, atunci se pot transmite un pachet de 1024, dou de 512
octei, sau patru de 256 octei .a.m.d. Dac numrul rezidual de octei este sczut, urmtorul
pachet va trebui s atepte urmtorul tact.
Implementarea algoritmului iniial al gleii este o treab uoar. Gleata gurit const de fapt
dintr-o coad finit. Dac la sosirea unui pachet este loc n coad, el este adugat la sfritul cozii, n
caz contrar, este distrus. La fiecare tact se trimite un pachet din coad (bineneles dac aceasta nu
este vid).
Algoritmul gleii folosind contorizarea octeilor este implementat aproximativ n aceeai
manier. La fiecare tact un contor este iniializat la n. Dac primul pachet din coad are mai puini
octei dect valoarea curent a contorului, el este transmis i contorul este decrementat cu numrul
corespunztor de octei. Mai pot fi transmise i alte pachete adiionale, att timp ct contorul este
354 NIVELUL REEA CAP. 5

suficient de mare. Dac contorul scade sub lungimea primului mesaj din coad, atunci transmisia
nceteaz pn la urmtorul tact, cnd contorul este rescris i valoarea sa pierdut.

" 25 MB/sec pentru 40 msec Hs=ES=E^


^&i3iE
. ; ..... : .. . ...-J.-...J ^ ^ ^ . .

' : "' j/~"v " ': j t * ? '| 'l t r !....-; : :. .

Timp (msec) - 500

: ! :
,, ,.j., ., : ,.., . ,: . . . . . .,.1, ,, , , , .; i .. i x.. i ; '
:.,: : .; ; : :......: ; X..Z X X-X -i - i Z'.,~l S.'.~..l '.".. .... ":'.'.....:....,'.':.'.'.'".
...-.4 [.. - . . ; . . . . - f .-

x....'Xv... l ...VX"..!.. ..'.'.*{....

(b) ^fZz^z3.z^^^^%^!^$^~Z!!i^$^^.

MB/sec pentru 500 msec

25 MB/sec pentru 11 msec


f-i -rr"-!1 -i"1, vV'"1i"""rV'"VT;XV"'*V^X"'X.V".t'.""'
;? ': t + *

2 MB/sec pentru 364 msec

Timp {msec) - 500

'- 25_ |y!B^?e_?,e.ii?|[y.2.2 n?5?, i


(d)
MB/sec pentru 228 msec ^M^N

Timp (msec) - 500

25 MB/sec pentru 33 msec

-i 3=3iE^s2MB/sec pentru 92 msec i ^ S ^ E E l ^ ^

Timp (msec) 500

MB/sec pentru 62 msec

2 MB/sec pentru 190 msec

Timp (msec)- 500

Fig. 5-25. (a) Intrarea pentru o gleat gurit, (b) Ieirea pentru o gleat gurit, (c) - (e) Ieirea
pentru o gleat cu jeton de capacitate 250KB, 500KB, 750KB. (f) Ieirea pentru o gleat cu jeton
de capacitate 500KB care alimenteaz o gleat gurit de 10 MB/sec.

Ca un exemplu de gleat gurit, s ne imaginm un calculator care produce date cu rata


de 25 mjlioane octei/sec (200 Mbps) i o reea care funcioneaz la aceeai vitez. Cu toate
ALGORITMI PENTRU CONTROLUL CONGESTIEI 355

ruterele pot s gestioneze datele la aceast rat doar pentru un timp foarte scurt,
intervale mai mari ele lucreaz optim pentru rate care nu depesc valoarea de
2 milioane octei/sec. S presupunem acum c datele vin n rafale, 1 milion de octei, cte o
rafal de 40 msec n fiecare secund. Pentru a reduce rata medie la 2 MB/sec, putem folosi o
gleat gurit avnd p = 2 MB/sec i o capacitate, C, de 1 MB. Aceasta nseamn c rafalele
de pn la 1 MB pot fi gestionate fr pierderi de date i c acele rafale sunt mprtiate de-a
lungul a 500 msec, indiferent ct de repede sosesc.
n Fig. 5-25(a) vedem intrarea pentru gleata gurit funcionnd la 25 MB/sec pentru 40 msec.
n Fig. 5-25(b) vedem ieirea curgnd la o rat uniform de 2 MB/sec pentru 500 msec.

Algoritmul gleii cu jeton

Algoritmul gleii gurite impune un model rigid al ieirii, din punct de vedere al ratei medii,
indiferent de cum arat traficul. Pentru numeroase aplicaii este mai convenabil s se permit o
cretere a vitezei de ieire la apariia unor rafale mari, astfel nct este necesar un algoritm mai
flexibil, de preferat unul care nu pierde date. Un astfel de algoritm este algoritmul gleii cu jeton
(the token bucket algorithm). n acest algoritm, gleata gurit pstreaz jetoane, generate de un
ceas cu rata de un jeton la fiecare T sec. n Fig. 5-26(a) vedem o gleat pstrnd trei jetoane i
avnd cinci pachete care ateapt s fie transmise. Pentru ca un pachet s fie transmis, el trebuie s
captureze i s distrug un jeton. n Fig. 5-26(b) vedem c trei din cele cinci pachete au trecut mai
departe, n timp ce celelalte dou ateapt s fie generate alte dou jetoane.

Calculator Calculator
gazd gazd

D
La fiecare AT D
este adugat Gleata
un jeton , reine
n gleat
\
rj
/
/ jetoanele

r- ii
\ I

\ /

Reele Reele

(a) (b)

Fig. 5-26. Algoritmul gleii cu jeton, (a) nainte, (b) Dup.

Algoritmul gleii cu jeton asigur o formare diferit a traficului, comparativ cu algoritmul gleii
RE: !
*'."Algoritmul gleii gurite nu permite calculatoarelor gazd inactive s acumuleze permisiuni
356 NIVELUL REEA CAP. 5

de transmitere pentru a trimite o rafal mai mare ulterior. Algoritmul gleii cu jeton permite
aceast acumulare, mergnd pn la dimensiunea maxim a gleii, n. Aceast proprietate permite
ca rafale de pn la n pachete s fie trimise simultan, permind apariia unor rafale la ieire,
asigurnd un rspuns mai rapid la apariia brusc a unor rafale la intrare.
O alt diferen ntre cei doi algoritmi este aceea c algoritmul gleii cu jeton arunc jetoanele
la umplerea gleii, dar niciodat nu distruge pachete. Prin contrast, algoritmul gleii gurite
distruge pachete la umplerea gleii.
i aici este posibil o variant, n care fiecare jeton reprezint dreptul de a trimite nu un pachet ci
k bii. Un pachet va putea fi trimis doar dac se dein suficiente jetoane pentru a-i acoperi lungimea n
bii. Pentru variantele viitoare se prevede folosirea jetoanelor fracionare.
Algoritmul gleii gurite i algoritmul gleii cu jeton pot fi folosite i pentru a uniformiza
traficul ntre rutere, la fel de bine cum pot fi folosite pentru a regla informaia de ieire a unui
calculator gazd, ca n exemplul prezentat. Oricum, o diferen evident este aceea c
algoritmul gleii cu jeton folosit pentru a regla ieirea unui calculator gazd l poate opri pe
acesta s trimit date atunci cnd apare vreo restricie. A spune unui ruter s opreasc
transmisiile n timp ce datele de intrare continu s soseasc, poate duce la pierderea de date.
Implementarea de baz a algoritmului gleii cu jeton se face printr-o variabil care numr
jetoane. Acest contor crete cu 1 la fiecare AT i scade cu 1 ori de cte ori este un pachet. Dac acest
contor atinge valoarea zero, nici un pachet nu mai poate fi trimis. n varianta la nivel de bii, contorul
este incrementat cu k bii la fiecare AT i decrementat cu lungimea pachetului trimis.
Caracteristica esenial a algoritmului gleii cu jeton este c permite rafalele, dar pn la o
lungime maxim controlat. Privii spre exemplu Fig. 5-25(c). Aici avem o gleat cu jeton, de
capacitate 250 KB. Jetoanele sosesc cu o rat care asigur o ieire de 2 MB/sec. Presupunnd
c gleata este plin cnd apare o rafal de 1 MB, ea poate asigura scurgerea la ntreaga
capacitate de 25 MB/sec pentru circa 11 milisecunde. Apoi trebuie s revin la 2 MB/sec pn
ce ntreaga rafal este trimis.
Calculul lungimii rafalei de vitez maxim este uor neltor. Nu este doar 1 MB mprit la 25
MB/sec deoarece, n timp ce rafala este prelucrat, apar alte jetoane. Dac notm S cu lungimea
rafalei n secunde, cu C capacitatea gleii n octei, cu p rata de sosire a jetoanelor n octei/secund,
cu M rata maxim de ieire n octei/secund, vom vedea c o rafal de ieire conine cel mult C +
pS octei. De asemenea, mai tim c numrul de octei ntr-o rafal de vitez maxim de S secunde
este MS. De aici avem

C + pS = MS

Rezolvnd aceast ecuaie obinem S = C / (M - p). Pentru parametrii considerai C = 250 KB,
M = 25 MB/sec i p = 2 MB/sec vom obine o durat a rafalei de circa 11 msec. Fig. 5-25(d) i Fig. 5-
25(e) prezint gleile cu jeton de capaciti 500 KB i respectiv 750 KB.
O problem potenial a algoritmului gleii cu jeton este aceea c i el permite apariia unor
rafale mari, chiar dac durata maxim a unei rafale poate fi reglat prin selectarea atent a lui p i M.
De multe ori este nevoie s se reduc valoarea de vrf, dar fr a se reveni la valorile sczute
permise de algoritmul original, al gleii gurite.
O alt cale de a obine un trafic mai uniform este de a pune o gleat gurit dup cea cu jeton.
Rata gleii gurite va trebui s fie mai mare dect parametrul p al gleii cu jeton, ns mai mic
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 357

dect rata maximi a reelei, Fig. 5-25(f) ilustreaz comportarea unei glei cu jeton de 500 KB,
urmat de o gleat gurit de 10 MB/sec.
Gestionarea tuturor acestor scheme poate fi puin mai special. n esen, reeaua trebuie s
simuleze algoritmul i s se asigure c nu se trimit mai multe pachete sau mai muli bii dect este
permis. Pachetele n exces sunt distruse sau pierdute, aa cum s-a discutat anterior.

5.3.4 Specificarea fluxului

Formarea traficului este eficient atunci cnd emitorul, receptorul i subreeaua sunt toi
de acord. Pentru a realiza nelegerea, este necesar s se specifice modelul traficului ntr-o
manier precis. O astfel de nelegere se numete specificarea fluxului. Ea const dintr-o
structur de date care descrie att modelul traficului introdus, ct i calitatea serviciului dorit
de aplicaie. O specificare a fluxului poate fi aplicat att pachetelor trimise pe un circuit
virtual, ct i unei secvene de datagrame trimise ntre o surs i o destinaie (sau chiar cu
destinaii multiple).
n aceast seciune vom descrie un exemplu de specificare a fluxului propus de Partridge
(1992). Ea este prezentat n Fig. 5-27. Ideea este c nainte de stabilirea unei conexiuni sau nainte
de trimiterea unei secvene de datagrame, sursa supune specificarea fluxului spre aprobare
subreelei. Subreeaua poate fie s o accepte sau rejecteze, fie s vin cu o contrapropunere (Nu
pot s-i ofer ntrziere medie de 100 msec; te mulumeti cu 150 msec? ). Dup ce emitorul i
subreeaua au ajuns la o nelegere, emitorul poate interoga receptorul dac este i el, de acord.

Caracteristicile intrrii Servicii dorite


Dimensiunea maxim a pachetului (octei) Senzitivitate la pierderi (octei)
Rata gleii cu jeton (octei/sec) Interval de pierderi (nsec)
Dimensiunea gleii cu jeton (octei) Senzitivitatea la pierderi a rafalei (pachete)
Rata maxim de transfer (octei/sec) Cea mai mic ntrziere observat (jjsec)
Cea mai mare variaie a ntrzierii (\\sec)
Calitatea garaniei

Fig. 5-27. Un exemplu de specificare a fluxului.

S examinm acum parametrii exemplului nostru de specificare a fluxului, ncepnd cu


specificarea traficului. Dimensiunea maxim a pachetului spune ct de mari pot fi pachetele.
Urmtorii doi parametri presupun implicit c traficul va fi format cu algoritmul gleii cu jeton,
lucrnd la nivel de octei. Ei precizeaz ci octei intr n gleata cu jeton ntr-o secund i ct de
mare este gleata. Dac rata este r octei/sec i dimensiunea gleii este b octei, atunci n orice
interval arbitrar At, numrul maxim de octei ce pot fi trimii este b + rAt. Aici primul termen
reprezint coninutul maxim posibil al gleii la nceputul intervalului, iar al doilea reprezint noile
intrri sosite n timpul intervalului. Rata maxim de transfer este cea mai mare rat pe care o poate
produce calculatorul gazd, indiferent de condiii i specific implicit cel mai scurt interval de timp n
care poate fi golit gleata cu jeton.
A doua coloan specific ce vrea aplicaia de la reea. Primii doi parametri reprezint
respectiv numrtorul i numitorul unei fracii care ne d rata maxim acceptabil a
358 NIVELUL REEA CAP. 5

pierderilor (de exemplu 1 octet pe or). Senzitivitatea rafalei la pierderi stabilete cte pachete
consecutive pierdute pot fi tolerate.
Urmtorii doi parametri se ocup de ntrzieri. Cea mai mic ntrziere observat specific durata
de ntrziere la care aplicaia sesizeaz acest lucru. Pentru un transfer de fiiere ea ar putea fi 1
secund, dar pentru un flux audio limita ar fi 3 msec. Cea mai mare variaie a ntrzierii ncearc s
cuantifice faptul c anumite aplicaii nu sunt sensibile la ntrzieri, ns sunt foarte sensibile la
fluctuaii (jitter), adic variaia timpului de tranzit al pachetelor capt la capt. Este dublul
numrului de microsecunde cu care ntrzierea unui pachet poate varia fa de medie. Deci, o
valoare de 2000 nseamn c un pachet poate sosi mai devreme sau mai trziu cu cel mult 1 msec.
n fine, Calitatea garantei precizeaz dac aplicaia are ntr-adevr nevoie de aa ceva. Pe de o
parte, caracteristicile de pierdere i ntrziere pot fi scopuri ideale, fr s se ntmple nimic dac ele
nu sunt realizate. Pe de alt parte, ele ar putea fi aa de importante, nct dac nu pot fi atinse
aplicaia se termin. Sunt posibile, evident i situaii intermediare.
Dei am privit specificarea fluxului ca o cerere a aplicaiei pentru subreea, ea poate fi de
asemenea o valoare returnat care spune ce poate face subreeaua. Astfel, ea poate fi folosit pentru
o negociere mai extins a nivelului serviciului.
O problem inerent a oricrei aplicaii referitoare la specificarea fluxului este c aplicaia
ar putea s nu tie cu adevrat de ce are nevoie. De exemplu, un program aplicaie rulat la
New York ar putea fi mai mult dect fericit cu o ntrziere de 200 msec pn la Sydney, dar
total nefericit cu aceeai ntrziere pn la Boston. Aici "serviciul minim" este n mod clar
funcie de ce se crede c se poate.

5.3.5 Controlul congestiei n subreelele bazate pe circuite virtuale

Metodele pentru controlul congestiei descrise anterior sunt n principiu n bucl deschis:
ele ncearc n primul rnd, s previn apariia congestiei n primul rnd, n loc s o trateze
dup ce a aprut. n aceast seciune, vom descrie unele abordri ale controlului dinamic al
congestiei n subreelele bazate pe circuite virtuale. n urmtoarele dou, vom studia tehnici ce
pot fi folosite n orice subreea.
O tehnic larg rspndit pentru a controla congestia care tocmai s-a produs i de a o mpiedica
s se agraveze este controlul admisiei. Ideea este simpl: odat ce s-a semnalat apariia congestiei,
nu se mai stabilesc alte circuite virtuale pn ce problema nu s-a rezolvat. Astfel, ncercarea de a
stabili o nou conexiune la nivel transport eueaz. Lsnd tot mai muli utilizatori s stabileasc
conexiuni, nu ar face dect s agraveze lucrurile. Dei aceast abordare este crud, ea este simpl i
uor de ntreinut. n sistemul telefonic, dac o central devine supraaglomerat, ea practic
controlul admisiei, nemaifurniznd tonul.
O alternativ este de a permite stabilirea de noi circuite virtuale, dar de a dirija cu atenie aceste
noi circuite prin zonele cu probleme. De exemplu, s considerm subreeaua din Fig. 5-28(a), n care
dou rutere sunt congestionate, aa cum se poate observa.
S presupunem c un calculator gazd ataat ruterului^l dorete s stabileasc o conexiune cu un
altul, ataat rutenilui/. n mod normal, aceast conexiune ar trece prin unul dintre cele dou rutere
congestionate. Pentru a evita situaia aceasta, putem redesena subreeaua aa cum se arat n
Fig. 5-28(b), omind ruterele congestionate i toate liniile asociate. Linia punctat arat o posibil
cale pentru un circuit virtual, care evit ruterele congestionate.
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 359

(a) (b)

Fig. 5-28. (a) O subreea congestionat, (b) Redesenarea subreelei


prin eliminarea congestiei i un circuit virtual de la A la B.

O alt strategie specific circuitelor virtuale este negocierea unei nelegeri ntre calculatorul
gazd i subreea la stabilirea unui circuit virtual. Aceast nelegere specific n mod normal
volumul i forma traficului, calitatea serviciului cerut i ali parametri, De obicei, pentru a-i respecta
partea din nelegere, subreeaua i rezerv resurse de-a lungul cii n momentul stabilirii circuitului
virtual. Resursele pot include tabele i spaiu pentru zone tampon n rutere i lime de band pe
linii. n acest fel, congestia nu prea are anse s se produc pe noul circuit virtual, deoarece toate
resursele sunt garantate a fi disponibile.
Acest stil de rezervare poate fi fcut tot timpul ca o procedur standard sau doar atunci cnd
reeaua este congestionat. Dezavantajul ncercrii de a-1 face tot timpul este risipa de resurse. Dac
ase circuite virtuale care pot folosi 1 Mbps trec toate prin aceeai legtur fizic de 6 Mbps, linia
trebuie marcat ca plin, chiar dac e puin probabil ca toate cele ase circuite s transmit n acelai
timp. n consecin, preul controlului congestiei este risipa de lime de band.

5.3.6 Pachete de oc

S ne oprim acum asupra unei abordri care poate fi folosit att n subreelele bazate pe circuite
virtuale ct i n cele bazate pe datagrame. Fiecare ruter poate gestiona cu uurin folosirea liniilor
sale de ieire precum i alte resurse. De exemplu, el poate asocia fiecrei linii o variabil real, u, a
crei valoare, ntre 0.0 i 1.0, reflect utilizarea recent a acelei linii. Pentru a menine o estimare ct
mai bun a lui u, periodic trebuie luate nite eantioane (fie 0, fie 1) ale utilizrii instantanee a liniei
/i apoi recalculat u cu formula:

unde constanta a determin ct de repede uit rutenii istoria recent.


Ori de cte ori u depete o anumit valoare, linia de ieire intr ntr-o stare de avertisment".
Fiecare pachet nou care sosete este verificat pentru a se vedea dac linia de ieire asociat este sau
360 NIVELUL REEA CAP. 5

nu n starea de avertisment. Dac este aa, ruterul trimite un pachet de oc ctre calculatorul gazd
surs, dndu-i destinaia gsit n pachet. Pachetul original este marcat (un bit din antet este
comutat) pentru a nu se mai genera pachete de oc pe calea aleas, apoi este retrimis n acelai fel.
Un calculator gazd surs, care primete un pachet de oc afl astfel c trebuie s reduc traficul
trimis spre destinaia specificat cu X procente. Deoarece alte pachete trimise ctre aceeai
destinaie sunt deja pe drum i vor genera alte pachete de oc, calculatorul gazd ar trebui s ignore
pachetele de oc referitoare la destinaia respectiv o anumit perioad de timp. Dup ce perioada
s-a scurs, calculatorul gazd ateapt alte pachete de oc un alt interval. Dac sosete un astfel de
pachet, linia este nc congestionat, astfel nct calculatorul va reduce fluxul i mai mult i va
rencepe s ignore pachetele de oc. Dac pe perioada de ascultare nu sosesc pachete de oc, atunci
calculatorul gazd poate s creasc din nou fluxul. Reacia implicit a acestui protocol poate ajuta la
prevenirea congestiei, netrangulnd fluxul dect dac au aprut probleme.
Calculatorul gazd poate reduce traficul prin ajustarea parametrilor asociai politicii
folosite, de exemplu dimensiunea ferestrei sau rata de scurgere a gleii. De obicei, primul
pachet de oc determin scderea ratei datelor la 0.50 din valoarea anterioar, urmtoarea
reduce traficul la 0.25 i aa mai departe. Creterea valorilor are loc cu rate mai mici pentru a
preveni reinstalarea rapid a congestiei.
Au fost propuse mai multe variaii ale acestui algoritm pentru controlul congestiei. Pentru una
dintre acestea, fiecare ruter poate menine mai multe valori de referin (praguri). n funcie de
pragul depit, pachetul de oc poate conine un avertisment blnd, unul sever sau un ultimatum.
Alt variant prevede folosirea lungimilor cozilor sau a utilizrii zonelor tampon n locul utilizrii
liniilor, ca semnal de comutare. Evident, se poate folosi aceeai ponderare exponenial cu aceast
metric, la fel ca i cu u.

Cozi echitabile ponderate


O problem a folosirii pachetelor de oc este aceea c aciunea executat de calculatorul gazd
este voluntar. S presupunem c un ruter este sufocat de pachetele trimise de patru surse i el
trimite pachete de oc ctre fiecare din ele. Unul dintre calculatoare reduce numrul de pachete, n
timp ce celelalte continu n acelai ritm. Rezultatul este c cel care a fost cinstit primete o porie i
mai mic de lime de band dect avea nainte.
Pentru a rezolva aceast problem, fcnd astfel supunerea mai atractiv, Nagle (1987) a propus
algoritmul cozilor echitabile. Esena acestui algoritm este aceea c ruterele au cozi multiple pentru
fiecare linie de ieire, una pentru fiecare surs. Cnd o linie devine inactiv, ruterul inspecteaz cozile
n manier round robin, prelund primul pachet din urmtoarea coad. n acest fel, dac n
calculatoare concureaz pentru o anumit linie de ieire, fiecare va putea s transmit un pachet la
fiecare n pachete. Trimiterea unui numr mare de pachete nu va mbunti aceast fracie. Exist
unele comutatoare ATM care folosesc acest algoritm.
Dei este un nceput, algoritmul are o problem: acord mai mult lime de band
calculatoarelor gazd care folosesc pachete mari dect celor care folosesc pachete mai mici. Demers
.a. (1990) au propus o mbuntire n care parcurgerea round robin este realizat ca i cum ar
simula un round robin bit cu bit, n locul unui round robin de tip pachet cu pachet. n consecin el
inspecteaz cozile repetat, octet cu octet, pn cnd expir cuanta asociat sau pn ce pachetul s-a
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI

terminat. Pachetele sunt apoi sortate n ordinea terminrii lor i trimise n aceast ordine.
Algoritmul este ilustrat n Fig. 5-29.

Pachet Timp de terminare


A 1 6 11 _15j 19 20 C 8
n 2 7 12 16 .B 16
13

3 8 o D 17
n 4 9 13 17 E 18
u
r
t 5 10 14 18 A 20

(a) (b)

Fig.5-29. (a) Un ruter avnd cinci pachete n coad pentru O.


(b) Timpii de terminare pentru cele cinci pachete.

n'Fig. 5-29(a) observm pachetele cu lungimi ntre 2 i 6. La momentul (virtual) 1 este


trimis primul octet al pachetului pe linia A Urmeaz primul octet al pachetului de pe linia B i
aa mai departe. Dup opt perioade, primul pachet care se termin este C. Fig. 5-29(b) conine
ordinea sortat a terminrilor. n absena unor noi sosiri, pachetele vor fi trimise n ordinea
listat, de la C, pn la A
O problem a acestui algoritm este aceea c el asigur aceeai prioritate pentru toate
calculatoarele. n multe situaii este mai eficient ca serverele de fiiere sau alte servere s
dein o lime de band mai bun dect clienii, astfel nct s poat prelucra doi sau mai
muli bii pe perioada de ceas. Acest algoritm modificat se numete algoritmul cozilor
echitabile ponderate (weighted fair queueing algorithm) i este foarte rspndit. Uneori
ponderea este egal cu numrul de circuite virtuale sau fluxuri ieind din main, astfel nct
fiecare proces primete aceeai lime de band. O implementare eficient a acestui algoritm
este prezentat n (Shreedhar i Varghese, 1995).

Pachete de oc salt cu salt

La viteze mari i de-a lungul unor distane mari trimiterea unui pachet de oc ctre calculatorul
surs nu funcioneaz normal, reacia fiind ntrziat. S considerm, de exemplu, un calculator n
San-Francisco (ruter A n Fig. 5-30) care trimite trafic ctre un calculator din New York (ruter D n
Fig. 5-30) la 155 Mbps. Dac rutenii din New York rmne fr zone tampon, atunci pachetului de
oc i vor trebui circa 30 msec pentru ca s revin la San Francisco. Propagarea pachetului de oc
este prezentat ca al doilea, al treilea i al patrulea pas din Fig. 5-30(a). n aceste 30 msec, se pot
trimite 4.6 MB (adic peste 10000 celule ATM). Chiar dac calculatorul gazd din San Franciso se
oprete imediat, cei 4.6 MB din pipe vor trebui gestionai n continuare i vor scdea performanele.
De-abia n a aptea diagram din Fig. 5-30(a) ruterul din New York va observa reducerea fluxului.
O abordare alternativ este ca pachetele de oc s aib efect n fiecare salt prin care trec,
aa cum se arat n secvena din Fig. 5-30(b).
362 NIVELUL REEA CAP. 5

Fluxul este n continuare


la o rat maxim

Fluxul este
redus

(a)

Fig. 5-30. (a) Un pachet de oc care afecteaz doar sursa,


(b) Un pachet de oc care afecteaz fiecare salt prin care trece.
A

In acest caz, de ndat ce pachetul de oc atinge JF, F trebuie s reduc fluxul spre D.
Procednd n acest fel, se cere din partea lui F alocarea mai multor zone tampon pentru flux,
SEC. 5.3 ALGORITMI PENTRW CONTROLUL CONGESTIEI MS

n timp ce sursa continu s emit la vitez maxim, ns D simte imediat o uurare, la fel ca
ntr-o reclam TV pentru nlturarea durerii de Cap. La pasul urmtor, pachetul de oc va
atinge E, spunndu-i lui E s reduc fluxul spre D. Aceast aciune solicit puternic zonele
tampon ale lui E, ns are un efect benefic imediat asupra lui F, uurndu-i munca. n fine,
pachetul de oc atinge A, ceea ce face ca fluxul s scad puternic.
Efectul acestei scheme salt cu salt asupra reelei este asigurarea unei eliberri imediate la locul
congestiei cu preul folosirii mai multor zone tampon. In acest fel congestia poate fi redus pn la
eliminare, fr a se pierde nici un pachet. Ideea este discutat n amnunt n (Mishra i Kanakia,
1992), unde se furnizeaz i rezultatele unei simulri.

5.3.7 Imprtierea ncrcrii

Cnd nici una dintre metodele anterioare nu reduc congestia, ruterele pot s-i scoat la btaie
artileria grea: imprtierea ncrcrii. Imprtierea ncrcrii este un mod simpatie ete a spune c
atunci cnd ruterele sunt inundate de pachete pe care nu le mai pot gestiona, pur i simplu le arunc.
Termenul provine din domeniul distribuiei energiei electrice, unde se refer la practica serviciilor
publice care las intenionat fr energie electric anumite zone, pentru a salva ntreaga reea de la
colaps, n zilele clduroase de var cnd cererea de energie electric depete puternic oferta.
Un ruter care se neac cu pachete poate alege la ntmplare pachetele pe care s le
arunce, ns de obicei el poate face mai mult dect att. Alegerea pachetelor care vor fi
aruncate poate depinde de aplicaiile care ruleaz. Pentru transferul de fiiere, un pachet vechi
este mai valoros dect unul nou, deoarece aruncarea pachetului 6 i pstrarea pachetelor de la
7 la 10 va cauza producerea unei sprturi" n fereastra receptorului, care poate fora
retrimiterea pachetelor de la 6 la 10 (dac receptorul distruge automat pachetele care sunt n
afara secvenei). n cazul unui fiier de 12 pachete, aruncarea pachetului 6 poate necesita
retransmiterea pachetelor de la 7 la 12, n timp ce aruncarea lui 10 va necesita doar
A

retrimiterea pachetelor de la 10 la 12. In contrast, pentru multimedia, un pachet nou este mult
mai important dect un pachet vechi. Prima politic (vechiul este mai bun dect noul) este
numit adesea a vinului, iar ultima (noul este mai bun dect vechiul) este numit a laptelui.
Un pas inteligent mai departe presupune cooperare din partea expeditorilor. Pentru multe
aplicaii, unele pachete sunt mai importante dect altele. De exemplu, unii algoritmi de compresia
imaginilor transmit periodic un cadru ntreg i apoi trimit urmtoarele cadre ca diferene fa de
ultimul cadru complet. n acest caz, aruncarea unui pachet care face parte dintr-o diferen este de
preferat aruncrii unuia care face parte dintr-un cadru ntreg. Ca un alt exemplu, s considerm
trimiterea documentelor care conin text ASCII i imagini. Pierderea unei linii de pixeli dintr-o
imagine este de departe mai puin duntoare dect pierderea unei linii dintr-un text.
Pentru a implementa o politic inteligent de distrugere a pachetelor, aplicaiile trebuie s
nscrie pe fiecare pachet clasa de prioritate din care face parte, pentru a indica ct de important este.
Dac ele fac aceasta, atunci cnd trebuie distruse unele pachete, ruterele vor ncepe cu cele din clasa
cea mai slab, vor continua cu cele din urmtoarea clas i aa mai departe. Evident, dac nu ar fi
nici un stimulent pentru a marca pachetele i altfel dect FOARTE IMPORTANT - A NU SE
DISTRUGE NICIODAT, SUB NICI UN MOTIV, nimeni nu ar face acest lucru.
Pentru a putea ncadra pachetele n clase de prioriti, este nevoie de un bit suplimentar n antet,
care s pstreze prioritatea. Celulele ATM au un astfel de bit rezervat n antet, astfel nct fiecare
364 NIVELUL REEA CAP. 5

celul este marcat fie de prioritate ridicat, fie de prioritate sczut. Comutatoarele ATM chiar
folosesc acest bit cnd este cazul s ia o decizie de distrugere.
n unele reele, pachetele sunt grupate n uniti mai mari, folosite pentru retransmisii. De
exemplu, n reelele ATM, ceea ce numim pachete" sunt de fapt celule de lungime fix. Aceste
celule sunt doar fragmente ale mesajelor". Dac o celul este distrus, atunci ntregul mesaj va fi
retransmis, nu numai celula respectiv. n aceste condiii, un ruter care distruge o celul poate foarte
bine s distrug toate celelalte celule ale mesajului, deoarece transmisia lor consum lime de
band i nu aduce nici un ctig - chiar dac ele trec mai departe, vor fi retransmise ulterior.
Rezultatele simulrilor arat c dac un ruter sesizeaz ivirea unor probleme, este mai bine s
nceap distrugerea pachetelor mai devreme, dect s atepte pn ce se blocheaz complet (Floyd
i Jacobson,1993; Romanow i Floyd, 1994). Procednd astfel, se poate preveni congestia nc din
faza incipient.

5.3.8 Controlul fluctuaiilor

Pentru aplicaii de genul transmisiilor audio sau video, nu prea conteaz dac pachetele au
nevoie de 20 msec sau de 30 msec pentru a fi distribuite, att timp ct durata de tranzit este
constant. Dac unele pachete au nevoie de 20 msec i altele de 30 msec, se va produce sunet sau
imagine de calitate inegal. Astfel, nelegerea ar putea fi ca 99 procente din pachete s fie livrate cu
o ntrziere de la 24.5 msec pn la 25.5 msec. Evident, valoarea medie trebuie aleas cu atenie,
pentru a fi realizabil. Cu alte cuvinte, trebuie calculat o congestie medie.
Fluctuaiile pot fi limitate prin calcularea timpului de tranzit estimat pentru fiecare salt de-a
lungul cii. Cnd un pachet ajunge la ruter, rutenii verific s vad ct de mult este decalat pachetul
fa de planificarea sa. Aceast informaie este pstrat n pachet i actualizat la fiecare salt. Dac
pachetul a sosit naintea planificrii, el este inut suficient pentru a reveni n grafic. Dac pachetul
este ntrziat fa de planificare, rutenii ncearc s-1 trimit ct mai repede. De fapt, algoritmul
pentru determinarea pachetului care va merge mai departe dintr-un set de pachete care concureaz
pentru o linie de ieire, va alege ntotdeauna pachetul cu cea mai mare ntrziere fa de program. n
acest fel, pachetele care au ajuns mai repede sunt ncetinite, iar cele care sunt ntrziate vor fi
accelerate, n ambele cazuri reducndu-se diferenele fa de planificarea iniial.

5.3.9 Controlul congestiei la transmisia multicast

Toi algoritmii de congestie discutai pn acum se ocupau de mesaje de la o surs unic i


pentru o destinaie unic. n aceast seciune, vom descrie un mod de a gestiona fluxuri multicast, de
la surse multiple spre destinaii multiple. De exemplu, s ne imaginm mai multe staii de televiziune
n circuit nchis, care emit fluxuri audio i video spre un grup de receptori, fiecare dintre acetia
putnd s vad simultan una sau mai multe staii i care sunt liberi s comute de la o staie la alta,
dup dorin. O aplicaie a acestei tehnologii ar putea fi o videoconferin, la care fiecare participant
se poate concentra asupra vorbitorului sau a expresiei efului, dup dorin.
n numeroase aplicaii multicast, grupurile i pot schimba dinamic componena, de exemplu ca
participanii la o videoconferin care se plictisesc i comut pe un serial uurel. n aceste condiii,
tactica de a rezerva n avans lime de band pentru emitor nu mai funcioneaz corespunztor,
deoarece va cere fiecrui emitor s gestioneze toate intrrile i ieirile celor din audiena sa i s
SEC.5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 365

regenereze arborele de acoperire la fiecare modificare. Pentru un sistem destinat transmiterii


televiziunii prin cablu, cu milioane de abonai, nu va merge deloc.

RSVP - Protocol de rezervare a resurselor

O soluie interesant, care poate funciona ntr-un astfel de mediu, este protocolul
RSVP (Resource reSerVation Protocol) (Zhang .a., 1993). El permite emitorilor multipli s
transmit spre grupuri multiple de receptori, permite fiecrui receptor s schimbe canalul la alegere
si optimizeaz limea de band folosit, eliminnd n acelai timp congestia.

Emitori

(b) (c)

Fig. 5-31. (a) O reea, (b) Arborele de acoperire multicast pentru calculatorul 1.
(c) Arborele de acoperire multicast pentru calculatorul 2.

n forma sa cea mai simpl, protocolul folosete dirijarea multicast cu arbori de acoperire,
aa cum s-a discutat anterior. Fiecare grup are asociat o adres de grup. Pentru a trimite unui
grup, un emitor pune adresa grupului n pachetele pe care le trimite. n continuare,
algoritmul standard de dirijare multicast va construi un arbore de acoperire care acoper toi
membri grupului. Algoritmul de dirijare nu este parte a RSVP. Singura diferen fa de
multicast-ul normal este o mic informaie suplimentar distribuit periodic grupului pentru a
spune ruterelor de-a lungul arborelui s menin anumite structuri de date.
Ca exemplu, s considerm reeaua din Fig. 5-31(a). Calculatoarele gazd 1 i 2 sunt emitori
multicast, iar calculatoarele gazd 3, 4, 5 sunt receptori multicast. n acest exemplu emitorii i
receptorii sunt disjunci, dar n general cele dou mulimi se suprapun. Arborii multicast pentru
mainile 1 i 2 sunt prezentai n Fig. 5-31(b), respectiv Fig. 5-31(c).
Pentru a avea o recepie mai bun i pentru a elimina congestia, fiecare dintre receptorii unui
grup trebuie s trimit un mesaj de rezervare n sus pe arbore spre emitor. Mesajul este propagat
366 NIVELUL REEA CAP. 5

folosind algoritmul cii inverse discutat anterior. La fiecare salt, rutenii noteaz rezervarea i rezerv
limea de band necesar. Dac limea de band este insuficient, se raporteaz eroare. n timpul
n care mesajul se ndreapt spre surs, limea de band a fost rezervat pe tot drumul de la
emitor spre receptorul care a fcut rezervarea de-alungul arborelui de acoperire.

C A
Lime de band
rezervat pentru
sursa 2
F D*
Lime de band
rezervat sursei 1

(a) (b) (O

Fig. 5-32. (a) Calculatorul gazd 3 cere un canal ctre calculatorul gazd 1.
(b) Calculatorul gazd 3 cere un al doilea canal ctre calculatorul gazd 2.
(c) Calculatorul gazd 5 cere un canal ctre calculatorul gazd 1.

Un exemplu de astfel de rezervare este prezentat n Fig. 5-32(a). Aici calculatorul gazd 3 a
cerut un canal ctre calculatorul gazd 1. Odat ce acesta a fost stabilit, pachetele pot ajunge
de la 1 la 3 fr congestie. S vedem acum ce se ntmpl dac calculatorul 3 rezerv apoi un
canal ctre cellalt emitor, calculatorul gazd 2, astfel nct utilizatorul s poat urmri dou
posturi de televiziune simultan. Se rezerv o a doua cale, aa cum se ilustreaz n Fig. 5-32(b).
Observai c sunt necesare dou canale distincte de la calculatorul gazd 3 ctre ruterul E,
deoarece se transmit dou fluxuri independente.
n fine, n Fig. 5-32 (c) calculatorul gazd 5 decide s urmreasc programul de televiziune
transmis de 1 i face de asemenea o rezervare. Pentru nceput, se rezerv lime de band spre
ruterul H. Acest ruter observ c are deja o rezervare ctre 1, astfel nct dac limea de band
necesar a fost rezervat, nu mai trebuie s rezerve nimic. Se poate ntmpla ca 3 i 5 s cear limi
de band diferite (de exemplu, 3 are un sistem de televiziune alb-negru, astfel nct nu are nevoie de
informaia de culoare), caz n care capacitatea rezervat trebuie s fie suficient pentru a satisface
cererea cea mai mare.
La realizarea unei rezervri, un receptor poate (opional) alege una sau mai multe surse de la
care vrea s recepioneze. De asemenea, el mai poate specifica dac aceste alegeri sunt fixe pe
durata rezervrii sau dac receptorul dorete s-i pstreze opiunea de a modifica sursele ulterior.
SEC 5.4 INTERCONECTAREA REELELOR 367

Ruterele folosesc aceast infojmaie pentru a optimiza planificarea limii de band. n particular,
doi receptori pot s partajeze o cale doar dac ambii stabilesc s nu modifice sursele ulterior.
Motivul acestei strategii n cazul dinamic sut la sut este c rezervarea limii de band
este decuplat de la surs. Odat ce un receptor a rezervat lime de banda, el poate comuta
ctre alt surs i s pstreze poriunea din calea existent care este comun cu calea ctre
noua surs. Cnd calculatorul 2 transmite mai multe fluxuri video, de exemplu, calculatorul 3
poate comuta ntre ele dup dorin, fr a-i schimba rezervarea: pe ruter nu-1 intereseaz la
ce program se uit utilizatorul.

5.4 INTERCONECTAREA REELELOR

Pn n acest moment, am presupus implicit c exist o singur reea omogen, n care


fiecare main folosete acelai protocol la fiecare nivel. Din pcate, aceast presupunere este
prea optimist. Exist mai multe tipuri de reele, incluznd LAN-uri, MAN-uri i WAN-uri. La
fiecare nivel se folosesc pe larg numeroase protocoale. n seciunile urmtoare vom analiza n
detaliu problemele care apar cnd dou sau mai multe reele sunt legate mpreun pentru a
forma o inter-reea (internet).
Exist controverse considerabile pe tema ntrebrii dac abundena actual de tipuri de
reele este o condiie temporar, care va disprea de ndat ce toat lumea i va da seama ce
minunat este [completai cu tipul preferat de reea], sau dac este o caracteristic inevitabil,
dar permanent, a lumii care va persista. Existena reelelor de tipuri diferite nseamn,
invariabil, a avea protocoale diferite.
Credem c ntotdeauna vor coexista o varietate de reele diferite (i implicit de protocoale)
din urmtoarele motive. n primul rnd, numrul de reele diferite instalate este mare i n
cretere. Aproape toate laboratoarele UNIX folosesc TCP/IP. Multe ntreprinderi mari nc se
bazeaz pe sisteme de calcul care folosesc SNA. DEC dezvolt n continuare DECnet. LAN-
urile de calculatoare personale folosesc deseori Novell NCP/IPX sau AppleTalk. Sistemele
ATM ncep s fie rspndite. n cele din urm, sunt folosite deseori protocoale specializate
pentru reelele prin satelit, celulare sau n infrarou. Aceast tendin va continua mult timp
datorit numrului mare de reele existente i pentru c nu toi productorii percep n
interesul lor posibilitatea clienilor de a migra cu uurin spre sistemul altui productor.
n al doilea rnd, pe msur ce calculatoarele i reelele devin mai ieftine, nivelul la care se iau
deciziile se mut n jos. Multe companii au o politic care are ca efect c achiziiile de peste un
milion de dolari trebuie s fie aprobate de conducerea superioar, achiziiile de peste 100.000 de
dolari trebuie s fie aprobate de conducerea medie, dar achiziiile de pn la 100.000 de dolari pot fi
fcute de efii de departamente fr nici o aprobare de mai sus. Aceasta poate duce uor la
instalarea unei reele Ethernet la compartimentul contabilitate, a unei reele token bus la
compartimentul inginerie i a unei reele token ring la compartimentul personal.
n al treilea rnd, reele diferite (de exemplu ATM i fr fir) sunt bazate pe tehnologii
radical diferite i nu ar trebui s surprind c pe msur ce apar dezvoltri hardware, se vor
crea noi programe care s se potriveasc cu noul hardware. De exemplu, casa medie de astzi
este asemntoare cu biroul mediu de acum 10 ani; este plin de calculatoare care nu
comunic unul cu cellalt. n viitor, ar putea fi un lucru obinuit ca telefonul, televizorul i alte
368 NIVELUL REEA CAP. 5

aparate electrocasnice s fie legate n reea mpreun, pentru a permite controlul de la


distan. Aceast nou tehnologie va aduce, fr dubii, noi protocoale.
Ca un exemplu al modului de interaciune a diverselor reele, considerai urmtorul exemplu. n
majoritatea universitilor, departamentele de calculatoare i inginerie electric au LAN-urile lor
proprii, adesea diferite. n plus, centrul de calcul al universitii are adeseori un sistem de calcul i un
supercomputer, primul pentru membrii facultilor umanistice care nu doresc s intre n lumea
ntreinerii de calculatoare, iar al doilea pentru fizicienii care doresc s ronie numere. Ca o
consecin a acestei diversiti de reele i dotri, sunt uor de imaginat urmtoarele scenarii:

1. LAN-LAN: Un programator care copiaz un fiier din reeaua inginerilor.


2. LAN-WAN: Un programator care trimite pot electronic unui fizician aflat departe.
3. WAN-WAN: Doi poei care fac schimb de sonete.
4. LAN-WAN-LAN: Ingineri din diferite universiti care comunic.

Fig. 5-33 ilustreaz aceste patru tipuri de conexiuni cu linii punctate. n fiecare caz, este necesar
inserarea unei cutii negre" la jonciunea dintre dou reele, pentru a trata conversiile necesare
atunci cnd pachetele se mic dintr-o reea n alta.

Gazd

Fig. 5-33. Interconectarea reelelor.

Numele folosit pentru cutia neagr care unete cele dou reele depinde de nivelul la care
lucreaz. Cteva nume comune sunt date mai jos (dei nu exist un consens asupra terminologiei n
acest domeniu).

Nivelul 1: Repetoarele copiaz bii individuali ntre diferite segmente de cablu.


Nivelul 2: Punile stocheaz i apoi trimit cadre de tip legtur de date ntre LAN-uri.
Nivelul 3: Ruterele multiprotocol transmit pachete ntre reele de tipuri diferite.
Nivelul 4: Porile de transport conecteaz iruri de octei la nivelul transport.
Mai sus de nivelul 4: Porile de aplicaii permit cooperarea mai sus de nivelul 4.
SEC. 5.4 INTERCONECTAREA REELELOR 369

Pentru comoditate, vom folosi cteodat termenul poart" pentru a desemna orice dispozitiv
care conecteaz dou sau mai multe reele de tipuri diferite.
Repetoarele sunt dispozitive de nivel sczut care doar amplific sau regenereaz semnalele slabe.
Ele sunt necesare pentru a oferi curentul necesar cablurilor lungi. In 802.3, de exemplu, proprietile
de timp ale protocolului MAC (valoarea aleas pentru x) permit folosirea de cabluri de pn la
2.5 km> dar circuitele transceiverelor pot oferi putere doar pentru cabluri pn la 500 m. Soluia este
s se foloseasc repetoare pentru a extinde lungimea cablului acolo unde este nevoie.
Spre deosebire de repetoare, care copiaz biii pe msur ce acetia apar, punile (bridges) sunt
echipamente de tip stocheaz-i-trimite. O punte accept un ntreg cadru i l transmite deasupra,
nivelului legtur de date, unde este verificat suma de control. Apoi cadrul este trimis n jos,
nivelului fizic, pentru a fi trimis ntr-o reea diferit. Punile pot face mici modificri asupra cadrului
nainte de a-1 trimite, cum ar fi adugarea sau eliminarea unor cmpuri din antetul cadrului.
Datorit faptului c sunt dispozitive de nivel legtur de date, ele nu trateaz antetele de la nivelul 3
n sus i nu pot face schimbri sau modificri care depind de aceste antete.
Ruterele multiprotocol sunt, conceptual, similare cu punile, cu excepia faptului c se afl la
nivelul reea. Ele doar preiau pachetele venite pe o linie i le transmit pe alta, aa cum fac toate
ruterele, dar liniile pot face parte din reele diferite i pot folosi protocoale diferite (de exemplu IP,
IPX i protocolul fr conexiune din OSI, CLNP). Asemenea tuturor ruterelor, ruterele
multiprotocol opereaz la nivelul reea.
Porile de transport (transport gateways) fac o conexiune ntre dou reele la nivelul transport.
Vom discuta aceast posibilitate mai trziu, cnd vom ajunge la circuite virtuale concatenate.
n final, porile de aplicaii (application gateways) conecteaz dou pri ale unei aplicaii n
cadrul nivelului aplicaie. De exemplu, pentru a trimite pot de la o main din Internet, folosind
formatul de pot Internet, ctre o cutie potal ISO MOTIS, un utilizator poate trimite mesajul
ctre o poart de pot. Poarta de pot va despacheta mesajul, l va converti la formatul MOTIS i
apoi l va trimite n a doua reea folosind protocoalele de reea i transport specifice acelei reele.

Fig 5-34. (a) O poart complet ntre dou WAN-uri.


(b) O poart complet ntre un LAN i un WAN. (c) Dou jumti de pori.
370 NIVELUL REEA CAP. 5

Cnd o poart este ntre dou WAN-uri administrate de organizaii diferite, posibil n ri
diferite, operarea comun a unei maini din clasa staiilor de lucru poate duce la multe pasri de
responsabiliti. Pentru a elimina aceste probleme, se poate adopta o abordare un pic diferit.
Poarta este efectiv rupt la mijloc i cele dou pri sunt conectate printr-un cablu. Fiecare jumtate
este numit jumtate-de-poart (half-gateway) i fiecare este deinut i administrat de o
organizaie. Toat problema de conversie se reduce la acordul asupra unui protocol comun pentru
transmisia prin cablul de legtur, un protocol care este neutru i nu avantajeaz nici una din pri.
Fig. 5-34 ilustreaz att porile complete ct i jumtile de pori. Fiecare tip poate fi folosit la orice
nivel (de exemplu, exist i jumti de puni - half-bridgcs).
Acestea fiind spuse, situaia este mai tulbure n practic dect n teorie. Multe dispozitive
existente pe pia combin funcionalitatea punilor cu cea a ruterelor. Proprietatea cheie a unei
puni pure este c ea examineaz antetele cadrelor de la nivelul legtur de date i nu inspecteaz
sau modific pachetele de nivel reea din cadre. O punte nu poate spune i nu este interesat dac n
cmpul informaie util al cadrului pe care l transmite dintr-un LAN 802.x ntr-un 8O2.y exist un
pachet IP, IPX sau CLNP.
Din contr, un ruter cunoate foarte bine dac este un ruter IP, un ruter IPX, un ruter CLNP sau
toate trei combinate. El examineaz aceste antete i ia decizii bazate pe adresele gsite acolo. Pe de
alt parte, cnd un ruter pur nmneaz un pachet nivelului legtur de date, nu tie i nu se
preocup dac va fi transportat ntr-un cadru Ethernet sau token ring. Aceasta este responsabilitatea
nivelului legtur de date.
Confuzia n industrie provine din dou surse. Mai nti, funcional, punile i ruterele nu sunt att
de diferite. Ele accept PDU-urile (Protocol Data Units - uniti de date protocol) sosite,
examineaz cteva cmpuri din antet i iau decizii despre destinaia PDU-urilor pe baza
informaiilor din antet i a tabelelor interne.
n al doilea rnd, multe produse comerciale sunt vndute cu o etichet greit sau combin
funcionalitatea att a punilor ct i a ruterelor. De exemplu, punile cu dirijare pe baza sursei
(source routing bridges) nu sunt deloc puni, din moment ce ele implic un nivel de protocol plasat
deasupra nivelului legtur de date. Pentru o discuie clarificatoare asupra punilor fa de rutere,
vezi Cap. 12 din (Perlman, 1992).

5.4.1 Prin ce difer reelele

Reelele pot diferi n multe moduri. In Fig. 5-35, enumerm cteva din diferenele care pot
aprea la nivelul reea. Tabelul este o prezentare a diferenelor care fac interconectarea reelelor
mult mai dificil dect operarea ntr-o singur reea.
Cnd pachetele trimise de o surs ntr-o reea trebuie s tranziteze una sau mai multe reele
strine nainte de a ajunge n reeaua destinaie (care, de asemenea, poate fi diferit fa de reeaua
surs), pot aprea multe probleme la interfeele dintre reele. Pentru nceput, cnd pachetele dintr-o
reea orientat pe conexiuni trebuie s tranziteze o reea fr conexiuni, poate aprea o reordonare
a acestora, lucru la care emitorul nu se ateapt i cruia receptorul nu este pregtit s-i fac fa.
Vor fi necesare frecvente conversii de protocol, care pot fi dificile dac funcionalitatea cerut nu
poate fi exprimat. De asemenea, vor fi necesare conversii de adres, ceea ce poate cere un sistem
SEC. 5.4 INTERCONECTAREA RETEDELOR 371

de catalogare. Trecerea pachetelor de trimitere multipl printr-o reea care nu ofer trimitere
multipl necesit pachete separate pentru fiecare destinaie.

Element Cteva posibiliti


Serviciu oferit Orientat pe conexiuni fa de cel fr conexiune
Protocol IP, IPX, CLNP, AppIeTalk, DECnet etc.
Adresare Plat (802) opus celei ierarhice (IP)
Trimitere multipl Prezent sau absent (de asemenea, difuzarea total)
Dimensiune pachet Fiecare reea i are propriul maxim
Calitatea serviciului Poate fi prezent sau absent; multe tipuri diferite
Tratarea erorilor Livrare fiabil, ordonat sau neordonat
Controlul fluxului Fereastr glisant, controlul ratei, altele sau nimic
Controlul congestiei Algoritmi gleat spart, pachete de oc etc.
Securitate Reguli de secretizare, criptare etc.
Parametri Diferite limitri de timp, specificri ale fluxului etc.
Contabilizare Dup timpul de conectare, dup pachet, dup octei sau fr.

Fig. 5-35. Cteva din multele moduri n care pot diferi reelele.

Diferena dintre dimensiunile maxime ale pachetelor folosite de diferite reele este o mare
durere de Cap. Cum vei trece un pachet de 8000 de octei printr-o reea a crei dimensiune maxim
este de 1500 de octei? Diferenele n calitatea serviciilor sunt o problem n momentul n care un
pachet care are constrngeri de livrare n timp real traverseaz o reea care nu ofer nici o garanie
de timp real.
Controlul erorilor, al fluxului i al congestiei difer frecvent ntre reele diferite. Dac sursa
i destinaia ateapt amndou ca toate pachetele s fie livrate n ordine fr erori, iar n plus
o reea intermediar elimin pachete oricnd miroase congestie la orizont sau pachetele pot
hoinri fr scop pentru un timp i apoi ajung brusc i sunt livrate, multe aplicaii se vor
comporta neprevzut. Diferite mecanisme de securitate, reglri de parametri, reguli de
contabilizare i chiar legi naionale referitoare la secrete pot, de asemenea, cauza probleme.

5.4.2 Circuite virtuale concatenate

Sunt comune dou stiluri de interconectare a reelelor: o concatenare orientat pe conexiuni a


subreelelor cu circuite virtuale i un stil datagrame inter-reea. Vom examina pe rnd aceste
variante. n modelul circuitelor virtuale concatenate, artat n Fig. 5-36, o conexiune ctre o gazd
dintr-o reea ndeprtat este stabilit ntr-un mod similar cu modul n care sunt stabilite conexiunile
n cazul normal. Subreeaua observ c destinaia este ndeprtat i construiete un circuit virtual cu
rutenii aflat cel mai aproape de reeaua destinaie. Apoi construiete un circuit virtual de la acel
ruter la o poart" extern (un ruter multiprotocol). Aceast poart nregistreaz existena
circuitului virtual n tabelele sale i continu s construiasc un alt circuit virtual ctre un ruter din
urmtoarea subreea. Acest proces continu pn cnd se ajunge la gazda destinaie.
O dat ce pachetele de date ncep s circule de-a lungul cii, fiecare poart retransmite pachetele
primite, fcnd, dup nevoie, conversia ntre formatele pachetelor i numerele de circuite virtuale.
Evident, toate pachetele de date trebuie s traverseze aceeai secven de pori, deci ajung n ordine.
372 NIVELUL REEA CAP. 5

ATM

Ruter
multiprotocol

Ruter

Gazd
Circuite virtuale concatenate
J capt-la-capt

Fig. .5-36. Interconectarea reelelor folosind circuite virtuale concatenate.

Caracteristica esenial a acestei abordri este c se stabilete o secven de circuite


virtuale de la surs, prin una sau mai multe pori, ctre destinaie. Fiecare poart menine
tabele spunnd ce circuite virtuale o traverseaz, unde vor fi dirijate i care este numrul
noului circuit virtual.
Dei Fig. 5-36 arat conexiunea fcut cu o poart complet, ea poate fi fcut la fel de bine cu
jumti de pori.
Aceast schem funcioneaz cel mai bine cnd toate reelele au, n mare, aceleai
proprieti. De exemplu, dac toate garanteaz livrarea sigur a pachetelor de la nivelul reea,
atunci, exceptnd un accident de-a lungul cii, fluxul de la surs la destinaie va fi de asemenea
sigur. Similar, dac nici una din ele nu garanteaz livrarea sigur, atunci concatenarea
circuitelor virtuale nu este nici ea sigur. Pe de alt parte, dac maina surs este ntr-o reea
care garanteaz livrarea sigur, dar una din reelele intermediare poate pierde pachete,
concatenarea schimb fundamental natura serviciului.
Circuitele virtuale concatenate sunt, de asemenea, uzuale la nivelul transport. n particular,
este posibil s se construiasc o conduct de bii folosind, s spunem, OSI, care se termin
ntr-o poart i avnd o conexiune TCP de la poart la poarta urmtoare. n acest mod, un
circuit virtual capt-la-capt poate fi construit acoperind diferite reele i protocoale.

5.4.3 Interconectarea reelelor fr conexiuni

Modelul alternativ de interconectare este modelul datagram, prezentat n Fig. 5-37. n acest
model, singurul serviciu pe care nivelul reea l ofer nivelului transport este capacitatea de a injecta
datagrame n subreea n sperana c totul va merge bine. Nu exist nici o noiune de circuit virtual
la nivelul reea i uitai de concatenarea lor. Acest model nu necesit ca toate pachetele care aparin
unei conexiuni s traverseze aceeai secven de pori. n Fig. 5 - 37, sunt ilustrate datagramele de la
gazda 1 pentru gazda 2 care urmeaz rute diferite prin reeaua de interconectare. O decizie de
dirijare este fcut separat pentru fiecare pachet, eventual n funcie de traficul din momentul n
care este trimis pachetul. Aceast strategie poate utiliza rute multiple i atinge astfel o capacitate
SEC. 5.4 INTERCONECTAREA REELELOR 373

j B j m are dect modelul circuitelor virtuale eonctenate. Pe de alt parte, nu exist nici o garanie c
pachetele ajung la destinaie n ordine, presupunnd c ele ajung.

Pachetele cltoresc individual


i pot urma ci diferite Ruter

Gazd
multiprotocol

Fig. 5-37. O interconectare fr conexiuni.

Modelul din Fig. 5-37 nu este aa de simplu precum pare. Pe de o parte, dac fiecare reea are
propriul protocol de nivel reea, nu este posibil ca un pachet dintr-o reea s tranziteze alta. Se pot
imagina rutere multiprotocol care ncearc s converteasc dintr-un format n altul, dar, n afara
cazului n care cele dou formate sunt strns nrudite avnd aceleai cmpuri de informaie, aceste
conversii vor fi incomplete i deseori sortite eecului. Din acest motiv, arareori se ncearc conversii.
O a doua problem i mai serioas este adresarea. S ne imaginm un caz simplu: o gazd
din Internet ncearc s trimit un pachet IP ctre o gazd dintr-o reea adiacent OSI.
Protocolul datagram OSI, CLNP, a fost bazat pe IP i este suficient de aproape de el, nct o
conversie ar trebui s funcioneze. Problema este c toate pachetele IP poart adresa Internet
de 32 de bii a gazdei destinaie ntr-un cmp al antetului. Gazdele OSI nu au adrese Internet
pe 32 de bii. Ele utilizeaz numere zecimale similare cu numerele de telefon.
Pentru a face posibil ca un ruter multiprotocol s fac conversia ntre formate, cineva ar trebui s
atribuie adrese Internet de 32 bii pentru fiecare gazd OSI. mpins la extrem, aceast abordare ar
nsemna atribuirea unei adrese Internet fiecrei maini din lume cu care ar dori s comunice o gazd
Internet. De asemenea, ar nsemna atribuirea unei adrese OSI fiecrei maini din lume cu care ar
dori s comunice o gazd OSI. Aceeai problem apare cu fiecare alt spaiu de adrese (SNA,
AppleTalk etc). Aceste probleme sunt insurmontabile. n plus, cineva ar trebui s menin o baz
de date convertind orice la orice.
O alt idee este de a proiecta un pachet universal inter-reea" i a obliga toate ruterele s-1
recunoasc. Aceast abordare este, de fapt, ceea ce este IP-ul - un pachet proiectat ca s fie purtat
prin mai multe reele. Singura problem este c exist de asemenea IPX, CLNP i alte pachete
universale,,, reducndu-le gradul de universalitate. A convinge toat lumea s accepte un singur
format este,.pe bun dreptate, imposibil.
S recapitulm pe scurt cele dou moduri prin care se poate ataca interconectarea
reelelor. Modelul circuitelor virtuale concatenate are, n esen, aceleai avantaje ca folosirea
374 NIVELUL REEA CAP. 5

circuitelor virtuale ntr-o singur subreea: zonele tampon pot fi rezervate n prealabil, poate fi
garantat secvenialitatea, pot fi folosite antete scurte, iar necazurile cauzate de pachetele
duplicate ntrziate pot fi evitate.
El are, de asemenea, i dezavantaje: spaiul n tabele necesar n fiecare ruter pentru fiecare
conexiune deschis, lipsa unei dirijri alternative pentru a evita zonele congestionate i
vulnerabilitatea la defectarea ruterelor de pe parcurs. De asemenea, are dezavantajul de a fi
dificil, dac nu imposibil, de implementat n cazul n care una din reelele implicate este reea
nesigur de tip datagram.
Proprietile abordrii interconectrii reelelor prin datagrame sunt aceleai ca i cele ale
subreelelor de tip datagram: potenial de congestionare mai mare, dar de asemenea potenial mai
mare de adaptare la congestionri, robustee n cazul defectri ruterelor i lungime mai mare
necesar pentru antete. Sunt posibili diferii algoritmi de dirijare adaptiv ntr-o inter-reea, aa cum
sunt n cadrul unei singure reele de tip datagram.
Un avantaj major al abordrii interconectrii reelelor prin datagrame este c aceasta poate fi
folosit peste subretele care nu folosesc circuite virtuale n interior. Multe LAN-uri, reele mobile
(de exemplu flotele aeriene i navale) i chiar unele WAN-uri intr n aceast categorie. Cnd o
inter-reea include una din acestea, apar probleme serioase dac strategia de interconectare a
reelelor este bazat pe circuite virtuale.

5.4.4 Trecerea prin tunel

Rezolvarea cazului general de interconectare a dou reele diferite este extrem de dificil. Cu
toate acestea, exist un caz special uzual care este gestionabil. Acest caz apare cnd gazdele surs i
destinaie sunt n acelai tip de reea, dar ntre ele este o reea diferit. Ca exemplu, gndii-v la o
banc internaional cu o reea TCP/IP bazat pe Ethernet la Paris, o reea TCPAP bazat pe
Ethernet la Londra i un WAN PTT ntre, aa cum este prezentat n Fig. 5-38.

Funcioneaz ca o linie serial


Ruter
multiprotocol Tunel
Reea Ethernet ia Paris Reea Ethernet la Londra

Cadru Ethernet Cadru Ethernet


Pachet IP inclus n cmpul de
informaie util al pachetului WAN

Fig. 5-38. Utilizarea tunelului pentru un pachet trimis de la Paris la Londra.


SEC. 5.4 IN1ERC0NECTAREAREELJEL0R 375

Soluia acestei probleme este o tehnic numit trecerea prin tunele. Pentru a trimite un
pachet IP la gazda 2, gazda 1 construiete pachetul coninnd adresa IP a gazdei 2, l insereaz
ntr-un cadru Ethernet adresat ruterului multiprotocol parizian i apoi l trimite n reeaua
Ethernet. Cnd ruterul multiprotocol primete cadrul, extrage pachetul IP, l insereaz n
cmpul informaie util al pachetului de nivel reea WAN, pachet pe care l adreseaz cu
adresa ruterului multiprotocol londonez. Cnd ajunge acolo, ruterul londonez extrage
pachetul IP i l trimite gazdei 2 n interiorul unui cadru Ethernet.
WAN-ul poate fi vzut ca un mare tunel ce se ntinde de la un ruter multiprotocol la altul.
Pachetul IP doar traverseaz tunelul de la un capt la altul, aezat confortabil n frumosul su lca.
El nu trebuie s aib deloc grij de comportarea la nivel WAN. i nici gazdele din oricare Ethernet.
Numai ruterul multiprotocol trebuie s neleag i pachete IP i WAN. Ca rezultat, ntreaga
distan de la mijlocul unui ruter multiprotocol pn la mijlocul celuilalt acioneaz ca o linie serial.

M a
?in Canalul Mnecii

"Calea ferat

Fig. 5-39. Utilizarea tunelului pentru o main trecnd din Frana n Anglia.

O analogie poate face utilizarea tunelelor mai clar. Considerai o persoan conducnd maina
de la Paris la Londra. n Frana, maina se deplaseaz sub aciunea propriei puteri, dar cnd ajunge
la Canalul Mnecii, este ncrcat ntr-un tren de mare vitez i transportat n Anglia prin Chunnel6
(mainile nu pot circula prin Chunnel). Efectiv, maina este purtat ca informaie util, cum este
prezentat n Fig. 5-39. La captul englez, maina este eliberat pe drumurile engleze i continu s se
deplaseze, nc o dat, cu propria putere. Utilizarea tunelelor printr-o reea necunoscut
funcioneaz n acelai mod.

5.4.5 Dirijarea n reele interconectate

Dirijarea printr-o reea interconectat este similar cu dirijarea ntr-o singur subreea, dar cu
cteva complicaii n plus. S considerm, de exemplu, interconectarea reelelor din Fig. 5-40(a) n
care cinci reele sunt conectate de ase rutere multiprotocol. Crearea unui graf ca model al acestei
situaii este complicat de faptul c fiecare ruter multiprotocol poate accesa direct (mai clar, poate
trimite pachete la) orice alt ruter conectat n orice reea cu care el este conectat. De exemplu, B din
Fig. 5-40(a) poate accesa direct A i C prin reeaua 2 i de asemenea D prin reeaua 3. Aceasta duce
la graful din Fig. 5-40(b).

N.T. Chunnel, ce provine de la Channel (canal) i Tunnel (tunel) este denumirea dat n englez tunelului de
sub Canalul Mnecii.
376 NIVELUL REEA CAP. 5

Reea

(a) (b)

Fig. 5-40. (a) O interconectare de reele, (b) Un graf al interconectrii reelelor.

O dat ce graful a fost construit, pe mulimea de rutere multiprotocol pot fi aplicai algoritmii de
dirijare cunoscui, cum ar fi algoritmii de tip vectori distan sau bazai pe starea legturii. Aceasta
duce la un algoritm de dirijare n doi pai: n interiorul fiecrei reele se folosete un protocol de
poart interioar (internai gateway protocol), dar ntre reele, se folosete un protocol de poart
exterioar (exterior gateway protocol) (poart" este un termen vechi pentru ,,ruter). De fapt, din
moment ce fiecare reea este independent, ele pot folosi algoritmi diferii. Deoarece fiecare reea
dintr-o interconectare de reele este independent de toate celelalte, este deseori referit ca un
sistem autonom (autonomous system-AS).
Un pachet tipic inter-reele pornete din LAN-ul su adresat ruterului multiprotocol local (n
antetul nivelului MAC). Dup ce ajunge acolo, codul de la nivelul reea decide crui ruter
multiprotocol s-i trimit pachetul, folosind propriile tabele de dirijare. Dac la acel ruter se poate
ajunge folosind protocolul de reea nativ al pachetului, atunci este trimis direct acelui ruter. Altfel,
este trimis utiliznd tunele, ncapsulat n protocolul cerut de reeaua intermediar. Acest proces este
repetat pn cnd pachetul ajunge n reeaua destinaie.
Una din djfcr^e]e_dmtre dirijarea inter-reele i dirijarea intra-reele este c dirijarea inter-
reele necesit deseori traversarea granielor internaionale. ntr n joc legi diferite, cum ar fi legile
suedeze despre secretul strict care se refer la exportarea din Suedia de date personale referitoare la
cetenii suedezi. Un alt exemplu este legea canadian care spune c traficul de date care pornete
din Canada i se termin n Canada nu poate prsi ara. Aceast lege nseamn c traficul din
Windsor, Ontario spre Vancouver nu poate fi dirijat prin apropiatul Detroit.
O alt diferen ntre dirijarea intern i cea extern este costul. ntr-o singur reea, se
aplic n mod normal un singur algoritm bazat pe ncrcare. Cu toate acestea, diferite reele
pot avea administrri diverse i o cale poate fi mai ieftin dect alta. Similar, calitatea
serviciului oferit de reele diferite poate fi diferit i acesta poate fi un motiv pentru alegerea
unei ci n defavoarea alteia.
ntr-o mare reea interconectat, alegerea celei mai bune ci poate fi o operaie consumatoare
de timp. Estrin .a. (1992) au propus abordarea acestei probleme prin precalcularea rutelor pentru
perechi (surs, destinaie) uzuale i memorarea lor ntr-o baz de date care s fie consultat n
momentul alegerii cii.
SEC. 5.4 INTERCONECTAREA REELELOR 377

5.4.6 Fragmentarea

Fiecare reea impune cteva dimensiuni maxime asupra pachetelor sale. Aceste limite au diferite
cauze, printre ele fiind:

1. Hardware (de exemplu, lungimea intervalului de transmisie TOM).


2. Sistemul de operare (de exemplu, toate zonele tampon au 512 octei).
3. Protocoale (de exemplu, numrul de bii din cmpul lungimea pachetului).
4. Concordana cu unele standarde (internaionale.
5. Dorina de a reduce la un anumit nivel retransmisiile provocate de erori.
6. Dorina de a preveni ocuparea ndelungat a canalului de ctre un singur pachet.

Rezultatul acestor factori este c proiectanii de reele nu au libertatea de a alege dimensiunea


maxim a pachetelor oricum ar dori. Informaia util maxim variaz de la 8 octei (celulele ATM)
la 65515 octei (pachetele IP), cu toate c dimensiunea pachetelor la nivelurile mai nalte este
deseori mai mare.
O problem evident apare cnd un pachet mare vrea s traverseze o reea n care
dimensiunea maxim a pachetului este prea mic. O soluie este s ne asigurm din capul
locului c problema nu apare. Cu alte cuvinte, inter-reeaua trebuie s utilizeze un algoritm de
dirijare care evit transmiterea pachetelor prin reele n care pachetele nu pot fi manevrate.
Cu toate acestea, aceast soluie nu este de fapt nici o soluie. Ce se ntmpl dac pachetul
surs original este prea mare pentru a fi manevrat de reeaua destinaie? Algoritmul de
dirijare ar putea cu greu s evite destinaia.

Reeaua 1 Reeaua 2
Pachet

G2 G4
Gi fragmenteaz reasambleaz G3 fragmenteaz reasambleaz
un pachet mare fragmentele din nou d i n n o u

(a)

Pachet D

Gi fragmenteaz Fragmentele nu sunt reasamblate pn cnd


un pachet mare nu se ajunge la destinaia final (o gazd)

(b)

Fig. 5-41. (a) Fragmentare transparent, (b) Fragmentare netransparent.


A

In esen, singura soluie a problemei este de a permite porilor s sparg pachetele n


fragmente, trimind fiecare pachet ca un pachet inter-reea separat. Cu toate acestea, aa cum
378 NIVELUL REEA CAP. 5

tie orice printe al unui copil mic, convertirea unui obiect mare n fragmente mici este
considerabil mai uoar dect procesul invers. (Fizicienii chiar au dat nume acestui efect: legea
a doua a termodinamicii.) Reelele cu comutare de pachete au, de asemenea, probleme n
mbinarea pachetelor.
Exist dou strategii opuse pentru reconstituirea pachetului original din fragmente. Prima
strategie este de a face fragmentarea cauzat de o reea cu pachete mici" transparent pentru toate
reelele succesive prin care pachetul trebuie s treac pe calea ctre destinaia final. Aceast
opiune este prezentat n Fig. 5-41 (a). Cnd un pachet supradimensionat ajunge la poart, poarta l
sparge n fragmente. Fiecare fragment este adresat aceleiai pori de ieire, unde piesele sunt
recombinate. n acest mod, trecerea printr-o reea cu pachete mici a devenit transparent. Reelele
urmtoare nici mcar nu sunt contiente de fragmentarea fcut. Reelele ATM, de exemplu, au
hardware special pentru a oferi fragmentarea transparent a pachetelor n celule i apoi
reasamblarea celulelor n pachete. n lumea ATM, fragmentarea este numit segmentare; conceptul
este acelai, dar difer unele detalii.
Fragmentarea transparent este simpl, dar are cteva probleme. Un motiv este c poarta de
ieire trebuie s tie cnd a primit toate piesele, aa nct n fiecare pachet trebuie inclus fie un cmp
contor, fie un bit sfrit-de-pachet. Un alt motiv este c toate pachetele trebuie s ias prin aceeai
poart. Performanele se pot degrada nepermind ca unele pachete s urmreasc o cale ctre
destinaia final i alte pachete o cale diferit. O ultim problem este timpul suplimentar necesar
pentru reasamblarea i apoi refragmentarea repetat a unui pachet mare care traverseaz o serie de
reele cu pachete mici.
Cealalt strategie de fragmentare este de a nu recombina fragmentele la nici o poart
intermediar. O dat ce un pachet a fost fragmentat, fiecare fragment este tratat ca i cum ar fi un
pachet original. Toate fragmentele sunt trecute printr-o poart (sau pori) de ieire, aa cum se arat
n Fig. 5-41(b). Recombinarea are loc doar la gazda destinaie.
Fragmentarea netransparent are, de asemenea, unele probleme. De exemplu, necesit ca
fiecare gazd s fie capabil s fac reasamblarea. nc o problem este c atunci cnd un pachet
mare este fragmentat, suprancrcarea crete, deoarece fiecare fragment trebuie s aib un antet. Pe
ct vreme n prima metod aceast suprancrcare dispare de ndat ce se iese din reeaua cu
pachete mici, n aceast metod suprancrcarea rmne pentru restul cltoriei. Cu toate acestea,
un avantaj al acestei metode este c se pot folosi mai multe pori de ieire i se pot obine
performane mai bune. Desigur, dac se folosete modelul circuitelor virtuale concatenate, acest
avantaj nu este de nici un folos.
Cnd un pachet este fragmentat, fragmentele trebuie numerotate astfel, nct irul iniial de date
s poat fi reconstituit. O metod de numerotare a fragmentelor este bazat pe un arbore. Dac
pachetul 0 trebuie descompus, bucile sunt numite 0.0,0.1,0.2 etc. Dac aceste fragmente trebuie la
rndul lor, s fie fragmentate mai trziu, bucile sunt numerotate 0.0.0, 0.0.1, 0.0.2,..., 0.1.0, 0.1.1,
0.1.2 etc. Dac au fost rezervate n antet suficiente cmpuri pentru cel mai ru caz i nu sunt
generate duplicate n alt parte, aceast schem este suficient pentru a asigura c toate bucile pot
fi corect reasamblate la destinaie, neavnd importan ordinea n care ajung.
Cu toate acestea, dac o singur reea pierde sau elimin pachete, apare necesitatea unor
retransmisii capt-la-capt, cu efecte nefericite pentru schema de numerotare. S presupunem c un
pachet de 1024 bii este iniial fragmentat n patru fragmente de dimensiune egal, 0.0,0.1,0.2 i 0.3.
Fragmentul 0.1 este pierdut, dar toate celelalte pri ajung la destinaie. n cele din urm, la surs
SEC. 5.4 INTERCONECTAREA REELELOR 379

apare o depire de timp i retransmite pachetul original din nou, Dar de aceast dat calea trece
printr-o reea cu limita de 512 octei, deci sunt generate dou fragmente. Cnd noul fragment 0.1
ajunge la destinaie, receptorul va gndi c toate cele patru buci sunt ajunse i va reconstrui
pachetul incorect.
Un sistem de numerotare diferit (i mai bun) este ca protocolul de interconectare a reelelor s
defineasc o dimensiune de fragment elementar suficient de mic ca fragmentul elementar s poat
trece prin orice reea. Cnd un pachet este fragmentat, toate bucile sunt egale cu dimensiunea
fragmentului elementar, cu excepia ultimului, care poate fi mai scurt. Un pachet inter-reea poate
conine mai multe fragmente, din motive de eficien. Antetul inter-reea trebuie s ofere numrul
original al pachetului i numrul fragmentului (sau primului fragment) elementar coninut n pachet.
Ca de obicei, trebuie s existe un bit care s indice c ultimul fragment elementar coninut n
pachetul inter-reea este ultimul din pachetul original.
Aceast, abordare necesit dou cmpuri de secven n antetul inter-reea; numrul
pachetului original i numrul fragmentului. Exist clar un compromis' ntre dimensiunea
fragmentului elementar i numrul de bii din numrul fragmentului. Deoarece dimensiunea
fragmentului elementar este presupus a fi acceptabil pentru toate reelele, fragmentrile
ulterioare ale unui pachet inter-reea coninnd cteva fragmente nu cauzeaz probleme. n
acest caz, limita extrem este reprezentat de un fragment elementar de un bit sau octet,
numrul de fragment fiind reprezentat de deplasamentul bitului sau octetului n cadrul
pachetului original, aa cum se arat n Fig. 5-42.

Numrul primului fragment elementar din acest pachet


Numr Bitu1 sfrit d(
pachet pachet 1 octet
1
\ ' /
27 0 1 A B C D E F G M
I J

Antet
(a)

27 0 1 A B C D E F G H 27 8 1 I J

Antet Antet
(b)

27 0
N A |B
[ D i E| 27 5 0 F G H 27 8 1 I J

Antet Antet Antet


(O
Fig. 5-42. Fragmentarea cnd dimensiunea datelor elementare este 1 octet.
(a) Pachetul original, coninnd 10 octei de date.
(b) Fragmente dup trecerea printr-o reea cu imensiunea maxim a pachetului de 8 octei,
(c) Fragmente dup trecerea printr-o poart cu dimensiunea de 5.
380 NIVELUL REEA CAP. 5

Cteva protocoale inter-reea extind aceast metod i, mai mult, consider ntreaga transmisie
pe un circuit virtual ca a unui pachet gigant, aa nct fiecare fragment conine numrul absolut de
octet al primului octet din fragment. Alte cteva aspecte legate de fragmentare sunt discutate n
(KentiMogul,1987).

5.4.7 Ziduri de protecie

Posibilitatea de a conecta orice calculator, de oriunde, cu orice alt calculator, de oriunde, este o
sabie cu dou tiuri. Pentru persoanele aflate acas, colindatul prin Internet aduce multe bucurii.
Pentru administratorii pe probleme de securitate ai firmelor, este un comar. Multe companii au
mari cantiti de informaie, confidenial sub form electronic - secrete de afaceri, planuri de
dezvoltare produse, strategii de marketing, analize financiare etc. Dezvluirea acestor informaii
ctre un competitor poate avea consecine cumplite.
n afara pericolului scurgerii de informaii, exist i un pericol al infiltrrii de informaii. n
particular, viruii, viermii i ali duntori digitali (Kaufman .a., 1995) pot nclca securitatea,
distruge informaii de valoare i irosi o mare cantitate din timpul administratorilor care
ncearc s curee dezordinea pe care o las. Deseori ei sunt importai de angajai neglijeni
care vor s joace un joc nou, grozav.
In consecin, sunt necesare mecanisme pentru a pstra biii buni" n interior i biii ri" afar.
O metod este folosirea criptrii. Aceast abordare protejeaz datele n tranzit ntre gazde sigure. O
vom studia n Cap. 7. Cu toate acestea, criptarea nu face nimic pentru a ine duntorii digitali i
hacker-ii afar. Pentru a realiza acest obiectiv, este nevoie s studiem zidurile de protecie (firewalls)
(Chapman i Zwicky, 1994; i Cheswick i Bellovin, 1994).

Ruter cu Ruter cu
filtrare de Poart de filtrare de
pachete aplicaii pachete

Conexiuni ctre
reelele de
afar

Reeaua Perimetru de LAN LAN Zid de


corporaiei securitate interior exterior protecie

Fig. 5-43. Un zid de protecie format din dou filtre de pachete i o poart de aplicaii.

Zidurile de protecie sunt doar o adaptare modern a acelei vechi soluii de securitate medieval:
sparea unui an adnc de aprare n jurul castelului dvs. Acest proiect fora pe oricine dorea s
SEC. 5.4 INTERCONECTAREA REELELOR 381

intre sau s ias din castel s treac peste un singur pod mobil, unde puteau fi inspectai de poliia de
intrare/ieire. Cu reelele se poate face acelai truc: o companie poate avea multe LAN-uri conectate
n moduri arbitrare, dar tot traficul ctre sau de la companie este forat printr-un pod mobil
electronic (zidul de protecie), aa cum este prezentat n Fig. 5-43.
n aceast configuraie zidul de protecie are dou componente: dou rutere care fac filtrare de
pachete i o poart de aplicaii. Exist, de asemenea, configuraii i mai simple, dar avantajul acestui
proiect este c fiecare pachet trebuie s tranziteze dou filtre i o poart de aplicaie pentru a intra
sau iei. Nu exist alt rut. Este destul de clar c cititorii care consider c un singur punct de
verificare a securitii este suficient nu au fcut recent un zbor internaional cu o companie aerian.
Fiecare filtru de pachete este un ruter standard echipat cu unele funcii suplimentare. Acestea
permit inspectarea fiecrui pachet care intr sau iese. Pachetele care ndeplinesc anumite criterii
sunt transmise normal. Cele care nu trec testul sunt eliminate.
' n Fig. 5-43, este foarte probabil ca filtrul de pachete din interiorul LAN-ului s verifice
pachetele care ies, iar cel din exteriorul LAN-ului s verifice pachetele care intr. Pachetele care trec
de prima barier merg la poarta de aplicaii pentru o examinare ulterioar. Motivul introducerii a
dou filtre de pachete n reele diferite este de a asigura c nici un pachet nu intr sau iese fr a fi
obligat s treac prin poarta de aplicaii: nu exist nici o cale pe care s o ocoleasc.
Filtrele de pachete sunt, n mod tipic, dirijate de tabele configurate de administratorul de
sistem. Aceste tabele enumera sursele i destinaiile acceptabile, sursele i destinaiile care
sunt blocate i reguli implicite despre ce se face cu pachetele care vin sau se duc la alte maini.
n cazul uzual al configurrii Unix, o surs i o destinaie constau dintr-o adres IP i un port.
Porturile indic ce serviciu este dorit. De exemplu, portul 23 este pentru Telnet, portul 79 este
pentru Finger, iar portul 119 este pentru tirile USENET. O companie poate bloca toate pachetele
de intrare pentru toate adresele IP asociate cu unul din aceste porturi. n acest mod, nimeni din
afara companiei nu se poate conecta prin Telnet, sau s caute persoane folosind demonul de Finger.
Mai mult, compania va putea evita ca angajaii s-i petreac toat ziua citind tiri USENET.
Blocarea pachetelor care ies este mai complicat, deoarece, dei cele mai multe situri ader
la conveniile standard de numire a porturilor, nu sunt obligate s o fac. Mai mult, pentru
servicii importante, cum ar fi FTP (File Transfer Protocol - protocol de transfer fiiere),
numerele de port sunt atribuite dinamic. n plus, dei blocarea conexiunilor TCP este dificil,
blocarea pachetelor UDP este i mai grea datorit faptului c se tie foarte puin a priori
despre ce vor face. Multe filtre de pachete pur i simplu interzic n totalitate traficul UDP.
A doua jumtate a mecanismului de zid de protecie este poarta de aplicaie. n loc s trateze
pachete brute, o poart opereaz la nivelul aplicaie. O poart de pot electronic, de exemplu,
poate fi configurat s examineze fiecare mesaj care intr sau iese. Pentru fiecare mesaj, ea ia decizia
de a-1 transmite sau elimina pe baza cmpurilor din antet, a dimensiunii mesajului sau chiar a
coninutului (de exemplu, la o instalaie militar, prezena cuvintelor ca nuclear" sau bomb" pot
cauza generarea unor aciuni speciale).
Proiectele de instalare au libertatea de a configura una sau mai multe pori de aplicaie pentru
aplicaii specifice, dar nu este ieit din comun ca organizaii suspicioase s permit intrarea i ieirea
potei electronice i, probabil, folosirea World Wide Web, dar s interzic orice altceva ca fiind prea
riscant. Combinat cu criptarea i cu filtrarea de pachete, acest aranjament ofer o cantitate limitat
de securitate cu costul unor inconveniente.
382 NIVELUL REEA CAP.5 <

O ultim observaie se refer la comunicaia fr fir i zidurile de protecie. Este uor de proiectat
un sistem care este complet sigur din punct de vedere logic, dar care, n practic, are scurgeri ca un ciur.
Aceast situaie poate aprea dac unele din maini sunt conectate fr fir i folosesc comunicaia
radio, care trece chiar peste zidul de protecie n ambele direcii.

5.5 NIVELUL REEA N INTERNET

La nivelul reea, Internet-ul poate fi vzut ca o colecie de subretele sau sisteme autonome
(AS-uri - Autonomous Systems) care sunt conectate mpreun. Nu exist o structur real, dar
exist cteva coloane vertebrale majore.

Coloana vertebral a
Linii nchiriate Linii Europei
spre Asia Coloana vertebral a SUA nchiriate
transatlantice

Reea
naional

LAN IP cu jeton LANIP


pe magistral LAN IP cu jeton Ethernet
n inel

Fig. 5-44. Internet-ul este o colecie de multe reele interconectate.

Acestea sunt construite din linii de nalt capacitate i rutere rapide. Ataate la coloana
vertebral sunt reelele regionale (de nivel mediu), iar la aceste reele regionale sunt ataate
LAN-urile din multe universiti, companii i furnizori de servicii Internet. O schi a acestei
organizri cvasi-ierarhice este dat n Fig. 5-44.
Liantul care ine Internet-ul la un loc este protocolul de nivel reea, numit EP (Internet Protocol -
protocolul Internet). Spre deosebire de protocoalele mai vechi de nivel reea, acesta a fost proiectat
de la nceput avnd n vedere interconectarea reelelor. O metod bun de a gndi nivelul reea este
aceasta. Sarcina lui este de a oferi cu eforturi maxime o cale pentru a transporta datagrame de la
surs la destinaie, fr a ine seama dac aceste maini sunt sau nu n aceeai reea sau dac sunt
sau nu alte reele ntre ele.
SEC. 5.5 NIVELUL REEA IN INTERNET 383

Comunicaia n Internet funcioneaz dup cum urmeaz. Nivelul transport preia iruri de date
si le sparge n datagrame. n teorie, datagramele pot avea fiecare pn la 64 Koctei, dar n practic,
ele sunt de obicei n jurul valorii de 1500 octei. Fiecare datagram este transmis prin Internet, fiind
eventual fragmentat n uniti mai mici pe drum. Cnd toate bucile ajung n sfrit la maina
destinaie, ele sunt reasamblate de nivelul reea n datagrama original. Datagrama este apoi pasat
nivelului transport, care o insereaz n irul de intrare al procesului receptor.

5.5.1 Protocolul IP

Un loc potrivit pentru a porni studiul nostru despre nivelul reea n Internet este nsui formatul
datagramelor IP. O datagram IP const dintr-o parte de antet i o parte de text. Antetul are o parte
fix de 20 de octei i o parte opional cu lungime variabil. Formatul antetului este prezentat n
Fig- 5-45. El este transmis n ordinea big endian (cel mai semnificativ primul): de la stnga la dreapta,
cu bitul cel mai semnificativ al cmpului Versiune trimis primul. (Procesorul SPARC este de tip big
endian; Pentium este de tip little endian (cel mai puin semnificativ primul)). Pe mainile de tip little
endian, este necesar o conversie prin program att la transmisie ct i la recepie.

* 32 de bii -

,[ i i i i i i j L J I

Versiune IHL Tip serviciu Lungime total


M Deplasamentul fragmentului
identificare

Timp de via Protocol Suma de control a antetului

Adresa sursei

Adresa destinaiei

Opiuni {0 sau mai multe cuvinte)

Fig. 5-45. Antetul IP (protocolul Internet).

Cmpul Versiune memoreaz crei versiuni de protocol i aparine datagrama. Prin includerea
unui cmp versiune n fiecare datagram, devine posibil ca tranziia dintre versiuni s in luni, sau
chiar ani, cu unele maini rulnd vechea versiune, iar altele rulnd-o pe cea nou.
Din moment ce lungimea antetului nu este constant, un cmp din antet, IHL, este pus la
dispoziie pentru a spune ct de lung este antetul, n cuvinte de 32 de octei. Valoarea minim este 5,
care se aplic atunci cnd nu sunt prezente opiuni. Valoarea maxim a acestui cmp de 4 bii este
15, ceea ce limiteaz antetul la 60 de octei i, astfel, cmpul de opiuni la 40 de octei. Pentru unele
opiuni, cum ar fi cea care nregistreaz calea pe care a mers un pachet, 40 de octei sunt mult prea
puini, fcnd aceast opiune nefolositoare.
384 NIVELUL REEA CAP. 5

Cmpul Tip serviciu permite gazdei s comunice subreelei ce tip de serviciu dorete. Sunt
posibile diferite combinaii de fiabilitate i vitez. Pentru vocea digitizat, livrarea rapid are
prioritate fa de transmisia corect. Pentru transferul de fiiere, transmisia fr erori este mult mai
important dect transmisia rapid.
Cmpul nsui conine (de la stnga la dreapta), un cmp de 3 bii Preceden, trei indicatori
(flags), D, T i R, plus 2 bii nefolosii. Cmpul Preceden este o prioritate, de la 0 (normal) la 7
(pachet de control al reelei). Cei trei bii indicatori permit gazdei s specifice ce o afecteaz cel mai
mult din mulimea {Delay (ntrziere), Throughput (Productivitate), Reliability (Fiabilitate)}. n
teorie, aceste cmpuri permit ruterelor s ia decizii ntre, de exemplu, o legtur prin satelit cu o
productivitate mare i o ntrziere mare sau o linie dedicat cu o productivitate sczut i o
ntrziere mic. n practic, ruterele curente ignor total cmpul Tip serviciu.
Lungimea total include totul din datagram - att antet ct i date. Lungimea maxim este de
65535 octei. n prezent, aceast limit superioar este tolerabil, dar n viitoarele reele cu capaciti
de gigaoctei vor fi necesare datagrame mai mari.
Cmpul Identificare este necesar pentru a permite gazdei destinaie s determine crei
datagrame aparine un nou pachet primit. Toate fragmentele unei datagrame conin aceeai
valoare de Identificare.
Urmeaz un bit nefolosit i apoi dou cmpuri de 1 bit. DF vine de la Don't Fragment (A
nu se fragmenta). Acesta este un ordin dat ruterelor s nu fragmenteze datagrama pentru c
destinaia nu este capabil s asambleze piesele la loc. De exemplu, cnd un calculator
pornete, memoria sa ROM poate cere s i se trimit o imagine de memorie ca o singur
datagram. Prin marcarea datagramei cu bitul DF, emitorul tie c aceasta va ajunge ntr-o
singur bucat, chiar dac aceasta nseamn c datagrama trebuie s evite o reea cu pachete
mai mici pe calea cea mai bun i s aleag o rut suboptimal. Este necesar ca toate mainile
s accepte fragmente de 576 octei sau mai mici.
MF vine de la More Fragments (fragmente adiionale). Toate fragmentele, cu excepia ultimului,
au acest bit activat. El este necesar pentru a ti cnd au ajuns toate fragmentele unei datagrame.
Deplasamentul fragmentului spune unde este locul fragmentului curent n cadrul datagramei.
Toate fragmentele dintr-o datagram, cu excepia ultimului, trebuie s fie un multiplu de 8 octei -
unitatea de fragmentare elementar. Din moment ce sunt prevzui 13 bii, exist un maxim de 8192
de fragmente pe datagram, obinndu-se o lungime maxim a datagramei de 65536 octei, cu unul
mai mult dect cmpul Lungime total.
Cmpul Timp de via este un contor folosit pentru a limita durata de via a pachetelor. Este
prevzut s contorizeze timpul n secunde, permind un timp maxim de via de 255 secunde. El
trebuie s fie decrementat la fiecare salt (hop - trecere dintr-o reea n alta) i se presupune c este
decrementat de mai multe ori cnd st la coad un timp ndelungat ntr-un ruter. n practic, el
contorizeaz doar salturile. Cnd ajunge la valoarea zero, pachetul este eliminat i se trimite napoi
la gazda surs un pachet de avertisment. Aceast facilitate previne hoinreala la infinit a
datagramelor, ceea ce se poate ntmpla dac tabelele de dirijare devin incoerente.
Cnd nivelul reea a asamblat o datagram complet, are nevoie s tie ce s fac cu ea.
Cmpul Protocol spune crui proces de transport trebuie s-1 predea. TCP este o posibilitate,
dar tot aa sunt i UDP i alte cteva. Numerotarea protocoalelor este global la nivelul
ntregului Internet i este definit n RFC 1700.
NIVELUL REEA IN INTERNET 385

de control a antetului verific numai antetul. O astfel de sum de control este util pentru
detectarea erorilor generate de locaii de memorie proaste din interiorul unui ruter. Algoritmul este
dea. aduna toate jumtile de cuvinte, de 16 bii, atunci cnd acestea sosesc, folosind aritmetic n
complement fa de unu i pstrarea complementului fa de unu al rezultatului. Pentru scopul
eestui algoritm, suma de control a antetului este presupus a fi zero dup sosire. Acest algoritm este
mai robust dect folosirea unei adunri normale. Observai c suma de control a antetului trebuie
recalculat la fiecare salt, pentru c cel puin un cmp se schimb ntotdeauna (cmpul timp de
viata), dar se pot folosi trucuri pentru a accelera calculul.
- Adresa sursei i Adresa destinaiei indic numrul de reea i numrul de gazd. Vom discuta
adresele Internet n seciunea urmtoare. Cmpul Opiuni a fost proiectat pentru a oferi un
subterfugiu care s permit versiunilor viitoare ale protocolului s includ informaii care nu sunt
prezente n proiectul original, pentru a permite cercettorilor s ncerce noi idei i pentru a evita
alocarea unor bii din antet pentru informaii folosite rar. Opiunile sunt de lungime variabil.
Fiecare ncepe cu un cod de un octet care identific opiunea. Unele opiuni sunt urmate de un
cmp de un octet reprezentnd lungimea opiunii, urmat de unul sau mai muli octei de date.
Cmpul Opiuni este completat pn la un multiplu de 4 octei. In acest moment sunt definite cinci
opiuni, aa cum sunt listate n Fig. 5-46, dar nu toate ruterele le suport pe toate.

Opiune Descriere
Securitate Menioneaz ct de secret este datagrama
Dirijare strict pe baza sursei Indic calea complet de parcurs
Dirijare aproximativ pe baza sursei Indic o list a ruterelor care nu trebuie srite
nregistreaz calea Face fiecare ruter s-i adauge adresa IP
Amprent de timp Face fiecare ruter s-i adauge adresa i o amprent de timp.

Fig. 5-46. Opiuni IP.

Opiunea Securitate menioneaz ct de secret este informaia. n teorie, un ruter militar poate
folosi acest cmp pentru a meniona c nu se dorete o dirijare prin anumite ri pe care militarii le
consider a fi bieii ri". n practic, toate ruterele l ignor, deci singura sa funcie practic este s
ajute spionii s gseasc mai uor lucrurile de calitate.
Opiunea Dirijare strict pe baza sursei d calea complet de la surs la destinaie ca o secven de
adrese IP. Datagrama este obligat s urmreasc aceast cale precis. Ea este deosebit de util
pentru administratorii de sistem pentru a trimite pachete de urgen atunci cnd tabelele de dirijare
sunt distruse sau pentru a realiza msurtori de timp.
Opiunea Dirijare aproximativ pe baza sursei cere ca pachetul s traverseze o list specificat de
rutere i n ordinea specificat, dar este permis trecerea prin alte rutere pe drum. n mod normal,
aceast opiune ar putea oferi doar cteva rutere, pentru a fora o anumit cale. De exemplu, pentru
a fora un pachet de la Londra la Sydney s mearg spre vest n loc de est, aceast opiune poate
specifica rutere n New York, Los Angeles i Honolulu. Aceast opiune este foarte util atunci cnd
motive politice sau economice dicteaz trecerea prin anumite ri sau evitarea lor.
Opiunea nregistreaz calea indic ruterelor de pe cale s-i adauge adresele lor IP la cmpul
opiune. Aceasta permite administratorilor de sistem sa localizeze pene n algoritmii de dirijare (De
ce toate pachetele de la Houston la Dallas trec mai nti prin Tokio?"). Cnd reeaua ARPANET a
386 NIVELUL REEA CAP. 5

fost nfiinat, nici un pachet nu trecea vreodat prin mai mult de nou rutere, deci 40 de octei
pentru opiuni au fost destui. Asa cum s-a menionat anterior, acum dimensiunea este prea mic.
A A

In sfrit, opiunea Amprent de timp este similar opiunii nregistreaz ruta, cu excepia
faptului c, n plus fa de nregistrarea adresei sale de 32 de bii, fiecare ruter nregistreaz i
o amprent de timp de 32 de bii. i aceast opiune este folosit n special pentru depanarea
algoritmilor de dirijare.

5.5.2 Adrese IP

Fiecare gazd i ruter din Internet are o adres IP, care codific adresa sa de reea i de gazd.
Combinaia este unic: nu exist dou maini cu aceeai adres IP. Toate adresele IP sunt de 32 de
bii lungime i sunt folosite n cmpurile Adres surs i Adres destinaie ale pachetelor IP.
Formatele folosite pentru adrese IP sunt ilustrate n Fig. 5-47. Acele maini care sunt conectate la
mai multe reele au adrese diferite n fiecare reea.

32 de bii

! 1 ! i i i i i i i I i i i i i i i i I I I I !
Intervalul adreselor
Clas de gazd
De la 1.0.0.0 pn la
0 Reea Gazd 127.255.255.255

De la 128.0.0.0 pn la
B 10 Reea Gazd
191.255.255.255
De la 192.0.0.0 pn la
C no Reea Gazd 223.255.255.255
De la 224.0.0.0 pn la
D 1110 Adres de trimitere multipl 239.255.255.255
De la 240.0.0.0 pn la
E 11110 Rezervat pentru folosire viitoare
247.255.255.255

Fig. 5-47. Formatul adreselor IP.

Formatele de clas A, B, C i D permit pn la 126 reele cu 16 milioane de gazde fiecare,


16.382 reele cu pn la 64K gazde, 2 milioane de reele (de exemplu, LAN-uri) cu pn la 254
gazde fiecare i multicast (trimitere multipl), n care fiecare datagram este directionat mai
multor gazde. Adresele care ncep cu 11110 sunt rezervate pentru o folosire ulterioar. Zeci de
mii de reele sunt conectate acum la Internet i numrul se dubleaz n fiecare an. Numerele
de reea sunt atribuite de NIC (Network Information Center - Centrul de Informaii de Reea)
pentru a evita conflictele.
Adresele de reea, care sunt numere de 32 de bii, sunt scrise n mod uzual n notaia zecimal cu
punct. n acest format, fiecare din cei 4 octei este scris n zecimal, de la 0 la 255. De exemplu, adresa
hexazecimal C0290614 este scris ca 192.41.6.20. Cea mai mic adres IP este 0.0.0.0 i cea mai
mare este 255.255.255.255.
i

SEC 5.5 NIVELUL REEA N ESFIERNET 387

Valorile 0 i -l au semnificaii speciale, aa cum se arat n Fig. 5-48. Valoarea 0 nseamn


reeaua curent sau gazda curent. Valoarea -l este folosit ca o adres de difuzare pentru a
desemna toate gazdele din reeaua indicat.

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 Staia gazd

O gazd din
00 00 Gazd reeaua local
Difuzare n
1 1 1 111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 reeaua local
Difuzare ntr-o
Reea 1111 1111
reea la distan

127 (Orice) Bucl local

Fig. 5-48. Adrese IP speciale.

Adresa IP 0.0.0.0 este folosit de gazde atunci cnd sunt pornite, dar nu mai este folosit
ulterior. Adresele IP cu 0 ca numr de reea se refer la reeaua curent. Aceste adrese permit
ca mainile s refere propria reea fr a cunoate numrul de reea (dar ele trebuie s
cunoasc clasa adresei pentru a ti cte zerouri s includ). Adresele care constau numai din
l-uri permit difuzarea n reeaua curent, n mod uzual un LAN. Adresele cu un numr exact
de reea i numai l-uri n cmpul gazd permit mainilor s trimit pachete de difuzare n
LAN-uri la distan, aflate oriunde n Internet. n final, toate adresele de forma 127.xx.yy.zz
sunt rezervate pentru testri n bucl local (loopback). Pachetele trimjse ctre aceast adres
nu sunt trimise prin cablu; ele sunt prelucrate local i tratate ca pachete sosite. Aceasta
permite pachetelor s fie trimise ctre reeaua local fr ca emitorul s cunoasc numrul
su. Aceast facilitate este folosit de asemenea pentru depanarea programelor de reea.

5.5.3 Subretele

Aa cum am vzut, toate gazdele dintr-o reea trebuie s aib acelai numr de reea. Aceast
proprietate a adresrii IP poate crea probleme cnd reeaua crete. De exemplu, s considerm o
companie care intr n Internet cu un LAN de clas C Pe msur ce timpul trece, poate achiziiona
mai mult de 254 de maini, deci are nevoie de o a doua adres de clas C. Ca o alt alternativ,
compania poate achiziiona un al doilea LAN de un tip diferit i dori o adres IP separat pentru
reea (LAN-urile pot fi interconectate prin puni pentru a forma o singur reea IP, dar punile au
propriile probleme). n cele din urm, se poate ajunge la multe LAN-uri, fiecare cu ruterul propriu
i fiecare cu propriul numr de reea de clas C.
Pe msur ce numrul de reele locale distincte crete, administrarea lor poate deveni o
adevrat durere de Cap. De fiecare dat cnd este instalat o nou reea, administratorul de sistem
trebuie s contacteze NIC pentru a obine un nou numr de reea. Apoi acest numr trebuie anunat
n toat lumea. Mai mult, mutarea unei maini dinr-un LAN n altul necesit schimbarea adresei
sale P, care poate nsemna la rndul su modificarea fiierelor de configurare i de asemenea
388 NIVELUL REEA CAP. 5

anunarea n lume a noii adrese IP. Dac vreunei alte maini i este dat adresa IP abia eliberat,
acea main va primi pota electronic i alte date destinate mainii originale pn cnd adresa s-a
propagat n toat lumea.
Soluia acestor probleme este s se permit ca o reea s fie divizat n mai multe pri pentru uz
intern, dar pentru lumea exterioar s se comporte ca o singur reea. n literatura Internet, aceste
pri sunt numite subretele. Aa cum am menionat n Cap. 1, aceast utilizare intr n conflict cu
termenul subreea", care nseamn mulimea tuturor ruterelor i liniilor de comunicaie dintr-o
reea. Din fericire, va fi clar din context care semnificaie este atribuit. n aceast seciune, definiia
folosit va fi cea nou. Dac aceast companie n dezvoltare pornea cu o adres de clas B n loc de
una de clas C, putea ncepe simplu prin numerotarea gazdelor de la 1 la 254. Cnd sosea al doilea
LAN, se putea decide, de exemplu, s se mpart numrul de gazd de 16 bii ntr-un numr de
subreea de 6 bii i un numr de gazd de 10 bii, cum se arat n Fig. 5-49. Aceast mprire
permite 62 de LAN-uri (0 i -l sunt rezervate), fiecare cu pn la 1022 gazde.

32 de bii

1 1 1 1 1 1 1 1 1 1 1 1

10 Reea Subreea Gazd


Masca
d e subreea 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

Fig. 5-49. Una din cile de a crea o subreea dintr-o reea de clas B.

n afara reelei, mprirea n subretele nu este vizibil, astfel nct alocarea unei noi subretele nu
necesit contactarea NIC sau schimbarea unor baze de date externe. n acest exemplu, prima
subreea poate folosi adrese IP ncepnd de la 130.50.4.1, cea de-a doua poate ncepe de la
130.50.8.1 i aa mai departe.
i Pentru a vedea cum funcioneaz subreelele, e necesar s explicm cum sunt procesate
i pachetele IP ntr-un ruter. Fiecare ruter are o tabel ce memoreaz u^numr_de_ adrese IP de forma
i (reea, 0) i un numr de adrese IP de forma (aceast-reea, gazd). Primul tip indic cum se ajunge
i lajretelele lajian. Al_doilea ip spuneLcum s^ ajunge la gazdele locale. Cu fiecare tabel este
asociat interfaa de reea care se folosete pentru a ajunge la destinaie i cteva alte informaii.
Cnd sosete un pachet IP, adresa destinaie este cutat n tabelade dirijare. Dac pachetul este
pentru o reea aflat la distan, el este trimis ruterului urmtor prin interfaa specificat n tabel.
Dac este o gazd local (de exemplu n LAN-ul ruterului), pachetul este trimis direct ctre
destinaie. Dac reeaua nu este prezent, pachetul este trimis unui ruter implicit care are tabele mai
extinse. Acest algoritm nseamn c fiecare ruter trebuie s memoreze numai reele i gazde, nu
perechi (reea, gazd), reducnd considerabil dimensiunea-tabelelor de dirijare.
Cnd este introdus mprirea n subretele, tabelele de dirijare sunt schimbate, adugnd intrri
de forma (aceast-reea, subreea, 0) i (aceast-reea, aceast-subreea, gazd). Astfel un ruter din
subreeaua A: tie cum s ajung la toate celelalte subretele i, de asemenea, cum s ajung la toate
gazdele din subreeaua k. El nu trebuie s tie detalii referitoare la gazde din alte subretele. De fapt,
tot ceea ce trebuie schimbat este de a impune fiecrui ruter s fac un I logic cu masca de subreea
SEC. 5.5 NIVELUL REIEA IN INTERNET 389

a. reelei (vezi Fig. 5-49), pentru a scpa de numrul de gazd i a cuta adresa rezultat n tabelele
sale (dup ce determin crei clase de reele aparine). De exemplu, asupra unui pachet adresat
ctre 130.50.15.6 care ajunge la un ruter din subreteaua 5 se face un I logic cu masca de subreea
din Fig- 5-49 pentru a obine adresa 130.50.12.0. Aceast adres este cutat n tabelele de dirijare
pentru a se gsi cum se ajunge la gazdele din subreteaua 3. Rutenii din subreteaua 5 este astfel
uurat de munca de a memora toate adresele de nivel legtur de date ale altor gazde dect cele din
subreteaua 5. mprirea n subretele reduce astfel spaiul tabelelor de dirijare prin crearea unei
ierarhii pe trei niveluri.

5.5.4 Protocoale de control n Internet

Pe lng IP, care este folosit pentru transferul de date, Internet-ul are cteva protocoale de
control la nivelul reea, incluznd ICMP, ARP, RARP i BOOTP. n aceast seciune vom arunca o
privire asupra fiecruia dintre ele.

Protocolul mesajelor de control din Internet

Operarea Internet-ului este strns monitorizat de ctre rutere. Atunci cnd se ntmpl ceva
neobinuit, evenimentul este raportat prin ICMP (Internet Control Message Protocol - protocolul
mesajelor de control din Internet), care este folosit i pentru testarea Internet-ului. Sunt definite
aproape o duzin de tipuri de mesaje ICMP. Cele mai importante sunt enumerate n Fig. 5-50.
Fiecare tip de mesaj ICMP este ncapsulat ntr-un pachet IP.

Tipul mesajului Descriere


Destinaie inaccesibil Pachetul nu poate fi livrat
Timp depit Cmpul timp de via a ajuns ia 0
Problem de parametru Cmp invalid n antet
Oprire surs Pachet de oc
Redirectare nva un ruter despre geografie
Cerere de ecou ntreab o main dac este activ
Rspuns ecou Da, sunt activ
Cerere de amprent de timp La fel ca cererea de ecou, dar cu amprent de timp
Rspuns cu amprent de timp La fel ca rspunsul ecou, dar cu amprent de timp

Fig. 5-50. Tipurile principale de mesaje ICMP.

Mesajul DESTINAIE INACCESIBIL (DESTINATION UNREACHABLE) este folosit


atunci cnd subreteaua sau un ruter nu pot localiza destinaia, sau un pachet cu bitul DF nu poate fi
livrat deoarece o reea cu pachete mici" st n cale.
Mesajul TIMP DEPIT (TIME EXCEEDED) este trimis cnd un pachet este eliminat
datorit ajungerii contorului su la zero. Acest mesaj este un simptom al buclrii pachetelor, al unei
enorme congestii sau c s-au fixat valori prea mici pentru ceas.
Mesajul PROBLEM DE PARAMETRU (PARAMETER PROBLEM) indic detectarea
unei valori nepermise ntr-un cmp din antet. Aceast problem indic o eroare n programele IP
ale gazdei emitoare sau eventual n programele unui ruter tranzitat.
390 NIVELUL REEA CAP. 5

Mesajul OPRIRE SURS (SOURCE QUENCH) a fost folosit pe vremuri pentru a limita
traficul gazdelor care trimiteau prea multe pachete. Cnd o gazd primea acest mesaj, era de
ateptat s ncetineasc ritmul de transmisie. Este folosit arareori, deoarece cnd apare
congestie, aceste pachete au tendina de a turna mai mult gaz pe foc. Controlul congestiei n
Internet este acum fcut pe larg la nivelul transport i va fi studiat n detaliu n Cap. 6.
Mesajul REDIRECTARE (REDIRECT) este folosit cnd un ruter observ c un pachet pare a
fi dirijat greit. Este folosit de ruter pentru a spune gazdei emitoare despre eroarea probabil.
Mesajele CERERE ECOU (ECHO REQUEST) i RSPUNS ECOU (ECHO REPLY) sunt
folosite pentru a vedea dac o anumit destinaie este accesibil i activ. Este de ateptat ca la
recepia mesajului ECOU, destinaia s rspund printr-un mesaj RSPUNS ECOU. Mesajele
CERERE AMPRENT DE TIMP (TIMESTAMP REQUEST) i RSPUNS AMPRENT DE
TIMP (TIMESTAMP REPLY) sunt similare, cu excepia faptului c n rspuns sunt nregistrate
timpul de sosire a mesajului i de plecare a rspunsului. Aceast facilitate este folosit pentru a
msura performanele reelei.
Pe lng aceste mesaje, exist alte patru care trateaz adresarea n Internet, pentru a permite
gazdelor s descopere numerele proprii de reea i s trateze cazul n care mai multe LAN-uri
partajeaz o singur adres IP. ICMP este definit n RFC 792.

Protocolul de rezoluie a adresei

Dei fiecare main din Internet are una sau mai multe adrese IP, acestea nu pot fi folosite de
fapt pentru trimiterea pachetelor deoarece hardware-ul nivelului legturii de date nu nelege
adresele Internet. Astzi, cele mai multe gazde sunt ataate la un LAN printr-o plac de interfa
> care nelege adresele LAN. De exemplu, fiecare plac Ethernet fabricat pn acum vine cu o
adres Ethernet de 48 bii. Fabricanii plcilor Ethernet cer un spaiu de adrese de la o autoritate
central pentru a se asigura c nu exist dou plci cu aceeai adres (pentru a evita conflictele care
ar aprea dac cele dou plci ar fi n acelai LAN). Plcile trimit i primesc cadre pe baza adresei
Ethernet de 48 bii. Ele nu tiu absolut nimic despre adresele IP.

Ruterul are
2 adrese IP
15
Ruterul are
2 adrese IP
a
192.31.60.7
192.31.65) | 192.31.63.3
192.31.65.7 192.31.65.5 192.31.63.8

E4 E5 E6
Adrese
E1 E2 E3 A X Ethernet
Reea Ethernet ^-^/ x Reea Ethernet
Facultatea de inelul FDDI Facultatea de
Calculatoare al campusului Inginerie Electric
192.31.65.0 192.31.60.0 192.31.63.0

Fig. 5-51. Trei reele de clas C interconectate: dou reele Ethernet i un inel FDDI.
SEC 5.5 NIVELUL REEA IN INTERNET 391

Se pune atunci ntrebarea: Cum sunt transformate adresele IP n adrese la nivelul legturii
dedate, ca de exemplu Ethernet? Pentru a explica care este funcionarea, vom folosi exemplul
din Fig- 5-51, n care este ilustrat o universitate mic ce are cteva reele de clas C. Avem
doua reele Ethernet, una n facultatea de Calculatoare, cu adresa IP 192.31.65.0 i una n
facultatea de Inginerie Electric, cu adresa IP 192.31.63.0. Acestea sunt conectate printr-un
inel FDDI la nivelul campusului, care are adresa IP 192.31.60.0. Fiecare main dintr-o reea
Ethernet are o adres Ethernet unic, etichetat de la El la E6, iar fiecare main; de pe inelul
FDDI are o adres FDDI, etichetat de la FI la F3.
S ncepem prin a vedea cum trimite un utilizator de pe gazda 1 un pachet unui utilizator de pe
gazda 2. Presupunem c expeditorul tie numele destinatarului, ceva de genul ary@eagle.cs.uni.edu.
primul pas este aflarea adresei IP a gazdei 2, cunoscut ca eagle.cs.uni.edu. Aceast cutare este
fcut de sistemul numelor de domenii (DNS), pe care l vom studia n Cap. 7. Pentru moment, vom
presupune c DNS-ul ntoarce adresa IP a gazdei 2 (192.31.65.5).
Programele de la nivelurile superioare ale gazdei 1 construiesc un pachet cu 192.31.65.5 n
cmpul adresa destinatarului pachet care este trimis programelor IP pentru a-1 transmite. Programele
IP se uit la adres i vd c desjimrtarjul se afl n propria reea, dar au nevoie de un mijloc prin care
s determine adresa Ethernet a destinatarului. O soluie este s avem undeva n sistem un fiier de
configurare care transform adresele IP n adrese Ethernet. Aceast soluie este posibil, desigur,
dar pentru organizaii cu mii de maini, meninerea fiierelor actualizate este o aciune
consumatoare de timp i care poate genera erori.
O soluie mai bun este ca gazda 1 s trimit un pachet de difuzare n reeaua Ethernet
ntrebnd: Cine este proprietarul adresei IP 192.31.65.5?". Pachetul de difuzare va ajunge la
toate mainile din reeaua Ethernet 192.31.65.0 i fiecare i va verifica adresa IP. Numai gazda
2 va rspunde cu adresa sa Ethernet (E2). n acest mod gazda 1 afl c adresa IP 192.31.65.5
este pe gazda cu adresa Ethernet E2. Protocolul folosit pentru a pune astfel de ntrebri i a
primi rspunsul se numete ARP (Address Resolution Protocol - Protocolul de rezoluie a
adresei). Aproape toate mainile din Internet l folosesc. El este definit n RFC 826.
Avantajul folosirii ARP fa de fiierele de configurare l reprezint simplitatea. Administratorul
de sistem nu trebuie s fac prea multe, dect s atribuie fiecrei maini o adres IP i s hotrasc
mtile subreelelor. ARP-ul face restul.
n acest punct, programele IP de pe gazda 1 construiesc un cadru Ethernet adresat ctre
E2, pun pachetul IP (adresat ctre 193.31.65.5) n cmpul informaie util i l lanseaz pe
reeaua Ethernet. Placa Ethernet a gazdei 2 detecteaz acest cadru, recunoate c este un
cadru pentru ea, l ia repede i genereaz o ntrerupere. Driverul Ethernet extrage pachetul IP
din informaia util i l trimite programelor IP, care vd c este corect adresat i l proceseaz.
Pentru a face ARP-ul mai eficient sunt posibile mai multe optimizri. Pentru nceput, la fiecare
execuie a ARP, maina pstreaz rezultatul pentru cazul n care are nevoie s contacteze din nou
aceeai main n scurt timp. Data viitoare va gsi local corespondentul adresei, evitndu-se astfel
necesitatea unei a doua difuzri. n multe cazuri, gazda 2 trebuie s trimit napoi un rspuns, ceea
ce o foreaz s execute ARP, pentru a determina adresa Ethernet a expeditorului. Aceast difuzare
ARP poate fi evitat oblignd gazda 1 s includ n pachetul ARP corespondena dintre adresa sa IP
i adresa Ethernet. Cnd pachetul ARP ajunge la gazda 2, perechea (192.31.65.7, El) este
memorat local de ARP pentru o folosire ulterioar. De fapt, toate mainile din reeaua Ethernet
pot memora aceast relaie n memoria ARP local.
392 NIVELUL REEA CAP. 5

Alt optimizare este ca fiecare main s difuzeze corespondena sa de adrese la pornirea


mainii. Aceast difuzare este realizat n general printr-un pachet ARP de cutare a propriei
adrese IP. Nu ar trebui s existe un rspuns, dar un efect lateral al difuzrii este introducerea
unei nregistrri n memoria local ARP a tuturor. Dac totui sosete un rspuns, nseamn
c dou maini au aceeai adres IP. Noua main ar trebui s-1 informeze pe administratorul
de sistem i s nu porneasc.
Pentru a permite schimbarea relaiei, de exemplu, cnd o plac Ethernet se stric i este nlocuit
cu una nou (i astfel apare o nou adres Ethernet), nregistrrile din memoria local ARP ar
trebui s expire dup cteva minute.
S privim din nou Fig. 5-51, numai c de aceast dat gazda 1 vrea s trimit un pachet ctre
gazda 6 (192.31.63.8). Folosirea ARP va eua pentru c gazda 4 nu va vedea difuzarea (ruterele nu
trimit mai departe difuzrile de nivel Ethernet). Exist dou soluii. Prima: rutenii facultii de
Calculatoare poate fi configurat s rspund la cererile ARP pentru reeaua 193.31.63.0 (i posibil i
pentru alte reele locale). n acest caz, gazda 1 ya_mernora local ^rQ^^Jl^^W^^Ei) i va
trimite tot traficul pentru gazda 4 ctre ruterul local. Aceast soluie se numete ARP cu
intermediar (proxy ARP). A doua soluie este ca gazda 1 s-i dea seama imediat c destinaia se afl
pe o reea aflat la distant si s trimit tot traficul ctre o adres Ethernet implicit care
manevreaz tot traficul la distan, n acest caz E3. Aceast soluie nu necesit ca ruterul facultii de
Calculatoare s tie ce reele la distan deservete.
n ambele cazuri, ceea ce se ntmpl este c gazda 1 mpacheteaz pachetul IP n cmpul
informaie util dintr-un cadru Ethernet adresat crejs3. Cnd ruterul facultii de Calculatoare
primete cadrul Ethernet, extrage pachetul IP din cmpul informaie util i caut adresa IP din
tabelele sale de dirijare. Descoper c pachetele pentru reeaua 193.31.63.0 trebuie s mearg ctre
ruterul 192.31.60.7. Dac nu cunoate nc adjresLFDDI a lui 193.31.60.7, difuzeaz un pachet ARP
pe inel i afl c adresa din inel este F3. Apoi insereaz pachetul n cmpul informaie util al unui
cadru FDDI adresat ctre F3 i l transmite pe inel.
Driverul FDDI al interului facultii de Inginerie Electric scoate pachetul din cmpul
informaie util i l trimite programelor IP care vd c trebuie s trimit-pachetul ctre 192.31.63.8.
Dac aceast adres IP nu este n memoria local ARP, difuzeaz o cerere ARP pe reeaua
Ethernet a facultii de Inginerie Electric i afl c adresa destinaie este E6, astfel nct
construiete un cadru Ethernet adresat ctre E6, pune pachetul n cmpul informaie util i l
trimite n reeaua Ethernet. Cnd cadrul Ethernet ajunge la gazda 4, pachetul este extras din cadru i
trimis programelor IP pentru procesare.
Transferul ntre gazda 1 i o reea la distan peste un WAN funcioneaz n esen asemntor,
cu excepia c de data aceasta tabelele ruterului facultii de Calculatoare i vor indica folosirea
ruterului WAN, a crui adres FDDI este F2.

Protocolul de rezoluie invers a adresei


ARP-ul rezolv problema aflrii adresei Ethernet corespunztoare unei adrese IP date.
Cteodat trebuie rezolvat problema invers: dndu-se o adres Ethernet, care este adresa IP
corespunztoare? n particular, aceast problem apare cnd se pornete o staie de lucru fr disc.
O astfel de main va primi, n mod normal, imaginea binar a sistemului su de operare de la un
server de fiiere la distant. Dar cum si afl adresa IP?
SEC. 5.5 NIVELUL REEA N INTERNET 393

Soluia este folosirea RARP-ului (Reverse Address Resolution Protocol - Protocol de rezoluie
invers a adresei) (definit n RFC 903). Acest protocol permite unei staii de lucru de-abia pornit s
difuzeze adresa sa Ethernet i s spun:,Adresa mea Ethernet de 48 de bii este14.04.05il8.01.25.
tie cineva adresa mea IP?" Serverul RARP vede aceast cerere, caut adresa Ethernet n fiierele
sale de configurare i trimite napoi adresa IP corespunztoare.
Folosirea RARP este mai bun dect introducerea unei adrese IP n imaginea de memorie,
pentru c permite ca aceeai imagine s fie folosit de toate mainile. Dac adresa IP ar fi fixat
nuntrul imaginii, atunci fiecare staie de lucru ar necesita imaginea sa proprie.
Un dezavantaj al RARP este c, pentru a ajunge la serverul RARP, folosete o adres destinaie
numai din l-uri (difuzare limitat). Cu toate acestea, asemenea difuzri nu sunt propagate de rutere,
asa nct este necesar un server RARP n fiecare reea. Pentru a rezolva aceast problem, a fost
inventat un protocol alternativ de pornire, numit BOOTP (vezi RFC-urile 951,1048 i 1084). Spre
deosebire de RARP, acesta folosete mesaje UDP, care sunt propagate prin rutere. De asemenea
furnizeaz unei staii de lucru fr disc informaii suplimentare, care includ adresa IP a serverului de
fiiere care deine imaginea de memorie, adresa IP a ruterului implicit i masca de subreea care se
folosete. BOOTP-ul este descris n RFC 951.

5.5.5 Protocolul de dirijare folosit de porile interioare: OSPF

Aa cum am menionat anterior, Internet-ul este construit dintr-un numr mare de sisteme
autonome. Fiecare AS este administrat de o organizaie diferit i poate folosi propriul
algoritm de dirijare n interior. De exemplu, reelele interne ale companiilor X, Y i Z ar fi
vzute ca trei AS-uri dac toate ar fi n Internet. Toate trei pot folosi intern algoritmi de
dirijare diferii. Cu toate acestea, existena standardelor, chiar i pentru dirijarea intern,
simplific implementarea la graniele dintre AS-uri i permite reutilizarea codului. n aceast
seciune vom studia dirijarea n cadrul unui AS. n urmtoarea, vom examina dirijarea ntre
AS-uri. Un algoritm de dirijare n interiorul unui AS este numit protocol de pori interioare;
un algoritm de dirijare' utilizat ntre AS-uri este numit protocol de pori exterioare.
Protocolul de pori interioare iniial n Internet a fost un protocol de dirijare pe baza vectorilor
distan (RIP) bazat pe algoritmul Bellman-Ford. El funciona bine n sisteme mici, dar mai puin
bine pe msur ce AS-urile se mresc. El suferea de asemenea de problema numr-la-infinit i de o
convergen slab n general, aa c a fost nlocuit n mai 1979 de un protocol bazat pe starea
legturilor. n 1988, Internet Engineering Task Force a nceput lucrul la un succesor. Acel succesor,
numit OSPF (Open Shortest Path First - protocol public (deschis) bazat pe calea cea mai scurt) a
devenit un standard n 1990. Muli productori de rutere ofer suport pentru el i va deveni
principalul protocol de pori interioare n viitorul apropiat. n cele ce urmeaz vom face o schi a
funcionrii OSPF. Pentru ntreaga poveste, vedei RFC 1247.
Dat fiind lunga experien cu alte protocoale de dirijare, grupul care a proiectat noul protocol a
avut o list lung de cerine care trebuia satisfcute. Mai nti, algoritmul trebuia publicat n
literatura public (open), de unde provine O" din OSPF. O soluie n proprietatea unei companii
nu era un candidat. n al doilea rnd, noul protocol trebuia s suporte o varietate de metrici de
distan, incluznd distana fizic, ntrzierea .a.m.d. n al treilea rnd, el trebuia s fie un algoritm
dinamic, care s se adapteze automat i repede la schimbrile n topologie.
3<M NIVELULREEA CAP. 5 s

n al patrulea rnd i nou pentru OSPF, trebuia s suporte dirijarea bazat pe tipul de serviciu,
Noul protocol trebuia s fie capabil s dirijeze traficul de timp real ntr-un mod, iar alt tip de trafic n
alt mod. Protocolul IP are cmpul Tip serviciu, dar nici un protocol de dirijare nu-1 folosea.
n al cincilea rnd i n legtur cu cele de mai sus, noul protocol trebuia s fac echilibrarea
ncrcrii, diviznd ncrcarea pe mai multe linii. Multe protocoale precedente trimit toate pachetele
pe cea mai bun cale. Calea de pe locul doi nu era folosit de loc. n cele mai multe cazuri, divizarea
ncrcrii pe mai multe linii duce la performane mai bune.
n al aselea rnd, era necesar suportul pentru sisteme ierarhice. Pn n 1988, Internet a crescut
att de mult, nct nu se poate atepta ca un ruter s cunoasc ntreaga topologie. Noul protocol de
dirijare trebuia s fie proiectat astfel, nct nici un ruter s nu fie nevoit s cunoasc toat topologia.
n al aptelea rnd, se cerea un minim de msuri de securitate, pentru a evita ca studenii iubitori
de distracii s pcleasc ruterele trimindu-le informaii de dirijare false. n fine, a fost necesar
luarea de msuri pentru a trata ruterele care au fost conectate la Internet printr-un tunel.
Protocoalele precedente nu tratau bine acest caz.
OSPF suport trei tipuri de conexiuni i reele:

1. Linii punct-la-punct ntre exact dou rutere.


2. Reele multiacces cu difuzare (de exemplu, cele mai multe LAN-uri).
3. Reele multiacces fr difuzare (de exemplu, cele mai multe WAN-uri cu comutare de
pachete).

O reea multiacces este o reea care poate s conin mai multe rutere, fiecare dintre ele putnd
comunica direct cu toate celelalte. Toate LAN-urile i WAN-urile au aceast proprietate.
Fig. 5-52(a) arat un AS care conine toate cele trei tipuri de reele. Observai c gazdele, n general,
nu joac un rol n OSPF.
OSPF funcioneaz prin abstractizarea coleciei de reele, rutere i linii reale ntr-un graf orientat
n care fiecare arc are atribuit un cost (distan, ntrziere etc). Apoi calculeaz cea mai scurt cale
bazndu-se pe ponderile arcelor. O conexiune serial ntre dou rutere este reprezentat de o
pereche de arce, cte unul n fiecare direcie. Ponderile lor pot fi diferite. O reea multiacces este
reprezentat de un nod pentru reeaua nsi plus un nod pentru fiecare ruter. Arcele de la nodul
reea la rutere au pondere 0 i sunt omise din graf.
Fig. 5-52(b) prezint graful pentru reeaua din Fig. 5-52(a). Fundamental, ceea ce face OSPF
este s reprezinte reeaua real ca un graf ca acesta i apoi s calculeze cea mai scurt cale de la
fiecare ruter la fiecare alt ruter.
Multe din AS-urile din Internet sunt foarte mari i nu sunt simplu de administrat. OSPF le
permite, s fie divizate n zone numerotate, unde o zon este o reea sau o mulime de reele
nvecinate. Zonele nu se suprapun i nu este necesar s fie exhaustive, n sensul c unele rutere pot
s nu aparin nici unei zone. O zon este o generalizare a unei subretele. n afara zonei, topologia i
detaliile sale nu sunt vizibile.
Orice AS are o zon de coloan vertebral, numit zona 0. Toate zonele sunt conectate la
coloana vertebral, eventual prin tunele, astfel nct este posibil s se ajung din orice zon din
AS n orice alt zon din AS prin intermediul coloanei vertebrale. Un tunel este reprezentat n
graf ca un arc i are un cost. Fiecare ruter care este conectat la dou sau mai multe zone
r
fc NIVELUL I^TEA N INTERNET 395
SEC5i

ine coloanei vertebrale. Analog cu celelalte zone, topologia coloanei vertebrale nu este
rizibil din afara coloanei vertebrale.

WAN1

A B C

LAN1

LAN 2

WAN3
(a)

A B C 4 D

(b)

Fig. 5-52. (a) Un sistem autonom, (b) O reprezentare de tip graf a lui (a).

n interiorul zonei, fiecare ruter are aceeai baz de date pentru starea legturilor i
folosete acelai algoritm de cea mai scurt cale. Principala sa sarcin este s calculeze cea mai
scurt cale de la sine la fiecare alt ruter din zon, incluznd rutenii care este conectat la
coloana vertebral, din care trebuie s existe cel puin unul. Un ruter care conecteaz dou
zone are nevoie de bazele de date pentru ambele zone i trebuie s foloseasc algoritmul de
cale ct mai scurt separat pentru fiecare zona.
Modul n care OSPF trateaz dirijarea dupltipul de serviciu este utilizarea mai multor grafuri,
unul etichetat cu costurile pentru cazul n care metrica este ntrzierea, unul etichetat cu costurile n
cazul n care metrica este productivitatea i umil'etichetat cu costurile n cazul n care metrica este
sigurana. Dei aceasta tripleaz calculul necesar, el permite ci separate pentru optimizarea
ntrzierii, a productivitii i a fiabilitii.
n timpul operrii normale pot fi necesare trei tipuri de ci: intrazonale, interzonale i
interAS-uri. Rutele intrazonale sunt cele mai uoare, din moment ce ruterul surs tie
396 NIVELUL REEA CAP. 5

ntotdeauna calea cea mai scurt spre rutenii destinaie. Dirijarea interzonal se desfoar
ntotdeauna n trei pai: drum de la surs la coloana vertebral; drum de-a lungul coloanei
vertebrale pn la zona destinaie; drum la destinaie. Acest algoritm foreaz o configuraie
de tip stea pentru OSPF, coloana vertebral fiind concentratorul (hub), iar celelalte zone fiind
spiele. Pachetele sunt dirijate de la surs la destinaie ca atare". Ele nu sunt ncapsulate sau
trecute prin tunel, cu excepia cazului n care merg spre o zon a crei unic conexiune la
coloana vertebral este un tunel. Fig. 5-53 arat o parte a Internet-ului cu AS-uri i zone.

Coloan vertebral
AS1 AS 2
Ruter de
coloan
vertebral

Zon

Protocolul EGP
conecteaz AS-urile

Ruter de
la grania
zonei

Ruter de la grania AS-ului

Fig. 5-53. Relaia dintre AS-uri, coloane vertebrale i zone n OSPF.


OSPF distinge patru clase de rutere:
1. Ruterele interne sunt integral n interiorul unei zone.
2. Ruterele de la grania zonei conecteaz dou sau mai multe zone.
. 3. Ruterele coloanei vertebrale sunt pe coloana vertebral.
4. Ruterele de la grania AS-urilor discut cu ruterele din alte AS-uri.
Este permis ca aceste clase s se suprapun. De exemplu, toate ruterele de grani fac parte n
mod automat din coloana vertebral. n plus, un ruter care este n coloana vertebral, dar nu face
parte din orice alt zon este de asemenea un ruter intern. Exemple din toate cele patru clase de
rutere sunt ilustrate n Fig. 5-53.
NIVELUL REEA N INTERNET 397

ferind un mter pornete, trimite mesajefELLO pe- toate liniile sale puact-la-punct i
mite multiplu (multicast) n LAN-urile grupului compus din toate celelalte rutere. n
^ | N - u r i , are nevoie de anumite informaii de configuraie, pentru a ti pe cine s contacteze,
aja^spunsurij fiecare ruter afl care sunt vecinii si.
' QSPF funcioneaz prin schimb de informaii ntre rutere adiacente, care nu este acelai
fecru. eu schimbul de informaii ntre ruterele vecine. n particular, este ineficient ca fiecare
juter dintr-un LAN s discute cu fiecare alt ruter din LAN. Pentru a evita aceast situaie, un
ruter este ales ca ruter desemnat. Se spune c el este adiacent cu toate celelalte rutere i
schimb informaii cu ele. Ruterele vecine care nu sunt adiacente nu schimb informaii ntre
ele. De asemenea, este actualizat n permanen i un ruter desemnat de rezerv pentru a
uura tranziia dac ruterul desemnat primar se defecteaz.
n timpul funcionrii normale, fiecare ruter inund periodic cu mesaje ACTUALIZARE
STARE LEGTUR (Link State Update) fiecare ruter adiacent. Acest mesaj indic starea sa
si furnizeaz costurile folosite n baza de date topologic. Mesajele de inundare sunt
confirmate pentru a le face sigure. Fiecare mesaj are un numr de secven, astfel nct un
ruter poate vedea dac un mesaj ACTUALIZARE STARE LEGTUR este mai vechi sau
mai nou dect ceea ce are deja. De asemenea, ruterele trimit aceste mesaje cnd o linie cade
sau i revine sau cnd costul acesteia se modific.
Mesajele DESCRIERE BAZA DE DATE (Database Description) dau numerele de secven
pentru toate intrrile de stare a liniei deinute actual de emitor. Prin compararea valorilor proprii
cu acelea ale emitorului, receptorul poate determina cine are cea mai recent valoare. Aceste
mesaje sunt folosite cnd o linie este refcut.
Fiecare partener poate cere informaii de stare a legturii de la cellalt folosind mesaje
CERERE STARE LEGTUR (Link State Request). Rezultatul concret al acestui algoritm este
c fiecare pereche de rutere adiacente verific s vad cine are cele mai recente date i astfel, noua
informaie este rspndit n zon. Toate aceste mesaje sunt trimise ca simple pachete IP. Cele cinci
tipuri de mesaje sunt rezumate n Fig. 5-54.

Tip mesaj Descriere


Hello Folosit pentru descoperirea vecinilor
Actualizare Stare Legtur Emitorul furnizeaz vecinilor si costurile sale
Confirmare Stare Legtur Confirm actualizarea strii legturii
Descriere Baz de Date Anun ce actualizri are emitorul
Cerere Stare Legtur Cere informaii de la partener

Fig. 5-54. Cele cinci tipuri de mesaje OSPF.

n final, putem s asamblm toate piesele. Folosind inundarea, fiecare mter informeaz toate
celelalte mtere din zona sa despre vecinii i costurile sale. Aceast informaie permite fiecrui mter
s construiasc graful zonei (zonelor) sale i s calculeze cea mai scurt cale. Zona de coloan
vertebrala face i ea acelai lucru. n plus, ruterele de coloan vertebral accept informaia de la
ruterele zonei de grani cu scopul de a calcula cea mai bun cale de la fiecare mter de coloan
vertebral ctre fiecare alt mter. Aceast informaie este propagat napoi ctre mterele zonei de
grani, care o fac public n zonele lor. Folosind aceast informaie, un mter gata s trimit un
pachet interzonal poate selecta cel mai bun mter de ieire ctre coloana vertebral.
398 NIVELUL REEA CAP. 5

5.5.6 Protocolul de dirijare pentru pori externe: BGP

n cadrul unui singur AS, protocolul de dirijare recomandat n Internet este OSPF (dei nu
este sigur singurul folosit). ntre AS-uri se folosete un protocol diferit, BGP (Border Gateway
Protocol - Protocolul porilor de grani). ntre AS-uri este necesar un protocol diferit pentru
c scopurile unui protocol pentru pori interioare i ale unui protocol pentru pori exterioare
sunt diferite. Tot ce trebuie s fac un protocol pentru pori interioare este s mute pachetele
ct mai eficient de la surs la destinaie. El nu trebuie s-i fac probleme cu politica.
Ruterele ce folosesc protocolul de pori exterioare trebuie s in cont ntr-o mare msur de
politic. De exemplu, un AS al unei corporaii poate dori facilitatea de a trimite pachete oricrui sit
Internet i s recepioneze pachete de la orice sit Internet. Cu toate acestea, poate s nu doreasc s
asigure tranzitarea pentru pachetele originare dintr-un AS strin destinate unui AS strin diferit,
chiar dac prin AS-ul propriu trece cea mai scurt cale dintre cele dou AS-uri strine (Asta este
problema lor, nu a noastr."). Pe de alt parte, poate fi dispus s asigure tranzitarea pentru vecinii
si, sau chiar pentru anumite AS-uri care au pltit pentru acest serviciu. Companiile telefonice, de
exemplu, pot fi fericite s acioneze ca un purttor pentru clienii si, dar nu i pentru alii.
Protocoalele pentru pori externe, n general i BGP n particular, au fost proiectate pentru a
permite forarea multor tipuri de politici de dirijare pentru traficul ntre AS-uri.
Politicile tipice implic consideraii politice, de securitate sau economice. Cteva exemple de
constrngeri de dirijare sunt:

1. Nu se tranziteaz traficul prin anumite AS-uri.


2. Nu se plaseaz Irak-ul pe o rut care pornete din Pentagon.
3. Nu se folosesc Statele Unite pentru a ajunge din Columbia Britanic n Ontario.
4. Albania este tranzitat dac nu exist alt alternativ ctre destinaie.
5. Traficul care pleac sau ajunge la IBM nu trebuie s tranziteze Microsoft.

Politicile sunt configurate manual n fiecare ruter BGP. Ele nu sunt parte a protocolului nsui.
Din punctul de vedere al unui ruter BGP, lumea const din alte rutere BGP i liniile care le
conecteaz. Dou rutere BGP sunt considerate conectate dac ele partajeaz o reea comun. Dat
fiind interesul special al BGP-ului pentru traficul n tranzit, reelele sunt grupate n trei categorii.
Prima categorie este cea a reelelor ciot (stub networks), care au doar o conexiune la graful BGP.
Acestea nu pot fi folosite pentru traficul n tranzit pentru c nu este nimeni la captul cellalt. Apoi
vin reelele multiconectate. Acestea pot fi folosite pentru traficul n tranzit, cu excepia a ceea ce ele
refuz. n final, sunt reele de tranzit, cum ar fi coloanele vertebrale, care sunt doritoare s
manevreze pachetele altora, eventual cu unele restricii.
Perechile de rutere BGP comunic ntre ele stabilind conexiuni TCP. Operarea n acest mod
ofer comunicaie sigur i ascunde toate detaliile reelelor traversate.
BGP este la baz un protocol bazat pe vectori distan, dar destul de diferit de majoritatea
celorlalte cum ar fi RIP. n loc s menin doar costul pn la fiecare destinaie, fiecare ruter
BGP memoreaz calea exact folosit. Similar, n loc s trimit periodic fiecrui vecin costul
su estimat ctre fiecare destinaie posibil, fiecare ruter BGP comunic vecinilor calea exact
pe care o folosete.
SEC 55 NIVELUL REEA IN INTERNET 399

Ca exemplu, s considerm raterele BGP din Fig, 5-55(a), n particular, s considerm tabela de
dirijare a lui F. S presupunem c el folosete calea FGCD pentru a ajunge la D. Cnd vecinii i dau
informaiile de dirijare, ei ofer cile lor complete, ca n Fig. 5-55(b) (pentru simplitate, este artat
doar destinaia >).

Informaia despre D pe care


F o primete de la vecini

De la B: "Eu folosesc BCD"


De la G: "Eu folosesc GCD"
De la I: "Eu folosesc IFGCD"
De la E: "Eu folosesc EFGCD"

(a) (b)
Fig. 5-55. (a) O mulime de rutere BGP. (b) Informaia trimis lui F.

Dup ce sosesc toate cile de la vecini, F le examineaz pentru a vedea care este cea mai bun. El
elimin imediat cile de la / i E, din moment ce aceste ci trec chiar prin F. Alegerea este apoi ntre
B i G. Fiecare ruter BGP conine un modul care examineaz cile ctre o destinaie dat i le
atribuie scoruri, ntorcnd, pentru fiecare cale, o valoare pentru distana" ctre acea destinaie.
Orice cale care violeaz o constrngere politic primete automat un scor infinit. Apoi, rutenii
adopt calea cu cea mai scurt distan. Funcia de acordare a scorurilor nu este parte a protocolului
BGP i poate fi orice funcie doresc administratorii de sistem.
BGP rezolv uor problema numr-la-infinit care chinuie ali algoritmi bazai pe vectori
distan. De exemplu, s presupunem c G se defecteaz sau c linia FG cade. Atunci F primete ci
de la ceilali trei vecini rmai/Aceste rute sunt BCD, IFGCD i EFGCD. El poate observa imediat
c ultimele dou ci sunt inutile, din moment ce trec chiar prin F, aa c alege FBCD ca noua sa cale.
Ali algoritmi bazai pe vectori distan fac de multe ori alegerea greit, pentru c ei nu pot spune
care din vecinii lor au ci independente ctre destinaie i care nu. Definirea curent a BGP-ului este
n RFC 1654. Informaii suplimentare utile pot fi gsite n RFC 1268.

5.5.7 Trimiterea multipl n Internet

Comunicaia IP normal este ntre un emitor i un receptor. Cu toate acestea, pentru unele
aplicaii, este util ca un proces s fie capabil s trimit simultan unui numr mare de receptori.
Exemple sunt actualizarea bazelor de date distribuite multiplicate, transmiterea cotrilor de la burs
mai multor ageni de burs, manevrarea convorbirilor telefonice de tipul conferinelor digitale (de
exemplu, cu mai multe pri).
IP-ul suport trimiterea multipl (multicast), folosind adrese de clas D. Fiecare adres de clas
D identific un grup de gazde. Pentru identificarea grupurilor sunt disponibili douzeci i opt de bii,
aa nct pot exista n acelai moment peste 250 milioane de grupuri. Cnd un proces trimite un
400 NIVELUL REEA CAP. 5

pachet unei adrese de clas D, se face cea mai bun ncercare pentru a-1 livra tuturor membrilor
grupului adresat, dar nu sunt date garanii. Unii membri pot s nu primeasc pachetul.
Sunt suportate dou tipuri de adrese de grup: adrese permanente i adrese temporare. Un grup
permanent exist ntotdeauna i nu trebuie configurat. Fiecare grup permanent are o adres de grup
permanent. Cteva exemple de adrese de grup permanente sunt

224.0.0.1 Toate sistemele dintr-un LAN.


224.0.0.2 Toate ruterele dintr-un LAN.
224.0.0.5 Toate ruterele OSPF dintr-un LAN.
224.0.0.6 Toate ruterele desemnate dintr-un LAN.

Grupurile temporare trebuie create nainte de a fi utilizate. Un proces poate cere gazdei sale s
intre ntr-un anume grup. De asemenea, el poate cere gazdei sale s prseasc grupul. Cnd ultimul
proces prsete un grup, acel grup nu mai este prezent pe calculatorul su gazd. Fiecare gazd
memoreaz cror grupuri aparin la un moment dat procesele sale.
Trimiterea multipl este implementat de rutere speciale de trimitere multipl, care pot
sau nu coabita cu ruterele standard. Cam o dat pe minut, fiecare ruter de trimitere multipl
face o trimitere multipl hardware (de exemplu, la nivel legtur de date) pentru gazdele din
LAN-ul su (adresa 224.0.0.1), cerndu-le s raporteze cror grupuri aparin procesele lor la
momentul respectiv. Fiecare gazd trimite napoi rspunsuri pentru toate adresele de clas D
de care este interesat.
Aceste pachete de ntrebare i rspuns folosesc un protocol numit IGMP (Internet Group
Management Protocol - Protocol de gestiune a grupurilor Internet), care se aseamn ntructva cu
ICMP. El are numai dou tipuri de pachete: ntrebare i rspuns, fiecare cu un format fix, simplu,
care conine unele informaii de control n primul cuvnt al cmpului informaie util i o adres de
clas D n al doilea cuvnt. El este descris n RFC 1112.
Dirijarea cu trimitere multipl este realizat folosind arbori de acoperire. Fiecare ruter de
dirijare multipl schimb informaii cu vecinii si, folosind un protocol modificat bazat pe vectori
distan cu scopul ca fiecare s construiasc pentru fiecare grup un arbore de acoperire care s
acopere toi membrii grupului. Pentru a elimina ruterele i reelele neinteresate de anumite grupuri,
se utilizeaz diverse optimizri de reducere a arborelui. Pentru evitarea deranjrii nodurilor care nu
fac parte din arborele de acoperire, protocolul folosete intensiv trecerea prin tunel.

5.5.8 IP mobil

Muli utilizatori ai Internet-ului au calculatoare portabile i vor s rmn conectai la


Internet atunci cnd viziteaz un sit Internet aflat la distan, chiar i pe drumul dintre cele
dou. Din nefericire, sistemul de adresare IP face lucrul la deprtare de cas mai uor de zis
dect de fcut. n aceast seciune vom examina problema i soluia. O descriere mai detaliat
este dat n (Johnson, 1995).
Problema apare chiar n schema de adresare. Fiecare adres IP conine trei cmpuri: clasa,
numrul de reea i numrul de gazd. De exemplu, s considerm maina cu adresa IP
160.80.40.20. Partea 160.80 indic clasa (B) i numrul de reea (8272); partea 40.20 este numrul de
gazd (10260). Ruterele din toat lumea au tabele de dirijare care spun ce linie se folosete pentru a
> NIVELUL REEA IN INTERNET 401

la reeaua 160.80. Oricnd vine un pachet cu adresa IP destinaie de forma 160.80.xxx.yyy,


tul pleac pe respectiva linie.
Dac, dintr-o dat, maina cu adresa respectiv este transferat ntr-un alt loc din Internet,
pachetele vor continua s fie dirijate ctre LAN-ul (sau ruterul) de acas. Proprietarul nu va mai
primi pot electronic i aa mai departe. Acordarea unei noi adrese IP mainii, adres care s
corespund cu noua sa locaie, nu este atractiv pentru c ar trebui s fie informate despre
schimbare un mare numr de persoane, programe i baze de date.
O alt abordare este de a avea rutere care s fac dirijarea folosind adresa IP complet, n locul
clasei i a reelei. Cu toate acestea, aceast strategie ar necesita ca fiecare ruter s aib milioane de
intrri n tabele, la un cost astronomic pentru Internet.
Cnd oamenii au nceput s cear posibilitatea de a avea gazde mobile, IETF a constituit un
Grup de Lucru pentru a gsi o soluie. Grupul de Lucru a formulat rapid un numr de obiective
considerate necesare n orice soluie. Cele majore au fost:

1. Fiecare gazda mobil trebuie sa fie capabil sa foloseasc adresa sa IP de baza oriunde.
2. Nu au fost permise schimbri de programe pentru gazdele fixe.
3. Nu au fost permise schimbri pentru programele sau tabelele ruterelor.
4. Cele mai multe pachete pentru gazdele mobile nu ar trebui s fac abateri pe drum.
5. Nu trebuie s apar nici o suprasolicitare cnd o gazd mobil este acas.

Soluia aleas este cea descris n seciunea 5.2.8. Pentru a o recapitula pe scurt, fiecare sit care
dorete s permit utilizatorilor si s se deplaseze trebuie s asigure un agent local. Fiecare sit care
dorete s permit accesul vizitatorilor trebuie s creeze un agent pentru strini. Cnd o gazd
mobil apare ntr-un sit strin, ea contacteaz gazda strin de acolo i se nregistreaz. Gazda
strin contacteaz apoi agentul local al utilizatorului i i d o adres a intermediarului, n mod
normal adresa IP proprie a agentului pentru strini.
Cnd un pachet ajunge n LAN-ul de domiciliu al utilizatorului, el vine la un ruter ataat la
LAN. Apoi ruterul ncearc s localizeze gazda n mod uzual, prin difuzarea unui pachet ARP
ntrebnd, de exemplu: Care este adresa Ethernet a lui 160.80.40.20?" Agentul local rspunde
la aceast ntrebare dnd propria adres Ethernet. Apoi ruterul trimite pachetele pentru
160.80.40.20 la agentul local. El, n schimb, le trimite prin tunel la adresa intermediarului prin
ncapsularea lor n cmpul informaie util al unui pachet IP adresat agentului pentru strini.
Dup aceasta, agentul pentru strini le desface i le livreaz la adresa de nivel legtur de date
a gazdei mobile. n plus, agentul de cas d emitorului adresa intermediarului, aa nct
viitoarele pachete pot fi trimise prin tunel direct la agentul pentru strini. Aceast soluie
rspunde tuturor cerinelor expuse mai sus. ;
Probabil c merit menionat un mic amnunt. n momentul n care gazda mobil se mut,
probabil c ruterul are adresa ei Ethernet (care n curnd va fi invalid) memorat n memoria
ascuns. Pentru a nlocui aceast adres Ethernet cu cea a agentului local, se folosete un truc numit
ARP gratuit. Acesta este un mesaj special, nesolicitat, ctre ruter pe care l determin s schimbe o
anumit intrare din memoria ascuns, n acest caz cea a gazdei mobile care urmeaz s plece. Cnd,
mai trziu, gazda mobil se ntoarce, este folosit acelai truc pentru a actualiza din nou memoria
ascuns a ruterului.
402 NIVELUL REEA CAP. 5

Nu exist,nimic n proieet care s mpiedice o gazd mobil s fie propriul su agent pentru 1
strini, dar aceast abordare funcioneaz numai dac gazda mobil (n postura sa de agent pentru
strini) este conectat logic n Internet la situl su curent. De asemenea, ea trebuie s fie capabil s
obin pentru folosire o adres (temporar) de intermediar. Acea adres IP trebuie s aparin
LAN-ului n care este ataat n mod curent.
Soluia IETF pentru gazde mobile rezolv un numr de alte probleme care nu au fost
menionate pn acum. De exemplu, cum sunt localizai agenii? Soluia este ca fiecare agent s-i
difuzeze periodic adresa i tipul de serviciu pe care dorete s-1 ofere (de exemplu, agent local,
pentru strini sau amndou). Cnd o gazd mobil ajunge undeva, ea poate asculta ateptnd
aceste difuzri, numite anunuri. Ca o alternativ, ea poate difuza un pachet prin care i anun
sosirea i s spere c agentul pentru strini local i va rspunde.
O alt problem care trebuie rezolvat este cum s se trateze gazdele mobile nepoliticoase,
care pleac fr s spun la revedere. Soluia este ca nregistrarea s fie valabil doar pentru
un interval de timp fixat. Dac nu este remprosptat periodic, ea expir i ca urmare gazda
strin poate s-i curee tabelele.
O alt problem este securitatea. Cnd un agent local primete un mesaj care-i cere s fie
amabil s retrimit toate pachetele Norei la o anume adres IP, ar fi mai bine s nu se supun
dect dac este convins c Nora este sursa acestei cereri i nu altcineva ncercnd s se dea
drept ea. Pentru acest scop sunt folosite protocoale criptografice de autentificare. Vom studia
asemenea protocoale n Cap. 7.
Un punct final adresat de Grupul de Lucru se refer la nivelurile de mobilitate. S ne imaginm
un avion cu o reea Ethernet la bord folosit de ctre calculatoarele de navigare i de bord. n
aceast reea Ethernet exist un ruter standard, care discut cu Internet-ul cablat de la sol printr-o
legtur radio. ntr-o bun zi, unui director de marketing iste i vine ideea s instaleze conectoare
Ethernet n toate braele fotoliilor, astfel nct i pasagerii cu gazde mobile s se poat conecta.
Acum avem dou niveluri de mobilitate: calculatoarele proprii ale aeronavei, care sunt staionare
n raport cu reeaua Ethernet i calculatoarele pasagerilor, care sunt mobile n raport cu ea. n plus,
rutenii de la bord este mobil n raport cu ruterele de la sol. Mobilitatea n raport cu un sistem care
este la rndul su mobil este tratat folosind recursiv tunele.

5.5.9 CIDR - Dirijarea fr clase ntre domenii

IP este folosit intens de peste o decad. A funcionat extrem de bine, aa cum a fost
demonstrat de creterea exponenial a Internet-ului. Din nefericire, IP devine rapid o victim
a propriei populariti: i epuizeaz adresele. Acest dezastru fantomatic a generat foarte
multe discuii si controverse n cadrul comunitii Internet referitor la cum s fie tratat. n
aceast seciune vom descrie att problema ct i cteva soluii propuse. O descriere mai
complet este dat n (Huitema, 1996).
Prin 1987, civa vizionari au prezis c ntr-o zi Internet-ul poate crete pn la 100.000 de reele.
Cei mai muli experi s-au exprimat cu dispre c aceasta va fi peste decenii, dac va fi vreodat. Cea
de-a 100.000-a reea a fost conectat n 1996. Problema, expus simplu, este c Internet-ul i
epuizeaz rapid adresele IP. n principiu, exist peste 2 miliarde de adrese, dar practica organizrii
spaiului de adrese n clase (vezi Fig. 5-47) irosete milioane din acestea. n particular, necazul este
dat de reelele de clas B. Pentru cele mai multe organizaii, o adres de clas A, cu 16 milioane de
SEC. 55 NIVELUL REEA N INTERNET 403

adrese este prea mare, iar o reea de clas C, cu 256 de adrese, este prea mic. O reea de clas B, cu
65.536 adrese, este numai bun. n folclorul Internet, aceast situaie este cunoscut ca problema
celor trei uri (ca din Goldilocks and the ThreeBears).
n realitate, o adres de clas B este pe departe prea mare pentru cele mai multe
organizaii. Studii au artat c mai mult de jumtate din toate reelele de clas B au mai puin
de 50 de gazde. O reea de clas C ar fi fost suficient, dar fr ndoial c fiecare organizaie
care a cerut o adres de clas B a crezut c ntr-o zi ar putea depi cmpul gazd de 8 bii.
privind retrospectiv, ar fi fost mai bine s fi avut reele de clas C care s foloseasc 10 bii n
loc de opt pentru numrul de gazd, permind 1022 gazde pentru o reea. n acest caz, cele
mai multe organizaii s-ar fi decis, probabil, pentru o reea de clas C i ar fi existat jumtate
de milion dintre acestea (comparativ cu doar 16.384 reele de clas B).
Cu toate acestea, atunci ar fi aprut mult mai rapid o alt problem: explozia tabelelor de
dirijare. Din punctul de vedere al ruterelor, spaiul de adrese IP este o ierarhie pe dou
niveluri, cu numere de reea i numere de gazde. Ruterele nu trebuie s tie despre toate
gazdele, dar ele trebuie s tie despre toate reelele. Dac ar fi fost n folosin jumtate de
milion de reele de clas C, fiecare ruter din ntregul Internet ar fi necesitat o tabel cu o
jumtate de milion de intrri, una pentru fiecare reea, spunnd care linie se folosete pentru a
ajunge la respectiva reea, mpreun cu alte informaii.
Stocarea fizic efectiv a tabelelor cu jumtate de milion de intrri este probabil realizabil, dei
costisitoare pentru ruterele critice care trebuie s menin tabelele n RAM static pe plcile I/O. O
problem mai serioas este reprezentat de creterea complexitii diferiilor algoritmi referitori la
gestiunea tabelelor, care este mai rapid dect liniar. i mai ru, o mare parte din programele i
firmware-ul ruterelor existente a fost proiectat pe vremea cnd Internet-ul avea 1000 de reele
conectate i 10.000 de reele preau la deprtare de decenii. Deciziile de proiectare fcute atunci
sunt departe de a fi optime acum.
n plus, difejitijdgojitmi de dirijare necesit ca fiecare ruter s transmit tabelele sale
geriodic. Cu ct tabelele sunf mai mari, cu att este mai probabil ca anumite pri s se piard
pe drum, ducnd la date incomplete la cellalt capt i, posibil, la instabiliti de dirijare.
Problema tabelelor de dirijare ar.fi putut fi rezolvat prinadoparea unei ierarhii mai adnci. De
exemplu, ar fi mers dac s-ar fi impus ca fiecare adres s conin un cmp ar, jude, ora, reea i
gazd. Atunci fiecare ruter ar fi trebuit s tie doar cum s ajung la fiecare ar, la judeele i
provinciile din ara sa, oraele din statul su i reelele din oraul su. Din nefericire, aceast soluie
ar necesita mai mult de 32 de bii pentru adrese IP i ar folosi adresele ineficient (Liechtenstein ar fi
avut tot atia bii ca Statele Unite).
Pe scurt, cele mai multe soluii rezolv o problem, dar creeaz o alta. C soluie care se
implementeaz acum i care va da Internet-ului un pic de spaiu de manevr este CIDR (Classless
InterDomain Routing - Dirijarea fr clase ntre domenii). Ideea de la baza CIDR, care este descris
n RFC 1519, este de a aloca reelele de clas C care au mai rmas, care sunt aproape dou
milioane, n blocuri de dimensiune variabil. Dac un sit are nevoie, s zicem, de 2000 de adrese, i
este dat un bloc de 2048 adrese (opt reele de clas C contigue) i nu o adres plin de clas B.
Similar, un sit ce necesit 8000 de adrese primete 8192 adrese (32 de reele de clas C contigue).
n afar de folosirea blocurilor de reele de clas C contigue ca uniti, n RFC 1519 au fost
schimbate i regulile de alocare pentru adresele de clas C. Lumea a fost mprit n patru zone i
fiecreia i-a fost dat o poriune din spaiul de adrese de clas C. Alocarea a fost urmtoarea:
1
404 NIVELUL REEA CAP.5

Adresele de la 194.0.0.0 la 195.255.255.255 sunt pentru Europa.


Adresele de la 198.0.0.0 la 199.255.255.255 sunt pentru America de Nord.
Adresele de la 200.0.0.0 la 201.255.255.255 sunt pentru America Centrala i de Sud.
Adresele de la 202.0.0.0 la 203.255.255.255 sunt pentru Asia i Pacific.

Astfel, fiecrei regiuni i s-au dat aproape 32 de milioane de adrese pentru alocare, cu alte
320 milioane de adrese de clas C de la 204.0.0.0 la 223.255.255.255 pstrate n rezerv pentru
viitor. Avantajul acestei alocri este c acum orice ruter din afara Europei care primete un
pachet adresat pentru 194.xx.yy.zz sau 195.xx.yy.zz poate s-1 trimit porii sale europene
standard. De fapt 32 de milioane de adrese sunt comprimate ntr-o singur intrare a tabelei de
dirijare. Similar pentru celelalte regiuni.
Desigur, o dat ce un pachet 194.xx.yy.zz intr n Europa, sunt necesare tabele de dirijare
mult mai detaliate. O posibilitate este de a avea 131.072 intrri pentru reelele de la 194.0.0.xx
pn la 195.255.255.xx, dar aceasta este exact explozia tabelelor de dirijare pe care ncercm s
o evitm. Alternativ, fiecare intrare din tabela de dirijare este extins prin adugarea unei
mti de 32 de bii. Cnd un pachet sosete, mai nti este extras destinaia. Apoi (n
principiu) tabela de dirijare este examinat intrare cu intrare, mascnd adresa destinaie i
comparnd-o cu intrarea din tabel n cutarea unei potriviri.
Pentru a face acest proces de comparaie mai clar, s considerm un exemplu. S presupunem c
Universitatea Cambridge are nevoie de 2048 de adrese i are atribuite adresele de la 194.24.0.0 pn
la 194.24.7.255, mpreun cu masca 255.255.248.0. Apoi, Universitatea Oxford cere 4096 de adrese,;
Din moment ce un bloc de 4096 de adrese trebuie s fie aliniat la o frontier de 4096 octei, nu li se
pot da adrese ncepnd cu 194.8.0.0. n loc, ei primesc de la 194.24.16.0 pn la 194.24.31.255,
mpreun cu o masc de 255.255.240.0. Acum Universitatea din Edinburgh cere 1024 de adrese i i
sunt atribuite adresele de la 194.24.8.0 pn la 194.24.11.255 i masca 255.255.252.0.
Tabelele de dirijare din toat Europa sunt acum actualizate cu trei intrri, fiecare coninnd o
adres de baz i o masc. Aceste intrri (n binar) sunt:

Adres Masc
11000010 00011000 00000000 00000000 111111111111111111111000 00000000
11000010 00011000 00010000 00000000 111111111111111111110000 00000000
11000010 00011000 00001000 00000000 111111111111111111111100 00000000

S considerm acum ce se ntmpl cnd sosete un pachet adresat pentru 194.24.17.4, care n
binar este:

11000010 00011000 0001000100000100

Mai nti, adresa este nmulit logic cu masca de la Cambridge pentru a obine:

11000010000110000001000000000000
NIVELUL REEA IN BSTIERNET 405
55

^Aceast valoare nu se potrivete eu adresa de baz de la Gambridge, aa c adresa original este


onoi nmulit logic cu masca de la Oxford pentru a se obine:

11000010000110000001000000000000

Aceast valoare se potrivete cu adresa de baz de la Oxford, aa c pachetul este trimis ruterului de
la Oxford. n practic, intrrile ruterului nu sunt ncercate secvenial; pentru a accelera cutarea, se
folosesc trucuri de indexare. De asemenea, este posibil ca dou intrri s se potriveasc, caz n care
cea care are n masc mai muli bii 1 ctig. n final, aceeai idee poate fi aplicat tuturor adreselor,
nu doar adreselor noi de clas C, deci folosind CIDR, vechile reele de clas A, B i C nu mai sunt
folosite pentru dirijare. Iat de ce CIDR este numit dirijare fr clase. CIDR este descris mai n
detaliu n (Ford .a, 1993 i Huitema, 1995).

5.5.10 IPv6

n timp ce CIDR mai poate ctiga civa ani, toat lumea i d seama c zilele IP-ului n forma
curent (IPv4) sunt numrate. n plus fa de aceste probleme tehnice, exist un alt aspect ntrezrit
n fundal. Pn acum ctva timp, Internet-ul a fost folosit n mare msur de universiti, industria
de vrf i de guvernul Statelor Unite (n mod special de Departamentul Aprrii). O dat cu
explozia interesului fa de Internet ce a nceput la mijlocul anilor 1990, probabil c n urmtorul
mileniu el va fi folosit de un grup de persoane mult mai larg, n mod special oameni cu diferite
cerine. Un motiv ar fi c milioane de persoane cu portabile ce comunic fr fir l pot folosi pentru
a pstra contactul cu bazele lor. Un alt motiv este c o dat cu iminenta convergen a industriilor
calculatoarelor, comunicaiilor i a distraciilor, s-ar putea s nu mai fie mult pn cnd fiecare
televizor din lume va fi un nod Internet, producnd un miliard de maini folosite pentru video la
cerere. n aceste condiii, a devenit clar c IP-ul trebuie s evolueze i s devin mai flexibil.
Observnd aceste probleme la orizont, IETF a nceput s lucreze n 1990 la o nou versiune de
IP, una care s nu i epuizeze niciodat adresele, s rezolve o gam larg de alte probleme i s fie
totodat mai flexibil i mai eficient. Obiectivele majore au fost:

1. S suporte miliarde de gazde, chiar cu alocare ineficient a spaiului de adrese.


2. S reduc dimensiunea tabelelor de dirijare.
3. S simplifice protocolul, pentru a permite ruterelor s proceseze pachetele mai rapid.
4. S asigure o securitate mai bun (autentificare i confidenialitate) fa de IP-ul curent.
5. S acorde o mai mari atenie tipului de serviciu, n special pentru datele de timp real.
6. S ajute trimiterea multipl prin permiterea specificrii de domenii.
7. S creeze condiiile pentru ca o gazd s poat migra fr schimbarea adresei sale.
8. S permit evoluia protocolului n viitor.
9. S permit coexistena noului i vechiului protocol pentru civa ani.

Pentru a gsi un protocol care s ndeplineasc toate aceste cerine, IETF a emis o cerere de
propuneri i discuii n RFC 1550. Au fost primite douzeci i unu de rspunsuri, nu toate din ele
propuneri complete. Pn n decembrie 1992, au ajuns pe masa discuiilor apte propuneri diferite.
406 NIVELUL REEA CAP.Sj

Ele variau de la efectuarea de mici crpeli la IP pn la renunarea complet la el i nlocuirea cu un ;


protocol complet nou. j
O propunere a fost folosirea TCP peste CLNP, care cu cei 160 de bii de adres ai si ar fi
oferit spaiu de adrese suficient pentru totdeauna i ar fi unifidat dou protocoale majore de
nivel reea. Cu toate acestea, multe persoane au simit c aceasta ar fi fost o acceptare a
faptului c, de fapt, a fost fcut ceva chiar bine n lumea OSI, o afirmaie considerat incorect
din punct de vedere politic n cercurile Internet. CLNP a fost modelat apropiat de IP, aa nct
cele dou nu sunt chiar att de diferite. De fapt, protocolul care a fost ales n final difer de IP
cu mult mai mult dect difer CLNP. O alt lovitur mpotriva CLNP a fost slabul suport
pentru tipuri de servicii, ceva necesar pentru transmiterea eficient de multimedia.
Trei din cele mai bune propuneri au fost publicate n IEEE Network (Deering, 1993; Francis,
1993 i Katz i Ford, 1993). Dup multe discuii, revizii i manevre de culise, a fost selectat o
versiune combinat modificat a propunerilor lui Deering i Francis, pn atunci numit SIPP
(Simple Internet Protocol Plus - Protocol simplu, mbuntit, pentru Internet) i i s-a dat numele de
IPv6 (IP versiunea 6 - IPv5 era deja utilizat pentru un protocol pentru fluxuri de timp real).
IPv6 ndeplinete obiectivele destul de bine. El menine caracteristicile bune ale IP-ului, le
elimin sau atenueaz pe cele rele i adaug unele noi acolo unde este nevoie. n general, IPv6 nu
este compatibil cu IPv4, dar el este compatibil cu toate celelalte protocoale Internet, incluznd TCP,
UDP, ICMP, IGMP, OSPF, BGP i DNS, cteodat fiind necesare mici modificri (majoritatea
pentru a putea lucra cu adrese mai lungi). Principalele trsturi ale IPv6 sunt discutate mai jos. Mai
multe informaii despre el pot fi gsite n RFC 1883 pn la RFC 1887.
Cel mai important, IPv6 are adrese mai lungi dect IPv4. Ele au o lungime de 16 octei, care
rezolv problema pentru a crei soluionare a fost creat IPv6: s furnizeze o surs efectiv nelimitat
de adrese Internet. In curnd vom spune mai multe despre adrese.
A doua mare mbuntire a lui IPv6 este simplificarea antetului. El conine numai 7;
cmpuri (fa de 13 n IPv4). Aceast schimbare permite ruterelor s proceseze pachetele mai
rapid, mbuntind astfel productivitatea. De asemenea, vom discuta n curnd i antetul
A treia mare mbuntire a fost suportul mai bun pentru opiuni. Aceast schimbare a fost
esenial n noul antet, deoarece cmpurile care erau necesare anterior sunt acum opionale. n plus,
modul n care sunt reprezentate opiunile este diferit, uurnd ruterelor saltul peste opiunile care
nu le sunt destinate. Aceast caracteristic accelereaz timpul de procesare a pachetelor.
Un al patrulea domeniu n care IPv6 reprezint un mare avantaj este n securitate. IETF a
avut poria sa de poveti de ziar despre copii precoce de 12 ani care i folosesc calculatoarele :
personale pentru a sparge bnci sau baze militare n tot Internet-ul. A existat un sentiment
puternic c ar trebui fcut ceva pentru a mbunti securitatea. Autentificarea i
confidenialitatea sunt trsturi cheie ale noului IP.
n final, a fost acordat o mai mare atenie tipului de serviciu dect n trecut. De fapt, IPv4 \
are un cmp de 8 bii dedicat acestei chestiuni, dar cu ateptata cretere de trafic multimedia
din viitor, este nevoie de mult mai mult.

Antetul principal IPv6

Antetul IPv6 este prezentat n Fig. 5-56. Cmpul Versiune este ntotdeauna 6 pentru IPv6 (i 4
pentru IPv4). n timpul perioadei de tranziie de la IPv4, care va lua probabil un deceniu, ruterele
sec.55 NIVELUL REIEA IN INTERNET 407

vor fi capabile s examineze acest cmp pentru a spune ce tip de pachet analizeaz. Ca un efect
lateral, acest test irosete cteva instruciuni pe drumul critic, aa nct multe implementri vor
ncerca s-1 evite prin folosirea unui cmp din antetul legturii de date ca s diferenieze pachetele
IPv4 de pachetele IPv6. n acest mod, pachetele pot fi transmise direct rutinei de tratare de nivel
reea corecte. Cu toate acestea, necesitatea ca nivelul legtur de date s cunoasc tipurile
pachetelor nivelului reea contravine complet principiul de proiectare care spune c fiecare nivel nu
trebuie s cunoasc semnificaia biilor care i sunt dai de ctre nivelul de deasupra. Discuiile dintre
taberele F-o corect" i F-o repede" vor fi, fr ndoial, lungi i virulente.

32 de bii

I 1 I I I I i i i i i i i i i i i i i i i i i

Versiune Prioritate Eticheta fluxului

Lungime informaie util Urmtorul antet Limita de salturi

Adresa surs
(16 octei)

Adresa destinaie
(16 octei)

Fig. 5-56. Antetul fix IPv6 (obligatoriu).

Cmpul Prioritate este folosit pentru a distinge ntre pachetele ale cror surse pot fi controlate ca
flux i acelea care nu pot fi controlate. Valorile ntre 0 i 7 sunt pentru transmisiuni care pot fi
ncetinite n cazul evenimentelor de congestie. Valorile ntre 8 i 15 sunt pentru trafic de timp real a
crui rat de transmisie este constant, chiar dac toate pachetele sunt pierdute. n ultima categorie
intr audio i video. Aceast distincie permite ruterelor s trateze pachetele mai bine n caz de
congestie. n cadrul fiecrui grup, pachetele cu numr mic sunt mai puin importante dect cele cu
numr mare. Standardul IPv6 sugereaz, de exemplu, folosirea lui 1 pentru tiri (news), 4 pentru
FTP, 6 pentru conexiuni Telnet, din moment ce ntrzierea unui pachet de tiri pentru cteva
secunde nu este notabil, dar ntrzierea unui pachet Telnet este cu siguran notabil.
Cmpul Eticheta fluxului este nc experimenta, dar va fi folosit pentru a permite unei surse i
unei destinaii s stabileasc o pseudo-conexiune cu proprieti i cerine particulare. De exemplu,
un ir de pachete de la un proces de pe un anumit gazd surs ctre un anumit proces pe o anumit
gazd destinaie poate avea cerine de ntrziere stricte i din acest motiv necesit capacitate de
408 NIVELUL REEA CAP. 5

transmisie rezervat. Fluxul poate fi stabilit n avans i poate primi un identificator. Cnd apare un
pachet cu o Etichet afluxului diferit de zero, toate ruterele pot s o caute n tabelele interne pentru
a vedea ce tip de tratament special necesit. Ca efect, fluxurile sunt o ncercare de a combina dou
moduri: flexibilitatea unei subretele de datagrame i garaniile unei subretele cu circuite virtuale.
Fiecare flux este desemnat de adresa surs, adresa destinaie i numrul de flux, aa nct, la
acelai moment, pot fi active mai multe fluxuri ntre o pereche dat de adrese IP. De asemenea, n
acest mod, chiar dac dou fluxuri venind de la gazde diferite, dar cu acelai numr de flux trec prin
acelai ruter, rutenii va fi capabil s le separe folosind adresele surs i destinaie. Se ateapt ca
numerele de flux s fie alese aleator, n loc de a fi atribuite secvenial ncepnd cu 1, pentru a fi mai
uor ruterelor s le foloseasc n tabele de dispersie.
Cmpul Lungimea infoimaiei utile spune ci octei urmeaz dup antetul de 40 de octei din Fig.
5-56. Numele a fost schimbat fa de cmpul Lungime total din IPv4 deoarece semnificaia este uor
modificat: cei 40 de octei nu mai sunt parte a lungimii aa cum erau nainte.
Cmpul Antetul wmtor d de gol proiectanii. Motivul pentru care antetul a putut fi
simplificat este c exist antete de extensie suplimentare (opionale). Acest cmp spune care
din cele ase antete (actuale) de extensie, dac exist vreunul, urmeaz dup cel curent. Dac
acest antet este ultimul antet IP, cmpul Antetul wmtor spune crui tip de protocol (de
exemplu TCP, UDP) i se va transmite pachetul.
Cmpul Limita salturilor este folosit pentru a mpiedica pachetele s triasc venic. El
este, n practic, identic cu cmpul Timp de via din IPv4, i anume un cmp care este
decrementat la fiecare salt dintr-o reea n alta. n teorie, n IPv4 era un timp n secunde, dar
nici un ruter nu-1 folosea n acest mod, aa nct numele a fost modificat pentru a reflecta
modul n care este de fapt folosit.
Apoi urmeaz cmpurile Adres surs i Adres destinaie. Propunerea original a lui Deering,
SIP, folosea adrese de 8 octei, dar n timpul procesului de evaluare, multe persoane au simit c
adresele de 8 octei s-ar putea epuiza n cteva decenii, n timp ce adresele de 16 octei nu s-ar
epuiza niciodat. Alte persoane au argumentat c 16 octei ar fi un exces, n timp ce alii ncurajau
folosirea adreselor de 20 de octei pentru a fi compatibile cu protocolul datagram OSI. O alt
grupare dorea adrese de dimensiune variabil. Dup multe discuii, s-a decis c adresele cu lungime
fix de 16 octei sunt cel mai bun compromis.
Spaiul de adrese IPv6 este mprit aa cum este indicat n Fig. 5-57. Adresele care ncep cu 80
de zerouri sunt rezervate pentru adresele IPv4. Sunt suportate dou variante, difereniabile prin
urmtorii 16 octei. Aceste variante se refer la modul n care pachetele IPv6 vor fi transmise prin
tunele prin infrastructura IPv4 existent.
Folosirea de prefixe separate pentru adresele bazate pe furnizor i pentru cele pe baz
geografic este un compromis ntre dou viziuni diferite asupra viitorului Internet-ului.
Adresele bazate pe furnizor au sens dac v gndii c n viitor vor exista un numr de
companii ce ofer servicii Internet pentru clieni, similare cu AT&T, MCI, Sprint, British
Telecom i aa mai departe, care acum ofer servicii telefonice. Fiecare din aceste companii va
primi o fraciune din spaiul de adrese. Primii 5 bii care urmeaz prefixului 010 sunt folosii
pentru a indica la care registratur s fie cutat furnizorul. Acum funcioneaz trei registraturi,
pentru America de Nord, Europa i Asia. Ulterior pot fi adugate pn la 29 de registraturi.
SEC. 5.5 NIVELUL REEA N INTERNET 409

Prefix (n binar) Folosire Fraciune


0000 0000 Rezervate (incluznd IPv4) 1/256
0000 0001 Neatribuite 1/256
0000 001 Adrese OSINSAP 1/128
0000 010 Adrese IPX Novell Netware 1/128
0000 011 Neatribuite 1/128
00001 Neatribuite 1/32
0001 Neatribuite 1/16
001 Neatribuite 1/8
010 Adrese bazate pe furnizor 1/8
011 Neatribuite 1/8
100 Adrese pe baz geografic 1/8
101 Neatribuite 1/8
110 Neatribuite 1/8
1110 Neatribuite 1/16
11110 Neatribuite 1/32
1.111 10 Neatribuite 1/64
1111110 Neatribuite 1/128
1111 11101 Neatribuite 1/512
1111 111010 Adrese de legturi de uz local 1/1024
1111 111011 Adrese de sit de uz local 1/1024
11111111 Trimitere multipl (multicast) 1/256

Fig. 5-57. Adresele IPv6.

Fiecare registratur este liber s mpart urmtorii 15 octei aa cum crede de cuviin. Se
ateapt ca multe din ele s foloseasc un numr de furnizor din 3 octei, ceea ce nseamn
aproape 16 milioane de furnizori, pentru a permite companiilor mari s funcioneze ca proprii
furnizori. O alt posibilitate este s se foloseasc 1 octet pentru a indica furnizorii naionali i a
permite acestora s fac alocarea n continuare. n acest mod, pot fi introduse niveluri
suplimentare de ierarhie, dup cum este nevoie.
Modelul geografic este la fel ca Internet-ul actual, n care furnizorii nu joac un rol important. n
acest mod, IPv6 poate trata ambele tipuri de adrese.
Adresele de uz local pentru legturi i situri au numai o semnificaie local. Ele pot fi refolosite
n fiecare organizaie fr conflict. Ele nu pot fi propagate n afara granielor organizaionale,
fcndu-le potrivite pentru organizaiile care folosesc la ora actual ziduri de protecie pentru a se
proteja de restul Internet-ului.
n adresele de trimitere multipl, dup prefix urmeaz un cmp indicator de 4 bii i un
cmp domeniu de 4 bii, apoi un identificator de grup de 112 bii. Unul din biii indicatori face
distincia dintre grupurile permanente i cele temporare. Cmpul domeniu permite ca o
trimitere multipl s fie limitat la legtura, situl, organizaia sau planeta curent. Aceste
patru domenii sunt rspndite peste cele 16 valori, pentru a permite adugarea ulterioar de
noi domenii. De exemplu, domeniul planetar este 14, aa nct codul 15 este disponibil pentru
dezvoltarea viitoare a Internet-ului la alte planete, sisteme solare, galaxii.
n plus fa de suportul adreselor standard de trimitere unic (unicast - punct-la-punct) i
multipl (multicast), IPv6 suport de asemenea un nou tip de adresare: trimitere ctre oricine
(anycast). Trimiterea ctre oricine (anycasting) este la fel ca trimiterea multipl n sensul c
/
. NIVELUL REEA CAP.5

destinaia este un grup d^..d^@sey~.datr,. JHQ Jtoc.s ..s^-.;.ncaRae livrarea pachetului la toate adresele, se"
ncearc livrarea la una singur, de obicei cea mai apropiat. De exemplu, un client care dorete s
contacteze un grup de servere de fiiere care coopereaz poate folosi trimiterea ctre oricine pentru
a ajunge la cel mai apropiat server fr s trebuiasc s tie care este acesta. Trimiterea ctre oricine
folosete adrese obinuite de trimitere unic. Se las la alegerea sistemului de dirijare care este
fericita gazd care primete pachetul.
Pentru scrierea adreselor de 16 octei a fost inventat o nou notaie. Ele sunt scrise ca opt
grupuri de cte patru cifre hexazecimale cu semnul: (dou puncte) ntre grupuri, astfel:

8000:0000:0000:0000:0123:4567:89AB:CDEF

Din moment ce multe adrese vor avea multe zerouri n interiorul lor, au fost autorizate trei
optimizri. Mai nti, zerourile de la nceputul unui grup pot fi omise, astfel nct 0123 poate fi scris
ca 123. n al doilea rnd, unul sau mai multe grupuri de 16 zerouri pot fi nlocuite de o pereche de
semne dou puncte (:). Astfel, adresa de mai sus devine acum

8000::123:4567:89AB:CDEF

n final, adresele IPv4 pot fi scrise ca o pereche de semne dou puncte i un numr zecimal n vechea
form cu punct, de exemplu

::192.31.20.46

Probabil c nu este necesar s fim att de explicii asupra acestui lucru, dar exist o mulime de
adrese de 16 octei. Mai exact, sunt 2 1 2 8 adrese, care reprezint aproximativ 3xlO38. Dac ntreaga
planet, pmnt i ap, ar fi acoperite cu calculatoare, IPv6 ar permite 7xl(P adrese IP pe metru
ptrat. Studenii de la chimie vor observa c acest numr este mai mare dect numrul lui Avogadro.
Dei nu a existat intenia de a da fiecrei molecule de pe suprafaa planetei adresa ei IP, nu suntem
chiar aa de departe de aceasta.
n practic, spaiul de adrese nu va fi folosit eficient, aa cum nu este folosit spaiul de adrese al
numerelor de telefon (prefixul pentru Manhattan, 212, este aproape plin, dar cel pentru Wyoming,
307, este aproape gol). n RFC 1715, Huitema a calculat c, folosind alocarea numerelor de telefon
ca referin, chiar i n cel mai pesimist scenariu, vor fi totui mult peste 1000 de adrese IP pe metru
ptrat de suprafa planetar (pmnt sau ap). n orice scenariu credibil, vor fi trilioane de adrese
pe metru ptrat. Pe scurt, pare improbabil c vom epuiza adresele n viitorul previzibil. De asemenea
merit menionat c doar 28 de procente din spaiul de adrese a fost alocat pn acum. Celelalte 72
de procente sunt disponibile pentru scopuri viitoare nc neimaginate.
Este instructiv s comparm antetul IPv4 (Fig. 5-45) cu antetul IPv6 (Fig. 5-56) pentru a vedea ce
a fost eliminat n IPv6. Cmpul IUL este pierdut pentru c antetul IPv6 are o lungime fix. Cmpul
Protocol a fost scos pentru c n cmpul Antetul urmtor se indic ce urmeaz dup ultimul antet IP
(de exemplu, un segment TCP sau UDP).
Toate cmpurile referitoare la fragmentare au fost eliminate, deoarece IPv6 are o abordare
diferit a fragmentrii. Pentru nceput, toate gazdele i ruterele care sunt conforme cu IPv6
trebuie s suporte pachete de 576 octei. Aceast regul face ca, de la nceput, fragmentarea s
fie mai puin probabil. In plus, cnd o gazd trimite un pachet IPv6 care este prea mare,
SEC. 5.5 NIVELUL REEA IN INTERNET 411

rutenii, care este incapabil de a-1 retransmite trimite napoi un mesaj de eroare n loc s
fragmenteze pachetul. Acest mesaj de eroare i spune gazdei s sparg toate pachetele viitoare
ctre acea destinaie. Este mai eficient s se oblige gazdele s trimit pachete corecte
dimensional de la nceput dect s se fragmenteze din zbor pachetele la rutere.
n sfrit, cmpul Sum de control este eliminat deoarece calculul acesteia reduce mult
performanele. Datorit reelelor fiabile folosite acum, combinate cu faptul c nivelurile de legtur
de date i de transport au n mod normal propriile sume de control, valoarea a nc unei sume de
control nu merita preul de performan cerut. Eliminarea tuturor acestor caracteristici a avut ca
rezultat un protocol de nivel reea simplu i eficient. Astfel, obiectivul lui IPv6 - un protocol rapid,
dar flexibil, cu o bogie de spaiu de adrese - a fost atins prin acest proiect.

Antete de extensie
Fr ndoial, cteva din cmpurile care lipsesc sunt nc necesare ocazional, astfel nct IPv6 a
introdus conceptul de antet de extensie (opional). Aceste antete pot fi furnizate pentru a oferi
informaii suplimentare, dar codificate ntr-un mod eficient. n prezent sunt definite ase tipuri de
antete de extensie, prezentate n Fig. 5-58. Fiecare este opional, dar dac sunt prezente mai multe,
ele trebuie s apar imediat dup antetul fix i, preferabil, n ordinea prezentat.

Antet de extensie Descriere


Opiuni salt-dup-salt Diverse informaii pentru rutere
Dirijare Calea, parial sau totala, de urmat
Fragmentare Gestiunea fragmentelor datagramelor
Autentificare Verificarea identitii emitorului
Informaie de siguran criptat Informaii despre coninutul criptat
Opiuni destinaie Informaii suplimentare pentru destinaie

Fig. 5-58. Antetele de extensie IPv6.

Unele dintre antete au un format fix; altele conin un numr variabil de cmpuri de
lungime variabil. Pentru acestea, fiecare element este codificat ca un tuplu (Tip, Lungime,
Valoare). Tipul este un cmp de 1 octet care spune ce opiune este aceasta. Valorile Tipului au
fost alese astfel, nct primii 2 bii spun ruterelor care nu tiu cum s proceseze opiunea ce s
fac. Variantele sunt: srirea opiunii, eliminarea pachetului, eliminarea pachetului i
trimiterea napoi a unui pachet ICMP i la fel ca mai nainte, doar c nu se trimit pachete
ICMP pentru adrese de trimitere multipl (pentru a preveni ca un pachet eronat de trimitere
multipl s genereze milioane de rapoarte ICMP).
Lungimea este, de asemenea, un cmp de 1 octet. El indic ct de lung este valoarea (de la 0 la
255 octei). Valoarea este orice informaie cerut, de cel mult 255 octei.

Antetul urmtor 194

Lungimea informaiei utile foarte mari

Fig. 5-59. Antetul de extensie salt-dup-salt pentru datagrame mari (jumbograme).


412 NIVELUL REEA CAP. 5

Antetul salt-dup-alt este folosit pentru informaii eare trebuie examinate de toate ruterele de
pe cale. Pii'acum a fost definita o opiune: suportul pentru datagrame ce depesc de 64K
Formatul acestui antet este prezentat n Fig. 5-59.
Ca i toate antetele de extensie, acesta ncepe cu un octet care spune ce tip de antet este
urmtorul. Acest octet este urmat de unul care spune ct de lung este antetul salt-dup-salt n
octei, excluznd primii 8 octei, care sunt obligatorii. Urmtorii 2 octei indic faptul c
aceast opiune definete dimensiunea datagramei (codul 194) ca un numr de 4 octei.
Ultimii 4 octei dau dimensiunea datagramei. Dimensiunile mai mici de 65.536 nu sunt
permise i au ca rezultat eliminarea pachetului de ctre primul ruter, care va trimite napoi un
mesaj ICMP de eroare. Datagramele care folosesc acest antet de extensie sunt numite
jumbograme. Folosirea jumbogramelor este important pentru aplicaiile supercalculatoarelor
care trebuie s transfere gigaoctei de date eficient prin intermediul Internet-ului.
Antetul de dirijare enumera unul sau mai multe rutere care trebuie s fie vizitate pe calea spre
destinaie. Att dirijarea strict (este furnizat ntreaga cale) ct i dirijarea aproximativ (sunt
furnizate doar anumite rutere) sunt disponibile, dar ele sunt combinate. Formatul antetului de
dirijare este prezentat n Fig. 5-60.

Antetul urmtor 0 Numrul de adrese Adresa urmtoare

Hart de bii

tp ntre 1 i 24 de adrese tp

Fig. 5-60. Antetul de extensie pentru dirijare.

Primii 4 octei ai antetului de extensie de dirijare conin patru ntregi de 1 octet: tipul
urmtorului antet, tipul de dirijare (curent 0), numrul de adrese prezente n antet (de la 1 la 24) i
indexul urmtoarei adrese de vizitat. Ultimul cmp pornete de la 0 i este incrementat pe msur ce
fiecare adres este vizitat.
Urmeaz un octet rezervat, urmat de o hart de bii cu bii pentru fiecare din cele 24 de adrese
IPv6 poteniale care urmeaz. Aceti bii spun dac fiecare adres trebuie s fie vizitat direct dup
cea precedent (dirijare strict pe baza sursei) sau dac pot interveni i alte rutere pe parcurs
(dirijare aproximativ pe baza sursei).
Antetul fragment trateaz fragmentarea ntr-un mod similar cu cel al IPv4. Antetul menine
identificatorul datagramei, numrul de fragment i un bit care spune dac mai urmeaz fragmente,
n IPv6, spre deosebire de IPv4, numai gazda surs poate fragmenta un pachet. Ruterele de pe cale
nu pot face acest lucru. Dei aceast schimbare este o rupere filozofic major cu trecutul, ea
simplific munca ruterelor i permite ca dirijarea s se fac mai rapid. Aa cum s-a menionat mai
sus, dac un ruter este confruntat cu un pachet care este prea mare, el elimin pachetul i trimite un
pachet ICMP napoi la surs. Aceast informaie permite gazdei surs s fragmenteze pachetul n
buci mai mici folosind acest antet i apoi s rencerce.
SEC. 5.5 NIVELUL REEA N INTERNET 413

Antetul de autentificare ofer un mecanism prin care receptorul unui mesaj-poate fi sigur de cel
care 1-a trimis. Prin IPv4 nu este prezent nici o astfel de garanie. Informaia util de siguran
criptat face posibil criptarea coninutului unui pachet, astfel nct doar receptorul cruia i este
destinat poate s-1 citeasc. Aceste antete folosesc tehnici criptografice pentru a-i realiza misiunea.
Vom da scurte descrieri mai jos, dar cititorii care nu sunt familiarizai cu criptografia modern s-ar
putea s nu neleag ntreaga descriere acum. Ei ar trebui s revin dup citirea Cap. 7 (n special
seciunea 7.1), care trateaz protocoale criptografice.
Cnd un emitor i un receptor doresc s comunice sigur, ei trebuie mai nti s fie de acord cu
una sau mai multe chei secrete pe care le tiu doar ei. Cum se descurc ei nu intr n scopul IPv6.
Fiecare din aceste chei are atribuit un numr unic de cheie de 32 de bii. Numerele de cheie sunt
globale, aa nct dac Alice folosete cheia 4 pentru a discuta cu Bob, ea nu poate avea o cheie 4
pentru a vorbi cu Carol. Cu fiecare numr de cheie sunt asociai i ali parametri, cum ar fi durata de
via a cheii i aa mai departe.
Pentru a trimite un mesaj autentificat, emitorul construiete mai nti un pachet care const din
toate antetele IP i informaia util i apoi nlocuiete cmpurile care se modific pe drum (de
exemplu Limita salturilor) cu zerouri. Pachetului i se adaug apoi zerouri de umplere pn la un
multiplu de 16 octei. n mod similar, cheii secrete folosite i se adaug zerouri de umplere pn la un
multiplu de 16 octei. Acum este calculat o sum criptografic de control peste concatenarea
realizat din cheia secret umplut, pachetul umplut i, din nou, cheia secret umpluta. Utilizatorii
pot defini propriul lor algoritm pentru suma criptografic de control, dar utilizatorii fr pretenii
criptografice ar trebui s foloseasc algoritmul implicit, MD5.
Acum am ajuns la rolul antetului de autentificare. n principal, el conine trei pri. Prima
parte const din 4 octei ce pstreaz numrul urmtorului antet, lungimea antetului de
autentificare i 16 bii zero. Apoi urmeaz numrul de cheie de 32 de bii. La final este inclus
suma de control MD5 (sau o alt sum).
Receptorul folosete atunci numrul de cheie pentru a afla cheia secret. Versiunea
umplut a cheii este pus n faa i n spatele informaiei utile, cmpurile variabile ale antetului
sunt fcute zero i se calculeaz suma de control. Dac aceasta corespunde cu suma de control
inclus n antetul de autentificare, receptorul poate fi sigur c pachetul vine de la emitorul
cu care este partajat cheia secret i, de asemenea, poate fi sigur c pachetul nu a fost
modificat pe drum. Proprietile lui MD5 face computaional nerealizabil ca un intrus s
falsifice identitatea emitorului sau s modifice pachetul ntr-un mod care s nu fie detectat.
Este important s notm c informaia util a unui pachet autentificat este, trimis
necriptat. Orice ruter de pe drum poate s-i citeasc coninutul. Pentru multe aplicaii,
secretizarea nu este important, ci doar autentificarea. De exemplu, dac un utilizator d
ordin unei bnci s-i plteasc nota telefonic, probabil c nu exist o nevoie real pentru
secretizare, dar exist o nevoie foarte real din partea bncii de a fi absolut sigur c tie cine a
trimis pachetul care conine ordinul de plat.
Pentru pachetele care trebuie s fie trimise n secret, este folosit antetul de extensie informaie
util de siguran criptat. El ncepe cu un numr de cheie de 32 de bii, urmat de informaia util
criptat. Algoritmul de criptare este la alegerea emitorului i receptorului, dar implicit se folosete
DES n modul de nlnuire a blocurilor de cifrare (DES-CBC). Cnd este folosit DES-CBC,
cmpul informaie util ncepe cu un vector de iniializare (un multiplu de 4 octei), apoi informaia
414 NIVELUL REEA CAP. 5

util, apoi umplutura pn la un multiplu de 8 octei. Dac sunt dorite att criptarea ct i
autentificarea, sunt necesare ambele antete.
Antetul opiuni destinaie este introdus pentru cmpuri care trebuie s fie interpretate doar la
gazda destinaie. n versiunea iniial a IPv6, singurele opiuni definite sunt opiunile nule pentru
alinierea acestui antet la un multiplu de 8 octei, astfel nct nu va fi folosit iniial. El a fost inclus
pentru a asigura c noile programe de dirijare i ale gazdelor pot s-1 manevreze, n cazul n care
cineva se va gndi vreodat la o opiune destinaie.

Controverse
Dat fiind deschiderea procesului de proiectare i opiniile ferm susinute ale multora din
persoanele implicate, nu ar trebui s fie o surpriz c multe din deciziile fcute pentru IPv6 au fost
foarte controversate. Vom rezuma cteva dintre acestea n cele ce urmeaz. Pentru toate
amnuntele tioase, vezi (Huitema, 1996).
Am menionat deja disputa legat de lungimea adresei. Rezultatul a fost un compromis: adrese
de lungime fix de 16 octei.
O alt lupt s-a dezvoltat n jurul lungimii cmpului Limita salturilor. O tabr a simit c
limitarea numrului maxim de salturi la 255 (implicare a folosirii unui cmp de 8 bii) ar fi o
greeal grosolan. Pn la urm, ci de 32 de salturi sunt obinuite n zilele noastre, iar n 10
ani de acum, pot fi obinuite ci mult mai lungi. Aceste persoane au argumentat c folosirea
unui spaiu de adrese enorm a fost clarviziune, dar folosirea unui contor minuscul de salturi a
fost miopie. Dup prerea lor, cel mai mare pcat pe care l poate comite un informatician
este s ofere prea puini bii ntr-un loc.
Rspunsul a fost c argumente pot fi aduse pentru lrgirea fiecrui cmp, conducnd la un antet
umflat. De asemenea, funcia cmpului Limita salturilor este de a mpiedica hoinreala pachetelor
pentru un timp ndelungat i 65.536 de salturi este mult prea mult. n cele din urm, pe msur ce
Internet-ul crete, se vor construi din ce n ce mai multe legturi de mare distan, fcnd posibil
ajungerea dintr-o ar n alta n cel mult o jumtate de duzin de salturi. Dac este nevoie de mai
mult de 125 de salturi pentru a ajunge de la surs sau destinaie la porile lor internaionale, ceva
este n neregul cu coloanele vertebrale naionale. Adepii celor 8 bii au ctigat aceast lupt.
O alt problem spinoas a fost dimensiunea maxim a pachetului. Comunitatea
supercalculatoarelor a dorit pachete mai mari de 64 KB. Cnd un supercalculator ncepe s
transfere, aceasta este ntr-adevr lucru serios i nu dorete s fie ntrerupt dup fiecare 64KB.
Argumentul mpotriva pachetelor mari este c dac un pachet de 1 MB ajunge la o linie TI de 1.5
Mbps, acel pachet va monopoliza linia pentru mai mult de 5 secunde, producnd o ntrziere
semnificativ pentru utilizatorii interactivi care partajeaz linia. Aici a fost atins un compromis:
pachetele normale au fost limitate la 64 KB, dar antetul de extensie salt-dup-salt poate fi folosit
pentru a permite jumbograme.
Un al treilea punct fierbinte a fost eliminarea sumei de control IPv4. Unele persoane au asimilat
aceast mutare cu eliminarea frnelor de la main. Fcnd acest lucru, maina devine mai uoar,
astfel nct poate merge mai repede, dar dac intervine ceva neateptat, ai probleme.
Argumentul mpotriva sumei de control a fost c orice aplicaie care are ntr-adevr grij de
integritatea datelor oricum trebuie s aib o sum de control la nivelul transport, aa nct
meninerea a nc o sum n IP (n plus fa de suma de control a nivelului legtur de date) este un
ggC.55 415

j s . Mai mult, experiena a artat c n IPv4 calculul sumei de.control IP era foarte costisitoare.
Tabra mpotriva sumei de control a nvins de aceast dat, deci IPv6 nu are o sum de control.
Gazdele mobile au fost de asemenea un punct de conflict. Dac un calculator portabil zboar
jumtate din drum n jurul lumii, el poate continua s opereze la destinaie cu aceeai adres IPv6
sau trebuie s foloseasc o schem cu ageni locali i ageni pentru strini? De asemenea, gazdele
mobile introduc asimetrii n sistemul de dirijare. Se poate foarte bine ntmpla ca un mic calculator
mobil s aud semnalul puternic trimis de un ruter staionar, dar ruterul staionar nu poate auzi
semnalul slab trimis de gazda mobil. n consecin, unele persoane au dorit s includ suport
explicit pentru gazde mobile n IPv6. Acest efort a euat cnd nu s-a putut ajunge la un consens
pentru o propunere concret. .
Probabil c cea mai mare btlie a fost pentru securitate. Toat lumea a fost de acord c este
necesar. Rzboiul a fost pentru unde i cum. Mai nti unde. Argumentul pentru plasarea la nivelul
reea este c devine un serviciu standard pe care toate aplicaiile l pot folosi fr o planificare
prealabil. Argumentul contra este c aplicaiile cu adevrat sigure nu doresc n general nimic mai
mult dect criptare capt-la-capt, n care aplicaia surs cripteaz i aplicaia destinaie decripteaz.
Mai mult, utilizatorul este la mila unor implementri potenial pline de pene a nivelurilor reea,
implementri asupra crora nu are nici un control. Rspunsul la acest argument este c aceste
aplicaii pot s se abin de la folosirea facilitilor de securitate IP i s-i fac treaba ele nsele.
Replica la aceasta este c persoanele care nu au ncredere c reeaua face treaba cum, trebuie, nu
doresc s plteasc preul unor implementri de IP lente, greoaie, care au aceast facilitate, chiar
dac este dezactivat.
Un alt aspect al disputei unde s fie pus securitatea este n legtur cu faptul c multe ri (dar
nu toate) au legi de export severe referitoare la criptografie. Unele, notabil n Frana i Irak, reduc n
mare msur folosirea intern a criptografiei, aa nct oamenii nu pot avea secrete fa de poliie.
Ca rezultat, orice implementare de IP care utilizeaz un sistem criptografic suficient de puternic
pentru a fi de mare valoare nu poate fi exportat din Statele Unite (i multe alte ri) clienilor din
lumea ntreag. Necesitatea meninerii a dou seturi de programe, unul pentru uzul intern i unul
pentru export, este un fapt ce ntmpin o opoziie viguroas din partea firmelor de calculatoare.
O soluie potenial este ca toate firmele de calculatoare s-i mute laboratoarele de criptografie
ntr-o ar care nu reglementeaz criptografia, cum ar fi Finlanda sau Elveia. Programele de
criptografie puternic pot fi proiectate i produse acolo i apoi trimise legal n toate rile cu excepia
Franei sau Irak-ului. Problema acestei abordri este c proiectarea unei pri din programele unui
ruter ntr-o ar i a unei alte pri n alt ar poate duce la probleme de integrare.
Controversa final referitoare la securitate este legat de alegerea algoritmilor implicii care
trebuie suportai de toate implementrile. n timp ce s-a crezut c MD5 este relativ sigur, progresele
recente din criptografie pot s-1 slbeasc. Nici un criptograf serios nu crede c DES este sigur
mpotriva atacurilor guvernelor rilor importante, dar probabil c pentru moment este destul de
bun pentru a zdrnici chiar i atacurile celui mai precoce copil de 12 ani. Compromisul a fost s se
introduc securitatea n IPv6, s se foloseasc un algoritm de vrf de linie pentru calculul sumei de
control pentru o bun autentificare i un algoritm slbu pentru secretizare, dar s se dea
utilizatorilor posibilitatea de a nlocui aceti algoritmi cu cei proprii.
Un punct asupra cruia nu au existat controverse este c nimeni nu ateapt ca Internet-ul bazat
pe IPv4 s fie nchis ntr-o duminic dimineaa i s reporneasc ca un Internet bazat pe IPv6 luni
diminea. n schimb, vor fi convertite insule" izolate de IPv6, iniial comunicnd prin tunele. Pe
416 NIVELUL REEA CAP. 5

msur ce insulele IPv6 cresc, ele vor fuziona n insule mai mari. Pn la urm, toate insulele vor
fuziona i Internet-ul va fi convertit complet. Dat fiind investiia masiv n rutere IPv4 n folosin
curent, procesul de conversie va dura probabil un deceniu. Din acest motiv s-a depus o enorm
cantitate de efort pentru a asigura c aceast tranziie va fi ct mai puin dureroas posibil.

5.6 NIVELUL REEA N REELE ATM

Nivelurile modelului ATM nu corespund prea bine cu nivelurile OSI, ceea ce duce la
ambiguiti. Nivelul OSI legtur de date se ocup cu ncadrarea i cu protocoale de transfer
ntre dou maini de pe acelai cablu fizic (sau fibr). Protocoalele nivelului legtur de date
sunt protocoale mono-salt. Ele nu se ocup de conexiunile capt-la-capt deoarece comutarea
i dirijarea nu apar la nivelul legtur de date. Nu exist nici o ndoial cu privire la. aceasta.
Nivelul cel mai de jos, care merge de la surs la destinaie i implic astfel dirijare i comutare
(adic este multi-salt), este nivelul reea. Nivelul ATM se ocup cu transferul celulelor de la surs la
destinaie i, n mod cert, implic algoritmi i protocoale de dirijare n interiorul comutatoarelor
ATM. De asemenea el se ocup cu adresarea global. Deci, din punct de vedere funcional, nivelul
ATM execut sarcinile ce corespund nivelului reea. Nivelul ATM nu este garantat a fi 100 la sut
fiabil, dar acest lucru nu este cerut pentru un protocol de nivel reea.
Totodat, nivelul ATM amintete de nivelul 3 de la X.25 i oricine este de acord c acesta
este un protocol de nivel reea. n funcie de valorile date biilor, protocolul de nivel reea
X.25 poate fi sau nu fiabil, dar cele mai multe implementri l consider nefiabil. Deoarece
ATM are funcionalitatea ateptat de la nivelul reea, nu are funcionalitatea presupus
pentru nivelul legtur de date i este destul de asemntor cu protocoalele de nivel reea
existente, vom discuta nivelul ATM n acest capitol.
Confuzia ia natere pentru c multe persoane din comunitatea ATM privesc nivelul ATM ca pe
un nivel legtur de date sau, cnd fac emulare LAN, chiar ca pe un nivel fizic. Multe persoane din
comunitatea Internet l vd de asemenea ca pe un nivel legtur de date, deoarece doresc s pun IP
deasupra sa i tratarea nivelului ATM ca nivel legtur de date se potrivete bine cu aceast
abordare. (Dei, urmnd acest gen de raionament, pentru comunitatea Internet, toate reelele
opereaz la nivelul legtur de date, indiferent care sunt caracteristicile lor fizice.)
Singura problem este c nivelul ATM nu are caracteristicile unui protocol al nivelului legtur
de date: un protocol mono-salt folosit de mainile de la capetele opuse ale unei legturi, cum sunt
protocoalele 1 pn la 6 din Cap. 3. El are caracteristicile unui protocol de nivel reea: circuite
virtuale capt-la-capt, comutare i dirijare.
Autorul i-a amintit o veche ghicitoare:

: Cte picioare ar avea un catr dac am numi coada picior?


R: Patru. Dac numim coada picior, nu o transfoimm n picior.

Este suficient ct am spus, cititorul este prevenit de controversa existent aici, combinat cu o
important doz de pur subiectivitate.
Nivelul ATM este orientat pe conexiuni, att n termenii serviciilor oferite ct i n ceea ce
privete modul n care opereaz intern. Elementul de baz al nivelului ATM este circuitul virtual
(numit oficial canal virtual). Un circuit virtual este n mod normal o conexiune de la o surs pn la
SEG. 5-6 NIVELUL REEA N R E p L E ATM 417

. .^destinaie, cu toate c sunt permise i conexiuni cu trimitere multipl^ Circuitele virtuale sunt
unidirecionale, dar o pereche de circuite poate fi creat n acelai timp. Amndou prile perechii
sunt adresate prin acelai identificator, astfel c un circuit virtual este efectiv duplex integral. Totui,
capacitatea canalului i alte proprieti pot fi diferite n cele dou direcii i pot fi chiar zero pentru
una din ele.
Nivelul ATM este neobinuit pentru un protocol orientat pe conexiuni, n sensul c nu pune la
dispoziie nici o confirmare. Motivul acestei proiectri este c ATM a fost destinat folosirii n reele
cu fibr optic, care sunt foarte fiabile. S-a considerat adecvat s se lase nivelurilor superioare
controlul erorilor. n definitiv, trimiterea de confirmri la nivelul legtur de date sau reea este
numai o optimizare. Este ntotdeauna suficient ca nivelul transport s trimit un mesaj i apoi s
trimit din nou ntregul mesaj, dac acesta nu este confirmat la timp.
Mai mult, reelele ATM sunt folosite frecvent pentru trafic n timp real, cum este cel audio i
video. Pentru acest fel de trafic, retransmiterea unei celule care s-a ntmplat s fie eronat este mai
periculoas dect ignorarea ei.
n ciuda lipsei confirmrilor, nivelul ATM ofer o garanie puternic: celulele trimise de-a
lungul circuitului virtual nu vor ajunge niciodat n alt ordine. Subreeaua ATM are voie s
nlture celule dac se produce congestie, dar sub nici un motiv nu poate s reordoneze
celulele trimise pe acelai circuit virtual. Cu toate acestea, nu exist nici o garanie cu privire la
ordonarea celulelor trimise pe circuite virtuale diferite. De exemplu, dac o gazd trimite o
celul pe circuitul virtual 10 i mai trziu trimite o celul cu aceeai destinaie pe circuitul
virtual 20, cea de-a doua celul poate ajunge prima. Dac cele dou celule au fost trimise pe
acelai circuit virtual, prima trimis va fi ntotdeauna prima sosit.

Circuit Cale virtual


virtual

Cale de
transmisie

Fig. 5-61. O cale de transmisie poate conine ci virtuale multiple, fiecare dintre
acestea putnd conine circuite virtuale multiple.

Nivelul ATM asigur o ierarhie de conexiuni pe dou niveluri care este vizibil pentru nivelul
transport. De-a lungul fiecrei ci de transmisie de la o surs dat la, o destinaie dat, un grup de
circuite virtuale pot fi grupate n ceea ce se numete o cale virtual, aa cum este ilustrat n Fig. 5-61.
Conceptual, o cale virtual este ca un mnunchi de perechi torsadate: cnd este redirijat, toate
perechile (circuite virtuale) sunt redirijate mpreun. Vom considera mai trziu n detaliu
implicaiile acestei proiectri pe dou niveluri.

5.6.1 Formatele celulelor

La nivelul ATM, se disting dou interfee: UNI (User-Network Interface - Interfaa utilizator-
reea) i NNI (Network-Network Interface - interfaa reea-reea). Prima definete frontiera dintre o
418 NIVELUL REEA CAP. 5

gazd i o reea ATM (n multe cazuri, dintre client i purttor). Ultima se aplic la grania dintre
dou comutatoare (termenul ATM pentru rutere) ATM.
n ambele cazuri, celulele se compun dintr-un antet de 5 octei urmat de o informaie util de 48
de octei, dar cele dou antete sunt puin diferite. Antetele, aa cum sunt definite de Forumul ATM,
sunt ilustrate n Fig. 5-62. Celulele sunt transmise ncepnd cu octetul cel mai din stnga i cu cel mai
din stnga bit din octet.

40 de bii

1 1 1 i i i 1 i i i i i i 1 i i i i i i i I i i i i i i i 1 1 1 1 1 1 !

C
GFC VPI VCI PTI L HEC
P

(a)

C
VPI VCI PTI L HEC
P

(b)

GFC: General Flow Control (control general al fluxului)


VPI: Virtual Path Identifier (identificatorul cii virtuale)
VCI: Virtual Channel Identification (identificarea canalului virtual)
PTI: Payload Type (tipul ncrcrii utile)
CLP: Cell Loss Priority (prioritatea de eliminare a celulelor)
HEC: Header Error Check (suma de control a antetului)

Fig. 5-62. (a) Antetul nivelului ATM la UNI. (b) Antetul nivelului ATM la NNI.

Cmpul GFC este prezent numai n celulele transmise ntre o gazd i reea. El este rescris
de primul comutator la care ajunge, deci nu are semnificaie in comunicaia capt-la-capt i
nu este transmis destinaiei. Iniial, cnd a fost conceput, s-a crezut c va fi folositor pentru
controlul fluxului sau pentru prioritatea ntre gazde i reele, dar nici o valoare nu este definit
pentru el i reeaua l ignor. Cel mai bine este s fie considerat ca o greeal n standard.
Cmpul VPI este un ntreg mic care selecteaz o anumit cale virtual (vezi Fig. 5-61). Similar,
cmpul VCI selecteaz un anumit circuit virtual n cadrul cii virtuale alese. Deoarece cmpul VPI
are 8 bii (la UNI) i cmpul VCI are 16 bii, teoretic, o gazd poate avea pn la 256 de grupuri VC
(virtual circuit), fiecare coninnd pn la 65.536 de circuite virtuale. De fapt, sunt disponibile ceva
mai puine, pentru c unele FC/-uri sunt rezervate pentru funcii de control, cum ar fi stabilirea de
circuite virtuale.
Cmpul PTI definete tipul de informaie util pe care o conine celula, n conformitate cu
valorile date n Fig. 5-63. Aici tipurile de celule sunt furnizate de utilizator, dar informaia despre
congestie este furnizat de reea. Altfel spus, o celul trimis cu PTI 000 poate s ajung cu 010
pentru a preveni destinaia de problemele n curs de pe traseu.
cr
r fi
NIVELUL REEA N REELE ATM 419

Semnificaie
Celul de date a utilizatorului, nici o congestie, celul de tip 0
Celul de date a utilizatorului, nici o congestie, celul de tip 1
Celul de date a utilizatorului, s-a ntlnit congestie, celul de tip 0
Celul de date a utilizatorului, s-a ntlnit congestie, celul de tip 1
Informaie de ntreinere ntre comutatoare adiacente
Informaie de ntreinere ntre comutatoare sursa i destinaie
Celul pentru administrarea resurselor (folosita pentru controlul congestiei n cazul ABR)
Rezervat pentru o viitoare utilizare

Fig. 5-63. Valorile cmpului PTI.

Bitul CPL poate fi fixat de o gazd pentru a diferenia traficul de mare prioritate de cel de mic
prioritate. Dac apare congestie i unele celule trebuie nlturate, comutatoarele ncearc s nlture
celule cu CLP-ul fixat la 1, nainte de a elimina una dintre cele cu CLP-ul fixat la 0.
n sfrit, cmpul HEC este o sum de control a antetului. El nu verific informaia util. Un cod
Hamming pentru un numr de 40 de bii necesit numai 5 bii, deci cu 8 bii se poate folosi un cod
mai sofisticat. Cel ales poate corecta toate erorile mono-bit i poate detecta cam 90 la sut din
totalitatea erorilor multi-bit. Diferite studii au artat c majoritatea covritoare a erorilor pentru
legturile optice sunt erori mono-bit.
Dup antet vin cei 48 de octei de informaie util. Totui, nu toi cei 48 de octei sunt la
dispoziia utilizatorului, pentru c unele dintre protocoalele AAL i pun antetele i ncheierile n
spaiul rezervat ncrcrii utile.
Formatul NNI este la fel cu formatul UNI, exceptnd cmpul GFQ care nu este prezent i ai
crui 4 bii sunt folosii pentru a face cmpul VPI de 12 bii n loc de 8.

5.6.2 Stabilirea conexiunii

ct i circuite virtuale comutate. Primele sunt


ntotdeauna prezente i pot fi folosite dup dorin, precum TTinie nchiriate. Ultimele trebuie s fie
stabilite de fiecare dat cnd sunt folosite, ca atunci cnd facem apeluri telefonice. n aceast
seciune vom descrie cum se stabilesc circuitele virtuale comutate.
Din punct de vedere tehnic, stabilirea conexiunii nu face parte din nivelului ATM, ci este
rezolvat de.planul de control (vezi Fig. 1-30) folosind un protocol ITU deosebit de complex, numit
J2-2931 (Stiller, 1995). Cu toate acestea, locul logic unde se trateaz stabilirea unei conexiuni de nivel
reea este n cadrul nivelului reea i protocoale de nivel reea similare realizeaz stabilirea
conexiunii aici, astfel c o vom discuta aici.
Exist mai multe variante de stabilire a unei conexiuni. Calea normal este s se achiziioneze
mai nti unj^ircmjirjii^^ i s fie folosit acesta. Pentru a stabili un astfel de
circuit, celule ce conin o cerere sunt trimise pe calea virtual zero, arcuitul virtualJi. n caz de
succes, este deschis un nou circuit virtual pe care pot fi trimise i primite cereri de stabilire a
conexiunii i rspunsuri.
Motivul pentru aceast procedur de stabilire n doi pai este c, n acest mod, lrgimea de band
rezervat pentru circuitul virtual 5 (care este aproape nefolosit) poate fi meninut foarte mic.
Exist i o alt variant de iniializare a circuitelor virtuale. Unii purttori pot gemute jjtilizatorilor
420 NIVELUL REEA CAP. 5

ntre destinaii predefinite sau s le stabileasc n mod dinamic.


Odat ce o gazd posed o cale virtual pn la o alt gazd, poate aloca ea nsi circuite virtuale pe
aceast cale, fr intervenia comutatoarelor.
Stabilirea circuitelor virtuale folosete cele ase tipuri de mesaje trecute n lista din
Fig. 5-64. Fiecare mesaj ocup una sau mai multe celule i conine tipul mesajului, lungimea i
parametrii. Mesajele pot fi trimise de o gazd unei reele sau pot fi trimise de reea (de regul ca
rspuns la un mesaj de la o alt gazd) unei gazde. Exist i diferite alte stri i mesaje pentru
raportarea erorilor, dar nu sunt ilustrate aici.

Mesaj Semnificaie - trimis de gazd Semnificaie - trimis de reea


SETUP Te rog stabilete un circuit Apel sosit
CALL PROCEEDING Am vzut apelul sosit Se va ncerca satisfacerea cererii tale din apel
CONNECT Accept apelul sosit Cererea ta din apel a fost acceptat
CONNECTACK Mulumesc pentru acceptare Mulumesc c ai apelat '
RELEASE Te rog termin apelul Cealalt parte s-a saturat
RELEASE COMPLETE Confirmare pentru RELEASE Confirmare pentru RELEASE

Fig. 5-64. Mesaje folosite pentru stabilirea i desfiinarea conexiunii.

Procedura normal de stabilire a unui apel este ca o gazd s trimit un mesaj SETUP pe un
circuit virtual special. Reeaua rspunde apoi cu CALL PROCEEDING pentru a confirma primirea
cererii. n timp ce mesajul SETUP se propag ctre destinaie, este confirmat la fiecare salt prin
CALL PROCEEDING.
Cnd mesajul SETUP ajunge n sfrit, gazda destinaie poate rspunde cu CONNECT
pentru a accepta apelul. Reeaua trimite apoi un mesaj CONNECT ACK, pentru a indica c a
primit mesajul CONNECT. n timp ce mesajul CONNECT se propag napoi ctre iniiator,
fiecare comutator ce l primete l confirm cu un mesaj CONNECT ACK. Succesiunea
evenimentelor este artat n Fig. 5-65(a).
Secvena de desfiinare a unui circuit virtual este simpl. Gazda doritoare s nchid trimite
un mesaj RELEASE, care se propag la cellalt capt i provoac desfiinarea circuitului. La
fiecare salt de-a lungul drumului, mesajul este confirmat, aa cum se arat n Fig. 5-65(b).
Reelele ATM permit stabilirea de canale pentru trimitere multipl. Un canal pentru trimitere
multipl are un emitor i mai mult de un receptor. Acestea sunt construite prin stabilirea unei
conexiuni cu una dintre destinaii, utiliznd procedura normal. Apoi este trimis mesajul ADD
PARTY pentru a ataa o a doua destinaie la circuitul virtual ntors de apelul anterior. Dup aceea,
pentru a crete dimensiunea grupului de destinaii pentru trimiterea multipl, pot fi trimise mesaje
ADD PARTY suplimentare.
Pentru a stabili conexiunea cu o destinaie este necesar s se specifice care este destinaia
dorit, prin includerea adresei acesteia n mesajul SETUP. Adresele ATM pot fi de trei feluri.
Primul are lungimea de 20 de octei i se bazeaz pe adresele OSI. Primul octet indic n care
dintre cele trei formate este adresa. n primul format, octeii 2 i 3^p_ecific_o_ar, iar octeuH
d formatul restului adresei, care conine o autoritate ce ocup 3 octei, un domeniu pe
2~octer,~o zon pe 2 octei i^o^adresLpe. 6 octei, plus alte articole. n al doilea format, octeii
2 i 3 desemneaz o organizaie internaional n loc de o ar. Restul adresei este identic cu
.' SEC. 5.6 NIVELUL REEA IN REELE A T M 421

formatul 1. De asemenea, este permis i o form de adresare mai veche (GCITT E: 164) ce.
folosete numere telefonice ISDN, de 15 cifre zecimale.

Gazd Gaz
surs Comutator #1 Comutator #2 destinaie
Setup
Setup
.,
o. Call proceeding_
E

(a)

Release

Release
Release compjee_
_
Releae_comfilee_

(b)

Fig. 5-65. (a) Stabilirea conexiunii ntr-o reea ATM. (b) Desfiinarea conexiunii.

5.63 Dirijarea i comutarea

Atunci cnd este stabilit un circuit virtual, mesajul SETUP se propag ncet prin reea de la surs
la destinaie. Algoritmul de dirijare determin calea urmat de acest mesaj, deci de circuitul virtual.
Standardul ATM nu specific un anumit algoritm de dirijare, deci purttorul este liber s aleag
ntre algoritmii discutai mai nainte n acest capitol sau s foloseasc unul diferit.
Experiena cu reelele orientate pe conexiuni anterioare, cum este X.25, a artat c o mare parte
din puterea de calcul a comutatoarelor se poate consuma pentru a determina cum s se
converteasc informaia despre circuitul virtual din fiecare celul pentru alegerea liniei de ieire.
Proiectanii ATM-ului au dorit s evite aceast risip, astfel c nivelul ATM a fost proiectat pentru a
face posibil o dirijare eficient. n particular, ideea a fost ca dirijarea s se realizeze dup cmpul
422 NIVELUL REEA CAP. 5

VPI, nu dup cmpul VCI, cu excepia dirijrii la saltul final din fiecare direcie, cnd celulele sunt:
trimise ntre un comutator i o gazd. ntre dou comutatoare, va fi utilizat numai calea virtual.
Folosirea exclusiv a ^/-urilor ntre comutatoarele interioare are mai multe avantaje. n primul
rnd, odat ce a fost stabilit o cale virtual de la o surs la o destinaie, orice circuit virtual
suplimentar de-a lungul cii poate pur i simplu s urmeze calea existent. Nu trebuie luat nici o
nou decizie de dirijare. Este ca i cum un mnunchi de perechi torsadate a fost deja montat ntre
surs i destinaie. Stabilirea unei noi conexiuni impune alocarea uneia dintre perechile nefolosite.
n al doilea rnd, dirijarea celulelor individuale este mai simpl atunci cnd toate circuitele
virtuale pentru o cale dat sunt ntotdeauna n acelai grup. Decizia de dirijare implic numai
examinarea unui numr de 12 bii, nu a unui numr de 12 bii i a unui numr de 16 bii. Vom
descrie mai jos cum se realizeaz comutarea de celule, dar chiar fr a intra n detalii, ar trebui
12
s fie evident c indexarea ntr-o tabel cu 2 intrri este realizabil, pe cnd indexarea ntr-o
28
tabel cu 2 intrri nu este.
n al treilea rnd, alegerea cilor virtuale ca baz a ntregii dirijri face mai uoar comutarea
unui ntreg grup de circuite virtuale. S considerm, de exemplu, ipotetica coloan vertebral ATM
pentru S.U.A. ilustrat n Fig. 5-66. n mod normal, circuitele virtuale dintre NY i SF trec prin
Omaha i Denver. Totui, s considerm o perturbaie aprut pe linia Omaha-Denver. Redirijnd
calea virtual Omaha-Denver ctre LA i apoi SF, toate circuitele virtuale (potenial pn la 65.535
de astfel de circuite) pot fi comutate ntr-o singur operaie, n loc de, probabil, mii de operaii.

Fig. 5-66. Redirijarea unei ci virtuale redirijaz toate circuitele virtuale ale acesteia.

n sfrit, cile virtuale fac ca purttorii s ofere mai uor grupuri nchise de utilizatori
(reele private) corporaiilor client. O companie poate stabili o reea de ci virtuale
permanente ntre diferitele birouri i apoi s aloce, la cerere, circuite virtuale n cadrul acestor
SEC. 5.6 NIVELUL REEA IN REELE ATM 423

ci. Nici un apel nu poate intra n reeaua privat din exterior i nici un apel nu poate prsi
reeaua privat, dect prin pori speciale. Multe companii agreeaz acest fel de securitate.
Rmne de vzut dac cmpul W/va fi ntr-adevr folosit de comutatoare pentru dirijare, aa
cum a fost planificat, sau va utiliza de fapt combinaia cmpurilor VPI i VCI (anulnd astfel toate
avantajele pe care tocmai le-am discutat). Semnalele iniiale din domeniu nu sunt ncurajatoare.
S vedem cum pot fi dirijate celulele printr-un comutator interior (acela care este legat numai cu
alte comutatoare, nu i cu gazde). Pentru a concretiza, s considerm comutatorul Omaha din Fig 5-
66. Pentru fiecare dintre cele cinci linii de intrare, el are o tabel, vpijable, indexat dup VPI-mHe
care sosesc, care spune care dintre cele cinci linii de ieire s fie folosit i ce VPI s fie pus n
celulele care pleac. S presupunem c cele cinci linii sunt numerotate de la 0 la 4, n sensul acelor
de ceasornic, ncepnd cu Minneapolis. Pentru fiecare linie de ieire, comutatorul menine o hart
de bii indicnd ce VPI-wi sunt folosite curent pe linia respectiv.
Cnd comutatorul este pornit, toate intrrile din toate structurile tabelei vpijable sunt marcate
ca nefolosite. Similar, toate hrile de bii sunt marcate s indice c toate VPI-mite sunt disponibile
(cu excepia celor rezervate). Acum s presupunem c apelurile sosesc aa cum arat Fig. 5-67.

Linie de VPI de Linie de VPide


Sursa intrare intrare Destinaie ieire ieire Cale:
NY 1 1 SF 4 1 Nou
NY 1 2 Denver 4 2 Nou
LA 3 1 Minneapolis 0 1 Nou
DC 1 3 LA 3 2 Nou
NY 1 1 SF 4 1 Vechi
SF 4 3 DC 1 4 Nou
DC 1 5 SF 4 4 Nou
NY 1 2 Denver 4 2 Vechi
SF 4 5 Minneapolis 0 2 Nou
NY 1 1 SF 4 1 Vechi

Fig. 5-67. Cteva trasee prin comutatorul Omaha din Fig. 5-66.

Pe msur ce fiecare cale virtual (i circuit virtual) este stabilit, sunt create intrri n tabele.
Vom presupune c circuitele virtuale sunt duplex integral, astfel c stabilirea fiecruia genereaz
dou intrri, una pentru traficul transmis de surs i una pentru traficul invers, dinspre destinaie.
Tabelele corespunztoare traseelor din Fig. 5-67 sunt prezentate n Fig. 5-68. De exemplu,
primul apel genereaz intrarea (4,1) pentru VPI 1 n tabela DC, deoarece se refer la celule intrnd
pe linia 1 cu VPI 1 i mergnd ctre SF. Cu toate acestea, este creat i o intrare n tabela pentru
Denver pentru VPI 1, care arat c celulele venind de la Denver cu VPI 1 ar trebui s ias pe linia 1
cu VPI 1. Acestea sunt celulele care circul n sens invers (de la SF la NY) pe aceast cale virtual.
Observai c, n unele cazuri, dou sau trei circuite virtuale mpart o cale comun. Pentru circuitele
virtuale suplimentare care conecteaz o surs i o destinaie ce au deja atribuit o cale nu mai sunt
necesare alte intrri n tabel.
Acum putem explica cum sunt prelucrate celulele n interiorul unui comutator. S presupunem
c o celul sosete pe linia 1 (DC) cu VPI 3. Hardware-ul sau software-ul comutatorului folosete 3
ca index n tabel pentru linia 1 i vede c celula ar trebui s plece pe linia 3 (LA) cu VPI 2. n
424 NIVELUL REEA CAP. 5

cmpul VPI se nscrie 2, iar numrul liniei de ieire, 3, este nscris undeva n celul, de exemplu n
cmpul HEC, deoarece acesta trebuie s fie oricum recalculat mai trziu.
Acum se pune ntrebarea cum s obinem pe linia 3 celula din tamponul de intrare curent. Ins
acest subiect (dirijarea ntr-un comutator) a fost discutat n detaliu n Cap. 2 i am vzut cum se face
n comutatoarele knockout i Batcher-banyan.
n acest moment este evident cum poate fi redirijat un grup de circuite virtuale, aa cum se
procedeaz n Fig. 5-66. Schimbnd intrarea pentru VPI 1 n tabela DC de la (4, 1) la (3, 3),
celulele de la NY care se ndreapt spre SF vor fi deviate prin LA. Bineneles, comutatorul
LA trebuie anunat despre acest eveniment, prin urmare comutatorul trebuie s genereze i s
trimit un mesaj SETUP ctre LA pentru a stabili noua cale cu VPI 3. Odat ce aceast cale a
fost stabilit, toate circuitele virtuale dintre NY i SF sunt redirijate prin LA, chiar dac sunt
mii. Dac nu ar exista cile virtuale, atunci fiecare circuit virtual ar avea propria sa intrare n
tabel i ar trebui s fie redirijat separat.

Tabela VPI Tabela VPI Tabela VPI Tabela VPI Tabela VPI
pentru Minn. pentru DC pentru Dallas pentru LA pentru Denver
Intrare Ieire Ieire Ieire Ieire Ieire
VPI Line VPI Line VPI Line VPI Line VPI Line VPI
0
1 3 1 4 1 0 1 1 1
2 4 5 4 2 1 3 1 2
3 3 2 1 4
4 4 3 1 5
5 4 4 0 2
6
7
8

T
i 1 J
4095
Linia 0 Linia 1
I Linia 2 Linia 3
T
Linia 4

Fig. 5-68. Intrrile n tabel pentru traseele din Fig. 5-67.

Merit s artm explicit c discuia de mai sus este despre ATM n WAN-uri. ntr-un LAN
lucrurile sunt mult mai simple. De exemplu, poate fi folosit o singur cale virtual pentru toate
circuitele virtuale.

5.6.4 Categorii de servicii

Dup un numr considerabil de ncercri i greeli, pe la versiunea 4.0 a specificaiei ATM,


devenea clar ce tipuri de trafic transportau reelele ATM i ce fel de servicii doreau clienii lor. n
consecin, standardul a fost modificat astfel, nct s enumere explicit categoriile de servicii utilizate
curent, pentru a permite distribuitorilor de echipament s-i optimizeze plcile adaptoare i
SEC. 5.6 NIVELUL REEA N REELE ATM . 425

comutatoarele pentru unele sau pentru toate aceste categorii. Categoriile de servicii care au fost
alese ra fiind irnportante sunt enumerate n Fig. 5-69,

Clasa Descriere Exerhplu


CBR Transmitere cu vitez constant circuit T1
RT-VBR Transmitere cu vitez variabila: timp real Videoconferin de timp real
NRT-VBR Transmitere cu vitez variabil: nu este de timp real Pota electronic multimedia
ABR Transmitere cu vitez disponibil Navigarea prin WEB
UBR Transmitere cu vitez nespecificat Transfer de fiiere n fundal

Fig. 5-69. Categoriile de servicii ATM.

Clasa CBR (Constant Bit Rate - Transmitere cu vitez constant) este destinat emulrii firului
de cupru sau fibrei optice (dar cu un cost mult mai mare). Biii sunt introdui la un capt i apar la
cellalt capt. Nu se fac verificarea erorilor, controlul fluxului sau alte prelucrri. Totui, aceast
clas este esenial pentru a realiza o tranziie lin ntre sistemul telefonic de astzi i viitoarele
sisteme B-ISDN, deoarece canalele PCM de band vocal, circuitele TI precum i cea mai mare
parte din restul sistemului telefonic folosesc transmisie sincron de bii cu vitez constant. Datorit
clasei CBR, tot acest trafic poate fi transportat direct de un sistem ATM. CBR este de asemenea
potrivit pentru toate celelalte fluxuri interactive (adic de timp real) audio sau video.
Urmtoarea clas, VBR (Variable Bit Rate - Transmitere cu vitez variabil), se mparte n dou
subclase, pentru timp real i, respectiv, pentru servicii ce nu necesit timp real. RT-VBR este
destinat serviciilor ce au viteze de transmitere variabile combinate cu cerine stringente de timp
real, cum este video comprimat interactiv (de exemplu videoconferin). Datorit modului n care
funcioneaz MPEG i alte scheme de compresie, cu un cadru de baz complet urmat de o serie de
diferene ntre cadrul curent i cadrul de baz, viteza de transmisie variaz puternic n timp (Pancha
i El Zarki, 1994). n ciuda acestei variaii, este esenial ca reeaua ATM s nu introduc fluctuaii n
ordinea sosirii celulelor, altfel imaginea va aprea micat i intermitent. Cu alte cuvinte, att
ntrzierea medie a celulelor ct i variaia ntrzierii celulelor trebuie sa fie strict controlate.
Cealalt subclas VBR este pentru acel trafic pentru care sosirea la timp este important, dar o
anumit fluctuaie poate fi tolerat de aplicaie. De exemplu, pota electronic multimedia este de
regul transferat pe discul local al receptorului nainte de a fi afiat, astfel nct orice variaie n
timpul de sosire al celulelor va fi eliminat nainte de vizualizare.
Categoria de servicii ABR (Available Bit Rate - transmitere cu vitez disponibil) este
proiectat pentru trafic n rafal pentru care este cunoscut, n mare, plaja de lrgime de
band. Un exemplu tipic poate fi folosirea ntr-o companie care i conecteaz birourile
printr-o colecie,de linii nchiriate. De regul, compania are alternativa de a avea capacitate
suficient pentru a suporta sarcina de vrf, ceea ce nseamn c unele linii nu sunt utilizate o
parte a zilei, sau de a instala doar capacitatea necesar pentru sarcina minim, ceea ce
conduce la congestie n perioada cea mai solicitat a zilei. *
Folosind serviciul ABR, se evit o opiune de lung durat pentru o lrgime de band fix. Cu
ABR este posibil s spunem, de exemplu, c ntre dou puncte capacitatea trebuie s fie ntotdeauna
de 5 Mbps, dar poate avea vrfuri pn la 10 Mbps. Sistemul va garanta tot timpul 5 Mbps i va face
tot posibilul s ofere 10 Mbps cnd este nevoie, dar fr s promit acest lucru.
426 NIVELUL REEA CAP. 5

ABR este singura categorie de servicii n care reeaua ofer transmitorului reacie la
viteza de transmisie, cerndu-i s ncetineasc cnd se produce congestie. Presupunnd c
transmitorul este de acord cu aceste cereri, este de ateptat ca pierderea de celule pentru
traficul ABR s fie sczut. Traficul de tip ABR seamn puin cu zborul cu list de ateptare:
dac au rmas locuri (capacitate n exces), atunci pasagerii n ateptare sunt transportai fr
ntrziere. n cazul unei capaciti insuficiente, ei trebuie s atepte (n afara cazului n care
este disponibil o parte din lrgimea de band minim).
n final, ajungem la UBR (Unspecified Bit Rate - transmitere cu vitez nespecificat), care
nu face nici o promisiune i nu reacioneaz n cazul congestiei. Aceast categorie este foarte
potrivit pentru trimiterea de pachete IP, pentru c nici IP nu face nici o promisiune despre
livrare. Toate celulele UBR sunt acceptate i dac exist capacitate disponibil, ele vor i
ajunge. Dac se produce congestie, celulele UBR vor fi eliminate, fr nici o reacie ctre
expeditor i fr sperana ca acesta s ncetineasc.
Pentru a ne continua analogia cu lista de ateptare n cazul UBR, toi pasagerii aflai n ateptare
urc la bord, dar, dac la jumtatea drumului spre destinaie pilotul observ c rmne fr
combustibil, acetia sunt aruncai fr menajamente prin ieirea de urgen. Pentru a face UBR-ul
tentant, purttorii tind s-1 fac mai ieftin dect celelalte clase. Pentru aplicaiile care nu au nici o
constrngere de livrare i doresc oricum s-i realizeze propriul control al erorilor i propriul
control al fluxului, UBR este o alegere perfect rezonabil. Transferul de fiiere, pota electronic,
sau tirile USENET sunt toi candidai poteniali pentru serviciul UBR, deoarece nici una dintre
aceste aplicaii nu are caracteristici de timp real.
Proprietile diferitelor categorii de servicii sunt rezumate n Fig. 5-70.

Caracteristica serviciului CBR RT-VBR NRT-VBR ABR UBR


Garanteaz lrgimea de band Da Da Da Opional Nu
Potrivit pentru trafic de timp real Da Da Nu Nu Nu
Potrivit pentru trafic n rafal Nu Nu Da Da Da
Reacie despre congestie Nu Nu Nu Da Nu

Fig. 5-70. Caracteristicile categoriilor de servicii ATM.

5.6.5 Calitatea serviciului

Calitatea serviciului este o caracteristic important pentru reelele ATM, n parte pentru
c ele sunt folosite pentru trafic n timp real, cum este cel audio sau video. Cnd este stabilit
un circuit virtual, att nivelul transport (de regul un proces n maina gazd, clientul") ct i
nivelul reea ATM (de exemplu un operator de reea, purttorul") trebuie s fie de acord cu
contractul ce definete un serviciu. n cazul unei reele publice, acest contract poate avea
implicaii legale. De exemplu, dac purttorul este de acord s nu piard mai mult de o celul
la un miliard i pierde dou celule la un miliard, serviciul juridic al clientului poate s se
enerveze i s nceap s se agite serios, strignd nclcarea contractului."
5-6 NIVELUL REEA N REELE ATM 427

Contractul dintre client i reea are trei pri:

1. Traficul care va fi oferit.


2. Serviciul asupra cruia s-a czut de acord.
3. Clauzele contractuale.

Merit de observat c acest contract poate fi diferit pentru fiecare direcie. Pentru o aplicaie
video la cerere, lrgimea de band necesar de la telecomanda utilizatorului la serverul video poate
fi de 1200 bps. n cealalt direcie ea poate fi de 5 Mbps. Ar trebui observat c dac clientul i
purttorul nu pot s se pun de acord asupra termenilor sau purttorul nu este capabil s pun la
dispoziie serviciul dorit, circuitul virtual nu va fi stabilit.
Prima parte a contractului este descriptorul de trafic. El caracterizeaz ncrcarea care va fi
oferit. A doua parte a contractului precizeaz care este calitatea serviciului dorit de client i
acceptat de purttor. Att ncrcarea ct i serviciul trebuie formulate n termenii unor cantiti
msurabile, astfel nct termenii acordului pot fi determinai obiectiv. Nu se poate s spunem doar
,.ncrcare moderat" sau serviciu bun".
Pentru a face posibil existena contractelor de trafic concrete, standardul ATM definete, un
numr de parametri QoS (Quality of Service - calitatea serviciului) ale cror valori pot fi negociate
ntre client i purttor. Pentru fiecare parametru de calitate a serviciului este specificat performana
n cazul cel mai defavorabil, iar purttorului i se cere s o ndeplineasc sau s o depeasc. n
unele cazuri, parametrul este un minim; n altele el este un maxim. Din nou i aici, calitatea
serviciului este specificat separat pentru fiecare direcie. Unii dintre cei mai importani parametri
sunt enumerai n Fig. 5-71, dar nu toi sunt aplicabili la orice categorie de serviciu.
Primii trei parametri precizeaz ct de repede dorete utilizatorul s trimit. PCR (Peak Cell
Rate - viteza maxim de transmitere) este viteza maxim cu care emitorul i-a planificat s
transmit celule. Acest parametru poate fi mai mic dect ceea ce permite lrgimea de band a liniei.
Dac emitorul a planificat s trimit cte o celul la fiecare 4 usec, PCR-ul su este de 250.000
celule/sec, chiar dac timpul real de transmisie al celulei este de 2.7 usec.
SCR (Sustained Cell Rate - viteza mediat de transmitere) este viteza de transmisie a celulelor,
ateptat sau cerut, mediat pe un lung interval de timp. Pentru traficul CBR, SCR va fi egal cu
PCR, dar pentru toate celelalte categorii de servicii ea va fi mult mai sczut. Raportul PCR/SCR
este o msur a proprietii de rafal a traficului.
MCR (Minimum Cell Rate - viteza minim de transmitere) este numrul minim de celule pe
secund pe care clientul l consider acceptabil. Dac purttorul nu este capabil s garanteze c va
asigura aceast lrgime de band, el va trebui s resping conexiunea. Cnd serviciul ABR este
cerut, lrgimea de band real trebuie s fie ntre MCR i PCR, dar poate varia dinamic n timpul de
via al conexiunii. Dac clientul i purttorul se neleg s fixeze parametrul MCR la 0, atunci
serviciul ABR devine similar cu serviciul UBR.
CVDT (Cell Variation Delay Tolerance - tolerana la variaiile n ntrzierile celulelor) spune ct
de mult pot varia timpii de transmisie a celulelor. Este specificat separat pentru PCR i SCR. Pentru
o surs perfect opernd la PCR, fiecare celul apare la exact 1/PCR dup cea anterioar. Nici o
celul nu va aprea mai devreme i nici una nu va ntrzia, nici mcar cu o picosecund. Pentru o
surs real opernd la PCR, vor exista unele variaii pentru timpii de transmitere a celulelor.
ntrebarea este: ct de mare este variaia acceptabil? Poate pleca o celul cu 1 nsec mai devreme?
428 NIVELUL REEA CAP. 5

Dar cu 30 de secunde? CDTV controleaz nivelul de variabilitate acceptabil folosind algoritmul


gleii gurite (leaky bucket algorithm) ce va fi descris pe scurt.

Parametru Acronim Semnificaie


Vitez maxim de transmitere PCR Vitez maxim la care vor fi emise celulele
Vitez mediat de transmitere SCR Media pe un timp lung a vitezei de transmitere a cel.
Vitez minim de transmitere MCR Vitez minim acceptat de transmitere a celulelor
Toleran la variaiile n ntrzierile cel. CDVT Variaia maxim tolerat la emisa celulelor
Fraciunea de celule pierdute CLR Fracia de celule pierdute sau livrate prea trziu
ntrzierea la transferul celulelor CTD Ct de mult dureaz livrarea (medie i maxim)
Variaia ntrzierilor celulelor CDV Variaia n timpii de livrare a celulelor
Fraciunea celulelor cu erori CER Fraciunea de celule livrate fr eroare
Fraciunea blocurilor grav eronate SECBR Fraciunea de blocuri mutilate
Fraciunea celulelor rtcite CMR Fraciunea de celule livrate unei destinaii incorecte

Fig. 5-71. Civa parametri ai calitii serviciului.

Urmtorii trei parametri descriu caracteristicile reelei i sunt msurai la receptor. Toi trei sunt
negociabili. CLR (Cell Loss Ratio - fraciunea de celule pierdute) este simplu. El msoar fracia din
celulele transmise care nu sunt primite de loc sau sunt livrate att de trziu, nct sunt nefolositoare
(de exemplu pentru trafic de timp real). CTD (Cell Transfer Delay - ntrzierea la transferul
celulelor) este timpul mediu de tranzit ntre surs i destinaie. CDV (Cell Delay Variation - variaia
ntrzierilor celulelor) msoar ct de uniform sunt livrate celulele.

Celule pierdute sau


livrate prea trziu
Timp de transfer

Fig. 5-72. Funcia de densitate a probabilitii pentru timpii de sosire a celulelor.

Modelul pentru CDT i CDV este artat n Fig. 5-72. Aceasta prezint probabilitatea ca o celul
s soseasc n timpul t, n funcie de t. Pentru o surs, o destinaie i un traseu prin comutatoarele
intermediare date, exist ntotdeauna o anumit ntrziere minim datorat timpului de propagare i
comutare. Totui, nu toate celulele ajung n timpul minim; funcia de densitate a probabilitii are n
general o coad lung. Prin alegerea unei valori pentru CDT, clientul i purttorul se neleg de fapt
asupra ntrzierii cu care poate fi livrat o celul pentru a fi totui considerat ca celul corect livrat.
SEC. 5.6 NIVELUL REEA N REELE ATM 429

n mod normal, CDVva fi ales astfel, nct a, fraciunea de celule care sunt respinse pentru c au
10
ajuns prea trziu, s fie de ordinul IO' sau mai mic. CDV msoar dispersia timpilor de sosire.
Pentru traficul de timp real, acest parametru este adesea mai important dect CDT.
Ultimii trei parametrii QoS precizeaz caracteristicile reelei. n general ei nu sunt negociabili.
CER (Cell Error Ratio - fraciunea celulelor cu erori) este fracia de celule care sunt livrate cu unul
sau mai muli bii eronai. SECBR (Severely-Errored Cell Block Ratio - fraciunea blocurilor grav
eronate) este fracia de blocuri de N celule dintre care M sau mai multe celule conin o eroare. n
sfrit, CMR (Cell Misinsertion Rate - fraciunea celulelor prost plasate) este numrul de celule/sec
care sunt livrate unei destinaii incorecte datorit unei erori nedetectate din antet.
A treia parte a contractului de trafic precizeaz ce nseamn a respecta regulile. Dac clientul
trimite o celul prea devreme, anuleaz aceasta contractul? Dac purttorul nu reuete s respecte
una dintre cerinele de calitate pe o perioad de 1 ms, poate clientul s-1 urmreasc n justiie? De
fapt, aceast parte a contractului este negociat ntre pri i spune ct de strict vor fi respectate
primele dou pri ale contractului.
Calitatea ATM i Internet a modelelor de servicii difer ntructva, ceea ce se reflect n
implementrile fiecruia. Modelul ATM se bazeaz strict pe conexiune, n timp ce modelul Internet
folosete datagrame plus fluxuri (e.g. RSVP). O comparaie ntre aceste dou modele este oferit n
(Crowcroft.a.,1995).

5.6.6 Modelarea traficului i politici de trafic

Mecanismul pentru folosirea i impunerea parametrilor de calitate a serviciului se bazeaz


(parial) pe un algoritm specific, Algoritmul vitezei generice de transmitere (engl. Generic Cell
Rate Algorithm, GCRA) i este ilustrat n Fig. 5-73. El funcioneaz prin verificarea fiecrei
celule pentru a vedea dac se conformeaz parametrilor pentru circuitul ei virtual.
GCRA are doi parametrii. Acetia specific viteza maxim de sosire permis (PCR) i nivelul de
variaie tolerabil (CDVT). Inversa lui PCR, T = 1/PCR, este timpul minim dintre sosirile celulelor,
aa. cum se arat n Fig. 5-73(a). Dac clientul este de acord s nu trimit mai mult de 100.000 de
celule/sec, atunci T = 10 usec. n cazul extrem, la fiecare 10 nsec va sosi cu promptitudine o celul.
Pentru a evita numere mici, vom lucra cu microsecunde, dar toi parametrii sunt numere reale, aa
c unitatea de timp nu conteaz.
Unui emitor i este ntotdeauna permis s spaieze dou celule consecutive cu o durat mai
mare dect T, aa cum se vede n Fig. 5-73(b). Fiecare celul ce sosete cu mai mult de T |isec dup
cea anterioar este acceptat.
Se ivesc probleme cu emitorii care tind s fie mai rapizi, ca n Fig. 5-73(c) i (d). Dac o celul
sosete puin mai devreme (la ti + T - L sau mai trziu), ea este acceptabil, dar urmtoarea celul
este ateptat tot la ti + 2T, (nu la t2 + T), pentru a nu permite emitorului s transmit fiecare
celul cu L jisec mai devreme, crescnd astfel viteza maxim de transmitere.
Dac o celul sosete cu mai mult de L secunde nainte, este declarat inacceptabil.
Tratamentul celulelor inacceptabile depinde de purttor. Unii purttori le pot elimina pur i simplu;
alii le pot pstra, dar nscriu bitul CLP, pentru a le marca cu prioritate joas i a permite
comutatoarelor ca la producerea unei congestii s renune mai nti la celulele inacceptabile.
Utilizarea bitului CLP poate s fie i ea diferit pentru diferitele categorii de servicii din Fig. 5-69.
430 NIVELUL REEA CAP. 5

Timp-

Celul
Cazul extrem.
(a) 1
Celula 2 sosete cu T sec. dup celula 1
Celula 3 este
^ ateptat la t2 + T

Emitor lent.
(b) Celula 2 sosete cu mai mult de T sec.
dup celula 1
Celula 3 este
T _ +\*^ ateptat la t 2 + T

Emitor rapid.
(O
Celula 2 ajunge mai devreme cu
pn la L sec.

Celula 3 este
-T- ateptat la t, + 2T

Emitor foarte rapid..


Celula 2 ajunge mai devreme de ti + T- L.
Celula este necorespunztoare..

Celula 3 este
ateptat la t, + T

Fig. 5-73. Algoritmul vitezei generice de transmitere.

S considerm acum ce se ntmpl dac un emitor ncearc s trieze puin, aa cum se arat
n Fig. 5-74(a). n loc s atepte un timp T nainte de a trimite celula 2, emitorul o trimite un pic
mai devreme, la T- z, unde presupunem c e = 0.3L. Aceast celul este acceptat fr probleme.
Apoi emitorul transmite celula 3, din nou la T - e dup celula anterioar, adic la T - 2e. i
aceasta este acceptat. Cu toate acestea, fiecare dintre celulele succesive se apropie pas cu pas de
limita fatal T - L. Astfel, celula 5 sosete la T - 4e (T - 1.2L), ceea ce nseamn prea devreme, deci
celula 5 este declarat inacceptabil i este eliminat de interfaa reea.
SEC. 5.6 NIVELUL REEA IN REELE ATM, 431

Timp

2T 3T 4T 5T
T-e-

T-e-

T-8"
T-e-
T-8
B84 xo
. - l .:.:..;.: .:;:

8|
Iii c
a

8ai
c

3eh- 4E 5E

(a)

Marginea gleii

-T
IE , "X
o

(b)

Fig.5-74. (a) Un emitor care ncearc s trieze, (b) Acelai model de sosire a celulelor, vzut
acum n termenii unei glei gurite.

Cnd este vzut n aceti termeni, algoritmul GCRA se numete algoritm de planificare virtual
(engl. virtual scheduling algorithm). Totui, privit altfel, el este echivalent cu un algoritm al gleii
gurite, aa cum este ilustrat n Fig. 5-74(b). S ne imaginm c fiecare celul conform care sosete
toarn T uniti ntr-o gleat gurit. Gleata pierde lichidul cu o vitez de 1 unitate/nsec, astfel c
dup T usec tot lichidul s-a scurs. Dac celulele sosesc exact la fiecare T nsec, fiecare sosire a unei
celule va gsi gleata golit (tocmai n acel moment) i o va reumple cu T uniti de lichid. Astfel,
nivelul lichidului crete la T cnd sosete o celul i scade liniar pn cnd ajunge la zero. Aceast
situaie este prezentat n Fig. 5-74(b) ntre 0 i T.
Dac lichidul se scurge liniar n timp, la un timp t dup sosirea unei celule, cantitatea de fluid
A

rmas este T -1. In momentul sosirii celulei 2, la T - s, n gleat mai sunt e uniti de lichid.
A

Adugarea unei noi celule crete aceast valoare la T + E. In mod similar, n momentul sosirii celulei
3, 2e uniti au rmas n gleat, deci sosirea noii celule ridic nivelul lichidului la T + 2E. Cnd
celula 4 sosete, nivelul crete la T + 3e.
Dac aceasta se repet la infinit, una dintre celule va crete nivelul peste capacitatea gleii
i prin urmare va fi respins. Pentru a vedea care este acea celul, s calculm acum care este
capacitatea gleii. Dorim ca algoritmul gleii gurite s dea acelai rezultat ca Fig. 5-74(a),
432 NIVELUL REEA CAP. 5

deci vrem ca revrsarea s se produc cnd o celul sosete cu L usec mai devreme. Dac
fluidul rmas necesit L usec pentru a se scurge, cantitatea de fluid trebuie s fie L, deoarece
viteza de scurgere este 1 unitate/usec. Aadar, dorim o capacitate a gleii de L + T, astfel
nct orice celul ce va sosi mai devreme cu mai mult de L usec va fi respins datorit depirii
capacitii gleii. n Fig. 5-74(b), cnd sosete celula 5, adugarea a T uniti la cele 4e uniti
deja existente ridic nivelul gleii la T + 4e. Pentru c n acest exemplu folosim valoarea e =
0.3L, prin adugarea celulei 5, nivelul ar crete la T + 4e, astfel c celula este respins^nu se
mai adaug lichid i gleata se va putea goli n cele din urm.
Pentru un Jdat, dac alegem L foarte mic, capacitatea gleii va fi doar cu puin mai mare dect
T, deci toate celulele trebuie s fie emise la intervale uniforme. Pe de alt parte, dac cretem L la o
valoare mult mai mare dect T, gleata poate gzdui multe celule deoarece T + L >> T. Aceasta
nseamn c emitorul poate trimite o rafal de celule succesive, transmise cu viteza maxim i
acestea s fie totui acceptate.
Putem cu uurin s calculm numrul celulelor conforme, N, care pot s fie transmise succesiv
cu viteza maxim de transmitere (PCR = l/J). n timpul unei rafale de N celule, cantitatea total de
lichid adugat gleii este NT, deoarece fiecare celul adaug T. Totui, n timpul rafalei maxime,
lichidul se scurge din gleat cu viteza de 1 unitate pe intervalul de timp. S considerm c timpul de
transmitere al unei celule este de 8 uniti de timp. S observm c 5 < T pentru c este perfect
posibil ca un emitor pe o linie de 155,52 Mbps s fie de acord s trimit maxim 100.000 celule/sec,
caz n care 8 = 2.73 usec i T = 10 usec. n timpul rafalei de N celule, cantitatea scurs este (N -1)8,
deoarece scurgerea nu ncepe pn cnd prima celul nu a fost transmis n ntregime.
Pornind de la aceste observaii, obinem c n timpul rafalei maxime, creterea net de lichid din
gleat esteiVT- (N-1)8. Capacitatea gleii este T + L. Egalnd aceste dou cantiti, obinem:

NT-(N-l)b = T + L

Rezolvnd aceast ecuaie n N, obinem:

T-6

Totui, dac numrul nu este ntreg, el trebuie rotunjit inferior la un ntreg, pentru a preveni
revrsarea gleii. De exemplu, pentru PCR = 100.000 de celule/sec, 8 = 2,73 usec i
L = 50 usec, pot fi trimise apte celule succesive cu viteza de 155,52 Mbps fr a umple gleata. O a
opta celul nu ar fi acceptat.
Algoritmul GCRA este specificat n mod normal dac se dau parametrii TiL.T i PCR sunt
mrimi reciproce; L este CDVT. Algoritmul este folosit i pentru a asigura c viteza medie a
celulelor nu depete SCR pentru nici o perioad de timp mai ndelungat.
n acest exemplu am presupus c celulele sosesc uniform. n realitate nu se ntmpl aa.
Cu toate acestea, algoritmul gleii gurite poate fi folosit i n acest caz. La fiecare sosire a
unei celule, se verific dac este loc n gleat pentru T uniti suplimentare de lichid. Dac
este, celula este acceptabil; altfel nu.
n plus fa de stabilirea unei reguli referitoare la celulele acceptabile i la cele inacceptabile,
GCRA modeleaz de asemenea traficul pentru a elimina o parte din caracteristicile de rafal. Cu
SEC. 5.6 NIVELUL REEA IN REELE ATM 433

ct este mai mic CDVT, cu att este mai mare efectul de netezire, dar crete i ansa ca celulele s fie
eliminate ca necorespunztoare. Unele implementri combin gleata gurit GCRA cu o gleat
cu jetoane (token bucket), pentru a oferi o netezire mai mare.

5.6.7 Controlul congestiei

Chiar n prezena modelrii traficului, reelele ATM nu ating automat cererile de performan
prevzute n contractul de trafic. De exemplu congestia la comutatoarele intermediare este
ntotdeauna o problem posibil, mai ales cnd mai mult de 350.000 de celule/sec se nghesuie pe
fiecare linie i un comutator poate avea 100 de linii. Prin urmare, s-a acordat o atenie deosebit
performanei i congestiei n reelele ATM. n aceast seciune, vom discuta unele dintre abordrile
folosite. Pentru informaii adiionale, vezi (Eckberg, 1992; Eckberg .a., 1991; Hong i Suda, 1991;
Jain, 1995; i Newman, 1994).
Reelele ATM trebuie s fac fa att la congestiile pe termen lung, cauzate de un trafic
incident mai mare dect poate trata sistemul, ct i la congestii pe termen scurt, cauzate de traficul n
rafal. n consecin, mai multe strategii diferite sunt utilizate mpreun. Cele mai importante dintre
acestea aparin uneia din urmtoarele trei categorii:

1. Controlul admiterii.
2. Rezervarea resursei.
3. Controlul congestiei n funcie de vitez.

Vom discuta pe rnd fiecare strategie.

Controlul admiterii
n reelele de vitez mic, este de obicei adecvat s se atepte pn la apariia congestiei i apoi,
ca reacie la aceasta, s i se spun sursei pachetelor s ncetineasc transmisia. n reelele de mare
vitez, aceast abordare nu d de obicei rezultate bune, deoarece n intervalul dintre trimiterea
notificrii i sosirea notificrii la surs, pot sosi mii de pachete suplimentare.
Mai mult, multe reele ATM au surse de trafic de timp real care produc date cu o vitez
intrinsec. A-i spune unei astfel de surse s ncetineasc transmisia poate s nu aib nici un efect
(imaginai-v un nou telefon digital care are un becule rou; cnd este semnalat congestia, lumina
roie se aprinde i vorbitorului i se cere s vorbeasc cu 25 la sut mai rar).
n consecin, reelele ATM pun accentul n primul rnd pe prevenirea apariiei congestiilor. Cu
toate acestea, pentru traficul CBR,VBR i UBR, nu exist nici un control dinamic al congestiei, deci
n aceast situaie o uncie de prevenire valoreaz ct o livr (de fapt, mai curnd ct o ton) de
vindecare. Un procedeu de baz pentru prevenirea congestiei este controlul admiterii. Cnd o gazd
dorete un nou circuit virtual, aceasta trebuie s descrie traficul care va fi oferit i serviciul ateptat.
Reeaua poate verifica apoi dac este posibil s trateze aceast conexiune fr a afecta negativ
conexiunile existente. Poate fi necesar s se analizeze multiple trasee posibile pentru a gsi unul
corespunztor. Dac nu poate fi gsit nici un traseu, cererea este respins.
Refuzul admiterii ar trebui s fie cinstit. Este drept ca un individ care penduleaz ntre zeci de
programe de televiziune s poat mtura 100 de persoane ocupate care ncearc s-i citeasc pota
434 NIVELUL REEA CAP. 5

electronic? Dac nu se aplic nici un control, un numr mic de utilizatori de band larg pot afecta
sever muli utilizatori cu lrgimi de band mici. Pentru a preveni aceast situaie, utilizatorii ar trebui
s fie mprii n clase pe baza folosirii reelei. Probabilitatea refuzrii serviciului ar trebui s fie cam
aceeai pentru toate clasele (de exemplu, dac i se atribuie fiecrei clase propriile resurse).

Rezervarea resurselor
Strns legata de controlul admiterii este tehnica de rezervare a resurselor n avans, de
obicei la momentul stabilirii apelului. Deoarece descriptorul de trafic conine viteza maxim
de transmitere, reeaua are posibilitatea de a rezerva suficient lrgime de band de-a lungul
cii ca s suporte aceast vitez. Lrgimea de band poate fi rezervat dac mesajul SETUP
marcheaz lrgimea de band de-a lungul fiecrei linii pe care o traverseaz, asigurndu-se,
evident, c lrgimea de band total rezervat de-a lungul unei linii este mai mic dect
capacitatea acelei linii. Dac mesajul SETUP ntlnete o linie care este ocupat, el se va
ntoarce pe drumul pe care a venit i va cuta o alt cale.
Descriptorul de trafic poate conine, pe lng lrgimea de band maxim i lrgimea de band
medie. Dac o gazd dorete, de exemplu, o lrgime de band maxim de 100.000 de celule/sec, dar
lrgimea de band medie este de numai 20.000 de celule/sec, se pot multiplexa n principiu cinci
astfel de circuite pe acelai trunchi fizic. Problema este c cele cinci conexiuni pot fi inactive timp de
jumtate de or, ca apoi s nceap s transmit n rafal la viteza maxim, cauznd pierderi masive
de celule. ntruct traficul VBR poate fi multiplexat statistic, pot apare probleme cu aceast
categorie de servicii. Sunt studiate soluii posibile.

Controlul congestiei bazat pe vitez


Pentru traficul CBR i VBR, nu este n general posibil ca emitorul s ncetineasc, chiar
n cazul unei congestii, datorit particularitilor de timp real sau semi-real ale sursei de
informaie. Pentru UBR, nu conteaz; dac sunt prea multe celule, cele suplimentare sunt pur
i simplu eliminate.
Totui, pentru traficul ABR, este posibil i logic ca reeaua s anune unul sau mai muli
emitori i s le cear s ncetineasc temporar, pn cnd reeaua se poate reface. Este n
interesul emitorului s se conformeze, deoarece reeaua l poate pedepsi ntotdeauna,
eliminndu-i celulele (n exces).
Modul n care poate fi detectat, semnalat i controlat congestia pentru traficul ABR a
constituit un subiect disputat n timpul dezvoltrii standardului ATM, cu argumente puternice
pentru diferitele soluii propuse. S aruncm o privire rapid la unele dintre soluiile care au fost
repede respinse, nainte de o examina pe cea ctigtoare.
ntr-una din propuneri, de cte ori emitorul dorete s trimit o rafal de date, trebuie s
trimit mai nti o celul special pentru rezervarea lrgimii de band necesare. Dup ce se
primete confirmarea, rafala poate ncepe. Avantajul este c nu apare niciodat congestie,
deoarece lrgimea de band necesar este ntotdeauna disponibil acolo unde este nevoie de
ea. Forumul ATM a respins aceast soluie datorit ntrzierii mari care poate s intervin
nainte ca o gazd s poat ncepe s transmit.
O a doua propunere presupunea comutatoare care s trimit napoi celule de oc de cte ori
a
congestia ncepe s se produc. Se presupune c, la primirea unei astfel de celule, un emitor
SEC. 5.6 NIVELUL REEA IN REELE ATM 435

reduce la jumtate viteza curent de transmisie a celulelor. Au fost propuse diferite scheme pentru a
readuce viteza la valoarea sa anterioar atunci cnd congestia a fost rezolvat. Aceast tactic a fost
respins, deoarece celulele de oc se pot pierde n congestie i datorit faptului c pare necinstit
fa de utilizatorii mici. De exemplu, s considerm un comutator primind fluxuri de cte 100-Mbps
de la cinci utilizatori i un flux de 100-kbps de la alt utilizator. Muli membrii ai comisiei au
considerat incorect s i se spun utilizatorului cu 100 kbps s renune la 50 kbps pentru c producea
prea mult congestie.
O a treia propunere folosea faptul c frontierele pachetelor sunt marcate de un bit n ultima
celul. Ideea era s se elimine celule pentru a se micora congestia, dar eliminarea s fie foarte
selectiv. Comutatorul trebuia s exploreze fluxul de celule care intr, pn gsea sfritul
pachetului i apoi s nlture toate celulele din urmtorul pachet. Desigur, acest pachet va trebui
retransmis mai trziu, dar eliminarea tuturor celor k celule dintr-un pachet conduce n cele din urm
la retransmisia unui singur pachet, ceea ce este mult mai bine dect eliminarea la ntmplare a k
celule, care ar putea determina k retransmisii de pachete. Aceast schem a fost respins din raiuni
de echitate, deoarece urmtorul marcaj de sfrit de pachet ntlnit poate s nu aparin
emitorului care a ncrcat excesiv comutatorul. De asemenea, nu este nevoie ca schema s fie
standardizat. Oricare furnizor de comutatoare este liber s aleag celulele care vor fi eliminate
atunci cnd apare congestia.
Dup multe discuii, lupta s-a dat ntre doi pretendeni, o soluie bazat pe credite (Kung i
Morris, 1995) i o soluie bazat pe viteze (Bonomi i Fendick, 1995). Soluia bazat pe credite era n
principal un protocol dinamic cu fereastr glisant. El solicit ca fiecare comutator s menin, pe
circuit virtual, un credit - de fapt numrul de zone tampon rezervate pentru acel circuit. Att timp
ct fiecare celul transmis are un tampon care o ateapt, congestia nu va putea aprea niciodat.
Argumentul mpotriva soluiei a venit de la furnizorii de comutatoare. Ei nu doreau s fac toate
nregistrrile pentru a ine evidena tuturor creditelor i nu doreau s rezerve att de multe
tampoane n avans. S-a considerat c efortul suplimentar i risipa implicat sunt prea mari, aa c n
cele din urm a fost adoptat schema de control al congestiei bazat pe vitez. Aceasta funcioneaz
n felul urmtor.

Direcia fluxului de date

Emitor ") Receptor


.' ( ) ( ) ( )
/ w ^ ^
Calea urmat Comutator ATM
de celulele RM

Fig. 5-75. Calea urmat de celulele RM.

Modelul de baz este c dup fiecare k celule de date, fiecare emitor transmite o celul
special RM (Resource Management - administrarea resurselor). Aceast celul cltorete de-a
lungul aceleiai ci ca i celulele de date, dar este tratat special de comutatoarele aflate de-a lungul
drumului. Cnd ajunge la destinaie, este examinat, actualizat i trimis napoi la emitor. Calea
complet pentru celulele RM este artat n Fig. 5-75.
436 NIVELUL REEA CAP. 5

n plus, sunt prevzute alte dou mecanisme de control al congestiei. Mai nti, comutatoarele
suprasolicitate pot genera n mod spontan celule RM i le pot trimite napoi la emitor. In al doilea
rnd, comutatoarele suprancrcate pot nscrie bitul PTI median pentru celulele de date ce se
deplaseaz de la emitor la receptor. Totui, nici una dintre aceste metode nu este n ntregime
fiabil, pentru c aceste celule pot fi pierdute n congestie fr ca cineva s sesizeze. n contrast,
emitorul va sesiza o celul RM pierdut cnd aceasta nu se ntoarce n intervalul de timp prevzut.
Pe de alt parte, bitul CLP nu este folosit pentru controlul congestiei ABR.
Controlul congestiei ABR se bazeaz pe ideea c fiecare emitor are o vitez curent, ACR
(Actual Cell Rate - viteza curent de transmisie a celulelor), care se situeaz ntre MCR i PCR.
Cnd apare congestia, ACR este redus (dar nu sub MCR). n absena congestiei, ACR este crescut
(dar nu peste PCR). Fiecare celul RM transmis conine viteza la care emitorul ar dori s
transmit n mod curent, eventual PCR, eventual mai mic. Aceast valoare este numit ER
(Explicit Rate - vitez explicit). Cnd celula RM trece prin diferite comutatoare pe drumul spre
receptor, acelea care sunt congestionate pot reduce ER. Nici un comutator nu l poate mri.
Reducerea poate fi fcut fie pe calea direct, fie pe cea invers. Cnd emitorul primete napoi
celula RM, el poate vedea care este viteza minim acceptabil n conformitate cu toate
comutatoarele aflate de-a lungul cii. El poate apoi s modifice ACR, dac este nevoie, pentru a-1
face s corespund cu ceea ce poate suporta comutatorul cel mai lent.
Mecanismul pentru congestii care folosete bitul PTI median este integrat n celulele RM
deoarece receptorul include acest bit (luat din ultima celul de date) n fiecare RM care este trimis
napoi. Bitul nu poate fi luat din celula RM pentru c toate celulele RM au acest bit poziionat tot
timpul, aa cum se vede n Fig. 5-63.
Nivelul ATM este destul de complicat. n acest capitol am evideniat numai o parte din
probleme. Pentru informaii suplimentare, vezi (De Prycker, 1993; McDysan i Spohn, 1995; Minoli
i Vitela, 1994; i La Porta .a., 1994). ns cititorul trebuie prevenit c toate aceste referine discut
standardul ATM 3 i nu standardul ATM 4, care nu a fost terminat pn n 1996.

5.6.8 LAN-uri ATM

Deoarece devine din ce n ce mai clar c va trece o foarte lung perioad de timp pn la
realizarea scopului iniial al ITU, de a nlocui reeaua telefonic comutat public printr-o reea
ATM, atenia se mut spre folosirea tehnologiei ATM pentru a conecta LAN-uri existente. n
aceast viziune, o reea ATM poate funciona fie ca un LAN, conectnd gazde individuale, fie ca o
punte, conectnd mai multe LAN-uri. Dei amndou conceptele sunt interesante, ele ridic unele
probleme pe care le vom discuta n continuare. Informaii suplimentare despre LAN-uri ATM se
pot gsi n (Chao .a., 1994; Newman, 1994; Truong .a.,1995).
Problema major care trebuie rezolvat este cumjs se pun la dispoziie servicii LAN fr
conexiuni peste o reea ATM orientat pe conexiuni. O^olutie^osibil este s introducem un server
&rnejduni.m reea. Fiecare gazd stabilete iniial o conexiune cu acest sever i trimite toate'
pachetele la el pentru retransmisie. Dei simpl, aceast soluie nu folosete ntreaga lrgime de
band a unei reele ATM, iar serverul fr conexiuni poate deveni cu uurin o gtuire.
O abordare alternativ, propus de Forumul ATM, este ilustrat n Fig. 5-76. Aici fiecare gazd
are un circuit ATM virtual (potenial) care o leag de fiecare alt gazd. Aceste circuite virtuale pot
fi stabilite i desfiinate n mod dinamic, dup cum sunt necesare, sau pot fi circuite virtuale
SEC.5.6 NIVELUL REEA N REELE A T M 437

permanente. Pentru a trimite un cadru, o gazd surs ncapsuleaz mai nti pachetul n cmpul cu
informaia util al unui mesaj ATM AAL i l trimite ctre destinaie, la fel cum cadrele sunt trimise
pe reele Ethernet, token ring i alte LAN-uri.

azd

1 2

LES-ul realizeaz
cutarea -. BUS-ul realizeaz
adreselor difuzarea
V

Fig. 5-76. Emularea LAN ATM.

Principala problem introdus de aceast schem este cum s se spun care IP (sau alt
adres a nivelului reea) aparine crui circuit virtual. ntr-un LAN 802, aceast problem este
rezolvat de protocolul ARP, n care o gazd poate difuza o cerere cum este: "Cine are adresa
IP 192.31.20.47?" Gazda care folosete aceast adres trimite un rspuns punct-la-punct, care
este memorat pentru folosire ulterioar.
La un LAN ATM, aceast soluie nu este posibil, deoarece LAN-urile ATM nu suport
difuzare. Aceast problem este rezolvat prin introducerea unui nou server, LES (LAN Emulation
Server - Server pentru emulare LAN). Pentru a cuta o adres de nivel reea (adic o adres IP), o
gazd trimite un pachet (adic o cerere ARP) la LES, care caut apoi adresa ATM corespunztoare
i o returneaz mainii care a cerut-o. Aceast adres poate fi dup aceea folosit pentru trimiterea
pachetelor ncapsulate la destinaie, f S-^^fc-J
Totui, aceast soluie rezolv numai problema localizrii gazdei. Unele programe folosesc
difuzarea sau trimiterea multipl ca o parte esenial a aplicaiei. Pentru aceste aplicaii, este
introdus BUS-ul (Broadcast/Unknown Server - difuzare/server necunoscut). El are conexiuni cu
toate gazdele i poate simula difuzarea prin trimiterea unui pachet, pe rnd, la fiecare dintre acestea.
Gazdele pot de asemenea s grbeasc livrarea unui pachet ctre o gazd necunoscut, prin
trimiterea pachetului la BUS, pentru a-1 difuza i apoi (n paralel) prin cutarea adresei (pentru o
utilizare viitoare) folosind LES.
Un model similar cu acesta a fost adoptat de IETF ca mod oficial n care Internet-ul utilizeaz o
reea ATM pentru transportul pachetelor IP. n acest model serverul LES este numit server
ATMARP, dar funcionarea este n principiu aceeai. Difuzarea i trimiterea multipl nu sunt
438 NIVELUL REEA CAP. 5

prevzute n propunerea IETF. Modelul este descris n RFC 1483 i RFC 1577.0 alt surs bun de
informaii este (Corner, 1995).
In cazul metodei IETF, o mulime de gazde ATM pot fi grupate ntr-o subreea IP logic
(logical IP subnet). Fiecare LIS are propriul su server ATMARP. De fapt, un LIS se
comport ca un LAN virtual. Gazde din acelai LIS pot schimba pachete IP direct, dar gazde
de pe LIS-uri diferite trebuie s foloseasc un ruter. Motivul pentru care exist LIS-uri este c
fiecare gazd ce face parte dintr-un un LIS trebuie (potenial) s aib un circuit virtual deschis
ctre orice alt gazd de pe acelai IJS. Prin limitarea numrului de gazde per LIS, numrul
de circuite virtuale poate fi redus la o valoare uor de gestionat.
Alt utilizare a reelelor ATM este folosirea lor ca puni pentru conectarea LAN-urilor
existente. n aceast configuraie, numai o main aparinnd fiecrui LAN are nevoie de o
conexiune ATM. La fel ca toate punile transparente, puntea ATM trebuie s asculte
neselectiv toate LAN-urile la care este ataat, retransmind cadrele unde este necesar.
Deoarece punile folosesc numai adrese MAC (nu adrese IP), punile ATM trebuie s
construiasc un arbore de acoperire, la fel ca punile 802.
Pe scurt, cu toate c emularea LAN ATM este o idee interesant, exist ndoieli serioase n ceea
cejmyete performana i preul, iar LAN-urile i punile existente, care sunt bine stabilite i foarte
mult optimizitesunt n mod cert concureni puternici. Rmne de vzut dac LAN-urile i punile
ATM vor nlocui vreodat LAN-urile i punile 802.

5.7 REZUMAT

Nivelul reea furnizeaz servicii nivelului transport. El se poate baza fie pe circuite virtuale,
fie pe datagrame. n ambele cazuri, sarcina sa principal este dirijarea pachetelor de la surs la
destinaie. n subretele bazate pe circuite virtuale, o decizie de dirijare se ia cnd este stabilit
circuitul. n subretele bazate pe datagrame, decizia este luat pentru fiecare pachet.
n reelele de calculatoare sunt folosii muli algoritmi de dirijare. Dirijarea pe calea cea mai
scurt, inundarea, sau dirijarea bazat pe flux sunt algoritmi statici. Dirijarea dup vectorul
distanelor i dirijarea dup starea legturii sunt algoritmi dinamici. Cele mai noi reele folosesc unul
dintre aceti algoritmi. Alte subiecte importante legate de reele sunt: dirijarea ierarhic, dirijarea
pentru sisteme gazd mobile, dirijarea pentru difuzare i dirijarea multidestinaie.
Subreelele pot deveni congestionate, mrind ntrzierea i micornd productivitatea pentru
pachete. Proiectanii reelelor ncearc s evite congestia printr-o proiectare adecvat. Tehnicile
includ modelarea traficului, specificaia fluxului i rezervarea lrgimii de band. Dac apare
congestia, ea trebuie s fie tratat. Pot fi trimise napoi pachete de oc, ncrcarea poate fi eliminat
sau se pot aplica alte metode.
Reelele difer prin multe caracteristici, aa c atunci cnd se conecteaz mai multe reele, pot s
apar probleme. Uneori problemele pot fi evitate prin trecerea ca prin tunel a unui pachet printr-o
reea ostil, dar dac reeaua surs si cea destinaie difer, aceast abordare eueaz. Atunci cnd
reele diferite au dimensiunile maxime ale pachetelor diferite, se poate produce fragmentarea.
Internet-ul posed o mare varietate de protocoale legate de nivelul reea. Acestea includ
protocolul de transport al datelor, IP, dar i protocoalele de control ICMP, ARP i RARP i
protocoalele de dirijare OSPF i BGP. Internet-ul rmne foarte repede fr adrese IP, aa c s-a
dezvoltat o nou versiune de IP, IPv6.
SEC. 5.8 PROBLEME 439

Spre deosebire de Internet, care se bazeaz pe datagrame, reelele ATM folosesc n


interior circuite virtuale. Acestea trebuie s fie stabilite nainte de transferul datelor i
desfiinate dup ce transmisia s-a ncheiat. Calitatea serviciului i controlul congestiei sunt
problemele principale ale reelelor ATM.

5.8 PROBLEME

1. Dai dou exemple de aplicaii pentru care este adecvat un serviciu orientat pe conexiune.
Apoi dai dou exemple pentru care un serviciu fr conexiuni este cel mai potrivit.

2. Exist anumite mprejurri n care un serviciu cu circuit virtual va (sau cel puin ar putea) livra
pachetele n alt ordine? Explicai.

3. Subreelele bazate pe datagrame dirijeaz fiecare pachet ca pe o unitate separat, independent


de toate celelalte. Subreelele bazate pe circuite virtuale nu trebuie s fac acest luciu, pentru c
fiecare pachet de date urmeaz o cale anterior determinat. Oare aceast observaie nseamn
c subreelele bazate pe circuite virtuale nu au nevoie de capacitatea de a dirija pachetele
izolate de la o surs arbitrar ctre o destinaie arbitrar? Explicai rspunsul dat.

4. Dai trei exemple de parametri ai protocolului care ar putea fi negociai atunci cnd este iniiat
o conexiune.

5. Considerai urmtoarea problem de proiectare, privind implementarea unui serviciu cu


circuit virtual. Dac n interiorul unei subretele sunt folosite circuite virtuale, fiecare
pachet de date trebuie s conin un antet de 3 octei, iar fiecare ruter trebuie s aloce 8
octei de memorie pentru identificarea circuitelor. Dac intern sunt folosite datagrame,
sunt necesare antete de 15 octei, dar nu este nevoie de spaiu pentru tabela r-uterului.
Capacitatea de transmisie cost 1 cent per 106 octei, per salt. Memoria ruterului poate fi
cumprat pentru 1 cent per octet i se depreciaz peste doi ani (considernd numai orele
de funcionare). Din punct de vedere statistic, o sesiune medie dureaz 1000 de secunde,
iar n acest timp sunt transmise 200 de pachete. Un pachet mediu are nevoie de patru
salturi. Care implementare este mai ieftin i cu ct?

6. Presupunnd c toate ruterele i gazdele funcioneaz normal i c ntregul software din rutere
i gazde nu conine nici o eroare, exist vreo ans, orict de mic, ca un pachet s fie livrat unei
destinaii greite?

7. Formulai o euristic simpl pentru gsirea a dou ci de la o surs dat la o destinaie


dat care pot supravieui pierderii oricrei linii de comunicaie (presupunnd c dou
astfel de ci exist). Ruterele sunt considerate suficient de fiabile, deci nu este necesar s
ne ngrijoreze posibilitatea cderii ruterelor.

8. Considerai subreeaua din Fig. 5-15(a). Se folosete dirijarea dup vectorul distanelor i
urmtorii vectori tocmai au sosit la rutenii C: de la B: (5,0, 8,12, 6, 2); de la D: (16,12,6,
440 NIVELUL REEA CAP. 5

0, 9, 10); i de la E: (7, 6, 3, 9, 0, 4). ntrzierile msurate ctre B, D i E, sunt 6, 3 i


respectiv 5. Care este noua tabel de dirijare a lui C? Precizai att linia de ieire folosit,
ct i ntrzierea presupus.

9. Dac ntrzierile sunt nregistrate ca numere de 8 octei ntr-o reea cu 50 de rutere i vectorii cu
ntrzieri sunt schimbai de dou ori pe secund, ct din lrgimea de band a unei linii (duplex
integral) este consumat de algoritmul distribuit de dirijare? Presupunei c fiecare ruter are
trei linii ctre alte rutere.

10. n Fig. 5-16 rezultatul operaiei SAU logic a celor dou mulimi de bii ACF este 111 n fiecare
linie. Este acesta doar un accident ntmplat aici sau este valabil pentru toate subreelele, n
toate mprejurrile?

11. La dirijarea ierarhic cu 4800 de rutere, ce dimensiuni pentru regiune i grup ar trebui alese
pentru a minimiza dimensiunea tabelei de dirijare pentru o ierarhie cu trei nivele?

12. In text s-a afirmat c atunci cnd un sistem gazd mobil nu este acas, pachetele trimise ctre
LAN-ul de domiciliu sunt interceptate de agentul su local. Pentru o reea IP pe un LAN 802.3,
cumva realiza agentul local aceast interceptare?

13. Privind subreeaua din FIG.5-5, cte pachete sunt generate de o difuzare de la B, folosind:
a) urmrirea cii inverse?
b) arborele de scufundare?

14. Calculai un arbore de acoperire pentru trimitere multipl pentru ruterul C din reeaua de mai
jos pentru un grup cu membrii la ruterele A, B, C, D, E, F, I i K.

15. Ca un posibil mecanism de control al congestiei ntr-o subreea ce folosete intern circuite
virtuale, un ruter poate amna confirmarea unui pachet primit pn cnd (1) tie c ultima sa
transmisie de-a lungul circuitului virtual a fost primit cu succes i (2) are un tampon liber.
Pentru simplitate, s presupunem c ruterele utilizeaz un protocol stop-and-wait (pas-cu-pas)
i c fiecare circuit virtual are un tampon dedicat pentru fiecare direcie a traficului. Dac este
nevoie de Tsec pentru a trimite un pachet (date sau confirmare) i sunt n rutere de-a lungul cii,
SEC. 5.8 PROBLEME 441

care este viteza cu care pachetele sunt livrate gazdei destinaie? Presupunem c erorile de
transmisie sunt rare, iar conexiunea gazd-ruter este infinit de rapid.

16. O subreea de tip datagram permite mterelor s elimine pachete de cte ori este necesar.
Probabilitatea ca un ruter s renune la un pachet este p. Considerm cazul unei gazde surs
conectate cu un mter surs, care este conectat cu un ruter destinaie i apoi cu gazda destinaie.
Dac oricare dintre rutere elimin un pachet, gazda surs va ncerca din nou, probabil dup
expirarea unui timp stabilit. Dac liniile gazd-ruter i ruter-ruter sunt amndou numrate ca
salturi, care este numrul mediu de:
a) salturi per transmisie pe care le face un pachet?
b) transmisii determinate de un pachet?
c) salturi necesare pentru un pachet primit?

17. Dai o explicaie pentru faptul c algoritmul gleii gurite permite un singur pachet per tact,
indiferent de ct de mare este pachetul.

18. ntr-un sistem oarecare este utilizat varianta cu numrarea octeilor algoritmului gleii
gurite. Regula este c pot fi trimise la fiecare tact un pachet de 1024 de octei, dou pachete de
512 octei etc. Formulai o limitare serioas a acestui sistem care nu a fost menionat n text.

19. O reea ATM utilizeaz pentru modelarea traficului o schem de tip gleat cu jetoane (token
bucket). La fiecare 5 usec n gleat este introdus un nou jeton. Care este viteza maxim net a
datelor (adic fr a se pune la socoteal biii antetului) care poate fi meninut?

20. Un calculator dintr-o reea de 6-Mbps este guvernat de o schem de tip gleat cu jetoane.
Aceasta se umple cu viteza de 1 Mbps. Ea este umplut iniial la capacitatea maxim, cu 8
megabii. Ct timp poate calculatorul s transmit cu ntreaga vitez de 6 Mbps?

21. Fig. 5-27 arat patru caracteristici de intrare pentru o specificaie a fluxului propus. S ne
imaginm c dimensiunea maxim a pachetului este de 1000 de octei, viteza gleii cu jetoane
este de 10 milioane de octei/sec, capacitatea ei este de 1 milion de octei i viteza maxim de
transmisie este de 50 de milioane de octei/sec. Ct timp poate dura o rafal la viteza maxim?

22. Un dispozitiv accept cadre de la Ethernet-ul la care este conectat. El obine pachetul din
interiorul fiecrui cadru, adaug informaie de ncadrare n jurul su i l transmite pe o linie
telefonic nchiriat (singura legtur a dispozitivului cu lumea exterioar) ctre un dispozitiv
identic aflat la cellalt capt. Acesta din urm nltur ncadrarea, introduce pachetul ntr-un
cadru token ring i l transmite unei gazde locale printr-un LAN de tip token ring. Cum ai numi
acest dispozitiv?

23. Este nevoie de fragmentare n reele concatenate bazate pe circuite virtuale sau numai n
sisteme cu datagrame?

24. Trecerea ca prin tunel printr-o subreea de circuite virtuale concatenate este simpl:
ruterul multiprotocol de la un capt stabilete circuitul virtual ctre cellalt capt i trece
pachetele prin el. Poate aceast trecere ca printr-un tunel s fie folosit i n subreelele
bazate pe datagrame? Dac da, cum?
442 NIVELUL REEA CAP. 5

25. O datagram IP care folosete opiunea Dirijare strict la surs trebuie s fie fragmentat.
Credei c opiunea este copiat n fiecare fragment, sau este suficient s fie pus numai n
primul fragment? Explicai rspunsul.

26. S presupunem c n loc de a folosi 16 bii pentru partea ce specific reeaua unei adrese de
clas B, au fost utilizai 20 de bii. Cte reele de clas B ar fi existat?

27. Transformai adresa IP a crei reprezentare zecimal este C22F1582 ntr-o notaie zecimal cu
puncte.

28. O reea de clas B din Internet are masca de subreea 255.255.240.0. Care este numrul maxim
de gazde din subreea?

29. Tocmai i-ai explicat unui prieten protocolul ARP. Cnd ai terminat, el spune: Am neles.
ARP ofer un serviciu nivelului reea, deci face parte din nivelul legturii de date." Ce i vei
spune?

30. Att ARP ct i RARP realizeaz corespondena adreselor dintr-un spaiu n altul. Din acest
punct de vedere cele dou protocoale sunt similare. Totui, implementrile lor sunt
fundamental diferite. Care este diferena esenial dintre ele?

31. Descriei un procedeu pentru reasamblarea fragmentelor IP la destinaie.

32. Cei mai muli dintre algoritmii de reasamblare a datagramelor IP au un ceas pentru a evita ca
un fragment pierdut s in ocupate pentru totdeauna tampoanele de reasamblare. S
presupunem c o datagram este mprit n patru fragmente. Primele trei sosesc, dar ultimul
este ntrziat. Este posibil ca timpul s expire i cele trei fragmente s fie eliminate din memoria
receptorului. Puin mai trziu, sosete i ultimul fragment. Ce ar trebui fcut cu el?

33. Cele mai multe protocoale de dirijare IP folosesc numrul de salturi ca o mrime ce trebuie
minimizat cnd se fac calculele pentru dirijare. Pentru reelele ATM, numrul de salturi nu
este foarte important. De ce? Indicaie: Aruncai o privire la Cap. 2 pentru a vedea cum
funcioneaz comutatoarele ATM. Folosesc ele comutarea memoreaz-si-retransmite?

34. Att la IP ct i la ATM, suma de control acoper numai antetul, nu i datele. De ce credei c
s-a ales aceast soluie?

35. O persoan care locuiete n Boston cltorete la Minneapolis, lundu-i calculatorul


portabil cu sine. Spre surprinderea sa, LAN-ul de la destinaia din Minneapolis este un
LAN IP fr fir, deci nu trebuie s se conecteze. Este oare necesar s se recurg la
ntreaga poveste cu ageni locali i ageni strini pentru ca mesajele de pot electronic i
alte tipuri de trafic s-i parvin corect?

36. IPv6 folosete adrese de 16 octei. Dac un bloc de 1 milion de adrese este alocat la fiecare
picosecund, ct timp vor exista adrese disponibile?

37. Cmpul Protocol folosit n antetul IPv4 nu este prezent n antetul fix pentru IPv6. De ce?
SEC. 5.8 PROBLEME 443

3g. Cnd se introduce protocolul IPv6, protocolul ARP trebuie s fie modificat? Dac da,
modificrile sunt conceptuale sau tehnice?

39. n Cap. 1 am clasificat interaciunile dintre reea i gazd folosind patru clase de primitive:
request, indication, response i confirm. Clasificai mesajele SETUP i CONNECT din Fig. 5-65
n aceste categorii.

40. ntr-o reea ATM este stabilit un nou circuit virtual. ntre gazdele surs i destinaie se gsesc
trei comutatoare ATM. Cte mesaje (inclusiv confirmri) vor fi trimise pentru stabilirea
circuitului?

41. Raionamentul folosit pentru construcia tabelei din Fig. 5-67 este simplu: unei conexiuni i este
atribuit ntotdeauna cel mai mic VPI nefolosit. Dac este necesar un nou circuit virtual ntre NY
i Denver, ce VPI i va fi atribuit?

42. n Fig. 5-73(c), dac o celul sosete devreme, urmtoarea este ateptat tot la ti + 2T. S
presupunem c regula este diferit i anume c urmtoarea celul este ateptat la
t2 + T, iar emitorul folosete la maximum aceast regul. Ce vitez maxim de transmitere
poate s fie obinut n acest caz? Pentru T = 10 usec i L = 2 usec, calculai viteza maxim de
transmitere iniial i respectiv pe cea nou.

43. Care este lungimea maxim a rafalei pentru o conexiune ATM ABR la 155,52 Mbps, a crei
valoare PCR este 200.000 i a crei valoare L este 25 usec?

44. Scriei un program care s simuleze lirijarea prin inundare. Fiecare pachet ar conine un
contor care este decrementat la fiecare salt. Cnd contorul ajunge la zero, pachetul este
eliminat. Timpul este discret, iar fiecare linie manevreaz un pachet ntr-un interval de
timp. Realizai trei versiuni ale acestui program: toate liniile sunt inundate, sunt inundate
toate liniile cu excepia liniei de intrare, sau sunt inundate numai cele mai bune k linii
(alese statistic). Comparai inundarea cu dirijarea determinist (k = 1) n termenii
ntrzierii i lrgimii de band folosite.

45. Scriei un program care simuleaz o reea de calculatoare ce folosete un timp discret.
Primul pachet din coada de ateptare a fiecrui ruter face un salt per interval de timp.
Fiecare ruter are, numai un numr finit de zone tampon. Dac un pachet sosete i nu este
loc pentru el, el este eliminat i nu mai este retransmis. n schimb, exist un protocol
capt-la-capt, complet, cu limit de timp i pachete de confirmare, care va regenera n
cele din urm pachetul de la ruterul surs. Reprezentai grafic productivitatea reelei ca
funcie de limita de timp, parametrizat de rata erorilor.
444 NIVELUL REEA CAP. 5
NIVELUL TRANSPORT

Nivelul transport nu este doar un alt nivel, el este miezul ntregii ierarhii de protocoale. Sarcina
sa este de a transporta date de la maina surs la maina destinaie ntr-o manier sigur i eficace
din punctul de vedere al costurilor, independent de reeaua sau reelele fizice utilizate. Fr nivelul
transport i-ar pierde sensul ntregul concept de ierarhie de protocoale. n acest capitol vom studia
n detaliu nivelul transport, incluznd serviciile, arhitectura, protocoalele i performanele sale.

6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT

n seciunile urmtoare vom face o prezentare a serviciilor oferite de nivelul transport. Vom
studia serviciile oferite nivelului aplicaie (sau sesiune, dac acesta exist) i, n mod special,
modalitile de caracterizare a calitii serviciilor oferite. Apoi vom studia modul n care aplicaiile
apeleaz serviciile de transport, altfel spus, cum este construit interfaa acestui nivel.

6.1.1 Servicii furnizate nivelurilor superioare

Scopul principal al nivelului transport este de a oferi servicii eficiente, sigure i ieftine
utilizatorilor, n mod normal procese aparinnd nivelului aplicaie. Pentru a atinge acest scop,
nivelul transport utilizeaz serviciile oferite de mvelul reea. Hardware-ul i/sau software-ul care se
ocup de toate acestea n cadrul nivelului transport se numesc entitatea de transport. Entitatea de
transport poate s aparin nucleului sistemului de operare, unui proces distinct, unei biblioteci
legate de aplicaiile de reea sau plcii de reea. Relaia (logic) ntre nivelurile reea, transport i
aplicaie este prezentat n Fig. 6-1.

445
446 NIVELUL TRANSPORT CAP. 6

Cele dou tipuri de servicii: servicii orientate pe conexiune sau datagram, existente n cadrul
nivelului reea, se regsesc i la acest nivel. Serviciul orientat pe conexiune de la nivel transport are
multe asemnri cu cel de la nivel reea: la ambele, conexiunile au trei faze (stabilirea conexiunii,
transferul de date i eliberarea conexiunii) i, n plus, adresarea i controlul fluxului sunt similare.
Mai mult, chiar i serviciile fr conexiune sunt foarte asemntoare la cele dou niveluri.
O ntrebare evident este urmtoarea: dac serviciile la nivel transport sunt att de
asemntoare cu cele de la nivel reea, de ce este nevoie de dou niveluri distincte? De ce nu este
suficient un singur nivel? Rspunsul este unul subtil, dar extrem de important, i ne cere s ne
ntoarcem la Fig. 1.16. n aceast figur am putut vedea c nivelul reea este parte component a
subretelei de comunicaie i este executat de mediul de transport (cel puin pentru reelele larg
rspndite geografic - WAN). Ce s-ar ntmpla dac nivelul reea ar oferi servicii orientate pe
conexiune, dar acestea ar fi nesigure? Dar dac acesta ar pierde frecvent pachete? Ce se ntmpl
dac din cnd n cnd rutenii cade?

Gazd Gazd

Nivel aplicaie Nivel aplicaie


{sau sesiune) Interfaa (sau sesiune)
Adres aplicaie/transport
transport

TPDU
Entitate de Entitate de
transport Protocol transport
transport

Adres
reea Interfaa
Nivel reea transport/reea Nivel reea

Fig. 6-1. Nivelurile reea, transport i aplicaie.

Ei bine, n toate aceste cazuri apar probleme. Deoarece utilizatorii nu pot controla subreeaua, ei
nu pot rezolva problema unor servicii de proast calitate folosind rutere mai bune sau adugnd o
tratare a erorilor mai sofisticat la nivelul legtur de date. Singura posibilitate este de a pune
deasupra nivelului reea un alt nivel care s mbunteasc calitatea serviciilor. Dac entitatea de
transport este informat la jumtatea transmisiei c a fost nchis abrupt conexiunea sa la nivel
reea, fr nici o indicaie despre ceea ce s-a ntmplat cu datele aflate n acel moment n tranzit, ea
poate iniia o alt conexiune la nivel reea cu entitatea de transport aflat la distan. Folosind
aceast nou conexiune, ea poate interoga corespondenta ei despre care date au ajuns la destinaie
i care nu i poate continua comunicarea din locul de unde a fost ntrerupt.
n esen, existena nivelului transport face posibil ca serviciile de transport s fie mai sigure
dect cele echivalente de la nivelul reea. Pachetele pierdute sau incorecte pot fi detectate i
corectate de ctre nivelul reea. Mai mult, primitivele serviciului de transport pot fi proiectate n aa
SE
C . 6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 447

fel, nct s fie independente de primitivele de la nivelul reea, care, de altfel, pot s varieze
considerabil de la o reea la alta (de exemplu, serviciile orientate pe conexiune hteo reea local pot
fi foarte diferite de serviciile orientate pe conexiune dintr-o reea larg rspndit.geografic). .
Mulumit nivelului transport, este posibil ca programele de aplicaie s fie scrisefolosind un set
standard de primitive, pentru a rula pe o mare varietate de reele, fr s aib de-a face cu diferite
interfee de subreea sau cu transmisii nesigure. Dac toate reelele reale ar fi perfecte i toate ar
avea acelai set de primitive, atunci probabil c nivelul transport nu ar mai fi fost necesar. Totui, n
realitate el ndeplinete funcia de a izola lumea real de tehnologia, arhitectura i imperfeciunile
nivelurilor inferioare.
Din aceast cauz se poate face o distincie ntre nivelurile de la 1 la 4, pe de o parte, i cel (cele)
de deasupra. Primele pot fi vzute ca furnizoare de servicii de transport, n timp ce ultimele ca
utilizatoare de servicii de transport. Aceast distincie ntre utilizatori i furnizori are un impact
considerabil n ceea ce privete proiectarea arhitecturii de niveluri i confer nivelului transpbrt o
poziie cheie, acesta fiind limita ntre furnizorul i utilizatorul serviciilor sigure de transmisie de date.

6.1.2 Calitatea unui serviciu

O alt posibilitate de a analiza nivelul transport este de a considera c funcia sa de baz este
mbuntirea QoS (Quality of Service - calitatea serviciului} furnizat de nivelul reea. Dac serviciile
la nivel reea sunt impecabile, atunci nivelul transport nu are prea multe de fcut. Dac totui
serviciile la nivel reea sunt necorespunztpare, nivelul transport trebuie s umple golul ntre ceea ce
ateapt utilizatorul nivelului transport i ceea ce furnizeaz nivelul reea.

ntrzierea la stabilirea conexiunii


Probabilitatea de insucces la stabilirea conexiunii
Productivitatea
ntrzierea la transfer
Rata rezidual a erorilor
Protecia
Prioritatea
Reziliena

Fig. 6-2. Parametri tipici pentru calitatea serviciului de transport.

Dei calitatea unui serviciu poate s pr un concept vag (a face ca toat lumea s fie de acord cu
ceea ce nseamn bun" nu este deloc uor), QoS poate s fie caracterizat de un numr de
parametri specifici, aa cum am vzut n Capitolul 5. Nivelul transport poate permite, utilizatorului s
cear valori preferate, acceptabile sau minime pentru diveri parametri n momentul stabilirii
conexiunii. O parte dintre aceti parametri sunt aplicabili i pentru serviciile de transport neorientate
pe conexiune. Este la latitudinea nivelului transport s inspecteze aceti parametri i, n funcie de
serviciile reea disponibile, s hotrasc dac poate s furnizeze serviciul cerut. n cele ce urmeaz
vom trece n revist civa posibili parametri pentru calitatea serviciilor. Trebuie reinut c puine
reele sau protocoale furnizeaz toi aceti parametri, multe ncearc numai s reduc rata rezidual
a erorilor i se mulumesc cu aceasta, altele ns au sisteme mai complicate de evaluare a calitii
serviciilor (Campbel .a., 1994).
448 NIVELUL THANSPORT CAP. 6

ntrzierea la stabilirea conexiunii este timpul scurs ntre cererea unui utilizator al nivelului
transport de alocare a unei conexiuni i primirea confirmrii de stabilire a conexiunii. Ea include
timpul de prelucrare al cererii n entitatea de transport aflat la distan. Ca la orice parametru care
msoar o ntrziere, cu ct aceasta este mai mic, cu att mai bun este serviciul.
Probabilitatea de insucces la stabilirea conexiunii este probabilitatea ca o conexiune s nu fie
stabilit ntr-un interval de timp maxim fixat. Cteva cauze ar putea fi: congestionarea reelei, lipsa
spaiului n tabelele unui nod al reelei sau alte probleme interne.
Rata de transfer msoar numrul de octei de date utilizator transferai de-a lungul unui interval
de timp. Rata de transfer este msurat separat pentru fiecare direcie.
ntrzierea msoar timpul scurs ntre trimiterea unui mesaj de ctre maina surs i
recepionarea acestuia la maina destinaie. Ca i pentru rata de transfer, fiecare direcie este
evaluat separat.
Rata rezidual a erorilor msoar procentul de pachete pierdute sau incorecte din totalul
pachetelor trimise. Teoretic, deoarece scopul nivelului transport este de a ascunde toate
erorile nivelului reea, rat rezidual a erorilor ar trebui s fie nul. n practic ea poate avea
i o valoare (mic) nenul.
Parametrul protecie furnizeaz utilizatorului o modalitate de a cere nivelului transport ca datele
transmise s fie protejate mpotriva accesului neautorizat (citire sau scriere) al terilor.
Parametrul prioritate furnizeaz utilizatorului o modalitate de a indica nivelului transport c
unele conexiuni sunt mai importante ca altele i c, n cazul unei congestii, conexiunile cu prioritate
mai mare trebuie servite preferenial.
n cele din urm reziliena indic probabilitatea ca nivelul transport nsui s nchid spontan o
conexiune datorit unor probleme interne sau datorit congestiilor.
Parametri de calitate sunt specificai de utilizatorul nivelului transport atunci cnd cere o
conexiune. Pot fi specificate att valorile dorite ct i cele minim acceptabile. n unele cazuri,
analiznd valorile acestor parametri, nivelul transport poate s-i dea seama imediat c
performanele cerute nu pot fi atinse i, n acest caz, cererea de conexiune eueaz chiar i fr a se
mai lua contact cu maina destinaie. n acest caz sunt raportate cauzele eecului.
n alte cazuri, nivelul transport tie c nu pot fi atinse performanele dorite (de exemplu, 600
Mbps rat de transfer), dar se pot obine performane mai mici i nc acceptabile (de exemplu, 150
Mbps). El trimite aceste noi valori i cele minim acceptabile mainii cu care se conecteaz la
distan, cerndu-i s stabileasc conexiunea. Dac maina cu care se conecteaz nu poate furniza
performanele cerute, dar poate obine unele superioare valorilor minime, ea va face o contraofert.
Dac mcar una din performanele minime nu poate fi ndeplinit, atunci cererea de conexiune este
refuzat. n cele din urm utilizatorul este informat dac conexiunea a fost stabilit sau refuzat i,
dac a fost stabilit, care sunt valorile parametrilor asupra crora s-a czut de acord.
Acest proces se numete negocierea opiunilor. Odat ce opiunile au fost negociate, ele rmn
aceleai pe toat durat conexiunii. Pentru a preveni lcomia" clienilor exist tendina ca serviciile
de o calitate mai bun s fie mai scumpe.

6.13 Primitivele serviciilor de transport

Primitivele serviciilor de transport permit utilizatorilor nivelului transport (de exemplu


programe de aplicaie) s acceseze serviciile. Fiecare serviciu de transport are primitivele sale.
SEC. 6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 449

n acest capitol; vom examina mai nti un serviciu de transport simplu (ipotetic), dup care
vom analiza un exemplu real.
Serviciul transport este similar cu cel reea, dar exist i cteva diferene importante. Principala
diferen este c serviciul reea a fost conceput pentru a modela serviciile oferite de reelele reale.
Acestea pot pierde pachete, deci serviciile la nivel reea sunt n general nesigure.
n schimb, serviciile de transport (orientate pe conexiune) sunt sigure. Desigur, n reelele
reale apar erori, dar este exact scopul nivelului transport s furnizeze un serviciu sigur
deasupra unui nivel reea nesigur.
Ca exemplu, s considerm dou procese conectate prin 'pipe'-uri (tuburi) n UNIX. Acestea
presupun o conexiune perfect ntre ele. Ele nu vor s aib de-a face cu confirmri, pachete
pierdute, congestii sau altele asemntoare. Ele au nevoie de o conexiune sigur n proporie de
100%. Procesul A pune datele la un capt al tubului, iar procesul B le ia de la cellalt capt. Este
exact ceea ce face un serviciu orientat pe conexiune: ascunde imperfeciunile reelei, astfel nct
procesele utilizator pot s presupun existena unui flux de date fr erori.
In acelai timp nivelul transport furnizeaz i un serviciu nesigur, dar sunt puine de spus n
legtur cu acesta, aa c n acest capitol, ne vom concentra atenia asupra serviciului orientat
pe conexiune.
O a doua diferen ntre serviciul reea i cel de transport se refer la destinaiile lor. Serviciul
reea este folosit doar de entitile de transport. Puini utilizatori scriu ei nii entitile de transport,
si, astfel, puini utilizatori sau programe ajung s vad vreodat serviciile reea. n schimb, multe
programe (i programatori) folosesc primitivele de transport. De aceea, serviciul transport trebuie s
fie uor de utilizat.
Ca s ne facem o idee despre cum poate arta un serviciu de transport, s considerm cele
cinci primitive prezentate n Fig. 6-3. Aceast interfaa este ntr-adevr simpl,, dar prezint
trsturile de baz ale oricrei interfee orientate pe conexiune a nivelului transport. Ea
permite programelor de aplicaie s stabileasc, s utilizeze i s elibereze conexiuni, ceea ce
este suficient pentru multe aplicaii.

Primitiva Unitatea de date trimis Explicaii


LISTEN (nimic) Se blocheaz pn cnd un proces ncearc s se conecteze
CONNECT CONNECTION REQ. ncearc s stabileasc conexiunea
SEND DATA Transmite informaie
RECEIVE (nimic) Se blocheaz pn cnd primete date trimise
DISCONNECT DISCONNECTION REQ. Trimis de partea care vrea s se deconecteze

Fig. 6-3. Primitivele unui serviciu de transport simplu.

Pentru a vedea cum pot fi utilizate aceste primitive, s considerm o aplicaie cu un server i un
numr oarecare de clieni la distan. La nceput serverul apeleaz primitiva LISTEN, n general
prin apelul unei funcii de bibliotec care face un apel sistem pentru a bloca serverul pn la apariia
unei cereri client. Atunci cnd un client vrea s comunice cu serverul, el va executa un apel
CONNECT. Entitatea de transport trateaz acest apel blocnd apelantul i trimind un pachet la
server. Acest pachet ncapsuleaz un mesaj ctre entitatea de transport de pe server.
'A

Este momentul s facem cteva precizri n legtur cu terminologia. In lipsa unui termen mai
bun vom folosi acronimul TPDU (Transport Protocol Data Unit - unitate de date a protocolului de
450 NIVELUL TRANSPORT CAP. 6

transport) pentru toate mesajele schimbate ntre dou entiti de transport corespondente. Astfel,
TPDU-urile (schimbate la nivelul transport) sunt coninute n pachete (utilizate de nivelul reea). La
rndul lor, pachetele sunt coninute n cadre (utilizate la nivelul legtur de date). Atunci cnd este
primit un cadru, nivelul legtur de date prelucreaz antetul cadrului i d coninutul util nivelului
reea. Entitatea reea prelucreaz antetul pachetului i paseaz coninutul util entitii de transport.
Aceas ierarhie este ilustrat n Fig. 6-4.

Antet Antet Antet


cadru pachet TPDU

Informaie util n TPDU

- Informaie util n pachet-

Informaie util n cadru

Fig. 6-4. Ierarhia de cadre, pachete i TPDU-uri.

Revenind la exemplul nostru, apelul CONNECT al clientului genereaz un TPDU de tip


CONNECTION REQUEST care i este trimis serverului. Atunci cnd acesta ajunge, entitatea
de transport verific dac serverul este blocat ntr-un apel LISTEN (deci dac ateapt o
cerere de conexiune). n acest caz, deblocheaz serverul i trimite napoi clientului un TPDU
CONNECTION ACCEPTED . Atunci cnd acest TPDU ajunge la destinaie, clientul este
deblocat i conexiunea este stabilit.
Acum pot fi schimbate date folosindu-se primitivele SEND i RECEIVE. Cea mai simpl
posibilitate este ca una din pri s fac un apel RECEIVE (blocant) ateptnd ca cealalt parte s
execute un SEND. Atunci cnd sosete un TPDU, receptorul este deblocat. El poate prelucra
TPDU-ul i trimite o replic. Atta vreme ct amndou prile tiu cine este la rnd s trimit
mesaje i cine este la rnd s recepioneze, totul merge bine.
Trebuie s observm c la nivelul reea, chiar i un schimb de date simplu, unidirecional este
mult mai complicat dect la nivelul transport. Fiecare pachet de date trimis va fi (n cele din urm)
confirmat. Pachetele care conin TPDU-uri de control sunt de asemenea confirmate, implicit sau
explicit. Aceste confirmri sunt gestionate de entitile de transport folosind protocoalele de la
nivelul reea i nu sunt vizibile utilizatorilor nivelului transport. Similar, entitile de transport nu
trebuie s se ocupe de ceasuri i de retransmisii. Nimic din tot acest mecanism nu este vizibil pentru
utilizatorii nivelului transport, pentru care o conexiune este un tub fr pierderi: un utilizator
ndeas bii la un capt i acetia apar, ca prin minune, la captul celalalt. Ierarhia de protocoale este
o unealt att de puternic datorit capacitii sale de a ascunde complexitatea.
Atunci cnd o conexiune nu mai este necesar, ea trebuie eliberat pentru a putea elibera i
spaiul alocat n tabelele corespunztoare din cele dou entiti de transport. Deconectrile se pot
face n dou variante: asimetric sau simetric. n varianta asimetric oricare dintre utilizatori poate
SEC. 6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 451

apel o primitiv DISCONNECT, ceea ce va avea ca rezultat trimiterea unui TPDU ISCONNECT
REQUEST entitii de transport aflat la distan. La sosirea acestuia conexiunea este eliberat.
n varianta simetric fiecare direcie este nchis separat, independent de cealalt. Atunci cnd
una din pri face un apel DISCONNECT, nsemnnd c nu mai sunt date de trimis, ea va putea
ne recepiona datele transmise de entitatea de transfer aflat la distan. n acest model
conexiunea este eliberat dac ambele pri au apelat DISCONNECT.
O diagram de stare pentru stabilirea i eliberarea conexiunilor folosind aceste primitive simple
este prezentat n Fig. 6-5. Fiecare tranziie este declanat de un eveniment: fie este executat o
primitiv de ctre utilizatorul local al nivelului transport, fie este primit un pachet. Pentru simplitate
vom presupune c fiecare TPDU este confirmat separat. Vom presupune de asemenea c este
folosit un model de deconectare simetric, clientul iniiind aciunea. Trebuie reinut c acesta este un
model foarte simplu, n seciunile urmtoare vom analiza modele reale.

TPDU: Cerere
de conectare Execuie: CONNECT
NEFOLOSIT
1
i

? >
STABILIRE DE STABILIRE DE
CONEXIUNE CONEXIUNE
PASIV ACTIV

i
CONEXIUNE )
Execuie:CONNEC"r STABILITA TPDU: Cerere
de conectare
TPDU:Cerere i Execuie:
de deconectare ' DISCONNECT

DECONECTARE DECONECTARE
PASIV ACTIV

NEFOLOSIT )
Execuie: TPDU: Cerere
DISCONNECT de deconectare

Fig. 6-5. Diagrama de stare pentru o schem simpl de control al conexiunii.


Tranziiile etichetate cu italice sunt cauzate de sosirea unor pachete. Liniile punctate indic
secvena de stri a serverului. Liniile continue indic secvena de stri a clientului.

Socluri Berkeley
Vom trece n revist acum un alt set de primitive de transport: primitivele pentru socluri
TCP folosite n sistemul de operare Berkeley-UNIX. Primitivele sunt enumerate n Fig. 6-6. n
general putem spune c acestea sunt similare modelului din capitolul precedent, dar c ofer
452 NIVELUL TRANSPORT CAP. 6

mai multe caracteristici i flexibilitate. Nu vom detalia TPDU-urile existente; aceast discuie
mai are de ateptat pn n momentul cnd vom studia TCP, mai trziu, n acest capitol.
Primele patru primitive din tabel sunt executate, n aceasta ordine, de server. Primitiva SOCKET
creeaz un nou capt al conexiunii i aloc spaiu pentru el n tabelele entitii de transport. n
parametri de apel se specific formatul de adres utilizat, tipul de serviciu dorit (de exemplu,
transfer sigur de octei) i protocolul. Un apel SOCKET reuit ntoarce un descriptor de fiier (la fel
ca un apel OPEN) care va fi utilizat n apelurile urmtoare.

Primitiva Funcia
SOCKET Creeaz un nou punct de capt al comunicaiei
BIND Ataeaz o adres local la un soclu
LISTEN Anun capacitatea de a accepta conexiuni; determin mrimea cozii
ACCEPT Blocheaz apelantul pn la sosirea unei cereri de conexiune
CONNECT Tentativ (activ) de a stabili o conexiune
SEND Trimite date prin conexiune
RECEIVE Recepioneaz date prin conexiune
CLOSE Elibereaz conexiunea

Fig. 6-6. Primitivele pentru socluri TCP

Soclurile nou create nu au nc nici o adres. Ataarea unei adrese se face utiliznd
primitiva BIND. Odat ce un server a ataat o adres unui soclu, clienii se pot conecta la el.
Motivul pentru care apelul SOCKET nu creeaz adresa direct este c unele procese se
ngrijesc de adresa lor (de exemplu, unele folosesc aceeai adres de ani de zile i oricine
cunoate aceast adres), n timp ce altele nu.
Urmeaz apelul LISTEN, care aloc spaiu pentru a reine apelurile primite n cazul cnd mai
muli clieni ncearc s se conecteze n acelai timp. Spre deosebire de modelul din primul nostru
exemplu, aici LISTEN nu mai este un apel blocant.
Pentru a se bloca i a atepta un apel, serverul execut o primitiv ACCEPT. Atunci cnd sosete
un TPDU care cere o conexiune, entitatea de transport creeaz un nou soclu cu aceleai proprieti
ca cel iniial i ntoarce un descriptor de fiier pentru acesta. Serverul poate atunci s creeze un nou
proces sau fir de execuie care va gestiona conexiunea de pe noul soclu i s atepte n continuare
cereri de conexiune pe soclul iniial.
S privim acum din punctul de vedere al clientului: i n acest caz, soclul trebuie creat folosind o
primitiva SOCKET, dar primitiva BIND nu mai este necesar, deoarece adresa folosit nu mai este
important pentru server. Primitiva CONNECT blocheaz apelantul i demareaz procesul de
conectare. Cnd acesta s-a terminat (adic atunci cnd TPDU-ul corespunztor a fost primit de la
server), procesul client este deblocat i conexiunea este stabilit. Att clientul ct i serverul pot
utiliza acum primitivele SEND i RECEIVE pentru a transmite sau recepiona date folosind o
conexiune duplex integral.
Eliberarea conexiunii este simetric. Atunci cnd ambele pri au executat primitiva CLOSE,
conexiunea este eliberat.
SEC. 6.2 NOTUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 453

NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT

Serviciul transport este implementat prin intermediul unui protocol de transport folosit de cele
dou entiti de transport. Cteva caracteristici sunt asemntoare pentru protocoalele de transport
si pentru cele de legtur de date studiate n detaliu n capitolul 3. Amndou trebuie s se ocupe,
printre altele, de controlul erorilor, de secveniere i de controlul fluxului.
Totui, exist diferene semnificative ntre cele dou protocoale. Aceste diferene sunt datorate
deosebirilor majore dintre mediile n care opereaz protocoalele, aa cum rezult din Fig. 6-7. La
nivelul legturii de date, cele dou rutere comunic direct printr-un canal fizic, n timp ce la nivelul
transport acest canal fizic este nlocuit de ntreaga subreea. Aceast deosebire are mai multe
implicaii importante pentru protocoale.

Ruter Ruter Subreea

Canal fizic de
comunicare

(a) (b)

Fig. 6-7. (a) Mediul pentru nivelul legtur de date. (b) Mediul pentru nivelul transport.

n cazul legturii de date, pentru un ruter nu trebuie specificat cu care alt ruter vrea s comunice,
deoarece fiecare linie specific n mod unic o destinaie. In schimb, n cazul nivelului transport este
necesar adresarea explicit.
n plus, procesul stabilirii unei conexiuni prin cablul din Fig. 6-7(a) este simplu: cellalt capt este
ntotdeauna acolo (n afar de cazul n care nu a 'czut') i n nici unul din cazuri nu sunt prea multe
de fcut. Pentru nivelul transport ns, stabilirea iniial a conexiunii este mult mai complicat, aa
cum vom vedea.
O alt diferen ntre nivelurile legtur de date i transport, care genereaz multe probleme,
este existena potenial a unei capaciti de memorare a subreelei. Atunci cnd un ruter trimite un
cadru (nivel legtur de date),, acesta poate s ajung sau poate s se piard, dar nu poate s se
plimbe un timp ajungnd pn la captul lumii i s se ntoarc 30 de secunde mai trziu, ntr-un
moment nepotrivit. Dac subreeaua folosete datagrame i dirijare adaptiv, exist o posibilitate -
care nu poate fi neglijat - ca un pachet s fie pstrat pentru un numr oarecare de secunde i livrat
mai trziu. Consecinele acestei capaciti de memorare a subreelei pot fi uneori dezastruoase i
necesit folosirea unor protocoale speciale.
O ultim diferen ntre nivelurile legtur de date i transport este una de dimensionare i nu de
proiectare. Folosirea tampoanelor i controlul fluxului sunt necesare la amndou nivelurile, dar
prezena unui numr mare de conexiuni n cazul nivelului transport necesit o abordare diferit de
cea de la nivelul legtur de date. n capitolul 3, unele protocoale alocau un numr fix de tampoane
pentru fiecare linie, astfel nct atunci cnd sosea un cadru, exista ntotdeauna un tampon disponibil.
La nivel transport, numrul mare de conexiuni care trebuie s fie gestionate face ca ideea de a aloca
454 NIVELUL TRANSPORT CAP. 6

tampoane dedicate s fie mai puin-atractiv. In urmtoarele seciuni, vom examina att aceste
probleme importante ct i altele.

6.2.1 Adresarea

Atunci cnd un proces aplicaie dorete s stabileasc o conexiune cu un proces aflat la distan,
el trebuie s specifice cu care proces dorete s se conecteze. (La protocoalele de transport
neorientate pe conexiune apare aceeai problem: cui trebuie trimis mesajul?). Metoda folosit n
mod normal este de a defini adrese de transport la care procesele pot s atepte cereri de conexiune.
n Internet acestea sunt perechi: adresa IP - port local; n schimb la reelele ATM perechile sunt
AAL - SAP. n continuare vom folosi pentru acestea termenul neutru TSAP (Transport Service
Access Point - punct de acces la serviciul de transport). Punctele similare n cazul nivelului reea
(adic adresele la nivel reea) sunt numite NSAP (Network Service Access Point). Adresele IP sunt
exemple de NSAP-uri.
Fig. 6-8 ilustreaz relaia ntre TSAP, NSAP, conexiunile reea i conexiunile transport pentru o
subreea orientat pe conexiune (de exemplu, ATM). Trebuie reinut c, n general, o entitate de
transport susine mai multe TSAP-uri. n unele reele exist mai multe NSAP-uri, dar n altele
fiecare main are un singur NSAP (de exemplu, o singur adres IP). Un scenariu posibil pentru
stabilirea unei conexiuni la nivel transport ntr-o reea orientat pe conexiune este urmtorul.

1. Un proces server care furnizeaz ora exact i care ruleaz pe gazda 2 se ataeaz la TSAP
122 ateptnd un apel. Felul n care un proces se ataeaz la un TSAP nu face parte din
modelul de reea i depinde numai de sistemul de operare local. Poate fi utilizat un apel de
tip LISTEN din capitolul precedent.
2. Un proces aplicaie de pe gazda 1 dorete s afle ora exact; atunci el genereaz un apel
CONNECT specificnd TSAP 6 ca surs i TSAP 122 ca destinaie.
3. Entitatea de transport de pe gazda 1 selecteaz o adres de reea de pe propria main
(dac exist mai mult de una) i stabilete o conexiune reea. (La o subreea neorientat pe
conexiune nu s-ar face stabilirea acestei conexiuni la nivel reea). Folosind conexiunea la
nivel reea, entitatea de transport de la nivelul 1 poate s comunice cu entitatea de transport
de pe gazda 2.
4. Primul lucru pe care entitatea de transport de pe 1 l spune perechii sale de pe 2 este:
Salut, a dori s stabilim o conexiune transport ntre TSAP 6 la mine i TSAP 122 la
tine. Ce zici?"
5. Entitatea de transport de pe 2 ntreab serverul de or exact la TSAP 122 dac consimte s
accepte o nou conexiune. Dac da, conexiunea transport este stabilit.

Trebuie reinut c, la nivel transport, conexiunea leag un TSAP de altul, n timp ce conexiunea
reea leag dou NSAP-uri.
Figura 6-8 explic aproape tot, cu excepia unei mici probleme: cum tie procesul utilizator de pe
maina 1 c serverul de or exact este ataat la TSAP 122? O posibilitate este ca acest server de or
exact s se ataeze la TSAP 122 de ani de zile i, cu timpul, toi utilizatorii au aflat acest lucru. n
acest model serviciile au adrese TSAP fixe, care pot fi tiprite i date utilizatorilor noi atunci cnd
acetia intr n reea.
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 455

Dar schema cu adrese de servicii fixe poate s funcioneze doar pentru un numr mic de
servicii cheie, a cror adres nu se schimb niciodat. ns, n general procesele utilizator vor
s comunice cu alte procese care exist numai pentru scurt timp i nu au o adres TSAP

dinainte cunoscut. Pe de alt parte, pot exista mai multe procese server, majoritatea utilizate
foarte rar, i ar fi neeconomic ca fiecare s fie activ i s asculte la o adres TSAP fix tot
timpul. Pe scurt, este necesar o soluie mai bun.

Gazda 1 Gazda 2

Proces s~\ TSAP 6 Nivel r\


aplicaie vv / aplicaie V ^ S e r v e r

nceputul \ nceputul
Nivel VsAP 122
conexiunii conexiunii
transport
reea transport
i
y
^NSAP Nivel NSAP
reea

Nivel
legtur
de date

Nivel
fizic
Fizic

Fig. 6-8. TSAP, NSAP i conexiunile corespunztoare.

O astfel de soluie, utilizat de gazdele UNIX de pe Internet este prezentat n Fig. 6-9, ntr-o
form simplificat. Ea este cunoscut ca protocolul de conectare iniial. n loc ca orice server s
asculte la un TSAP fixat, fiecare main care dorete s ofere servicii utilizatorilor aflai la distan
are un server de procese (process server) special care acioneaz ca un intermediar pentru toate
serverele mai puin utilizate. El ascult n acelai timp la un numr de porturi, ateptnd o cerere de
conexiune TCP. Utilizatorii poteniali ai serviciului ncep prin a face o cerere de conexiune,
specificnd adresa TSAP (portul TCP) a serviciului pe care l doresc. Dac nu exist un server care
s atepte conexiuni la acel port, ele obin o conexiune la serverul de procese, ca n Fig. 6-9 (a).
Dup ce primete cererea, serverul de procese d natere serverului cerut, permindu-i s
moteneasc conexiunea cu procesul utilizator. Noul server execut prelucrarea cerut, n timp ce
serverul de procese continu s atepte noi cereri, ca n Fig. 6-9 (b).
n timp ce acest protocol funcioneaz bine pentru serverele care pot fi create ori de cte ori este
nevoie de ele, exist mai multe situaii n care serviciile exist independent de serverul de procese.
De exemplu, un server de fiiere va rula folosind un hardware specializat (o maina cu disc) i nu
poate fi creat din mers.
456 NIVELUL TRANSPORT CAP. 6

Pentru a trata; aceast situaie, este des utilizat o soluie alternativ. n acest model exist un
proces special numit server de nume (name server sau, uneori, directory server). Pentru a gsi
adresa TSAP corespunztoare unui serviciu dat prin nume, aa cum este ora exact", utilizatorul
stabilete o conexiune cu serverul de nume (care ateapt mesaje la un TSAP cunoscut). Apoi
utilizatorul trimite un mesaj specificnd numele serviciului, iar serverul de nume i trimite napoi
adresa TSAP a acestuia. Dup aceasta, utilizatorul elibereaz conexiunea cu serverul de nume i
stabilete o nou conexiune cu serviciul dorit.

Gazda 1 Gazda 2 Gazda 1 Gazda 2

/Serven
pentru
l ora /
Nivel
Server dev--K
procese

/
TSAP

(a) (b)

Fig. 6-9. Stabilirea unei conexiuni ntre calculatorul gazd 1 i serverul


pentru ora exact.

n acest model, atunci cnd este creat un nou serviciu, el trebuie s se nregistreze singur la
serverul de iume, furniznd att numele serviciului oferit (n general un ir ASCII) ct i adresa
TSAP. Serverul de nume nregistreaz aceast informaie ntr-o baz de date intern, astfel nct el
va ti rspunsul atunci cnd vor sosi noi cereri.
Funcionarea serverului de nume este asemntoare cu serviciul de informaii de la un
sistem telefonic: este furnizat corespondena dintre nume i numere de telefon. Ca i n cazul
telefoanelor, este necesar s se foloseasc o adres bine cunoscut pentru serverul de nume.
Dac nu tii numrul de la informaii, nu poi afla nici un alt numr de telefon, iar dac crezi
c numrul de la informaii este evident pentru toi, ncearc s-1 foloseti i n alt ar!
S presupunem acum c utilizatorul a reuit s gseasc adresa TSAP-ului la care vrea s se
conecteze. O alt ntrebare interesant este: cum tie entitatea de transport local pe care
main se gsete acel TSAP? Mai precis, cum afl entitatea de transport ce adres la nivel
reea s foloseasc pentru a iniia o conexiune cu entitatea de transport aflat la distan care
administreaz TSAP-ul cerut?
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 457

Rspunsul depinde de structura adreselor TSAP. O posibilitate este ca adresele TAP s;fe
structurate ierarhic. n acest caz, o adres const dintr-o secven de cmpuri utilizate n aa fel,
nct s partiioneze disjunct spaiul de adrese. De exemplu, o adres cu adevrat universal ar putea
avea urmtoarea structur:

adres= <galaxie><stea><planet><ar><reea><calculator_gazd><port>

Utiliznd aceast schem, gsirea TSAP-ului dorit oriunde n univers este evident. La fel, dac
adresa TSAP este obinut prin concatenarea adresei NSAP i a unui identificator de port, atunci,
furnizndu-i-se entitii de transport o adres TSAP la care s se conecteze, ea va utiliza adresa
NSAP pentru a ajunge la entitatea de transport dorit.
Ca un exemplu simplu de adresare ierarhic, s considerm numrul de telefon 19076543210.
Acest numr poare fi citit ca 1-907-654-3210 unde 1 este codul de ar (Statele Unite), 907 este
prefixul regiunii (Alaska), 654 determin una din centralele din Alaska, iar 3210 determin un port
(linie abonat) n aceast central.
Alternativa spaiului de adrese ierarhic este un spaiu de adrese plat Dac adresele TSAP nu
sunt ierarhice, atunci un al doilea nivel de coresponden este necesar pentru a determina maina
indicat. Ar trebui s existe un server de nume care s primeasc adrese de la nivel transport i s
ntoarc adrese la nivel reea. n alte situaii ns (de exemplu, n reele locale) este posibil s se
difuzeze un mesaj, care i cere mainii destinaie s se identifice ea nsi prin trimiterea unui pachet.

6.2.2 Stabilirea unei conexiuni

Stabilirea unei conexiuni poate s par uoar dar, n realitate, este surprinztor de complicat.
La prima vedere, ar prea suficient ca o entitate de transport s trimit numai un TPDU
CONNECTION REQUEST i s atepte replica CONNECTION ACCEPTED . Problema apare
deoarece reeaua poate pierde, memora sau duplica pachete.
Putem imagina o subreea care este att de congestionat nct confirmrile ajung greu napoi, i,
din aceast cauz, fiecare pachet ajunge s fie retransmis de cteva ori. Putem presupune c
subreeaua folosete datagrame i fiecare pachet urmeaz un traseu diferit. Unele pachete pot s
ntlneasc o congestie local de trafic i s ntrzie foarte mult, ca i cum ar fi fost memorate de
subreea un timp i eliberate mai trziu.
Cel mai neplcut scenariu ar fi: un utilizator stabilete o conexiune cu o banc i trimite un mesaj
cernd transferul unei sume de bani n contul unei alte persoane n care nu poate avea ncredere.
Din nefericire, fiecare pachet din acest scenariu este duplicat i memorat n subreea. Dup ce
conexiunea a fost eliberat, pachetele memorate ies din subreea i ajung la destinatar, cernd bncii
s fac transferul (nc o dat). Banca nu poate s decid dac acestea sunt duplicate, ea trebuie s
presupun c este o tranzacie independent i va transfera banii nc o dat. n continuarea acestei
seciuni, vom studia problema duplicatelor ntrziate, punnd accentul n mod special pe algoritmii
pentru stabilirea sigur a conexiunilor, astfel nct scenarii ca cel de mai sus s nu poat s apar.
Dup cum am mai spus, punctul crucial al problemei este existena duplicatelor ntrziate.
El poate fi tratat n mai multe feluri, dar nici unul nu este ntr-adevr satisfctor. O
posibilitate este de a utiliza adrese de transport valabile doar pentru o singur utilizare. n
aceast abordare, ori de cte ori este necesar o adres la nivel transport, va fi generat una
458 NIVELUL TRANSPORT CAP. 6

nou. Dup ce conexiunea este eliberat, adresa nu mai este folosit. Acest mecanism face
ns modelul cu server de procese din Fig. 6-9 imposibil.
O alt posibilitate este de a atribui fiecrei conexiuni un identificator (adic, un numr de
secven incrementat pentru fiecare conexiune stabilit), ales de cel care iniiaz conexiunea, i pus
n fiecare TPDU, inclusiv n cel care iniiaz conexiunea. Dup ce o conexiune este eliberat, fiecare
entitate de transport va completa o tabel cu conexiunile care nu mai sunt valide (perechi entitate de
transport, identificator conexiune). Ori de cte ori apare o cerere de conexiune se va verifica n
tabel c ea nu aparine unei conexiuni care a fost eliberat anterior.
Din nefericire, aceast schem are un defect important: ea necesit ca fiecare entitate de
transport s menin informaia despre conexiunile precedente un timp nedefinit. Dac o
main cade i i pierde datele din memorie, ea nu va mai ti care identificatori de conexiune
au fost deja utilizai.
Putem ncerca i o alt soluie. n loc s permitem pachetelor s triasc la nesfrit n subreea,
putem inventa un mecanism care s elimine pachetele mbtrnite. Dac suntem siguri c nici un
pachet nu poate s supravieuiasc mai mult de un anume interval de timp cunoscut, problema
devine ceva mai uor de rezolvat.
Durata de via a pachetelor poate fi limitat la un maxim cunoscut, folosind una din
urmtoarele tehnici:

1. Restricii n proiectarea subreelei


2. Adugarea unui contor al nodurilor parcurse n fiecare pachet
3. Adugarea unei amprente de timp la fiecare pachet

Prima metod include soluiile care mpiedic pachetele s stea n bucl, combinate cu
modaliti de a limita ntrzierile datorate congestiilor, pe orice cale din reea (indiferent de
lungime). A doua metod const n a aduga la fiecare pachet un contor incrementat la
trecerea prin orice nod. Protocolul de nivel legtur de date pur i simplu elimin pachetele al
cror contor a depit o anumit valoare. A treia metod necesit ca ceasurile de la fiecare
ruter s fie sincronizate, i aceast cerin n sine este destul de greu de ndeplinit (mai uor
este dac sincronizarea ceasurilor se obine din exteriorul reelei, de exemplu toate staiile
ascult periodic ora exact transmis la radio).
In practic, nu este suficient doar s garantm c pachetul este eliminat, ci trebuie garantat
i c toate confirmrile sale au fost eliminate, astfel nct vom introduce T, care va fi un
multiplu (mic) al duratei maxime de via a unui pachet. Depinde de protocol de cte ori T
este mai mare dect durata de via a unui pachet. Dac ateptm un timp T dup trimiterea
unui pachet putem fi siguri c toate urmele sale au disprut i nici el, nici vreo confirmare de-a
sa nu vor aprea din senin, doar ca s complice lucrurile.
Folosind durata de via limitat a pachetelor, exist metode de a obine conexiuni sigure a
cror corectitudine a fost demonstrat. Metoda descris n cele ce urmeaz este datorat lui
Tomlinson (1975). Ea rezolv problema, dar introduce cteva particulariti proprii. Metoda a
fost mbuntit de Sunshine i Dalai (1978). Variante ale sale sunt mult folosite n practic.
Pentru a ocoli problemele generate de pierderea tuturor datelor din memoria unei maini dup
o cdere, Tomlinson propune echiparea fiecrei maini cu un ceas. Nu este nevoie ca ceasurile de pe
maini diferite s fie sincronizate. Fiecare ceas va fi de fapt un contor binar care se
fsEG.6.2 NOIUNI DE BAZ DESPR1PROTOGOALEEE DE TRANSPORT 459

L, ^giacrementeaz dup un anumit interval de timp. n plus, numrul de bii aijcontorului trebuie s
* fie cel puin egal cu numrul de bii al numerelor de secven. n cele din urm, i cei mai important,
- ceasul trebuie s continue s funcioneze chiar n cazul n care calculatorul gazd cade.
' Ideea de baz este de a fi siguri c dou TPDU numerotate identic nu pot fi generate n acelai
timp. Atunci cnd conexiunea este iniiat, k bii mai puin semnificativi ai ceasului sunt folosii ca
numr iniial de secven (tot k bii). Astfel, fiecare conexiune ncepe s-i numeroteze TPDU-urile
sale cu un numr de secven diferit. Spaiul numerelor de secven ar trebui s fie suficient de mare
pentru ca, n timpul scurs pn cnd contorul ajunge din nou la acelai numr, toate TPDU-urile
vechi cu acel numr s fi disprut deja. Aceast relaie ntre timp i numrul de secven iniial este
explicat n Fig. 6-10. V

2-1
Mesaj im
i *
refuzat %
120
Numer e de secver

3 80 // Numere de
70 secven folosite
Repornire dup efectiv
| 60
3 cdere cu numr
Z de secven 70

') /
30
. 1 1 I 1
60 90 120 150 180
Timp Timp
(a) (b)

Fig. 6-10. (a)TPDU-urile nu pot s intre n regiunea haurat.


(b)Problema resincronizrii.

Odat ce ambele entiti de transport au czut de acord asupra numrului de secven


iniial, pentru controlul fluxului poate fi folosit orice protocol cu fereastr glisant. n realitate
curba ce reprezint numrul iniial de secven (desenat cu linie ngroat) nu este chiar
liniar, ci n trepte, cci ceasul avanseaz n trepte. Pentru simplitate, vom ignora acest detaliu.
O problem apare atunci cnd cade un calculator gazd. Cnd el i revine, entitatea sa de
transport nu tie unde a rmas n spaiul numerelor de secven. Q soluie este de a cere
entitii de transport s stea neoeupat T secunde dup revenire pentru ca n acest timp toate
vechile TPDU s dispar. Totui, ntr-o reea complex T poate fi destul de mare, astfel c
aceast strategie nu este prea atrgtoare.
Pentru a evita cele T secunde de timp nefolosit dup o cdere, este necesar s introducem o nou
restricie n utilizarea numerelor de secven. Necesitatea introducerii acestei restricii este evident
n urmtorul exemplu. Fie T, timpul maxim de via al unui pachet, egal cu 60 de secunde i s
presupunem c ceasul este incrementat la fiecare secund. La fel ca n Fig. 6-10, numrul iniial de
secven pentru o conexiune iniiat la momentul* estex. S ne imaginm c la t=30 sec, un TPDU
este trimis pe conexiunea cu numrul 5 i cu numrul de secven 80, S numim acest TPDU X
Imediat dup ce X este trimis, calculatorul gazd cade i revine imediat. La =60 el redeschide
460 NIVELUL TRANSPORT CAP.S

conexiunile de la 0 la 4. La t=70, el deschide conexiunea 5, folosind un numr de secven iniial 70,


aa cum am stabilit. n urmtoarele 15 secunde el va transmite TPDU-uri cu date numerotate de la
70 la 80. Astfel c la t=85, n subreea este generat un nou TPDU cu numrul de secven 80 i
conexiunea 5. Din nefericire, TPDU X nc mai exist. Dac el ajunge naintea noului TPDU 80,
atunci TPDU Xva fi acceptat i TPDU-ul corect va fi respins ca fiind un duplicat.
Pentru a preveni o astfel de problem trebuie s lum msuri ca numerele de secven s nu fie
utilizate (adic atribuite unor noi TPDU-uri) un timp T naintea utilizrii lor ca noi numere de
secven. Combinaiile imposibile - timp, numr de secven - sunt prezentate n Fig. 6-10(a) ca
regiunea interzis. nainte de trimiterea oricrui TPDU pe orice conexiune, entitatea de transport
trebuie s citeasc ceasul i s verifice dac nu cumva se afl n regiunea interzis.
Pot s apar probleme n dou cazuri: dac un calculator gazd trimite prea multe date i prea
repede pe o conexiune nou deschis, curba numrului de secven n funcie de timp poate s fie
mult mai abrupt dect cea iniial. Aceasta nseamn c rata de transmisie pentru orice conexiune
este de cel mult un TPDU pe unitatea de timp a ceasului. De asemenea, este necesar ca entitatea de
transport s atepte pn cnd ceasul avanseaz o dat, nainte s deschid o nou conexiune pentru
ca, la revenirea dup o cdere, acelai numr de secven s nu fie utilizat de dou ori. Cele dou
observaii de mai sus sunt argumente pentru ca perioada ceasului s fie ct mai mic.
Din nefericire, intrarea n regiunea interzis prin trimitere prea rapid nu este singura situaie
care creeaz probleme. Fig. 6-10(b) arat c la orice rat de transfer mai mic dect frecvena
ceasului curba numerelor de secven utilizate raportat la timp va ajunge pn la urm n regiunea
interzis din dreapta. Cu ct curba numerelor de secven utilizate va fi mai nclinat, cu att mai
trziu se ajunge n regiunea interzis. Aa cum am afirmat anterior, imediat naintea trimiterii unui
TPDU, entitatea de transport trebuie s verifice dac nu se afl cumva n regiunea interzis, i, dac
se afl, s ntrzie transmisia cu T secunde sau s resincronizeze numerele de secven.
Metodele bazate pe ceasuri logice rezolv problema pentru TPDU-urile de date duplicatelor
ntrziate, dar pentru ca aceste metode s poat fi folosit, trebuie mai nti s stabilim conexiunea.
Deoarece TPDU-urile de control pot i ele s fie ntrziate, pot aprea probleme atunci cnd
entitile de transport ncerc s cad de acord asupra numrului iniial de secven. S
presupunem, de exemplu, c, pentru a stabili o conexiune, gazda 1 trimite un mesaj CONNECTION
REQUEST coninnd numrul de secven iniial propus i portul destinaie gazdei 2. Acesta va
confirma mesajul trimind napoi un TPDU CONNECTION ACCEPTED . Dac TPDU-ul
CONNECTION REQUEST este pierdut, dar un duplicat ntrziat al unui alt CONNECTION
REQUEST va ajunge la gazda 2, atunci conexiunea nu va fi stabilit corect.
Pentru a rezolva aceasta problem, Tomlinson (1975) a introdus stabilirea conexiunii cu
nelegere n trei pai (three-way handshake). Acest protocol nu necesit ca ambele pri s nceap
s trimit acelai numr de secven, deci poate fi utilizat i mpreun cu alte metode de sincronizare
dect ceasul global. Procedura normal de iniiere a conexiunii este exemplificat n Fig. 6-ll(a).
Gazda 1 alege un numr de secven x i trimite un TPDU CONNECTION REQUEST care
conine x gazdei 2. Gazda 2 rspunde cu CONNECTION ACCEPTED, confirmnd x i anunnd
numrul su iniial de secven, y. n cele din urm gazda 1 confirm alegerea luiy gazdei 2 n primul
mesaj de date pe care l trimite.
Vom arunca acum o privire asupra stabilirii conexiunii cu nelegere n trei pai n prezena
TPDU-urilor de control duplicate. n Fig. 6-ll(b) primul TPDU sosit este o copie ntrziat a unui
CONNECnON REQUEST de la o conexiune mai veche. Gazda 2 rspunde acestui TPDU cu uri
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 461

CONNECTION ACCEPTED, verificnd de fapt c gazda 1 a ncercat ntr-adevr s stabileasc o


conexiune. Atunci cnd gazda 1 refuz cererea gazdei 2 de a stabili conexiunea, gazda 2 i d seama
c a fost pclit de o copie ntrziat i abandoneaz conexiunea. n acest fel o copie ntrziat nu
poate s strice nimic.

Gazda 1 Gazda 2 Gazda 1 Gazda 2


Duplicat vechi

Gazda1 Gazda 2

Duplicat vechi

Duplicat vechi

^cr
% V)

(O
r
Fig. 6-11. Trei scenarii posibile de stabilire a conexiunii pentru un protocol cu nelegere n trei
pai. CR i ACK reprezint CONNECTION REQUEST i, respectiv, CONNECTION
ACCEPTED (a) Cazul normal, (b) Un duplicat vechi al unui mesaj CONNECTION
REQUEST apare cnd nu trebuie, (c) Sunt duplicate att CONNECTION REQUEST
ct i CONNECTION ACCEPTED.

n cel mai ru caz, att CONNECTION REQUEST ct i CONNECTION ACCEPTED


sunt copii ntrziate. Acest caz este prezentat n 6-1 l(c). Ca i n exemplul precedent, gazda 2
primete o CONNECTION REQUEST ntrziat i rspunde la ea. n acest moment este
462 NIVELULTRANSPORT CAP. 6

extrem de important s ne aducem aminte c gazda 2 a propus y ca numr iniial de secven


pentru traficul de la 2 la 1, fiind sigur c nu mai exist n reea nici un TPDU (sau confirmare)
cu acelai numr de secven. Atunci cnd confirmarea duplicat ajunge la gazda 2, aceasta
deduce, din faptul c a fost confirmat z i nu y, c are de-a face cu o copie mai veche.
Important este c nu exist nici o combinaie posibil ale unor copii vechi ale TPDU-urilor
CONNECTION REQUEST, CONNECTION ACCEPTED sau altor TPDU-uri ntrziate
care s reueasc s iniieze o conexiune atunci cnd nimeni nu a cerut asta.
O schem alternativ pentru stabilirea sigur a conexiunii n prezena copiilor ntrziate este
descris de (Waston, 1981). n aceast schem se folosesc mai multe ceasuri pentru a putea exclude
evenimentele nedorite.

6.23 Eliberarea conexiunii

Eliberarea unei conexiuni este mai uoar dect stabilirea ei. Totui, exist mai multe dificulti
dect ne-am atepta. Aa cum am mai amintit, exist dou moduri de a termina o conexiune:
eliberare simetric i eliberare asimetric. Sistemul telefonic folosete eliberarea asimetric: atunci
cnd unul din interlocutori nchide, conexiunea este ntrerupt. Eliberarea simetric privete
conexiunea ca pe dou conexiuni separate unidirecionale i cere ca fiecare s fie eliberat separat.

Gazda 1 Gazda 2

a
E
P

Datele nu mai
sunt livrate dup
o cerere de deconetare

Fig. 6-12. Deconectare brusc cu pierdere de date. CR= CONNECTION REQUEST,


ACK= CONNECTION ACCEPTED, DR=DISCONNECT REQBEST.

Eliberarea asimetric este brusc i poate genera pierderi de date. S considerm scenariul
din Fig. 6-12. Dup stabilirea conexiunii, gazda 1 trimite un TPDU care ajunge corect la gazda
2. Gazda 1 mai trimite un TPDU dar, nainte ca acesta s ajung la destinaie, gazda 2 trimite
DISCONNECT REQUEST. n acest caz, conexiunea va fi eliberat i vor fi pierdute date.
Evident, pentru a evita pierderea de date, este necesar un protocol de eliberare a conexiunii mai
sofisticat. O posibilitate este utilizarea eliberrii simetrice: fiecare direcie este eliberat independent
de cealalt; un calculator gazd poate s continue s primeasc date chiar i dup ce a trimis un
TPDU de eliberare a conexiunii.
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 463

Eliberarea simetric este util atunci cnd fiecare proces are o cantitate fix d& date de trimis i
tie bine cnd trebuie s transmit i cnd a terminat. In alte situaii ns, nu este deloc uor de
determinat cnd trebuie eliberat conexiunea i cnd a fost trimis tot ce era de transmis. S-ar putea
avea n vedere un protocol de tipul urmtor: atunci cnd 1 termin, trimite ceva de tipul: Am
terminat. Ai terminat i tu?" Dac gazda 2 rspunde: Da, am terminat. nchidem!" conexiunea
poate fi eliberat n condiii bune.
Din nefericire, acest protocol nu merge ntotdeauna. Binecunoscuta problem a celor dou
armate este similar acestei situaii: s ne imaginm c armat alb i-a pus tabra ntr-o vale (ca n
Fig. 6-13) Pe amndou crestele care mrginesc valea sunt armatele albastre. Armata alb este mai
mare dect fiecare din cele dou armate albastre, dar mpreun armatele albastre sunt mai
puternice. Dac oricare din armatele albastre atac singur, ea va fi nfrnt, dar dac ele atac
simultan, atunci vor fi victorioase.

Armata
albastr #2

Fig. 6-13. Problema celor dou armate.

Armatele albastre vor s-i sincronizeze atacul. Totui singura lor posibilitate de comunicaie
este s trimit un mesager care s strbat valea. Mesagerul poate fi capturat de armata alb i
mesajul poate fi pierdut (adic vor trebui s utilizeze un canal de comunicaie nesigur). Problema
este urmtoarea: exist vreun protocol care s permit armatelor albastre s nving?
S presupunem c comandantul primei armate albastre trimite un mesaj: Propun s atacam pe
29 martie", mesajul ajunge la armata 2 al crei comandant rspunde: De acord" iar rspunsul
ajunge napoi la armata 1. Va avea loc atacul n acest caz? Probabil c nu, deoarece comandantul
armatei 2 nu tie dac rspunsul su a ajuns sau nu la destinaie.
S ncercm s mbuntim protocolul adugndu-i nc un pas: iniiatorul propunerii de
atac trebuie s confirme rspunsul. Presupunnd c nici un mesaj nu este pierdut, armata 2 va
avea confirmarea, dar comandantul armatei 1 va ezita acum. nainte de orice, el nu tie dac
confirmarea sa a ajuns la destinaie i este sigur c dac aceasta nu a ajuns, armata 2 nu va
ataca. Am putea s ncercm un protocol cu confirmare n patrii timpi, dar ne-am lovi de
aceleai probleme.
464 NIVELUL TRANSPORT CAP. 6

De fapt, poate fi demonstrat c nu exist un protocol care s funcioneze. S presupunem c ar


exista un asemenea protocol: decizia final poate s depind sau nu de ultimul mesaj al unui
asemenea protocol. Dac nu depinde, putem elimina acest mesaj (i oricare altul la fel) pn
ajungem la un protocol n care orice mesaj este vital. Ce se va ntmpla dac ultimul mesaj este
interceptat? Tocmai am hotrt c acest mesaj era unul vital, deci dac este pierdut, atacul nu va
avea loc. Deoarece cel care trimite ultimul mesaj nu poate fi niciodat sigur c mesajul a ajuns, el nu
va risca atacnd. Mai ru chiar, cealalt armat albastr tie i ea acest lucru, deci nu va ataca nici ea.
Pentru a vedea legtura problemei celor dou armate cu problema eliberrii conexiunii
este suficient s nlocuim 'atac' cu 'deconectare'. Dac niciuna din pri nu se deconecteaz
pn nu este sigur c cealalt parte este gata s se deconecteze la rndul ei, atunci
deconectarea nu va mai avea loc niciodat.
n practic suntem dispui s ne asumm mai multe riscuri atunci cnd este vorba de eliberarea
conexiunii dect atunci cnd este vorba de atacarea armatei albe, aa nct situaia nu este ntru totul
fr speran. Fig. 6-14 prezint patru scenarii de eliberare a conexiunii folosind un protocol cu
confirmare n trei timpi. Dei acest protocol nu este infailibil, el este n general adecvat.
n Fig. 6-14(a) apare cazul normal n care unul dintre utilizatori trimite un TPDU
DISCONNECT REQUEST pentru a iniia eliberarea conexiunii. Atunci cnd acesta sosete,
receptorul trimite napoi tot DISCONNECT REQUEST i pornete un ceas pentru a trata cazul n
care mesajul su este pierdut. Cnd primete mesajul napoi, iniiatorul trimite o confirmare i
elibereaz conexiunea. n sfrit, la primirea confirmrii, receptorul elibereaz i el conexiunea.
Eliberarea conexiunii nseamn de fapt c entitatea de transport terge din tabelele sale informaia
despre conexiunea respectiv i semnaleaz acest lucru utilizatorului nivelului transport.
Dac ultima confirmare este pierdut, ca n Fig. 6-14(b), putem salva situaia cu ajutorul
ceasului: dup scurgerea unui anumit interval de timp conexiunea este eliberat oricum.
S considerm acum cazul n care cel de-al doilea TPDU DISCONNECT REQUEST este
pierdut: utilizatorul care a iniiat deconectarea nu va primi rspunsul ateptat, va atepta un
anumit timp i va trimite din nou un DISCONNECT REQUEST. n Fig. 6-14(c), putem vedea
cum se petrec lucrurile n acest caz, presupunnd c la a doua ncercare toate TPDU-urile
ajung corect i la timp.
Ultima posibilitate pe care o studiem, prezentat n Fig. 6-14(d), este similar cu cea din 6-14(c),
cu urmtoarea diferen: de aceasta dat niciuna din ncercrile urmtoare de a retransmite
DISCONNECT REQUEST nu reuete. Dup N ncercri, emitorul va elibera pur i simplu
conexiunea. n acelai timp, i receptorul va elibera conexiunea dup expirarea timpului.
Dei acest protocol este, n general, destul de bun, n teorie el poate s dea gre dac dau gre
att mesajul DISCONNECT REQUEST iniial ct i N retransmisii ale sale: n acest caz emitorul
va elibera conexiunea, n timp ce la cellalt capt conexiunea va rmne n continuare activ. n
aceasta situaie rezult o conexiune deschis pe jumtate.
Am putea evita aceast problem nepermind emitorului s cedeze dup N rencercri
nereuite, ci cerndu-i s continue pn primete un rspuns. Totui, dac celeilalte pri i se
permite s elibereze conexiunea dup un interval de timp, este posibil ca iniiatorul s ajung s
atepte la infinit. Dac ns nu s-ar permite eliberarea conexiunii dup expirarea unui interval de
timp, atunci n cazul din Fig. 6-14 (b) protocolul s-ar bloca.
SEC 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 465

Gazda 2 Gazda 1 Gazda 2


Trimite DR Trimite DR
+pornire ceas +pornire ceas

Trimite DR Trimite DR
+pornire ceas +pornire ceas

Eliberare Eliberare
conexiune conexiune

Trimite ACK
"
Eliberare Trimite ACK
conexiune Expirarea
timpului
Eliberare
conexiune
(a) (b)

Gazda 1 Gazda 2 Gazda 1 Gazda 2


Trimite DR
Trimite DR
+pornire ceas Trimite DR &
+pornire ceas Trimite DR &
pornire ceas
pornire ceas
(Expirarea " ^ e r d u t | r
timpului) (Expirarea
timpului)
trimite DR Trimite DR & A
1 I I I * V m^ * v^%
+pornire ceas trimite DR
pornire ceas ^PierdutC
+pornire ceas
Eliberare
conexiune
u

u
Trimite ACK ACK (N Expirri (Expirarea
Eliberare de timp) timpului)
conexiune Eliberare Eliberare
conexiune conexiune
(O (d)

Fig. 6-14. Patru cazuri posibile la eliberarea conexiunii: (a)Cazul normal cu confirmare n trei
timpi. (b)Ultima confirmare este pierdut, (c) Rspunsul este pierdut.
(d) Rspunsul i urmtoarele cereri de deconectare sunt pierdute.
(DR=DISCONNECT REQUEST).

O alt posibilitate de a scpa de conexiunile pe jumtate deschise este de a aplica o regul de


tipul: dac nici un TPDU nu sosete ntr-un anumit interval de timp, atunci conexiunea este
eliberat automat. n acest fel, dac una din pri se deconecteaz, cealalt parte va detecta lipsa de
activitate i se va deconecta i ea. Desigur, pentru a implementa aceasta regul este nevoie ca fiecare
entitate de transport s aib un ceas cstre va fi fepornit la trimiterea oricrui TPDU. La expirarea
timpului, se transmite un TPDU vid, doar pentru a menine conexiunea deschis. Pe de alt parte,
466 NIVELUL TRANSPORT CAP. 6 i

dac este aleas aceast soluie, i cteva TPDU-uri vide sunt pierdute la rnd pe o conexiune altfel .;
liber, este posibil ca, mai nti una din pri, apoi cealalt s se deconecteze automat.
Nu vom mai continua s detaliem acest subiect, dar probabil c acum este clar c eliberarea unei
conexiuni nu este att de simpl cum prea la nceput.

6.2.4 Controlul fluxului i memorarea temporar (buffering)

Dup ce am studiat n detaliu stabilirea i eliberarea conexiunii, vom arunca o privire asupra
modului n care sunt tratate conexiunile ct timp sunt utilizate. Una din problemele cheie a aprut i
pn acum: controlul fluxului. La nivel transport exist asemnri cu problema controlului fluxului
la nivel legtur de date, dar exist i deosebiri. Principala asemnare: la ambele niveluri este
necesar un mecanism (fereastr glisant sau altceva) pentru a mpiedica un emitor prea rapid s
depeasc capacitatea de recepie a unui receptor prea lent. Principala deosebire: un ruter are n
general puine linii, dar poate s aib numeroase conexiuni. Aceast diferen face nepractic
implementarea la nivel transport a strategiei de memorare temporar a mesajelor folosit la nivel
legtur de date.
n protocoalele pentru legtura de-date prezentate n capitolul 3, cadrele sunt memorate
temporar att de rutenii care emite ct i de cel care recepioneaz. n protocolul 6, de exemplu, att
emitorul ct i receptorul au alocate un numr de MaxSeq+1 tampoane pentru fiecare linie,
jumtate pentru intrri i jumtate pentru ieiri. Pentru un calculator gazd cu, s spunem, 64 de
conexiuni i numere de secven de 4 bii, acest protocol ar necesita 1024 tampoane.
La nivel legtur de date, emitorul trebuie s memoreze cadrele transmise, pentru c poate fi
necesar retransmiterea acestora. Dac subreeaua ofer un serviciu datagram, atunci entitatea de
transport emitoare va trebui s memoreze pachetele trimise din aceleai motive. Dac receptorul
tie c emitorul stocheaz toate TPDU-urile pn cnd acestea sunt confirmate, el poate s aloce
sau nu tampoane specifice fiecrei conexiuni. Receptorul poate, de exemplu, s rezerve un singur
grup de tampoane pentru toate conexiunile. La sosirea unui TPDU se face o ncercare de a obine
dinamic un nou tampon. Dac un tampon este liber, atunci TPDU-ul este acceptat, altfel, este
refuzat. Cum emitorul este gata s retransmit TPDU-urile pierdute de subreea, faptul c unele
TPDU-uri sunt refuzate nu produce nici o daun, dei n acest fel sunt risipite resurse. Emitorul
va retransmite pn cnd va primi confirmarea.
Pe scurt, dac serviciul reea nu este sigur, emitorul va trebui s memoreze toate TPDU-
urile trimise, la fel ca la nivel legtur de date. Totui, folosind un serviciu la nivel reea sigur
sunt posibile unele compromisuri. n particular, dac emitorul tie c receptorul are
ntotdeauna tampoane disponibile, atunci nu trebuie s pstreze copiile TPDU-urilor trimise.
Totui, dac receptorul nu poate garanta c orice TPDU primit va fi acceptat, emitorul va
trebui s pstreze copii. n ultimul caz, emitorul nu poate avea ncredere n confirmarea
primit la nivel reea, deoarece aceasta confirm sosirea TPDU-ului la destinaie, dar nu i
acceptarea lui. Vom reveni asupra acestui punct important mai trziu.
Chiar dac receptorul va realiza memorarea temporar a mesajelor primite, mai rmne
problema dimensiunii tamponului. Dac cea mai mare parte a TPDU-urilor au aceeai dimensiune
este natural organizarea tampoanelor ntr-o resurs comun care conine tampoane de aceeai
dimensiune, cu un TPDU per tampon, ca n Fig. 6-15(a). Dac ns dimensiunea TPDU-urilor
variaz de la cteva caractere tiprite la un terminal, la mii de caractere pentru un transfer de fiiere,
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 467

organizarea ca o resurs comun cu tampoane de aceeai dimensiune va pune probleme. Dac


dimensiunea tampoanelor ar fi constant, egal cu cel mai mare TPDU posibil, atunci va aprea o
risip de spaiu ori de cte ori este primit un TPDU mai scurt. Dac dimensiunea tampoanelor este
aleas mai mic dect cel mai mare TPDU posibil, atunci pentru memorarea unui TPDU mai lung
vor fi necesare mai multe tampoane, iar complexitatea operaiei va crete.

TPDU1

TPDU 2

} TPDU 3

(a) (b)
>- TPDU 4
Spaiu
nefolosit

.\

(0

Fig. 6-15. (a) Tampoane de dimensiune fix nlnuite, (b) Tampoane de


dimensiune variabil nlnuite, (c) Un tampon circular pentru fiecare conexiune.

O alt soluie este utilizarea unor tampoane de dimensiune variabil, ca n Fig. 6-15(b).
Avantajul este o mai bun utilizare a memoriei, cu preul unei gestiuni a tampoanelor mai
complicat. O a treia posibilitate este alocarea unui singur tampon circular pentru fiecare conexiune,
ca n Fig. 6-15(c). Aceast soluie are de asemenea avantajul unei utilizri eficiente a memoriei, dar
numai n situaia n care conexiunile sunt relativ ncrcate.
Compromisul optim ntre memorarea temporar la surs sau la destinaie depinde de tipul
traficului prin conexiune. Pentru un trafic n rafal cu o band de transfer ngust, ca traficul produs
de un terminal interactiv, este mai bine ca tampoanele s nu fie prealocate, ci mai curnd, alocate
dinamic. ntruct emitorul nu poate s fie sigur c receptorul va reui s aloce un tampon la sosirea
unui pachet, emitorul va fi nevoit s rein copia unui TPDU transmis pn cnd acesta va fi
confirmat. Pe de alt parte, pentru un transfer de fiiere sau pentru orice alt trafic care necesit o
band de transfer larg este mai bine dac receptorul aloc un set ntreg de tampoane, pentru a
permite urr flux de date la vitez maxim. Cu alte cuvinte, pentru un trafic n rafal cu o band de
transfer ngust este mai bine s fie folosite tampoane la emitor, n timp ce pentru un trafic
continuu cu o band de transfer larg, este mai eficient folosirea tampoanelor la receptor.
468 NIVELUL TRANSPORT CAP. 6

Pe msur ce conexiunile sunt create i eliberate de trafic, iar ablonul se schimb,


emitorul i receptorul trebuie s i ajusteze dinamic politica de alocare a tampoanelor. n
consecin, protocolul de transport trebuie s permit emitorului s cear spaiu pentru
tampoane la captul cellalt al conexiunii. Tampoanele pot fi alocate pentru o anumit
conexiune sau pot fi comune pentru toate conexiunile ntre dou calculatoare gazd. O
alternativ este ca receptorul, cunoscnd situaia tampoanelor sale (dar necunoscnd ablonul
traficului) s poat spune emitorului: Am rezervat X tampoane pentru tine". Dac numrul
conexiunilor deschise trebuie s creasc, poate fi necesar ca spaiul alocat unei singure
conexiuni s scad, deci protocolul trebuie s furnizeze i aceast facilitate.
O modalitate neleapt de a trata alocarea dinamic a tampoanelor este separarea stocrii n
tampoane de confirmarea mesajelor, spre deosebire de protocolul cu fereastr glisant din capitolul
3. Alocarea dinamic a tampoanelor nseamn, de fapt, o fereastr cu dimensiune variabil. La
nceput, emitorul trimite cereri pentru un anumit numr de tampoane bazndu-se pe o estimare a
necesitilor. Receptorul aloc attea tampoane ct i poate permite. Emitorul compar constant
numrul de TPDU-uri trimise (i neconfirmate) cu numrul de tampoane alocate la receptor i se
blocheaz n caz c ar trebui s depeasc acest numr. Receptorul trimite napoi confirmri i
situaia tampoanelor alocate, mpreun cu traficul n sens invers.
Fig. 6-16 este un exemplu pentru modul n care administrarea dinamic a ferestrelor poate fi
folosit ntr-o subreea cu datagrame, cu un numr de secven pe 4 bii. S presupunem c
informaia despre alocarea tampoanelor este mpachetat n TPDU-uri distincte i c este separat
de traficul n sens invers. La nceput A dorete opt tampoane, dar nu i se acord dect patru. Dup
aceea sunt trimise trei TPDU-uri, iar al treilea este pierdut. TPDU-ul 6 confirm recepia tuturor
TPDU-urilor cu numere de secven mai mici sau egale cu 1, permind lui A s elibereze acele
tampoane i, mai mult, l informeaz pe A c B poate s mai recepioneze trei TPDU-uri (adic
TPDU-urile cu numere de secven 2,3,4). A tie c a trimis deja numrul 2, deci se gndete c ar
putea trimite 3 i 4, ceea ce i ncearc s fac. n acest moment, el este blocat i trebuie s atepte
alocarea unui tampon. Expirarea timpului pentru primirea confirmrii determin retransmisia
mesajului 2 (linia 9), care poate avea loc, dei emitorul este blocat, deoarece se vor utiliza
tampoane deja alocate. n linia 10, B confirm primirea tuturor TPDU-urilor pn la 4, dar l ine
pe A nc blocat. O astfel de situaie ar fi fost imposibil cu protocolul cu fereastr glisant prezentat
n capitolul 3. Urmtorul TPDU de la B la A aloc nc un tampon i i permite lui A s continue.
n cazul strategiilor pentru alocarea tampoanelor de tipul celei de mai sus, eventuale probleme
pot s apar n reele neorientate pe conexiune dac sunt pierdute TPDU-uri de control. S privim
linia 16 din Fig. 6-16: B a mai alocat tampoane pentru A, dar TPDU-ul care transmitea aceast
informaie a fost pierdut. Deoarece TPDU-urile de control nu sunt numerotate sau retransmise, A
va fi blocat. Pentru a preveni aceast situaie, fiecare calculator gazd trebuie s trimit periodic pe
fiecare conexiune TPDU-uri de control ce pot conine confirmri i informaii despre starea
tampoanelor. n acest fel, A va fi deblocat mai devreme sau mai trziu.
Pn acum am presupus tacit c singura limit impus ratei de transfer a emitorului este legat
de dimensiunea spaiului alocat la receptor pentru tampoane. Deoarece preul memoriei continu
s scad vertiginos, ar putea deveni posibil echiparea unei gazde cu suficient de mult memorie,
astfel nct lipsa tampoanelor s pun rar probleme, dac le va pune vreodat.
SEC. 6.2 NOTTUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 469

A Mesajul B Comentarii

1 < cere 8 tarnpoane> A cere 8 tampoane


2 <ack=15, buf=4> B l acord tampoane numai de la 0 la 3
3 -* <seq = 0, data = m0> A mai are 3 tampoane libere
4 <seq = 1,data = m1> A mai are 2 tampoane libere
5 <seq = 2, data = m2> Mesaj pierdut, dar A crede c mai are un
singur tampon liber
6 <ack= 1, buf = 3> * B confirm 0 i 1 i permite 2-4
7 <seq = 3, data = m3> - A mai are tampoane
8 <seq = 4, data = m4> - A nu mai are tampoane libere i trebuie
s se opreasc
9 ~* <seq = 2, data = m2> - A retransmite la expirarea intervalului de timp
10 <ack = 4, buf = 0> - Toate mesajele sunt confirmate, dar A este
n continuare blocat
11 <ack = 4, buf = 1> A poate s l trimit acum pe 5
12 <ack = 4, buf = 2> B a mai gsit un tampon
13 <seq = 5, data = m5> A mai are un tampon liber
14 * <seq = 6, data = m6> A este blocat din nou
15 <ack = 6, buf = 0> A este blocat n continuare
16 <ack = 6, buf = 4> Posibil interblocare

Fig. 6-16. Alocarea dinamic a tampoanelor. Sgeile indic direcia transmisiei.


Punctele de suspensie (...) indic pierderea unui TPDU.

Atunci cnd spaiul de memorie alocat pentru tampoane nu limiteaz fluxul maxim, va aprea o
alt limitare: capacitatea de transport a subreelei. Dac dou rutere adiacente pot s schimbe cel
mult x cadre pe secund i exist k ci distincte ntre dou calculatoare gazd, atunci este imposibil
transferul la o rat mai mare de k * x TPDU-uri pe secund, orict de multe tampoane ar fi alocate
la cele dou capete ale conexiunii. Dac emitorul se grbete prea tare (adic trimite mai mult
de k * x TPDU-uri pe secund), reeaua se va congestiona, deoarece nu va putea s livreze datele le
fel de repede cum le primete.
Este necesar un mecanism bazat pe capacitatea de transport a subreelei i nu pe capacitatea de
memorare n tampoane a receptorului. Evident, mecanismul de control al fluxului trebuie aplicat la
emitor pentru a preveni existena prea multor TPDU-uri neconfirmate la acesta. Belsens (1975) a
propus folosirea unei scheme cu fereastr glisant n care emitorul modific dinamic dimensiunea
ferestrei pentru a o potrivi la capacitatea de transport a reelei. Dac reeaua poate s transporte c
TPDU-uri pe secund i durata unui ciclu (incluznd transmisia, propagarea, timpul petrecut n cozi,
prelucrarea la destinaie i revenirea confirmrii) este r, atunci dimensiunea ferestrei la emitor
trebuie s fie c*r. Folosind o fereastr cu aceast dimensiune, emitorul va putea lucra la
capacitate maxim. Orice mic scdere a performanelor reelei va genera blocri ale emitorului.
Pentru a ajusta periodic dimensiunea ferestrei, emitorul poate urmri cei doi parametri, dup
care poate calcula dimensiunea dorit a ferestrei. Capacitatea de transport a subreelei poate fi
determinat pur i simplu numrnd TPDU-urile confirmate ntr-o anumit perioad de timp i
raportnd la acea perioad. n timpul msurtorii, emitorul trebuie s transmit ct mai repede
pentru a fi sigur c factorul care limiteaz numrul confirmrilor este capacitatea de transport a
470 NIVELUL TRANSPORT CAP. 6

subreelei i nu rata mic de emisie. Timpul necesar pentru ca un TPDU transmis s fie confirmat
poate fi msurat cu exactitate i media poate fi calculat continuu. Deoarece capacitatea de
transport a reelei depinde de trafic, dimensiunea ferestrei trebuie ajustat frecvent pentru a urmri
schimbrile n capacitatea de transport. Aa.cum vom vedea mai departe, n Internet se folosete un
mecanism similar.

6.2.5 Multiplexarea

Multiplexarea mai multor conversaii pe conexiuni, circuite virtuale i legturi fizice joac un rol
important n mai multe niveluri ale arhitecturii reelei. n cazul nivelului transport, multiplexarea
poate fi necesar din mai multe motive. De exemplu, n reelele care folosesc circuite virtuale n
subreea, fiecare conexiune consum spaiu n tabelele ruterelor pe toat durata de via a
conexiunii. Dac exist i tampoane dedicate circuitului virtual n fiecare ruter, atunci un utilizator
care las un terminal de teleprelucrare (remote terminal) deschis n timpul pauzei de cafea consum
resurse costisitoare. Dei aceast manier de implementare ignor unul din principalele motive care
au condus la comutarea de pachete, i anume c utilizatorul trebuie facturat pornind de la cantitatea
de date trimise i nu de la timpul de conectare, muli furnizori de servicii au ales aceast abordare
datorit asemnrii cu modelul comutrii de circuite pe care l-au folosit decenii de-a rndul.

Adres la nivel
transport
Nivel /

|*
Adres la

A
4 nivel reea

2 Liniile
ruterului

(a)
\
' Ctre ruter
(b)

Fig. 6-17. (a) Multiplexare n sus. (b) Multiplexare n jos.

Consecina unei structuri de preuri care penalizeaz puternic utilizarea mai multor circuite
virtuale simultan pentru o perioad lung de timp este c realizarea multiplexrii mai multor
conexiuni transport peste aceeai conexiune reea devine mult mai atractiv. Aceast form de
multiplexare, numit multiplexare n sus, este prezentat n Fig. 6-17(a). n aceast figur, patru
conexiuni transport diferite folosesc n comun aceeai conexiune reea (de exemplu, un circuit virtual
ATM) ctre calculatorul gazd de la distan. Atunci cnd timpul de conectare reprezint partea cea
mai important a preului pltit pentru serviciile furnizate de nivelurile inferioare, este la latitudinea
SEC. 6.2 NOIUNI DE BAZA DESPRE PROTOCOALELE DE TRANSPORT 471

nivelului transport s grupeze mai multe conexiuni transport pe un numr minim de conexiuni reea.
Dac prea multe conexiuni transport corespund aceleiai conexiuni reea, atunci performanele vor
fi proaste, deoarece fereastra va fi n general plin i un utilizator va avea de ateptat pn s-i vin
rndul s transmit un mesaj. Dac unei conexiuni reea i corespund prea puine conexiuni
transport, atunci serviciul va fi scump. Atunci cnd multiplexarea n sus este utilizat mpreun cu
ATM, apare situaia ironic (tragic?) n care un cmp al antetului la nivel transport este folosit
pentru a identifica conexiunea, dei ATM furnizeaz, exact n acelai scop, mai mult de 400 numere
de circuite virtuale pentru o cale virtual.
Multiplexarea poate s fie util nivelului transport i din alt motiv, legat de deciziile tehnice
si nu de politica de preuri ca pn acum. S presupunem c un utilizator foarte important are
nevoie, din cnd n cnd, de o conexiune cu o lime de band mare. Dac subreeaua
realizeaz un control al fluxului cu fereastr glisant, cu un numr de .secven pe n bii, atunci
n
utilizatorul, trebuie s se opreasc cnd 2 -l pachete ateapt confirmare i trebuie s atepte
pn cnd pachetele sunt propagate ctre gazda aflat la distan i sunt confirmate. n cazul
n care conexiunea fizic se face prin satelit, utilizatorul este de fapt limitat la 2n-l pachete la
fiecare 540 msec. Pentru n=8 i pachete de 128 bii, limea de band utilizabil este de
aproximativ 484 Kbps, dei limea de band a canalului fizic este de 100 de ori mai mare.
O soluie posibil este ca nivelul transport s deschid mai multe conexiuni reea i s distribuie
traficul prin acestea (ntr-un sistem round-robin), la fel ca n Fig. 6-17(b). Acest mod de operare se
numete multiplexare n jos. n cazul a k conexiuni reea deschise limea de band real este
multiplicat cu un factor k. Folosind 4095 circuite virtuale, pachete de 128 bii i un numr de
secven pe 8 bii, este teoretic posibil s se obin rate de transfer care depesc 1.6 Gbps. Aceste
performane nu pot fi stabilite dect dac linia de ieire suport 1.6 Gbps, deoarece toate cele 4095
circuite sunt multiplexate pe aceeai linie fizic, cel puin n Fig. 6-17(b). Dac sunt disponibile mai
multe linii de ieire, multiplexarea n jos poate fi utilizat pentru a mri i mai mult performanele.

6.2.6 Refacerea dup cdere

n cazul n care calculatoarele gazd sau ruterele se ntmpl s cad, recuperarea dup o
astfel de cdere devine o problem. Dac entitatea de transport este n ntregime coninut de
calculatorul gazd, atunci revenirea dup o cdere a reelei sau a unui ruter este simpl. Dac
nivelul reea furnizeaz un serviciu datagram, atunci entitatea de transport tie s rezolve
problema TPDU-urilor pierdute. Dac nivelul reea furnizeaz un serviciu orientat pe
conexiune, atunci pierderea unui circuit virtual este tratat stabilind un circuit virtual nou i
apoi ntrebnd entitatea de transport aflat la distan care TPDU-uri a primit deja i ce
TPDU-uri nu. Acestea din urm pot fi retransmise.
Cderea unui calculator gazd pune o problem mult mai suprtoare. n particular,
clienii pot dori s continue s lucreze imediat dup ce serverul cade i repornete. Pentru a
ilustra aceast dificultate, s presupunem c o gazd (clientul) trimite un fiier lung unei alte
gazde (serverul) folosind un protocol simplu de tip pas-cu-pas (stop-and-wait). Nivelul
transport de pe server nu face dect s paseze utilizatorului TPDU-urile primite, unul cte
unul. Dac n timpul transmisiei serverul cade, la revenirea acestuia tabelele sunt reiniializate
i serverul nu va mai ti precis unde a rmas.
472 NIVELUL TRANSPORT CAP. 6

ntr-o ncercare de a reveni n starea sa iniial, serverul ar putea s trimit cereri tuturor
celorlalte gazde anunnd c tocmai s-a refcut dup o cdere i cernd clienilor s-1 informeze
despre situaia tuturor conexiunilor deschise. Fiecare client poate fi n una din urmtoarele stri: un
TPDU neconfinnat (starea SI) sau nici un TPDU neconfirmat (starea SO). Bazndu-se numai pe
aceast informaie, clientul trebuie s decid dac s retransmit sau nu cel mai recent TPDU.
La prima vedere pare evident: atunci cnd afl de cderea i revenirea serverului, clientul trebuie
s retransmit doar dac are TPDU-uri neconfirmate (adic este n starea SI). Totui, o privire mai
atent descoper dificultile care apar n aceast abordare naiv. S considerm, ca exemplu,
situaia n care entitatea de transport de pe server trimite mai nti confirmarea i apoi, dup ce
confirmarea a fost trimis, paseaz datele procesului aplicaie. Trimiterea confirmrii i transferul
datelor procesului aplicaie sunt dou evenimente distincte, indivizibile i care nu pot avea loc
simultan. Dac o cdere a serverului are loc dup trimiterea confirmrii, dar nainte de transferul
datelor, clientul va primi confirmarea i se va afla n starea SO, atunci cnd anunul despre cdere
ajunge la el. n acest caz, clientul nu va mai retransmite (ceea ce este incorect), creznd c TPDU-ul
respectiv a fost recepionat. Aceast decizie a clientului va conduce la lipsa unui TPDU.
n acest moment s-ar putea spune: Nimic mai simplu! Tot ceea ce trebuie fcut este s
reprogramm entitatea de transport astfel, nct s transfere datele mai nti i s trimit
confirmarea dup aceea!". S vedem: dac transferul datelor a avut loc, dar serverul cade nainte s
trimit confirmarea, clientul va fi n starea SI, va retransmite i astfel vom avea un TPDU duplicat n
fluxul de date ctre procesul aplicaie.
Oricum ar fi proiectai emitorul i receptorul, ntotdeauna vor exista situaii n care revenirea
dup o cdere nu se va face corect. Serverul poate fi programat n dou feluri: s fac mai nti
confirmarea sau s transfere mai nti datele. Qientul poate fi programat n patru feluri: s
retransmit ntotdeauna ultimul TPDU, s nu retransmit niciodat, s retransmit numai n starea
SO, s retransmit numai n starea SI. Rezult astfel opt combinaii, dar, aa cum vom vedea, pentru
fiecare combinaie exist o anumit succesiune de evenimente pentru care protocolul nu
funcioneaz corect.

Strategia folosit de receptor

Mai nti confirm, apoi transfer Mai nti transfer, apoi confirm
a te- - , j

Strategia folosit de
emitor AC(T) ATC C(AT) C(TA) TAC TC(A)

Retransmite ntotdeauna OK DUP OK OK DUP DUP


Nu retransmite niciodat LOST OK LOST LOST OK OK
Retransmite n SO OK DUP LOST LOST DUP OK
Retransmite n S1 LOST OK OK OK OK DUP

OK = Protocolul funcioneaz corect


DUP = Protocolul genereaz un mesaj duplicat
LOST = Protocol pierde un mesaj

Fig. 6-18. Combinaiile diferitelor strategii posibile pentru server i client.


SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 473

La server sunt posibile trei evenimente: trimiterea unei confirmri (A), transferul datelor la
procesul aplicaie (T) i cderea (C). Aceste trei evenimente pot s fie ordonate n 6 feluri: AC(T),
ATC, C(AT), C(TA), TAC i TC(A). Parantezele sunt folosite pentru a indica faptul c nici A, nici
T nu pot urma dup C (odat ce serverul a czut, e bun czut). Fig. 6-18 prezint toate cele opt
combinaii ale strategiilor clientului i serverului i prezint secvenele valide pentru fiecare din ele.
pe reinut c pentru orice strategie exist o secven de evenimente pentru care protocolul nu
funcioneaz corect. De exemplu, dac clientul retransmite ntotdeauna, secvena ATC va genera un
duplicat care nu poate fi detectat, n timp ce pentru celelalte dou secvene totul este n regul.
ncercarea de a reproiecta mai minuios protocolul nu ajut. Chiar dac clientul i serverul
schimb mai multe TPDU-uri nainte ca serverul s transfere datele, astfel nct clientul tie
exact ceea ce se petrece pe server, nu poate afla dac serverul a czut imediat nainte sau
imediat dup transferai datelor. Concluzia se impune de la sine: dat fiind condiia de baz ca
dou evenimente s nu fie simultane, revenirea dup o cdere nu poate fi fcut transparent
pentru nivelurile superioare.
n termeni mai generali, acest rezultat poate fi reformulat astfel: restartarea dup o cdere
a nivelului N nu poate fi fcut dect de ctre nivelul N + l , i aceasta doar dac nivelul
superior reine suficient informaie de stare. Aa cum am artat mai sus, nivelul transport
poate s revin dup erorile nivelului reea numai dac fiecare capt al conexiunii ine minte
unde a rmas.
Am ajuns astfel la problema definirii precise a ceea ce nseamn o confirmare capt-a-capt n
principiu, protocolul de transport este unul capt-la-capt i nu nlnuit ca la nivelurile de mai jos.
S considerm cazul unui utilizator care genereaz cereri de tranzacii pentru o baz de date de la
distan. S presupunem c entitatea de transport aflat la distan este programat s trimit mai
nti TPDU-ul nivelului superior i apoi s confirme. Chiar i n acest caz, primirea unei confirmri
de ctre maina utilizator nu nseamn neaprat c maina gazd de la distan a avut timp s
actualizeze baza de date. De fapt, o adevrat confirmare capt-la-capt, a crei primire arat c s-
au efectuat toate prelucrrile de ctre maina de la distan, este probabil imposibil de obinut.
Acest subiect este discutat n detaliu de Saltser .a. (1984).

6.3 UN PROTOCOL SIMPLU DE TRANSPORT

Pentru a concretiza ideile discutate, n acest capitol vom studia n detaliu un exemplu de
nivel transport. Exemplul a fost ales pentru a fi ct mai realist, dar i suficient de simplu i uor
de neles. Vom utiliza setul abstract de primitive orientate pe conexiune prezentat n Fig. 6-3.

6.3.1 Primitivele serviciului ales ca exemplu

Prima problem const n definirea exact a primitivelor de transport. Pentru CONNECT este
uor: vom avea o rutin de bibliotec connect care poate fi apelat cu parametri potrivii pentru
stabilirea unei conexiuni. Parametrii sunt TSAP-ul local i cel aflat la distan. n timpul apelului,
apelantul este blocat n timp ce entitatea de transport ncearc s stabileasc conexiunea. Dac
conexiunea reuete, apelantul este deblocat i poate s nceap s transmit date.
474 NIVELUL TRANSPORT CAP. 6

Atunci cnd un proces dorete s accepte conexiuni, el face un apel lisen specificnd un anumit
TSAP pe care l ascult. Dup aceasta, procesul este blocat pn cnd un proces aflat la distan
ncearc s stabileasc o conexiune cu TSAP-u la care ateapt.
De observat c acest model este asimetric. O parte este pasiv, executnd listen i ateptnd ca
ceva s se ntmple. Cealalt parte este activ i iniiaz conexiunea. O ntrebare interesant este: ce
trebuie fcut dac partea activ ncepe prima?. O posibilitate este ca ncercarea de conectare s nu
reueasc dac nu exist nici un proces care s asculte la TSAP-ul aflat la distan. O alt posibilitate
este ca iniiatorul s se blocheze (eventual pentru totdeauna) pn cnd apare un proces care s
asculte Ia TSAP-ul aflat la distan.
Un compromis folosit n exemplul nostru este pstrarea cererii de conexiune la receptor pentru
un anumit interval de timp. Dac un proces de pe acest calculator gazd apeleaz lisen nainte ca
timpul s expire, atunci conexiunea este stabilit, altfel conexiunea este refuzat i apelantul este
deblocat ntorcnd un cod de eroare.
Pentru a elibera o conexiune vom folosi un apel disconnect. Atunci cnd ambele pri s-au
deconectat, conexiunea este eliberat. Cu alte cuvinte, folosim un modei de deconectare simetric.
Transmisia de date are exact aceeai problem ca i stabilirea conexiunii: emitorul este activ,
dar receptorul este pasiv. Vom folosi aceeai soluie pentru transmisia de date ca i pentru stabilirea
conexiunii, adic un apel activ sen care trimite datele i un apei pasiv receive care blocheaz pn
cnd sosete un TPDU.
Definiia concret a serviciului const astfel din cinci primitive: CONNECT, LSTEN,
DISCONNECT, SEND i RECEVE. Fiecare primitiv corespunde unei funcii de bibliotec
care execut acea primitiv. Parametrii pentru primitive i funciile de bibliotec sunt:

connum = LlSTEN(local)
connum = CONNECT (local, remote)
staus = SEND(connum, buffer, bytes)
satus = RECEIVE(connum, buffer, byesj
staus = DISCONNECT(connum)

Primitiva LISTEN anun disponibilitatea serverului de a accepta cereri de conexiune ia TSAP-


ul indicat. Utilizatorul primitivei este blocat pn cnd se face o ncercare de conectare la TSAP-u
specificat. Blocarea poate s fie definitiv.
Primitiva CONNECT are doi parametri, un TSAP local (adic o adres la nivel transport) i un
TSAP aflat la distant si ncearc s stabileasc o conexiune ntre acestea dou. Dac reuete, ea
ntoarce connum, un numr nenegativ utilizat pentru a identifica conexiunea. Dac nu reuete,
motivul este pus n connum ca un numr negativ. n modelul nostru (destul de simplu), fiecare
TSAP poate s participe la cel mult o singur conexiune de transport, deci un motiv pentru refuzul
unei cereri de conectare poate fi c adresa la nivel transport este deja folosit. Cteva alte motive
pot fi: gazda de la distan czut, adres local incorect sau adres de la distan incorect.
Primitiva SEND trimite coninutul unui tampon ca un mesaj pe conexiunea indicat, eventual
divizndu-1 n mai multe uniti, dac este prea mare. Erorile posibile, ntoarse n status, pot fi: nu
exist conexiune, adres de tampon invalid sau numr de bii negativ.
Primitiva RECEIVE indic faptul c apelantul ateapt s recepioneze date. Dimensiunea
mesajului este plasat n cmpul byes. Dac procesul aflat la distan a eliberat conexiunea sau
SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 475

dac adresa pentru tampon este incorect (de exemplu, n afara spaiului de adrese ai
programului utilizator), funcia va ntoarce un cod de eroare indicnd natura problemei.
Primitiva DISCONNECT pune capt unei conexiunii transport indicate prin parametrul
connum. Erori posibile sunt: connum aparine de fapt altui proces sau connum nu este un
identificator valid de conexiune. Codul de eroare sau 0 pentru succes sunt returnate n staus.

6.3.2 Entitatea de transport aleas ca exemplu

nainte de a studia programul aferent entitii de transport, trebuie spus c acesta este un
exemplu similar celor din capitolul 3: este prezentat mai mult n scop pedagogic dect pentru a fi
utilizat. Mai multe detalii tehnice (precum detectarea extensiv a erorilor) care ar fi necesare unui
produs real au fost lsate deoparte pentru simplitate.
Nivelul transport utilizeaz primitivele serviciului reea pentru a trimite i recepiona TPDU-mi.
Trebuie s alegem primitivele serviciului reea pe care Ie vom utiliza pentru acest exemplu. O
posibilitate ar fi fost: un serviciu datagram nesigur. Nu am fcut aceast aiegere pentru a pstra
simplitatea exemplului. Folosind un serviciu datagram nesigur, codul pentru entitatea de transport
ar fi devenit foarte mare i complicat, n cea mai mare parte legat de pachete pierdute sau ntrziate.
Mai mult, cea mai mare parte a ideilor au fost deja discutate n capitolul 3.
Am ales n schimb un serviciu reea sigur, orientat pe conexiune. n acest fel ne putem concentra
asupra problemelor puse de nivelul transport care nu apar n nivelurile inferioare. Acestea includ,
ntre altele, stabilirea conexiunii, eliberarea conexiunii i gestiunea tampoanelor. Un serviciu de
transport simplu, construit peste un nivel reea ATM, ar putea s semene cu acesta.
n general, entitatea de transport poate s fie parte a sistemului de operare a!
calculatorului gazd sau poate s fie un pachet de funcii de bibliotec n spaiul de adrese
utilizator. De asemenea, ea poate s fie coninut de un cip coprocesor sau de placa de reea.
Pentru simplitate, exemplul nostru a fost programat ca i cum entitatea de transport ar fi un
pachet de funcii de bibliotec, dar schimbrile necesare pentru a o face parte a sistemului de
operare sunt minime (fiind n principal legate de modul cum sunt adresate tampoanele).
Merit remarcat faptul c, n acest exemplu, entitatea de transport nu este o entitate separat, ci
este o parte a procesului utilizator. Mai precis, atunci cnd utilizatorul folosete o primitiv blocant,
de exemplu LISTEN, se blocheaz toat entitatea de transport. n timp ce aceast arhitectur este
potrivit pentru un calculator gazd cu un singur proces utilizator, pentru un calculator gazd cu mai
muli utilizatori este normai ca entitatea de transport s fie un proces separat, distinct de toate
celelalte procese.
Interfaa cu nivelul reea se face prin intermediul procedurilor tojie i fromjiet. Fiecare are
ase parametri. Primul este identificatorul conexiunii, care este n coresponden bijectiv cu
circuitul virtual la nivel reea. Apoi urmeaz biii Q i M care, atunci cnd au valoarea 1, indic
mesaje de control i, respectiv, faptul c mesajul continu i n urmtorul pachet. Dup acestea
urmeaz tipul pachetului, ales dintr-un set de ase tipuri de pachete prezentate n Fig. 6-19. La
sfrit se gsete un indicator ctre zona de date i un ntreg care indic numrul de octei de date.
La apelurile to_ne, entitatea de transport completeaz toi parametrii pentru ca nivelul reea s-i
poat citi; la apelurile fromjiet nivelul reea dezasambleaz un pachet sosit pentru entitatea de
transport. Transferul informaiei sub forma unor parametri ai unei proceduri i nu a pachetului de
trimis sau de recepionat protejeaz nivelul transport de toate detaliile protocolului nivelului reea.
NIVELUL TRANSPORT :AP.6

Dac entitatea de transport ncearc s trimit un pachet atunci cnd fereastra corespunztoare a
circuitului virtual este plin, ea va fi blocat ntr-un apel tojiet pn cnd va fi spaiu n fereastr.
Mecanismul este transparent pentru entitatea de transport i este controlat de nivelul reea prin
comenzi ca enabkjransportjayer i disablejransportjayer, anaioage celor descrise n protocoalele
din capitolul 3. Gestionarea ferestrei de pachete este fcut de nivelul reea.

Tip pachet Explicaii


CALL_REQUEST Trimis pentru a stabili conexiunea
CAIL.ACCEPTED , Rspuns Ia CALL_ REQUEST
CLEAR_REQUEST Trimis pentru a elibera conexiunea ___
CIEAFLCQNRRMTSON CLEAR_REQUEST
DATA Pentru transport de dae
CREDIT Pachet de control pentru gestionarea ferestrei

Fng. 6-19. Tipurile de pachete folosite la nivel reea.

Pe lng acest mecanism transparent de suspendare mai exist dou proceduri, sleep i wakeup, apelate
de entitatea de transport. Procedura sleep este apelat atunci cnd entitatea de transport este blocat logic
n. ateptarea unui eveniment extern, n general sosirea unui pachet. Dup ce a fost apelat skq?, entitatea de
transport (i procesul utilizator, bineneles) sunt blocate.
Codul entitii de transport este prezentat n Fig. 6-20. Orice conexiune este ntr-una din
urmtoarele apte stri:

IDLE- conexiunea ne a fost nc stabilit


WAITING - a fost executat CONNECT i trimis: CALL_REQUEST
QUEUED - a sosit un CALL_REOUEST, nu a fost executat nc nici im apel LSTEN
ESTABLISHED - conexiunea a fost stabilit
SENDING - utilizatorul ateapt permisiunea de a trimite un pachet
RECEIVING - a fost apelat RECEIVE
DISCONNECTiNG - un apel DISCONNECT a fost fcut local

Pot s apar tranziii ntre stri ori de cte ori are loc unul din urmtoarele evenimente: este
secuta o primitiv, sosete un pachet sau expir un interval de timp

#include MAX_C0NN 32 /* numrul maxim de conexiuni deschise simultan */


#i!ic]ude MAX_MSG_SIZE 8192 /* dimensiunea maxim a unui mesaj n octei */
#include MAX_PKT_SIZE 512 /* dimensiunea maxim a unui pachet n octei */
#include TIMEOUT 20
#inc1ude CRED 1
#inc1ude OK 0
#indude ERRJULL -l
#inc!ude ERRJEJECT -2
#indude ERR_CLOSED -3
#include LOW ERR -3
SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 477

typedef int transport_address;


typedef enum {CALL_REQ,CALL_ACC, CIEAR_REQ, CLEAR_CONFS DATA_PKT,CREDIT} pktjype;
typedef enum {IDLE, WAITING, QUEUED, ESTABLISHEDS SENDING, RECEIVING, DSCONN} cstate;
/* Variabile globale */
transport_address listen_address; /* adresa local care este ascultat */
int listen_conn /* identificatorul de conexiune pentru listen */
unsigned char data[MAX_PKT_SIZE] /* zona pentru pachetele de date */
struct conn {
transport_address local_address5 remote_address;
cstate state; /* starea conexiunii */
unsigned char *user_buf_addr; /* indicator la ablonul de recepie */
int byte_count; /* contor de emisie/recepie*/
int clr_req_received; /* setat atunci cnd este primit un pachet CLEAR_REQ*/
int timer; ^ /* folosit pentru a evita ateptrile infinite */
.int credits; /* numrul de mesaje care poate fi trimis */
}; conn[MAX_CONN]
/* prototipuri */
void sleep(void);
void wakeup(void);
void to_net(int cid, int q5 int m pkt_type pt, unsigned char *p, int bytes);
void from net(int *cids int *q s int *m pkt_type *pt s unsigned char *p 9 int *bytes);
int listen (transport_address t)
{
/* Utilizatorul vrea stabileasc o conexiune. Trebuie vzut daca CALL_REQ a sosit deja */
int i=I, found=G;
for (i=l; i<= MAX_CONN; i++) /* caut n tabela de conexiuni CALL_REQ*/
if (conn[i].state == QUEUED && conn[i].locall_address == t) {
found = i;
break;
}
if (found == 0) { /* nu a gsit nici un CALL_REQ. Ateapt pn cnd sosete
unul sau pn cnd expira intervalul de timp de ateptare */
listen_address = t; sleepQ; i = listen_conn;

conn[i].state = ESTABLISHED; /* conexiunea este stabilit */


conn[i].timer = 0 /* ceasul nu este folosit */
listen_conn = 0 ; /* 0 este presupus o adres invalid */
to_net(is 0s 0s CALL_ACCS 0 ) ; /* spune niv. reea s accepte cererea de conexiune */
return(i); /* ntoarce identificatorul conexiunii */

int connect (transport_address 1, transport_address r)


{ /* Utilizatorul dorete s stabileasc o conexiune cu un proces aflat
la aflat la distan; se trimite un pachet CALL_REQ */
int i;
struct conn *cptr;
data[0] = r; /* pachetul CALL_REQ are nevoie de asta */
data[l] = 1;
i = MAXC0NN /* caut n tabel napoi */
478 NIVELUL TRANSPORT CAP. 6

while (conn[i].state != IDLE && i>l) i = i-I;


if (conn[i].state == IDLE) { /* Face o intrare n tabel */
cptr = &conn[i];
cptr->local_address = 1 ; ;
cptr->remote_address = r;
cptr->state = WAITING;
cptr->clr_req_received = 0;
cptr->credits = 0;
cptr->timer = 0;
to_net(is 0, 0 5 CALL_REQ, data, 2 ) ;
sleep(); /* ateapt CALL_ACC sau CLEAR_REQ */
if (cptr->state == ESTABLISHED) return (i);
if (cptr->clr_req_received ) { /* cererea de conexiune este refuzat */
cptr->state = IDLE /* napoi n starea IDLE */
to_net(is 0, 0, CLEAR_CONF5 datas 0);-
return(ERR_REJECT);

}
else return (ERR_FULL) /* conexiunea este refuzat: insuficient spaiu n tabele */

int send (int cid9 unsigned char bufptr[]9 int bytes)


{ /* Utilizatorul dorete s trimit un mesaj */
int i, count, m;
struct conn *cptr = &conn[cid];
/* Intr n starea SENDING*/
cptr->state = SENDING;
cptr->byte_count = 0 ;
if (cptr->clr_req_received == 0 && cptr->credits == 0 ) sleepQ;
if (cptr->clr_req_received == 0) {
/* Exist credite; mparte mesajul n pachete dac este cazul */
do {
if (bytes - cptr->byte_count > MAX_PKT_SIZE) {
/* mesaj format din mai multe pachete */
count = MAX_PKT_SIZE;
m = 1; /* mai urmeaz pachete */
} else {count = bytes - cptr->byte->count; /un mesaj format dintr-un pachet */
m=0; /* ultimul pachet al acestui mesaj */

for (i=0; i<count; i++) data[i]=bufptr[cptr->byte_count+l];


to_net(cid, 0, m,DATA_PKTs data s count); /* trimite un pachet */
cptr->byte_count=cptr->byte_count + count; /* incrementeaz nr. Octeilor trimii */
} while (cptr->byte_count < bytes); /*bud pn cnd ntregul mesaj este trimis */
cptr->credits--; /* fiecare mesaj folosete un credit */
cptr->state = ESTABLISHED;
return(OK);
) else f cptr->state = ESTABLISHED;
return(ERR_CLOSED); /* ntoarce insucces: cellalt capt vrea s se deconecteze */
SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 479

int receive (int cid, unsigned char bufptr[], int *bytes)


/* Utilizatorul este gata s primeasc un mesaj */
struct conn *cptr = &conn[cid];
if (cptr->clr_req_received) {
/* Conexiunea nc stabilit; ncearc s recepioneze */
cptr->state = RECEIVING;
cptr->user_buf_addr = bufptr;
cptr->byte_count = 0;
data[0] = CRED;
data[l] = 1;
to_net(cid, 1, 0, CREDIT, data, 2 ) ; /* trimite CREDIT */
sleepO; /* se blocheaz n ateptarea datelor */
*bytes = cptr->byte_count;
}
cptr->state = ESTABLISHED;
return(cptr->clr_req_received ? ERR_CLOSED : OK);
}
int disconnect (int cid)
{ /* Utilizatorul vrea s se deconecteze */
struct conn *cptr = &conn[cid];

if (cptr -> clr_req_received) { /* cealalt parte a iniiat deconectarea */


cptr->state = IDLE; /* conexiunea este eliberat */
to_net(cid, 0, 0, CLEAR_CONF, data, 0 ) ;
} else { /* se iniiaz terminarea */
cptr->state = DISCONNECT; /* conexiunea nu este eliberat pn cnd
cealalt parte nu-i d acordul */
to_net(cid, 0, 0, CLEAR_REQS data, 0 ) ;
}
return (OK);
}
void packet_arrival (void)
{ /* A sosit un pachet; urmeaz prelucrarea lui */
int cid; /* conexiunea pe care a sosit pachetul */
int count, i q5 m;
pkt_type ptype;
unsigned char data [MAX_MKT_SIZE]; /* date din pachetul care sosete */
struct conn *cptr;
from_net(&sid, &q, &ptypr, data, &count); /* preia pachetul */
cptr = &conn[cid];
switch (ptype) {
case CALL_REQ: /* utilizatorul de la distan vrea s stabileasc o conexiune */
cptr->local_address = data[0];
cptr->remote_address = data[l];
if (cptr->loca1_address ==. listen_address) {
listen_conn = cid;
cptr->state = ESTABLISHED;
wakeupO;
480 NIVELUL TRANSPORT CAP. 6

} else {
cptr->state = QUEUED;
cptr->timer = TIMEOUT;
}
cptr->clr_req_received = 0;
cptr->credits = 0;

case CALL_ACC: /* u t i l i z a t o r u l de la distan a acceptat CALL_REQ trimis */


cptr->state = ESTABLISHED;
wakeupO;

case CLEAR_REQ: /* utilizatorul de la distan vrea s se deconecteze sau s refuze un apel */


cptr->clr_req_received = 1;
if (cptr->state == DISCONN) cptr->state = IDLE;
if (cptr->state == WAITING || cptr->state == RECEIVING
|| cptr->state == SENDING) wakeupO;

case CLEAR_CONF: /* u t i l i z a t o r u l de la distan accept deconectarea */


cptr->state = IDLE;
if (cptr->state == SENDING) wakeupO;

case CREDIT: /* u t i l i z a t o r u l de la distan ateapt date */


cptr->credits +=data[l];

case DATA_PKT: /* au fost trimise date */


for (i=0; i<count; i++)
cptr->user_buff_addr[cptr->byte_count + i] = d a t a [ i ] ;
cptr->byte_count += count;
if (m == 0) wakeupO;

void clock( void)


{ /* la fiecare interval de timp al ceasului se verific eventualele
depiri ale timpilor de ateptare pentru c e r e r i l e aflate n starea QUEUED */
int i;
struct conn *cptr;

for ( i = l ; i<=MAX_CONNs i
cptr = &conn[i];
if (cptr->timer > 0) { /* ceasul funciona */
cptr->timer --;
if (cptr->timer == 0) { /* timpul a expirat */
cptr->state = IDLE;
t o _ n e t ( i s 0, 05 CLEAR REQS data, 0);

Fig. 6-20. Entitatea de transport aleas ca exemplu.

Procedurile prezentate n Fig. 6-20 sunt de dou tipuri. Majoritatea sunt apelate direct de ctre
programele utilizator, totui packetjinival i clock sunt diferite. Execuia lor este declanat de
evenimente externe: sosirea unui pachet i, respectiv, avansul ceasului. Ele sunt de fapt rutine de
SEC/6.3 UN PROTOCOL SHJH'EU.Iffi TRANSPORT 481

YoiajpE.esupuie. cLafie^je/a^MLAin^jniei^^ o alt


procedur a entitii de transport. Acestea pot fi _exeeutt<numai atunci eand^rejcesul utilizator este
n ateptare sau att timp ct.el ruleaz n afara.entitii de transport. Aceast proprietate este
crucial pentru funcionarea corect a entitii 4& tr-ansport.
Existena bitului Q n antetul pachetului ne permite s evitm timpul suplimentar introdus de
antetul protocolului de transport. Mesajele dedate obinuite sunt trimise ca pachete de date cu
(2=0. Mesajele legate de protocolul de transport, dintre care exist numai unul (CREDIT) n
exemplul nostru, sunt trimise ca pachete de date cu Q = l . Aceste mesaje de control sunt detectate i
prelucrate de entitatea de transport receptoare.
Structura de date de baz folosit de entitatea de transport este vectorul conn, care are cte o
nregistrare pentru fiecare conexiune posibil. n nregistrare sunt meninute starea conexiunii,
incluznd adresa de nivel transport la fiecare capt, numrul de mesaje trimise i recepionate pe
conexiune, starea curent, un indicator (pointer) la tamponul utilizator, numrul de octei ai
mesajului trimis sau recepionat, un bit indicnd dac utilizatorul aflat la distan a apelat
DISCONNECT, un ceas, un contor folosit pentru a permite transmiterea mesajelor. Nu toate aceste
cmpuri sunt folosite n exemplul nostru simplu, dar o entitate de transport complet ar avea nevoie
de toate, poate chiar de mai multe. Fiecare element din conn este iniializat cu starea IDLE.
Atunci cnd un utilizator apeleaz CONNECT, nivelului reea i se va cere s trimit un
pachet C A L L R E Q U E S T ctre maina de la distan i utilizatorul este blocat. Atunci cnd
CALLREQUEST ajunge de partea cealalt, entitatea de transport este ntrerupt pentru a
executa packetjinival, care verific dac utilizatorul local ascult la adresa specificat. Dac
da, atunci este trimis napoi un pachet CALL_ACCEPTED i utilizatorul de la distan este
trezit; dac nu, atunci cererea CALL_REQUEST este pus ntr-o coad pentru un interval de
timp TIMEOUT. Dac n acest interval este fcut un apel LISTEN, atunci conexiunea este
stabilit; dac nu, conexiunea este refuzat la sfritul intervalului de timp. Mecanismul este
necesar pentru a preveni blocarea iniiatorului conexiunii pentru un timp nedefinit n cazul n
care procesul aflat la distan nu vrea s se conecteze.
Dei am eliminat antetul pentru protocolul de transport, mai trebuie gsit o modalitate pentru a
determina crei conexiuni transport i aparine un anumit pachet, deoarece mai multe conexiuni pot
coexista simultan. Cea mai simpl soluie este folosirea numrului de circuit virtual de la nivel reea
i ca numr de conexiune transport. n plus, numrul de circuit virtual poate fi folosit i ca index n
vectorul conn. Atunci cnd un pachet sosete pe circuitul virtual k la nivel reea, elni va aparine
conexiunii k a crei stare este pstrat mconhfk]. La iniierea unei conexiuni^ numrul de conexiune
este ales de entitatea de transport care a iniiat-o. Pentru cerere de conexiune, nivelul reea alege ca
numr de conexiune orice numr de circuit virtual care nu a fost nc folosit.
Pentru a evita gestionarea tampoanelor n interiorul entitii de transport, este folosit un
mecanism de gestiune a fluxului diferit de fereastra-glisant tradiional. Atunci cnd un utilizator
apeleaz RECEIVE, este trimis un mesaj de credit entitii de transport de pe maina care va
transmite i este nregistrat n vectorul conn. Atunci cnd este apelat SEND, entitatea de transport
verific dae vreun credit a sosit pe conexiunea respectiv. Dac da, mesajul este trimis (chiar i n
mai multe pachete, dac este cazul) i credit este decrementat; dac nu, atunci entitatea de transport
se blocheaz pn la sosirea unui credit. Mecanismul garanteaz c nici un mesaj nu este trimis
dect dac cealalt parte a apelat deja RECEIVE. Ca rezultat, ori de cte ori sosete un mesaj,
482 NIVELUL TRANSPORT CAP. 6

exist cu siguran un tampon disponibil pentru ei. Aceast schem poate fi uor generalizat pentru
a permite receptorilor s ofere tampoane multiple i s cear mai multe mesaje.
Trebuie reinut simplitatea codului din Fig. 6-20.0 entitate de transport real ar verifica n mod
normal validitatea tuturor parametrilor furnizai de utilizator, ar putea s revin dup cderea
reelei, ar putea rezolva coliziunile la apel i ar susine un serviciu transport mult mai general, care ar
include faciliti cum sunt ntreruperile, datagramele i versiunile nonblocante ale primitivelor
SENDiRECEIVE.

33 Exemplul vzut ca un automat finit

Scrierea unei entiti de transport este o munc dificil i riguroas, n special pentru
protocoalele reale. Pentru a reduce probabilitatea de apariie a unei erori, adeseori este util s
reprezentm protocolul ca un automat finit.
Am vzut deja c protocolul nostru folosit ca exemplu are apte stri pentru fiecare conexiune.
Este de asemenea posibil s izolm cele dousprezece evenimente care pot s apar pentru a
schimba starea unei conexiuni. Cinci dintre aceste evenimente sunt cele cinci primitive ale serviciului
de transport. Alte ase sunt reprezentate de sosirile celor ase tipuri distincte de pachete. Ultimul
este expirarea intervalului de timp stabilit. Fig. 6-21 arat aciunile principale ale protocolului sub
forma unei matrice. Pe coloane sunt prezentate strile, iar pe linii cele 12 evenimente.
Fiecare intrare n matrice (adic n automatul finit) din Fig. 6-21 are pn la trei cmpuri:
un predicat, o aciune i o nou stare. Predicatul indic condiiile n care aciunea este
executat. De exemplu, pentru intrarea din colul snga-sus, dac este executat un LI STEN i
nu mai exist spaiu n tabele (predicatul PI), atunci LISTEN eueaz i starea rmne
aceeai. Pe de alt parte, dac un pachet CALLJREQUEST a sosit deja 3a adresa de nivel
transport la care se face LISTEN (predicatul P2), atunci conexiunea este stabilit imediat. O
alt posibilitate este ca P2 s fie fals, adic nici un CALLJREQUEST nu a fost primit, caz n
care conexiunea rmne n starea /DLEn ateptarea unui pachet CALLJREQUEST.
Merit s subliniem c alegerea strilor folosite n matrice nu este n ntregime determinat de
protocolul nsui. n acest exemplu, nu exist nici o stare LISTENING, care ar urma n mod normal
apelului LISTEN. Nu a fost introdus o stare LISTENING deoarece o stare este asociat cu o intrare
n tabela de conexiuni i dup un ape! LISTEN nu exist nc nici o conexiune. De ce? Pentru c ani
decis s folosim identificatorii circuitelor virtuale de la nivel reea ca identificatori pentru conexiune
i, pentru un apel LISTEN, numrul circuitului virtual este n cele din urm ales de nivelul reea
atunci cnd sosete un CALLJREQUEST.
Aciunile de la Al la A12 sunt aciuni importante, precum trimiterea pachetelor sau rearmarea
ceasurilor. Nu sunt menionate toate aciunile minore, cum ar fi iniializarea unor cmpuri aie
nregistrrii ataate conexiunii. Dac o aciune implic trezirea unui proces n ateptare, atunci
aciunile care urmeaz trezirii procesului sunt considerate i ele. De exemplu, dac un pachet
CALL_REQUEST sosete i exist un proces adormit care l ateapt, atunci transmiterea
pachetului CALL_ACCEPT este considerat ca fcnd parte din aciunea care urmeaz recepiei
lui CALL_REQUEST. Dup ce este efectuat fiecare aciune, conexiunea ajunge ntr-o nou stare,
aa cum apare i n Fig. 6-21.
SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 483

State
Idle Waiting Queued Established Sending Receiving Disconnecting
P1:~1/ldle
LISTEN P2: AI/Estab -/Estab
P2: A2/ldle
P1:-/ldle
CONNECT P1:A3/Wait

P4:A5/ldle
DiSCONNECT P4: A6/Disc
Q.
P5: A7/Estab
SEND P5:AS/Send

RECEIVE A9/Receiving

P3: AI/Estab
Call_req P3:A4/Que'd

Ca!l_acc -/Estab

a
'(O
i Clear_req -/Idle AIC/Estab AlO/Estab AlO/Estab -/Idle

5 Clear_conf -/Idie
CC
Q_

DataPkt A12/Estab

Credit AII/Estab A7/Estab

co r
co I Timeout ~/ldle
<

Predicate Aciuni
P1: Tabela de conexiuni plin A1: Trimite Ca!l_acc A7: Trimite mesaj
P2: Cerere de conexiune n A2: Ateapt Call_req A8: Ateapt credit
ateptare A3: Trimite Call_req A9: Trimite credit
P3: Apel LISTEN n ateptare A4: Pornete ceasul A10: Seteaz indicator
P4: Pachet Clear_req n A5: Trimite Ciear_conf Clr_req_received
ateptare A6: Trimite Clear_req A11: nregistreaz credit
P5: Credit disponibil A12: Accept mesajul

Fig. 6-21. Protocolul ales ca exemplu, reprezentat ca un automat finit. Fiecare intrare are un
predicat opional, o aciune opional i o nou stare. Caracterul tilda indic faptul c nici o
aciune important nu este efectuat. Bara deasupra predicatului este reprezentarea pentru
predicatul negat. Intrrile vide corespund unor secvene de evenimente imposibile sau eronate.

Avantajul reprezentrii protocolului ca o matrice este ntreit. n primul rnd, n aceast


form este mult mai simplu pentru programator s verifice sistematic fiecare combinaie stare/
eveniment/ aciune. n implementrile reale, unele combinaii vor fi folosite pentru tratarea
erorilor. n Fig. 6-21 nu s-a fcut nici o distincie ntre situaiile imposibile i cele care sunt
484 NIVELUL TRANSPORT CAP. 6

numai ilegale. De exemplu, dac o conexiune este n starea WAITING, evenimentul


DISCONECT este imposibil deoarece utilizatorul este blocat i nu poate s fac nici un apel.
Pe de alt parte, n starea SENDING nu pot sosi date deoarece nu a fost generat nici un credit.
Sosirea unui pachet de date va fi o eroare a protocolului.
Al doilea avantaj al reprezentrii protocolului ca o matrice este legat de implementarea acestuia,
ntr-un vector bidimensional elementul act[i][j] ar putea fi vzut ca un indicator la procedura care
trateaz evenimentul i atunci cnd starea este j. O implementare posibil este codificarea entitii de
transport ca o bucl n care se ateapt la nceput producerea unui eveniment. Dup producerea
evenimentului, este identificat conexiunea implicat i este extras starea ei. Cunoscnd acum
starea i evenimentul, entitatea de transport nu face dect s acceseze vectorul act i s apeleze
procedura adecvat. Aceast abordare ar conduce la o arhitectur mult mai regulat i mai simetric
dect cea a entitii de transport implementate de noi.
Al treilea avantaj al abordrii folosind un automat finit este legat de descrierea protocolului. n
unele standarde, protocoalele sunt specificate ca un automat finit de tipul celui din Fig. 6-21.
Trecerea de la acest tip de descriere la o entitate de transport funcional este mult mai uoar dac
entitatea de transport este i ea modelat cu ajutorul unui automat finit.
Cel mai important dezavantaj este c aceast abordare poate s fie mai dificil de neles dect
metoda direct pe care am utilizat-o Ia nceput. Totui, aceast problem poate fi rezolvat, fie i
parial, desennd automatul finit ca un graf, aa cum am fcut-o n Fig. 6-22.

CLEAR REQ, CLEAR CONF

-22. Protocolul dat ca exemplu, n reprezentare grafic. Pentru simplificare, tranziiile


care las starea conexiunii nemodificat au fost omise.
SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 485

6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP)

Internet-ul are dou protocoale importante la nivel transport: un protocol orientat pe conexiuni
i un altul fr conexiuni. Ambele vor fi studiate n seciunea urmtoare. Protocolul orientat pe
conexiuni este TCP. Protocolul fr conexiuni este UDP. Ne vom concentra atenia asupra
protocolului TCP, UDP nefiind n esen altceva dect IP extins cu un scurt antet.
TCP (Transport Comraunication Protocol - protocol de comunicaie de nivel transport) a fost
proiectat explicit pentru a asigura un flux sigur de octei de la un capt la cellalt al conexiunii ntr-o
inter-reea nesigur. O inter-reea difer de o reea propriu-zis prin faptul c diferite pri ale sale
pot diferi substanial n topologie, lrgime de band, ntrzieri, dimensiunea pachetelor i ali
parametri. TCP a fost proiectat s se adapteze n mod dinamic la proprietile reelei Internet i s
fie robust n ceea ce privete mai multe tipuri de defecte.
TCP a fost definit n mod oficial n RFC 793. Odat cu trecerea timpului, au fost detectate
diverse erori i inconsistene i au fost modificate cerinele n anumite subdomenii. Aceste
clarificri, precum i corectarea ctorva erori sunt detaliate n RFC 793. Extensiile sunt
furnizate n RFC 1323.
Fiecare main care suport TCP dispune de o entitate de transport TCP, fie ca proces utilizator,
fie ca parte a nucleului care gestioneaz fluxurile TCP i interfeele ctre nivelul IP. O entitate TCP
accept fluxuri de date utilizator de la procesele locale, le mparte n fragmente care nu depesc
64K octei (de regul n fragmente de aproximativ 1500 de octei) i expediaz fiecare fragment ca o
datagram IP separat. Atunci cnd datagramele IP coninnd informaie TCP sosesc la o main,
ele sunt furnizate entitii TCP, care reconstruiete fluxul original de octei. Pentru simplificare, vom
folosi cteodat doar TCP , subnelegnd prin aceasta sau entitatea TCP de transport (o poriune
de program) sau protocolul TCP (un set de reguli). Din context va fi clar care din cele dou noiuni
este referit. De exemplu, n Utilizatorul furnizeaz date TCP-ului" este clar referirea la entitatea
TCP de transport.
Nivelul IP nu ofer nici o garanie c datagramele vor fi livrate corect, astfel c este sarcina TCP-
ului s detecteze eroarea i s efectueze o retransmisie atunci cnd situaia o impune. Datagramele
care ajung (totui) la destinaie pot sosi ntr-o ordine eronat; este, de asemenea, sarcina TCP-ului
s le reasambleze n mesaje respectnd ordinea corect (de secven). Pe scurt, TCP-ul trebuie s
ofere fiabilitatea pe care cei mai muli utilizatori o doresc i pe care IP-ul nu o furnizeaz.

6.4.1 Modelul Serviciului TCP

Serviciul TCP este obinut prin crearea att de ctre emitor ct i de ctre receptor a
unor puncte finale, numite socluri (sockets), aa cum s-a discutat n Sec. 6.1.3. Fiecare soclu
are un numr de soclu (adres) format din adresa IP a mainii gazd i un numr de 16 bii,
local gazdei respective, numit port. Port este numele TCP pentru un TSAP. Pentru a obine o
conexiune TCP, trebuie stabilit explicit o conexiune ntre un soclu de pe maina emitoare i
un soclu de pe maina receptoare. Apelurile de soclu sunt prezentate n Fig. 6-6.
Un soclu poate fi folosit la un moment dat pentru mai multe conexiuni. Altfel spus, dou sau mai
multe conexiuni se pot termina la acelai soclu. Conexiunile sunt identificate prin identificatorii
soclurilor de la ambele capete, adic (soclu 1, soclu 2). Nu este folosit nici un alt numr sau
identificator de circuit virtual.
486 NIVELUL TRANSPORT CAP. 6

Numerele de port mai mici dect 256 se numesc porturi general cunoscute i sunt rezervate
serviciilor standard. De exemplu, orice proces care dorete s stabileasc o conexiune cu o main
gazd pentru a transfera un fiier utiliznd FTP, se poate conecta la portul 21 al mainii destinaie
pentru a contacta demonul su FTP. Similar, portul 23 este folosit pentru a stabili o sesiune de lucru
la distan utiliznd TELNET. Lista porturilor general cunoscute este coninut n RFC 1700.
Toate conexiunile TCP sunt duplex integral i punct-la-punct. Duplex integral nseamn c
traficul se poate desfura n ambele sensuri n acelai timp. Punct-a-punct indic faptul c
fiecare conexiune are exact dou puncte finale. TCP nu suport difuzarea parial sau total.
O conexiune TCP este un flux de octei i nu un flux de mesaje. Dimensiunile mesajelor nu se
conserv de la un capt la cellalt. De exemplu, dac procesul emitor execut patru scrieri de cte
512 octei pe un canal TCP, aceste date pot fi livrate procesului receptor ca patru fragmente
(cfaunks) de 512 octei, dou fragmente de 1024 octei, un singur fragment de 2048 octei (vezi Fig. 6-
23) sau n orice alt mod. Nu exist posibilitatea ca receptorul s determine numrul de uniti n care
a fost scris informaia.
n UNIX, aceeai proprietate o au i fiierele. Cititorul unui fiier nu poate spune dac fiierul a
fost scris bloc cu bloc, octet cu octet sau tot dintr-o dat. Ca i un fiier UNIX, programele TCP nu au
nici cea mai vag idee despre semnificaia octeilor i nici cel mai mic interes pentru a afla acest
lucru. Un octet ese pur i simplu un octet.

Antet 1P Antet TCP

B C

fa) (b)
Fig. 6-23. (a) Patru segmente de 512 octei au fost trimise ca datagrame P separate,
(b) Livrarea celor 2048 octei ctre aplicaie, printr-un singur apel read.

Atunci cnd o aplicaie trimite date ctre TCP, TCP-ul le poate expedia imediat sau ie
poate reine ntr-un tampon (n scopul colectrii unei cantiti mai mari de informaie pe care
s o expedieze toat odat), dup bunul su plac. Cu toate acestea, cteodat, aplicaia dorete
explicit ca informaia s fie expediat imediat. De exemplu, s presupunem c un utilizator
este conectat la o main de la distan. Dup ce a fost terminat o linie de comand i s-a
tastat Return, este esenial ca linia s fie imediat expediat ctre maina de la distan i s nu
fie memorat pn la terminarea urmtoarei linii. Pentru a fora expedierea, aplicaia poate
folosi indicatorul PUSH, care i semnaleaz TCP-ului s nu ntrzie procesul de transmisie.
Unele din primele aplicaii foloseau indicatorul PUSH ca un fel de marcaj pentru a
delimita marginile mesajelor. Dei acest truc funcioneaz cteodat, uneori el eueaz
datorit faptului c, la recepie, nu toate implementrile TCP-ului transmit aplicaiei
indicatorul PUSH. Mai muit dect att, dac mai multe indicatoare PUSH apar nainte ca
primul s fi fost transmis (de exemplu, pentru c linia de legtur este ocupat), TCP-ul este
liber s colecteze toat informaia referit de ctre aceste indicatoare ntr-o singur datagram
IP, fr s includ nici un separator ntre diferitele sale pri.
O ultim caracteristic a serviciului TCP care merit menionat aici const n informaia
SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 487

urgent. Atunci cnd un utilizator apas tasta DEL sau CTRL-C pentru a ntrerupe o prelucrare la
distan, aflat deja n execuie, aplicaia emitor plaseaz o informaie de control n fluxul de date
i o furnizeaz TCP-ului mpreun cu indicatorul URGENT. Acest eveniment impune TCP-ului
ntreruperea acumulrii de informaie i transmisia imediat a ntregii informaii disponibile deja
pentru conexiunea respectiv.
Atunci cnd informaia urgent este recepionat la destinaie, aplicaia receptoare este
ntrerupt (de ex. prin emisia unui semnai, n terminologie UNIX), astfel nct, eliberat de orice alt
activitate, aplicaia s poat citi fluxul de date i s poat regsi informaia urgent. Sfritul
informaiei urgente este marcat, astfel nct aplicaia s tie cnd se termin informaia. nceputul
informaiei urgente nu este marcat. Este sarcina aplicaiei s determine acest nceput. Aceast
schem furnizeaz de fapt un rudiment de mecanism de semnalizare, orice alte detalii fiind lsate la
latitudinea aplicaiei.

6=4.2 Protocolul TCP

n aceast seciune vom prezenta un punct de vedere general asupra protocolului TCP,
pentru a ne concentra apoi, n seciunea care i urmeaz, asupra antetului protocolului, cmp
cu cmp. Fiecare octe al unei conexiuni TCP are propriul su nurnr de secven, reprezentat
pe 32 bii. Pentru o main care utilizeaz la viteza maxim o reea local de lOMbps, dei este
teoretic posibi ca numerele, de secven s depeasc valoarea maxim reprezentabii pe 32
de bii ntr-o singur or, n realitate dureaz mai mult. Numerele de secven sunt utilizate
att pentru confirmri ct i pentru mecanismul de secveniere, acesta din urm utiliznd
cmpuri separate de 32 de bii din antet.
Entitile TCP de transmisie i de recepie interscnimb informaie sub form de segmente.
Un segment const dintr-un antet de exact 20 de octei (plus o parte opional) urmat de zero
sau mai muli octei de date. Programul TCP este cel care decide ct de mari trebuie s fie
aceste segmente. El poate acumula informaie provenit din mai multe scrieri ntr-un singur
segment sau poate fragmenta informaia provenind dintr-o singur scriere n mai multe
segmente. Exist dou limite care restricioneaz dimensiunea unui segment. n primul rnd,
fiecare segment, inclusiv antetul TCP, trebuie s ncap n cei 65.535 de octei de informaie
util IP. n al doilea rnd, fiecare reea are o unitate maxim de transfer sau MTU (Maximum
Transfer Unit), deci fiecare segment trebuie s ncap n acest MTU. n realitate, MTU este n
general de cteva mii de octei, definind astfel o limit superioar a dimensiunii unui segment.
Dac un segment parcurge o secven de reele fr a fi fragmentat i ajunge apoi la o reea ai
crui MTU este mai mic dect dimensiunea segmentului, ruterul de la frontiera acelei reele
fragmenteaz segmentul n dou sau mai multe segmente mai mici.
Un segment care este prea mare pentru o reea pe care o tranziteaz poate fi spart de ctre ruter
n mai multe segmente. Fiecare nou segment obine propriile antete TCP i IP, astfel nct
fragmentarea realizat de ctre rutere mrete ncrcarea total n reea (deoarece fiecare segment
este mrit cu antetul de 40 de octei de informaie suplimentar).
Protocolul de baz utilizat de ctre entitile TCP este protocolul cu fereastr glisant. Atunci
cnd un emitor transmite un segment, el pornete un cronometru. Atunci cnd un segment ajunge
la destinaie, entitatea TCP receptoare trimite napoi un segment (cu informaie util, dac aceasta
exist sau fr, n caz contrar) care conine totodat i numrul de secven urmtor pe care aceasta
488 NIVELUL TRANSPORT CAP. 6

se ateapt s-1 recepioneze. Dac cronometrul emitorului depete o anumit valoare naintea
primirii confirmrii, emitorul retransmite segmentul neconfirmat.
Dei acest protocol pare simplu, pot aprea multe situaii particulare pe care le vom prezenta
mai jos. De exemplu, avnd n vedere c segmentele pot fi fragmentate, este posibil ca o parte a
segmentului s fie recepionat i confirmat de ctre entitatea TCP receptoare, n timp ce restul s
fie pierdut. De asemenea, segmentele pot ajunge ntr-o ordine arbitrar, de exemplu octeii 3072-
4095 pot fi recepionai, dar nu pot fi confirmai datorit absenei octeilor 2048-3071. Segmentele
pot de asemenea ntrzia pe drum un interval de timp suficient de mare pentru ca emitorul s
detecteze o depire a cronometrului i s le retransmit. Dac segmentul retransmis parcurge o
cale diferit de cea parcurs de segmentul original i este fragmentat n mod diferit, atunci unii bii
sau unele poriuni, att din segmentul original ct i din segmentul duplicat, pot fi recepionate
sporadic, ceea ce impune o tratare atent, astfel nct fluxul de octei s fie fiabil. In sfrit, cu attea
reele care compun Internetul, este posibil ca un segment s ntlneasc n drumul su o reea
congestionat sau chiar temporar nefuncional.
TCP trebuie s fie pregtit s fac fa unor astfel de situaii i s le rezolve ntr-o manier
eficient. Un efort considerabil a fost dedicat optimizrii performanelor fluxurilor TCP, inndu-se
cont inclusiv de probleme legate de reea. n continuare vor fi prezentai un numr de algoritmi
utilizai de numeroase implementri TCP.

n figura 6-24 este prezentat structura unui segment TCP. Fiecare segment ncepe cu un
antet format dintr-o structur fix de 20 de octei. Antetul fix poate fi urmat de un set de
opiuni asociate antetului. In continuarea opiunilor, dac ele exist, pot urma pn ia 65.535 -
20 - 20 = 65.515 de octei de date, unde primul 20 reprezint antetul IP, iar al doilea antetul
TCP. Segmente care nu conin octei de date sunt nu numai permise, dar i utilizate n mod
frecvent pentru confirmri i mesaje de control.

^ 32 bii >-

Port surs i Port destinaie

Numr de secven

Numr de confirmare

| Lungimea u A P R S F
I antetului R C S S Y I Dimensiunea ferestrei
TCP G K H T N N

Sum de contrai indicator urgent

Opiuni {unul sau mai multe cuvinte pe 32 de bii}

Date (opional)

ig. 6-24. Antetul TCP.


SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 489

S disecm acum structura antetului TCP, cmp cu cmp. Cmpurile Poit surs i Port
destinaie identific punctele finale ale conexiunii. Fiecare main poate decide pentru sine
modalitatea de alocare a porturilor sale mai mari de 256. Un port formeaz mpreun cu
adresa IP a mainii sale un unic TSAP de 48 de bii. Conexiunea este identificat de ambele
numere ale soclurilor surs i destinaie.
Cmpurile Numr de secven i Numr de confirmare au semnificaia funciilor lor uzuale.
Trebuie notat c cel din urm indic octetul urmtor ateptat i nu ultimul octet recepionat n mod
corect. Ambele cmpuri au lungimea de 32 de bii, deoarece ntr-un flux TCP fiecare bit de
informaie este numerotat.
Lungimea antetului TCP indic numrul de cuvinte de 32 de bii care sunt coninute n antetul
TCP. Aceast infomiatie este util, deoarece cmpul Opiuni este de lungime variabil, proprietate
pe care o transmite astfel i antetului. Tehnic vorbind, acest cmp indic n realitate nceputul
datelor din segment, msurat n cuvinte de 32 de bii, dar cum acest numr este identic cu lungimea
antetului n cuvinte, efectul este acelai.
Urmeaz un cmp de ase bii care este neutilizat. Faptul c acest cmp a supravieuit intact mai
mult de un deceniu, este o mrturie despre ct de bine a fost proiectat TCP-ul. Protocoale mai prost
concepute ar fi avut nevoie de el pentru a corecta erori ale proiectrii iniiale.
Urmeaz acum ase indicatori de cte un bit. URG este poziionat pe 1 dac Indicatorul
Urgent este valid. Indicatoml Urgent este folosit pentru a indica deplasamentul n octei fa de
numrul curent de secven la care se gsete informaia urgent. O astfel de facilitate
suplinete mesajele de ntrerupere. Aa cum am menionat deja anterior, aceast facilitate
reprezint esena modului n care emitorul poate transmite un semnal receptorului fr ca
TCP-ul n sine s fie cauza ntreruperii.
Bitul ACK este poziionat pe 1 pentru a indica faptul c Numrul de confiimare este valid. n
cazul n care ACK este poziionat pe 0, segmentul n discuie nu conine o confirmare i cmpul
Numr de confiimare este ignorat.
Bitul PSH indic informaia FORAT. Receptorul este rugat respectuos s livreze aplicaiei
informaia respectiv imediat ce este recepionat i s nu o memoreze n ateptarea umplerii
tampoanelor de comunicaie (lucru care, altminteri, ar fi fcut din raiuni de eficien).
Bitul RST este folosit pentru a desfiina o conexiune care a devenit inutilizabil datorit
defeciunii unei maini sau oricrui alt motiv. El este de asemenea utilizat pentru a refuza un
segment invalid sau o ncercare de deschidere a unei conexiuni. n general, recepionarea unui
segment avnd acest bit poziionat indic o problem care trebuie tratat n funcie de context.
Bitul SYN este utilizat pentru stabilirea unei conexiuni. Cererea de conexiune conine SYN
= 1 i ACK = 0 pentru a indica faptul c acel cmp suplimentar de confirmare nu este utilizat.
Rspunsul la o astfel de cerere conine o confirmare, avnd deci SYN = 1 i ACK - 1. n
esen, bitul SYN este utilizat pentru a indica o CERERE DE CONEXIUNE i o CONEXIUNE
ACCEPTAT, bitul ACK fcnd distincia ntre cele dou posibiliti.
Bitul FIN este folosit pentru a ncheia o conexiune. El indic faptul c emitorul nu mai are nici
o informaie de transmis. Cu toate acestea, dup nchiderea conexiunii, un proces poate recepiona
n continuare date pe o durat nedefinit. Ambele segmente, SYN i FIN, conin numere de
secven i astfel este garantat faptul c ele vor fi prelucrate n ordinea corect.
n TCP, fluxul de control este tratat prin ferestre glisante de dimensiune variabil. Cmpul
Fereastr indic numrul de octei care pot fi trimii, ncepnd de la octetul confirmat. Un cmp
490 NIVELUL TRANSPORT CAP. 6

Fereastr de valoare 0 este perfect legal i spune c octeii pn ia Numr de confirmare -1 inclusiv
au fost recepionai, dar receptorul dorete cu ardoare o pauz, aa c mulumete frumos, dar
pentru moment nu dorete continuarea transferului. Permisiunea de expediere poate fi acordat
ulterior prin trimiterea unui segment avnd acelai Numr de confirmare, dar un cmp Fereastr cu o
valoare nenui.
Este de asemenea prevzut o Sum de control, n scopul obinerii unei fiabiliti extreme.
Aceast sum de control este calculat pentru antet, informaie i pseudo-antetul conceptual
prezentat n Fig. 6-25. n momentul calculului, Suma de control TCP este poziionat pe zero,
iar cmpul de date este completat cu un octet suplimentar nul dac lungimea sa este un
numr impar. Algoritmul de caicul al sumei de control este simplu, el adunnd toate cuvintele
de 16 bii n complement fa de i aplicnd apoi nc o dat complementul fa de i asupra
sumei. n acest mod, atunci cnd receptorul aplic aceiai caicul asupra ntregului segment,
inclusiv asupra Sumei de control, rezultatul ar trebui s fie 0.

32 Bii
: :
1 1 1 1 < ! 1 ! > 1 1 i ! i

Adres surs

Adres destinaie

0GQ0Q000 Protocoi = 5 | Lungime segment TCP

FIg. 6-25. Pseudo-anteui inclus n suma de control TCP.

Pseudo-antetul conine adresele IP ale mainii surs i destinaie, de 32 de bii fiecare, numrul
de protocoi pentru TCP (6) i numrul de octei ai segmentului TCP (incluznd i antetul). Prin
includerea pseudo-anetuiui n calculul sumei de control TCP se pot detecta pachetele care au fost
preluate eronat, dar procednd astfel, este negat nsi ierarhia protocolului, deoarece adresa IP
aparine nivelului P i nu nivelului TCP.
Cmpul Opiuni a fost proiectat pentru a permite adugarea unor facilitai suplimentare
neacoperite de antetul obinuit. Cea mai important opiune este aceea care permite fiecrei maini
s specifice ncrcarea maxim de informaie util TCP pe care este dispus s o accepte. Utilizarea
segmentelor de dimensiune mare este mai eficient dect utilizarea segmentelor de dimensiune
mic datorit amortizrii antetului de 20 de octei prin cantitatea mai mare de informaie util. Cu
toate acestea, este posibil ca maini mai puin performante s nu fie capabile s manevreze segmente
foarte mari. In timpul iniializrii conexiunii, fiecare parte anun dimensiunea maxim acceptat i
ateapt de la partener aceeai informaie. Ctig cel mai mic dintre cele dou numere. Dac o
main nu cunoate aceast opiune, valoarea implicit de informaie util este de 536 octei. Este
de ateptat ca toate mainile din Internet s accepte segmente de dimensiune 536 + 20 = 556 octei.
O fereastr de 64 K octei reprezint adesea o problem pentru liniile cu o lrgime de
band mare i/sau cu ntrzieri mari. Pe o linie T3 (44.736 Mbps) trimiterea unei ferestre
ntregi de 64 K octei dureaz doar 12 msec. Dac ntrzierea propagrii dus-ntors este de 50
SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 491

msec (valoarea tipic pentru o linie trans-continental), emitorul va atepta confirmri -


3
fiind deci inactiv- A din timp. Pe o conexiune prin satelit, situaia este chiar mai rea. O
fereastr de dimensiune mare ar permite emitorului s continue pomparea informaiei, ns
o astfel de dimensiune nu poate fi reprezentat n cei 16 bii ai cmpului Fereastr. n RFC
1323 se propune o opiune Scal a ferestrei, permind emitorului i receptorului s
negocieze un factor de scalare a ferestrei. Acest numr permite ambelor pri s deplaseze
32
cmpul Fereastr cu pn la 16 bii spre stnga, permind astfel ferestre de pn la 2 octei.
Aceast opiune este suportat n prezent de cele mai multe implementri ale TCP-ului.
O alt opiune propus de RFC 1106, i care este n prezent implementat pe scar larg, const
n utilizarea unei repetri selective n locul unui protocol cu ntoarcere de n pai. Dac receptorul
primete un segment eronat urmat de un numr mare de segmente corecte, protocolul TCP clasic va
constata ntr-un final o depire de timp i va retrimite toate segmentele neconfirmate, deci i pe
acelea care au fost recepionate corect. RFC 1106 introduce NAK-urile pentru a permite
receptorului s cear un anumit segment (sau segmente). Dup obinerea acestora, el poate
confirma toat informaia memorat reducnd astfel cantitatea de informaie retransmis.

6.4.4 Administrarea conexiunii TCP

n TCP conexiunile sunt stabilite utiliznd nelegerea n trei pai", discutat n Sec. 6.2.2.
Pentru a stabili o conexiune, una din pri - s spunem serverul - ateapt n mod pasiv o cerere de
conexiune prin execuia primitivelor LISTEN i ACCEPT, putnd specifica o surs anume sau nici o
surs n mod particular.
Cealalt parte - s spunem clientul - execut o primitiv CONNECT, indicnd adresa IP i numrul
de port la care dorete s se conecteze, dimensiunea maxim a segmentului TCP pe care este dispus
s o accepte i, opional, o informaie utilizator (de exemplu o parol). Primitiva CONNECT trimite un
segment TCP avnd bitul SYN poziionat i bitul^4C/<C nepoziionat, dup care ateapt un rspuns.
Gazd 1 Gazd 2 Gazd 1 Gazd 2

Q.
E
F

V+l)

(a) (b)

Fig. 6-26. (a) Stabilirea unei conexiuni TCP n cazul normal, (b) Coliziunea apelurilor.
492 NIVELUL TRANSPORT CAP. 6

Atunci cnd sosete la destinaie un segment, entitatea TCP receptoare verific dac nu cumva
exist un proces care a executat LISTEN pe numrul de port specificat n cmpul Port destinaie. n caz
contrar, trimite un rspuns cu bitul RST poziionat, pentru a refuza conexiunea.
Dac exist vreun proces care ascult la acel port, segmentul TCP recepionat va fi dirijat ctre
procesul respectiv. Acesta poate accepta sau refuza conexiunea. Dac o accept, trimite napoi
expeditorului un segment de confirmare. n Fig. 6-26(a) este reprezentat secvena de segmente
TCP transferate n caz de funcionare normal. De notat c un segment SYN consum un octet din
spaiul numerelor de secven, astfel nct confirmarea s poat fi fcut fr ambiguiti.
Secvena de evenimente ilustrat n Fig. 6-26(b) reprezint cazul n care dou maini ncearc
simultan s stabileasc o conexiune ntre aceleai dou porturi. Rezultatul acestor evenimente este
c doar o conexiune ajunge s fie stabilit i nu dou, deoarece conexiunile sunt identificate prin
punctele lor terminale. Dac prima iniializare conduce ia crearea unei conexiuni identificat prin (x,
y) i acelai lucru l face i cea de-a doua iniializare, atunci este construit o singur intrare de tabel,
n spe pentru (x, y).
Numrul iniial de secven asociat unei conexiuni nu este 0, din motivele discutate anterior. Se
utilizeaz o schem bazat pe un ceas cu o btaie la fiecare 4 jisec. Pentru sigurana suplimentar,
atunci cnd o main se defecteaz, este posibil ca ea s nu fie reiniializat n timpul de via
maxim al unui pachet (120 sec), garantndu-se astfel c pachetele unei conexiuni anterioare nu se
plimb nc pe undeva prin Internet.
Dei conexiunile TCP sunt bidirecionale, pentru a nelege cum sunt desfiinate conexiunile, cel
mai bine este s ni ie imaginm sub forma unei perechi de legturi unidirecionale. Fiecare legtur
unidirecional este eliberat independent de perechea sa. Pentru eliberarea unei conexiuni, orice
partener poate expedia un segment TCP avnd bitul FIN poziionat, lucru care indic faptul c nici o
informaie nu mai urmeaz s fie transmis. Atunci cnd FIN-xil este confirmat, sensul respectiv de
comunicare este efectiv oprit. Cu toate acestea, informaia poate fi transferat n continuare,
nedefinit, n cellalt sens. Conexiunea este desfiinat atunci cnd ambele direcii au fost oprite. n
mod normal, pentru a elibera o conexiune sunt necesare patru segmente TCP: cte un FIN i un
ACK pentru fiecare sens. Cu toate acestea, este posibil ca primul ACK i cel de-a! doilea FIN s fie
cuprinse n acelai segment reducnd astfel numrul total ia trei.
La fel ca n conversaiile telefonice, n care ambele persoane pot spune la revedere" i pot
nchide telefonul simultan, ambele capete ale unei conexiuni TCP pot expedia segmente FIN n
acelai timp. Acestea sunt confirmate ca de obicei, conexiunea fiind astfel eliberat. Nu exist de
fapt nici o diferen esenial ntre cazurile n care mainile elibereaz conexiunea secvenial
respectiv simultan.
Pentru a evita problema celor dou armate, sunt utilizate cronometre. Dac un rspuns la un
FIN nu este recepionat pe durata a cei mult dou cicluri de maxime de via ale unui pachet,
emitorul FIN-uhii elibereaz conexiunea. Cealalt parte va observa n final c nimeni nu mai pare
s asculte la cellalt capt al conexiunii, datorit expirrii unui interval de timp. Aceast soluie nu
este perfect, dar avnd n vedere faptul c o soluie perfect este teoretic imposibil, va trebui s ne
mulumim cu ce avem. n realitate astfel de probleme apar foarte rar.
Paii necesari stabilirii unei conexiuni pot fi reprezentai printr-un automat cu stri finite, cele 11
stri ale acestuia fiind prezentate n Fig. 6-27. n fiecare stare pot aprea doar anumite evenimente.
Atunci cnd are loc un astfel de eveniment, este ndeplinit o aciune specific. Atunci cnd se
produce un eveniment a crui apariie nu este legal n starea curent, este semnalat o eroare.
SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 493

Fiecare conexiune debuteaz n starea NCHIS. Aceast stare este prsit dac urmeaz s se
stabileasc o conexiune pasiv (LISTEN) sau activ (CONNECr). Dac partenerul stabilete o
conexiune de tipul opus, starea devine STABILIT. Desfiinarea conexiunii poate fi iniiat de oricare
din parteneri, odat cu eliberarea conexiunii revenindu-se n starea NCHIS.

Stare Descriere
CLOSED (NCHIS) Nici o conexiune nu este activ sau n ateptare
LISTEN (ASCULTARE) Serverul ateapt recepionarea unui apel
SYN RCVD (Recepie SYN) S-a recepionat o cerere de conexiune; atept ACK
SYN SENT (Transmisie SYN) Aplicaia a nceput deschiderea unei conexiuni
ESTABLISHED (STABILIT) Starea normal de transfer a datelor
FIN WAIT1 (Ateptare FIN 1) Aplicaia a anunat c termin
FIN WAIT 2 (Ateptare FIN 2) Partenerul este de acord cu eliberarea conexiunii
TIMED WAIT (Ateptare Temporizat) Se ateapt moartea" tuturor pachetelor
CLOSING (In curs de NCHIDERE) Ambele pri ncearc simultan nchiderea
CLOSE WAIT (NCHIDE i ATEAPT) Partenerul a iniiat eliberarea conexiunii
LAST ACK (CONFIRMARE FINALA) Se ateapt moartea" tuturor pachetelor

Fig. 6-27. Strile utilizate n automatul cu stri finite pentru controlul conexiunii TCP.

Automatul cu stri finite este reprezentat n Fig. 6-28. Cazul cel mai comun, al unui client
conectndu-se activ la un server pasiv, este reprezentat prin linii groase - continue pentru client i
ntrerupte pentru server. Liniile subiri reprezint secvene de evenimente mai puin obinuite, dar
posibile. Fiecare linie din Fig. 6-28 este etichetat cu o pereche eveniment/aciune. Evenimentul
poate fi unul iniiat de ctre utilizator printr-un apel sistem (CONNECr, LISTEN, SEND sau CLOSE),
recepionarea unui segment (SYN, FIN, ACK sau RST) sau, ntr-un singur caz, expirarea unui
interval de timp egal cu dublul ciclului de via a unui pachet. Aciunea const n expedierea unui
segment de control (SYN, FIN sau RST) sau nici o aciune", lucru reprezentat prin .
Comentariile sunt incluse ntre paranteze.
Diagrama poate fi neleas cel mai bine urmrind de la bun nceput calea urmat de un
client (linia groas continu) i apoi calea urmat de un server (linia groas ntrerupt). Atunci
cnd o aplicaie de pe maina client genereaz o cerere CONNECT, entitatea TCP local
creeaz o nregistrare de conexiune, o marcheaz ca fiind n starea SYN SENT i trimite un
segment SYN. De observat c mai multe conexiuni pot fi deschise (sau n curs de a fi deschise)
n acelai timp spre folosul mai multor aplicaii, astfel nct o stare este asociat unei conexiuni
i este nregistrat n nregistrarea asociat acesteia. La recepia unui SYN + ACK, TCP
expediaz ultima confirmare (ACK) din nelegerea n trei pai" i comuta n starea
STABILIT. Din acest moment, informaia poate fi att expediat ct i recepionat.
Atunci cnd se termin o aplicaie, se apeleaz primitiva CLOSE care impune entitii TCP locale
expedierea unui segment FIN i ateptarea ACK-vlui corespunztor (dreptunghiul figurat cu linie
. ntrerupt i etichetat nchidere activ"). Atunci cnd ACK-\A este recepionat, se tranziteaz n
starea ATEPTARE FIN 2, unul din sensuri fiind n acest moment nchis. Atunci cnd cellalt sens
este la rndul su nchis de partenerul de conexiune, se recepioneaz un FIN care este totodat i
confirmat. n acest moment, ambele sensuri sunt nchise, dar TCP-ul ateapt un interval de timp
egal cu dublul duratei de via a unui pachet, garantnd astfel c toate pachetele acestei conexiuni
494 NIVELUL TRANSPORT CAP. 6

au murit i c nici o confirmare nu a fost pierdut. Odat ce acest interval de timp expir, TCP-ul
terge nregistrarea asociat conexiunii.

(Start)
CONNECT/SYN
NCHIS
CLOSE/-
LISTEW- CLOSE/-
SYN/SYN + ACK
ASCULTARE

A
RST/ SEND/SYN
SYN SYN
PRIMIT TRMIS
SYN/SYN + ACK {deschidere simultan)

{Starea de transfer a datelor)


ACK/-
STABiLIT
SYN + ACK/ACK
CLOSE/FSN i (Pasu 3 din "nelegerea n trei pai"!

(nchidere activai (nchidere 'i, Pasiv)

Ateptare n curs de i NCHIDE i


'FIN I NCHIDERE ATEAPT

ACK/ ACK/ CLOSE/F1N

+ ACK/ACK
Ateptare Ateptare CONFIRMARE
2 Temporizat

i j i

{Depire de timp/l
ACK/
SNCHiS

(Revenire Sa nceput)
FIg. 6-28. Automatul cu stri finite pentru controlul conexiunii TCP. Linia groas continu este
calea normal pentru client. Linia groas ntrerupt este calea normal pentru server. Liniile
subiri sunt evenimente neuzuale.

S examinm acum gestiunea conexiunii din punctul de vedere al server-ului. Acesta execut.
LISTEN i se aeaz" fiind totodat atent pentru a vedea cine se ridic n picioare". La
receptionarea unui SYN, acesta este confirmat i serverul comut n starea SYNRCVD. Atunci cnd
SKV-ul server-ului este la rndul su confirmat, nelegerea n trei pai" este complet, serverul
comutnd n starea STABILIT. De acum, transferul informaiei poate ncepe.
SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 495

Atunci cnd s-a sturat", clientul execut CLOSE, ceea ce conduce la atenionarea server-ului
prin recepionarea unui FIN (dreptunghiul figurat cu linie ntrerupt i etichetat nchidere pasiv").
Atunci cnd i acesta execut un CLOSE, se trimite un FIN ctre client. Odat cu primirea
confirmrii clientului, serverul desfiineaz conexiunea i terge nregistrarea asociat.

6.45 Politica TCP de Transmisie a datelor

Administrarea ferestrei n TCP nu este direct legat de confirmri, aa cum se ntmpl la cele
mai multe protocoale de nivel legtur de date. De exemplu, s presupunem c receptorul are un
tampon de 4096 octei, aa cum se vede n Fig. 6-29. Dac emitorul transmite un segment de 2048
de octei care este recepionat corect, receptorul va confirma segmentul. Deoarece acum tamponul
acestuia din urm mai are liberi doar 2048 octei (pn cnd aplicaia terge nite date din acest
tampon), receptorul va anuna o fereastr de 2048 octei ncepnd de la urmtorul octet ateptat.
Acum, emitorul transmite ali 2048 octei, care sunt confirmai, dar fereastra oferit este 0.
Emitorul trebuie s se opreasc pn cnd procesul aplicaie de pe maina receptoare a ters nite
date din tampon, moment n care TCP poate oferi o fereastr mai mare.
Atunci cnd fereastra este 0, n mod normal emitorul nu poate s transmit segmente, cu dou
A

excepii. In primul rnd, informaia urgent trebuie trimis, de exemplu pentru a permite
utilizatorului s opreasc procesele rulnd pe maina de la distan. n al doilea rnd, emitorul
poate trimite un segment de un octet pentru a determina receptorul s reanune urmtorul octet
ateptat i dimensiunea ferestrei. Standardul TCP prevede n mod explicit aceast opiune pentru a
preveni interblocarea n cazul n care se ntmpl ca anunarea unei ferestre s fie vreodat pierdut.
Emitorii nu transmit n mod obligatoriu date de ndat ce acest lucru este cerut de ctre
aplicaie. Nici receptorii nu trimit n mod obligatoriu confirmrile de ndat ce acest lucru este
posibil. De exemplu, n Fig. 6-29, atunci cnd sunt disponibili primii 2K octei, TCP, tiind c
dispune de o fereastr de 4K octei, va memora informaia n tampon pn cnd ali 2K octei devin
disponibili i astfel se va putea transmite un segment cu o ncrcare util de 4K octei. Aceast
facilitate poate fi folosit pentru mbuntirea performanelor.
S considerm o conexiune TELNET cu un editor interactiv care reacioneaz la fiecare
apsare a tastelor. n cel mai ru caz, atunci cnd un caracter sosete la entitatea TCP
emitoare, TCP creeaz un segment TCP de 21 octei, pe care l furnizeaz IP-ului pentru a fi
transmis ca o datagram IP de 41 octei. De partea receptorului, TCP transmite imediat o
confirmare de 40 octei (20 octei antet TCP i 20 octei antet IP). Mai trziu, cnd editorul a
citit caracterul, TCP transmite o actualizare a ferestrei, deplasnd fereastra cu un octet la
A

dreapta. Acest pachet este de asemenea de 40 octei. In final, cnd editorul a prelucrat
caracterul, transmite ecoul sub forma unui pachet de 41 octei. Cu totul, sunt folosii 162 octei
din lrgimea de band i sunt trimise patru segmente pentru orice caracter tiprit. Atunci cnd
lrgimea de band este redus, aceast metod de lucru nu este recomandat.
O abordare folosit de multe implementri TCP pentru optimizarea acestei situaii const n
ntrzierea confirmrilor i actualizrilor de fereastr timp de 500ms, n sperana apariiei unor
informaii la care s se ataeze pentru o cltorie pe gratis. Presupunnd c editorul are un ecou de
50 ms, este necesar acum un singur pachet de 41 octei pentru a fi trimis utilizatorului de la distan,
reducnd numrul pachetelor i utilizarea lrgimii de band la jumtate.
496 NIVELUL TRANSPORT CAP. 6

Emitor Receptor Tamponul


Aplicaia j receptorului
execut o 4k
scriere de
2 octei

ACK = 2048 WIN = 2043

iicaia
execut o
scriere de
2 octei

Emitorul Aplicaia
sste bSoca citete
2 K octei

Emitorul
poate trimite !
pn la 2K octei

Fig. 6-29. Controlul ferestrei n TCP.

Dei aceast regul reduce ncrcarea reelei de ctre receptor, emitorul opereaz nc
ineficient trimind pachete de 41 octei care conin un singur octet de date. O modalitate de a
reduce aceast deficien este cunoscut ca algoritmul Iui Nagle (Nagle, 1984). Sugestia lui Nagle
este simpl: atunci cnd emitorul dispune de date, n secven, de cte un octet, ei va trimite doar
primul octet, restul octeilor fiind memorai pn ia confirmarea primului octet. Apoi vor fi trimise
toate caracterele memorate ntr-un segment TCP i va continua memorarea pn la confinnarea
tuturor octeilor. Dac utilizatorul tasteaz repede i reeaua este lent, un numr substanial de
caractere poate fi plasat n fiecare segment, reducnd cu mult lrgimea de band folosit. n plus,
algoritmul permite transmisia unui nou pachet, dac s-a dispus de suficient informaie pentru a
umple jumtate dintr-o fereastr sau pentru a completa un segment.
Implementrile TCP folosesc pe scar larg algoritmul lui Nagle, dar exist situaii cnd este mai
bine ca el s fie dezactivat. n particular, cnd o aplicaie X-Windows ruleaz prin Internet,
deplasrile mausului trebuie transmise mainii de la distan. Gruparea lor pentru a fi transmise n
rafal provoac o micare imprevizibil a cursorului, lucru care nemulumete profund utilizatorii.
SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 497

O alt problem care poate ruina performana TCP este sindromul ferestrei stupide. (Clark,
1982). Aceast problem apare atunci cnd informaia este furnizat entitii TCP emitoare n
blocuri mari, dar la partea receptoare o aplicaie interactiv citete datele octet cu octet. Pentru a
nelege problema, s analizm Fig. 6-30. Iniial, tamponul TCP al receptorului este plin i
emitorul tie acest fapt (adic are o fereastr de dimensiune 0). Apoi, aplicaia interactiv citete
un caracter de pe canalul TCP. Aceast aciune face fericit entitatea TCP receptoare, deci ea va
trimite o actualizare de fereastr ctre emitor dndu-i astfel dreptul de a mai trimite un octet.
ndatorat, emitorul trimite un octet. Cu acesta, tamponul este plin i receptorul confirm
segmentul de 1 octet, dar repoziioneaz dimensiunea ferestrei la 0. Acest comportament poate
continua la nesfrit.

Tamponul receptorului este piin

Aplicaia citete 1 octet

::pe;riwMnc::U .ri octet:

Antet Transmisie de actualizare de fereastr

Antet Se recepioneaz un nou octet

Octet
Tamponui receptorului este piin

Fig. 6-30= Sindromul ferestrei stupide.

Soluia lui Clark este de a nu permite receptorului s trimit o actualizare de fereastr la fiecare
octet. n schimb, el este forat s atepte pn cnd spaiul disponibil are o dimensiune decent,
urmnd s-1 ofere pe acesta din urm. Mai precis, receptorul nu ar trebui s trimit o actualizare de
fereastr pn cnd nu va putea gestiona minimul dintre dimensiunea maxim oferit atunci cnd
conexiunea a fost stabilit i jumtate din dimensiunea tamponului su, dac este liber.
Mai mult dect att, emitorul poate ajuta netrimind segmente de dimensiune mic. n
schimb, el ar trebui s ncerce s atepte pn cnd acumuleaz suficient spaiu n fereastr
pentru a trimite un segment ntreg sau mcar unul coninnd cel puin jumtate din
dimensiunea tamponului receptorului (pe care trebuie s o estimeze din secvena
actualizrilor de fereastr recepionate pn acum).
498 NIVELUL TRANSPORT CAP. 6

Algoritmul lui Nagle i soluia lui Clark pentru sindromul ferestrei stupide sunt complementare.
Nagle a ncercat s rezolve problema furnizrii datelor ctre TCP octet cu octet, cauzat de aplicaia
emitoare. Clark a ncercat s rezolve problema extragerii datelor de la TCP octet cu octet, cauzat
de ctre aplicaia receptoare. Ambele soluii sunt valide i pot lucra mpreun. Scopul este ca
emitorul s nu trimit segmente mici, iar receptorul s nu cear astfel de segmente.
Receptorul TCP face, pentru mbuntirea performanelor, mai mult dect simpla actualizare a
ferestrei n uniti mari. Ca i emitorul TCP, el are posibilitatea s memoreze date, astfel nct s
poal bloca o cerere de READ a aplicaiei pn cnd i poate furniza o cantitate semnificativ de
informaie. Astfel se reduce numrul de apeluri TCP, deci suprancrcarea. Bineneles. n acest
mod va crete i timpul de rspuns, dar pentru aplicaii care nu suni interactive, aa cum este
transferul de fiiere, eficiena poate fi mai important dect rspunsul n timp la cereri individuale.
O alt problem de discutat despre receptor se refer la ce trebuie s fac acesta cu segmentele
care nu sosesc n ordine. Ele pot fi reinute sau descrcate, dup placul receptorului. Bineneles,
confirmrile pot fi trimise numai atunci cnd toat informaia pn ia octetul confirmat a fost
recepionat. Dac receptorul primete segmentele 0,1, 2, 4,5, 6 i 7, el poate confirma totul pn
ia ultimul octet din segmentul 2 inclusiv. Atunci cnd emitorul constat o depire de timp, el va
retransmite segmentul 3. Dac receptorul a memorat n tampon segmentele 4 pn la 7, odat cu
recepia segmentului 3 el poae confirma toi octeii pn Ia sfritul segmentului 7.

6.46 Ccsrols aragestiiei M TCP

Atunci cnd ncrcarea la care este supus o reea este mai mare dect poae aceasta s
suporte, apare o cretere a congestiei. nternet-ui nu face excepie. In aceast seciune, vom
discuta algoritmi care se ocup cu astfel de congestii i care au fost dezvoltai pe parcursul
ultimelor decenii. Dei nivelul reea ncearc de asemenea s controleze congestia, cea mai
mare parte a muncii este fcut de TCP, i aceasta deoarece adevrata soluie a congestiei
const n micorarea ratei de transfer a informaiei.
Teoretic, congestia poate fi controlat pe baza unui principiu mprumutat din fizic: iegea
conservrii pachetelor. Ideea de baz este de a nu injecta un nou pachet n reea pn cnd un
pachet mai vechi nu o prsete (de exemplu este furnizat receptorului). TCP ncearc s ating
acest scop prin manipularea dinamic a dimensiunii ferestrei.
Primul pas n controlul congestiei este detecia ei. Mai demult, detecia congestiei era
dificil. O depire de timp datorat pierderii unui pachet putea fi cauzat fie de (1) zgomotul
de pe linia de transmisie, fie de (2) descrcarea pachetului pe un traseu congestionat.
Diferenierea celor dou cazuri era dificil.
In zilele noastre, pierderea pachetului din pricina erorilor de -transmisie este destul de rar,
deoarece cele mai multe din trunchiurile principale de comunicaie sunt din fibr (dei reelele fr
fir sunt o poveste separat). In consecin, cele mai multe depiri ale timpilor de transmisie pe
Internet se datoreaz congestiilor. Toi algoritmii TCP din Internet presupun c depirile de timp
sunt cauzate de congestii i monitorizeaz aceste depiri pentru a detecta problemele.
nainte de a discuta despre modalitatea n care TCP reacioneaz la congestii, s descriem n
primul, rnd modul n care se ncearc prevenirea apariiei lor. Atunci cnd se stabilete o conexiune,
trebuie s se aleag o fereastr de o dimensiune potrivit. Receptorul poae specifica o fereastr
bazndu-se pe dimensiunea tamponului propriu. Dac emitorul accept aceast dimensiune a
SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 499

ferestrei, nu mai pot aprea probleme datorit depirii tamponului la recepie, dar pot aprea n
schimb datorit congestiei interne n reea.
n Fig. 6-31, putem vedea interpretarea hidraulic a acestei probleme. n Fig. 6-31 (a),
observm o conduct groas care duce la un receptor de dimensiune mic. Atta timp ct
emitorul nu trimite mai mult ap dect poate conine gleata, apa nu se va pierde. n figura
6-3l(b), factorul de limitare nu mai este capacitatea gleii, ci capacitatea de transport a
reelei. Dac vine prea repede prea mult ap, ea se va revrsa i o anumit cantitate se va
pierde (n acest caz prin umplerea plniei).

Ajustarea
ratei de
transmisie

Reeaua de
transmisie

Receptor
i capacia
mic

a) (b)

Fig. 6-31. (a) O reea rapid alimentnd un rezervor de capacitate mic.


(b) O reea lent alimentnd un receptor de mare capacitate.

Soluia din Internet este de a realiza posibilitatea existenei a dou probleme - capacitatea
reelei i capacitatea receptorului - i de a le trata pe fiecare separat. Pentru a face acest lucru,
fiecare emitor menine dou ferestre: fereastra acceptat de ctre receptor i o a doua fereastr,
fereastra de congestie. Fiecare reflect numrul de octei care pot fi trimii de ctre emitor.
Numrul octeilor care pot fi trimii este dat de minimul dintre cele dou ferestre. Astfel, fereastra
efectiv este minimul dintre ceea ce emitorul crede c este n regul" i ceea ce receptorul crede
c este n regul". Dac receptorul spune: Trimite 8K", dar emitorul tie c o rafal de mai mult
de 4K poate aglomera excesiv reeaua, el va trimite 4K. Din alt punct de vedere, dac receptorul
500 NIVELUL TRANSPORT CAP. 6

spune: Trimite 8K" i emitorul tie c o rafal de 32K poate strbate fr efort reeaua, el va
trimite toi cei 8K cerui.
La stabilirea conexiunii, emitorul iniializeaz fereastra de congestie la dimensiunea celui
mai mare segment utilizat de acea conexiune. El trimite apoi un segment de dimensiune
maxim. Dac acest segment este confirmat naintea expirrii timpului, mai adaug un
segment ia fereastra de congestie, fcnd-o astfel de dimensiunea a dou segmente de
dimensiune maxim, i trimite dou segmente. Odat cu confirmarea fiecruia din aceste
segmente, fereastra de congestie este redimensionat cu nc un segment de dimensiune
maxim. Atunci cnd fereastra de congestie este de n segmente, dac toate cele n segmente
sunt confirmate n timp util, ea este crescut cu numrul de octei corespunztor celor n
segmente. De fapt, fiecare rafal confirmat cu succes dubleaz fereastra de congestie.
Fereastra de congestie crete n continuare exponenial pn cnd sau se produce o depire de
timp, sau se atinge dimensiunea ferestrei receptorului. Ideea este ca dac rafale de dimensiune, s
spunem, 1024,2048 i 4096 de octei funcioneaz fr probleme, dar o rafal de 8192 octei duce la
o depire de timp, fereastra de congestie va fi stabilit la 4096 de octei pentru a evita congestia.
Atta timp ct fereastra de congestie rmne la 4096, nu va fi transmis nici o rafal mai mare de
aceast valoare, indiferent ct de mult spaiu de fereastr este oferit de ctre receptor. Acest
algoritm este numit algoritmul startului lent, fr a fi ns ctui de puin lent (Jacobson, 1988). Este
exponenial. Este de ateptat ca toate implementrile TCP s l suporte.

Depire de timp

8 10 12 14 16 18 20 22 24
Nurnr de transmisie

Fig. 6-32. Un exemplu al algoritmului de congestie din Internet.


SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 501

S privim acum algoritmul de control al congestiei n cazul Internetului. El utilizeaz n plus fa


de ferestrele de recepie i de congestie un al treilea parametru, numit prag, iniial de 64K. Atunci
cnd apare o depire de timp, pragul este poziionat la jumtate din fereastra curent de congestie
i fereastra de congestie este repozitionat la dimensiunea unui segment maxim. Startul lent este
utilizat apoi pentru a determina ct poate reeaua s duc, atta doar c acea cretere exponenial
se oprete odat cu atingerea punctului critic. De aici nainte transmisiile reuite mresc n mod
liniar dimensiunea ferestrei de congestie (cu cte un segment maxim pentru fiecare rafal) n locul
uneia pentru fiecare segment. De fapt, algoritmul presupune c este acceptabil tierea ferestrei de
congestie la jumtate, din acel punct continundu-i gradual calea spre dimensiuni mai mari.
Funcionarea algoritmului de congestie se poate vedea n Fig. 6-32. Dimensiunea unui segment
maxim este, n acest caz, de 1024 de octei. Iniial fereastra de congestie are 64K, dar apare o
depire de timp i deci pragul este stabilit la 32K iar fereastra de congestie la 1K acesta fiind
punctul 0 al transmisiei din figur. Fereastra de congestie crete apoi exponenial pn atinge pragul
(32K). ncepnd de aici, creterea este liniar.
Transmisia 13 nu are noroc (este de la sine neles) i apare o depire de timp. Pragul este stabilit
la jumtate din fereastra curent (acum 40K, deci jumtate este 20K) i startul lent este iniiat din nou.
Atunci cnd confirmrile pentru transmisia 18 ncep s soseasc, primele patru incrementeaz fiecare
fereastra de congestie cu un segment, dar dup aceea creterea devine liniar.
Dac nu mai apar depiri de timp, fereastra de congestie va continua s creasc pn la
dimensiunea ferestrei receptorului. n acest punct, creterea ei va fi oprit i va rmne constant
atta timp ct nu mai apar depiri i fereastra receptorului nu i modific dimensiunea. Ca un alt
aspect, dac un pachet ICMP SOURCE QUENCH sosete i este furnizat TCP-ului, acest eveniment
este tratat la fel ca o depire de timp.
Munca pentru mbuntirea mecanismelor de control a congestiei continu. De exemplu,
Brakmo .a. (1994) au anunat mbuntirea ratei de transfer a TCP-ului cu 40% pn la 70% prin
controlul mai precis al ceasului, prevznd congestiile naintea apariiei depirilor de timp i
folosind acest avertisment prealabil pentru a mbuntii algoritmul startului lent.

6.4.7 Administrarea contorului de timp n TCP

TCP utilizeaz (cel puin conceptual) mai multe contoare pentru a face ceea ce are de fcut. Cel
mai important dintre acestea este contorul de retransmisie. Atunci cnd este trimis un segment, se
pornete un contor de retransmisie. Dac segmentul este confirmat nainte de expirarea timpului,
contorul este oprit. Pe de alt parte, dac timpul expir naintea primirii confirmrii, segmentul este
retransmis (i contorul este pornit din nou). ntrebarea care se pune este urmtoarea: Ct de mare
trebuie s fie timpul de expirare?
Aceast problem este mult mai dificil la nivelul transport din Internet dect la nivelul
protocoalelor generice de legtur de date prezentate n Cap. 3. n cazul din urm, intervalul
ateptat este uor predictibil (de exemplu, are o variant sczut), deci contorul poate fi
determinat s expire chiar imediat dup ce era ateptat confirmarea, aa cum se arat n Fig.
6-33(a). Atta timp ct confirmrile sunt rareori ntrziate n nivelul legtur de date, absena
unei confirmri TCP trebuie s fac fa unui mediu radical diferit. Funcia de densitate a
probabilitii pentru timpul necesar ntoarcerii unei confirmri TCP arat mai degrab ca n
Fig. 6-33(b) dect ca n Fig. 6-33(a). Este dificil determinarea circuitului dus-ntors pn la
502 NIVELUL TRANSPORT CAP. 6

destinaie. Chiar i cnd acesta este cunoscut, stabilirea intervalului de depire este de asemenea
dificil. Dac intervalul este prea scurt, s spunem Tj n Fig. 6-33(b), vor aprea retransmisii inutile,
aglomernd Internet-ul cu pachete fr rost. Dac este prea lung, (T2), performanele vor avea de
suferit datorit unei retransmisii ntrziate de fiecare dat cnd se pierde un pachet. Mai mult dect
att, media i varianta distribuiei sosirii confirmrilor se pot schimba cu rapiditate pe parcursul a
ctorva secunde atunci cnd apare sau se rezolv o congestie.
la momentul ateptat nseamn, n general, pierderea cadrului de confirmare.

0.31 0.3

0.2

0.1 h

20 30 40 50 20 30 40 50
! cltoriei dus-ntors (msec) cltoriei dus-ntors fmsec)
(b)

Fij -33. (a) Densitatea de probabilitate a sosirilor n timp a confirmrilor n nivelul legtur
de date. (b) Densitatea de probabilitate a sosiri confirmrilor pentru TCP.

Soluia este de utilizare a unui algoritm profund dinamic care ajusteaz constant intervalul
de depire bazndu-se pe msurtori continue ale performanei reelei. Algoritmul general
utilizat de ctre TCP este datorat lui lacobsen (1988) i este descris mai jos. Pentru fiecare
conexiune, TCP pstreaz o variabil, RTT, care este cea mai bun estimare a circuitului dus-
ntors ctre destinaia in discuie. Atunci cnd este trimis un segment, se pornete un contor,
att pentru a vedea ct de mult dureaz pn la primirea confirmrii ct i pentru a iniia o
retransmisie n cazul scurgerii unui interval prea lung. Dac se primete confirmarea naintea
expirrii contorului, TCP msoar ct de mult i-a trebuit confirmrii s soseasc, fie acest timp
M. n continuare el actualizeaz RTT, dup formula:
RTT = aRTT + (l-a)M

unde a este un factor de netezire care determin ponderea dat vechii valori. Uzual, a=7/8.
Chiar presupunnd o valoare bun a lui RTT, alegerea unui interval potrivit de
retransmisie nu este o sarcin uoar. n mod normal, TCP utilizeaz $RTT, dar problema
const n alegerea lui (3. n implementrile iniiale, (3 era ntotdeauna 2, dar experiena a artat
c o valoare constant este inflexibil deoarece nu corespunde n cazul creterii variantei.
n 1988, Jacobson a propus ca j3 s fie aproximativ proporional cu deviaia standard a funciei de
densitate a probabilitii timpului de primire a confirmrilor, astfel nct o variant mare implic un
SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 503

(3 mare i viceversa. In particular, el a sugerat utilizarea deviaiei medii ca o estimare puin


costisitoare a deviaiei standard. Algoritmul su presupune urmrirea unei alte variabile de netezire,
D, deviaia. La fiecare sosire a unei confirmri, este calculat diferena dintre valorile ateptate i
observate RTT - M . O valoare netezit a acesteia este pstrat n D, prin formula

D = aD + (l-a)\RTT-M

unde a poate sau nu s aib aceeai valoare ca cea utilizat pentru netezirea lui RTT. Dei D- nu este
chiar deviaia standard, ea este suficient de bun i Jacobson a artat cum poate fi calculat utiliznd
doar adunri de ntregi, scderi i deplasri, ceea ce este un mare punct ctigat. Cele mai multe
implementri TCP utilizeaz acum acest algoritm i stabilesc valoarea intervalului de depire la:
Depire = RTT + 4* D
Alegerea factorului 4 este ntr-un fel arbitrar, dar are dou avantaje. n primul rnd, multiplicarea
prin 4 poate fi fcut printr-o singur deplasare. n al doilea rnd, minimizeaz depirile de timp i
retransmisiile inutile, datorit faptului c mai puin de un procent din totalul pachetelor sosesc cu
ntrzieri mai mari de patru ori deviaia standard. (De fapt, Jacobson a propus iniial s se foloseasc
2, dar experiena ulterioar a demonstrat c 4 conduce la performane mai bune).
O problem legat de estimarea dinamic a lui RTT se refer la ce trebuie fcut n situaia n
care un segment cauzeaz o depire i trebuie retransmis. Atunci cnd confirmarea este primit, nu
este clar dac aceasta se refer la prima transmisie sau la o transmisie urmtoare. O decizie eronat
poate contamina serios estimarea lui RTT. Phil Karn a descoperit aceast problem pe o cale
dificil. El este un radio amator entuziast, interesat n transmiterea pachetelor TCP/IP prin operare
radio, un mediu recunoscut pentru lipsa de fiabilitate (pe o zi senin, la destinaie ajung jumtate din
pachete). El a fcut o propunere simpl: s nu se actualizeze RTT pentru nici un segment care a fost
retransmis. n loc de aceasta, timpul de expirare este dublat la fiecare eec, pn cnd segmentele
ajung prima oar la destinaie. Aceast corecie este numit algoritmul Iui Karn. Cele mai multe din
implementrile TCP utilizeaz acest algoritm.
Contorul de retransmisie nu este singurul utilizat de ctre TCP. Un al doilea contor este
contorul de persisten. El este proiectat s previn urmtoarea situaie de interblocare. Receptorul
trimite o confirmare cu o dimensiune a ferestrei 0, spunndu-i emitorului s atepte. Mai trziu,
receptorul actualizeaz fereastra, dar pachetul cu aceast actualizare este pierdut. Acum, att
emitorul ct i receptorul ateapt o reacie din partea celuilalt. Atunci cnd contorul de
persisten expir, emitorul transmite o sond ctre receptor. Rspunsul la aceast investigare
furnizeaz dimensiunea ferestrei. Dac aceast dimensiune continu s fie zero, contorul de
persisten este repoziionat i ciclul se repet. Dac este nenul, informaia poate fi acum transmis.
Un al treilea contor utilizat de unele implementri este contorul de meninere n viat.
Cnd o conexiune a fost inactiv o lung perioad de timp, contorul de meninere n via
poate expira pentru a fora una din pri s verifice dac cealalt parte exist nc. Dac
aceasta nu rspunde, conexiunea este nchis. Aceast facilitate este controversat, deoarece
suprancarc reeaua i poate termina o conexiune altfel sntoas datorit unei partiionri
tranzitorii a reelei.
Ultimul contor folosit la fiecare conexiune TCP este acela utilizat n strile de ATEPTARE
CONTORIZAT pe parcursul nchiderii conexiunilor. El funcioneaz pe durata a dou viei
504 NIVELUL TRANSPORT CAP.fr

maxime ale unui pachet, pentru a se asigura c, atunci cnd o conexiune este nchis, toate pachetele
create de aceasta au murit.

6.4.8 UDP

Setul de protocoale Internet suport de asemenea un protocol de transport fr conexiune,


UDP (User Data Protocol - protocol pentru informaia utilizator). UDP ofer aplicaiilor o
modalitate de a trimite datagrame IP neprelucrate ncapsulate i pe care le transmite fr a stabili o
conexiune. Multe aplicaii client-server n care o parte emite cereri i cealalt parte emite rspunsuri
folosesc, mai curnd UDP dect s se complice s stabileasc i apoi s elibereze o conexiune. UDP
este descris n RFC 768.

- 32 Bii

Port surs Port destinaie

Lungime UDP Sum de control UDP

Fig. 6-34. Antetul UDP.

Un segment UDP const dintr-un antet de 8 octei urmat de date. Antetul este prezentat n
Fig. 6-34. Cele dou porturi au acelai rol ca i n TCP: de a identifica punctele terminale ale
mainilor surs i destinaie. Cmpul lungime UDP include cei 8 octei ai antetului plus datele.
Cmpul sum de control UDP cuprinde acelai format pseudo-antet prezentat n Fig. 6-25, antetul
UDP i datele UDP, completate, dup caz, pn la un numr par de octei. El este opional i n
cazul n care nu este calculat, este memorat ca 0 (o valoare 0 rezultat n urma calculelor este
memorat ca un ir de bii 1, ceea ce este acelai lucru n complement fa de 1). Dezactivarea
acestuia este o prostie, excepie fcnd cazul n care calitatea informaiei chiar nu conteaz (de
exemplu, transmisia vocal digitizat).

Teoretic, protocoalele de transport ar trebui s fie independente de tehnologia nivelului reea. n


particular, TCP-ului ar trebui s nu-i pese dac IP ruleaz peste o reea cablu sau radio. n practic,
acest lucru conteaz, deoarece cele mai multe implementri TCP au fost atent optimizate pe baza
unor'presupuneri care sunt adevrate pentru reele cu cabluri, dar care nu mai sunt valabile n cazul
reelelor fr fir. Ignorarea proprietilor de transmisie fr fir poate conduce la o implementare
TCP corect din punct de vedere logic, dar cu performane incredibil de proaste.
Principala problem este algoritmul de control al congestiei. Aproape toate implementrile
TCP din zilele noastre pleac de la premisa c depirile de timp sunt cauzate de congestie i
nu de pierderea pachetelor. In consecin, atunci cnd expir un contor, TCP ncetinete
ritmul i trimite pachete cu mai puin vigoare (ex. algoritmul startului lent al iui Jacobson).
SEC. 6.4 PROTOCOALE INTERNET DE TRANSPORT (TCP I UDP) 505

Ideea din spatele acestei abordri const n reducerea ncrcrii reelei i n diminuarea astfel
a suferinei cauzate de congestie.
Din nefericire, legturile bazate pe transmisia fr fir sunt profund nefiabile. Ele pierd tot timpul
pachete. Pentru a controla aceast pierdere a pachetelor, abordarea corect este s se retrimit ct
mai repede posibil. ncetinirea ritmului nu face dect s nruteasc lucrurile. Dac presupunem
c, atunci cnd emitorul transmite 100 de pachete pe secund, 20% din totalul pachetelor se
pierde, productivitatea este de 80 pachete/sec. Dac emitorul ncetinete ritmul la 50 pachete/sec,
productivitatea scade la 40 pachete/sec.
Atunci cnd se pierde un pachet pe o reea cu cabluri, emitorul ar trebui s ncetineasc ritmul.
Atunci cnd se pierde un pachet pe o reea fr fir, emitorul ar trebui s se strduiasc i mai tare.
Dac emitorul nu tie despre ce tip de reea este vorba, luarea unei decizii este dificil.
n mod frecvent, calea de la emitor la receptor este eterogen. Primii 1000 km pot s fie
ntr-o reea cu cabluri, dar ultimul kilometru poate s fie fr fir. Acum, luarea unei decizii n
situaia unei depiri de timp este i mai dificil, dat fiind c intervine i locul n care apare
problema. O soluie propus de Bakne i Badrinath (1995), TCP indirect, const n spargerea
conexiunii TCP n dou conexiuni separate, ca n Fig. 6-35. Prima conexiune pleac de la
emitor la staia de baz. Cea de-a doua leag staia de baz de receptor. Aceast staie de
baz nu face dect s copieze pachetele din cele dou conexiuni n ambele direcii.

Emitor TCP Staie de


Baz
TCP

Gazda
mobil
Ruter Antena

Fig. 6-35. Spargerea conexiunii TCP n dou conexiuni.

Avantajul acestei scheme este acela c ambele conexiuni sunt acum omogene. Depirile
de timp din prima conexiune pot ncetini emitorul, n timp ce depirile de timp din cea de-a
doua l pot accelera. Ali parametri pot fi de asemenea reglai separat n fiecare din cele dou
conexiuni. Dezavantajul este acela c este negat nsi semantica TCP. Atta timp ct fiecare
parte a conexiunii este o conexiune TCP n sine, staia de baz confirm fiecare segment TCP
n mod obinuit. Doar c acum, recepia unei confirmri de ctre emitor nu mai nseamn c
receptorul a primit segmentul, ci doar c el a fost primit de ctre staia de baz.
O soluie diferit, datorat lui Balakrishnan . a. (1995), nu ncalc semantica TCP. Ea se
bazeaz pe mici modificri fcute n codul nivelului reea din staia de baz. Una din
modificri const n adugarea unui agent de supraveghere care observ i intercepteaz
pachetele TCP care pleac spre gazda mobil precum i confirmrile care se ntorc de la
acesta. Atunci cnd observ un segment TCP care pleac spre gazda mobil, dar nu observ
confirmarea recepionrii acestuia ntr-un interval de timp dat (relativ scurt), agentul ascuns
pur i simplu retransmite acel segment, fr a mai spune sursei acest lucru. De asemenea, el
506 NIVELUL TRANSPORT CAP. 6

genereaz o retransmisie i atunci cnd observ confirmri duplicate din partea gazdei mobile^
lucru care indic invariabil faptul c aceasta a pierdut ceva. Confirmrile duplicate sunt
descrcate pe loc, pentru a evita ca sursa s le interpreteze ca un semn de congestie.
Cu toate acestea, uii dezavantaj al acestei transparene este acela c, dac legtura fr fir
pierde multe pachete, sursa poate depi limita de timp n ateptarea unei confirmri i poate
invoca n consecin algoritmul de control al congestiei. n cazul TCP-ului indirect, algoritmul
de control al congestiei nu va fi niciodat iniiat dac nu apare ntr-adevr o situaie de
congestie n partea cablat" a reelei.
Algoritmul Balakrishnan ofer de asemenea o soluie problemei pierderii segmentelor generate
de ctre gazda mobil. Atunci cnd staia de baz constat o pauz n interiorul domeniului
numerelor de secven, aceasta genereaz o cerere pentru o repetare selectiv a octetului lips,
utiliznd o opiune TCP. Prin aceste dou corecturi, legtura fr fir devine mai fiabil n ambele
direcii fr ca sursa s tie acest lucru i fr modificarea semanticii TCP.
Dei UDP-ul nu sufer de aceleai probleme ca i TCP-ul, comunicaia fr fir induce i pentru
el anumite dificulti. Principala problem este aceea c programele utilizeaz UDP ateptndu-se
ca acesta s fie foarte fiabil. Ele tiu c nu este furnizat nici o garanie, dar cu toate acestea se
A

ateapt ca el s fie aproape perfect. Intr-un mediu fr fir, el va fi ns departe de perfeciune.


Pentru programele care sunt capabile s se refac dup pierderea mesajelor UDP, dar numai cu un
cost considerabil, trecerea brusc de la un mediu n care mesajele puteau fi pierdute mai mult
teoretic dect practic la un mediu n care ele sunt pierdute sistematic poate conduce la un dezastru
n ceea ce privete performanele.
Comunicaia fr fir afecteaz i alte domenii dect cel al performanelor. De exemplu, cum
poate o gazd mobil s gseasc o imprimant local la care s se conecteze, altfel dect prin
utilizarea propriei imprimante? Oarecum legat de aceasta este i problema obinerii paginii WWW
din celula local, chiar dac numele ei nu este cunoscut. De asemenea, proiectanii paginilor WWW
au tendina s presupun disponibil o mare lrgime de band. Punerea unui simbol standard pe
fiecare pagina poate s devin contraproductiv dac transmisia acestuia cu 9600 bps dureaz 30 sec
la fiecare referire a paginii i acest lucru ajunge pn la urm s irite utilizatorii.

6.5 PROTOCOALE AAL DE NIVEL ATM

Nu este foarte clar dac ATM are sau nu un nivel transport. Pe de-o parte, nivelul ATM are
funcionalitatea unui nivel reea cu un alt nivel (AAL) plasat imediat deasupra sa, lucru care face
din AAL un nivel de tip transport. Unii experi agreeaz acest punct de vedere (de exemplu De
Prycker, 1993, pagina 112). Unul din protocoalele utilizate acolo (AAL 5) este din punct de vedere
funcional similar cu UDP-ul, care este incontestabil un protocol de nivel transport.
Pe de alt parte, nici unul din protocoalele AAL nu furnizeaz o conexiune capt-la-capt fiabil
precum TCP-ul (dei cu foarte mici modificri ar fi putut s o fac). De asemenea, n cele mai multe
aplicaii este utilizat un alt nivel transport, situat deasupra AAL-ului. n loc s despicm firul n
patru, vom discuta n acest capitol despre nivelul AAL i protocoalele sale, fr s pretindem c el ar
fi cu adevrat un nivel de tip transport.
Nivelul AAL din reelele ATM difer radical de TCP, mai ales pentru c proiectanii si au fost
interesai n principal de transmisia vocii i a imaginilor video, pentru care livrarea rapid este mai
important dect acurateea datelor. S ne reamintim c nivelul ATM emite doar celule de 53 octei
SEC. 6.5 PROTOCOALE AAL DE NIVEL ATM

una dup cealalt. Nu dispune de un control al erorii, control al fluxului i de nici un alt control. n
consecin, el nu este foarte potrivit pentru cerinele celor mai multor aplicaii.
Pentru a rezolva problema, n Recomandarea 1363, TU a definit un nivel capt-la-capt
deasupra nivelului ATM. Acesta, numit AAL (ATM Adaptation Lavei- - nivel de adaptare ATM),
are o istorie zbuciumat, plin de erori, revizuiri i lucruri lsate neterminate. n seciunile care
urmeaz, vom arunca o privire asupra acestuia i asupra modului su de proiectare.
Scopul AAL-ului este de a furniza un serviciu util programelor de aplicaie protejndu-le de
automatismul decuprii datelor n celule, la surs, i de reasamblarea !or la destinaie. Atunci cnd a
nceput definirea AAL, TU a realizat c diferite aplicaii au diferite cerine, astfel nct a organizat
spaiul de servicii de-a lungul a trei axe:

1. Serviciu de timp real / serviciu de timp non-real.


2. Serviciu de transmisie cu vitez constant / serviciu de transmisie cu vitez variabil.
3. Serviciu orientat pe conexiuni / serviciu fr conexiuni.

n principiu, cu trei axe i dou valori pe fiecare ax pot fi definite opt servicii distincte, aa
cum arat Fig. 6-36. ITU a intuit c doar patru din acestea erau utile i le-a numit clasele A, B,
C i D, conform figurii. Celelalte nu au fost implementate. ncepnd cu- ATM 4.0, Fig. 6-36
este oarecum nvechit, astfel c ea a fost prezentat aici mai mult ca informaie fundamental
pentru a nelege de ce protocoalele AAL au fost proiectate astfel. n locui acestor clase de
servicii, diferenierea major se face acum ntre clasele de trafic, studiate n capitolul 5 (ABR5
CBR, NRT-VBR, RT-VBR i UBR).

D
Timp Timp Timp i ,_ Timp
smponzare Fr Fr , i rara Fr
rea! rea! rea! rea!

sta Di Constant Variabil Constant Variabil

Orientat spre conectivitate Fr conectivitate

Fig. 6-36. Clasele de servicii originale, suportate de ctre AAL (acum nvechite).

Pentru a controla aceste patru clase de servicii, ITU a definit patru protocoale, respectiv AAL 1
pn la AAL 4. Cu toate acestea, s-a descoperit n cele din urm c cerinele tehnice ale claselor C i
D erau att de apropiate, nct AAL 3 i AAL 4 au fost combinate n AAL 3/4. Ulterior, industria de
calculatoare - care cam adormise n timpul acestei schimbri - a realizat c nici unul dintre ele nu era
folositor. Problema a fost rezolvat prin simpla definire a unui alt protocol, AAL 5. Vom arunca o
privire sumar asupra tuturor celor patru protocoale. De asemenea, vom examina un protocol de
control interesant, utilizat pe sistemele ATM.
508 NIVELUL TRANSPORT CAP. 6

6.5.1 Structura nivelului de adaptare ATM

Nivelul de adaptare ATM este divizat n dou pri principale, una dintre ele fiind mprit mai
departe, conform Fig. 6-37.
Partea superioar a nivelului de adaptare ATM este numit subnivelul de convergen. Sarcina
sa este de a furniza o interfa pentru aplicaie. Ea const dintr-o parte comun tuturor aplicaiilor
(pentru un protocol AAL dat) i o parte specific fiecrei aplicaii. Funciile fiecreia din aceste pri
sunt dependente de protocol, dar pot include ncadrarea mesajelor i detecia erorii.

Subniveiul de convergen (parte specific de service)


Nivel de Discutat n
adaptare Subniveiul de convergen (parte comun)
capitolui 6
ATM Subniveiui de segmentare i reasambiare

Discutat n
Nivelul ATM
capitolul 5

Discutat n
capitolul 3

Fig. 6-37. Modelul ATM - nivelul de adaptare ATM cu subnivelele aferente.

n plus, la surs, subnivelul de convergen este responsabil cu acceptarea fluxului de bii sau a
mesajelor de lungime arbitrar de la aplicaii i cu fragmentarea lor n uniti de 44 sau 48 octei n
vederea transmisiei. Atta timp ct protocoalele utilizeaz o parte din cei 48 de octei din informaie
util ATM pentru propriile antete, dimensiunea exact este dependent de protocol. La destinaie,
acest subnivel reasambleaz celulele n mesajele originale. De regul, atunci cnd exist,
dimensiunile mesajelor sunt prestabilite. Cu alte cuvinte, dac sursa trimite patru mesaje a cte 512
octei fiecare, ele vor ajunge ca patru mesaje de 512 octei i nu ca un singur mesaj de 2048 octei. n
cazul fluxurilor de date nu exist nici o delimitare ntre mesaie si deci acestea nu sunt respectate.
Partea inferioar a AAL-ului este' subnivelui SAR (Segmentation And ReassembSy -
segmentare i reasamblare). Acesta poate aduga antete i ncheieri la unitile de date care i
sunt furnizate de ctre subnivelul de convergen, pentru a forma astfel informaiile utile ale
celulelor. Aceste ncrcturi sunt furnizate nivelului de transmisie ATM. La destinaie,
subnivelul SAR reasambleaz celulele n mesaje. Subnivelul SAR se ocup n principal cu
celule, iar subnivelul de convergen cu mesaje.
Operaia generic de convergen i subnivelele SAR sunt prezentate n Fig. 6-38. Atunci cnd
un mesaj sosete de la aplicaie la AAL, subnivelul de convergen poate s-i adauge un antet i/sau
o ncheiere. Mesajul este apoi fragmentat n uniti de cte 44 pn la 48 octei care sunt transmise
subnivelului SAR. Subnivelul SAR poate s adauge propriul antet i ncheiere fiecrei uniti i s le
transmit mai departe nivelului de ATM pentru transmisie, sub form de celule independente. De
notat c figura evideniaz cel mai general caz, pentru c unele protocoale AAL au antet i/sau
ncheiere nul.
SEC. 6.5 PROTOCOALE AAL DE NIVEL ATM 509

Generat de aplicaie Mesaj

ncheiere
Generat de
subnivelul de
convergen

Generat de s s
subnivelul A
R
cs A
R
SAR
r

Generat de A S W/y S A S W///, S


nivelul ATM T A A T A cs A
m
'//////,
V777/AV
M R W//AR M R R

Antet ATM
Nefolositi
Antet Antetul ncheiere Octei ncheierea
SAR subnivelului SAR subnivelului de
de convergen convergen

Fig. 6-38. ntr-o reea ATM mesajelor le pot fi adugate antete i ncheieri.

Subnivelul SAR dispune de asemenea de unele funcii adiionale pentru unele clase de servicii
(dar nu pentru toate). Mai precis, el se ocup uneori de detecia i multiplexarea erorilor. Subnivelul
SAR este prezent n majoritatea claselor de servicii fiind mai mult sau mai puin solicitat, n funcie
de specificul protocolului.
Comunicaia ntre aplicaie i nivelul AAL utilizeaz primitivele standard OSI de cerere i
indicare, pe care le-am discutat n Cap. 1. Comunicaia ntre subnivele utilizeaz alt gen de primitive.

6.5.2 AAL1

AAL 1 este protocolul utilizat pentru transmisia traficului de clas A, adic traficul orientat pe
conexiuni, cu viteza de transmisie constant, de timp real, de exemplu trafic audio i video
necomprimat. Biii sunt produi de ctre aplicaie la o vitez de transmisie constant i trebuie s fie
livrai la captul ndeprtat cu aceeai rat constant, cu un minimum de ntrziere, fluctuaie i
suprancrcare. Intrarea este un ir de bii fr nici o limit de mesaj. Pentru acest trafic,
protocoalele de detecie a erorii, de exemplu pas-cu-pas, nu sunt utilizate datorit faptului c
ntrzierile introduse prin depirea limitei de timp i prin retransmisii nu sunt acceptabile. Cu toate
acestea, celulele lips sunt semnalate aplicaiei care trebuie s ia propriile msuri (dac e cazul)
pentru a le recupera.
AAL 1 utilizeaz un subnivel de convergen i un subnivel SAR. Subnivelul de convergen
detecteaz celulele pierdute i inserate greit. (O celul greit inserat este o celul care este livrat
unei destinaii eronate ca rezultat al unei erori nedetectate n identificatorii proprii de circuit virtual
sau cale virtual). Acest subnivel netezete de asemenea traficul de intrare pentru a asigura o livrare
510 NIVELUL TRANSPORT CAP. 6

a celulelor la o vitez constant. In final, subnivelul de convergen fragmenteaz mesajele sau


fluxurile de intrare n uniti de 46 sau 47 octei care sunt furnizate subnivelului SAR pentru
transmisie. La cellalt capt, subnivelul SAR extrage aceste uniti i reconstruiete intrarea
original. Subnivelul de convergen din AAL1 nu are nici un antet de protocol propriu.
Spre deosebire de AAL 1, subnivelul SAR are un protocol. Formatul celulelor sale este
prezentat n Fig. 6-39. Ambele formate ncep cu un antet de un octet, coninnd un numr de
secven, SN, de 3 bii (pentru a detecta celulele lips sau greit inserate). Acest cmp este urmat de
un cmp protecie numr de secven, SNP, de 3 bii (de exemplu, sum de control), corespunztor
numrului de secven i care permite corectarea erorilor singulare i detectarea erorilor duble din
cmpul de secven. El utilizeaz un control cu redundan ciclic bazat pe polinomul x3+x+l. Un
bit de paritate par care altereaz octetul antet va reduce posibilitatea ca un numr de secven
eronat s se strecoare neobservat. Nu este necesar ca celulele AAL 1 s fie completate cu toi cei 47
octei. De exemplu, pentru transmisia digitizat a vocii la o rat de 1 octet la fiecare 125 usec,
umplerea unei celule cu toi cei 47 de octei impune nregistrarea unei secvene de sunet de 7.875
msec. Dac ntrzierea dinaintea transmisiei este de neacceptat, atunci pot fi expediate i celule
umplute parial. n acest caz, numrul efectiv de octei de infomiatie pe celul este acelai pentru
toate celulele si este convenit n avans.

jj
non-P 0 SN SNP 47-Octei informaie util
\
Paritate par
f(
> Jj
! SN SNP Pointer 46-Octei informaie util
ff
48 Octei

Fig. 6-39. Formatul celulei AAL 1.

Atunci cnd trebuie respectate limitele mesajului, se folosesc celulele P. Cmpul Indicator este
utilizat pentru a preciza deplasamentul de nceput al urmtorului mesaj. Doar celulele cu un numr
de secven par pot fi celule P, indicatoml fiind astfel n domeniul 0 - 92 i putnd fi plasat fie n
informaia propriei celule, fie n celula care urmeaz. S observm c aceast schem permite
mesajelor s conin un numr arbitrar de octei, astfel nct mesajele pot fi rulate continuu, fr a fi
necesar alinierea lor la limita de celul.
Bitul cel mai semnificativ al cmpului Indicator este rezervat pentru dezvoltri ulterioare. Bitul
iniial de antet al tuturor celulelor cu numr impar formeaz un flux de date utilizat pentru
sincronizarea de ceas.

6.5.3 AL2

AAL 1 este proiectat pentru fluxuri de date simple, orientate pe conexiuni, de timp real i fr
detecie de erori, excepie fcnd doar celulele lips i greit inserate. AAL 1 este un protocol
SEC. 6.5 PROTOCOALE AAL DE NIVEL ATM 511

adecvat pentru fluxuri audio i video necomprimate pure sau pentru orice alt tip de fluxuri de date n
care civa bii distorsionai din cnd n cnd nu creeaz o problem.
Pentru fluxuri audio i video comprimate, viteza de transfer poate varia puternic n timp. De
exemplu, multe scheme de compresie transmit periodic un cadru video complet, i apoi transmit
doar diferenele dintre cadrele intermediare i ultimul cadru complet, pentru mai multe cadre.
Atunci cnd camera este staionar i nimic nu se mic, diferenele dintre cadre sunt minore, dar
cnd camera este deplasat rapid, diferenele sunt importante. De asemenea, limitele mesajelor
trebuie respectate, astfel nct s poat fi recunoscut nceputul cadrului complet urmtor chiar n
cazul unor pierderi de celule sau unor date eronate. Din aceste motive este necesar un protocol
aparte. AAL 2 a fost proiectat n acest scop.

-1 O c t e t * 2 Octei -

SN IT 45-Octei informaie util L CRC

48 Octei

Fig. 6-40. Formatul celulei AAL 2.

Ca i n AAL 1, subnivelul CS nu are un protocol propriu, ns subnivelu SAR are un astfel de


protocol. Formatul unei celule SAR este prezentat n Fig. 6-40. El are un antet de 1 octet i o
ncheiere de 2 octei, lsnd loc pentru cei pn la 45 de octei de date per celul.
Cmpul SN (Sequence Number - numr de secven) este utilizat pentru numrarea celulelor n
scopul detectrii celulelor lips sau greit inserate. Cmpul TI (Information Type - tipul informaiei)
este utilizat pentru a indica faptul c celula reprezint nceputul, mijlocul sau sfritul unui mesaj.
Cmpul LI (Length Indicator - indicator de lungime) indic dimensiunea informaiei utile, n octei
(poate s fie mai mic dect 45 octei). n sfrit, cmpul CRC este o sum de control a ntregii celule,
pentru detectarea erorilor.
Dei pare ciudat, dimensiunile cmpurilor nu sunt incluse n standard. Conform unei surse
interne, chiar la finalul procesului de standardizare comitetul a realizat c AAL 2 avea att de multe
probleme, nct nu ar trebui s fie utilizat. Din pcate, era prea trziu pentru a mai opri procesul de
standardizare. Trebuia respectat un termen final. Cu un ultim efort, comitetul a nlturat toate
dimensiunile cmpurilor, astfel nct standardul formal s poat fi emis la timp, dar ntr-o asemenea
form, nct nimeni nu a putut s-1 utilizeze. Aa este viaa n lumea standardizrii.

6.5.4 AAL 3/4

La nceput, ITU a avut diferite protocoale pentru clasele C i D, serviciu orientat pe conexiuni i
serviciu fr conexiuni pentru transport de date sensibil la pierderi sau erori, dar care nu este
dependent de timp. Apoi ITU a descoperit c n realitate nu erau necesare dou protocoale i, prin
urmare, ele au fost combinate ntr-un singur protocol, AAL 3/4.
AAL 3/4 poate opera n dou moduri: flux sau mesaj. n modul mesaj, fiecare apel dinspre
aplicaie spre AAL 3/4 injecteaz un mesaj n reea. Mesajul este livrat ca atare, altfel spus, limitele
512 NIVELUL TRANSPORT CAP. 6

mesajului sunt respectate. In modul flux, limitele nu sunt respectate. Discuia urmtoare se va
concentra asupra modului mesaj. n fiecare mod este asigurat transportul fiabil i nefiabil (de
exemplu fr garanie).
O caracteristic a lui AAL 3/4 care nu este prezent n nici unul din celelalte protocoale
este multiplexarea. Acest aspect al lui AAL 3/4 permite sesiunilor multiple (de exemplu
conectare de la distan) de la o singur gazd s circule pe aceiai circuit virtual i s fie
separate la destinaie, ca n Fig. 6-41.

Circuit Cale virtual


/virtual 1 /

Trei sesiuni
muIipSexae
sesiuni
pe circuitul
virtual 2

iltiplexarea mai multor sesiuni pe un acelai circuit virtual.

Motivul pentru care se dorete aceast facilitate este acela c de multe ori companiile de transmisie
taxeaz fiecare stabilire a unei conexiuni i fiecare secund n care o conexiune este deschis. Dac o
pereche de maini are mai multe sesiuni deschise simultan, furnizarea unui circuit virtual propriu
pentru fiecare sesiune va costa mai mult dect multiplicarea tuturor sesiunilor pe un acelai canal
virtual. Dac un singur circuit virtual are suficient lime de band pentru a asigura ndeplinirea
sarcinii, atunci sunt inutile mai multe circuite. Toate sesiunile care utilizeaz un singur circuit virtual au
aceeai calitate a serviciului, deoarece aceasta este negociat pentru fiecare circuit virtual n parte.
Aceast abordare reprezint motivul real pentru care formatele AAL 3 i AAL 4 au fost
separate: americanii doreau multiplexare, n timp ce europenii nu doreau acest lucru. n concluzie,
fiecare grup a mers pe cont propriu dezvoltndu-i propriul standard. n cele din urm, europenii au
decis c salvarea a 10 bii din antet nu merita preul de a nu mai putea realiza comunicarea dintre
Statele Unite i Europa. Pentru acest pre ei ar fi putut fi mndri n singurtatea lor, iar noi, n ioc de
trei standarde, am fi avut parte de patru standarde AAL (din care unul inutilizabil) incompatibile.
Spre deosebire de AAL 1 i AAL 2, AAL 3/4 are att un protocol pentru subnivelul de
convergen ct i un protocol pentru subnivelul SAR. Dinspre aplicaie sosesc n subnivelul de
convergent mesaje de 65535 octei. Ele sunt nti aliniate la un multiplu de 4 octei, apoi le sunt
ataate un antet i o ncheiere, conform Fig. 6-42.

Octei 1 1 3-3 1

CPI Dimensiune Informaie util Umplu- jime


Btag Etag
BA 11 Ia 65535 oct.) (0-65535)

Antet CS ncheiere CS

Fig. 6-42. Formatul mesajului n subnivelul de convergen din AAL 3/4.


SEC. 6.5 PROTOCOALE AAL DE NIVEL ATM 513

Cmpul CPI (Common Part Indicator - indicatorul prii comune) furnizeaz tipul
mesajului i unitatea de numrare pentru dimensiunea BA i cmpul Lungime. Cmpurile Btag
si Etag sunt utilizate pentru a ncadra mesajele. Cei doi octei trebuie s fie identici i sunt
incrementai cu unu de fiecare dat cnd se trimite un nou mesaj. Acest mecanism verific
pierderile i inserrile eronate de celule. Cmpul dimensiune BA este utilizat pentru alocarea
tamponului. El spune receptorului ct de mult spaiu s aloce n avans pentru memorarea
mesajului care urmeaz s soseasc. Cmpul Lungime indic din nou lungimea ncrcrii utile,
n modul mesaj, el trebuie s fie egal cu dimensiune BA, putnd diferi ns n modul flux.
ncheierea mai conine de asemenea i un octet neutilizat.
Dup ce subnivelul de convergen a construit i a adugat un antet i o ncheiere la mesaj,
conform Fig. 6-42., mesajul este ncredinat subnivelului SAR, care l decupeaz n segmente
de cte 44 octei. S observm c, pentru a suporta multiplexarea, subnivelul de convergen
poate construi intern mai multe mesaje n acelai timp i poate trimite segmente de cte 44
octei ctre subnivelul SAR, mai nti dintr-un mesaj, apoi din altul, n orice ordine.
Subnivelul SAR insereaz fiecare segment de 44 de octei n ncrcarea util a unei celule,
al crei format este dat de Fig. 6-43. Aceste celule sunt apoi transmise ctre destinaie, unde
sunt reasamblate, apoi este verificat suma de control i se acioneaz conform rezultatului.

Bii 2 4 10 6 10
S S
MID 44 octei - informaie util LI CRC
T N rr

00 Mijloc
01 Sfrit 1-44
10 nceput
11 Mesaj de o singur celul
48 Octei

Fig. 6-43. Formatul celulei AAL 3/4.

Cmpurile din formatul celulelor AAL 3/4 au semnificaiile urmtoare: Cmpul ST


(Segment Type - tipul segmentului) este utilizat pentru ncadrarea mesajelor. El indic dac o
celul reprezint nceputul unui mesaj, este n mijlocul mesajului, este ultima celul din mesaj
sau este un mesaj de dimensiune mic (de exemplu o singur celul). Urmeaz apoi un numr
de secven pe 4 bii, SN, pentru detectarea celulelor lips sau inserate greit. Cmpul MID
(Multiplexing ID - identificator de multiplexare) este utilizat pentru a determina care celul
aparine crei sesiuni. S ne reamintim c subnivelul de convergen poate avea mai multe
mesaje aparinnd mai multor sesiuni diferite, memorate n acelai timp, i poate trimite
segmente din aceste mesaje n orice ordine dorete. Toate segmentele mesajelor care aparin
sesiunii / conin / n cmpul MID, astfel nct ele s poat fi corect reasamblate la destinaie.
ncheierea conine lungimea informaiei i suma de control a celulei.
De notat c AAL 3/4 conine suprancrcarea protocoalelor a dou nivele: sunt adugai 8
octei fiecrui mesaj i sunt adugai 4 octei fiecrei celule. Una peste alta acesta este un
mecanism greoi, mai ales pentru mesaje scurte.
514 NIVELUL TRANSPORT CAP. 6

6.5.5 AAL 5

Protocoalele AAL 1 pn la AAL 3/4 au fost proiectate n mare parte de ctre industria de
telecomunicaie i standardizate de ctre ITU, fr ca industria de calculatoare s participe prea
mult. Atunci cnd, n cele din urm, industria de calculatoare s-a trezit i a nceput s neleag
implicaiile din Fig. 6-42, s-a instaurat un sentiment de panic. Complexitatea i ineficienta generat
de dou nivele de protocoale, combinat cu suma de control surprinztor de scurt (doar 10 bii) a
impulsionat civa cercettori s inventeze un nou protocol de adaptare. El a fost numit SEAL
(Simple Efficient Adaptation Layer - nivel de adaptare simplu i eficient), lucru care sugereaz
faptul c proiectanii l-au comparat cu vechile protocoale. Dup cteva discuii, Forumul ATM a
acceptat SEAL i i-a atribuit numele AAL 5. Pentru mai multe informaii asupra AAL 5 i asupra
diferenelor acestuia fa de AAL 3/4, se poate consulta (Suzuki, 1994).
AAL 5 ofer aplicaiilor sale mai multe tipuri de servicii. O posibilitate este serviciul fiabil (de
exemplu, livrarea garantat cu control al fluxului pentru a prentmpina supraaglomerrile). O alt
posibilitate este serviciul nefiabi (de exemplu, nici o garanie de livrare), cu alternativele de a
descrca sau de a transmite aplicaiei (cu avertismentul de eroare) celulele cu erori n suma de
control. Este suportat att comunicaia de tip uni-destinaie ct i de tip multi-destinaie, dar multi-
destinaia nu garanteaz livrarea.
La fel ca i AAL 3/4, AAL 5 suport att modul mesaj ct i modul flux. n modul mesaj, o
aplicaie poate transmite, nivelului AAL o datagram de lungime ntre 1 i 65535 octei astfel nct
fie se garanteaz sosirea datagramei la destinaie, fie se ncearc livrarea ei n condiii ct mai bune.
Odat cu sosirea l subnivelui de convergen, mesajul este aliniat i completat cu o ncheiere, aa
cum se arat n Fig. 6-44. Numrul de octei adugai pentru aliniere (de la 0 la 47 de octei) este
astfel ales, nct ntregul mesaj, inclusiv ncheierea i octeii n discuie, s fie un multiplu de 48. AAL
5 nu are un antet al subnivelului de convergen, ci doar o ncheiere de 8 octei.

Octei 1 1

Informaie util (1 la 65,535 octei) UU Lungime CRC

Fig. 6-44. Formatul mesajului n subnivelui de convergen din AAL 5.

Cmpul UU (User to User - utilizator la utilizator) nu este folosit chiar de nivelul AAL. De
fapt, el este disponibil nivelurilor superioare, de exemplu pentru secveniere sau multiplexare.
Nivelul superior n discuie poate fi partea specific de serviciu a subnivelului de convergen.
Cmpul Lungime indic adevrata informaie util, fr a pune la socoteal octeii adugai
pentru aliniere. Pentru a renuna la mesajul curent n timpul fluxului de transfer, este utilizat
o valoare 0. Cmpul CRC este suma standard de 32 de bii calculat pentru ntregul mesaj,
inclusiv ncheierea i octeii adugai pentru aliniere (cu valoarea cmpului CRC considerat
0). ncheierea conine n plus un octet rezervat dezvoltrilor ulterioare.
Mesajul este emis prin furnizarea sa subnivelului SAR, care nu adaug nici un antet sau
ncheiere. n loc de aceasta, el fragmenteaz mesajul n uniti de 48 de octei fiecare, aceste uniti
fiind pasate ctre nivelul ATM de transmisie. De asemenea, el spune nivelului ATM s poziioneze
SEC. 6.5 PROTOCOALE AAL DE NIVEL ATM 515

un bit n cmpul PTI al ultimei celule, astfel nct s se respecte limitele de mesaj. S-ar putea spune
c acest lucru este o amestecare incorect a nivelurilor de protocoale, deoarece nivelul AAL nu ar
trebui s utilizeze bii din antetul nivelului ATM. Procednd astfel, se violeaz principiul de baz al
ingineriei protocoalelor, sugerndu-se c proiectarea nivelurilor ar fi trebuit probabil s fie realizat
ntr-o alt manier.
Principalul avantaj al lui AAL 5 asupra lui AAL 3/4 const ntr-o eficien mult mai mare. Dac
AAL 3/4 adaug doar 4 octei per mesaj, AAL 5 adaug de asemenea 4 octei per celul, reducnd
capacitatea informaiei utile la 44 de octei, ceea ce reprezint o pierdere de 8 procente pentru
mesajele lungi. AAL 5 are o ncheiere ceva mai mare (8 octei), dar nu adaug suprancrcare la
nivelul fiecrei celule. Lipsa unui numr de secven n celule este compensat printr-o sum de
control mai mare, care poate detecta pierderile, inserrile eronate sau celulele lips fr a folosi
numerele de secven.
n comunitatea Internet, se prognozeaz c interfaa cu reelele ATM se va realiza prin
transportul pachetelor IP care conin un cmp ncrcare util de tipul AAL5. Diferite abordri aie
acestei idei sunt discutate n RFC 1483 i RFC 1577.

6.5.6 O comparaie a protocoalelor AL

Dac, n acest moment, cititorul consider c diferitele protocoale AAL sunt inutil de similare
unul altuia i superficial concepute, faptul este de neles. deea de a avea subnivele SAR i de
convergen distincte st de asemenea sub semnul ntrebrii, mai ales dac avem n vedere c AAL 5
nu conine nimic n subnivelul SAR. O mic mbuntire a antetului nivelului ATM ar fi fost
suficient pentru secveniere, multiplexare i ncadrare.

Element AAL1 AAL 2 AAL 3/4 AAL 5


Clasa de serviciu A B C/D C/D
Multiplexare Nu Nu Da Nu
Delimitarea mesajelor Absent Absent Btag/Etag Bit n PT1
Alocarea n avans a tampoanelor Nu Nu Da Nu
Octei utilizator disponibili 0 0 0 1
Umplutur CS 0 0 Cuvn pe 32 bii 0-47 octei
Suprancrcare de protocol CS (octei) 0 0 8 8
Sum de control CS Absent Absent Absent 32 bii
Octei SAR de ncrcare util 46-47 45 44 48
Suprancrcare de protocol SAR (octei) 1-2 3 4 0
Sum de control SAR Absent Absent 10 bii Absent

Fig. 6-45. Cteva din diferenele ntre diversele protocoale AAL.

Fig. 6-45. reunete cteva diferene ntre diversele protocoale AAL. Aceste diferene se refer la
eficien, control al erorii, multiplexare i la legtura dintre subnivelele AAL.
Impresia global pe care o las AAL este aceea de prea multe variante cu diferene minore ntre
ele i de lucru fcut doar pe jumtate. Cele patru clase iniiale de servicii, A, B, C, D, au fost efectiv
abandonate. AAL 1 este probabil inutil; AAL 2 este nefuncional; AAL 3 i AAL 4 n-au vzut
niciodat lumina zilei; AAL 3/4 este ineficient i are o sum de control prea mic.
516 NIVELUL TRANSPORT CAP. 6

Viitorul ncepe cu AAL 5, dar i aici mai este loc pentru mbuntiri. Mesajele AAL 5 ar fi
trebuit s aib un numr de secven i un bit pentru a distinge ntre mesajele de date i mesajele de
control, astfel nct ele s poat fi folosite ntr-un protocol fiabil de nivel transport. Pentru acestea ar
fi putut fi utilizat chiar spaiul liber din ncheiere. Ct despre transportul fiabil, suprancrcarea
adiional a nivelului transport este cerut n partea superioar a sa, dei ar fi putut fi evitat. Dac
ntregul Comitet AAL ar fi concretizat munca sa ntr-un proiect de semestru, foarte probabil c
profesorul l-ar fi dat napoi cu cererea de a-1 pune la punct i de a-1 preda atunci cnd este finalizat.
Mai multe critici ale ATM-ului pot fi gsite n (Sterbenz . a., 1995).

6.5.7 SSCOP - protocol orientat pe conexiuni, specific serviciului

n ciuda attor protocoale AAL diferite, nici unul din ele nu ofer conexiuni de transport
capt-la-capt fiabile i simple. Pentru aplicaiile care necesit acest lucru exist un alt
protocol AAL: SSCOP (Service Specific Connection Oriented Protocol - protocol orientat pe
conexiuni, specific serviciului). Cu toate acestea, SSCOP este utilizat doar pentru control, nu i
pentru transmisie de date.
Utilizatorii SSCOP transmit mesaje, la fiecare din ele atandu-se un numr de secven de
24 de bii. Mesajele pot conine pn la 64K octei i nu sunt fragmentate. Ele trebuie s fie
livrate n ordine. Spre deosebire de alte protocoale fiabile de transport, mesajele lips sunt
ntotdeauna retransmise prin repetare selectiv mai curnd dect prin protocol cu reluare n.
SSCOP este n principal un protocol cu fereastr glisant dinamic. Pentru fiecare conexiune,
receptorul pstreaz o fereastr de numere de secven ale mesajelor pe care este pregtit s le
recepioneze i o hart de bii care marcheaz mesajele deja deinute. Aceast fereastr i poate
schimba dimensiunea n timpul operrii protocolului.
Lucrul neobinuit la SSCOP este modul n care controleaz confirmrile: nu exist nici o
acumulare nainte de ataare. In locul acesteia, emitorul investigheaz periodic receptorul
cerndu-i s-i trimit napoi harta de bii care indic starea ferestrei. Bazndu-se pe acest rezultat,
emitorul descarc mesajele care au fost acceptate i actualizeaz propria fereastr. SSCOP este
descris n detaliu n (Henderson, 1995).

6.6 ELEMENTE DE PERFORMAN

n reelele de calculatoare sunt foarte importante elementele de performan. Atunci cnd sunt
interconectate sute sau mii de calculatoare, au loc adesea interaciuni complexe cu consecine
nebnuite. Aceast complexitate conduce n mod frecvent la performane slabe fr ca cineva s tie
de ce. n seciunile urmtoare vom examina mai multe elemente legate de performana reelei
pentru a identifica tipurile de probleme i ce poate fi fcut pentru rezolvarea lor.
Din nefericire, nelegerea performanei reelei este mai degrab o art dect o tiin. Este prea
puin teorie care st la baz i de fapt aceasta nu folosete n situaii practice. Cel mai bun lucru pe
care l putem face este s indicm reguli rezultate dintr-o experien ndelungat i s prezentm
exemple luate din lumea real. Am amnat n mod intenionat aceast discuie dup studiul
nivelului transport din reelele TCP i ATM, pentru a fi capabili s indicm locurile unde lucrurile
au fost fcute corect si unde nu.
SEC. 6.6 ELEMENTE DE PERFORMANA 517

Nivelul transport nu este singurul loc unde apar elemente legate de performan. Am vzut
unele elemente la nivelul reea, n capitolul precedent. Fr nici un dubiu, nivelul reea tinde s fie
preocupat n mare msur de rutare i controlul congestiei. Mai general, elementele orientate sistem
tind s fie legate de nivelul transport, aa c acest capitol este locul potrivit pentru a le examina.
n urmtoarele cinci seciuni vom examina cinci aspecte de performan ale reelei:

1. Probleme de performan.
2. Msurarea performanei reelei.
3. Proiectarea de sistem pentru performane mai bune.
4. Prelucrarea rapid TPDU.
5. Protocoale pentru reele viitoare de mare performan.

Ca o parantez, avem nevoie de un nume pentru unitile schimbate de ctre entitile de


transport. Termenul TCP de segment este cel mai confuz i n acest context nu este niciodat utilizat
n afara lumii TCP. Termenii uzuali ATM, CS-PDU, SAR-PDU i CPCS-PDU sunt specifici doar
pentru ATM. Pachetele se refer n mod clar la nivelul reea i mesajele aparin nivelului aplicaie.
Din lipsa unui termen standard, vom reveni la numirea unitilor schimbate de entitile de
transport TPDU-uri. Cnd ne referim att la TPDU ct i la pachet, vom utiliza pachet ca un termen
comun, ca de exemplu n Procesorul trebuie s fie suficient de rapid pentru a prelucra pachetele n
timp real." Prin aceasta subnelegem att pachetul nivelului reea ct i TPDU-ul ncapsulat n el.

6.6.1 Probleme de performan n reelele de calculatoare

Unele probleme de performan, cum este congestia, sunt cauzate de suprancrcarea temporar
a resurselor. Dac apare subit o cretere de trafic la nivelul unui ruter peste nivelul care poate fi
controlat de acesta, se va produce o congestie i performanele vor avea de suferit. Congestia a fost
studiat n detaliu n capitolul precedent.
Performanele se degradeaz de asemenea n cazul unei dezechilibrri structurale a balanei
resurselor. De exemplu, dac o linie de comunicaie de un gigabit este ataat la un PC terminal de
performan sczut, procesorul slab nu va putea prelucra suficient de repede pachetele care sosesc,
unele din acestea pierzndu-se. Aceste pachete vor fi retransmise n cele din urm, adugnd
ntrzieri, risipind lrgimea de band i n general reducnd performanele.
Suprancrcarea poate fi de asemenea iniiat n mod sincron. De exemplu, dac un TPDU
conine un parametru eronat (de exemplu portul sau procesul pentru care este destinat), n multe
cazuri receptorul va napoia cu mult grij un anun de eroare. S vedem acum ce s-ar putea
ntmpla dac un TPDU eronat ar fi rspndit ctre 10000 de miini: fiecare din ele ar putea
ntoarce un mesaj de eroare. Furtuna de difuzare rezultat ar putea s scoat din funciune reeaua.
UDP a suferit de aceast problem pn cnd protocolul a fost modificat pentru a mpiedica
mainile s rspund erorilor cauzate de TPDU-urile UDP-ului trimise ctre adrese de difuzare.
Un al doilea exemplu de suprancrcare sincron este dat de efectele unei cderi a energiei
electrice. Odat cu revenirea curentului, toate mainile execut programul ROM de reiniializare.
O secven tipic de reiniializare poate cere n primul rnd unui anume server (RARP) identitatea
precis a mainii, apoi poate cere unui server de fiiere o copie a sistemului de operare. Dac sute de
maini execut acest lucru simultan, serverul va ceda probabil sub aceast ncrcare.
518 NIVELUL TRANSPORT CAP. 6

Chiar n absena unei suprancrcri sincrone i chiar atunci cnd sunt suficiente resurse
disponibile, performanele pot fi slabe datorit unei proaste reglri a sistemului. De exemplu,
dac o main are suficient memorie i putere de prelucrare, dar nu a fost alocat suficient
spaiu pentru tampoane, vor aprea aglomerri i se vor pierde TPDU-uri. Similar, dac
algoritmul de planificare nu acord o prioritate suficient de mare prelucrrii TPDU-urilor care
sunt recepionate, unele din ele se vor pierde.
Un alt element de reglare este potrivirea corect a intervalelor de limit de timp. Atunci cnd
este trimis un TPDU, n mod normal se poziioneaz un contor pentru a evita pierderea sa. Dac
limita de timp este prea scurt, se vor produce retransmisii inutile, obturnd cablurile. Dac limita
de timp este prea lung, se vor introduce ntrzieri inutile dup pierderea unui TPDU. Ali
parametri de reglare includ lungimea intervalului de timp dup care datele acumulate sunt
confirmate si numrul de retransmisii nainte de renunare.

(a) (b)

(O (d)

Fig. 6-46. Evoluia transmisiei unui megabit de la San Diego la Boston,


(a) La momentul t=0. (b) Dup 500 usec. (c) Dup 20 msec. (d) Dup 40 msec.

Reelele gigabit aduc cu ele noi probleme de performan. S considerm, de exemplu,


transmisia de date de la San Diego la Boston, unde tamponul de recepie este de 64K octei.
S presupunem c legtura este de 1 Gbps i c ntrzierea ntr-un singur sens prin fibra de
sticl este de 20 msec. Iniial, la momentul t = 0, conducta este goal, ca n Fig. 6-46(a). Doar
cu 500 usec mai trziu, n Fig. 6-46(b), toate TPDU-urile sunt deja plasate pe fibr. TPDU-ul
SEC. 6.6 ELEMENTE DE PERFORMAN 519

conductor va fi acum undeva n vecintatea Brawley-ului, nc departe, n California de Sud.


Cu toate acestea, transmisia trebuie s se opreasc pn se primete o actualizare de fereastr.
Dup 20 msec, TPDU-ul conductor atinge Boston-ul, ca n Fig. 6-46(c) i este confirmat.
n final, la 40 msec dup momentul iniial, prima confirmare sosete napoi la emitor i a
doua rafal poate s fie transmis. Atta timp ct linia de transmisie a fost utilizat pentru 0.5
msec din cele 40 msec, eficiena este undeva n jurul a 1.25 procente. Aceast situaie este
tipic pentru cazul folosirii protocoalelor vechi n linii gigabit.
O mrime util de reamintit cnd se analizeaz performanele reelei este produsul lrgime de
band-ntrziere. El este obinut prin multiplicarea lrgimii de band (n bii pe secund) cu
ntrzierea traseului dus-ntors (n secunde). Produsul reflect capacitatea conductei de la emitor
la receptor i napoi (n bii).
De exemplu, n Fig. 6-46 produsul lrgime de band-ntrziere este de 40 milioane de bii. Cu
alte cuvinte, pentru a funciona la vitez maxim, emitorul poate transmite rafale de 40 milioane
de bii pn la recepionarea primei confirmri. Umplerea conductei (n ambele sensuri) presupune
o cantitate nsemnat de bii. Acesta este motivul pentru care o rafal de jumtate de milion de bii
atinge o eficien de 1.25 procente: ea reprezint doar 1.25 procente din capacitatea conductei.
Concluzia care poate fi tras aici este c pentru atingerea unor performane bune, fereastra
receptorului trebuie s fie cel puin la fel de mare ca i produsul lrgime de band-ntrziere,
preferabil chiar puin mai mare, deoarece receptorul poate s nu rspund instantaneu. Pentru o
linie gigabit transcontinental, pentru fiecare conexiune sunt necesari cel puin 5 megabii.
Dac eficiena este dezastruoas pentru un megabit, imaginai-v cum ar arta ea pentru
transmisia ctorva sute de octei pentru un apel de procedur Ia distan. n cazul n care nu se
gsete o alt utilitate pentru linie n timpul n care primul client este n ateptarea rspunsului, o
linie gigabit nu este cu nimic mai bun ca o linie megabit, numai c este mult mai scump.
O alt problem de performane care poate aprea n aplicaiile de timp critic precum
audio/video este fluctuaia. Un timp mediu de transmisie de valoare mic nu este suficient. De
asemenea, este necesar i o deviaie standard mic. Obinerea att a unui timp mediu de transmisie
mic ct i a unei deviaii standard mici, cere un efort serios de inginerie.

6.6.2 , Msurarea performanelor reelei

Atunci cnd performanele unei reele sunt slabe, utilizatorii ei se plng persoanelor care o
administreaz, cernd mbuntirea situaiei. Pentru a crete performanele, operatorii trebuie mai
nti s determine cu exactitate ce se ntmpl. Pentru a afla ce se ntmpl n realitate, operatorii
trebuie s efectueze msurtori. n aceast seciune ne vom concentra asupra msurrii
performanelor reelei. Discuia care urmeaz se bazeaz pe lucrarea lui Mogul (1993). O discuie
mai amnunit asupra procesului de msurare se gsete n (Jain, 1991; i Villamizan i Song, 1995).
Ciclul de baz utilizat pentru mbuntirea performanelor reelei conine urmtorii pai:

1. Msurarea performanelor i a parametrilor relevani ai reelei.


2. ncercarea de a nelege ceea ce se petrece.
3. Modificarea unuia din parametri.
520 NIVELUL TRANSPORT CAP. 6

Aceti pai se repet pn la atingerea unor performane suficient de bune sau pn cnd este
clar c i ultima mbuntire posibil a fost pus n aplicare.
Msurarea poate fi fcut n multe moduri i n multe locuri (att fizic ct i n stiva de
protocoale). Cel mai important mod de msurare este iniializarea unui contor la nceputul unei
activiti i observarea timpului necesar pentru ndeplinirea acelei sarcini. De exemplu, un element
cheie n msurare este aflarea timpului necesar unui TPDU pentru a fi confirmat. Alte msurtori
sunt fcute cu contoare care nregistreaz frecvena de apariie a unor evenimente (de exemplu,
numrul de TPDU-uri pierdute). n final, unii pot fi interesai s afle valorile unor mrimi, ca de
exemplu numrul de octei prelucrai ntr-un anume interval de timp.
Msurarea performanelor i a parametrilor reelei ascunde multe capcane poteniale. n cele ce
urmeaz, enunm doar cteva din acestea. Orice ncercare sistematic de a msura performanele
reelei trebuie s le evite.

Dimensiunea testului trebuie s fie suficient de mare

Timpul necesar pentru a trimite un TPDU nu trebuie msurat o singur dat, ci n mod repetat,
s zicem, de un milion de ori, lundu-se n considerare media valorilor rezultate. Un test de
dimensiune mare va reduce gradul de incertitudine n media i deviaia standard a msurtorii.
Aceast incertitudine poate fi calculat pe baza formulelor statistice obinuite.

Testele trebuie s ie reprezentative

Ideal ar fi ca ntreaga secven a celor un milion de msurtori s fie repetat n diferite


momente ale zilei i ale sptmnii pentru a pune n eviden efectul diferenelor de ncrcare a
sistemului asupra mrimii msurate. Msurtorile de congestie, de exemplu, nu sunt prea utile dac
sunt fcute ntr-un moment n care nu exist nici o congestie. Uneori rezultatele pot corespunde
iniial intuiiei, de exemplu congestii importante a orele 10,11, sau 1,2 dup amiaz, dar se poate ca
Ia amiaz congestia s lipseasc (cnd toi utilizatorii au pauz de prnz).

Ceasurile calculatoarelor funcioneaz prin adugarea la intervale regulate a valorii unu ia un


anumit contor. De exemplu, un contor de milisecunde adaug unu la contor la fiecare 1 msec.
Utilizarea unui astfel de contor pentru a msura un eveniment care dureaz mai puin de 1 msec nu
este imposibil, dar necesit o oarecare atenie.
Pentru a msura intervalul necesar trimiterii unui TPDU, de exemplu, ceasul sistem (s spunem
n milisecunde) ar trebui s citeasc momentul n care se intr n codul de transport i din nou cnd
se prsete acest cod. Dac timpul real de transmisie TPDU este de 300 usec, diferena dintre cele
dou citiri va fi sau 0, sau 1, ambele valori greite. Cu toate acestea, dac msurtoarea este repetat
de un milion de ori i suma tuturor msurtorilor este mprit la un milion, timpul mediu va avea o
precizie mai bun de 1 jisec.

Ne trebuie s se petreac ceva neateptat n timpul msurtorilor

Efectuarea msurtorilor pe un sistem universitar n ziua n care urmeaz s fie predat vreun
proiect important poate conduce la rezultate diferite fa de cele ce s-ar obine n ziua imediat.
SEC. 6.6 ELEMENTE DE PERFORMAN 521

urmtoare. Similar, dac vreun cercettor se decide s conduc o videoconferin n reea, n timpul
testelor poate fi obinut un rezultat alterat. Cel mai bine este ca testele s fie rulate pe un sistem
complet inactiv, ntreaga sarcin fiind construit n vederea testrii. Chiar i aceast abordare are
propriile-i capcane. Dei ne-am atepta ca nimeni s nu utilizeze reeaua la ora 3 dimineaa, acesta
poate s fie chiar momentul n care un program de salvare automat ncepe s copieze coninutul
tuturor discurilor pe band video. Mai mult dect att, s-ar putea s existe un trafic important pentru
minunatele pagini de Web de pe reea, situate n zone aflate pe alte meridiane orare.

Lucrul cu memoria tampon (ascuns) poate distruge msurtorile

Pentru a msura timpul de transfer al fiierelor, calea cea mai evident este de a deschide un
fiier de dimensiune mare, de a-1 citi n ntregime i de a-1 nchide, urmnd a vedea ct de mult a
durat toat operaia. Se repet apoi operaia de mult mai multe ori, pentru a obine o medie corect.
Problema este c sistemul poate memora fiierul n memoria tampon, astfel nct doar prima
msurtoare s fi invocat traficul n reea. Restul nu sunt dect accese la memoria tampon local.
Rezultatele unei astfel de msurtori sunt, n esen, fr nici o valoare (doar dac nu cumva se
dorete msurarea performanelor memoriei tampon).
De obicei, se poate ocoli memoria tampon prin simpla ei suprancrcare. De exemplu, dac
memoria tampon este de 10 M octei, ciclul de test ar putea deschide, citi i nchide dou fiiere de
10 M octei la fiecare bucl, n tentativa de a fora rata de succes n accesul la memoria tampon la 0.
Cu toate acestea, dac nu se nelege cu absolut precizie algoritmul de manipulare a memorie
tampon, trebuie procedat cu grij.
Memorarea datelor n tampoane poate avea acelai efect. Se cunoate un program utilitar
popular pentru msurarea performanelor TCP/IP care raporteaz performane ale UDP-ului
substanial mai mari dect o permit liniile fizice. Cum se ntmpl acest lucru? Un apel ctre UDP
ntoarce n mod normal controlul odat ce mesajul a fost acceptat de ctre nucleu i adugat la
coada de transmisie. Dac este suficient spaiu n tampon, msurarea a 1000 de apeluri UDP nu
nseamn neaprat c informaiile au fost transmise. Cea mai mare a informaiilor poate s se afle
nc n nucleu, dar instrumentul de msurare interpreteaz c ele au fost toate deja transmise.

Trebuie neles ceea ce se msoar

Atunci cnd se msoar timpul necesar pentru a citi un fiier de la distan, msurtorile depind
de reea, de sistemele de operare de la ambele capete - client i server, de tipul de echipament al
plcii de interfa utilizat, de programele care le controleaz i de ali factori. Procednd cu atenie,
putem determina n ultim instan timpul de transfer al fiierului pentru configuraia utilizat. Dac
scopul l reprezint reglarea acestei configuraii particulare, atunci msurtorile sunt n regul.
Cu toate acestea, dac, n scopul alegerii unei interfee de reea pentru a fi cumprat, sunt
fcute msurtori similare pe trei sisteme diferite, rezultatele pot fi complet bulversate n cazul n
care unul din programele care controleaz echipamentul este de-a dreptul ngrozitor i utilizeaz
doar 10% din performanele plcii.
522 NIVELUL TRANSPORT CAP. 6

Atenie Ia extrapolarea rezultatelor

S presupunem c s-au fcut msurtori ale unei anumite mrimi prin simularea ncrcrii
reelei ntre 0 (sistem complet descrcat) i 0.4 (sistem ncrcat n proporie de 40%), conform
punctelor de date i liniilor continue dintre ele din Fig. 6-47. Ar putea fi tentant s se
extrapoleze liniar, aa cum o sugereaz linia punctat. Cu toate acestea, multe din rezultatele
anterioare indic un factor de 1/(1 - p), unde p este ncrcarea, astfel nct valorile adevrate
pot arta mai degrab ca linia ntrerupt.

6=6.3 Proiectarea de sistem pentra performane superioare

Msurarea i ajustarea pot mbunti considerabil performanele, dar ele nu pot substitui o
proiectare bun de la nceput. O reea proiectat superficial poate fi mbuntit tot n aceeai
msur. O soluie rnai bun este s se refac totul de la temelie.

a
h
(O
5SO

-o

Q.1 3.7 0.8


ncrcare

Fig 6-47= Rspunsul, ca o funcie de ncrcare.

In aceast seciune, vom prezenta cteva reguli rezultate dintr-o experien acumulat pe un
numr mare de reele. Aceste reguli se refer nu doar la proiectarea de reea, ci i Ia proiectarea de
sistem, i aceasta pentra c programul i sistemul de operare sunt deseori mai importante dect
rutenii i echipamentul de interfa. Cele mai multe din aceste idei constituiau cunotine de baz
aie proiectanilor de reele, care erau propagate din generaie n generaie pe cale oral. Ele au fost
prima oar enunate explicit de Mogui (1993); expunerea noastr merge n mare parte n paralel cu
a sa. O alt sursa relevant este (Metcalfe, 1993).
SEC. 6.6 ELEMENTE DE PERFORMAN 523

Regula # 1 : Viteza procesorului este mai important dect viteza reelei.

O experien ndelungat a artat c n aproape toate reelele, suprancrcarea indus de


sistemul de operare i de protocol domin de fapt timpul de transmisie pe cablu. De exemplu,
n teorie, timpul minim pentru un RPC pe o reea Ethernet este de 102 josec, corespunznd
unei cereri minime (64 octei) urmate de un rspuns minim (64 octei). n realitate, scderea
timpului RPC la 1500 usec este o realizare considerabil (Van Renesse . a., 1988). De notat
c 1500 usec nseamn de 15 ori mai prost dect modelul teoretic minim. Aproape toat
suprancrcarea este datorat programelor.
Similar, cea mai mare problem n funcionarea la 1 Gbps const n plasarea biilor din tamponul
utilizatorului pe fibr suficient de repede i n recepionarea acestor bii de ctre procesorul receptor
la fel de repede cum sosesc. Pe scurt, dac se dubleaz viteza procesorului, de regul se poate ajunge
pn aproape de dublarea productivitii. Dublarea capacitii reelei nu are de regul nici un efect,
deoarece gtuirea se produce n general la calculatoarele gazd.

Regula #2: Reducerea numrului de pachete pentru a reduce suprancrcarea datorat


programelor.

Prelucrarea unui TPDU adaug o anumit suprancrcare per TPDU (de exemplu prelucrarea
antetului) i o anumit cantitate de prelucrare suplimentar per octet (de exemplu calculul sumei de
control). Atunci cnd se trimit un milion de octei, suprancrcarea per octet este aceeai, indiferent
dac dimensiunea TPDU variaz. Cu toate acestea, utilizarea de TPDU-uri de 128 octei presupune
de 32 de ori mai mult suprancrcare per TPDU fa de cazul a 4K octei per TPDU. Aceast
suprancrcare crete cu rapiditate.
n plus fa de suprancrcarea TPDU-ului, trebuie considerat i suprancrcarea datorat
nivelurilor inferioare. Fiecare sosire a unui pachet genereaz o ntrerupere. Pe procesoarele RISC
moderne, fiecare ntrerupere fragmenteaz banda de asamblare a procesorului, interfera cu
memoria tampon, presupune o schimbare de context n controlul memoriei i impune salvarea unui
numr important din registrele procesorului. O divizare prin n a numrului de TPDU-uri trimise
reduce n consecin numrul de ntreruperi i suprancrcarea pachetelor cu un factor de n.
Aceast observaie justific necesitatea colectrii unei cantiti importante de date naintea
transmisiei, n scopul reducerii numrului de ntreruperi la cellalt capt. Algoritmul Nagle i
soluia Clark pentru sindromul ferestrei stupide reprezint ncercri precise n acest sens.

Regula #3: Minimizarea comutrilor de context

Comutrile de context (de exemplu, din mod nucleu n mod utilizator) sunt catastrofale. Ele au
aceleai proprieti incomode ca i ntreruperile, cea mai rea fiind o lung serie de eecuri la accesul
iniial la memoria tampon. Comutrile de context pot fi reduse dac funcia de bibliotec ce trimite
date le stocheaz intern pn la acumularea unei cantiti semnificative. Similar, de partea
receptorului, TPDU-urile de dimensiune mic recepionate ar trebui colectate i trimise utilizatorului
dintr-un singur foc i nu individual, n scopul minimizrii comutrilor de context. n cel mai bun caz,
sosirea unui pachet produce o comutare de context din modul utilizator curent n modul nucleu i apoi
o comutare ctre procesul receptor, astfel nct acesta din urm s preia informaia nou sosit. Din
nefericire, n multe sisteme de operare se petrec comutri de contexte suplimentare.
524 NIVELUL TRANSPORT CAP. 6

Proces utilizator n execuie Controlor Preoces


la momentul recepiei de reea receptor

\ ' \
A
Spaiu

! utilizator

f
4

\ / \ 1( Spaiu
nucleu

Fig. 6-48. Patra comutri de contexte pentru fiecare pachet,


cu un controlor de reea n spaiul utilizator.

De exemplu, dac procesul controlor de reea ruleaz ca un proces special n spaiul utilizator,
sosirea unui pachet provoac, probabil, o comutare de context de la utilizatorul curent ctre nucleu,
apoi nc o comutare de la nucleu ctre controlorul de reea, urmat de nc una napoi ctre nucleu
i n final din nucleu ctre procesul receptor. Aceast secven este prezentat de Fig. 6-48. Toate
aceste comutri de contexte pentru fiecare pachet consum mult din timpul procesorului i au un
efect distrugtor asupra performanelor reelei.

Regula #4: Minimizarea copierilor.

Efectuarea unor copii multiple este i mai rea dect comutrile multiple de contexte. Nu este
nimic deosebit n faptul c un pachet proaspt recepionat este copiat de trei sau patru ori nainte ca
TPDU-ul coninut n el s fie livrat. Dup ce un pachet este recepionat de ctre echipamentul de
reea ntr-un tampon special cablat pe plac, el este copiat de obicei ntr-un tampon al nucleului. De
aici el este copiat ntr-un tampon ai nivelului reea, apoi ntr-unui al nivelului transport i n final de
ctre procesul aplicaiei receptoare.
Un sistem de operare inteligent va copia cte un cuvnt odat, dar nu este deloc neobinuit s
fie necesare cinci instruciuni per cuvnt (ncrcare, memorare, incrementarea unui registru index,
un test pentru marcajul de sfrit al datelor i un salt condiionat). Pe o main cu 50 MIPS, trei
copieri ale fiecrui pachet, cu cinci instruciuni pe fiecare cuvnt de 32 de bii, necesit 75 nsec
pentru fiecare octet recepionat. O astfel de main poate deci accepta date la o rat maxim de
aproximativ 107 Mbps. innd cont i de prelucrarea antetului, tratarea ntreruperilor i a
comutrilor de contexte, se pot atinge 50 Mbps, aceasta fr a pune la socoteal prelucrarea
efectiv a datelor. Evident, controlul unei linii de 1 Gbps nici nu intr n discuie.
De fapt, chiar i o linie de 50 Mbps este n afara oricrei discuii. n calculul anterior
am presupus c o main cu 50 MIPS poate executa oricare 50 milioane de instruciuni pe
secund. De fapt, mainile pot opera la aceast vitez doar dac nu execut referiri la
memorie. Operaiile cu memoria sunt, de cele mai multe ori, de trei ori mai lente dect
instruciunile registru-registru, aa c, de fapt, obinerea unei rate de 16 Mbps dintr-o
linie de 1 Gbps poate s fie considerat un rezultat chiar foarte bun. De notat c
echipamentul suport nu ajut n acest caz. Problema este c sistemul de operare execut
prea multe operaii de copiere.
SEC. 6.6 ELEMENTE DE PERFORMAN 525

Regula #5: Oricnd se poate cumpra mai mult lrgime de band, dar niciodat
o ntrziere mai mic.
Urmtoarele trei reguli se ocup de comunicaie mai mult dect de prelucrarea protocolului.
Prima regul stabilete c, dac se dorete o lime de band mai mare, este suficient s o cumperi.
Dac se pune o a doua fibr alturi de prima, se dubleaz lrgimea de band, dar nu se micoreaz
deloc ntrzierile. Micorarea ntrzierilor presupune mbuntirea programului de protocol, a
sistemului de operare sau a interfeei cu reeaua. Chiar dac toate acestea sunt ndeplinite,
ntrzierea nu se va reduce dac gtuirea const n timpul de transmisie.

Regula #6: Evitarea congestiei este preferabil eliminrii congestiei.


Vechea maxim conform creia o uncie de prevenire este mai bun dect o livr de nsntoire
este cu certitudine valabil i n cazul congestiei reelei. Atunci cnd o reea este congestionat, se
pierd pachete, lrgimea de band este irosit, apar ntrzieri inutile i multe altele. Recuperarea din
congestie ia timp i rbdare. Este de preferat s se procedeze de aa natur, nct congestia s nu
apar. Evitarea congestiei este ca i vaccinarea mpotriva tetanusului: doare puin n momentul n
care se face vaccinul, dar aceasta mpiedic o durere mult mai mare mai trziu.

Regula # 7 : Evitarea ntrzierilor.


n reele sunt necesare contoare, dar ele ar trebui utilizate cu msur i ntrzierile ar trebui
minimizate. Atunci cnd expir un contor, se repet de regul o aciune. Dac este ntr-adevr
necesar repetarea aciunii respective, atunci asta este, dar repetarea ei fr rost reprezint o risip.
Modalitatea de a evita o munc suplimentar const n nelegerea faptului c aceste contoare se
cam situeaz de partea conservatoare a lucrurilor. Un contor cruia i ia mult timp ca s expire
adaug o mic ntrziere suplimentar n cazul (nedorit) n care un TPDU se pierde. Un contor care
expir atunci cnd nu ar trebui, mnnc n mod nepermis din timpul procesor, irosete din lrgimea
de band i adaug o ncrcare suplimentar n zeci de rutere, probabil fr nici un motiv serios.

6.6.4 Prelucrarea rapid a TPDU-urilor

Morala povetii anterioare este aceea c principalul obstacol ctre reelele rapide l constituie
programul de protocol. n aceast seciune, vom studia cteva modaliti pentru a crete viteza
acestui program. Pentru mai multe informaii, pot fi citite (Clark i alii 1989; Edwards i Muir, 1995;
i Chandranmenon i Varghese, 1995).
Suprancrcarea indus de prelucrarea TPDU-urilor are dou componente: suprancrcare
per TPDU i suprancrcare per octet. Ambele pot fi atacate. Cheia accelerrii prelucrrii
TPDU-urilor const n separarea cazului normal (transferul datelor ntr-un singur sens) i
tratarea sa special. Cu toate c este necesar o secven de TPDU-uri speciale pentru a se
intra ntr-o stare STABILIT, odat intrat n starea respectiv, prelucrarea TPDU-urilor
decurge lin, pn n clipa n care una din pri iniiaz nchiderea conexiunii.
S ncepem examinarea prii emitoare din starea STABILIT, atunci cnd exist date de
transmis. Pentru claritate, presupunem c entitatea transport este n nucleu, aceleai idei
aplicndu-se i n cazul n care este vorba de un proces n spaiul utilizator sau o bibliotec n
526 NIVELUL TRANSPORT CAP. 6

interiorul procesului emitor. n Fig. 6-49, pentru a executa SEND-ul, procesul emitor intr
n mod nucleu prin acionarea unei capcane. Primul lucru pe care l face entitatea transport
este de a testa dac nu cumva este vorba de cazul normal: starea este STABILIT, nici o parte
nu ncearc s nchid conexiunea, un TPDU ntreg este n curs de a fi transmis (de exemplu,
nu este n afara limitelor) i este disponibil un spaiu fereastr suficient la receptor. Dac toate
condiiile sunt ndeplinite, nici un test suplimentar nu mai este necesar i poate fi acaparat
calea rapid prin entitatea de transport emitoare.

Proces Proces receptor


(S
emitor TPDU transmis procesului receptor

Salt n nucleu pentru transmisia TPDU


r i !_J l .| [.

Reea

Fig. 6-49. Calea rapid de la emitor la receptor este indicat printr-o linie groas.
Paii de prelucrare ai acestei ci sunt reprezentai prin dreptunghiuri umbrite.

In cazul normal, antetele mai multor date TPDU consecutive sunt n mare parte identice.
Pentru a profita de acest lucru, n interiorul entitii transport se memoreaz un antet
prototip. La nceputul cii rapide, el este copiat ct de repede posibil ntr-un tampon special,
cuvnt cu cuvnt. Acele cmpuri care ulterior se modific de la un TPDU la altul sunt
suprascrise n tampon. In mod frecvent, aceste cmpuri sunt uor de derivat din variabilele de
stare, de exemplu urmtorul numr de secven. Apoi este pasat nivelului reea un indicator
spre ntregul antet TPDU, mpreun cu un indicator spre informaia utilizator. i aici se poate
urma aceeai strategie (caz neacoperit de Fig. 6-49). In final, nivelul reea furnizeaz pachetul
rezultat nivelului legtur de date, n vederea transmisiei.
Pentru a exemplifica modul n care opereaz acest principiu n practic, s considerm cazul
TCP/IP-ului. Fig. 6-50(a) arat antetul TCP. Cmpurile umbrite sunt identice ntre dou TPDU-uri
consecutive, pe un flux ntr-un singur sens. Tot ce are de fcut entitatea transport este s copieze cele
cinci cuvinte dintr-un antet prototip n tamponul care urmeaz s fie transmis, s completeze
urmtorul numr de secven (prin copierea lui dintr-un cuvnt din memorie), s calculeze suma de
control i s incrementeze numrul de secven din memorie. Entitatea poate nmna apoi antetul,
mpreun cu datele aferente, unei proceduri IP speciale, n vederea transmisiei obinuite a unui
TPDU de dimensiune maxim. n continuare IP copiaz cele cinci cuvinte ale antetului su prototip
SEC. 6.6 ELEMENTE DE PERFORMANTA 527

[vezi Fig. 6-50(b)] n tampon, completeaz cmpul Identificare i calculeaz suma sa de control.
Pachetul este acum gata pentru transmisie.

i
Port surs Port destinaie VER. IHL TOS Lungime total

Numr de secven Identificare Depl. fragment


Sum de control
Numr de confirmare TTL Protocol
a antetului
i
Lg. Neutil. i Dim. fereastr Adres surs

Sum de control Indicator urgent Adres destinaie

(a) (b)

Fig. 6-50. (a) Antetul TCP. (b) Antetul IP. n ambele cazuri, cmpurile umbrite
se obin din prototip, fr nici o modificare.

S aruncm o privire asupra prelucrrii pe calea rapid n cazul receptorului din Fig. 6-49.
Pasul 1 const n localizarea nregistrrii de conexiune din TPDU-ul recepionat. n cazul
ATM, determinarea nregistrrii de conexiune este uoar: cmpul VPI poate fi utilizat ca
index n tabela cilor pentru a obine tabela circuitului virtual pentru acea cale, iar VCI poate
fi utilizat ca index al nregistrrii de conexiune. n cazul TCP, nregistrarea de conexiune poate
fi memorat ntr-o tabel de dispersie pentru care cheia poate fi o funcie simpl aplicat celor
dou adrese IP i celor dou porturi. Odat ce nregistrarea de conexiune a fost localizat,
corectitudinea sa trebuie verificat prin compararea ambelor adrese i ambelor porturi.
O optimizare care accelereaz i mai mult determinarea nregistrrii de conexiune const
n meninerea unui indicator ctre ultima nregistrare utilizat, urmnd ca aceasta s fie prima
nregistrare testat. Clark .a. (1989) au aplicat aceast idee i au observat o rat de succes
care depete 90%. Alte euristici de cutare sunt descrise n (McKenney i Dove, 1992).
n continuare, TPDU-ul este verificat pentru a determina dac este vorba de cazul normal:
starea este STABILIT, niciuna din pri nu ncearc nchiderea conexiunii, este un TPDU complet,
nici un indicator special nu este poziionat i numrul de secven este cel ateptat. Aceste teste
nseamn doar cteva instruciuni. Dac toate condiiile sunt ndeplinite, este invocat o procedur
TCP pentru cale rapid.
Calea rapid actualizeaz nregistrarea de conexiune i copiaz informaia ctre utilizator.
Totodat, suma de control este calculat chiar pe parcursul copierii, eliminnd astfel trecerile
suplimentare pe secvena de date. Dac suma de control este corect, nregistrarea de conexiune
este actualizat i se trimite o confirmare. Schema general care const ntr-un control rapid la
nceput, pentru a vedea dac antetul este cel ateptat, precum i n existena unei proceduri speciale
care trateaz cazul respectiv, se numete predicia antetului. Schema este utilizat n multe din
implementrile TCP. Atunci cnd aceast optimizare este utilizat mpreun cu celelalte optimizri
discutate n acest capitol, este posibil ca TCP-ul s ating la execuie 90% din viteza de copiere
local memorie - memorie, presupunnd c mediul de comunicaie este suficient de rapid.
Alte dou domenii unde se pot obine ctiguri importante n performane sunt controlul
tampoanelor i al contoarelor de timp. n controlul tampoanelor, ideea const n evitarea copierilor
528 NIVELUL TRANSPORT CAP.6

inutile, aa cum s-a menionat anterior. Controlul contoarelor de timp este important, deoarece
aproape nici un contor nu expir de fapt. Acestea sunt poziionate astfel, nct s ne pzeasc
mpotriva pierderii de TPDU-uri, dar majoritatea TPDU-urilor, ca i confirmrile lor, de altfel,
ajung corect la destinaie. Este deci important s se optimizeze controlul contoarelor de timp pentru
cazul n care acestea expir rar.

Poziie
0 * indicator spre lista
1 0 contoarelor pentru T + 12
2 0
3 0
4 0 -* Timpul curent, T
5 0
6 0
7
* indicator spre nsia
8 0 contoarelor pentru T + 3
9 0
10 0
11 0
12 0
13 0
14
^ indicator spre lista
15 0 contoarelor pentru T + 10

Fig. 6-51. O roat a timpului.

O schem uzual const n utilizarea unei liste mbuntite a evenimentelor generate de


contoare, sortate n funcie de momentul expirrii acestora. Intrarea din captul acestei liste conine
un contor care indic deprtarea n impulsuri de ceas fa de momentul expirrii. Fiecare din
intrrile care urmeaz indic printr-un contor deprtarea n impulsuri de ceas fa de intrarea
precedent. Astfel, pentru evenimente care expir n 3, 10 i respectiv 12 impulsuri, cele trei
contoare sunt 3,7 i, respectiv, 2.
La fiecare impuls de ceas, contorul din captul listei este decrementat. Atunci cnd contorul atinge
valoarea 0, se prelucreaz evenimentul asociat lui i urmtorul element din list devine captul listei.
Contorul acestuia nu trebuie s fie modificat. Prin aceast schem, inserarea i tergerea evenimentelor
sunt operaii costisitoare, cu un timp de execuie proporional cu lungimea listei.
Dac intervalul maxim de expirare al contorului este limitat i cunoscut n avans, poate fi utilizat
o abordare mai eficient. n acest caz, poate fi utilizat un vector numit roata timpului, ca n Fig. 6-51.
Fiecare poziie corespunde unui impuls de ceas. Ceasul curent reprezentat este T = 4. Contoarele
sunt planificate s expire la 3, 10 i 12 impulsuri fa de acest moment. Dac un contor nou este
brusc poziionat s expire peste 7 impulsuri, se creeaz pur i simplu o intrare n poziia 11. Similar,
n cazul n care contorul planificat s expire la T + 10 trebuie s fie anulat, trebuie parcurs lista care
ncepe pe poziia 14 i intrarea cerut trebuie tears. S observm c vectorul din Fig. 6-51 nu poate
suporta contoare care expir dup T + 15.
SEC. 6.6 ELEMEN1E DE PERFORMAN

Cu fiecare impuls de ceas indicatorul de timp curent este avansat cu o poziie (circular). Dac
intrarea indicat este neniil, sunt prelucrate toate contoarele asociate ei. Mai multe variatiuni pe
aceast tem sunt discutate n (Varghese i Lauck, 1987).

La nceputul anilor '90 au nceput s apar reele gigabit. Prima reacia a oamenilor a fost s
utilizeze pentru ele vechile protocoale, lucru care a pus n scurt timp diferite probleme. Vom discuta
n aceast seciune cteva din aceste probleme, precum i direciile urmate de noile protocoale
pentru a le soluiona. Alte informaii pot fi gsite n (Baransei . a., 1995; i Partridge, 1994).
Prima problem este c multe protocoale utilizeaz secvene de numere de 16 sau 32 de bii. Mai
32
demult, 2 reprezenta o aproximare bun a infinitului. Acest lucru s-a schimbat. La o rat de 1 Gbps
sunt necesare aproximativ 32 de secunde pentru transmisia a 232 octei. Dac numerele de secven
se refer la octei, aa cum se ntmpl n TCP, atunci un emitor poate ncepe transmisia octetului
0, apoi s transmit ca vntul, i 32 de secunde mai trziu s se ntoarc la octetul 0. Chiar
presupunnd c toi octeii au fost confimiai, emitorul nu poate s transmit n siguran noua
informaie etichetat de ia 0, deoarece se pot afla n suspensie pe undeva pachete vechi. n Internet,
de exemplu, pachetele pot avea o via de 120 sec. Dac numerele se refer la pachete n loc de
octei, problema este mai puin serioas, excepie fcnd numerele de secven reprezentate pe 16
bii, caz n care problema este chiar mai grav.
Problema este c muli proiectani de protocoale au plecat de ia presupunerea c timpul
necesar consumrii spaiului numerelor de secven depete cu mult timpul maxim de via
ai unui pachet. n consecin, nu era nici mcar nevoie s i fac griji c duplicate vechi pot s
existe nc undeva atunci cnd numerele de secven au revenit la vechile valori. La viteze
gigabit aceast presupunere cade.
O a doua problem este aceea c viteza de comunicaie a crescut mult mai repede dect viteza
de prelucrare. (Not pentru inginerii de calculatoare: Ieii n strad i batei-i pe inginerii de
comunicaii! Ne bazm pe voi.) n anii 70, ARPANET-ui opera ia 56 Kbps i avea calculatoare care
funcionau la aproape 1 MIPS. Pachetele erau de 1008 bii i astfel ARPANET-ui putea livra
aproximativ 56 pachete/sec. Avnd disponibile 18 msec pentru fiecare pachet, o main gazd putea
s-i permit s iroseasc 18000 instruciuni pentru prelucrarea unui pachet. Desigur, dac ar fi fcut
astfel, ar fi asfixiat complet procesorul, dar putea renuna la doar 9000 instruciuni per pachet i tot i-
ar mai fi rmas jumtate din puterea procesorului pentru celelalte prelucrri.
S comparm aceste numere cu calculatoarele moderne de 100 MIPS care interschimb pachete
de 4K octei pe o linie gigabit. Pachetele pot curge cu o vitez de peste 30000 pe secund, astfel
nct, dac vrem s rezervm jumtate din puterea procesorului pentru aplicaii, prelucrarea unui
pachet trebuie s se ncheie n 15 fisec. In 15 jisec, un calculator de 100 MIPS poate executa doar
1500 instruciuni, doar 1/6 din ceea ce i putea permite un calculator gazd ARPANET. Mai mult
dect att, instruciunile RISC moderne fac mai puine lucruri per instruciune dect o fceau
vechile instruciuni CISC, deci problema este chiar mai grav dect pare. n concluzie: exist mult
mai puin timp pentru prelucrarea efectuat de protocol dect exista altdat, deci protocoalele
trebuie s devin mai simple.
O a treia problem este aceea c protocolul cu reluare n are performane slabe pe linii cu un
produs lrgime de band-ntrziere de valoare mare. S considerm de exemplu o linie de 4000 km
530 NIVELUL TRANSPORT CAP. 6

opernd la 1 Gbps. Timpul de transmisie dus-ntors este de 40 msec, timp n care un emitor poate
transmite 5 megaoctei. Dac se detecteaz o eroare, atunci vor fi necesare 40 msec nainte ca
emitorul s fie avertizat de acest lucru. Dac este utilizat algoritmul cu reluare n, emitorul nu va
avea de retransmis doar pachetul eronat, ci i toi cei 5 megaoctei care i-au succedat. n mod clar,
are loc o risip de resurse.

1000 sec

jjj 100 sec -

'- 10 sec

1 sec -
%
c
+3100 msec
05
T3
10 msec -

1 msec

J_
J 12
10 10* 10* 10 10' 10 10" 1010 10n 10
Rata datelor (bps)

Fig. 6-52. Timpul necesar transferului i confirmrii unui fiier de un megabit


pe o linie de 4000 km.

O a patra problem este aceea c liniile gigabit sunt fundamental diferite de liniile megabit, cele
de lungime mare fiind limitate n ntrziere mai degrab dect n lrgimea de band. n Fig. 6-52
artm timpul necesar transferului unui fiier de un megabit la 4000 km distan pentru diferite
viteze de transfer. La o vitez de pn la 1 Mbps, timpul de transmisie este dominat de viteza la care
pot fi transferai biii. La 1 Gbps, ntrzierea de 40 msec a circuitului dus-ntors domin acea
milisecund necesar pentru a pune bitul pe fir. Creteri suplimentare ale lrgimii de band aproape
c rmn fr efect.
Figura 6-52 are implicaii nedorite pentru protocoalele de reea. Se spune c protocoalele pas-
cu-pas (stop-and-wait), precum RPC, au o limit superioar inerent de performan. Aceast limit
este dictat de viteza luminii. Orict de mare ar fi progresul tehnologic n optic, nu se poate obine
nici o mbuntire (dei noi legi ale fizicii ar fi folositoare).
O a cincea problem care merit menionat nu este o problem de protocol sau o problem
tehnologic, ci un rezultat al noilor aplicaii. Enunat doar, ea spune c pentru multe aplicaii
gigabit, precum multimedia, varianta sosirii pachetelor n timp este la fel de important ca nsi
media ntrzierilor. De cele mai multe ori este de preferat o vitez de livrare redus, dar uniform
uneia rapide, dar mpiedicate.
S revenim acum de la identificarea problemelor la modalitile lor de rezolvare. Vom face,
pentru nceput, cteva remarci generale, apoi vom analiza mecanismele de protocol, aspectul
pachetelor i programele de protocol.
SEC. 6.6 ELEMENTE DE PERFORMAN 531

Principiul de baz pe care toi proiectanii de reele gigabit ar trebui s-1 nvee pe de rost
este:
Proiectai astfel, nct s optimizai viteza, nu limea de band.
Protocoalele vechi au fost de regul proiectate pentru a minimiza numrul de bii de pe fir, prin
utilizarea frecvent a cmpurilor de dimensiuni mici i prin mpachetarea lor n octei i cuvinte. n
zilele noastre, exist suficient de mult lime de band. Problema o reprezint prelucrrile
efectuate de protocoale, deci acestea trebuie reduse la minim.
O modalitate tentant pentru accelerarea lucrurilor este de a construi intefee rapide cu reeaua
sub form de echipamente fizice. Dificultatea acestei strategii const n aceea c, n lipsa unui
protocol extrem de simplu, un nou echipament nseamn conectarea unei noi plci, cu un al doilea
procesor i cu propriul program. Pentru a evita ca un co-procesor de reea s aib un pre
comparabil cu al procesorului principal, el este de regul o component mai lent. Consecina
acestei soluii este c mult timp, procesorul principal (rapid) este inactiv, ateptnd ca al doilea
procesor (cel lent) s fac toat munca critic. Este o naivitate s crezi c procesorul principal ar
avea altceva de fcut n acest timp. Mai mult dect att, atunci cnd comunic dou procesoare
independente, pot aprea curse critice, fiind deci necesare protocoale complexe, pentru
sincronizarea lor corect. n general, cea mai bun abordare este de a concepe protocoalele ct mai
simplu i de a lsa procesorul principal s fac toat treaba.
S studiem acum noiunea de reacie n protocoalele de mare vitez. Datorit buclei de
ntrziere (relativ) lung, reacia ar trebui evitat: receptorului i ia prea mult timp pentru a anuna
emitorul. Un exemplu de reacie este controlul vitezei de transfer prin utilizarea unui protocol cu
fereastr glisant. Pentru a evita ntrzierile (ndelungate) inerente atunci cnd receptorul trimite
emitorului actualizrile de fereastr, cel mai bine este s se utilizeze o rat de transfer dictat de
protocol. ntr-un astfel de protocol, emitorul poate trimite tot ceea ce dorete el s trimit, cu
condiia s nu o fac mai repede dect s-a convenit iniial cu receptorul.
Un al doilea exemplu de reacie este algoritmul startului lent al lui Jacobson. Acest algoritm face
interogri multiple pentru a determina ct de mult poate suporta reeaua. n reelele de mare vitez
utilizarea a jumtate de duzin de interogri scurte pentru testarea rspunsul reelei conduce la
irosirea unei pri imense din limea de band. O schem mai eficient este ca emitorul,
receptorul i reeaua s rezerve resursele necesare n momentul stabilirii conexiunii. Rezervarea n
avans a resurselor are de asemenea avantajul diminurii fluctuaiilor. Pe scurt, migrarea spre viteze
mari mpinge inexorabil proiectarea spre operaii orientate pe conexiuni sau spre ceva foarte
apropiat de acestea.
n reelele gigabit, o importan deosebit trebuie acordat aspectului pachetelor. Antetul ar
trebui s conin ct mai puine cmpuri cu putin pentru a reduce timpul de prelucrare, iar aceste
cmpuri ar trebui s fie suficient de mari pentru a-i face munca i pentru a fi aliniate la cuvnt, fiind
astfel mai uor de prelucrat. n acest context, suficient de mari" nseamn eliminarea problemelor
precum revenirea numerelor de secven la valori vechi ct timp exist nc pachete vechi,
incapacitatea receptorilor de a oferi suficient spaiu de fereastr datorit unei dimensiuni prea mici a
cmpului fereastr .a.m.d.
Antetul i informaia ar trebui s fie prevzute cu sume de control separate, din dou motive. n
primul rnd, pentru a face posibil calcularea sumei de control a antetului, dar nu i a datelor. n al
doilea rnd, pentru a determina corectitudinea antetului naintea nceperii copierii datelor n spaiul
532 NIVELUL TRANSPORT CAP. 6

utilizator. Este de dorit s se calculeze suma de control a datelor la momentul copierii lor n spaiul
utilizator, dar dac antetul este incorect, copierea poate s se fac n spaiul unui alt proces. Pentru a
evita o copiere incorect, dar pentru a permite i calculul sumei de control a datelor n timpul
copierii, este esenial ca cele dou sume de control s fie separate.
Dimensiunea maxim a datelor ar trebui s fie mare pentru a permite operaii eficiente chiar i
n situaia transferului la distane mari. De asemenea, cu ct este mai mare blocul de informaie, cu
att este mai mic fraciunea din totalitatea limii de band alocat antetului.
O alt caracteristic important este posibilitatea de a trimite o cantitate rezonabil de
informaie odat cu cererea de conexiune. In acest fel se poate salva un timp de comunicaie
dus-ntors.
In sfrit, sunt utile cteva cuvinte despre programul de protocol. Cea mai mare atenie trebuie
acordat cazului de succes. Multe din protocoalele vechi aveau tendina de a evidenia ce este de
fcut atunci cnd ceva nu mergea cum trebuie (de exemplu pierderea unui pachet). Pentru a face
protocoalele s mearg mai repede, proiectanii ar trebui s aib ca scop minimizarea timpului de
prelucrare atunci cnd totul funcioneaz corect. Minimizarea timpului de prelucrare n caz de
eroare trebuie s treac pe planul doi.
O a doua noiune legat de programe este minimizarea timpului de copiere. Aa cum am vzut
mai devreme, copierea datelor este n general o surs de suprancrcare. Ideal ar fi ca echipamentul
fizic s depoziteze n memorie fiecare pachet recepionat ca un bloc contiguu de date. Programul ar
trebui apoi s copieze acest pachet n tamponul utilizator printr-o singur copiere de bloc. n funcie
de modul de lucru al memoriei tampon, ar fi de dorit chiar s se evite copierea n bucl. Cu alte
cuvinte, cel mai rapid mod de a cooia 1024 de cuvinte este de a avea 1024 de instruciuni MOVE
una dup cealalt (sau 1024 de perechi mcrcare-memorare). Rutina de copiere este critic ntr-o
asemenea msur, nct, dac nu exist alt modalitate de a pcli compilatorul ca s produc cu
precizie codul optimal, ea ar trebui scris cu mna, cu mult atenie, direct n cod de asamblare.
Spre sfritul anilor '80, a existat o scurt adiere de interes n ceea ce privete protocoalele
speciale rapide precum NETBLT (Clark . a., 1987), VTMP (Cheriton i Wiiliamson 1989) i
XTP (Chesson, 1989). O trecere n revist se poate gsi n (Doeringer i alii, 1990). Cu toate
astea, tendina actual este de a simplifica protocoalele complexe pentru a le face i pe acestea
mai rapide. ATM prezint multe din caracteristicile discutate rnai sus, la fel ca i IPv6.

Nivelul transport reprezint cheia pentru nelegerea protocoalelor stratificate diferit. EI


furnizeaz diferite servicii, cel mai important dintre acestea fiind fluxul de octei de la emitor la
receptor capt-la-capt, fiabil i orientat pe conexiuni. Ei este adresat prin primitive de serviciu care
permit stabilirea, utilizarea i eliberarea conexiunilor.
Protocoalele de transport trebuie s fie capabile s controleze conexiunea n reele nefiabile.
Stabilirea conexiunii este complicat de existena pachetelor duplicate ntrziate, care pot aprea la
momente inoportune. Pentru a le face fa, stabilirea conexiunii trebuie fcut prin intermediul
protocoalelor cu nelegere n trei pai. Eliberarea unei conexiuni este mai simpl dect stabilirea sa,
dar este nc departe de a fi banal datorit problemei celor dou armate.
SEC. 6.8 PROBLEME 533

Chiar i n cazul unui nivel reea complet fiabil, nivelul transport are suficient de mult de lucru,
aa cum am vzut n exemplul nostru. El trebuie s controleze toate primitivele de serviciu, toate
conexiunile i contoarele de timp i trebuie s aloce i s utilizeze credite.
Principalul protocol de transport n Internet este TCP. El utilizeaz un antet de 20 de octei
pentru toate segmentele. Segmentele pot fi fragmentate de mter n interiorul Internet-ului, deci
calculatoarele gazd trebuie s fie pregtite s le reasambleze. S-a depus un mare efort pentru
optimizarea performanelor TCP-ului, utiliznd algoritmii Nage, Clark, Jacobson, Karn i alii.
ATM are patru protocoale la nivelul AAL. Toate acestea fragmenteaz mesajele n celule, la
surs i reasambleaz celulele n mesaje la destinaie. Subnivelele CS i SAR adaug propriile antete
i ncheieri n diferite moduri, lsnd o informaie util per celul ntre 44 i 48 octei.
Performanele reelei sunt dominate n mod tipic de protocol i de tratarea suprancrcrii
TPDU-urilor, situaie care se nrutete la viteze mari. Protocoalele ar trebui proiectate astfel,
nct s minimizeze numrul de TPDU-uri, copierile lor repetate i comutrile de context. Pentru
reelele gigabit sunt de dorit protocoale simple, care se bazeaz mai curnd pe viteza fluxului de
control dect pe creditul fluxului de control.

6.8 PROBLEME

1. n exemplele noastre de primitive de transport din Fig. 6-3, LISTEN este un apel blocant. Este
acest lucru strict necesar? Dac nu, explicai cum ar putea fi utilizat o primitiv neblocant. Ce
avantaje ar avea aceasta pentru schema descris n text?

2. n modelul pe care se bazeaz Fig. 6-5 se presupune c pachetele pot fi pierdute de ctre
nivelul reea i trebuie deci s fie confirmate individual. S presupunem c nivelul reea este
100% fiabil i nu pierde pachete niciodat. Ce modificri sunt necesare (dac sunt necesare) n
Fig. 6-5?

3. Imaginai o problem generalizat a celor n armate, n care acordul dintre oricare dou armate
este suficient pentru victorie. Exist un protocol care i permite albastrului s ctige?

4. S presupunem c pentru generarea numerelor de secven iniiale se utilizeaz o schem


dirijat de ceas cu un contor de timp de 15 bii. Ceasul genereaz un impuls la fiecare 100 msec
i durata de via maxim a unui pachet este de 60 sec. Ct de des este necesar s aib loc o
resincronizare.
a) n cel mai ru caz?
b) atunci cnd se consum 240 de numere de secven pe secund?

5. De ce este necesar ca timpul maxim de via al unui pachet, T, s fie suficient de mare pentru a
acoperi nu numai dispariia pachetului, dar i a confirmrii?

6. S ne imaginm c pentru stabilirea unei conexiuni se utilizeaz un protocol cu nelegere n


doi pai i nu unul cu nelegere n trei pai. Cu alte cuvinte, al treilea mesaj nu mai este
necesar. Sunt posibile interblocri n aceast situaie? Dai un exemplu sau artai c nu exist
nici o interblocare.
534 NIVELUL TRANSPORT CAP. 6

7. S considerm problema recuperrii dup defectarea unei maini gazd (de exemplu
Fig. 6-18). Dac intervalul dintre scrierea i trimiterea unei confirmri, sau vice-versa, poate fi
fcut relativ scurt, care sunt cele mai bune strategii emitor-receptor pentru minimizarea
ansei de defectare a protocolului?

8. Sunt posibile interbiocrile pentru entitile transport descrise n text?

9. Din pur curiozitate, programatorul entitii transport din Fig. 6-20 a decis s pun contoarele
n interiorul procedurii skep, pentru a colecta astfel statistici despre vectorul conn. ntre acestea
se afl i numerele de conexiuni din fiecare dintre cele apte stri posibile Z/,- (Z=1,. .., 7). Dup
scrierea unui program FORTRAN serios pentru a analiza datele, programatorul nostru a
descoperit c relaia Int = MAX_C0NN pare s fie totdeauna adevrat. Exist i ali
invariani care s implice doar aceste apte variabile?

10. Ce se ntmpl dac utilizatorul entitii transport din Fig. 6-20 trimite un mesaj de iungime 0?
Discutai semnificaia rspunsului.

11. Pentru fiecare eveniment care poate aprea n entitatea transport din Fig. 6-20. spunei dac
este sau nu permis atunci cnd utilizatorul ateapt n starea transmisie.

12. .Discutai avantajele i dezavantajele creditelor fa de protocoalele cu fereastr glisant.

13. Fragmentarea i reasamblarea datagramelor sunt controlate de I? i sunt invizibile TCP-uIui.


nseamn acest lucru c TCP-ul nu trebuie s-i fac griji pentru datele care sosesc n ordine
eronata/

14 Un proces de pe maina 1 a fost asociat portului p i un proces de pe maina 2 a fost asociat


portului q. Este posibil ca ntre cele dou porturi s fie deschise mai multe conexiuni TCP n
acelai timp?

15. Informaia util maxim dintr-un segment TCP este de 65515 octei. De ce a fost ales un
numr att de straniu?

16. Descriei dou moduri de a ajunge n starea SYNRCVD din Fig. 6-28.

17. Prezentai un dezavantaj potenial al algoritmului Nagle atunci cnd este utilizat ntr-o reea
puternic congestionat.

18. S considerm efectul utilizrii startului lent pe o linie cu timpul circuitului dus-ntors de 10
rnsec i fr congestie. Fereastra receptorului este de 24 Koctei i dimensiunea maxim a
segmentului este de 2 Koctei. Ct timp trebuie s treac nainte ca prima fereastr complet s
poat fi trimis?

19. S presupunem c fereastra de congestie TCP este de 18 Koctei i apare o depire de timp.
Ct de mare va fi fereastra dac urmtoarele patru rafale de transmisie reuesc? Se presupune
c dimensiunea maxim a segmentului este de 1K.
SEC. 6.8 PROBLEME 535

20. Dac timpul circuitului TCP dus-ntors, RTT, este la un moment dat 30 msec i urmtoarele
confirmri sosesc dup 26, 32 i, respectiv, 24 msec, care este noul RTT estimat? Utilizai
<x=0.9.
21. O main TCP trimite cadre de 65535 octei pe un canal de 1 Gbps pentru care ntrzierea pe
un singur sens este de 10 msec. Care este productivitatea maxim care poate fi atins? Care
este eficiena liniei?

22. ntr-o reea care are dimensiunea maxim a TPDU-urilor de 128 octei, timpul maxim de via
al unui TPDU de 30 sec i numrul de secven de 8 bii, care este rata maxim de date per
conexiune?

23. De ce exist UDP? Nu ar fi fost suficient ca procesul utilizator s fie lsat s trimit pachete
blocIP?

24. Un grup de N utilizatori localizai n aceeai cldire utilizeaz acelai calculator aflat la distan
printr-o reea ATM. Utilizatorul mediu genereaz n medie L linii de trafic (intrare + ieire)
pe or, lungimea medie a liniei fiind de P octei, exclusiv antetee ATM. Compania care asigur
transmisia pachetelor factureaz C ceni pentru fiecare octet transmis, plus X ceni pe or
pentru fiecare circuit virtual ATM deschis. n ce condiii este avantajos din punctul de vedere al
costului s se multiplexeze toate cele N conexiuni de transport pe acelai circuit virtual ATM,
dac o astfel de multiplexare adaug 2 octei la fiecare pachet de date? Se presupune c un
singur circuit virtual ATM are suficient lime de band pentru toi utilizatorii.

25. Poate AAL 1 s controleze mesaje mai scurte de 40 de octei utiliznd schema cu cmp
Indicatori Explicai rspunsul.

26. Ghicii dimensiunile cmpurilor din AAL 2 nainte ca ele s fie extrase din standard.

27. AAL 3/4 permite ca sesiuni multiple s fie multiplexate pe un singur circuit virtual. Dai un
exemplu de situaie n care acest lucru nu are nici o valoare. Presupunei c un singur circuit
virtual are suficient lime de band pentru a transporta tot traficul. Indicaie: Gndii-v la
cile virtuale.

28. Care este dimensiunea informaiei utile pentru mesajele care intr ntr-o singur celul
AAL 3/4?

29. Care este eficiena transmisiei unui mesaj de 1024 octei prin intermediul lui AAL 3/4? Cu alte
cuvinte, ce fraciune din biii transmii sunt bii utili de date? Aceeai problem i pentru AAL 5.

30. Un dispozitiv ATM transmite mesaje de o singur celul la 600 Mbps. O celul dintr-o sut
este complet eronat din cauza zgomotului aleatoriu. Cte erori nedetectate pe sptmn pot
fi ateptate cu o sum de control AAL 5 de 32 bii?

31. Un client trimite cereri de 128 de octei ctre un server localizat la 100 km deprtare, printr-un
cablu optic de 1 gigabit. Care este eficiena liniei n timpul apelului de procedur la distan?
536 NIVELUL TRANSPORT CAP. 6

32. S considerm din nou situaia din problema precedent. Calculai timpul minim posibil de
rspuns att pentru linia de 1 Gbps anterioar ct i pentru o linie de 1 Mbps. Ce concluzie
putei trage?

33. S presupunem c msurai timpul necesar recepionrii unui TPDU. Atunci cnd apare o
ntrerupere, se citete timpul sistem n milisecunde. Cnd TPDU-ul este complet prelucrat, se
citete din nou timpul sistem. S-au nregistrat 0 msec de 270000 de ori i 1 de 730000 de ori.
Care este timpul de recepie al unui TPDU?

34. Un procesor execut instruciuni la o vitez de 100 MIPS. Informaia poate fi copiat cte 64
de bii odat, fiecare copiere a unui cuvnt costnd ase instruciuni. Dac un pachet
recepionat trebuie s fie copiat de dou ori, poate fi controlat de ctre sistem o linie de 1
Gbps? Pentru a simplifica, presupunem c toate instruciunile, inclusiv acelea de citire/scriere
din memorie, ruleaz la viteza maxim de 100 MIPS.

35. Pentru a evita problema revenirii numerelor de secven la valori iniiale n timp ce exist nc
pachete vechi, s-ar putea utiliza numere de secven pe 64 de bii. Cu toate acestea, teoretic, un
cablu optic poate opera la 75 Tbps. Care este durata maxim de via pe care trebuie s o aib
un pachet pentru ca viitoarele reele de 75 Tbps s nu se loveasc de aceeai problem a
revenirii numerelor de secven chiar i n cazul reprezentrii lor pe 64 bii? Presupunei, ca i
TCP-ul,, c fiecare octet are propriul su numr de secven.

36. In text am calculat c o linie gigabit livreaz unei maini gazd 30000 de pachete pe secund,
permindu-i doar 1500 de instruciuni pentru a prelucra un pachet i lsnd doar jumtate din
capacitatea procesorului pentru aplicaii. Acest calcul presupune pachete de 4 K. Refacei
Iul pentru pachetele ARPANET de dimensiune de 128 octei.

37. Pentru o reea care opereaz la 1 Gbps pe o distan de 4000 km, factorul limitator nu este dat
de lrgimea de band, ci de ntrziere. Considerm un MAN cu sursa i destinaia situate n
medie la 20 km una de cealalt. La ce vitez de date ntrzierea circuitului dus-ntors datorat
vitezei luminii egaleaz ntrzierea de transmisie pentru un pachet de 1 Kocte?

38. Modificai programul din Fig. 6-20 pentru a asigura revenirea din erori. Adugai un nou tip de
pachet, reset, care poate ajunge doar dup ce conexiunea a fost deschis de ambele pri i n-a
fost nchis de niciuna. Acest eveniment, care are loc simultan la ambele capete ale conexiunii,
indic faptul c orice pachet care era n tranzit a fost sau distrus, sau livrat, n orice caz el
nemaiafindu-se n subreea.

39. Scriei un program care simuleaz controlul tampoanelor ntr-o entitate transport, utiliznd un
flux de control cu fereastr glisant i nu un control al fluxului cu credite, ca n Fig. 6-20. Lsai
procesele de pe nivelul superior s deschid conexiuni, s trimit date i s nchid .conexiuni n
mod aleatoriu. Pentru a pstra programul ct mai simplu, facei ca toat informaia s
cltoreasc doar de la maina A la maina B i deloc n sens invers. Experimentai cu diferite
strategii de alocare a tampoanelor la nivelul mainii B, ca, de exemplu, tampoane dedicate unei
anume conexiuni fa de tampoane preluate dintr-un depozit comun i msurai
productivitatea total atins n ambele cazuri.
NIVELUL APLICAIE

Dup ce am terminat toate preliminariile putem aborda nivelul aplicaie unde pot fi gsite
toate aplicaiile interesante. Nivelurile de sub nivelul aplicaie servesc la asigurarea unui
transport sigur, dar nu ndeplinesc nici o funcie concret pentru utilizatori. n acest capitol
vom studia cteva aplicaii reale.
Totui, chiar i la nivelul aplicaie, apare necesitatea unor protocoale suport care s
permit funcionarea aplicaiilor reale. nainte de a ncepe studiul aplicaiilor, vom aborda trei
dintre acestea. Primul subiect l reprezint securitatea, care nu este un singur protocol, ci un
mare numr de concepte i protocoale ce pot fi folosite pentru asigurarea securitii acolo
unde este necesar. Al doilea este DNS, care se ocup de conveniile de nume n Internet. Al
treilea protocol suport este cel destinat administrrii reelei. Dup aceea vom examina patru
aplicaii reale: pota electronic, USENET (reeaua de tiri), World Wide Web (lumea ca o
pnz de pianjen) i, n final, multimedia.

7.1 SECURITATEA REELEI

n primele decenii ale existenei lor, reelele de calculatoare au fost folosite de cercettorii din
universiti pentru trimiterea potei electronice i de ctre funcionarii corporaiilor pentru a partaja
imprimantele. n aceste condiii, problema securitii nu atrgea de loc atenia. Dar acum, cnd
milioane de ceteni obinuii folosesc reelele pentru operaiuni bancare, cumprturi i plata
taxelor, securitatea reelei apare la orizont ca o mare problem potenial. n urmtoarele seciuni,
vom studia securitatea reelei din mai multe unghiuri, evideniind numeroase pericole i discutnd
muli algoritmi destinai a face reelele mai sigure.

537
NIVELUL APLICAIE CAP. 7

Securitatea este un subiect vast i acoper o multitudine de imperfeciuni. n forma sa cea mai
simpl, ea asigur c persoane curioase nu pot citi sau, i mai ru, modifica mesajele destinate altor
destinatari. Se ocup de cei care ncearc s apeleze servicii la distan pe care nu sunt autorizai s
le foloseasc. De asemenea, securitatea implic verificarea dac un mesaj, ce pretinde c vine de la
IRS i spune: Pltete pn vineri", provine ntr-adevr de la IRS sau de la Mafie. Securitatea se
ocup de problemele legate de capturarea i falsificarea mesajelor autorizate i de cei ce ncearc s
nege faptul c au trimis anumite mesaje.
Majoritatea problemelor de securitate sunt cauzate intenionat de persoane ruvoitoare ce
ncearc s obin anumite beneficii sau s provoace ru cuiva. Civa dintre cei care comit n mod
obinuit astfel de fapte sunt menionai n Fig. 7-1. Din aceast list trebuie s rezulte clar c
realizarea unei reele sigure implic ceva mai mult dect pstrarea ei fr erori de programare.
Aceasta implic surciasarea unor adversari adeseori inteligeni, dedicai i uneori bine dotai
material. Trebuie de asemenea s fie clar c msurile care pot stopa inamici accidentali vor avea un
impact redus asupra unor adversari serioi.

Adversar I Scop
Student Pentru a se distra furnd pota electronic a celorlali
Sprgtor Pentru a testa securitatea sistemului cuiva; pentru a fura date
Responsabil de vnzri Pentru a pretinde c reprezint toat Europa, nu numai ndorra
Om de afaceri Pentru a descoperi panul strategic de marketing al competitorului
Fost funcionar Pentru a se rzbuna c a fost concediat
Contabil j Pentru a sustrage bani de ia o companie
[ Agent de vnzri j Pentru a nega o promisiune fcut clientului prin pot eiectronic
Sariatam Pentru a fura numere de cri de credit si a le vinde
Spion j Pentru a afla puterea militar a inamicului
Terorist [ Pentru a fura secrete legate de ostiliti armate

Fig. 7-. Cteva persoane ce cauzeaz probleme de securitate i motivele acestora.

Problemele securitii reelei pot fi mprite, n mare, n patru domenii interconectate:


confidenialitate, autentificare, nerepudiere i controlul integritii. Confidenialitatea se refer la
pstrarea informaiei departe de utilizatorii neautorizai. Aceasta este ceea ce vine de obicei n
mintea oamenilor atunci cnd se gndesc la securitatea reelei. Autentificarea reprezint
determinarea identitii persoanei cu care vorbeti nainte de a dezvlui informaii importante sau
de a intra ntr-o afacere. Nerepudierea implic semnturi: cum s dovedeti c un client a fcut ntr-
adevr o comand pentru zece milioane de nimicuri de 89 de ceni fiecare, dac, mai trziu, el
pretinde c preul era de 69 de ceni? In fine, cum poi fi sigur c un mesaj pe care l-ai primit a fost
cei trimis cu adevrat i nu unul pe care un adversar rutcios i-a modificat n tranzit sau 1-a msluit?
Toate aceste aspecte (confidenialitate, autentificare, nerepudiere i controlul integritii) apar i
n sistemele tradiionale, dar cu cteva diferene semnificative. Confidenialitatea i integritatea sunt
realizate prin folosirea potei nregistrate i prin sigilarea documentelor. Jefuirea trenului ce duce
pota este mai greu de realizat dect era n zilele lui Jesse James.
De asemenea, oamenii pot de obicei s spun ce diferen este ntre un document original i o
fotocopie i adeseori numai primul are valoare pentru ei. Ca test, facei o fotocopie a unui cec valid,
ncercai luni s ncasai de la banc banii pe cecul original. Apoi ncercai mari s ncasai banii pe
SEC. 7.1 SECURITATEA REELEI 539

fotocopie. Observai diferena din comportamentul bncii. Cu cecuri electronice, originalul i copia
nu sunt distinctibile. Va trece ceva vreme pn ce bncile se vor obinui cu aceasta.
Oamenii autentific ali oameni prin recunoaterea feelor, vocilor i scrisului lor. Dovada
semnrii se face prin semnturi pe scrisori cu antet, sigilii etc. Falsificarea poate fi de obicei detectat
prin scris, hrtie i experi n grafologie. Nici una din aceste opiuni, nu este disponibil electronic.
Evident, sunt necesare alte soluii.
nainte de a intra n prezentarea acestor soluii, merit s consumm cteva minute pentru a
stabili unde anume n stiva de protocoale se situeaz securitatea reelei. Exist probabil mai mult
dect un singur loc. Fiecare nivel are o oarecare contribuie la aceasta. n nivelul fizic, ascultarea
firelor poate fi zdrnicit prin nchiderea liniilor de transmisie n tuburi sigilate coninnd gaz de
argon la presiuni nalte. Orice ncercare de a sfredeli tubul va duce ia pierderi de gaz, reducnd
presiunea i trgnd alarma. Anumite sisteme militare folosesc aceast tehnic.
La nivelul legtur de date, pachetele transmise pe o linie punct-la-punct pot fi codificate cnd
prsesc una dintre maini i decodificate cnd intr n cealalt. Toate detaliile pot fi manipulate ia
nivelul legtur de date, fr ca nivelurile mai nalte s aib cunotin de ceea ce se petrece.
Aceast soluie eueaz, totui, atunci cnd pachetele trebuie s traverseze mai multe rutere,
deoarece pachetele trebuie decriptate n fiecare mter, fcndu-ie astfel vulnerabile ia atacurile din
interiorul rutereior. De asemenea, ea nu permite ca anumite sesiuni s fie protejate (de exemplu,
acelea ce implic cumprturile on-line prin cri de credit), iar altele nu. Cu toate acestea, criptarea
legturii (link enayption), cum este numit aceast metod, poate fi adugat cu uurin la orice
reea si este adeseori util.
La nivelul reea, pot fi instalate ziduri de protecie pentru a pstra pachetele n interior sau
pentru a pstra pachetele n afara acestuia. Am studiat zidurile de protecie n Cap. 5. La nivelul
transport, conexiuni ntregi pot fi criptate, de la un capt la cellalt, adic de ia un proces ia cellalt.
Cu toate c aceste soluii conduc la realizarea confidenialitii si muli oameni muncesc din greu
pentru a ie mbunti, nici una dintre ele nu soluioneaz problema autentificrii sau nerepudierii
ntr-un mod suficient de generai. Pentru a rezolva aceste probleme, soluiile trebuie s se gseasc ia
nivelul aplicaie, motiv pentru care ele sunt studiate n cadrul acestui capitol.

7.1.1 Criptografia tradiional

Criptografia are o istorie lung i pitoreasc. In aceast seciune, vom schia doar cteva dintre
aspecte, ca informaii de baz pentru ceea ce urmeaz. Pentru o istorie complet se recomand a fi
citit cartea lui Kahn (1967). Pentru o tratare detaliat a situaiei actuale n domeniu a se vedea
(Kaufiman .a. 1995; Schneier, 1996; i Stinson, 1995).
Din punct de vedere istoric, la arta criptografiei au contribuit patru grupuri de oameni: armata,
corpurile diplomatice, cei ce au inut jurnale i ndrgostiii. Dintre acestea, armata a avut rolul cel
mai important i a structurat domeniul. In interiorul organizaiilor militare, mesajele ce trebuiau
criptate erau de obicei date unor funcionari codori prost pltii, pentru criptare i transmitere.
Volumul de mesaje nu permitea ca aceast munc s fie fcut doar de civa specialiti de elit.
Pn Ia apariia calculatoarelor, una din marile constrngeri ale criptografiei a fost capacitatea
funcionarilor codori de a realiza transformrile necesare, adeseori pe cmpul de lupt, cu
echipament redus. O constrngere suplimentar a fost dificultatea de comutare rapid de ia o
metod criptografic ia alta, deoarece aceasta implica reantrenarea unui numr mare de oameni.
NIVELUL APLICAIE CAP. 7

Totui, pericolul ca un cod s fie capturat de ctre un inamic a fcut s devin esenial posibilitatea
de a schimba metoda criptografic imediat, n caz de nevoie. Aceste necesiti antagoniste au dat
natere modelului din Fig. 7-2.
Mesajele ce trebuie criptate, cunoscute sub numele de text dar (plain text), sunt transformate
printr-o funcie parametrizat de o cheie (key). Ieirea procesului de criptare, cunoscut sub numele
de text cifrai (ciphertex), este apoi transmis, adeseori prin curier sau radio. Presupunem c inamicul
ascult i copiaz cu acuratee ntreg textul cifrat. Totui, ei nu tie care este cheia de decriptare i
astfel nu poate decripta prea uor textul cifrat. Uneori intrusul poate nu numai s asculte canalul de
comunicaie (intrus pasiv), ci i s nregistreze mesajele i s le retransmit mai trziu, s injecteze
propriile sale mesaje sau s modifice mesajele legitime nainte ca ele s fi fost preluate de receptor
(intms activ). Arta de a sparge cifruri se numete criptanaliz (ayptanalysis). Arta de a concepe
cifruri (criptografia) i cea de a le sparge (cripanaliza) sunt cunoscute sub numele colectiv de

irtrus rus

ssre doar care poate


ascult modifica
mesaiele

Metod de Metod de
Fsxt clar, P- Text dar
eripsre decriptare

Cheie de Cheie de
criptare, k decriptare

Fig. 7-2. Modelul de criptare.

Va fi adesea util s avem o notaie pentru a pune n relaie textul dar, textul cifrat i cheile. Vom
folosi C=EK(P) pentru a simboliza c n urma criptrii textului dar P, folosind cheia K, a rezultat
textul cifrat C. Similar, P=DK(C) reprezint decriptarea lui C pentru a obine din nou textul clar.

DK(EK(P))=P

Aceast notaie sugereaz c E i D sunt funcii matematice, ceea ce, de altfel, i sunt. Singurul
artificiu este acela c ambele sunt funcii cu doi parametrii iar noi arn scris unul din parametrii
(cheia) ca indice, nu ca argument, pentru a face distincie ntre ei i mesaj.
O regui fundamental a criptografiei este aceea c trebuie presupus cunoaterea de ctre orice
criptanalist a metodei generale utilizate pentru criptare. Cu alte cuvinte, criptanalistul tie cum
lucreaz metoda de criptare E din Fig. 7-2. Cantitatea de efort necesar pentru a inventa, testa i
SEC. 7.1 SECURITATEA REELEI 541

instala o metod nou, ori de cte ori vechea metod este compromis sau se crede a fi
compromis, a fcut ntotdeauna nepractic a o pstra secret i a o crede secret atunci cnd nu este;
face mai mult ru dect bine.
Aici apare cheia. Cheia const dintr-un ir (relativ) scurt care selecteaz una dintre mai multe
criptri poteniale. In contrast cu metoda general, care poate fi schimbat doar la civa ani, cheia
poate fi schimbat orict de des este nevoie. Astfel modelul nostru de baz este stabil i metoda
general, cunoscut de toat lumea, este parametrizat cu o cheie secret i uor de schimbat.
Caracterul nesecret al algoritmului nu poate fi subliniat suficient. Prin publicarea algoritmului,
criptograful d libertatea ca acesta s fie consultat de un numr larg de criptoiogi din mediul
academic, pasionai s sparg sistemul pentru a putea publica articole care s demonstreze ct de
detepi sunt ei. Dac muli experi au ncercat s sparg algoritmul timp de 5 ani dup publicarea sa
i nici unul nu a reuit, probabil c algoritmul este destul de solid. .
Adevratul secret este cheia, iar lungimea sa reprezint un aspect foarte important. S
considerm o simpl combinaie de seif. Principiul general este c se introduc cifre n secven.
Oricine tie aceasta, dar cheia este secret. O lungime a cheii de dou cifre nseamn c exist 100
de posibiliti. O lungime a cheii de trei cifre nseamn 1000 de posibilti i o lungime a cheii de
ase cifre nseamn un milion. Cu ct cheia este mai lung, cu att este mai mare volumul de munc
(work factor) cu care are de-a face criptanalistul. Factorul de munc pentru a sparge sistemul prin
cutare exhaustiv n spaiul cheilor este exponenial n raport cu lungimea cheii. Secretul provine
din a avea un algoritm puternic (dar public) i o cheie lung. Pentru a-i mpiedica fratele mai mic
s-i citeasc pota electronic, sunt suficiente chei de 64 de bii. Pentru a pstra la distan inamici
puternici, sunt necesare chei de cel puin 256 de bii.
Din punctul de vedere al criptanalistului, problema sa are trei variante principale. Cnd are
la dispoziie o cantitate de text cifrat i nici un fel de text clar, el este confruntat cu problema
textului cifrat (ciphertext only problem). Criptogramele care apar la seciunea de enigme a
ziarelor pun acest tip de problem. Cnd criptanalistul are ceva text clar i textul criptat
corespunztor, problema este cunoscut sub numele de probiema textului clar cunoscut
(known plaintextproblem). n sfrit, atunci cnd criptanalistul poate cripta buci de text clar
la propria sa alegere, avem de-a face cu problema textului clar ales (chosen plaintext problem).
Criptogramele din ziare ar putea fi sparte ntr-un mod evident dac criptanalistului i s-ar
permite s pun ntrebri de genul: Care este criptarea pentru ABCDE?
Novicii n domeniul criptografiei presupun adeseori c dac un cifru poate rezista unui atac
ciphertext only", el este sigur. Aceast presupunere este foarte naiv. n multe cazuri criptanalistul
poate ghici unele pri din textul clar. De exemplu, primul lucru pe care multe sisteme cu divizarea
timpului (timesharing) 1 spun cnd sunt invocate este PLEASE LOGIN". Avnd cteva perechi
text clar - text criptat, sarcina criptanalistului devine mult mai uoar. Pentru a realiza securitatea,
criptograful trebuie s fie prudent i s se asigure c sistemul este rezistent, chiar dac inamicul su
poate cripta cantiti arbitrare de text clar ales.
Metodele de criptare au fost istoric mprite n dou categorii: cifruri cu substituie i cifruri cu
transpoziie. Vom studia acum pe scurt pe fiecare dintre aceste cifruri, ca informaie fundamental
pentru nelegerea criptografiei moderne.
542 NIVELUL APLICAIE CAP. 7

Girurile cu substituie
ntr-un cifru cu substituie fiecare liter sau grup de litere este nlocuit() pentru deghizare cu
alt liter sau grup de litere. Unul dintre cele mai vechi cifruri cunoscute este Cifirul toi Caesar,
atribuit lui Julius Caesar. n aceast metod, a devine D, b devine E, c devine F,.... z devine C. De
exemplu, cuvntul attack devine DWIVDFN. In exemple textul clar va fi scris cu litere mici, iar textul
cifrat va fi scris cu majuscule.
O mic generalizare a cifrului Iui Caesar permite alfabetului textului cifrat s fie deplasat cu Ic
litere, n loc de a fi deplasat ntotdeauna cu 3. n acest caz, k devine o cheie pentru metoda general
a alfabetelor deplasate circular. Cifrul Caesar poate s fi nelat pe Cartaginezi, dar de atunci el nu
mai neal pe nimeni.
Urmtoarea mbuntire este de a stabili pentru fiecare simbol din textul clar, s spunem pentru
simplitate cele 26 de litere, o coresponden cu o alt liter. De exemplu:

textul clar: abcdefghijklmnopqrstuvwxyz


textul cifrat: Q W E R T Y U i O? A S D F G H J K L Z X C VBNM

Sistemul generai este numit substituie monoaifahetic (monoalphabetic substitution), cheia fiind
irul de 26 de litere corespunznd ntregului alfabet. Pentru cheia anterioar, textul clar attack va fi
transformat n QZZQEA.
La prima vedere, acesta ar putea fi considerat un sistem sigur deoarece, dei criptanalistul
cunoate sistemul general (substituie liter cu liter), el nu cunoate care dintre cele 26!=4xlO26
chei posibile este folosit. Spre deosebire de cifrul lui Caesar, ncercarea tuturor acestora nu este o
abordare prea promitoare. Chiar i la lusec per soluie, unui calculator i-ar trebui 10 b ani pentru
a ncerca toate cheile.
Totui, dndu-se o cantitate surprinztor de mic de text cifrat, cifrul poate fi spart cu uurin.
Atacurile de baz folosesc ca informaie proprietile statistice ale limbajelor naturale. n englez, de
exemplu, e este cea mai frecvent liter, urmat de t, o, a, n, i etc. Cele mai comune combinaii de
dou litere, sau 'digrame (digrams), sunt th, n, er, re i an. Cele mai comune combinaii de trei litere,
sau irigrame (trigrams), sunt the, ing, and i ion.
Un criptanalist ce ncearc s sparg un cifru monoalfabetic va ncepe prin a numra frecvenele
relative ale tuturor literelor din textul cifrat. Dup aceea el trebuie s ncerce s asocieze cea mai
frecvent liter cu e, urmtoarea cu t. Apoi el trebuie s caute trigramele, s o gseasc pe cea mai
comun de forma tXe, care sugereaz puternic c X este h. Similar, dac apare frecvent ablonul
ihY, probabil c Feste a. Cu aceast informaie, el poate cuta apariiile frecvente ale trigramelor
de forma aZW, care sunt asemntoare cu and. Prin astfel de presupuneri fcute asupra celor mai
comune litere, digrame, trigrame i cu ceva cunotine despre abloanele asemntoare de vocale i
consoane, criptanalistul construiete liter cu liter o variant de text clar.
O alt abordare este aceea de a ghici un cuvnt sau o expresie probabil. De exemplu,
considerai urmtorul text cifrat provenind de la o firm de contabilitate (mprit n blocuri de cte
cinci caractere):
CTBMN BYCTC BTJDS QXBNS GSTJC BTSWX CTQTZ CQVUI
QJSGS TJQZZ MNQJS VLNSZ VSZJU JDSTS JQUUS JUBXJ
DSKSU JSNTK BGAQJ ZBGYQ TLCTZ BNYBN QJSW
SEC. 7.1 SECURITATEA REELEI 543

Un cuvnt probabil ntr-un mesaj provenind de la o firm de contabilitate este financiai


Folosind propriile noastre cunotine, cum ar fi faptul c financiai are o liter repetat (/), cu
alte patru litere ntre apariiile lor, vom cuta n textul cifrat repetri de litere aflate la aceast
distan. Gsim 12 potriviri pe poziiile 6, 15, 27, 31, 42, 48, 56, 66, 70, 71, 76 i 82. Totui,
doar dou dintre acestea, 31 i 42 au urmtoarea liter (cea corespunznd lui n n textul clar)
repetat n locul corespunztor. Din acestea dou, doar 31 are un a corect poziionat, deci tim
ci financiai ncepe la poziia 30. Din acest punct, deducerea cheii este uor de realizat folosind
statisticile de frecven a literelor n textele englezeti.

Cifrurile cu transpoziie
Cifrurile cu substituie pstreaz ordinea simbolurilor din textul clar, dar le deghizeaz.
Spre deosebire de acestea, cifrurile cu transpoziie (transposition ciphers) reordoneaz literele,
dar nu le deghizeaz.
Figura 7-3 descrie un cifru cu transpoziie simplu, transpoziia pe coloane. Cifrul are drept cheie
un cuvnt sau o expresie ce nu conine litere repetate. In acest exemplu cheia este MEGABUCK.
Scopul cheii este s numeroteze coloanele, coloana 1 fiind sub litera din cheie cea mai apropiat de
nceputul alfabetului .a.m.d.. Textul clar este scris orizontal, pe rnduri. Textul cifrat este citit pe
coloane, ncepnd cu coloana al crui numr de sub liter este mai mic.

M E G A B U C K
2 4 5 1 2 8 3 6
T e x t c l a r
p I e a s e t r
a n s f e r o n pleasetransferonemilliondollarsto
e m i \ \ i o n myswissbankaccountsixwotwo
d !
! a r s t T e x c i f r a t

o m y s w s s
b a n k a c c o AFLLSKSOSELAWAIATOOSSCTCLNMOMANT
ESILYNTWRNNTSOWDPAEDOBUOERIRICXB
u n s i x t w
o t w o a b c d

Fig. 7-3. Un cifru cu transpoziie.

Pentru a sparge un cifru cu transpoziie, criptanalistul trebuie mai nti s fie sigur c are
de-a face cu un cifru cu transpoziie. Analiznd frecvena de apariie pentru E, T,A, O, I, N
etc, este uor de vzut dac ele se ncadreaz n ablonul obinuit pentru text clar. Dac da,
cifrul este sigur un cifru cu transpoziie, deoarece ntr-un astfel de cifru, fiecare liter este
reprezentat de ea nsi.
Urmtorul pas ce trebuie fcut este s se emit o presupunere asupra numrului de coloane. n
multe cazuri un cuvnt sau o expresie probabil poate fi ghicit() din contextul mesajului. De
exemplu, s presupunem c un criptanalist bnuiete c expresia text clar miliondollars apare pe
undeva prin mesaj. Se observ c n urma mpachetrii acestei expresii, n textul cifrat apar
digramele MO, IL, LL, LA, IR i OS. Litera O din textul cifrat urmeaz dup litera M din acelai text
544 NIVELULAPUCAE CAP. 7

(adic sunt vertical adiacente n coloana 4) deoarece ele sunt separate n expresia probabil de o
distan egal cu lungimea cheii. Dac a fost folosit o cheie de lungime 7, n locul acestora ar fi
trebuit s apar digramele MD, IO, LL, LL, IA, OR i NS. De fapt, pentru fiecare lungime a cheii, n
textul cifrat sunt produse seturi diferite de digrame. Prin vnarea diferitelor posibiliti, criptanalistul
poate determina cu uurin lungimea cheii.
Pasul care a rmas este ordonarea coloanelor. Cnd numrul de coloane, k, este mic, poate fi
examinat fiecare dintre cele k(k-l) perechi de coloane pentru a vedea dac diagrama de frecvene
se potrivete diagramei pentru textul clar n englez. Perechea cu cea mai bun potrivire se
presupune c este corect poziionat. Acum fiecare coloan ce a rmas este ncercat a fi succesorul
acestei perechi. Coloana pentru care frecvena digramelor i trigramelor se potrivete cel mai bine
se presupune a fi corect. Coloana precedent este gsit n acelai mod. Exist anse ca textul clar
s devin recognoscibil n acest punct (de exemplu, dac apare milloin, este clar ce erori exist n el).
Anumite cifruri cu transpoziie accept un bloc de lungime fix la intrare i produc un bloc de
lungime fix la ieire. Aceste cifruri pot fi descrise complet dndu-se doar o list n care s se
precizeze ordinea n care caracterele vor fi trimise la ieire. De exemplu, cifrul din Fig. 7-3 poate fi
vzut ca un cifru bloc pe 64 de caractere. Ieirea sa este 4,12,20,28,36,44,52,60,5,13,..., 62. Cu
alte cuvinte, cel de-al patrulea caracter de la intrare, a, este primul ce va fi trimis la ieire, urmat de
al doisprezecelea,/ .a.m.d.

Chei acoperitoare
Construirea unui cifru imposibil de spart este actualmente destul de simpl; tehnica este
cunoscut de decenii. n primul rnd alegei un ir aleatoriu de bii pe post de cheie. Apoi convertii
textul clar ntr-un ir de bii, de exemplu folosind reprezentarea ASCII. n final, calculai XOR ntre
cele dou iruri, bit cu bit. Textul cifrat rezultat nu poate fi spart, deoarece orice text clar posibil este
n mod egal un probabil candidat. Textul cifrat nu d criptanalistului absolut nici o informaie.
Pentru un eantion suficient de mare de text cifrat, fiecare liter va aprea la fel de des, de asemenea
i orice digram sau trigram.
Aceast metod, cunoscut sub numele de metoda cheilor acoperitoare {one-time pad) are, din
nefericire, numeroase dezavantaje n practic. Unul dintre dezavantaje este faptul c nu poate fi
memorat cheia, astfel nct att transmitorul ct i receptorul trebuie s poarte cu ei o copie scris
a acesteia. Dac vreunul dintre ei este capturat, evident c existena cheilor scrise nu este de dorit. n
plus, cantitatea total de date care poate fi transmis este limitat de dimensiunea cheii disponibile.
Dac spionul d lovitura i descoper o comoar de date, el nu va fi capabil s le transmit napoi la
cartierul general deoarece cheia a fost epuizat. O alt problem este senzitivitatea metodei la
pierderea sau inserarea de caractere. Dac transmitorul i receptorul pierd la un moment dat
sincronizarea, toate datele de aici ncolo vor aprea ca fiind eronate.
Odat cu apariia calculatoarelor, metoda cheilor acoperitoare poate deveni practic
pentru anumite aplicaii. Sursa unei chei poate fi un CD special care conine civa gigabii de
informaie i care, transportat ntr-o cutie de CD pentru muzic, precedai de cteva cntece,
nu va da niciodat de bnuit. Desigur, la viteza reelei de ordinul gigabiilor, a trebui s
introduci un nou CD la fiecare 5 secunde poate deveni suprtor. Din acest motiv, vom ncepe
acum studiul algoritmilor de criptare moderni, care pot prelucra cantiti de text clar de
dimensiune arbitrar.
SEC. 7.1 SECURITATEA REELEI 545

7,1.2 Dou principii criptografice fiindamentale

Dei n paginile ce vor urma vom studia diferite sisteme criptografice, pentru toate acestea exist
dou principii de baz a cror nelegere este important. Primul principiu este acela c toate
mesajele criptate trebuie s conin informaie redundant, adic informaie ce nu este necesar
pentru nelegerea mesajului. Un exemplu poate clarifica de ce este nevoie de aceasta. S
considerm o companie ce se ocup cu comenzile prin pot, CC, cu 60000 de produse. Creznd c
vor fi foarte eficieni, programatorii de ia CC au decis c mesajele de comand trebuie s conin un
nume de client pe 16 octei, urmat de un cmp de date pe 3 octei (1 octet pentru cantitate i 2 octei
pentru numrul produsului). Ultimii 3 octei vor fi criptai folosind o cheie foarte lung, cunoscut
doar de client i de CC.
La prima vedere sistemul pare sigur i, ntr-un anumit sens, chiar este, deoarece intruii pasivi nu
pot decripta mesajele. Din nefericire, exist o slbiciune fatal a acestui sistem, care l face de
neutilizat. S presupunem c o funcionar recent concediat vrea s se rzbune pe CC pentru c a
dat-o afar. Chiar nainte de a pleca, ea ia (o parte din) lista clienilor. Ea lucreaz n timpul nopii i
scrie un program care genereaz comenzi fictive folosind nume de clieni reali. Deoarece nu
posed lista cheilor, ea pune numere aleatorii n ultimii 3 octei i trimite sute de comenzi la CC.
Cnd sosesc aceste mesaje, calculatorul CC folosete numele clientului pentru a localiza
cheia i a decripta mesajul. Din nefericire pentru CC, aproape fiecare mesaj de 3 octei este
valid, iar calculatorul ncepe s tipreasc instruciunile trimise. Dei pare ciudat ca un client
s comande 137 de seturi de leagne pentru copii sau 2^-0 de cutii cu nisip, calculatorul poate
crede c acesta plnuiete s deschid o mulime de locuri de joac. In acest mod, un intrus
activ (ex-funcionara) poate cauza probleme imense, chiar dac ea nu poate nelege mesajele
pe care le genereaz calculatorul ei.
Problema poate fi rezolvat prin adugarea unor informaii redundante tuturor mesajelor.
De exemplu, dac mesajele de comand sunt extinse la 12 octei, dintre care primii 9 trebuie s
fie zerouri, atunci acest atac nu ar mai fi funcional, deoarece ex-funcionara nu mai poate
genera un ir mare de mesaje valide. Morala povestirii este aceea c toate mesajele trebuie s
conin o cantitate considerabil de informaie redundant, astfel nct intruii activi s nu
poat trimite gunoaie aleatorii care s fie interpretate ca mesaje valide.
Totui, adugarea informaiei redundante uura spargerea mesajelor de ctre cripanaliti. S
presupunem c afacerea de comenzi prin pot este foarte competitiv i competitorul principal al
companiei CC, ST, ar vrea tare mult s tie cte cutii de nisip vinde CC. n consecin, ei ascult linia
telefonic a CC. In schema original, cu mesaje de 3 octei, criptanaliza era aproape imposibil,
deoarece dup ghicirea unei chei, criptanalistul nu avea cum s-i dea seama dac a ghicii corect. Cu
noua schem de 12 octei, este uor pentru criptanalist s disting un mesaj valid de unui invalid.
Astfel, principiul criptografic numrul unu este ca toate mesajele s conin informaie
redundant pentru a mpiedica intruii activi s nele receptorul trimindu-i un mesaj fals. Cu
toate acestea, aceeai redundan faciliteaz intruilor pasivi spargerea sistemului, deci aici apar
unele probleme. Mai mult dect att, redundana nu trebuie niciodat s fie folosit sub forma a n
zerouri la nceputul sau sfritul unui mesaj, deoarece trecerea unor astfel de mesaje prin anumii
algoritmi criptografici d rezultate predictibile, simplificnd criptanaiiza. Un ir aleatoriu de cuvinte
englezeti ar fi o alegere mult mai bun pentru redundan.
546 NIVELUL APLICAIE CAP. 7

Cel de-al doilea principiu criptografic este acela c trebuie luate anumite msuri pentru a
mpiedica intruii activi s retransmit mesaje mai vechi. Dac nu se iau nici un fel de astfel de
msuri, ex-funcionara noastr ar putea asculta linia telefonic a CC i ar putea retransmite mesajele
valide trimise anterior. O astfel de msur este de a include n fiecare mesaj o amprent de timp
valid doar pentru, s spunem, 5 minute. Receptorul trebuie doar s pstreze mesajele primite n
ultimele 5 minute, pentru a compara mesajele nou sosite cu anterioarele i pentru a filtra
duplicatele. Mesajele mai vechi de 5 minute pot fi aruncate, deoarece orice rspuns trimis mai trziu
de 5 minute va fi refuzat ca fiind prea vechi. Alte msuri n afara amprentelor de timp vor fi
discutate mai trziu.

7. Algoritmi ca Cheie Secret

Criptografia modern utilizeaz aceleai idei de baz ca i criptografia tradiional, transpoziia i


substituia, dar accentul este diferit. Tradiional, criptografii foloseau algoritmi simpli i se bazau pe
chei foarte lungi pentru securitatea lor. n zilele noastre este adevrat contrariul: obiectivul este de a
face algoritmii de criptare att de compleci i ireversibili, nct, chiar dac un criptanalist
achiziioneaz cantiti imense de text cifrat la alegerea sa, e s nu fie capabil s fac ceva cu ele.
Transpoziiile i substituiile pot fi implementate cu circuite simple. Figura 7-4(a) arat un
dispozitiv, cunoscut sub numeie de cutie P (P vine de la permutare), folosit pentru a efectua o
transpoziie asupra unei intrri de 8 bii. Dac cei 8 bii sunt selectai s fie notai de sus n jos cu
01234567, ieirea acestei cutii P particulare este 36071245. Printr-o cablare intern corespunztoare,
o cutie P poate fi fcut s realizeze orice transpoziie i s o fac practic la viteza luminii.

Cutie P Cutie S Cifru produs

S, s 8i
s, ! c S10|
1 ^ ^ '2
I 6

(a) (O

Fig. 7-4. Elemente de baz ale cinurilor produs, (a) Cutie P. (b) Cutie S. (c) Produs.

Substituiile sunt realizate de cutiile S, dup cum este artat n Fig. 7-4(b). In acest exemplu este
introdus un text clar de 3 bii, iar la ieire este furnizat un text cifrat pe 3 bii. Intrarea de 3 bii
selecteaz una dintre cele opt linii ce ies din primul nivel i o poziioneaz pe 1; toate celelalte linii
sunt 0. Cei de-al doilea nivel este o cutie P. Ce de-al treilea nivel codific din nou n binar linia
selectat la intrare. Cu cablajul artat, dac opt numere scrise n octal 01234567 ar fi fost introduse
unul dup cellalt, secvena de ieire ar fi 24506713. Cu alte cuvinte, 0 a fost nlocuit cu 2,1 a fost
nlocuit cu 4 etc. Din nou, prin cablarea corespunztoare a cutiei P n interiorul cutiei S, poate fi
realizat orice substituie.
Puterea real a acestor elemente de baz devine vizibil doar atunci cnd conectm n cascad o
serie ntreag de cutii pentru a forma un cifru produs, dup cum este artat n Fig. 7-4(c). n acest
SEC. 7.1 SECURITATEA REIELEI 547

exemplu, 12 linii de intrare au fost transpuse de primul nivel. Teoretic, ar fi posibil s avem ca al
doilea nivel o cutie S care s pun n coresponden un numr de 12 bii cu alt numr de 12 bii.
i2
Totui, un astfel de dispozitiv ar necesita 2 =4096 cabluri ncruciate la nivelul su din mijloc. In
schimb, intrarea este mprit n patru grupuri de 3 bii, fiecare fiind substituit independent de
celelalte. Cu toate c aceast metod este mai puin general, ea este nc puternic. Prin includerea
unui numr suficient de mare de niveluri n cifrul produs, ieirea poate deveni o funcie extrem de
complicat de intrare.

n ianuarie 1977, guvernul SUA a adoptat ca standard oficial pentru informaiile nesecrete un
cifru produs i dezvoltat de IBM. Acest cifru, DES (Data Encryption Standard - Standard pentru
Criptarea Datelor), a fost larg adoptat n industrie pentru a fi utilizat n produsele de securitate. El
nu mai este de mult sigur n forma sa original (Wayner, 1995), dar ntr-o form modificat el este
nc util. Vom explica acum cum lucreaz DES.

Text clar 64 bii L=,

I I ; : ! !
f i i f T
Transpoziia iniial

Iteraia 1

| .o I I I ! I I l
IO
i.2 Iteraia 2
I 03
iO

iteraia 16

T V I
|_ Interschimbarea 32 bii j

f t T t
Transpoziia invers

f T ?
Text cifrat 64 bii

(a) b)

Fig. 7-5. Cifrul DES. (a) Schem general, (b) Detalierea unei iteraii.

O prezentare general a DES este fcut n Fig. 7-5(a). Textul clar este criptat n blocuri de cte
64 de bii, rezultnd blocuri de 64 de bii de text cifrat. Algoritmul, care este parametrizat cu o cheie
de 56 de bii, are 19 runde distincte. Prima rund este o transpoziie independent de cheie, aplicat
asupra textului clar de 64 de bii. Ultima rund este exact inversa acestei transpoziii. Penultima
548 NIVELUL APLICAIE CAP. 7

rund schimb cei mai din stnga 32 de bii cu cei mai din dreapta 32 de bii. Cele 16 runde rmase
sunt funcional identice dar sunt parametrizate de funcii de cheie diferite. Algoritmul a fost
proiectat pentru a permite ca decriptarea s se fac cu aceeai cheie ca i criptarea, dar paii sunt
parcuri n ordine invers.
Funcionarea unuia dintre paii intermediari este ilustrat n Fig. 7-5(b). Fiecare rund ia dou
intrri de 32 de bii i produce dou ieiri de 32 de bii. Ieirea din stnga este o simpl copie a
intrrii din dreapta. Ieirea din dreapta rezult n urma unui SAU EXCLUSIV (XOR) bit cu bit
ntre intrarea din stnga i o funcie depinznd de intrarea din dreapta i de o cheie pentru aceast
rund, Kt. Toat complexitatea rezid n aceast funcie.
Funcia const din patru pai, parcuri n secven. n primul rnd, este construit un numr de 48
de bii, E, prin expandarea celor 32 de bii ai lui R i 4 n concordan cu o transpoziie fix i o regul
de duplicare. n al doilea rnd, E i Kt sunt combinate prin XOR. Ieirea este apoi mprit n opt
grupuri de cte 6 bii i fiecare dintre acestea este introdus ntr-o cutie S diferit. Fiecare dintre cele
64 de intrri posibile ntr-o cutie S este pus n coresponden cu o ieire de 4 bii. n final, aceti 4x8
bii sunt trecui printr-o cutie P.
n fiecare din cele 16 iteraii este folosit o cheie diferit. nainte de nceperea algoritmului este
aplicat o transpoziie de 56 de bii asupra cheii. Chiar nainte de nceperea fiecrei iteraii, cheia
este partiionat n dou uniti de cte 28 de bii, fiecare dintre ele este rotit a stnga cu un numr
de bii depinznd de numrul iteraiei. Kt este derivat din aceast cheie rotit prin aplicarea unei
transpoziii pe 56 de bii asupra ei. La fiecare rund este extras i permutat o alt submulime de
48 de bii din cei 56 de bii.

n ciuda complexitii sale, DES este, la baz, un cifru cu substituie monoaifabetic, folosind
caractere pe 64 de bii. Ori de cte ori se cifreaz acelai bloc de text clar, la ieire se va obine acelai
bloc de text cifrat. Un criptanalist poate exploata aceast proprietate pentru a sparge DES-ul.

Nume Funcie Prim


t
A d a m s |L e s i 8 C|l|e r k :$:

1
j

B ! a cjk |R 0 b i n B OJ s s ! $ 5 0 0 , |0 0|0

C O|l ! i n S|, K i m M| a i n a 9 eji" 1 3 4 .

* [ ! . ] ::

D a V i s| ,
, n
O 0 bjb i e ! j ajnj i oi r i $| 5
Octei -*- 16-

Fig. 7-6. Texul clar al unui fiier criptat ca ansamblu de 16 blocuri DES.

Pentru a vedea cum poate fi folosit aceast proprietate a cifrului cu substituie monoaifabetic
pentru a submina DES-ul, s considerm cea mai evident metod de criptare a unui mesaj lung:
prin spargerea n blocuri consecutive de 8 octei (64 de bii) i prin criptarea lor unul dup altul, cu
aceeai cheie. Dac este nevoie, ultimul bloc este umplut pn la 64 de bii. Tehnica este cunoscut
ca modul cu carte de coduri electronic (Electronic Code Book).
SEC. 7.1 SECURITATEA REELEI 549

n Fig. 7-6 este prezentat nceputul fiierului coninnd primele anuale ale unei companii
care s-a decis s-i premieze angajaii. Fiierul const din nregistrri de 32 de octei, cte o
nregistrare pentru fiecare angajat, n formatul artat: 16 octei pentru nume, 8 octei pentru
funcia ocupat i 8 octei pentru prim. Fiecare din cele 16 blocuri de 8 octei (numerotate de
la 0 la 15) este criptat cu DES.
Leslie a avut o controvers cu eful i nu ateapt prea mult de la aceast prim. n schimb
Kim este favorita efului i oricine tie asta. Leslie poate avea acces la fiier dup ce el a fost
criptat, dar nainte de a fi trimis la banc. Poate Leslie s rectifice aceast situaie nedreapt,
dat fiind doar fiierul criptat?
Nici o problem. Tot ceea ce are Leslie de fcut este s realizeze o copie a blocului de text cifrat
11 (care conine prima lui Kim) i s-1 foloseasc pentru a nlocui blocul de text cifrat cu numrul 3
(care conine prima lui Leslie). Chiar i fr a ti ce cuprinde blocul 11, Leslie se poate atepta s
aib un Crciun mai fericit anul acesta. (Copierea blocului de text cifrat 7 este de asemenea o
posibilitate, dar este mai probabil s fie descoperit; n plus, Leslie nu este o persoan lacom).
Pentru a para acest tip de atac, DES (i toate cifrurile bloc) trebuie nlnuite n diferite
moduri astfel nct nlocuirea unui bloc n modul n care a fcut-o Leslie s conduc la situaia
n care textul clar decriptat, ncepnd cu blocul nlocuit, s fie gunoi. Un mod de nlnuire
este nlnuirea blocurilor cifrate {Cipher block chaining). n aceast metod, prezentat n
Fig. 7-7, fiecare bloc de text clar este combinat prin XOR (#) cu blocul anterior de text cifrat,
A

nainte de a fi criptat. In consecin, acelai bloc de text clar nu se va mai pune n


coresponden cu acelai bloc de text cifrat, iar criptarea nu mai este o mare substituie
monoalfabetic. Primul bloc este combinat prin XOR cu un vector de iniializare, IV
{Initialization Vector), ales aleatoriu, care este transmis mpreun cu textul cifrat.
Putem vedea cum lucreaz nlnuirea blocurilor cifrate prin examinarea exemplului din Fig. 7-7.
Putem ncepe prin a calcula C0=E(P0 XOR IV). Apoi vom calcula C1=E{P1 XOR Co) i aa mai
departe. Decriptarea lucreaz n acelai mod, c\iP0=IVXORD(Co) i aa mai departe.

Pi

Key D
Cutie de Cutie de
/criptare decriptare
Cheie #)
\
SAU
p exclusiv

(b)

Fig. 7-7. nlnuirea blocurilor cifrate (Cipher block chaining).

Criptarea blocului i este o funcie de toate textele clare din blocurile de la 0 la i-\, astfel nct
acelai text clar va genera text cifrat diferit n funcie de locul unde apare. O transformare de tipul
celei fcute de Leslie va avea ca rezultat un nonsens n cele dou blocuri ce ncep din cmpul de
550 NIVELUL APUCATE CAP. 7

prim al lui Leslie. Pentru un ofier de securitate perspicace, aceast caracteristic poate sugera de la
cine s porneasc investigaia.
nlnuirea blocurilor cifrate are de asemenea avantajul c acelai bloc de text clar nu va rezulta
niciodat n acelai bloc de text cifrat, fcnd criptanaliza mai dificil. De fapt, acesta este principalul
motiv pentru care este folosit.
Cu toate acestea, nlnuirea blocurilor cifrate are dezavantajul de a necesita ca un ntreg bloc de
64 de bii s soseasc nainte ca decriptarea s poat ncepe. Acest mod este nepotrivit pentru
folosirea n cazul terminalelor interactive, unde oamenii pot introduce linii mai scurte de 8 caractere
i apoi se pot opri n ateptarea unui rspuns. Pentru criptrile octet-cu-octet poate fi utilizat modul
cu reacie cifrat (Cipher feedback mode), artat n Fig. 7-8. n aceast figur, starea mainii de
criptare este artat dup ce octeii 0 pn la 9 au fost criptai i trimii. Cnd sosete blocul 10 din
textul clar, dup cum este ilustrat n Fig. 7-8(a), algoritmul DES opereaz asupra registrului de
deplasare 64 de bii pentru a genera 64 de bii de text cifrat. Octetul cel mai din stnga al textului
cifrat este combinat prin XOR cu Pl0. Acest octet este transmis pe linie. n plus, registml de
deplasare este deplasat cu 8 bii la stnga, provocnd ieirea lui C2 pe la captul din stnga i
inserarea lui C/o n poziia care tocmai a rmas vacant la dreapta lui Cy. Coninutul registrului de
deplasare depinde de ntreaga istorie anterioar a textului clar, astfel nct un ablon care se repet
de mai multe ori n textul clar va fi criptat de fiecare dat diferit n textul cifrat. Ca i la nlnuirea
blocurilor cifrate, este necesar un vector de iniializare pentru a porni rostogolirea mingii.
Decriptarea n modul cu reacie cifrat face acelai lucru ca i criptarea. In particular, coninutul
registrului de deplasare este criptat, nu decriptai, astfel nct octetul selectat care este combinat prin
XOR cu Cio pentru a obine Plo este acelai cu cel ce a fost combinat prin XOR cu PI0 pentru a-1
obine pe Clo prima dat. Atta vreme ct cele dou registre de deplasare rmn identice,
decriptarea lucreaz corect.

Reg. de deplasare pe 64 bii Reg. de deplasare pe 64 bii

c 2 c 3 r 'r r ! r
1
"8| U 9 c2 C 3 |C 4 c5 Ce c7 c8 C
9
V JJ i

i
Cutie de
Cheie-
criptare criptare
'10

Sei. octetul Sel. octetul


cei mai din ce! mai din
stnga stnga

10" '10 '10'

SAU exclusiv

(a) (b)

Fig. 7-8. Modul cu reacie cifrat (Cipher feedback mode).

Ca o digresiune, trebuie menionat c dac un bit din textul cifrat este inversat accidental n
timpul transmisiei, cei 8 octei ce sunt descifrai n timp ce octetul eronat se gsete n registml de
SEC 7.1 SECURITATEA REELEI 551

deplasare vor fi n ntregime alterai. Odat ce octetul eronat este mpins afar din registrul de
deplasare, va fi generat iari un text clar corect. Astfel, efectul unui singur bit inversat este relativ
localizat i nu va ruina tot restul mesajului.
Cu toate acestea, exist aplicaii n care a avea o eroare de transmisie de 1 bit care s strice 64 de
bii de text clar reprezint o pierdere prea mare. Pentru aceste aplicaii exist o a patra opiune,
modul cu reacie de Ia ieire (Output Feedback mode). Acesta este identic cu modul cu reacie
cifrat, cu excepia faptului c octetul ce va fi introdus pe la captul din dreapta n registrul de
deplasare va fi extras de acolo chiar nainte de a fi combinat prin XOR i nu dup aceasta.
Modul cu reacie de la ieire are proprietatea c o eroare de 1 bit n textul cifrat cauzeaz o
eroare de un singur bit n textul clar rezultat. Pe de alt parte, este mai puin sigur dect alte moduri
i trebuie evitat utilizarea sa n scopuri generale. De asemenea, modul cu carte electronic de
coduri trebuie evitat, cu excepia unor mprejurri speciale (de exemplu, criptarea unui singur numr
aleatoriu, cum ar fi o cheie de sesiune). Pentru operaii normale, atunci cnd la intrare sosesc uniti
de cte 8 octei (de exemplu, pentru criptarea fiierelor de pe disc), trebuie utilizat modul cu
nlnuirea blocurilor cifrate, iar pentru iruri de intrare neregulate, cum ar fi intrarea de la tastatur,
trebuie folosit modul cu reacie cifrat.

Spargerea DES-ului
DES a fost implicat n numeroase controverse nc din ziua n care a fost lansat. El se baza pe un
cifru dezvoltat i brevetat de IBM, numit Lucifer, cu excepia faptului c acest cifru al IBM-ului
folosea o cheie de 128 de bii n locul uneia de 56 de bii. Atunci cnd guvernul federal al SUA a
dorit s standardizeze un cifru ca nefiind secret, el a invitat" IBM-ul s discute" aceast problem
cu NSA, agenia sprgtoare de coduri a guvernului, care utilizeaz cel mai mare numr de
matematicieni i criptologi din lume. NSA este att de secret, nct n industrie a aprut
urmtoarea glum:

: Ce nseamn NSA?
R: No Such Agency (Nu exist o astfel de agenie).

De fapt, NSA vine de la National Security Agency (Agenia Naional de Securitate).


Dup ce au avut loc aceste discuii, IBM a redus cheia de la 128 de bii la 56 de bii i a decis s
pstreze secret procesul prin care a fost proiectat DES-ul. Muli oameni suspecteaz faptul c
lungimea cheii a fost redus pentru a exista sigurana c NSA poate sparge DES-ul, dar nici o
organizaie cu un buget mai mic nu poate face asta. Pstrarea secretului proiectrii a fost fcut
probabil pentru a ascunde o trap (u ascuns) care ar putea uura spargerea DES-ului de ctre
NSA. Cnd un angajat al NSA a atenionat discret IEEE s abandoneze conferina planificat pe
teme de criptografie, acesta nu i-a fcut pe oameni s se simt mai bine.
n 1977, doi cercettori n criptografie de la Stanford, Diffie i Hellman (1977), au proiectat
o main pentru a sparge DES-ul i s-a estimat c ea poate fi construit cu un buget de 20 de
milioane de dolari. Dat fiind o mic bucat de text clar i textul cifrat corespunztor, aceast
main ar putea s gseasc cheia, prin cutarea exhaustiv a 2 56 intrri din spaiul cheilor, n
mai puin de o zi. n prezent, o astfel de main ar costa probabil 1 milion de dolari. O
552 NIVELUL APLICAIE CAP. 7

proiectare detaliat pentru o main ce poate sparge DES-ul prin cutare exhaustiv n
aproape patru ore este prezentat n (Wiener, 1994).
Aici exist o alt strategie. Dei criptarea software este de 1000 de ori mai lent dect
criptarea hardware, cel mai scump calculator personal poate face aproape 250 000 criptri/sec
n software i este probabil nefolosit 2 milioane de secunde/lun. n acest timp, n care nu este
folosit, el poate fi utilizat pentru a sparge DES-ul. Dac cineva ar trimite un mesaj spre unul
dintre cele mai populare grupuri de tiri din Internet, nu ar fi greu s nrolezi 140 000 de
6
oameni pentru a verifica 7x10' chei ntr-o lun.
Probabil cea mai inovatoare idee pentru spargerea cifrului DES este Loteria Chinezeasc
(Quisquater i Girault, 1991). n acest proiect, fiecare aparat de radio i televizor trebuie echipat cu
un cip DES capabil s realizeze 1 milion de criptri/secund n hardware. Presupunnd c fiecare
din cei 1.2 miliarde de oameni din China posed un aparat de radio, ori de cte ori guvernul chinez
vrea s decripteze un mesaj criptat cu DES, el rspndete perechea text clar/text cifrat i fiecare
dintre cele 1.2 miliarde de tipuri ncepe cutarea n seciunea sa prestabilit din spaiul cheilor. n
60 de secunde, vor fi gsite una (sau mai multe) potriviri. Pentru a asigura c aceste potriviri vor fi
raportate, tipurile pot fi programate s afieze pe ecran sau s anune mesajul:

FELICITRI! TOCMAI AI CTIGAT LOTERIA CHINEZEASCA.


PENTRU A RIDICA PREMIUL,'V RUGM S SUNAI LA 1-900-MARELE-PREMIU

Concluzia care trebuie tras din aceste argumente este aceea c DES-ul nu mai trebuie folosit
pentru criptarea documentelor importante. Cu toate c 25fi este un nesemnificativ 7 x IO16, 2 112 este
un impuntor 5xlO33. Chiar cu un miliard de tipuri DES executnd un miliard de operaii pe
secund, ar trebui 100 de milioane de ani pentru a cuta exhaustiv ntr-un spaiu de chei pe 112 bii.
Astfel apare ideea de a rula DES-ul de dou ori, cu dou chei diferite pe 56 de bii.
Din nefericire, Merkle i Hellman (1981) au dezvoltat o metod care face ca dubla criptare s
devin suspect. Aceasta poart numele de atacul ntlnlrea-la-mijloc (meet-n-the-middle) i
lucreaz astfel (Hellman, 1980). S presupunem c cineva a dublu-criptat o serie de blocuri de text
clar, folosind modul carte electronic de coduri. Pentru cteva valori ale lui i, criptanalistui posed
perechile (Ph C), unde:

Ci=Ek2(tkllri;;

Dac aplicm acum funcia de decriptare DJQ pentru fiecare membru ai ecuaiei, obinem:

D k 2 (Q)=E k l (P i )

deoarece criptarea lui x i decriptarea luix cu aceeai cheie dau tot A:.
Atacul ntlnirea-la-mijloc" folosete aceast ecuaie pentru a gsi cheile DES, Kl i K2, dup
cum urmeaz:

1. Se calculeaz i?(-=;(Pi) pentru toate cele 256 valori ale lui /, unde E este funcia de criptare a
DES-ului. Acest tablou se sorteaz cresctor dup JR,-.
SEC. 7.1 SECURITATEA REELEI 553

2. Se calculeaz Sj=Dj(Ci) pentru toate cele 256 valori ale lui /, unde D este funcia de
decriptare a DES-ului.. Acest tablou este sortat cresctor dup 5,.
3. Se parcurge primul tablou cutnd un JR,- care se potrivete cu un Sj din al doilea tablou.
Atunci cnd este gsit o prtrivire, avem o pereche de chei (/,;), astfel nct DfCi)=Ej{Pt). i
este un potenial Kl i; este un potenial K2.
4. Se verific dac Ej(Ei{P2)) este egal cu C2. Dac da, se ncearc toate celelalte perechi (text
clar, text cifrat). Dac nu, continu cutarea potrivirilor n cele dou tablouri.

Cu siguran c nainte ca adevratele chei s fie localizate, vor aprea multe alarme false, dar, n
cele din urm, acestea vor fi gsite. Atacul necesit doar 2 57 operaii de criptare sau decriptare
(pentru a construi cele dou tablouri), mult mai puine dect 2112. Totui, este de asemenea necesar
un total de 260 octei de memorie pentru cele dou tablouri, astfel c atacul nu este realizabil n
forma de baz, dar Merkle i Hellman au artat diferite optimizri i compromisuri ce permit un
spaiu de memorare mai mic la un cost de calcul mai mare. Avnd n vedere toate acestea, probabil
c dubla criptare folosind DES nu este mult mai sigur dect criptarea simpl.
Tripla criptare este o alt problem. Chiar din 1979, IBM a realizat c lungimea cheii DES era
prea mic i a conceput un mod de a o crete efectiv, folosind tripla criptare (Tuchman, 1979).
Metoda aleas, care de atunci a fost ncorporat n Standardul Internaional 8732, este ilustrat n
Fig. 7-9. Aici sunt folosite dou chei i trei runde. n prima rund textul clar este criptat cu K^ n a
doua rund, este rulat DES n mod de decriptare, folosind cheia K2. n final, este efectuat o alt
criptare cu Ki.

K, K2 K, K2 K,

i i i
E D D
1 1
LLI

(a) (b)

Fig. 7-9.Tripla criptare folosind DES.

Proiectarea d natere imediat la dou ntrebri. Prima, de ce sunt folosite doar dou chei n loc
de trei? A doua, de ce este folosit succesiunea de transformri EDE, n loc de EEE? Motivul
pentru care sunt utilizate dou chei este acela c majoritatea criptografilor paranoici admit c 112
bii sunt suficieni pentru aplicaiile comerciale la momentul actual. A extinde la 168 de bii
nseamn a aduga o suprancrcare inutil pentru gestiunea i transportul unei alte chei.
Motivul pentru criptare, decriptare i apoi iar criptare este compatibilitatea cu produsele
existente ce folosesc sisteme DES cu o singur cheie. Att funcia de criptare ct i cea de
decriptare sunt corespondene ntre mulimi de numere pe 64 de bii. Din punct de vedere
criptografic, cele dou corespondene sunt la fel de puternice. Totui, folosind EDE n locul
EEE, un calculator ce utilizeaz tripla criptare poate comunica cu unul ce folosete criptarea
simpl, punnd Ki=K2. Aceast proprietate permite triplei criptri s fie pus n practic
treptat, lucru care nu intereseaz pe criptografii din mediul academic, dar care este de o
importan considerabil pentru IBM i clienii si.
554 . NIVELUL APLICAIE CAP. 7

Nu este cunoscut nici o metod care s fi spart triplul-DES n modul EDE. Van Oorschot
i Wiener (1988) au prezentat o metod pentru a mri viteza cutri EDE cu un factor al lui
16, dar chiar i cu acest atac, EDE este foarte sigur. Pentru oricine care dorete doar ce-i mai
bun, este recomandat EEE cu trei chei distincte de 56 de bii (168 de bii n total).
nainte de a prsi subiectul DES, merit cel puin s menionm dou progrese recente n
criptanaliz. Primul progres este criptanaliza diferenial (Biham i Sharnir, 1993). Aceast tehnic
poate fi folosit pentru a ataca orice cifru bloc. Lucreaz la nceput cu o pereche de blocuri de text
clar care difer doar printr-un numr mic de bii i studiaz cu grij ceea ce se ntmpl ia fiecare
iteraie intern pe msur ce criptarea avanseaz. n multe cazuri, anumite combinaii apar mai des
dect altele i aceast observaie conduce ia un atac probabilistic.
Cellalt progres, mai puin important, este criptanaliza liniar (Matsui, 1994). Aceasta poate
43
sparge DES-ul cu doar 2 texte clare cunoscute. Lucreaz prin combinarea XOR a anumitor bii din
textul clar i din textul cifrat pentru a genera un bit. Cnd aceasta se efectueaz repetat, jumtate din
bii trebuie s fie 0 i jumtate s fie 1. Totui, adeseori, cifruriie introduc o deviaie ntr-o direcie
sau n alta i aceast deviaie, cu toate c este rnic, poate fi exploatat pentru a reduce factorul de
munc. Pentru mai multe detalii a se vedea lucrarea lui Matsui.

IDEA

Poate toat aceast agitaie asupra ntrebrii de ce este DES-ul nesigur este ca i o frecie la un
picior de lemn, dar realitatea este c DES-ui, n varianta sa de criptare singular este nc foarte
folosit n aplicaii de securizare, cum ar fi cele bancare folosind maini de raportare automat. Dei
alegerea lui a fost probabil potrivit ia momentul respectiv, cu zece sau mai muli ani n urm, ea nu
mai este demult adecvat.
La acest punct, probabil c cititorul se ntreab pe buc dreptate: Dac DES-ul este att de
siab, de ce nu a inventat nimeni alt cifru bloc mai bun?". Adevrul este c au fost propuse multe
cifruri bloc, printre care BLOWFISH (Schneier, 1994), Crad (Kalinski i Robshaw, 1991), EEAL
(Shimizu i Miyaguchi, 1988), KHAFRE (Metkle, 1991), L0KI91 (Brown .a., 1991), xNEWDES
(Scott, 1985), REDOC-II (Cusick i Wood, 1991) i SAFER K64(Massey, 1994). Schneier (1996) Ie
prezint pe toate acestea i nenumrate altele. Probabil c cel mai interesant i mai important dintre
cifruriie bloc post-DES este IDEA (International Data EncrypioE Algorifam) (Lai i Massey, 1990;
i Lai, 1992). S studiem acum IDEA mai n detaliu.
IDEA a fost proiectat de doi cercettori din Elveia, astfel nct este probabil n afara oricrei
directive" trasate de NSA, care ar fi putut s introduc o u secret (trap). Cifrul folosete o cheie
pe 128 de bii, care i face imun pentru deceniile care urmeaz la atacurile prin for brut, cele de
tipul loteria Chinezeasc" i ntlnirea-la-mijioc". A fost de asemenea proiectat pentru a rezista la
criptanaliza diferenial. La momentul actual, nu este cunoscut nici o tehnic sau main care s fie
capabile s sparg IDEA.
Structura de baz a algoritmului seamn cu DES-ul prin aceea c blocurile de la intrare, de 64
de bii de text clar, sunt alterate printr-o secven de iteraii parametrizate pentru a produce la ieire
blocuri de 64 de bii de text cifrat, dup cum este artat i n Fig. 7-10(a). Dat fiind alterarea
extensiv ia nivel de bit (pentru fiecare iteraie, fiecare bit de ieire depinde de fiecare bit de intrare),
opt iteraii sunt suficiente. Ca toate cifruriie bloc, DEA poate fi utilizat att n modul cu reacie
cifrat (CFB) ct i n toate celelalte moduri de nlnuire prezentate la DES.
SEC. 7.1 SECURITATEA REELEI 555

Detaliile unei iteraii sunt prezentate n Fig. 7-10(b). Sunt folosite trei operaii, toate asupra unor
16
numere fr semn pe 16 bii. Aceste operaii sunt XOR, adunare modulo 2 i nmulire modulo
16
2 +1. Toate acestea trei pot fi uor realizate pe un microcalculator pe 16 bii, ignornd prile cele
mai semnificative ale rezultatului. Operaiile au proprietatea c oricare dou perechi nu se supun
legii de asociativitate sau distributivitate, fcnd criptanaliza i mai dificil. Cheia pe 128 de bii este
folosit pentru a genera 52 de subchei de cte 16 bii fiecare, 6 pentru fiecare din cele 8 iteraii i 4
pentru transpoziia final. Decriptarea folosete acelai algoritm, dar cu chei diferite.

Text clar 64 bii Patru blocuri de intrare pe 16 bii

iliilii
Iteraia 1

Iteraia 2

Iteraia 7

V v i> \<

Iteraia 8

1
u i' i r y r
Transformare Patru blocuri de intrare pe 16 bii

(+) Adunare pe 16 bii modulo 216


f t T ?
Text cifrat 64 bii ( V ) nmulire pe 16 bii moduo 2 1 6 + 1

( # ) SAU exclusiv pe 16 bii

al (b)

Fig. 7-10. (a)IDEA. (b) Detaliile unei iteraii.

Au fost realizate att implementri software ct, i hardware ale algoritmului IDEA. Prima
implementare software rula pe un 386 la 33 MHz i realiza criptarea la o vitez de 0.88 Mbps.
Pe o main modern, de zece ori mai rapid, pentru o implementare software se poate atinge
o vitez de 9 Mbps. La ETH Zurich a fost construit un cip VLSI la 25 de MHz care cripteaz
la o rat de 177 Mbps.

7.1.4 Algoritmi cu Cheie Public

Istoric, distribuia cheilor a fost ntotdeauna punctul slab al multor criptosisteme. Indiferent de
ct de puternic era un criptosistem, dac un intrus a putut fura cheia, sistemul i-a pierdut valoarea.
556 NIVELUL APLICAIE CAP. 7

Deoarece toi criptologii au considerat ntotdeauna ca de la sine neles faptul c att pentru criptare
ct i pentru decriptare se folosete aceeai cheie (sau una uor derivabil din cealalt) i c aceasta
trebuie distribuit tuturor utilizatorilor sistemului, prea a exista ntotdeauna urmtoarea problem
inerent: cheile trebuia protejate contra furtului dar, n acelai timp, ele trebuiau distribuite, astfel
nct ele nu puteau fi sechestrate ntr-un seif de banc. n 1976, doi cercettori de la Universitatea
Stanford, Diffie i Hellman (1976), au propus un tip radical nou de criptosistem n care cheile de
criptare i decriptare sunt diferite, iar cheia de decriptare nu poate fi dedus din cheia de criptare. n
propunerea lor, algoritmul (cheia) de criptare, E, i algoritmul (cheia) de decriptare, D, trebuiau s
satisfac trei cerine. Aceste cerine pot fi exprimate simplificat dup cum urmeaz:

1. D(E(P))=P
2. Este mai mult dect dificil a se deduce D din E.
3. E nu poate fi spart printr-un atac cu text clar ales.

Prima cerin spune c, dac se aplic D unui mesaj criptat, E(P), se obine textul clar original, P.
Cea de-a doua cerin este clar. Cea de-a treia cerin este necesar deoarece, dup cum vom
vedea la un moment dat, intruii pot experimenta i testa algoritmul dup pofta inimii. In aceste
condiii, nu exist nici un motiv pentru ca E, cheia de criptare, s nu poat fi fcut public.
Metoda lucreaz astfel: o persoan, s spunem Alice, dorind s primeasc mesaje secrete,
concepe mai nti cei doi algoritmi EA i DA ce satisfac cerinele de mai sus. Algoritmul de criptare i
cheia, EA, sunt fcui apoi publici, de unde i numele de criptografie cu cheie public (n contrast cu
criptografia cu cheie secret). Aceasta poate fi realizat prin punerea lor ntr-un fiier pe care oricine
dorete poate s l citeasc. Alice public algoritmul de decriptare (pentru a putea fi liber consultat),
dar pstreaz cheia de decriptare secret. Astfel, EA este public, dar DA este privat.
S vedem acum dac putem rezolva problema stabilirii unui canal sigur ntre Alice i Bob, care
nu au mai avut niciodat vreun contact anterior. Att cheia de criptare a Alicei, EA, ct i cea a lui
Bob, EB, sunt presupuse a se gsi ntr-un fiier ce poate fi citit de oricine. (De fapt se ateapt ca toi
utilizatorii reelei s-i publice cheile lor de criptare imediat ce se conecteaz n reea). Acum Alice
ia primul ei mesaj, P, calculeaz EB(P) i l trimite lui Bob. Bob l decripteaz aplicndu-i cheia sa
secret DB [adic, el calculeazDB(EB (P))=P\. Nimeni altcineva nu poate citi mesajul criptat, EB(P),
deoarece sistemul de criptare este presupus puternic i deoarece este prea greu s se deduc DB(P)
din EB(P) public cunoscut. Alice i Bob pot comunica acum ntr-o manier sigur.
n acest punct ar fi poate util o observaie asupra terminologiei. Criptografia cu cheie
public necesit ca fiecare utilizator s aib dou chei: o cheie public, folosit de toat lumea
pentru a cripta mesajele ce-i sunt trimise, i o cheie secret, de care utilizatorul are nevoie ca
s-i decripteze mesajele. Ne vom referi n mod constant la aceste chei ca fiind cheia public i,
respectiv, cheia privat i le vom deosebi de cheile secrete folosite att pentru criptare ct i
pentru decriptare n criptografia convenional (numit i criptografie cu cheie simetric).

Algoritmul RSA

Singura problem este aceea c avem nevoie de algoritmi care s satisfac complet toate
cele trei cerine. Datorit posibilelor avantaje ale criptografiei cu chei publice, muli
cercettori au lucrat din greu la acest subiect i au fost deja publicai civa algoritmi. O
SEC. 7.1 SECURITATEA REELEI 557

metod bun a fost descoperit de un grup de la MIT (Rivest .a., 1978). Ea este cunoscut
prin iniialele numelor celor trei descoperitori (Rivest, Shamir, Adelman): RSA. Metoda lor
este bazat pe cteva principii din teoria numerelor. Vom rezuma mai jos modul n care se
folosete aceast metod; pentru detalii, a se consulta articolul.

1. Se aleg dou numere prime,p i q, (de obicei mai mari dect IO100).
2. Se calculeaz n=pxqiz = (p- l)x(q-l).
3. Se alege un numr relativ prim cu z i este notat cu d.
4. Se gsete e astfel nct e x d = 1 mod z.

Cu aceti parametri calculai n avans, suntem gata s ncepem criptarea. mprim textul clar
(privit ca ir de bii) n blocuri, astfel nct fiecare mesaj de text clar, P, s intre n intervalul 0 < P <
n. Aceasta poate fi fcut grupnd textul clar n blocuri de cte k bii, unde k este cel mai mare
numr ntreg pentru care inegalitatea 2k < n este adevrat.
Pentru a cripta mesajul P, se calculeaz C = F (mod n). Pentru a decripta C, se calculeaz P =
Cf (mod n). Se poate demonstra c pentru toi P din intervalul specificat, criptarea i decriptarea
sunt funcii inverse una alteia. Pentru a realiza criptarea este nevoie de e i n. Pentru a realiza
decriptarea este nevoie de d i n. De aceea, cheia public const din perechea (e, n) iar cheia privat
din perechea (d, n).
Securitatea metodei este bazat pe dificultatea factorizrii numerelor mari. Dac un criptanalist
ar putea factoriza numrul n (public cunoscut), el ar putea gsi/? i q, iar din acestea pe z. Cu z i e
cunoscui, criptanaistul l poate calcula pe d folosind algoritmul lui Euclid. Din fericire,
matematicienii au ncercat s factorizeze numere mari de cel puin 300 de ani i experiena
acumulat sugereaz c aceasta este o problem mai mult dect dificil.
In conformitate cu Rivest i colegii si, factorizarea unui numr de 200 de cifre necesit un timp
de calcul de 4 miliarde de ani; factorizarea unui numr de 500 de cifre necesit IO25 ani. n ambele
cazuri ei presupun c se folosete cel mai bun algoritm de factorizare i un calculator cu timp de
execuie a unei instruciuni de 1 usec. Chiar dac viteza calculatoarelor va continua s sporeasc cu
un ordin de mrime pe deceniu, vor mai trece secole pn cnd factorizarea unui numr de 500 de
cifre va deveni realizabil, moment n care descendenii notri vor alege pur i simplu/ i q mai mari.
Un exemplu didactic banal pentru algoritmul RSA este dat n Fig. 7-11. Pentru acest
exemplu am alesp = 3 i q = 11, rezultnd n = 33 i z = 20. O valoare potivit pentru d este
d = 7, deoarece 7 i 20 nu au factori comuni. Cu aceste alegeri, e poate fi gsit prin rezolvarea
ecuaiei le = 1 (mod 20), care d e - 3. Textul cifrat, C, pentru textul clar al mesajului, P, este
dat de C = P3 (mod 33). Textul cifrat este decriptat de ctre receptor dup regula P = C7
(mod 33). Figura prezint ca exemplu criptarea i decriptarea textului clar SUZANNE".
Deoarece numerele prime alese pentru acest exemplu sunt prea mici, P poate fi mai mic dect
33, astfel nct blocul de text clar poate conine doar un singur caracter. Rezultatul este un
cifru cu substituie monoalfabetic, nu foarte impresionant. Dac n locul acestora am fi ales j?
i q = 10100, am fi avut n = IO200, astfel nct fiecare bloc poate fi de pn la 664 bii
664 200
(2 = 10 ) sau 83 de caractere de 8 bii, fa de 8 caractere pentru DES.
558 NIVELUL APLICAIE CAP. 7

Textclar(P) Text cifrat (C) Dup decriptare


K A
r
Simbolic Numeric P3 P3 (mod 33) c7 C7 (mod 33) Simbolic

S 19 6859 28 13492928512 19 S
U 21 9261 21 1801088541 21 U
Z 26 17576 20 1280000000 26 z
A 01 1 1 1 1 A
N 14 2744 5 78125 14 N
N 14 2744 5 78125 14 N
E 05 125 26 8031810176 5 E
J
V

Calcul efectuat de emitor Calcul efectuat de receptor

Fig. 7-11. Un exemplu de algoritm RSA.

Trebuie subliniat c folosirea RSA n modul descris este similar folosirii DES-ului n modul
ECB - blocuri de intrare identice conduc la blocuri de ieire identice. De aceea este necesar o
anumit form de nlnuire pentru criptarea datelor. Totui, n practic, multe sisteme bazate pe
RSA folosesc criptografia cu cheie public n principal pentru distribuirea cheilor de sesiune de
unic folosin utilizate pentru DES, IDEA sau ali algoritmi similari. RSA este prea lent pentru a
cripta eficient volume mari de date.

Ali Algoritmi cu Cheie Public

Cu toate c RSA este larg rspndit, nu este n nici un caz singurul algoritm cu cheie public
cunoscut. Primul algoritm cu cheie public a fost algoritmul rucsacului (Merkle i Hellman, 1978).
Ideea este c cineva posed un numr mare de obiecte, fiecare cu greutate diferit. Posesorul
codific mesajul prin selecia secret a unei submulimi de obiecte i plasarea lor n rucsac.
Greutatea total a obiectelor din rucsac este fcut public, ca i lista tuturor obiectelor posibile.
Lista obiectelor din rucsac este inut secret. Cu cteva restricii suplimentare, problema gsirii
unei liste de obiecte cu greutatea dat a fost gndit ca fiind imposibil de calculat i formeaz baza
pentru algoritmul cu cheie public.
Inventatorul algoritmului, Ralph Merkle, a fost aproape sigur c acest algoritm nu poate fi
spart, astfel c el a oferit o recompens de 100 de dolari oricui l va putea sparge. Adi Shamir
(S"-ul din RSA) 1-a spart cu promptitudine i a primit recompensa. Fr a-i pierde curajul,
Merkle i-a ntrit algoritmul i a oferit o recompens de 1000 de dolari oricui va putea sparge
noul algoritm. Ron Rivest (R" -ui din RSA) 1-a spart cu promptitudine i a luat banii. Merkle
nu a ndrznit s ofere 10000 de dolari pentru urmtoarea versiune, astfel c A" (Leonard
Adelman) nu a avut noroc. Cu toate c a fost corectat i mbuntit din nou, algoritmul
rucsacului nu este considerat sigur i este rareori utilizat.Alte scheme cu cheie public sunt
bazate pe dificultatea calculului logaritmilor discrei (Rabin, 1979), Algoritmii care folosesc
acest principiu au fost inventai de El Gamal (1985) i Schnorr (1991).
Exist cteva alte scheme, cum ar fi cele bazate pe curbe eliptice (Menezes i Vanstone, 1993),
dar cele trei categorii majore sunt cele bazate pe dificultatea factorizrii numerelor mari, a calculului
logaritmilor discrei i a determinrii coninutului unui rucsac din greutatea sa. Aceste probleme
SEC. 7.1 SECURITATEA REELEI 559

sunt considerate ca fiind autentic dificile deoarece matematicienii le studiaz de muli ani fr vreun
progres notabil.

7,1.5 Protocoale de Autentificare

Autentificarea (autfientication) este tehnica prin care un proces verific dac partenerul su de
comunicaie este cel presupus a fi i nu un impostor. Verificarea identitii unui proces de la
distan, n cazul unui intrus activ i ruvoitor, este surprinztor de dificil i necesit protocoale
complexe bazate pe criptografie. In aceast seciune, vom studia cteva din multele protocoale de
autentificare folosite n reelele nesigure de calculatoare.
Ca fapt divers, anumii oameni confund autorizarea cu autentificarea. Autentificarea are de-a
face cu chestiunea dac comunici sau nu cu un anumit proces. Autorizarea se ocup cu ceea.ce i
este permis unui proces s fac. De exemplu, un proces client contacteaz un server de fiiere i
spune: Eu sunt procesul lui Scott i vreau s terg fiierul cookbookoid", Din punctul de vedere ai
serverului de fiiere, trebuie gsit rspunsul la dou ntrebri:

1. Chiar este procesul iui Scott? (autentificare)


2. Are Scott voie s tearg cookbooLoldl (autorizare)

Doar dup ce s-a rspuns afirmativ, fr ambiguitate ia ambele ntrebri poate avea loc
aciunea cerut. ntrebarea de mai nainte este cu adevrat una cheie. Odat ce serverul de
fiiere tie cu cine vorbete, verificarea autorizrii este doar o problem de cutare n intrrile
din tabelele locale. Din acest motiv, n aceast seciune ne vom concentra asupra autentificrii.
Modelul genera! pe care l folosesc toate protocoalele de autentificare este urmloru. Un
utilizator iniiator (de fapt un proces), s spunem Alice, vrea s stabileasc o conexiune sigur cu un
al doilea utilizator, Bob. Alice i Bob sunt numii uneori protagoniti (principals), personajele
principale din povestirea noastr. Bob este un bancher sau un centra autorizat de distribuire a
cheilor (KDC - Key DistrlfentioK Center), care este ntotdeauna credibil. Urmeaz.alte cteva
schimburi de mesaje n diferite direcii. n timp ce aceste mesaje sunt transmise, un intrus mecher.
Trudy+, poate intercepta, modifica sau rspunde a mesaje n scopul de a-i nela pe Alice i Bob sau
doar pentru a ncurca treburile. Cu toate acestea, ia ncheierea protocolului de comunicare, Alice
este sigur c a vorbit cu Bob, iar acesta este sigur c a vorbit cu Alice. Mai mult dect att. n cele
mai multe protocoale, cei doi vor fi stabilit i o chele secret de sesiune, pentru folosirea n
conversaiile viitoare. In practic, din motive de performan, tot traficul de date este criptat folosind
criptografia cu cheie secret, n timp ce criptografia cu cheie public este larg folosit n protocoale
de autentificare i pentru stabilirea unei chei de sesiune.
Motivul pentru utilizarea unei chei de sesiune noi, aleas aleatoriu pentru fiecare conexiune este
de a minimiza cantitatea de trafic care este transmis cu cheile secrete sau cheile publice ale
utilizatorilor, pentru a reduce cantitatea de text cifrat pe care intrusul o poate obine i pentru a
reduce stricciunile care se pot produce dac un proces eueaz, iar vidajul su de memorie (core)
cade n mini rele. Este de sperat c singura cheie prezent va fi cheia de sesiune. Toate cheile
permanente trebuie s fie anulate cu grij dup stabilirea sesiunii.

+
Mulumesc lui Kaufmai! .a.23 (1995) pentru a fi dezvluit numele ei. (n.a.)
56 NIVELUL APLICAIE CAP. 7

Autentificare Bazat pe Cheie Secret Partajat


Pentru primul nostru protocol de autentificare vom presupune c Alice i Bob partajeaz deja o
cheie secret, KAB (n protocoalele formale vom abrevia Alice cu A i, respectiv, Bob cu B). Aceast
cheie partajat trebuie sa fi fost stabilit anterior prin telefon sau direct, dar, pentru orice
eventualitate, nu prin intermediul unei reele (nesigure).
Protocolul este bazat pe un principiu ce se gsete n multe protocoale de autentificare: o parte
trimite un numr aleatoriu celeilalte, care l transform apoi ntr-un anumit mod i retumeaz
rezultatul. Astfel de protocoale se numesc protocoale provocare-rspuns (challenge-response). In
acest protocol i n cele ce urmeaz va fi folosit urmtoarea notaie:

A, B reprezint identitile lui Alice i Bob


Ri reprezint provocrile, unde indicele identific pe cel ce trimite provocarea
K( sunt cheile, unde i indic proprietarul; Ks este cheia de sesiune

Secvena de mesaje pentru primul nostru protocol de autentificare cu cheie partajat este
ilustrat n Fig. 7-12. n mesajul 1 Alice i-trimite lui Bob identitatea sa, A, ntr-un mod pe care Bob
l nelege. Bineneles c Bob nu are nici un mijloc de a cunoate dac acest mesaj vine de la Alice
sau de la Trudy, astfel nct el alege o provocare, un numr aleatoriu mare, RB, i l trimite napoi
spre Alice" sub forma mesajului 2, ca text clar. Alice cripteaz atunci mesajul cu cheia pe care ea o
partajeaz cu Bob i trimite textul cifrat K^iRg} napoi, ca mesajul 3. Cnd Bob vede acest mesaj el
tie imediat c vine de la Alice, deoarece Trudy nu cunoate KM i astfel nu putea s genereze
mesajul respectiv. Mai mult dect att, deoarece RB a fost ales aleatoriu dintr-un spaiu mare (s
spunem, de exemplu, numere aleatorii pe 128 de bii), este destui de puin probabil ca Trudy s fi
vzut RB i rspunsul asociat lui ntr-o sesiune anterioar.

1 A

R
D
Alice

3 KAB{Fy
Bob

4
R
A

5
K A B (R A )

Fig. 7-12. Autentificare n doi pai folosind un protocol de tipul provocare-rspuns.

La acest punct, Bob este sigur c vorbete cu Alice, dar Alice nu este sigur de nimic. S-ar
putea ca Trudy s fi interceptat mesajul 1 i s fi trimis napoi replica RB. Poate c Bob a murit
azi-noapte. Pentru a descoperi cu cine vorbete, Alice alege un numr aleatoriu RA i l trimite
lui Bob ca text clar, n mesajul 4. Cnd Bob rspunde cu KAB(RA), Alice tie c vorbete cu
Bob. Dac ei vor s stabileasc acum o cheie de sesiune, Alice poate alege una, Ks, i o poate
trimite lui Bob criptat cu KAB.
SEC. 7.1 SECURITATEA REELEI 561

Cu toate c protocolul din Fig. 7-12 funcioneaz, el conine mesaje n plus. Acestea pot fi
eliminate, dup cum este ilustrat n Fig. 7-13. Aici Alice iniiaz protocolul provocare-rspuns, n loc
de a-1 atepta pe Bob s o fac. Similar, n timp ce rspunde la provocarea Alicei, Bob o trimite pe a
sa. ntregul protocol poate fi redus la trei mesaje n loc de cinci.

1 A,R
A

2
Alice

Bob
RB, K A B (R A )

3
K A B (R B )

Fig. 7-13. Un protocol mai scurt de autentificare n doi pai.

Este acest nou protocol o mbuntire a celui original? ntr-un anumit sens da: este mai scurt.
Din nefericire, i el este greit. n anumite situaii, Trudy poate nela acest protocol folosind ceea ce
se numete atacul prin reflexie. n particular, Trudy l poate sparge dac este posibil s deschid
sesiuni multiple cu Bob la un moment dat. Aceast situaie ar fi adevrat, de exemplu, dac Bob
este o banc i este pregtit s accepte simultan mai multe conexiuni cu maini de efectuat pli.
Atacul prin reflexie al lui Trudy este prezentat n Fig. 7-14. El pornete cu faptul c Trudy
pretinde c este Alice i trimite RT. Bob rspunde, ca de obicei, cu propria sa provocare, RB. Acum
Trudy este lovit. Ce poate s fac? Nu cunoate K^Rg).

A, RT
Prima sesiune
udy

_Q
A,R B O
m A doua sesiune

K AB (RB) Prima sesiune

Fig. 7-14. Atacul prin reflexie.

Ea poate deschide o a doua sesiune cu mesajul 3, furniznd RB luat din mesajul 2 ca provocare a
ei. Bob l cripteaz calm i trimite napoi KAB(RB) n mesajul 4. Acum Trudy are informaia care i
lipsea, aa c poate s-i termine prima sesiune i s o abandoneze pe cea de-a doua. Bob este acum
convins c Trudy este Alice, aa c atunci cnd ea ntreab de balana contului su bancar, el i-o d
fr nici o problem. Apoi cnd ea i cere s transfere toi banii la o banc secret din Elveia, el face
asta fr nici un moment de ezitare.
562 NIVELUL APLICATE CAP. 7

Morala aceste povestiri este:

A proiecta un protocol corect de autentificare este mai greu dect pare.

Cele ce urmeaz sunt trei reguli generale adeseori utile:

Iniiatorul s dovedeasc cine este naintea celui care rspunde. n acest caz, Bob transmite
informaii importante nainte ca Trudy s-i fi dat vreo dovad c este cine pretinde a fi.
Iniiatorul i cel ce rspunde s folosesc chei diferite pentru dovad, chiar dac aceasta
presupune existena a dou chei partajateK^i K'AB.
iniiatorul i cel ce rspunde s-i extrag provocrile din mulimi diferite. De exemplu,
iniiatorul trebuie s foloseasc numere pare, iar cel ce rspunde s foloseasc numere impare.

Aici au fost violate toate cele trei reguli, cu rezultate dezastruoase. De notat c primul nostru
protocol de autentificare (cel cu cinci mesaje) cerea ca Alice s-i demonstreze mai nti identitatea,
astfel nct protocolul nu este subiect pentru atacul prin reflexie.

Stabilirea anei chei secrete: schimbul de chei Diffie-Hellman

Am presupus c Bob i Alice mpart o cheie secret. S presupunem c nu este aa: Cum pot ei
s stabileasc una? O modalitate ar fi ca Alice s- sune pe Bob i s-i dea cheia ei ia telefon, dar el
probabil va ncepe s se ntrebe: Cum tiu eu c eti Alice i nu Trudy?". Ei ar putea ncerca s
aranjeze o ntlnire, fiecare din ei aducnd un paaport, un permis de conducere i trei cri de
credit semnificative, dar fiind oameni ocupai, nu vor fi capabili s gseasc, vreme de luni de zile, o
dat acceptabil pentru amndoi. Din fericire, orict de incredibil ar prea, exist un mod pentru cei
ce sunt total strini s stabileasc, chiar la lumina zilei, o cheie secret partajat, cu Trudy
nregistrnd grijulie fiecare mesaj.
Protocolul care permite strinilor s stabileasc o cheie secret partajat se numete
interschimhui de chei Diffie-Helimaii (Diffie i Hellman, 1976) i lucreaz astfel. Alice i Bob
trebuie s se pun de acord asupra a dou numere prime mari, n i g, unde (n~l)/2 este de asemenea
prim i asupra lui g se aplic anumite condiii. Aceste numere trebuie s fie publice, astfel c fiecare
din ei trebuie doar s aleag n ig i s o spun celuilalt, n mod deschis. Acum Alice alege un numr
mare (s spunem pe 512 bii), JC, i l pstreaz secret. Similar, Bob alege un numr mare, secret, y.

Alice Bob
alege x aiege y

1
] n, g, g mod n j-
1< H g mod n f-
O
ca

Alice calculeaz Bob calculeaz


f g v mod n) x {g x mod n) v
xy ,
= g x y mod n
= g mod n

Fig. 745. Schimbul de cheie Diffie-Hellman.


SEC. 7.1 SECURITATEA REELEI 563

Alice iniiaz protocolul de schimb al cheii trimindu-i lui Bob un mesaj ce conine (n, g, g* mod
n), dup cum se arat n Fig. 7-15. Bob rspunde trimindu-i lui Alice un mesaj ce conine g mod n.
Acum Alice are numrul pe care i 1-a trimis Bob i l ridic la puterea x pentru a obine (/ mod rif.
Bob efectueaz o operaie similar pentru a obine (f mod rif. Din legile aritmeticii modulare,
ambele calcule duc hgxy mod n. Iat cum Alice i Bob partajeaz acum o cheie secret/ 7 mod n.
Este evident c Trudy vede ambele mesaje. Ea cunoate pe g i pe n din mesajul 1. Dac ea ar
putea calcula x i y ar putea s descopere cheia secret. Necazul este c, dat fiind doar g* mod n, ea
nu poate afla pe x. Nu este cunoscut nici un algoritm practic pentru calculul logaritmilor discrei
modulo un numr prim foarte mare.
Pentru a face exemplul anterior mai concret, vom folosi (complet nerealist) valorile n = 47 ig =
3. Alice alegex = 8 i Bob alegea = 10. Ambele chei sunt pstrate secrete. Mesajul lui Alice ctre
Bob este (47, 3, 28) deoarece 3S mod 47 este 28. Mesajul lui Bob ctre Alice este (17). Alice
calculeaz 178 mod 47, care este 4. Bob calculeaz 28 10 mod 47, care este 4. Alice i Bob au
determinat independent cheia secret care este 4. Trudy are de rezolvat ecuaia 3* mod 47 = 28 care
poate fi fcut prin cutare exhaustiv n cazul unor numere mici ca acestea, dar nu i atunci cnd
toate numerele sunt lungi de sute de bii. Toi algoritmii cunoscui la ora actual iau prea mult timp,
chiar i atunci cnd sunt rulai folosind un supercalculator masiv paralel.
n ciuda eleganei algoritmului Diffie-Hellman, exist o problem: cnd Bob ia tripletul (47, 3,
28), cum tie el c este de la Alice i nu de la Trudy? Nu exist nici o modalitate pentru aceasta. Din
nefericire Trudy poate exploata acest fapt pentru a-i nela att pe Alice ct i pe Bob, dup cum este
ilustrat n Fig. 7-16. Aici, cnd Alice i Bob l aleg pe x, respectiv pe y, Trudy alege propriul su
numr aleatoriu, z. Alice trimite mesajul 1, destinat lui Bob. Trudy l intercepteaz i trimite mesajul
2 lui Bob, folosind g i n coreci (care sunt disponibili public), dar cu al su z n loc de x. De
asemenea ea trimite mesajul 3 napoi lui Alice. Mai trziu Bob i trimite lui Alice mesajul 4, pe care
Trudy l intercepteaz din nou i l pstreaz.

Alice Trudy Bob


alege x aiege z aege y

n, g, g mod n

0) o
o n,g,g modn O

r
m
g modn

g y mod n

Fig. 7-16. Atacul de tip gleata brigzii.

2
Acum fiecare efectueaz aritmetica modular. Alice calculeaz cheia secret ca fiind g*
mod n i la fel face i Truly (pentru mesajele lui Alice). Bob calculeaz /z mod n i la fel face i
Trudy (pentru mesajele iui Bob). Alice crede c vorbete cu Bob, aa c ea stabilete o sesiune
de cheie (cu Trudy). La fel face i Bob. Fiecare mesaj pe care Alice l trimite n sesiunea
criptat este capturat de Trudy, memorat, modificat la dorin i apoi (opional) transmis lui
Bob. Similar n cealalt direcie. Trudy vede orice i poate modifica toate mesajele la dorin,
n timp ce att Alice ct i Bob triesc cu iluzia c au un canal de comunicaie sigur de la unul
564 NIVELUL APLICAIE CAP. 7

la cellalt. Acest atac este cunoscut sub numele de atacul gleata brigzii de pompieri (bucket
brigade attack), deoarece el seamn vag cu un departament de pompieri de pe vremuri
trecnd din mn n mn gleile de-a lungul liniei de la maina de pompieri la foc. El se mai
numete i atacul omul-din-mijloc (men-n-the-middle) i nu trebuie confundat cu atacul
ntlnirea-la-mijloc (mee-n-the-middle) asupra cifrurilor bloc.
Din fericire, algoritmi mai compleci pot para acest atac.

Autentificarea Folosind un Centru de Distribuia Cheilor

Stabilirea unui secret partajat cu un strin a mers destul de bine, dar nu n ntregime. Pe de
alt parte, probabil c nici nu merit s fie fcut (atacul strugurilor acri). Pentru a vorbi cu n
oameni n acest mod ar fi necesare n chei. Pentru persoanele foarte cunoscute, gestiunea
cheilor ar deveni o adevrat pacoste, n special dac fiecare cheie trebuie stocat separat pe
cte o bucat de cartel de plastic.
0 abordare diferit o reprezint introducerea unui centru autorizat de distribuie a cheilor
(iCpC - Key Distribution Center). n acest model, fiecare utilizator are o singur cheie partajat cu
fCDC. Autentificarea i gestiunea cheilor de sesiune merg acum prin intermediul KDC. Cel mai
ijmplu i mai cunoscut protocol de autentificare KDC este broasca-oi-gura-mare (wide-mouth frog)
flSurrows .a., 1990) (aceasta era porecla inventatorului su, Burrows, cptat n timpul facultii).
Acest protocol este ilustrat n Fig. 7-17.

1
A,KAB,KS
( }

1 2
K l& K \
!\g {Pi, \} *~ O
m
i

Fig. 7-17. Protocolul de autentificare broasca-cu-gura-mare.

Ideea din spatele protocolului broasca-cu-gura-mare este simpl: Alice alege o cheie de sesiune,
fcs> ^ anun KDC c vrea s vorbeasc cu Bob folosind Ks. Acest mesaj este criptat cu cheia secret
pe care Alice o mparte cu KDC, KA. KDC decripteaz acest mesaj, extrage identitatea lui Bob i
cheia de sesiune. Apoi el construiete un nou mesaj ce conine identitatea lui Alice i cheia de
sesiune i trimite acest mesaj lui Bob. Criptarea este fcut, cu KB, cheia secret pe care Bob o
mparte cu KDC. Cnd Bob decripteaz mesajul, el afl c Alice vrea s vorbeasc cu el i cheia pe
care aceasta vrea s o utilizeze.
Autentificarea are loc gratuit. KDC tie c mesajul 1 trebuie s fi venit de la Alice,
deoarece nimeni altcineva nu poate s-1 cripteze cu cheia secret a Alicei. Similar, Bob tie
sigur c mesajul 2 vine de la KDC, n care el are ncredere, deoarece nimeni altcineva nu mai
cunoate cheia lui secret.
Din nefericire, acest protocol prezint o grav imperfeciune. Trudy are nevoie de ceva bani, aa
c ea imagineaz un serviciu pe care l poate executa pentru Alice, face o ofert atractiv i obine
postul. Dup ce i face treaba, Trudy cere politicos lui Alice s-i plteasc transferndu-i banii prin
SEC. 7.1 SECURITATEA REELEI 565

banc. Aa c Alice stabilete o cheie de sesiune cu bancherul ei, Bob. Apoi ea i trimite lui Bob un
mesaj prin care cere ca banii respectivi s fie transferai n contul lui Trudy. In acelai timp, Trudy se
ntoarce la vechile ei obiceiuri, furturile prin reea. Ea copiaz att mesajul 2 din Fig. 7-17, ct i
cererea de transferare a banilor care l urmeaz. Mai trziu ea le trimite lui Bob. Bob le ia i
gndete: Alice probabil c a angajat-o din nou pe Trudy. Cu siguran c ea lucreaz bine." Bob
transfer din nou o cantitate de bani egal cu prima din contul lui Alice n al lui Trudy. La ctva timp
dup cea de-a 50-a pereche de mesaje pe care o primete, Bob alearg afar din biroul su pentru a
o gsi pe Trudy i a-i oferi un mprumut mare astfel ca ea s-i poat extinde afacerea ce se
dovedete a fi att de plin de succes. Problema se numete atacul prin replic.
Sunt cteva soluii posibile la atacul prin replic. Prima este de a include n fiecare mesaj o
amprent de timp. Astfel, dac cineva primete un mesaj expirat, l ignor. Necazul cu aceast
abordare este c ntr-o reea ceasurile nu sunt niciodat perfect sincronizate, astfel nct va exista un
ntreg interval de timp n care o amprent de timp este valid. Trudy poate rspunde la mesaj n
timpul acestui interval i s scape.
Cea de-a doua soluie este s se pun, n fiecare mesaj, un numr de mesaj unic, folosibil o
singur dat, numit n general momentan (nonce). Fiecare parte trebuie s-i rememoreze toate
numerele momentane folosite anterior i s rejecteze orice mesaj ce conine un numr momentan
folosit deja. Dar numerele momentane trebuie rememorate la nesfrit, chiar i atunci cnd Trudy
ncearc s rspund la un mesaj vechi de 5 ani. De asemenea, dac o main cade i i pierde lista
de numere momentane, ea va fi din nou vulnerabil la un atac prin replic. Amprentele de timp i
numerele momentane pot fi combinate pentru a limita timpul n care acestea din urm nu trebuie
terse, dar este evident c protocolul devine ceva mai complicat. O abordare i mai sofisticat a
autentificrii este folosirea unui protocol provocare-rspuns multici. Un exemplu binecunoscut de
astfel de protocol este protocolul de autentificare Needham-Schroeder (Needham i Schroeder,
1978). O variant a acestuia este prezentat n Fig. 7-18.

RA, A, B
o
Q
K A (R A , B, Ks, KB(A, K s ))

o
O
CQ

-1), RB

KS(RB-1)

Fig. 7-18. Protocolul de autentificare Needham-Schroeder.

n acest protocol, Alice ncepe prin a anuna KDC c ea dorete s vorbeasc cu Bob.
Acest mesaj conine un numr aleatoriu mare, RA, pe post de numr momentan. KDC trimite
napoi mesajul 2 coninnd numrul aleatoriu al lui Alice mpreun cu un tichet pe care ea l
poate trimite lui Bob. Scopul numrului aleatoriu este acela de a o asigura pe Alice c mesajul
2 este proaspt i nu o replic. Identitatea lui Bob este de asemenea inclus pentru cazul n
566 NIVELUL APLICAIE CAP. 7

care lui Trudy i vine amuzanta idee s nlocuiasc J5-ul din mesajul 1 cu propria sa identitate,
astfel nct KDC s cripteze tichetul de la sfritul mesajului 2 cu KT n loc de KB. Tichetul
criptat cu KB este inclus n interiorul mesajului criptat, pentru a o mpiedica pe Trudy s-1
nlocuiasc cu altceva pe drumul su napoi spre Alice.
Acum Alice i trimite tichetul lui Bob, mpreun cu un nou numr aleatoriu, RA2, cripta! cu cheia
de sesiune, Ks. n mesajul 4, Bob trimite napoi KS(RA2 -1) pentru a-i dovedi lui Alice c vorbete cu
adevratul Bob. Trimiterea napoi a lui KS(RA2) nu ar fi mers, deoarece ar fi fost posibil ca Trudy
tocmai s-1 fi furat din mesajul 3.
Dup primirea mesajului 4, Alice este convins c vorbete cu Bob i c pn n acest moment nu
s-au folosit replici falsificate. In plus, ea tocmai a generat RA2 cu cteva milisecunde mai nainte.
Scopul mesajului 5 este de a-1 convinge pe Bob c este chiar Alice cea cu care vorbete i c nu s-au
folosit replici falsificate. Posibilitatea oricrui tip de atac prin replic este eliminat, deoarece fiecare
parte genereaz o provocare i rspunde ia ea.
Cu toate c protocolul pare a fi destul de solid, el are o mic scpare. Dac Trudy reuete
s obin o cheie de sesiune veche n text dar, ea poate s iniieze o nou sesiune cu Bob
rspunznd la mesajul 3 corespunztor cheii compromise i convingndu-1 pe acesta c ea este
Alice (Denning i Sacco, 1981). De aceast dat ea poate prda contul din banc al lui Alice
fr s execute nici o operaie autorizat.
Needham i Schroeder au publicat un protocol care corecteaz aceast problem (Needhani i
Schroeder, 1987). n acelai numr al aceluiai jurnal, Otway i Rees (1987) au publicat de asemenea
un protocol care rezolv problema pe o cale mai scurt. Figura 7-19 ilustreaz un protocol Otway-
Rees uor modificat.

A, B, R, K A (A, B, R, RA)

A, K A { , B , R, RA),
8, KB (A, B, R, RJ
.2
o
< Q

K,{RB, IC) \
K A {R A , K s ;

Fig. 7-19. Protocolul de autentificare Otway-Rees (puin simplificat).

n protocolul Otway-Rees, Alice ncepe prin a genera o pereche de numere aleatorii, R, care va fi
utilizat ca identificator comun, iRA, pe care Alice l va folosi pentru a-1 provoca pe Bob. Cnd Bob
preia acest mesaj, el construiete un mesaj nou din partea criptat a mesajului lui Alice i unul
analog din partea sa. Ambele pri criptate cu KA i KB> identificnd pe Alice i pe Bob, conin
identificatorul comun i o provocare.
KDC verific dac R din ambele pri este acelai. S-ar putea s nu fie, deoarece Trudy a
intervenit cu R n mesajul 1 sau a nlocuit partea din mesajul 2. Dac cele dou Rs se potrivesc,
KDC crede c mesajul de cerere de la Bob este valid. Ei genereaz atunci o cheie de sesiune i o
cripteaz de dou ori, o dat pentru Alice i o dat pentru Bob. Fiecare mesaj conine numrul
SEC. 7.1 SECURITATEA REELEI 567

aleatoriu al receptorului, ca dovad c mesajul a fost generat de KDC i nu de Trudy. n acest


moment att Alice ct i Bob sunt n posesia unei aceleiai chei de sesiune i pot ncepe
comunicarea. Prima dat cnd ei vor schimba mesaje de date, fiecare va putea vedea c cellalt are o
copie identic a lui Ks, astfel autentificarea fiind complet.

Autentificarea folosind Kerberos


Un protocol de autentificare folosit n multe sisteme de timp real este Kerberos, care se bazeaz
pe o variant a protocolului Needham-Schroeder. Numele su vine de la un cine cu mai multe
capete din mitologia greac, ce era folosit pentru a pzi intrarea n Hades (probabil pentru a-i ine
pe cei nedorii afar). Kerberos a fost proiectat la M.I.T. pentru a permite utilizatorilor de la staiile
de lucru s acceseze resursele reelei ntr-un mod sigur. Cea mai mare diferen dintre el i
Needham-Schroeder este presupunerea lui c toate ceasurile sunt destul de bine sincronizate.
Protocolul a trecut prin cteva iteraii. V4 este versiunea cea mai larg utilizat n industrie, aa c pe
aceasta o vom descrie. Dup care vom spune cteva cuvinte despre succesoarea sa, V5. Pentru mai
multe informaii, vezi (Neuman i Ts'o, 1994; Steiner .a., 1988).
Kerberos implic trei servere n afar de Alice (staia de lucru a clientului):

1. Serverul de autentificare (AS - Authentication Server): verific utilizatorii n timpul conectrii.


2. Serverul de acordare a Tichetelor (TGS - Ticket-Graning Server): emite demonstrarea
identitii tichetelor".
3. Serverul Bob: realizeaz efectiv aciunea pecare o dorete Alice

AS este similar unui KDC prin aceea c el partajeaz o parol secret cu orice utilizator. Sarcina
TGS este de a emite tichete care pot convinge serverele reale c acela care deine un tichet TGS
este ntr-adevr cel ce pretinde a fi.
Pentru a porni o sesiune, Alice st aezat la o staie de lucru public arbitrar i-i tasteaz
numele. Staia de lucru transmite numele ei la AS ca text clar, dup cum este artat n Fig. 7-20.
Ceea ce vine napoi este o cheie de sesiune mpreun cu un tichet KTCS(A, Ks), destinate TGS-ului.
Aceste articole sunt mpachetate mpreun i criptate folosind cheia secret a lui Alice, astfel nct
doar Alice s le poat decripta. Doar cnd sosete mesajul 2, staia de lucru i va cere lui Alice
parola. Parola este folosit pentru a genera KA, n scopul decriptrii mesajului 2 i obinerii cheii de
sesiune i tichetului TGS din interiorul acestui mesaj. n acest moment, staia de lucru nlocuiete
parola lui Alice pentru a fi sigur c ea se gsete n interiorul staiei de lucru pentru cel mult cteva
milisecunde. Dac Trudy ncearc s se conecteze ca Alice, parola pe care o introduce va fi greit i
staia de lucru va detecta acest lucru deoarece partea standard a mesajului 2 va fi incorect.
Dup conectare Alice trebuie s anune staia de lucru c dorete s-1 contacteze pe Bob,
serverul de fiiere. Atunci staia de lucru trimite spre TGS mesajul 3 cernd un tichet pentru a-
1 folosi cu Bob. Elementul cheie n aceast cerere este KTGS(A, Ks), care este V4criptat cu
cheia secret a TGS i este folosit ca dovad c transmitorul este chiar Alice. TGS rspunde
prin crearea unei chei de sesiune KAB, pentru ca Alice s o foloseasc cu Bob. Dou versiuni
ale acesteia sunt transmise napoi. Prima este criptat doar cu Ks, astfel nct Alice s poat s
o citeasc. A doua este criptat cu cheia lui Bob, KB, astfel nct Bob s o poat citi.
568 NIVELUL APLICAIE CAP. 7

1
A
2 Conectare
<
MKs'Kres^Ks

CD
O
K T G S (A, KS), B, K S (t) Obine
; (B, KAB''
), K un tichet
* BB (A,
' " ' K
Ua- X X
AB * AB

(A, K A B ), K A B (t) .ucreaz


K iR (t+1} t

Fig. 7-2(1. Modul de operare la Kerberos V4.

Tnidy poate copia mesajul 3 i poate ncerca s-1 utilizeze din nou, dar ea va fi mpiedicat de
amprenta de timp, t, trimis mpreun cu el. Trudy nu poate nlocui amprenta de timp cu una mai
recent, deoarece ea nu cunoate Ks, cheia de sesiune pe care o folosete Alice pentru a vorbi cu
TGS. Chiar dac Trudy rspunde repede ia mesajul 3, tot ceea ce va obine este o alt copie a
mesajului 4, pe care nu a putut s-i decripteze prima dat i nici a doua-oar. Acum Alice i poate
trimite iui Bob KAB pentru a stabili o sesiune cu el. Acest schimb este de asemenea cu amprente de
timp. Rspunsul este pentru Alice dovada c ea vorbete chiar cu Bob, nu cu Trudy.
Dup o serie de schimburi, Alice poate comunica cu Bob sub acoperirea cheii KAB. Dac
mai trziu se decide c are nevoie s comunice cu alt server, Carol, ea va repeta doar mesajul 3
spre TGS, specificnd doar C n loc de B. TGS va rspunde cu promptitudine cu un tichet
criptat cu Kc, pe care Alice l poate transmite lui Carol i pe care Carol i va accepta ca
dovad c el vine de la Alice.
Scopul ntregii aciuni este c acum Alice poate face acces la serverele din toat reeaua ntr-un
mod sigur i c parola sa nu va fi niciodat transmis prin reea. De fapt parola trebuie s existe pe
staia de lucru doar pentru cteva miiisecunde. Cu toate acestea, trebuie remarcat c fiecare server
face propria sa autorizare. Atunci cnd Alice i prezint tichetul su lui Bob, acest tichet doar i
demonstreaz lui Bob cine -a trimis. Ceea ce i este permis lui Alice s fac, depinde doar de Bob.
Deoarece proiectanii Kerberos-ului nu s-au ateptat ca ntreaga lume s aib ncredere
ntr-un singur server de autentificare, ei au prevzut posibilitatea de a avea domenii multiple,
fiecare cu propriul su AS i TGS. Pentru a obine un tichet de Ia un server dintr-un domeniu
de la distan, Alice ar trebui s cear propriului su TGS un tichet acceptat de TGS-uI din
domeniul de la distan. Dac TGS-ui de la distan este nregistrat n TGS-ul local (n acelai
mod n care sunt serverele locale), TGS-ul local i va da lui Alice un tichet valid pentru TGS-ul
de la distan. Astfel ea poate s lucreze acolo, cum ar fi s ia tichete pentru serverele din
acest domeniu. De notat totui c, pentru ca pri din dou domenii diferite s conlucreze,
fiecare trebuie s se ncread n TGS-ul celuilalt.
Kerberos V5 este mai elegant ca V4 i are o suprancrcare mai mare. Pentru a descrie tipurile
de date el folosete i OSI ASNI.l (Abstract Syntax Notation 1) prezentnd mici modificri n
protocoale. Mai mult dect att, are timpi de via mai mari pentru tichete, permite rennoirea
SEC. 7.1 SECURITATEA REELEI 569

tichetelor i va elibera tichete postdatate. n plus, cei puin n teorie, nu este dependent de DES, cum
este V4, i suport domenii multiple.

Autentificarea Folosind Criptografia cu Cheie Public

Autentificarea mutual poate fi realizat i cu ajutorul criptografiei cu cheie public. Pentru


nceput, s presupunem c Alice i Bob i cunosc deja unul altuia cheile publice (pentru ca
problema s nu fie banal). Ei vor s stabileasc o sesiune n care s foloseasc apoi criptografia cu
cheie secret, deoarece aceasta este de obicei de 1000 pn la 100 de ori mai rapid dect
criptografia cu cheie public. Scopul schimbului iniial este deci de a se autentifica unul pe cellalt i
de a se pune de acord asupra unei chei secrete.
Acest nceput poate fi fcut n diferite moduri. Un mod tipic este cel artat n Fig. 7-21. Aici
Alice ncepe prin a-i cripta identitatea i un numr aleatoriu, RA, folosind cheia public a lui Bob,
EB. Cnd primete acest mesaj, Bob nu are nici o idee dac mesajul provine de la Alice sau de ia
Trudy, ns intr n joc i i trimite napoi lui Alice un mesaj coninnd RA, propriul su numr
aleatoriu, RB, i o propunere de cheie de sesiune Ks.

E B (A,R A ) h
05
E A (R A , RB, Ks} 1 o
! 03

Fig. 7-21. Autentificarea mutual folosind criptografia cu cheie public.

Cnd Alice primete mesajul 2, ea l decripteaz folosind propria sa cheie privat. Ea vede
RA n mesaj, ceea ce i d o senzaie plcut. Mesajul trebuie s vin de la Bob deoarece Trudy
nu are nici un mijloc de a determina RA. Alice accept cheia de sesiune trimind napoi
mesajul 3. Cnd Bob vede RjS criptat cu cheia de sesiune pe care a generat-o el, tie c Alice a
primit mesajul 2 i a verificat RA.
Cum poate ncerca Trudy s compromit acest protocol? Ea poate fabrica mesajul 1 i-I
poate pcli pe Bob s o testeze pe Alice, dar Alice va vedea un RA pe care nu 1-a trimis ea i
nu va merge niciodat mai departe. Trudy nu poate falsifica mesajul 3 ntr-un mod
convingtor, deoarece ea nu tie RB sau Ks i nu le poate determina fr cheia privat a lui
Alice. Be data aceasta ea nu are noroc.
Totui, protocolul trebuie s aib un punct slab: el presupune c Alice i Bob i cunosc
deja unul altuia cheile publice. S presupunem c nu este aa. Alice poate doar s-i trimit lui
Bob cheia ei public n primul mesaj i s cear lui Bob s-i trimit napoi cheia lui public n
urmtorul mesaj. Necazul cu aceast abordare este c protocolul poate fi subiectul unui atac
de tipul gleata brigzii de pompieri". Trudy poate captura mesajul lui Alice ctre Bob i
poate trimite propria sa cheie public napoi spre Alice. Alice va crede c are cheia pentru a
vorbi cu Bob, cnd, de fapt, ea are cheia pentru a vorbi cu Trudy. Acum Trudy poate citi toate
mesajele criptate cu ceea ce crede Alice c este cheia public a lui Bob.
570 NIVELUL APLICAIE CAP. 7"

Schimbul iniial de chei publice poate fi evitat avnd toate cheile publice memorate ntr-o
baz de date. Atunci Alice i Bob pot extrage cheia public a celuilalt din baza de date. Din
nefericire, Trudy mai poate nc s dea drumul la atacuri de tipul gleata brigzii de
pompieri" prin interceptarea cererilor ctre baza de date i prin trimiterea de rspunsuri
simulate coninnd propria sa cheie public. In final, cum tiu Alice i Bob c rspunsul vine
de la baza de date real i nu de la Trudy?
Rivest i Shamir (1984) au conceput un protocol care mpiedic atacul de tipul gleata brigzii
de pompieri" din partea lui Trudy. n protocolul lor cu interbiocare (interiock), dup schimbul de
chei publice, Alice i trimite lui Bob doar jumtate din mesajul ei, s spunem doar biii pari (rezultai-
dup o criptare). Bob i rspunde cu biii si pari. Dup ce primete biii pari ai lui Bob, Alice trimite
biii si impari, lucru pe care-1 face i Bob.
Ideea aici este c dac ia biii pari ai lui Alice, Trudy nu poate decripta mesajul, chiar dac ea
are cheie privat. In consecin, ea nu este capabil s recripteze biii pari folosind cheia public a lui
Bob. Dac i va trimite ceva fr sens lui Bob, protocolul va continua, dar Bob va descoperi n scurt
timp c mesajul asamblat complet nu are nici un sens i i va da seama c a fost nelat.

7.1.6 Semnturi Digitale

Autenticitatea multor documente legale, financiare i de alt gen este determinat de prezena
sau absena unor semnturi autorizate scrise de mn. Iar fotocopiile nu sunt valabile. Pentru
sistemele de mesaje computerizate, care urmresc nlocuirea transportului fizic al documentelor
scrise cu cerneal pe hrtie, trebuie gsit o soluie la problema autentificrii.
Problema de a concepe un nlocuitor pentru semnturile scrise de mn este destul de dificil.
De fapt, ceea ce este necesar este un sistem prin care una din pri poate trimite mesaje semnate"
celeilalte pri astfel nct:

1. Receptorul poate verifica identitatea pe care pretinde a o avea transmitorul;


2. Transmitorul nu poate s renege mai trziu coninutul mesajului;
3. Receptorul nu poate s fi pregtit el nsui mesajul.

Prima cerin este necesar, de exemplu, n sistemele financiare. Atunci cnd calculatorul
unui client ordon calculatorului unei bnci s cumpere o ton de aur, calculatorul bncii
trebuie s poat s se asigure c acel calculator care d ordinul aparine ntr-adevr companiei
al crei cont va fi debitat.
A doua cerin este necesar pentru a proteja banca mpotriva fraudei. S presupunem c
banca cumpr o ton de aur i imediat dup aceea preul aurului scade vizibil. Un client
necinstit poate s acuze banca, pretinznd c el nu a emis niciodat vreun ordin de cumprare
de aur. Cnd banca prezint mesajul n faa curii, clientul neag faptul c l-ar fi trimis.
Cea de-a treia cerin este necesar pentru a proteja clientul n eventualitatea c preul aurului
explodeaz i banca ncearc s construiasc un mesaj n care clientul cere cumprarea unui lingou
de aur n locul unei tone.
SEC. 7.1 SECURITATEA REELEI 571

Semnturi cu Cheie Secret

Un mod de abordare pentru semnturile digitale este acela de a avea o autoritate central
care tie totul i n care oricine are ncredere, s spunem Big Brother (BB). Fiecare utilizator
alege o cheie secret i o duce personal la biroul BB. Astfel, doar Alice i BB vor cunoate
secretul lui Alice, KA, .a.m.d.
Atunci cnd Alice dorete s trimit un mesaj n clar semnat, P, bancherului su, Bob, ea
genereaz KA(B, RA, , P) i l trimite, dup cum este se arat i n Fig. 7-22. BB vede c mesajul este
de la Alice, l decripteaz i i trimite lui Bob mesajul din figur. Mesajul trimis spre Bob conine
textul clar din mesajul lui Alice i, de asemenea, mesajul semnat KBB(A, , P), unde t este amprenta
de timp. Acum Bob rezolv cererea lui Alice.

A,K A <B,R A ,tP)

X!
m K B (A,R A ,,P,K BB (A,,P O
CD
m

Fig. 7-22. Semnturi digitale cu Big Brother.

Ce se ntmpl dac Alice neag mai trziu trimiterea mesajului su? Pasul 1 este c oricine
poate acuza pe oricine (cel puin n SUA). n final, cnd cazul ajunge n faa curii i Alice neag cu
nverunare c a trimis lui Bob mesajul n disput, judectorul l va ntreba pe Bob cum poate fi el
sigur c mesajul disputat vine de la Alice i nu de la Trudy. Bob va arta mai nti c BB nu accept
un mesaj de la Alice dect dac este criptat cu KA, aa c nu exist nici o posibilitate ca Trudy s-i
trimit lui BB un mesaj fals ca provenind de Ia Alice.
Apoi Bob va aduce n mod impresionant Proba A, KBB(, t, P). Bob spune c acesta este un
mesaj semnat de BB care demonstreaz c Alice i-a trimis P lui Bob. Judectorul i va cere apoi lui
BB (n care toat lumea are ncredere) s decripteze Proba A. Cnd BB va depune mrturie c Bob
spune adevrul, judectorul va de verdictul n favoarea lui Bob. Cazul va fi nchis.
O problem posibil cu protocolul de semnare din Fig. 2-22 apare atunci cnd Trudy rspunde la
fiecare mesaj. Pentru a minimiza aceast problem, sunt folosite peste tot amprente de timp. Mai
mult, Bob poate verifica toate mesajele recente s vad dac RA a fost folosit n vreunul dintre ele.
Dac da, mesajul respectiv este ignorat deoarece este o replic. De remarcat c Bob va refuza toate
mesajele foarte vechi din punct de vedere al amprentei de timp. Pentru a se pzi mpotriva
atacurilor prin rspuns instantaneu, Bob verific doar RA al oricrui mesaj venit, ca s vad dac s-a
mai primit n ultimele ore un astfel de mesaj de la Alice. Dac nu, Bob poate presupune fr nici un
risc c mesajul reprezint o nou cerere.

Semnturi cu Cheie Public

O problem structural n folosirea criptografiei cu cheie secret pentru semnturi digitale


este aceea c oricine trebuie s se ncread n Big Brother. Mai mult dect att, Big Brother
572 NIVELUL APLICAIE CAP. 7

poate citi toate mesajele semnate. Cei mai logici candidai pentru a juca roiul lui Big Brother
sunt guvernul, bncile, oamenii legii. Aceste organizaii nu inspir ns ncredere total tuturor
cetenilor. De aceea ar fi frumos dac semnarea documentelor nu ar necesita existenta unei
astfel de autoriti de ncredere.
Din fericire, criptografia cu cheie public i poate aduce aici o important contribuie. S
presupunem c algoritmii de criptare i decriptare cu cheie public au proprietatea c
E(D(P))=P n plus fa de proprietatea uzualD(E(P))=P. (RSA are aceast proprietate, deci
presupunerea nu este nerezonabil). S presupunem c Alice poate trimite un text clar
semnat, P, lui Bob transmind EB(DA(P)). O observaie important aici este aceea c Alice
cunoate att propria sa cheie secret ct i cheia public a iui Bob, EB, astfel nct construcia
acestui mesaj este pentru Alice un lucru realizabil
Cnd Bob primete mesajul, el l transform, folosindu-i cheia privat, ca de obicei, rezultnd
DA(P), dup cum este artat i n Fig. 7-23. Ei memoreaz acest text ntr-un loc sigur i apoi l
decripteaz, folosind EA, pentru a obine textul clar original.

Linia de transmisie
Calculatorul iui Aiice Calculatorii! iui Bob

Cheia orivat Cheia pubi Cheia privat Cheia public


s lui a iui a iui Bob, s Iul Mice, - P
F.

E B {D A (P))

Fig. 7-23= Semnturi digitale folosind criptografia cu cheie public.

Pentru a vedea cum lucreaz semntura, s presupunem c Alice neag ulterior trimiterea
mesajului P lui Bob. Atunci cnd cazul ajunge n faa curii, Bob poate aduce ca probe att P ct i
DA(P). Judectorul poate verifica uor c Bob are un mesaj valid cripat cu DA, doar aplicnd EA
asupra iui. Deoarece Bob nu tie care este cheia privat a lui Alice, singurul mod prin care Bob
poate s fi primit mesajul criptat cu aceast cheie privat este ca Alice n persoan s-i fi trimis. Ct
timp va fi nchis pentru minciun i fraud, Alice va avea suficient timp s conceap noi algoritmi
cu cheie public interesani.
Cu toate c folosirea criptografiei cu cheie public pentru semnturi digitale este o schem
elegant, exist probleme legate mai degrab de mediul n care acestea opereaz dect de
algoritmul de ia baz. De exempiu, Bob poate proba c mesajul a fost trimis de ctre Alice atta
vreme ct DA rmne secret. Dac Alice dezvluie cheia sa secret, acest argument nu va mai fi
valabil, deoarece oricine poate s fi trimis mesajul, chiar i Bob.
Problema poate aprea, de exempiu, dac Bob este agentul de vnzri al iui Alice. Alice i
spune Iui Bob s cumpere nite aciuni i s ie pstreze. Imediat dup aceea, preui scade
vertiginos. Pentru a repudia mesajul su ctre Bob, Alice face o plngere la poliie, pretinznd
c i-a fost spart casa i furat cheia secret. n funcie de legislaia din ara sau inutul su, ea
SEC. 7.1 SECURITATEA REELEI 573

poate fi sau nu rspunztoare legal, n special dac pretinde c a descoperit spargerea cnd s-
a ntors acas de la munc, la cteva ore mai trziu.
O alt problem cu schema de semntur este ce se ntmpl dac Alice decide s-i schimbe
cheia. A face acest lucru este evident legal i este probabil o idee bun s o fac periodic. Dac n
justiie apare mai trziu un caz, aa cum s-a povestit mai sus, judectorul va aplica actualul EA la
DA(P) i va descoperi c nu se obine P. Bob va fi atunci ntr-o situaie delicat. n consecin, apare
necesitatea ca o autoritate s nregistreze toate schimbrile de chei i datele acestora.
In principiu, orice algoritm cu cheie public poate fi folosit pentru semnturi digitale. Standardul
de facto n industrie este algoritmul RSA. Multe produse pentru securitate l folosesc. Totui, n 1991,
NIST (National Institute of Standards and Technology) a propus o variant a algoritmului cu cheie
public. Ei Gamal pentru noul lor standard DSS (Digital Signafare Standard - Standard pentru
Semntur Digital). El Gamal i bazeaz securitatea pe dificultatea calculului logaritmilor discrei
i nu pe dificultatea factorizrii numerelor mari.
Ca de obicei, cnd guvernul ncearc s impun standarde criptografice, s-a iscat o reacie
antagonist de mas. DSS a fost criticat pentru a fi:

1. Prea secret (NSA a proiectat protocolul pentru folosirea El Gama).


2. Prea nou (Ei Gamai nu a fost nc suficient analizat).
3. Prea lent (de 10 pn la 40 de ori mai lent dect RSA n verificarea semnturilor).
4. Prea nesigur (chei fixe de 512 bii).

Dup o revizuire ulterioar, cei de-al patrulea motiv a fost eliminat fiindc s-au permis chei de
pn la 1024 bii. Nu este nc clar dac DSS va prinde sau nu. Pentru mai multe detalii, a se vedea
(Kaufman .a., 1995; Schneier, 1996; i Stinson, 1995).

Rezemate de mesaje

O critic adus schemelor de semntur este aceea c adeseori cupleaz dou funcii distincte:
autentificare si confidenialitate. Adesea, autentificarea este necesar, dar confidenialitatea eu.
Deoarece criptarea este lent, adeseori se dorete s existe posibilitatea de a se trimite documente
ca text n clar, ns semnate. Mai jos vom descrie o schem de autentificare care nu necesit
criptarea ntregului mesaj (De Jonge i Chaum, 1987).
Schema este bazat pe ideea unei funcii de dispersie neinversabile care preia o bucat de text
clar de lungime arbitrar din care calculeaz un ir de bii de lungime fix. Funcia de dispersie,
adeseori numit rezumat (digest) al mesajului, are trei proprieti importante:

1. Dat fiind P, este uor de calculat MD(P).


2. Dat fiind MD(P), este efectiv imposibil de calculat?.
3. Nimeni nu poate genera dou mesaje avnd aceiai rezumat.

Pentru a satisface criteriul 3, rezumatul trebuie s aib cel puin 128 de bii lungime, de preferat

Calcului rezumatului unui mesaj dintr-o bucat de text clar este mult mai rapid dect criptarea
unui text clar cu un algoritm cu cheie public. Pentru a vedea cum lucreaz, s considerm din nou
574 NIVELUL APLICAIE CAP. 7

protocolul de semntur din Fig. 7-22. In loc de a semna P cu KBB(A, t, P), BB calculeaz acum
rezumatul mesajului aplicnd MD lui P, rezultnd MD(P). BB mpacheteaz apoi KBB(A, t, MD(P))
ca al cincilea element n lista criptat cu KB care este trimis lui Bob, n Ioc de KBB(A, i, P).
In disputa ce apare, Bob poate aduce ca argumente att P c i KBB(A, t, MD(P)). Dup ce Big
Brother 1-a decriptat pentru judector, Bob are MD(P), care este garantat a fi original i pretinsul P.
Totui, deoarece este efectiv imposibil ca Bob s gseasc un alt mesaj care s aib acest rezumat,
judectorul va fi convins uor c Bob spune adevrul. Folosirea rezumatelor mesajelor n acest mod
economisete att timpul de criptare ct i costurile pentru transport i memorare.
Calculul rezumatelor mesajelor funcioneaz i n criptosistemele cu chei publice, dup cum este
artat i n Fig. 7-24. Aici, Alice calculeaz mai nti rezumatul de mesaj pentru textul su clar. Apoi
ea semneaz rezumatul i trimite att textul clar ct i semntura lui Bob. Dac Trudy S nlocuiete
pe P n timpul transferului, Bob va vedea aceasta atunci cnd va calcula el nsui MD(P).
Alice

Bob
P, D {MD(P | -

Fig. 7-24. Semnturi digitale folosind rezumatul mesajului.

Au fost propuse o diversitate de funcii pentru calculul rezumatului. Unele dintre cele mai
folosite sunt MD5 (Rivest, 1992) i SHA (NST. 1993). MBS este a cincea din seria de funcii de
dispersie proiectate de Ron Rivest. Opereaz prin amestecarea biilor ntr-un mod suficient de
complicat, astfel nct fiecare bit de ieire s depind de fiecare bit de intrare. Foarte pe scurt,
algoritmul ncepe prin a umple mesajul pn la o lungime de 448 (modulo 512) bii. Lungimea
original a mesajului este adugat apoi ca un ntreg pe 64 de bii, dnd o intrare a crei lungime
total este un multiplu de 512 bii. Ultimul pas dinaintea nceperii calculului este iniializarea unui
tampon de 128 de bii la o valoare fix.
Apoi ncepe calculul. Fiecare rund ia un bloc de intrare de 512 bii i i amestec complet
cu cei din tamponul de 128 bii. Ca o msur suplimentar, este folosit i o tabel construit
folosind funcia sinus. Utilizarea unei funcii cunoscute cum este sinus nu se datoreaz faptului
c este mai aleatorie dect un generator de numere aleatorii, ci pentru a evita orice suspiciune
c proiectantul a inclus o trap inteligent ascuns prin care doar el poate intra. Refuzul IBM-
ului de a dezvlui principiile aflate la baza proiectrii cutiilor S din DES a diis ia speculaii
destul de mari privind existena trapelor ascunse. Pentru fiecare bloc de intrare sunt efectuate
patru runde. Acest proces continu pn cnd sunt consumate toate blocurile de intrare.
Coninutul tamponului de 128 de bii formeaz rezumatul mesajului. Algoritmul a fost
optimizat pentru implementri software pe maini pe 32 de bii. n consecin, el poate s nu
fie suficient de rapid pentru viitoarele reele de mare vitez (Touch, 1995).
Alt funcie major pentru calculul rezumatului este SHA (Secure Hasfa Algorithm-
Algoritm de Dispersie Sigur), dezvoltat de NSA i acceptat de ctre NST. Ca i MD5, ea
SEC. 7.1 SECURITATEA REELEI 575

prelucreaz datele de intrare n blocuri de cte 512 bii, dar, spre deosebire de MD5,
genereaz un rezumat de mesaj de 160 de bii. ncepe prin a umple mesajul, adugnd apoi
lungimea pe 64 de bii pentru a obine un multiplu de 512 bii. Apoi iniializeaz tamponul de
ieire de 160 bii. Pentru fiecare bloc de intrare, tamponul de ieire este actualizat folosind
blocul de intrare de 512 bii. Nu este folosit o tabel de numere aleatorii (sau de valori ale
funciei sinus), dar pentru fiecare bloc sunt calculate 80 de runde, rezultnd un amestec
complet. Fiecare grup de 20 de runde folosete funcii de amestecare diferite.
Deoarece lungimea rezumatului SHA este cu 32 de bii mi mare dect a rezumatului MD5,
32
toate celelalte elemente fiind identice, SHA este cu un factor de 2 mai sigur dect MD5. Totui,
faptul c este mai lent dect MD5 i acela c are o lungime a rezumatului care nu este putere a lui 2
pot fi uneori inconveniente. Altfel, cele dou sunt aproximativ identice din punct de vedere tehnic.
Ca politic, MD5 este definit ntr-un RFC i folosit foarte mult n Internet. SHA este un standard
guvernamental i este utilizat de companiile care trebuie s l foloseasc, deoarece guvernul le-o
impune, sau de cele ce doresc o securitate suplimentar. O versiune revizuit, SHA-1, a fost
aprobat ca standard de ctre NIST.

Atacul ziua de natere"


n lumea criptografiei, nimic nu este ceea ce pare a fi. Cineva poate gndi c sunt necesare 2m
operaii pentru a falsifica un rezumat de m bii. De fapt, 2ml2 sunt suficiente dac se folosete atacul
zilei de natere, o abordare publicat de Yuval (1979) n lucrarea sa How to Swindle Rabin" (Cum
s-1 jefuieti pe Rabin).
Ideea acestui atac vine de la o tehnic pe care profesorii de matematic o folosesc adeseori
n cursurile lor de teoria probabilitilor. ntrebarea este: Ci studeni trebuie s fie ntr-o
clas pentru ca probabilitatea de a exista doi studeni cu aceeai dat de natere s fie 1/2?
Muli studeni se ateapt ca rspunsul s fie ceva peste 100. De fapt, teoria probabilitilor
spune c trebuie s fie exact 23. Fr a face o analiz riguroas, intuitiv, cu 23 de oameni se
pot forma (23x23)/2 = 253 perechi diferite, fiecare dintre ele avnd o probabilitate de 1/365 s
fie cea potrivit. n aceast lumin, rezultatul nu mai este deloc surprinztor.
Mai general, dac exist o coresponden ntre intrri i ieiri cu n intrri (oameni, mesaje etc.) i
k ieiri (zile de natere, rezumate etc), exist n(n-2)/2 perechi de intrare. Dac n(n-2)/2 > k, ansa
de a avea cel puin o potrivire este destul de mare. Astfel, cu aproximaie, o potrivire corespunde la
n> yjk . Acest rezultat nseamn c un rezumat de 64 de bii poate fi probabil spart prin generarea
a aproape 2 32 mesaje i cutnd dou cu acelai rezumat.
S vedem acum un exemplu practic. Departamentul de tiina Calculatoarelor de la
Universitatea de Stat are disponibil un post de profesor titular i exist doi candidai la el, Tom
i Dick. Tom a fost angajat cu doi ani naintea lui Dick, aa c el merge primul la verificare.
Dac reuete, Dick are ghinion. Tom tie c efa departamentului, Marylin, are o impresie
bun despre activitatea sa, aa c o roag s i scrie o scrisoare de recomandare pentru decan,
cel care va decide n cazul su. Odat trimise, toate scrisorile devin confideniale.
Marylin spune secretarei, Ellen, s scrie Decanului o scrisoare, subliniind ceea ce dorete. Cnd
este gata, Marylin o va revizui, va calcula i va semna un rezumat de 64 de bii i l va trimite
decanului. Ellen poate trimite scrisoarea mai trziu, prin pot electronic.
576 NIVELUL APLICAIE CAP. 7

Din nefericire pentru Tom, Ellen are o idil cu Dick i i-ar plcea s l fac pe Tom
s eueze, aa c ea scrie o scrisoare cu urmtoarele 32 de opiuni cuprinse ntre
paranteze drepte.

Dear Dean Smith,


This [letter \ message] is to give my [honest \ frank] opinion of Prof. Tom Wilson, who is [a
candidate j up] for tenure [now \ thisyear]. I have [known \ worked with] Prof. Wilson for [about \
almost] six years. He is an [outstanding | excellent] researcher of great [talent | ability] known
[worfdwide j internationally] for his [biilliant | creative] insights into [rnany \ a wide variety of] [difficult
| challenging] problems.
He is also a [highly \ greatly] [respected \ admired] [teacher j educator]. His students give his
[classes | courses] [rave \ spectacular] reviews. He is [our \ the Department's] [mostpopular \ best-
loved] [teacher | instructor].
[n addition | Additionally] Prof. Wilson is a [gifted \ effective] fund raiser. His [grants j contracts]
have brought a [large \ substantial] amount of money into [the | our] Department. [This money has \
Thesefunds have] [enabled j permitted] us to [pursue j cairy oui] many [special \ important] programs,
[such as | for example] your State 2000 program. Without these funds we would [be enable \ not be
able] to continue this program which is so \important \ essential] to both of us. 1 strongly urge you to
grant him ternure.

Din nefericire pentru Tom, imediat dup ce Ellen termin de alctuit i introdus mesajul, ea
scrie de asemenea un al doilea mesaj:

Dear Dean Smith,


This [letter j message] is to give my [honest \ frank] opinion of Prof. Tom Wilson, who is [a
candidate j up] for tenure [now \ thisyear]. I have [known \ worked with]. Prof. Wilson for [about \
almost] six years. He is an [poor \ weak] researcher not well known n this [field j area]. His research
[hardly ever j rarely] shows [insight n \ understanding of} the [key j major] problems of [the \ our] day.
Furthermore, he is not a [respected \ admired] [teacher \ educator]. His students give his {classes \
courses] [poor \ bad] reviews. He is [our | the Department's] leasf popular [teacher j instructor],
known [mostly j primarly] within [our \ the] Department for his [tendency \ propencity] to [ridicule
embarass] students [foolish \ imprudent] enough to ask questions n his classes.
[In addition \ Additionally] Tom is a [poor \ marginal] fund raiser. His [grants j contracts] have
brought only a [meager j insignificant] amount of money into [the | our] Department. Unless new
[money is \ funds are] quickly located, we must have to cancel essential programs such as your State
2000 program. Unfortunately, under these [conditions j circumstances]. I cannot n good [conscience
| faith] recommend him to you for [ternure | a permanent position].

Ellen pune calculatorul s calculeze n timpul nopii 2 32 rezumate de mesaj pentru fiecare
scrisoare. Exist anse ca un rezumat al primei scrisori s se potriveasc cu un rezumat al celei
de-a doua scrisori. Dac nu, ea poate s adauge mai multe opiuni i s ncerce din nou n
timpul weekend-ului. S presupunem c gsete o potrivire. S notm scrisoarea bun" cu A
i scrisoarea rea" cu B.
SEC. 7.2 DNS - SISTEMUL NUMELOR DE DOMENII 577

Ellen trimite acum scrisoarea A lui Marilyn pentru aprobare. Desigur c Marilyn o aprob,
calculeaz rezumatul de 64 de bii, semneaz rezumatul si trimite rezumatul semnat decanului
Smith. Independent, Ellen i trimite decanului Smith scrisoarea B.
Dup ce primete scrisoarea i rezumatul semnat, decanul ruleaz algoritmul de calcul al
rezumatului pentru scrisoarea B, vede c se potrivete cu ceea ce i-a trimis Marilyn i l d
afar pe Tom. (Sfrit opional: Ellen i povestete lui Dick ceea ce a fcut. Dick este revoltat
i rupe relaia cu ea. Ellen este furioas i se confeseaz lui Marilyn. Marilyn l sun pe Decan.
Tom obine pn la urm postul). Atacul zilei de natere este nefezabil la MD5 deoarece,
64
chiar i la un miliard de rezumate pe secund, ar trebui peste 500 de ani pentru a calcula 2
rezumate pentru cele dou scrisori, cu 64 de variante fiecare, succesul nefiind garantat.

7.1.7 Implicaii sociale

Implicaiile securitii reelei pentru securitatea individual i a societii n general sunt ocante.
Mai jos vom meniona doar cteva din cele mai importante consecine.
Guvernelor nu le plac cetenii care au secrete fa de ele. n unele ri (de exemplu,
Frana) orice criptografie neguvernamental este pur i simplu interzis, cu excepia cazului n
care guvernul primete toate cheile utilizate. Dup cum au punctat Kahn (1980) i Selfridge i
Schwartz (1980), interceptarea de ctre guvern s-a practicat la o scar mult mai mare dect i-
ar putea imagina majoritatea oamenilor, iar pentru eforturile lor, guvernele doresc ceva mai
mult dect o grmad de bii indescifrabili.
Guvernul SUA a propus o schem de criptare pentru viitoarele telefoane digitale care include o
caracteristic special ce permite poliiei s asculte i s decripteze toate apelurile telefonice din
SUA. Guvernul promite s nu foloseasc aceast caracteristic fr un ordin de la curtea de justiie,
dar muli oameni nc i mai amintesc cum fostul director al FBI, J. Edgar Hoover asculta ilegal
telefoanele lui Martin Luther King, Jr. i ale altor persoane n ncercarea de a-i neutraliza. Poliia
spune c au nevoie de aceast putere pentru a prinde criminalii. Exprimndu-ne moderat, putem
spune c dezbaterea este vehement de ambele pri. O discuie asupra tehnologiei implicate
(Clipper) este prezentat n (Kaufman .a., 1995). Un mod de a evita aceast tehnologie i de a
trimite mesaje ntr-un mod n care guvernul s nu le poat citi este descris n (Blaze, 1994; i
Schneier, 1996). Declaraii de opinie ale tuturor prilor sunt prezentate n (Haffman, 1995).
Statele Unite au o lege (22 U.S.C. 2778) care interzice cetenilor s exporte muniii (material de
rzboi), cum ar fi tancuri i avioane cu reacie, fr autorizarea DoD. Prin aceast lege, software-ul
criptografic este clasificat ca muniie. Phil Zimmermann, care a scris PGP (Pretty Good Privacy), un
program pentru protecia potei electronice, a fost acuzat c a nclcat aceast lege, chiar dac
guvernul admite c el nu 1-a exportat (dar 1-a dat unui prieten pentru a-1 pune pe Internet de unde
putea fi obinut de strini). Muli oameni au privit acest incident larg mediatizat ca o nclcare total
a drepturilor unui cetean american ce lucreaz pentru mbuntirea siguranei oamenilor.

7.2 DNS - SISTEMUL NUMELOR DE DOMENII

Programele se refer rareori la sisteme gazd, cutii potale i alte resurse prin adresa lor binar
(din reea). n loc de numere binare, se utilizeaz iruri ASCII, cum ar fi tana@ait.ucsb.edu. Cu
toate acestea, reeaua nelege numai adrese binare, deci este necesar un mecanism care s
578 NIVELUL APLICAIE CAP. 7

converteasc irurile ASCII n adrese de reea. n seciunea urmtoare se va studia cum este
realizat aceast conversie n Internet.
nc de la ARPANET exista un fiier host.txt care cuprindea toate sistemele gazd i
adresele lor IP. n fiecare noapte, toate gazdele l preluau de la situl unde era pstrat. Pentru o
reea format din cteva sute de maini mari, cu divizarea timpului, aceast abordare era
destul de rezonabil.
Totui, atunci cnd la reea au fost conectate mii de staii de lucru, toi i-au dat seama c aceast
abordare nu putea s funcioneze la nesfrit. n primul rnd dimensiunea fiierului ar deveni prea
mare. Cu toate acestea i chiar mai important, conflictele de nume de sisteme gazd ar aprea n
permanen dac nu ar fi administrate centralizat, ceva de negndit ntr-o reea internaional de
dimensiuni uriae. Pentru a rezolva aceste probleme, a fost inventat DNS (Domain Name System -
Sistemul numelor de domenii).
Esena DNS-ului const dintr-o schem ierarhic de nume de domenii i a unui sistem de
baze de date distribuite pentru implementarea acestei scheme de nume. In principal este
utilizat pentru a pune n coresponden numele sistemelor gazd i adresele destinaiilor de
e-mail cu adresele IP, dar poate fi utilizat i pentru alte scopuri. DNS este definit n RFC-urile
1034 i 1035.
Foarte pe scurt, DNS este utilizat dup cum urmeaz. Pentru a stabili corespondena dintre un
nume i o adres IP, programul de aplicaie apeleaz o procedur de bibliotec numit resoiver,
transferndu-i numele ca parametru. Resolver-ul trimite un pachet UDP la server-ul DNS local,
care caut numele i returneaz adresa IP ctre resoiver, care o returneaz apelantului. narmat cu
adresa IP, programul poate stabili o conexiune TCP cu destinaia sau i poate trimite pachete UDP.

7.2.1 Spaiul de nome DNS

Administrarea unui volum mare de nume n permanent schimbare nu este o problem


prea uoar. n sistemul potal, administrarea numelor este realizat impunnd ca pe o
scrisoare s se specifice (implicit sau explicit) ara, statul sau provincia, oraul, strada i restul
adresei destinatarului. Utiliznd o astfel de adresare ierarhic, nu exist nici o confuzie ntre
Marvin Anderson de pe Main St. din White Plains, N.Y. i Marvin Anderson de pe Main St.
din Austin, Texas. DNS lucreaz n acelai mod.
Conceptual, Inernetul este divizat n cteva sute de domenii de nivel superior, fiecare
domeniu cuprinznd mai multe sisteme gazd. Fiecare domeniu este partiionat n subdomenii
i acestea sunt, la rndul lor, partiionate .a.m.d. Toate aceste domenii pot fi reprezentate ca
un arbore, aa cum se arat n Fig. 7-25. Frunzele arborelui reprezint domenii care nu au
subdomenii (dar, bineneles, conin sisteme). Un domeniu frunz poate conine un singur
sistem gazd sau poate reprezenta o firm, deci s conin mii de sisteme gazda.
Domeniile de pe primul nivel se mpart n dou categorii: generice i de ri. Domeniile generice
sunt corn (comercial), edu (instituii educaionale), gov (guvernul federal al SUA), int (organizaii
internaionale), mii (forele armate ale SUA) i org (organizaii nonprofit). Domeniile de ri includ
o intrare pentru fiecare ar, cum se definete n ISO 3166.
Fiecare domeniu este denumit de calea n arbore pn la rdcin. Componentele sunt separate
prin punct. Astfel, departamentul de inginerie de la SUN poate fi eng.sun.com n loc de numele n
stil UNIX /com/sun/eng. De notat c aceast atribuire ierarhic de nume nseamn c eng.sun.com
SEC. 7.2 DNS - SISTEMUL NUMELOR DE DOMENII 579

nu intr n conflict cu posibila utilizare a lui eng n eng.yale.edu, care poate fi folosit de departamentul
de Englez de la Yale.

Generice ri

int corn edu gov mii ora net ~jp U s ni


/ \ / \ / \
sun yale acrn leee ac co oce vu

eng cs eng jack jill keio nec cs


i
/ \
ai linda cs csl
I flits fluit
!
robot pc24

Fig. 7-25.0 poriune a spaiului numelor de domenii din Internet.

Numele de domenii pot fi absolute sau relative. Un nume absolut de domeniu se termin cu un
punct (de exemplu, eng.sun.com.), n timp ce unul relativ nu. Numele relative trebuie interpretate n
context pentru a determina nelesul adevrat. n ambele cazuri, un nume de domeniu se refer la
un anumit nod din arbore i la toate nodurile de sub el.
Numele de domenii nu fac distincie ntre litere mici i litere mari, astfel edu sau EDU nseamn
acelai lucru. Componentele numelor pot avea o lungime de cel mult 64 caractere, iar ntreaga cale
de nume nu trebuie s depeasc 255 de caractere.
n principiu, domeniile pot fi inserate n arbore n dou moduri diferite. De exemplu,
cs.yale.edu ar putea la fel de bine s fie inclus n domeniul rii us ca cs.yale.ct.us. n practic,
totui, aproape toate organizaiile din Statele Unite sunt repartizate dup criteriul generic, iar
aproape toate din afara Statelor Unite fac parte din domeniul rii lor. Nu exist nici o regul
mpotriva nregistrrii sub dou domenii de nivel superior, dar aceasta poate conduce la
confuzii i de aceea puine organizaii o fac.
Fiecare domeniu controleaz cum sunt alocate domeniile de sub el. De exemplu, Japonia are
domeniile ac.jp i co.jp echivalente cu edu i corn. Olanda nu face nici o distincie i pune toate
organizaiile direct sub ni. Astfel cele trei nume urmtoare sunt toate departamente de calculatoare
(computer science) din universiti:

1. cs.yale.edu (Universitatea Yale din Statele Unite).


2. cs.vn.nl (Vrije Universiteit n Olanda).
3. cs.keio.ac.jp (Universitatea Keio din Japonia).

Pentru a crea un nou domeniu, se cere permisiunea domeniului n care va fi inclus. De


exemplu, dac un grup VLSI de la Yale dorete s fie cunoscut ca vlsi.cs.yale, acesta are nevoie
de permisiunea celui care administreaz cs.yale.edu. Similar, dac este acreditat o nou
universitate, s zicem Universitatea din Northern South Dakota, ea trebuie s cear
580 NIVELUL APLICAIE CAP. 7

administratorului domeniului edu s-i atribuie unsd.edu. n acest mod sunt evitate conflictele
de nume i fiecare domeniu poate ine evidena tuturor subdomeniilor sale. Odat ce un nou
domeniu a fost creat i nregistrat, el poate crea subdomenii, cum ar fi cs.unsd.edu, fr a cere
permisiunea de la cineva din partea superioar a arborelui.
Atribuirea de nume respect graniele organizaionale, nu pe cele ale reelelor fizice. De
exemplu, dac departamentele de tiina calculatoarelor i de inginerie electric sunt localizate
n aceeai cldire i folosesc aceeai reea local, ele pot avea totui domenii distincte. Similar,
dac departamentul de tiina calculatoarelor este mprit n dou cldiri (Babbage Hali i
Turing Hali), toate sistemele gazd din ambele cldiri aparin aceluiai domeniu.

A.

7.2.2 nregistrri de resurse

Fiecrui domeniu, fie c este un singur calculator gazd, fie un domeniu de nivel superior, i
poate fi asociat o mulime de nregistrri de resuse (resourse records). Pentru un singur sistem
gazd, cea mai obinuit nregistrare de resurs este chiar adresa IP, dar exist multe alte tipuri de
nregistrri de resurse. Atunci cnd procedura resolver trimite un nume de domeniu DNS, ceea ce
va primi ca rspuns sunt nregistrrile de resurse asociate acelui nume. Astfel, adevrata funcie a
DNS este s realizeze corespondena dintre numele de domenii i nregistrrile de resurse.
O nregistrare de resurs este un 5-tuplu. Cu toate c, din raiuni de eficien, nregistrrile
de resurse sunt codificate binar, n majoritatea expunerilor ele sunt prezentate ca text ASCII,
cte o nregistrare de resurs pe linie. Formatul pe care l vom utiliza este urmtorul:
Nume_Domeniu Timp_de_via Tip Clas Valoare
Nume_domeniu (domain_name) precizeaz domeniul cruia i se aplic aceast nregistrare. In
mod normal exist mai multe nregistrri pentru fiecare domeniu i fiecare copie a bazei de date
pstreaz informaii despre mai multe domenii. Acest cmp este utilizat ca cheie de cutare primar
pentru a satisface cererile. Ordinea nregistrrilor n baza de date nu este semnificativ. Cnd se face
o interogare despre un domeniu, sunt returnate toate nregistrrile care se potrivesc cu clasa cerut.
Cmpul Timp_de_yiaa (time_to_live) d o indicaie despre ct de stabil este nregistrarea.
Informaia care este foarte stabil are asigurat o valoare mare, cum ar fi 86400 (numrul de
secunde dintr-o zi). Informaiei instabile i este atribuit o valoare mic, cum ar fi 60 (1 minut). Vom
reveni la acest punct mai trziu, cnd vom discuta despre utilizarea memoriei ascunse.
Cmpul Tip precizeaz tipul nregistrrii. Cele mai importante tipuri sunt prezentate n Fig. 7-26.

Tip Semnificaie Valoare


SOA Start autoritate Parametrii pentru aceast zon
A Adresa IP a unui sistem gazd ntreg pe 32 de bii
MX Schimb de pot Prioritate, domeniu dispus s accepte pot electronica
NS Server de Nume Numele serverului pentru acest domeniu
CNAME Nume canonic Numele domeniului
PTR Pointer Pseudonim pentru adresa IP
HINFO Descriere sistem gazd Unitate central i sistem de operare n ASCII
TXT Text Text ASCII neinterpretat

Fig. 7-26. Principalele tipuri de nregistrri de resurse DNS.


SEC. 7.2 DNS-SISTEMUL NUMELOR DE DOMENII 581

O nregistrare SOA furnizeaz numele sursei primare de informaie despre zona serverului
de nume, adresa de e-mail a administratorului, un identificator unic i diveri indicatori i
contoare de timp.
Cel mai important tip de nregistrare este nregistrarea^ (adres). Ea pstreaz adresa IP
de 32 de bii a sistemului gazd. Fiecare sistem gazd Internet trebuie s aib cel puin o
adres IP, astfel nct alte maini s poat comunica cu el. Unele sisteme gazd au dou sau
mai multe conexiuni n reea, caz n care vor avea cte o nregistrare de tip A pentru fiecare
conexiune (i astfel pentru fiecare adres IP).
Urmtoarea ca importan este nregistrarea MX. Aceasta precizeaz numele domeniului
pregtit s accepte pota electronic pentru domeniul specificat. O utilizare obinuit a acestei
nregistrri este s permit unei maini care nu este n Internet s primeasc pot de la situri
Internet. Livrarea este realizat avnd un sit non-Internet care face un aranjament cu un sit
Internet s accepte pota electronic ce i este adresat i s i-o transmit mai departe,
utiliznd orice protocol agreat de ambele pri.
De exemplu, s presupunem c studenta Cathy de la departamentul de calculatoare din
UCLA, dup ce primete diploma n AI, nfiineaz o companie, Electrobrain, n vederea
comercializrii ideilor ei. Pentru moment ea nu i poate permite s stabileasc o legtur
Internet i face un aranjament cu UCLA s-i permit ca pota electronic s-i fie trimis acolo.
Ea va suna de cteva ori pe zi i o va prelua.
Ulterior Cathy i nregistreaz compania n domeniul corn i i se atribuie domeniul
electrobrain.com. Atunci ea poate cere administratorului domeniului corn s adauge n baza de date
corn urmtoarea nregistrare MX:

electrobrain.com 86400 N MX 1mailserver.cs.ucla.edu

n acest fel, pota electronic va fi transmis la UCLA, de unde ea o poate prelua. Pe de alt
parte, UCLA poate s o sune i s transfere pota electronic prin orice protocol asupra cruia s-a
czut de acord.
nregistrrile NS specific numele serverului. De exemplu, fiecare baz de date DNS are n mod
normal o nregistrare NS pentru fiecare domeniu de pe primul nivel, astfel nct pota electronic
poate fi trimis n zone ndeprtate ale arborelui de nume. Vom reveni la acest aspect mai trziu.
nregistrrile CNAME permit crearea pseudonimelor. De exemplu, o persoan familiarizat cu
atribuirea numelor n Internet, care dorete s trimit un mesaj unei persoane al crei nume de
conectare la un sistem de calcul din departamentul de calculatoare de la M.I.T. este paul poate
presupune c adresapaul@cs.mit.edu este corect. De fapt aceast adres nu este corect, deoarece
domeniul departamentului de calculatoare de la M.I.T. este lcs.mit.edu. Totui, ca un serviciu pentru
cei care nu tiu acest lucru, M.I.T. poate crea o intrare CNAME, pentru a dirija persoanele i
programele n direcia corect. O astfel de intrare poate fi:

cs.mit.edu 86400 N CNAME lcs.mit.edu

Ca i CNAME, PTR indic spre un alt nume. Totui, spre deosebire de CNAME, care este
n realitate numai o macrodefiniie, PTR este un tip de date DNS a crui interpretare depinde
de contextul n care este utilizat. n practic este aproape ntotdeauna utilizat pentru asocierea
582 NIVELUL APLICAIE CAP. 7

unui nume cu o adres P, pentru a permite cutarea adresei P i obinerea numelui mainii
corespunztoare.
nregistrrile HNFO permit aflarea tipului de main i de sistem de operare crora le
corespunde domeniul. n sfrit, nregistrrile TXT permit domeniilor s se autoidentifice ntr-un
mod arbitrar. Aceste dou tipuri de nregistrri sunt pentru comoditatea utilizatorului. Nici una
dintre ele nu este necesar, astfel nct programele nu pot conta pe obinerea lor (i probabil c dac
Ie obin nu le pot trata).
Revenind la structura nregistrrilor de resurse, al patrulea cmp al fiecrei nregistrri este clasa.
Pentru informaia Internet, ea este ntotdeauna IN. Pentru informaia non-Intemet, pot fi utilizate
alte coduri.
n final ajungem la cmpul Valoare. Acest cmp poate fi un numr, un nume de domeniu
sau un ir ASCII. Semantica depinde de tipul de nregistrare. O scurt descriere a cmpurilor
Valoare pentru fiecare dintre principalele tipuri de nregistrri este dat n Fig. 7-26.
Ca exemplu de informaie ce se poate gsi n baza de date DNS a unui domeniu vezi Fig. 7-27.
Aceast figur prezint o parte (semi-ipotetic) a bazei de date pentru domeniu! cs.vu.nl prezentat
n Fig. 7-25. Baza de date conine apte tipuri de nregistrri de resurse.

;Baza de dae pentru cs.vu.n!


cs.vu. ni 86400 IN SOA star boss (952771, 7200, 7200, 2419200
cs.vu.n! 86400 N TXT Faculei Wiskunde en Informatica."
cs.vu.n! 86400 N TXT Vrije Universitei Amsterdam."
cs.vu.nl 86400 N MX 1 zephyr.cs.vu.nl
cs.vu.n! 86400 S M MX 2top.cs.vu.nl.

flis.cs.vu.ni 86400 N HIIMFO Sun Unix


fis.cs.vu.o 86400 N A 130.37.16.112
flits.cs.vu.nl 86400 N A 192.31.231.165
flits.cs.vu.nl 86400 N MX 1 flits.cs.vu.nl.
flis.cs.vu.ni 86400 N MX 2 zephyr.cs.vu.n!.
fiits.cs.vu.n! 86400 N MX 3top.cs.vu.nL
www.cs.vu.ni 86400 N CNAME star.cs.vu.nl
ftp.cs.vu.nl 86400 \H CNAME zephyr.cs.vu.nl.

rowboat N A 130.37.56.201
N MX 1 rowboat
N MX 2 zephyr
N HiNFO Sun Unix

rowboat N A 130.37.62.23
N HINFO Mac MacOS

faserje N A 192.31.231.216
N HiNFO HP Laserie IHSi" Proorietarv

Fig. 7-27. O parte dintr-o posibil baz de date DNS pentru cs.vu.nl.
SEC. 7.2 DNS - SISTEMUL NUMELOR DE DOMENII 583

Prima linie necomentat din Fig. 7-27 d cteva informaii de baz despre domeniu, de care nu ne
vom ocupa. Urmtoarele dou linii furnizeaz informaii textuale despre amplasarea domeniului.
Urmeaz dou intrri care specific primul i al doilea loc unde se ncearc s se livreze pota
electronic trimis pentrupersoana@cs.vu.nl. Mai nti se ncearc trimiterea la maina zephyr. Dac
aceasta eueaz, atunci trebuie s se ncerce la top.
Dup o linie liber, adugat numai pentru claritate, urmeaz linii care spun cflits este o staie
de lucru SUN care lucreaz sub UNIX i se specific ambele sale adrese IP. Urmeaz trei variante
de tratare a potei electronice trimise hflits.cs.vu.nl. Prima alegere este, n mod natural, chiar flits, iar
dac nu se reuete, se ncearc la zephyr i apoi la top. Urmeaz un pseudonim, www.cs.vu.nl, astfel
ca aceast adres s poat fi utilizat fr a specifica o anumit main. Crearea acestui pseudonim
permite ca cs.vu.nl s schimbe serverul www fr invalidarea adresei folosite n mod curent pentru
adresarea lui. Un argument similar este valabil pentru, ftp.cs.vu.nl.
Urmtoarele patru linii conin o nregistrare tipic pentru o staie de lucru, n acest caz
rowboat.cs.vu.nl. Informaia furnizeaz adresa IP, destinaia primar i secundar pentru pota
electronic i informaii despre main. Urmeaz o intrare pentru un sistem non-UNIX care
nu este capabil s primeasc pota el nsui, urmat de o intrare pentru o imprimant laser.
Ceea ce nu este artat (i nu exist n acest fiier) sunt adresele IP utilizate pentru a cuta
adresele domeniilor de pe primul nivel. Acestea sunt necesare pentru a cuta sistemele gazd aflate
la distan, dar, deoarece ele nu fac parte din domeniul cs.vu.nl, nu se gsesc n acest fiier. Ele sunt
furnizate de serverele rdcin ale cror adrese IP sunt prezentate n fiierul de configurare a
sistemului i sunt ncrcate n memoria ascuns DNS atunci cnd este pornit serverul DNS. Ele au
un timp de expirare foarte mare, astfel nct odat ncrcate, nu sunt eliminate niciodat din
memoria ascuns.

7.2.3 Servere de nume

Teoretic, un singur server de nume poate conine ntreaga baz de date DNS i poate s
rspund tuturor cererilor. n practic, acest server poate fi att de ncrcat, nct s devin de
neutilizat. n afar de aceasta, dac se defecteaz, va fi afectat ntregul Internet.
Pentru a evita problemele asociate cu existena unei singure surse de informaie, spaiul de nume
DNS este mprit n zone care nu se suprapun. O posibil cale de mprire a spaiului de nume din
Fig. 7-25 este artat n Fig. 7-28. Fiecare zon conine cte o parte a arborelui precum i numele
serverelor care pstreaz informaia autorizat despre acea zon. Normal o zon va avea un server
de nume primar, care preia informaia dintr-un fiier de pe discul propriu i unul sau mai multe
servere de nume secundare, care iau informaiile de pe serverul primar. Pentru a mbunti
fiabilitatea, unele servere pentru o zon pot fi plasate n afara zonei.
Plasarea limitelor unei zone este la latitudinea administratorului ei. Aceast decizie este luat n
mare parte bazndu-se pe cte servere de nume sunt dorite i unde s fie plasate. De exemplu, n
Fig. 7-28, Yale are un server pentru yale.edu care administreaz eng.yale.edu, dar nu i cs.yale.edu,
care este o zon separat cu propriile servere de nume. O astfel de decizie poate fi luat atunci cnd
un departament ca cel de englez nu dorete s aib propriul server de nume, n schimb
departamentul de calculatoare dorete. n consecin cs.yale.edu este o zon separat, n timp ce
zona eng.yale.edu nu este separat.
584 NIVELUL APLICAIE CAP. 7

Fig. 7-28. O parte din spaiul numelor DNS prezentnd mprirea n zone.

Atunci cnd un resolver are o cerere referitoare la un nume de domeniu, el transfer cererea
unuia din serverele locale de nume. Dac domeniul este sub jurisdicia serverului de nume, cum ar fi
ai.cs.yale.edu, care este sub cs.yale.edu, el rentoarce nregistrri de resurse autorizate. O nregistrare
autorizat (authoritative record) este cea care vine de la autoritatea care administreaz nregistrarea
i astfel este ntotdeauna corect. nregistrrile autorizate se deosebesc de nregistrrile din memoria
ascuns, care pot fi expirate.
Dac, totui, domeniul se afl la distan, iar local nu este disponibil nici o informaie despre
domeniul cerut, atunci serverul de nume trimite un mesaj de cerere la serverul de nume de pe
primul nivel al domeniului solicitat. Pentru a clarifica acest proces s considerm exemplul din Fig.
7-29. Aici resolverul de peflits.cs.vu.nl dorete s tie adresa IP a sistemului gazd linda.cs.yale.edu.
n pasul 1 trimite o cerere la serverul de nume local cs.vu.nl. Aceast cerere conine numele de
domeniu cutat, tipul (A) i clasa (N).

Server de nume Server de nume Server de nume Server de nume


Iniiator . VU CS Edu Yale . Yale CS
1
flits.cs.vu.nl cs.vu.nl edu-server.net yale.edu cs.yale.edu

Fig. 7-29. Modul n care un resolver caut un nume aflat la distan, n opt pai.

S presupunem c serverul local de nume nu a avut niciodat o cerere pentru acest domeniu i
nu tie nimic despre el. Poate solicita informaii de la cteva servere de nume din apropriere, dar
dac nici unul dintre ele nu tie, va trimite un pachet UDP la serverul pentru edu specificat n baza
de date (vezi Fig. 7-29), edu-seiver.net. Este puin probabil ca acest server s cunoasc adresa
linda.cs.yale.edu i probabil nu cunoate nici adresa cs.yale.edu, dar trebuie s cunoasc adresele fiilor
din subarbore, astfel c va transmite cererea la serverul de nume yale.edu (pas 3). Acesta va
transmite cererea mai departe ctre cs.yale.edu (pas 4), care trebuie s aib nregistrrile autorizate
SEC. 7.3 SNMP - PROTOCOL SIMPLU DE ADMINISTRARE A REELEI 585

de resurse. Deoarece fiecare cerere este de la client la server, nregistrarea de resurs cerut
parcurge paii 5 pn la 8.
Odat ce aceste nregistrri de resurse ajung napoi la serverul de nume cs.vu.nl, ele vor fi depuse
n memoria ascuns, pentru a fi folosite ulterior. Totui, aceast informaie nu este autorizat,
deoarece orice schimbare fcut la cs.yale.edu nu se va propaga spre toate serverele care au folosit-o.
Din acest motiv intrrile n memoria ascuns nu ar trebui s aib via prea lung. Acesta este
motivul pentru care cmpul Timp_de_yia este inclus n fiecare nregistrare de resurs. El
informeaz serverele de nume aflate la distan ct timp s menin nregistrrile n memoria
ascuns. Dac o anumit main are de ani de zile aceeai adres IP, aceast informaie ar putea fi
pstrat timp de o zi. Pentru infonnaii mai volatile este mai sigur ca nregistrrile s fie eliminate
dup cteva secunde sau un minut.
De menionat c metoda de interogare descris aici este cunoscut ca metoda de interogare
recursiv (recursive query), deoarece fiecare server care nu are informaia cerut o caut n alt
parte i raporteaz. Este posibil i o alt variant. In acest caz, atunci cnd o cerere nu poate fi
rezolvat local, cererea eueaz, dar este returnat numele urmtorului server de pe calea ce trebuie
ncercat. Aceast procedur d clientului mai mult control asupra procesului de cutare. Unele
servere nu implementeaz interogarea recursiv i ntorc ntotdeauna numele urmtorului server la
care s se ncerce.
De asemenea merit menionat faptul c atunci cnd un client DNS nu reuete s
primeasc un rspuns nainte de expirarea timpului de cutare, data viitoare va ncerca un alt
server. Se presupune c serverul este probabil nefuncional, nu c cererea sau rspunsul s-au
pierdut.

La nceputul dezvoltrii ARPANET-ului, dac ntrzierea la un anumit sistem gazd era


foarte mare, persoana care detecta problema executa programul Ping pentru a primi un pachet
de la destinaie. Analiznd amprentele de timp din antetul pachetului returnat, putea fi
stabilit localizarea problemei i se luau msuri pentru a fi rezolvat. n plus, numrul de
rutere era att mic, nct era posibil verificarea tuturor pentru a descoperi care dintre ele
avea probleme.
Cnd ARPANET a devenit internet, aceast reea internaional, cu multiple coloane vertebrale
i o mulime de operatori, soluia a ncetat s mai fie adecvat, aa c a fost nevoie de instrumente
mai bune de administrare a reelei. Dou prime ncercri au fost definite n RFC 1028 i RFC 1067,
dar viaa lor a fost scurt. n mai 1990 a fost publicat RFC 1157, definind versiunea 1 a SNMP-ului
(Simple Network Management Protocol - protocol simplu de administrare a reelei). mpreun cu
un document nsoitor (RFC 1155) despre informaiile de administrare, SNMP furniza o metod
sistematic de monitorizare i administrare a unei reele de calculatoare. Aceast structur i acest
protocol au fost implementate pe scar larg n cadrul aplicaiilor comerciale i au devenit standarde
"de facto" pentru administrarea reelelor.
Pe msur ce s-a ctigat experien, au ieit la iveal neajunsuri ale SNMP i astfel o versiune
mbuntit a SNMP-uiui (SNMPv2) a fost definit (n RFC-urile 1441-1452), devenind un alt
standard Internet. In seciunile care urmeaz, vom avea o scurt discuie despre modelul i
protocolul SNMP (mai exact SNMPv2).
586 NIVELUL APLICAIE CAP. 7

Dei SNMP-ul a fost creat n ideea de a fi simplu, cel puin un autor a reuit s scrie o carte de
600 de pagini despre el (Stellings, 1993a). Pentru o descriere mai compact (450-550 de pagini)
consultai crile lui Rose (1994) i Rose i McQoghrie (1995), ambii numrndu-se printre
proiectanii SNMP. Alte referine sunt Feit (1995) i Hein i Griffiths (1995).

7.3.1 Modelul SNMP

Modelul SNMP de administrare a reelei este format din 4 componente:

1. Noduri administrate.
2. Staii de administrare.
3. Informaii de administrare.
4. Un protocol de administrare.

Aceste componente sunt ilustrate n Fig. 7-30 i vor fi comentate n continuare.

Proces de
Staie de administrare
administrare Gazd Ruter

Imprimanta

protocoi SNMP

Pune

Fig. 7-30. Componentele modelului de administrare SNMP.

Nodurile administrate pot fi sisteme gazd, rutere, puni, imprimante sau alte dispozitive
capabile s comunice informaii de stare ctre lumea exterioar. Ca s poat fi administrat direct de
SNMP, un nod trebuie s poat executa un proces de administrare SNMP, numit agent SNMP.
Toate calculatoarele ndeplinesc aceast cerin, aa cum o fac i multe puni, rutere i dispozitive
periferice proiectate pentru utilizarea n reea. Fiecare agent i menine o baz de date local de
variabile, care descrie starea i istoria sa i care i influeneaz funcionarea.
Administrarea reelei se face de la staii de administrare (management stations), care sunt
de fapt calculatoare de uz general care execut programe speciale de administrare. Staiile de
administrare conin unul sau mai multe procese care comunic cu agenii prin reea, trimind
comenzi i primind rspunsuri. n aceast structur, toat inteligena se gsete n staiile de
administrare, n scopul de a menine agenii ct mai simpli posibil i de a minimiza impactul
lor asupra dispozitivelor pe care se execut. Multe staii de administrare au o interfa grafic
SEC. 7.3 SNMP - PROTOCOL SIMPLU DE ADMINISTRARE A REELEI 587

ce permite administratorului de reea s inspecteze starea reelei i s ia msuri atunci cnd


este necesar.
Cele mai multe dintre reele sunt eterogene, cu sisteme gazd de la unul sau mai muli
productori, puni i rutere de la alte companii i imprimante de la cu totul altele. Pentru a permite
unei staii de administrare (posibil i ea furnizat de un alt productor) s comunice cu toate aceste
componente diferite, natura informaiei pstrate de toate dispozitivele trebuie s fie bine specificat.
Nu are nici un rost ca staia de administrare s ntrebe un ruter care este rata de pachete pierdute
dac rutenii nu ine evidena acesteia. De aceea, SNMP descrie (ngrozitor de detaliat) informaia
exact pe care fiecare agent trebuie s o pstreze i formatul n care trebuie furnizat. Cea mai mare
parte a modelului SNMP o reprezint definirea celor care trebuie s pstreze anumite informaii
precum i modul n care sunt comunicate aceste informaii.
Foarte pe scurt, fiecare dispozitiv actualizeaz una sau mai multe variabile care descriu
starea sa. n literatura SNMP aceste variabile se numesc obiecte, dar termenul este oarecum
neltor, cci nu este vorba de obiecte n sensul sistemelor orientate pe obiecte, deoarece
acestea au numai stri, nu i metode (altele dect citirea i scrierea valorilor). Cu toate acestea
termenul este att de nrdcinat (de exemplu, este folosit n diferite cuvinte rezervate din
cadrul limbajului de specificare utilizat), nct l vom folosi i noi n continuare. Colecia
tuturor posibilelor obiecte dintr-o reea este dat ntr-o structur de date numit MIB
(Management Information Base - baz de informaii de administrare).
Staiile de administrare interacioneaz cu agenii folosind protocolul SNMP. Acest
protocol permite staiei de administrare s ntrebe un agent despre starea obiectelor locale i
s le modifice dac este necesar. Cea mai mare parte din SNMP este reprezentat de acest tip
de comunicaie ntrebare-rspuns.
Totui, uneori au loc evenimente neateptate. Nodurile administrate pot s se blocheze sau
s se reseteze, liniile de comunicaie pot cdea pentru a reveni apoi la starea de funcionare,
pot aprea congestii .a.m.d. Fiecare eveniment important este definit ntr-un modul MIB.
Atunci cnd un agent observ c s-a produs un eveniment important, raporteaz imediat
evenimentul ctre toate staiile de administrare din lista sa de configuraie. Acest raport se
numete (din motive istorice) capcan (trap) SNMP. Raportul afirm' doar c s-a ntmplat un
anumit eveniment. Este de datoria staiei de administrare s lanseze ntrebri pentru a afla
detaliile neplcute. Deoarece comunicaia de la nodurile dirijate ctre staia de administrare
nu este sigur (adic nu este confirmat), este bine ca staia de administrare s interogheze din
cnd n cnd fiecare nod administrat pentru a verifica dac nu cumva au aprut evenimente
neobinuite. Modelul de interogare la intervale mari, cu accelerare Ia recepia unei capcane se
numete interogare direct a capcanelor (trap directed polling).
Acest model presupune c fiecare nod administrat este capabil s ruleze intern un agent
SNMP. Este posibil ca dispozitivele mai vechi sau care nu au fost proiectate pentru utilizarea
n reea s nu aib aceast capacitate. Pentru a le putea folosi i pe acestea, SNMP definete
ceea ce numim un agent intermediar (proxy agent), adic un agent care vegheaz asupra unuia
sau mai multor dispozitive non SNMP i comunic n locul lor cu staia de administrare i,
eventual, chiar cu dispozitivele respective, prin intermediul unor protocoale nestandard.
Securitatea i autentificarea joac un rol important n cadrul SNMP-ului. O staie de
administrare are capacitatea de a afla foarte multe despre fiecare dintre nodurile pe care le
controleaz i, de asemenea, are posibilitatea de a le opri pe toate. De aceea este foarte important ca
588 NIVELUL APLICAIE CAP. 7

agenii s fie siguri c cererile presupunndu-se a fi de la staia de administrare provin ntr-adevr de


la ea. n SNMPvl, staia de administrare se identific prin intermediul unei parole (text normal)
aflat n fiecare mesaj. n SNMPv2 securitatea s-a mbuntit considerabil prin folosirea unor
tehnici criptografice moderne de tipul celor deja studiate. Aceast modificare a mai ngreunat acest
protoco, care era deja ncrcat, i a fost eliminat ulterior.

73.2 ASN.l - Notaia sintactic abstract 1

Nucleul modelului SNMP este mulimea de obiecte administrate de ctre ageni i citite i
scrise- de ctre staia de administrare. Pentru a face posibil comunicaia ntre produse de
producie diferit este esenial ca aceste obiecte s fie definite ntr-un rnod standard,
independent de productor. Mai mult, este necesar o metod standard de codificare a
acestora pentru transferul n cadrul reelei. Definiiile din C ar satisface prima cerin, dar
acestea nu definesc o codificare a bitului pe fir, astfel nct o staie de administrare folosind
codificarea Hule endian (cel mai puin semnificativ primul) pe 32 de bii n complement fa de
doi, s poat schimba informaie neambiguu cu un agent care folosete codificarea big endian
(cel mai semnificativ primul) pe 16 bii, n complement fa de unu.
Din aceast cauz este necesar un limbaj standard de definire a obiectelor, mpreun cu
reguli de codificare. Cel folosit de SNMP este preluat de ia OSI i se numete ASN.l (Abstract
Synfax Notation One - notaia sintactic abstract unu). La fel ca OSI, este mare, complex i
nu prea eficient. (Autorul este tentat s spun c numindu-1 ASN.l n loc de ASN, proiectanii
au admis n mod implicit c va fi nlocuit n curnd de ASN.2, dar se abine, politicos, s o
fac). Asa-zisa putere a ASN.l (existenta regulilor de codificare neambigue) este de fapt o
slbiciune a sa, deoarece regulile de codificare sunt optimizate astfel, nct s minimizeze
numrul de bii transmii cu preul unei ocupri mai mari a unitii centrale la ambele capete
ale transmisiei: codificare, decodificare. O schem mai simpl, folosind ntregi pe 32 bii
aliniai la frontiere de 4 octei, ar fi fost probabil mai bun. Totui, bun sau ru, SNMP este
mbibat de ASN.l, deci cine vrea s neleag SNMP-ui trebuie s se familiarizeze cu ASN.l.
De aici urmeaz explicaiile.
S ncepem cu limbajul de descriere a datelor prezentat n Standardul Internaional 8825.
Sintaxa abstract ASN.l este, n esen, un limbaj de declarare a datelor primitive. El i permite
utilizatorului s i defineasc obiecte primitive i apoi s le combine n cadrul unora mai complexe.
O serie de declaraii din ASN.l sunt asemntoare din punct de vedere funcional cu declaraiile pe
care le ntlnim n cadrul fiierelor antet (header) asociate multor programe C.

Tipuri primitive Semnificaie Cod


1NTEGER intreg de lungime arbitrar
CNJ

BITSTRING Sir de 0 sau mai muli bii 3


OCTET STRING Sir de 0 sau mai muli bii fr semn 4
NULL Rezervat K

OBJECTIDENTIFIER Un tip de date definit oficia! 6

Fig. 7-31= Tipurile de date primitive din ASN.l permise n SNMP.


SEC. 7.3 SNMP - PROTOCOL SIMPLU DE ADMINISTRARE A REELEI 589

SNMP are o serie de convenii sintactice pe care le vom urmri. Acestea nu sunt totui n
totalitate cele folosite de ASN.l. Tipurile de date predefinite sunt scrise cu majuscule (de exemplu
INTEGER). Tipurile definite de utilizator ncep cu majuscul, dar trebuie s conin cel puin un
caracter diferit de majuscul. Identificatorii pot conine litere mici i mari, cifre, liniu, dar trebuie
s nceap cu o liter mic (de exemplu counter). Caracterele de spaiere (tab, caniage return etc.)
nu sunt semnificative. Comentariile ncep cu -- i continu pn la urmtoarea apariie-a secvenei -.
Tipurile de baz ASN.l permise n SNMP sunt prezentate n Fig. 7-31. (n general vom ignora
caracteristici ale ASN.l, cum ar fi tipurile BOOLEAN i REAL, care nu sunt permise n SNMP).
Utilizarea codurilor va fi descris mai trziu.
O variabil de tipul INTEGER poate, din punct de vedere teoretic, s ia orice valoare
ntreag, dar alte reguli SNMP limiteaz intervalul. Pentru a exemplifica folosirea tipurilor, s
vedem cum este declarat i (opional) iniializat cu 100 variabila count de tip INTEGER n
ASN.l:

count INTEGER ::=100

Deseori este necesar un subtip ale crui variabile sunt limitate la o anumit valoare sau la un
interval. Acestea pot fi declarate dup cum urmeaz:

Status ::= INTEGER{up(1), down(2), unknown(3)}


PackeSize ::= INTEGER(O..1O23)

joint-iso-ccitt (2)

standard (0) registration- member- identified-


authority (1) body (2) organization (3)

dod (6)

directoryO) mgmt (2) experimenta! (3) private (4) security(5) snmpv2 (6)

mib-2(1)

system (1) interface (2) ip (4) icmp (5) tcp (6) udp (7) egp (8) transmission (10)sampIe (11)

Fig. 7-32. O parte a arborelui de nume de obiecte ASN.l.


590 NIVELUL APLICATE CAP. 7

Variabilele de tipul BIT STRING i OCTET' STRING conin zero sau mai muli bii i, respectiv,
octei. Un bit este 0 sau 1. Un octet este cuprins ntre 0 i 255 inclusiv. Pentru ambele tipuri pot fi
specificate lungimea irului i o valoare iniial. Tipul OBJECT IDENTIFIER furnizeaz o metod
de identificare a obiectelor. n principiu, fiecare obiect definit n fiecare standard oficial poate fi
identificat n mod unic. Mecanismul folosit este de a defini un arbore de standardizri i de a plasa
fiecare obiect i fiecare standard ntr-un loc unic n arbore. Partea de arbore care conine SNMP
MIB este prezentat n Fig. 7-32.
Primul nivel din arbore conine toate organizaiile importante de standardizare din lume (n
viziunea ISO) i anume ISO i CCITT (acum ITU) precum i combinaia celor dou. Din nodul iso
sunt definite patru arce, din care unul este pentru identified-organization, ceea ce reprezint concesia
ISO c pot exista i alte organizaii implicate n standarde. Ministerului Aprrii al Statelor Unite
(DoD) i-a fost atribuit un loc n acest subarbore, iar ministerul a atribuit numrul 1 din ierarhia sa
Internetului. n ierarhia Internet, SNMP MIB are codul 1.
Fiecare arc din Fig. 7-32 are att o etichet ct i un numr, astfel nct nodurile pot fi
identificate prin intermediul unei liste de arce, folosind etichet (numr) sau numere. n consecin,
toate obiectele din SNMP MIB sunt identificate prin etichete de forma:

{iso identified-organization(3) dod(6) internetd) mgmt(2) mib-2(1)...}

sau, echivalent, {13 6121...}. De asemenea sunt permise i forme mixte. De exemplu, identificarea
anterioar poate fi scris i sub forma:

{internet(1)2 1 ...}

n acest mod, fiecare obiect al fiecrui standard poate fi reprezentat ca un OBJECT


IDENTIFIER.
ASN.l definete cinci ci de construire a noilor tipuri derivate din cele de baz. SEQUENCE
este o list ordonat de tipuri, similar unei structuri din C sau unei nregistrri din Pascal.
SEQUENCE OF este un vector uni-dimensional de un anumit tip. SET i SET OF sunt analoage
celor de mai sus, dar nu sunt ordonate. CHOICE creeaz o uniune iunion) dintr-o list de tipuri. Cei
doi constructori SET nu sunt folosii n nici un document SNMP.
O alt cale de a crea noi tipuri este de a redeclara tipuri vechi. Redeclararea unui tip este
oarecum similar cu definirea unor tipuri noi n C, de exemplu timej i sizej, amndou de tip long
dar care sunt folosite n contexte diferite. Redeclarrile sunt mprite n 4 categorii: universale, n
cadrul unei aplicaii, specifice contextului i private. Fiecare marcaj (tag) este format dintr-o etichet
i un ntreg identificnd marcajul. De exemplu:

Counter32 ::= [APPLICATION 1] INTEGER (0..4294967295)

G32 ::= [APPLICATION 2] INTEGER (0..4294967295)

definesc dou tipuri diferite n cadrul unei aplicaii, amndou fiind ntregi fr semn pe 32 bii, dar
fiind din punct de vedere conceptual diferite. Primul dintre ele ar putea, de exemplu, ca odat ajuns
la valoarea maxim s continue cu valoarea 0, n timp ce cel de-al doilea ar continua s ntoarc
valoarea maxim pn cnd va fi decrementat sau iniializat.
SEC. 7.3 SNMP-PROTOCOL SIMPLU DE ADMINISTRARE A REELEI 591

Un tip redeclarat poate avea cuvntul cheie IMPLICIT dup paranteza dreapt nchis atunci
cnd tipul a ceea ce urmeaz reiese din context (ceea ce de exemplu, nu este adevrat n cadrul unui
CHOICE). Procednd astfel permitem o mai eficient codificare a biilor, din moment ce marcajul
nu mai trebuie transmis. ntr-un tip care implic o alegere (CHOICE) ntre dou tipuri diferite,
trebuie transmis un marcaj care s spun receptorului ce tip este prezent.
ASN.l definete un mecanism complex de macrodefinire, care este folosit din pin n SNMP. O
macrodefiniie poate fi folosit ca un fel de prototip pentru a genera o mulime de tipuri i valori noi,
fiecare cu sintaxa proprie. Fiecare macrodefiniie definete cteva cuvinte cheie (eventual
opionale), care sunt folosite n apel pentru a identifica parametrii (adic parametrii
macrodefiniiilor sunt identificai prin cuvinte cheie, nu prin poziie). Detaliile despre cum
funcioneaz macrodefiniiile ASN.l nu fac obiectul acestei cri. Este suficient s spunem c o
macrodefiniie este apelat menionnd numele su, urmat de (o parte din) cuvintele cheie i
valorile lor pentru respectivul apel. Cteva exemple de macrodefiniii vor fi citate n cele ce urmeaz.

Sintaxa de transfer ASN.l

Sintaxa de transfer (transfer syntax) ASN.l definete modul n care valorile tipurilor ASN.l
sunt convertite neambieuu ntr-o secven de octei care vor fi transmii (si decodificai neambieuu
ia cellalt capt). Sintaxa de transfer folosit de ASN.l se numete BER (Basic Eacoding Riiles -
reguli de codificare de baz). ASN.l are sintaxe de transfer pe care SNMP nu le folosete. Regulile
sunt recursive, deci codificarea unui obiect structurat este concatenarea codificrilor componentelor
obiectului. Astfel toate obiectele pot fi reduse la o secven bine definit de obiecte primitive
codificate. La rndul su, codificarea acestor obiecte este definit de BER.
Principiul de baz aflat n spatele regulilor de codificare este c orice valoare transmis, fie c
este primitiv sau construit, este format din cel mult patru cmpuri:

1. Identificatorul (tip sau marcaj).


2. Lungimea cmpului.
3. Cmpul de date.
4. Indicatorul de sfrit, dac lungimea datelor este necunoscut.

Ultimul cmp este permis de ASN.l, dar interzis explicit de SNMP, deci vom presupune c
lungimea datelor este ntotdeauna cunoscut.
Primul cmp identific elementul care urmeaz. La rndul su are trei subcmpuri, ca n Fig. 7-
33. Primii doi bii identific tipul marcajului. Urmtorul bit arat dac valoarea este primitiv (0) sau
nu (1). Biii de identificare sunt 00,01,10 i 11 pentru UNIVERSAL, APPLICATION, specific
contextului i, respectiv, PRIVATE. Urmtorii cinci bii pot fi folosii pentru codificarea valorii
marcajului, dac aceasta este n intervalul 0..30. Dac marcajul este 31 sau mai mare, ultimii cinci bii
conin 11111, iar valoarea concret se gsete n urmtorul octet sau n urmtorii octei.
Regula folosit la codificarea marcajelor mai mari ca 30 a fost proiectat s funcioneze pentru
numere orict de mari. Fiecare octet identificator care urmeaz dup primul conine 7 bii de date.
Primul bit are valoarea 0 n toi octeii, cu excepia ultimului. Deci marcajele cu valori pn ia 27-l
pot fi reprezentate cu doi octei, iar cele pn ia 214-1, cu 3 octei.
592 NIVELUL APUCATE CAP. 7

Bii 2 1 5

Marcaj Numr

00 Universal 0 Tip primitiv


01 n cadrul aplicaiei 1 Tip construit
10 Specific contextului
11 Privat

Fig. 7-33. Primul octet din fiecare element trimis n sintaxa de transfer ASN.l.

Codificarea tipului UNIVERSAL este direct. Fiecrui tip primitiv i-a fost atribuit un cod,
prezentat n cea de-a treia coloan din Fig. 7-31. SEQUENCE i SEQUENCE OF au acelai cod, 16.
CHOICE nu are alocat un cod, din moment ce orice valoare trimis va avea un tip specific. Celelalte
coduri sunt pentru tipuri care nu sunt folosite n SNMP.
Dup cmpul identificator de 1 octet urmeaz un cmp care precizeaz ci octei ocup datele.
Lungimile mai mici de 128 octei sunt codificate direct ntr-un octet care are bitul cel mai din stnga
0. Pentru lungimi mai mari de 128 de octei se folosesc mai muli octei, dintre care primul conine 1
n bitul cel mai semnificativ i lungimea cmpului (pn la 127 de octei) H urmtorii 7 bii. De
exemplu, dac lungimea datelor este de 1000 octei, primul octet conine 130 pentru a arta c
urmeaz un cmp cu lungimea de doi octei. Apoi urmeaz doi octei ce conin valoarea 1000,
octetul cel mai semnificativ fiind primul.
Codificarea cmpului de date depinde de tipul de date existent. ntregii sunt codificai n
complement fa de doi. Un ntreg mai mic dect 128 necesit un octet, un ntreg mai mic dect
32768 necesit doi octei i aa mai departe. Cel mai semnificativ octet este transmis primul.
irurile de bii sunt codificate ca atare. Singura problem este cum s le indicm lungimea.
Cmpul lungime precizeaz ci octei are valoarea, nu ci bii. Soluia este ca naintea irului
de bii s se transmit un octet care s specifice ci bii (0 pn la 7) din octetul final nu sunt
utilizai. Astfel codificarea irului de 9 bii '010011111' va fi 07,4F,80 (hexazecimal).
irurile de octei se codific simplu. Octeii din ir sunt transmii ncepnd cu cel mai semnificativ
(big endian), de la stnga la dreapta.
Valoarea nuli este indicat punnd lungimea irului pe 0. Nu este transmis nici o valoare
numeric.
Un OBJECTIDENTIFIER este codificat prin secvena de ntregi pe care o reprezint. De
exemplu, Internet este {1,3, 6,1}. Totui, deoarece primul numr nu poate fi dect 0,1 sau 2,
iar al doilea este mai mic dect 40 (prin definiie ISO nu va recunoate categoria 41), primele
dou numere, a i b, sunt codificate printr-un octet cu valoarea 40a+b. Pentru Internet acest
numr este 43. Aa cum tim, numerele mai mari ca 127 sunt codificate pe mai muli octei,
primul avnd cel mai semnificativ bit setat 1 i numrul de octei n urmtorii 7 bii.
Ambele tipuri de secvene sunt transmise ncepnd cu tipul sau marcajul, apoi lungimea total a
codificrii, urmat de cmpuri. Cmpurile sunt transmise n ordine.
Codificarea unei valori CHOICE este aceeai cu codificarea structurii de date efectiv transmise.
SEC. 7.3 SNMP - PROTOCOL SIMPLU DE ADMINISTRARE A REELEI 593

Tip Numr
identificator identificator

Lungime Valoare
ntreg 49 00 0 00010 00000001 0 0 110 0 0 1

i r u l de b i i " 1 1 0 ! [ 0 o|o|O 0 0 1 1| | 00 0 00 0 1 Q| [ 0 0 0 0 0 1 0 1J [1 1 Q O O Q O Q j

Siru! de octei
00 0 00100 00000010 01111000 01111001
"xy"

00 0 00101 00000000

Obiect Internet 0 0 0 0 0 1 10 00000011 00101011 00000110 000000 01

Gauge32 1 4 01000010 00000001 0 0 0 0 1 1 10

FIg0 7-34. Codificarea ASN.l pentru cteva exemple de valori.

Un exemplu care prezint codificrile pentru anumite valori este prezentat n Fig. 7-34. valorile
lor?]

codificate sunt INTEGER 49, OCTET STRING 110', xz", singura valoare posibil pentru NULI,
OBIECT IDENTIFIER-ul pentru Internet {1,3,6,1} i valoarea 14 de tip Gauge32.

7.3.3 SMI - Structura informaiei de administrare

n seciunea precedent, am discutat numai despre acele pri ale ASN.l care sunt folosite i n
SNMP. n realitate documentele SNMP sunt organizate altfel. RFC 1442 spune mai nti c ASN.l
va fi folosit pentru a descrie structurile de date ale SNMP, apoi, n cadrul a 57 de pagini, enumera
prile din standardul ASN.l pe care nu le dorete i adaug noi definiii (n ASN.l) care sunt
necesare. In particular, RFC 1442 definete patru macrodefiniii importante i opt noi tipuri de dae
care sunt folosite intens n cadrul SNMP. Acesta este sub-super-setul ASN.l, care se numete SMI
(Stractare of Management Information - structura informaiei de administrare) i care este folosit
pentru definirea structurilor de date din SNMP.
Dei aceast abordare este oarecum birocratic, sunt necesare unele reguli pentru a face posibil
comunicarea ntre cele cteva sute de produse ale diferiilor productori. De aceea vom spune
cteva cuvinte i despre SMI.
La cel mai de jos nivel, variabilele SNMP sunt definite ca obiecte individuale. Obiectele
nrudite sunt reunite n grupuri, iar grupurile sunt asamblate n module. De exemplu, exist
grupuri pentru obiecte P i obiecte TCP. Un ruter poate suporta grupul IP, dac
administratorul su vrea s in evidena pachetelor pierdute. Pe de alt parte, un ruter ieftin
poate s nu suporte grupul TCP, din moment ce nu are nevoie s utilizeze TCP ca s realizeze
funciile de dirijare. Ideea este ca toi productorii care suport un grup s suporte toate
obiectele din grupul respectiv. Totui, un productor care suport un modul nu trebuie s
594 NIVELUL APUCATE CAP. 7

suporte toate grupurile acestuia, deoarece este posibil ca unele s nu fie aplicabile
echipamentului. ;
Toate modulele MIB ncep cu un apel al macrodefiniiei MODULE-IDENTTY.
Parametrii si furnizeaz numele i adresa celui care 1-a implementat, istoricul reviziilor i alte
informaii administrative. De obicei, acest apel este urmat de apelul macrodefiniiei OBJECT-
IDENTITIY, care precizeaz unde este amplasat modulul n cadrul arborelui din Fig. 7-32.
Urmeaz apoi unul sau mai multe apeluri ale macrodefiniiei OBJECT-TYPE, care indic
variabilele administrate i le specific proprietile. Gruparea variabilelor n grupuri este fcut prin
convenie; n ASN.l sauSMI nu exist instruciuniBEGIN-GROUP si END-GROUP.
Macrodefiniia OBJECT-TYPE are patru parametri obligatorii i patru parametri opionali.
Primul parametru obligatoriu este SYNTAX i definete tipul variabilei, dintre cele listate n Fig. 7-
35. n cea mai mare parte, aceste tipuri sunt autoexplicate, cu comentariile urmtoare. Sufixul 32
este folosit atunci cnd se dorete un numr pe 32 de bii, chiar dac toate mainile considerate au
uniti centrale pe 64 de bii. Tipurile Gauges difer de counter prin aceea c, atunci cnd i ating
limita superioar, nu revin la valoarea minim, ci rmn nemodificate. Dac un ruter a pierdut exact
2 32 pachete, este mult mai bine ca el s raporteze 232-l dect 0. SMI suport i vectori, dar nu vom
discuta despre acest subiect. Pentru detalii consultai (Rose,1994)

Nume Tip Octei Semnificaie


INTEGER Numeric 4 ntreg (pe 32 de bii n implementrile obinuite)
Counter32 Numeric 4 Contor fr semn pe 32 de bii circular
Gauge32 Numeric 4 ntreg fr semn pe 32 de bii, cu limitare
Uinteger32 Numeric 4 ntreg pe 32 de bii chiar pe maini pe 64 de bii
Integer32 Numeric 4 ntreg ca i Jnteger32, dar fr semn
Counter64 Numeric 8 Contor pe 64 de bii
TimeTicks Numeric 4 Sutimi de secund de la un anumit moment
BIT STRING String 4 De la 1 la 32 de bii
OCTET STRING String >0 ir de octei de lungime variabil
Opaque String >0 nvechit; doar pentru compatibilitate
OBJECT String >0 0 list de ntregi din Fig. 7-32
IDENTIFIER
IpAddress String 4 Adres de Internet n notaia zecimal cu puncte
NsapAddress String <22 Adres OSI NSAP

Fig 7-35. Tipuri de date utilizate pentru variabilele monitorizate de SNMP.

n afar de specificarea tipului de date folosit de variabila declarat, macrodefiniia OBJECT


TYPE solicit nc trei parametri. MAX-ACCESS conine informaii despre accesul la variabil. Cele
mai obinuite valori sunt citire-scriere (read-write) i doar-citire (read-only). Dac o variabil are
acces citire-scriere, atunci staia de administrare o poate modifica. Dac accesul este doar-citire
atunci staia o poate citi, dar nu o poate modifica.
STATUS poate avea trei valori. O variabil current (actual) respect specificarea SNMP
curent. O variabil obsolete (nvechit) nu este n conformitate cu versiunea curent, ci cu una mai
veche. O variabil deprecated (depit) are un statut ntre primele dou. Este de fapt nvechit, dar
comitetul care a scris standardul nu a ndrznit s spun acest lucru de frica reaciei din partea
productorilor ale cror produse o folosesc.
SEC. 7.3 SNMP - PROTOCOL SIMPLU DE ADMINISTRARE A REELEI 595

Ultimul parametru obligatoriu este DESCRIPTION, care este un ir ASCII ce descrie rolul
variabilei. Dac un administrator cumpr un echipament nou i sclipitor, l interogheaz de la staia
de administrare i afl c acesta ine evidena pktCnt7, cmpul DESCRIPTION ar trebui s-i dea o
indicaie despre tipul pachetelor numrate. Acest cmp este destinat numai factorului uman
(nicidecum calculatorului).

lostPacketsOBJECTTYPE
SYNTAX Counter32 - folosete un contor pe 32 de bii
MAX-ACCESS read-on!y - staia de administrare nu o poate modifica
STATUS current -- variabila nu este de nvechit (nc)
DESCRIPTION
Numrul de pachete pierdute de la ultima pornire"
::= {experimental 20}

Fig. 7-36. Un exemplu de variabil SNMP.

Un exemplu simplu de declaraie OBIECT TYPE este dat n Fig. 7-36. Variabila se numete
iosiPackets i poate fi folosit de ctre un rater sau orice alt echipament care administreaz pachete.
Valoarea de dup semnul ::= o plaseaz n arbore.

7.3=4 MDB - Baza de informaii de administrare

Colecia de obiecte administrate de SNMP este definit n MIB. Pentru uurin, aceste obiecte
sunt grupate (n mod obinuit) n zece categorii, care corespund celor zece noduri de sub mib-2 din
Fig. 7-32. (Not: mib-2 corespunde lui SNMPv2 i obiectul 9 nu mai apare). Cele zece categorii au
menirea s ofere baza pentru ceea ce ar trebui s neleag o staie de administrare. Cu certitudine
n viitor vor fi adugate noi categorii i obiecte, iar productorii sunt liberi s defineasc obiecte n
plus pentru produsele lor. Cele zece categorii sunt prezentate n Fig. 7-37.

Grup Numr Descriere


obiecte
Sistem 7 Numele, amplasarea i descrierea echipamentului
Interfee 23 Interfee de reea si traficul lor
AT 3 Traducerea adresei (depit)
IP 42 Statistici pentru pachetele IP
ICMP 26 Statistici despre mesajele ICMP primite
TCP 19 Algoritmi, parametri i statistici TCP
UDP 6 Statistici de trafic UDP
EGP 20 Statistici de trafic pentru protocoale de poart exterioar
Transmisie 0 Rezervat pentru MIB-uri specifice mediului de transmisie
SNMP 29 Statistici de trafic SNMP

Fig. 7-37. Grupul de obiecte MB- pentru Internet.

1
pachet Cowt - numr de pachete (n.t.)
596 NIVELUL APLICAIE CAP. 7

Dei limitrile de spaiu nu ne permit s intrm n detaliile tuturor celor 175 de obiecte definite
n MIB II, cteva comentarii sunt totui utile. Grupul sistem permite administratorului s afle
denumirea echipamentului, cine 1-a produs, ce hardware i software conine, unde se afl i ce ar
trebui s fac. De asemenea, sunt furnizate timpul ultimei porniri i numele i adresa persoanei de
contact. Aceast informaie permite ca o companie s se poat angaja s administreze sistemul unei
alte companii, care se afl ntr-un alt ora i i permite celei din urm s afle ce configuraie are
sistemul i cu cine poate lua legtura n cazul n care apar probleme cu diferite echipamente.
Grupul interfee se ocup de adaptoarele de reea. Memoreaz numrul de pachete i de
bii trimii i primii de pe reea, numrul de pachete respinse, numrul de transmisii i
dimensiunea cozii de ieire.
Grupul AT a fost prezent i n MIB-I i furniza informaii despre corespondena dintre
adrese (de exemplu de la Ethernet la IP). n SNMPv2 aceast informaie a fost mutat n
MIB-uri specifice protocoalelor.
Grupul IP se ocup de traficul IP din i spre nod. Este bogat n contoare care memoreaz
numrul de pachete respinse pentru o diversitate de motive (de exemplu traseu ctre destinaie
necunoscut sau penurie de resurse). De asemenea sunt disponibile statistici despre fragmentarea i
reasamblarea datagramelor. Toate aceste elemente sunt deosebit de importante pentru
administrarea ruterelor.
Grupul ICMP se refer la mesajele de eroare IP. De fapt, are un contor pentru fiecare mesaj
ICMP, contor care nregistreaz cte mesaje de acel tip au fost ntlnite.
Grupul TCP monitorizeaz numrul curent i cumulat de conexiuni deschise, segmente trimise i
primite, precum i diferite statistici referitoare la erori.
Grupul UDP ine evidena numrului de datagrame UDP trimise i primite i cte din ultima
categorie nu au fost livrate datorit unui port necunoscut sau din alt motiv.
Grupul EGP este folosit de ruterele care suport protocolul de poart exterioar. ine evidena
numrului de pachete de un anumit tip care au plecat, au venit i au fost corect retransmise sau au
venit i au fost eliminate.
Grupul transmisie este rezervat pentru MIB-uri specifice mediului de transmisie. De exemplu,
statisticile specifice Ethernet pot fi pstrate aici. Scopul includerii unui grup vid n cadrul MIB-II
este acela de a rezerva identificatorul {Internet 219} pentru astfel de scopuri.
Ultimul grup este cel care colecteaz statisticile despre funcionarea SNMP-ului: cte mesaje au
fost transmise, de ce tip sunt acestea .a.m.d.
MIB-II este definit formai n cadrul RFC 1213. RFC 1213 const din 175 de apeluri de
macrodefiniii similare celor din Fig. 7-36, cu comentarii care delimiteaz cele zece grupuri. Pentru
fiecare dintre cele 175 de obiecte definite este furnizat tipul de date mpreun cu un text n limba
englez care descrie la ce este folosit variabila. Pentru informaii mai detaliate asupra MIB-II,
cititorul este rugat s consulte acest RFC.

7.3.5 Protocolul SNMP

Am vzut pn acum c modelul pe care se sprijin SNMP-ul este o staie de administrare care
trimite cereri ctre agenii din nodurile administrate, interesndu-se de cele 175 de variabile, despre
care tocmai am discutat, i multe alte variabile specifice echipamentelor. Ultimul punct pe care l
SEC. 7.4 POSTA ELECTRONICA 597

vom discuta este protocolul pe care l folosesc staia de administrare i agenii pentru a comunica.
Protocolul este definit n RFC 1448.

Mesaj Descriere
Get-request Solicit valoarea uneia sau a mai multor variabile
Get-next-request Solicit variabila care urmeaz dup aceasta
Get-bulk-request Aduce o tabel mare
Set-reques Actualizeaz una sau mai multe variabile
Inform-reques Mesaj de la administrator la administrator descriind MIB-ul local
SNMPv2-trap Raport agent-ctre-administrator referitor la capcan

Fig. 7-38. Tipurile de mesaje SNMP.

Modul normal n care este folosit SNMP-ul este acela n care staia de administrare trimite ctre
un agent o cerere prin care solicit informaii sau i comand s-i actualizeze starea ntr-un anumit
mod. n mod ideal, agentul ntoarce informaia cerut sau confirm actualizarea strii. Datele sunt
trimise folosind sintaxa de transfer ASN.l. Totui, pot fi raportate i diferite erori, cum ar fi nu
exist o asemenea variabila" (No Such Variable).
SNMP definete apte mesaje care pot fi trimise. Cele ase mesaje provenite de la un iniiator
sunt listate n Fig. 7-38 (cel de-al aptelea mesaj este mesajul rspuns). Primele trei solicit s fie
trimise valori de variabile. Prima form numete explicit variabilele pe care le dorete. Cea de-a
doua cere urmtoarea variabil, permindu-i administratorului s parcurg MIB-ul n ordine
alfabetic (implicit este vorba de prima variabil). Cea de-a treia form este pentru transferuri mari,
ca de exemplu tabele.
Urmeaz un mesaj care permite administratorului s actualizeze variabilele unui agent,
bineneles n msura n care specificaia obiectului permite acest lucru. Urmtoarea este o cerere de
informaie care i permite unui administrator s i comunice altuia ce variabile administreaz.
Ultimul este mesajul trimis de ctre un agent unui administrator, atunci cnd apare o capcan.

7.4 POTA ELECTRONIC

O dat ce am terminat trecerea n revist a ctorva dintre protocoalele suport utilizate la nivelul
aplicaie, ajungem n sfrit la aplicaiile reale. Cnd sunt ntrebai: Ce vrei s facei acum?,,, puini
oameni rspund: S m uit pe nite nume utiliznd DNS-ul. Ei spun ns c i citesc pota sau
tirile, c se plimb pe Web, sau c privesc un film pe reea. In restul acestui capitol, vom explica
suficient de amnunit cum lucreaz aceste patru aplicaii.
Pota electronic, sau e-mail, cum este ea cunoscut de ctre numeroii si admiratori, exist de
peste dou decenii. Primul sistem de pot electronic consta pur i simplu din protocoale de
transfer de fiiere, cu convenia ca prima linie a fiecrui mesaj (adic fiier) s conin adresa
receptorului. Cu timpul, limitrile acestei abordri au devenit din ce n ce mai evidente. O parte
dintre neajunsuri erau:

1. Trimiterea unui mesaj ctre un grup de persoane era complicat. Managerii utilizeaz
adesea aceast facilitate pentru a trimite note i rapoarte tuturor subordonailor.
NIVELUL APLICAIE CAP. 7

2. Mesajele nu aveau structur intern, fcnd astfel dificil prelucrarea lor cu ajutorul
calculatorului. De exemplu, dac un mesaj trimis mai departe cu forward era inclus n
corpul altui mesaj, extragerea prii incluse din mesajul primit era dificil.
3. Iniiatorul (transmitorul) nu tia niciodat dac mesajul a ajuns sau nu.
4. Dac cineva avea n plan s plece n cltorie de afaceri pentru mai multe sptmni i
dorea ca toat pota primit n acest timp s fie preluat de ctre secretar, acest luau nu
era uor de realizat.
5. Interfaa utilizator era slab integrat cu sistemul de transmisie, cernd utilizatorilor ca
nti s editeze un fiier, apoi s prseasc editorul i s apeleze programul de transfer
de fiiere.
6. Nu era posibil transmiterea de mesaje care s conin o combinaie de text, desene, facsimil
si voce.

% msur ce s-a ctigat experien, au fost propuse sisteme de pot electronic mai
complicate, n 1982 au fost publicate propunerile cu privire la e-mail ale ARPANET, sub numele de
RFC821 (protocolul de transmisie) i RFC822 (formatul mesajelor). n prezent acestea au devenit
standardele de faco ale Internetului. Doi ani mai trziu, CQTT a emis recomandarea X.400, care a
fost preluat ulterior ca baz pentru MOTIS de ctre OSI. n 1988, CCI1T a modificat
recomandarea X.400 pentru a o alinia la MOTIS. MOTIS urma s fie aplicaia principal, nava
amiral" pentru OSI, un sistem care urma s fie de toate pentru toi.
Dup un deceniu de. competiie, sistemele de pot electronic bazate pe RFC822 sunt larg
rspndite, n timp ce acelea bazate pe X.400 au disprut dincolo de linia orizontului. Modu! n care
un sistem ncropit de o mn de absolveni de tiina calculatoarelor a btut un standard
internaional oficial, puternic susinut de ctre toate PTT-urile din lumea ntreag, de multe guverne
i de o parte substanial a industriei calculatoarelor, ne aduce n minte povestea biblic a lui David
i Goliat. Motivul succesului lui RFC822 nu este dat de faptul c ar fi att de bun, ci c X.400 este
att de slab proiectat i att de complex, nct nimeni nu l-ar putea implementa bine. Avnd de ales
ntre un sistem nesofisticat, dar care funcioneaz, cum este cel bazat pe RFC822 i sistemul de e-
mail_X.400} presupus cu adevrat minunat, dar nefuncional, majoritatea organizaiilor l-au ales pe
primul. Pentru o diatrib ampl la adresa sistemului de e-mail bazat pe X.400 a se vedea anexa C din
(Rose, 1993). Prin urmare, discuia noastr cu privire la pota electronic se va focaliza asupra
RFC821 i RFC822, aa cum sunt folosite n Intemet.

7.4.1 Arhitectur i servicii

n aceast seciune vom furniza o prezentare de ansamblu a ceea ce pot face sistemele de pot
electronic i cum sunt ele organizate. Aceste sisteme constau de obicei din dou subsisteme:
geni-utilizator, care permit utilizatorilor s citeasc i s trimit scrisori prin pota electronic i
ageaii de transfer de mesaje, care transport mesajele de la surs la destinaie. Agenii-utilizator
sunt programe locale, care furnizeaz o metod de a interactiona cu sistemul de e-mail bazat pe
comenzi, meniuri sau grafic. Agenii de transfer de mesaje sunt, n mod tipic, demoni de sistem,
care se execut n fundal i transfer mesajele prin sistem.
In general, sistemele de pot electronic pun la dispoziie cinci funcii de baz, descrise mai jos.
SEC. 7.4 POTA ELECTRONIC 599

Compunerea - se refer la procesul de creare a mesajelor i a rspunsurilor. Dei pentru corpul


mesajului poate fi folosit orice editor de texte, sistemul nsui poate acorda asisten la adresare i la
completarea numeroaselor cmpuri antet ataate fiecrui mesaj. De exemplu, cnd se rspunde la
un mesaj, sistemul poate extrage adresa iniiatorului din mesajul primit i o poate insera automat n
locul potrivit din cadrul rspunsului.
Transferul - se refer la deplasarea mesajului de la autor la receptor. n mare, aceasta necesit
stabilirea unei conexiuni la destinaie, sau la o main intermediar, emiterea mesajului i eliberarea
conexiunii. Sistemul de pot ar trebui s fac acest lucru singur, fr a deranja utilizatorul.
Raportarea - se refer la informarea iniiatorului despre ce s-a ntmplat cu mesajul. A fost
livrat? A fost respins? A fost pierdut? Exist numeroase aplicaii n care confirmarea livrrii
este important i poate avea chiar semnificaie juridic. (tii, domnule judector, sistemul
meu de pot electronic nu e foarte de ncredere, aa c presupun c citaia electronic s-a
pierdut pe undeva.")
Afiarea mesajelor primite este necesar pentru ca utilizatorii s-i poat citi pota. Uneori sunt
necesare conversii sau trebuie apelat un program de vizualizare special; de exemplu, dac mesajul
este un fiier PostScript, sau voce digitizat. Se mai ncearc uneori i conversii simple i formatri.
Dispoziia este pasul final i se refer la ceea ce face receptorul cu mesajul, dup ce 1-a primit.
Posibilitile includ eliminarea sa nainte de a-1 citi, aruncarea sa dup citire, salvarea sa .a.m.d. Ar
trebui de asemenea s fie posibil regsirea i recitirea de mesaje deja salvate, trimiterea lor mai
departe, sau procesarea lor n alte moduri.
In plus fa de aceste servicii de baz, majoritatea sistemelor de e-mail dispun de o gam
variat de trsturi avansate. S menionm pe scurt cteva dintre ele. Cnd utilizatorii se
deplaseaz sau cnd sunt plecai pentru o perioad de timp, pot dori ca pota lor s fie trimis
acolo unde se gsesc, aa c sistemul ar trebui s fie capabil s fac acest lucru automat.
Majoritatea sistemelor permit utilizatorilor s-i creeze cutii potale (mailboxes) pentru a pstra
mesajele sosite. Sunt necesare comenzi de creare i distrugere a cutiilor potale, de inspectare a
coninutului acestora, de inserare i de tergere de mesaje din cutii potale .a.m.d.
Managerii de companii au adesea nevoie s trimit un acelai mesaj fiecrui subordonat, client
sau furnizor. Acest lucru d natere ideii de list de pot (mailing list), care este o list de adrese de
pot electronic. Cnd un mesaj este trimis la lista de pot, copii identice ale sale sunt expediate
fiecruia dintre cei de pe list.
O alt idee important este cea de nregistrare a mesajelor, pentru a permite iniiatorului
s tie dac mesajul su a ajuns. Alternativ, se poate dori notificarea automat a mesajelor
care nu pot fi livrate. n orice caz, iniiatorul ar trebui s aib un oarecare control asupra
raportrii a ceea ce s-a ntmplat.
Alte caracteristici evoluate sunt copii la indigo, pot de prioritate mare, pot secret (criptat),
receptori alternativi, dac cel primar nu este disponibil, i posibilitatea de a permite secretarelor s
se ocupe de pota primit de efii lor.
Pota electronic este n prezent folosit pe scar larg n industrie, pentru comunicaie n
cadrul companiilor. Aceasta permite unor angajai, rspndii la distane mari unii de ceilali,
chiar i peste mai multe fusuri orare, s coopereze la proiecte complexe. Eliminnd
majoritatea indiciilor cu privire la funcie, vrst i gen, dezbaterile prin pota electronic tind
s se concentreze asupra ideilor i nu a statutului din cadrul organizaiei. Prin pota
electronic, o idee sclipitoare a unui student la cursurile de var poate avea un impact mai
600 NIVELUL APLICAIE . CAP. 7

mare dect una stupid, venit de la un vicepreedinte executiv. Unele companii au estimat c
pota electronic le-a mbuntit productivitatea cu pn la 30% (Perry and Adam, 1992).
O idee cheie n toate sistemele moderne de e-mail este distincia dintre plic i coninutul su.
Plicul ncapsuleaz mesajul. Conine toat informaia necesar pentru transportul mesajului, cum ar
fi destinaia, adresa, prioritatea, nivelul de securitate, toate acestea fiind distincte de mesajul n sine.
Agenii de transfer de mesaje folosesc plicul pentru rutare (dirijare), aa cum face i oficiul potal.
Mesajul din interiorul plicului conine dou pri: antetul i corpul. Antetul conine informaie
de control pentru agenii utilizator. Corpul mesajului se adreseaz n ntregime utilizatorului uman.
Plicurile i mesajele sunt ilustrate n Fig. 7-39.

7.4.2 Agentul utilizator

Sistemele de pot electronic au, aa cum am vzut, dou pri eseniale: agenii-utilizator
i agenii de transfer de mesaje. n aceast seciune ne vom uita la agenii utilizator. Un agent
utilizator este de obicei un program (uneori numit cititor de pot) care accept o varietate de
comenzi pentru compunerea, primirea i rspunsul la mesaje, ct i pentru manipularea
cutiilor potale. Unii ageni-utilizator au o interfa sofisticat, dirijat prin meniuri sau
icoane, care necesit un maus, n timp ce altele accept comenzi de cte un caracter, date de la
tastatur. Funcional ns, toi acetia sunt identici.

Trimiterea potei electronice


Pentru a trimite un mesaj prin pota electronic, un utilizator trebuie s furnizeze mesajul,
adresa - destinaie, i eventual ali civa parametri (de exemplu, prioritatea sau nivelul de
securitate). Mesajul poate fi produs cu un editor de texte de sine-stttor, cu un program de
procesare de text sau, eventual, cu un editor de texte construit n interiorul agentului utilizator.
Adresa de destinaie trebuie s fie ntr-un format cu care agentul utilizator s poat lucra. Muli
ageni-utilizator solicit adrese de forma cutie_potal@locaie. Deoarece aceste lucruri au fost
studiate anterior n acest capitol, nu vom relua materialul respectiv aici.
Oricum, merit notat c exist i alte forme de adresare. n particular, adresele X.400 arat
radical diferit de cele DNS. Ele sunt compuse din perechi de forma anbut-valoare. De exemplu:

/C=US/SP=MASSACHUSETTS/L=CAMBRIDGE/PA=360 MEMORIAL DR./CN=KEN SMITH/

Aceast adres specific o ar, un stat, o localitate, o adres personal i un nume obinuit (Tom
Smith). Sunt posibile multe alte atribute, astfel nct poi trimite mesaje cuiva al crui nume nu-1 tii,
atta timp ct tii suficiente alte atribute (de exemplu, compania i funcia). Muli consider aceast
form de adresare considerabil mai puin convenabil dect numele DNS.
Pentru a fi neprtinitori, trebuie totui s menionm c proiectanii lui X.400 au presupus c
utilizatorii vor folosi pseudonime (aliases - iruri scurte de caractere asignate de utilizator) pentru a
identifica receptorii, astfel nct utilizatorii nici nu vor vedea mcar vreodat adresa ntreag. Totui,
programele necesare pentru acest lucru nu au fost niciodat disponibile pe scar larg, aa c,
adesea, cei care trimiteau mesaje ctre utilizatori ale cror adrese erau de tip X.400 trebuia s scrie
iruri ca cel de mai sus. n schimb, majoritatea sistemelor de e-mail pentru Internet au permis
ntotdeauna utilizatorilor s aib fiiere de pseudonime.
SEC. 7.4 POSTA ELECTRONICA 601

Majoritatea sistemelor de e-mail accept liste de pot, astfel c un utilizator poate trimite, cu o
singur comand, un acelai mesaj tuturor persoanelor dintr-o list. Dac lista de pot este pstrat
local, agentul-utilizator poate pur i simplu s trimit cte un mesaj separat fiecruia dintre
receptorii dorii. Dac lista este pstrat la distan, atunci mesajele vor fi expandate acolo. De
exemplu, dac un grup de admiratori de psri au o list de pot numit birders, instalat la
meadowlarkarizona.edu, atunci orice mesaj trimis la birders@meadowlarkarizona.edu va fi dirijat
ctre Universitatea din Arizona i expandat acolo n mesaje individuale pentru toi membrii listei de
pot, oriunde ar fi ei n lume. Utilizatorii acestei liste de pot nu pot determina c aceasta este o
list de adrese. Ar putea fi la fel de bine cutia potal personal a Prof. Gabriel O. Birders.

i
Name: Mr. Daniel Dumkopf
Street: 18 Willow Lane
lic -

State: NY
Mr. Daniel Dumkopf Plic
Zip code: 10604
Q.
18 Willow Lane Priority Urgent
White Plains, NY 10604 Encryption: None
1

From: United Gizmo


United Gizmo Address: 180 Main St.
*-
180 Main St Q) Location: Boston, MA 02120
Boston, MA 02120 C
< Date: Sept. 1,1996
Sept. 1,1996 Subject: Invoice 1081

Subject: Invoice 1081


Dear Mr. Dumkopf,
Dear Mr. Dumkopf, Our computer records
Our computer records show that you still have Mesaj
show that you still have not paid the above invoice
not paid the above invoice Q. of $0.00. Please send us a
of $0.00. Please send us a O check for $0.00 promptiy.
check for $0.00 promptiy. o
Yours truly Yours truly
United Gizmo United Gizmo

1
\
(a) (b)

Fig.7-39. Plicuri i mesaje, (a) pot clasic (b) pot electronic.

Citirea potei electronice

n mod obinuit, cnd este lansat un agent-utilizator, nainte de a afia ceva pe ecran, el se
va uita n cutia potal a utilizatorului dup mesajele care sosesc. Apoi poate anuna numrul
de mesaje din cutie, sau poate afia pentru fiecare mesaj cte un rezumat de o linie, pentru ca
apoi s atepte o comand.
602 NIVELUL APLICATE CAP. 7

# Marcaje Octei Transmitor | Subiect


1 K 1030 asw ChangestoMINIX
2 KA 6348 radia Comments on material you sent me
3 KF 4519 Amy N. Wong Request for information
4 1236 bal Deadline for grant proposal
5 103610 kaashoek Text of DCS paper
6 1223 emilyE. Pointerto WWW page
7 3110 saniya Referee reports forthe paper
8 1204 dmr Re: My student's visit

Fig. 7-40. Un exemplu de afiare a coninutului unei cutii potale.

Ca exemplu despre cum lucreaz un agent-utilizator, s aruncm o privire asupra unui scenariu
tipic pentru pota electronic. Dup lansarea agentului-utilizator, utilizatorul cere un rezumat al
mesajelor sale. O imagine ca aceea din Fig.7-40 apare n acest caz pe ecran. Fiecare linie se refer la
cte un mesaj. n acest exemplu, cutia potal conine opt mesaje.
Fiecare linie de afiaj conine cteva cmpuri extrase de pe plicul sau din antetul mesajului
corespunztor. ntr-un sistem simplu de pot electronic, alegerea cmpurilor afiate este fcut n
cadrul programului. ntr-un sistem mai sofisticat, utilizatorul poate specifica ce cmpuri s fie
afiate, furniznd un profil al utilizatorului, adic un fiier care descrie formatul de afiare. n
exemplul considerat, primul cmp reprezint numrul mesajului. Al doilea cmp, Marcaje, poate
conine unK, nsemnnd c mesajul nu este nou, dar a fost citit anterior i pstrat n cutia potal; un
A, nsemnnd c deja s-a rspuns la acest mesaj; i / sau un F, nsemnnd c mesajul a fost trimis mai
departe altcuiva. Sunt de asemenea posibile i alte marcaje.

Comand Parametru Descriere


h # Afieaz antetul (antetele) pe ecran
c Afieaz doar antetul curent
t # Afieaz mesajul (mesajele) pe ecran
s adres Trimite un mesaj
f # Trimite mai departe mesajul (mesajele) primite
a # Rspunde la mesaj (mesaje)
d # terge mesajul (mesajele)
u # Reface mesajul (mesajele) terse anterior
m # Mut mesajul (mesajele) ntr-o alt cutie potal
k # Pstreaz mesajul (mesajele) la ieire
r cutie_potal Citete o nou cutie potal
n Se deplaseaz la urmtorul mesaj i-l afieaz
b Se deplaseaz la mesajul precedent i-l afieaz
g # Se deplaseaz la un mesaj specificat fr a-l afia
e Prsete sistemul de mail i actualizeaz cutia potal

Fig.7-41. Comenzi tipice de manipulare a potei.

Al treilea cmp specific lungimea mesajului i al patrulea spune cine a trimis mesajul. Atta
timp ct este pur i simplu extras din mesaj, acest cmp poate conine prenume, nume complete,
iniiale, nume de cont, sau orice altceva i-a ales transmitorul s pun. n sfrit, cmpul Subiect
specific despre ce este mesajul, ntr-un scurt rezumat. Persoanele care omit s includ un cmp
Subiect adesea descoper c rspunsurile la scrisorile lor tind s nu obin prioritate maxim.
SEC. 7.4 POSTA ELECTRONIC

Dup ce au fost afiate antetele, utilizatorul poate executa oricare dintre comenzile disponibile.
O colecie tipic de comenzi este prezentat n Fig. 7-41. Unele dintre comenzi necesit un
parametru. Semnul # precizeaz c este cerut numrul unui mesaj (sau poate ale mai multora).
Alternativ, litera a poate fi utilizat pentru a se referi la toate mesajele.
Exist nenumrate programe de e-mail. Exemplul nostru l are ca modei pe cei utilizat_de
sistemul UNIX Mmdf. deoarece este foarte direct. Comanda h afieaz unul sau mai multe anee n
formatul din Fig.7-40. Comanda c tiprete antetul mesajului curent. Comanda * tiprete (adic
afieaz pe ecran) mesajul sau mesajele solicitate. Comenzi posibile sunt: 13 pentru a tipri mesajul
3,14-6 pentru a tipri mesajele de la 4 la 6 i ta pentru a afia toate mesajele.
Urmtorul grup de trei comenzi se ocup mai mult cu trimiterea mesajelor, dect cu primirea
lor. Comanda s trimite un mesaj, apelnd un editor potrivit (de exemplu, specificat n profilul
utilizatorului) pentru a permite utilizatorului s compun acest mesaj. Programe specializate n a
realiza verificri de ortografie sau gramatic, sau chiar n a face cutri n dicionar, pot stabili dac
mesajul este sintactic corect. Din nefericire, generaia actual de programe de pot electronic nu
au programe de control care s constate dac transmitorul tie despre ce vorbete. Cnd mesajul
este terminat, el este pregtit pentru transmiterea la agentul de transfer de mesaje.
Comanda/transmite mai departe un mesaj din cutia potal, cernd o adres ia care s-1 trimit.
Comanda a extrage adresa surs din mesajul a care se rspunde i apeleaz editorul oentra a
permite utilizatorului s compun replica.
Urmtorul grup de comenzi este util pentru manipularea cutiilor potale. De obicei utilizatorii
au, pe lng cutia pentru scrisorile sosite, pe care am vzu-o deja, cte o cutie potai pentru fiecare
utilizator cu care corespondeaz. Comanda d terge un mesaj din cutia potai, n timp ce comanda
u anuleaz tergerea (mesajul nu este ters efectiv nainte de ieirea din programul de pot).
Comanda m mut un mesaj ntr-o alt cutie potal. Aceasta este metoda uzual de a salva scrisorile
importante dup ce au fost citite. Comanda k pstreaz n cutia potai mesajul indicat, chiar i dup
ce a fost citit. Dac un mesaj este citit, dar nu este pstrat explicit, ia ieirea din programul de e-rnaii
se execut nite aciuni implicite, cum ar fi mutarea- sa ntr-o cutie potal special, implicit. L n
sfrit, comanda r este utilizat pentru a prsi cutia potai curent i a trece ia citirea alteia.
Comenzile n, b i g servesc ia deplasarea n cadrul cutiei potale curente. Este un lucru
obinuit pentru un utilizator s citeasc mesajul 1, s rspund la el, s-i mute .sau s-1 tearg
i apoi s tasteze n pentru a-i obine pe urmtorul. Valoarea acestei comenzi este c
utilizatorul nu trebuie s-i pstreze urma pe unde trece. Este posibil s se ntoarc folosind 6,
sau s se deplaseze pe un mesaj dat, cu comanda g.
In sfrit, comanda e produce ieirea din programul de e-maii i face toate modifieriie cerate, ca
de exemplu tergerea unor mesaje i marcarea altora, ca fiind pstrate. Aceast comand suprascrie
cutia potal. nlocuindu-i coninutul.
n sistemele de pot electronic proiectate pentru nceptori, fiecare dintre aceste comenzi este
n mod normai asociat cu o iconi de pe ecran, aa c utilizatorul nu are nevoie s in minte c a
nseamn rspuns. In schimb, el trebuie s-i aminteasc faptul c mica poz a unei persoane cu gura
deschis nseamn rspuns i nu afiare de mesaj.
Ar trebui s fie clar din acest exemplu c pota electronic a parcurs un dram lung din momentul
cnd era doar transfer de fiiere. Ageni-utilizator sofisticai fac posibil manevrarea unui volum
mare de pot. Pentru persoane cum este autorul, care (fr tragere de inim) primete i trimite mii
de mesaje pe an, asemenea instrumente sunt nepreuite.
604 NIVELUL APLICAIE CAP. 7

7.4.3 Formatele mesajelor

S ne ntoarcem acum de la interfaa utilizator la formatul mesajelor de pot electronic n sine.


Mai nti ne vom uita la e-mailul ASCII de baz, care utilizeaz RFC 822. Dup aceea ne vom
concentra asupra extensiilor multimedia ale RFC 822.

RFC 822

Mesajele constau dintr-un plic simplu (descris n RFC 821), un numr de cmpuri antet, o linie
goal i apoi corpul mesajului. Fiecare cmp antet se compune (din punct de vedere logic) dintr-o
singur linie de text ASCII, coninnd numele cmpului, o virgul i, pentru majoritatea cmpurilor,
o valoare. RFC 822 este un standard vechi i nu distinge clar plicul de cmpurile antet, cum ar face
un standard nou. La o utilizare normal, agentul-utilizator construiete un mesaj i l transmite
agentului de transfer de mesaje, care apoi folosete unele dintre cmpurile antet pentru a construi
plicul efectiv, o combinaie oarecum demodat de mesaj i plic.
Principalele cmpuri antet, legate de transportul de mesaje, sunt nfiate n Fig. 7-42. Cmpul
To: ofer adresa DNS a receptorului primar. Este permis de asemenea existena de receptori
multipli. Cmpul Ce: d adresa oricrui receptor secundar. n termenii livrrii, nu este nici o
diferen ntre un receptor primar i unul secundar. Este n ntregime o deosebire psihologic, ce
poate fi important pentru persoanele implicate, dar este neimportant pentru sistemul de pot.
Termenul Ce: (Carbon copy - copie la indigo) este puin depit, din moment ce calculatoarele nu
folosesc indigo, dar este bine nrdcinat. Cmpul Bec: (Blind carbon copy - copie confidenial la
indigo) este la fel ca Ce:, cu excepia c aceast linie este tears din toate copiile trimise la receptorii
primari i secundari. Acest element permite utilizatorilor s trimit copii unei a treia categorii de
receptori, fr ca cei primari i secundari s tie acest lucru.
Urmtoarele dou cmpuri, From: i Sender:, precizeaz cine a scris i respectiv cine a trimis
mesajul. Acestea pot s nu fie identice. De exemplu, se poate ca o directoare executiv s scrie un
mesaj, dar ca secretara ei s fie cea care l trimite efectiv. In acest caz, directoarea executiv va fi
afiat n cmpul From: i secretara n cmpul Sender. Cmpul From: este obligatoriu, dar cmpul
Sender: poate fi omis dac este identic cu From:. Aceste cmpuri sunt necesare n cazul n care
mesajul nu poate fi livrat i trebuie returnat transmitorului.

Antet Coninut
To: Adresatele) de e-mail afle) receptorului(ilor) primar(i)
Ce: Adresa(ele) de e-mail afle) receptorului(ilor) secundar(i)
Bec: Adresa(ele) de e-mail pentru blind carbon copy"
From: Persoana sau persoanele care au creat mesajul
Sender: Adresa de e-mail a transmitorului curent
Received: Linie adugat de fiecare agent de transfer de-a lungul traseului
Return-Path: Poate fi folosit pentru a identifica o cale de ntoarcere la transmitor

Fig. 7-42. Cmpurile antet ale lui RFC 822, legate de transportul de mesaje.
SEC. 7.4 POTA ELECTRONICA 605

O linie coninnd Received: este adugat de fiecare agent de transfer de mesaje de pe traseu.
Linia conine identitatea agentului, data i momentul de timp la care a fost primit mesajul i alte
informaii care pot fi utilizate pentru gsirea defeciunilor n sistemul de dirijare.
Cmpul Retwn-Path: este adugat de agentul final de transfer de mesaje i are n intenie s
indice cum se ajunge napoi la transmittor. n teorie, aceast informaie poate fi adunat din toate
antetele Received: (cu excepia numelui cutiei potale a transmitorului), dar rareori este
completat aa i de obicei conine chiar adresa transmitorului.
n plus fa de cmpurile din Fig. 7-42, mesajele RFC 822 pot conine de asemenea o
varietate de cmpuri antet, t'oiosite de agenii-utilizator sau de receptorii umani. Cele mai des
ntlnite dintre ele sunt prezentate n Fig. 7-43. Majoritatea lor se explic de la sine, deci nu
vom intra n detaliu a toate.

Antet Coninut
Date: Data i momentul de timp ia care a fost trimis mesajul
Reply-To: Adresa de e-maiS la care ar trebui trimise rspunsurile
Message-d: Numr unic, utilizat ulterior ca referin pentru acest mesaj (identificator)
in-Repy-To: Identificatorul mesajului al crui rspuns este mesajul curent
References: Ali identificatori de mesaje relevani
' Keywords: Cuvinte cheie alese de utilizator
Subject: Scurt cuprins al mesajului, afiabil pe o singur linie

Flgc 7-43. Cteva cmpuri utilizate n antetul lui RFC 822.

Cmpul Repfy-To: este uneori utilizat cnd nici persoana care a compus mesajul, nici cea care 1-a
trimis nu vrea s vad rspunsul De exemplu, un director de marketing scrie un mesaj prin e-mail
pentru a spune clienilor despre un nou produs. Mesajul este trimis de o secretar, dar cmpul Repfy-
To: conine lista efilor departamentelor de vnzri, care pot rspunde la ntrebri i primi comenzi.
Documentul RFC 822 afirm explicit c utilizatorilor le este permis s inventeze noi antete,
pentru uzul lor personal, cu condiia ca. aceste antete s nceap cu irul de caractere X-, pentru a
evita conflictele (suprapunerile) dintre anteteie oficiale i cele personale. Uneori detepi din anii
mari includ cmpuri de tipul X-Fmit-of-the-Day: sau X-Disease-of-the-Week, care sunt legale, dei nu
ntotdeauna clarificatoare.
Dup antete urmeaz corpul mesajului. Aici utilizatorii pot pune orice vor. Unii oameni i
ncheie mesajele cu semnturi elaborate, incluznd caricaturi ASCII simple, citate din personaliti
mai mari sau mai mici, declaraii politice i declinri de tot felul (de exemplu: corporaia ABC nu
este rspunztoare pentru prerile mele, nu poate nici mcar s le neleag).

MIME - Multipurpose Internet MaiS Extensions (extensii de pot cu scop multiplu)

La nceputurile ARPANET, pota electronic consta exclusiv din mesaje de tip text, scrise n
englez i exprimate n ASCII. Pentru acest context, RFC 822 realiza sarcina complet: specifica
antetele, dar lsa coninutul n ntregime n seama utilizatorilor. In zilele noastre, aceast abordare
nu mai este adecvat pentru Internetul care se ntinde n lumea ntreag. Problemele includ
transmisia i recepia de:
606 NIVELUL APLICAIE CAP. 7

1. Mesaje n limbi cu accente (de exemplu franceza i germana).


2. Mesaje n alfabete ne-latine (de exemplu ebraic i rus).
3. Mesaje n limbi fr alfabet (de exemplu chinez i japonez).
4. Mesaje care nu conin text deloc (de exemplu audio i video).

O soluie posibil a fost propus n RFC 1341-i actualizat n RFC 1521. Aceast soluie,
numit MIME (Multipurpose Internet Mail Extensions), este n prezent larg utilizat. O vom
descrie n continuare. Pentru informaii suplimentare n legtur cu MME, a se vedea RFC
1521 sau (Rose, 1993). .
Ideea fundamental a MIME este s continue s foloseasc formatul RFC 822, dar s adauge
structur corpului mesajului i s defineasc reguli de codificare pentru mesajele non-ASCI.
Deoarece respect RFC 822, mesajele MME pot fi trimise utiliznd programele i protocoalele de
pot existente. Tot ceea ce trebuie modificat sunt programele de transmitere i recepie, pe care
utilizatorii le pot face ei nii.
MIME definete cinci noi antete de mesaje, aa cum se arat n Fig. 7-44. Primul dintre
acestea specific pur i simplu agentului-utilizator care primete mesajul c este vorba de un
mesaj MME i ce versiune de MIME utilizeaz. Orice mesaj care nu conine un antet MIME-
Version: este presupus ca fiind un mesaj n text pur, n englez, i este procesat ca atare.

Antet Coninut
MiME-Version: Identific versiunea de MIME
Content-Description: ir adresat utilizatorului care spune ce este n mesa]
Conen-ld: identificator unic
Content-Transfer-Encoding: Cum este mpachetat corpul pentru transmisie
Content-Type: Natura mesajului \

Fig 7-44. Anteele RFC 822 adugate de ctre MIME.

Antetul Content-Description: este un ir de caractere ASCII specificnd ce este n mesaj. Acest


antet este necesar pentru ca receptorul s tie dac merit s decodifice i s citeasc mesajul Dac
irul de caractere spune: " Fotografia hamsterului Barbarei" i persoana care primete mesajul nu
este un mare iubitor de hamsteri, mesajul va fi probabil mai curnd aruncat, dect decodificat ntr-o
fotografie color de nalt rezoluie.
Antetul Content-Id: identific coninutul. Utilizeaz acelai format ca antetul standard
Message-Id:.
Antetul Content-Transfer-Encoding: arat cum este mpachetat pentru transmisie corpul
mesajului, ntr-o reea care poate ridica obiecii la majoritatea caracterelor diferite de litere, cifre i
semne de punctuaie. Sunt furnizate cinci scheme (plus o evadare ctre noi scheme). Cea mai simpl
schem se refer chiar la text ASCII Caracterele ASCII utilizeaz 7 bii i pot fi transportate direct
prin protocolul de e-mail, atta timp ct nici o linie nu are mai mult de 1000 de caractere.
Urmtoarea schem ca simplitate este cam acelai lucru, dar utilizeaz caractere de cte 8 bii,
reprezentnd toate valorile de la 0 la 255 inclusiv. Aceast schem de codificare ncalc protocolul
(original) de e-mail utilizat n Internet, dar este folosit de unele pri ale Intemetului, care
implementeaz nite extensii ale protocolului original. n timp ce declararea codificrii nu o face s
devin legal, faptul c o avem explicit poate cel puin s lmureasc lucrurile atunci cnd ceva
SEC. 7.4 POSTA ELECTRONICA 607

merge prost. Mesajele utiliznd codificarea de 8 bii trebuie nc s respecte lungimea maxim a
liniei, care este standard.
Este chiar mai ru n cazul mesajelor care utilizeaz codificare binar. Aceste mesaje sunt fiiere
binare arbitrare, care nu numai c utilizeaz toi cei 8 bii, dar nu respect nici limita de linie de 1000
de caractere. Programele executabile intr n aceast categorie. Nu se acord nici o garanie c
mesaje binare vor ajunge corect, dar muli le trimit oricum.
Modalitatea corect de a codifica mesaje binare este de a utiliza codificarea n baz 64,
numit uneori armur ASCII. n aceast schem, grupuri de cte 24 de bii sunt mprite n
patru uniti de cte 6 bii, fiecare dintre aceste uniti fiind transmis ca un caracter ASCII
legal. Codificarea este A" pentru 0, B" pentru 1, .a.m.d., urmate de cele 26 de litere mici,
cele 10 cifre, i n cele din urm + i / pentru 62 i respectiv 63. Secvenele = = i = sunt
utilizate pentru a arta c ultimul grup a coninut doar 8 sau respectiv 16 bii. Se ignor
secvenele carriage return i line feed, astfel c ele pot fi inserate dup dorin, pentru a pstra
liniile suficient de scurte. Utiliznd aceast schem pot fi trimise sigur texte binare arbitrare.
"Pentru mesajele care sunt aproape n ntregime ASCII i conin puine caractere ne-ASCII,
codificarea n baz 64 este oarecum ineficient. n locul acesteia se utilizeaz o codificare
numit quoted-prtntable-encoding (codificare afiabil marcat). Aceasta este o codificare de
tip ASCII pe 7 bii, avnd toate caracterele cu cod mai mare de 127 codificate sub forma unui
semn egal urmat de valoarea caracterului reprezentat prin dou cifre hexazecimale.
Rezumnd, datele binare ar trebui trimise codificate n baz 64 sau sub form quoied-printable.
Cnd exist motive ntemeiate pentru a nu utiliza una dintre aceste scheme, este posibil s se
specifice n antetul Content-Transfer-Encoding: o codificare definit de ctre utilizator.
Ultimul antet nfiat n Fig. 7-44 este cu adevrat ce! mai interesant. EI specific natura
corpului mesajului. n RFC 1521 sunt definite apte tipuri, fiecare avnd unul sau mai multe
subtipuri. Tipul i subtipul sunt separate printr-o bar oblic (slash), ca n:

Conten-Type: video / mpeg

Tip Subtip Descriere


Text Piain Text neformatat
Richtext Text incluznd comenzi simple de formatare
Image Gif imagini fixe n format GiF
Jpeg Imagini fixe n format JPEG
Audio Basic Sunet
Video Mpeg Film n format MPEG
Application Octe-stream Secven neinterpretat de octei
Postscript Un document afiabil n PostScript
Rfc822 Un mesaj MIME RFC 822
Message Prtia! Mesajul a fost fragmentat pentru transmisie
External-body Mesajul n sine trebuie adus din reea
Mixed Pri independente n ordine specificat
Muitipart Alternative Acelai mesaj n formate diferite
Parallel Prile trebuie vizualizate simultan
Digest Fiecare parte este un mesaj RFC 822 compiet

Fig. 7-45. Tipurile i sub tipurile aparinnd MIME definite n RFC 1521.
608 NIVELUL APLICAIE CAP. 7

Subtipul trebuie precizat explicit n antet; nu sunt furnizate valori implicite. Lista iniial de tipuri
i subtipuri specificate n RFC 1521 este prezentat n Fig. 7-45. De atunci au fost adugate multe
altele, introducndu-se intrri adiionale de fiecare dat cnd a devenit necesar.
S parcurgem acum lista tipurilor. Tipul text este utilizat pentru text simplu. Combinaia text/plain
este folosit pentru mesaje obinuite care pot fi afiate de ndat ce sunt primite, fr codificare sau
procesare ulterioar. Aceast opiune permite ca mesajele obinuite s fie transportate n MIME
adugnd doar cteva antete suplimentare.
Subtipul text/richtext permite includerea n text a unui limbaj simplu de marcare. Acest limbaj
furnizeaz o modalitate independent de sistem pentru a exprima scrierea cu caractere aldine sau
cursive, dimensiunile, alinierea, distanele dintre rnduri, folosirea de indici superiori sau inferiori i
paginarea simpl. Limbajul de marcare se bazeaz pe SGML, Standard Generalized Markup
Language (limbajul standard generalizat de marcare), folosit de asemenea ca baz pentru HTML,
utilizat n World Wide Web. De exemplu mesajul

The <bold> time </bold> has come the <italic> walrus </italic> said ...

ar fi afiat sub forma:

The time has come the wahns said...

Depinde de sistemul receptor s aleag inteipretarea potrivit. Dac sunt disponibile caractere
aldine i cursive, acestea vor putea fi folosite; altfel, pentru a scoate n eviden se pot utiliza culori,
scriere cu clipire sau video-invers etc. Sisteme diferite pot face alegeri diferite.
Urmtorul tip MIME este image, utilizat pentru trimiterea de imagini fixe. n zilele noastre
sunt utilizate multe formate, att cu, ct i fr compresie, pentru a pstra i transmite imagini.
Dou dintre acestea, GIF i JPEG, sunt subtipuri oficiale, dar cu siguran c ulterior vor fi
adugate i altele.
Tipurile video i audio sunt pentru imagini n micare i respectiv pentru imagini crora li se
asociaz i sunet. Trebuie notat c video include doar informaia video, nu i coloana sonor. Dac
trebuie transmis un film cu sunet, s-ar putea ca poriunile audio i video s trebuiasc s fie
transmise separat, depinznd de sistemul de codificare utilizat. Singurul format video definit pn n
prezent este cel inventat de cei ce se intituleaz modest Moving Picture Experts Group (MPEG -
Grupul de experi n imagini n micare).
Tipul application este utilizat pentru formatele care necesit prelucrare extern, neacoperit de
nici unul dintre celelalte tipuri. Un flux de octei este chiar o secven de octei neinterpretai. La
primirea unui asemenea flux, un agent-utilizator ar trebui probabil s-1 afieze, sugerndu-i
utilizatorului s-1 copieze ntr-un fiier i cerndu-i un nume pentru acesta. Procesarea ulterioar
este apoi la latitudinea utilizatorului.
Cellalt subtip definit este postscript, care se refer la limbajul PostScript, produs de Adobe
Systems i larg utilizat pentru descrierea paginilor imprimate. Multe imprimante au nglobate
interpretoare PostScript. Dei un agent-utilizator poate pur i simplu s apeleze un interpretor
PostScript extern pentru a interpreta fiierele PostScript primite, acest lucru nu este lipsit de
pericole. PostScript este un ntreg limbaj de programare. Dndu-i-se destul timp, o persoan
SEC. 7.4 POTA ELECTRONICA 609

suficient de masochist ar putea scrie n PostScript un compilator de C, sau un sistem de


management de baze de date. Afiarea unui mesaj primit n format PostScript se face executnd
programul PostScrip coninut de acesta. Pe lng afiarea unui text, acest program poate citi,
modifica, sau terge fiierele utilizatorului i poate avea i alte efecte laterale.
Tipul message permite ncapsularea n ntregime a unui mesaj n altul. Aceast schem este util,
de exemplu pentru trimiterea mai departe a e-mailului, cafonvard. Cnd un mesaj RFC 822 complet
este ncapsulat ntr-un mesaj exterior, ar trebui utilizat subtipul rfc822.
Subtipul parial face posibil mprirea unui mesaj ncapsulat n buci de mesaj i trimiterea
separat a acestora (de exemplu, dac mesajul ncapsulat este prea lung). Parametrii fac posibil
reasamblarea n ordinea corect a tuturor prilor, la destinaie.
a
i n sfrit, subtipul extemal-body pate fi utilizat pentru mesaje foarte lungi (de exemplu, filme
video). n loc de a include fiierul MPEG n mesaj, se d o adres FTP i agentul utilizator al
receptorului o poate aduce din reea n momentul n care este necesar. Aceast facilitate este n
special util cnd se trimite un film la o ntreag list de pot i se presupune c doar civa dintre
membrii acesteia l vor vedea (gndii-v la e-mailurile inutile, coninnd reclame video).
Ultimul tip este multipart, care permite unui mesaj s conin mai multe pri, nceputul i
sfritul fiecrei pri fiind clar delimitat. Subtipul mbced permite fiecrei pri s fie diferit de
celelalte, fr a avea o structur adiional impus. n contrast, la subtipul alternative, fiecare parte
trebuie s conin acelai mesaj, dar exprimat ntr-un alt mediu sau ntr-o codificare diferit. De
exemplu, un mesaj ar putea fi trimis n ASCII simplu, n richtext i n PostScript. Un agent-utilizator
proiectat corespunztor, la primirea unui asemenea mesaj, l va afia, dac va fi posibil, n PostScript.
A doua alegere va fi richtext. Dac nici una dintre aceste alternative nu ar fi posibil, s-ar afia text
ASCII obinuit. Prile ar trebui ordonate de la cea mai simpl, la cea mai complex, pentru a ajuta
receptorii care folosesc ageni-utilizator pre-MIME s neleag mesajul (chiar i un utilizator pre-
MIME poate citi text ASCII simplu).
Subtipul alternative poate fi folosit de asemenea pentru limbaje multiple. n acest context,
Rosetta Stone poate fi privit ca precursor al mesajului de tip multipart/altemative.
Un exemplu multimedia este prezentat n Fig. 7-46. Aici, o felicitare este transmis att sub
form de text ct i sub form de cntec. Dac receptorul are faciliti audio, agentul utilizator va
aduce fiierul de sunet, birthday.snd i l va interpreta. Dac nu, versurile vor fi afiate pe ecran ntr-o
linite de mormnt. Prile sunt delimitate de dou cratime urmate de irul (definit de utilizator)
specificat n parametrul boundary.
Observai c antetul Content-Type apare n trei poziii n acest exemplu. La primul nivel indic
faptul c mesajul are mai multe pri. n cadrul fiecrei pri specific tipul i subtipul acesteia. n
sfrit, n corpul celei de-a doua pri, este necesar pentru a indica agentului utilizator ce fel de fiier
extern trebuie s aduc. Pentru a exprima uoara diferen de utilizare, s-au folosit litere mici, dei
toate antetele sunt case insensitive (nu fac diferen ntre literele mari i cele mici). Antetul content-
transfer-encoding este n mod similar necesar pentru orice corp extern care nu este codificat ca
ASCII pe 7 bii.
ntorcndu-ne la subtipurile corespunztoare mesajelor multipart, vom spune c mai exist dou
posibiliti. Subtipul parallel este utilizat cnd toate prile trebuie s fie interpretate simultan. De
exemplu, adesea filmele au un canal audio i unul video. Ele sunt mai de efect dac aceste dou
canale sunt interpretate n paralel i nu consecutiv.
610 NIVELUL APLICAIE CAP. 7

n sfrit, subtipul diges este utilizat cnd multe mesaje sunt mpachetate mpreun, ntr-unui
compus. De exemplu, nite grupuri de dialog de pe Internet pot aduna mesaje de la abonaii lor i
apoi s le trimit n afar ca un singur mesaj de tip nwlpart/digest.

7.4.4 Transfer de mesaje

Sistemul de transfer de mesaje se ocup cu transmiterea mesajelor de ia iniiator la receptor. Cea


mai simpl cale de a realiza acest lucru const n stabilirea unei conexiuni de transport de ia maina
surs la cea de destinaie i apoi, pur i simplu n trimiterea mesajului. Dup ce examinm cum se
face acest lucru n mod normal, vom studia cteva situaii n care metoda nu funcioneaz i vom
vedea ce trebuie fcut n aceste cazuri.

From: elinor@abc.com
To: caroiyn@xyz.com
MIME-Version: 1.0
Message-!d: <0704760941 .AA00747@abc.com>
Content-Type: muiipart/aHtemaive; boyrsdary=qwertyuiQpasdfghjkzxcvbnri
Subjec: Pmntul nconjoar soarele de un numr ntreg de ori
Acesta ese preambulul Agentul utilizatorii ignor. O zi bun.

--qwereyuiopasdghjkizxcvbRrr!
Conten-Type: text/richtext
Happy birthday to you
Happy birthday to you
Happy birthday dear <boid> Carolyn </boid>
Happy birthday o you

Content-1 ype: message/extemal-body;


access-type=anon-fp'"";
site=bicyc!e. abc.com";
direcory= f ,pub";
name= birthday.snd;
conten-type: audio/basic
content-transfer-encoding: base64

--qweryuiopasdfghjklzxcvbnm

Fig. 7-46o Un mesaj multipart coninnd alternative de tip richtext i audio.

SMTP-Smple Mai! Transfer Protocol (protocol simple de transfer de pota)


In cadrul Internetului pota electronic este livrat prin stabilirea de ctre maina surs a
unei conexiuni TCP la portul 25 al mainii de destinaie. La acest port se afl un demon de e-
rnail care tie SMTP (Simple Mail Transfer Protocol). Acest demon accept conexiunile i
copiaz mesajele de la ele n cutiile potale corespunztoare. Dac mesajul nu poate fi livrat,
se returneaz transmitoruiui un raport de eroare coninnd prima parte a mesajului nelivrat.
SEC. 7.4 POTA ELECTRONIC 611

SMTP este un protocol simplu de tip ASCII. Dup stabilirea conexiunii TCP la portul 25, maina
transmitoare, opernd n calitate de client, ateapt ca maina receptoare, opernd ca server, s
vorbeasc prima. Serverul ncepe prin a trimite o linie de text, declarndu-i identitatea i spunnd
dac este pregtit sau nu s primeasc mesaje. Dac nu este, clienii elibereaz conexiunea i
ncearc din nou mai trziu.
Dac serverul este dispus s primeasc e-mail, clientul anun de la cine vine scrisoarea i cui i
este adresat. Dac un asemenea receptor exist la destinaie, serverul i acord clientului
permisiunea s trimit mesajul. Apoi clientul trimite mesajul i serverul l confirm. n general nu
este necesar ataarea unei sume de control deoarece TCP furnizeaz un flux sigur de octei. Dac
mai exist i alte mesaje, acestea sunt trimise tot acum. Cnd schimbul de mesaje, n ambele direcii,
s-a ncheiat, conexiunea este eliberat. n Fig.7-47 este prezentat o mostr de dialog referitoare la
trimiterea mesajului din Fig.7-46, incluznd codurile numerice utilizate de SMTP. Liniile trimise de
client sunt marcate cu C:, iar cele trimise de server cu S.\
Cteva comentarii n legtur cu Fig.7.47 ar putea fi utile. Prima comand a clientului este ntr-
adevr HELO. Din cele dou posibile abrevieri de patru caractere ale cuvntului HELLO, aceasta
are numeroase avantaje fa de concurenta sa. Motivul pentru care toate comenzile trebuia s aib
patru caractere s-a pierdut n negura vremii.
n Fig.7.47, mesajul este trimis la un singur receptor i de aceea este utilizat o singur comand
RCPT. Mai multe asemenea comenzi sunt permise pentru a trimite un singur mesaj mai multor
receptori. Fiecare dintre ele este confirmat sau rejectat individual Chiar dac unii dintre receptori
sunt rejectai (deoarece ei nu exist ia destinaie), mesajul poate fi trimis celor rmai.
n sfrit, dei sintaxa comenzilor de patru caractere de la client este rigid specificat, sintaxa
replicilor este mai puin rigid. Doar codul numeric conteaz cu adevrat. Fiecare implementare
poate pune dup cod ce iruri de caractere vrea.
Chiar dac protocolul SMTP este bine definit (de RFC 821), mai pot aprea cteva
probleme. O problem este legat de lungimea mesajelor. Unele implementri mai vechi nu
pot s lucreze cu mesaje mai mari de 64KB. O alt problem se refer la expirri de timp
(timeout). Dac acestea difer pentru server i client, unul din ei poate renuna n timp ce
cellalt este nc ocupat, ntrerupnd conexiunea n mod neateptat. n sfrit, n rare situaii,
pot fi lansate schimburi infinite de mesaje. De exemplu, dac maina 1 pstreaz lista de pot
A i maina 2 lista de pot B i fiecare list conine o intrare pentru cealalt, atunci orice
mesaj trimis oricreia dintre cele dou liste va genera o cantitate nesfrit de trafic de e-mail.
Pentru a atinge cteva dintre aceste probleme, n RFC 1425 s-a definit protocolul SMTP extins
(ESMTP). Clienii care doresc s-1 utilizeze trebuie s trimit iniial un mesaj EHLO n loc de
HELO. Dac acesta este rejectat, atunci serverul este unul standard de tip SMTP i clientul va trebui
s procedeze n modul obinuit. Dac EHLO este acceptat, nseamn ca sunt permise noile comenzi
i noii parametri. Standardizarea acestor comenzi i parametri este un proces n desfurare.

Pori de e-mail
Pota electronic utiliznd SMTP lucreaz cel mai bine cnd att transmitorul ct i receptorul
se gsesc n Internet i pot accepta conexiuni TCP ntre transmitor i receptor. Cu toate acestea,
multe maini care nu sunt n Internet doresc s trimit i s primeasc mesaje de la situri Internet.
NIVELUL APLICAIE CAP. 7

De exemplu, multe companii, din motive de securitate, nu doresc s fie conectate la Internet. Unele
se elimin chiar de pe Internet, ridicnd ziduri de netrecut fa de acesta.

S: 220 xyz.com SMTP service ready


C: HELO abc.com
S: 250 xyz.com says hello to abc.com:
C: MAIL FROM: <elinor@abc.com>
S: 250 sender ok
C: RCPTTO: <carolyn@xyz.com>
S: 250 recipient ok
C: DATA
S: Trimite maii; terminat cu ." pe anie nou
C: From: ellnor@abc.com
C: To: caroiyn@xyz.com
C: MIME-Version: 1.0
C: P.essage-fd: <0704760941.AA00747@abc.com>
C: Content-Type: rnulspar/aiternative; boLtidary=qwertyuiopasdfghjkJ2xcvbnnn
C:Subject Pmntul nconioar soarele de un nmrnr ntreg de ori
r-
^.
C:cess este preambiHuL AgenuJ ironizator i ignor. C zi bun,
\*.
C:-qweryuiopasdfghikzxcvbRm
C:Conent-Type: text/richtex
C:
C:Happy birhday to you
C:Happy bsrthday to you

C:Happy birthday to yom

C:-qvs/erty!Jopasdfghjklzxcvbnm
CiConemt-Type: message/exteria-body;
C: access-ype=,.anon-ftp";
C: site=bicyeie. abc.com";
C: directory=pub";
C: name=birthday.snd;

C:content-type: audio/basic
Cicontent-transfer-encoding: base-84
C:-qwertyuIopasdfghjk!zxcvbnm
C:.
S: 250 message accepted
C:QUIT
S: 221 xyz.com cbsing connection

Fig.7,47. Transferul unui mesaj de la eiinor@abc.corn ia carolyn@zxy.corn.

O alt problem apare cnd transmitorui nelege doar RFC 822 i receptorul doar X.
sau un protocol de e-rnail corespunznd unui standard de proprietar. Atta timp ct oat
SEC. 7.4 POSTA ELECTRONICA 613

aceste medii difer n ceea ce privete formatele mesajelor i protocoalele utilizate,


comunicaia direct este imposibil.
Amndou aceste probleme sunt rezolvate prin utilizarea porilor de e-mail de la nivelul
aplicaie. n Fig. 7-48 gazda 1 nelege doar TCP/IP i RFC 822, n timp ce gazda 2 tie doar OSITP4
i X.400. Cu toate acestea ele pot schimba mesaje utiliznd o poart de e-mail. Procedura este ca
gazda 1 s stabileasc o conexiune de TCP cu poarta i apoi s transfere acolo un mesaj (1) utiliznd
SMTP. Demonul porii pune apoi mesajul ntr-un tampon de mesaje destinate gazdei 2. Ulterior se
stabilete o conexiune de TP4 (echivalentul OSI pentru TCP) cu gazda 2 i se transfer mesajul (2),
folosind echivalentul OSI pentru SMTP. Tot ce are de fcut procesul de tip poart este s extrag
mesajele sosite dintr-o coad i s le pun n alta.

Bufer de
mesaje
Gazd Gazd 2

Reea

Fig. 7-48. Transferul de mesaje utiliznd o poart de e-mail de nivel aplicaie.

Pare uor, dar nu este. Prima problem este c adresele de Internet i ceie de tip X.400
sunt total diferite. ntre ele este necesar un mecanism complicat de punere n coresponden.
A doua problem este c plicul sau cmpurile antetului care se folosesc ntr-un sistem pot s
nu existe n cellalt.
De exemplu, dac un sistem necesit clase de prioritate i cellalt nu folosete deloc acest
concept, ntr-o direcie se pot pierde informaii de valoare, iar n cealalt acestea trebuie
generate din nimic.
O problem i mai grea este cea referitoare la cum procedm dac pri ale corpului mesajului
sunt incompatibile. Ce ar trebui s fac poarta cu un mesaj din Internet al crui corp pstreaz o
referin la un fiier audio care s fie obinut prin FTP, dac sistemul destinaie nu accept acest
concept? Ce ar trebui s fac atunci cnd un sistem X.400 i spune s livreze un mesaj la o anumit
adres, dar n cazul n care eueaz, s trimit coninutul prin fax? Utilizarea faxului nu face parte
din modelul RFC 822. n mod clar, aici nu exist soluii simple. Pentru mesaje simple, de tip text
ASCII, nestructurate, utilizarea de pori este o soluie rezonabil, dar pentru orice altceva mai
complicat, ideea tinde s cad.

Livrarea final

Pn acum am presupus c toi utilizatorii lucreaz pe maini capabile s trimit i s primeasc


e-mail. Adesea acest lucru este fals. De exemplu, n multe companii utilizatorii lucreaz cu PC-uri,
614 NIVELUL APUCATE CAP.iR

necoriectate la Internet i incapabile s trimit sau s primeasc pot din afara companiei.
schimb firma are unul sau mai multe servere de e-mail, care potprimi i trimite e-mail. Pentru
a primi sau a trimite un mesaj, un PC trebuie s comunice cu un server de e-mail folosind un
fel de protocol de livrare.
Un protocol simplu, utilizat pentru aducerea mesajelor dintr-o cutie potal aflat la
distan, este POP3 (Post Office Protocol - protocol de pot) i este definit n RFC 1225.
Posed comenzi pentru conectarea i deconectarea utilizatorilor, aducerea i tergerea
mesajelor. Scopul lui POP3 este s aduc e-mail de la distan i s-1 depoziteze pe maina
local a utilizatorului, spre a fi citit mai trziu.
IMAP (Interactive Mail Access Protocol - protocol interactiv de acces la pot) este un protocol
de livrare mai sofisticat, definit n RFC 1064. A fost proiectat pentru a ajuta utilizatorii care folosesc
mai multe calculatoare, ca de exemplu o staie de lucru la birou, un PC acas i un calculator
portabil pe drum. Ideea de baz aflat n spatele IMAP este ca serverul de e-mail s pstreze un
depozit central de mesaje la care accesul s poat fi realizat de pe oricare main. Astfel, spre
deosebire de POP3, IMAP nu copiaz e-mailul pe maina personal a utilizatorului, deoarece acesta
poate avea mai multe.
IMAP are multe trsturi, cum ar fi capacitatea de a adresa un mesaj nu prin numrul de sosire,
cum se face n Fig. 7-40, ci utiliznd atribute (de exemplu: d-mi primul mesaj de la Sam). n aceast
abordare, o cutie potal este mai mult ca un sistem de baze de date relaionale dect ca o secven
liniar de mesaje.
Un al treilea protocol de livrare este DMSP (Distributed Mail System Protocol - protocol
distribuit pentru sistemul de pot), parte a sistemului PCMAIL, descris n RFC 1056. Acesta nu
presupune c tot e-mailul se afl la nivelul unui singur server, ca la POP i IMAP. n schimb, permite
utilizatorilor s descarce e-mailul de la server la o staie de lucru, PC sau portabil, i apoi s se
deconecteze. Utilizatorul poate citi mesajele i scrie rspunsurile ct timp este deconectat de la
server. Ulterior, cnd se reconecteaz, pota este retransferat i sistemul este resincronizat.
Independent de faptul c e-mailul este livrat direct la staia de lucru a utilizatorului
sau la un server aflat la distan, multe sisteme furnizeaz faciliti pentru procesarea
suplimentar a mesajelor primite. Un instrument deosebit de valoros pentru muli
utilizatori de e-mail este reprezentat de capacitatea de a construi filtre. Acestea sunt
reguli care se verific la sosirea mesajelor sau la pornirea agentului utilizator. Fiecare
regul specific o condiie i o aciune. De exemplu, o regul ar putea spune c orice
mesaj de la Andrew S. Tanenbaum trebuie afiat cu fonturi ngroate, de culoare rou
strlucitor (sau, alternativ, s fie aruncat imediat fr comentarii).
O alt caracteristic a livrrii, pus la dispoziie adesea, este posibilitatea de a retrimite
(temporar) pota la o adres diferit. Aceast adres poate fi i un calculator utilizat de un
serviciu comercial de comunicaii, care va contacta utilizatorul prin radio sau satelit, afird
Subject: linie pe pagerul su.
O alt trstur comun a livrrii finale este abilitatea de a instala un demon de vacan. Acesta
este un program care examineaz fiecare mesaj sosit i trimite o replic insipid cum ar fi:

Salut. Sunt n vacan. M ntorc pe 24 august. O zi bun.


SEC. 7.4 POTA ELECTRONIC 615

Asemenea rspunsuri pot s specifice, de asemenea, cum s fie tratate problemele urgente,
alte persoane care pot fi contactate pentru probleme specifice etc. Majoritatea demonilor de
vacan pstreaz urma celor crora le-au trimis replici i se abin de la a trimite unei aceleiai
persoane o a doua asemenea replic. Demonii buni verific i dac mesajul sosit a fost trimis
de la o list de mail i n acest caz, nu mai rspund deloc. (Cei care trimit mesaje n timpul
verii la liste mari de e-mail, probabil c nu doresc s primeasc sute de replici n care s le fie
detaliate planurile de vacan ale fiecruia.)
Autorul s-a lovit recent de o form extrem de prelucrare a livrrii cnd a trimis o scrisoare
unei persoane care pretinde c primete 600 de mesaje pe zi. Identitatea sa nu va fi
deconspirat aici, ca nu cumva jumtate dintre cititorii acestei cri s-i trimit i ei scrisori.
S-1 numim n continuare John.
John i-a instalat un robot de e-mail care verific fiecare mesaj sosit, ca s vad dac este de ia un
nou corespondent. Dac este aa, trimite napoi o replic standard n care explic faptul c nu mai
poate s citeasc personal toate mesajele. In schimb a produs un document FAQ (Frequently Asked
Questions) personal, unde rspunde la multe ntrebri care i se pun de obicei. n mod normal,
grupurile de tiri i nu persoanele au documente FAQ.
Documentul FAQ al lui John d adresa acestuia, numrul de fax i numerele de telefon i
spune cum poate fi contactat firma sa. Arat cum poate fi chemat ca vorbitor i explic cum
pot fi obinute lucrrile sale i alte documente. Furnizeaz de asemenea referine la
programele scrise de el, o conferin pe care o organizeaz, un standard al crui editor este i
aa mai departe. E posibil ca aceast abordare s fie necesar, dar poate c un FAQ personal
reprezint simbolul final al statutului.

7.4.5 Confidenialitatea potei electronice

Cnd un mesaj de e-mail este trimis ntre dou locaii situate la distan, acesta va trece n
drumul su pe la un numr mare de maini. Oricare dintre acestea poate s citeasc i s
nregistreze mesajul pentru utilizare ulterioar. Confidenialitatea este inexistent, n ciuda a
ceea ce muli oameni cred (Weisband and Reining, 1995). Cu toate acestea, multora le-ar
plcea s poat trimite mesaje care s fie citite doar de cei crora le sunt adresate i de nimeni
altcineva: nu de eful lor, nu de hackeri i nici chiar de guvern. Aceast dorin a stimulat mai
multe persoane i grupuri s aplice principiile criptografiei, studiate de noi anterior, la pota
electronic, pentru a produce un sistem de e-mail sigur. n seciunile urmtoare vom studia
dou sisteme de e-mail sigur, larg utilizate, PGP i PEM. Pentru informaii suplimentare a se
vedea (Kaufman et al, 1995; Schneier, 1995; Stallings, 1995b; i Stallings, 1995c).

PGP-Pretiy Good Privacy (confidenialitate destui de bun)

Primul nostru exemplu, PGP (Pretty Good Privacy) este n cea mai mare parte rodul gndirii
unei singure persoane, Phil Zimmerman (Zimmerman, 1995a, 1995b). Este un pachet complet de
securitate a e-mailului, care furnizeaz confidenialitate, autentificare, semnturi digitale i
compresie, toate ntr-o form uor de utilizat. Pe deasupra, pachetul complet, incluznd toate"
sursele, este distribuit gratuit prin Internet, sisteme de informare n reea i reele comerciale.
Datorit calitii sale, preului (zero) i simplei disponibiliti pe platformele MS-DOS/Windows,
NIVELUL APLICAIE CAP. 7

UNIX i Macintosh, acesta este larg utilizat astzi. Pentru acele companii care necesit sprijin, este
disponibil i o variant comercial.
PGP a fost implicat i n diferite controverse (Levy, 1993). Deoarece este distribuit liber pe
Internet, guvernul Statelor Unite a pretins c posibilitatea strinilor de a-i obine constituie o violare
a legilor privind exportul de muniie. Versiunile ulterioare au fost produse n afara Statelor Unite
pentru a ocoli aceast restricie. O alt problem a inclus o pretins nclcare a patentului RSA, dar
aceasta a fost rezolvat odat cu apariia versiunilor ncepnd cu 2.6. Totui, nu toi agreeaz ideea
c oamenii pot s-i pstreze secretele fa de ei, astfel c dumanii PGP pndesc din umbr,
ateptnd s atace. In conformitate cu toate acestea, moto-u lui Zlmmerman este: Dac dreptul la
confidenialitate este n afara legii, atunci doar cei aflai n afara legii vor avea confidenialitate."
In mod intenionat PGP utilizeaz algoritmi de criptare existeni, n loc s inventeze unii noi. Se
bazeaz n principal pe RSA, IDEA i MD5, algoritmi care au fost supui unor numeroase analize
amnunite i nu au fost proiectai sau influenai de vreo agenie guvernamental pentru a-i slbi.
Pentru cei care au tendina s nu aib ncredere n guvern, aceast proprietate este un mare avantaj.
PGP permite compresie de text, asigurarea secretului mesajelor i semnturi digitale i
furnizeaz de asemenea faciliti de management extensiv al cheilor. Pentru a vedea cum
lucreaz PGP, s considerm exemplul din Fig. 7-49. Aici, Alice vrea s-i trimit lui Bob, ntr-o
manier sigur, un mesaj text simplu, semnat, P. Alice i Bob au cheile private (Dx)
RSA publice (Ex). S presupunem c
trziu de administrarea cheilor.

KM : Chsie unic de mesaj, pentru IDEA Cheia \ ea

0 : Concatenare

Cheia RS privat, z iui !ice


;heie RSA, D,

A EV1D5 [A RSA i

Concatenarea Iul P i a Concatenarea !ii


n text clar, 'islui de dispersie coptat P1.Z cripto! eu IDEA
de la Alice i KM cripta! cu Es

FES. 7-49. PGP n aciunea de trimitere a unui mesai.

Alice ncepe prin a invoca prc 1 PGP pe calculatorul su. Mai nti PGP codific prin
dispersie (hash) mesajul P utiliznd MD5, apoi cripteaz codul de dispersie rezultat utiliznd cheia
sa RSA privat, DA. Cnd, eventual, Bob primete mesajul, el poate decripta mesajul cu cheia
public cunoscut a lui Alice i poate testa corectitudinea mesajului codificat prin dispersie. Chiar
dac altcineva (de ex. Trudy) poate obine codul n acest stadiu i S poate decripta cu cheia public a
SEC. 7.4 POTA ELECTRONIC 617

lui Alice, puterea lui MD5 garanteaz c este nerealizabil computaional producerea unui alt mesaj
care s aib acelai cod MD5.
Codul de dispersie criptat i mesajul original sunt acum concatenate ntr-un singur mesaj PI i
comprimate apoi cu programul ZIP, care utilizeaz algoritmul Ziv-Lempel (Ziv i Lempel, 1977).
Numim ieirea obinut la acest pas Pl.Z.
Apoi, PGP i cere lui Alice introducerea unui ir de caractere oarecare. Att coninutul acestuia
ct i viteza de tastare sunt utilizate pentru a genera o cheie de mesaj de tip IDEA, de 128 de bii, KM
(numit cheie de sesiune n literatura PGP, dar numele este cu adevrat nepotrivit atta timp ct nu
exist nici o sesiune). KM este acum utilizat pentru a cripta Pl.Z cu IDEA, prin metoda de tip reacie
cifrat. n plus, KM este criptat cu cheia public a lui Bob, EB- Aceste dou componente sunt apoi
concatenate i convertite n baz 64, aa cum s-a discutat n seciunea despre MIME. Mesajul
rezultat conine numai litere, cifre i simbolurile +, / i =, ceea ce nseamn c poate fi pus ntr-un
corp de RFC 822 i c ne putem atepta s ajung nemodificat la destinaie.
Cnd Bob primete mesajul, l reconvertete din baz 64 i decripteaz cheia IDEA utiliznd
cheia sa RSA privat. Utiliznd aceast cheie, decripteaz mesajul pentru a obine Pl.Z. Dup
decompresia acestuia, Bob separ textul simplu de codul cifrat i decripteaz codul de
dispersie utiliznd cheia public a lui Alice. Dac codul textului clar cade de acord cu calculul
fcut de ei utiliznd MD5, el tie c P este mesajul corect i c vine de la Alice.
Merit observat c RSA este utilizat doar n dou locuri aici: pentru a cifra codul de
dispersie de 128 de bii generat de MD5 i pentru a cifra cheia IDEA de 128 de bii. Dei RSA
este lent, are de criptat doar 256 de bii i nu un volum mare de date. Mai mult, toi cei 256 de
bii de text simplu sunt generai extrem de aleatoriu, astfel nct numai pentru a determina
dac o cheie ghicit este corect, Trudy ar trebui s depun o cantitate nsemnat de munc.
Criptarea de mare putere este realizat de IDEA, care este cu cteva ordine de mrime mai
rapid dect RSA. Astfel, PGP asigur securitate, compresie i o semntur digital i face
acest lucru ntr-o manier chiar mult mai eficient dect schema ilustrat n Fig. 7-23.
PGP accept trei lungimi de chei RSA. Rmne la latitudinea utilizatorului s o aleag pe cea
mai potrivit. Lungimile disponibile sunt:

1. Obinuit (384 bii): poate fi spart n ziua de azi de ctre cei cu bugete mari.
2. Comercial (512 bii): ar putea fi spart de organizaii cu nume din trei litere (care se ocup
cu securitatea statului).
3. Militar (1024): Nici un pmntean nu o poate sparge.

Au existat unele discuii referitoare ia o a patra lungime: extraterestr (2048 bii), care s
nu poat fi spart de nimeni i de nimic din univers, dar aceasta nu a fost nc adoptat. Din
moment ce RSA este folosit doar pentru dou calcule mici, probabil c toat lumea ar trebui
s foloseasc ntotdeauna chei de lungime militar, excepie fcnd poate doar PC-XT-urile
nvechite.
Formatul unui mesaj PGP este prezentat n Fig. 7-50. Mesajul are trei pri, coninnd cheia
IDEA, semntura i respectiv mesajul. Partea care conine cheia mai include, de asemenea, un
identificator de cheie, deoarece utilizatorilor li se permite s aib mai multe chei publice.
Partea cu semntura conine un antet, de care nu ne vom ocupa aici. Antetul este urmat de
o amprent de timp, identificatorul pentru cheia public a emitorului, care este folosit
618 NIVELUL APLICAIE CAP. 7

pentru a decripta codul semnturii, unele informaii care identific algoritmul folosit (pentru a
permite folosirea algoritmilor MD6 i RSA2 atunci cnd acetia vor fi inventai) precum si
codul de dispersie criptat.
Partea de mesaj conine de asemenea un antet, numele implicit care va fi folosit pentru fiier n
cazul n care utilizatorul dorete s-1 salveze pe disc, o amprent de timp pus la crearea mesajului i,
n sfrit, mesajul n sine.

Baz 64
Cheia de Compresat, ncripta cu IDEA
mesaj Semntura Messaju!

in T ID T Nume T
din Antet i lui i Codif. Antet de i Mesaj
KM MD5 msg.
m m
ER EA P fiier
P P
r
Incriptat
cu DA

Fig. 7-50. Un mesaj PGP

Administrarea cheilor a primit o foarte mare atenie n PGP, deoarece acesta este clciul lui
Ahile pentru sistemele de securitate. Fiecare utilizator menine dou structuri de date locale: un inel
cu chei private i unul cu chei publice. Inelul cheilor private conine una sau mai multe chei perechi
personale private-publice. Motivul pentru care se accept mai multe chei pentru un utilizator este
pentru a permite acestora s-i schimbe cheile publice periodic sau cnd se consider c acestea au
fost compromise, fr a invalida mesajele aflate n pregtire sau n tranzit. Fiecare pereche are un
identificator asociat, astfel nct un emitor de mesaj poate spune destinatarului ce cheie public a
fost folosit pentru ncriptarea acestuia. Identificatorii de mesaj constau din ultimii 64 de bii ai cheii
publice. Cheile private de pe disc sunt criptate folosind o parol special (arbitrar de lung) pentru a
le proteja mpotriva unor atacuri.
Inelui cheilor publice conine cheile publice ale corespondenilor utilizatorului. Acestea sunt
necesare pentru criptarea cheilor de mesaj asociate cu fiecare mesaj. Fiecare intrare n inelul cheilor
publice conine nu doar cheia public, ci i identificatorul su pe 64 de bii i o indicaie asupra
ncrederii pe care o are utilizatorul n cheie.
Problema care trebuie rezolvat aici este urmtoarea. S presupunem c cheile publice sunt
meninute n grupurile de tiri. O metod pentru Trudy de a citi e-mailul secret al lui Bob este de a
ataca grupul de tiri i de a nlocui cheia public a lui Bob cu una la alegerea sa. Cnd Alice va lua
mai trziu aa-zisa cheie a lui Bob, Trudy poate monta o mulime de atacuri la adresa lui Bob.
Pentru a preveni astfel de atacuri, sau cel puin pentru a minimiza consecinele lor, Alice
trebuie s tie ct de mult se poate ncrede n obiectul numit cheia lui Bob" din inelul su de
chei publice. Dac ea tie c Bob personal i-a dat o dischet coninnd cheia, atunci poate
acorda valoarea maxim de ncredere.
Totui, n practic, oamenii primesc cheile publice ntrebnd un server de chei sigur, din multele
aflate n funciune pe Internet. Cnd un server de chei primete o cerere pentru cheia public a unei
SEC. 7.4 POTA ELECTRONIC 619

persoane, el genereaz un rspuns coninnd cheia public, o tampil de timp i data de expirare a
cheii. E! amestec apoi acest rspuns cu MD5 i semneaz rspunsul cu cneia sa privat, astfel nct
cel care a fcut cererea s poat verifica proveniena rspunsului. Rmne ia latitudinea
utilizatorului s asocieze un nivel de ncredere cheilor meninute de administratorul loca! de sistem.
de compania de telefoane, de ACM, de Asociaia Bar, de guvern sau de oricine altcineva:
s intre in afacerea meninerii de chei publice.

PSM-PdYaey Eatiaacedi Mai (pest oi cideffitalttafe sporit)


Spre deosebire de PGP, care a fost iniial opera unui singur om, cel de-al doilea exemplu ai
nostru, PEM {Privacy Esfeaaeed'Mal!), este un standard oficia! Internet i este descris n patru
RFC-uri: RFC 1421 pn la RFC 1424. Foarte pe scurt, PEM acoper acelai teritoriu ca i
PGP: secretul i autentificarea sistemelor de e-mail bazate pe RFC 822. Cu toate acestea, ei
prezint i unele diferene fa de abordarea i tehnologia PGP. IR continuare vom descrie
PEM i apoi i vom compara i pune n contrast cu PGP. Pentru mai multe informaii despre

Mesajele trimise folosind PEM sunt mai nti convertite ntr-o form canonic, astfel nct ele au
aceleai convenii referitoare la spaii albe (de exemplu tab-uri, spaiile de ia sfrit de text) i
folosirea caracterelor line feed i carriage return. Aceast transformare este fcut pentru a elimina
efectele agenilor de transfer de mesaje, care modific mesajele care nu sunt pe placul lor. Fr
aducere n form canonic, astfel de modificri ar putea afecta codurile de dispersie construite din
mesaje la destinaiile lor.
Apoi este calculat un cod ai mesajului, folosind MD2 sau MD5. Acest pas nu este opional ca n
PGP. Dup aceasta, concatenarea codului de dispersie i a mesajului este cripta folosind DES. I~
lumina cunoscutei slbiciuni a unei chei de 56 de bii, aceast alegere este n mod sigur suspect.
Mesajul cripta poate fi apoi codificat utiliznd o codificare n baza 64 i transmis destinatarului,
listele de pot sunt acceptate n mod explicit.
Ca i n PGP, fiecare mesaj este criptat cu o cheie unic, indus i ea n mesaj. Cheia poate fi
protejat fie cu RSA, fie cu DES triplu folosind EDE. In practic toat lumea folosete RSA, aa c
ne vom concentra asupra acestuia. De fapt, suntem obligai: PEM nu spune cum se face
administrarea cheilor cu DES.
n PEM administrarea cheilor este mult mai structurat dect n PGP. Cheile sunt certificate oe
o aaforitate de cerfiicare sub forma unui certificat care conine numele utilizatorului, cheia public
i data de expirare a cheii. Fiecare certificat are un numr de serie unic, necesar pentru identificarea
lui. Certificatele includ o codificare prin dispersie de tip MD5, semnat cu cheia privat a autoritii
de certificare. Ele se conformeaz recomandrilor ITU X.509 pentru certificarea de chei publice i,
prin urmare, folosesc nume X.400 ca exemplu! cu Tom Srnith dat mai nainte.
PGP are o schem similar (fr a folosi X.509), dar are o problem: Trebuie utilizatorul s
se ncread n autoritatea de certificare? PEM rezolv aceast problem confirmnd
autoritile de certificare prin aa-numitele PCA-uri (Policy Cerificatioii Aathorities -
autoriti de certificare a politicii). Acestea, la rndul lor sunt certificate de IPRA (Inferaeti
pstratioE Autlaority - autoritatea de nregistrare a politicii din internet), arbitrul
)rem, care decide cine este bun i cine este ru.
620 NIVELUL APLICAUE CAP. 7

Fiecare PCA trebuie s defineasc o politic oficial fa de nregistrare, pe care s o pun de


acord cu IPRA. Aceste reguli sunt apoi semnate de IPRA i fcute publice. De exemplu, un PCA
poate insista n a fora utilizatorii aflai sub jurisdicie s se prezinte n persoan cu certificatul de
natere, permisul de conducere, paaportul, dou cri de credit de la firme mari, un martor n via
i o cheie public pe dischet. Alt PCA poate accepta nregistrri prin e-mail, pentru strini. Fcnd
publice politicile, utilizatorii au unele baze n a decide n ce autoriti s se ncread. Nu se fac nici
un fel de verificri pentru a vedea dac aceste reguli sunt ntr-adevr aplicate.
Sunt planificate trei tipuri diferite de autoriti de certificare. Un tip organizaional poate
emite certificate pentru angajaii si. Majoritatea companiilor vor utiliza propria autoritate de
certificare. Tipul rezidenial va opera pentru cetenii particulari, cam la fel cum ofertanii de
servicii Internet ofer servicii tuturor celor care sunt dispui s plteasc. n cele din urm, o
schem este planificat pentru nregistrri anonime. Cu attea autoriti de certificare,
necesitatea de grupare a PCA-urilor este mai mult dect clar.

Articol PGP PEM


Suport criptare? Da Da
Suport autentificare? Da Da
Suport nerepudiere? Da Da
Suport compresie? Da Nu
Suport trecerea n form canonic? Nu Da
Suport lista de pot? Nu Da
Folosete codificarea base64? Da Da
Algoritm de criptare a datelor curente IDEA DES
Lungimea cheilor pentru criptarea datelor 128 56
Algoritm curent pentru gestiunea cheilor RSA RSA sau DES
Lungimea cheilor pentru gestiunea cheilor 384/512/1024 Variabil
Spaiul numelui utilizatorului Definit de utilizator X.400
Conform cu X.509? Nu Da
Trebuie s avei ncredere n cineva? Nu Da (IPRA)
Certificarea cheilor Adhoc Ierarhia IPRA/PCA/CA
Revocarea cheilor hazard Mai bun
Pot cei care ascult s citeasc mesajele? Nu Nu
Pot cei care ascult s citeasc semnturile? Nu Da
Standard Internet? Nu Da
Realizat de Mici echipe Comitete de standard

Fig. 7-51. Comparaie ntre PGP i PEM.

Dei rigid ierarhic i birocratic, aceast schem are un avantaj fa de PGP prin faptul c
face potenial practic revocarea certificrii. Revocarea este necesar dac un utilizator
dorete s-i schimbe cheia sa public, de exemplu pentru c ea a fost compromis, sau pentru
c autoritatea sa de certificare a fost spart (sau furat). Revocarea este realizat de ctre
utilizator spunnd autoritii de certificare c a fost compromis cheia sa public (sau posibil
vice-versa). Autoritatea de certificare adaug apoi numrul de serie al certificatului nevalid la
o list a certificatelor revocate, l semneaz i rspndete lista ct mai mult i ct mai departe.
Oricine dorete s trimit un mesaj PEM unui utilizator trebuie s verifice mai nti cea mai
recent list de revocri, pentru a vedea dac cheia public pe care o deine mai este valid. Acest
SEC. 7.5 SURI USENET

proces este analog celui n care un vnztor verific lista crilor de credit furate, nainte de a fi
acceptat. Criticii PEM-ului susin c verificarea aceasta fcut tot timpul nseamn prea mult
munc i c nimeni nu se va obosi s o fac. Suporterii susin c nite calculatoare nu obosesc
niciodat; dac sunt programate s verifice ntotdeauna, ele o vor face.
Unele dintre similitudinile i diferenele dintre PGP i PEM sunt prezentate n Fig. 7-51.
Majoritatea acestor subiecte au fost discutate, dar asupra ctorva merit s facem unele comentarii.
Autentificarea pare mai important n PEM dect n PGP, deoarece este obligatorie ia primul i
opional Ia al doilea. PEM poart de asemenea informaia de autentificare n afara plicului cripat,
ceea ce nseamn c reeaua poate verifica originea fiecrui mesaj. Ca o consecin, indiscreii pot
conoriza cine trimite cui, chiar dac nu pot citi mesajele.
Lsnd toate aceste diferene tehnice ia o parte, exist de asemenea o diferen cultural
surprinztoare. PGP, care nu este un standard Internet oficial, are cultura Internetului. PEM, care
este oficial standard Internet, nu o are. PGP se bazeaz pe ceea ce Dave Clark a numit consens
generai i cod care ruleaz". Cineva (Zimmermann) s-a gndit la o soluie a unei probleme bine
cunoscute, a implementat-o bine i a distribuit-o tuturor sub form de cod surs. PEM a nceput ca o
ptrime de standard oficial, folosind ASN. pentru a defini structuri, X.400 pentru a defini nume i
X.5G9 pentru definirea certificatelor. El folosete o structur organizaionai rigid, aezat pe trei
niveluri, pentru tipuri multiple de autoriti de certificare, completat cu nite reglementri oficiale
de oolltlc a certificrii si necesitatea ca toi s se ncread n IPRA. Implementrile au aprut mai
L T 7 ii. jl

trziu i erau cu mult n urma PGP din punct de vedere al calitii, cantitii i disponibilitii pe
diferite platforme. Pe scurt, PGP arat ca un pachet tipic Internet, pe cnd PEM prezint
majoritatea caracteristicilor unui standard OSI, pe care oamenii din Internet i ursc, iar PTT-urile l
iubesc. V putei nchipui.

io5 TIM USENET


75

i0 Cfirsi "CO t i "


k. i. ?

planetar de grupuri de tiri numit ns aews (reea de tiri). Deseori, ne referim ia reeaua de tiri
drept USENET, care duce cu gndul la o reea fizic UNIX-ia-UNIX, care pe vremuri gestiona
traficul folosind un program numit Eeqp. n zilele noastre, o mare parte din trafic este transmis prin
Internet, dar USENET i Internet nu sunt aceiai lucru. Unele situri Internet nu primesc tiri, iar
altele primesc tiri fr a fi n Internet.
In seciunile urmtoare, vom descrie USENET. nti S vom trata din punctul de vedere ai
utilizatorului. Apoi, vom descrie cum este implementat.

75 USENET din punctul de vedere si atilIzatoraSel

Un grup de tiri este un forum universal de discuii pe teme specifice. Oamenii interesai de acest
subiect pot subscrie" ia un grup de tiri. Cei care au subscris ia un grup pot folosi un tip special de
agent utilizator, un program de citire de tiri (news reader - cititor de tiri), pentru a citi toate
articolele (mesajele) trimise ntr-un grup de tiri. De asemenea, oamenii pot s trimit articole unui
grup de tiri. Fiecare articol trimis unui grup de tiri este transmis automat tuturor celor care aparin
grupului respectiv, oriunde ar fi ei n lume. Transmiterea poate dura de la cteva secunde ia cteva
ore, depinznd de ct de departe se afl de calea obinuit transmiorui i receptorul. De fapt, un
CAP. 7

5
enu? de tiri este ase~"~ or cu o ^s de post, dar interi:.. irnp-enienta~ea este
Ti?rr '^"pi rlp trr*rnr
!
i grupurilor ce tiri este aa OC mare ^probabil peste iuVJuuj5 meat EU rost aranjate ntr-o
Ierarhie pentru a putea gestionate. Figura 7-52 ara nivelele din vrful ierarhilor oficiale". Exist
i alte Ierarhii, dar acestea sunt sau centru utilizri regionale, sau n alte limbi, diferite de englez.
010,01 c

^^6
r ii o i r
ti.dL -"w undite
c:'. L / , W ^ w i V t Llii.jlw^i'vw' ^ii-li1*. '^ w'\w" _^j^_i>w i'-^O';i>'L- vW'v iii.iiJL

-*; ! r ' I H i . ; . .. ' i . ' I i 1 ^ ^- . 'i , i ^. .'.

Sci tiinele fizice jjnginereti


Humanities [ Literatur ijtiiote umaniste
News 1 Discuii despre USENET
Rec [ Activiti recreative, inciusiv sport i muzic
Mise '' Orice care ~u se zotr -este altundeva
Soc s~ecte sozle s
"al!: "ezba:er'r ca: ele. so.ernici i argumentri

calculatorul, riecare om Qiscuii.e renrnee sunt legate ce riaroware-ui sau soit\are-ui caicuaomiui.

lCi^s 'Jl^' t'bt/J'Cii VJ^ii L>!!s

1
^ iil

L i C^'-I^!'. '; :': ,!..'! L C--,~ v v l i i t (

re este ^esat ce acrvitatL recreative si iiiooov-'jn. coace acestea, muiti Qintre cei os se nscriu aici

f^5. 0orsTfr

i i e . ciiaccicoui.a suuiccic CGnuiOvOiSaL ?


QiixiQ uii/eise oUitLii Si
& es^e
^ i <=>'* p

care Eincicneaz aup propriile lui reguli.


Fiecare din categoriile menionate n Fig. 7-52 este mprit recursiv n subeategorii De
exemplu, recsuor este legat de sporturi, mc.spoitJjasketbsM este despre baschet i
SEC. 7.5 IR USENE

programare c. dar .c poate ii nlocui: cu orice ai iimoaj de programare pentru a genera numele
IuI de tiri corespunztor.

i hume i Subiecte acoperite


\ Comp.ai j inteligen artificial
1 Comp.daabases \ Proiectare i impiementare a sistemelor de baze de date ?

\ Comp.iang.c Limbajul de programare C


\ Comp.os.minix Sistemul de operare didactic MEMIX al iui Tanersbaum
i Comp.os.ms-windows.yideo | Hardware i software video pentru Windows
\ Sci.bio.entomoiogyJepidoptera i Cercetri asupra fluturilor i muteior
' Sci.geo.earthquakes l Geologie, seismologie i cutremure
; Sci.med.arthopedics 1 Chirurgia ortopedic
\ HumanitiesJitauthors.shakespeare | Piesee_j poeziile iui Shakespeare
News.groups l Grupuri de discuii poteniai noi
[ News.iists l Liste relative ia USENET 1
i Recarts.poems i Poezie liber
! Recfood.chocoiate | Yurnyitm i
Rec.hunoriunny Ai auzit gluma despre fermierui care ...
Rec.rrusic.foSk l Discisii despre muzica popular ;
Misc.iobs.offered ! Anunuri despre posturi disponibile
Misc.he3ith.diabets3 Sfaturi pentru diabetic; !
Soc.cuture.estonia \ Via i cultur n Estonia ;
! Soc.singles \ interesele celibatarilor :
, Soc.coupie i bsotveni ai Soasingie
; Ta'k.abortion J Muit zgomot pentru nimic ;
Taik.rurnors |_De aici virs zvonurile \
Altaiieri.visiors l Loc pentru raportarea raiduriSor farfuriilor zburtoare
:
A!.bermuda.trianals l Dac citeti vei disprea !n mister [
Ai.sex.voyeurisrr Dac eti curios vezi i singur ;
it.ty.sifHPSons ! Bart si ceiiati ;

FIg. 7-53c O mic selecie ce grupuri de tiri.

7"
ori1'!"^
i.'^i'^ :Lci^

afieaz un rezumat cu o linie Dentru fiecare articol din primul grup de tiri care nu a fost nc citit i
ateapt ca utilizatorul s selecteze un articol sau mai multe pentru citire. Articolele selectate sunt

iiiwl^a. CiatOiii sje u i i fjwillin UuiiAalOiii^i bc SdOSCiiC i S< iCliuxiS ia au

entru anumite grupuri de tiri. Schimbarea unei subscrieri nseamn editarea fiierului local
P
n care apar grupurile de tiri Ia care utilizatorul a subscris. Pentru a face o analogie,
un giup oe s^iii v i ia iGi
rff-r; ^
i,Wv iZjiLiiiW iii iivv i i l i Li

ti Ci Ci iiJ.iAii;LV leX

; t _7P
O

selecteaz o imagine pentru a-I trimite pe calea aleas. Peste o zi, mesajul va ajunge ia aproape toi
cei care fceau parte din grupul de tiri spre care fusese transmis. Este posibil ca s
624 NIVELUL APLICAIE CAP. 7

ncruciat (crosspost) un mesaj, adic s-1 trimitem mai multor grupuri de tiri cu o singur
comand. De asemenea este posibil s se restricioneze distribuia geografic a potei. Anunarea
colocviului din ziua de joi la Stanford s-ar putea s nu-i intereseze prea mult, s zicem, pe cei din
Hong Kong, aa c pota poate fi restricionat la California.
Sociologia USENET-ului este unic i uor de neles. Niciodat nainte nu a fost posibil ca
mii de oameni care nu se cunosc personal, s poarte discuii pe o vast varietate de teme. De
exemplu, acum i se poate oferi posibilitatea cuiva care are o problem, s o transmit pe reea.
Ziua urmtoare, transmitorul s-ar putea s aib 18 soluii pentru acea problem i, cu puin
noroc, doar 17 dintre ele s fie greite.
Din nefericire, unii folosesc noua putere descoperit pentru a comunica cu un grup larg de
oameni n mod iresponsabil. Cnd cineva trimite prin pot un mesaj spunnd: Oamenii ca
tine ar trebui mpucai", spiritele se nfierbnt i urmeaz un torent de mesaje abuzive,
numit rzboi de foc (flamewar).
Aceast situaie poate fi atacat n 2 moduri, unul individual i altul colectiv. In mod
individual, utilizatorii pot instala un fiier de ucidere (killfile), care specific ce articole cu un
subiect anume sau de la o anumit persoan vor fi eliminate dup sosire, nainte de a fi afiate.
Majoritatea cititorilor de tiri permit ca un fir individual de discuie s fie omort. Aceast
trstur este util cnd o discuie tinde s intre ntr-o bucl infinit.
Dac destui dintre cei care au subscris la un grup devin plictisii de poluarea datorat tirilor din
grup, ei pot propune ca grupul de tiri s fie moderat. Un grup de tiri moderat (moderated
newsgroup) este un grup n care o singur persoan, moderatorul, poate trimite prin pot articolele
grupului de tiri. Toate mesajele ctre un grup de tiri moderat sunt trimise automat moderatorului,
care le transmite pe cele bune i le elimin pe cele rele. Unele subiecte au att un grup de tiri
moderat ct i unul nemoderat.
Deoarece n fiecare zi, mii de oameni subscriu la USENET pentru prima dat, aceleai
ntrebri sunt puse iar i iar, de toi nceptorii. Pentru a reduce acest trafic, multe grupuri de
tiri i-au construit un document FAQ (Frequently Asked Questions - ntrebri puse frecvent)
care ncearc s rspund tuturor ntrebrilor pe care le pun nceptorii. Unele dintre ele sunt
foarte detaliate i se ntind pe mai mult de 100 de pagini. Cel ce le gestioneaz e trimite prin
pot o dat sau de dou ori pe lun.

Smiley Semnificaie Smiley Semnificaie Smiley Semnificaie


:-) Sunt fericit =h-) Abe Lincoln :+) Nas mare
:-( Sunt trist, suprat Unchiul Sam Gu
:-| Sunt apatic *<:-) Santa Claus Musta
;-) Fac cu ochiul <:-( Dunce Pr
:-(0) Tip (-: Australian 8-) Poart ochelari
:-(*) Vomit :-)X Om cu botine C:-) Cap mare

Fig. 7-54. Cteva smileys.

USENET este plin de jargoane precum BTW (By The Way - adic), ROFL (Rolling on the floor
laughing - a se tvli pe jos de rs) i IMHO (In My Humble Opinion - dup umila mea prere).
Muli oameni folosesc simboluri ASCII numite smileys sau emoticons (faa zmbitoare i faa trist).
Cteva din cele mai interesante sunt reproduse n Fig. 7-54. Pentru cei mai muli, rotirea crii cu 90
SEC. 7.5 TIRI USENET 625

de grade, n sensul acelor de ceasornic, le face mai clare. Pentru o minicarte care furnizeaz peste
650 de smileys, vedei (Sanderson i Dougherty, 1993).
Dei majoritatea oamenilor folosesc numele real la transmiterea potei, unii doresc s rmn
anonimi, n special cnd trimit pota unor grupuri de tiri controversate sau cnd trimit prin pot
grupurilor de tiri anunuri personale, pentru gsirea de parteneri. Aceast dorin a condus la
crearea retransmitorilor (remailers) anonimi, care sunt servere ce au acces la mesajele de pot
electronic i care schimb cmpurile From:, Sender., i Reply-To:, pentru a le face s includ
referine ctre retransmittor n loc de transmittor. Civa dintre retransmittori asociaz un numr
fiecrui utilizator i transmit mai departe pota adresat acestor numere, aa c oamenii pot
rspunde scrisorilor primite de la transmitorii anonimi precum SWF 25 caut SWM/DWM 20-30
...". Nu este sigur dac aceti retransmittori pot pstra secretul despre identitatea anumiilor
utilizatori cnd poliia local devine interesat (Bariow, 1995).
Deoarece din ce n ce mai muli oameni subscriu la USENET, exist o cerere constant pentru
noi i ot mai specializate grupuri de tiri. Ca urmare, a fost stabilit o procedur de creare a unor
noi grupuri de tiri. S presupunem c cineva prefer gndacii de buctrie i dorete s vorbeasc
cu un alt fan al acestora. El trimite un mesaj la news.givups, numind grupul propus, s zicem,
rec.anirnals.wildlife.cockroaches i descriind de ce este aa de important (gndacii de buctrie sunt
fascinani, sunt 3500 de specii; au culorile rou, galben, verde, maro i negru; au aprut pe pmnt cu
mult naintea primilor dinozauri; au fost probabil primele animale zburtoare .a.rn.d.). De
asemenea, el specific dac grupul trebuie sau nu s fie moderat.
Urmeaz apoi discuia. Momentul desfiinrii se stabilete prin vot, prin pot. Voturile sunt
trimise, identificnd cine a votat i cum (pentru prevenirea fraudelor). Dac da-urile depesc nu-
urile mai mult de 2:1 i dac sunt cu cel puin 100 mai multe da-uri dect nu-uri, moderatorul unui
news.givups trimite un mesaj, acceptnd noul grup de tiri. Acest mesaj este un semnai pentru
administratorii de sistem din lume c noul grup de tiri a primit binecuvntarea i acum este oficial.
Crearea noului grup este mai puin formal n ierarhia alt, acesta fiind motivul pentru care exist
alt. Unele din grupurile de tiri care sunt aproape de limita legal i moral tolerabil nu vor fi
acceptate ntr-un vot public. Adic, oamenii care-i populeaz, trec peste procedura normal i i
creeaz o ierarhie proprie. Cu toate acestea, o mare parte din ierarhia alt este convenional.

7.5=2 Cum este implementat USENET

Cteva dintre micile grupuri de tiri sunt implementate ca liste de pot. Pentru a trimite prin
pot un mesaj unei astfel de liste, cineva l trimite la adresa listei de pot, care realizeaz copii
trimise la fiecare adres din lista de pot.
Cu toate acestea, dac jumtate din studenii unei mari universiti se nscriu la altsex, serverele
se prbuesc sub numrul imens de mesaje sosite. n consecin, n general USENET nu este
implementat folosind liste de pot. n schimb, fiecare sit (campus universitar, companie, sau
furnizor de servicii Internet) memoreaz scrisorile venite ntr-un singur catalog, s-i zicem news, cu
subcataloage pentru comp, sci etc. Acestea, la rndul lor, conin subcataloage precum
news/cornp/os/minbc. Toate tirile primite sunt depozitate n catalogul corespunztor. Cititorii de tiri
i iau articolele de acolo, cnd au nevoie de ele. Acest aranjament face ca fiecare sit s nu necesite
dect o singur copie a fiecrui articol tire, necontnd numrul celor care au subscris la un anumit
grup de tiri. Dup cteva zile, articolelor le expir timpul i sunt eliminate de pe disc.
626 NIVELUL APLICAIE CAP. 7

Pentru acces la USENET, un sit trebuie s aib un newsfeed (surs de tiri) de la un alt sit
din USENET. Se poate considera c toate siturile care primesc tiri sunt ca nite noduri ale
unui graf orientat. Liniile de transmitere care conecteaz perechile de noduri formeaz arcele
grafului. Graful ese USENET. Remarcai c a fi n internet nu este nici necesar, nici suficient
pentru a fi n USENET.
Periodic, fiecare sit care vrea tiri poate testa propria surs (sau propriile surse), ntrebnd dac
au venit tiri noi de ia conectarea precedent. Dac da, tirile sunt coiectate i depozitate n catalogul
adecvat din news. n acest fel, tirile se difuzeaz peste tot n reea. Este ia fel de posibil ca sursa, mai
degrab dect receptorul, s preia iniiativa i s stabileasc contactele cnd sunt tiri noi. Iniial, cele
mai multe situri i trimiteau prin pot sursele, dar acum se folosete rnai mult cealalt variant.
Acum fiecare sit are toate grupurile de tiri. Exist rnai multe motive pentru care se
ntmpl aa. nti, totalul de surse depete 500 MB pe zi i crete rapid. Pentru memorarea
tuturor acestora este necesar un spaiu mare pe disc. n a! doilea rnd, timpul de transmitere i
costul sunt importante. La 28,8 Kbps, dureaz 39 de ore i o linie telefonic dedicat pentru
transmiterea tirilor importante din ultimele 24 de ore. Chiar ia 56 Kbps, obinerea tuturor
tirilor necesit aproape 20 ore avnd o linie dedicat. De fap, volumul total a crescut aa de
mult c au fost create surse prin satelit.
In al treilea rnd, nu fiecare sit este interesat de fiecare subiect. De exemplu, este puin probabil
ca majoritatea oamenilor de ia companiile din Finlanda s vrea s citeasc rec.arts.manga (despre
crile cu glume japoneze). Ie sfrit, cteva grupuri de tiri nu sunt pe gustul administratorilor de
sistem, care ie interzic, n duda interesului considerabil local In decembrie 995, reeaua
CompuServe a oprit (temporar) toate grupurile de tiri care aveau n nume cuvntul sex", deoarece
un mrunt oficial german a crezut c n acest mod s-ar putea combate pornografia. A urmat o zarv
instantanee, imens i atotcuprinztoare.
Articolele de tiri au aceiai format ca mesajele de pot electronic RFC 822, dar cu adugarea
unor noi antete. Aceast proprietate ie face uor de transportat i compatibile cu marea majoritate a
software-uiui de pot existent. Anteteie de tiri sunt definite n RFC 1036. Un exemplu de articol
este redat n Fig. 7-55.

From: yogeS@nyo.edu
[Vi8SS3ge-id:<54731@nyii.edi:>
Subject: Bird Sighing
!
Path: cs.vu.n!sun4nnEU,netinews.spnri!!nk.net!r2.UL .netipcH4.nysj:.ecSu!nsws
Newsgroups: rec.birds
FoSiowup-To: rec.birds
Distrbiition: wor!d
Mntp-Posting-host: nuthaeh.bio.nyia.edu
References:
Qrganization: New York Unsveraly
Lines: 4
Summary: Guess what! saw?

s just saw an osrich on 52nd St and Fifth Ave. n SMew York. s his their migration season? Did snybody
else see it?

Jan Vogel

Fig, 7-55 Un exemplu de articol de stiri.


SEC. 7.5 TIRI USENET 627

Cteva cuvinte despre anteteie de tiri sunt, poate, necesare n continuare. Antetul Path: este o
list de noduri pe care mesajele le traverseaz pentru a ajunge de la surs la destinaie. La fiecare
nod, maina care-1 transmite mai departe i pune numele n list la nceput. Aceast list furnizeaz
calea napoi spre transmitor. Folosirea semnelor de exclamaie (pronunat: bang) se leag de
adresa USENET, care precede DNS-ul.
Antetul NewsGroup: arat cror grupuri de tiri le aparine mesajul. El poate conine chiar mai
mult de un singur nume de grup de tiri. Orice mesaj transmis unor grupuri de tiri multiple conine
toate numele acestora. Deoarece numele multiple sunt permise aici, antetul Followup-To: este
necesar pentru a anuna oamenii unde s trimit comentariile i reaciile, pentru a pune toate
discuiile ulterioare ntr-un singur grup de tiri.
Antetul Distribution: spune ct de departe s difuzeze pota. Poate conine unul sau mai multe
state sau coduri de ri, numele unui sit sau al unei reele, sau world".
Antetul Nntp-Posting-Host: este analog antetului Sender. din RFC 822. Acesta spune care main
a transmis de fapt mesajul, chiar dac el a fost compus pe o main diferit (protocolul NNTP este
protocolul de tiri, descris mai jos).
Antetul References: arat c acesta este rspunsul unui mesaj anterior i furnizeaz ID-ul acelui
articol. Acesta este cerat n toate mesajele care urmeaz i interzis cnd ncepe o nou discuie.
Antetul Organization: poate fi folosit pentru a spune la ce companie, universitate sau agenie se
afl afiliat transmitorul. Articolele care completeaz acest cmp au adesea la sfrit un anun c
dac mesajul este neserios, nu este vina organizaiei.
Antetul Lines: d lungimea corpului mesajului. Liniile din antete i cele albe care separ mesajul
de antete nu se numr.
Liniile Subject: leag subprocesele de discuii mpreun. Muli cititori de tiri au o comand care
permite utilizatorului s vad urmtorul articol pe acelai subiect, mai degrab dect urmtorul
mesaj care sosete. De asemenea, fiierele de ucidere i comenzile kill folosesc acest antet pentru a
ti ce s rejecteze.
In sfrit, antetul Summary: este folosit n mod normal s rezume mesajul care urmeaz. In
mesajele care urmeaz, antetul Subiect, conine Re:" urmat de subiectul original.

NNTP-ProtocoI de transfer al tirilor pria reea

S ne uitm acum la modul n care mesajele sunt difuzate n lume. Algoritmui iniial transmitea
mesajele pe fiecare linie folosit de USENET. Dup ce acesta a fost folosit o perioad, volumul
traficului a fcut aceast schem nepractic, aa nct a trebuit s se realizeze ceva mai bun.
Aceast schimbare a fost reprezentat de protocolul NNTP (Network News Transfer
Protocol - protocol de transfer ai tirilor), care a fost definit n RFC 977. NNTP seamn cu
SMTP; cu un client care transmite comenzi n ASC i un server care transmite rspunsuri ca
numere zecimale codificate n ASCII. Majoritatea mainilor USENET folosesc acum NNTP.
NNTP a fost proiectat n dou scopuri. Primul scop a fost s permit mesajelor de tiri s se
propage de la o main la alta peste o conexiune fiabil (de exemplu, TCP). Al doilea scop a fost s
permit utilizatorilor al cror calculator nu poate primi tiri, s le citeasc la distan. Ambele sunt
larg folosite, dar noi ne vom concentra asupra modului n care mesajele de tiri sunt transmise prin
reea folosind NNTP.
628 NIVELUL APLICAIE CAP. 7

Aa cum am menionat anterior, sunt posibile dou abordri generale. n prima, extragere de
tiri, clientul cheam una dintre sursele sale i cere noi veti. n a doua variant, introducere de tiri,
sursa cheam clientul i-1 anun c are veti. Comenzile NNTP suport la fel de bine ambele
modaliti, ca si citirea la distant a tirilor.
Pentru achiziionarea unor noi mesaje, un client trebuie nti s stabileasc o conexiune TCP cu
portul 119 pe una din surse. n spatele acestui port se afl un demon NNTP, care fie este acolo tot
timpul ateptnd clienii, fie este creat n momentul n care este necesar. Dup ce conexiunea a fost
stabilit, clientul i serverul comunic folosind o secven de comenzi i rspunsuri. Aceste comenzi
i rspunsuri sunt folosite pentru a asigura clientul c va primi toate articolele pe care le solicit, dar
nu duplicate, indiferent ct de multe surse sunt folosite. Principalele comenzi folosite pentru
mutarea articolelor ntre demonii de tiri sunt prezentate n Fig. 7-56.

Comand Semnificaie
LIST D-mi o list a tuturor grupurilor de tiri i a tuturor articolelor pe care le ai
NEWSGROUPS data ora D-mi lista grupurilor de tiri create dup data/ora
GROUP grp D-mi o list a tuturor articolelor din grupul grp
NEWNEWS grps data timp D-mi o list a noilor articolelor din grupurile specificate
ARTICLE id D-mi articolul specificat
POST Am pentru tine un articol care a fost expediat aici
IHAVE id Am articolul id. II vrei?
QUIT Termin sesiunea

Fig. 7-56. Principalele comenzi NNTP pentru difuzia tirilor.

Comenzile LIST i NEWGROUPS permit unui client s afle grupurile pe care le are un server.
Primul furnizeaz o list complet. Al doilea d doar acele grupuri create dup data i timpul
specificat. Dac clientul tie c lista este mare, este mai eficient pentru client s in evidena a ceea
ce deine fiecare dintre sursele proprii i s ntrebe care sunt actualizrile. Rspunsurile la fiecare
dintre aceste comenzi formeaz o list, n ASCII, cu un grup de tiri pentru fiecare linie, dnd
numele grupului de tiri, numrul pe care serverul l are pentru ultimul mesaj, numrul primului
mesaj pe care-1 are serverul i un indicator spunnd dac trimiterea potei ctre acest grup de tiri
este permis.

S: 200 feeder.com NNTP server at your service (rspuns la o nou conexiune)


C: NEWNEWS soc.couples 960901 030000 (sunt tiri noi n soc.couples?)
S: 230 List of 2 articles follows
S: <13281@psyc.berkeley.edu> (art. 1 din cele dou articole din soc.couples este de la Berkeley)
S: <162721@aol.com> (articolul 2 din cele dou articole aflate n soc.couples este de la AOL)
S:. (sfritul listei)
C: ARTICLE <13281@psyc.berkeley.edu> (te rog d-mi articolul Berkeley)
S: 220<13281@psync.berkeley.edu> follows
S: (ntregul articol <13281@ psync.berkeley.edu> este transmis aici)
S:. (sfritul articolului)
C: ARTICLE <162721@aol.com> (te rog d-mi articolul AOL)
S: 220<162721@aol.com> follows
S: (ntregul articol <162721@aol.com> este transmis aici)
S:. (sfritul articolului)
C:NEWNEWS misc.kids 960901 030000 (exist vreun articol nou n misc.kids)
S: 230 List of 1 article folows
SEC. 7.5 SURI USENET 629

S: <43222@bio.rlce.edu> (un artico! de la Rice)


S:. (sfritul listei)
C: ARTiCLE <43222@bio.rice.edu> (te rog d-mi articolul Rice)
S: 220<43222@bio.rice.edu> folows
S: (ntregul articol <43222@bio.rice.edu> este transmis aici)
S:. (sfritul articolului)
C:NEWNEWS 960901 030000
S: 231 2 new group follow
S: rec.pets
S: rec.nude
S:.
C:NEWNEWS rec.pets 0 0 (listeaz oce ai!
S: 230 List of 1 article folows
S: <124@fido.net> {1 articol de la fido.net)
S:. (sfritul listei)
C: ARTICLE <]24@fido.ne> (te rog d-mi articolul fido.net)
S: 220 <124@fido.net> follows
S: (ntregul articoS este transmis aici)
S:.
C: POST
S:340 (te rog trimite-i pota)
C: (se trimite aici articolul expediat de wholesome.com)
S:240
C: IHAVE <5321@foo.com> (artico! primit)
S:435
C: QUIT (Ii am deja, nu mi-l mai trimite)
S:205
(O zi bun)

Fig. 7-57. Modul n care wholesome.com poate achiziiona articole


de la sursele de tiri proprii.

Odat ce clientul cunoate ce grupuri de tiri deine pentru un server, el poate ncepe s ntrebe
ce mesaje are serverul (de exemplu, pentru vechile grupuri de tiri, cnd este folosit NEWGROUPS).
Comenzile GROUP i NEWNEWS sunt folosite n acest scop. Prima furnizeaz lista complet, iar a
doua d doar actualizrile aprute dup data i timpul indicat, n mod normai timpul ultimei
conectri la surs. Primul parametru poate conine asteriscuri, nsemnnd totul De exemplu,
comp.os. * nseamn toate grupurile de tiri care ncep cu irul comp.os.
Dup ce clientul a asamblat o list complet cu ce articole exist i n ce grupuri (sau chiar
nainte de a avea o list complet), poate ncepe s cear mesajele necesare folosind comanda
ARTICLE. Odat ce toate articolele cerute sunt gsite, clientul poate oferi articolele pe care le-a
achiziionat de la celelalte surse folosind comanda IHAVE i articolele care au fost transmise prin
pot folosind comanda POST. Serverul le poate accepta sau refuza, aa cum dorete. Cnd clientul
a terminat, poate ncheia sesiunea folosind QUIT. In acest fel, fiecare main are controlul complet
asupra articolelor primite de la surse, eliminnd toate mesajele duplicate.
Ca un exemplu al funcionrii NNTP-ului, considerm un furnizor de informaii, wholesome.net
care evit controversele cu orice pre, aa c singurele grupuri de tiri oferite sunt socxouples i
misc.kids. Oricum, el este deschis i doritor s aduc alte grupuri de tiri, dac nu conin material
potenial ofensator pentru nimeni. De aceea, el vrea s fie informat despre noile grupuri create, ca
s poat lua o decizie bun pentru clienii si. Un scenariu posibil ntre wholesome.com, acionnd ca
un client i sursa proprie, feeder. corn, acionnd ca un server, este artat n Fig. 7-57. Acest scenariu
NIVELUL APLICAIE CAP. 7

folosete abordarea extragerii de tiri (clientul iniiaz conexiunea pentru a cere tirile). Remarcile
dintre paranteze sunt comentarii care nu fac parte din protocolul NNTP.
n aceast sesiune, wholesorne.com ntreab nti dac acolo este vreo tire pentru
soc.couples. Cnd i se spune c are dou articole, el le adaug pe amndou i le memoreaz n
news/soc/couples ca fiiere separate. Fiecare fiier este numit prin numrul de articol. Apoi,
wkolesome.com ntreab despre miscMds i i se spune dac acolo este un articol. El l adaug i
pe aceia i i pune n news/misc/Mds.
Avnd toate tirile despre grupurile pe care ie are, acum verific noile grupuri i i se spune c au
aprut dou noi grupuri care au fost create de ia ultima sesiune. Unul dintre ele arat promitor,
aa c articolele sale sunt adugate. Cellalt pare nfiortor, aa c nu este luat n considerare
(Wholesonie.com a fcut o mare investiie n software-ul AI pentru a face posibil s hotrasc ce s
transmit uitndu-se la nume).
Dup ce a achiziionat toate mesajele dorite, wholesome.com ofer feeder.com-uM un nou articol
trimis prin pot de altcineva la situl su. Oferta este acceptat i mesajul este transferat. Acum
whoiesome.com ofer alt mesaj, unui care vine de la cealalt surs a sa. Deoavecefeeder.com l are
deja, l refuz. n sfrit, whoiesome.com termin sesiunea i elibereaz conexiunea TCP.
Metoda de introducere a tirilor este similar. Ea ncepe cu apelul sursei ctre o main ce
trebuie s recepioneze tiri. Sursa pstreaz n mod normal listele grupurilor de tiri ale
clienilor si i ncepe prin anunarea primului mesaj n primul dintre aceste grupuri de tiri,
folosind comanda HAVE. Recipientul potenial verific apoi tabelele proprii pentru a vedea
dac deja conine articolul i i poate accepta sau rejeca. Dac articolul este acceptat, ei este
transmis, urmat de o linie coninnd un punct. Apoi sursa anun ai doilea mesaj i aa mai
departe, pn cnd toate tirile au fost transferate.
O problem legat de ambele metode, de punere, respectiv scoatere de tiri, este c ele
folosesc metoda oprete-te i atept. n mod tipic, 100 msec sunt pierdute ateptnd un
rspuns la o ntrebare. Cu 100.000 sau mai multe mesaje de tiri pe zi, acest timp pierdut se
adun, ajungnd ia valori substaniale.

Web-ul este un context arhitectural pentru accesul la documente, rspndite pe mii de


maini din Internet, ntre care exist legturi. In 5 ani a evoluat de la o aplicaie pentru
transmiterea de date utile pentru fizica energiilor nalte la o aplicaie despre care milioane de
oameni cred c este Internetul. Popularitatea sa enorm se datoreaz faptului c are o
interfa grafic plin de culoare, uor de utilizat de ctre nceptori i n acelai timp ofer o
cantitate imens de informaie - de ia aborigieni la zoologie pe aproape orice subiect posibil.
Web-ul (cunoscut i ca WWW) a aprut n 1989 la CERN, Centrul European de Cercetri
Nucleare. CERN are cteva acceleratoare utilizate de echipe mari de cercettori din rile
europene pentru cercetri n fizica particulelor. Deseori aceste echipe au membri din peste zece ri.
Majoritatea experienelor sunt foarte complicate i necesit ani de pregtire i construire de
echipamente. Web-ul a aprut din necesitatea de a permite cercettorilor rspndii n lume s
colaboreze utiliznd colecii de rapoarte, planuri, desene, fotografii i alte tipuri de documente aflate
ntr-o continu modificare.
SEC. 7.6 WORLD WIDE WEB 631

Propunerea iniial pentru crearea unei colecii de documente avnd legturi ntre ele
(web) a fost fcut de fizicianul Tim Berners-Lee, fizician la CERN, n martie 1989. Primul
prototip (bazat pe text) era operaional 18 luni mai trziu. n decembrie 1991, s-a fcut o
demonstraie public la conferina Hypertex'91 n San Antonio, Texas. Aciunea a continuat n
anul urmtor, fiind ncununat cu realizarea primei interfee grafice, Mosaic, n februarie 1993
(Vetter .a, 1994).
Mosaic a fost att de popular nct un an mai trziu, autorul su, Marc Andreessen, a
prsit NCSA (Centrul naional pentru aplicaiile supercalculatoareor), unde Mosaic-ul a fost
dezvoltat, pentru a forma o nou companie, Netscape Communications Corp., care se ocupa
cu dezvoltarea de software pentru Web. Cnd Netscape a devenit o companie public n 1995,
investitorii, care probabil c au crezut c este vorba de un fenomen de tip Microsoft, au pltit
1,5 miliarde de dolari pentru aciunile companiei. Acest record a fost cu att mai neateptat cu
ct compania avea un singur produs, opera n deficit i anunase probabilii investitori c nu se
ateapt la beneficii n viitorul apropiat.
n 1994, CERN i M.I.T. au semnat o nelegere pentru a forma Consoriul World Wide Web, o
organizaie care are ca obiectiv dezvoltarea Web-ului, standardizarea protocoalelor, i ncurajarea
interoperabilitii ntre situri. Berners-Lee a devenit director. De atunci, sute de universiti i
companii au intrat n consoriu. M.I.T. coordoneaz partea american a consoriului n timp ce
centrul de cercetri francez, INRIA, coordoneaz partea european. Dei exist foarte multe cri
despre Web, cel mai bun loc pentru gsirea unor informaii la zi despre el este (n mod natural) chiar
Web-ul. Pagina consoriului are adresa http:llwww.w3.org. Cititorii interesai vor gsi acolo legturi
la pagini care acoper toate documentele i activitile consoriului.
n urmtoarele seciuni, vom descrie cum se prezint Web-ul utilizatorilor, dar mai ales modul
de funcionare intern. Deoarece Web-ul este un sistem client-server, vom discuta att aspectele
referitoare la client (adic utilizator) ct i cele referitoare la server. n continuare vom examina
limbajele n care sunt scrise paginile de Web (HTML i Java). n final, se prezint cum se poate gsi
o informaie pe Web.

7.6.1 Aspectele privind clientul

Din punctul de vedere al utilizatorului, Web-ul const dintr-o colecie imens de documente
rspndite n toat lumea, numite pagini. Fiecare pagin poate s conin legturi (indicatori) ia alte
pagini, aflate oriunde n lume. Utilizatorii pot s aleag o legtur (de exemplu prin execuia unui
clic) care i va aduce la pagina indicat de legtur. Acest proces se poate repeta la nesfrit, fiind
posibil s se traverseze n acest mod sute de pagini legate ntre ele. Despre paginile care indic spre
alte pagini se spune c utilizeaz hipertext.
Paginile pot s fie vzute cu ajutorul unui program de navigare (browser). Mosaic i Netscape
sunt cele mai cunoscute programe de navigare. Programul de navigare aduce pagina cerut,
interpreteaz textul i comenzile de formatare coninute n text i afieaz pagina, formatat
corespunztor, pe ecran. Un exemplu este prezentat n figura 7-58(a). Ca majoritatea paginilor de
Web, ncepe cu un titlu, conine informaii i se termin cu adresa de pot electronic a celui care
menine pagina. irurile de caractere care reprezint legturi la alte pagini, se numesc hiper-
legturi, sunt afiate n mod diferit, fiind subliniate i/sau colorate cu o culoare special. Pentru a
selecta o legtur, utilizatorul va plasa cursorul pe zona respectiv (utiliznd mausul sau sgeile de
632 NIVELUL APLICA1IE CAP. 7

pe tastatur) i comand selecia (cu ajutorul mausului sau apsnd tasta ENTER). Dei exist
programe de navigare fr interfa grafic, ca de exemplu Lynx, ele nu sunt att de utilizate ca
programele de navigare grafice, astfel nct n continuare ne vom referi numai la ultimele. Au fost
dezvoltate i programe de navigare bazate pe voce.

WELLCOME TO THE UNIVERSTY OF EAST PODUNK'S WWW HOME PAGE

Campus Information
D
Admissions information
D
Campus map
a
Directions to campus
n
The UEP student body

Academic Departments
D Department of Animal Psychology
n
Department of Alternative Studies
D
Department Microbiotic Cooking
n
Department Nontraditional Studies
D
Department of Tradiional Studies

! Webmaser @ eastpodunk. edu


{a}

THE DEPARTMENT OF ANIMAL PSYCHOLOGY

sinformation for prospective majors


Personnel
D
Faculty rnembers
Q
Graduate students
n
Nonacademic staff

QResearch Projects
Positions available
Our most popular courses
D
Deaiing with herbivores
n
Horse management
Q Organice rat contro
n
Negotiating with your pet
n
User-friendly dog riouse constructori
Full list of courses

Webmaster @ amimaSpsyc.sastpodunk.edu

(b)

Fig. 7-58. (a) O pagin de Web. (b) pagina ia care se ajunge dac se selecteaz
Department of Animal Psychology

Utilizatorii care sunt interesai s afle mai multe despre Department of Animai Psichoiogy" vor
selecta numele respectiv (apare subliniat). Programul de navigare va aduce pagina la care este legat
numele respectiv i o va afia, aa cum se vede n Fig. 7-58(b). irurile subliniate aici pot s fie
selectate la rndul lor pentru a aduce alte pagini i aa mai departe. Noua pagin se poate afla pe
aceeai main ca i prima sau pe o main aflat undeva pe glob la polul opus. Utilizatorul nu va ti.
Aducerea paginilor este realizat de ctre programul de navigare, fr nici un ajutor din partea
SEC. 7.6 WORLD WIDE WEB 633

utilizatorului. Dac utilizatorul se va ntoarce la prima pagin, legturile care au fost deja utilizate
vor fi afiate altfel dect celelalte (subliniate cu linie punctat sau utiliznd o alt culoare) pentru a fi
deosebite de cele care nu au fost nc selectate. De notat c selecia liniei Campus Infotmation din
prima pagin nu are nici un efect. Nu este subliniat, ceea ce nseamn c este pur i simplu un text
care nu este legat de o alt pagin.
Majoritatea programelor de navigare au numeroase butoane i opiuni care ajut navigarea
prin Web. Multe au un buton pentru revenirea la pagina anterioar, un buton pentru a merge
la pagina urmtoare (acest buton este operaional numai dup ce utilizatorul s-a ntors napoi
dintr-o pagin) i un buton pentru selecia paginii personale (home page). Majoritatea
programelor de navigare au un buton sau un meniu pentru nregistrarea unei adrese de pagin
(bookmark) i un altul care permite afiarea unor adrese nregistrate, fcnd astfel posibil
revenirea la o pagin cu ajutorul unei simple selecii realizate cu mausul. Paginile pot s fie
salvate pe disc sau tiprite. Sunt disponibile numeroase opiuni pentru controlul ecranului i
configurarea programului de navigare conform dorinelor utilizatorului. O comparaie a nou
programe de navigare este prezentat n (Berghel, 1996).
n afar de text obinuit (nesubliniat) i hipertext (subliniat), paginile de Web pot s
conin iconie, desene, hri, fotografii. Fiecare dintre acestea poate s fie, n mod opional,
legat la alt pagin. Dac se selecteaz unul dintre aceste elemente, programul de navigare va
aduce pagina respectiv i o va afia, aa cum se ntmpl n cazul selectrii unui text. Pentru
imaginile care sunt fotografii sau hri, alegerea paginii care se aduce poate s depind de
regiunea din imagine pe care se face selecia.
Nu toate paginile sunt afiabile. De exemplu, pot s existe pagini care conin nregistrri audio,
clip-uri video sau ambele. Dac paginile de hipertext sunt combinate cu alte tipuri de pagini,
rezultatul se numete hiper-media. Numai o parte din programele de navigare pot s afieze orice
tip de hiper-media. Cele care nu pot verific un fiier de configurare ca s afle cum s trateze datele
primite. n mod normal, fiierul de configurare conine numele unui program de vizualizare extern
sau al unui program auxiliar pentru aplicaie, care va fi utilizat pentru a interpreta coninutul paginii
aduse. Dac un astfel de program nu este specificat, atunci programul de navigare poate s cear
utilizatorului s specifice un program de vizualizare. Dac nu exist un astfel de program, utilizatorul
poate s indice programului de navigare s salveze pagina adus ntr-un fiier pe disc sau s o
abandoneze. Utilizarea unui generator de voce ca program auxiliar permite chiar i utilizatorilor orbi
s acceseze Web-ul. Alte programe auxiliare conin interpretoare pentru limbaje speciale pentru
Web, permind aducerea i execuia programelor din paginile de Web. Acest mecanism permite
extinderea funcionalitii Web-ului.
Multe pagini de Web conin imagini de dimensiuni mari, pentru care ncrcarea dureaz mult.
De exemplu, aducerea unei imagini necompresate de 640 x 480 (VGA) cu 24 de bii pe pixel (922
KB) dureaz cam 4 minute, dac se utilizeaz o linie de modem de 28.8 Kbps. Unele programe de
navigare trateaz problema ncrcrii lente ncrcnd i afind mai nti textul i apoi imaginile.
Aceast strategie ofer utilizatorului ceva de citit ct timp ateapt, i n acelai timp i permite s
renune la pagina respectiv dac nu este destul de interesant ca s merite ateptarea. O alt
strategie este de a oferi opiunea de a dezactiva aducerea i afiarea automat de imagini.
Unii creatori de pagini de Web ncearc s trateze altfel problema utilizatorilor plictisii, afind
imaginile ntr-un mod special. Mai nti apare rapid o imagine ntr-o rezoluie foarte sczut. Apoi
se mbuntete calitatea imaginii. Pentru utilizator apariia imaginii dup cteva secunde, chiar i
634 NIVELUL APLICAIE CAP. 7

ia o rezoluie sczut, este de multe ori de preferat fa de situaia n care acesta urmrete modul n
care se deseneaz imaginea linie cu linie.
Unele pagini de Web conin formulare care cer utilizatorului s introduc informaii. Aplicaiile
tipice pentru formulare sunt cutri ntr-o baz de date pentru o intrare specificat de utilizator,
comandarea unui produs sau participarea la un sondaj de opinie. Alte pagini de Web conin hri
care permit utilizatorilor s selecteze poriuni pentru a obine informaii despre anumite zone
geografice sau pentru a realiza o mrire sau o micorare a imaginii afiate. Utilizarea formularelor i
a imaginilor cu zone seiectabile necesit prelucrri mai sofisticate dect pur i simplu aducerea unei
pagini. O s descriem mai trziu cum sunt implementate aceste faciliti.
Unele programe de navigare utilizeaz discul local pentru a memora temporar paginile pe care
Ie aduc. nainte ca o pagin s fie adus, se verific dac ea nu se gsete deja n memoria
temporar. Dac da, se verific numai dac pagina este nc actual. In caz afirmativ, nu mai este
necesar readucerea paginii. Ca rezultat, selecia butonului BACK pentru a vedea pagina
precedent are un efect foarte rapid.
Pentru a permite utilizarea unui program de navigare n Internet, un calculator trebuie s fie
legat direct n Internet sau cel puin s aib o conexiune SLIP sau PPP la un ruter sau la un alt
calculator care este legat direct n Intemet. Aceast cerin apare deoarece aducerea unei pagini de
ctre un program de navigare presupune stabilirea unei conexiuni TCP cu calculatorul pe care este
memorat pagina, i apoi transmiterea unui mesaj, utiliznd conexiunea, pentru a cere pagina.
Corespunztor, programul de navigare nu poate s lucreze dac nu se poate stabili o conexiune TCP
spre un calculator din Internet.
Eforturile pe care ie fac unii utilizatori pentru a avea acces la Web sunt uneori surprinztoare.
Exist cel puin o companie care ofer servicii de tip Web-Fax. Un client fr acces la Intemet poate
s se conecteze ia serverul de Web-Fax prin intermediul unui telefon cu tastatur digital. Indicnd
prin intermediul tastaturii digitale codul unei pagini de Web o va primi prin Fax.

Pentru orice server de Web un proces ascult portul 80 TCP pentru conexiuni iniiate de ctre
clieni (n mod normai programe de navigare). Dup ce s-a stabilit o legtur, clientul trimite o
cerere i serverul trimite un rspuns. Apoi conexiunea este eliberat. Protocolul care descrie cererile
i rspunsurile permise se numete HTTP. Vom studia acest protocol n detaliu n continuare, dar
un exemplu simplu poate s ofere o idee referitoare ia modul n care funcioneaz servereie de Web.
Figura 7-59 prezint modul n care diferitele componente ale modelului Web lucreaz mpreun.
Pentru acest exemplu putem s considerm c utilizatorul tocmai a selectat un text sau o iconi
care indic spre pagina ai crei nume (URL - Uniform Resource Locator - adresa uniform pentru
localizarea resurselor) estehttp://www.w3.or%/h)pertext/WWW/TlwProject. html.
Vom explica ce nseamn URL mai trziu, n cadrul capitolului curent. Deocamdat, este
suficient s tim c un URL are trei pri: numele protocoiului (htp), numele calculatorului pe care
se gsete pagina (www.w3.org) i numele fiierului care conine pagina hypertextJWWW/
theProjecthtml).
SEC. 7.6 WORLD WIDE WEB 635

Server Server
Client abc.com xyz.com
Pagin curent
afiat de programul
de navigare
Hiper-legtur

spre abc.com

Programul
de navigare

Pe aceast conexiune
este utilizat HTTP

Fig. 7-59. Componentele modelului Web.

Etapele care se parcurg ntre momentul n care se face selecia i afiarea paginii aduse
sunt urmtoarele:
1. Programul de navigare determin URL (pe baza seleciei).
2. Programul de navigare ntreab DNS care este adresa IP pentru www.w3.org.
3. DNS rspunde cu 18.23.0.23.
4. Programul de navigare realizeaz conexiunea TCP cu portul 80 al 18.23.0.23.
5. Trimite o comand GET hypertext/WWW/TheProject.html.
6. Serverul www. w3. org transmite fiierul TheProjecLhtml.
7. Conexiunea TCP este eliberat.
8. Programul de navigare afieaz textul din TheProjecLhtml.
9. Programul de navigare aduce i afieaz toate imaginile din TheProjecLhtml.

Multe programe de navigare afieaz care este etapa care se execut ntr-o fereastr de stare, n
partea de jos a paginii. n acest mod, dac performanele sunt slabe, utilizatorul poate s tie dac
este vorba de faptul c DNS nu rspunde, c serverul nu rspunde, sau pur i simplu de congestia
reelei n timpul transmisiei paginii.
Trebuie s menionm faptul c pentru fiecare imagine dintr-o pagin (iconi, desen,
fotografie etc.) programul de navigare stabilete o nou conexiune TCP cu serverul
A

corespunztor pentru a aduce imaginea respectiv. In mod corespunztor, dac o pagin


conine multe iconie, toate pe acelai server, stabilirea, utilizarea i eliberarea unei conexiuni
noi pentru fiecare dintre ele nu reprezint o soluie foarte eficient, dar menine
implementarea foarte simpl. Urmtoarele versiuni ale protocolului vor avea n vedere
aspectele de eficien. O propunere este prezentat n (Mogul, 1995).
636 NIVELUL APLICAIE CAP. 7

C: tenet www.w3.org 80
T:Trying 18.23.0.23 ...
T: Connected o www.w3.org
C: GET/hypertext/WWW/TheProjec.hml HTTP/1.0
C:
S: HTTP/1.0 200 Document follows
S:M!ME-Version:1.0
S: Server: CERN/3.0
S:Conent-Type: text/html
S:Conten Lengh: 8247
S:
S:<HEADxTITLE> The World Wide Web Consorium (W3C) </TITLEx/HEAD>
S:<BODY>
S:<H1xlMG ALIGN=MIDDLE> ALT="W3C" SRC="lcons/WWW/w3c_96x67.gif">
S:The World Wide Web Consortium </H1/> <P>
S:
S:The World Wide Web is the universe of network-accessible informaticii.
S:The <A HREF="Consortium/"> World Wide Web Consortium </A>
S:exist to realize he full potenial of he Web. <P>
S:
S:W3C works with the global comunity to produce
S: <A HREF="#Specifications"> specifications </A> and
S: <A HREF="#Reference"> reference.software </A> .
S:W3C is funded by industrial
S: <A HREF="Consortium/Member/List.htm!"> members </A>
S:bu its products are freely availabie to aii. <P>
S:
S:lnthis document:
S:<menu>
S:<Ll> <A HREF="#Specifications"> Web Specifications and Deveopment Areas </A>
S:<L!> <A HREF="#Reference"> Web Software </A>
S:<!_!> <A HREF="#Community"> The World Wide Web and the Web Communiy </A>
S:<Li> <A HREF="#Joining"> Getting involved with he W2C </A>
S:</menu>
S:<PxHR>
S:<P> W3C is hosed by the
S: <A HREF="http://www.!cs.rnit.edu/"> Laboratory for Computer Science </A> at
S: <A HREF="http://web.mit.edu/"> MIT </A> , and
S:n Europe by <A HREF="http://www.inria.fr/"> SNRIA </A> .
S:<BODY>

Fig. 7-60. O sesiune simpl de obinere a unei pagini de Web.

Deoarece HTTP este un protocol ASCII ca i SMTP, este foarte simplu pentru o persoan aflat
la un terminal (deci nu program de navigare) s discute direct cu un server Web. Este nevoie numai
de o conectare TCP pe portul 80 al serverului. Cel mai simplu mod de a obine o astfel de conexiune
este utilizarea programului Telnet. Figura 7-60 prezint o sesiune n care se realizeaz o astfel de
discuie. In acest exemplu, liniile marcate cu C: sunt introduse de ctre utilizator (client), liniile
SEC. 7.6 WORLD WIDE WEB 637

marcate cu T: sunt afiate de ctre programul Telnet, iar liniile marcate cu S: sunt produse de ctre
serverul de la M.I.T.
Cititorii sunt ncurajai s ncerce aceast sesiune (de preferat dintr-un sistem UNIX, deoarece n
alte sisteme nu se obine starea conectrii). n linia GET trebuie respectate spaiile i numrul de
versiune a protocolului, de asemenea este necesar o linie goal dup comanda GET. Ca rezultat,
textul care se obine va diferi de cel prezentat n Fig. 7-60 din trei motive. Primul motiv - exemplul a
fost scurtat ca s ncap ntr-o singur pagin. Al doilea motiv - textul a fost curat puin pentru ca
s nu l pun ntr-o situaie dificil pe autorul fiierului HTML, care, dei se ateapt ca zeci de mii
de oameni s viziteze i s examineze pagina afiat, nu se ateapt ca cineva s se uite i la textul
HTML care o creeaz. Al treilea motiv - coninutul paginii este foarte des actualizat. n orice caz,
exemplul ofer o imagine rezonabil asupra modului n care funcioneaz HTTP.
Exemplul indic urmtoarele. Clientul, n cazul nostru o persoan, dar n mod normal un
program de navigare, se conecteaz nti la un server i apoi transmite o comand cernd o anumit
pagin i specificnd protocolul i versiunea care se vor utiliza (HTTP/1.0). n linia 7 serverul
rspunde cu o linie de stare care descrie ce protocol va utiliza (acelai cu al clientului) i codul 200,
care arat c operaia decurge corect. Pe linia urmtoare se transmite un mesaj conform RFC 822
MIME, din care sunt prezentate numai primele cinci linii de antet (urmtoarele au fost omise
pentru a face economie de spaiu). Urmeaz o linie goal i corpul mesajului. Pentru a transmite o
poz, cmpul Content-Type poate s conin:

Content-Type:lmage/GIF

n acest mod, tipurile MIME permit transmiterea unor obiecte arbitrare n modul
standard. Cmpul MIME Content-Transfer-Encoding nu este necesar, deoarece TCP permite
irurilor de octei s fie transmise, chiar i poze, fr modificri. Semnificaia comenzilor
cuprinse ntre paranteze unghiulare utilizate n pagina de exemplu o s fie precizat mai trziu
n cadrul capitolul curent.
Nu orice server tie HTTP. n particular, multe servere vechi utilizeaz FTP, Gopher sau alte
protocoale. Deoarece multe informaii utile sunt disponibile pe servere FTP sau Gopher, unul dintre
obiectivele proiectrii Web-ului este s fac aceste informaii disponibile i pentru utilizatorii
acestuia. O soluie este ca programul de navigare s utilizeze protocoalele respective atunci cnd
discut cu servere de FTP sau Gopher. Unele dintre ele, utilizeaz de fapt aceast soluie, dar a face
programele de navigare s neleag orice protocol posibil nseamn ca acestea s devin mult prea
mari n mod nejustificat.
Se utilizeaz o alt soluie: servere intermediare (proxy) (Luotonen and Altis, 1994). Un
server intermediar este un fel de poart (gateway) care utilizeaz protocolul HTTP pentru
comunicaia cu programul de navigare i FTP, Gopher sau alte protocoale cu serverul. El
accept cereri HTTP i le traduce n, de exemplu, cereri FTP, astfel c programul de navigare
nu trebuie s tie dect HTTP. Un server intermediar poate s fie un program care ruleaz pe
aceeai main ca i programul de navigare sau poate s fie executat pe o alt main din
reea, care deservete mai multe programe de navigare. Figura 7-61 prezint diferena ntre un
program de navigare care tie FTP i unul care utilizeaz un intermediar.
638 NIVELUL APLICAIE CAP. 7

Cerere FTP
HTTP
Server
Program de FTP
navigare Rspuns FTP

HTTP Cerere HTTP


Intermediar Server
Program de FTP FTP
navigare Rspuns HTTP Rspuns FTP

Fig. 7.61. (a) Un program de navigare care tie FTP.


(b) Un program de navigare care nu tie.

De multe ori utilizatorii i configureaz programele de navigare pentru a utiliza servere


intermediare pentru protocoalele pe care programul de navigare nu ie cunoate. n acest mod crete
domeniul de informaii accesibile.
Serverele intermediare sunt utilizate att pentru conversia de protocoale ct i pentru alte funcii
importante, de exemplu folosirea memoriei ascunse (caching). Un server intermediar care utilizeaz
memorie ascuns memoreaz toate paginile care trec prin el. Cnd un utilizator cere o pagin,
serverul intermediar verific dac are pagina. Dac o are, va testa dac pagina este actual. Dac
este actual, o va transmite utilizatorului, iar dac nu va aduce o nou copie.
O organizaie poate s pun un server intermediar n interiorul zidului de protecie (firewall);
astfel utilizatorii au acces la Web, fr s aib acces complet'la Internet. n aceast configuraie,
utilizatorii pot s discute cu serverul intermediar care va discuta cu serverele aflate la distan i va
aduce pagini n numele clienilor. Acest mecanism se poate utiliza de exemplu n licee pentru a bloca
accesul la servere care conin informaii pe care directorul ie consider nepotrivite pentru mintea
fraged a tinerilor.
Pentru informaii referitoare ia unul dintre cele mai populare servere Web (demonul HTTP
NCSA) i performanele sale vezi (Katz .a., 1994 i Kwan .a., 1995).

HTTP - HyperText Transfer Protocol

Protocolul de transfer standard utilizat de Web este HTTP (HTTP-HyperText Transfer


Protocol - protocol de transfer pentru hipertext). Fiecare interaciune const dintr-o cerere
ASCII, urmat de un rspuns MIME conform RFC 822. Cu toate c utilizarea TCP pentru
conexiuni de transport este foarte obinuit, el nu este impus oficial de ctre standard. Dac
reelele ATM vor deveni destul de sigure, cererile HTTP i rspunsurile ar putea s apar i ca
mesaje AAL 5.
HTTP este n continu evoluie. Cteva versiuni sunt n utilizare i altele noi sunt n curs de
implementare. Ceea ce prezentm n continuare sunt noiunile de baz care probabil c nu se vor
schimba, dar anumite detalii pot s fie diferite n versiunile urmtoare.
Protocolul HTTP const din dou tipuri de elemente: mulimea cererilor de la programele de
navigare ctre servere i o mulime de rspunsuri care merg n sens invers. S ie tratm pe rnd.
SEC. 7.6 WORLD WIDE WEB 639

Toate versiunile noi de HTTP suport dou tipuri de cereri: simple i complete. O cerere simpl
este doar o linie GET n care se indic pagina dorit, fr specificarea versiunii de protocol.
Rspunsul este format numai din pagin, fr antete, fr MIME, fr nici o codificare. Pentru a
vedea cum funcioneaz, se poate ncerca o conexiune la portul 80 pentru www.w3.org (aa cum se
indic n prima linie din figura Fig. 7-60) dup care se scrie:

GET hypertext/WWW/TheProject.html

dar fr HTTP/1.0. Pagina va fi transmis fr nici o indicaie referitoare la coninut. Acest


mecansim este necesar pentru compatibilitatea cu versiuni vechi. Utilizarea sa va disprea pe
msur ce programele de navigare i serverele bazate pe cereri complete vor deveni standard.
Cererile complete sunt indicate de prezena versiunii de protocol n linia GET, ca n Fig. 7-60.
Cererile pot s fie formate din mai multe linii, urmate de o linie alb, care indic sfritul cererii,
acesta fiind motivul prezenei unei linii albe n figura 7-60. Prima linie a unei cereri complete conine
comanda (GET este numai una dintre posibiliti), pagina dorit i protocolul/versiunea. Liniile
urmtoare formeaz antetul conform RFC 822.
Dei HTTP a fost proiectat pentru utilizarea pentru Web, el este mult mai general dect
este necesar, avnd o deschidere pentru viitoare aplicaii orientate-obiect. Din acest motiv,
primul cuvnt dintr-o cerere complet este numele metodei care se va executa asupra paginii
Web (sau a unui obiect n general). Metodele sunt listate n Fig. 7-62. Cnd se vor accesa
obiecte generale, este posibil s devin disponibile i metode suplimentare, specifice
obiectelor. Pentru numele comenzilor este semnificativ utilizarea literelor mari/mici, de
exemplu GET este un nume corect, n timp ce get nu.

Metoda Descriere
GET 0 cerere de citire a unei pagini Web
HEAD 0 cerere de citire a antet-ului unei pagini de Web
PUT 0 cerere de memorare a unei pagini de Web
POST Adugarea la o resurs cu nume (de exemplu o pagin de Web)
DELETE tergerea unei pagini de Web
LINK Conectarea a dou resurse existente
UNL1NK ntreruperea unei conexiuni dintre dou resurse

Fig. 7-62. Metode de cerere standard pentru HTTP.

Metoda GET cere serverului s aduc pagina (prin asta nelegem obiect, n general),
codificat n mod corespunztor n MIME. Dac cererea GET este urmat de un antet f-
Modified-Since, serverul transmite datele numai dac ele au fost modificate de cnd s-a fcut
aducerea lor. Utiliznd acest mecanism, un program de navigare care trebuie s afieze o
pagin memorat poate s cear condiionat aducerea, indicnd timpul de modificare asociat
paginii. Dac pagina memorat este nc valid, serverul rspunde indicnd numai faptul c
pagina este nc valid, eliminnd astfel consumul de timp presupus de readucere a paginii.
Metoda HEAD cere numai antetul mesajului, fr s cear i pagina propriu-zis. Aceast
metod poate s fie utilizat pentru a afla cnd s-a fcut ultima modificare, pentru a culege
640 NIVELUL APLICAIE CAP. 7

informaii pentru indexare, sau numai pentru a verifica corectitudinea unui URL. Nu exist comenzi
HEAD condiionate.
Metoda PUT este inversa metodei GET: n loc s se citeasc o pagin, scrie pagina. Aceast
metod permite s se construiasc o colecie de pagini de Web pe un server la distan. Corpul
cererii conine pagina. Pagina poate s fie codificat utiliznd MIME, caz n care liniile care
formeaz comanda PUT pot s includ Content-Type i anete de autentificare, pentru a demonstra
c ntr-adevr cel care face cererea are dreptul s o fac.
Metoda POST este similar cu metoda PUT. i ea conine un URL, dar n loc s nlocuiasc
date existente, noile date se vor aduga ntr-un mod general. De exemplu, se poate transmite un
mesaj la un grup de tiri sau aduga un fiier la un sistem de informare n reea (BBS). Este clar c n
acest mod se dorete ca Web-ul s preia i funcionalitatea sistemului de tiri USENET.
DELETE realizeaz ceea ce indic numele su: tergerea unei pagini. Ca i la PUT,
autentificarea i drepturile de acces joac aici un rol important. Nu exist nici o garanie c operaia
reuete, deoarece chiar dac serverul dorete s execute tergerea, fiierul poate s aib atribute
care s interzic serverului HTTP s l modifice sau s l tearg.
Metodele LINK i UNLINK permit conectarea pentru stabilirea unor conexiuni ntre pagini i
alte resurse. Fiecare cerere primete un rspuns constnd din linia de stare i informaii
suplimentare (de exemplu, o parte sau toat pagina Web). Linia de stare poate s conin codul 200
(operaie terminat' corect), sau un cod de eroare, de exemplu 304 (nemodifica), 400 (cerere
eronat) sau 403 (interzis).
Standardele HTTP descriu n detaliu anteteie i corpul mesajelor. Sunt foarte asemntoare cu
mesjale MIME conforme cu RFC 822, aa c nu le vom mai discuta aici.

Paginile de Web sunt scrise ntr-un limbaj numit HTML (Hypertext Markup Langaage - limbaj
de marcare hipertext). HTML permite utilizatorilor s produc pagini care includ texte, grafic i
indicatori la alte pagini de Web. Vom ncepe s studiem HTML cu aceti indicatori, pentru c ei
reprezint tocmai mecanismul care ine Web-ul conectat.

Am spus de mai multe ori c o pagin de Web poate s conin referine ia alte pagini. S
explicm cum sunt implementate aceste referine. nc de la crearea Web-ului, a fost clar c pentru a
avea o pagin care s indice spre alt pagin este necesar un mecanism care s permit numirea i
regsirea paginilor. n particular, sunt trei ntrebri la care trebuie s se rspund nainte de a se
putea afia o pagin:

1. Cum se numete pagina ?


2. Cum este localizat pagina ?
3. Cum se face accesul la pagin ?

Dac fiecare pagin ar avea un nume unic, atunci nu ar exista nici o ambiguitate n identificarea
paginilor. Totui, problema nu este nc rezolvat. S considerm de exemplu o paralel ntre
SEC. 7.6 WORLD WIDE WEB 641

oameni i pagini. n SUA aproape fiecare persoan are un numr de asigurare social, care este un
identificator unic, astfel nct nu exist dou persoane cu acelai numr. Totui, cunoscnd numai
numrul respectiv, nu exist nici o posibilitate de a gsi adresa persoanei respective i sigur nu se
poate afla dac persoanei respective trebuie s i se scrie n Englez, Spaniol sau Chinez. Web-ul
are practic acelai fel de probleme.
Soluia aleas identific paginile ntr-un mod care rezolv toate trei problemele n acelai timp.
Fiecare pagin are un URL (Uniform Resource Locater - adresa uniform pentru localizarea
resurselor) care funcioneaz ca nume al paginii general valabil. Un URL are trei componente:
protocolul, numele DNS al mainii pe care este memorat fiierul i un nume local, care indic n
mod unic pagina (de obicei numele fiierului care conine pagina). De exemplu, URL-ul
departamentului din care face parte autorul este:

http://www.cs.vu.nl/welcome.html

Acest URL este format din trei componente: protocolul (htp), numele DNS al serverului
(www.cs.vu.nl) i numele fiierului (welcome.html), cu semnele de punctuaie corespunztoare.
Se utilizeaz notaii care reprezint prescurtri standard. De exemplu ~user/ poate s fie pus n
coresponden cu directorul WWW al utilizatorului user, folosind convenia c o referin la
directorul respectiv implic un anumit fiier, de exemplu indexMml. De exemplu, pagina autorului
poate s fie referit ca:

http://www.cs.vu.nl/~ast/

chiar dac de fapt numele fiierului este diferit. Pe multe servere un nume de fiier nul indic
implicit pagina organizaiei creia i aparine serverul.
Acum ar trebui s fie clar cum funcioneaz hipertextul. Pentru a face o poriune de text
selectabil, cel care scrie pagina trebuie s furnizeze dou elemente: textul prin care se face
selecia i URL-ul paginii care trebuie adus, dac textul este selectat. Cnd se face selecia,
programul de navigare caut numele serverului utiliznd DNS-ul. Pe baza adresei IP a
serverului, programul de navigare stabilete o conexiune TCP spre server. Utiliznd aceast
conexiune, se transmite numele fiierului utiliznd protocolul specificat. Bingo. Acum sosete
pagina. Este exact ce s-a vzut n Fig. 7-60.

Nume Utilizat pentru Exemple


http Hipertext (HTML) http://Www.cs.vu.nl/~ast
ftp FTP ftp://ftp.cs.vu.nl/pub/minix/README
file Fiier local /usr/suzanne/prog.c
news Grup de tiri news:AA0134223112@cs.utah.edu
news Articol de tiri news:AA0134223112@cs.utah.edu
gopher Gopher gopher://gopher.tc.umn.edu/11/libraries
mailto Trimitere de pota electronic mailto:kim@acm.org
telnet Conectare la distan . telnet://www.w3.org:80

Fig. 7-63. Cteva URL-uri obinuite.


642 NIVELUL APLICAIE CAP. 7

Aceast schem URL este deschis n sensul c este simplu s se utilizeze alte protocoale. De
fapt au fost definite URL-uri pentru protocoalele obinuite, i multe programe de navigare neleg
aceste protocoale. Forme simplificate ale celor mai obinuite sunt prezentate n Fig. 7-63.
S parcurgem lista rapid. Protocolul http este protocolul nativ pentru Web, el este utilizat de
ctre serverele de HTTP. Suport metodele prezentate n Fig. 7-62, ca i orice alte metode care vor
deveni necesare pentru obiecte.
Protocolul ftp este utilizat pentru accesul la fiiere prin FTP (File Transfer Protocol -
prooco pentru transferai de fiiere), protocolul Internet de transfer de fiiere. FTP este
utilizat de peste douzeci de ani i este foarte rspndit. Numeroase servere de FTP din toat
lumea permit ca de oriunde din Internet s se fac o conectare i s se aduc orice fiier plasat
pe un server FTP. Web-ul nu aduce schimbri aici. face doar ca obinerea fiierelor s se fac
mai uor, pentru c FTP are o interfa mai puin prietenoas. In viitor, probabil c FTP-ul va
disprea, deoarece nu exist nici un avantaj pentru o organizaie s aib un server de FTP n
ioc de un server de HTTP, care poate s fac tot ce face un server de FTP, i chiar mai mult
(desigur mai exist nite argumente legate de eficien).
Este posibil s se fac acces la un fiier local ca la o pagin de Web, fie utiliznd protocolul
file (fiier), fie pur i simplu utiliznd numele fiierului. Aceast abordare este similar
utilizrii protocolului FTP, dar ne implic existena unui server. Desigur funcioneaz numai
pentru fiiere locale.
Protocolul nevv's permite unui utilizator de Web s citeasc un articol din tiri ca i curn ar fi
o pagin de Web. Aceasta nseamn c un program de navigare este n aceiai imp i un cititor
de tiri. De fapt, multe programe de navigare au butoane sau elemente de meniu care permit
citirea tirilor USENET rnai uor dect dac se utilizeaz cititoare de tiri obinuite.
Protocolul news admite dou formate. Primul format specific un grup de tiri i poate s fie
utilizat pentru a obine o list de articole de la un server de tiri preconfigurat. Al doilea format cere
identificatorul unui articol, de QxempluAA0134223112@cs.utah.edu. Programul de navigare aduce
articolul de ia serverul corespunztor utiliznd protocolul NNTP.
Protocolul gopher este utilizat de sistemul Gopher, care a fost proiectat la universitatea
Minnesota. Numele este cel ai echipei atletice a universitii, the Goiden Gopher (de asemenea
acest nume este utilizat n argou pentru go for, adic o comand de aducere). Gopher-ul a
precedat Web-ul cu civa ani. Este o metod de regsire a informaiei, similar conceptual cu cea
utilizat de Web, dar acceptnd numai text i imagini. Cnd un utilizator se conecteaz la un server
de Gopher, va avea la dispoziie un meniu de fiiere i directoare, fiecare intrare putnd s fie
conectat ia orice meniu de Gopher oriunde n lume.
Marele avantaj ai Gopher-ului n raport cu Web-ui este c funcioneaz foarte bine cu terminale
ASCII care afieaz 25 x 80 caractere i din care exist nc foarte multe n lume. Pentru c este
bazat pe text, Gopher este foarte rapid. De aceea n lume exist mii de servere de Gopher.
Utilizatorii de Web pot s acceseze un server de Gopher i s vad fiecare meniu Gopher ca o
pagin Web cu intrri seectabile. Dac nu ai lucrat cu Gopher-ul, ncercai exemplul din Fig. 7-63
sau utilizai maina favorit de cutare n Web pentru a cuta cuvntul gopher".
Dei exemplele considerate nu utilizeaz aceast facilitate, este posibil s se trimit o cerere de
cutare complet unui server de Gopher utiliznd un protocol gopher+. Ce se va afia este rezultatul
cererii transmise serverului de Gooher.
SEC. 7.6 WORLD WIDE WEB 643

Ultimele dou protocoale nu sunt de fapt protocoale pentru aducerea unor pagini de Web i nu
sunt suportate de orice program de navigare, dar sunt utile. Protocolul mailto permite transmiterea
de pot dintr-un program de navigare. Pentru a face aceast operaie, se selecteaz butonul OPEM
i se specific un URL constnd din mailto: urmat de adresa destinatarului. Majoritatea programelor
de navigare vor rspunde cu un formular care are intrri corespunztoare subiectului i altor
informaii din antet i spaiu pentru mesaj.
Protocolul telnet este utilizat pentru stabilirea unei conexiuni pe o main aflat Ia distan. Se
utilizeaz n acelai fel ca i programul Telnet, ceea ce nu constituie o surpriz, deoarece majoritatea
programelor de navigare utilizeaz programul Telnet. Ca exerciiu, ncercai din nou sesiunea din
Fig. 7-60, dar utiliznd un program de navigare.
Pe scurt URL-urile au fost proiectate nu numai pentru a permite utilizatorilor s navigheze prin
Web, dar i pentru a utiliza FTP, news, Gopher, e-mail i telnet, ceea ce face inutile interfeele
specializate pentru aceste protocoale integrnd astfel ntr-un singur program, navigatorul n Web,
aproape toate tipurile de acces n Internet. Dac metoda nu ar fi fost proiectat de un fizician, ar fi
putut s par produsul departamentului de publicitate ai unei companii de software.
n ciuda tuturor acestor proprieti, creterea Web-ului scoate n eviden i o slbiciune a
metodei utilizrii URL-urilor. Pentru o pagin care este foarte des referit, ar fi de preferai s existe
mai multe copii pe servere diferite, pentru a reduce traficul n reea. Problema este c URL-riie nu
ofer nici o posibilitate de indicare a unei pagini fr s se specifice unde este localizat pagina
respectiv. Nu exist nici o metod pentru a spune ceva de genul: Vreau pagina xyz, dar nu m
intereseaz de unde o aduci". Pentru a rezolva aceast problem i a permite multiplicarea Daginilor
IETF lucreaz la un sistem de URI (Universal Resource Identifiers - identificatori universali de
resurse). Un URI poate s fie privit ca un URL generalizat. Acest subiect este n curs de cercetare.
Dei am discutat numai despre URL-uri absolute, exist i URL-uri relative. Diferena es:e
similar cu diferena dintre un nume de fiier absolut /usr/ast/foobar i pur i simplu foobar, aiunci
cnd contextul este definit n mod neambiguu.

HTML-HyperText Markup Language

Acum, dac tim cum funcioneaz URL-urile, putem s examinm limbajul HTML, Acest
limbaj este o aplicaie a standardului ISO 8879, SGML (Standard Generaiized Markup Language ~
limbajul standard generalizat de marcare), specializat pentru hipertext i adaptat la Web.
Dup cum s-a mai menionat, HTML este un limbaj de marcare, un limbaj care descrie cum
trebuie s fie formatate textele. Termenul de marcare" provine din timpurile vechi, cnd editorii
fceau marcaje pe documente pentru a indica tipografului - n acele timpuri un om - ce font-uri s
foloseasc .a.m.d. Limbajele de marcare conin comenzi explicite pentru formatare. De exemplu,, n
HTML, <B> nseamn nceput de mod aldin, i </B> nseamn terminarea utilizrii modului
aldin. Avantajul utilizrii unui limbaj de marcare fa de unul n care nu se utilizeaz marcarea
explicit const din faptul c este simplu de scris un program de navigare care s interpreteze
comenzile de marcare. TeX i troff sunt dou exemple foarte cunoscute de limbaje de marcare.
Documentele scrise ntr-un limbaj de marcare pot s fie comparate cu cele obinute
utiliznd procesoare de text de tip WYSIWYG (What You See s What You Get - Ce vezi este
ceea ce obii), cum sunt MS-Word sau Word-Perfect. Acest tip de sisteme pot s memoreze
fiierele utiliznd marcaje ascunse pentru ca formatarea s se poat reface ulterior. Nu toate
644 NIVELUL APLICAIE CAP.?

procesoarele de texte funcioneaz aa. Procesoarele de text pentru Macintosh, de exemplu,


pstreaz informaia n structuri de date separate.
Prin standardizarea i includerea comenzilor de marcaj n fiecare fiier HTML, devine posibil ca
orice program de navigare s poat s citeasc i s formateze orice pagin Web. Posibilitatea
forraatrii paginii recepionate este foarte important, deoarece o pagin poate s fie construit pe
un ecran cu 1024 x 768 pixeli utiliznd culori codificate cu 24 de bii, dar s-ar putea s fie necesar
afiarea ntr-o mic fereastr de pe un ecran cu 640 x 480 pixeli i utiliznd culori codificate pe 8 bii.
Procesoarele de text de tip WYSIWYG comerciale nu pot s fie utilizate pentru Web, deoarece
limbajul lor intern de marcare (dac exist) nu este standardizat ntre furnizori, calculatoare i
sisteme de operare. De asemenea, ele nu pot s realizeze reformatarea pentru diferite dimensiuni de
ferestre sau rezoluii. Pe de alt parte, o serie de procesoare de texte permit salvarea documentelor
n format HTML n loc de formatul propriu.
Ca i HTTP, HTML este ntr-o evoluie continu. Cnd programul Mosaic era singurul
program de navigare, limbajul utilizat de el, HTML 1.0, reprezenta standardul de facto. Cnd
au aprut programe de navigare noi, a fost necesar un standard oficial Internet i aa a aprut
HTML 2.0. HTML 3.0 a fost creat iniial ca efort de cercetare pentru a aduga noi faciliti la
HTML 2.0, incluznd tabele, instrumente, formule matematice, forme avansate de descriere a
stilului (pentru descrierea organizrii paginilor i definirea semnificaiilor simbolurilor) etc.
Standardizarea oficial a limbajului HTML este fcut de Consoriul WWW, dar diferii
furnizori de programe de navigare au adugat o serie de extinderi proprii. Aceti furnizori
sper ca cei care construiesc pagini de Web s utilizeze aceste extensii, astfel nct cei care vor
s citeasc aceste pagini s aib nevoie de programe de navigare care tiu s interpreteze
extensiile respective. Astfel de abordri ngreuneaz sarcina standardizrii limbajului HTML.
In cele ce urmeaz se face o scurt introducere n limbajul HTML, doar pentru a oferi o
idee despre subiect. Cu toate c este posibil s se construiasc documente HTML utiliznd
orice editor, i muli fac asta, este posibil i s se utilizeze editoare HTML speciale care pot s
fac toat munca (desigur, n mod corespunztor utilizatorul are mai puin control asupra
detaliilor produsului final).
O pagin Web corect format conine o zon de cap i o zon de corp, cuprinse ntre
marcajele (tae-uri) <HTML> si </HTML>. dar majoritatea oroerameor de navigare ignor
absena acestor marcaje. Aa cum se vede n Fig. 7-64(a), capui este cuprins ntre marcajele
< H E A D > i </HEAD>, iar corpul ntre marcajele <BODY> i </BODY>. Comenzile
cuprinse ntre aceste marcaje se numesc directive. Majoritatea marcajelor HTML au acest
format, adic, <CEVA> pentru a indica nceputul a ceva i </CEVA> pentru a marca
sfritul. Numeroase exemple de fiiere HTML sunt disponibile. Majoritatea programelor de
navigare au o opiune VIEW SOURCE (afiarea sursei) sau ceva similar. Selectarea acestei
opiuni afieaz pagina curent n format HTML n loc de forma interpretat.
Marcajele pot s fie scrise cu litere mici sau mari. Adic <HEAD> i <head> nseamn acelai
lucru, dar prima form este de preferat pentru cititorii umani. Cum este dispus textul n documentul
HTML este nesemnificativ. Programele de navigare ignor spaiile i trecerile ia rnd nou, deoarece
textul trebuie s fie formatat pentru a corespunde zonei de afiare curente. Corespunztor, se pot
utiliza spaii pentru a face documentele HTML mai uor de citit, ceva ce ar fi necesar pentru
majoritatea documentelor. Liniile albe nu pot s fie utilizate pentru separarea paragrafelor,
deoarece sunt pur i simplu ignorate. Este necesar utilizarea unor marcaje explicite.
SEC. 7.6 WORLD WIDE WEB 645

<HTML> <HEAD> <TITLE> AMALGAMATED WIDGET, INC. </TITLEx/HEAD>


BODY> <H1> Welcome to AWI's Home Page </H1>
<IMG SRC="http://www.widget.com/images/logo.gif" ALT="AWi Logo"> <BR>
We are so happy that you have chosen to visit <B> Amalgamated Widg</B> efs home page.
We hope <i> you </l> will find al! the information you need here.
<P> Below we have links to information about our many fine products.
You can order electronically (by WWW), by telephone, or by FAX. <HR>
<H2> Product Information </H2>
<UL> <LI> <A REF="http://widget.com/products/big" > Big widgets </A>
<LI> <A REF="http://widget.com/products/little" > Littie widgets </A>
</UL>
<H2> Telephone Numbers </H2>
< U L x L I > By telephone: 1-800-WIDGETS,
<LI>Byfax: 1-415-765-4321
</UL> </BODYx/HTML>

(a)

Welcome t AWI's Home Page

We are so happy that you have chosen to visit Amalgamated Widget's home page. We hope
you wiil find all the information you need here.

Below we have links to info.rmation about our many fine products. You can order electronically
(by WWW), by telephone, or by FAX.

Product Information
Big widgets
Littie widgets

Telephone numbers
1-800-WIDGETS
1-415-765^321

(b)

Fig.7-64. (a) Un exemplu simplu de pagin de Web. (b) Pagina formatat.

Unele marcaje au parametri (care"au nume). De exemplu:

I!
<IMG SRC="abc" ALT="foobar >
NIVELUL APLICAIE CAP. 7

este un marcaj, <IMG>, avnd parametrul SRC cu valoarea abc i parametrul ALT cu valoarea
foohar. Pentru fiecare marcaj, standardul HTML ofer o list a parametrilor care pot s fie utilizai,
dac este cazul i care este semnificaia lor. Deoarece parametrii au nume, ordinea n care se dau
valorile parametrilor nu este semnificativ.
Din punct de vedere tehnic, documentele HTML sunt scrise utiliznd setul de caractere ISO
8859-1 Latin-1, dar pentru utilizatorii ale cror tastaturi suport numai codul ASCI, se pot utiliza
secvene de caractere pentru reprezentarea caracterelor speciale cum ar fi e. Lista caracterelor
speciale este precizat n standard. Toate ncep cu caracterul &" i se termin cu ;". De exemplu
&egrave; produce e iar &eacute; produce e. Deoarece <, > i & au semnificaii speciale, pot s fie
reprezentate numai utiliznd secvenele speciale de caractere corespunztoare, &lt; &gt; i &amp;.
Principalul element din zona de cap este titlul care este cuprins ntre <TITLE> i </TTLE>,
dar pici pot s apar i alte tipuri de informaii. Titlul nu este afiat pe pagin. Unele programe de
navigare l utilizeaz pentru a eticheta fereastra n care se afieaz pagina respectiv.
S analizm si alte particulariti prezente n exemplul din Fig. 7-64. Toate marcajele utilizate n
Fig. 7-64 i nc alte cteva sunt prezentate n Fig. 7-65.

Marcaj Descriere
<HTML>... </HTML> Delimiteaz textul scris n HTML
<READ>... </HED> j Delimiteaz zona de cap
<T!TLE>... </TITLE> | Definete titlul (nu este afiat de programul de navigare)
<BODY>... </BODY> Delimiteaz zona de corp
<Hn>... </Hn> Delimiteaz un titlu de nivel n
<B>... </B> Textul... o s fie afiat cu aldine
<!> ...</i> Textul... o s fie afiat cu cursive
<UL>... </UL> Delimiteaz o list neordonat
<OL>... </OL> Delimiteaz o iist ordonat (numerotat)
<MENU>... ^?MENU> Delimiteaz un meniu cu elemente marcate cu <LJ>
<L!> inceput de element de list (nu exist </L!>
<BR> Trecere la linie nou
<P> inceput de paragraf
Linie orizontal
<PRE>... </PRE> Text preformata; nu se formateaz
<!MG SRC=..."> Se ncarc o imagine
<AHREF=...">,..</A> Ss definete o hiper-legtur

Fig. 7-65. O selecie de marcaje uzuale. Unele mai au i ali parametri.

Titlurile de capitole sunt generate de marcajul <H/?>, unde n este o cifr ntre 1 i 6. <H1>
este titlul cel mai important; <H6> este cel mai puin important. Depinde de programul de
navigare s prezinte aceste titluri n mod diferit pe ecran. De obicei, titlurile cu numr mai mic vor fi
afiate utiliznd caractere mai mari. Programul de navigare poate s utilizeze culori diferite pentru
fiecare nivel de titlu. De obicei, pentru titlurile marcate cu <H1> se utilizeaz litere mari scrise cu
aldine cu cel puin o linie liber nainte i dup. Corespunztor, pentru titlurile marcate cu <H2>,
se utilizeaz caractere mai mici cu mai puin spaiu lsat nainte i dup.
Marcajele <B> i <I> sunt utilizate pentru a indica modurile aldin i respectiv cursiv. Dac
11 r ] p
programul de navigare nu poate s afieze aceste tipuri de caractere, va utiliza un alt mod de a le
SEC. 7.6 WORLD WIDE WEB 647

reprezenta, de exemplu utiliznd diferite culori sau video-invers. In loc de a utiliza stiluri fizice,
autorii pot s utilizeze stiluri logice, cum sunt <DN> (definiie), <EM> (evideniere),
<STRONG> (evideniere accentuat) i <VAR> (variabile de program). Stilurile logice sunt
definite ntr-un document numit pagin de stil. Avantajul utilizrii unei pagini de stil const n faptul
c la schimbarea unei definiii, se vor schimba toate variabilele, nlocuind de exemplu cursivele
printr-un font cu dimensiuni constante.
Limbajul HTML ofer diferite mecanisme pentru construirea de liste, inclusiv liste coninute n
alte liste. Marcajul <UL> indic nceputul unei liste neordonate. Elementele individuale, care sunt
marcate n surs cu <LI>, sunt reprezentate precedate de buline (). O variant a acestui
mecanism este <OL>, care descrie o list ordonat. Cnd se utilizeaz acest marcaj, textele
precedate de <LI> sunt numerotate de ctre programul de navigare. O a treia opiune este
<MENU>, care n mod normal produce o reprezentare mai compact pe ecran, fr buline i fr
numere. Marcajele <UL>, <OL> i <MENU> au aceeai sintax i efecte asemntoare.
Mai exist alte dou mecanisme pentru descrierea listelor, care merit s fie prezentate n afara
celor din Fig. 7-65. <DIR> este utilizat pentru construirea de tabele scurte. De asemenea <DL> i
</DL> creeaz liste de definiii (glosare) cu elemente formate din dou componente, definite
respectiv de <DT> i <DD>. Primul marcaj este utilizat pentru nume, al doilea pentru
semnificaia asociat. Aceleai construcii se pot realiza ns utiliznd mecanismul de descriere a
tabelelor, care este mult mai general i pe care l vom descrie ulterior.
Marcajele <BR>, <P> i <HR> indic o separare ntre diferitele pri ale textului.
Formatul precis este descris n pagina de stil. Marcajul <BR> foreaz trecerea la linie nou.
De obicei programele de navigare nu insereaz o linie liber dup <BR>. Marcajul <P>
reprezint un nceput de paragraf, pentru care se va insera o linie nou i eventual se va face o
indentare. (n mod teoretic, exist i </P> pentru a indica sfritul de paragraf, dar este foarte
rar utilizat; majoritatea celor care scriu n HTML nici nu tiu c acest marcaj exist). Ultimul
marcaj, <HR>, foreaz trecerea la linie nou i deseneaz o linie orizontal.
HTML 1.0 nu are nici o facilitate pentru descrierea tabelelor sau a altor informaii
formatate. Mai ru chiar, dac cineva care scrie n HTML descrie o tabel utiliznd spaii i
caractere de trecere la linie nou, programele de navigare vor ignora aceast formatare.
Pentru a mpiedica programele de navigare s modifice o astfel de formatare, au fost
prevzute marcajele <PRE> i </PRE>. Ele reprezint indicaii pentru programele de
navigare, care trebuie s afieze textul cuprins ntre cele dou marcaje aa cum este, caracter
cu caracter, fr s schimbe nimic. Pe msur ce sunt prevzute tabele i alte faciliti elegante
de formatare, necesitatea marcajului <PRE> o s scad, cu excepia textelor programelor,
pentru care majoritatea programatorilor nu vor accepta o formatare diferit de cea proprie.
HTML permite includerea de imagini n paginile de Web. Marcajul <IMG> arat c pe
poziia curent din pagin se va include o imagine. Marcajul poate s aib o serie de
parametri. Parametrul SRC indic URL-ul (sau URI-ul) imaginii. n practic, toate
programele de navigare accept fiiere n format GIF, multe pot lucra i cu fiiere n format
JPEG. Programele de navigare pot s lucreze i cu alte formate, dar o astfel de extensie este o
sabie cu dou tiuri. Dac, de exemplu un utilizator este obinuit cu un program de navigare
care suport fiiere n format BMP, este posibil ca el s includ astfel de fiiere n pagina sa de
Web i s fie uimit c alte programe de navigare ignor imaginile sale minunate.
648 NIVELUL APLICAIE CAP. 7

Ali parametri pentru <IMG> sunt ALLIGN, care controleaz modul n care se aliniaz
imaginea fa de limita de jos a textului (TOP, MIDDLE, BO1TOM), ALT, care furnizeaz textul
afiat n locul imaginii dac utilizatorul dezactiveaz opiunea de afiare a imaginilor i ISMAP, un
indicator care anun c imaginea este o hart selectabil.
In sfrit, s considerm hiper-legturile, care utilizeaz marcajele < A > (anehor) i </A>. Ca i
< I M G > , < A > are diveri parametrii, printre care HREF (URL-ul), NAME (numele hiper-
legturii) i METHODS (metodele de acces). Textul cuprins ntre < A > i </A> este afiat. Dac
este selectat, atunci se utilizeaz hiper-legtura pentru a se aduce o nou pagin. In locul textului se
poate pune i un marcaj < I M G > , caz n care, cu un clic pe imagine, se va activa legtura.
De exemplu, s considerm urmtorul fragment HTML:

<A HREF=http://www.nasa.gov">NASA's home page </A>

Cnd se afieaz acest fragment, pe ecran apare:

NASA's home page

Dac utilizatorul execut un clic pe acest text, programul de navigare aduce i afieaz pagina al
crei URL este http://www.nasa.gov .
Ca al doilea exemplu, s considerm

<AHREF=http://www.nasa.gov"><IMG SRC=shuttle.gif"ALT=NASA"x/A>

Cnd se afieaz pagina va aprea o imagine (o navet spaial). Executnd un clic pe


imagine, se va aduce pagina NASA, la fel ca i n cazul n care n exemplul anterior a fost
selectat textul. Dac utilizatorul a dezactivat opiunea de afiare a imaginilor, atunci n loc de
imagine va fi afiat textul NASA.
Pentru marcajul < A> se poate utiliza parametrul NAME pentru a fixa o hiper-lcgtur, care s
fie referit din pagin. De exemplu, unele pagini de Web ncep cu o tabel de coninut selectabil.
Prin execuia unui clic pe o intrare n tabela de coninut, se va trece direct la seciunea
corespunztoare din pagin.
Una dintre facilitiilc care lipsesc din HTML 2.0, pe care muli autori de pagini HTML o
doreau, era posibilitatea de a construi tabele ale cror intrri s fie legturi selectabile.
Corespunztor, o cantitate mare de munc a fost depus pentru a aduga tabelele la
HTML 3.0. n continuare, o s prezentm o scurt introducere n tabele, doar ca s prezentm
caracteristicile generale.
O tabel HTML este format din una sau mai multe linii, fiecare fiind format din una sau mai
multe celule. Celulele pot s conin diferite tipuri de informaii, inclusiv text, figuri i chiar tabele.
Celulele pot s fie alipite, de exemplu un titlu poate s se ntind peste mai multe coloane. Autorii
paginilor au control asupra modului n care se face afiarea, inclusiv alinierea, stilul bordurii,
marginile celulelor, dar programul de navigare este cel care hotrte de fapt cum se face afiarea.
O descriere n HTML a unei tabele este prezentat n Fig. 7-66(a), iar efectul posibil este
prezentat n Fig. 7-66(b). Acest exemplu prezint cteva din facilitile de descriere a tabelelor n
HTML. Tabelele ncep cu marcajul <TABLE>. Se pot specifica informaii suplimentare pentru a
descrie proprietile generale ale tabelei.
SEC. 7.6 WORLD WIDE WEB 649

<HTMLxHEADxTITLE> A sample page with a table </TITLEx/HEAD>


<BODY>
<TABLE BORDER=ALL RULES=ALL>
<CAPTION> Some differences between HTML Versions </CAPTION>
<COL AUGN=LEFT>
<COLALIGN=CENTER>
<COLAUGN=CENTER>
<COLALIGN=CENTER>
<TR> <TH>ltem <TH>HTML 1.0 <TH>HTML 2.0 <TH>HTML 3.0
<TR> <TH> Active Maps and Images <TD> <TD>x <TD>x
<TR> <TH> Equations <TD> <TD> <TD>x
<TR> <TH> Forms <TD> <TD>x <TD>x
<TR> <TH> Hyperiinks <TD> x <TD>x <TD>x
<TR> <TH> Images <TD> x <TD>x <TD>x
<TR> <TH> Lists <TD> x <TD>x <TD>x
< T R x T H > Toolbars < T D x T D x T D > x
<TR> <TH> Tables <TD> <TD> <TD>x
</TABLEx/BODYx/HTML>

(a)

Some diferences between HTML Versions


Item HTML 1.0 HTML 2.0 HTML 3.0
Active Maps and Images X X
Equations X
Forms X X
Hyperiinks X X X
Images X X X
Lists X X X
Toolbars X
Tables X
(b)

Fig. 7-66. (a) O tabel HTML, (b) Un rezultat posibil.

Marcajul <CAPTION> poate s fie utilizat pentru a furniza un titlu tabelei. Fiecare linie
ncepe cu marcajul <TR> (Table Row - linie n tabel). Celulele individuale sunt marcate cu
<TH> (Table Header - titlu de coloan), <TD> (Table Data - date n tabel). Diferenierea
este necesar pentru a permite programului de navigare s le afieze diferit, aa cum se vede i
din exemplul considerat.
n tabele se pot utiliza alte marcaje. Acestea includ posibilitatea de a specifica alinieri
orizontale sau verticale ale celulelor, alinierea n cadrul celulei, margini, gruparea de celule,
uniti si multe altele.
650 NIVELUL APLICAIE CAP. 7

Formulare

HTML 1.0 funciona ntr-o singur direcie. Utilizatorii puteau s aduc o pagin de la furnizorii
de informaie, dar era foarte dificil s se transmit informaie n sens invers. Pe msur ce tot mai
multe organizaii comerciale au nceput s utilizeze Web-ul, a aprut o puternic cerere pentru
comunicaia n dublu sens. De exemplu, multe companii vor s poat prelua comenzi pentru
produse utiliznd paginile lor de Web, furnizorii de software vor s distribuie programe prin
intermediul Web-ului, clienii s i completeze fiele de nregistrare prin acelai mijloc, iar
companiile care ofer servicii de cutare n Web au nevoie ca utilizatorii de servicii s poat s
introduc cuvintele pe baza crora se face cutarea.
Acest gen de cereri a dus la includerea formularelor ncepnd cu HTML 2.0. Formularele
conin casete i butoane care permit utilizatorilor s completeze informaii sau s fac selecii
i apoi s transmit informaiile la proprietarul paginii. n acest scop se utilizeaz marcajul
<INPUT>. Acesta are o varietate de parametri care determin mrimea, tipul, i modul de
afiare a casetei utilizate. Cele mai obinuite sunt cmpuri n care utilizatorul poate s
introduc text, casete care pot s fie selectate, hri active, butoane SUBMIT. Exemplul din
Fig. 7-67 prezint cteva dintre aceste posibiliti.
S ncepem discuia parcurgnd exemplul Ca orice formular, i acesta este cuprins ntre
marcajele <FORM> i </FGRM>. Textele care nu sunt incluse ntre marcaje sunt afiate, ntr-
un formular poate s fie utilizat orice marcaj obinuit (de exemplu <B>) In acest formular sunt
utilizate trei tipuri de casete.
Prima caset din formular apare dup textul Name". Caseta are limea de 46 de
caractere i utilizatorul va introduce un ir care va fi memorat n variabila customer pentru
prelucrri ulterioare. Marcajul <P> indic programului de navigare s afieze ceea ce
urmeaz pe o linie nou, chiar dac mai este loc pe linia curent. Utiliznd <P> i alte
marcaje care controleaz dispunerea textului, creatorul paginii poate s controleze cum arat
formularul pe ecran.
Pe linia urmtoare se solicit adresa utilizatorului, avnd cel mult 40 de caractere, pe o linie
separat. Urmeaz o linie pe care se solicit oraul, statul i ara. Aici nu se utilizeaz marcajul <P>,
deci programul de navigare o s ie afieze pe toate pe aceeai linie, dac nCap. Din punctul de
vedere al programului de navigare, paragraful curent conine ase elemente: trei iruri alternnd cu
trei casete. El ie afieaz pe aceeai linie de la stnga la dreapta, trecnd la o linie nou ori de cte
ori pe linia curent nu mai ncape urmtorul element. Astfel, este posibil ca pe un ecran 1024 x 768
s ncap toate cele trei iruri i casetele corespunztoare, n timp ce pe un ecran 640 x 480 ele pot s
fie distribuite n dou linii. n cazul cel mai defavorabil cuvntul Country este ia captul liniei, iar
caseta asociat este la nceputul liniei urmtoare. Nu exist nici o posibilitate de a fora programul
de navigare s afieze caseta lng text.
Urmtoarea linie solicit numrul crii de credit i data sa de expirare. Transmiterea numerelor
crilor de credit prin Internet trebuie s se fac numai dac s-au luat msurile de securitate
adecvate. De exemplu, unele programe de navigare, dar nu toate, pot s cifreze informaiile
transmise de ctre utilizatori. Chiar i atunci, comunicaia sigur i gestionarea cheilor sunt subiecte
complicate i sunt deschise atacurilor de multe feluri, aa cum am vzut mai nainte.
SEC. 7.6 WORLD WEDE WEB 651

<HTMLxHEADxTITLE> AWI CUSTOMER ORDERING FORM </TITLEx/HEAD>


<BODY>
<H1> Widget Order Form </H1>
<FORM ACTION="http://widget.com/cgi-bin/widgetorder" METHOD=POST>
Name <INPUT NAME="customer" SIZE=46> <P>
Street Address <INPUT NAME="address" SIZE=40> <P>
City <INPUT NAME="city" SIZE=20> State <INPUT NAME="state" SIZE=4>
Country <INPUT NAME="country" SIZE=10> <P>
Credit crd # <INPUT NAME="cardno" SIZE=10>
Expires <INPUT NAME="expires" SIZE=4>
M/C <INPUT NAME="cc" TYPE=RADIO VALUE="mastercard">
Visa <INPUT NAME="cc" TYPE=RADIO VALUE="visacard"> <P>
Widget size Big <INPUT NAME="product" TYPE=RADIO VALUE="expensive">
Little <INPUT NAME="product" TYPE=RADIO VALUE="cheap">
Ship by express courier <INPUT NAME="express" TYPE=CHECKBOX> <P>
<INPUT TYPE=SUBMIT VALUE="Submit order"> <P>
Thank you for ordering an AWI widget, the best widget money can buy!
</ FORM > </BODY> </HTML>

(a)

Widget Order Form


Name

Street address

City State Country

Credit crd # Expires M/C O Visa O

Widget size Big Little Q Ship by express courier

Submit order

Thank you for ordering an AWI widget, the best widget money can buy!

(b)

Fig. 7-67. (a) Un formular de comand HTML. (b) Pagina formatat.

Dup data de expirare, ntlnim un element nou: butoane radio. Acestea sunt utilizate atunci
cnd trebuie s se fac o alegere ntre mai multe alternative. Modelul care se utilizeaz aici este cel
al unui aparat de radio care are butoane pentru selecia scalelor. Programul de navigare afieaz
aceste casete ntr-o form care permite utilizatorului s le selecteze sau s le deselecteze prin
execuia unui clic (sau utiliznd tastatura). Selecia unuia dintre ele le deselecteaz pe toate celelalte
care fac parte din acelai grup. Modul de afiare depinde de interfaa grafic pe care o utilizeaz.
652 NIVELUL APLICAIE CAP. 7

Depinde de programul de navigare s aleag modul de afiare care corespunde sistemului de


ferestre utilizat - Windows, Motif, OS/2 Warp etc. Formatul widget-ului utilizeaz dou butoane.
Cele dou grupuri sunt difereniate prin cmpul NAME i nu printr-un domeniu static de genul
<RADIOBUTTON> i </RADIOBUTTON>.
Parametrii VALUE sunt utilizai pentru a arta care buton a fost apsat. n funcie de opiunea
aleas pentru cartea de credit, variabila ce va avea ca valoare irul mastercard" sau visacard".
Dup cele dou seturi de butoane, urmeaz opiunea referitoare la modul de transport,
reprezentat de o caset de tip CHECKBOX. Aceasta poate s fie pe poziia selectat sau nu. Spre
deosebire de cazul butoanelor radio, unde poate s fie seiectat un singur buton dintr-un set, fiecare
caset de tip CHECKBOX poate s fie selectat sau nu, independent de celelalte. De exemplu, cnd
se comand o pita utiliznd pagina de Web Electropizza, utilizatorul poate s aleag sardele i ceap
i ananas (dac le suport), dar nu poate s aleag mic i medie i mare pentru aceeai pit.
Coninutul corespunztor pitei va fi reprezentat de trei butoane diferite de tip CHECKBOX, n timp
ce dimensiunea va fi reprezentat de un set de butoane radio.
Pe de alt parte, n cazul n care lista din care se face alegerea este foarte lung, butoanele radio
devin dificil de utilizat. Din acest motiv, marcajele <SELECT> i </SELECT> sunt utilizate
pentru a prezenta o list de alternative, utiliznd semantica corespunztoare unor butoane radio
(dac nu se utilizeaz parametrul MULTIPLE, caz n care semantica este cea de ia casetele de tip
CHECKBOX). Unele programe de navigare afieaz opiunile cuprinse ntre <SELECT> i
</SELECT > ca un meniu derulant.
Am vzut jumtate din tipurile standard pentru marcajul <NPUT>: RADIO i CHECKBOX.
De fapt, am vzut i un al treilea: TEXT. Deoarece acesta este tipul implicit, nu am mai utilizat
parametrul TYPE = TEXT, dar puteam s o facem. Alte dou tipuri sunt PASSWORD i
TEXTAREA. O caset PASSWORD funcioneaz la fel ca o caset TEXT, numai c nu se face
afiarea caracterelor introduse. O caset TEXTAREA este similar unei casete TEXT, numai c va
conine mai multe linii.
ntorcndu-ne la exemplul din Fig. 7-67, urmeaz butonul SUBMIT. Cnd este selectat acest
buton, informaia introdus de ctre utilizator este transmis la calculatorul de pe care provine
formularul. Similar altor tipuri, SUBMIT este un cuvnt cheie pe care i nelege programul de
navigare. irul VALUE reprezint n acest caz eticheta butonului i se afieaz. Toate casetele pot s
aib valori, dar am avut nevoie de aceast facilitate numai aici. Pentru casetele TEXT, coninutul
cmpului VALUE este afiat o dat cu formularul, dar utilizatorul poate s l modifice sau s l
tearg. Casetele CHECKBOX i RADIO pot s fie iniializate, utiliznd ns un parametru numit
CHECKED (deoarece parametrul VALUE ofer un text, dar nu indic o selecie).
Programul de navigare interpreteaz i butonul RESET. Dac este seiectat, aduce formularul la
coninutul iniial.
Mai exist dou tipuri care merit s fie prezentate. Primul este tipul HIDDEN. Este utilizat
numai ca rezultat. Nu poate s fie selectat sau modificat. De exemplu, atunci cnd se parcurg o serie
de pagini, pentru care s-au fcut selecii, seleciile anterioare pot s fie de tip HIDDEN, pentru a
mpiedica modificarea lor.
Ultimul tip este IMAGE, utilizat pentru hri active (sau alte imagini selectabile). Dac un
utilizator execut un clic pe o astfel de imagine, coordonatele (x, y) ale punctului seiectat (adic
poziia curent a indicatorului mausului) sunt memorate n variabile i formularul este n mod
automat transmis posesorului pentru prelucrri ulterioare.
SEC. 7.6 WORLD WIDE WEB 653

Formularele pot s fie transmise n trei moduri: utiliznd butonul SUBMIT, executnd un clic pe
o hart activ sau utiliznd tasta ENTER pentru un formular care conine numai un singur cmp de
tip TEXT. Cnd se transmite un formular, trebuie s se execute o aciune. Aciunea corespunztoare
este specificat n parametrii marcajului <FORM>. Parametrul ACTION precizeaz URL-ul (sau
URI-ul) pentru a indica unde se face transmiterea, iar METHOD specific ce metod se utilizeaz.
Ordinea acestor parametri (ca i a celorlali) nu conteaz.
Modul n care variabilele din formular sunt transmise napoi la posesorul paginii depinde de
valoarea parametrului METHOD. Pentru GET, se utilizeaz un truc. i anume se adaug la URL,
separndu-le prin semne de ntrebare. Aceast abordare poate conduce la URL-uri formate din mii
de caractere. Totui, pentru c este simpl, aceast soluie este frecvent utilizat.
Dac se utilizeaz metoda POST (vezi Fig. 7-62), corpul mesajului va conine variabilele din
formular i valorile lor. Pentru a separa cmpurile se utilizeaz caracterul &; caracterul + reprezint
spaiu. De exemplu, rspunsul la formular poate s fie:

customer=John+Doe&address=100+Main+St.&ciy=White+Pain&
state=NY&country=USA&cardno=1234567890&expires6/98&cc=mastercard&
product=cheap&express=on

irul va fi transmis la server ca o singur linie, nu ca trei. Dac un CHECKBOX nu este selectat,
el este omis din ir. Este problema serverului s interpreteze irul respectiv.
Din fericire exist un standard pentru tratarea datelor din formulare. Se numete CGI (Common
Gateway Interface - interfa comun de conversie). S considerm un exemplu simplu de utilizare a
sa. S presupunem c cineva are o baz de date interesant (de exemplu un index de pagini de Web
organizat pe cuvinte cheie i subiecte) i vrea s o fac disponibil pentru utilizatorii Web. Se va scrie
un program sau un script (un fiier de comenzi) care realizeaz interfaarea ntre baza de date i
Web. Scriptului i se atribuie un URL, n mod obinuit n subdirectorul cgi-bin. Serverele HTl'P tiu
(sau li se poate spune) c dac trebuie s invoce o metod dintr-o pagin coninut n cgi-bin,
nseamn c trebuie s considere c numele de fiier este numele unui script executabil sau al unui
program i l vor lansa n execuie.
S presupunem c un utilizator i aduce formularul din exemplul considerat i l afieaz. Dup
ce completeaz formularul, va executa un clic pe butonul SUBMT. In urma acestei aciuni,
programul de navigare stabilete o conexiune TCP cu URL-ul care este indicat n parametrul
ACTION - scriptul din directorul cgi-bin. Apoi programul de navigare execut operaia indicat de
parametrul METHOD, care este de obicei POST. Ca rezultat al acestei operaii, scriptul este pornit
i primete ca argument (prin intermediul conexiunii TCP, pe intrarea standard) irul prezentat
anterior. De asemenea sunt actualizate cteva variabile de context. De exemplu variabila
CONTENT_LENGTH indic lungimea irului de intrare.
In aceast faz, majoritatea script-urilor trebuie s analizeze irul de intrare i s l transforme
ntr-o form mai convenabil. Aceast transformare se realizeaz utiliznd una dintre numeroasele
proceduri de bibliotec sau de script existente. Acum scriptul poate s interacioneze cu baza sa de
date n orice mod dorete. De exemplu, hrile active utilizeaz scripturi CGI pentru a executa
aciuni diferite n funcie de zona pe care a indicat-o utilizatorul.
Scripturile CGI pot s produc ieiri i s execute multe alte lucruri n afar de prelucrarea
formularelor. Dac o hiper-legtur indic spre un script CGI, atunci cnd legtura este
654 NIVELUL APOCAE CAP. 7

selectat se iniiaz execuia scriptului, avnd o serie de variabile de context fixate pentru a
oferi informaii despre utilizator. Scriptul va produce apoi un fiier (de exemplu un fiier
HTML) pe ieirea standard, care este apoi transmis programului de navigare care l va
interpreta. Acest mecanism permite unui script s genereze practic instantaneu pagini Web
corespunztoare dorinei utilizatorului.
La bine i la ru, anumite servere de Web care pot s rspund la cereri au n baza de date
reclame, care pot s fie incluse n pagini de Web care se construiesc, n funcie de ce caut
utilizatorul. Astfel, dac utilizatorul face o cutare utiliznd cuvntul car" (main), atunci poate s
apar o reclam de la General Motors, n timp ce o cutare dup cuvntul vacation" (vacan)
poate s produc un anun de la compania United Airlines. Aceste reclame conin texte i poze pe
care se pot face selecii.

7.6.4 Java

Utiliznd HTML se pot afia pagini de Web statice, care includ tabele i poze. Utiliznd
mecanismul de script-uri CGI, exist i o posibilitate limitat de a avea interaciune n dublu sens
(formulare, etc). Nu este posibil ns interaciunea rapid cu pagini scrise n HTML. Un altfel de
mecanism este necesar pentru a face posibile pagini Web puternic interactive. n seciunea curent,
vom descrie un astfel de mecanism, limbajul i interpretorul Java.
Java a aprut atunci cnd civa programatori de la Sun Microsystems au ncercat s dezvolte un
limbaj nou de programare destinat aparaturii electronice. Ulterior a fost reorientat spre WWW.
Dei Java a utilizat multe idei i sintaxa de la C i C + + , el este un limbaj nou, orientat pe obiecte,
incompatibil cu ambele. Se spune c n general Java este ca limbajul Smalltalk, iar n particular ca
limbajul C sau C + + .
Principala idee de a utiliza Java pentru pagini Web interactive este c o pagin Web poate s
indice spre un mic program scris n Java, numit applet. Dac este ntlnit de un program de navigare,
applet-ul este adus pe maina client i se face execuia sa ntr-o manier sigur. Trebuie s fie
imposibil pentru applet s scrie i s citeasc fiiere la care nu are drept de acces. Trebuie s fie
imposibil pentru applet s introduc virui sau s produc alte stricciuni. Din aceste motive, dar i
pentru a realiza portabilitatea pe diferite calculatoare, applet-urile sunt compilate dup ce sunt
scrise i depanate, producndu-se un cod intermediar. Paginile Web vor indica ctre astfel de
programe ntr-o manier similar n care se indic imaginile. Cnd este adus un applet, el este
executat interactiv ntr-un mediu sigur.
nainte de a ajunge la detaliile limbajului Java, merit s spunem cteva cuvinte despre utilitatea
ntregulursistem Java i de ce se dorete includerea applet-urilor Java n pagini de Web. Un motiv ar
fi faptul c Java permite ca paginile Web s fie interactive. De exemplu, o pagin Web care conine o
tabl pentru tic-tac-toe sau ah poate s joace un joc cu utilizatorul. Programul de joc (scris n Java)
este adus mpreun cu pagina de Web. Un alt exemplu, formulare complicate (de exemplu de tip
formular de calcul) pot s fie afiate, utilizatorul completnd intrri i programul calculnd alte
intrri practic instantaneu.
Este posibil ca n timp, modelul n care utilizatorul cumpr un program, l instaleaz i l execut
local s fie nlocuit de un model n care utilizatorul execut un clic ntr-o pagin Web, aduce un
applet care execut prelucrarea eventual n legtur cu o baz de date sau un server aflat la distan.
n locs se completeze declaraia de venituri cu mna sau utiliznd un program special, oamenii vor
SEC. 7.6 WORLD WIDE WEB 655

putea s selecteze pagina RS pentru a aduce un applet pentru impozite. Acest appet poate s pun
cteva ntrebri, apoi s ia legtura cu patronul persoanei respective, cu banca i agentul de burs
pentru a afla salariul, dobnda i dividendele, s completeze intrrile din formularul de impozitare i
s l afieze pentru verificare i expediere.
Un alt motiv pentru execuia unui applet pe maina clientului este posibilitatea de a aduga
animaie i sunete la paginile de Web fr a utiliza programe de vizualizare externe. Sunete pot s fie
produse atunci cnd se aduce o pagin, ca muzic de fundai, sau cnd apar anumite evenimente (de
exemplu, cnd se execut un clic pe pisic, aceasta miaun). Acelai lucru este valabil pentru
animaie. Deoarece applet-ul se execut local, chiar dac este interpretat, ei poate s scrie peste tot
ecranul (sau numai peste o parte a ecranului) n orice mod, cu o vitez foarte mare (comparat cu
un script de tip cgi-bin de la distan).
Sistemul Java este format din trei pri:

1. Un compilator Java-cod main virtual (bj'tecod)


2. Un program de navigare care nelege applet-uri
3. Un interpretor de cod main virtual

Programatorul scrie applet-ul n Java i l compileaz. Pentru a include produsul compilrii


ntr-o pagin Web, se utilizeaz un nou marcaj, <APPLET>. Utilizarea tipic este:

<APPLET CODE=game.class WiDTH=100 HESGHT=200> </APPLET>

Cnd programul de navigare ntlnete marcajul <APPLET>, aduce applet-ul compilat


game.chess de pe serverul de pe care a fost adus pagina (sau, dac un alt parametru CODEBASE a
fost utilizat, de la URL-ul specificat). Programul de navigare transmite apoi applet-ul interpretorului
local de cod pentru execuie (sau I interpreteaz dac are un interpretor intern). Parametrii
WIDTH i HEIGHT dau dimensiunea n pixeli a ferestrei implicite pentru applet.

i
1
(Nu exist nici un
! interpretor implicit _i 6
udi

i ! pentru protocoale LL 9=
i t i
sau imagini) CD <
PostS(

(5
Gophe

applet
Tel net

applet
applet
SMTP

applet
NNTP

applet

o.
JPEG

LU
i
GIF

X
Interpretei-1-iTML ! interpretor Java nterpretor Java j
""
Sistem de operare Sistem de operare Sistem de operare

(a} (b) (O

Fig. 7-68. (a) Prima generaie de programe de navigare.


(b) Un program de navigare bazat pe Java la nceput, (c) Programul de navigare
dup ce s-a executat pentru o perioad de timp.
656 NIVELUL APLICAIE CAP. 7

ntr-un fel, marcajul <APPLET> este analog cu marcajul <IMG>. n ambele cazuri,
programul de navigare se duce i preia un fiier pe care l transmite unui interpretor loca pentru a-1
afia ntr-o zon limitat de pe ecran. Dup aceea continu prelucrarea paginii de Web.
Pentru aplicaiile care necesit performane deosebite, unele interpretoare Java pot s compileze
codul mainii virtuale la codul obiect al mainii respective.
Ca o consecin a acestui model, programele de navigare bazate pe Java sunt extensibile ntr-un
mod diferit de cel al primei generaii de programe de navigare. Prima generaie de programe de
navigare sunt interpretoare HTML, care conin module care tiu diferite protocoale ca de exemplu:
HTi'P 1.0, FTP etc, ca i decodificatoare pentru diferite formate de fiiere care conin imagini. Un
exemplu este prezentat n Fig. 7-68(a). Dac cineva inventeaz sau popularizeaz un nou format, ca
de exemplu audio sau MPEG-2, aceste programe de navigare vechi nu sunt n stare s citeasc
paginile care ie utilizeaz. Cel mult, utilizatorul poate s gseasc, s aduc i s instaleze un
program de vizualizare extern corespunztor.
Cu un program de navigare bazat pe Java, situaia este diferit. La pornire, programul de
navigare este doar o main virtual Java, goal aa cum se vede n Fig. 7-68(b). Prin aducerea de
applet-uri HTML sau HTTP, el devine capabil s citeasc pagini Web standard. Desigur, pe msur
ce noi protocoale i decodificatoare sunt necesare, clasele respective sunt ncrcate dinamic,
eventual prin reea, de pe servere specificate n paginile de Web. Dup o vreme, programul de
navigare va arta ca n Fig. 7-68(c).
Astfel, dac cineva inventeaz un format nou, tot ce trebuie s fac aceast persoan este
s includ URL-ul unui applet care tie s lucreze cu el ntr-o pagin de Web, i programul de
navigare va aduce i va ncrca applet-ul. Nici un program de navigare din prima generaie nu
este capabil s aduc i s instaleze automat programe externe de vizualizare noi. Posibilitatea
de a aduce applet-uri n mod dinamic nseamn c se pot face experimente cu formate noi,
fr s aib loc ntlniri de standardizare fr sfrit pentru a se ajunge ia un consens.
Acest gen de standardizare se aplic i la protocoale. Pentru unele aplicaii, sunt necesare
protocoale speciale, de exemplu sunt necesare protocoale sigure pentru bnci sau comer. Cu Java,
astfel de protocoale sunt ncrcate dinamic cnd sunt necesare, i nu este necesar o standardizare
universal. Pentru a comunica cu compania X, trebuie s se aduc applet-ul corespunztor. Pentru a
se comunica cu compania Y, trebuie s se aduc protocolul corespunztor. Nu este nevoie ca X i Y
s fie de acord cu un protocol standard.

iniiere n limbaje! Java

Obiectivele considerate anterior au condus la un limbaj cu tipuri sigure, orientat pe obiecte,


utiliznd fire de execuie i care nu are dependene de sistem sau faciliti nedefinite. Ceea ce
urmeaz este o descriere foarte simplificat a limbajului Java, doar pentru a oferi o idee. Numeroase
faciliti, detalii, opinii i cazuri speciale au fost omise pentru a menine prezentarea ct mai scurt.
Specificaiile complete i multe alte informaii despre Java sunt disponibile pe Web (normal) la
http://Java.sun.com. Pentru manuale de Java vezi (Camione i Wairatn, 1996; i Van der Linden,
1996). Pentru a afla ntreaga poveste, vezi (Arnold i Gosling, 1996; i Gosling .a., 1996). Pentru o
scurt comparaie ntre Java i reacia Microsoft la el (Blackbird), vezi (Singleton, 1996).
Aa cum am menionat deja, n esen Java este similar cu C i C + + . Regulile de formare a
atomilor lexicali sunt practic aceleai (de exemplu atomii lexicali sunt delimitai de spaii albe, ntre
SEC. 7.6 WORLD WIDE WEB 657

doi atomi lexicali se pot intercala oricte linii albe). Comentariile se pot introduce utiliznd fie
sintaxa C (/*... 7), fie sintaxa C+ + (//...).
Java are opt tipuri primitive de date, aa cum se vede n Fig. 7-69. Fiecare tip are o dimensiune
specific, independent de implementarea local. n acest mod, spre deosebire de C, unde un ntreg
poate s fie reprezentat pe 16,32 sau pe 64 de bii, n funcie de arhitectura mainii, n Java un ntreg
(int) are ntodeauna 32 bii, nici mai muli nici mai puini, indiferent de maina pe care se execut
interpretorul. Aceast regul este esenial, pentru c acelai applet trebuie s se execute" pe o
main cu 16 bii, 32 de bii si 64 bii si s produc aceleai rezultate.

Type Size Description


Byte 1 octet Un numr ntreg cu semn ntre -128 i 127
Short 2 octei Un numr intreg cu semn reprezentat pe doi octei
Int 4 octei Un numr intreg cu semn reprezentat pe patru octei
Long 8 octei Un numr intreg cu semn reprezentat pe opt octei
Float 4 octei Un numr n virgul mobil reprezentat conform standardului IEEE pe 4 octei
Double 8 octei Un numr n virgul mobil reprezentat conform standardului IEEE pe 8 octei
Boolean 1 bit Singurele valori admise -true i false
Char 2 octei Un caracter reprezentat n Unicode

Fig. 7-69. Tipurile Java de baz.

Variabilele aritmetice (primele 6 tipuri) pot s fie combinate utiliznd operatorii aritmetici
uzuali (inclusiv + + i --) i pot s fie comparate utiliznd operatorii relaionali obinuii (de
exemplu < , < = , = = , ! = ) . Acolo unde are sens sunt permise conversiile ntre tipuri.
Pentru caractere, Java utilizeaz n loc de ASCII codurile pe 16 bii conform standardului
Unicode, astfel nct variabilele de tip caracter sunt reprezentate pe doi octei. Primele 127 caractere
Unicode sunt aceleai ca i n ASCII, pentru compatibilitate. n continuare sunt semne grafice i
apoi caracterele necesare pentru Rus, Arab, Ebraic, Japonez (kanji, katakana i hiragana) i
aproape orice alt limb. Caracterele care nu exist n ASCII pot s fie reprezentate sub forma \u
urmat de patru cifre n baza 16. De exemplu, \u0ae6 este Gujarati zero.
Java permite declararea vectorilor unidimensionali. De exemplu:

int[] table;

declar un vector table, dar nu aloc spaiu pentru el. Alocarea se poate face mai trziu, ca i n
C+ +, de exemplu sub forma:

table = new int [1024];

pentru a aloca un vector cu 1024 elemente. Nu este necesar (i de fapt nici posibil) s se fac
eliberarea vectorilor care nu mai sunt necesari; mecanismul de colectare a spaiului disponibil
(garbage colection) se ocup de ei. n acest mod funciile de bibliotec malloc ifree, care pot s fie
destul de uor utilizate incorect, nu mai sunt utilizate petru gestiunea memoriei.
Vectorii pot s fie iniializai i, ca i n C, se pot utiliza vectori de vectori pentru a obine matrice
cu mai multe dimensiuni. irurile de caractere sunt obiecte n loc de vectori de caractere, care se
termin cu un octet cu valoarea zero.
658 NIVELUL APLICAIE CAP. 7

Instruciunile de control din Java sunt prezentate n Fig. 7-70. Primele nou instruciuni au
practic aceeai sintax i semantic ca i n C, numai c acolo unde este necesar o expresie de
tip Boolean nu se poate utiliza alt tip. De asemenea instruciunile break i continue pot s
utilizeze etichete pentru a preciza care dintre ciclurile etichetate este abandonat sau reluat.

instruciune Descriere Exemplu


Atribuire Atribuie o valoare n=i+j ;
ff Alegere booleana if (k < 0) k = 0; elsc k = 2* k;
Switch Selecie Switch (b) {case 1: n + + ; casc 2: n-;}
For Iteraie for (i = 0; i < n; i + + ) a[ij = b[i];
Whife Ciclu while (n < k) n + = i;
Do Ciclu do {n = n + n} while (n < rn);
Break ieire din ciclu break eticheta;
Retum Ieire din subprogram return n;
Continue Urmtoarea iteraie continue eticheta;
Throw Produce o excepie throw new IllegalArgurnentExccption();
)Try Domeniu de valabilitate pentru o excepie try{...} catch(Exception e){return -1}; |
Synchronized Excludere mutual synchronized void update(int s) {...} j

Fig. 7-70. Instruciuni Java. Notaia {...} indic un bloc de cod.

Urmtoarele dou instruciuni apar n C+ + dar nu i n C. Instruciunile throw i tiy se ocup de


tratarea excepiilor. Java definete o varietate de excepii standard, ca de exemplu mprirea cu
zero, i permite programatorilor s defineasc i s produc propriile lor excepii. Programatorii pot
s scrie secvene care trateaz excepiile, n acest mod nu mai este necesar s se verifice mereu dac
a aprut o eroare (de exemplu n timpul citirii unui fiier). Instruciunea throw produce o excepie,
iar instruciunea iy definete domeniul de valabilitate format din instruciunile n care poate s
apar excepia.

ciass Factorial{ /* Programul conine o clasa i doua metode */

public static void main(String args[]}{ // programul principal


long 1, f, "iowwer = 1, upper = 20; // dec]ararea.a patru ntregi
for(i = lower; i <= upper; i++){ // ciclu intre lower i upper
f = factorial(i); / / f = ii
System.out.printlnfi + "" + f); // tiprire i i f

}
static long factonai (long k) { // funcia recuri v factorial
if (k == 0)
return 1; // 0! = 1
else
return k * factorial (k - I); // k! = k * (k -1)!

Fig. 7-71, Un program Java pentru caicului i tiprirea valorilor ntre 0! i 20!
SEC. 7.6 WORLD WIDE WEB 659

Instruciunea synchronized este nou i este necesar pentru c n Java pot s existe mai multe
fire de execuie. Pentru a evita apariia curselor, aceast instruciune este utilizat pentru a delimita
o secven de cod (sau o procedur ntreag) care nu trebuie s fie executat dect de un singur fir
de execuie activ la un moment dat. Astfel de secvene de cod se numesc regiuni critice. Firul de
execuie care execut instruciunea synchronized, trebuie s ocupe zvorul asociat regiunii critice,
iar dup execuia regiunii critice, s elibereze zvorul. Dac zvorul nu este disponibil, firul de
execuie ateapt pn la eliberarea zvorului. Oricnd procednd n acest mod i utiliznd variabile
de condiie, programatorii au la dispoziie ntreaga putere a monitoarelor (Hoare, 1974).
Programele Java pot s fie apelate cu argumente. Preluarea liniei de comand este similar
C-ului, cu excepia faptului c vectorul de argumente se numete args n loc de argv i args[0]
este primul argument i nu numele programului. Figura 7-71 prezint un program Java care
calculeaz o tabel de factoriali.
Dei att Java ct i C+ + sunt limbaje orientate pe obiecte bazate pe C, Java i C+ +
difer n cteva privine. O serie de faciliti au fost eliminate din Java pentru a asigura
sigurana tipurilor sau pentru a face programele mai uor de citit. n lista eliminrilor apar:
#define, typedef, enums, unions, struct, ncrcarea operatorilor, pointeri explicii,
variabilele globale, funcii n afara claselor sau funciile prieten (friend functions). Este de Ia
sine neles c instruciunea goto a fost eliminat. Alte faciliti au fost adugate pentru a oferi
Imbajului mai mult putere. Facilitile adugate includ colectarea spaiului disponibil
(garbage collection), fire de execuie multiple (multithreading), interfee pentru obiecte i
biblioteci (packages).

Orientare obiect n Java


n limbajele procedurale clasice cum sunt Pascal-ul sau C-ul, un program const dintr-o colecie
de variabile i proceduri, fr un principiu general de organizare. Prin contrast, ntr-un limbaj
orientat pe obiecte (aproape) orice este un obiect. Un obiect conine n mod normal variabile de
stare interne (ascunse) mpreun cu proceduri publice numite metode, care permit accesul la
acestea. Programele care utilizeaz obiectul au acces la variabile numai prin intermediul metodelor.
n acest mod, cel care a descris obiectul controleaz modul n care programele utilizeaz informaia
coninut n obiect. Acest principiu se numete ncapsulare i reprezint suportul programrii
orientate pe obiecte.
Java ncearc s utilizeze tot ce este mai bun n cele dou lumi. Poate s fie utilizat ca limbaj
procedural tradiional sau ca limbaj orientat pe obiecte. Exemplul scris n Java din Fig. 7-71, poate s
fie scris n C, i practic va arat la fel. n acest mod, un subset de Java poate s fie considerat ca fiind
o versiune C curat. n acelai timp, pentru a scrie pagini pentru Web, Java poate s fie privit ca un
limbaj orientat pe obiecte, astfel nct n seciunea curent, vom studia acest aspect.
Un program Java const din una sau mai multe biblioteci (packages), fiecare din ele coninnd
cteva definiii de clase. Bibliotecile pot s fie accesate de la distan prin reea, de aceea cele care
urmeaz s fie utilizate pe o scar larg trebuie s aib nume unice. De obicei se utilizeaz ierarhii
de nume prefixate cu inversul numelui DNS al mainii, de exemplu:
660 NIVELUL APLICAIE CAP. 7

EDU.univ.cs.catie.games.chess

O clas definete un ablon pentru producerea de instane de obiecte, fiecare coninnd aceleai
variabile de stare i aceleai metode ca i orice alt instan de obiect din aceeai clas. Valorile
variabilelor de stare din diferite obiecte sunt independente. Clasele sunt similare formelor pentru
prjituri: ele nu sunt prjituri, dar pot fi utilizate pentru a produce prjituri cu structur identic. O
dat ce prjiturile au fost produse, ele sunt independente.
Obiectele Java sunt produse dinamic n timpul execuiei, de exemplu:

object = new ClassnameO;

Aceste obiecte sunt memorate n heap i sunt eliminate de mecanismul de colectare a memoriei
disponibile atunci cnd nu mai sunt necesare. In acest mod, gestiunea memoriei n Java este
realizat de ctre sistem, fr s se mai utilizeze procedurile malloc smifree, sau pointeri explicii.
Fiecare clas se bazeaz pe o alta. O clas nou definit se numete subclasa celei pe care se
bazeaz i care este superclas. O clas motenete ntotdeauna metodele superclasei. Ea poate avea
sau nu acces direct la variabilele interne ale superclasei, n funcie de modul n care a fost definit
superclas. De exemplu, dac o superclas, A, are metodele Ml, M2 i M3, iar o subclas, B,
definete o nou metod, M4, atunci obiectele create din B, vor avea metodele Ml, M2, M3 i M4.
Proprietatea prin care o clas preia n mod automat toate metodele superclasei sale se numete
motenire i reprezint o proprietate important a limbajului Java. Adugarea de noi metode la cele
ale superclasei se numete extinderea superclasei. Unele limbaje orientate pe obiect permit unei
clase s moteneasc metode de la dou sau mai multe superclase (motenire multipl), dar
proiectanii limbajului Java au considerat c aceast proprietate este prea complex i au eliminat-o
n mod deliberat.
Deoarece fiecare clas Java are o singur superclas imediat, mulimea claselor dintr-un
program Java formeaz un arbore. Clasa rdcin este numit Object. Toate clasele motenesc
metodele clasei Object. Orice clas pentru care nu se declar explicit superclas este o subclas
a clasei Object.
S considerm un exemplu care s ilustreze conceptele prezentate pn acum. n Fig. 7-72 este
prezentat o bibliotec ce definete dou clase, ComplexNumber, pentru definirea i utilizarea
numerelor complexe (numere care au o component real i una imaginar), i test, care indic cum
se poate utiliza clasa ComplexNumber.
Similar cu clasa ComplexNumber, clasa Factorial se bazeaz pe clasa Objeci, deoarece n definiia
sa nu este specificat alt superclas. Fiecare obiect din clasa CompkxNumber reprezint un numr
complex. Fiecare obiect din aceast clas conine dou variabile ascunse, re i im, ambele numere n
virgul mobil reprezentate pe 64 de bii, reprezentnd partea real i partea imaginar a numrului.
Ele nu pot s fie accesate din afara clasei sau a subclaselor acesteia pentru c au fost declarate cu
atributul protected. Dac ar fi fost declarate cu atributul pri vate, atunci ar fi fost accesibile numai
din metodele clasei ComplexNumber i inaccesibile din orice subclas. Deocamdat atributul
private ar fi putut fi utilizat, dar urmeaz s definim o subclas pentru ComplexNumber. Dac
variabilele ar fi fost declarate cu atribut pubi ic ar fi fost accesibile de oriunde din bibliotec, ceea ce
ar fi distras orientarea pe obiecte. Totui, exist situaii n care este necesar s se poat face acces la
starea intern a obiectului.
SEC. 7.6 WORLD WIDE WEB 661

class ComplexNumber{ // Definirea unei subclase a clasei Object


// date ascunse
protected double re, im; // partea reala i cea imaginara

// cinci metode care lucreaz cu cmpurile ascunse


public void Complex (double x, double y){re = x; im = y;}
public double Real(){return re;}
public double Imaginary () {return im;}
public double magnitude() {return Math.sqrt(re*re + im* im);}
public double Angle(){return Math.atan(im/re);}

class test{ // Alta clasa pentru testarea clasei ComplexNumber


public static void main(String args[]){
ComplexNumber c; // referin spre un obiect din clasa ComplexNumber
c = new ComplexNumber(); // crearea obiectului
c.Complex(3.0,4.0); // utilizare metoda Complex pentru iniializare
System.out.println(Modulul numrului c este + c.Magnitude());

Fig. 7-72. O bibliotec care definete dou clase.

Pentru obiectele instaniate din clasa ComplexNumber sunt definite cinci metode. Utilizatorii
clasei sunt forai s utilizeze numai aceste metode i nu au acces direct la starea intern a obiectului.
n test este dat un exemplu de creare, iniializare i utilizare a obiectelor din clasa ComplexNumber.
n urma compilrii se produc dou fiiere binare (bytecode), cte unul pentru fiecare clas,
numite conform numelui clasei. Comanda:
Java test

produce invocarea interpretorului pentru limbajul Java utiliznd clasa test ca parametru.
Interpretorul caut n aceast clas o metod main, i, dup ce o gsete, o execut. Rezultatul
execuiei apare tiprit sub forma liniei:
Modulul numrului c este 5

Acum putem s definim o subclas a clasei ComplexNumber, numai pentru a vedea cum
funcioneaz. Se ncepe prin importul clasei iniiale, pentru a afla ce face i care sunt metodele sale.
Se definete apoi o extensie a clasei ComplexNumber, pe care o vom numi HairyNumber. Noua clas
motenete cele cinci metode ale superclasei. Pentru a face lucrurile mai interesante n subclas,
vom defini a asea metod, AddTo, care adun un numr complex la obiectul curent, crescnd
partea real i cea imaginar.
Definiia clasei este prezentat n Fig. 7-73, mpreun cu un alt program de test, care arat
cum se poate utiliza un obiect care aparine clasei HairyNumber. Cnd se va executa noul
program se va obine:
h = (-0.5, 6)
NIVELUL APLICAIE CAP. 7

S ne amintim c cele ase metode pot s fie aplicate asupra obiectelor aih, indiferent de
locul unde este definit fiecare dintre metode. Dac definim acum o subclas bazat pe
HaiiyNumber, creia i adugm s zicem trei noi metode, atunci obiectele instaniate din ea
vor avea nou metode valide.
n afar de adugarea de noi metode la ceie ale superclasei, o subclas poate nlocui metode
existente redefinindu-le. n acest mod, este posibil ca pentru o subclas s se redefineasc toate
metodele motenite de la supercias, astfel nct obiectele care aparin celor dou clase nu mai au
nimic n comun. Aa ceva nu este o tehnic corect de programare i trebuie evitat.
O clas Java poate s defineasc mai multe metode cu acelai nume, dar avnd parametri diferii
i definiii diferite. Atunci cnd compilatorul ntlnete o invocare de metod cu numele respectiv,
va utiliza tipurile parametrilor pentru a identifica pe care dintre definiii trebuie s o utilizeze.
Aceast proprietate se numete suprancrcare (overloading) sau polimorfism (polymorphism). Spre
deosebire de C++, unde pot s fie suprancrcai i operatorii, n Java pot s fie suprancrcate
numai metodele pentru a face programele mai simplu de neles.

import ComplexNumber; // se importa biblioteca ComplexNumber

ciass HairyNiiinber extends ComplexNumberl // se definete o noua clasa


public void AddTo(ComplexNumber z){ // cu o metoda
re = re -s- z.Reai {);
z.ImaginaryQ;

dasstest2{ // program de t e s t pentru HairyMumber


public s t a t i c void main(String args[]){
HairyNumber as h; // se declara doua numere

a = new H y // alocare de memorie pentru a


h = new HairyNumberQ; // alocare de memorie pentru h
a.Complex(1.0, 2,0); // atribuirea unei valori lui a
h.Complex(-1.5, 4); // atribuirea unei valori lui h
h.AddTo(a); // invocarea metodei AddTo pentru h
System.out.pnnt!n(h + h.ReaiQ h.ImaginaryO + J 1 1 } ;

Fig. 7-73. O subclas a clasei ComplexNumber pentru care se definete o nou metod.

In afar de limbajul de baz, proiectanii limbajului Java au definit i implementat aproximativ


200 de clase pentru distribuia iniial. Metodele coninute n aceste clase formeaz un fel de mediu
standard pentru cei care dezvolt programe Java. Clasele sunt scrise n Java, astfel nct sunt
portabile pe orice platform i sistem de operare.
Dac o discuie referitoare ia toate aceste clase i metode depete cadrul acestei cri, totui o
scurt prezentare poate s fie de interes. Ceie 200 de clase sunt grupate n apte biblioteci de mrimi
diferite, fiecare focalizat pe un anumit subiect. Applet-urile care au nevoie de o anumit bibliotec
pot s o includ utiliznd instruciunea import. Metodele coninute pot s fie utilizate conform
SEC. 7.6 WORLD WIDE WEB 663

necesitilor. Acest mecanism nlocuiete fiierele de antet din C. De asemenea sunt nlocuite
bibliotecile statice, deoarece bibliotecile (package) sunt ncrcate dinamic pe parcursul execuiei,
atunci cnd sunt referite.

Bibliotec Exemple de funcionalitate


java.lang Clase, fire de execuie, excepii, matematic, iruri de caractere
java.io Stream-uri, fiiere cu acces direct, tiprire
jaya.net Socluri, adrese IP, URL-uri, datagrame
java.util Stive, tabele de dispersie, vectori, timp, date calendaristice
java.appiet Aducere i afiare de pagini de Web, audio, clasa Object
java.awt Evenimente, dialog, meniuri, fonturi, grafic, gestiune ferestre
java.awtimage Culori, filtrare i conversie de imagini
java.awt.peer Accesul la sistemul de ferestre suport

Fig. 7-74. Bibliotecile incluse n API


(Application Programming Interface - interfaa de aplicaii program).

n Fig. 7-74 se face rezumatul celor apte biblioteci. Biblioteca java.lang conine clase care pot s
fie considerate ca fcnd parte din limbaj, dar nu i din punct de vedere tehnic. Exist clase pentru
gestiunea claselor, a firelor de execuie, tratarea excepiilor. Biblioteca standard matematic i cea
pentru tratarea irurilor de caractere sunt de asemenea coninute njava.lang.
Ca i n C, nu exist instruciuni de intrare/ieire. Operaiile de citire sau scriere se realizeaz
utiliznd biblioteca java.io. Este asemntoare cu biblioteca standard de intrare/ieire din C. Exist
metode pentru citirea i scrierea din/n fluxuri (stream-uri), n fiiere cu acces direct i pentru
realizarea formatrii necesare pentru tiprire. n Fig. 7-71 s-a utilizat una dintre aceste metode,
piintln, care realizeaz tiprirea formatat.
Cu semnificaie apropiat de operaiile de intrare/ieire este comunicaia n reea.
Bibliotecajava.net conine metode care tiu s lucreze cu adrese IP. Aceeai bibliotec conine
i metode pentru accesul la socluri i pentru pregtirea datagramelor. Transmisia efectiv este
controlat de ctre ja.va.io.
Urmtoarea bibliotec este java.util. Conine clase i metode pentru structuri tipice de date cum
sunt stivele sau tabelele de dispersie, astfel c programatorii nu trebuie s reinventeze roata. Aici
sunt i metodele pentru gestiunea timpului i a datelor.
Biblioteca java.appiet conine mecanismele de baz pentru applet-uri, inclusiv metode pentru
aducerea paginilor de Web pornind de la URL-urile lor. Conine i metode pentru afiarea paginilor
de Web i controlul sunetelor (de exemplu muzica de fundal). Biblioteca java.appkt conine i clasa
Object. Toate obiectele motenesc metodele sale, dac acestea nu sunt nlocuite. Aceste metode
includ copierea (donarea) unui obiect, compararea a dou obiecte pentru egalitate, convertirea unui
obiect la un sir de caractere si multe altele.
n final ajungem la java.awt i subpachetele sale. AWT nseamn Abstract Window Toolkit
(instrumente pentru interfaa abstract) i este proiectat pentru a permite applet-urilor s poat fi
executate pe diferite sisteme de ferestre. De exemplu, cum trebuie un applet s deseneze un
dreptunghi pe ecran, astfel nct aceeai versiune binar de applet (formatul bytecode) s se poat
executa pe UNIX, Windows sau pe Macintosh, chiar dac acestea au propriile lor sisteme de
ferestre? O parte a bibliotecii se ocup cu desenarea pe ecran, deci exist metode pentru afiarea de
664 NIVELUL APLICAIE CAP. 7

linii, figuri geometrice, texte, meniuri, butoane, bare de defilare i multe altele. Programatorii Java
apeleaz aceste metode pentru a realiza afiarea pe ecran. Depinde apoi de biblioteca java. awt s
fac apelurile corespunztoare la sistemul de operare local pentru a obine efectul dorit. Aceast
strategie presupune c&java.awi trebuie s fie rescris pentru fiecare platform nou, dar applet-urile
sunt independente de platform, ceea ce este mai important.
O alt aciune important pentru aceast bibliotec este tratarea evenimentelor. Majoritatea
sistemelor de ferestre sunt controlate prin evenimente. Aceasta nseamn c sistemul de operare
detecteaz apsarea tastelor, micarea mausului, apsarea i eliberarea butoanelor, ca i alte
evenimente pe care le convertete n apeluri de proceduri utilizator. n cazul Java, rn.java.awt exist
o colecie bogat de metode pentru tratarea unor astfel de evenimente. Utilizndu-le, este mai
simplu s se scrie programe care interacioneaz cu sistemul local de ferestre i n aceiai timp se
obine o portabilitate complet ntre maini cu sisteme de ferestre sau sisteme de operare diferite.
O parte din aceste aciuni sunt coninute mjava.awiimage, ca de exemplu gestiunea ferestrelor,
i mjava.awt.peei; care permite accesul la sistemul de ferestre local.

Securitate

Proprietile legate de securitate constituie unul dintre cele mai importante aspecte legate de
Java. Cnd se aduce o pagin de Web care conine un applet, se face execuia automat a applet-ului
pe calculatorul clientului. Ar fi de preferat ca execuia acestuia s nu produc o defectare a mainii
pe care se execut.
Mai mult, nu este nevoie de prea mult imaginaie pentru a prevedea cum un student
ntreprinztor produce o pagin de Web coninnd un joc nou foarte drgu, dup care i face
public pe scar larg adresa (URL-ul) (de exemplu publicnd-o pe fiecare grup de tiri).
Ceea ce nu se menioneaz n anun este faptul c pagina conine i un applet care dup
lansare ncepe imediat s ncripteze toate fiierele de pe disc. Cnd termin, appiet-ul anun
ce a fcut i n mod politicos menioneaz utilizatorilor care vor s cumpere cheia cu care se
poate face decriptarea c preul este de 1000$ n bancnote cu valori mici, nemarcate, ce
trebuie trimise la o csu potal din Panama.
n afar de astfel de scheme de tip cum-s-ne-mbogim-rapid, exist i alte pericole n cazul n
care se permite execuia de cod strin" pe maina proprie. Un applet poate s caute informaii
interesante" (mesaje salvate, fiierul cu parole, iruri de caractere din mediul local etc.) i s le
transmit prin reea. De asemenea poate s consume resurse (s umple discul), s afieze imagini
pornografice sau mesaje politice pe ecran sau s produc sunete neplcute utiliznd placa de sunet.
Desigur, proiectanii limbajului au fost contieni de aceste probleme i au ridicat o serie de bariere
mpotriva lor. Prima linie de aprare este faptul c limbajul are tipuri sigure. Java este strong typed, se
face verificarea limitelor vectorilor i nu exist pointeri. Aceste restricii nu permit ca ntr-un program
Java s se construiasc un pointer pentru a citi sau scrie la o adres arbitrar n memorie.
Totui, Trudy, care tocmai a renunat s mai ncerce s sparg protocoale ncriptate i a trecut la
o tem mai interesant, scrierea de applet-uri Java ruvoitoare, poate s scrie sau s modifice un
compilator de C pentru a produce cod pentru maina virtual Java (bytecode), trecnd astfel peste
toate precauiile prevzute n limbaj i n compilatorul pentru Java.
A doua linie de aprare const din verificarea applet-urilor aduse utiliznd un verificator de cod
de main virtual. Verificatorul se uit dac exist ncercri de construire de pointeri, de execuie
SEC. 7.6 WORLD WIDE WEB 665

de instruciuni sau apeluri de metode cu parametri incoreci, de utilizare de variabile nainte de a fi


iniializate etc. Se presupune c aceste verificri garanteaz c se execut numai applet-uri corecte,
dar Trudy se va strdui s gseasc noi trucuri, pe care verificatorul nu le testeaz.
A treia linie de aprare este ncrctorul claselor. Deoarece clasele pot s fie ncrcate dinamic,
exist pericolul ca un applet s i ncarce propria sa clas pentru a evita o clas sistem critic,
ocolind n acest fel mecanismele de securitate legate de clase. Acest atac de tip cal Troian a fost
fcut imposibil dnd fiecrei clase spaiu propriu de nume (un fel de catalog abstract) i cutnd
nti ntre clasele sistem i apoi ntre clasele utilizatorului. Cu alte cuvinte, dac utilizatorul ncarc o
versiune ruvoitoare pentru ptintln, ea nu va fi niciodat utilizat, deoarece ntotdeauna prima
versiune gsit va fi versiunea oficial.
A patra linie de aprare const din faptul c unele dintre clasele standard conin propriile lor
msuri de securitate. De exemplu, clasa care se ocup de accesul la fiiere menine o list de fiiere,
care pot s fie accesate de applet-uri, i afieaz o fereastr de dialog ori de cte ori un applet
ncearc s fac ceva care violeaz regulile de protecie.
In ciuda acestor msuri, este de ateptat s apar probleme legate de securitate. In primul
rnd este posibil s existe greeli n programele legate de Java pe care programatori pricepui
s poat s le exploateze pentru a ocoli msurile de securitate. Cunoscutul virus Internet
worm", care a aprut n 1988, a utilizat o greeal din demonul de Finger din sistemul UNIX
pentru a bloca mii de maini legate la Internet (Hafner i Markoff, 1991; i Spafford, 1989).
n al doilea rnd, dei este posibil s se interzic unui applet s fac orice altceva dect scrieri pe
ecran, multe applet-uri au nevoie de mai mult putere, deci atunci cnd solicit drepturi
suplimentare, utilizatorul poate (eventual din naivitate) s i le acorde. De exemplu, un applet poate
s aib nevoie s scrie n directorul /tmp, considernd c nimic important nu poate s se gseasc
acolo. Din pcate, majoritatea editoarelor pstreaz versiuni temporare de documente sau mesaje
pentru pota electronic pe parcursul editrii, deci applet-uri ruvoitoare pot s le copieze i s
ncerce s le transmit prin reea. Desigur, este posibil s se blocheze accesul applet-urilor la reea,
dar multe applet-uri au nevoie de acest acces, deci trebuie s li se asigure i acest drept.
Chiar i n cazul n care applet-urilor nu li se permite s fac acces la reea, ele pot s
transmit informaii utiliznd canale acoperite (Lamson, 1973). De exemplu, dup ce obine o
anumit informaie, un applet poate s formeze un flux de un bit utiliznd ceasul local. Pentru
a transmite un 1, el execut ceva pentru At; pentru a transmite un 0, se ateapt pentru At.
Pentru a recepiona informaia, proprietarul applet-ului va stabili o legtur cu maina clientului
pentru a citi paginile sale de Web publice sau pentru a prelua prin FTP fiiere publice. Monitoriznd
cu mare atenie viteza de recepie a datelor, proprietarul applet-ului poate s afle dac se execut un
calcul (i de aceea se ncetinete fluxul de sosire al datelor) sau dac acesta este n starea de
ateptare. Desigur, canalul are zgomot, dar poate s fie prelucrat cu tehnici standard. Fluxul poate s
fie mprit n cadre delimitate de octei indicatori. Coninutul cadrelor individuale pot s utilizeze
coduri corectoare de eroare puternice i toate cadrele pot s fie transmise de mai multe ori. Exist
multe alte exemple de canale acoperite i este foarte dificil s le descoperi i s le blochezi. Pentru
mai multe informaii referitoare la problemele de securitate n Java, vezi (Dean i Wallach, 1995).
n rezumat, Java introduce numeroase posibiliti i faciliti noi n WWW. Limbajul permite
paginilor de Web s fie interactive i s conin animaie i sunete. De asemenea permite
programelor de navigare s fie extensibile n mod nelimitat. Prin introducerea applet-urilor care se
aduc din reea se introduc ns noi probleme de securitate, care nu au fost nc rezolvate complet.
NIVELUL APLICAIE CAP. 7

Cu toate c pe Web se gsete o cantitate foarte mare de informaii, gsirea unei anumite
informaii nu este foarte simpl. Pentru a facilita gsirea paginilor care pot s fie utile, o serie de
cercettori au scris programe pentru a realiza indexarea Web-ului n diferite moduri. Unele dintre
soluii au devenit att de populare, nct s-au transformat n soluii comerciale. Programele care
realizeaz cutarea pe Web se numesc maini de cutare (searcfe eagines, spiders, crawlers, worms,
koowhots (knowledge robots)). n seciunea curent, oferim o introducere scurt la acest subiect.
Pentru mai multe informaii, vezi (Pinkerton, 1994 i McBryan, 1994).
Dei Web-ul este imens, dac l reducem la esen, este un grai imens avnd pagini n noduri i
hiper-legturi ca arce. Algoritmii pentru vizitarea tuturor nodurilor unui graf sunt foarte bine
cunoscui. Ceea ce face dificil indexarea Web-ului este cantitatea imens de informaie care trebuie
gestionat i faptul c aceast informaie este n continu schimbare.
S ncepem discuia cu un singur obiectiv: indexarea tuturor cuvintelor cheie n toate titlurile
paginilor de Web. Pentru algoritmul nostru avem nevoie de trei structuri de date. nti, un vector
liniar, udjable, care conine milioane de intrri, de fapt cte una pentru fiecare pagin de Web.
Trebuie pstrat n memoria virtual, astfel nct prile care sunt mai puin utilizate s fie scrise
automat pe disc. Fiecare intrare conine doi pointeri, unul ia URL-ul paginii i un altui ctre titlul
paginii. Ambele elemente sunt iruri de caractere cu lungimi variabile i pot s fie pstrate ntr-un
heap (o poriune nestructurat de memorie virtual la care se adaug iruri de caractere). Heap-ul
reprezint a doua structur de date pe care o utilizm.
A treia structur de date este o tabel de dispersie avnd n intrri. Este utilizat n modul
urmtor. Orice URL poate s fie trecut printr-o funcie de dispersie pentru a produce un
numr pozitiv mai mic dect n. Toate URL-urile care dau valoarea de dispersie k sunt legate
intr-o list nlnuit ncepnd din intrarea k a tabelei de dispersie. Ori de cte ori un URL
este introdus n tabela udjable, este introdus i n tabela de dispersie. Principalul scop al
tabelei de dispersie este s permit regsirea rapid a unui URL n udjable. Structurile de
date respective sunt prezentate n Fig. 7-75.

Pointeri Pointeri
spre spre
Lanun ae
URL-uri titluri
deplrs
memone iruri oispersi

-+-*! A

H19I-- 8

H 21

Ur! table Heap tabel de dispersie

FIg 7-75. Structurile de date utilizate de o main de cutare simpl.


SEC. 7.6 WORLD WIDE WEB 667

Construirea index-ului necesit dou faze: cutarea i indexarea. S considerm iniial o main
simpl de cutare. Nucleul mainii de cutare este o procedur recmsiv processjirl, care primete
un ir URL ca intrare. El opereaz n modul urmtor. nti aplic funcia de dispersie URL-ului,
pentru a verifica dac este deja prezent n urljable. Dac da, a terminat i se ntoarce imediat.
Fiecare URL este prelucrat o singur dat.
Dac URL-ul nu este deja cunoscut, i se aduce pagina. URL-ul i titlul sunt apoi copiate n heap
i pointerii la aceste dou iruri de caractere sunt introdui n urljable. URL-ul este de asemenea
introdus n tabela de dispersie.
n sfrit, process_ud extrage toate hiper-legturile din pagin i apeleaz processjirl pentru
fiecare legtur, transmind URL-ul hiper-legturii ca parametru.
Execuia mainii de cutare nseamn execuia processjui ncepnd cu un URL de plecare.
Cnd se termin cutarea, toate paginile care pot s fie accesate din URL-ul respectiv au fost
introduse n ud table si faza de cutare s-a terminat.
Dei proiectarea este simpl i corect din punct de vedere teoretic, totui are o deficien
serioas pentru un sistem att de mare cum este Web-ul. i anume algoritmul execut o cutare de
tip n adncime", ceea ce nseamn c va intra n recursivitate de un numr de ori egal cu lungimea
celei mai lungi ci neciclice din Web. Nimeni nu tie ct de lung este aceast cale, dar probabil c
este format din mii de hiper-legturi. Ca o consecin, orice main de cutare care utilizeaz o
astfel de abordare o s depeasc dimensiunea stivei nainte de a termina cutarea.
n practic, mainile de cutare actuale colecteaz mai nti toate hiper-legturile din fiecare
pagin citit, le terge pe cele deja prelucrate i le salveaz pe cele rmase. Se face apoi o cutare n
lime"; adic, este urmat fiecare legtur ctre o pagin, sunt colectate toate hiper-legturile din
toate paginile indicate, dar ele nu sunt tratate n ordinea n care au fost obinute.
A doua faz realizeaz indexarea pe cuvinte cheie. Procedura de indexare trece liniar prin
urljable, prelucrnd pe rnd fiecare intrare. Pentru fiecare intrare, examineaz titlul i selecteaz
toate cuvintele care nu sunt coninute ntr-o list special (stop list) care conine prepoziii,
conjuncii, articole i alte cuvinte care apar des, dar nu au valoare. Pentru fiecare cuvnt selectat,
scrie ntr-un fiier o linie constnd din cuvntul respectiv urmat de numrul intrrii n urljable.
Indexul trebuie s fie memorat pe disc i poate s fie utilizat n modul urmtor. Utilizatorul
completeaz un formular indicnd unul sau mai multe cuvinte cheie, dup care apas pe
butonul SUBMIT. Aceast aciune produce trimiterea unei cereri POST pentru un script CGI
pe maina pe care este localizat indexul. Acest script (sau mai curnd un program) caut
cuvintele cheie n index, pentru a afla mulimea de indici n urljable pentru fiecare dintre ele.
Dac utilizatorul cere I-ul logic (BOOLEAN AND) al cuvintelor cheie atunci se calculeaz
mulimea intersecie a mulimilor construite. Dac se dorete SAU-ul logic (BOOLEAN OR),
se calculeaz reuniunea mulimilor respective.
Scriptul caut n urljable pentru a afla toate titlurile i toate URL-urile. Acestea sunt apoi
combinate pentru a produce o pagin de Web care este transmis utilizatorului ca rspuns la cererea
POST. Programul de navigare o s afieze pagina, permind utilizatorului selecia oricrui element
care pare interesant.
Pare uor? Nu este. n orice sistem practic trebuie s fie rezolvate urmtoarele probleme:

1. Unele URL-uri nu mai sunt valabile (indic spre pagini care nu mai exist).
2. Unele calculatoare pot s devin temporar inaccesibile.
668 NIVELUL APLICAIE CAP. 7

3. Nu toate paginile sunt accesibile pornind din URL-uI de pornire.


4. Unele pagini sunt accesibile numai din hri active.
5. Unele documente nu pot s fie indexate (clip-uri audio).
6. Nu toate documentele au titluri utile.
7. Maina de cutare poate s nu aib spaiu suficient n memorie sau pe disc.
8. ntreg procesul poale s dureze prea mult.

URL-urile care nu mai sunt valabile deranjeaz, dar serverul pe care ar fi trebuii s se gseasc
rspunde imediat cu un cod de eroare. Mult mai neplcute sunt situaiile n care serverul este
inaccesibil, deoarece tot ce se observ este un interval de timp foarte lung pentru stabilirea
conexiunii TCP. Pentru a preveni situaia n care se ateapt la nesfrit trebuie s se utilizeze un
interval de limit de timp. Dac intervalul este ales prea scurt, se pot rata URL-uri corecte. Dac
este prea lung, procesul de cutare devine prea lent.
Alegerea URL-ului iniial este o problem major. Dac maina de cutare pornete cu URL-ul
paginii unui astrofizician, s-ar putea s gseasc tot ce se poate despre astronomie, fizic, chimie,
tiina spaiului, dar va pierde complet paginile legate de medicin veterinar i rock'n roii. Aceste
mulimi pot s fie pur i simplu disjuncte. O soluie este s se plece de la un set mare de URL-uri
care s fie utilizate fiecare ca pagin de start. Paginile de start pot s fie obinute din articole de tiri
USENET i din versiunea de sptmna trecut a udjable, deoarece unele din aceste pagini pot s
se fi schimbat recent (de exemplu un astrofizician s-a cstorit cu un veterinar i au hotrt s i
modifice paginile personale pentru a indica una spre cealalt).
Indexarea funcioneaz bine pe texte, dar tot mai multe pagini conin alte elemente dect texte,
inclusiv grafic sau audio sau video. O abordare posibil este s se ncerce pentru fiecare URL nou
metoda HEAD, pentru a obine antetul MIME. Orice nu este de tipul text nu este parcurs.
Peste 20% din paginile de Web nu au titluri i multe au titluri practic nesemnificative (..Pagina
lui Joe"). O mbuntire important a indexului se obine dac n loc de titlu se consider tot
hipertextul. n acest caz, cnd se parcurge o pagin sunt nregistrate i toate legturile, mpreun cu
pagina din care provin i cu pagina spre care indic. Dup faza de cutare, toate hiper-cuvintele pot
s fie i ele indexate.
i mai ambiios este s indexezi toate cuvintele importante din fiecare pagin. Pentru a aia care
sunt cuvintele importante, se calculeaz frecvena cuvintelor care nu fac parte din lista de cuvinte
care se ignor (stop list) pentru fiecare pagin de Web. Probabil c primele 10 sau 20 de cuvinte
merit s fie indexate. n fond, dac ficat" este cel mai utilizat cuvnt ntr-o pagin, exist o ans ca
pagina respectiv s fie interesant pentru un chirurg (sau pentru un buctar). Unele maini de
cutare (de exemplu Lycos) utilizeaz aceast strategie.
n fine, maina de cutare poate s epuizeze spaiul de memorie sau timpul afectat. O posibilitate
este s se reproiecteze algoritmii utilizai cu mai mare atenie. O abordare complet diferit este cea a
lui Harvest, care permite mprirea muncii (Bowman .a., 1994, 1996). n particular, Harvest ofer
un program care se execut pe servere care coopereaz. Acest program face cutarea local i
transmite napoi fiierul index local. Pe serverul central se face mixarea indecilor, obinndu-se
indexul global. Aceast abordare reduce cu cteva ordine de mrime dimensiunea memoriei, timpul
de unitate central i banda de reea necesar, dar prezint dezavantajul major de a cere serverelor
Web s coopereze, executnd software strin. Considernd posibilitatea problemelor legate de virui
SEC. 7.7 MULTIMEDIA 669

sau viermi, atunci cnd unui administrator de sistem i se adreseaz cererea: Vrei s execui acest
program pe maina ta pentru mine?" probabil c va refuza.
Este necesar acum o simpl precizare. Dac scrierea unei maini de cutare pare o sarcin
simpl, o main care funcioneaz prost poate s blocheze reeaua, genernd un numr mare de
cereri inutile, pentru care nu numai c se consum n mod inutil din banda reelei, dar se pot bloca
serverele datorit suprancrcrii. Dac nu v putei abine s scriei propria main de cutare, o
simpl cerin de politee n reea presupune limitarea la domeniul DNS local pn cnd este total
pus la punc.

7.7 MULTIMEDIA

Multimedia reprezint sarea i piperul reelelor de calculatoare. Minile ascuite vd


imense provocri tehnice n furnizarea de video (interactiv) la cerere n fiecare cas. Gulerele
albe vd un profit imens n acestea. Nici o carte despre reele nu va fi complet fr cel puin o
introducere n subiect. Dat fiind lungimea de pn acum a acestei cri, introducerea noastr
va fi scurt. Pentru informaii adiionale despre acest subiect fascinant i potenial profitabil,
vezi (Buford, 1994; Deloddere .a., 1994; Dixit i Skelly, 1995; Fluckiger, 1995; Minoli, 1995; i
Steimetz i Nahrstedt, 1995).
Literal, multimedia nseamn dou sau mai multe media. Dac editorul acestei cri voia s se
alture interesului ia mod despre multimedia, el putea anuna c lucrarea folosete tehnologia
multimedia. n fond, aceasta conine dou media: textul i grafica (desenele). Cu toate acestea,
atunci cnd majoritatea oamenilor se refer la multimedia, de fapt ei se refer la combinarea ntre
dou sau mai multe media continue (continuous media), adic media care trebuie s se desfoare
ntr-un interval bine definit, de obicei folosind interaciunea cu utilizatorul. n practic, cele dou
media sunt audio i video, adic sunete plus filme. Din acest motiv, vom ncepe studiul cu o
introducere n tehnologia audio i video. Apoi, le vom combina i vom trece la sisteme adevrate
multimedia, incluznd video la cerere i sistemul multimedia al Internetului, MBone.

7.71 Audio

O und (sunet) audio este o und cu o dimensiune acustic (presiune). Atunci cnd o und
acustic intr n ureche, pavilionul vibreaz, fcnd ca oasele urechii interne s vibreze o dat cu el,
transmind vibraii nervoase creierului. Aceste vibraii sunt percepute drept sunete de ctre
asculttor. ntr-un mod similar, atunci cnd o und acustic lovete un microfon, acesta genereaz
un semnal electric, reprezentnd amplitudinea sunetului ca funcie de timp. Reprezentarea,
procesarea, memorarea, i transmisia acestor semnale audio constituie prile majore ale studiului
sistemelor multimedia.
Intervalul de frecven pentru urechea uman este cuprins ntre 20 Hz i 20.000 Hz, dei unele
animale, n special cinii, pot percepe frecvene mai nalte. Urechea percepe sunetele n mod
logaritmic, aa nct raportul a dou semnale cu amplitudinile A i B este exprimat convenional n
dB (decibeli) n concordan cu formula:

dB = 201ogio(4/B)
670 NIVELUL APUCATE CAP. 7

2
Dac definim limita inferioar de audibilitate (o presiune de circa 0,0003 dyne/cm ) pentru
o und sinusoidal de 1 KHz ca 0 dB, o conversaie obinuit este n jur de 50 dB i pragul de
durere este n jur de 120 dB, un interval dinamic cu un factor de 1 milion. Pentru a evita orice
confuzie, A i B de mai sus sunt numite amplitudini. Dac trebuie s folosim nivelul puterii,
care este proporional cu ptratul amplitudinii, coeficientul logaritmului va fi 10, nu 20.
Urechea este surprinztor de sensibil la variaii ale sunetului care dureaz doar cteva
milisecunde. Ochiul, n schimb, nu poate observa schimbrile de nivel "ridicat care dureaz doar
cteva milisecunde. Rezultatul acestei observaii const n faptul c o variaie de numai cteva
milisecunde din timpul unei transmisii multimedia afecteaz calitatea sunetului perceput mai mult
dect afecteaz calitatea imaginii percepute.

(b) (O

Fig. 7-76. (a) O und sinusoidal, (b) Eantionarea undei sinusoidale.


(c) Cuantificarea eantioanelor pe 3 bii.

Undele audio pot fi convertite n form numeric de un ADC (Analog Digital Convertor -
convertor analog numeric). Un ADC primete o tensiune electric la intrare i genereaz un
numr binar la ieire. n Fig. 7-76(a) se prezint un exemplu al unei unde sinusoidale. Pentru
reprezentarea acestui semnal n form digitizat, putem s-1 eantionm la fiecare AI secunde,
aa cum putei observa prin nlimea barelor n Fig. 7-76(b). Dac o und sonic nu este o
und pur sinusoidal, ci o superpoziie liniar de unde sinusoidale, unde cea mai mare
component a frecvenei prezente este/, atunci teorema lui Nyquist (vezi Cap. 2) spune c este
suficient s se eantioneze la frecvena 2f. Eantionnd mai des, nu se obine nimic n plus,
deoarece frecvenele mai nalte pe care discretizarea le poate detecta nu sunt prezente.
Eantioanele digitale nu sunt niciodat exacte. Eantioanele pe 3-bii din Fig. 7-76(c)
permit doar opt valori, de la -1,00 la +1,00 n pai de 0,25. Un eantion pe 8-bii permite 256
valori distincte. Un eantion pe 16-bii admite 65.536 valori distincte. Eroarea introdus de
numrul finit de bii de eantionare se numete zgomot de cuantizare (quantization noise).
Dac este foarte mare, urechea l detecteaz.
Dou exemple bine cunoscute de sunete eantionate sunt telefonul i compact discurile
audio. Modularea impulsului n cod, folosit n sistemul telefonic, utilizeaz eantioane pe
7 bii (America de Nord i Japonia) sau 8 bii (Europa) de 8000 de ori pe secund. Acest
sistem furnizeaz o vitez a datelor de 56.000 bps sau 64.000 bps. Cu doar 8000 de
eantioane/sec, frecvenele peste 4 KHz sunt pierdute.
SEC. 7.7 MULTIMEDIA 671

CD-urile audio sunt digitale, cu o rat de eantionare de 44.100 eantioane/sec, suficient pentru
a putea capta frecvenele pn la 22.050 Hz, care sunt bune pentru oameni, dar rele pentru cini.
Eantioanele au fiecare 16 bii i sunt liniare n domeniul amplitudinii. Observai c eantioanele pe
16-bii permit doar 65.536 valori distincte, chiar dac limita dinamic a urechii este de 1 milion
atunci cnd se msoar n uniti de cel mai mic sunet audibil. Astfel, folosind doar 16 bii pe
eantion, se introduce un zgomot de cuantizare (dei ntreaga rat dinamic nu este acoperit - CD-
urile se presupune c nu rnesc). Cu 44.100 eantioane/sec pe 16 bii fiecare, un CD audio are
nevoie de o lrgime de band de 705,6 Kbps pentru mono i de 1,411 Mbps pentru stereo. Dei
acesta este mai sczut dect necesit video-ul (vezi mai jos), poate acapara aproape un canal ntreg
TI pentru transmiterea necomprimat a sunetului stereo de calitate pentru CD.
Sunetele digitizate pot fi procesate uor de calculatoare, prin programe. Exist zeci de programe
pentru calculatoarele personale care permit utilizatorilor s nregistreze, s afieze, s editeze, s
amestece i s memoreze undele sonore de la surse multiple. Practic, toate nregistrrile, editrile de
sunete profesioniste sunt n prezent digitale.
Multe instrumente muzicale au acum o interfa digital. Atunci cnd instrumentele digitale au
aprut pentru prima dat, fiecare a avut o interfa proprie, dar dup un timp, s-a ales un standard,
MIDI (Music Instrument Digital Interface - interfa digital pentru instrumente muzicale), care a
fost dezvoltat i adoptat de aproape ntreaga industrie muzical. Acest standard specific conectorul,
cablul i formatul mesajului. Fiecare mesaj MID const dintr-un bit de stare urmat de zero sau mai
muli bii de date. Un mesaj MDI transmite un singur eveniment muzical semnificativ. Evenimente
tipice sunt apsarea unei taste, mutarea unui poteniometru, eliberarea unei pedale pentru picior.
Bitul de stare indic evenimentul i biii de date dau parametrii, cum ar fi tasta eliberat i cu ce
vitez s-a micat.
Fiecare eveniment are un cod MIDI asociat. De exemplu, un pian cu coad are asociat 0, un
marimbophon 12 i o vioar 40. Aceasta este necesar pentru a evita ca un concert de flaut s fie
reprodus ca un concert de tub. Numrul de instrumente" definite este 127. Cu toate acestea, unele
nu sunt instrumente, ci efecte speciale ca psri ciripitoare, elicoptere sau aplauze, care nsoesc
multe programe de televiziune.
Inima fiecrui sistem MIDI este un sintetizator (deseori un calculator) care accept
mesajele i genereaz muzica pentru ele. Sintetizatorul nelege toate cele 127 de instrumente
i genereaz un spectru diferit de putere pentru un do central la o trompet fa de un xilofon.
Avantajul transmiterii muzicii folosind MIDI, comparat cu transmiterea unei forme de und
digitizat, este reducerea enorm n lrgime de band, deseori cu un factor de 1000.
Dezavantajul lui MIDI este c receptorul necesit un sintetizator MIDI pentru a reconstrui
muzica i diferite sintetizatoare pot furniza diferite interpretri.
Muzica este desigur un caz special de audio, dar unul important. Alt caz important este discursul.
Discursul uman tinde s fie ntre limitele de 600 Hz i 6000 Hz. Discursul este format din vocale i
consoane, care au proprieti diferite. Vocalele sunt produse atunci cnd coardele vocale sunt
neobstrucionate, producnd, rezonane ale cror frecvene fundamentale depind de dimensiunea i
forma sistemului vocal i de poziia limbii vorbitorului i a gurii. Aceste sunete sunt aproape
periodice pentru intervale n jur de 30 msec. Consoanele sunt produse atunci cnd coarda vocal
este parial blocat. Aceste sunete sunt mai puin regulate dect vocalele.
672 NIVELUL APUCATE CAP. 7

Cteva sisteme de generare i transmisie de voce pot folosi modelele de sisteme vocale pentru a
reduce vocea la civa parametri (de exemplu, mrimile i formele diferitelor caviti), mai degrab
dect de a eantiona forma de und pentru voce.

7.7.2 Video

Ochiul uman are proprietatea c atunci cnd o imagine este adus pe retin, este reinut un
numr de milisecunde nainte de dispariie. Dac o secven este afiat la 50 sau mai multe
imagini/sec, ochiul nu sesizeaz c se uit la imagini discrete. Toate sistemele video (de exemplu,
televiziunea) exploateaz acest principiu pentru producerea filmelor.

Sisteme analogice
Pentru a nelege sistemele video, este bine s pornim cu vechea televiziune simpl, alb-negru.
Pentru a reprezenta imaginile bidimensionale din faa ei ca o tensiune unidimensional funcie de
timp, camera (de luat vederi) scaneaz imaginea cu o raz electronic, rapid de-a latul i lent n josul
ei, nregistrnd intensitatea luminoas aa cum vine. La sfritul scanrii, numit cadru (frame), raza
reia traseul. Aceast intensitate este difuzat ca funcie de timp, iar receptorii repet procesul de
scanare pentru reconstrucia imaginii. Modelul de scanare folosit de amndoi, att de camer ct i
de receptor, este prezentat n Fig. 7-77. (Camerele CCD integreaz mai degrab dect scaneaz, dar
unele camere i toate monitoarele scaneaz.)

Urmtorul cmp Linie de scanare


Linie de scanare. 'ncepe aici ' desenat pe ecran

11 o.
E
13 P
15

N Revenire/*'
Revenire
vertical
483 orizontal

Fig. 7-77. Modelul de scanare folosit pentru video i televiziunea NTSC.


SEC. 7.7 MULTIMEDIA 673

Parametrii exaci de scanare variaz de la ar la ar. Sistemul folosit n America de Nord i de


Sud i Japonia are 525 de linii de scanare, o rat de aspect orizontal/vertical de 4:3 i 30 de cadre/sec.
Sistemul European are 625 de linii de scanare, aceeai rat de aspect de 4:3 i 25 de cadre/sec. n
ambele sisteme, cteva linii din vrf i cteva din partea de jos nu sunt afiate (pentru a aproxima o
imagine dreptunghiular pe un tub catodic rotund original). Doar 483 din cele 525 de linii de
scanare NTSC (i 576 din cele 625 de linii de scanare PAL/SECAM) sunt afiate. Raza este stins n
timpul revenirii verticale, aa c multe staii (n special n Europa) folosesc acest interval pentru
difuzare de TeleText (pagini de text coninnd tiri, vreme, sporturi, preuri la burs etc).
In timp ce 25 de cadre/sec sunt suficiente pentru a capta o micare lin, la aceast vitez a
cadrelor multe persoane, n special cei btrni, vor percepe imaginea tremurat (deoarece imaginile
vechi au fost terse de pe retin naintea apariiei celor noi). n loc s se mreasc viteza cadrelor,
care va cere s se foloseasc mai puin lrgime de band, este aleas o alt cale. n locul afirii
liniilor de scanare n ordine, nti sunt afiate toate liniile de scanare cu numere impare, apoi cele cu
numere pare. Fiecare din aceste jumti de cadre este numit cmp (field). Experimentele arat c
dei oamenii remarc un tremur la 25 de cadre/sec, ei nu l remarc la 50 de cadre/sec. Aceast
tehnic este numit ntreesere (interlacing). O televiziune sau video nentreesut este numit
progresiv (progressive).
Video-ul color folosete acelai model de scanare ca monocromul (alb i negru), cu excepia
faptului c n locul afirii unei imagini cu o singur raz mictoare, sunt folosite trei raze care se
mic la unison. Este folosit cte o raz pentru fiecare din cele trei culori aditive primare: rou,
verde i albastru (RGB). Aceast tehnic funcioneaz pentru c orice culoare poate fi construit
din superpoziia liniar a roului, verdelui i albstruiul cu intensitile corespunztoare. Cu toate
acestea, pentru transmiterea pe un singur canal, cele trei semnale de culori trebuie combinate ntr-
un singur semnal compus (composite).
Atunci cnd a aprut televiziunea color, diverse metode de afiare color erau tehnic posibile, i
diverse ri au fcut alegeri diferite, conducnd la sisteme care sunt nc incompatibile. (Observai c
aceste alegeri nu au nimic n comun cu VHS, fa de Betamax i fa de P2000, care sunt tehnici de
nregistrare.) n toate rile, o cerere politic a fost ca programele color s fie recepionate de
televizoarele existente alb-negru. n consecin, cea mai simpl schem, care codific separat
semnalele RGB, nu a fost acceptat. De asemenea RGB nu este cea mai eficient schem.
Primul sistem color a fost standardizat n Statele Unite de Comitetul Naional de Standarde de
Televiziune (National Television Standards Committee), care a mprumutat acronimul su
standardului NTSC. Televiziunea color a fost introdus n Europa civa ani mai trziu, n momentul
n care tehnologia a fost mbuntit substanial, conducnd la sisteme cu mare imunitate la
zgomote i culori mai bune. Acestea sunt numite SECAM (SEquentiel Couleur Avec Memoire -
culoare secvenial cu memorie), care este folosit n Frana i n rile din estul Europei, i PAL
(Phase Alternating Line - linie cu faz alternat) folosit n restul Europei. Diferena n calitatea
culorii ntre NTSC i PAL/SECAM a condus la gluma c NTSC nseamn de fapt c aceeai culoare
nu apare de dou ori (Never Twice Same Color).
Pentru a permite ca transmisiunile color s fie vzute de receptoarele alb-negru, toate cele
trei sisteme combin liniar semnalele RGB ntr-un semnal de luminan (luminance), i dou
semnale de crominan (chrominance), dei toate folosesc ali coeficieni pentru construcia
acestor semnale din semnale RGB. Interesant, ochiul este mai sensibil la semnalele de
luminan dect la cele de crominan, asa nct ultimele nu trebuie transmise cu mare
674 NIVELUL APLICAIIE CAP. 7

.seinalele. Ca rezultat, semnalul luminos poate fi difuzat la aceeai frecven ca i vechiul


semna! alb-negru. aa nct poale fi recepionat pe televizoarele existente alb-ncgru. Cele dou
semnale de erominan sunt difuzate n benzi nguste la frecvene nalte. Unele televizoare au
baloane pentru controlul strlucirii, nuanei i saturrii (sau strlucirii, tentei i culorii) pentru
controlul separat al celor trei semnale. nelegerea crominanei i luminanei este vital pentru
nelegerea modului n care funcioneaz compresia video.
n ultimii ani. a existat un interes considerabil pentru HDTV (High Definition TeleVision -
televiziunea de nalt definiie), care produce imagini mai bune dublnd numrul liniilor de scanare.
Statele Unite, Europa i Japonia au dezvoltat sisteme HDTV', toate diferite i toate mutual
incompatibile. Principiile de baz ale HDTV-ului in tcirneni de scanare, luminan, erominan i
altele, sunt similare sistemelor existente. Cu toate acestea, toate cele trei formate au o aceeai rat a
aspectului de 16:9 n loc de 4:3 pentru a le potrivi mai bine formatului folosit pentru filme (care sunt
nregistrate pe 35 mm).
Pentru o introducere n tehnologia televiziunii, vezi (Buford, 1994).

Sisteme digitale

Cea mai simpl reprezentare a video-ului digital este o secven de cadre, fiecare constnd
Jinti-o gril dreptunghiular de elemente de imagine, adic pixeli. Fiecare pixel poate fi un
singur bit. pentru a reprezenta fie albul, fie negrul. Calitatea unui astfel de sistem este similar
cu cea obinut la transmiterea prin fax a unei fotografii color - adic groaznic. (ncercai
dac putei; sau altfel fotocopiai o fotografie color la o main de copiat care nu rasterizeaz.)
Urmtorul pas este de a folosi 8 bii per pixel pentru reprezentarea celor 256 nivele de gri.
Aeeasl schem d o calitate ridicat video-ului alb-negru. Pentru video color, sistemele bune
lolosese 8 bii pentru fiecare din culorile RGB, dei aproape toate sistemele le amestec pentru
transmitere ntr-un \ideo compus. In timp ce folosind 24 de bii per pixel se limiteaz numrul de
culori la 16 milioane, ochiul uman nu poate deosebi attea culori, deci nici vorb de mai multe.
imaginile digitale color sunt produse folosind trei raze de scanare, una pentru fiecare culoare.
Geometria este aceeai cu cea pentru sislemul analogic din Fig. 7-77, exceptnd faptul c liniile de
scanare continue sunt nlocuite acum de linii formate din pixeli discrei.
Pentru a produce micri line, video-ul digital, la fel ca video-ul analog, trebuie s afieze cel
puin 25 de cadre/sec. Oricum, deoarece monitoarele de bun calitate ale calculatoarelor rescaneaz
deseori ecranul din imagini memorate de 75 de ori pe secund sau mai des, ntreeserea nu este
necesar i, n consecin, nu este folosit n mod obinuit. Reafiarea (adic redesenarea) aceluiai
cadru de trei ori la rnd este suficient pentru eliminarea plpirii.
Cu alte cuvinte, continuitatea unei micri este determinat de numrul de imagini diferite
pe secund, avnd n vedere c plpirea este determinat de numrul de ori pe secund n
care este desenat ecranul. Aceti doi parametri sunt diferii. O imagine afiat la 20 de
cadre/sec nu va arta distorsionat, dar va plpi, deoarece un cadru va disprea de pe retin
nainte ca urmtorul cadru s apar. Un film cu 20 de cadre diferite pe secund, fiecare dintre
acestea fiind desenat de patru ori la rnd, nu va plpi, dar va prea distorsionat.
Semnificaia acestor doi parametri devine mai clar atunci cnd considerm lrgimea de band
pentru transmisia video digital printr-o reea. Monitoarele folosesc rata de aspect de 4:3, aa nct
pol folosi tuburile ieftine din producia destinat pieei televizoarelor. Configuraiile obinuite sunt
SEC. 7.7 MULTIMEDIA 675

640x480 (VGA), 800x600 (SVGA), 1024x768 (XGA). Un afiaj XGA cu 24 de bii pe pixel i 25 de
cadre/sec necesit s fie alimentat la 472 Mbps. Chiar OC-9 nu este destul de bun i de altfel rularea
unui purttor OC-9 SONET n casa fiecruia nu este exact la ordinea zilei. Dublarea acestei rate
pentru evitarea plpirii este cu att mai puin atractiv. O soluie mai bun este de a transmite 25
de cadre/sec i calculatorul s le memoreze i s le afieze de dou ori. Televiziunea obinuit nu
folosete aceast strategie, deoarece televizoarele nu au memorie i, n orice caz, semnalele
analogice nu pot fi memorate n RAM fr o conversie prealabil n form digital, care necesit
hardware n plus. Ca o consecin, ntreeserea este necesar pentru televiziunea obinuit, dar nu i
pentru video digital.

7.7.3 Compresia datelor

Ar trebui s fie evident acum c transmisia materialului multimedia n form necomprimat nu


intr n discuie. Singura speran este ntr-o compresie puternic. Din fericire, numeroase cercetri
de cteva decenii au ajuns la mai multe tehnici de compresie i algoritmi care fac posibil transmisia
de multimedia. n aceast seciune vom studia cteva metode pentru compresia datelor multimedia,
n special imagini. Pentru mai multe detalii, vezi (Fluckiger, 1995; i Steinmetz i Nahrstedt, 1995).
Toate sistemele de compresie necesit doi algoritmi: unul pentru comprimarea datelor la surs i
altul pentru decomprimarea lor la destinaie. n literatur, aceti algoritmi sunt numii algoritmi de
codificare i decodificare. Vom folosi i aici aceast terminologie.
Aceti algoritmi au cteva asimetrii a cror nelegere este important. Mai nti, pentru multe
aplicaii, un document multimedia, s zicem un film, va fi codificat o dat (atunci cnd este memorat
pe un server multimedia), dar va fi decodificat de milioane de ori (atunci cnd este vizualizat de
clieni). Aceast asimetrie nseamn c este acceptabil ca algoritmul de codificare s fie lent i s
necesite un hardware suplimentar scump, cu condiia ca algoritmul de decodificare s fie rapid i s
nu cear un hardware costisitor. Mai mult, operatorul unui server multimedia ar putea dori s
nchirieze un supercalculator paralel pentru cteva sptmni, pentru a-i codifica ntreaga
videotec, dar a cere clienilor s nchirieze un supercalculator pentru 2 ore, pentru a vedea un video
nu va avea mare succes. Multe sisteme de compresie fac eforturi pentru ca decodificarea s fie
rapid i simpl, chiar cu preul ncetinirii i complicrii codificrii.
Pe de alt parte, pentru multimedia n timp-real, precum conferine video, codificarea lent este
inacceptabil. Codificarea trebuie fcut din mers, n timp-real. n consecin, multimedia de timp-
real folosete algoritmi sau parametri diferii fa de cei utilizai pentru memorarea video-urilor pe
disc, deseori cu mult mai puin compresie.
A doua asimetrie este c procesul de codificare/decodificare nu trebuie sa fie inversabil. Adic,
atunci cnd se comprim un fiier, acesta se transmite i apoi este decomprimat, utilizatorul
ateptnd s-1 obin pe cel original, exact pn la ultimul bit. Cu multimedia, aceast cerin nu
exist. De obicei, este acceptabil s avem un semnal video dup codificare i apoi decodificarea s fie
un pic diferit de original. Atunci cnd ieirea decodificat nu este egal exact cu intrarea original,
sistemul se spune c este cu pierderi (lossy). Dac intrarea i ieirea sunt identice, sistemul este fr
pierderi (lossless). Sistemele cu pierderi sunt importante, deoarece acceptarea unui numr mic de
informaii pierdute poate oferi un avantaj imens n termenii de rat de compresie posibil.
676 NIVELUL APLICAIE CAP. 7

Codificarea entropic

Schemele de compresie pot fi mprite n dou categorii generale: codificarea entropic i


codificarea sursei. Le vom discuta pe fiecare n parte.
Codificarea entropic (entropy encoding) trateaz irurile de bii fr a se uita la ce nseamn
biii respectivi. Este o tehnic general, fr pierderi i complet reversibil, aplicabil tuturor datelor.
O vom ilustra prin trei exemple.
Primul nostru exemplu de codificare entropic este codificarea n funcie de lungimea
succesiunilor (run-length encoding). n multe tipuri de date, irurile de simboluri repetate (bii,
numere etc.) sunt frecvente. Acestea pot fi nlocuite de un marcaj special care nu este permis n date,
urmat de simbolul care se repet i de numrul apariiilor. Dac marcajul nsui apare n date, el este
duplicat (ca n inserarea caracterelor). De exemplu, considerm urmtorul ir de cifre zecimale:

3150000000000008458711111111111116354674000000000000000000000065

Dac acum introducem A ca marcaj i folosim numere de dou cifre pentru numrarea repetrii,
putem codifica irul de bii de mai sus ca

315A01284587A1131635467 4A02265

Aici codificarea n funcie de lungimea succesiunilor a redus irul de date la jumtate.


Succesiunile sunt frecvente n multimedia. n audio, tcerea este reprezentat deseori de o
succesiune de zerouri. n video, succesiunile de aceeai culoare apar n imagini ale cerului, pereilor
i multor suprafee plane. Toate aceste secvene pot fi comprimate destul de mult.
Al doilea exemplu de codificare entropic este codificarea statistic (statistical encoding).
Prin aceasta nelegem c folosim un cod scurt pentru reprezentarea simbolurilor frecvente i
un cod lung pentru reprezentarea celor puin frecvente. Codul Morse folosete acest principiu,
cu E fiind . i Q fiind --. i aa mai departe. Codul Huffman i algoritmul Ziv-Lempel folosit
de programul compress din Unix folosete de asemenea codificarea statistic.
Cel de-al treilea exemplu de codificare entropic este codificarea CLUT (Color Look Up Table -
tabela de cutare a culorilor). Considerm o imagine folosind codificarea RGB cu 3 bii/pixel.
Teoretic, imaginea poate conine 2 valori diferite de culori. In practic, va conine n mod normal
mai puine valori, n special dac imaginea este un desen animat sau un desen generat de calculator
i nu o fotografie. Presupunei c sunt folosite doar 256 de valori de culori. Un factor de aproape trei
compresii poate fi obinut prin crearea unei tabele de 768 de octei, care conine valorile RGB ale
celor 256 de culori folosite efectiv, i prin reprezentarea fiecrui pixel prin indexul valorii RGB n
tabel. Acesta este un exemplu clar unde codificarea este mai lent dect decodificarea, deoarece
codificarea necesit cutarea n tabel, n timp ce decodificarea poate fi fcut cu o singur operaie
de indexare.

Codificarea sursei

Acum ajungem la codificarea sursei (source encoding), care profit de avantajele proprietilor
datelor pentru a produce o compresie mai mare (de obicei, cu pierderi). Aici, de asemenea, vom
ilustra ideea prin trei exemple. Primul nostru exemplu este codificarea diferenial (differential
SEC. 7.7 MULTIMEDIA 677

encoding), n care o secven de valori (de exemplu, discretizri audio) sunt codificate prin
reprezentarea fiecrei valori ca diferen fa de valoarea precedent. Modularea diferenial a
impulsurilor n cod, pe care am vzut-o n Cap. 2, este un exemplu al acestei tehnici. Este cu pierderi,
deoarece semnalul poate varia att de mult ntre dou valori consecutive, nct diferena s nu poat
fi reprezevtat n cmpul furnizat pentru exprimarea diferenelor i ca urmare se va nregisra cel
puin o valoare incorect, iar o parte din informaie se va pierde.
Codificarea diferenial este un fel de codificare a sursei, deoarece profit de faptul c nu sunt
probabile salturi mari ntre puncte consecutive de date. Nu toate secvenele de numere au aceste
proprieti. Un exemplu fr aceast proprietate este o list generat de calculator cu numere
aleatorii de telefon, care s fie folosit de specialitii n marketing din televiziune pentru a deranja
oamenii de la cin. Diferenele ntre numerele consecutive de telefon din list vor lua tot atia bii
pentru reprezentare ca numerele nsele.
Al doilea exemplu de codificare a sursei const n transformri (transformations). Prin
transformarea semnalelor de la un domeniu la altul, compresia poate deveni mult mai uoar.
S considerm, de exemplu, transformata Fourier din Fig. 2-l(e). Aici o funcie de timp este
reprezentat ca o list de amplitudini. Date fiind valorile exacte ale tuturor amplitudinilor,
funcia original poate fi reconstruit perfect. Cu toate acestea, fiind date doar valorile pentru
primele, s zicem, opt amplitudini rotunjite la dou zecimale, va putea fi posibil s reconstruim
semnalul iniial astfel, nct asculttorul s nu sesizeze c o parte a informaiei a fost pierdut.
Ctigul const n faptul c transmiterea a opt amplitudini cere mai puini bii dect transmisia
unei forme de und eantionat.
Transformrile sunt, de asemenea, aplicabile datelor pentru imagini bidimensionale. S
presupunem c matricea de 4x4 din Fig. 7-78(a) reprezint valorile din scara de gri dintr-o imagine
monocrom. Putem transforma aceste date scznd valoarea din colul stnga-sus din toate
elementele, exceptndu-1 pe el nsui, aa cum se arat n Fig. 7-78(b). Aceast transformare poate fi
util dac se folosete codificarea de lungime variabil. De exemplu, valorile ntre -7 i +7 pot fi
codificate cu numere de 4 bii i valorile ntre 0 i 255 pot fi codificate ca un cod special de 4 bii (-8)
urmat de un numr de 8 bii.

Valoare pixel 4 pixeli

160 160 I 161 | 160 160 0 1 0


I
161 165 166 158 1 5 6 -2

160 167 165 161 0 7 5 1

159 160 160 160 -1 0 1 0

(a) (b)

Fig, 7-78. (a) Valorile pixelilor pentru o parte a unei imagini, (b) O transformare n care
elementul din colul stnga-sus este sczut din toate elementele, cu excepia lui nsui.
678 NIVELUL APLICAIE CAP. 7

Dei aceast transformare simpl este fr pierderi, altele, mai utile dect ea, nu sunt fr
pierderi. O important transformare spaial bidimensional ese DCT (Discrete Cosine
Transformat!!! - transformarea cosinusoidal discret) (Feig i Winograd, 1992). Aceast
transformare are proprietatea c pentru imagini fr discontinuiti brute, majoritatea puterii
spectrului este n primii civa termeni, permind ca ceilali s fie ignorai fr o pierdere mare de
informaie. Vom reveni la DCT n curnd.
Al treilea exemplu de codificare a sursei este cuantificarea vectorului (vector quantization), care
este direct aplicabil imaginilor. n acest caz, imaginea este mprit n dreptunghiuri de
dimensiune fix. In plus fa de imagine, avem nevoie de o tabel de dreptunghiuri, de aceeai
dimensiune cu dreptunghiurile imaginii (posibil construite din imagine). Aceast tabel se numete
cartea codurilor (code book). Fiecare dreptunghi este transmis cutnd n cartea codurilor i
transmind doar indexul n iocul ntregului dreptunghi. Atunci cnd cartea codurilor este construit
dinamic (adic, pentru fiecare imagine), trebuie transmis i ea. Evident, dac un numr mic de
dreptunghiuri domin imaginea, sunt posibile mari economii n lrgime de band.
Un exemplu de cuantificare a vectorului este artat n Fig. 7-79. n Fig. 7-79(a), avem o gril de
dreptunghiuri de dimensiune nespecificat. n Fig. 7-79(b). avem cartea codurilor. irul de ieire
este exact lista ntregilor 0G1G22G322G04G0 artat n Fig. 7-79(c). Fiecare reprezint o intrare n
cartea codurilor.
ntr-un sens, cuantificarea vectorului ese o generalizare bidimensional a CLUT-uM. Diferena
real const n ceea ce se ntmpl dac nu este gsit o potrivire. Sunt posibile trei strategii. Prima
strategie este folosit pentru gsirea celei mai bune potriviri. A doua strategie este pentru cea mai
bun potrivire i adugarea informaiilor despre cum s se mbunteasc potrivirea (de exemplu,
adugarea valorii medii adevrate). A treia strategie este folosirea celei mai bune potriviri i
adugarea a ceea ce este necesar pentru ca decodificatorui s reconstruiasc daeie exact. Primele
dou strategii sunt cu pierderi, dar permit comprimri mari. A treia strategie este fr pierderi, dar
este mai puin eficient ca un algoritm de comprimare. Din nou, vedem c a codificare (potrivirea
abloanelor) se consum mai mult timp dect la decodificare (indexare ntr-o tabel).

Ptrat cu muti olxss Cartea

0 1 0

2 d. 2 0

3 2 ? 0 i 2

0 4 0 0 3

(ci

7-79, Un exemplu de cuantificare a vectorului, (a) O imagine divizat n ptrate,


(b) O carte de coduri pentru imagine, (c) Imaginea codificat.
SEC. 7.7 MULTIMEDIA 679

Standardul JPEG
Standardul JPEG (Joint Photographic Experts Group - grupul comun al experilor fotografi)
pentru comprimarea imaginilor cu tonuri continue (de exemplu, fotografii), a fost dezvoltat de
experii n fotografii lucrnd sub auspiciile ITU, ISO i IEC, un alt organism de standarde. Este
important pentru multimedia deoarece la o prim aproximare, standardul multimedia pentru filme.
MPEG, este codificarea JPEG a fiecrui cadru separat, plus cteva caracteristici pentru
comprimarea ntre cadre i detectarea micrii. JPEG este definit n Standardul International 10918.
JPEG are patru moduri i multe opiuni. Standardul este mai asemntor cu o list de
cumprturi dect cu un algoritm simplu. Pentru scopurile noastre, doar modul secvenial cu
pierderi este relevant, iar acesta este ilustrat n Fig. 7-80. Cu toate acestea, ne vom concentra asupra
modului n care JPEG este folosit n mod normal pentru codificarea imaginilor video de 24-bii
RGB i vom lsa la o parte detalii minore pentru simplitate.

Transformarea j | Codificarea I Codificarea Ieire


Intrare Pregtirea |i Cuantificarea
i cosinusoidal rH Cuantificarea ( I -l funcie de j statistic
blocului diferenial
discret j | ] lungime | a ieirii

Fig. 7-80. Operaia JPEG n modul secvenial cu pierderi.

Pasul 1 de codificare a imaginii cu JPEG este pregtirea blocului. Pentru simplitate, s


presupunem c intrarea JPEG este o imagine RGB de 640x480 cu 24 bii/pixel, aa cum se arat n
Fig. 7-81(a).
Deoarece folosirea, luminanei i crominanei d o mai bun compresie, vom calcula mai nti
luminanta, Y, i cele dou crominante, /i Q (pentru NTSC), n concordan cu urmtoarele formule:

! = 0,60R - 0,28G - 0,32B


Q = O,2!R-G,52G + O,31B

Pentru PAL, crominanele sunt notate cu U i V i coeficienii difer, dar ideea este aceeai.
SECAM difer att de NTSC ct si de PAL.

RGB Y
-640 840 32C
9*!
>
>
>
e e
!
! I
! 8J|fl

\
. Pixe! de 8 bii
s

o
1 Bloc
00

9Ofteo
e

/

Pixel de 24 bii Bioc 4799 (b) Q

Fig. 7-81, (a) Date de intrare RGB. (b) Dup pregtirea blocului.
680 NIVELUL APLICAIE CAP. 7

Pentru YJ i Q sunt construite matrici separate, fiecare cu elemente ntre 0 i 255. Apoi, blocuri
ptrate de patru pixei sunt aranjate n matricele I i Q pentru a le reduce la 320x240. Aceast
reducere este cu pierderi, dar ochiul abia dac observ, deoarece el rspunde la luminan mai mult
dect la crominan. Cu toate acestea, datele sunt comprimate cu un factor de doi. Acum se scade
128 din fiecare element al celor trei matrice pentru a aduce zero la mijlocul intervalului. n fine,
fiecare matrice este divizat n blocuri de 8x8. Matricea Y are 4800 blocuri; celelalte dou au 1200 de
blocuri fiecare, aa cum se arat n Fig. 7-81(b).

3 / / / / / |7T// 7
7/
. / / / / /X V I I O
Q [IIIIIJIILJZTZLJ

7 / / /
Fx

Fig. 7-82. (a) Un bloc a matricei Y. (b) Coeficienii DCT.

Pasul 2 al lui JPEG const n a aplica separat o transformare cosinusoidal discret pentru
fiecare din cele 7200 de blocuri. Ieirea fiecrui DCT este o matrice de 8x8 cu coeficienii DCT.
Elementul DCT (0,0) este valoarea medie a blocului. Celelalte elemente spun ct putere spectral
este prezent la fiecare frecven spaial. Teoretic, DCT este fr pierderi, dar n practic folosirea
numerelor n virgul mobil i a funciilor transcedente introduce ntotdeauna erori de rotunjire care
conduc la o pierdere de informaii. n mod normal, aceste elemente se micoreaz rapid cu distana
de la origine, (0,0), aa cum este sugerat n Fig. 7-82.
Odat ce DCT-ul este complet, JPEG trece la pasul 3, numit cuantificare (quantization), n care
coeficienii DCT cei mai puini importani sunt eliminai. Aceast transformare (cu pierderi) este
fcut prin mprirea fiecrui coeficient din matricea DCT de 8*8 ia o pondere luat dintr-o tabel.
Dac toate ponderile sunt 1, transformarea nu face nimic. Totui, atunci cnd ponderile cresc rapid
de la origine, frecvenele spaiale nalte sunt eliminate imediat.
Un exemplu al acestui pas este artat n Fig. 7-83. Aici vedem matricea iniial DCT, tabela de
cuantificare i rezultatul obinut prin mprirea fiecrui element DCT prin elementul corespunztor
din tabela de cuantificare. Valorile din tabela de cuantificare nu fac parte din standardul JPEG.
Fiecare aplicaie trebuie s i le furnizeze, permind s se controleze raportul compresie/pierderi.
Pasul 4 reduce valoarea (0,0) a fiecrui bloc (cea din colul stnga sus), nlocuind-o cu diferena
fa de elementul corespunztor din blocul precedent. Deoarece aceste elemente sunt mediile
respectivelor blocuri, ele trebuie s se modifice lent, aa nct considerarea valorilor difereniale ar
trebui s reduc majoritatea dintre ele la valori mici. Diferenele nu sunt calculate din celelalte
valori. Valorile (0,0) sunt numite componente DC; celelalte valori sunt componente AC.
SEC. 7.7 MULTIMEDIA 681

Coeficieni DCT Coeficieni cuantificai


150 80 40 14 4 2 1 0 150 80 20 4 1 0 0 0
92 75 36 10 6 1 0 0 92 75 18 3 1 0 0 0
52 38 26 8 7 4 0 0 26 19 13 2 1 0 0 0
12 8 6 4 2 1 0 0 3 2 2 1 0 0 0 0
4 3 2 0 0 0 0 0 1 0 0 0 0 0 0 0
2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Tabela de cuantificare
1 1 2 4 8 16 32 64
1 1 2 4 8 16 32 64
2 2 2 4 8 16 32 64
4 48 16 32 64
4 4
8 88 16 32 64
8 8
16 16 16 16 16 16 32 64
32 32 32 32 32 32 32 64
64 64 64 64 64 64 64 64

Fig. 7-83. Calculul coeficienilor DCT cuantificai.

Pasul 5 liniarizeaz cele 64 de elemente i aplic listei codificarea dup lungimea succesiunilor.
Scanarea blocului de la stnga la dreapta i apoi de sus n jos nu va concentra zerourile mpreun,
aa nct se folosete un model de cutare n zigzag, aa cum este artat n Fig. 7-84. n acest
exemplu, modelul n zigzag produce 38 de zerouri consecutive la sfritul matricei. Acest ir poate fi
redus la un singur numr spunnd c sunt 38 de zerouri.

150- :>80 4 \ -0 0" :0


y

92 75 18 ,3 x' 0 0

2e
y
13 2 V y Q s
0

3 .2 ! 0 ,0
r
1 O"'' 0 ,0
of' X y ,0 X 0

0 X X 0' y fi
A' 0

0 '* o" 0 o'- 0 0

Fig. 7-84. Ordinea de transmitere a valorilor cuantificate.

Acum avem o list de numere care reprezint imaginea (n spaiu transformat). Pasul 6,
Huffman, codific numerele pentru memorare sau transmitere.
682 NIVELUL APLICAIE CAP. 7

JPEG poate prea complicat, pentru c el este cu adevrat complicat. Cu toate acestea, deoarece
produce o compresie de 20:1 sau mai bun, este larg folosit. Decodificarea unei imagini JPEG cere
execuia algoritmului invers. Spre deosebire de ceilali algoritmi de compresie pe care i-am studiat,
JPEG este simetric: decodificarea ia acelai timp ca i codificarea.
Destul de interesant, datorit proprietilor matematice ale DCT-ului, este posibil s se execute
anumite transformri geometrice (de exemplu, rotaia imaginii) direct asupra matricei transformate,
fr regenerarea imaginii iniiale. Aceste transformri sunt discutate n (Shen i Sethi, 1995).
Proprieti similare se aplic de asemenea ia MPEG audio comprimat (Broadhead i Owen, 1995).

Standardul MPEG

In fine, ajungem la miezul lucrurilor: standardele MPEG (Motion Picture Experts Group -
grupul experilor n filme). Acetia sunt algoritmii principali folosii pentru compresia video i
sunt standarde internaionale din 1993. Deoarece filmele conin att imagini ct i sunete,
MPEG le poate comprima pe amndou, dar deoarece video ia mai mult lrgime de band i
de asemenea conine mai mult redundan dect audio, ne vom concentra nti asupra
compresiei video MPEG.
Primul standard finalizat a fost MPEG-1 (Standard International 11172). Scopul lui a fost de a
produce ieire video de calitatea video recorder-elor (352x240 pentru NTSC) folosind o rat de bii
de 1,2 Mbps. Deoarece am vzut anterior c video necomprimat poate ajunge la 472 Mbps,
reducerea lui la 1,2 Mbps nu este n ntregime nensemnat, chiar i la aceast rezoluie sczut.
MPEG-1 poate fi transmis pe linii torsadate la distane modeste. MPEG-1 este de asemenea folosit
pentru memorarea filmelor pe CD-ROM-uri n formate CD-I i CD-Video.
Urmtorul standard din familia MPEG a fost MPEG-2 (Standard International 13818), care a
fost proiectat iniial pentru comprimarea video de calitate de difuzare ntre 4 i 6 Mbps, ca s se
potriveasc ntr-un canai de difuzare NTSC sau PAL. Mai trziu, MPEG-2 a fost extins pentru a
suporta rezoluii nalte, incluznd HDTV. MPEG-4 este pentru video conferine de rezoluie medie
cu cadre de vitez sczut (10 cadre/sec) i la lrgimi sczute de band (64 Kbps). Aceasta permite
ca video-conferinele s fie inute pe un singur canal N-ISDN B. Dat fiind aceast numerotare,
cineva poate crede c urmtorul standard este MPEG-8. De fapt, ISO le numeroteaz liniar, nu
exponenial. Original, MPEG-3 exist de fapt. A fost creat pentru HDTV, dar proiectul a fost anulat
mai trziu i HDTV a fost adugat la MPEG-2.
Principiile de baz ale lui MPEG-1 i MPEG-2 sunt similare, dar detaliile sunt diferite. La o
prim aproximare, MPEG-2 este un superset al lui MPEG-1, cu posibiliti, formate de cadre i
opiuni de codificare suplimentare. Se pare c MPEG-1 va domina filmele de pe CD-ROM-uri i
MPEG-2 va domina transmisia video pe distane mari. Vom discuta MPEG-1 nti i apoi MPEG-2.
MPEG-1 are trei pri: audio, video i sistem, care le integreaz pe celelalte dou, aa cum este
artat n Fig. 7-85. Codificatoarele audio i video lucreaz independent, ceea ce ridic ntrebarea
cum se sincronizeaz cele dou fluxuri la receptor. Aceast problem se rezolv avnd un ceas
sistem de 90-kHz, care afieaz timpul curent pentru ambele codificatoare. Aceste valori sunt pe 33
de bii, pentru a permite filmelor s ruleze 24 de ore fr depirea valorii maxime. Aceste amprente
de timp sunt incluse n ieirea codificat i propagate spre receptor, care le poate folosi pentru
sincronizare ntre irurile video si audio.
SEC. 7.7 MULTIMEDIA 683

Semnal audio Codificator


audio

Multiplexorul Ieirea MPEG-1


Ceas <
de sistem

Semnal video Codificator


video

Fig. 7-85. Sincronizarea fluxurilor audio i video n MPEG-1.

Compresia audio MPEG este fcut prin eantionarea formei de und la 32 KHz, 44,1 kHz
sau 48 kHz. Ea poate s gestioneze mono, stereo disjunct (fiecare canal comprimat separat)
sau stereo reunit (este exploatat redundana inter-canale). Este organizat pe trei nivele,
fiecare dintre ele aplicnd optimizri suplimentare pentru a obine o compresie mai mare (i
un cost mai mare). Nivelul 1 este schema de baz. Acest nivel este folosit, de exemplu, n
sistemul cu band digital DCC. Nivelul 2 adaug schemei de baz alocarea avansat de bii.
Este folosit pentru CD-ROM-uri audio i de pistele sonore ale filmelor. Nivelul 3 adaug filtre
hibride, cuantificare neunifonn, codificare Huffman i alte tehnici avansate.
Audio MPEG poate comprima un CD cu muzic rock 'n roii pn la 96 Kbps fr o pierdere
perceptibil a calitii, chiar i pentru fanii rock 'n roll-ului fr pierderi de auz. Pentru un concert de
pian, sunt necesari cel puin 128 Kbps. Numrul difer, pentru c rata semnal-zgomot pentru rock 'n
roii este mai mare dect pentru concertul de pian (n sens ingineresc, n orice caz).
Comprimarea audio este realizat prin transformarea Fourier rapid a semnalului audio pentru
a-1 converti din domeniul timpului n cel al frecvenei. Spectrul rezultat este divizat n 32 de benzi de
frecven, fiecare procesat separat. Atunci cnd exist dou canale stereo, redundana inerent n a
avea dou surse audio suprapuse este de asemenea exploatat. Fluxul audio MPEG-1 rezultat este
ajustabil de la 32 Kbps la 448 Kbps. O introducere n acest proces este dat n (Pan, 1995).
Acum s considerm compresia video MPEG-1. Exist dou feluri de redundan n filme:
spaial i temporal. MPEG-1 le folosete pe amndou. Redundana spaial este folosit prin
simpla codificare separat a fiecrui cadru cu JPEG. Aceast abordare este cteodat folosit, n
special atunci cnd se folosesc accese aleatorii la acelai cadru, ca n editarea produciilor video. n
acest mod, este obinut o lrgime de band comprimat n intervalul 8 Mbps -10 Mbps.
O comprimare suplimentar poate fi obinut profitnd de faptul c, adesea, cadre consecutive
sunt aproape identice. Acest efect este mai mic dect poate aprea la prima vedere, deoarece muli
fabricani de filme taie scenele la fiecare 3 sau 4 secunde (cronometrai filmul i numrai scenele).
Cu toate acestea, chiar o serie de 75 de cadre similare ofer potenialul unei reduceri mari fa de
simpla codificare separat a fiecrui cadru cu JPEG.
Pentru scene n care aparatul de filmat i fundalul sunt staionare i unul sau mai muli actori se
plimb ncet, aproape toi pixelii vor fi identici de la un cadru la altul. n acest caz, scznd fiecare
cadru din cel precedent i aplicnd JPEG pe diferena lor, se obine un rezultat bun. Cu toate
acestea, pentru scenele n care aparatul de filmat micoreaz sau mrete, aceast tehnic d gre.
684 NIVELUL APLICAIE CAP. 7

Este nevoie de ceva care s compenseze micarea. Aceasta este exact ceea ce face MPEG; este
principala diferen ntre MPEG i JPEG.
Ieirea MPEG-1 const din patru tipuri de cadre:

1. Cadre I (Intracoded): Fotografii codificate JPEG auto-coninute.


2. Cadre P (Predictive): Diferena bloc cu bloc fa de ultimul cadru.
3. Cadre B (Bidirecional): Diferenele fa de ultimul i de urmtorul cadru.
4. Cadre D (DC-coded): Medii ale blocurilor folosite pentru avans rapid.

Cadrele I sunt imagini codificate folosind JPEG, folosind de asemenea luminana cu rezoluie
complet i crominana cu jumtate de rezoluie de-a lungul fiecrei axe. Este necesar s facem ca
aceste cadre I s apar periodic n irul de ieire din trei motive. nti, MPEG-1 poate fi folosit
pentru o transmisie cu trimitere multipl, cu vizualizatori care le acordeaz dup dorin. Dac toate
cadrele depind de predecesoarele lor pn la primul cadru, cineva care a pierdut primul cadru nu va
putea decodifica cadrele succesive. n al doilea rnd, dac un cadru a fost recepionat eronat, nu este
posibil decodificarea n continuare. n al treilea rnd, fr cadre I, atunci cnd se face un avans sau
o revenire rapid, decodificatorul ar trebui s calculeze fiecare cadru peste care trece, aa nct s
tie valoarea complet a cadrului pe care este oprit. Din aceste motive, cadrele I sunt inserate la
ieire o dat sau de dou ori pe secund.
Cadrele P, n contrast, codific diferenele ntre cadre. Ele se bazeaz pe ideea de macroblocuri
(macroblocks), care acoper 16x16 pixeli n spaiul luminanei i 8x8 pixeli n spaiul crominanei. Un
macrobloc este codificat prin cutarea cadrului precedent sau ceva care difer foarte puin de el.
Un exemplu unde se folosesc cadrele P este redat n Fig. 7-86. Aici vedem trei cadre consecutive
care au acelai fundal, dar difer prin poziia unei singure persoane. Macroblocurile care conin
scena fundalului se vor potrivi exact, dar macroblocurile coninnd persoana vor fi afiate la o poziie
cu o deplasare de valoare necunoscut i va trebui s fie nregistrate.

r r f J-
i \ i V
M-
/ 1
j
y ii
A n
n ia r n K
i
te
SS rf 11
JU I)s 1 s
\ HM

JU i
Fig. 7-86. Trei cadre consecutive.

Standardul MPEG-1 nu specific cum s se fac cutarea, ct de departe s se caute sau ct de


bun trebuie s fie o potrivire pentru a conta. Aceasta depinde de fiecare implementare. De
exemplu, o implementare poate cuta un macrobloc la poziia curent din cadrul precedent i toate
celelalte deplasri ale poziiilor Ax pe direcia x i Ay pe direcia y. Pentru fiecare poziie, poate fi
calculat numrul de potriviri n matricea de luminana. Poziia cu cel mai mare scor va fi declarat
ctigtoare, cu condiia s fi fost peste un prag predefinit. Altfel, macroblocul se spune c lipsete.
Sunt desigur posibili i ali algoritmi mai complicai.
SEC. 7.7 MULTIMEDIA 685

Dac este gsit un macrobloc, acesta este codificat lund diferena fa de valoarea sa din cadrul
anterior (pentru luminan i pentru cele dou crominane). Aceste matrice diferene sunt apoi
subiectul unei transformri cosinusoidale discrete, sunt cuantificate, codificate cu lungimea
succesiunilor i codificate Huffman, la fel ca i cu JPEG. Valoarea pentru macrobloc n fluxul de
ieire este vectorul de micare (ct de departe s-a micat macroblocul din poziia lui precedent pe
fiecare direcie), urmat de lista codificat Huffman a numerelor. Dac macroblocul nu este
localizat n cadrul precedent, valoarea curent este codificat cu JPEG, la fel ca n cadrul I.
Evident, algoritmul este puternic asimetric. O implementare este liber s ncerce fiecare poziie
plauzibil din cadrul precedent, dac vrea s-o fac, ntr-o ncercare disperat de a localiza fiecare
ultim macrobloc. Aceast tratare va minimiza fluxul MPEG-1 codificat, cu preul unei codificri
foarte lente. Aceast abordare poate fi bun pentru o singur codificare a unei filmoteci, dar va fi
groaznic pentru o video conferin n timp-real.
Similar, fiecare implementare este liber s decid ce nseamn un macrobloc gsit".
Aceast libertate permite implementatorilor s concureze prin calitatea i viteza algoritmilor
proprii, dar ntotdeauna produce MPEG-1. Indiferent de ce algoritm de cutare este folosit,
ieirea final este ori codificarea JPEG a macroblocului curent, ori codificarea JPEG a
diferenei ntre macroblocul curent i unul din cadrul precedent la o deplasare specificat fa
de cel curent.
Pn acum, decodificarea MPEG-1 este direct. Decodificarea cadrelor I este la fel ca
decodificarea imaginilor JPEG. Decodificarea cadrelor P cere decodificatorului s memoreze cadrul
precedent i apoi s construiasc noul cadru ntr-un nou tampon bazat pe macroblocuri codificate
complet i macroblocuri care conin diferene fa de cadrul precedent. Noul cadru este asamblat
macrobloc cu macrobloc.
Cadrele B sunt similare cadrelor P, cu excepia faptului c ele permit ca macroblocul de referin
s fie sau ntr-un cadru precedent sau n cel urmtor. Aceast libertate suplimentar permite o
compensare mbuntit a micrii i este de asemenea util atunci cnd obiectele trec naintea sau
n spatele altor obiecte. Pentru a codifica cadrele B, codificatorul trebuie s in n memorie
simultan trei cadre decodificate: cel vechi, actualul i viitorul. Dei cadrele B furnizeaz cea mai
bun compresie, nu toate implementrile le suport.
Cadrele D sunt folosite doar pentru a face posibil afiarea imaginilor de rezoluie mic
atunci cnd se face o revenire sau o naintare rapid. Realizarea decodificrii MPEG-1
normal n timp-real este destul de dificil. Cernd ca decodificatorul s-o fac atunci cnd se
mic prin video de zece ori mai repede dect normal, este prea mult. n schimb, cadrele D
sunt folosite pentru a produce imagini de joas rezoluie. Fiecare intrare a cadrului D este
valoarea medie a unui bloc, fr codificare ulterioar, fcnd posibil afiarea n timp-real.
Aceast facilitate este important pentru a permite oamenilor s caute prin video, la vitez
mare o anumit scen.
Terminnd tratarea lui MPEG-1, s trecem la MPEG-2. Codificarea MPEG-2 este fundamental
similar cu codificarea MPEG-1 cu cadre I, P, i B. Cadrele D nu sunt suportate. De asemenea,
transformarea cosinusoidal discret este de 10x10 n loc de 8x8, pentru a avea cu 50% mai muli
coeficieni i implicit o calitate mai bun. Deoarece este folosit n televiziune i n aplicaiile CD-
ROM, MPEG-2 suport att imagini progresive ct i ntreesute, n timp ce MPEG-1 suport doar
imagini progresive. Sunt i alte detalii minore care difer n cele dou standarde.
686 NIVELUL APLICAIE CAP. 7

n loc de a suporta doar un singur nivel de rezoluie, MPEG-2 suport patru: sczut (352x240),
principal (720x480), nait-1440 (1440x1152) i nalt (1920x1080). Rezoluia sczut este pentru VCR-
uri i compatibilitate cu MPEG-1. Principalul nivel este cel normal pentru difuzarea NTSC.
Celelalte dou sunt pentru HDTV.
n afar de faptul c are patru niveluri de rezoluie, MPEG-2 mai suport cinci profite (profiles).
Fiecare profil marcheaz anumite zone ale aplicaiei. Profilul principal este de uz general i probabil
c majoritatea cipurilor vor fi optimizate pentru profilul principal i nivelul de rezoluie principal.
Profilul simplu este similar celui principal, cu excepia excluderii folosirii cadrelor B, pentru a face
codificarea i decodificarea software mai uoar. Celelalte profile folosesc scalabiliatea i HDTV-ul.
Profilele difer n termenii prezenei sau absenei cadrelor B, rezoluiei crominanei i scalabilitii
fluxului de bii codificat la alte formate.
Rata de compresie a datelor pentru fiecare combinaie de rezoluie i profile este diferit.
Acestea variaz ntre 3 Mbps i 100 Mbps pentru HDTV. Cazul normal este de la 3 la 4 Mbps. Date
despre performanele MPEG sunt date n (Pancha i El Zarki, 1994).
MPEG-2 are un mod mai general de multiplexare audio i video dect modelul MPEG-1 din
Fig. 7-85. El definete un numr nelimitat de fluxuri elementare, incluznd video i audio, dar
incluznd de asemenea fluxurile de date care trebuie sincronizate cu audio i video, de exemplu,
subtitlurile n mai multe limbi. Fiecare flux este mpachetat cu amprente de timp. Un exemplu
simplu de dou fluxuri este artat n Fig. 7-87.

Flux
elementar
mpachetat

Video Codificator mpache- *- (Pachete de lungime


video tator variabil,
baz de timp comun}

Ceas
J

Audio Codificator
audio (Pachete de lungime fix,
fr baz de timp comun)

Flux
elementar
mpachetat

Fig. 7-87. Multiplexarea celor dou fluxuri n MPEG-2.

Ieirea fiecrui mpachetator este un PES (Packetized Elementary Stream - flux elementar
mpachetat). Fiecare pachet PES are n jur de 30 de cmpuri i indicatori de antet, incluznd
lungimile, identificatorii de flux, controlul criptrii, statutul dreptului de autor, amprente de
timp i CRC.
Fluxurile PES pentru audio, video i posibil date sunt apoi multiplexate mpreun ntr-un singur
flux de ieire pentru transmitere. Sunt definite dou tipuri de fluxuri. Fluxul de program (program
SEC. 7.7 MULTIMEDIA 687

stream) al lui MPEG-2 este similar cu fluxul sistem al lui MPEG-1 din Fig. 7-85. Este folosit pentru
multiplexarea ansamblului fluxurilor elementare care au o baz de timp comun i care trebuie
afiate ntr-un mod sincronizat. Fluxul de program folosete pachete cu lungime variabil.
Cellalt flux MPEG-2 este fluxul de transport (transport stream). Este folosit pentru
multiplexarea fluxurilor (incluznd fluxurile de program) care nu folosesc o baz de timp comun.
Pachetele fluxului de transport au lungime fix (188 de bii), pentru a face mai uoar limitarea
efectelor pachetelor eronate sau pierdute n timpul transmisiei.
Este bine de observat c toate schemele de codificare despre care am discutat se bazeaz
pe modelul de codificare cu pierderi, urmat de o transmisie fr pierderi. Nici JPEG, nici
MPEG, de exemplu, nu pot recupera, ntr-un mod convenabil, pachetele pierdute sau eronate.
O abordare diferit pentru transmisia imaginilor este de a transforma imaginile ntr-un mod n
care se separ informaia important de cea mai puin important (cum face DCT, de
exemplu). Apoi se adug o cantitate de redundan (chiar pachete duplicate) la informaia
important i niciuna celei mai puin importante. Dac unele pachete sunt pierdute sau
deformate, este posibil s afim imagini rezonabile fr retransmisie. Aceste idei sunt descrise
n detaliu n (Danskin .a., 1995). Ele sunt n special aplicabile la transmisiile cu trimitere
multipl, unde reacia invers de la fiecare receptor este imposibil.

7.7.4 Video Ia Cerere

Video la cerere este cteodat comparat cu un magazin de nchiriere a casetelor video.


Utilizatorul (clientul) selecteaz unul dintr-un numr mare.de video-uri pe care le are la dispoziie i
l ia acas pentru a-1 viziona. Doar c pentru video la cerere, selecia este fcut acas folosind
telecomanda televizorului i caseta video ncepe imediat. Nu este necesar o excursie la magazin.
Este inutil s spunem c implementarea video-uui la cerere este un pic mai complicat dect
descrierea lui. n aceast seciune vom face o prezentare a ideilor de baz i a implementrii lor. O
descriere a unei implementri reale poate fi gsit n (Nelson i Linton, 1995). O tratare mai
general a televiziunii interactive poate fi gsit n (Hodge, 1995). Alte referine interesante sunt
(Chang .a., 1994; Hodge .a., 1993; i Little i Venkatesh, 1994).
Este video la cerere ntr-adevr precum nchirierea unei casete video sau mai degrab
precum alegerea unui film pentru vizionare la sisteme de televiziune prin cablu cu 500 sau
5000 de canale? Rspunsul are importante implicaii tehnice. n particular, utilizatorii de
casete video nchiriate sunt obinuii cu ideea s opreasc un film, s se duc la buctrie sau
ia baie i apoi s continue din locul n care caseta video a fost oprit. Telespectatorii nu se
ateapt s opreasc un program.
Pentru a concura cu succes cu magazinele de nchiriere, video-ul la cerere ar trebui s poat opri,
porni i relua casetele video la dorin. Asigurarea acestei posibiliti oblig furnizorul de video s
transmit o copie separat fiecrui utilizator.
Pe de alt parte, dac video-ul la cerere este vzut mai mult ca o televiziune avansat, atunci este
suficient ca furnizorul de casete video s porneasc fiecare video popular la fiecare 10 minute i s
ruleze non-stop. Un utilizator care dorete s vad un astfel de film trebuie s atepte cel mult 10
minute pentru ca el s nceap. Dei oprirea i repornirea nu este posibil aici, o persoan care se
ntoarce n camer dup o scurt pauz, poate comuta pe un alt canal, care prezint aceeai caset
video, dar cu o ntrziere de 10 minute. Ceva se va repeta dar nu va fi pierdut nimic. Aceast schem
688 NIVELUL APLICAIE CAP. 7

este numit video aproape la cerere (near video on demand). El ofer posibilitatea unui cost mult
mai sczut, deoarece acelai semnal de la furnizorul de casete video poate ajunge la mai muli
utilizatori odat. Diferena ntre video la cerere i video aproape la cerere este similar cu diferena
ntre a circula cu maina proprie i a lua autobuzul.
Privitul filmelor aproape la cerere este numai unul dintr-o gam larg de noi servicii posibile de
cnd este disponibil reeaua n band larg. Modelul general pe care muli l folosesc este ilustrat n
Fig. 7-88. n centrul sistemului se afl o reea cu coloan vertebral de arie larg (naional sau
internaional) cu lrgime de band mare. La ea sunt conectate mii de reele de distribuie local,
cum ar fi cabluri TV sau sisteme distribuite ale companiei de telefoane. Sistemele de distribuie
local ajung n casele oamenilor, unde se opresc n cutii de conectare (set-top boxes), care sunt, de
fapt, calculatoare personale specializate.
Mii de furnizori de informaie sunt ataai la coloana vertebral prin fibre optice de lrgime
de band mare. Unii dintre acetia vor oferi video plat-pe-vizualizare sau CD audio plat-pe-
ascultare. Altele vor oferi servicii specializate, precum cumprturi de la domiciliu (cu
posibilitatea de a roti o cutie de sup i a mri lista de ingrediente sau de a vedea un video-clip
despre cum s conduc o main de cosit). Fr ndoial c n curnd vor deveni disponibile
sporturile, tirile, relurile I Love Lucy", accesul la WWW i nenumratele alte posibiliti.

Server
Casa
video
Reea de distribuie j clientului
local

Server
local de
coloan vertebral de reea virtualizare
ATM sau SONET

Server Reea de distribuie


audio local

Fig. 7-88. Vedere general a unui sistem video la cerere.

n sistem sunt incluse i servere locale (de virtualizare) care permit ca video-urile s fie
amplasate mai aproape de utilizatori, pentru a economisi lrgimea de band n timpul orelor
de vrf. Cum se vor potrivi aceste piese i cui vor aparine se va dezbate n industrie. n cele ce
urmeaz, vom examina cum sunt create piesele principale din sistem: video-serverele, reeaua
distribuit si cutiile de conectare.
SEC. 7.7 MULTIMEDIA 689

Video-Servere
Pentru a avea video (aproape) la cerere, avem nevoie de video-servere (video servers) capabile s
memoreze si s transmit simultan un numr mare de filme. Numrul total de filme realizate este
estimat la 65.000 (Minoli, 1995). Atunci cnd este comprimat n MPEG-2, un film normal ocup n
jur de 4 GB, aa c 65.000 de filme ar necesita n jur de 260 terabii. Adugai la aceasta toate
programele vechi de televiziune care au fost vreodat realizate, filmele de sport, jurnalele sonore,
cataloagele vorbitoare pentru cumprturi etc. i este clar c ne confruntm cu o problem de
nmagazinare foarte dificil.
Cea mai ieftin soluie pentru memorarea unui volum mare de informaie este pe band
magnetic. Acesta a fost mereu cazul i probabil va continua s fie. O band DAT poate
memora 8 GB (dou filme) la un cost de circa 5 dolari/gigabii. Actualmente sunt
comercializate servere mari, mecanice, de benzi care pstreaz mii de benzi i au un bra
robotic pentru extragerea fiecrei benzi i inserarea ei ntr-o unitate de band. Problema cu
aceste sisteme este timpul de acces (n special pentru al doilea film de pe band), viteza de
transfer i numrul limitat de uniti de band (pentru a servi n filme deodat, unitatea
necesit n uniti).
Din fericire, experiena cu magazinele de nchiriat video, bibliotecile publice i alte astfel
de organizaii arat c nu toate produsele sunt la fel de populare. Experimental, atunci cnd
sunt disponibile N filme, fracia tuturor cererilor pentru filmul care ocup locul k n topul
popularitii este de aproximativ C/k (Chervenak, 1994). Aici C este calculat pentru a
normaliza suma la 1, cu formula:

C=1/(1+1/2+1/3+1/4+1/5+...+1/N)

Astfel, filmul de pe primul loc este de apte ori mai popular dect filmul de pe locul apte. Acest
rezultat este cunoscut drept legea lui Zipf (Zipf, 1949).
Faptul c unele filme sunt mai populare dect altele sugereaz o soluie posibil n
forma ierarhiei de memorare, aa cum se arat n Fig. 7-89. Aici, performana crete cu
ct se urc n ierarhie.

RAM

RAID

Disc optic

Arhiv pe band magnetic

Fig. 7-89. Ierarhia video-serverului de memorare.

O alternativ pentru nregistrare este memoria optic. CD-ROM-urile actuale memoreaz doar
650 MB, dar urmtoarea generaie va pstra 4 GB, pentru a le face potrivite pentru distribuirea de
filme MPEG-2. Dei timpii de cutare sunt mici n comparaie cu discurile magnetice (100 msec fa
690 NIVELUL APLICAIE CAP. 7

de 10 msec), costul lor sczut i fiabilitatea ridicat fac din automatele optice care conin mii de CD-
ROM-uri o alternativ bun fa de band n cazul filmelor cel mai mult folosite.
Urmeaz discurile magnetice. Acestea au timp de acces mic (10 msec), viteza de transfer
mare (10 MB/sec), i capaciti substaniale (10 GB), care le fac potrivite pentru memorarea
filmelor care sunt transmise efectiv (spre deosebire de simpla memorare pentru cazul c
cineva ar dori vreodat s le vad). Marele lor inconvenient este costul ridicat pentru
memorarea filmelor care sunt rar accesate.
n vrful piramidei din Fig. 7-89 este RAM. RAM-ul este cel mai rapid mediu de stocare,
dar i cel mai scump. Este potrivit pentru filmele ale cror pri sunt transmise ctre destinaii
diferite n acelai timp (de exemplu, adevratele video la cerere pentru 100 de utilizatori care
au pornit la diferite momente de timp). Atunci cnd preurile la RAM ajung la 10
dolari/megaoctet, un film de 4-GB va ocupa RAM n valoare de 40.000 de dolari, aa c
existena a 100 de filme n RAM va costa 4 milioane de dolari pentru 400 GB de memorie. n
plus, pentru un video-server de 10 milioane de dolari, aceast cheltuial ar putea fi justificat
dac fiecare film are suficieni clieni care pltesc simultan.
Deoarece un video-server nu este dect un imens dispozitiv de I/O n timp-real, el necesit o alt
arhitectur hardware i software dect un PC sau o staie de lucru UNIX. Arhitectura hardware a
unui video-server tipic este prezentat n Fig. 7-90. Serverul are una sau mai multe uniti centrale
RISC de nalt performan, fiecare cu memorie local, o memorie principal partajat, o memorie
tampon RAM de mare capacitate pentru filmele populare, o varietate de echipamente de stocare
pentru pstrarea filmelor i hardware de conectare n reea, n mod normal o interfa optic cu o
reea ATM (sau SONET) la viteza unui OC-3 sau mai ridicat. Aceste subsisteme sunt conectate
printr-o magistral de foarte mare vitez (cel puin de 1 GB/sec).

Memorie
RAM Memorie
CPU cache(RAM)
local principal
pentru filme

Magistral
de vitez mare

Controler Controler Controler


Interfa
de band de disc de disc
de reea
magnetic optic magnetic

Ctre
a R R R comutator
Q e e e ATM
e e e e
e e e e
Arhiv benzi Tonomat optic RAID

Fig. 7-90. Arhitectura hardware a unui video-server tipic.

Acum s inspectm programele pentru video-server. Unitile centrale sunt folosite pentru
acceptarea cererilor utilizatorilor, localizarea filmelor, mutarea datelor ntre echipamente, taxarea
SEC. 7.7 MULTIMEDIA 691

clienilor, i multe alte funcii. Unele dintre acestea nu sunt critice n timp, dar multe altele sunt, aa
c unele, dac nu toate unitile centrale, va trebui s ruleze un sistem de operare de timp-real, cum
ar fi un micronucleu de timp-real. n mod normal aceste sisteme mpart munca n operaii mai
simple, fiecare cu un termen final cunoscut. Atunci planificatorul poate rula un algoritm de tip
alege termenul cel mai apropiat" sau un algoritm monoton al vitezelor (Liu i Layland, 1973).
Software-ul unitii centrale definete i natura interfeei pe care serverul o prezint clienilor
(servere de virtualizare i cutii de conectare). Exist dou tipuri populare. Primul este un sistem de
fiiere tradiional, n care clienii pot deschide, citi, scrie i nchide fiiere. Spre deosebire de
complicaiile introduse de ierarhia de memorii i consideraiile de timp-real, un astfel de server
poate avea un sistem de fiiere modelat dup cel din UNIX.
Al doilea tip de interfa este bazat pe modelul video-recorderului. Comenzile adresate
serverului solicit deschiderea, rularea, oprirea, derularea rapid nainte i napoi a fiierelor.
Diferena fa de modelul UNIX este c atunci cnd este dat o comand PLAY, serverul continu
s transmit date la o vitez constant, fr a necesita comenzi noi.
Inima software-ului video-serverului este sistemul de gestiune a discului. Acesta are dou misiuni
principale: plasarea filmelor pe discul magnetic atunci cnd trebuie extrase de pe band sau din
memoria optic i tratarea cererilor ctre disc pentru multiplele fluxuri de ieire. Plasarea filmelor
este important, deoarece poate afecta foarte mult performanele.
Dou modaliti de organizare a memorrii pe disc sunt ferma de discuri i irul de discuri. In
cazul fermei de discuri (disk farm), fiecare unitate pstreaz doar cteva filme ntregi. Din motive de
performan i fiabilitate, fiecare film trebuie s fie prezent pe cel puin dou uniti, poate chiar mai
multe. Cealalt organizare de memorare este cea de tablou de discuri (disk array) sau RAID
(Redundant Array of Inexpensive Disks - tablou redundant de discuri ieftine), n care fiecare film
este mprit pe mai multe uniti, de exemplu blocul 0 pe unitatea 0, blocul 1 pe unitatea 1, i aa
mai departe, cu blocul n -1 pe unitatea n-l. Dup aceasta, ciclul se repet, cu blocul n pe unitatea 0
i aa mai departe. Aceast organizare este numit repartizare (striping).
Un ir de discuri repartizat are mai multe avantaje dect o ferm de discuri. Mai nti, toate cele
n uniti pot rula n paralel, mrind performana cu factorul n. n al doilea rnd, poate fi fcut
redundant prin adugarea unei uniti n plus la fiecare grup de n, unde unitatea redundant conine
SAU EXCLUSIV bloc-cu-bloc ale celorlalte uniti, pentru a permite recuperarea complet a
datelor n cazul n care o unitate se defecteaz. n sfrit, problema echilibrrii ncrcrii este
rezolvat (nu este necesar plasarea manual pentru evitarea plasrii tuturor filmelor populare pe
aceeai unitate). Pe de alt parte, organizarea de tip ir de discuri este mai complicat dect ferma
de discuri i mai sensibil la defecte multiple. De asemenea este nepotrivit pentru operaii ale
video-recorder-ului, cum ar fi derularea rapid a unui film nainte sau napoi. Un ctudiu de simulare
care compar cele dou organizri este prezentat n (Chervenak .a., 1995).
Strns legat de plasarea blocurilor este gsirea blocurilor de pe discuri. Schema UNIX cu un
arbore neechilibrat de blocuri de disc referite de i-nod este de obicei inacceptabil, deoarece
fiierele video sunt imense, aa c majoritatea blocurilor pot fi localizate printr-un bloc indirect
triplu, care nseamn multe accese suplimentare la disc (Tanenbaum, 1992). n schimb, este
obinuit legarea blocurilor ntr-o list simplu sau dublu nlnuit. Cteodat, pentru a permite
accesul aleatoriu, se utilizeaz i un index stil UNIX (i-node).
Cealalt misiune a software-ului de disc este de a servi toate fluxurile de ieire de timp-real i de
a respecta constrngerile de timp ale acestora. Un flux video MPEG-2 la 25 cadre/sec trebuie s
692 NIVELUL APLICAIE CAP. 7

preia i s transmit n jur de 14 KB la fiecare 40 msec, dar valoarea efectiv variaz considerabil,
deoarece cadrele I, P i B au rate de compresie diferite. n consecin, pentru a menine o rat de
ieire uniform, este necesar s se realizeze o memorare la ambele capete ale fluxului.
n Fig. 7-91 se prezint o scar artnd scalabilitatea total de date aduse de pe disc pentru un
flux de video dat (presupunnd c filmul este pe disc). Acesta se mic n salturi discrete, un salt
pentru fiecare bloc citit. Cu toate acestea, transmisia trebuie s se realizeze la o rat uniform, astfel
nct procesul de citire trebuie s devanseze procesul de transmitere. Aria umbrit din figur arat
datele care au fost preluate de pe disc, dar nu au fost nc transmise.
n mod normal, discurile sunt planificate folosind algoritmul liftului, care pornete braul i-1
mic spre interior i continu pn cnd ajunge la ultimul cilindru interior, prelucrnd toate cererile
pe care le primete n ordinea cilindrilor. Atunci cnd ajunge ct de departe poate, braul i
inverseaz micarea i ncepe s se mite spre exterior, prelucrnd toate cererile n ordinea dat.
Dei minimizeaz timpul de cutare, acest algoritm nu garanteaz performane de timp-real, deci nu
este folositor pentru un video-server.

Cantitatea de date
citit de pe disc

u
o
co
Ol
CD
2

Date memorate
n tampon

Fig. 7-91. Folosirea memoriei tampon pentru disc, la server.

Un algoritm mai bun este cel care tine evidenta tuturor fluxurilor video si creeaz o list a
blocului urmtor necesar fiecruia. Numerele blocurilor sunt apoi sortate i blocurile sunt citite n
ordinea cilindrilor. Atunci cnd este citit ultimul bloc, ncepe runda urmtoare prin colectarea
numrului blocului de la nceputul fiecrui flux. Acestea sunt de asemenea sortate i citite n ordinea
cilindrilor i aa mai departe. Acest algoritm menine performanele de timp-real pentru toate
fluxurile i, de asemenea, minimizeaz timpul de cutare n comparaie cu un simplu algoritm primul
venit, primul servit.
Un alt aspect software este controlul admiterii. Dac sosete o cerere pentru un nou flux, poate fi
ea acceptat fr ruinarea performanelor de timp-real ale fluxurilor existente? Un algoritm care
poate fi folosit pentru a lua o decizie examineaz cazul cel mai defavorabil pentru a vedea dac este
garantat posibilitatea trecerii de la k la k + 1 fluxuri, pe baza proprietilor cunoscute ale unitilor
centrale, RAM-urilor i discurilor. Un alt algoritm analizeaz doar proprietile statistice.
Un alt aspect al software-ului serverului se refer la gestiunea afirii n timpul unui avans rapid
sau al unei reveniri rapide (aa nct oamenii s poat cuta vizual). Cadrele D furnizeaz informaia
necesar pentru MPEG-1, dar dac nu sunt marcate i memorate ntr-un mod special, serverul nu va
SEC. 7.7 MULTIMEDIA 693

fi capabil s le gseasc fr decodificarea ntregului flux, iar n mod normal serverele nu fac
decodificare MPEG n timpul transmiterii. Pentru MPEG-2 este necesar un alt mecanism, cel puin
pentru a simplifica gsirea i decodificarea cadrelor I.
n sfrit, alt aspect este criptarea. Atunci cnd filmele sunt difuzate ctre destinaii multiple (de
exemplu, dac reeaua de distribuie local este un sistem de TV prin cablu), criptarea este necesar
pentru a asigura c filmele pot fi vzute doar de clieni care pltesc. Sunt posibile dou abordri:
precriptarea i criptarea din mers. Dac filmele sunt memorate criptate, atunci oricine afl cheia
filmului ar putea s priveasc filmul pe gratis pentru c de fiecare dat se utilizeaz aceeai cheie.
Criptarea separat pentru fiecare flux este mai sigur, dar i mai costisitoare n ceea ce privete
resursele de calcul.
Gestiunea cheilor este de asemenea o problem. Abordarea uzual este de criptare din mers cu
un algoritm simplu, dar cu schimbarea frecvent a cheii, aa nct dac un intrus poate sparge cheia
n 10 min, aceasta va fi deja nvechit.

Reeaua de distribuie

Reeaua de distribuie este un set de comutatoare si linii ntre surs si destinaie. Asa cum vedem
n Fig. 7-88, ea const dintr-o coloan vertebral SONET sau ATM (sau ATM peste SONET)
conectat la o reea de distribuie local. n mod obinuit, coloana vertebral este comutat, dar
reeaua local nu.
Principalele cerine impuse coloanei vertebrale sunt lrgimea de band mare i fluctuaia
sczut. Pentru o coloan vertebral pur SONET, acestea sunt simplu de atins - lrgimea de band
este garantat i fluctuaia este zero deoarece reeaua este sincron. Pentru o coloan vertebral
ATM, sau ATM peste SONET, calitatea serviciului este foarte important. Ea este gestionat de un
algoritm al gleii gurite i de toate celelalte tehnici pe care le-am studiat n detaliu n Cap. 5, aa
nct nu vom repeta discuia aici. Pentru informaii suplimentare despre MPEG de timp-real prin
coloana vertebral ATM, vezi (Dixit i Skelly, 1995; i Morales .a., 1995). n cele ce urmeaz ne vom
concentra asupra reelei de distribuie, un subiect pe care de abia l-am atins pn acum.
Distribuia local este haotic, cu diferite companii ncercnd diferite reele n diferite
regiuni. Companiile telefonice, companiile de TV prin cablu i noii intrai sunt convini
cu toii c cel care ajunge primul va fi ctigtorul cel mare, aa nct asistm la o
proliferare a tehnologiilor instalate. Cele patru scheme principale de distribuie local
pentru video la cerere sunt identificate prin acronimele ADSL, FTTC, FTTH i HFC. Le
vom explica pe fiecare pe rnd.
ADSL (Asymmetric Digital Subscriber Line - linie de abonat digital asimetric) a fost primul
reprezentant al industriei telefonice n domeniul distribuiei locale (Chen i Waring, 1994). Ideea
este c fiecare cas din Statele Unite, Europa i Japonia are deja o pereche torsadat de cupru
(pentru servicii telefonice analogice). Dac aceste fire pot fi folosite pentru video la cerere,
companiile telefonice ar putea s elimine concurena.
Problema, desigur, este c aceste fire nu pot suporta nici chiar MPEG-1 pe lungimea lor tipic de
10 km, ca s nu mai vorbim de MPEG-2. Soluia ADSL profit de avantajul progreselor n
prelucrarea semnalului digital pentru eliminarea electronic a ecourilor i a altor zgomote. Aa cum
se arat n Fig. 7-92, fiecare abonat la ADSL are o unitate de abonare ADSL la domiciliu coninnd
un cip de prelucrare a semnalelor digitale. Telefonul i cutia de conectare se conecteaz la unitatea
694 NIVELUL APLICAIE CAP. 7

ADSL. La cellalt capt al buclei locale este ataat o alt unitate ADSL. Aceasta poate s fie ntr-
un oficiu final al companiei telefonice sau, dac bucla local este prea lung, la captul unei fibre
optice din cartierul casei.

I Unitate d e , ~ -1.536 Mbps- Unitate de


r e e a \-~- 16Kbps 1 abonat
i ADSL L.- 4 KHz analog __J ADSL

Conexiune de fibr Aceast conexiune folosete


optic spre oficiu final perechea torsadat existent

Fig. 7-92. ADSL ca o reea de distribuie local.

ADSL-1 ofer un canal descendent de 1,536 Mbps (TI minus al 193-lea bit), dar doar un
canal ascendent la 16-Kbps. In plus, vechiul canal telefonic analog la 4 KHz (sau n unele
cazuri, dou canale digitale N-ISDN) este i el prezent. Ideea este c legtura ascendent are
suficient lrgime de band pentru ca utilizatorul s comande filme, iar legtura descendent
are o lrgime de band suficient pentru transmiterea lor codificat n MPEG-1. ADSL ar
trebui vzut mai mult ca o modalitate rapid dect ca o soluie pe termen lung, dar a fost
instalat n diferite orae. Versiuni mbuntite, numite ADSL-2 i ADSL-3, sunt n lucru.
Ultimile permit MPEG-2 n bucle locale de pn la 2 km.
Al doilea proiect al companiei telefonice este FTTC (Fiber To The Curb - fibr ctre
vecintate). Acest proiect a fost prezentat n Fig. 2-23(a). n FTTC, compania telefonic
instaleaz fibr optic de la oficiul final la fiecare cartier rezidenial, terminat ntr-un
echipament numit ONU (Optical Network Unit - unitate optic de reea). In Fig. 2-23(a),
ONU este etichetat cutie de jonciune". Cele 16 bucle locale de cupru se pot termina n
ONU. Aceste bucle sunt acum att de scurte, nct este posibil rularea duplex integral TI
sau T2 peste ele, permind filmele MPEG-1 i respectiv MPEG-2. n plus, deoarece FTTC
este simetric, acum este posibil video conferina pentru cei care lucreaz acas i pentru
ntreprinderile mici.
A treia soluie a companiei telefonice este de a introduce fibra optic n casele tuturor. Se
numete FTTH (Fiber To The Home - fibr la cas). n aceast schem, oricine poate avea OC-1,
OC-3, sau chiar un purttor mai performant, dac este cerut. FTTH este foarte scump, dar va
deschide o gam larg de posibiliti atunci cnd va fi introdus.
ADSL, FTTC i FTTH sunt reele locale de distribuie punct-la-punct, ceea ce nu este
surprinztor dat fiind organizarea actual a sistemului telefonic. O abordare complet diferit este
HFC (Hybrid Fiber Coax - fibr coaxial hibrid), care este soluia preferat actualmente, fiind
instalat n prezent de ctre TV prin cablu. Aceasta este prezentat n Fig. 2-23(b). Povestea este
SEC. 7.7 MULTIMEDIA 695

urmtoarea. Cablurile coaxiale actuale de la 300 la 450 MHz vor fi nlocuite prin cabluri coaxiale la
750 MHz, mbuntind capacitatea de la 50 la 75 canale de 6 MHz la 125 canale de 6-MHz.
aptezeciicinci din cele 125 de canale vor fi folosite pentru transmiterea televiziunii analogice.
Cele 50 de canale noi vor fi modulate folosind QAM-256, care furnizeaz n jur de 40 Mbps pe
canal, dnd un total de 2 Gbps de lrgime de band nou. Capetele vor fi mutate n cartier, aa nct
fiecare cablu este pentru 500 de case. Simpla mprire arat c fiecrei case i poate fi alocat un
canal dedicat de 4 Mbps, care poate fi folosit pentru o combinaie de programe MPEG-1, programe
MPEG-2, flux de date ascendente, telefonie digital i analogic i aa mai departe.
Dei sun minunat, se cere furnizorilor de cabluri s le nlocuiasc pe cele existente cu cabluri
coaxiale de 750 MHz, sa instaleze noile capete de distribuie i s elimine toate amplificatoarele
unidirecionale - pe Scurt, s nlocuiasc ntregul sistem de TV prin cablu. n consecin, volumul de
infrastructur nou este comparabil cu ceea ce este necesar companiilor telefonice pentru FTTC. n
ambele cazuri, furnizorul reelei locale trebuie s instaleze fibra optic n cartierele rezideniale. Din
nou, n ambele cazuri, fibra se termin la un convertor optic-electric. n FTTC, segmentul final este
o bucl local punct-la-punct care folosete perechi torsadate. In HFC, segmentul final este un cablu
coaxial partajat. Tehnic vorbind, aceste dou sisteme nu sunt chiar att de diferite pe ct vor s le
prezinte creatorii lor.
Cu toate acestea, exist o diferen real care merit s fie amintit. HFC folosete un mediu
partajat fr comutare sau dirijare. Orice informaie transmis prin cablu poate fi preluat de orice
abonat fr mult zarv. FTTC, care este complet comutat, nu are aceast proprietate. Ca rezultat,
operatorii HFC vor ca video-serverele s trimit fluxuri criptate, aa nct clienii care nu au pltit
pentru un film, s nu-1 poat vedea. Operatorii FTTC nu doresc criptarea deoarece mrete
complexitatea, scade performana i nu furnizeaz securitate suplimentar n sistemul lor. Din
punctul de vedere al unei companii care ruleaz un video-server, este o bun idee s se cripteze sau
nu? Un server folosit de o companie telefonic sau unul din subsidiarii sau partenerii si poate s
decid s nu cripteze video-urile, pretinznd eficiena ca motiv, dar de fapt pentru a cauza pierderi
economice competitorilor HFC.
Pentru toate reelele locale de distribuie, este clar c fiecare cartier va fi echipat cu unul sau mai
multe servere de virtualizare. Acestea sunt, de fapt, doar versiuni mai mici ale video-serverelor
despre care am discutat nainte. Marele avantaj al acestor servere locale este c, deoarece reelele
locale distribuite sunt scurte i n general nu sunt comutate, ele nu introduc fluctuaie, aa cum face
o reea cu coloan vertebral ATM.
Ele pot fi prencrcate cu filme fie dinamic, fie prin rezervare. De exemplu, atunci cnd un
utilizator selecteaz un film, primul minut ar putea fi transmis ctre un server local n mai
puin de 2 secunde la OC-3. Dup 55 secunde, urmtorul minut ar fi expediat ctre serverul
local n 2 secunde i aa mai departe. n acest fel, traficul prin coloana vertebral ATM nu mai
trebuie s fie fr fluctuaii, fcnd posibil utilizarea serviciului ABR n loc de serviciul CBR,
care este mai scump.
Dac oamenii spun furnizorului n avans ce filme doresc, ele pot fi transferate pe serverul local n
orele care nu sunt de vrf, rezultnd economii i mai mari. Aceast observaie orienteaz operatorii
de reea spre atragerea personalului de la companiile aeriene pentru stabilirea, tarifelor. Se pot
imagina tarife n care filmele cerute cu 24 pn la 72 de ore n avans pentru a fi vizionate marea sau
joia nainte de 6 seara sau dup 11 seara, primesc o reducere de 27 la sut. Filmele comandate n
696 NIVELUL APLICAIE CAP. 7

prima duminic a lunii nainte de 8 dimineaa pentru a fi vizionate miercuri dup-amiaza, ntr-o zi a
crei dat este un numr prim, beneficiaz de o reducere de 43 la sut i aa mai departe.
Alegerea stivei de protocoale utilizate pentru video la cerere este nc n lucru. ATM este clar
tehnologia care trebuie aleas, dar ce protocol de adaptare ar trebui folosit? AAL 1 a fost proiectat
pentru video, aa nct este un candidat puternic, dar el corespunde categoriei de servicii CBR.
Dedicnd maximul posibil de lrgime de band este costisitor, n special de cnd MPEG este inerent
pentru un trafic VBR, aa nct circuitul virtual trebuie s fie supradimensionat.
AAL 2 nu este terminat (i probabil nu va fi niciodat) i AAL 3/4 este prea stngaci, aa
nct AAL'5 este singurul concurent rmas. El nu este legat de serviciul CBR i trimiterea unui
bloc mare de MPEG n fiecare mesaj ar fi extrem de eficient, ajungnd pn la 100% din
lrgimea de band a utilizatorului pentru fluxul video. Pe de alt parte, AAL 5 face detectarea
erorilor. Eliminarea unui ntreg bloc datorit unei erori de 1 bit nu este deloc atractiv, n
special deoarece majoritatea erorilor sunt erori de un singur bit la mijlocul datelor. Ca o
consecin, exist o micare pentru a modifica AAL 5 pentru a permite aplicaiilor s cear
toate blocurile, mpreun cu un bit care s spun dac suma de control a fost sau nu corect.
Stiva de protocoale a video-ului la cerere schiat anterior este ilustrat n Fig. 7-93. Deasupra
nivelului AAL, exist programul MPEG i nivelul de flux de,transport. Apoi ajungem ia codificarea
i decodificarea audio i video MPEG. n sfrit, pe nivelul cel mai de sus avem aplicaia.

Aplicaii

audio MPEG video MPEG


MPEG-
PS TS

AAL1 AAL 5

Nivel ATM

>Jive fizic ATI\i1

Fig. 7-93= Stiva de protocoale a video-ului la cerere.

Caii de conectare

Toate metodele de distribuie local de mai sus aduc n cele din urm n cas unui sau mai
multe fluxuri MPEG. Pentru a le decodifica si a le vizualiza, sunt necesare o interfa de reea,
un decodificator MPEG i alte componente electronice. Aici sunt posibile dou abordri.
n prima abordare, oamenii folosesc calculatoarele personale pentru decodificarea i vizualizarea
filmelor. Pentru aceasta trebuie cumprat o plac ataabil special, coninnd cteva cipuri
speciale i un conector pentru interfaarea cu reeaua de distribuie local. Filmele apar pe
monitorul calculatorului, posibil chiar ntr-o fereastr. Acestea ar putea fi numite cutii set-bottom,
deoarece n cazul calculatoarelor, cutia este de obicei sub monitor n loc de a fi deasupra. Aceast
abordare este mai ieftin (tot ceea ce este necesar este o plac ataabil i programele), folosete un
SEC. 7.7 MULTIMEDIA 697

monitor de mare rezoluie nentreesut, are o interfa utilizator sofisticat, orientat pe maus i
poate fi integrat uor cu WWW i alte surse de informaii i de distracie orientate pe calculatoare.
Pe de alt parte, PC-urile au de obicei ecrane mici, se afl n birouri n loc de camere de zi i sunt
folosite n mod tradiional de o singur persoan la un moment dat. Ele emit i mult mai puin
lumin dect televizoarele.
n a doua abordare, operatorul de reea local nchiriaz sau vinde utilizatorului o cutie de
conectare (set-top box) la care sunt conectate reeaua i televizorul. Aceast abordare are avantajul
c oricine are un televizor, dar nu toi au un calculator, sau multe persoane au
PC-uri vechi, speciale sau, cu alte cuvinte, nepotrivite pentru decodificarea MPEG. n afar de
acestea, televizorul se afl deseori ntr-o camer destinat unui grup de privitori.
Pe de alt parte, monitorul are un afiaj cu rezoluie redus ntreesut (fcndu-1 nepotrivit
pentru material sub form de text, precum este WWW). n plus, are o interfa primitiv cu
utilizatorul (telecomand), pentru utilizatori fiind imposibil s fac altceva dect s selecteze
opiunile din meniuri. Chiar introducerea numelui unui film este chinuitoare, ca s nu mai vorbim
despre angajarea unui dialog cernd serverului cutarea tuturor filmelor realizate de un anumit
actor, regizor sau o companie de producie ntr-o anumit perioad de timp. n sfrit, cutiile de
conectare cu performana cerut nu sunt uor de realizat la un pre acceptabil (gndit s fie de
cteva sute de dolari).
Odat considerai toi aceti factori, majoritatea sistemelor video la cerere au optat pentru
modelul cu cutii de conectare, n primul rnd pentru c productorii de mas le displace s exclud
orice cumprtor posibil (persoane fr PC). De asemenea, se pot ctiga bani prin nchirierea sau
vnzarea cutiilor de conectare. Cu toate acestea, piaa de plci atasabile este suficient de mare, aa
nct aceste plci vor fi de asemenea produse.

CPU ROM RAM

1/0 MPEG Reea

/ \ t
Ctre reea

H: Telecomand

Televizor

Fig. 7-94. Arhitectura hardware a unei cutii de conectare simple.

Funciile principale ale cutiei de conectare sunt interfaarea cu reeaua local de distribuie,
decodificarea semnalului MPEG, sincronizarea fluxurilor audio i video, producerea unui semnal
combinat NTSC, PAL sau SECAM pentru televizor, ascultnd telecomanda, i tratarea interfeei cu
698 NIVELUL APLICAIE CAP. 7

utilizatorul. Funcii suplimentare pot include interfaarea cu stereo-mi, telefoane i alte aparate. O
btlie important se d n industrie n legtur cu numrul de funcii ce trebuie ndeplinite de cutia
de conectare i respectiv de reea. Rmne de vzut ce se va ntmpla.
O arhitectur posibil pentru o cutie de conectare simpl este prezentat n Fig. 7-94. Aparatul
const din CPU, ROM, RAM, controlor I/O, decodificator MPEG i interfaa de reea. Opional,
poate fi adugat i un cip de securitate pentru decriptarea filmelor primite i criptarea mesajelor
transmise (numerele crilor de credit pentru cumprturi etc).
Un aspect important pentru video la cerere este sincronizarea audio/video i gestiunea
fluctuaiilor. Adugarea a 500 KB suplimentari de RAM permite memorarea MPEG-2 pentru o
secund, dar conduce la o cheltuial suplimentar pentru un aparat pe care productorii sper s-1
vnd pentru cel mult cteva sute de dolari.
Deoarece cutia de conectare este doar un calculator, va necesita programe, probabil un sistem de
operare de timp-real bazat pe un micronucleu pstrat n ROM. Pentru a furniza flexibilitate i
adaptabilitate, probabil c este o idee bun s se dea posibilitatea ncrcrii altor programe din
reea. Aceast posibilitate ridic problema despre ce se ntmpl atunci cnd proprietarul unei cutii
de conectare bazat pe MIPS vrea s joace un joc scris pentru o cutie de conectare bazat pe
SPARC? Utilizarea unui limbaj interpretat precum Java rezolv problema compatibilitii, dar
reduce drastic performana n mediul de timp-real, unde performana nalt este crucial.

Standarde
Aspectele economice ale video-uiui la cerere nu pot fi ignorate. Un video-server mare poate
costa mai mult dect un calculator, adic 10 milioane dolari. S presupunem c el servete 100.000
de case, fiecreia nchiriindu-i o cutie de conectare ia 300 dolari. Acum adugai echipament de
reea n valoare de 10 milioane de dolari i o perioad de depreciere de 4 ani i rezult c sistemul
trebuie s genereze 10 dolari pe lun pe cas. La 5 dolari/film fiecare trebuie s cumpere dou filme
pe lun pentru ca operatorul s-i acopere cheltuielile (excluznd salariile, marketingul i alte
costuri). Nu este evident dac acest lucru se ntmpl sau nu.

Ce tehnologie va fi foiosit pentru coloana vertebral (SONET, ATM, SONET + ATM)?


La ce vitez va funciona coioana vertebral (OC-3, OC-12)?
Cum se va face distribuia local (HFC, FTTQ?
Ce iungime de band va exista pentru fluxul de intrare (16 Kbps, 1.5 Mbps)?
Vor fi criptate filmele i dac da, cum?
Se va face corectarea erorilor (obligatoriu, opional, va lipsi)?
Cine va fi proprietarul cutiei de conectare (utilizator, operator de reea)?
Telefonia va face parte din sistem (analog, N-ISDN)?
Aplicaiile hipertext de rezoluie mare vor fi suportate (de exemple, WWW)?

Fig. 7-95. Cteva domenii n care sunt necesare standarde.

Valorile date anterior pot fi rearanjate n mai multe moduri (de exemplu, se pune un pre de 6
dolari/lun pentru nchirierea unei cutii de conectare i 2 dolari pe film), iar costurile se schimb
mereu, dar ar trebui s fie clar c fr o pia extins, nu exist nici o justificare economic pentru
video la cerere. Pentru dezvoltarea unei piee de mas este esenial ca toate prile sistemului s fie
standardizate. Dac fiecare furnizor de video, operator de reea, i productor de cutii de conectare
SEC. 7.7 MULTIMEDIA 699

realizeaz propria interfa, nimic nu va putea s conlucreze cu restul sistemului. Pn acum,


singurul standard pe care-1 accept toi este folosirea lui MPEG-2 pentru codificarea video. Orice
altceva este n disput. Cteva dintre ntrebrile la care trebuie s se rspund nainte ca s poat fi
realizat un sistem naional sunt listate n Fig. 7-95.
Dac toate aceste zone pot fi standardizate, putem imagina cu uurin muli furnizori oferind
produse constnd dintr-o cutie cu o muf telefonic, monitor, tastatur i maus, care poate fi folosit
pentru urmrirea video-urilor, pentru calcul sau poate pentru amndou odat. Atunci va deveni
realitate mult discutata convergen a calculului, comunicrii i industriei de distracii.

7.7.5 MBone - Coloana vertebral pentru trimitere multipl

n timp ce toate aceste industrii fac planuri mari - i ndelung mediatizate - pentru viitorul
video la cerere (inter)naional, digital, comunitatea Internet i-a implementat propriul sistem
multimedia digital, MBone (Multicast Backbone - coloana vertebral cu trimitere multipl). n
aceast seciune vom face o scurt sintez a ceea ce este si cum fuctioneaz. Pentru o carte
ntreag despre MBone, vezi (Kumar, 1996). Pentru articole despre MBone, vezi (Eriksson,
1994; i Macedonia i Brutzman, 1994).
MBone poate fi gndit ca radio i televiziune Internet. Spre deosebire de video la cerere,
unde accentul cade pe selectarea i vizualizarea filmelor precomprimate memorate pe un
server, MBone este folosit pentru difuzare audio i video n form digital n "lumea ntreag
prin Internet. Este operaional de la nceputul lui 1992. Multe conferine tiinifice, n special
ntlniri IETF, au fost difuzate, la fel ca i evenimentele tiinifice notabile, cum ar fi lansarea
navetelor spaiale. Prin MBone a fost difuzat i un concert Rolling Stones. Este discutabil dac
acesta poate fi calificat drept un eveniment tiinific. Pentru persoanele care vor s nregistreze
digital o emisiune MBone, exist i software-ul corespunztor (Holfelder, 1995).
Majoritatea cercetrilor despre MBone au fost despre realizarea eficient a Internetului
(orientat datagram). S-au fcut puine n domeniul codificrii audio i video. Sursele MBone sunt
libere s experimenteze cu MPEG sau orice alt tehnologie de codificare doresc. Nu exist
standarde Internet pentru coninut sau codificare.
Din punct de vedere tehnic, MBone este o reea virtual situat deasupra Internet-ului. Ea
const din insule cu posibiliti de trimitere multipl, conectate prin tuneluri, aa cum se arat n Fig.
7-96. n aceast figur, MBone const din ase insule, de la A ia F, conectate prin apte tuneluri.
Fiecare insul (tipic un LAN sau un grup de LAN-uri interconectate) suport trimitere multipl
hardware ctre calculatoarele gazd. Tunelurile propag pachetele MBone ntre insule. Cndva, n
viitor, cnd toate ruterele vor fi capabile s gestioneze direct traficul cu trimitere multipl, aceast
superstructur nu va mai fi necesar, dar pentru moment este funcional.
Fiecare insul conine unul sau mai multe rutere specializate numite ra-ratere (mrouters - rutere
cu trimitere multipl). Cteva dintre acestea sunt rutere normale, dar majoritatea sunt numai staii
UNIX care ruleaz software-ul special de nivel utilizator (dar ca supervizor). M-ruterele sunt
conectate logic prin tuneluri. n trecut, pachetele MBone au trecut de la m-ruter la m-ruter (n mod
obinuit prin unul sau mai multe rutere care nu tiau despre MBone), folosind dirijarea sursei cu
pierderi. n prezent, pachetele MBone sunt ncapsulate n pachete IP i trimise ca pachete obinuite
cu trimitere unic la adresa IP am-ruterului detinaie. Dac toate ruterele intermediare suport
trimiterea multipl, atunci nu este necesar trimiterea prin tuneluri.
700 NIVELUL APLICAIE CAP. 7

Tunelurile sunt configurate manual. n mod uzual, un tunel este o cale pentru care exist o
conexiune fizic, dar aceasta nu este o cerin. Dac, accidental, calea fizic asociat unui tunel se
defecteaz, m-mterele care folosesc tunelul nu vor obsei'va, deoarece Intemet-ul va redirija automat
ntregul trafic IP dintre ele prin alte linii.

m-ruter

nsula de trimitere
multipl
Staie de iucr
A

7.1 6. MBone const din insule de trimitere multipl conectate prin tunek

Atunci cnd apare o nou insul i dorete s se ataeze la MBone, precum G din Fig. 7-96,
administratorul su trimite un mesaj anunnd existena acesteia ctre lista de pot a MBone-
ului. Administratorii siturilor apropiate l contacteaz pentru a stabili tunelurile. Cteodat
tunelurile existente sunt reconfigurate, astfel nct s profite de noua insul pentru a optimiza
topologia. La urma urmelor, tunelurile nu au existen fizic. Ele sunt definite prin tabele n
m-rutere i pot fi adugate, terse, sau mutate prin simpla schimbare a acestor tabele. Tipic,
fiecare ar din MBone are o coloan vertebral cu insule regionale ataate acesteia. In mod
normal, MBone este configurat cu unul sau dou tuneluri care traverseaz oceanele Atlantic i
Pacific, aducnd MBone-ul la scar global.
Astfel, n orice moment, MBone const dintr-o topologie specific constnd din insule i
tuneluri, independent de numrul adreselor de trimitere multipl utilizate curent i de cine le ascult
sau le urmrete. Aceast situaie este foarte asemntoare cu cea a unei subretele normale (fizice),
aa nct i se aplic algoritmii normali de dirijare. n consecin, MBone a folosit iniial un algoritm
de dirijare, DVMRP (Distance Vector Multicast Routing Protocol - dirijare multi-destinaie dup
vectorul distanelor) bazat pe algoritmul vectorului distanelor al lui Bellman-Ford. De exemplu, n
Fig. 7-96, insula C poate dirija ctre A prin B sau prin E (sau prin D). i alege varianta lund valorile
pe care i le dau nodurile despre distanele de la ele pn la^4 i apoi adugnd distana proprie pn
la ele. n acest mod, fiecare insul determin ruta optim ctre fiecare alt insul. Totui, rutele nu
sunt de fapt folosite n acest mod, ci aa cum vom vedea n curnd.
S considerm acum modul n care se realizeaz trimiterea multipl. Pentru a transmite la mai
multe destinaii un program audio sau video, o surs trebuie s achiziioneze mai nti o adres de
SEC. 7.7 MULTIMEDIA 701

destinaie multipl de clas D, care acioneaz ca o frecven de staie sau un numr de canal.
Adresele de clas D sunt rezervate prin folosirea unui program care caut ntr-o baz de date adrese
de destinaie multipl libere. Multe trimiteri multiple pot s se desfoare n acelai timp, iar un
calculator gazd poate s se acordeze" pe cea de care este interesat prin ascultarea adrese de
destinaie multipl potrivite.
Periodic, fiecare m-ruter trimite un pachet de difuzare IGMP limitat la insula lui, ntrebnd cine
este interesat de ce canal. Calculatoarele gazd care doresc s (continue s) primeasc unul sau mai
multe canale trimit alt pachet IGMP napoi drept rspuns. Aceste rspunsuri sunt dispersate n timp
pentru a evita suprancrcarea LAN-ului local. Fiecare m-ruter pstreaz o tabel cu canalele care
trebuie puse n LAN-ul propriu, pentru a evita pierderea de lrgime de band prin canale de
transmitere multipl pe care nu le vrea nimeni.
Trimiterile multiple se propag prin MBone dup cum urmeaz. Cnd o surs audio sau
video genereaz un nou pachet, l difuzeaz ctre insula sa local folosind facilitile hardware
de trimitere multipl. Acest pachet este preluat de un m-ruter local, care l copiaz pe toate
tunelurile cu care este conectat.
Fiecare m-ruter care primete un astfel de pachet printr-un tunel verific dac pachetul a
venit pe cea mai bun rut, adic cea pe care tabela proprie i spune s o foloseasc pentru a
ajunge la surs (ca i cum ar fi o destinaie). Dac pachetul a venit pe ruta cea mai bun,
m-ruterul l copiaz la toate celelalte tuneluri. Dac pachetul a ajuns pe o cale care nu este cea
optimal, el este eliminat. Astfel, de exemplu, n Fig. 7-96, dac tabela lui C spune s se
foloseasc B pentru a ajunge la. A, atunci cnd un pachet cu trimitere multipl de la^4 ajunge
la C prin B, el este copiat la D i E. Cu toate acestea, atunci cnd un pachet cu trimitere
multipl de la A ajunge la C prin E (nu este calea cea bun), el este eliminat. Acest algoritm
este algoritmul retransmiterii pe calea invers prezentat n Cap. 5. Dei nu este perfect, este
destul de bun i foarte uor de implementat.
n plus fa de folosirea algoritmului de cutare pe calea invers, pentru prevenirea
inundrii Internet-ului, de asemenea, pentru a limita domeniul trimiterii multiple, este folosit
cmpul IP Timejojive (timp de via). Fiecare pachet pleac cu o anumit valoare
(determinat de surs). Fiecrui tunel i se asociaz o pondere. Un pachet este trecut printr-un
tunel dac are o pondere suficient. Altfel este eliminat. De exemplu, tunelurile transoceanice
sunt configurate n mod obinuit cu o pondere de 128, aa nct pachetele pot fi limitate la
continentul de origine dndu-li-se un timp de via iniial mai mic sau egal cu 127. Dup
trecerea printr-un tunel, cmpul Time to live este decrementat cu ponderea tunelului.
De cnd funcioneaz algoritmul de dirijare MBone, s-au fcut multe cercetri pentru a-1
mbunti. O propunere pstreaz ideea dirijrii dup vectorul distanelor, dar face algoritmul
ierarhic, prin gruparea siturilor MBone n regiuni i dirijarea n prima etap ctre acestea
(Thyagarajan i Deering, 1995).
O alt propunere este de a folosi o form modificat a dirijrii n funcie de starea legturilor, n
loc de dirijare dup vectorul distanelor. n particular, un grup de lucru IETF se ocup de
modificarea OSPF pentru a-1 face potrivit pentru trimitere multipl n cadrul unui singur sistem
autonom. Trimiterea multipl OSPF rezultat este numit MOSPF (Moy, 1994). Modificrile se
refer la crearea de ctre MOSPF a unei hri complete care, n plus fa de informaia vizual de
dirijare, s in evidena insulelor de trimitere multipl i a tunelurilor. narmat cu aceast
702 NIVELUL APLICAIE CAP. 7

topologie complet, este uor s calculm cea mai bun cale de la fiecare insul ctre fiecare alt
insul folosind tunelurile. De exemplu, poate fi folosit algoritmul lui Dijkstra.
A doua arie de cercetare este dirijarea inter-AS. Aici un alt grup de lucru ETF dezvolt un
algoritm numit PIM (Protocol Independent Multicast - transmitere multipl independent de
protocol) (Huitema, 1995). PIM are dou versiuni, dup cum insulele sunt dense (aproape
oricine vrea s se uite) sau rare (aproape nimeni nu vrea s se uite). Ambele versiuni folosesc
tabele de dirijare standard cu trimitere unic n loc de a crea o topologie suprapus, aa cum
fac DVMRP sau MOSPF.
n PIM-dens, ideea este de a tia cile inutile. Tierea funcioneaz n modul urmtor.
Atunci cnd un pachet cu trimitere multipl ajunge printr-un tunel greit", un pachet de
tiere este trimis napoi prin tunel, spunnd emitorului s nu-i mai transmit pachete prin
sursa respectiv. Cnd un pachet ajunge prin tunelul bun", este copiat pe toate celelalte
tuneluri care nu s-au auto-tiat anterior. Dac toate celelalte tuneluri s-au auto-tiat i canalul
din insula local nu este interesat, m-ruterul trimite un mesaj de tiere napoi prin canalul
bun". n acest fel, trimiterea multipl se adapteaz automat i merge doar unde este dorit.
PIM-rar lucreaz diferit. Aici ideea este de a preveni saturarea Internetului, dac trei
persoane din Berkeley vor s in o conferin peste o adres de clas D. PIM-rar funcioneaz
prin fixarea unor puncte de ntlnire. Fiecare dintre sursele dintr-un grup cu trimitere multipl
PIM-rar i trimite pachetele la punctele de ntlnire. Orice sit interesat n ataare, cere unui
punct de ntlnire s-i seteze un tunel n acest mod, tot traficul PIM-rar este transportat pe
direcie unic n Ioc de multipl.
In concluzie, multimedia este un domeniu foarte interesant, care evolueaz rapid. Zilnic
sunt anunate noi tehnologii i aplicaii, dar ntregul domeniu va rmne important i n
deceniile urmtoare,

7.8 REZUMAT

Reelele de calculatoare sunt inerent nesigure. Pentru a pstra informaia secret, ea trebuie
criptat. Protocoalele de criptare se mpart n dou clase generale: cu chei secrete (de exemplu,
DES, IDEA) i cu chei publice (de exemplu RSA). Folosirea acestor protocoale este uoar; partea
dificil este reprezentat de gestiunea cheilor.
n afar de confidenialitate, protocoalele de criptare pot furniza i autentificarea, adic atunci
cnd Alice crede c vorbete cu Bob, ea chiar vorbete cu el i nu cu Trady. n sfrit, criptografia
poate fi folosit i pentru a permite semnarea mesajelor, astfel nct cel care le-a transmis s nu le
poat repudia dup ce le-a transmis.
Atribuirea numelor n Internet folosete un sistem de baze de date distribuite, DNS. DNS
pstreaz nregistrri cu adresele IP, centre de mesagerie i alte informaii. Prin interogarea unui
DNS, un proces poate stabili corespondena dintre un nume de domeniu Internet i o adres IP
folosit pentru a comunica cu acel domeniu.
Pe msur ce reelele devin tot mai mari, administrarea lor devine tot mai grea. Din acest motiv,
au fost create protocoale i sisteme speciale de administrare a reelelor, cel mai popular fiind SNMP.
Acest protocol permite administratorilor s comunice cu agenii din echipamente pentru a le citi
starea si a le transmite comenzi.
SEC. 7.9 PROBLEME 703

Patru aplicaii majore de reea sunt pota electronic, tirile USENET, World Wide Web i
multimedia (video la cerere i Mbone). Majoritatea sistemelor de pot folosesc sistemul de pot
definit n RFC 821 i 822. Mesajele trimise n acest sistem folosesc antete ASCII de sistem pentru
definirea proprietilor mesajului. Aceste mesaje sunt transmise folosind SMTP. Exist dou sisteme
de pot sigur, PGM i PEM.
tirile USENET constau din mii de grupuri de tiri referitoare la tot felul de subiecte. Oamenii
se pot nscrie n grupuri de tiri locale i pot trimite mesaje peste tot n lume, folosind protocolul
NNTP, care se aseamn cu SMTP.
World Wide Web este un sistem pentru legarea documentelor hipertext. Fiecare document este
o pagin scris n HTML, cu posibile hiper-legturi la alte documente. Un program de navigare
poate afia un document prin stabilirea unei conexiuni TCP cu serverul propriu, cernd documentul
i apoi nchiznd conexiunea. Atunci cnd utilizatorul selecteaz o hiper-legtur, documentul
respectiv poate fi preluat n acelai mod. n acest fel, documentele din toat lumea sunt legate ntr-o
gigantic plas de pianjen.
Multimedia este ultima stea care apare pe firmamentul reelelor. Se permite ca semnalele video
i audio s fie digitizate i transportate electronic pentru afiare. Majoritatea proiectelor multimedia
folosesc standardele MPEG i transmit datele prin conexiuni ATM. Mbone este un serviciu
experimental, din Internet, bazat pe televiziunea i radioul digital.

7.9 PROBLEME

1. Spargei minatorul cifru monoalfabetic. Textul n clar, constnd numai din litere, este un
fragment dintr-o poezie a lui Lewis Carroll.

kfd ktbd fzm eubd kd pzyiom mztx ku kzyg ur bzha kfthcm


ur mfudm zhx mftnm zhx mdzythc pzq ur ezsszcdm zhx gthcm
zhx pfa kfd mdz tm sutyhc fuk zhx pfdkfdi ntcm fzid pthcm
sok pztk z stk kfd uamkdim eitdx sdruid pd fzid uoi efzk
rui mubd ur om zid uok ur sidzkf zhx zyy ur om zid rzk
hu foiia mztx kfd ezindhkdi kfda kfzhgdx ftb boef rui kfzk

2. Spargei urmtorul cifru de transpoziie pe coloane. Textul este luat dintr-o carte despre
calculatoare, astfel nct computer" este un cuvnt probabil. Textul const numai din litere
(fr spaii). Pentru claritate, textul cifrat este mprit n blocuri de 5 caractere.

aauan cvlre rurnn dltme aeepb ytust iceat npmey iicgo gorch srsoc
nntii imiha oofpa gsivttpsit IborI otoex

3. In Fig. 7-4, blocurile P i S alterneaz. Dei acest aranjament este plcut, este mai sigur s avem
mai nti toate blocurile P i apoi toate blocurile S?

4. S presupunem c un mesaj a fost criptat folosind DES n nlnuirea blocurilor cifrate. Un bit
al textului cifrat n blocul C,- este tranformat accidental din 0 n 1 n timpul transmisiei. Ct de
mult text va fi deformat ca urmare a acestui fapt?
704 NIVELUL APLICAIE CAP. 7

5. S considerm din nou nlnuirea blocurilor cifrate. Un bit 0 este inserat n fluxul textului cifrat
dup blocul Q, n loc de transformarea unui bit 0 n 1. Ct de mult text va fi deformat?

6. Proiectai un atac la DES bazat pe faptul c textul const numai din litere mari ASCII,
plus spaiu, virgul, punct i virgul, enter i linie nou. Nu se tie nimic despre biii de
paritate ai textului.

7. Comparai nlnuirea blocurilor cifrate cu modul cu reacie cifrat n funcie de numrul


de operaii de criptare folosite pentru transmiterea unui fiier mare. Care este mai eficient
i cu ct?

8= Folosind sistemul de criptare cu chei publice RSA cu a = l , b=2 etc,


dacp=7 i q=ll, listai 5 valori permise pentru d.
DacjP=13, #=31 i d=l, ct este el
Folosindp=5, q=ll i d=27, gsii valoarea lui e i criptai abcdefghij".

9. Schimbarea de chei Diffie-Hellman este folosit pentru stabilirea unei chei secrete ntre Alice i
Bob. Alice i trimite lui Bob (719, 3, 191). Bob rspunde cu (543). Numrul secret al lui Alice
este x=16. Care este cheia secret?

10. Schimbai puin un mesaj n protocolul din Fig. 7-14 ca s devin rezistent la atacurile de
reflectare. Explicai de ce funcioneaz modificarea.

11. n protocolul broasca cu gur mare, de ce A este transmis n text mpreun cu cheia de sesiune
criptat?

12. n protocolul broasca cu gur mare, am atras atenia c prezena a 32 bii de 0 la nceputul
fiecrui mesaj implic un risc. S presupunem c fiecare mesaj ncepe cu un numr aleatoriu
pentru fiecare utilizator, de fapt o a doua cheie secret cunoscut doar de utilizator i de KDC.
Elimin aceasta binecunoscutul atac la text?

13. n protocolul Needharn-Schroeder, Alice genereaz 2 provocri, RA i RA2. Aceasta seamn cu


o exagerare. Nu ar fi fost suficient una singur?

14 n protocolul de autentificare de chei publice din Fig. 7-21, n mesajul 3, RB este criptat cu Ks.
Este aceast criptare necesar, sau ar fi fost potrivit s fie trimis ca text clar?

15. Protocolul de semntur din Fig. 7-22 are urmtoarele puncte slabe. Dac Bob se stric, el
poate pierde coninutul RAM-ului propriu. Ce probleme pot aprea i cum pot fi prevenite?

16. Dup ce Ellen s-a confesat Iui Marilyn c a pclit-o n ceea ce-1 privete pe Torn, Marilyn
a reuit s evite aceast problem dictnd mesajele viitoare unei maini de dictat, urmnd
ca noua secretar s e introduc ulterior. Marilyn a plnuit s examineze mesajele de pe
terminalul ei dup ce au fost editate pentru a fi sigur c acestea i conin propriile
cuvinte. Poate noua secretar s foloseasc atacul zilei de natere, ca s falsifice un mesaj
i dac da, cum? Indicaie: Poate.
SEC. 7.9 PROBLEME 705

17. Terminalele de puncte de vnzare care folosesc cartele cu band magnetic i coduri PIN au un
defect fatal: un negustor ruvoitor poate modifica cititorul de coduri propriu pentru a captura i
a memora toat informaia de pe cartel precum i codul PIN n scopul de a transmite n viitor
tranzacii suplimentare (falsificate). Urmtoarea generaie de terminale de puncte vnzare va
folosi cartele cu uniti centrale complete, tastatur i monitor pe cartel. Implementai un
protocol pentru acest sistem, pe care negustorii ruvoitori s nu-1 poat sparge.

18. n conformitate cu informaiile din Fig. 7-27, little-sister.cs.vu.nl este ntr-o reea de clas
A, B, sau C?
A

19. In Fig. 7-27, dup rowboat nu exist punct. De ce nu?

20. Ce este OBJECTIDENTIFIER pentru obiectul tcp?

21. Trebuie transmis un ntreg SNMP a crui valoare este 200. Artai reprezentarea binar a
biilor transmii n sintaxa de transfer ASN. 1.

22. Care este reprezentarea irului binar de 11 bii, '11100001111' n sintaxa de transfer ASN.l?

23. S presupunem c suntei angajat de un furnizor de puni s scriei un cod n conformitate cu


SNMP pentruuna dintre puni. Ai citit toate RFC-urile i tot avei ntrebri. Sugerai IAB-ului
c undeva ar trebui s existe o gramatic formal complet a limbajului folosit pentru a descrie
variantele SNMP. Reacia IAB-ului este de a accepta i a v desemna s rezolvai problema.
Gramatica ar trebui adugat RFC-ului 1442 sau RFC-ului 1231? De ce? Indicaie: Nu trebuie
s luai RFC-urile; este dat suficient informaie n text.

24. Unele sisteme de pot electronic suport n antet un cmp numit Content Retum:. Acesta
specific dac corpul mesajului va fi returnat n cazul nelivrrii. Acest cmp aparine nveliului
sau antetului?

25. Sistemele de pot electronic au nevoie de cataloage, astfel nct adresele de pot ale
utilizatorilor s poat fi cutate. Pentru construcia unor astfel de cataloage, numele
trebuie mprite n componente standard (de exemplu, nume i prenume), pentru a face
cutarea posibil. Discutai cteva probleme care trebuie rezolvate pentru ca un standard
universal s fie acceptat.

26. Un fiier binar are lungimea de 3072 de bii. Ct de lung va fi dac l codificm folosind base64,
cu perechea CR+LF inserat dup fiecare 80 de bii transmii i la sfrit?

27. Considerai schema de codificare MIME afiabil marcat. Menionai o problem nediscutat
n text i propunei o soluie.

28. Dai dou motive pentru care PGP comprim mesajele.

29. Presupunnd c cineva activeaz un demon de vacan i apoi transmite un mesaj chiar nainte
de deconectare. (Din nefericire, adresantul a fost n vacan pentru o sptmn i a activat un
demon de vacan), ce se va ntmpla? Vor circula replicile nainte i napoi pn cnd se
ntoarce cineva?
706 NIVELUL APLICAIE CAP. 7

30. Presupunnd c toi cei din Internet folosesc PGP, poate fi transmis un mesaj PGP la o adres
arbitrar Internet i decodificat corect de cei interesai? Discutai rspunsul.

31. PGP nu suport canonizarea ca PEM-ul. De ce nu?

32. Ghicii ce nseamn smiley-ul :-X (scris cteodat :-#).

33. Ct de mult timp dureaz s distribui tirile dintr-o zi printr-un canal de satelit de 50-Mbps?

34. Care din comenzile din Fig. 7-56 sunt teoretic redundante?

35. O reea mare conine o gril de nxn maini. Toate nodurile interioare au patru vecini; cei
din coluri au doar trei (doi) vecini. Dac un mesaj de m-bii este transmis la una din
maini folosind NNTP-ul, ct de muli octei de lrgime de band sunt consumai pentru
a-1 transmite la toate celelalte maini (ignornd timpul suplimentar de sistem al NNTP-
ului i numrnd doar biii mesajelor).

36. Repetai problema anterioar, dar acum aflai lrgimea de band aproximativ necesar
pentru distribuia mesajului folosind o list de pot. Cu ct este mai mare dect n
problema anterioar?

37. Cnd sunt transmise pagini Web, ele sunt prefixate de antete MIME. De ce?

38. Cnd sunt necesare programe de vizualizare externe? Cum tie un program de navigare pe care
s-1 foloseasc?

39. Imaginai-v c cineva de la Departamentul CS din Stanford a scris un nou program pe care
vrea s-1 distribuie prin FTP. El pune programul n catalogul ftp/pub/fi-eebiesfnewprog.c. Care
este URL-ul probabil pentru acest program?

40. n Fig. 7-60, n marcajul <IMG> apare parametrul ALT. n ce condiii este folosit de
programul de navigare i cum?

41. Cum realizai o imagine selectabil n HTML? Dai un exemplu.

42. Artai ce marcaj <A> este necesar pentru a face ca irul ACM" s fie o hiper-legtur la
http://www.acm.org.

43. Proiectai un formular pentru o nou companie, InterBurger, care permite comanda
hamburgerilor prin Internet. Formularul trebuie s conin numele clientului, adresa, oraul, ca
i o opiune asupra dimensiunii (ori gigant, ori imens) i o opiune pentru brnz. Burger-ii
urmeaz a fi pltii la livrare cu bani ghea, aa c nu este necesar nici o informaie despre
cartea de credit.

44. Java nu are structuri ca n C sau nregistrri ca n Pascal. Exist o alt cale pentru a obine
acelai efect de unire a mai multor variabile diferite, ntr-un singur tip de date? Dac da, care
este acesta?
SEC. 7.9 PROBLEME 707

45. S presupunem c n efortul de a deveni orientat pe pia, KGB devine comercial i angajeaz o
agenie publicitar ca s-i proiecteze o pagin de Web. Compania dumneavoastr a fost
angajat drept consultant extern pentru a o implementa. Scriei textul HTML ce este necesar
pentru a produce pagina de Web de mai jos.

WELCOME TO THE KGB"S WWW HOME PAGE

As a consequence of its recent privatization, the KGB is pleased to announce trie commercial
availability of many fine products and services previously available only to major gpvemments.
Competitive prices! Discreet service ensured!
Products
a Nuclear weapons (small, medium, large, jumbo)
Spy satellites (keep tabs on your neiahbors)
Low-radar-profile supersonic aircraft (buzz your friends' houses unseen)
Services
Mole placement n the organization of vour choice
Q Coups (corporate as well as aovernmental)
Assistance n settinq up your very own qerm-warfare laboratorv
Bargain basement specials
a The collected works of Felix Dzerhinskv (limited edition)
Aerial photoqraphs of Afahanistan (ca. 1984)
Quality Bulgarian-made tanks (95 percent discoun)
Webmaster@kgb.ru

46. Folosind structurile de date din Fig. 7-75, listai paii exaci care trebuie urmai pentru
verificarea unui nou URL pentru a vedea dac el este deja ntr-o urljable.

47. n C i C++, dimensiunea unui ntreg nu este specificat n limbaj. n Java ea este. Dai un
argument n favoarea C-ului i unul n favoarea Java-ei.

48. S presupunem c Web conine 10 milioane de pagini, fiecare n medie cu 10 hiper-legturi.


Aducerea unei pagini ia 100 msec. Care este timpul minim pentru a indexa ntregul Web?

49. Un compact disc memoreaz 650 MB de date. Este folosit compresia pentru CD-uri audio?
Explicai raionamentul.

50. Care este rata pe bii pentru transmiterea necomprimat a culorii VGA cu 8 bii/pixei ia 40
cadre/sec?

51. n Fig. 7-76(c) zgomotul de cuantificare apare datorit folosirii de eantioane pe 3 bii. Primul
eantion, la 0, este exact, dar cteva dintre urmtoarele nu. Care este procentul de eroare la
1/32,2/32 i 3/32 din perioad?

52. Poate o eroare de l-bit ntr-un cadru MPEG s afecteze mai mult dect cadrul n care a aprut
eroarea? Explicai rspunsul vostru.
708 NIVELUL APLICAIE CAP. 7

53. S considerm exemplul video-serverului cu 100.000 de clieni. S presupunem c jumtate din


filme se transmit ntre 8 i 10 seara. Cte filme trebuie s transmit serverul simultan n acest
interval de timp? Dac fiecare film necesit 4 Mbps, cte conexiuni OC-12 necesit serverul
pentru reea?

54. S presupunem c legea lui Zipf este ndeplinit pentru accese la un server video cu 10.000 de
filme. Dac serverul memoreaz cele mai populare 1000 de filme pe disc magnetic, iar restul de
9000 pe disc optic, dai o expresie pentru fracia tuturor referinelor care se vor face la discul
magnetic. Scriei un mic program pentru evaluarea acestei expresii numerice.

55. Pachetele MPEG PES conin un cmp care precizeaz statutul drepturilor de autor pentru
transmisia curent. Pentru ce poate fi folosit conceptual acest cmp?
BIBLIOGRAFIE l RECOMANDRI
DE LECTUR

Aici se ncheie studiul nostru despre reelele de calculatoare, dar aceast lucrare este doar
un nceput. Multe subiecte interesante nu au fost tratate la nivelul de detaliu pe care l-ar fi
meritat, iar altele au fost omise n totalitate, din lips de spaiu. Pentru cititorii care doresc s
continue studiul reelelor de calculatoare furnizm n acest capitol cteva sugestii de lecturi
posibile, precum i o list bibliografic.

8.1 SUGESTII PENTRU LECTURI VIITOARE

Exist o literatur vast despre toate aspectele reelelor de calculatoare i ale sistemelor
distribuite. Patru reviste, care public frecvent articole n acest domeniu sunt IEEE Transactions on
Communications, IEEE lournal on Selected Areas n Communications, Computer Communication
Review i Computer Networks and ISDN Systems. De asemenea, multe alte reviste public ocazional
articole cu acest subiect.
IEEE public i el dou reviste ilustrate, IEEE Network Magazine i IEEE Communications
Magazine, care conin studii, ndrumri practice, studii de caz despre reele. Prima revist se refer
cu precdere la arhitectur, standarde i software, iar cea de a doua se orienteaz ctre tehnologia
comunicaiilor (fibr optic, satelii i aa mai departe).
n plus, exist mai multe conferine anuale sau bianuale care atrag adesea multe lucrri despre
reele i sisteme distribuite, n particular SIGCOMM Vx, The International Conference on Distributed
Computer Systems, The Symposium on Operating Systems Principles i The N-th Data Communications

709
710 BIBLIOGRAFIE i RECOMANDRI DE LECTUR CAP. 8

Symposium. De asemenea IEEE a publicat mai multe colecii de articole despre reele, selectate i
retiprite n form adecvat.
Enumerm n continuare, n ordinea capitolelor crii, cteva sugestii de lecturi suplimentare.

8.1.1 Lucrri introductive i generale

Jabbari .a., Network Issues for Wireess Communication"


Aceast introducere n sistemele radio celulare acoper controlul apelurilor, dirijarea,
semnalizarea i alte aspecte ale sistemelor moderne de comunicaii mobile.

Corner, The Internet Book


Cine caut o introducere simpl n Internet ar trebui s citeasc aceast lucrare. Corner descrie
istoria, dezvoltarea, tehnologia, protocoalele i serviciile Intemet-ului n termeni pe care novicii i
pot nelege, dar datorit cantitii de material acoperite, cartea sa prezint interes i pentru cititorii
mai avansai.

Kwok, A Vision for Residential Broadband Services"


Dac dorii s tii cum crede Microsoft c trebuie organizat serviciul de video la cerere,
acest articol v este de mare folos. n ei, arhitectul ef ATM de la Microsoft explic viziunea
companiei sale. Pe scurt, ideea Microsoft-ului este urmtoarea: ATM-ul este calea cea mai
bun pentru serviciile la domiciliu. Uit toate soluiile realiste" (adic ad-faoc), precum
ADSL i f ceea ce trebuie.

Le Boudec, The Asynchronous Transfer Mode: A tutorial"


ATM este o tehnologie n plin evoluie, pentru care acest articol furnizeaz o introducere
ngrijit. Sunt acoperite nivelul fizic, nivelul ATM i nivelul AAL. n plus, seciunea final
comenteaz controverselerelative la ATM.

Pahlavan .a., Trends n Local Wireess Networks"


Reelele locale fr fir vor cpta, fr ndoial, o importan crescnd n viitor. n acest
articol, autorii discut stadiul actual i tendinele n utilizarea spectrului i tehnologiile
reelelor locale fr fir.

Siu i Jain, A Brief Overview of ATM"


n acest articol introductiv, sunt acoperite multe caracteristici ale sistemelor ATM, dar accentul
este pus pe emularea LAN-urilor i pe gestiunea traficului. Articolul joac rolul de introducere a
unui numr special din Computer Communication Review dedicat tehnologiei ATM.

Stallings, Data and Computer Communications, ediia a 4-a


n loc s acopere doar modelele de referin OS i TCP/IP, pentru a pstra imparialitatea,
Stallings se arunc ntr-un al treilea, SNA. Fiecare model este descris n capitolul 10.
SEC. 8.1 SUGESTII PENTRU LECTURI VIITOARE 711

8.1.2 Nivelul fizic

Awdeh i Mouftah, Survey of ATM Switch Architectures"


Oricine este interesat s afle mai mult despre proiectarea comutatorului ATM ar trebui s se uite
n aceast lucrare. Dup o introducere general a comutatoarelor i a strategiilor de memorare
intermediar, autorii discut multe tipuri de comutatoare matriciale, cu ci disjuncte i banyan.
Articolul furnizeaz, de asemenea, peste 200 de referine la alte articole.

Bellamy, Digital Telephony


Aceast lucrare demn de ncredere conine tot ce ai dorit vreodat s tii despre sistemul
telefonic i chiar mai mult. n particular, sunt interesante capitolele despre transmisie i
multiplexare, comutare digital, fibr optic i ISDN.

De Prycker, Asynchronous transfer Mode, ediia a 2-a


Capitolul 4 include o abunden de informaii despre comutatoare ATM. Principiile sunt
ilustrate prin numeroase exemple de comutatoare, inclusiv comutatoarele scoase din lupt"
Roxanne, Coprin i Athena.

Held, The Complete Modem Reference, ediia a 2-a


Gsii aici tot ceea ce ai putea imagina c vrei s tii despre modemuri, de la regulile privind
acordurile guvernamentale americane i canadiene, trecnd prin tehnicile i standardele relative la
modulare i terminnd cu modul de depanare a unui modem stricat.

IEEE Communications Mag., ianuarie 1995, Wireless Personal Communications"


Acest numr special conine apte articole despre diferite aspecte ale comunicrii personale fr
fir. mpreun, ele acoper propagarea, metodele de acces, principiile receptorului, aspecte de sistem
i probleme de reea.

Metcalfe, Computer/Network Interface Design Lessons from Arpanet & Ethernet"


Dei inginerii au construit interfee de reea ncepnd n urm cu zeci de ani, unii se ntreab nc
dac au nvat ceva din aceast experien. n acest articol, proiectantul Ethernet-ului spune cum se
construiete o interfa de reea si ce se face cu ea odat ce a fost construit. El recunoate sincer ce
a fcut greit i ce a fcut corect.

Padgett .a., Overview of Wireless Personal Communications"


Lucrarea prezint o introducere n sisteme de comunicaii celulare i fr fir i o comparaie ntre
ele. Sunt acoperite att standardele americane ct i cele europene.

Palais, Fiber Optic Communication, ediia a 3-a


Dei crile despre tehnologia fibrei optice devin din ce n ce mai specializate, aceast lucrare
este mai accesibil dact multe altele. Ea acoper ghidurile de und, sursele de lumin, detectoarele
de lumin, cuploarele, modularea, zgomotul i multe alte subiecte.

Pandya, Emerging Mobile and Personal Communications Systems"


712 BIBLIOGRAFIE I RECOMANDRI DE LECTUR CAP. 8

Acest articol este foarte potrivit ca o introducere scurt i plcut n sistemele de comunicaie
portabile personale. Una din cele nou pagini conine o list de 70 de acronime folosite n celelalte
opt pagini.

Partridge, Gigabit Networking


In plus fa de descrierea mai multor feluri de comutatoare ATM, capitolul 5 compar
memorarea temporar la intrare i la ieire i deduce formule pentru performanele fiecreia.

Spragins .a., Telecommunications Protocol and Design


Capitolul 2 conine o bun introducere n tehnologia transmisiei, incluznd cabluri de cupru,
fibr optic, radio celular i satelii. De asemenea, el conine descrieri extinse despre limitele Nyquist
i Shannon i despre implicaiile lor.

8.1.3 Nivelul legtur de date

Black, Data Link Protocols


Iat o carte ntreag despre nivelul legturii de date. Ea are accent practic, cu o cantitate mare de
material despre HDLC, LLC, PPP i alte protocoale comerciale importante.

Holzmann, Design and Validation of Computer Protocols


Cititorii interesai n aspectele mai formale ale protocoalelor legturii de date (i similare) ar
trebui s vad aceast carte. Sunt prezentate aici specificarea, modelarea, corectitudinea i testarea
acestor protocoale.

Spragins .a., Telecommunications Protocols and Design


Cei interesai s afle mai multe despre codurile detectoare i corectoare de erori ar trebui s
caute n capitolul 6 al crii lui Spragins. Ea acoper, de asemenea, principiile protocoalelor
elementare pentru legtura de date la un nivel apropiat de cel al crii de fa. Capitolul 7 duce
discuia mai departe i analizeaz n detaliu diferite protocoale pentru legtura de date.

Walrand, Communication Networks: A First Course


Capitolul 4 acoper protocoalele legturii de date, cu accent pe analiza performanei. Totodat,
sunt tratate abordrile corectitudinii protocoalelor prin automate finite i reele Petri.

8.1.4 Subnivelul de control al accesului Ia mediu

Abeysundara i Kamal, High-Speed Local Area Networks and Their Performance"


Deoarece reelele locale rapide sunt interesante datorit vitezei lor mari, un articol care discut
i analizeaz performana este binevenit. In acesta, accentul este pus pe diferite LAN-uri de tip
magistral, inel, arbore i stea, precum i pe caracteristicile relative la ntrziere i utilizare.

Jain, FDDI Handbook - High-Speed Networking Using Fiber and other Media
Pentru o tratare atent a FDDI-ului (incluznd ndrumri practice agreabile despre fibra optic
i SONET) aceast carte este o alegere bun. In plus fa de lungile seciuni despre echipamentele i
programele FDDI, ea are o seciune despre performane i chiar sfaturi despre cumprarea
cablurilor de fibr optic.
SEC. 8.1 SUGESTII PENTRU LECTURI VIITOARE 713

Perlman, Interconnections: Bridges and Routers


Pentru o tratare competent dar antrenant a punilor (i ruterelor), trebuie vzut cartea
lui Perlman. Autorul, care a proiectat algoritmii folosii n puntea de tip arbore de acoperire
IEEE 802 ca i algoritmul de dirijare DECnet, este n mod clar un expert n domeniu.

Stallings, Local and Metropolitan Area Networks, ediia a 4-a


Esena acestei cri este reprezentat de cele trei LAN-uri IEEE 802, dar sunt prezentate si alte
LAN-uri si MAN-uri.

Walrand, Communication Networks: A First Course


Ca i cartea lui Stallings menionat anterior, capitolul 5 al acestei cri acoper materialul
de baz 802 plus FDDI i DQDB. Accentul este pus pe analiza performanelor protocoalelor.

8.1.5 Nivelul reea

Corner, Inernetworking with TCP/IP, Voi. 1, ediia a 3-a


Corner a scris cartea decisiv despre suita de protocoale TCP/IP. Capitolele de la 4 la 11 trateaz
IP i protocoalele legate de el din nivelul reea. Celelalte capitole se refer n primul rnd la nivelele
superioare i merit, de asemenea, s fie citite.

Huitema, Routing n the Internet


Dac vrei s tii tot ce este de tiut despre dirijarea n Internet, aceasta este cartea care v
trebuie. Sunt tratai n mare detaliu att algoritmi care pot fi pronunai (ca RIP, CIDR i MBONE)
ct i algoritmi care nu pot fi pronunai (ca OSPF, IGRP, EGP i BGP). Se gsesc aici caracteristici
noi, cum ar fi trimiterea cu destinaie multipl (multicast), mobil, IP i rezervarea resurselor

Perlman, Interconnections: Bridges and Routers


n capitolul 9, Perlman descrie multe probleme de proiectare a algoritmilor de dirijare cu o
singur destinaie i cu trimitere multipl, pentru reele WAN i LAN, precum i implementarea lor
pe diferite echipamante. n mod evident, autorul este preocupat de subiect, el intitulnd seciunea
9.13.10 Opinia mea despre difuzarea multi-destinaie n nivelul reea de tip IP."

Sterbenz .a., Report on the IEEE ComSoc Gigabit Networking Workshop"


nainte ca reelele gigabit s fie utilizabile, trebuie rezolvate cteva probleme de baz. O
problem cheie este dac aceste reele vor folosi ATM, TCP/IP sau ambele. Pentru a nelege mai
bine aceste probleme, IEEE a organizat n aprilie 1995 un seminar, al crui rezumat este prezentat
n aceast lucrare. Critica adus de Schulzrinne ATM-ului merit s fie citit de oricine crede c
ATM-ul este soluia problemelor de comunicaii mondiale.

Stevens, TCP/IP Illustrated, Voi. 1


Capitolele 3-10 furnizeaz o tratare cuprinztoare, ilustrat prin exemple, a IP-ului i a
protocoalelor legate de el (ARP, RARP i ICMP).

Yang i Reddy, A Taxonomy for Congestion Control Algorithms n Packet Switching Networks"
Autorii au proiectat o taxonomie pentru algoritmii de control al congestiei. Principalele categorii
sunt bucl deschis cu controlul sursei, bucl deschis cu controlul destinaiei, bucl nchis cu
714 BIBLIOGRAFIE I RECOMANDRI DE LECTUR CAP. 8

reacie explicit i bucl nchis cu reacie implicit. Ei folosesc aceast taxonomie pentru a descrie i
clasifica 23 de algoritmi existeni.

8.1.6 Nivelul transport

Corner, Internetworking with TCP/1P, Voi. 1, ediia a 3-a


Aa cum s-a mai menionat, Corner a scris lucrarea decisiv despre suita de protocoale TCP/IP.
Capitolul 12 se refer la UDP, iar capitolul 13 la TCP.

Mogul, IP Network Performance"


n ciuda titlului acestui articol, el trateaz cel puin, dac nu ceva mai mult, performanele TCP-
ului i ale reelelor n general, apoi performanele IP-ului n particular. Este plin de ndrumri utile i
reguli de aur.

Stallings, Data and Computer Communications, ediia a 4-a


Capitolul 12 se refer la protocoalele de transport i descrie la un nivel abstract, serviciile i
mecanismele de transport, iar n detaliu protocoalele de transport OSI i TCP.

Stevens, TCP/IP Illustrated, Voi. 1


Capitolele 17-24 furnizeaz o tratare cuprinztoare a TCP-ului, ilustrat prin exemple.

8.1.7 Nivelul aplicaiei

Anderson, R., Why Cryptosystems Fail"


Dup Anderson, securitatea sistemelor bancare este firav, dar nu datorit intruilor
inteligeni care sparg DES-ul pe PC-urile lor. Problemele reale sunt foarte variate, de la
angajai necinstii (un angajat de banc schimbnd adresa de pot a unui client cu a sa, pentru
a intercepta numrul crii de credit i numrul PIN) la erori de programare (acordarea
aceluiai cod PIN tuturor clienilor). Este deosebit de interesant rspunsul dat de banc atunci
cnd se confrunt cu o eroare: sistemul nostru este perfect i, ca urmare, toate greelile trebuie
s se datoreze erorilor clienilor sau fraudelor.

Berghel, The Client Side of the Web"


O introducere comod n programele de navigare Web i n caracteristicile lor. Principalele
subiecte sunt conformitatea ntre HTML i HTTP, performanele, reconfigurabilitatea, integrarea
cu calculatoarele personale i programele de navigare. Sunt comparate, conform acestor aspecte,
nou programe de navigare mai rspndite.

Berners-Lee .a., The World Wide Web"


O perspectiv asupra Web-ului i a direciei sale de evoluie prezentat de persoanele care l-au
inventat. Articolul se concentreaz asupra arhitecturii Web, HTTP i HTML, ca i asupra direciilor
de dezvoltare viitoare.

Carl-Michell i Quarterman, Practicai Internetworking with TCP/IP and UNIX


Capitolul 5 prezint o introducere drgu n atribuirea numelor i n DNS, inclusiv autoriti de
numire, arhitectura operaional i baza de date DNS.
SEC. 8.1 SUGESTII PENTRU LECTURI VIITOARE 715

Choudbury .a., Copyright Protection for Electronic Publishing on Computer Networks"


Dei numeroase cri i articole descriu algoritmi criptografici, puine descriu modul n care
acetia pot fi folosii pentru a mpiedica utilizatorii s redistribuie documentele pe care au dreptul s
le decripteze. Acest articol descrie o varietate de mecanisme care poate ajuta protecia drepturilor
de autor n era elecrtronic.

Furht .a., Desigh Issues for Interactive Televisioin Systems"


Video la cerere ridic multe probleme tehnice complexe legate de arhitectura sistemului,
topologia reelei, proiectarea serverului i proiectarea cutiilor de cuplare. n acest articol, autorii
prezint cteva probleme cheie i cteva soluii n curs de investigare.

Handley i Crowcroft, The World Wide Web - Beneath the Surf


n timp ce 99% din crile despre WWW spun doar cum s utilizai un program de navigare sau
listeaz URL-uri interesante, aceasta explic modul intern de lucru al Web-ului. Partea de client,
partea de server i HTML sunt explicate pe ndelete.

Kaufman .a., Network Security


Aceast carte demn de ncredere i adesea spiritual este primul loc unde trebuie s cutai
informaii despre securitatea reelelor. Se explic pe larg algoritmi i protocoale cu chei secrete i
publice, criptarea mesajelor, autentificarea, Kerberos i pota. Cele mai bune pri sunt discuiile
inter-autori (i chiar intra-autori), etichetate prin indici inferiori, ca n: I 2 nu m poate determina pe
mine! s fiu foarte precis..."

Kumar, Mbone: Interactive Multimedia on the Internet


Coperta acestei cri spune: Descoperii cum putei difuza, anuna i afia produsele
dumneavoastr prin Internet". Din fericire, acest subiect nu este menionat nicieri n alt parte a
crii. Se acoper arhitectura i implementarea Mbone, incluznd o mulime de materiale despre
cum lucreaz i cum pot fi utilizate.

Nemeth .a., UNIX Systems Administration Handbook


Capitolul 16 este o lung introducere n DNS. Autorii intr n toate detaliile nclcite ilustrnd
diferite fiiere i nregistrri de resurse cu numeroase exemple. De asemenea, sunt acoperite n
detaliu programe i alte instrumente folosite pentru a gestiona un server DNS.

Rose, The Internet Message


Dac dorii o prezentare picant i iconoclast pentru e-mail, aceast carte este o bun opiune.
Autorul nu ezit s arate, din cnd n cnd, ce nu merge n aceast lume. i cnd descoperi astfel de
lucruri, ncepe chiar s-i plac.

$chnd&v,Applied Criptogmphy, ediia a 2-a


Acest compendiu monumental este cel mai mare comar al NSA: o singur carte care descrie
fiecare algoritm criptografic cunoscut. Pentru a face situaia i mai rea (sau mai bun, depinde de
punctul dumneavoastr de vedere) cartea conine cei mai muli algoritmi ca programe ce pot fi
executate (n C). Mai mult, sunt furnizate peste 1600 de referine la literatura criptografic. Dac
vrei cu adevrat s pstrai secrete fiierele dumneavoastr, atunci citii aceast carte.

Steinmetz i Nahrstedt, Multimedia: Computing, Communications and Applications


716 BIBLIOGRAFIE I RECOMANDRI DE LECTURA CAP. 8

Dei oarecum haotic, cartea acoper o mare parte din multimedia. Subiectele tratate pe larg
includ audio, fotografii i filme, compresia, memorarea optic, sisteme de operare multimedia,
reele, hipertext, sincronizarea fluxurilor i aplicaii multimedia.

Van der Linden, Just Java


Atunci cnd capitolul 1 al unei cri este intitulat Vino n camera mea, a spus pianjenul
mutei", mai mult ca sigur c ea este o poveste feeric pentru copii sau despre World Wide Web.
Aceasta este despre Web, mai precis despre limbajul Java i mediul su. Pentru cei care doresc s se
joace cu Java, cartea se livreaz cu tot sistemul Java pe CD-ROM.

8.2 BIBLIOGRAFIE N ORDINE ALFABETIC

ABEYSUNDARA, B.W. i KAMAL, A.E.: "High-Speed Local Area Networks and Their Performance"
Computing Surveys, voi. 23, pag. 221-264, iunie 1991.

ABRAMSON, N.: "Development of the ALOHANET," IEEE Trans. On Inforaiation Theory, voi. IT-31, pag.
119-123, martie 1985.

ADAM, JA.: "Privacy and Computers," IEEE Spectrum, voi. 32, pag.46-52, dec. 1995.

ADAMS, N., GOLD, R, SCHDLT, B.N., TSO, M.M i WANT, R: "An Infrared Network for Mobile
Computers," Proc. USENIX Mobile and Location-Independent Computing Symposium, USENIX,
pag. 41-51,1993.

ANDERSON, R.J.: "Why Qyptosystems Fail," Commun. of the ACM, voi. 37, pag. 32 -40. nov. 1994.

ARMBRUSTER, H.t "The Flexibility of ATM: Supporting Future Multimedia and Mobile Communications,"
IEEE Commun. Magazine, voi. 33, pag. 76-84, febr. 1995.

ARMITAGE, G.J. i ADAMS, KM.: "How Efficient is IP over ATM Anyway?" IEEE Network Magazine, voi. 9,
pag. 18-26, ian'./febr. 1995.

ARNOLD, K. i GOSLING, J.: The Java Programming Language, Reading, MA: Addison-Wesley, 1996.

AT&T i BELLCORE: "Observations of Error Characteristics of Fiber Optic Transmission Systems," CQTT SG
XVIII, San Diego, ian. 1989.

AWDEH, RY. i MOUFTAH, H.T.: "Survey of ATM Switch Architectures," Computer Networks and ISDN
Systems, voi. 27, pag. 1567-1613, nov. 1995.

BAKNE, A. i BADRINATH, B.R.: "I-TCP: Indirect TCP for Mobile Hosts," Proc. Fifteenth Intl. Conf. on
Distr. Computer Systems, IEEE, pag. 136-143,1995.

BALAKRISHNAN, H., SESHAN, S i KATZ, R.H.: "Improving Reliable Transport and Handoff Performance n
Cellular Wireless Networks," Proc. ACM Mobile Computing and Networking Conf., ACM,
pag. 2-11,1995.
SEC. 8.2 BIBLIOGRAFIE IN ORDINE ALFABETICA 717

BALLARDIE, T., FRANCIS, P. i CROWCROFR, J.: "Core Based Trees (CBT)," Proc. SIGCOMM '93 Conf.,
ACM, pag. 85-95,1993.

BANTZ, D.F. i BAUCHOT, F.J.: "Wireless LAN Design Alteraatives," IEEE Network Magazine, voi. 8, pag.
43-53, martie/aprilie, 1994.

BARANSEL, G, DOBOSIEWICZ, W. i GBURZYNSKI, R: "Routing n Multihop Packet Switching Networks:


Gb/s Challenge," IEEE Network Magazine, voi. 9, pag. 38-61, mai/iunie, 1995.

BARLOW, J.P.: "Property and Speech: Who Owns What You Say n Cyberspace," Commun. of the ACM, voi.
38, pag. 19-22, dec. 1995.

BATCHER, KE.: "Sorting Networks and Their Applications," Proc. AFIPS Spring Joint Computer Conf., voi.
32, pag. 307-315,1968.

BATES, RJ.: Wireless Networked Communications, New York: McGraw-Hill, 1994

BELLAMY, J.: Digital Telephony, New York: John Wiley, 1991.

BELLMAN, R.E.: Dynamic Progiwnming, Princeton, NJ: Princeton University Press, 1957.

BELSNES, D.: "Flow Control n the Packet Switching Networks," Communications Networks, Uxbridge,
England: Online, pag. 349-361,1975.

BERGHEL, H.L.: "The Client Side of the Web," Commun. of the ACM, voi. 39, pag. 33-40, ian. 1996.

BERNERS-LEE, T, CAELLAU, A., LOUTONEN, A., NIELSEN, H.F. i SECRET, A.: "The World Wide Web,"
Commun. of the ACM, voi. 37, pag. 76-82, aug. 1994.

BERTSEKAS, D. i GALLAGER, R.: Data Networks, ediia a doua, Englewood Cliffs, NJ: Prentice Hali/1992.

BHARGHAVAN, V., DEMERS, A., SHENKER, S. i ZHANG, L: "MACAW: A Media Access Protocol for
Wireless LANs," Proc. SIGCOMM '94 Conf. ACM, pag. 212-225,1994,

BIHAM, E. i SHAMIR, A.: Differential Cryptanalysis of the Data Enayption Standard, New York: Springer-
Verlag, 1993.

BINDER, R.: "A Dynamic Packet Switching System for Satellite Broadcast Channels," Proc. Intl. Conf. on
Commun., pag. 41 -l pn la 41-5a, 1975.

BLACK, XJ.D.:Data LinkProtocob, Englewood Cliffs, NJ: Prentice Hali, 1993.

BLACK, U.D.: Emerging Communications Technologies, Englewood Cliffs, NJ: Prentice Hali, 1994.

BLACK, U.D.: TCP/IP and Related Protocob, New York: McGraw-Hill, 1995.

BLAZE, M.: "Protocol Failure n the Escrowed Encryption Standard," Proc. Second ACM Conf. on Computer
and Commun. Security, ACM, pag. 59-67,1994.
718 BIBLIOGRAFIE I RECOMANDRI DE LECTURA CAP. 8

BOGINENI, K. i SIVALINGAM, K.M.: "Low-Complexity Multiple Access Protocols for Wavelength-Division


Multiplexed Photonic Networks," IEEE Journal on Selected Areas n Commun. voi. 11, pag. 590-604,
mai 1993.

BONOMI, F. i FENDICK, K.W.: "The Rate-Based Flow Control Framework for the Available Bit-rate ATM
Service," IEEE Network Magazine, voi. 9, pag. 25-39, martie/aprilie 1995.

BOWMAN, CM., DANZIG, P.B., HARDY, D.R., MANBER, U. i SCHWARTZ, M.F.: "The Harvest
Information Discovery and Access System," Computer Networks and ISDN Systems, voi. 28, pag. 119-125,
dec. 1995.

BOWMAN, CM., DANZIG, P.B., MANBER, U. i SCHWARTZ, M.F.: "Scalable Internet Resource Discovery:
Research Problems and Approaches," Commun. of the ACM, voi. 37, pag. 98-107, aug. 1994.

BRAKMO, L.S., O'MALLEY, S.W. i PETERSON, L.L.: 'TCP Vegas: New Techn. for Congestion Detection
and Avoidance," Proc. SIGCOMM '94 Conf., ACM, pag. 24-35,1994.

BROADHEAD, MA i OWEN, CB.: "Direct Manipuiation of MPEG Compressed Digital Audio," Proc. of
ACM Multimedia '95, ACM, pag. 499-507,1995.

BROWN, L.. KWAN, M., PIEPRZYK, J. i SEBERRY, J.: "Improving Resistance to Differentiai Cryptanalysis
and the Redesign of LOKI," ASIACRYPT '91 Abstracts, pag. 25-30,1991.

BUFORD, J.F.K. (Ed.): Multimedia Systems, Reading, MA: Addison-Wesley, 1994.

BURROWS, M., ABADI, M i NEEDHAM, R.M.: "A Logic of Authentication," DEC System Research Center
Report, febr. 1990.

CAMPBELL, A., COULSON, G. i HUTCHISON, D.: "A Quality of Service Architecture," Computer Comm.
Rev., voi. 24, pag. 6-27, aprilie 1994.

CAMPIONE, M. i WALRATH, K.: The Java Language Tutoiial: Object-Oiiented Pivgramming for the Internet,
Reading, MA: Addison-Wesley, 1996.

CAPETANAKIS, J..: "Tree Algorithms for Packet Broadcast Channels," IEEE Trans. on Information Theory,
voi. IT-25, pag. 505-515, sept. 1979.

CARL-MITCHELL, S. i QUARTERMAN, J.S.: Pmctical Intemetworking with TCP/IP and UNIX, Reading,
MA: Addison-Wesley, 1993.

CATLETT, CE.: "n Search of Gigabit Applications," IEEE Commun. Magazine, voi. 30, pag. 42-51,
aprilie 1992.

CERF, V. i KAHN, R.: "A Protocol for Packet Network Interconnection," IEEE Trans. on Commun., voi.
COM-22, pag. 637-648, mai 1974.

CHANDRANMENON, G.P. i VARGHESE, G.: "Trading Packet Headers for Packet Processing, " Proc.
SIGCOMM '95 Conf, ACM, pag. 162-173,1995.
SEC. 8.2 BIBLIOGRAFIE IN ORDINE ALFABETICA 719

CHANG, Y.-EL, COGGINS, D., POT, D., SKELLERN, D., THAPAR, M., i VENKATRAMAN, C: "An Open-
System Approach to Video on Demand," IEEE Commun. Magazine, voi. 32, pag. 68-80, mai 1994.

CHAO, JJ., GHOSAL, D., SAHA, D. i TTUPATHI, S.K.: "IP on ATM Local Area Networks," IEEE Commun.
Magazine, voi. 32, pag. 52-59, aug. 1994.

CHAPMAN, D.E. i ZWICKY, E.D.: Building Internet Firewalls, Sebastopol, CA: O'Reilly, 1995.

CHEN, K.-G: "Medium Access Control of Wireless LANs for Mobile Computing," IEEE Network Magazine,
voi. 8, pag. 50-63, sept./oct. 1994.

CHEN, M. i YUM, T.-S.: "A Conflict-Free Protocol for Optical WDMA Networks," Proc. Globecom '91,
pag. 1276-1281,1991.

CHEN, W.Y. i WARING, D.L.: "Applicability of ADSL to Support Video Dial Tone n the Copper Loop,"
IEEE Commun. Magazine, voi. 32, pag. 102-106, mai 1994.

CHERITON, D. i WILLAMSON, C: "VMTP as the Transport Layer for High-Performance Distributed


Systems," IEEE Commun. Magazine, voi. 27, pag. 37-44, iunie 1989.

CHERVENAK, A.L., PATTERSON, D.A. i KATZ, R.H.: "Choosing the Best Storage System for Video Service,"
Procof ACM Multimedia '95, ACM, pag. 109-119,1995.

CHERVENAK, A.L.: Tertiary Storage: An Evaluation of New Applications, tez de doctorat, CSD, Univ. of
California at Berkeley, 1994.

CHESSON, G.L.: "XTP/PE Design Considerations," IFIP Workshop on Protocols for High-Speed Networks,
IFIP, pag. 27-33,1989.

CHESWICK, W.R. i BELLOVIN, S.M.: Firewalls and Inteiwalb-RepeUing the Wilfy Hacker, Reading, MA:
Addison-Wesley, 1994.

CHOUDBURY, A.K., MAXEMCHUK, N.F., PAUL, S. i SCHULZRINNE, H.G.: "Copyright Protection for
Electronic Publishing on Computer Networks," IEEE Network Magazine, voi. 9, pag. 12-20, mai/iunie,
1995.

CLARK, D.D., DAVIE, B.S., FARBER, D.J., GOPAL, I.S., KADABA, B.K., SINCOSKIE, W.D., SM1TH, J.M. i
TENNENHOUSE, D.L.: "The Aurora Gigabit Testbed," Computer Networks and ISDN Systems, voi. 15,
pag. 599-621, ian. 1993.

CLARK, D.D., JACOBSON, V., ROMKEY, J. i SALWEN, H.: "An Analysis of TCP Processing Overhead,"
IEEE Commun. Magazine, voi. 27, pag. 23-29, iunie 1989.

CLARK, D.D., LAMBERT, M. i ZHANG, L.: "NETBLT: A High Throughput Transport Protocol," Proc.
SIGCOMM '87 Conf, ACM, pag. 353-359,1987.

CLARK, D.D.: "NETBLT: A Bulk Data Transfer Protocol," RFC 998,1987.

CLARK, D.D.: "The Design Philosophy of the DARPA Internet Protocols," Proc. SIGCOMM '88 Conf, ACM,
pag. 106-114,1988.
720 BIBLIOGRAFIE I RECOMANDRI DE LECTUR CAP. 8

CLARK, D.D.: "Window and Acknowledgement Strategy n TCP," RFC 813, iulie 1982.

CLOS, C: "A Study of Non-Blocking Switching Networks," Bell System Tech. J, voi. 32, pag. 406-424,
martie 1953.

COMER, D.E.: Intemetworking with TCP/IP, voi. 1, ediia a treia, Englewood Cliffs, NJ: Prentice Hali, 1995.

COMER, D.E.: The Internet Book, Englewood Cliffs, NJ: Prentice Hali, 1995.

COOK, A. i STERN, J.: "Optical Fiber Access-Perspectives Toward the 21st Century," IEEE Commun.
Magazine, voi. 32, pag. 78-86, febr. 1994.

COOPER, E.: BroadbandNetwork Technology, Englewood Cliffs, NJ: Prentice Hali, 1986.

COULOURIS, G.F., DOLLMORE, J i KINDBERG, T.: Distributed Systems Concepts and Design, ediia a
doua, Reading, MA: Addison-Wesley, 1994.

CRESPO, P.M., HONIG, M.L. i SALEHL J.A.: "Spread-Time Code-Division Multiple Access," IEEE Trans.
on Commun., voi. 43, pag. 2139-2148, iunie 1995.

CRONIN, W.J., HUTCHINSON, J.D, RAMAKRISHNAN, K.K. i YANG, H.: "A Comparison of High Speed
LANs," Proc. Nineteenth Conf. on Local Computer Networks, IEEE, pag. 40-49,1994.

CROWCROFT, J., WANG, Z., SMITH, A. i ADAMS, J.: "A Rough Comparison of the IETF and ATM Service
Models," IEEE Network- Magazine voi. 9, pag. 12-16, nov./dec. 1995.

CROWTHER, W., RETTBERG, R., WALDEN, D., ORNSTEIN, S. i HEART, F.: "A System for Broadcast
Communication: Reservation-Aloha," Proc. Sixth Hawaii Int. Conf. System Sci., pag. 371-374,1973.

CUSICK, T.W. i WOOD, M.C.: "The REDOC-II Cryptosystem," Advances n Cryptology-CRYPTO '90
Proceedings, NY: Springer-Verlag, pag. 545-563,1991.

DAGDEVIREN, N, NEWELL, J.A., SPINDEL, LA. i STEFANICK, M.J.: "Global Networking with ISDN,"
IEEE Commun. Magazine, voi. 32, pag. 26-32, iunie 1994.

DANSKIN, J.M., DAVIS, G.M. i SONG, X.: "Fast Lossy Internet Image Transmission," Proc. of ACM
Multimedia '95, ACM, pag. 321-332,1995.

DANTHINE, A.A.S.: "Protocol Representation with Finite-State Models," IEEE Trans. on Commun.,
voi. COM-28, pag. 632-643, aprilie 1980.

DAVIS, P.T. i McGUFFIN, C.R.: Wireless LocalArea Networks New York: McGraw-Hill, 1995.

DAY, J.D. i ZMMERMANN, H.: "The OSI Reference Model," Proc. of the IEEE, voi. 71, pag. 1334-1340,
dec. 1983.

DAY, J.D.: "The (Un)Revised OSI Reference Model," Computer Commun. Rev., voi. 25, pag. 39-55, oct. 1995.

DE JONGE, W. i CHAUM, D.: "Some Variations on RSA Signatures and Their Security," n Advances n
Cryptology-CRYPTO '86 Proceedings, Odlyzko, A.M. (Ed.), New York: Springer Verlag, 1987.
SEC. 8.2 BIBLIOGRAFIE N ORDINE ALFABETIC 721

DE PRYCKER, M:.Asynchrous Transfer Mode, ediia a doua, New York: Ellis Horwood, 1993.

DEAN, D. i WALLACH, D.S.: "Security Flaws n the HotJava Web Browser," Technical Report 502, Dept. of
Computer Science, Princeton Univ., 1995.

DEERING, S.E. i CHERITON, D.R.: "Multicast Routing n Datagram Internetworks and Extended LANs,"
ACM Trans. On Computer Systems, voi. 8, pag. 85-110, mai 1990.

DEERING, S.E., ESTRIN, D., FARINACCI, D., JACOBSON, V., LIU C.-G. i WEI, L: "An Architecture for
Wide-Area Multicast Routing," Proc. SIGCOMM '94 Conf., ACM, pag. .126-135,1994.

DEERING, S.E.: "SIP: Simple Internet Protocol," IEEE Network Magazine, voi. 7, pag. 16-28, mai/iunie 1993.

DELODDERE, D., VERBIEST, W. i VERHILLE, H.: "Interactive Video on Demand," IEEE Commun.
Magazine, voi. 32, pag. 82-88, mai 1994.

DEMERS, A., KESHAV, S. i SHENKER, S.: "Analysis and Simulation of a Fair Queueing Algorithm,"
Internetwork: Research and Experience, voi. 1, pag. 3-26, sept. 1990.

DENNING, D.E. i SACCO, G.M.: "Timestamps n Key Distribution Protocols," Commun. of the ACM, voi. 24,
pag 533-536,'aug. 1981.

DIFFIE, W. i HELLMAN M.E.: "New Directions n Cryprografy," IEEE Trans. on Information Theory, vol.IT-
22, pag 644-654, nov. 1976.

DIFFIE, W. i HELLMAN, M.E.: "Exhaustive Qyptanalysis of the Data Encryption Standard," IEEE Computer
Magazine, val. 10, pag 7-84, iunie 1997.

DUKSTRA, E.W.: "A Note on Two Problems n Connexion with Graphs," Number. Math., voi. 1, pag. 269-271,
oct. 1959.

DIRVIN, R.A. i MILLER, A.R.: "The MC68824 Token Bus Controller: VLSI for the Factory LAN," IEEE
Micro Magazine, voi. 6, pag. 15-25, iunie 1986.

DIXIT, S. i SKELLY, P.: "MPEG-2 over ATM for Video Dia Tone Network," IEEE Network Magazine voi. 9,
pag. 30-40, sept./oct. 1995.

DIXON,R.C: "Lore of the Token Ring," IEEE Network Magazine voi. 1, pag. 11-18, ian./febr. 1987.

DOERINGER, WA, DYKEMAN, D., KAISERSWERTH, M., MEISTER, B.W., RUDIN, H. i WILLIAMSON,
R.: "A Survey of Light-Weight Transport Protocols for High-Speed Networks," IEEE Trans. On Commun,
voi. 38, pag. 2025-2039, nov. 1990.

DORFMAN, R.: "Detection of Defective Members of a Large Population," Annals Math. Statistic, voi. 14, pag.
436-440,1943.

ECKBERG, A.E., DOSHI, B.T. i ZOCCOLILLO, R.: "Controlling Congestion n B-ISDN/ATM: Issues and
Strategies," IEEE Commun. Magazine, voi. 29, pag. 64-70, sept. 1991.
722 BIBLIOGRAFIE I RECOMANDRI DE LECTURA CAP. 8

ECKBERG, A.E.: "B-ISDN/ATM Traffic and Congestion Control," IEEE Network Magazine, voi. 6, pag. 28-37,
sept./oct. 1992.

EDWARDS, A. i MUIR, S.: "Experience Implementing a High-Performance TCP n User-Space," Proc.


SIGCOMM''95 Conf., ACM, pag. 197-205,1995.

EL GAMAL, T.: "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms" IEEE
Trans. on Information Theory, voi. IT-31, pag. 469-472, iulie 1985.

ERIKSSON, H.: "MBone: The Multicast Backbone," Commun. of the ACM, voi. 37, pag. 54-60, aug. 1994.

ESTRIN, D., REKHNER, Y. i HOTZ, S.: "Scalable Inter-Domain Routing Architecture," Proc. SIGCOMM '92
Conf, ACM, pag. 40-52,'l992.

FEIG, E i WINOGRAD, S.: "Fast Algorithms for Discrete Cosine Transformations," IEEE Trans. on Signal
Processing, voi. 40, sept. 1992.

FEIT, F.: SNMP-A Guide to Network Management, New York: McGraw-Hill, 1995.

FIORINI, D., CHANI, M., TRALLI. V. i SALATX, C: "Problems with HDLC," Computer Commun. Rev.,
voi. 15, pag. 61-80, oct. 1995.

FISCHER, W., WALLMEIER, E., WORSTER, T., DAVIS, S.P., HAYTER, A.: "Data Communications Using
ATM: Architectures, Protocols, and Resource Management," IEEE Comniun. Magazine, voi. 32,
pag. 24-33, aug. 1994.

FLOYD, S. i JACOBSON, V.: "Random Early Detection for Congestion Avoidance," IEEE/ACM Trans. on
Networking, voi. 1, pag. 397-413, aug. 1993.

FLUCKIGER, F.: Understanding Networked Multimedia, Englewood Cliffs, NJ: Prentice Hali, 1995.

FORD, L.R., Jr. i FULKERSON, D.R.: Flows n Networks, Princeton, NJ: Piinceton University Press, 1962.

FORD, P.S., REKHTER, Y. i BRAUN, H.-W.: "Improving the Routing and Addressing of IP," IEEE Network
Magazine, voi. 7, pag. 10-15, mai/iunie 1993.

FORMAN, G.H. i ZAHORJAN, J.: "The Chaileges of Mobile Computing," IEEE Computer Magazine, voi. 27,
pag. 38-47, aprilie 1994.

FRANCIS, P.: "A Near-Term Architecture for Deployin Pip," IEEE Network Magazine, voi 7, pag. 30-37,
mai/iunie 1993.

FRASER, A.G.: "Early Experiments with Asynchronous Time Division Networks," IEEE Network Magazine voi.
7, pag. 12-27, ian./febr. 1993.

FRASER, A.G.: "Towards a Universal Data Transport System," n Advances n Local Area Networks,
Kummerle, K., Tobagi, F. i Limb, J.0. (Eds.), New York: IEEE Press, 1987.

FURHT, B., KALRA, D., KITSON, F.L., RODRIGUEZ i WALL, W.E.: "Design Issues for Interactive
Televisions Systems," IEEE Computer Magazine, voi 28, pag. 25-39, mai 1995.
SEC. 8.2 BIBLIOGRAFIE IN ORDINE ALFABETIC 723

GARCIA-HARO, J. i JAJSZCZYK, A.: "ATM Shared-Memory Switching Architectures," IEEE Network


Magazine, voi. 8., pag. 18-26, iulie/aug. 1994.

GARG, V. i WILKES, J.E.: Wireless and Personal Communication Systems, Englewood Cliffs, N I : Prentice Hali,
1996.

GASMAN, L.: Broadband Networking, New York: Van Nostrand Reinhold, 1994.

GIACOPELLI, J.N., HICKEY, J.J., MARCUS, W.S., SINCOSKIE, W.D. i LITTLEWOOD, M.: "Sunshine: A
High-Performance Self-Routing Broadband Packet Switch Architecture," IEEE Journal on Selected Areas
n Commun., voi. 9, pag. 1289-1298, oct. 1991.

GOODMAN, D.J.: "Trends n Cellular and Cordless Communications," IEEE Commun. Magazine, voi. 29,
pag. 31-40, iunie 1991.

GORALSKI, W.J.: Introduction toATMNetworking, New York: McGraw-HilI, 1995.

GOSLING, J., JOY, B. i STEELE, G.: TlieJava Language Spedfication, Reading, MA: Addison-Wesley, 1996.

GREEN, P.E., Jr.: Fiber Optic Networks, Englewood Cliffs, NJ: Prentice Hali, 1993.

HAC, ANNA: "Wireless and Cellular Architecture and Services," IEEE Commun. Magazine voi. 33, pag. 98-104,
nov. 1995.

HAFNER, K i MARKOFF, J.: Cybeipunk, New York: Simon ? i Schuster, 1991.

HAMMING, R.W.: "Error Detecting and Error Correcting Codes," Bell System Tech. J., voi. 29, pag. 147-160,
aprilie 1950.

HANDEL, R., HUBER, M.N. i SCHRODER, S.: ATM Concepts, Protocok and Applications, ediia a doua,
Reading, MA: Addison-Wesley, 1994.

HANDLEY, M. i CROWCROFT, J.: Tlie World Wide Web-Beneath the Surf, London: UCL Press, 1994.

HAWLEY, G.T.: "Historical Perspectives on the U.S. Telephone System," IEEE Commun. Magazine, voi. 29,
pag. 24-28, martie 1991.

HEIN, M. i GRIFFITHS, D.: SNMP, London: Thompson, 1995.

HELD, G.: The Complete Modem Reference, ediia a doua, New York: John Wiley, 1994.

HELLMAN, M.E.: "A Cryptanalytic Time-Memory Tradeoff," IEEE Trans. on Information Theory, Voi. IT-26,
pag. 401-406, iulie 1980.

HENDERSON, T.R.: "Design Principles and Performance Analysis of SSCOP: A New ATM Adaptation Layer
Protocol," Computer Commun. Review, voi. 15, pag. 47-59, aprilie 1995.

HOARE, CAR.: "Monitors, An Operating System Structuring Concept," Commun. of the ACM, voi. 17, pag.
549-557, oct. 1974; Erratum n Commun. of the ACM, Voi. 18, pag. 95, febr.1975.
724 BIBLIOGRAFIE I RECOMANDRI DE LECTURA CAP. 8

HODGE, W.W., Martin, S., POWERS, J.T., Jr.: "Video on Demand: Architectures, Systems, and Applications,"
Society of Motion Picture and Television Engineers Journal, voi. 102, pag. 791-803, sept. 1993.

HODGE, W.W.: Interactive Television, New York: McGraw-Hill, 1995.

HOFFMAN, LJ. (ed.): Building n Big Brother: Tlie Cryptogmphic Policy Debate, New York: Springer-Verlag,
1995.

HOLFELDER, W.: "MBone VCR-Video Conference Recording on the MBone," Proc. of ACM Multimedia '95,
ACM, pag. 237-238,1995.

HOLZMANN, G.J.: Design and Validation of Computer Pivtocols, Englewood Cliffs, NJ: Prentice Hali, 1991.

HONG, D. i SUDA, T.: "Congestion Control and Prevention n ATM Networks," IEEE Network Magazine,
Voi. 5, pag. 10-16, iulie/aug. 1991.

HUANG, A. i KNAUER, S.: "Starlite: A Wideband Digital Switch," Proc. Globecom '84, pag. 121-125,1984.

HUGHES, J.P. i FRANA, W.R.: "Geographic Extension of HIPPI Channels," IEEE Network Magazine, voi. 8,
pag. 42-53, mai/iunie 1994.

HUI, J.: "A Broadband Packet Switch for Multi-rate Services," Proc. Intl. Conf. on Communications IEEE,
pag. 782-788,1987.

HUITEMA, C: IPv: Tlie New Internet Pivtocol, Englewood Cliffs, NJ: Prentice Hali, 1996.

HUITEMA, G: Routing n the Internet, Englewood Cliffs, NJ: Prentice Hali, 1995.

HUMBLET, P A , RAMASWAMI, R. i SIVARAJAN, K.N.: "An Efficient Communication Protocol for High-
Speed Packet-Switched Multichannel Networks," Proc. SIGCOMM '92 Conf, ACM,
pag. 2-13,1992.

IEEE- 802.5: Token Ring Access Method, New York: IEEE, 1985c. :

IEEE: 8023: CanierSense Multiple Access with Collision Detection,NtwYork: IEEE, 1985a.

IEEE: 802.4: Token-Passing Bus Access Method, New York: IEEE, 1985b.

IEEE: Communications Magazine, voi 33, ian. 1995.

IOANNIDIS, J. i MAQUIRE, G.Q., Jr.: "The Design and Implementation of a Mobile Internetworking
Architecture," Proc. Winter USENIX Conf., USENX, pag. 491-502, ian. 1993.

IRMER, T.: "Shaping Future Telecommunications: The Challenge of Global Standardization," IEEE Commun.
Magazine, voi. 32, pag. 20-28, ian. 1994.

IVANCIC, W.D., SHALKHAUSER, M.J. i QUINTANA, J.A.: "A Network Architecture for a Geostationary
Communication Satellite," IEEE Commun. Magazine, voi. 32, pag. 72-84, iulie 1994.

JABBARI, B., COLOMBO, G., NAKAJEVIA, A. i KULKARNI, J.: "Network Issues for Wireless
Communications," IEEE Commun. Magazine, voi. 33, pag. 88-98, ian. 1995.
SEC. 8.2 BIBLIOGRAFIE N ORDINE ALFABETIC 725

JACOBSON, V.: "Congestion Avoidance and Control," Proc. SIGCOMM '88 Conf., ACM, pag. 314-329,1988..

JAIN, R.: "Congestion Control and Traffic Management n ATM Networks: Recent Advances and a Survey,"
Computer Networks and ISDN Systems, voi. 27, nov. 1995.

JAIN, R.: "Congestion Control n Computer Networks: Issues and Trends," IEEE Network Magazine, voi 4,
pag. 24-30, mai/iunie 1990.

JAIN, R: FDD Handbook-High-Speed Networking Using Fiber and other Media, Reading, MA:
Addison-Wesley, 1994.

JAIN, R.: TleAit of Computer Systems PerfonnanceAnafysis, New York: John Wiley, 1991.

JIA, F. i MUKHERJEE, B.: "The Receiver Collision Avoidance (RCA) Protocol for a Singe-Hop WDM'
Lightwave Network," Journal of Lightwave Technology, voi. 11, pag. 1053-1065, mai/iunie 1993.

JOHNSON, D.B.: "Scalable Support for Transparent Mobile Host Internetworkmg," Wireless Networks, voi. 1,
pag. 311-321, oct. 1995.

JOHNSON, H.W.: Fast Ethemet-Dawn of a New Network, Englewood Cliffe, NJ: Prentice H I , 1996.

KHN, D.: "Cryptoogy Goes Public," IEEE Commun. Magazine, voi. 18, pag. 19-28, martie 1980.

KAHN. D.: Vie Codebreakers, New York: Macmillan, 1967.

KALISKI, B.S. i ROBSHAW, M.J.B.: "Fast Block Cipher Proposa," Proc. Cambridge Security Workshop,
Springer-Verlag, pag. 26-39,1994.

KAMOUN, F. i KLEINROCK, L: "Stochastic Performance Evaluation of Hierarchical Routing for Large


Networks," Computer Networks, voi. 3, pag. 337-353, nov. 1979.

KARN, P.: "MACA-A New Channel Access Protocol for Packet Radio," ARRL/CRRL Amateur Radio Ninth
Computer Networking Conf., pag. 134-140,1990.

KAROL, M.l, HLUCHYJ, M.G. i MORGAN, S.P.: "Input Versus Output Queueing on a Space-DivisiOn
Packet Switch," IEEE Trans. on Commun, voi. 35, pag. 1347-1356, dec. 1987.

KARSHMER, AI. i THOMAS, J.N.: " Computer Networking on Cable TV Plants," IEEE Commun.
Magazine, voi. 30, pag. 32-40, nov. 1992.

KATZ, D., FORD, P.S.: "TUBA: Replacing IP with CLNP," IEEE Network Magazine, voi. 7, pag. 38-47,
mai/iunie 1993.

KATZ, E.D., BUTTLER, M. i McGRATH, R.: "A Scalable FTITP Server: The NCSA Prototype," Computer
Networks and ISDN Systems, voi. 27, pag. 155-164, nov. 1994.

KAUFMAN, C, PERLMAN, R. i SPECINER, M.: Network Security, Englewood Cliffc, NJ: Prentice HaU, 1995.

KAVAK, N.: Data Communication n ATM Networks," IEEE Network Magazine, voi. .9, pag. 28-37,
mai/iunie 1995.
726 BIBLIOGRAFIE I RECOMANDRI DE LECTUR CAP. 8

KENT, CA. i MOGUL, J.C.: "Fragmentation Considered Harmful," Proc. SIGCOMM '87 Conf. ACM, pag.
390-401,1987.

KENT, S.T.: "Internet Privacy Enhanced Mail," Commun. of the ACM, voi. 36, pag. 48-60, aug. 1993.

KESSLER, G.C. i TRAIN, D.: Metropolitan Arca Networks: Concepts, Standards, and Services, New York:
McGraw-Hill,' 1992.

KESSLER, G.C: ISDN, ediia a doua, New York: McGraw-Hill, 1993.

KM, J.B., SUDA, T. i YOSHIMURA, M.: "International Standardization of B-ISDN," Computer Networks
and ISDN Systems, voi. 27, pag. 5-27, oct. 1994.

KLEINROCK, L. i TOBAGI, F.: "Random Access Techniques for Data Transmission over Packet-Switched
Radio Channels," Proc. Nat. Computer Conf, pag. 187-201,1975.

KOHNO, R., MEIDAN, R. i MILSTEIN; L.B.: "Spread Spectrum Access Methods for Wireless
Communication," IEEE Commun. Magazine, voi. 33, pag. 58-67, ian. 1995.

KUMAR, V.: MBone: Interactive Multimedia on the Internet Indianapolis, N: New Riders, 1996.

KUNG, H.T. i MORRIS, R.: "Credit-Based Flow Control for ATM Networks," IEEE Network Magazine, voi.
9, pag. 40-48, martie/aprilie 1995.

KWAN, T.T., McGRATH, R.E. i REED, DA: "NCSA's WWW Server: Design and Performance," IEEE
Computer Magazine, voi. 28, pag. 68-74, nov. 1995.

KWOK, T.: "A Vision for Residential Broadband Service: ATM to the Home," IEEE Network Magazine voi. 9,
pag. 14-28, sept./oct. 1995.

KYAS, O:. ATM Networks, London: International Thomson Publishing, 1995.

LA PORTA, T.F., VEERARAGHAVAN, M., AYANOGLU, E, KAROL, M., i GITLIN, R.D.: "BISDN: A
Technological Discontinuity," IEEE Commun. Magazine, voi. 32, pag. 84-97, oct. 1994.

LAI, X. i MASSEY, J.: "A Proposal for a New Block Encryption Standard," Advances n Cryptology-Eurocrypt
'90 Proceedings, New York: Springer-Verlag, pag. 389-404,1990.

LAI, X.: On the Design andSecurity of Block Ciphers, Konstanz, Germany: Hartung-Gorre, 1992.

LAMPSON, B.W.: "A Note on the Confinement Problem," Commun. Of the ACM, voi. 10, pag. 613-615,
oct. 1973.

LANDAU, S.: "Zero-Knowledge and the Department of Deferise," Notices of the American Mathematical
Society, voi. 35, pag. 5-12, ian. 1988.

LANGSFORD, A.: "The Open System User's Programming Interfaces," Computer Networks voi. 8,
pag. 3-12,1984.

LATIF, A., ROWLANCE, E.J. i ADAMS, R.H.: "The IBM 8209 LAN Bridge," IEEE Network Magazine, voi. 6,
pag. 28-37, mai/iunie 1992.
SEC. 8.2 BIBLIOGRAFIE IN ORDINE ALFABETICA 727

LAUDON, K.C.: "Ethical Concepts and Information Technology," Commun. of the ACM, voi. 38, pag. 33-39,
dec. 1995.

LE BOUDEC, J.-Y.: "The Asynchronous Transfer Mode: A Tutorial," Computer Networks and ISDN Systems,
voi. 24, pag. 279-309, mai 1992.

LEINER, B.M., COLE, R., POSTEL, J. i MILLS, D.: "The DARPA Internet Protocol Suite," IEEE Commun.
Magazine, voi. 23, pag. 29-34, martie 1985.

LEVINE, DA i AKYILDIZ, I A : "PROTON: A Media Access Control Protocol for Optical Networks with
Star Topology," IEEE/ACM Trans. on Networking, voi. 3, pag. 158-169, aprilie 1995.

LEW, S.: "Crypto Rebeis," Wired, pag. 54-61, mai/iunie 1993.

LIN, F., CHU, P. i LIU, ML: "Protocol Verification Using Reachability Analysis: The State Space Explosion
Problem and Relief Strategies," Proc. SIGCOMM '87 Conf., ACM, pag. 126-135,1987.

LIPPER, E.H. i RUMSEWICZ, M.P.: "Teletraffic Considerations for Widespread Deployment of PCS," IEEE
Network Magazine voi. 8, pag. 40-49, sept./oct. 1994.

LITTLE, T.D.C. i VENKATESH, D.: "Prospects for Interactive Video on Demand," IEEE Multimedia
Magazine, voi. 1, pag. 14-24, toamna 1994.

LIU, C.L. i LAYLAND, J.W.: "Scheduiing Algorithms for Multiprogramming n a Hard Real-Time
Environment," Journal of the ACM, voi. 20, pag. 46-61, ian. 1973.

LUOTONEN, A. i ALTIS, K.: "World Wide Web Proxies," Computer Networks and ISDN Systems, voi. 27,
pag. 147-154, nov. 1994.

MACARIO, R.C.V.: Cellular Radio-Piinciples and Desigii, New York: McGraw-Hill, 1993.

MACEDONIA, M.R. i BRUTZMAN, D.P.: "MBone Provides Audio and Video Across the Internet," IEEE
Computer Magazine, voi. 27, pag. 30-36, aprilie 1994.

MASSEY, J.L.: "SAFER K-64: A Byte-Oriented Block Ciphering Algorithm," Proc. Cambridge Security
Workshop, Springer-Verlag, pag. 1-17,1994.

MATSUI, M.: "Linear Cryptanalysis Method for DES Cipher," Advances n Cryptology-Eurocrypt '93
Proceedings, New York: Springer-Verlag, pag. 386-397,1994.

McBRYAN, O.: "GENVL and WWW: Tools for Taming the Web," Proc. First Intl. WWW Conference, pag.
79-90,1994.

McDYSAN, D.E. i SPOHN, D.L.: ATM-Theoiy and Application, NY: McGraw-Hill, 1995.

McKENNEY, P.E. i DOVE, K.F.: "Eficient Demultiplexing of Incoming TCP Packets," Proc. SIGCOMM '92
Conf., ACM, pag. 269-279,1992.

MENEZES, A.J. i VANSTONE, SA: "Elliptic Curve Cryptosystems and Their Impiementation," Journal of
Cryptology, voi. 6, pag. 209-224,1993.
728 BIBLIOGRAFIE I RECOMANDRI DE LECTURA CAP. 8

MERKLE, R.C. i HELLMAN, M.: "Hiding and Signatures n Trapdoor Knapsacks," IEEE Trans. on
Information Theory, voi. IT-24, pag. 525-530, sept. 1978.

MERKLE, R.C. i HELLMAN, M.: "On the Security of Multiple Encryption," Commun. of the ACM, voi. 24,
pag. 465-467, iulie 1981.

MERKLE, R.C.: "Fast Software Encryption Functions," Advances n Cryptology-CRYPTO '90 Proceedings,
New York: Springer-Verlag, pag. 476-501,1991.

METCALFE, R.M. i BOGGS, D.R.: "Ethernet: Distributed Packet Switching for Local Computer Networks,"
Commun. of the ACM, voi. 19, pag. 395-404, iulie 1976.

METCALFE, R.M.: "Computer/Network Interface Design: Lessons from Arpanet and Ethernet," IEEE Journal
on Selected Areas n Commun., voi. 11, pag. 173-179, febr. 1993.

METCALFE, R.M.: "On Mobile Computing," Byte, voi. 20, pag. 110, sept. 1995.

MIKL T.: "The Potenial of Photonic Networks," IEEE Comraun. Magazine, voi. 32, pag. 23-27, dec. 1994a.

MKI, T.: "Toward he Service-Rich Era," IEEE Commun. Magazine, voi. 32, pag. 34-39, febr. 1994b.

MINOLI, D. i VTTELLA, M.-.ATM& CellRelay for Coiporate Enviwwnents, New York: McGraw-Hill, 1994.

MINOLI, D.: Video Dialtone Technology, New York: McGraw-Hill, 1995.

MMCHANDANI, S. i KHANNA. R. (eds): FDDI Technologies and Applications, New York: John Wiley, 1993.

MISHRA, P.P. i KANAKIA, H.: "A Hop by Hop Rate-Based Congestion Control Scheme," Proc. SIGCOMM
'92 Conf., ACM, pag. 112-123,1992.

MOCHIDA, Y.: "Technologies for Loca-Access Fibering," IEEE Commun. Magazine, voi. 32, pag. 64-73,
febr. 1994.

i, J.C.: "IP Network Performance," n Internet System Handbook, Lynch, D.C. i Rose, M.T. (eds.),
Reading, MA: Addison-Wesley, pag. 575-675,1993.

J.C.: "The Case for Persistent-Connection HTTP," Proc. SIGCOMM '95 Conf., ACM,
pag. 299-314,1995.

MOK, AX i WARD, SA: "Distributed Broadcast Channel Access," Computer Networks, voi. 3, pag. 327-335,
nov. 1979.

MORALES, J, PATKA, A., CHOA, P i KUI, J.: "Video Dial Tone Sessions," IEEE Network Magazine, voi. 9,
pag. 42-47, sept./oct. 1995.

MOY, J.: "Multicast Routing Extensions," Commun. of the ACM, voi. 37, pag. 61-66, aug. 1994.

MULLENDER, SJ. (ed.): Distributed Systems, ediia a doua, New York: ACM Press, 1993.

MYLES, A. i SKELLERN, D.: "Comparison of Mobile Host Protocols for IP," Computer Networks and ISDN
Systems, voi. 26, pag. 349-355, dec. 1993.
SEC. 8.2 BIBLIOGRAFIE IN ORDINE ALFABETICA 729

NAGLE, J.: "Congestion Control n TCP/IP Internetworks," Computer Commun. Rev., voi. 14, pag. 11 - 17,
oct. 1984.

NAGLE, J.: "On Packet Switches with Infinite Storage," IEEE Trans. on Commun., voi. COM-35, pag. 435-438,
aprilie 1987.

NEEDHAM, R.M. i SCHROEDER, M.D.: "Authentication Revisited," Operating Systems Rev., voi. 21, pag. 7,
ian. 1987.

NEEDHAM, R.M. i SCHROEDER, M.D.: "Using Encryption for Authentication n Large Networks of
Computere," Commun. of the ACM, voi. 21, pag. 993-999, dec. 1978.

NELSON, M.N. i LINTON, M.: "A Highly Availabie, Scalable ITV System," Proc. Fifteenth Symp. on
Operating Systems Prin., ACM, pag. 54-67,1995.

NEMETH, E., SNYBER, G., SEEBASS, S. i HEN, T.R.: UNIX System Adininistration Handbook, Englewood
Cliffs, NJ: Prentice Hali, 1995.

NEMZOW, M.: Implementing Wireless Networks, New York: McGraw-Fil, 1995.

NEUMAN, B.C. i TS'O, T.: "Kerberos: An Authentication Service for Computer Networks," IEEE Commun.

Magazine, voi. 32, pag, 33-38, sept. 1994.

, P.: "ATM Local Area Networks," IEEE Commun. Magazine, voi. 32, pag. 86-98, martie 1994.

, P.: "Traffic Management for ATM Local Area Networks," IEEE Commun. Magazine, voi. 32,

pag. 44-50, aug. 1994.

NIST: "Secure Hash Algorithm," U.S. Government Federal Information Processing Standard 180,1993.

OMTOYAR, C.G. i ALDRIDGE, A.: "Introduction to SDH/SONET," IEEE Commun. Magazine voi. 31,
pag. 30-33, sept. 1993.
OTWAY, D. i REES, O.: "Efficient and Timely Mutual Authentication." Operating System Rev. pag. 8- 10,
ian. 1987.
PBGEI, J.E., GUNTHER, C.G. i HATTORL T.: "Overview of Wireless Personal Communications," IEEE
Cornrnun. Magazine voi. 33, pag. 28-41, ian. 1995.

PAFF, A.: "Hybrid Fiber/Coax n the Public Telecommunications Infrastrucure," IEEE Commun. Magazine,
voi. 33, pag. 40-45, aprilie 1995.

PAHLAVN, K., PRQBERT, T.H. i CHASE, M.E.: "Trends n Local Wireless Networks," IEEE Commun.
Magazine, voi. 33, pag. 88-95, martie 1995.

PALIS, J.C.: Fiber Optic Commun, ediia a treia, Englewood Cliffs, NJ: Prentice Hali, 1992.

PALMER, L.C. i WHITE, L.W.: "Demand Assignment n the ACTS LBR System," IEEE Trans. on Commun,
voi. 38, pag. 684-692, mai 1990.
730 BIBLIOGRAFIE I RECOMANDRI DE LECTURA CAP. 8

PAN, D.: "A Tutorial on MPEG/Audio Compression." IEEE Multimedia Magazine voi. 2, pag. 60-74,
Summer 1995.

PANCHA, P. i EL ZARKL M.: "MPEG Coding for Variable Bit Rate Video Transmission," IEEE Commun.
Magazine, voi. 32, pag. 54-66, mai 1994.

PANDYA, R.: "Emerging Mobile and Personal Communication Systems," IEEE Commun. Magazine voi. 33,
pag. 44-52, iunie 1995.

PARULKAR, G., SCHMIDT,D.C. iTURNER, J.S.: "AITPM: AStrategyfor IntegratingIPwith ATM,"Proc.


SIGCOMM '95 Conf, ACM, pag. 49-58,1995.

PATRIDGE, C, HUGHES, J. i STONE, J.: "Performance of Checksums and CRCs over Real Data," Proc.
SIGCOMM '95 Conf., ACM, pag. 68-76,1995.

PATRIDGE, G: "A Proposed How Specification," Internet RFC 1363, sept. 1992.

PATRIDGE, G: Gigabit Networldng, Reading, MA: Addison-Wesley, 1994.

PAXSON, V. i FLOYD, S.: "Wide-Area Traffic: The Failure of Poisson Modeiing," Proc. SIGCOMM '94 Conf.,
ACM, pag. 257-268,1995.

PAXSON, V.: "Growth Trends n Wide-Area TCP Connections," IEEE Network Magazine, voi. 8, pag. 9- 17,
iulie/aug. 1994.

PERKINS, G: "Providing Continuous Network Access to Mobile Hosts Using TCP/IP," Computer Networks
and ISDN Systems, voi. 26, pag. 357-370, nov. 1993.

* PERLMAN, R: Interconnections: Biidges and Routers, Reading, MA: Addison-Wesley, 1992.

n PERLMAN, R.: Network Layer Protocols with Byzanthine Robustness, tez de doctorat, M.I.T., 1988.

PERRY, T.S. i ADAM, JA.:" E-Mail: Pervasive and Persuasive," IEEE Spectmm, voi. 29, pag. 22-28, oct. 1992.

PETERSON, W.W. i BROWN, D.T.: "Cyclic Codes for Error Detection," Proc. IRE, voi. 49, pag. 228-235,
ian. 1961.

PICKHOLTZ, R L , SCHILLING, D.L. i MBLSTEN, L.B.: "Theory of Spread Spectrum Communication-A


Tutorial," IEEE Trans. On Commun., voi. COM-30, pag. 855-884, mai 1982.

* PIERCE, J.: "How Far Can Data Loops Go?" IEEE Trans. on Commun., voi. COM-20, pag. 527-530,
iunie 1972.

PINKERTON, B.: "Finding What People Want: Experiences with the WebCrawler," Proc. First Intl.
WorldWide Web Conference, 1994.

PISCITELLO, D.M. i CHAPN, AJL: Open Systems Networldng: TCP/IP and OSI, Reading, MA:
Addison-Wesley, 1993.

PJTT, D A : "Bridging-The Double Standard," IEEE Network Magazine, voi. 2, pag. 94-95, ian. 1988.
SEC. 8.2 BIBLIOGRAFIE IN ORDINE ALFABETICA 731

QUICK, R. F., Jr. i BAIACHANDRAN, K: "An Overview of the Ceilular Digital Packet Data (CDPD)
System," Fourth Int'l Symp. on Personal, Indoor, and Mobile Radio Commun., pag. 338-343,1993.

QUISQUATER, J.-J. i GIRAULT., M.: "Chinese Lotto as an Exhaustive Code-Breaking Machine," IEEE
Computer Magazine, voi. 24, pag. 14-22, nov. 1991.

RABIN, M.O.: "Digital Signatures and Public-Key Functions as Intractable as Factorization," Technical Report
LCS-TR-212, M.I.T, ian. 1979.

RAHNEMA, M.: "Overview of the GSM System and Protocol Architecture," IEEE Commun. Magazine, voi. 31,
pag. 92-100, aprilie 1993.

RAJAGOPALAN, B.: "Reliability and Scaling Issues n Multicast Communication," Proc. SIGCOMM '92 Conf.,
ACM, pag. 188-198,1992.

RANSOM, M.N.: "The VISTAnet Gigabit Network Testbed," Journal of High Speed Networks, voi. 1,
pag. 49-60,1992.

RAO, S.K. i HATAMIAN, M.: "The ATM Physical Layer," Computer Commun. Rev., voi. 25, pag. 73-81,
aprilie 1995.

RTVEST, R.L. i .SHAMIR, A.: "How to Expose an Eavesdropper," Commun. of the ACM, voi. 27, pag. 393-395,
aprilie 1984.

RIVEST, R.L, SHAMIR, A. i ADLEMAN, L: "On a Method for Obtaining Digital Signatures and Public Key
Cryptosystems," Commun. of the ACM, voi. 21, pag. 120-126, febr. 1978.

RVEST, R.L.: "The MD5 Message-Digest Algorithm," RFC 1320, aprilie 1992.

ROBERTS, L.: "Dynamic Allocation of Satellite Capacity through Packet Reservation," Proc. NCC, AFIPS,
pag. 711-716,1973.

ROBERTS, L: "Extensions of Packet Communication Technology to a Hand Held Personal Terminal," Proc.
Spring Joint Computer Conference, AFIPS, pag. 295-298,1972.

ROMANOW, A. i FLOYD, S.: "Dynamics of TCP Traffic over ATM Networks," Proc. SIGCOMM '84 Conf.,
ACM, pag. 79-88,1994.

ROSE, MX i McCLOGHRBE, K.: How to Manage Your Network Using SNMP, Englewood Oiffs, NJ: Prentice
Hali, 1995.

ROSE, M.T.: The Internet Message, Englewood Cliffs, NJ: Prentice Hali, 1993.

ROSE, M.T.: The Simple Book, Englewood Cliffs, NJ: Prentice Hali, 1994.

ROSS, RE. i HAMSTRA, J.R.: "Forging FDDI," IEEE Journal on Selected Areas n Commun., voi. 11,
pag. 181-190, febr. 1993.

SADIKU, M.N.O. i ARVTND, A.S.: "Annotated Bibliography on Distributed Queue Dual Bus (DQDB),"
Computer Commun. Rev., voi. 24, pag. 21-36, ian. 1994.
732 BIBLIOGRAFIE I RECOMANDRI DE LECTUR CAP. 8

SALTZER, J.H., POGRAN, K.T. i CLARK, D.D.: "Why a Ring?" Computer Networks, voi. 7, pag. 223-230,
aug. 1983. r

SALTZER, J.H., REED, D.P. i CLARK, D.D.: "End-to-End Arguments n System Design," ACM Trans. on
Computer Systems, voi. 2, pag. 277-288, nov. 1984.

SANDERSON, D.W. i DOUGHERTY, D.: Smileys, Sebastopol, CA: O'Reilly, 1993.

SANTIFALLER, M.: 'TCP/IP and ONC/NFS," Reading, MA: Addison-Wesley, 1994.

SCHNEIER, B.: "Description of a New Variable-Length Key, 64-Bit Block Cipher [Biowfish]," Proc. of the
Cambridge Security Workshop, Springer-Verlag, pag. 191-204,1994.

SCHNEIER, B.: Applied Cryptography, ediia a doua, New York: John Wiley, 1996.

SCHNEIER, B.: E-Mail Security, New York: John Wiley, 1995.

SCHNORR, CP.: "Efficient Signature Generation for Smart Cards," Journal of Cryptology, voi. 4, pag. 161-174,
1991.

SCHOLTZ, RA.: "The Origins of Spread-Spectrum Communications," IEEE Trans. on Commun., voi COM-
30, pag. 822-854, mai 1982.

SCOTT, R: "Wide Open Encryption Design Offers Flexible Implementations," Cryptologia, voi. 9, pag. 75-90,
ian. 1985.

SELFRTOGE, O.G. i SCHWARTZ, RT.: "Telephone Technology and Privacy," Technology Rev., voi. 82, pag.
56-65, mai 1980!

SEYBOLD, A.M.: Using Wireless Communications n Business, New York: Van Nostrand Reinhold, 1994.

SHACHAM, N. i McKENNEY, P.: "Packet Recovery n High-Speed Networks Using Coding and Buffer
Management," Proc. INFOCOM '90, IEEE, pag. 124-130,1990.

SHAH, A. i RAMAKRISHNAN, G.: "FDDI-A High Speed Network, Englewood Cliffs, NJ: Prentice Hali, 1994.

SHANNON, C: "A Mathematical Theory of Communication," Bell System Tech. J, voi. 27, pag. 379-423, iulie
1948; i pag. 623-656, oct. 1948.

SHEN, B. i SETHI, I.K.: "Inner-Block Operations on Compressed Images," Proc. of ACM Multimedia '95,
ACM,'pag. 489-498,1995.

SHIMIZU, A. i IVnYAGUCHI, S.: "Fast Data Encipherment Algorithm FEAL," Advances n Cryptology-
Eurocrypt '87 Proceedings, NY: Springer-Verlag, pag. 267-278,1988.

SHREEDHAR, M. i VARGHESE, G.: "Efficient Fair Queueing Using Deficit Round Robin," Proc.
SIGCOMM '95 Conf, ACM, pag. 231-243,1995.

SINGLETON, A.: "Wired on the Web," Byte, voi. 21, pag. 77-80, ian. 1996.
SEC. 8.2 BIBLIOGRAFIE IN ORDINE ALFABETICA 733

SIPIOR, J.C. i WARD, B.T.: "The Ethical and Legal Quandary of Email Privacy," Commun. of the ACM, voi.
38, pag. 48-54, dec. 1995.

SIU, K.-Y. i JAIN, R.: "A Brief Oveiview of ATM: Protocol Layers, LAN Emulation, and Traffic
Management," Computer Commun. Rev., voi. 25, pag. 6-20, aprilie 1995.

SMITH, P.: Frame Reky, Reading, MA: Addison-Wesley, 1993.

SOHA, M. i PERLMAN, R.: "Comparison of Two LAN Bridge Approaches," IEEE Network Magazine, voi. 2,
pag. 37-43, ian./febr. 1988.

SPAFFORD, E.H.: "The Internet Worm: Crisis and Aftermath," Commun. of the ACM, voi. 32, pag. 678-687,
iunie 1989.

SPRAGINS, J.D., cu HAMMOND, J.L i PAWLIKOWSKI, K.: Telecgmmunications Pivtocols and Desigii, *
Reading, MA: Addison-Wesley, 1991.

STALLINGS, W.: Data and Computer Communications, ediia a patra, New York: Macmillan, 1994. *

STALLINGS, W.: ISDN and Broadband ISDN with Frame Reky and ATM, Englewood Cliffs, NJ: Prentice Hali,
1995a.

STALLINGS, W.: Local and MetivpolitanArea Networks, ediia a patra, New York: Macmillan. 1993b.

STALLINGS, W.: Network and Intemetwork Security, Englewood Cliffs, NJ: Prentice Hali, 1995b.

STALLINGS, W.: Pivtect YourPiivacy: The PGP Usei's Guide, Englewood Cliffs, NJ: Prentice Hali, 1995c.

STALLINGS, W.: SNMP, SNMPv2, and CMIP, Reading, MA: Addison-Wesley, 1993a

STEELE, R., WHITEHEAD, J. i WONG, W.C.: "System Aspecte of Cellular Radio," IEEE Commun.
Magazine, voi. 33, pag. 80-86, ian. 1995a.

STEELE, R., WILLIAMS, J., CHANDLER, D., DEHGHAN, S. i COLLARD, A.: 'Teletraffic Performance of
GSM900/DCS1800 n Street Microcells," IEEE Commun. Magazine, voi. 33, pag. 102-108, martie 1995b.

STEINER, J.G., NEUMAN, B.C. i SCHILLER, J.I.: "Kerberos: An Authentication Service for Open Network
Systems," Proc. Winter USENIX Conf, USENIX, pag. 191-201,1988.

STEINMETZ, R. i NAHRSTEDT, K.: Multimedia: Computing, Communications and Applications, Englewood <-
Cliffs, NJ: Prentice Hali, 1995.

STEPHENS, W.E. i BANWELL, T.C.: "155.52 Mb/s Data Transmission on Category 5 Cable Plant IEEE
Commun. Magazine, voi. 33, pag. 62-69, aprilie 1995.

STERBENZ, J.P.G., SCHULZRINNE, H.G. i TOUCH, J.D.: "Report and Discussion of the IEEE ComSoc
TCGN Gigabit Networking Workshop 1995," IEEE Network Magazine, voi. 9, pag. 9-29, iulie/aug. 1995.

STEVENS, W.R.: TCP/IP Illustrated, Voi. 1, Reading, MA: Addison-Wesley, 1994.


734 BIBLIOGRAFIE I RECOMANDRI DE LECTUR CAP. 8

STDXER, B.: "A Survey of UNI Signaling Systems and Protocols," Computer Commun. Rev., voi. 25,
pag. 21-33, aprilie 1995.

. ST1NSON, D.R.: Qyptography Theory and Practice, Boca Raton, FL: CRC Press, 1995.

SUNSHINE, CA i DALAL, Y.K.: "Connection Management n Transport Protocols," Computer Networks,


voi. 2, pag. 454-473,1978.

SUZUKI, T.: "ATM Adaptation Layer Protocol," IEEE Commun. Magazine, voi. 32., pag. 80-93, aprilie 1994.

* TANENBAUM, A.S.: Distiibuted Operating Systems, Englewood Cliffs, NJ: Prentice Hali, 1995

TANENBAUM, A.S.: Modem Operating Systems, Englewood Cliffs, NJ: Prentice Hali, 1992.

% TERAOKA, F., YOKTE, Y. i TO^ORO, M.: "Host Migration Transparency n IP Networks," Computer
Commun. Rev., voi. 23, pag. 45-65, ian. 1993.

s THYAGARAJAN, A.S. i DEERING, S.E.: "Hierarchical Distance-Vector Multicast Routing for the MBone,"
Proc. SIGCOMM '95 Conf, ACM, pag. 60-66,1995.

TQKORO, M. i TAMARU, K.: "Acknowledging Ethernet Compcon, IEEE, pag. 320-325, Fall 1977.

TOLMIE, D.E. i RENWICK, J.: "HIPPI: Simplicity Yields Success," IEEE Network Magazine, voi. 7,
pag. 28-32, ian./febr. 1993.

* TOLMIE, D.E.: "Gigabit LAN Issues-HIPPI, Fibre Channel, and ATM," n Proc. High-Performance Computing
and Networking, Hertzberger, B. i Serazzi, G. (Eds.), Berlin: Springer Verlag, pag. 43-53,1995.

* TOLMIE, D.E.: "Gigabit Networking," IEEE LTS, voi. 3, pag. 28-36, mai 1992.

TOMLINSON, R.S.: "Selecting Sequence Numbers." Proc. SIGCOMM/SIGOPS Interprocess Commun.


Workshop, ACM, pag. 11-23,1975.

TOUCH,.J.D.: "Performance Analysis of MD5," Proc. SIGCOMM '95 Conf. ACM. pag. 77-86,1995.

TRUONG, H.L., ELLINGTON, W.W. Jr., LE BOUDEC, J.-Y., MEIER, AX i PACE, J.W.: "LAN Emulation
on an ATM Network," IEEE Commun. Magazine voi. 33, pag. 70-85, mai 1995.

TUCHMAN, W.: "Hellman Presents No Shortcut Solutions to DES," IEEE Spectrum, voi. 16, pag. 40-41,
iulie 1979.

TURNER, J.S.: "New Directions n Communications (or Which Way to the Information Age)," IEEE Commun.
Magazine, voi. 24, pag. 8-15, oct. 1986.

, VAN DER LINDEN, P.: Just Java, Englewood Cliffs, NJ: Prentice Hali, 1996.

VAN OORSCHOT, P.C. i WIENER, M.J.: "A Known-Plaintext Attack on Two-Key Triple Encryption,"
Advances n Cryptology-CRYPTO '88 Proceedings, New York: Springer-Vertag, pag. 119-131,1988.

VAN RENESSE, R., VAN STAVEREN, H. i TANENBAUM, A.S.: "Performance of the World's Fastest
Distributed Operating System," Operating Systems Rev., voi. 22, pag. 25-34, oct. 1988.
SEC. 8.2 BIBLIOGRAFIE IN ORDINE ALFABETICA 735

VARGHESE, G. i LAUCK, T.: "Hashed and Hierarchica! Timing Wheels: Data Structures for the Efficient
Implementation of a Timer Facility," Proc. Eleventh Symp. on Operating Systems Prin., ACM,
pag. 25-38,1987.

VENKATKAMNI, C. i CHIUEH, T.: "Design, Implementation, and Evaluation of a Software-Based Real-


Time Ethernet Protocol," Proc. SIGCOMM '95 Conf, ACM, pag. 27-37,1995.

VETTER, R.J.S SPELL, C i WARD, C: "Mosaic and the World-Wide Web," IEEE Computer Magazine,
voi. 27, pag. 49-57, oct. 1994.

VELLAMIZAN, G i SONG, C: "High Performance TCP n ANSNET," Computer Commun. Rev., voi. 25,
pag. 45-60, oct. 1995.

VTTERB, AJ.: CDMA Piincipks ofSpread Spectium Communications, Reading, MA: Addison-Wesley, 1995.

WB, H., YOZAWA, T., OHNISH, T. i TANAKA, Y.: "Mobile Computing Environment Based on Internet
Packet Forwarding," Proc. Winter USENIX Conf, USENIX, pag. 503-517, ian. 1993.

WALRAND, J.: Comrnunication Networks: A First Course, Homewood, L: nvia, 1991.

WATSON, R.W.: "Timer-Based Mechanisms n Reliable Transport Protocol Connection Management,"


Computer Networks, voi. 5, pag. 47-56, febr. 1981.

WAYNER, R: "Picicing the Crypto Lock," Byte, pag. 77,80, oct. 1995.

WESBAND, S.P. i REINIG, BA.: "Managing User Perceptions of Email Privacy," Commun. of the ACM, voi.
38, pag. 40-47, dec. 1995.

WIENER, M.J.: "Efficient DES Key Search," Technical Report TR-244, School of Computer Science, Careon
Univ., Oiawa, 1994.

WHIIAMS, KA, M M , T.Q. i DU, DJH.-C: "A Media Access Protocol for Time and Wavelength-Division
Multiplexed Passive Star Networks," IEEE Journal on Selected Areas n Commun., voi. 11. pag. 560-567,
mai 1993.

WIXINGER, W., TAQQU, M.S., SHERMAN, R. l WILSGN, D.V.: "Seif-Similarity through High Variabilii}':
Statistica! Anaysis of Ethernet LAN Traffic at the Source Level," Proc. SIGCOMM '95 Cont, ACM, pag.
100-113,1995.

W0LTE8, M.S.: "Fiber Distributed Data Interface-ATutoriai," ConneXions, pag. 16-26, oct. 1990.

YNG, C.-Q. i REDDY, A.V.S.: "A Taxonomy for Congestion Control Algorithms n Packet Switching
Networks," IEEE Network Magazine, voi. 9, pag. 34-45, iulie/aug. 1995.

YEH, Y,-S.5 HLUCHYJ, M.G. i ACAMPORA, A.S.: "The Knockout Switch: A Simple, Modular Architecture
for High-Perfonnance Packet Switching," IEEE Journal on Selected Areas n Commun., voi. 5,
pag. 1274-1283, oct. 1987.

YQUSSEF, A.M., KALMAN, E., BENZON, L.: "Technico-Economic Methods of Radio Specrum
Assignment," IEEE Commun. Magazine, voi. 33, pag. 88-94, iunie 1995.
736 BIBLIOGRAFIE I RECOMANDRI DE LECTURA CAP. 8

YUVAL, G.: "How to Swindle Rabin," Cryptologia, voi. 3, pag. 187-190, iulie 1979.

ZHANG, L: "Comparison of Two Bridge Routing Approaches," IEEE Network Magazine, voi. 2, pag. 44-48,
ian./feb. 1988.

ZHANG, L.: "RSVP A New Resource ReSerVation Protocol," IEEE Network Magazine, voi. 7, pag. 8-18,
sept./oct. 1993.

* ZMMERMANN, P.R.: PGP: Source Code and Intemals, Cambridge, MA: M.I.T. Press, 1995b.

ZMMERMANN, P.R.: The Official PGP User*s Guide, Cambridge, MA: M.I.T. Press, 1995a.

ZEPF, G.K.: Hwnan Behavbr and the Principie ofLeast Effort: An Introduction to Hurnan Ecology, Cambridge,
MA: Addison-Wesley, 1949.

ZIV, J. i LEMPEL, Z.: "A Universal Algorithm for Sequential Data Compression," IEEE Trans. on
Information Theory, voi. LT-23, pag. 337-343, mai 1977.
DICIONAR

A-side carrier Furnizor de tip A


Absolute maximum rating Viteza maxim absolut
Abstract syntax notation-1 Notaia sintactic abstract-1
Abstract vvindow toolkit Trus de instrumente pentru ferestre abstracte
Access charge Tax de acces
Access control (Mijloc de) control al accesului
Acknowledge (ACK) Confirmare pozitiv
Acknowledgement frame Cadru de confirmare
Active map Hart activ
Adapter board Plac adaptoare
Adapter plug Fi de adaptare
Address mapping Punerea n coresponden a adresei
Address resolution protocol Protocol de rezoluie a adreselor
Advanced communication Tehnologie avansat de comunicare prin satelit
technology satellite

737
738 DICIONAR ADV...-BAC.

Advanced data Communications Procedura de control avansat pentru controlul


control procedure comunicrii

Advanced mobile phone system Sistem telefonic mobil avansat


Affrmative acknowledgement Confirmare pozitiv

Alias Pseudonim

Amount of variability Cantitate de variabilitate; variabilitate

Amplitude modulation Modulaie n amplitudine

Analog cellular telephone Telefon celular analog

Anonymous remailer Retransmitor anonim de pot

Anycasting Trimitere ctre oricine

Appliances Utiliti

Application gateway Poart de nivel aplicaie

ASCnarmor Armur ASCII

Asymmetric digital subscriber line Linie de abonat digital asimetric

Async Asincron

Authentication Autentificare

Authoritative record nregistrare competent (demn de ncredere)

Auto-dial Cu formare automat a numrului

Automatic calling unit (ACU) Unitate de apel automat

Automatic power off Decuplare automat

Automatic repeat request Cerere de repetare automat


Automatic send / receive (ASR) Transmisie / recepie automat

Available bit rate service Serviciu de transmitere cu viteza disponibil

B
B-side carrier Furnizor de tip B

Backbone Coloan vertebral

Background Fundal

Background job Lucrare de prioritate redus

Background task Proces de fundal


BAC... - BOO... DICIONAR 739

B
Backing store Memorie de salvare
Backplane Fund de sertar

Backward channe! Canal invers


Backward Searning aSgorithm Algoritm de nvare regresiv
Balanced error Eroare echiprobabil
Balanced transmission Transmisie echilibrat
Bandwih Simited signal Semnal limitat de banda de transfer
Baseband coaxiale cable Cablu coaxial de band de baz
Base bnd Socal area network Reea local n banda de baz
Basic rate Vitez primar
Batched communication Comunicare (n loturi) fr confirmare

Baud rate Vitez de transmisie

Big endian Cel mai semnificativ primul

Binary countdown Numrtoare invers binar

Binar}' exponenial backoff Regresie exponenial binar


Binary synchronous Comunicare binar sincron
communication (BSC)

Biquinary code Cod doi din cinci

Birttdav atack Atacul zilei de natere

Tub de bii, conduct de bii

Bit stuffing nserare de bii

Hart de bii

Blind carbon copy Copie confidenial

Block cipher Cifrare pe blocuri

Block error rate Rata de erori pe blocuri

Block ignore character Caracter de ignorare a blocului

Block marker Marcaj de bloc

Boarder gateway protocol Protocolul porilor de grani

Body, email Corp (de scrisoare)

Bookmark Adres de pagin


740 DICIONAR BRL.-BUS..

Bridge Punte
Broadband cable Cablu de band larg

Broadcast Difuzare

Broadcast address Adres de difuzare

Broadcast network Reea cu difuzare

Broadcast routing Dirijare pentru difuzare

Broadcast storm Furtun de difuzare

Browse Rsfoire

Browser Program de navigare

Bucket brigade attack Atac de tip gleata brigzii de pompieri

Buffer Tampon

Built-n check Test incorporat

Bulletin board system (BBS) Sistem de informare n reea


Burstiness Proprietatea traficului.de a fi n rafal

Bus network Reea cu magistral

L,

Cache Memorie ascuns (tampon)


Caching Folosirea memoriei ascunse
Caii accepted signal Semnal de acceptare a apelului
Caii control signal Semnal de control al apelului
Caii duration Durata comunicaiei
Called party Apelat (subst)
Caller Apelant
Cancel character Caracter de anulare
Cancellation Anulare
Care-of address Adres a intermediarului
Carrier Purttor
Carrier Companie de telecomunicaii
CAR...-CLE... DICIONAR 741

Carrier sense multiple access Protocol de acces multiplu cu sesizarea


protocol purttoarei

Carrier signalling Semnalarea purttoarei


Cell delay variation Variaia ntrzierii celulelor
Cell error ratio Procentul celulelor cu erori
Cell loss ratio Procentul de celule pierdute
Cell misinsertion rate Rata de celule rtcite

Cell transfer delay ntrziere la transferul celulelor

Cell relay Releu de celule

Central wiring closet Panou central de cablare

Certification authority Autoritate de certificare

Challenge-response protocol Protocol provocare-rspuns

Channel associated signalling Semnalizare asociat canalului

Character stuffing Inserare de caractere

Check point Punct de reluare (ntr-un program)

Chip Cip

Chip Circuit integrat

Chip Achie

Chip sequence Secven de cip

Choke cell Celul de oc

Chosen plaintext attack Atac cu text clar ales

Chunks Fragmente

Cipher block chaining nlnuire a blocurilor cifrate

Cipher feedhack mode Mod cu reacie cifrat

Ciphertext Text cifrat

Ciphertext only attack Atac cu text cifrat

Circuit switching Comutare de circuite

Classless interdomain routing Dirijare inter-domenii nebazat pe clase

Clicking Selecie cu ajutorul mausului

Cleartosend(CTS) Gata de transmisie


742 DICIONAR CLO... - CON..

Clocked signals Semnale sincronizate


Closed user group(CUG) Grup nchis de utilizatori
Cluster Grup
Guter Asociaie, ciorchine
Cluster controller Controlor al unui grup de echipamente
Code division multiple access Acces multiplu cu divizarea codului
Code book Carte de coduri
Coder/decoder (codec) Codificator/decodificator
Collision detection Detecia coliziunilor
Collision-free protocol Protocol fr coliziuni
Color lookup table Tabel de cutare a culorilor
Columnar transposition cipher Cifru cu transpoziie pe coloane
Common carrier Purttoare comun
Common gateway interface Interfa comun de poart
Compliance requirements Clauze contractuale
Computer animation Animaie realizat cu calculatorul
Computer network Reea de calculatoare
Computer services Servicii de calcul
Computer-based message system Sistem de mesagerie electronic
(CBMS)
Concatenated virtual circuit Circuit virtual concatenat
Confirmed service Serviciu confirmat
Congestion Congestie
Connection setup Stabilirea conexiunii
Contention Conflict
Contention bus Magistral cu conflicte
Congestion threshold Pragul congestiei
Conection establishment Stabilirea conexiunii
Connection release Eliberarea (desfiinarea) conexiunii
Connection setup Configurarea conexiunii
CON...-DAT... DICIONAR 743

Connection-oriented service Serviciu orientat pe conexiuni


Conectionless Fr conexiune, neorientat pe conexiune
Connectionless service Serviciu fr conexiune
Contention delay ntrziere determinat de evitarea conflictului
Convergence sublayer Subnivel de convergen
Copyright status Statutul drepturilor de autor
Count-to-infinity problem Problema numrrii nesfrite
Crossbar switch Comutator matricial
Cyclic redundancy check (CRC) Control cu redundan ciclic

D
Data carrier detect(DCD) Detecia purttoarei de date
Data circuit-terminaing
equipment Echipament de terminare a circuitului de date

Data Communications equipment


(DCE) Echipament pentru comunicaii de date

Data link
Legtur de date
Data set ready(DSR)
Modem pregtit (semnal)
Data switching exchange
Comutator de date
Data terminal equipment (DTE)
Echipament terminal (de date)
Data terminal ready (DTR)
Terminal pregtit (semnal)
Datagram
Datagram
Datagram subnets
Subretele de tip datagram
Dataset
Modem
DC signalling
Semnalizare n curent continuu
Deadlock
Interblocare
Delta modulation
Modulare delta
Designated router
Ruter desemnat
Dial-n modem
Modem apelabil
Digital sense multiple access
Acces multiplu cu detecie digital
Digital signature
Semntur digital
744 DICIONAR DIG...-EXP..

D
Digitized voice Voce digitizat

Disk farm Ferm de discuri

Distance vector multicast routing Dirijare multi-destinaie dup vectorul distanelor

Distance vector routing Dirijare dup vectorul distanelor

Distant network Reea aflat la distan

Distributed mail system protocol Protocol de sistem distribuit de pot electronic

Distributed queue dual bus Magistral dual cu cozi distribuite

Domain name system Sistemul numelor de domenii

Dumb terminal Terminal neinteligent

E
E-mail Post electronic

Echo canceller Unitate de anulare a ecoului

Echo suppressor Unitate de suprimare a ecoului

Electronic funds transfer (EFT) Transfer electronic de fonduri

Electronic mail Pot electronic

Electronic point-of-sale (EPOS) Punct de vnzare automatizat

Electronic publishing Tehnoredactare asistat de calculator

Emoticon Caracter emoticon - fa ntristat

Encapsulation ncapsulare

End offce Oficiu final

End point Capt

End point Punct final

End system Sistem final

End to end Capt-la-capt


End user Utilizator final
Envelope, email nfurtoare, email

Error recovery Recuperare din eroare

Error trapping Captarea erorilor

Explicit rate Vitez explicit


EXT... - GEN... DICIONAR 745

E
Exterior gateway protocol . Protocol de poart exterioar
Externai viewer Program de vizualizare extern

F
Fiber cable Cablu de fibr (optic)
Fiber cfiannel (Fibre channel) Canal de fibr optic

Fiber distributed data inerface Interfa de date distribuite pe fibr optic


Fiber optics Fibr optic
Fiber socket Conector pentru fibr
Fiber to the curb Fibr ctre vecintate

Fiber to the tiome Fibr ctre cas


Fibre chaneel Canal de fibr optic

Firewall Zid de protecie

Fil character Caracter de umplere

Fiat address Adres nestructurat


FSooding Inundare

FIow control Controlul fluxului

FSow specificatioe Specificaia fluxului


Flow-based routing Dirijare bazat pe flux

Foregroond Prim-plan

ForeigB ageai Agent pentru strini

Frame Cadru

Frame relay Releu de cadre

Framing information Informaia de ncadrare


Frequency division multiplexing Multiplexare prin divizare n frecven
Frequency modulation Modulaie n frecven
FuII duplex Duplex integral

Gateway Poart

Generic ceSI rate algorithm Algoritmul vitezei generice de transmitere


746 DICIONAR ICO...-INE.

H
Half-duplex communication Comunicaie semi-duplex

Helper application Program auxiliar pentru o aplicaie


Hidden station problem Problema staiei ascunse
High-end networks Reele cu tehnologie de vrf, performante
High-level data link control Controlul legturii de date de nivel nalt

High-performance parallel Interfa paralel de mare performan


interface

Home agent Agent local


Home page Pagin personal
Hop Salt (hop)
Host (Calculator) gazd
Hub Nod (ntr-o reea de calculatoare)
Hyperlink Hiper-legtur

Hypermedia Hiper-media
Hypertext Hipertext
Hypertext markup language Limbaj de marcare a hiper-textului
Hypertext transfer protocol Protocol de transfer al hiper-textului

I
Icon Iconi
Idle Inactiv

Illegal vaiue Valoare nepermis


Improved mobile telephone service Serviciu mbuntit de telefonie mobil
n-band signalling Semnalizare n band
Information network Reea informaional
Integrated services digital network Reea digital cu servicii integrate
Interactive mail access protocol Protocol interactiv de acces la pot
Interface data unit Unitate de date de interfa
Interior gateway protocol Protocol de poart interioar
Interlaced video Video ntreesut
Intermediate system Sistem intermediar
NT...-LOA... DICHONAR 747

International Standards Organizaia internaional de Standardizare


Organization

International telecommunication Uniunea Internaional de Telecomunicaii


union

Internet Architecture Board Consiliul arhitecturii Internet

Internet backbone Tronson de baz Internet

Protocolul mesajelor de control Internet


Internet group management Protocol de gestiune a grupurilor Internet

Autoritatea de nregistrare a politicii din Internet

iternet service piwider Furnizor de servicii Internet

Societatea Internet

Protocolul de transport Internet

Dirijare inter-reele

Internetwork nter-retea

Interconectarea reelelor

Trunchi inter-oficii

Trunchi ntre oficii de taxare

Fluctuaie

Atac cu text clar cunoscut

Leaky tacket algorithm Algoritmul gleii gurite

Limited distance modem Modem de distan mic

Link access procedore Procedur de acces la legtur (de date)

Cel mai semnificativ ultimul

Load stiedding mprtierea ncrcrii


748 DICIONAR LOC...-MUL...

Local Access and Transport Area Acces i zon de transport locale


Local central offce Oficiu central local
Logical link control Controlul legturii logice
Long-haul trunks Trunchiurile principale de comunicaie
Loopback Bucl local

Low-endPC PC terminal de performan sczut

Low-speed Communications Comunicaie de vitez mic

M
Mailbox Cutie potal

Mailing list List de adrese email

Man n the middie attack Atac de tip omul-din-mijloc

Mapped Pus n coresponden

Medium access sublayer Subnivel de acces la mediu

Meet n the middie attack Atac de tip ntlnirea-la-mijloc


Message authentification code Cod de autentificare (a unui mesaj)
(MAC)
Rezumatul mesajului
Message digest
mprirea mesajelor n cadre
Message framing
Cablu cu njumtim
Midsplit cable
Grup de tiri cu moderator
Moderated newsgroup
Monoalphabetic substitution Cifru de substituie monoalfabetic
cipher
Mrouter M-ruter
Multicast addresses Adrese pentru trimitere multipl
Multicast group Grup de destinaii pentru trimiterea multipl
Multicast spanning tree Arborele de acoperire multidestinaie
Multicasting Trimitere multipl
Multidestination routing Dirijare multidestinaie
Multihop Multisalt
Multimedia Multimedia
NET...-NET... DICIONAR 749

Mutimode fiber Fibr multimod

Multipath fading Atenuare multi-ci

Multiple access protocols Protocoale de acces multiplu

Multiple acess with colision Acces mutiplu cu evitarea coliziuniloir


avoidance

Multipoint Multipunct

Multiprotocol router Ruter multiprotocol

Multipurpose internet mail Extensii de pot Internet cu scop multiplu


extensions

N
Name server Server de nume

Narrowband ISDN ISDN de band ngust

National Institute of Standard and Institutul Naional de Standarde i Tehnologie


Technology

National Security Agency Agenia Naional de Securitate

National Television Standards Comitetul Naional pentru Standarde


Commettee de Televiziune

Near video on demand Video aproape la cerere

Negative achknowledgement Confirmare negativ

(NAK)

Network (to) A lega n reea

Network access point Punct de acces la reea

Network architecture Arhitectura reelei

Network control protocol Protocol de control al reelei

Network controller Controlor de reea

Network core protocol Protocol de nucleu de reea

Network hardware Echipamente de reea

Network information center Centru de informare al reelei

Network layer Nivelul reea

Network manager Procesul controlor de reea

Network management Gestiunea reelei


750 DICIONAR NET...-PAY..

N
Network news (USENET) tiri
Network service access point Punct de acces la servicii de reea
Network topology Topologia reelei
Network virtual terminal Terminal virtual de reea
Newsfeed Surs de tiri
Newsgroup Grup de interese, grup de tiri
Nuli modem Modem nul

O
Office automation (OA) Automatizarea birourilor
One-bit sliding window protocol Protocol cu fereastr glisant de un bit
One-time pad Cheie acoperitoare
Open shortest path first Deschide mai nti calea cea mai scurt
Open system interconnection Interconectarea sistemelor deschise
(OSI)
Operation and maintenance cell Celul de operare i ntreinere
Optical carrier Purttor optic
Output feedback mode Mod cu reacie de la ieire
Overhead Suprancrcare

Packet assembler/disassembler Asamblor/dezasamblor de pachete


(PAD)
Packet switching Comutare de pachete
Packet switching network (PSN) Reea cu comutare de pachete
Packetized elementary stream Flux elementar pachetizat
Padded Aliniat
Paging channel Canal de avertizare
Paging system Sistem de paginare
Passive star Stea pasiv
Payload Informaie util
PEA...-PRO... DICnONAR 751

Peakcellrate Viteza de vrf de transmitere a celulelor

Peakcellrate Viteza maxim de transmitere

Peer Pereche, similar

Permanent virtual circuit Circuit virtual permanent

Personal Communications network Reea de comunicaii personale

Phase alternating line Linie alternat n faz

Phase modulation Modulaie de faz

Photonic sublayer Subnivel fotonic

Piggybacking Acumulare nainte de confirmare

Pipeline Band de asamblare

Plain old telephone service Serviciu telefonic tradiional

Plaintext Text clar, text n clar

Pointofpresence Punct de livrare (a unor servicii)

Point-of-sale terminals Terminale n puncte de vnzare

Point-to-point network Reea punct-la-punct

Point-to-point protocol Protocol punct-la-punct

Policy certification authority Autoritate de certificare a politicii

Polling Interogare

Post office protocol Protocol de oficiu potal

Predictive encoding Codificare predictiv

Presentation layer Nivel prezentare

Pretty good privacy Confidenialitate destul de bun

Primaryrate Viteza primar

Privacy enhanced mail Pot cu faciliti de securitate


Privacy of data Confidenialitatea datelor
Private branch exchange Comutator privat

Private key ring, PGP Inel de chei private, PGP

Program stream, MPEG Fluxul programului, MPEG

Promiscuous mode Mod transparent

Protocol data unit Unitate de date a protocolului


752 DICIONAR PRO... - REA...

Protocol hierarchy Ierarhie de protocoale


Protocol independent multicast Transmitere multipl independent de protocol
Protocol stack Stiv de protocoale
Protocol standard Standard de protocol
Protocol verification Verificarea protocoalelor
Proxy server Server intermediar
Public access terminal Terminal de acces public

Public data network (PDN) Reea public de date

Public domain(PD) Domeniul public

Public key cipher Cifru cu chei publice

Public key cipher system Sistem de cifrare cu chei publice

Public key ring Inel de chei publice

Public switched telephone network Reea telefonic comutat public


Public-key criptography Criptografie cu chei publice
Puise code modulation Modularea impulsurilor n cod
Puise stream Tren de (im)pulsuri
Puise train Tren de (im)pulsuri
Push-to-talk system Sistem cu buton de emisie

0
Quadrature amplitude modulation Modulaia cuadratic n amplitudine

Quantization noise Zgomot de cuantizare

Quoted printable encoding Codificare afiabil marcat

R
Race conditions Condiii de curs
Radio transmission Transmisie radio

Random access channel Canal cu acces aleator


Rate Vitez, rat

Rate-based congestion control Controlul congestiei n funcie de vitez


Reachability analysis Analiza accesibilitii
RE...-RES... DICIONAR 753

R
Re-route A trimite pe o alt rut (cale)
Receiver Receptor
Receiving window Fereastr de recepie
Recode (to) A recodifica
Recoverable error Eroare corectabil

Recoverable error Eroare reparabil

Recovery Recuperare

Recovery Reparare

Recovery Restaurare

Recovery procedure Procedur de revenire din eroare

Recursive query Interogare recursiv

Redundancy checking Verificare prin redundan

Redundant array of inexpensive Tablou redundant de discuri ieftine


disks

Redundant character Caracter pentru controlul erorilor

Redundant code Cod redundant


Reference point, ISDN Punct de referin
Reference station Staie de referin
Reflection attack Atac prin reflectare
Releasing a connection Desfiinarea (eliberarea) unei conexiuni
Remote login Acces de la distan
Remote login Conectare la distan
Remote console (device) Consol (dispozitiv) conectat la distan
Remote terminal Terminal de teleprelucrare
Repeater Repetor
Replay attack Atac prin reluare
Request for commen Cerere pentru comentarii
Request-reply service Serviciu cerere-rspuns
Resolver, DNS Rezolvitor, DNS
Resource management cell Celul de gestiune a resurselor
754 DICIONAR RES...-SEN..

R
Resource record nregistrare de resurse
Resource reservation Rezervare de resurse
Resource reservation protocol Protocol de rezervare a resurselor
Response frame Cadru de rspuns
Retransmission timer, TCP Ceas de retransmitere, TCP
Return to zero signal Cu revenire la zero (semnal)

Reverse address resolution Protocol de conversie invers a adreselor


protocol

Reverse channel Canal de rspuns

Reverse path forwarding Urmrirea cii inverse

Ringbacksystem Sistem cu reapelare

Ring network Reea n inel


Ring, star shaped Inel, configurat n stea
Rounding trip Dus/ntors
Routing Dirijare
Routing Rutare
Routing algorithm Algoritm de dirijare
Run length encoding Codificare dup lungimea apariiilor

S-box Bloc S (substituie)


Satellite computer Calculator satelit
Satellite network Reea satelit
Search engine, World Wide Web Motor (main) de cutare, WWW
Secret-key cryptography Criptografie cu chei secrete
Section sublayer, SONET Subnivel seciune, SONET
Secure hash algorithm Algoritm de dispersie sigur
Selective flooding Inundare selectiv
Selective repeat protocol Protocol de repetare selectiv
Self-checking code Cod autotestabil
Sender Emitor, expeditor
SEN...-SIM... DICIONAR 755

Sendingwindow Fereastr de transmitere


Sequentiel couleur avec memoire Semnalizare pe canal separat
Sequence check Verificarea secvenei (ordinii)
Serial line IP IP de linie serial
Service access point Punct de acces la serviciu
Service data unit Unitate de date de serviciu
Service primitive Primitiv de serviciu
Service provider Furnizor de servicii
Service user Utilizator de servicii
Service specific connection- Protocol orientat pe conexiuni specific serviciului
oriented protocol
Session key Cheie de sesiune
Set-top box Cutie de conectare
Set asynchronous balanced mode Stabilirea modului asincron echilibrat extins
extended
Set normal response mode Stabilirea modului de rspuns normal extins
extended
Severely-errored cell block ratio Fraciunea blocurilor grav eronate
Shared access Acces partajat
Shell account Cont de lucru n linia de comand
Shieldcable Cablu ecranat
Short hul modem Modem de distan scurt
Shortest path routing Dirijare pe calea cea mai scurt
Signal conditioning Condiionarea (mbuntirea) semnalului
Signal to noise ratio Raportul semnal zgomot
Silly window syndrome Sindromul ferestrei stupide
Simple efficient adaptation layer Nivel de adaptare eficient simpl
Simple Internet protocol plus Protocol simplu mbuntit pentru Internet
Simple mail transfer protocol Protocol simplu de transfer al potei
Simple network management Protocol simplu de gestiune a reelei
protocol
756 DICT10NAR SIN...-STR..

Single-bit Mono-bit
Single errors Erori singulare
Single-hop Mono-salt
Single-mode fber Fibr mono-mod
Sink tree vs. Spanning tree Arbore de scufundare / arbore de acoperire
Site Sit, sediu
Site - server Server de sediu, de sit
Sliding window protocol Protocol cu fereastr glisant
Slow start algorithm Algoritm de pornire lent
Smart terminal Terminal inteligent
Smiley Caractere smiley - fa zmbitoare
Snooping agent Agent ascuns
Socket Soclu
Source encoding Codificare bazat pe surs
Source routing Dirijare de la surs
Source routing bridge Punte pentru dirijare de la surs
Space dhision switch Comutator pentru divizare n spaiu
Split horizon Orizont mprit
Spool Virtualizare
Standard generalized markup Limbaj de marcare generalizat standard
language
Star-shaped ring Inel configurat n stea
Star network Reea cu topologie stea
Statistical encoding Codificare statistic
Status poli Testarea strii
Stop-and-wait Pas-cu-pas
Storage hierarchy Ierarhie de memorii
Store-and-forward Memorare si retransmitere
Striping Repartizare
STR...-TIM... DICIONAR 757

Structure of management Structura informaiei de gestiune


information

Stub network Reea-ciot


Style sheet Foaie de stil
Subsplit cable Cablu submprit
Substitution cipher Cifru cu substituie
Supervisoiy frame Cadru de supervizare
Sustained cell rate Viteza mediat de transmitere
Switch hierarchy, telephone Ierarhie de comutatoare, telefon
Switched etheraet Ethernet comutat

Switched multimegabit data Serviciu de date comutat multimegabit


service

Switched virtual circuit Circuit virtual comutat

Switching centre Centru de comutare

Switching fabric, ATM Schem de comutare

Symmetric key cryptography Criptografie cu chei simetrice

Synchronous data link contro! Control sincron al legturii de date

Synchronous payload envelope nveli sincron pentru informaie util

Tandem office Oficii n tandem (din aceeai zon local)

Tap Conexiune, pin

Telematics Telematic

Terminal interface processor Procesor de interfaare a terminalelor

Thin ethernet Ethernet gros

Third part Ter (relativ la un contract)

Thread Subproces

Three-way handshake nelegere n trei pai

Throughput Productivitate

Time division multiplexing Multiplexare cu divizare n timp

Time division switch Comutator cu divizare n timp


758 DICIONAR TTM...-TWL.

Time domain reflectometry Reflectometrie n domeniul timp


Timeout Expirarea timpului
Token Jeton
Token bucket algorithm Algoritmul gleii cu jeton
Token bus LAN (see IEEE 802.4) LAN de tip jeton pe magistral
Token ring LAN LAN de tip jeton pe inel
Token holding time Timp de reinere a jetonului
Toii connecting trunk Trunchiuri care conecteaz centralele de facturare
Tool office Oficii de taxare
Torn tape office Oficiu de tocare a benzilor
Traffic descriptor Descriptor de trafic
Traffic policing Politica de trafic, urmrirea traficului
Traffic shaping Modelarea traficului
Trailer Sfrit (ncheiere, tren)
Transceiver Transiver
Transit network Reea de tranzit
Transmission control protocol Protocol de control al transmisiei
Transponder, satellite Transponder, satelit
Transport entity Entitate de transport
Transport gateway Poart la nivelul transport
Transport layer Nivel transport
Transport stream Flux de transport
Transposition cipher Cifru cu transpoziie
Trap,SNMP Trap, SNMP
Trap directed polling Interogare referitoare la capcane
Tributary, SONET Aservit, SONET
Trunk Trunchi de magistral
Tunneling Trecere prin tunel
Twisted pair Pereche torsadat
UNB...-WID... DICIONAR 759

u
Unbalanced transmission Transmisie neechilibrat
Unconfirmed service Serviciu neconfirmat
Uniform resource locator Adres uniform pentru localizarea resurselor
Universal resource identifier Identificator universal de resurse
Unnumbered frame Cadru nenumerotat
Unshielded twisted pair Pereche torsadat ne-ecranat
Unspecified bit rate service Serviciu cu vitez de transmisie nespecificat
Urgent data Date urgente
User agent Agent utilizator
User datagram protocol Protocolul datagramelor utilizatorilor
User profite Profilul utilizatorilor

V
Vacation daemon Demon de vacan
Variable bit rate service Serviciu cu vitez variabil de transmisie
Vector quantization Cuantizare de vectori
Very small aperture terminal Terminal cu deschidere foarte mic
Video on demand Video la cerere
Voice-grade line Linie telefonic
Voice - grade line Linie de calitate vocal

w
Wavelenght division multiple Acces multiplu cu divizarea lungimii de und
access
Wavelength division multiplexing Multiplexare cu divizarea lungimii de und
Web ncrengtur
Web page Pagin de Web
Weighted fair queueing Cozi echitabil ponderate
Well-known ports Porturi general cunoscute
Wide area network (WAN) Reea larg rspndit geografic
Wide-mouth frog protocol Protocolul broasca-cu-gura-mare
760 DICIONAR WIR...-WOR.,

W
Wire center Centru de cablaj
(Wo)men-n the-middle Omul-din-mijloc
Wireline carrier Furnizor de telefonie prin fir
Working n funciune
Workstation Staie de lucru
World wide web Lumea ca o pnz de pianjen
Worm Vierme
INDEX

ARPANET, 32,41,44,45,46,47,48,65,80,
330,333,385,529,536,578,585,598,
605
AAL, xvi, 58,59, 60,61,279,419,437,454,506, ARQ, 186
507,508,509,510,511,512,513,514, ASN.l, 588,589,590,591,592,593,594,597,
515,516,533,535,638 621
AAL 1,507,509,510,511,512,514,515,535 ATM, xv, xvi, 41,56,57,58,59,60,61,66,67,
AAL 2,510,511,512,515,535 70,71,116,117,119,132,133,135,
AAL 3/4,507,511,512,513,514,515,535 136,137,138,139,143,158,162,208,
217,218,220,221,223,301,303,315,
AAL 5,506,507,514,515,516,535,638
317,320,321,352,353,360,361,363,
ABR, 419,425,426,427,434,436,443,507 364,367,377,378,416,417,418,419,
ACR, 436 420,421,422,424,425,426,427,429,
ADC, 670 433,434,436,437,438,439,441,442,
ALOHA, 228,229,230,231,232,233,234,235, 443,454,470,475,506,507,508,509,
237,239,249,251,255,304,305,306, 514,515,516,517,527,532,533,535,
307,308,309,310,311,314 638
AMPS, xvi, 146,148,149,150,151,158,246,
249,309 B
ANSI, 64,208,255,301,302
ANSNET, 48 BGP, xvi, 398,399,406,438
ARP, xvi, 389,391,392,401,437,438,442,443 BITNET, 49
Blanca, 51
BOC, 97

761
762 INDEX C-H

BOOTP, 389,393 DSMA, 250,251


BUS, 437 DSS,573
DTE, 105,106

E
CASA, 52
CBR, 425,426,427,433,434,507 EARN,49
CDMA, xvi, 246,251,252,254,255,304,308, ER, 436
309,310,311,312
CDPD, xvi, 14,246,249,250,251,309,310,338
CDV,428
CER, 428,429 FAQ, xvi, 615,624
CGI, 653,654,667 FCC, 88,92,147,148,151,155
CIDR, 402,403,405 FDDI, 135,136,217,218,295,296,297,298,
CLR, 428 300,301,303,309,310,314,390,391,
392
CLUT,676
FDM, xvi, 109,110,111,135,148,150,153,158,
CMR, 428,429
160,226,227,240,249,251,252,304,
Consiliul Arhitecturii Internet, 65 306,308,309,310
CSMA, xvi, 232,233,234,235,237,244,246, FTP, xvi, 35,49,317,381,407,486,609,613,
251,255,256,262,265,291,304,309,
637,638,641,642,643,656,665
310,311,312,313
FTTC,xvi,107,110
CSMA/CD, 234,235,255,256,265,291,304,
FTTH, xvi, 107,159
309,310,311,312,313
CSNET, 46
CTD, 428
G
CVDT, 427 GCRA, 429,431,432
Gopher, 637,641,642,643
D GSM, xvi, 150,151,246,247,248,249,251,309,
310,311
DCE, iv, 105,106
DCS,247,602
DES, 413,415,547,548,549,550,551,552,553,
H
554,557,558,569,574,619,620 HDLC, xvi, 67,208,210,211,214,215,219,221,
DMSP, 614 222,223,282
DNS, xvi, 35,46,391,406,537,577,578,580,
HDTV, 133,674,682
581,582,583,584,585,600,604,635,
HEC, xvi, 217,218,219,220,419,424
641,659,669
HEPNET, 49
domeniu, 5,15,37,51,64,101,109,110,132,
153,159,222,227,243,244,265,266, fflPPI, xvi, 301,302,303,309,310,314
300,301,321,341,342,368,406,409, HTML xvi, 608,631,637,640,641,643,644,
420,423,539,568,578,579,580,581, 645,646,647,648,649,650,651,654,
582,583,584,652,677 .j ; 656
DQDB, xvi, 10,52,53,56,61,68,279,280,309, HTTP, 35,634,636,637,638,639,640,642,
310 644,653,656
I-M INDEX 763

TU, xvi, 62,63,64,65,87,102,419,436,507,


I
511,514,590,619,679
IAB, xvi, 65,66 ITU-R,63,88
IBM, 9,38,40,42,47,54,62,77,208,271,273, ITU-T,63,64,65
285,291,303,314,398,547,551,553 IXC, 98,99
ICMP, xvi, 389,390,400,406,411,412,438,
501,595,596
IDEA, xvi, 554,555,558,616,617,620
IDU, 21 Java, xvi, 631,654,655,656,657,658,659,660,
IEEE, 9,10,65,66,235,245,246,255,260,266, 661,662,664,665
267,271,279,280,282,285,287,288, JPEG, 607,608,647,679,680,682,683,684
298,299,303,310,406,551,657
IEEE 802,9,65,235,245,246,255,266,271, K
279,280,285,287,303,310
IGMP, 400,406 KDC, 559,564,565,566,567

IMAP, 614 Kerberos, 567,568

IMP, 43,44,45,47
IMTS, 146,147
IP, xv, 26,32,33,34,35,36,37,38,39,40,42,
46,47,48,49,54,58,66,68,69,136, LAN, 9,10,11,14,15,41,43,46,52,53,58,68,
212,213,214,216,223,249,281,282, 85,129,135,169,211,225,226,227,
303,317,320,321,338,367,369,370, 228,229,234,241,243,244,245,255,
371,373,374,375,377,381,382,383, 261,265,266,267,271,278,279,280,
385,386,387,388,389,390,391,392, 282,283,284,285,286,287,288,289,
393,394,397,399,400,401,402,403, 290,291,292,293,294,295,298,301,
405,406,408,410,413,414,415,416, 302,309,310,311,312,314,316,334,
426,437,438,440,442,454,485,486, 338,341,342,369,370,387,388,390,
487,488,489,490,491,495,503,504, 397,400,401,416,424,436,437,438,
515,521,526,527,534,535,578,580, 440,441,442
581,582,583,584,585,593,595,596, LAP, 208
613,635,641,663 LATA, xvi, 98
IPRA, 619,620,621 LCP, 213,214,215,216
Pv4,405,406,408,409,410,412,413,414,415, LEC,98,99
442 LES, 437
IPv5,406 LS, 438
IPX, 42,214,282,330,338,367,369,370,371, LLC, 255,282,284
373,409
ISDN, xvi, 52,56,116,120,128,129,130,131,
132,133,144,158,161,295,297,421
M
ISDN de band ngust, 133,158
MAC, xvi, 225,234,235,243,255,260,266,267,
ISDN de band larg, xvi, 52,56,120,132,133, 269,274,282,284,295,297,298,369,
158 376,438
IS-IS, 338 MACA, xvi, 245,246,309,310,311
ISO, xvi, 26,27,38,64,65,66,208,255,338, MACAW,245,246,309
369,578,590,592,643,646,679,682
764 INDEX N-S

MAN, xvi, 10,52,53,61,80,226,227,279,281,


282,309,310,313,341,536
MBone, 669 PAD, 55
MCR, 427,428,436 PAL, 673, 679, 682
MD5,413,415,574,575,577,616,617,619 PBX, 130,131,132
MIB, xvi, 587,590,594,595,596 PCA, 620
MIDI, 671 PCM, xvi, 112,114,115,116,118,131,160, 295,
MILNET, 46 297, 298, 306, 425
MIME, xvi, 605,606,607,608,617,637,638, PCN, xvi, 151,155,156,158
639, 640,668 PCR, 427,428, 429, 432, 436,443
MNP, 103 PCS,xvi, 151,155,156,158,162
Mosaic, 50,631, 644 PDU, 21
MOllS, 369,598 PEM, xvi, 615,619,620,621
MPEG, 425,607,608,609,679,682,683,684 PGP, xvi, 577, 615, 616, 617, 618, 619, 620, 621
MTSO, 147,148,149 POP, 98, 614
MTU, 487 POP3, 614
POTS, 56
N PPP, xvi, 67, 212, 213, 214, 215, 221, 223, 634
PSTN, xvi, 94
NAK, 201, 222
PTT, xvi, 62, 63,129,374
NAP, xvi, 48
PVC, xvi
NCP, 42,43,213,214,215,216,367
NETBLT, 532
NIC, 386,387,388
Q
N-ISDN, 71,132, 682 QAM, xvi, 102
NIST, 65,255,573,574,575 QoS, 427, 429, 447
NNTP, xvi, 35,627,628, 630, 642
Novell, 41,42,68,69,212,330, 338,367,409 R
NREN, 48,51
NSA, xvi, 551,554,573,574 RARP, xvi, 389,393,438,442,517
NSAP, xvi, 409,454,455,457,594 RFC, xvi, 66, 212, 213, 214, 216,317,384, 390,
NSFNET, 41,46, 47,48, 338 391, 393, 399, 400, 403, 405, 406, 410,
438, 485, 486,491, 504,515,575,585,
NT1,129,130,131,161
593,596,597, 604, 605,606, 607,608,
NT2,130,161
609, 611, 612,613,614,617, 619,626,
NTSC, 672,673,679,682 627, 637,638,639,640
RSVP, 365,429
O
OAM, 115, 218
OC, 118 SABME, xvi, 210
OSPF, xvi, 338,393,394,395,396,397,398, SAP, xvi, 21, 43,68, 454
400,406, 438 SCR, 427,428,432
T-X INDEX 765

SDH, xvi, 115,118 472, 474,517, 518, 520,523,525,526,


SDLC, xvi, 208, 210, 221 527,535,536
SDU, 21 TSAP, 454, 455, 456,457,474,485, 489
SEAL, 514
SECAM, 673, 679 U
SGML, 608,643
UBR, 425,426, 427,433,434,507
SHA, xvi, 574,575
UDP, xvi, 34, 67, 69,241, 320,381,384,393,
SIPP, 406
406, 408,410, 485, 504, 506, 517,521,
SLIP, 67, 212, 213, 214, 221, 634 535,578,584,595,596
SMDS, 52,53, 54,56, 61, 68, 70,156, 350 URI, 643
SMI, xvi, 593,594 URL, 634, 635, 640, 641, 642, 643, 648, 653,
Smiley, 624 666, 667,668
SMTP, 35,610,611,612,613,627,636 UTP, 77, 299
SNA, xv, xvi, 38,208,367,373
SNMP, xvi, 585,586,587,588,589,590,591,
592,593, 594,595, 596, 597
SNRME, xvi, 210 V.24, 63,105
SONET, 41,57, 67,109,115,116,117,118,119, V.32,102,103
135,136,160,162, 214, 215, 217,218, VBR, 425,433,434
219, 675 VISTAnet, 52
SPADE, 306,309 VSAT, xvi, 153,154
SPN, 49
SPE, 116,117,118,119, 219
SPX,xvi,42
w
SSCOP, 516 WAN, 11,12,15, 47,166,225, 249, 291, 303,
316,340,341,369,374,375,392,446
WARC, xvi, 88
WDM,xvi, 110,158
TCP, xv, xvi, 26, 32, 33, 34, 35, 36, 37, 38, 39, 40, WDMA, 241, 243,311
42,46, 47, 48, 49,58, 66, 67, 68, 69,
Web, xvi, xvii, 5,35,49,132,211,300,381,521,
212, 213, 317, 320, 367, 372, 374, 381,
537,597, 608, 631, 632, 633, 634, 635,
384, 398, 406, 408, 410, 451, 452,455,
636, 638, 639, 640, 642, 643, 644,645,
485, 486, 487, 488,489, 490, 491,492,
647, 648,650,652,653, 654,655,656,
493,494,495,496,497,498,500,501,
659,663,664, 665, 666, 667, 668
502,503, 504,505,506,516, 517,521,
526,527,529,533,534,535,578,593, WWW, xvi, 49,50,177,506,602,630,634,635,
595,596,610, 611,613, 627, 628,630, 636, 639, 641,644,645,654, 665
634, 635, 636, 637, 638, 641, 653,668 WYSIWYG, xvii, 643,644
TDM, 109,115,150,158,160,227,240,247,
248, 249, 251, 252, 278, 304, 306,307, X
308, 309, 310, 377
TIP, 45 X.21,55
TPDU, 449, 450,451, 452, 457, 458,459,460, X.3,55
462, 464, 465, 466,467, 468, 469,470, X.400,598,600,612,613,619,620,621
1998 Gxnputer Press AGORA
http://wuw.agora.ro

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