Sunteți pe pagina 1din 800

Reele de calculatoare

E D I I A A P A T R A











Andrew S. Tanenbaum
Universitatea Vrijie
Amsterdam, Olanda









2003 Byblos srl, www.byblos.ro


Traducere:
Colectivul de coordonare:
prof. dr. ing. Valentin Cristea
prof. dr. ing. Eugenia Kalisz
prof. dr. ing. Nicolae pu

Colectivul de traductori:
as.ing. Ana Vrbnescu
stud. Corina Stratan
prep. ing. Sabina erbu
ing. Mihaela Negru
prep. ing. Natalia Costea
as. ing. Rzvan Rughini
prep. ing. Liviu Dragomirescu
stud. Octavian Udrea
stud. Bogdan Viinescu
ing. Mihaela Nea
stud. Vlad Sima
stud. Ctlin Crstoiu
stud. Mihai Mircea
stud. Cristi Orban
stud. Ozana Dragomir
stud. Andrei Agapi
stud. Ana Maria Oprescu
stud. Ionu Frujin
stud. Gabi Ghini
stud. Paul Chiri
ing. Raluca Busurca
stud. Vlad Panait
ing. Octavian Purdil
stud. Radu Niculi
stud. Ctlin Coman

Pregtire, design, producie:
Mihai Scoraru, Claudiu Soroiu, Adrian Pop

Editat de BYBLOS s.r.l., 2003
Bucureti, Str. Constantin Rdulescu Motru 13/42, Tel: +40-(0)21-3309281

Sub licen Pearson Education, Inc. dup:
Computer Networks, 4
th
ed. de Andrew S. Tanenbaum
2003, 1996 by Pearson Education, Inc., Prentice-Hall PTR
Upper Saddle River, New Jersey 07458

Tiprit n Romnia, la MASTER DRUCK,
3400 Cluj-Napoca, Str. Liebknecht 2, Tel: +40-(0)264-432497

ISBN: 973-0-03000-6

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.

Toate numele produselor menionate aici sunt mrci nregistrate ale respectivilor proprietari.






Reele de calculatoare
E D I I A A P A T R A



Pentru Suzanne, Barbara, Marvin i n memoria lui Bram i a lui Sweetie

















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

Sisteme distribuite: principii i paradigme

Aceast nou carte, scris mpreun cu Maarten van Steen, prezint att principiile, ct i para-
digmele sistemelor distribuite moderne. n prima parte sunt tratate n detaliu principiile de co-
municare, procesele, numele, sincronizarea, consistena i replicarea, tolerana la erori i securi-
tatea. n cea de-a doua parte se trece la prezentarea unor paradigme diferite folosite pentru
crearea sistemelor distribuite, inclusiv sisteme bazate pe obiecte, sisteme distribuite de fiiere,
sisteme bazate pe documente i sisteme bazate pe coordonare. Sunt discutate pe larg numeroa-
se exemple.

Sisteme de operare moderne, ediia a doua

Acest text de mare succes prezint n detaliu principiile sistemelor de operare i le ilustreaz cu
ajutorul a numeroase exemple inspirate din lumea real. Dup un prim capitol introductiv, ur-
mtoarele cinci capitole trateaz conceptele de baz: procese i fire de execuie, situaii de bloca-
re, gestiunea memoriei, operaii de intrare/ieire. Urmtoarele ase capitole trateaz noiuni mai
avansate, incluznd sisteme multimedia, sisteme multiprocesor, securitate. La sfritul crii sunt
prezentate dou studii de caz detaliate: UNIX/Linux i Windows 2000.

Organizarea structurat a calculatoarelor, ediia a patra

Aceast carte clasic, citit n lumea ntreag i ajuns acum la cea de-a patra ediie, furnizeaz
introducerea ideal n studiul arhitecturii calculatoarelor. Subiectul este prezentat ntr-o manier
uor de neles ncepnd cu prezentarea conceptelor de baz. Exist un capitol dedicat ncepto-
rilor care prezint logica digital, urmat de capitole n care sunt prezentate microarhitectura, se-
tul de instruciuni de la nivelul arhitecturii, sistemele de operare, limbajul de asamblare i
arhitecturile paralele de calculatoare.

Sisteme de operare: proiectare i implementare, ediia a doua

Acest text despre sisteme de operare, scris mpreun cu Albert S. Woodhull, este singura carte ce
acoper att principiile sistemelor de operare ct i aplicaiile acestora la un sistem real. Sunt tra-
tate 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. Fiecare carte conine un CD-ROM care conine sistemul MINIX complet (cod binar
i surs). Codul surs este prezentat ntr-o anex a crii i este explicat n detaliu n text.

v


CUPRINS

PREFA XVII
1. INTRODUCERE 1
1.1 UTILIZRILE REELELOR DE CALCULATOARE 2
1.1.1 Aplicaii comerciale 3
1.1.2 Aplicaii domestice 5
1.1.3 Utilizatorii mobili 9
1.1.4 Aspecte sociale 11
1.2 HARDWARE-UL REELEI 13
1.2.1 Reele locale 15
1.2.2 Reele metropolitane 16
1.2.3 Reele larg rspndite geografic 17
1.2.4 Reele fr fir 19
1.2.5 Reelele casnice (Home networks) 21
1.2.6 Inter-reelele 23
vi CUPRINS

1.3 PROGRAMELE DE REEA 24
1.3.1 Ierarhiile de protocoale 24
1.3.2 Probleme de proiectare a nivelurilor 28
1.3.3 Servicii orientate pe conexiuni i servicii fr conexiuni 29
1.3.4 Primitive de serviciu 31
1.3.5 Relaia dintre servicii i protocoale 33
1.4 MODELE DE REFERIN 34
1.4.1 Modelul de referin OSI 34
1.4.2 Modelul de referin TCP/IP 37
1.4.3 O comparaie ntre modelele de referin OSI i TCP 40
1.4.4 O critic a modelului i protocoalelor OSI 41
1.4.5 O critic a modelului de referin TCP/IP 43
1.5 EXEMPLE DE REELE 44
1.5.1 Internet 44
1.5.5 Reele orientate pe conexiune 53
1.5.3 Ethernet 59
1.5.4 Reele fr fir: 802.11 61
1.6 STANDARDIZAREA REELELOR 64
1.6.1 Whos Who n lumea telecomunicaiilor 64
1.6.2 Whos Who n lumea standardelor internaionale 66
1.6.3 Whos Who n lumea standardelor Internet 68
1.7 UNITI DE MSUR 69
1.8 RESTUL CRII N REZUMAT 70
1.9 REZUMAT 71
1.10 PROBLEME 72
2. NIVELUL FIZIC 77
2.1 BAZELE TEORETICE ALE COMUNICRII DE DATE 77
2.1.1 Analiza Fourier 78
2.1.2 Semnalele cu band de frecven limitat 78
2.1.3 Viteza maxim de transfer de date a unui canal 81
CUPRINS vii


2.2 MEDII DE TRANSMISIE GHIDAT 82
2.2.1 Medii magnetice 82
2.2.2 Cablul torsadat 83
2.2.3 Cablu Coaxial 84
2.2.4 Fibre optice 84
2.3 COMUNICAIILE FR FIR 90
2.3.1 Spectrul electromagnetic 91
2.3.2 Transmisia radio 93
2.3.3 Transmisia prin microunde 94
2.3.4 Undele infraroii i milimetrice 97
2.3.5 Transmisia undelor luminoase 97
2.4 SATELII DE COMUNICAIE 98
2.4.1 Satelii geostaionari 99
2.4.2 Satelii de altitudine medie 103
2.4.3 Satelii de joas altitudine 103
2.4.4 Sateliii n comparaie cu fibrele optice 105
2.5 SISTEMUL TELEFONIC 107
2.5.1 Structura sistemului telefonic 107
2.5.2 Politica din domeniul telefonic 110
2.5.3 Bucla local: Modemuri, ADSL i transmisia fr fir 112
2.5.4 Trunchiuri i multiplexare 123
2.5.5 Comutarea 132
2.6 SISTEMUL DE TELEFONIE MOBIL 136
2.6.1 Prima generaie de telefoane mobile: Voce analogic 137
2.6.2 A doua generaie de telefoane mobile: Voce digital 141
2.6.3 A treia generaie de telefoane mobile: Voce digital i date 149
2.7 TELEVIZIUNEA PRIN CABLU 151
2.7.1 Televiziune prin antena colectiv 151
2.7.2 Internet prin cablu 152
2.7.3 Alocarea de spectru 154
2.7.4 Modemuri de cablu 155
2.7.5 Comparaie ntre ADSL i cablu 157
2.8 REZUMAT 158
viii CUPRINS

2.9 PROBLEME 159
3. NIVELUL LEGTUR DE DATE 165
3.1 ASPECTE ALE PROIECTRII NIVELULUI LEGTUR DE DATE 166
3.1.1 Servicii oferite nivelului reea 166
3.1.2 ncadrarea 169
3.1.3 Controlul erorilor 172
3.1.4 Controlul fluxului 173
3.2 DETECTAREA I CORECTAREA ERORILOR 173
3.2.1 Coduri corectoare de erori 174
3.2.2 Coduri detectoare de erori 176
3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 179
3.3.1 Un protocol simplex fr restricii 183
3.3.2 Un protocol simplu Stop-and-Wait (pas-cu-pas) 184
3.3.3 Un protocol simplex pentru un canal cu zgomote 186
3.4 PROTOCOALE CU FEREASTR GLISANT 189
3.4.1 Un protocol cu fereastr glisant de un bit 191
3.4.2 Un protocol de revenire cu n pai (Go Back n) 194
3.4.3 Un protocol cu repetare selectiv 199
3.5 VERIFICAREA PROTOCOALELOR 204
3.5.1 Modele de tip automat finit 204
3.5.2 Modele de tip reea Petri 207
3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 209
3.6.1 HDLC - Controlul de nivel nalt al legturii de date 209
3.6.2 Nivelul legturii de date n Internet 212
3.7 REZUMAT 216
3.8 PROBLEME 217

CUPRINS ix


4. SUBNIVELUL DE ACCES LA MEDIU 223
4.1 PROBLEMA ALOCRII CANALULUI 224
4.1.1 Alocarea static a canalului n reelele LAN i MAN 224
4.1.2 Alocarea dinamic a canalului n reelele LAN i MAN 225
4.2 PROTOCOALE CU ACCES MULTIPLU 226
4.2.1 ALOHA 226
4.2.2 Protocoale cu acces multiplu i detecie de purttoare 230
4.2.3 Protocoale fr coliziuni 233
4.2.4 Protocoale cu conflict limitat 235
4.2.5 Protocoale cu acces multiplu cu divizarea frecvenei 238
4.2.6 Protocoale pentru reele LAN fr fir 241
4.3 ETHERNET 243
4.3.1 Cablarea Ethernet 244
4.3.2 Codificarea Manchester 247
4.3.3 Protocolul subnivelului MAC Ethernet 248
4.3.4 Algoritmul de regresie exponenial binar 250
4.3.5 Performanele Ethernet-ului 251
4.3.6 Ethernetul comutat 253
4.3.7 Ethernet-ul rapid 254
4.3.8 Ethernetul Gigabit 257
4.3.9 IEEE 802.2: Controlul legturilor logice 260
4.3.10 Retrospectiva Ethernetului 261
4.4 REELE LOCALE FR FIR 262
4.4.1. Stiva de protocoale 802.11 262
4.4.2. Nivelul fizic al 802.11 263
4.4.3 Protocolul subnivelului MAC al 802.11 265
4.4.4 Formatul cadrului 802.11 269
4.4.5 Servicii 270
4.5 REELE FR FIR DE BAND LARG 271
4.5.1 Comparaie ntre 802.11 i 802.16 272
4.5.2 Stiva de protocoale 802.16 273
4.5.3 Nivelul fizic 802.16 274
4.5.4 Protocolul subnivelului MAC la 802.16 276
4.5.5 Structura cadrului 802.16 278
x CUPRINS

4.6 BLUETOOTH 278
4.6.1 Arhitectura Bluetooth 279
4.6.2 Aplicaii Bluetooth 280
4.6.3 Stiva de protocoale Bluetooth 281
4.6.4 Nivelul Bluetooth radio 282
4.6.5 Nivelul band de baz Bluetooth 283
4.6.6 Nivelul L2CAP Bluetooth 284
4.6.7 Structura cadrului Bluetooth 284
4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 285
4.7.1 Puni de la 802.x la 802.y 287
4.7.2 Interconectarea local a reelelor 289
4.7.3 Puni cu arbore de acoperire 290
4.7.4 Puni aflate la distan 292
4.7.5 Repetoare, Noduri, Puni, Comutatoare, Rutere i Pori 292
4.7.6 LAN-uri virtuale 295
4.8 REZUMAT 302
4.9 PROBLEME 303
5. NIVELUL REEA 309
5.1 CERINELE DE PROIECTARE ALE NIVELULUI REEA 309
5.1.1 Comutare de pachete de tip Memoreaz-i-Retransmite (Store-and-Forward) 310
5.1.2 Servicii furnizate nivelului transport 310
5.1.3 Implementarea serviciului neorientat pe conexiune 311
5.1.4 Implementarea serviciilor orientate pe conexiune 313
5.1.5 Comparaie ntre subreele cu circuite virtuale i subreele datagram 314
5.2 ALGORITMI DE DIRIJARE 315
5.2.1 Principiul optimalitii 317
5.2.2 Dirijarea pe calea cea mai scurt 318
5.2.3 Inundarea 320
5.2.4 Dirijare cu vectori distan 321
5.2.5 Dirijarea folosind starea legturilor 324
5.2.6 Dirijare ierarhic 329
5.2.7 Dirijarea prin difuzare 331
5.2.8 Dirijarea cu trimitere multipl (multicast) 333
CUPRINS xi


5.2.9 Dirijarea pentru calculatoare gazd mobile 334
5.2.10 Dirijarea n reele AD HOC 337
5.2.11 Cutarea nodurilor n reele punct la punct 341
5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 345
5.3.1 Principii generale ale controlului congestiei 347
5.3.2 Politici pentru prevenirea congestiei 348
5.3.3 Controlul congestiei n subreelele bazate pe circuite virtuale 349
5.3.4 Controlul congestiei n subreele datagram 351
5.3.5 mprtierea ncrcrii 353
5.3.6 Controlul fluctuaiilor 355
5.4 CALITATEA SERVICIILOR 356
5.4.1 Cerine 356
5.4.2 Tehnici pentru obinerea unei bune caliti a serviciilor 357
5.4.3 Servicii integrate 367
5.4.4 Servicii difereniate 370
5.4.5 Comutarea etichetelor i MPLS 372
5.5 INTERCONECTAREA REELELOR 374
5.5.1 Prin ce difer reelele 376
5.5.2 Cum pot fi conectate reelele 377
5.5.3 Circuite virtuale concatenate 378
5.5.4 Interconectarea reelelor fr conexiuni 379
5.5.5 Trecerea prin tunel 380
5.5.6 Dirijarea n reele interconectate 382
5.5.7 Fragmentarea 383
5.6 NIVELUL REEA N INTERNET 386
5.6.1 Protocolul IP 388
5.6.2 Adrese IP 391
5.5.4 Protocoale de control n Internet 401
5.5.5 Protocolul de dirijare folosit de porile interioare: OSPF 406
5.6.5 Protocolul de dirijare pentru pori externe: BGP 411
5.6.6 Trimiterea multipl n Internet 412
5.6.7 IP mobil 413
5.6.8 IPv6 415
5.7 REZUMAT 423
xii CUPRINS

5.8 PROBLEME 423
6. NIVELUL TRANSPORT 431
6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 431
6.1.1 Servicii furnizate nivelurilor superioare 431
6.1.2 Primitivele serviciilor de transport 433
6.1.3 Socluri Berkeley 436
6.1.4 Un exemplu de programare cu socluri: server de fiiere pentru Internet 437
6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 441
6.2.1 Adresarea 442
6.2.2 Stabilirea conexiunii 445
6.2.3 Eliberarea conexiunii 449
6.2.4 Controlul fluxului i memorarea temporar (buffering) 453
6.2.5 Multiplexarea 457
6.2.6 Refacerea dup cdere 458
6.3 UN PROTOCOL SIMPLU DE TRANSPORT 460
6.3.1 Primitivele serviciului ales ca exemplu 460
6.3.2 Entitatea de transport aleas ca exemplu 461
6.3.3 Exemplul vzut ca un automat finit 468
6.4 PROTOCOALE DE TRANSPORT PRIN INTERNET: UDP 471
6.4.1. Introducere n UDP 471
6.4.2. Apel de procedur la distan (Remote Procedure Call) 472
6.4.3 Protocolul de transport n timp real Real-Time Transport Protocol 474
6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 477
6.5.1 Introducere n TCP 477
6.5.2 Modelul serviciului TCP 478
6.5.3 Protocolul TCP 480
6.5.4 Antetul segmentului TCP 481
6.5.5 Stabilirea conexiunii TCP 484
6.5.6 Eliberarea conexiunii TCP 485
6.5.7 Modelarea administrrii conexiunii TCP 485
6.5.8 Politica TCP de transmisie a datelor 487
6.5.9 Controlul congestiei n TCP 490
6.5.10 Administrarea contorului de timp n TCP 493
CUPRINS xiii


6.5.11 TCP i UDP n conexiune fr fir 496
6.5.12 TCP Tranzacional 498
6.6 ELEMENTE DE PERFORMAN 499
6.6.1 Probleme de performan n reelele de calculatoare 500
6.6.2 Msurarea performanelor reelei 502
6.6.3 Proiectarea de sistem pentru performane superioare 504
6.6.4 Prelucrarea rapid a TPDU-urilor 507
6.6.5 Protocoale pentru reele gigabit 510
6.7 REZUMAT 514
6.8 PROBLEME 515
7. NIVELUL APLICAIE 521
7.1 DNS - SISTEMUL NUMELOR DE DOMENII 521
7.1.1 Spaiul de nume DNS 522
7.1.2 nregistrri de resurse 524
7.1.3 Servere de nume 527
7.2 POTA ELECTRONIC 529
7.2.1 Arhitectur i servicii 530
7.2.2 Agentul utilizator 532
7.2.3 Formatele mesajelor 534
7.2.4 Transferul mesajelor 540
7.2.5 Livrarea final 543
7.3 WORLD WIDE WEB 548
7.3.1 Aspecte arhitecturale 549
7.3.2 Documente Web statice 564
7.3.3 Documente Web dinamice 576
7.3.4 HTTP HyperText Transfer Protocol 583
7.3.5 mbuntiri ale performanei 588
7.3.6 Web-ul fr fir 593
7.4 MULTIMEDIA 602
7.4.1 Introducere in sunetele digitale 603
7.4.2 Compresia audio 605
7.4.3 Fluxuri audio 607
xiv CUPRINS

7.4.4 Radio prin Internet 610
7.4.5 Voce peste IP 613
7.4.6 Introducere la video 618
7.4.7 Compresia video 621
7.4.8 Video la cerere 628
7.4.9 MBone - Coloana vertebral pentru trimitere multipl 634
7.5 REZUMAT 637
7.6 PROBLEME 638
8. SECURITATEA REELELOR 645
8.1 CRIPTOGRAFIA 648
8.1.1 Introducere n criptografie 648
8.1.2 Cifrurile cu substituie 651
8.1.3 Cifrurile cu transpoziie 652
8.1.4 Chei acoperitoare 653
8.1.5 Dou principii criptografice fundamentale 657
8.2 ALGORITMI CU CHEIE SECRET 658
8.2.1 DES Data Encryption Standard 660
8.2.2 AES Advanced Encryption Standard 662
8.2.3 Moduri de cifrare 666
8.2.4 Alte cifruri 670
8.2.5 Criptanaliza 671
8.3 ALGORITMI CU CHEIE PUBLIC 671
8.3.1 RSA 672
8.3.2 Ali algoritmi cu cheie public 674
8.4 SEMNTURI DIGITALE 674
8.4.1 Semnturi cu cheie simetric 675
8.4.2 Semnturi cu cheie public 676
8.4.3 Rezumate de mesaje 677
8.4.4 Atacul zilei de natere 681
8.5 GESTIONAREA CHEILOR PUBLICE 682
8.5.1 Certificate 683
8.5.2 X.509 684
CUPRINS xv


8.5.3 Infrastructuri cu chei publice 685
8.6 SECURITATEA COMUNICAIEI 688
8.6.1 IPsec 689
8.6.2 Ziduri de protecie 692
8.6.3 Reele private virtuale 695
8.6.4 Securitatea n comunicaiile fr fir 696
8.7 PROTOCOALE DE AUTENTIFICARE 700
8.7.1 Autentificare bazat pe cheie secret partajat 701
8.7.2 Stabilirea unei chei secrete: schimbul de chei Diffie-Hellman 705
8.7.3 Autentificarea folosind un Centru de Distribuia Cheilor 707
8.7.4 Autentificarea folosind Kerberos 709
8.7.5 Autentificarea folosind criptografia cu cheie public 711
8.8 CONFIDENIALITATEA POTEI ELECTRONICE 712
8.8.1 PGP-Pretty Good Privacy (rom.: Confidenialitate Destul de Bun) 712
8.8.2 PEM-Privacy Enhanced Mail (Pot cu Confidenialitate Sporit) 716
8.8.3 S/MIME 717
8.9 SECURITATEA WEB-ULUI 717
8.9.1 Pericole 718
8.9.2 Sigurana numelor 718
8.9.3 SSL Nivelul soclurilor sigure (Secure Sockets Layer) 725
8.9.4 Securitatea codului mobil 728
8.10 IMPLICAII SOCIALE 730
8.10.1 Confidenialitate 731
8.10.2 Libertatea de exprimare 733
8.10.3 Dreptul de autor 736
8.11 REZUMAT 738
8.12 PROBLEME 739
9. RECOMANDRI DE LECTUR I BIBLIOGRAFIE 745
9.1 SUGESTII PENTRU LECTURI VIITOARE 745
9.1.1 Lucrri introductive i generale 746
9.1.2 Nivelul fizic 747
xvi CUPRINS

9.1.3 Nivelul legtur de date 749
9.1.4 Subnivelul de control al accesului la mediu 750
9.1.5 Nivelul reea 751
9.1.6 Nivelul transport 753
9.1.7 Nivelul aplicaie 753
9.1.8 Securitatea reelelor 754
9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 756
INDEX 777

xvii


PREFA


Aceast carte este acum la a patra 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 curiozita-
te 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 Internet-ul, au devenit
o realitate zilnic pentru milioane de oameni. Noutatea celei de a patra ediii o reprezint evoluia
rapid a reelelor fr fir, n numeroase forme.
Imaginea reelelor de calculatoare s-a modificat radical de la ediia a treia. n anii 90 a existat o
varietate de reele de tip LAN i WAN, mpreun cu stivele de protocoale aferente. n anul 2003,
singura reea de tip LAN larg utilizat ce utilizeaz mediul ghidat de transmisie este Ethernet i
practic toate reelele WAN existente sunt conectate la Internet. n consecin, o important cantita-
te de informaie referitoare la reelele mai vechi a fost nlturat.
Oricum, noile realizri n domeniu sunt i ele consistente. Cel mai important progres l-au nregis-
trat comunicaiile fr fir, inclusiv 802.11, buclele locale de telefonie fr fir, a doua i a treia genera-
ie de reele celulare (2G i 3G), Bluetooth, WAP, i-mode i altele. n consecin, a fost adugat o
important cantitate de informaie despre reelele fr fir. Un alt subiect important de actualitate
este securitatea n reele, pentru care a fost adugat n carte un capitol separat.
Dei cap. 1 are aceeai funcie introductiv pe care o avea i n ediia a treia, cuprinsul a fost
revizuit i actualizat. De exemplu, sunt prezentate introduceri despre Internet, Ethernet, reele
LAN fr fir, mpreun cu istoricul i originile acestora. Sunt tratate pe scurt i reelele pentru
utilizatori casnici.
xviii PREFA

Cap. 2 a fost restructurat ntr-o oarecare msur. Dup o scurt introducere n principiile
comunicaiilor de date, exist trei seciuni majore despre transmisii (prin medii ghidate, medii
fr fir i satelii) urmate de nc trei seciuni cu studii de caz (reele comutate de telefonie
public, reele de telefonie mobil i reele de televiziune prin cablu). Printre noile subiecte
expuse n acest capitol se numr ADSL, comunicaia fr fir n band larg, reele metropoli-
tane fr fir, accesul Internet prin cablu i DOCSIS.
Cap. 3 s-a ocupat dintotdeauna cu principiile fundamentale ale protocoalelor punct-la-punct.
Ideile expuse aici au rmas n vigoare timp de decenii. Ca urmare succesiunea detaliat de exemple
de protocoale prezentate n acest capitol a rmas practic neschimbat de la a treia ediie.
Din contr, n zona subnivelului MAC a existat o activitate intens n ultimii ani, aa c
s-au produs multe schimbri n cap. 4. Seciunea dedicat Ethernet-ului a fost extins pen-
tru a include i Gigabit Ethernet. S-au introdus seciuni complet noi despre LAN-uri fr
fir, comunicaie fr fir n band larg, Bluetooth i comutare la nivel de legtur de date,
inclusiv MPLS.
Cap. 5 a fost de asemenea actualizat: au fost nlturate toate materialele referitoare la
ATM i au fost adugate materiale suplimentare despre Internet. Un alt subiect important
este calitatea serviciilor, cuprinznd expuneri despre servicii integrate i servicii difereniate.
Sunt prezente n acest capitol i reelele fr fir, mpreun cu o discuie despre rutarea n ree-
le ad-hoc. Alte aspecte noi includ NAT i reelele de la egal la egal (peer-to-peer).
Cap. 6 trateaz n continuare nivelul transport, dar i aici au avut loc unele schimbri. Prin-
tre acestea se numr un exemplu de programare a soclurilor (sockets). Sunt prezentate i co-
mentate dou programe de cte o pagin scrise n limbajul C. Aceste programe, disponibile i
pe situl Web al crii, pot fi compilate i rulate. mpreun ele furnizeaz o aplicaie de server de
fiiere sau server de Web, pentru experimentare. Alte subiecte noi includ apelul procedurilor la dis-
tan, RTP i tranzacii/TCP.
Cap. 7, relativ la nivelul aplicaie, a fost mai clar orientat. Dup o scurt introducere n
DNS, restul capitolului trateaz trei aspecte: pot electronic, Web i multimedia. Fiecare
dintre acestea este tratat foarte detaliat. Discuia despre modul de funcionare a Web-ului se
ntinde acum pe mai mult de 60 de pagini, acoperind multe subiecte, printre care pagini Web
statice i dinamice, HTTP, scripturi CGI, reele cu livrare bazat pe coninut, cookies i ps-
trarea temporar n memoria ascuns (cache) a Web-ului. Sunt prezente i materiale despre
modul de scriere a paginilor Web moderne, cu scurte introduceri n XML, XSL, XHTML,
PHP i altele, toate nsoite de exemple funcionale. Este menionat i accesul Web fr fir, cu
accent asupra i-mode i WAP. Seciunea de multimedia cuprinde acum MP3, fluxuri audio,
radio prin Internet i transmisii de voce peste IP.
Securitatea reelelor a devenit azi att de important nct i s-a acordat un nou capitol n-
sumnd peste 100 de pagini. Sunt prezentate att principii de securitate (algoritmi simetrici i
algoritmi cu chei publice, semnturi digitale i certificate X.509) ct i aplicaii ale acestor
principii (autentificare, securitatea potei electronice i securitatea Web). Acest capitol este
PREFA xix


att ntins ca arie de acoperire (de la criptografie cuantic pn la cenzura guvernamental)
ct i bogat n detalii (de exemplu modul de funcionare al algoritmului SHA-1).
Cap. 9, conine o list complet nou de recomandri bibliografice, ct i o bibliografie cu-
prinztoare de peste 350 de titluri. Peste 200 dintre aceste lucrri sunt scrise dup anul 2000.
Crile despre computere conin foarte multe acronime. Nici cartea de fa nu face excep-
ie. Dup ce ai terminat de citit aceast carte, urmtorii termeni ar trebui s nsemne ceva
pentru dumneavoastr: ADSL, AES, AMPS, AODV, ARP, ATM, BGP, CDMA, CDN, CGI,
CIDR, DCF, DES, DHCP, DMCA, FDM, FHSS, GPRS, GSM, HDLC, HFC, HTML, HTTP,
ICMP, IMAP, ISP, ITU, LAN, LMDS, MAC, MACA, MIME, MPEG, MPLS, MTU, NAP,
NAT, NSA, NTSC, OFDM, OSPF, PCF, PCM, PGP, PHP, PKI, POTS, PPP, PSTN, QAM,
QPSK, RED, RFC, RSA, RSVP, RTP, SSL, TCP, TDM, UDP, URL, UTP, VLAN, VPN,
VSAT, WAN, WAP, WDMA, WEP, WWW i XML. Dar nu v ngrijorai. Ficare din aceti
termeni va fi cu atenie explicat nainte de a fi utilizat. Pentru a-i ajuta pe instructorii care do-
resc s foloseasc aceast carte ca suport de curs, autorul a pregtit o varietate de materiale
auxiliare, printre care:

Un manual cu soluiile problemelor.
Fiiere coninnd toate figurile n diferite formate
Un simulator (scris n C) pentru exemplele de protocoale din Cap. 3.
O pagin de web cu link-uri ctre ndrumare practice, organizaii, ntrebri frecvente, etc

Manualul cu soluii este disponibil la Prentice Hall (dar numai pentru instructori, nu i pentru stu-
deni). Toate celelalte materiale pot fi gsite pe situl crii, la adresa:

http://www.prenhall.com/tanenbaum

De acolo, facei click pe coperta crii.
Multe persoane m-au ajutat n timpul lucrului la a patra ediie. A dori n mod deosebit s mul-
umesc urmtoarelor persoane: Ross Anderson, Elizabeth Belding-Royer, Steve Bellovin,
Chatschick Bisdikian, Kees Bot, Scott Bradner, Jennifer Bray, Pat Cain, Ed Felten, Warwick Ford,
Kevin Fu, Ron Fulle, Jim Geier, Mario Gerla, Natalie Giroux, Steve Hanna, Jeff Hayes, Amir
Herzberg, Philip Homburg, Philipp Hoschka, David Green, Bart Jacobs, Frans Kaashoek, Steve
Kent, Roger Kermode, Robert Kinicki, Shay Kutten, Rob Lanphier, Marcus Leech, Tom Maufer,
Brent Miller, Shivakant Mishra, Thomas Nadeau, Shlomo Ovadia, Kaveh Pahlavan, Radia Perlman,
Guillaume Pierre, Wayne Pleasant, Patrick Powell, Thomas Robertazzi, Medy Sanadidi, Christian
Schmutzer, Henning Schulzrinne, Paul Sevinc, Mihail Sichitiu, Bernard Sklar, Ed Skoudis, Bob
Strader, George Swallow, George Thiruvathukal, Peter Tomsu, Patrick Verkaik, Dave Vittali,
Spyros Voulgaris, Jan-Mark Wams, Ruediger Weis, Bert Wijnen, Joseph Wilkes, Leendert van
Doorn i Maarten van Steen.
Mulumiri speciale sunt adresate lui Trudy Levine care a demonstrat c bunicile pot face o trea-
b excelent recapitulnd materialul tehnic. Shivakant Mishra s-a gndit la multe dintre problemele
xx PREFA

dificile de la sfritul capitolelor. Andy Dornan mi-a recomandat lecturi suplimentare pentru Cap. 9.
Jan Looyen a furnizat echipamente hardware indispensabile ntr-un moment critic. Dr. F de Nies s-a
dovedit un expert n materie de cut-and-paste atunci cnd a fost necesar. Editorul meu de la
Prentice Hall, Mary Franz m-a aprovizionat cu mai multe materiale pentru citit dect consumasem
n precedenii 7 ani i m-a ajutat n numeroase alte situaii.
n sfrit, am ajuns la persoanele cele mai importante: Suzanne, Barbara i Marvin. Suzannei
pentru dragoste, rbdare i prnzurile din excursiile la iarb verde. Barbarei i lui Marvin pentru c
au fost veseli i amuzani n permanen (mai puin atunci cand se plngeau de ngrozitoarele manu-
ale pentru colegiu, fapt ce m-a fcut s fiu mai cu picioarele pe pmnt). V mulumesc.

ANDREW S. TANENBAUM

1
1
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 XIX-lea a fost
epoca mainilor cu aburi. n 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 nc tnr n comparaie cu alte industrii (de exemplu, con-
strucia de automobile i transportul aerian), domeniul calculatoarelor a cunoscut un progres spec-
taculos ntr-un timp scurt. n 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.
ntreptrunderea dintre domeniul calculatoarelor i cel al comunicaiilor a avut o influen pro-
fund asupra modului n care sunt organizate sistemele de calcul. Conceptul de ,,centru de calcul -
2 INTRODUCERE CAP. 1


n accepiunea sa de ncpere unde exist un calculator mare la care utilizatorii vin s-i ruleze pro-
gramele - este total depit. Vechiul model al unui singur calculator care servete rezolvrii proble-
melor 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 de
calculatoare autonome interconectate folosind o singur tehnologie. Se spune despre dou calcula-
toare 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 fibra optic, radiaii infraroii,
microunde sau satelii de comunicaii. Reelele pot fi de dimensiuni, tipuri i forme diferite, aa cum
vom vedea ceva mai trziu. Dei poate s par straniu, nici Internet-ul i nici World Wide Web-ul
(reea de ntindere mondial) nu sunt reele de calculatoare. Dac parcurgei cartea pn la sfrit
va fi clar i de ce. Rspunsul simplist este urmtorul: Internet-ul nu este o singur reea, ci o reea de
reele, iar WWW este un sistem distribuit care funcioneaz peste nivelul Internet-ului.
n literatura de specialitate, se face deseori confuzie ntre o reea de calculatoare i un sistem dis-
tribuit. Deosebirea esenial este aceea c ntr-un sistem distribuit, o colecie de calculatoare inde-
pendente este perceput de utilizatorii ei ca un sistem coerent unic. De obicei, el are un model sau o
unic paradigm care l reprezint pentru utilizatori. Adesea, un modul software aflat pe nivelul su-
perior al sistemului de operare (numit middleware) este responsabil pentru implementarea acestui
model. Un bun exemplu de sistem distribuit arhicunoscut este chiar World Wide Web, n care totul
ia n cele din urm forma unui document (pagina Web).
ntr-o reea de calculatoare, coerenta, modelul si programele sunt absente. Utilizatorii au n faa
lor maini locale, fr nici o intenie de a face aceste staii s arate si s se comporte ntr-adevr ca
un sistem unic coerent. Dac ns mainile se deosebesc prin structurile hardware sau chiar prin sis-
temul de operare, acest amnunt este vizibil pentru utilizatori. Dac un utilizator dorete s ruleze
un program, el trebuie s se nregistreze pe maina respectiv i s lucreze acolo.
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 considerabi-
l. De exemplu, att sistemele distribuite ct i reelele de calculatoare au nevoie s transfere fiie-
re. 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 distri-
buite. Pentru mai multe informaii despre sistemele distribuite, a se vedea (Tanenbaum i Van
Steen, 2002).


1.1 UTILIZRILE REELELOR DE CALCULA-
TOARE
nainte de examinarea n detaliu a problemelor tehnice, merit s artm de ce sunt oamenii in-
teresai de reelele de calculatoare i la ce pot fi ele folosite. Pn la urm, dac nimeni nu ar fi inte-
SEC. 1.1 UTILIZRILE REELELOR DE CALCULATOARE 3

resat de reele de calculatoare, puine reele ar fi construite. Vom ncepe cu utilizrile tradiionale n
cadrul companiilor i pentru utilizatorii individuali, apoi ne vom deplasa spre dezvoltrile recente
privind utilizatorii mobili i reelele domestice.
1.1.1 Aplicaii comerciale
Multe companii au un numr semnificativ de calculatoare. De exemplu, o companie poate folosi
calculatoare pentru monitorizarea produciei, pentru urmrirea evoluiei stocurilor, pentru calcula-
rea statelor de plat. 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 infor-
maii 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 loca-
lizarea fizic a resursei i a utilizatorului. Un exemplu uzual i larg rspndit este existena unui grup
de utilizatori care folosesc o imprimant comun. Nici unul dintre utilizatori nu are nevoie de propria
imprimant, iar o imprimant performant de volum mare, legat n reea este, de cele mai multe ori,
mai ieftin, mai rapid i mai uor de ntreinut dect o colecie de imprimante individuale.
Cu toate acestea, probabil chiar mai important dect partajarea resurselor fizice, cum sunt im-
primantele, scannerele, dispozitivele de inscripionat CD-uri, este partajarea informaiei. Orice com-
panie mare sau medie, dar i multe dintre companiile mici sunt total dependente de informaia pre-
lucrat de calculatoare. Cele mai multe companii in nregistrrile clienilor, inventarele, evidena
conturilor de ncasri, rapoartele financiare, informaiile despre taxe i nc multe altele numai cu
ajutorul calculatorului. Dac toate calculatoarele sale se defecteaz, o banc nu mai poate funciona
mai mult de 5 minute. O fabrica modern, cu o linie de asamblare condus de calculator nu ar putea
continua lucrul nici mcar att. Chiar i o mic agenie de turism sau un birou de avocatur cu trei
angajai sunt, n acest moment, dependente n mare msur de reelele de calculatoare, care le per-
mit angajailor accesul instantaneu la informaii relevante i la documente.
Pentru companiile mai mici, toate calculatoarele sunt cel mai probabil amplasate ntr-un singur
birou sau poate ntr-o singur cldire, n timp ce pentru companiile mai mari calculatoarele i anga-
jaii pot fi rspndii ntr-o mulime de birouri i fabrici din diferite ri. Cu toate acestea, un agent
de vnzri din New York poate avea uneori nevoie de acces la o baz de date cu inventarul produse-
lor aflat n Singapore. Cu alte cuvinte, numai faptul ca un utilizator se afl la 15.000 km de datele
de care are nevoie nu l poate mpiedica s-i foloseasc datele ca i cnd ele ar fi locale. Pe scurt,
scopul poate fi definit ca o ncercare de a termina cu tirania geografiei.
n termenii cei mai simpli se poate imagina sistemul informaional al unei companii ca fiind alc-
tuit din una sau mai multe baze de date i un numr de angajai care au nevoie de acces de la distan-
. n acest model, datele sunt memorate n calculatoare performante, numite servere (servers).
Adesea, acestea sunt plasate i ntreinute centralizat de un administrator de sistem. Din contr, an-
gajaii au maini mai simple, numite clieni (clients), plasate pe birourile lor, prin intermediul crora
acceseaz datele aflate la distan pentru a le include, de exemplu, n foile de calcul pe care le con-
struiesc. (Uneori ne vom referi la operatorul care folosete o main client cu numele de client,
dar va fi clar din context dac referirea este la main sau la utilizatorul ei). Mainile server si client
sunt conectate n reea, aa cum este ilustrat n fig. 1-1. De notat c am reprezentat reeaua ca un
simplu oval, fr nici un alt detaliu. Vom mai folosi aceast form pentru a reprezenta o reea n
mod abstract. Atunci cnd sunt necesare mai multe detalii, ele vor fi furnizate.
4 INTRODUCERE CAP. 1


Fig. 1-1. O reea cu doi clieni i un server.

Aceast structur reprezint modelul client-server. Este folosit frecvent i reprezint baza pe care
lucreaz multe reele. Este aplicabil atunci cnd clientul i serverul se afl n aceeai cldire (de exem-
plu, dac ambele aparin aceleiai companii), dar i atunci cnd ntre ele este o distan mai mare. De
exemplu, atunci cnd o persoan aflat acas face un acces la o pagin Web, este folosit acelai mo-
del, n care serverul Web aflat la distan are rol de server, iar calculatorul personal al utilizatorului
are rol de client. n cele mai multe situaii, un server poate lucra cu un numr mare de clieni.
Dac privim mai n detaliu modelul client-server, constatm c sunt implicate dou procese, unul
aflat pe maina client i unul aflat pe maina server. Comunicaia ia forma transmiterii prin reea a
unui mesaj de la procesul client ctre procesul server. n continuare, procesul client va atepta un
mesaj de rspuns. Atunci cnd procesul server primete cererea, execut aciunea solicitat sau cau-
t datele cerute i transmite un rspuns. Aceste mesaje sunt prezentate n fig. 1-2.

Fig. 1-2. Modelul client-server implic cereri i rspunsuri.

Un al doilea scop al construirii unei reele de calculatoare este mai mult legat de oameni dect
de informaie sau chiar calculatoare. O reea de calculatoare poate constitui un puternic mediu de
comunicare ntre angajai. Aproape orice companie care are dou sau mai multe calculatoare are
acum pot electronic (e-mail), pe care angajaii o folosesc intens pentru comunicaiile zilnice. De
fapt, una dintre neplcerile discutate intens ntre angajai este multitudinea de mesaje, n mare parte
lipsite de sens, cu care trebuie s se confrunte zilnic pentru c efii au descoperit c pot trimite ace-
lai mesaj (de cele mai multe ori chiar fr coninut) tuturor subordonailor, prin apsarea unui sin-
gur buton.
SEC. 1.1 UTILIZRILE REELELOR DE CALCULATOARE 5

Dar pota electronic nu este singura form de comunicaie mbuntit care a fost fcut posi-
bil de reelele de calculatoare. Cu o reea, este uor pentru doi oameni care lucreaz la mare dis-
tan unul de altul s scrie un raport mpreun. Cnd unul dintre ei face o modificare asupra unui
document din reea, ceilali vor putea vedea modificarea imediat, n loc s atepte o scrisoare timp
de mai multe zile. O astfel de accelerare face din cooperarea n cadrul grupurilor de oameni aflai la
distan o simpl comunicare, fapt imposibil cu ceva timp n urm.
O alt form de comunicare asistat de calculator o reprezint videoconferinele. Folosind aceas-
t tehnologie, angajaii din locuri aflate la distan pot ine o ntrunire, pot s se vad i s se aud
ntre ei, i pot scrie chiar pe o tabl virtual partajat. Videoconferina este o modalitate eficient de
eliminare a costurilor i timpului pierdute anterior pentru a cltori. Se spune uneori c ntre comu-
nicare i transport este o competiie i c activitatea care ctig o face pe cealalt s par depit.
Un al treilea scop pentru tot mai multe companii este realizarea electronic a comerului cu alte
companii, n special cu furnizorii i clienii. De exemplu, productorii de automobile, avioane sau
calculatoare, printre alii, cumpr subansamble de la diveri furnizori i apoi le asambleaz. Folo-
sind reelele de calculatoare, productorii pot plasa comenzile electronic, dup cum este nevoie.
Posibilitatea de a plasa comenzi n timp real (dac este nevoie) reduce necesitatea stocurilor mari i
sporete eficiena.
Un al patrulea scop care devine din ce n ce mai important este realizarea de tranzacii cu con-
sumatorii prin Internet. Companiile aeriene, librriile i magazinele de muzic au descoperit c mul-
tor consumatori le place comoditatea de a-i face cumprturile de acas. n consecin, multe com-
panii ofer on-line cataloage cu bunurile i serviciile disponibile i chiar primesc comenzi on-line.
Este de ateptat ca acest sector s se dezvolte rapid n continuare. El este numit comer electronic (e-
commerce, electronic commerce).
1.1.2 Aplicaii domestice
n 1977 Ken Olsen era preedinte al Digital Equipment Corporation, care era pe vremea aceea a
doua companie n lume n vnzarea de calculatoare (dup IBM). Atunci cnd a fost ntrebat de ce
Digital nu se implic mai mult n piaa calculatoarelor personale, el a rspuns: Nu exist nici un
motiv ca fiecare individ s aib un calculator acas. Istoria a artat c rspunsul a fost greit, iar
Digital nu mai exist. De ce cumpr oamenii calculatoare pentru a le folosi acas? La nceput, pen-
tru prelucrarea de texte i pentru jocuri, dar n ultimii ani aceast imagine s-a schimbat radical. Pro-
babil c n acest moment cel mai important motiv este accesul la Internet. Unele dintre cele mai po-
pulare utilizri ale Internet-ului pentru utilizatorii casnici sunt urmtoarele:

1. Accesul la informaie de la distan.
2. Comunicaiile interpersonale.
3. Divertismentul interactiv
4. Comerul electronic

Accesul informaiei la distan ia forme multiple. Poate fi navigarea pe Web pentru informaii
sau doar pentru distracie. Categoriile de informaii disponibile includ artele, afacerile, gastronomia,
guvernarea, sntatea, istoria, preocuprile din timpul liber, modalitile de recreere, tiina, sportu-
rile, cltoriile, i multe altele. Distracia este de prea multe feluri ca s poat fi menionate, plus
cteva care e mai bine s rmn nemenionate.
6 INTRODUCERE CAP. 1


Multe ziare sunt acum disponibile on-line i pot fi personalizate. De exemplu, este uneori posibil
s spui unui ziar c doreti s obii totul despre politicienii corupi, despre marile incendii, despre
scandalurile n care sunt implicate celebritile i despre epidemii, dar nu despre fotbal. Uneori este
chiar posibil s v aducei articolele selectate pe discul local, n timp ce dormii, sau s le tiprii na-
inte de micul dejun. i cum aceast tendin continu s se dezvolte, va cauza o cretere important
a ratei omajului printre bieii de 12 ani care distribuie ziare, dar redaciilor ziarelor le place aceast
variant, pentru c distribuia a fost ntotdeauna cea mai slab verig din ntregul lan de producie.
Pasul urmtor dup ziare (mpreun cu revistele i jurnalele tiinifice) este biblioteca digital on-
line. Multe organizaii profesionale, cum sunt ACM (www.acm.org) i IEEE Computer Society
(www.computer.org) au deja disponibile on-line multe dintre jurnale i prezentri de la conferine.
Alte grupuri urmeaz rapid aceast tendin. n funcie de costul, dimensiunile i greutatea unui
calculator portabil, crile tiprite vor deveni desuete. Scepticii ar trebui s fie ateni la efectul pe
care l-a avut tiparul asupra manuscriselor medievale iluministe.
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 este comunicarea ntre persoane - este vorba n pri-
mul rnd de replica secolului XXI la telefonul din secolul al XIX-lea. Pota electronic, sau e-mail-
ul, este deja folosit zi de zi de milioane de oameni din toat lumea i gradul de utilizare este n con-
tinu cretere. Conine deja, n mod curent, pe lng text i poze, secvene audio i video. n schimb,
va dura ceva mai mult pn cnd se va pune la punct nglobarea mirosului n mesaje.
Orice adolescent este dependent de mesageria instantanee (instant messaging). Aceast facilita-
te, derivat din programul UNIX talk (ro: vorbete) folosit nc din anii 1970, le permite celor doi
care doresc s comunice s-i trimit mesaje unul altuia n timp real. O versiune multipersonal a
acestei idei este chat-room-ul (ro: camera de discuii) n care o persoan dintr-un grup poate trimite
mesaje ctre ntregul grup.
Grupurile de tiri de pe tot globul, cu discuii privind orice subiect imaginabil, fac deja parte din
realitatea cotidian a unei anumite categorii de persoane, iar acest fenomen va crete pn la di-
mensiunile ntregii omeniri. Discuiile, n care o persoan trimite un mesaj i toi ceilali abonai ai
grupului de interes pot s-l citeasc, se deruleaz n toate stilurile posibile, putnd fi la fel de bine
extrem de amuzante sau de ptimae. Spre deosebire de camerele de discuii (chatroom-uri), grupu-
rile de interese nu sunt n timp real i mesajele sunt salvate astfel nct atunci cnd cineva se ntoarce
din vacan, toate mesajele care au fost primite ntre timp ateapt cumini s fie citite.
Un alt tip de comunicaie interpersonal se numete adesea comunicaie de la egal-la-egal (peer-
to-peer), pentru a o distinge de modelul client-server (Parameswaran et al., 2001). n aceast form,
persoanele independente care formeaz un grup oarecare comunic n cadrul grupului, dup cum se
vede n fig. 1-3. Fiecare persoana poate, n principiu, s comunice cu una sau mai multe persoane; nu
exist o departajare clar ntre clieni i servere.
Comunicaiile de la egal-la-egal au explodat n jurul anului 2000 cu un serviciu numit Napster,
care la apogeu avea peste 50 de milioane de fani ai muzicii care schimbau ntre ei melodii. A fost
probabil cea mai mare nfrngere a drepturilor de autor din toat istoria lor (Lam i Tan, 2001; i
Macedonia, 2000). Ideea era destul de simpl. Membrii nregistrau muzica pe care o aveau pe discu-
rile locale ntr-o baz de date central ntreinut de serverul Napster. Dac un membru dorea o
melodie, verifica baza de date ca s vad cine o are i se ducea direct la surs pentru a o lua. i pen-
tru c Napster nu inea nici un fel de muzic pe mainile proprii, Napster a argumentat c nu a ncl-
cat drepturile de autor ale nimnui. Dar tribunalul nu a fost de acord i a nchis sistemul.
SEC. 1.1 UTILIZRILE REELELOR DE CALCULATOARE 7


Fig. 1-3. ntr-un sistem de la egal la egal nu sunt clieni i servere fixe.

Oricum, urmtoarea generaie de sisteme de la egal-la-egal elimin baza de date central deoa-
rece fiecare utilizator i va ntreine propria baz local i va oferi o list de ali utilizatori membri ai
sistemului aflai n apropiere. Un nou utilizator va putea atunci s viziteze fiecare membru i s vad
ce anume are acesta i care este lista de utilizatori aflai n apropierea sa. Acest proces de cutare
poate fi repetat la infinit pentru a crea o baz de date de dimensiune mare cu ceea ce se regsete n
sistem. Este o activitate care ar deveni tracasant pentru utilizatori, dar pentru care calculatoarele
sunt excelente.
Exist de asemenea i aplicaii legale pentru comunicaiile de la egal-la-egal. De exemplu, fanii
partajeaz muzica neprotejat de drepturile de autor sau noile extrase de melodii pe care formaiile
muzicale le ofer n scop publicitar, familiile partajeaz poze, filme i informaii genealogice, iar ado-
lescenii joac on-line jocuri cu mai muli participani. De fapt, una dintre cele mai populare aplicaii
ale Internet-ului, pota electronic, este n mod implicit de la egal-la-egal. Este de ateptat ca aceast
form de comunicaie s creasc semnificativ n viitor.
Criminalitatea electronic nu este limitat la nclcarea drepturilor de autor. O alt zon fierbin-
te este cea a jocurilor de noroc electronice. Calculatoarele au simulat tot felul de lucruri timp de
decenii. De ce s nu simuleze i automatele cu fise, roata ruletei, masa de blackjack, i multe alte
echipamente pentru jocurile de noroc? Ei bine, deoarece este ilegal n multe locuri. Problema este
c jocurile de noroc sunt legale n multe alte pri (n Anglia, de exemplu) i proprietarii de cazinouri
din astfel de state au neles potenialul jocurilor de noroc pe Internet. Ce se ntmpl dac juctorul
i cazinoul se afl n ri diferite, cu legi diferite? Bun ntrebare.
Alte aplicaii orientate pe comunicaii includ utilizarea Internet-ului ca suport pentru convorbiri
telefonice, conferine video sau radio, trei domenii n plin dezvoltare. O alt aplicaie este nv-
mntul la distan, aceasta nsemnnd ca poi s urmreti cursurile de la 8 dimineaa fr a trebui s
te dai mai nti jos din pat. Pe termen lung, utilizarea calculatoarelor pentru a mbunti comunica-
iile interumane se va putea dovedi mai important dect oricare alte utilizri.
A treia categorie avut n vedere este divertismentul, care reprezint o industrie uria, n conti-
nu 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 imediat disponibil pe ecra-
8 INTRODUCERE CAP. 1


nul nostru. Filmele noi ar putea deveni interactive: spectatorul ar fi ntrebat n anumite momente ce
continuare a povestirii alege (s-l 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
v-ai ascuns ntr-o nchisoare virtual sau simulatoare de zbor n care juctorii unei echipe ncearc
s-i doboare pe cei din echipa advers. Dac jocurile sunt jucate cu ochelari pentru realitatea virtua-
l, n medii tridimensionale, n timp real i cu imagini de calitate fotografic, atunci avem un fel de
realitate virtual global i partajat.
Cea de-a patra categorie este comerul electronic n cel mai larg sens al cuvntului. Cumprturi-
le fcute de acas sunt deja populare i permit utilizatorilor s inspecteze on-line cataloagele a mii
de companii. Unele dintre aceste cataloage vor oferi n curnd posibilitatea de a obine o prezentare
video imediat a oricrui produs printr-o simpl selectare a numelui produsului. Dup ce un client
cumpr electronic un produs, dar nu poate s i dea seama cum s l foloseasc, poate fi consultat
departamentul de ajutor on-line.
O alt arie de interes n care comerul electronic este deja implementat este accesul la instituiile fi-
nanciare. Muli oameni i pltesc facturile, i administreaz conturile bancare i i manevreaz inves-
tiiile electronic. Acestea se vor dezvolta i mai repede de ndat ce reelele vor deveni mai sigure.
O zon de interes pe care nimeni nu o ntrevedea ca interesant este talciocul electronic (flea
market). Licitaiile on-line de bunuri la mna a doua au devenit o industrie uria. Spre deosebire de
comerul electronic tradiional, care este construit dup modelul client-server, licitaiile on-line sunt
mai aproape de sistemul de la egal-la-egal, un fel de consumator-la-consumator. Unele dintre aceste
forme de comer electronic au obinut porecle simpatice, plecnd de la faptul c, n limba englez, 2
(two) i to se pronun la fel. Cele mai populare sunt prezentate n fig. 1-4.

Prescurtare Nume ntreg Exemplu
B2C Companie la Consumator (Bussiness to
Consumer)
Comanda de cri online
B2B Companie la Companie (Bussiness to
Bussiness)
Fabricantul de maini comand cauciucuri
de la furnizor
G2C Guvern la consumator (Government to
Consumer)
Guvernul distribuie formularele pentru
taxe n format electronic
C2C Consumator la Consumator (Consumer to
Consumer)
Licitarea de produse mna a doua online
P2P Punct la Punct (Peer-to-Peer) Partajare de fiiere

Fig. 1-4. Unele forme de comer electronic.

Fr ndoial c domeniile de utilizare pentru reelele de calculatoare se vor dezvolta nc i mai
mult n viitor i probabil c vor aborda direcii pe care acum nu le poate prevedea nimeni. La urma
urmei, ci oameni ar fi crezut n 1990 c adolescenii care i scriu plictisii mesaje pe telefoanele
mobile n timp ce cltoresc cu autobuzul vor deveni o imens surs de bani pentru companiile de
telefonie mobil? Cu toate acestea, serviciul de mesaje scurte este extrem de profitabil.
Reelele de calculatoare pot deveni foarte importante pentru oamenii care se afl n locuri mai
greu accesibile crora le pot oferi accesul la aceleai servicii la disponibile i celor care stau n centrul
oraelor. nvmntul la distan poate afecta hotrtor educaia; universitile vor deveni naiona-
SEC. 1.1 UTILIZRILE REELELOR DE CALCULATOARE 9

le sau chiar internaionale. Medicina la distan este abia la nceput (de exemplu monitorizarea pa-
cienilor de la distan), dar poate s devin mult mai important. Dar aplicaia cea mai de succes
poate s fie ceva mai practic, cum ar fi folosirea unei camere digitale n frigider pentru a vedea dac
trebuie s cumperi lapte cnd vii acas de la serviciu.
1.1.3 Utilizatorii mobili
Calculatoarele mobile, cum sunt portabilele sau PDA-urile (Personal Digital Assistant, rom:
asistent digital personal) sunt unele dintre segmentele cu dezvoltarea cea mai rapid din industria
calculatoarelor. Muli posesori ai acestor calculatoare au calculatoare la birou i doresc s fie conec-
tai la ele chiar i cnd sunt plecai de acas sau pe drum. i cum a avea o conexiune pe fir este impo-
sibil n maini sau n avioane, exist un interes deosebit pentru reelele fr fir. n aceast seciune
vom studia pe scurt cteva dintre aplicaiile reelelor fr fir.
De ce i-ar dori cineva o astfel de reea? Unul dintre motivele uzuale este c obine un birou por-
tabil. Oamenii care cltoresc mult doresc s-i poat folosi echipamentele electronice portabile
pentru a trimite i pentru a primi apeluri telefonice, faxuri i pota electronic, pentru a naviga pe
Web, pentru a accesa fiiere la distan i pentru a se putea conecta la maini aflate la distan. i vor
s poat face toate acestea n orice loc de pe Pmnt, de pe mare sau din aer. De exemplu, n ultima
vreme, la conferinele legate de calculatoare organizatorii seteaz o reea local fr fir n ncperea
n care se in conferinele. Oricine are un calculator portabil cu un modem fr fir va trebui doar s
i porneasc propriul calculator pentru a fi conectat la Internet, ca i cum calculatorul ar fi conectat
cu un fir ntr-o reea obinuit. Similar, unele universiti au instalat reele fr fir n campus, astfel
nct studenii s poat sta la umbra copacilor i s consulte catalogul bibliotecii sau s-i citeasc
pota electronic.
Reelele fr fir sunt de mare valoare pentru parcurile de taximetre, camioane, vehicule utilizate
pentru livrare i chiar echipe de intervenie, pentru a fi mereu n contact cu baza. De exemplu, n
multe orae oferii de taxi sunt oameni de afaceri independeni, nu angajai ai unei companii de ta-
ximetre. n unele dintre aceste orae, taximetrele au un ecran pe care oferul l poate vedea. Cnd
sun un client, un dispecer central introduce locul de unde trebuie preluat clientul i destinaia unde
acesta dorete s ajung. Aceast informaie este afiat pe ecranul din taximetru i se genereaz un
semnal sonor. Primul ofer care atinge un buton al ecranului este cel care preia apelul.
Reelele fr fir sunt de asemenea importante n domeniul militar. Dac vrei s porneti un rz-
boi oriunde n lume ntr-un termen scurt, a conta pe infrastructura de reea de la faa locului nu este,
cel mai probabil, o idee bun. Este mai bine s o aduci pe a ta de acas.
Dei reelele fr fir i calculatoarele mobile sunt deseori n strns legtur, ele nu sunt domenii
identice, dup cum arat i fig. 1-5. Aici se vede diferena ntre fix fr fir i mobil fr fir. Chiar i
calculatoarele portabile au uneori nevoie de cablu. De exemplu, dac un cltor conecteaz firul de
la calculatorul su portabil n priza de telefon din camera de hotel, el are mobilitate, folosindu-se
totui de cablu.

Fr fir Mobil Aplicaii
Nu Nu Calculatoarele staionare de pe mesele de lucru din birouri
Nu Da Un calculator portabil folosit ntr-o camera de hotel
Da Nu Reelele n cldiri mai vechi, necablate
Da Da Biroul portabil; PDA pentru inventarul magazinului

Fig. 1-5. Combinaii de reele fr fir i echipamente mobile.
10 INTRODUCERE CAP. 1


Pe de alt parte, unele calculatoare fr fir nu sunt mobile. Un exemplu important este o com-
panie care are o cldire mai veche, necablat pentru reea i dorete s i interconecteze calculatoa-
rele. Instalarea unei reele fr fir necesit doar puin mai mult dect a cumpra o cutie care are
ceva electronic, a o despacheta i a o conecta. Totui, aceast soluie poate fi mult mai ieftin dect
a pune un tehnician s trag cabluri pentru a cabla ntreaga cldire.
Exist, desigur, aplicaii cu adevrat mobile i fr fire, de la birourile portabile pn la oamenii
care, intrnd n magazin cu un PDA pot face inventarul. La multe aeroporturi aglomerate, oamenii
care se ocup de primirea mainilor care au fost nchiriate lucreaz cu ajutorul calculatoarelor por-
tabile fr fire. Ei introduc numrul de nmatriculare al mainilor care sunt returnate i echipamen-
tul portabil, care are o imprimant ataat, apeleaz calculatorul principal, obine informaiile de-
spre nchiriere i tiprete pe loc factura.
Pe msur ce tehnologiile de comunicaie fr fir devin din ce n ce mai rspndite, sunt pe cale
s apar tot mai multe aplicaii. S analizm rapid unele posibiliti. Aparatele de taxat fr fir pen-
tru plata parcrii au avantaje att pentru utilizatori ct i pentru mai marii oraului. Aparatele de
taxat pot s accepte cri de credit sau de debit i s le verifice imediat prin conexiunea fr fir. Cnd
perioada pentru care s-a pltit expir, aparatul poate s verifice existena unei maini n locul de par-
care (va trimite un semnal nspre ea i, dac acesta este reflectat, n spaiul respectiv se gsete o
main) i s raporteze poliiei eventuala depire. S-a estimat c, numai la nivelul oraelor din
SUA, municipalitile ar putea obine un plus de 10 miliarde de dolari folosind aceast variant
(Harte et al., 2000). Mai mult, sancionarea mai riguroas pentru parcarea ilegal va ajuta mediul
nconjurtor, deoarece oferii care tiu c vor fi prini n cazul n care parcheaz ilegal ar putea s
foloseasc transportul n comun.
Automatele de gustri, buturi i alte bunuri se gsesc peste tot. Desigur, mncarea nu ajunge n
aceste automate prin puterea magiei. Periodic, cineva vine cu un camion pentru a le umple. Dac
automatele nsele ar transmite printr-o conexiune fr fir un raport n fiecare zi pentru a comunica
stocurile curente, oferul camionului ar ti ce maini trebuie re-aprovizionate i ce cantitate din fie-
care produs trebuie s aduc. O astfel de informaie ar duce la o planificare mai eficient a drumu-
lui. Desigur, aceast informaie ar putea s fie transmis i prin liniile telefonice standard, dar soluia
de a da fiecrui automat o conexiune fix de telefon pentru un singur apel pe zi este scump din cau-
za taxei lunare fixe.
O alt zon n care tehnologiile de conectare fr fir pot s duc la economii sunt citirile con-
toarelor pentru diverse utiliti. Varianta n care consumul la energie electric, gaze, ap, i alte
utiliti care se regsesc n casele oamenilor ar putea s fie raportat folosind o astfel de conexiune
fr fir, nu ar mai fi nevoie s fie trimii pe teren angajai care s se ocupe de citirea contoarelor.
Similar, detectoarele de fum fr fir ar putea s sune la divizia de Pompieri n loc s fac un zgomot
infernal (care este lipsit de orice valoare dac nu este nimeni acas). Deoarece costul dispozitivelor
radio i cel al timpului de emisie scad, din ce n ce mai multe msurtori se vor face prin intermedi-
ul reelelor fr fire.
O arie de aplicaii complet diferit pentru reelele fr fir este mult ateptata fuziune ntre tele-
foanele mobile i PDA-uri n mici calculatoare fr cablu. O prim ncercare a fost fcut cu micile
PDA-uri, care puteau s afieze pagini Web simplificate pe minusculele lor ecrane. Acest sistem,
numit WAP 1.0 (Wireless Application Protocol, rom: protocolul aplicaiilor fr fir) a euat, tocmai
din cauza ecranelor prea mici, a lrgimii de band sczute i a serviciilor slabe calitativ. Dar dispozi-
tivele i serviciile mai noi vor funciona mai bine cu WAP 2.0.
SEC. 1.1 UTILIZRILE REELELOR DE CALCULATOARE 11

O zon n care aceste dispozitive pot fi excelente este denumit comer mobil (m-commerce)
(Senn, 2000). Fora care st n spatele acestui fenomen const dintr-un amalgam de productori de
dispozitive PDA fr fir i operatori de reea care ncearc din rsputeri s gseasc o soluie pentru
a obine o bucat din plcinta comerului electronic. Una dintre speranele lor este s foloseasc
PDA-urile fr fir pentru operaiuni bancare i pentru cumprturi. O idee este utilizarea PDA-
urilor ca pe un fel de portofel electronic, autoriznd plile n magazine, ca un nlocuitor pentru ba-
nii lichizi i pentru crile de credit. Suma cheltuit apare apoi pe factura telefonului mobil. Din
punct de vedere al magazinelor, aceast schem aduce un ctig prin economisirea taxelor pltite
companiei de cri de credit, tax care poate fi de cteva procente. Desigur, acest plan poate fi dez-
avantajos, deoarece clienii dintr-un magazin i pot folosi PDA-urile pentru a verifica preurile con-
curenei nainte de a cumpra. nc i mai ru, companiile de telefoane pot oferi PDA-uri cu cititoa-
re de coduri de bare care s permit unui client s scaneze un produs dintr-un magazin i apoi s
obin instantaneu un raport detaliat despre alte locuri n care acelai produs se gsete i despre
preul lui.
Deoarece operatorul reelei tie unde anume se gsete utilizatorul, unele servicii sunt n mod in-
tenionat dependente de loc. De exemplu, poate fi posibil s afli localizarea unui magazin de cri
sau a unui restaurant chinezesc din apropiere. Hrile mobile sunt un alt candidat. La fel sunt i pro-
gnozele meteo foarte localizate (Cnd o s se opreasc ploaia n curtea mea din spate?). Fr n-
doial c multe alte aplicaii or s apar pe msur ce aceste dispozitive devin tot mai rspndite.
Unul dintre lucrurile importante dup care comerul mobil s-a orientat este acela c utilizatorii
de telefoane mobile sunt obinuii s plteasc pentru tot (spre deosebire de utilizatorii de Internet,
care ateapt totul gratis). Dac un sit Internet ar impune o tax pentru a permite utilizatorilor si s
plteasc prin intermediul crii de credit, s-ar nate o grmad de proteste zgomotoase din partea
utilizatorilor. Dac un operator de telefonie mobil ar permite oamenilor s plteasc pentru artico-
lele dintr-un magazin folosind telefonul i apoi le-ar fi impus o tax pentru acest serviciu, probabil c
totul ar fi fost perceput ca normal. Timpul va decide.
Ceva mai departe n timp sunt reelele personale (personal area networks) i calculatoarele la
purttor (wearable computers). IBM a dezvoltat un ceas care ruleaz Linux (inclusiv sistemul de
ferestre X11) i are conexiune fr fir la Internet pentru a trimite i primi mesaje prin pota electro-
nic (Narayanaswami et al., 2002). n viitor, oamenii vor putea schimba cri de vizit numai prin
punerea ceasurilor lor fa n fa. Calculatoarele la purttor, fr fir, vor putea permite accesul oa-
menilor n ncperi securizate n acelai fel n care cardurile cu benzi magnetice o fac astzi (probabil
c vor lucra n combinaie cu un cod PIN sau cu msurtori biometrice). Este posibil ca aceste cea-
suri s fie capabile chiar s obin informaiile relevante n vecintatea utilizatorului (de exemplu
restaurante locale). Posibilitile sunt infinite.
Ceasurile inteligente cu radio au fost parte din spaiul nostru mental nc de cnd au aprut n
benzile comice cu Dick Tracy n 1946. Dar praful inteligent? Cercettorii de la Berkley au construit
un calculator fr fir ntr-un cub cu latura de 1 mm (Warneke et al., 2001). Aplicaiile poteniale
includ evidena stocurilor, pachetelor, ba chiar i a psrelelor, roztoarelor i insectelor.
1.1.4 Aspecte sociale
Introducerea pe scar larg a reelelor va ridica noi probleme sociale, etice i politice. Vom men-
iona 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 oa-
12 INTRODUCERE CAP. 1


menii 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 ex-
trem 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 mesa-
jele 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, atacuri la
anumite ri sau religii, pornografia etc.) este pur i simplu inacceptabil i trebuie cenzurat. Diver-
se ri au diverse legi n acest domeniu, uneori chiar contradictorii. De aceea, discuiile sunt n conti-
nuare aprinse.
Unii oameni au dat n judecat operatori de reea, pretinznd c ei sunt responsabili pentru in-
formaia 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 utili-
zatorilor la exprimare liber. Nu este, probabil, hazardat s afirmm c aceast dezbatere va conti-
nua 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 de la
calculatoarele de acas, dup orele de program. Numai c nu toi angajaii agreeaz aceast idee.
Dar chiar admind c directorii au o astfel de putere asupra angajailor, exist o relaie similar
i ntre universiti i studeni? Dar ntre licee i elevi? n 1994 Universitatea Carnegie-Mellon a ho-
trt s blocheze mesajele care veneau de la grupuri de interese legate de sex pe motivul c materia-
lele nu erau potrivite pentru minori (adic pentru cei civa studeni care nu aveau nc 18 ani). Dis-
puta izvort din aceast decizie va dura ani ntregi.
Un alt subiect cheie este relaia guvern-cetean. FBI a instalat la muli furnizori de servicii In-
ternet un sistem care s supravegheze toate mesajele de pot electronic care vin i pleac n cuta-
rea de amnunte din domeniile sale de interes (Blaze i Bellovin, 2000; Sobel, 2001 i Zacks, 2001).
Sistemul a fost numit la nceput Carnivore, dar din cauza publicitii negative de care a avut parte
a fost redenumit cu un nume care suna ceva mai inocent: DCS1000. Dar scopul lui a rmas acelai:
de a spiona milioane de oameni n sperana c se vor gsi informaii despre activiti ilegale. Din
pcate, al patrulea amendament al Constituiei SUA interzice cercetrile guvernamentale fr man-
dat de cutare. Dac aceste 54 de cuvinte scrise n secolul al 18-lea au n continuare o oarecare va-
loare n secolul 21, tribunalele vor rmne ocupate pn n secolul 22.
Guvernul nu are monopol la ameninarea intimitii ceteanului. Sectorul privat i are i el par-
tea lui. De exemplu, micile fiiere denumite cookies (prjiturele) pe care programele de navigare le
stocheaz pe calculatoarele utilizatorilor permit companiilor s urmreasc activitile utilizatorilor
n cyberspace i, de asemenea, pot face ca numerele crilor de credit, numerele de asigurri sociale
sau alte informaii strict confideniale s fie accesibile n Internet (Berghel, 2001).
Reelele de calculatoare ofer posibilitatea de a trimite mesaje anonime. n 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 profesori-
lor, ofierilor, directorilor sau politicienilor. Pe de alt parte, n Statele Unite i n majoritatea demo-
SEC. 1.2 HARDWARE-UL REELEI 13

craiilor, 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.
Odat cu binele vine i rul. Viaa pare a fi construit astfel. Internetul ofer posibilitatea de a
gsi repede informaii, dar multe dintre ele sunt greit informate, tendenioase sau chiar complet
eronate. Sfatul medical pe care tocmai l-ai luat de pe Internet poate s vin de la un laureat al pre-
miului Nobel sau de la un repetent din liceu. Reelele de calculatoare au introdus de asemenea i noi
tipuri de comportamente antisociale i infracionale. Transmiterea electronic a fleacurilor i gunoa-
ielor (eng.: junk) a devenit parte din via pentru c oamenii au colecionat milioane de adrese pe
care le vnd pe CD-ROM-uri aa-ziilor ageni de marketing. Mesajele care au un coninut activ (de
obicei programe sau macrouri care se execut pe maina receptorului) pot avea efecte distructive.
Furtul de identitate devine o problem serioas, pentru c hoii colecteaz destule informaii de-
spre o potenial victim pentru a putea obine cri de credit i alte documente n numele acesteia.
n fine, posibilitatea de a transmite digital muzic i filme a deschis ua pentru nclcarea masiv a
drepturilor de autor care sunt greu de depistat i pedepsit.
Multe dintre aceste probleme puteau fi rezolvate dac industria de calculatoare ar fi luat n serios
securitatea calculatoarelor. Dac toate mesajele erau criptate i autentificate, ar fi fost mai greu s se
comit nedrepti sau furturi. Aceast tehnologie este bine conturat i o vom studia n detaliu n
cap. 8. Problema este c vnztorii de hardware i aplicaii software tiu c introducerea unor atribu-
te de securitate cost bani, iar cumprtorii nu solicit astfel de atribute. Mai mult, un numr sub-
stanial de probleme este determinat de aplicaiile care funcioneaz cu erori, ceea ce se ntmpl
pentru c productorii adaug din ce n ce mai multe faciliti programelor lor, ceea ce nseamn
inevitabil mai mult cod i de aceea mai multe erori. O tax pentru noile faciliti ar putea ajuta, dar
ar face produsele greu de vndut n anumite segmente de pia. Plata unei despgubiri pentru pro-
gramele care funcioneaz eronat ar fi foarte cinstit, doar c ar duce la faliment ntreaga industrie
software chiar din primul an.


1.2 HARDWARE-UL REELEI
A venit acum timpul s ne ndreptm atenia de la aplicaiile i problemele sociale ale interco-
nectrii (partea distractiv) la aspectele tehnice care intervin n proiectarea reelelor (partea serioas
de lucru). Dei nu exist o taxonomie general acceptat n care pot fi ncadrate toate reelele de cal-
culatoare, 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 care se folosesc pe scar larg. Aces-
tea sunt:

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

14 INTRODUCERE CAP. 1


Reelele cu difuzare au un singur canal de comunicaii care este partajat de toate mainile din re-
ea. 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 pa-
chetul. La recepionarea unui pachet, o main controleaz cmpul de adres. Dac pachetul i este
adresat, maina l 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.
Sistemele cu difuzare permit n general i adresarea unui pachet ctre toate destinaiile, prin folo-
sirea 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 gru-
pul respectiv.
Prin contrast, reelele punct-la-punct dispun de numeroase conexiuni ntre perechi de maini in-
dividuale. 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, i de aceea descoperirea drumurilor celor mai potrivite este foarte 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. Transmisiile punct la
punct cu un sigur transmitor i un singur receptor sunt numite uneori i unicasting.

Fig. 1-6. Clasificarea procesoarelor interconectate n funcie de dimensiune.

Un criteriu alternativ pentru clasificarea reelelor este mrimea lor. n fig. 1-6 este prezentat o
clasificare a sistemelor cu procesoare multiple dup mrimea lor fizic. Prima categorie o reprezint
reelele personale (personal area networks), reele gndite pentru o singur persoan. De exemplu,
SEC. 1.2 HARDWARE-UL REELEI 15

o reea fr fir care conecteaz calculatorul cu perifericele sale (tastatur, imprimant, mouse) este
o reea personal. De asemenea, un PDA care controleaz aparatul auditiv al utilizatorului sau
regulatorul lui de ritm cardiac se ncadreaz n aceeai categorie. Mai departe de aceste reele
personale sunt reele cu domenii mai mari. Acestea pot fi mprite n reele locale, reele me-
tropolitane i reele larg rspndite geografic. n sfrit, prin conectarea a dou sau mai multe reele
rezult 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 de reele din toate aceste categorii. 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 locali-
zate ntr-o singur cldire sau ntr-un campus de cel mult civa kilometri. Ele sunt frecvent utiliza-
te pentru a conecta calculatoarele personale i staiile de lucru din birourile companiilor i fabrici-
lor, 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 de-
favorabil 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 ca-
re 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 (mi-
crosecunde sau nanosecunde) i produc erori foarte puine. LAN-urile mai noi pot opera la viteze
mai mari, pn la 10 Gbps. n aceast carte vom pstra tradiia i vom msura vitezele de transmi-
sie pe linii n megabii/sec (1 Mbps reprezint 1.000.000 bii), i gigabii/sec (1 Gbps reprezint
1.000.000.000 bii).

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

Pentru LAN-urile cu difuzare sunt posibile diverse topologii. Fig. 1-7 prezint dou dintre ele.
ntr-o reea cu magistral (cu cablu liniar), n fiecare moment cel mult una dintre maini este master
i are dreptul s transmit. Restul mainilor nu pot transmite. Cnd dou sau mai multe maini vor
16 INTRODUCERE CAP. 1


s transmit simultan, este necesar un mecanism de arbitrare. Mecanismul de arbitrare poate fi cen-
tralizat sau distribuit. De exemplu, IEEE 802.3, popular numit Ethernet
TM
, este o reea cu difuzare
bazat pe magistral cu control descentralizat, lucrnd la viteze ntre 10 Mbps i 10 Gbps. Calcula-
toarele dintr-un Ethernet pot transmite oricnd doresc; dac dou sau mai multe pachete se cioc-
nesc, 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 inde-
pendent de ceilali, fr s atepte restul pachetului cruia i aparine. n mod tipic, fiecare bit navi-
gheaz 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. Un alt exemplu de reea de tip inel este
FDDI (Fiber Distributed Data Interface, rom: Interfa de date distribuite pe fibr optic).
Reelele cu difuzare pot fi n continuare mprite n statice i 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 cu-
anta 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 arbi-
trare 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 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.
1.2.2 Reele metropolitane
O reea metropolitan (Metropolitan Area Network), sau MAN (plural: MAN-uri) deservete un
ora. Cel mai bun exemplu de MAN este reeaua de televiziune prin cablu disponibil n cele mai
multe orae. Acest sistem s-a dezvoltat de la primele antene colective folosite n zone n care semna-
lul recepionat prin aer era foarte slab. n aceste sisteme timpurii, o anten foarte mare era amplasa-
t pe vrful celui mai apropiat deal i semnalul captat era retransmis ctre casele abonailor.
La nceput, acestea erau sisteme proiectate local, ad-hoc. Apoi companiile au nceput s se im-
plice n aceast afacere, obinnd contracte de la municipalitile oraelor pentru a cabla chiar i
ntreg oraul. Urmtorul pas a fost programarea televiziunii i chiar canale de televiziune produse
numai pentru furnizarea prin cablu. De cele mai multe ori aceste canale sunt foarte specializate, pe
domenii precum tirile, sporturile, gastronomia, grdinritul, i altele. Dar nc de la nceputuri i
pn n ultima perioad a anilor 1990, aceste reele erau exclusiv dedicate recepiei de televiziune.
Din momentul n care Internet-ul a nceput s atrag audiena de mas, operatorii de reele de
cablu TV au realizat c, dac vor face anumite schimbri n sistem, ar putea s ofere servicii bidirec-
ionale n Internet n prile nefolosite ale spectrului. La acel moment, sistemul de cablu TV a nce-
put s se transforme dintr-o soluie de a distribui semnalul TV n ora ntr-o reea metropolitan. La
o prim aproximare, o MAN poate s arate oarecum similar cu sistemul prezentat n fig. 1-8.
SEC. 1.2 HARDWARE-UL REELEI 17


Fig. 1-8. O reea metropolitan care se bazeaz pe cablu TV.

n aceast figur se vd att semnalele de televiziune ct i Internet-ul trimise ntr-un centraliza-
tor (head end) pentru a fi apoi redistribuite n casele oamenilor. Vom reveni la acest subiect n deta-
liu n cap. 2.
Televiziunea prin cablu nu este singurul MAN. Ultimele dezvoltri n domeniul accesului la In-
ternet fr fir, a dus la dezvoltarea unei noi reele metropolitane care a fost standardizat cu numele
de IEEE 802.16. Vom studia acest domeniu n cap. 2.
1.2.3 Reele larg rspndite geografic
O reea larg rspndit geografic (Wide Area Network), sau WAN, acoper o arie geografic n-
tins - 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. Gazdele sunt conectate printr-o subreea de comunicaie sau, pe scurt, subre-
ea. Gazdele aparin clienilor (de exemplu calculatoarele personale ale oamenilor), dei subreeaua
de comunicaie aparine i este exploatat, de cele mai multe ori, de o companie de telefonie sau de
un furnizor de servicii Internet (ISP). Sarcina subreelei este s transporte mesajele de la gazd la
gazd, exact aa cum sistemul telefonic transmite cuvintele de la vorbitor la asculttor. Prin separa-
rea aspectelor de pur comunicaie ale reelei (subreelei) de aspectele referitoare la aplicaii (gaz-
de), 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 transport biii ntre
maini. Ele pot fi alctuite din fire de cupru, fibr optic sau chiar legturi radio. Elementele de co-
mutare sunt calculatoare specializate, folosite pentru a conecta dou sau mai multe linii de transmi-
sie. Cnd sosesc date pe o anumit linie, elementul de comutare trebuie s aleag o nou linie pen-
tru a retransmite datele mai departe. Din pcate, nu exist nici o terminologie standard pentru de-
18 INTRODUCERE CAP. 1


numirea acestor calculatoare. Aceste elemente de comutare au primit diverse nume n trecut; nume-
le de ruter (router
1
) este acum cel mai folosit.
n acest model, prezentat n fig. 1-9, fiecare gazd este de cele mai multe ori conectat la un
LAN n care exist un ruter, dei n anumite cazuri o gazd poate fi legat direct cu un ruter. Colec-
ia de linii de comunicaie i de rutere (dar nu i gazdele) formeaz subreeaua.
Fig. 1-9. Relaia dintre gazde i subreea.

Merit s facem un scurt comentariu n jurul termenului de ,,subreea. Iniial, singura sa accep-
iune 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 con-
juncie cu adresarea reelelor (pe care o vom discuta n Cap. 5). Din nefericire, nu exist o alternati-
v larg acceptat pentru nelesul su iniial, drept care noi vom folosi acest termen, cu unele rezer-
ve, n ambele sensuri. Din context, va fi totdeauna clar care din ele este subneles.
n cazul celor mai multe WAN-uri, reeaua conine numeroase linii de transmisie, 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 libe-
r i apoi este retransmis. O subreea care funcioneaz pe acest principiu se numete subreea me-
moreaz-i-retransmite sau subreea cu comutare de pachete. Aproape toate reelele larg rspndite
geografic (excepie fcnd cele care utilizeaz satelii) au subreele memoreaz-i-retransmite. Cnd
pachetele sunt mici i au aceeai mrime, ele sunt adesea numite celule.
Principiul de funcionare a unui WAN cu comutare de pachete este att de important nct meri-
t s mai adugm cteva cuvinte despre el. n general, atunci cnd un proces al unei gazde are un
mesaj de transmis ctre un proces de pe o alt gazd, gazda care transmite va sparge mesajul n pa-
chete, fiecare dintre ele reinndu-i numrul de ordine din secven. Aceste pachete sunt apoi
transmise n reea unul cte unul ntr-o succesiune rapid. Pachetele sunt transportate individual
prin reea i depozitate la gazda receptoare, unde sunt reasamblate n mesajul iniial i furnizate pro-

1
Din pcate, unii l pronun ca englezescul rooter i alii prefer s l asocieze ca pronunie cu doubter.
Determinarea pronuniei corecte n limba englez va fi lsat ca exerciiu cititorului. (rspunsul pe care l vei
afla poate depinde de zona n care ntrebai).
SEC. 1.2 HARDWARE-UL REELEI 19

cesului receptor. Un flux de pachete rezultat din descompunerea unui mesaj iniial oarecare este
prezentat n fig. 1-10.

Fig. 1-10. Un flux de pachete de la transmitor la receptor.

n aceast figur, toate pachetele parcurg ruta A-C-E, n loc de A-B-D-E sau A-C-D-E. n unele
reele, toate pachetele aparinnd unui mesaj dat trebuie s urmeze aceeai rut; n altele, fiecare
pachet este dirijat separat. Desigur, dac A-C-E este cea mai bun rut, toate pachetele pot fi
transmise pe acolo, chiar dac fiecare dintre ele este dirijat individual.
Deciziile de dirijare se iau la nivelul local al ruterului. Cnd un pachet ajunge la ruterul A, este
de datoria lui A s decid dac acest pachet trebuie trimis pe linia ctre B sau pe linia ctre C. Mo-
dul n care ruterul A ia aceast decizie este denumit algoritm de rutare. Exist muli astfel de algo-
ritmi. Pe unii dintre ei i vom studia n detaliu n cap. 5.
Nu toate WAN-urile sunt cu comutare de pachete. O a doua posibilitate pentru un WAN este un
sistem de satelii. Fiecare ruter are o anten prin care poate trimite i poate primi. Toate ruterele pot
asculta ieirea de la satelit, iar n anumite cazuri pot s asculte chiar i transmisia celorlalte rutere
ctre satelit. Uneori, ruterele sunt conectate la o reea punct-la-punct i numai unele dintre ele pot
avea antene de satelit. Reelele satelit sunt n mod implicit reele cu difuzare i sunt foarte utile cnd
proprietatea de difuzare este important.
1.2.4 Reele fr fir
Comunicaiile digitale fr fir nu reprezint 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 per-
formane mai bune, dar ideea fundamental a rmas aceeai.
La o prim aproximare, reelele fr fir pot fi mprite n 3 mari categorii:

1. Interconectarea componentelor unui sistem
2. LAN-uri fr fir
3. WAN-uri fr fir

Interconectarea componentelor se refer numai la interconectarea componentelor unui calcula-
tor folosind unde radio cu raz mic de aciune. Aproape orice calculator are un monitor, o tastatu-
r, un mouse i o imprimant legate la unitatea central prin cabluri. Muli dintre noii utilizatori au
probleme cu conectarea tuturor cablurilor exact n mufele micue n care trebuie (chiar dac acestea
20 INTRODUCERE CAP. 1


sunt de cele mai multe ori codificate pe culori), aa c productorii de calculatoare ofer opiunea
de a trimite un tehnician pentru instalare. n consecin, cteva companii s-au adunat pentru a pro-
iecta o reea fr fir cu raz mic de aciune denumit Bluetooth pentru a conecta toate aceste com-
ponente fr cabluri. De asemenea, Bluetooth permite camerelor digitale, ctilor, scanerelor i al-
tor dispozitive s se conecteze la calculator prin simpla poziionare n zona acoperit de reea. Fr
cabluri, fr instalarea de drivere, doar poziionare, pornire i ... merge. Pentru muli oameni aceast
uurin n utilizare este un mare avantaj.
n cea mai simpl form, reelele de interconectare n sistem folosesc paradigma stpn-sclav
(master-slave) din fig. 1-11(a). Unitatea central a sistemului este n mod normal stpnul, care dis-
cut cu perifericele ca sclavi. Stpnul le comunic sclavilor ce adrese s foloseasc, cnd pot s difu-
zeze mesaje, ct timp pot s transmit, ce frecvene pot s foloseasc, i aa mai departe. Vom discu-
ta despre Bluetooth n detaliu n cap. 4.
Fig. 1-11. (a) Configuraie Bluetooth. (b) Reea local fr fir.

Urmtoarea treapt n reelele fr fir o reprezint reelele locale fr fir. Acestea sunt sisteme
n care fiecare calculator are un modem radio i o anten cu care poate comunica cu alte calculatoa-
re. De multe ori exist o anten n tavan cu care mainile vorbesc, aa cum se poate vedea n fig. 1-
11(b). Oricum, dac sistemele sunt destul de apropiate, ele pot comunica direct unul cu altul ntr-o
configuraie punct-la-punct. Reelele locale fr fir devin din ce n ce mai utilizate n birouri mai mici
i acas, unde instalarea unei reele Ethernet este considerat prea complicat, precum i n cldiri
de birouri mai vechi, n cantinele companiilor, n camerele de conferine, i n alte asemenea locuri.
Exist un standard pentru reele locale fr fir, numit IEEE 802.11, pe care l implementeaz majori-
tatea sistemelor i care devine din ce n ce mai rspndit. l vom discuta n cap. 4.
Cea de-a treia categorie de reele fr fir este folosit n sistemele rspndite pe arii geografice
largi (Wide Area Networks). Reeaua radio utilizat de telefonia mobil este un exemplu de sistem
fr fir cu lrgime de band redus. Acest sistem este deja la generaia a treia. Prima generaie era
analogic i numai pentru voce. A doua generaie era digital, dar numai pentru voce. Cea de-a treia
generaie este digital i este utilizat att pentru voce ct i pentru date. ntr-un anume sens, reele-
le celulare fr fir sunt foarte asemntoare cu reelele locale fr fir, cu excepia faptului c distan-
SEC. 1.2 HARDWARE-UL REELEI 21

ele implicate sunt mult mai mari, iar ratele de transfer sunt mult mai mici. Reelele locale fr fir
pot opera la rate de pn la 50 Mbps pe distane de zeci de metri. Sistemele celulare pot opera sub 1
Mbps, dar distanele dintre staia de baz i calculator sau telefon este msurat mai degrab n ki-
lometri dect n metri. Vom avea multe de spus despre aceste reele n cap. 2.
n plus fa de aceste reele de vitez redus, sunt dezvoltate i WAN-uri cu lrgime de band
mare. Important este n primul rnd accesul la Internet de acas sau din cadrul companiei prin co-
nexiune rapid fr fir, eliminnd necesitatea folosirii sistemului de telefonie. Acest serviciu este de
multe ori denumit serviciu local de distribuire multipunct. l vom studia mai trziu n carte. A fost
dezvoltat i un standard al su, numit IEEE 802.16. l vom examina n cap. 4.
Aproape toate reelele ajung mai devreme sau mai trziu s fie parte dintr-o reea cablat pentru
a oferi acces la fiiere, baze de date sau Internet. Sunt multe variante prin care aceste conexiuni pot
fi realizate, n funcie de circumstane. De exemplu, n fig. 1-12(a) este prezentat un avion n care un
numr de persoane folosesc modemuri i telefoane ncorporate n sptarul scaunului (eng.: seat-
back telephone) pentru a suna la birou. Fiecare apel este independent de toate celelalte. O opiune
mult mai eficient este LAN-ul zburtor (flying LAN) din fig. 1-12(b). Aici, fiecare scaun este echi-
pat cu un conector Ethernet n care pasagerii pot s i conecteze calculatoarele. Un singur ruter al
avionului menine o legtur radio cu un ruter de la sol, schimbnd acest ruter pe msur ce i par-
curge traseul. Aceast configuraie este o reea local tradiional, doar c pentru a se conecta cu
restul lumii folosete o legtur radio n loc de o linie cablat.

Fig. 1-12. (a) Calculatoare mobile individuale. (b) Un LAN zburtor.

Mult lume crede c tehnologiile fr fir reprezint valul viitorului (de ex. Bi et al., 2001; Leeper,
2001; Varshez i Vetter, 2000), dar exisit cel puin o prere contrar cunoscut. 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). Istoria ar
putea s rein aceast afirmaie n aceeai categorie cu a lui T.J. Watson, preedintele IBM, care
explica n 1945 de ce IBM nu se intr n afacerea calculatoarelor: Patru sau cinci calculatoare ar
trebui s fie suficiente pentru ntreaga lume pn n anul 2000.
1.2.5 Reelele casnice (Home networks)
Reelele n mediul casnic sunt la orizont. Ideea fundamental este c n viitor, cele mai multe lo-
cuine vor fi pregtite pentru instalarea de reele. Fiecare dispozitiv din cas va fi capabil s comuni-
ce cu orice alt dispozitiv i toate vor fi accesibile prin Internet. Acesta este unul dintre acele concepte
22 INTRODUCERE CAP. 1


revoluionare pe care nu l-a cerut nimeni (cum sunt telecomenzile TV sau telefoanele mobile), dar
de ndat ce au fost implementate nimeni nu i-a mai putut nchipui cum au trit fr ele.
Multe dispozitive sunt capabile s fie legate n reea. Unele dintre categoriile cele mai simple, n-
soite de exemple sunt cele care urmeaz:

1. Calculatoarele (PC-uri staionare, PC-uri portabile, PDA-uri, periferice partajate)
2. Dispozitivele de divertisment (TV, DVD, VCR, camera video, combina muzical)
3. Dispozitive pentru telecomunicaii (telefonul, telefonul mobil, fax-ul, sistemul de co-
municare interioar)
4. Aparatura casnic (cuptorul cu microunde, frigiderul, ceasul, cuptorul, aparatul de aer
condiionat, luminile)
5. Contoarele i alarmele (contoarele pentru utiliti, alarmele de fum sau hoi, termosta-
tele, sistemele de supraveghere a copilului)

Reelele casnice sunt deja implementate ntr-o oarecare msur. Multe case au deja un dispozitiv
pentru conectarea mai multor calculatoare la Internet printr-o conexiune rapid. Divertismentul
prin reea nu este chiar la ndemn, dar pentru c din ce n ce mai mult muzic i mai multe filme
sunt disponibile pentru descrcare din Internet, va exista o cerere de conectare a combinelor muzi-
cale i a televizoarelor n reea. De asemenea, oamenii vor dori s mpart propriile clipuri video cu
prietenii i familia, astfel c aceast conexiune va trebui s fie bidirecional. Angrenajul telecomu-
nicaiilor este deja conectat la lumea exterioar, dar n curnd aceste vor fi digitale i transmise prin
Internet. n medie, o cas are cam o duzin de ceasuri (de exemplu, cele de la aparatele electrocas-
nice), care toate trebuie potrivite cel puin de doua ori pe an, cnd se trece la ora de var i apoi la
ora de iarn. Dac toate aceste ceasuri ar fi conectate la Internet, aceast potrivire s-ar face automat.
n fine, monitorizarea de la distan a casei i a interiorului su este un posibil domeniu de succes.
Probabil c muli dintre prini ar fi gata s cheltuiasc nite bani pentru a-i supraveghea copiii
adormii, prin intermediul PDA-urilor, n timp ce iau masa n ora, chiar i dac au angajat un ado-
lescent pentru a avea grij de ei. n timp ce unii i pot imagina o reea separat pentru fiecare zon
de aplicaii, integrarea tuturor ntr-o singur reea mai mare este probabil o idee mult mai bun.
Reelele casnice au cteva proprieti fundamental diferite de alte tipuri de reele. Mai nti, att
reeaua ct i dispozitivele trebuie s fie uor de instalat. Autorul a instalat multe componente har-
dware i software pe diverse calculatoare de-a lungul anilor, cu diverse rezultate. O serie de telefoa-
ne la biroul de suport tehnic al productorului au rezultat n rspunsuri de tipul (1) Citii manualul,
(2) Repornii calculatorul, (3) Scoatei toate componentele hardware i software cu excepia celor
furnizate de noi i ncercai din nou, (4) Descrcai cea mai nou versiune a programului de configu-
rare de pe situl nostru Web i dac toate acestea eueaz, (5) Reformatai discul i apoi reinstalai
Windows de pe CD-ROM. A spune unui cumprtor de frigider care poate fi conectat la Internet s
descarce i s instaleze o nou versiune a sistemului de operare pentru frigiderul su nu este de na-
tur s fac prea muli clieni fericii. Utilizatorii de calculatoare sunt obinuii cu instalarea de pro-
duse care nu merg din prima; cumprtorii de maini, televizoare sau frigidere sunt mai puin tole-
rani. Ei se ateapt ca produsele s rspund corect la 100% din comenzi.
n al doilea rnd, reelele i dispozitivele trebuie s fie protejate mpotriva utilizrii neglijente.
Primele aparate de aer condiionat aveau un buton cu patru poziii: OPRIT, SCZUT, MEDIU,
RAPID. Acum au manuale de 30 de pagini. De ndat ce vor fi conectate n reea, ateptai-v ca
numai capitolul de securizare s aib 30 de pagini. Ceea ce va depi capacitatea de nelegere a ma-
joritii utilizatorilor.
SEC. 1.2 HARDWARE-UL REELEI 23

n al treilea rnd, preul sczut este esenial pentru succes. Cumprtorii nu vor plti 50 de dolari
n plus pentru un termostat numai pentru c unii oameni consider important s-i supravegheze de
la birou temperatura din cas. Pentru numai 5 dolari n plus, s-ar putea s se vnd.
n al patrulea rnd, programul principal este foarte probabil s implice faciliti multimedia, aa c
reeaua are nevoie de capacitate suficient. Nu exist pia pentru televizoare conectate la Internet
care s prezinte filme de groaz n rezoluie de 320 240 pixeli i la 10 cadre/s. Ethernet-ul rapid (fast
Ethernet), mediul de lucru n majoritatea birourilor, nu este destul de bun pentru facilitile multi-
media. n consecin, reelele casnice vor avea nevoie de performane mai bune dect cele are reelelor
care exist acum n companii i de preuri mai mici pentru a deveni articole care se vnd n mas.
n cel de-al cincilea rnd, trebuie s fie posibil s se porneasc cu unul sau dou dispozitive i ex-
tinderea s se poat face gradat. Aceasta nseamn fr schimbri revoluionare. A spune consuma-
torilor s i cumpere periferice cu interfee IEEE 1394 (FireWire) i apoi, dup civa ani, s retrac-
tezi spunnd c USB 2.0 este interfaa lunii va face consumatorii s devin capricioi. Interfaa de
reea va trebui s rmn stabil pentru muli ani; cablajul (dac exist) va trebui s rmn acelai
pentru decade ntregi.
n cel de-al aselea rnd, securitatea i sigurana vor fi foarte importante. Pierderea ctorva fiie-
re datorit unui virus de pot electronic e una, dar dac un ho i dezarmeaz sistemul de securita-
te al locuinei de la PDA-ul su i apoi intr n cas este cu totul alt situaie.
O ntrebare interesant este dac reelele casnice trebuie s fie cablate sau fr fir. Majoritatea
locuinelor au deja ase reele instalate: electric, telefonic, televiziune prin cablu, ap, gaz i canali-
zare. Adugarea unei a aptea reele n timpul construciei nu este dificil, dar reamenajarea caselor
deja construite este costisitoare. Costul este un motiv de a alege reelele fr fir, dar securitatea este
un motiv pentru cele cablate. Problema cu reelele fr fir este aceea c undele radio pe care le folo-
sesc trec foarte uor prin garduri. Nimeni nu este foarte bucuros dac vecinii i pot intercepta cone-
xiunea la Internet i i pot citi mesajele de pot electronic n timp ce acestea sunt trimise la impri-
mant. n cap. 8 vom vedea cum se poate folosi criptarea pentru a oferi securitate, dar n contextul
unei reele casnice, securitatea trebuie s fie i ea protejat mpotriva utilizrii neglijente, chiar i n
cazul utilizatorilor fr experien. Aceasta este mai uor de spus dect de fcut, chiar i pentru utili-
zatori foarte pricepui. Pe scurt, reelele casnice ofer multe faciliti i provocri. Multe dintre ele
sunt legate de necesitatea de a fi uor de administrat, sigure i securizate, mai ales n minile utiliza-
torilor care nu sunt implicai n domeniul tehnic, concomitent cu necesitatea de a obine performan-
e ridicate la preuri sczute.
1.2.6 Inter-reelele
n lume exist multe reele, cu echipamente i programe diverse. Persoanele conectate la o anu-
mit reea doresc adesea s comunice cu persoane racordate la alta. Aceast cerin impune conec-
tarea unor reele diferite, de multe ori incompatibile, ceea ce uneori se realizeaz utiliznd maini
numite pori (gateways). Acestea realizeaz conectarea i asigur conversiile necesare, att n ter-
meni de hardware ct i de software. O colecie de reele interconectate este numit inter-reea sau
internet. Aceti termeni vor fi folosii n sens generic, spre deosebire de Internet-ul mondial (care
este un internet special), al crui nume va fi scris mereu cu majuscul.
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-9 prin ,,WAN, n figur nu ar mai trebui schimbat
nimic altceva. n acest caz, singura diferen tehnic real ntre o subreea i un WAN se refer la
24 INTRODUCERE CAP. 1


prezena gazdelor. Dac sistemul din interiorul zonei gri conine numai rutere, atunci este o subre-
ea. Dac el conine att rutere, ct i gazde cu utilizatori proprii, atunci este un WAN. Diferenele
reale sunt legate de proprietate i utilizare.
Deseori se produc confuzii ntre subreele, 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. 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 locuine i birouri prin linii de vitez sczut. Aceste linii i echipamente, deinute i ntrei-
nute 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 gaz-
de. Aici nu exist cu adevrat o subreea.
O inter-reea se formeaz atunci cnd se leag ntre ele reele diferite. Din punctul nostru de ve-
dere, legarea 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. O regul simpl este aceea c dac diferi-
te companii sunt pltite s construiasc diverse pri ale unei reele i fiecare trebuie s i ntrein
propria parte, avem o inter-reea mai degrab dect o singur reea. De asemenea, dac tehnologiile
difer n diverse zone ale reelei (de exemplu: difuzare i punct-la-punct), probabil c discutm nu
despre una ci despre dou reele.


1.3 PROGRAMELE DE REEA
n 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 struc-
turare a programelor. Metoda descris aici formeaz punctul de sprijin al ntregii cri i ea va ap-
rea mai departe n repetate rnduri.
1.3.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 nive-
luri, numele fiecrui nivel, coninutul i funcia sa variaz de la reea la reea. Oricum, n toate reele-
le, scopul fiecrui nivel este s ofere anumite servicii nivelurilor superioare, protejndu-le totodat
de detaliile privitoare la implementarea efectiv a serviciilor oferite. ntr-un anumit sens, fiecare
nivel este un fel de main virtual, oferind anumite servicii nivelului de deasupra lui.
Nivelul n de pe o main converseaz cu nivelul n de pe alt main. Regulile i conveniile utili-
zate 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 depin-
de, s spunem, dac femeia este o avocat american care a venit la o ntlnire de afaceri sau este o
SEC. 1.3 PROGRAMELE DE REEA 25

prines european prezent la un bal. nclcarea protocolului va face comunicarea mai dificil, da-
c nu chiar imposibil.
n fig. 1-13 este ilustrat o reea cu cinci niveluri. Entitile din niveluri corespondente de pe ma-
ini diferite se numesc egale. Entitile egale pot fi procese, dispozitive hardware, sau chiar fiine
umane. Cu alte cuvinte, entitile egale sunt cele care comunic folosind protocolul.

Fig. 1-13. 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
comunicarea efectiv. n fig. 1-13, comunicarea virtual este reprezentat prin linii punctate, iar co-
municarea fizic prin linii continue. ntre dou niveluri adiacente exist o interfa. Interfaa defi-
nete ce operaii i servicii primitive 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 consideren-
tele 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, inter-
feele 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 l oferea vechea implementare. De altfel, este un fapt obinuit ca doua
gazde s foloseasc implementri diferite.
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 condi-
26 INTRODUCERE CAP. 1


ia, 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.
Arhitecturile de reea, stivele de protocoale i protocoalele propriu-zise constituie principalele sub-
iecte ale acestei cri.
O analogie poate ajuta la explicarea ideii de comunicare multinivel. Imaginai-v doi filosofi
(procesele egale de la nivelul 3), unul din ei vorbind limbile urdu i englez, iar cellalt vorbind chi-
neza 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
oryctolagus cuniculus. Pentru aceasta, el trimite un mesaj (n englez) prin interfaa 2/3 ctre transla-
torul su, cruia i spune urmtoarele cuvinte: I like rabbits
2
(ceea ce este ilustrat n fig. 1-14).
Translatorii s-au neles asupra unei limbi neutre, olandeza, aa c mesajul este convertit n Ik vind
konijnen leuk. Alegerea limbii reprezint protocolul nivelului 2 i este la latitudinea proceselor pe-
reche de pe acest nivel.

Fig. 1-14. Arhitectura filosof-translator-secretar.

2
Propoziia nseamn mi plac iepurii. (n.t.)
SEC. 1.3 PROGRAMELE DE REEA 27


Fig. 1-15. Exemplu de flux de informaii pentru suportul comunicrii
virtuale la nivelul 5.

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.
S considerm acum un exemplu mai tehnic: cum se realizeaz comunicarea la ultimul nivel din
reeaua cu cinci niveluri din fig. 1-15. O aplicaie care se execut n nivelul 5 produce un mesaj M i l
furnizeaz nivelului 4 pentru a-l transmite. Nivelul 4 insereaz un antet n faa 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 de destinaie s livreze mesajele n or-
dinea 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.
n numeroase reele nu exist nici o limit cu privire la mrimea mesajelor transmise n protoco-
lul 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, M
1
i M
2
.
Nivelul 3 decide ce linie de transmisie s utilizeze i trimite pachetele nivelului 2. Nivelul 2 adau-
g nu numai cte un antet pentru fiecare bucat, ci i o ncheiere, dup care furnizeaz unitatea re-
zultant nivelului 1 pentru a o transmite fizic. n maina receptoare mesajul este trimis n sus, din
28 INTRODUCERE CAP. 1


nivel n nivel, pe parcurs fiind eliminate succesiv toate antetele. Nici un antet corespunztor niveluri-
lor de sub n nu este transmis n sus nivelului n.
Ceea ce este important de neles n fig. 1-15 este relaia dintre comunicaia virtual i cea efecti-
v i diferena ntre protocoale i interfee. De exemplu, procesele egale de la nivelul 4 i imaginea-
z 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 PrimeteDinCea-
laltParte, aceste proceduri nu comunic de fapt cu cealalt parte, ci cu nivelurile inferioare prin in-
terfaa 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, rezolva-
bile, i anume proiectarea nivelurilor individuale.
Dei Seciunea 1-3 este intitulat ,,Programele de reea, merit s subliniem c nivelurile infe-
rioare 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
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; n altele datele pot circula n ambele sensuri. Protocolul trebuie, de
asemenea, s determine ctor canale logice le corespunde conexiunea i care sunt prioritile acesto-
ra. Multe reele dispun de cel puin dou canale logice pe conexiune, unul pentru date normale i
unul pentru date urgente.
Controlul erorilor este o problem important deoarece circuitele fizice de comunicaii nu sunt
perfecte. 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 emi-
torului 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 secvenialitii, protocolul trebuie s furnizeze explicit receptorului informaia
necesar pentru a putea reconstitui mesajul. O soluie evident este numerotarea fragmentelor, dar
aceast soluie nc nu rezolv problema fragmentelor care sosesc la receptor aparent fr legtur
cu restul mesajului.
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. Acest subiect se nu-
mete controlul fluxului.
SEC. 1.3 PROGRAMELE DE REEA 29

O alt problem care apare la cteva niveluri privete incapacitatea tuturor proceselor de a ac-
cepta mesaje de lungime arbitrar. Acest fapt conduce la mecanisme pentru a dezasambla, a trans-
mite 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 demul-
tiplexare se realizeaz transparent, ea poate fi utilizat de ctre orice nivel. Multiplexarea este nece-
sar, 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 trimite-
rea 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.
Acest subiect poart numele de dirijare sau rutare (routing).
1.3.3 Servicii orientate pe conexiuni i servicii fr conexiuni
Nivelurile pot oferi nivelurilor de deasupra lor dou tipuri de servicii: orientate pe conexiuni 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 utili-
za un serviciu orientat pe conexiuni, beneficiarul trebuie mai nti s stabileasc o conexiune, s folo-
seasc aceast conexiune i apoi s o elibereze. n esen conexiunea funcioneaz ca o eav: emi-
torul introduce obiectele (biii) la un capt, iar receptorul le scoate afar, n aceeai ordine, la cellalt
capt. n majoritatea cazurilor ordinea este meninut, astfel nct biii s ajung n aceeai ordine n
care au fost trimii.
n anumite cazuri cnd se stabilete o conexiune, transmitorul, receptorul i subreeaua nego-
ciaz parametrii care vor fi folosii, cum sunt dimensiunea maxim a mesajului, calitatea impus a
serviciilor, i alte probleme de acest tip. De obicei, una dintre pri face o propunere i cealalt parte
poate s o accepte, s o rejecteze sau s fac o contrapropunere.
Serviciul fr conexiuni este modelat pe baza sistemului potal. Toate mesajele (scrisorile) con-
in adresele complete de destinaie i fiecare mesaj circul n sistem independent de celelalte. n
mod normal, atunci cnd dou mesaje sunt trimise la 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 destina-
ie. Procesul de confirmare introduce un timp suplimentar i ntrzieri. Aceste dezavantaje sunt ade-
sea acceptate, ns uneori ele trebuie evitate.
30 INTRODUCERE CAP. 1


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 une-
ori 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 1024 de
octei, ele vor sosi sub forma a dou mesaje distincte de 1024 de octei, niciodat ca un singur mesaj
de 2048 de octei. n a doua variant, conexiunea este un simplu flux de octei i nu exist delimitri
ntre mesaje. Cnd receptorul primete 2048 de octei, nu exist nici o modalitate de a spune dac ei
au fost trimii sub forma unui mesaj de 2048 octei, a dou mesaje de 1024 de octei sau a 2048 me-
saje 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 utilizator care se conecteaz la un server aflat la distan, este nevoie numai de un flux de
octei de la calculatorul utilizatorului la server. Delimitarea mesajelor nu mai este relevant.
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. Similar, atunci cnd se transmite o video-
conferin, civa pixeli diferii nu reprezint o problem, n schimb ntreruperile pentru a corecta
erorile ar fi extrem de suprtoare.
Nu orice aplicaie necesit conexiuni. De exemplu, n msura n care pota electronic devine ce-
va tot mai uzual, se poate s nu apar foarte 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 nesigur (adic neconfirmat) fr conexiuni este deseori numit serviciu datagra-
m, prin analogie cu serviciul de telegrame - care, la rndul su, nu prevede trimiterea unei confir-
mri ctre expeditor.
n alte situaii, avantajul de a nu fi necesar stabilirea unei conexiuni pentru a trimite un mesaj
scurt este de dorit, dar sigurana este de asemenea esenial. 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 transmite o
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. Serviciul cerere-rspuns este utilizat n mod frecvent pentru a implementa comunica-
rea n modelul client-server: clientul lanseaz o cerere i serverul rspunde la ea. n fig. 1-16 sunt
rezumate tipurile de servicii discutate mai sus.
Conceptul de a utiliza comunicaii nesigure poate prea derutant la nceput. La urma urmei, de
ce ar prefera cineva comunicaiile nesigure n locul comunicaiilor sigure? Mai nti, comunicaiile
sigure (ceea ce nseamn, pentru noi, confirmate) pot s nu fie disponibile. De exemplu, Ethernet-ul
nu ofer comunicaii sigure. Pachetele pot fi uneori alterate n timpul tranzitului. Urmeaz ca proto-
coalele nivelurilor superioare s se ocupe de aceast problem.
SEC. 1.3 PROGRAMELE DE REEA 31


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

n al doilea rnd, ntrzierile inerente n cazul n care se ofer servicii sigure ar putea fi inaccep-
tabile, mai ales n cazul aplicaiilor de timp real cum sunt aplicaiile multimedia. Pentru aceste moti-
ve, comunicaiile sigure ct i cele nesigure coexist.
1.3.4 Primitive de serviciu
Un serviciu este specificat formal printr-un set de primitive (operaii) puse la dispoziia utilizato-
rului care folosete serviciul. Aceste primitive comand serviciului s execute anumite aciuni sau s
raporteze despre aciunile executate de o entitate pereche. Dac stiva de protocoale este localizat
n sistemul de operare, aa cum se ntmpl de cele mai multe ori, primitivele sunt n mod normal
apeluri sistem. Aceste apeluri cauzeaz o trecere a sistemului de operare n modul nucleu (kernel),
care preia controlul mainii pentru a trimite pachetele necesare.
Setul de primitive disponibile depinde de natura serviciului oferit. Primitivele serviciilor orientate
pe conexiuni sunt diferite de cele ale serviciilor fr conexiuni. Ca un exemplu minimal de primitive
de serviciu care pot fi oferite pentru a implementa un flux de octei ntr-un mediu client-server, pu-
tem considera primitivele listate n fig. 1-17.

Primitiva Semnificaia
LISTEN
(Ascult)
Blocare n ateptarea unei conexiuni
CONNECT
(Conecteaz)
Stabilirea unei conexiuni cu o entitate pere-
che aflat n ateptare
RECEIVE
(Primete)
Blocare n ateptarea unui mesaj
SEND
(Trimite)
Trimite un mesaj entitii pereche
DISCONNECT
(Deconecteaz)
Termin o conexiune

Fig. 1-17. Cinci primitive de serviciu pentru implementarea unui
serviciu simplu orientat pe conexiune.

Aceste primitive pot fi folosite n urmtorul mod: mai nti serverul execut LISTEN pentru a
indica faptul c este pregtit s accepte conexiuni. Un mod obinuit de a implementa LISTEN este a
32 INTRODUCERE CAP. 1


face un apel de sistem blocant. Dup execuia primitivei, procesul server este blocat pn la apariia
unei cereri de conectare.
Apoi procesul client execut CONNECT pentru a stabili o conexiune cu serverul. Apelul CON-
NECT trebuie s specifice cu cine se dorete conectarea, aa c ar putea avea un parametru prin
care se transmite adresa serverului. De cele mai multe ori, sistemul de operare va trimite un prim
pachet entitii pereche cerndu-i s se conecteze, dup cum este artat de (1) n fig. 1-18. Procesul
client este suspendat pn cnd apare un rspuns. Cnd pachetul ajunge la server, el este procesat
de sistemul de operare al acestuia. Cnd sistemul de operare observ c pachetul cere o conexiune,
verific dac exist vreun asculttor. Dac da, va face doua lucruri: va debloca asculttorul i va tri-
mite napoi o confirmare (2). Sosirea acestei confirmri elibereaz apoi clientul. n acest moment,
att clientul ct i serverul sunt n execuie i au stabilit o conexiune ntre ei. Este important de ob-
servat c secvena de confirmare (2) este generat de codul protocolului nsui, nu ca rspuns al unei
primitive de la nivelul utilizatorului. Dac apare o cerere de conexiune i nu exist nici un asculttor,
rezultatul este nedefinit. n anumite sisteme, pachetul poate fi pstrat un scurt timp ntr-o coad,
anticipnd o eventual comand LISTEN.
Fig. 1-18. Pachetele trimise ntr-o simpl interaciune client-server
pe o reea orientat pe conexiuni.

Analogia evident ntre acest protocol i viaa real este cazul clientului care sun la directorul
departamentului de service al unei companii. Directorul st lng telefon pentru a putea rspunde
n cazul n care acesta sun. Clientul face un apel. Cnd directorul ridic receptorul, conexiunea
este stabilit.
Pasul urmtor este ca serverul s execute RECEIVE pentru a se pregti s accepte prima cerere.
n mod normal serverul face aceast operaie de ndat ce a fost eliberat din blocarea impus de
LISTEN, nainte s ajung confirmarea napoi la client. Apelul RECEIVE blocheaz serverul.
Apoi clientul execut SEND pentru a transmite cererea sa (3) urmat de execuia unui
RECEIVE pentru a obine rspunsul.
Sosirea pachetului de cerere la maina server deblocheaz procesul server astfel nct acesta s
poat procesa cererea. Dup ce a terminat lucrul, folosete SEND pentru a rspunde clientului (4).
Sosirea acestui pachet deblocheaz clientul care poate acum s analizeze rspunsul obinut. Daca
mai exist cereri din partea clientului, acesta le poate face acum. Dac a terminat, poate folosi
DISCONNECT pentru a termina conexiunea. De obicei, apelul iniial DISCONNECT este blocant,
suspendnd clientul i trimind un pachet ctre server pentru a-i comunica faptul ca respectiva co-
nexiune nu mai este necesar (5). Cnd serverul primete pachetul, el lanseaz un DISCONNECT
propriu, confirmnd cererea clientului i elibernd conexiunea. Cnd pachetul serverului (6) ajunge
SEC. 1.3 PROGRAMELE DE REEA 33

napoi la maina clientului, procesul client este eliberat i conexiunea este ntrerupt. Foarte pe
scurt, aa funcioneaz comunicaiile orientate pe conexiuni.
Desigur, viaa nu este simpl. Multe dintre lucruri pot s nu funcioneze corect. Sincronizarea
poate fi proast (de exemplu, daca se ncearc un CONNECT nainte de LISTEN), pachetele se pot
pierde i multe altele. Vom studia toate acestea n detaliu ceva mai trziu, dar deocamdat fig. 1-18
rezum pe scurt modul n care ar putea s funcioneze o comunicaie client-server ntr-o reea orien-
tat pe conexiuni.
tiind c acele ase pachete sunt necesare pentru a realiza acest protocol, cititorul se poate ntreba
de ce nu se folosete un protocol fr conexiune n locul su. Rspunsul este c ar fi posibil ntr-o lu-
me perfect, i atunci ar fi nevoie de numai dou pachete: unul pentru cerere i unul pentru rspuns.
Oricum, n cazul real cu mesaje lungi n oricare dintre direcii (de exemplu un fiier de 1 MB), cu
erori de transmisie i cu pachete pierdute, situaia se modific. Dac rspunsul ar avea sute de pache-
te, dintre care unele s-ar putea pierde n timpul transmisiei, cum ar putea clientul s i dea seama c
unele piese lipsesc? Cum ar putea ti clientul dac ultimul pachet recepionat este de fapt ultimul pa-
chet trimis? S presupunem c de la client se face o cerere pentru un al doilea fiier. Cum ar putea
clientul s diferenieze pachetele din cel de-al doilea fiier de eventualele pachete pierdute din primul
fiier? Pe scurt, n lumea real, un simplu protocol cerere-rspuns implementat ntr-o reea nesigur
este de cele mai multe ori inadecvat. n cap. 3 vom studia n detaliu o larg varietate de protocoale,
care pot rezolva aceste probleme i altele similare. Pentru moment ns este de ajuns s spunem c a
avea un flux de octei sigur i ordonat ntre procese este de multe ori foarte convenabil.
1.3.5 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
ce operaii este pregtit nivelul s realizeze pentru utilizatorii si, dar nu spune nimic despre cum
sunt implementate aceste operaii. Un serviciu este definit n contextul unei interfee ntre dou ni-
veluri, nivelul inferior fiind furnizorul serviciului i nivelul superior fiind utilizatorul serviciului.
Prin contrast, un protocol este un set de reguli care guverneaz formatul i semnificaia cadrelor,
pachetelor sau mesajelor schimbate ntre ele de entitile pereche dintr-un nivel. 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.
Fig. 1-19. Relaia dintre un server i un protocol.
34 INTRODUCERE CAP. 1


Cu alte cuvinte, serviciile sunt legate de interfeele dintre niveluri, dup cum este ilustrat i n fig.
1-19. Prin contrast, protocoalele sunt legate de pachetele trimise ntre entitile pereche de pe diferi-
te maini. Este important s nu existe confuzii ntre cele dou concepte.
Merit s facem o analogie cu limbajele de programare. Un serviciu este ca un tip de date ab-
stracte sau ca un obiect ntr-un limbaj orientat pe obiecte. Acesta definete operaiile care pot fi apli-
cate pe un obiect, dar nu specific modul de implementare a operaiilor. Un protocol se refer la
implementarea serviciului i nu este vizibil pentru utilizatorul serviciului.
Multe protocoale mai vechi nu fceau diferena ntre serviciu i protocol. Ca urmare, un nivel ti-
pic 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 impor-
tante, modelul de referin OSI i modelul de referin TCP/IP. Dei protocoalele asociate cu mode-
lul OSI nu sunt folosite aproape deloc, modelul n sine este destul de general i nc valabil, iar carac-
teristicile puse n discuie la fiecare nivel sunt n continuare foarte importante. Modelul TCP/IP are
caracteristici opuse: modelul n sine nu este foarte util, dar protocoalele sunt folosite pe scar larg.
Din acest motiv, le vom studia pe fiecare n detaliu. n plus, uneori poi nva mai multe din eecuri
dect din succese.
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 - ISO) ca un prim pas ctre standardizarea internaional a protocoalelor folosite pe
diferite niveluri (Day i Zimmermann, 1983). A fost revizuit n 1995 (Day, 1995). Modelul se nume-
te ISO OSI (Open Systems Interconnection, rom: 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 stan-
dardizate pe plan internaional.
4. Delimitarea nivelurilor trebuie fcut astfel nct s se minimizeze fluxul de informaii
prin interfee.
SEC. 1.4 MODELE DE REFERIN 35

5. Numrul de niveluri trebuie s fie suficient de mare pentru a nu fi nevoie s se introduc n
acelai nivel funcii diferite i suficient de mic pentru ca arhitectura s rmn funcional.

n continuare vom discuta fiecare nivel al modelului, ncepnd cu nivelul cel mai de jos. Modelul
OSI nu reprezint n sine o arhitectur de reea, pentru c nu specific serviciile i protocoalele utili-
zate la fiecare nivel. Modelul spune numai ceea ce ar trebui s fac fiecare nivel. ISO a produs de
asemenea standarde pentru fiecare nivel, 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 re-
prezenta un 1 i ci pentru un 0, dac transmisia poate avea loc simultan n ambele sensuri,
cum este stabilit 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.
Nivelul legtur de date
Sarcina principal a nivelului legturii de date este de a transforma un mijloc oarecare 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) i s transmit cadrele
secvenial. Dac serviciul este sigur, receptorul confirm fiecare cadru trimind napoi un cadru de
confirmare pozitiv.
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. Reelele cu difuzare determin n nivelul legtur de date o problem suplimenta-
r: 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 control al accesului la mediu.
Nivelul reea
Nivelul reea se ocup de controlul funcionrii subreelei. 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 terminal
(de ex. o operaie de login pe o main la distan). n sfrit, dirijarea poate fi foarte dinamic, tra-
seele 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 ast-
fel se vor produce gtuiri. Controlul unor astfel de congestii i revine tot nivelului reea. Mai general,
calitatea serviciilor oferite (ntrziere, timp de tranzitare, fluctuaii, etc.) este tot o responsabilitate a
nivelului reea.
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.
36 INTRODUCERE CAP. 1


A doua reea poate chiar s nu accepte deloc pachetul pentru c este prea mare. De asemenea, pro-
tocoalele 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.
Nivelul transport determin, de asemenea, ce tip de serviciu s furnizeze nivelului sesiune i, n fi-
nal, 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 conexiu-
nea. (Ca un comentariu secundar: este imposibil de obinut un canal fr erori; ceea ce oamenii neleg
prin aceast expresie este c rata erorilor este destul de mic pentru a fi ignorat n practic).

Fig. 1-20. Modelul de referin OSI.
SEC. 1.4 MODELE DE REFERIN 37

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 i vecinii si imediai (niveluri nlnuite), i nu direct ntre mainile surs i
destinaie (niveluri capt-la-capt), care pot fi separate de numeroase rutere. Diferena ntre nivelu-
rile de la 1 pn la 3, care sunt nlnuite i nivelurile de la 4 la 7, care sunt capt-la-capt, este ilus-
trat n fig. 1-20.
Nivelul sesiune
Nivelul sesiune permite utilizatorilor de pe maini diferite s stabileasc ntre ei sesiuni. Sesiunile
ofer diverse servicii, incluznd controlul dialogului (respectarea ordinii n raport cu dreptul de a
transmite), gestionarea jetonului (prevenirea situaiei n care dou entiti ncearc aceeai operaie
critic n acelai timp) i sincronizarea (introducerea de puncte de control pe parcursul transmisiilor
lungi, astfel nct, n cazul unui eec, acestea s poat fi reluate de unde rmseser).
Nivelul prezentare
n particular, spre deosebire de nivelurile inferioare, care se ocup numai de transferul biilor
dintr-un loc n altul, nivelul prezentare se ocup de sintaxa i semantica informaiilor transmise. Pen-
tru a face posibil comunicarea ntre calculatoare cu reprezentri diferite ale datelor, structurile de
date care se schimba ntre ele pot fi definite ntr-un mod abstract, alturi de o codificare standardizat
ce va fi utilizat pe cablu. Nivelul prezentare gestioneaz aceste structuri de date abstracte i permi-
te definirea i comunicarea unor structuri de date de nivel mai nalt (de ex. nregistrri bancare).
Nivelul aplicaie
Nivelul aplicaie conine o varietate de protocoale frecvent utilizate. Un exemplu de protocol uti-
lizat pe scar larg este HTTP (HyperText Transfer Protocol, rom: protocol de transfer al hiper-
textului), care sta la baza WWW (World Wide Web, rom: reea de ntindere planetar). Atunci cnd
un program de navigare (browser) acceseaz o pagin Web, el trimite serverului numele paginii pe
care o dorete folosind HTTP. Serverul va trimite ca rspuns pagina. Alte protocoale de aplicaie
sunt folosite pentru transferul fiierelor, pot electronica, tiri n reea.
1.4.2 Modelul de referin TCP/IP
S ne ndreptm acum atenia de la modelul de referin OSI spre modelul de referin utilizat
de strmoul tuturor reelelor de calculatoare, ARPANET-ul, i de succesorul su, Internet-ul. Dei
vom prezenta mai trziu o scurt istorie a ARPANET-ului, este util s menionm acum cteva as-
pecte eseniale. ARPANET a fost o reea de cercetare sponsorizat de ctre DoD (U.S. Depart-
ment of Defense, rom: 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 guver-
namentale. Atunci cnd au fost adugate, mai trziu, reele prin satelit i radio, interconectarea aces-
tora 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/IP, dat dup numele celor dou protocoale fundamentale
utilizate. Arhitectura respectiv a fost definit prima dat n (Cerf i Kahn, 1974). O perspectiv ul-
38 INTRODUCERE CAP. 1


terioar este prezentat n (Leiner .a., 1985). Filosofia de proiectare din spatele modelului este dis-
cutat n (Clark, 1988).
Dat fiind ngrijorarea Departamentului de Aprare c o parte din preioasele sale gazde, rutere
i 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 destina-
ie, 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 ve-
dere 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 pachete-
le 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 livrarea lor ordonat - rearanjarea cade n sarcina nivelurilor superioare. De obser-
vat c ,,internet este folosit aici ntr-un sens generic, chiar dac acest nivel este prezent i n Internet.
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 mul-
te 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, rom: protocol Internet). Sarcina nivelului internet este s livreze pachete IP ctre destina-
ie. Problemele majore se refer la dirijarea pachetelor i evitarea congestiei. n consecin, este re-
zonabil s spunem c nivelul internet din TCP/IP funcioneaz asemntor cu nivelul reea din OSI.
Fig. 1-21 arat aceast coresponden.


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

SEC. 1.4 MODELE DE REFERIN 39

Nivelul transport
Nivelul situat deasupra nivelului internet din modelul TCP/IP este frecvent numit nivelul trans-
port. Acesta este proiectat astfel, nct s permit conversaii ntre entitile pereche 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, rom: protocolul de
control al transmisiei), este un protocol sigur orientat pe 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 frag-
menteaz fluxul de octei n mesaje discrete i paseaz fiecare mesaj nivelului internet. La destinaie,
procesul TCP receptor reasambleaz mesajele primite ntr-un flux de ieire. TCP trateaz totodat
controlul fluxului 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 acest nivel, UDP (User Datagram Protocol, rom: protocolul datagramelor
utilizator), este un protocol nesigur, fr conexiuni, destinat aplicaiilor care doresc s utilizeze pro-
pria lor secveniere i control al fluxului, i nu pe cele asigurate de TCP. Protocolul UDP este de
asemenea mult folosit pentru interogri rapide ntrebare-rspuns, client-server i pentru aplicaii n
care comunicarea prompt este mai important dect comunicarea cu acuratee, aa cum sunt apli-
caiile de transmisie a vorbirii i a imaginilor video. Relaia dintre IP, TCP i UDP este prezentat n
fig. 1-22. De cnd a fost dezvoltat acest model, IP a fost implementat pe multe alte reele.

Fig. 1-22. 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 ma-
joritatea aplicaiilor, nivelurile respective nu sunt de mare folos.
Deasupra nivelului transport se afl nivelul aplicaie. Acesta conine toate protocoalele de nivel
mai nalt. Aa cum se vede din fig. 1-22, primele protocoale de acest gen includeau terminalul vir-
tual (TELNET), transferul de fiiere (FTP) i pota electronic (SMTP). Protocolul de terminal
virtual permite unui utilizator de pe o main 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 (SMTP Simple Mail Transfer Protocol, rom: Protocol
simplu de transfer al potei) 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
40 INTRODUCERE CAP. 1


utilizat pentru a transfera articole de tiri USENET, HTTP, folosit pentru aducerea paginilor de pe
Web i multe altele.
Nivelul gazd-reea
Sub nivelul internet se afl necunoscutul. Modelul de referin TCP/IP nu spune mare lucru de-
spre ce se ntmpl acolo, ns menioneaz c gazda trebuie s se lege la reea, pentru a putea trimi-
te 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.4.3 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 con-
ceptul 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 nece-
sare 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 am-
bele 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 cores-
punztoare. 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

Probabil c cea mai mare contribuie a modelului OSI este c a fcut explicit 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. El definete semantica nivelului.
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 sfrit, protocoalele pereche folosite ntr-un nivel reprezint treaba personal a nivelului. Nive-
lul 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 pro-
cese 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 i nici important n afara obiectului.
SEC. 1.4 MODELE DE REFERIN 41

Dei lumea a ncercat ulterior s l readapteze pentru a fi mai asemntor modelului OSI, mode-
lul TCP/IP nu a fcut iniial o distincie clar ntre serviciu, interfa i protocol. De exemplu, singure-
le servicii veritabile oferite de nivelul internet sunt SEND IP PACKET i RECEIVE IP PACKET.
n consecin, protocoalele din modelul OSI sunt mai bine ascunse dect n modelul TCP/IP i pot
fi nlocuite relativ uor pe msur ce se schimb tehnologia. Capacitatea de a face asemenea modifi-
cri 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 corespunztoare.
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 trebuit in-
trodus n model convergena subnivelurilor, ca s existe un loc pentru a glosa pe marginea diferen-
elor. n sfrit, comitetul se atepta iniial ca fiecare ar 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 pro-
blem: 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, o diferen evident ntre
cele dou modele se refer la numrul de niveluri: modelul OSI are apte niveluri, iar TCP/IP are pa-
tru. 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 orienta-
t pe conexiuni. Modelul OSI suport ambele tipuri de comunicaii la nivelul reea, dar numai comu-
nicaii orientate pe conexiuni n nivelul transport, unde acest fapt are importan (pentru c serviciul
de transport este vizibil utilizatorilor). Modelul TCP/IP are numai un mod (fr conexiuni) 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.
1.4.4 O critic 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 concu-
rent. 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.
42 INTRODUCERE CAP. 1


Ratarea momentului
S vedem mai nti prima problem: ratarea momentului. Momentul la care se stabilete un
standard este absolut critic pentru succesul acestuia. David Clark 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-23.

Fig. 1-23. Apocalipsa celor doi elefani.

Aceast figur arat volumul de activitate desfurat n jurul unui subiect nou. Cnd subiectul
este lansat, are 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 cunoate un
val de investiii de miliarde de dolari.
Este esenial ca standardele s fie definite n intervalul dintre cei doi elefani. Dac ele sunt de-
finite 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 definite prea trziu, atunci probabil
c att de multe firme au fcut deja investiii majore realiznd lucrurile altfel, nct standardele sunt
efectiv ignorate. Dac intervalul dintre cei doi elefani este foarte scurt (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, protocoa-
lele concurente TCP/IP erau deja folosite pe scar 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, dect forate, s sprijine o a doua stiv de protocoale, i, prin urmare, n-au aprut nici un fel de
oferte iniiale din partea lor. 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. Opiunea pentru apte niveluri a fost mai mult politic dect tehnic , i dou dintre nive-
luri (sesiune i prezentare) sunt aproape goale, n timp ce alte dou (legtura de date i reea) sunt
prea aglomerate.
Modelul OSI, alturi de protocoalele i definiiile de servicii asociate, este extraordinar de com-
plex. Atunci cnd sunt puse unul peste altul, standardele tiprite au o grosime de civa zeci de cen-
timetri. 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):

SEC. 1.4 MODELE DE REFERIN 43

: 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 apar repetat 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.
Implementri proaste
Dat fiind enorma complexitate a modelului i a protocoalelor, nu este de mirare 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. Dei odat cu trecerea timpului produsele
au devenit mai bune, imaginea s-a deteriorat.
Din contr, una din primele implementri de TCP/IP fcea parte din Berkeley UNIX i era des-
tul 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 mbunt-
iri, 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 adev-
rat 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 dezvol-
t 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.
1.4.5 O critic a modelului de referin TCP/IP
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 pro-
gramrii este s se fac diferena ntre specificaie i implementare, ceea ce OSI face cu mult aten-
ie, 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 deloc general i nu este aproape deloc potrivit pentru
descrierea altor stive de protocoale n afara celei TCP/IP. De exemplu, descrierea Bluetooth folo-
sind 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 este o interfa (ntre nivelurile reea
i legtur de date). Distincia ntre o interfa i un nivel este crucial i 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
44 INTRODUCERE CAP. 1


transmisiei prin cablu de cupru, fibre optice sau radio. Rolul nivelului legtur de date este s de-
limiteze 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 cele-
lalte protocoale au fost construite ad-hoc, fiind n general opera ctorva absolveni care tot
,,metereau la ele pn oboseau. Implementrile protocoalelor erau apoi distribuite gratuit; ca ur-
mare, ele erau larg utilizate, fr s li se asigure suportul necesar, fiind de aceea greu 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 teletype 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 pre-
zentare) s-a dovedit a fi excepional de util pentru a discuta reelele de calculatoare. Din contr, pro-
tocoalele 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 mo-
dificat, dar ne vom concentra n primul rnd pe TCP/IP i alte protocoale nrudite cu el; de aseme-
nea, vom folosi i protocoale mai noi, precum 802, SONET i Bluetooth. Modelul de lucru folosit n
carte este modelul hibrid prezentat n fig. 1-24.

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

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


1.5 EXEMPLE DE REELE
Subiectul reelelor de calculatoare acoper diferite tipuri de reele, mari i mici, arhicunoscute
sau mai puin cunoscute. Ele au scopuri, dimensiuni i tehnologii diverse. n urmtoarele seciuni,
vom studia cteva exemple, pentru a avea o idee despre varietatea pe care o poate regsi oricine n
domeniul reelelor de calculatoare.
Vom porni cu Internet-ul, probabil cea mai cunoscut reea, i vom studia istoria, evoluia i teh-
nologiile sale. Apoi vom discuta ATM, care este de multe ori utilizat n nucleul reelelor (telefoni-
ce) mari. Din punct de vedere tehnic, este destul de diferit de Internet, ceea ce evideniaz un con-
trast interesant. Apoi vom introduce Ethernet, dominant n cazul reelelor locale. n final, vom stu-
dia IEEE 802.11, standardul pentru reele fr cablu.
1.5.1 Internet
Internet-ul nu este deloc o reea, ci o colecie vast de reele diverse, care utilizeaz anumite
protocoale comune i ofer anumite servicii comune. Este un sistem neobinuit prin aceea c nu a
SEC. 1.5 EXEMPLE DE REELE 45

fost planificat de nimeni i nu este controlat de nimeni. Pentru a-l nelege mai bine, s pornim de la
nceputuri i s vedem cum s-a dezvoltat i de ce. Pentru o istorie foarte reuit a Internet-ului, este
recomandat cartea lui John Naughton (2000). Este una dintre acele cri rare care nu este numai
plcut la citit, dar are i 20 de pagini de ibid. i op.cit. pentru istoricii serioi. Unele dintre materiale-
le de mai jos sunt bazate pe aceast carte.
Desigur, au fost scrise nenumrate cri tehnice despre Internet, i despre protocoalele sale de
asemenea. Pentru mai multe informaii vedei, de exemplu, (Maufer, 1999).
ARPANET-ul
Povestea ncepe la sfritul anilor 1950. n momentul n care Rzboiul Rece era la apogeu, DoD
(Department of Defense, rom: Departamentul de Aprare al SUA) a vrut o reea de comand i
control care s poat supravieui unui rzboi nuclear. La momentul acela, toate comunicaiile milita-
re foloseau reelele telefonice publice, care erau considerate vulnerabile. Motivul pentru o astfel de
prere poate fi observat n fig. 1-25(a). Aici punctele negre reprezint oficii de comutare, la ele fiind
conectate mii de telefoane. Aceste oficii erau, la rndul lor, conectate la oficii de comutare de nivel
mai nalt (oficii de taxare), pentru a forma o ierarhie naional cu un nivel sczut de redundan.
Vulnerabilitatea sistemului consta n aceea c distrugerea ctorva oficii de taxare putea fragmenta
sistemul n mai multe insule izolate.

Fig. 1-25. (a) Structura sistemului de telefonie.
(b) Sistemul distribuit cu comutare al lui Baran.

n jurul anului 1960, DoD a oferit un contract corporaiei RAND pentru a gsi o soluie. Unul
dintre angajaii ei, Paul Baran, a venit cu ideea sistemului distribuit cu un nivel ridicat de tolerana la
defecte, prezentat n fig. 1-25(b). Deoarece cile dintre oricare dou oficii de comutare erau n acest
caz mult mai lungi dect cile pe care semnale analogice puteau s circule fr distorsiuni, Baran a
propus utilizarea unei tehnologii digitale cu comutare de pachete prin ntregul sistem. Baran a scris
cteva rapoarte pentru DoD n care a descris ideile sale n detaliu. Oficialii de la Pentagon au agreat
46 INTRODUCERE CAP. 1


conceptul i au apelat la AT&T, apoi la monopolul naional al telefoniei SUA pentru a construi un
prototip. AT&T a desconsiderat imediat ideile lui Baran. Cea mai mare si cea mai bogata companie
din lume nu avea de gnd s permit unui tnr oarecare s spun cum s se construiasc un sistem
de telefonie. Ei au declarat c sistemul propus de Baran nu poate fi construit, i ideea a fost abando-
nat.
Au mai trecut civa ani i DoD nc nu avea un sistem de comand i control mai bun. Pentru a
nelege ceea ce s-a ntmplat n continuare trebuie s ne ntoarcem n Octombrie 1957, cnd Uniu-
nea Sovietic a ntrecut SUA n domeniul spaial prin lansarea primului satelit artificial, Sputnik.
Cnd preedintele Eisenhower a ncercat s afle cine adormise la comand, a fost surprins s afle c
Armata, Marina i Forele Aeriene i disputau bugetul de cercetare al Pentagonului. Rspunsul lui
imediat a fost crearea unei singure organizaii de cercetare n domeniul aprrii: ARPA (Advanced
Research Projects Agency, rom: Agenia de Cercetare pentru Proiecte Avansate). ARPA nu avea
nici oameni de tiin, nici laboratoare; de fapt, nu avea dect un birou i un mic buget (dup stan-
dardele Pentagonului). i ducea misiunile la ndeplinire prin acordarea de granturi (fonduri pentru
cercetare) i contracte universitilor i companiilor ale cror idei preau promitoare.
n primii civa ani, ARPA a ncercat s afle care i era misiunea. n 1967, atenia directorului
Larry Roberts a fost atras de domeniul reelelor. A contactat diveri experi ca s decid ce este de
fcut. Unul dintre ei, Weslez Clark, a sugerat construirea unei subreele cu comutare de pachete,
dnd fiecrei gazde propriul ruter, aa cum este ilustrat n fig. 1-12.
Dup un oarecare scepticism iniial, Roberts a adoptat ideea i a prezentat o lucrare destul de
vag despre ea la Simpozionul ACM SIGOPS inut n Gatlinburg, Tennessee la sfritul lui 1967
(Roberts, 1967). Spre surprinderea lui Roberts, o alt lucrare prezentat la aceeai conferin de-
scria un sistem similar, care nu numai c fusese proiectat, dar fusese i implementat sub comanda lui
Donald Davies de la NPL (National Physical Laboratories, rom: Laboratoarele Naionale de cerce-
tri n Fizic), Anglia. Sistemul propus de NPL nu era un sistem naional (conecta numai cteva
calculatoare n campusul NPL) dar demonstrase c comutarea de pachete poate fi funcional. n
plus, cita din rapoartele timpurii ale lui Baran care fuseser desconsiderate la momentul respectiv.
Roberts s-a ntors de la Gatlinburg hotrt s construiasc ceva ce urma s devin cunoscut sub nu-
mele de ARPANET.
Subreeaua trebuia s fie format din minicalculatoare numite IMP-uri (Interface 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.
Fiecare nod al reelei era format dintr-un IMP i dintr-o gazd, aflate n aceeai ncpere i lega-
te 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 interco-
SEC. 1.5 EXEMPLE DE REELE 47

nectate prin linii de 56 Kbps nchiriate de la companii de telefoane. Dei 56 Kbps este acum o vari-
ant pentru adolescenii care nu i permit ADSL sau cablu, era cea mai bun alternativ a momen-
tului respectiv.
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 pro-
tocol surs IMP - destinaie IMP, proiectat pentru a mri sigurana. Proiectul iniial al reelei
ARPANET este prezentat n fig. 1-26.

Fig. 1-26. 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 destinaie.
Robets avea o nou problem: gazdele aveau i ele nevoie de programe. Pentru a rezolva aceasta
problem, el a convocat o adunare a cercettorilor n reele, majoritatea fiind tineri absolveni de
facultate, la Snowbird, n Utah, n vara anului 1969. 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. Au rmas ns mui de uimire cnd au constatat c nu exista nici un
expert n reele i nici o proiectare serioas. Trebuiau s i dea seama singuri ce au de fcut.
Cu 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. Fig.
1-27 arat ct de repede a crescut ARPA n primii 3 ani.
Pe lng ajutorul oferit pentru dezvoltarea tnrului ARPANET, ARPA a finanat de aseme-
nea 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 trimi-
te mesaje ctre SRI, aceste mesaje erau retransmise apoi prin ARPANET pe Coasta de Est, iar de
aici mesajele erau expediate ctre University College din Londra prin reeaua de satelii. Acest
lucru permitea unui cercettor din camion s utilizeze un calculator din Londra n timp ce clto-
rea prin California.

48 INTRODUCERE CAP. 1



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

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, culmi-
nnd 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 impor-
tant, 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. Cercetto-
rii de la Berkeley au dezvoltat o interfa de programare a reelei (soclurile) i au scris numeroase
aplicaii, utilitare i programe de administrare care s simplifice interconectarea.
Momentul era ideal. Multe universiti tocmai achiziionaser un al doilea sau al treilea calcula-
tor 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 anii 80 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 Name System, rom: Sistemul Numelor de Domenii), care organiza mainile n do-
menii i punea n coresponden numele gazdelor cu adrese IP. De atunci ncoace, DNS a ajuns s
SEC. 1.5 EXEMPLE DE REELE 49

fie un sistem de baze de date distribuit, generalizat, folosit pentru a memora diverse informaii refe-
ritoare la procedurile de atribuire a numelor. Vom studia detaliat acest sistem n cap. 7.
NSFNET
La sfritul anilor 1970, NSF (U.S. National Science Foundation, rom: Fundaia Naional de ti-
in din SUA) a remarcat impactul imens 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. Rspunsul NSF a fost proiectarea unui succesor al ARPANET
care s fie deschis tuturor grupurilor de cercetare din universiti. Pentru a avea ceva concret de la
care s porneasc, NSF a decis s construiasc o reea tip coloan vertebral (backbone) pentru a
conecta cele 6 centre de supercalculatoare pe care le deinea n San Diego, Boulder, Champaign,
Pittsburgh, Ithaca, Princeton. Fiecrui calculator i s-a dat un frate mai mic, care era de fapt un micro-
calculator LSI-11 denumit fuzzball. Aceste fuzzball-uri erau conectate cu linii nchiriate de 56 Kbps i
formau o subreea , care folosea aceeai tehnologie ca i ARPANET. Tehnologia programelor era
ns diferit: fuzzball-urile au fost proiectate pentru a conversa direct folosind TCP/IP, ceea ce a con-
dus la crearea primei reele pe arie larga bazat pe TCP/IP (TCP/IP WAN).
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-28.

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

NSFNET-ul a reprezentat un succes foarte rapid 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 (care a fuzionat ntre timp cu WorldCom) canale cu fibre optice de 448 Kbps.
Ca rutere s-au folosit IBM PC-RT. i aceast reea a devenit curnd suprancrcat, drept care, n
1990, a doua coloan vertebral a fost adus la viteza de 1.5 Mbps.
50 INTRODUCERE CAP. 1


Dar creterea a continuat, iar NSF a realizat c guvernul nu poate finana interconectrile la ne-
sfrit. 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, rom: reele i servicii
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. Aceast reea a funcionat timp
de 5 ani i apoi a fost cumprat de America Online. Dar pn atunci, diverse companii ofereau deja
servicii IP comerciale i era clar c guvernul trebuia s se retrag din afacerea cu reele.
Ca s uureze tranziia i ca s fie sigur c orice reea regional putea comunica cu orice alt re-
ea regional, NSF a semnat contracte cu patru operatori de reele diferii n vederea stabilirii unui
NAP (Network Access Point, rom: 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 toa-
te NAP-urile.
De aceea, pentru a ajunge de la NAP-ul su la NAP-ul destinaiei, un pachet trimis din orice re-
ea regional putea opta ntre mai multe companii care ofer servicii de transmisie pe coloana verte-
bral. 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 - bineneles, aceasta era ideea. Ca
rezultat, conceptul unei singure reele de tip coloan vertebral a fost nlocuit de o infrastructur
competitiv condus de criterii comerciale. Multora le place s critice Guvernul Federal pentru c
nu este destul de inovator, dar n zona reelelor, DoD i NSF au fost cele care au creat infrastructura
care a stat la bazele formrii Internet-ului i apoi a cedat-o industriei pentru operare i exploatare.
n timpul anilor 1990, multe alte ri i regiuni construiesc i ele reele naionale, de multe ori
modelate chiar dup ARPANET i NSFNET. Acestea includ EuropaNET i EBONE n Europa,
care au pornit cu linii de 2 Mbps i apoi au avansat pn la linii de 34 Mbps. n cele din urm, i in-
frastructura de reea din Europa a fost cedat industriei spre operare i exploatare.
Folosirea Internet-ului
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 inter-
net, iar apoi ca fiind Internet-ul; nu a existat ns nici un toast oficial cu politicieni desfcnd sticle
de ampanie.
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 adoptarea limii stan-
dard pentru cile ferate n secolul 19 sau cu adoptarea protocoalelor comune de semnalizare de c-
tre toate companiile telefonice.
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 milioane de calculatoare personale pot s apeleze
SEC. 1.5 EXEMPLE DE REELE 51

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.
Tradiional (nsemnnd din 1970 pn n jurul lui 1990), Internet-ul i predecesorii si au 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 extrem 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 electroni-
c 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
non-tehnice incluznd calculatoarele, tiina, divertismentul i politica. Fiecare grup de tiri
are eticheta, stilul i obiceiurile sale proprii i nenorocirile se vor abate asupra celor care le
ncalc.
3. Conectare la distan. Folosind programe ca telnet, rlogin sau ssh, 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 uti-
liznd programul FTP. n acest fel sunt disponibile extrem de multe articole, baze de date i
alte informaii.

Pn la nceputul anilor 1990 Internet-ul a fost foarte populat cu cercettori din domeniul aca-
demic, guvernamental i industrial. O aplicaie nou, WWW (World Wide Web), a schimbat total
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 facilitile
existente, n schimb 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 fie-
care pagin existnd legturi ctre alte pagini. Printr-un clic pe o legtur, utilizatorul este imediat
transportat la pagina indicat de legtur. 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 bur-
s, cataloage de bibliotec, programe radio nregistrate i chiar o pagin care ofer legturi spre tex-
tele 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).
Mare parte din creterea Internetului n timpul anilor 1990 a fost alimentat de companii denu-
mite ISP (Internet Service Providers, rom: Furnizori de Servicii Internet). Acestea sunt companii
care ofer utilizatorilor individuali posibilitatea de a apela, de acas, una dintre mainile furnizorului
i de a se conecta la Internet, obinnd n consecin acces la pota electronica, WWW i alte servicii
similare. La sfritul anilor 1990, aceste companii au nregistrat zeci de milioane de noi utilizatori n
fiecare an, modificnd astfel complet caracterul reelei, care s-a transformat dintr-o reea academic
i militar ntr-o utilitate public, precum sistemul de telefonie. Numrul actual al utilizatorilor In-
ternet nu este cunoscut, dar este cu siguran de ordinul sutelor de milioane la nivel mondial i pro-
babil c va ajunge la un miliard n curnd.
52 INTRODUCERE CAP. 1


Arhitectura Internet
n aceast seciune vom ncerca s aruncm o scurt privire de ansamblu asupra Internet-ului
de astzi. Din cauza multor fuziuni ntre companiile de telefoane i companiile ISP, apele au deve-
nit tulburi. i este de cele mai multe ori dificil de precizat care sunt atribuiile fiecruia, cine ce
anume are de fcut. n consecin aceast descriere va fi simplificat n raport cu realitatea efectiv.
Imaginea de ansamblu este prezentat n fig. 1-29. n continuare, vom analiza aceast figur bucat
cu bucat.
Fig. 1-29. Privire de ansamblu asupra Internet-ului.

Un bun punct de pornire este sistemul propriu al clientului. S presupunem c acest client sun
la ISP-ul su printr-o linie telefonic, aa cum se vede n fig. 1-29. Modemul este o plac din PC-ul
clientului care convertete semnalele digitale pe care le produce calculatorul n semnale analogice
care pot circula fr probleme prin sistemul telefonic. Aceste semnale sunt transferate la punctul de
livrare (POP) al ISP-ului, unde sunt preluate din sistemul telefonic i injectate n reeaua regionala a
ISP. De aici nainte, sistemul este n ntregime digital i folosete comutarea de pachete. Daca ISP-ul
este acelai cu furnizorul local de telefonie, punctul de livrare va fi localizat, probabil, chiar n oficiul
de comutare al serviciului telefonic, punctul n care se termin firul de telefon al utilizatorului. Chiar
dac ISP-ul nu este acelai cu furnizorul local de telefonie, punctul de livrare poate fi doar la distan
de cteva oficii de comutare.
Reeaua regional a ISP este format prin interconectarea ruterelor din diverse orae pe care le
deservete compania. Dac pachetul este destinat unei gazde deservite direct de ctre reeaua ISP,
pachetul va fi livrat direct gazdei. Altfel, el este livrat n continuare operatorului care furnizeaz
companiei ISP servicii de comunicare prin coloana vertebral (backbone) a reelei.
SEC. 1.5 EXEMPLE DE REELE 53

n partea superioar a acestei ierarhii sunt operatorii principali de la nivelul de coloan vertebra-
l a reelei, companii precum AT&T sau Sprint. Acetia opereaz coloane vertebrale mari, interna-
ionale, cu mii de rutere conectate prin fibra optic cu band larg de transfer. Corporaiile mari i
firmele care ofer servicii de gzduire (hosting), utilizeaz ferme de servere (maini care pot servi
mii de pagini Web pe secund) sunt conectate adeseori direct la nivelul coloanei vertebrale. Opera-
torii ncurajeaz aceast conectare direct prin nchirierea de spaii n ceea ce se numete hotelul
companiei de transport (carrier hotel), i reprezint de cele mai multe ori sertare (racks) pentru
echipamente aflate n aceeai camer cu ruterul, pentru a permite conexiuni scurte i rapide ntre
fermele de servere si coloana vertebral a reelei.
Dac un pachet trimis n coloana vertebral este destinat unui ISP sau unei companii deservite
de aceeai coloan, el este transmis celui mai apropiat ruter. Oricum exist multe astfel de coloane
vertebrale n ntreaga lume, astfel nct un pachet poate s treac ntr-o coloan concurent. Pentru
a permite pachetelor s treac dintr-o coloan n alta, toate aceste coloane principale sunt conectate
n NAP-urile (Network Access Point, rom: Punct de acces n reea) discutate mai devreme. n prin-
cipiu, un NAP este o camer plin cu rutere, cel puin unul pentru fiecare coloan vertebral conec-
tat. O reea local camerei conecteaz toate aceste rutere, astfel nct pachetele s poat fi retran-
smise din orice coloan n orice alt coloan. n afar de interconectarea n NAP-uri, coloanele ver-
tebrale de dimensiuni mari au numeroase conexiuni directe ntre ruterele lor, tehnic denumit co-
nectare privat (private peering). Unul dintre multiplele paradoxuri ale Internet-ului este acela c
ISP-urile care sunt la nivel public n competiie pentru clieni, coopereaz de cele mai multe ori pen-
tru a realiza astfel de conectri private (private peering) (Metz, 2001).
Astfel se ncheie acest scurt tur de orizont asupra Internet-ului. Vom avea multe de spus despre
componentele individuale i proiectarea lor, despre algoritmi i despre protocoale n capitolele ur-
mtoare. Merit de asemenea menionat n trecere c anumite companii i-au interconectat toate
reelele interne existente, folosind de multe ori aceleai tehnologii ca i Internet-ul. Aceste intranet-
uri sunt accesibile de cele mai multe ori numai din interiorul companiei, dar altfel funcioneaz la fel
ca Internet-ul.
1.5.5 Reele orientate pe conexiune
nc de la nceputurile domeniului reelelor, exist un rzboi ntre cei care susin subreelele fr
conectare (de exemplu datagramele) i cei care susin subreelele orientate pe conexiune. Susinto-
rii subreelelor fr conexiune provin din comunitatea ARPANET/Internet. Amintii-v c dorina
iniial a DoD n finanarea i construirea ARPANET a fost s aib o reea care s continue s func-
ioneze chiar i dup ce mai multe lovituri nucleare ndreptate direct mpotriva ei au distrus nume-
roase rutere si linii de transmisie. De aceea, tolerana la defecte se afla pe primele poziii ale listei de
prioriti; taxarea clienilor nu exista pe acea list. Aceast abordare a condus la o proiectare fr
conexiune n care fiecare pachet era rutat independent de orice alt pachet. Ca o consecin, dac
anumite rutere se defecteaz n timpul unei sesiuni, nu apare nici o problem atta timp ct sistemul
se poate reconfigura singur, dinamic, astfel nct pachetele urmtoare s gseasc o rut ctre desti-
naie, chiar dac ea este diferit de cea utilizat pn la momentul respectiv.
Tabra celor care susin reelele orientate conexiune provine din lumea comunicaiilor pe linii te-
lefonice. n sistemul telefonic, un utilizator trebuie s formeze numrul pe care dorete s l apeleze
i s atepte formarea unei conexiuni nainte de a vorbi sau de a transmite date. Aceasta faz de co-
nectare stabilete o rut prin sistemul telefonic, rut care va fi meninut pn cnd apelul este n-
54 INTRODUCERE CAP. 1


cheiat. Toate cuvintele sau pachetele de date urmeaz aceeai rut. Dac o linie sau un comutator
de pe respectiva cale se defecteaz, apelul este ncheiat forat. Aceasta proprietate era exact cea care
nu convenea deloc Departamentului de Aprare.
De ce sunt companiile organizate astfel? Din dou motive:

1. Calitatea serviciilor
2. Facturarea

Prin setarea unei conexiuni n avans, subreeaua poate rezerva resurse precum zone tampon de
memorie sau capacitatea de procesare a procesorului din ruter. Dac se face o ncercare de a iniia
un apel i nu se gsesc suficiente resurse disponibile, apelul este rejectat i apelantul primete un fel
de semnal de ocupat. n acest fel, de ndat ce conexiunea a fost stabilit, conexiunea va obine
servicii bune din punct de vedere calitativ. ntr-o reea fr conexiune, dac prea multe pachete
ajung la acelai ruter n acelai moment, ruterul va fi sufocat i, probabil, va pierde din pachete.
Eventual, utilizatorul va observa i le va retrimite, dar calitatea serviciilor va fi proast i deloc potri-
vit pentru comunicaii audio sau video, cu excepia cazurilor n care reeaua este doar foarte puin
ncrcat. Nu mai este nevoie s precizm c pentru companii calitatea de transmitere a semnalului
audio este un parametru extrem de important, i de aceea prefer reelele orientate pe conexiune.
Cel de-al doilea motiv pentru care companiile de telefonie prefer serviciile orientate pe conexi-
une este acela c sunt obinuite s taxeze utilizatorul n funcie de timpul de conexiune. Atunci cnd
se face un apel la distan (chiar i local, dar n afara Americii de Nord) taxarea se face la minut. La
apariia reelelor, aceste companii au fost automat atrase n acest sistem, n care taxarea la minut era
uor de fcut. Dac trebuie stabilit o conexiune nainte de transmisia propriu-zis a datelor, ceasul
de taxare este pornit. Dac nu exist conexiune, nu poi fi taxat pentru ea.
Culmea, meninerea sistemului de taxare este foarte scump. Dac o companie de telefonie ar
trebui s adopte o schem de plat cu rate lunare fixe, fr a ine cont de numrul de apeluri i fr a
ine evidena facturrilor pe convorbire, cu siguran s-ar economisi sume mari de bani, n ciuda
creterii nsemnate a numrului de apeluri care va rezulta. Factorii politici, de reglementare i de
alt natur sunt ns mpotriv. Destul de interesant este c o astfel de politic este funcional n
alte sectoare. De exemplu, cablul TV este facturat cu o rat lunar fix, indiferent de ct de mult te
uii la televizor. Ar fi putut s fie proiectat i avnd la baz un principiu plat-pentru-utilizare (pay-
per-view), dar nu s-a fcut aa, n parte i din cauza cheltuielilor impuse de o asemenea strategie de
facturare (dat fiind calitatea slab a majoritii televiziunilor, trebuie luat n considerare chiar i
factorul jen). Un alt exemplu sunt parcurile tematice care ncaseaz o tax de intrare zilnic, spre
deosebire de caravane, care taxeaz plimbarea.
Acestea fiind spuse, nu va fi o surpriz c toate reelele proiectate de industria de telefonie au
avut subreele orientate pe conexiune. Ceea ce este probabil surprinztor este c i Internet-ul devi-
az n aceasta direcie, pentru a oferi o calitate mai bun pentru serviciile audio i video. Vom reveni
la acest subiect n cap. 5. Dar, s examinm n continuare cteva reele orientate pe conexiune.
X.25 i Frame Relay (releu de cadre)
Primul exemplu de reea orientat conexiune este X.25, care a fost prima reea public de date.
A fost dat n folosin n anii 1970, ntr-un moment n care serviciile telefonice erau un monopol
peste tot, i compania de telefonie din fiecare ar se atepta s existe i o reea de date unic n ar
a lor. Pentru a folosi X.25, un calculator a stabilit mai nti o conexiune cu calculatorul aflat la dis-
tan, adic a fcut un apel telefonic. Pentru aceast conexiune s-a alocat un numr de conexiune
SEC. 1.5 EXEMPLE DE REELE 55

folosit apoi n transferul pachetelor de date (deoarece pot fi deschise mai multe conexiuni n acelai
timp). Pachetele de date erau foarte simple, fiind formate dintr-un antet de 3 ... 128 de octei de da-
te. n antet se regsea un numr de conexiune de 12 bii, un numr de secven al pachetului, un
numr de confirmare pozitiv (ACK) i civa bii oarecare. Reelele X.25 au funcionat aproape un
deceniu cu un oarecare succes.
n anii 1980, reelele X.25 au fost nlocuite pe scar larg cu un nou tip de reea, denumit Frame
Relay (Releu de Cadre). n esen, este vorba de o reea orientat pe conexiune, fr control al ero-
rilor i fr control al fluxului de date. Deoarece era orientat pe conexiune, pachetele erau furniza-
te n ordine (dac erau furnizate). Aceste caracteristici distribuire de pachete n ordine, lipsa de
control al erorilor, lipsa de control al fluxului au fcut ca Frame Relay s se asemene cu o reea loca-
l de dimensiuni mari. Aplicaia cea mai important a fost interconectarea reelelor locale aflate n
diverse birouri ale companiilor. Dei Frame Relay a avut parte de un succes modest, este folosit i
astzi n anumite companii.
ATM (Asynchronous Transfer Mode)
nc o reea orientat pe conexiune una mult mai important de aceast dat este ATM (ATM
Asynchronous Transfer Mode, rom: Mod de Transfer Asincron). Acest nume, oarecum ciudat, este
justificat prin aceea c, n timp ce n reelele telefonice majoritatea transmisiilor sunt sincrone (strns
legate de un semnal de ceas), n reelele ATM transmisiile nu sunt sincrone.
ATM a fost proiectat la nceputul anilor 1990 i lansat la mijlocul acestei perioade incredibile
(Ginsburg, 1996; Goralski, 1995; Ibe, 1997; Kim et al., 1994; at Stallings, 2000). ATM urma s re-
zolve toate problemele de reele i telecomunicaii ale lumii, unificnd transmisiile de voce, date,
televiziune prin cablu, telex, telegraf, porumbei mesageri, cutii de conserve conectate prin sfori,
semnale cu fum, i orice altceva ntr-un singur sistem integrat care s poat face totul pentru toat
lumea. Nu s-a ntmplat. n mare parte, problemele erau similare cu acelea care au fost descrise
mai devreme n ceea ce privete OSI, adic: ratarea momentului, tehnologii slabe, implementri
ineficiente, politici proaste. Dup ce tocmai nvinseser companiile telefonice n runda I, muli
membri din comunitatea Internet au vzut ATM-ul pe poziia Internet-ului n lupta cu companiile
mixte telefonie-ISP: Urmtorul. Dar nu a fost aa, i de aceast dat chiar i cei mai fanatici susi-
ntori ai datagramelor au trebuit s recunoasc faptul c Internet-ul lsa mult de dorit n privina
calitii serviciilor. Pentru a scurta povestea, ATM a nregistrat un succes mult mai mare dect OSI
i este acum utilizat pe scar larg n cadrul sistemelor de telefonie, adeseori vehiculnd chiar pa-
chete IP. Deoarece ATM este utilizat la ora actual de majoritatea companiilor numai pentru ope-
raiile de rutare i transport intern, n cele mai multe cazuri utilizatorii nu sunt contieni de exis-
tena lui, chiar dac el este operaional.
Circuite virtuale ATM
Deoarece reelele ATM sunt orientate pe conexiune, transmisia datelor necesit mai nti
transmisia unui pachet pentru iniializarea conexiunii. Pe msur ce pachetul de iniializare circul
prin subreea, toate ruterele de pe drumul pe care l parcurge i creeaz cte o nregistrare n tabele-
le de dirijare n care nregistreaz existena conexiunii i rezerv resursele necesare pentru ea. Cone-
xiunile sunt de cele mai multe ori denumite circuite virtuale, n analogie cu circuitele fizice utilizate
n sistemele de telefonie. Majoritatea reelelor ATM suport i circuite virtuale permanente, care
sunt conexiuni permanente ntre dou gazde aflate la distan. Acestea sunt similare cu liniile nchi-
riate din lumea telefoniei. Fiecare conexiune, fie ea temporar sau permanent, are un identificator
de conexiune unic. Un circuit virtual este prezentat n fig. 1-30.
56 INTRODUCERE CAP. 1


Fig. 1-30. Un circuit virtual

ndat ce o conexiune a fost stabilit, oricare dintre pri poate s nceap s transmit da-
te. Ideea de baz n cazul reelelor ATM este s se transmit toate informaiile n pachete mici, de
dimensiune fix, denumite celule (cells). Celulele au 53 de octei, din care 5 octei reprezint antetul,
iar restul de 48 reprezint ncrctura efectiv, dup cum se poate vedea n figura1-31. O parte din
antet reprezint identificatorul de conexiune, astfel nct att transmitorul ct i receptorul, pre-
cum i toate ruterele intermediare pot ti corespondena dintre celule i conexiuni (care celule apar-
in crei conexiuni). Aceast informaie permite fiecrui ruter s dirijeze fiecare celul pe care o
primete. Dirijarea celulelor este implementat direct n partea hardware a ruterelor i este o opera-
ie rapid. De fapt, argumentul principal n alegerea de celule de dimensiune fix este acela c este
mai uor de construit partea hardware pentru dirijare dac ea are de a face cu pachete scurte i egale
ca dimensiune. Pachetele IP de lungime variabil trebuie dirijate de programe (software), proces
care este mai lent. Un alt avantaj al reelelor ATM este acela c partea hardware poate fi configura-
t s multiplice o celul pe care o primete la intrare pe mai multe linii de ieire, o proprietate obli-
gatorie n cazul n care trebuie abordat transmisia unui program de televiziune difuzat ctre mai
muli receptori. La urma urmei, celulele mici nu blocheaz nici o linie pentru prea mult timp, ceea
ce face garantarea calitii serviciilor mai uoar.
Toate celulele urmeaz aceeai cale ctre destinaie. Livrarea celulelor nu este garantat,
dar ordinea lor da. Dac doua celule 1 i 2 sunt transmise n aceast ordine (1,2), dac amndou
ajung, ele vor ajunge n aceeai ordine, niciodat nu va ajunge 2 naintea lui 1. Dar oricare dintre ele,
sau chiar amndou se pot pierde pe drum. Este de datoria protocoalelor nivelului superior s repa-
re eroarea cauzat de celulele pierdute. De reinut c, dei aceast garanie nu este perfect, este
mai bun dect cea pe care o ofer Internet-ul. Acolo nu numai c pachetele se pot pierde, dar i
ordinea de ajungere la destinaie poate fi oricare (nu are legtur cu ordinea de transmisie).

Fig. 1-31. O celul ATM

Reelele ATM sunt organizate similar cu reelele WAN tradiionale, cu linii i comutatoare
(rutere). Cele mai des ntlnite viteze de lucru pentru reelele ATM sunt 155 Mbps i 622 Mbps, dei
sunt posibile i viteze mai mari. Viteza de 155 Mbps a fost aleas pentru c este foarte apropiat de
viteza minim obligatorie pentru transmisia de televiziune cu rezoluie nalt. Decizia de a alege
viteza exact de 155.52 Mbps a fost fcut pentru compatibilitatea cu sistemul de transmisie
SEC. 1.5 EXEMPLE DE REELE 57

SONET de la AT&T, care va fi studiat n cap. 2. Viteza de 622 Mbps a fost aleas astfel nct
s fie echivalent cu transmisia simultan a 4 canale de 155 Mbps.
Modelul de referin ATM
ATM are propriul su model de referin, diferit de modelul OSI i diferit de asemenea de mo-
delul TCP/IP. Acest model este ilustrat n fig. 1-32. 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, la 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.

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

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 ni-
velului 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, rom: 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-32. 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 administrare ale nivelurilor i planurilor
se refer la gestionarea resurselor i coordonarea ntre niveluri.
Fiecare din nivelurile fizic i AAL sunt mprite n dou subniveluri: un subnivel care face mun-
ca 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-33.
Subnivelul PMD (Physical Medium Dependent, rom: dependent de mediul fizic) asigur interfa-
a 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.

58 INTRODUCERE CAP. 1




Fig. 1-33. Nivelurile i subnivelurile ATM i funciile acestora.

Cellalt subnivel al nivelului fizic este subnivelul TC (Transmission Convergence, rom: conver-
gena 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, rom: segmen-
tare i reasamblare) i un subnivel CS (Convergence Sublayer, rom: subnivel de convergen).
Subnivelul inferior descompune pachetele n celule - la captul la care are loc transmisia - i le re-
compune 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.).
Deoarece se preconizeaz o evoluie descendent pentru reelele ATM, ele nu vor fi discutate n
continuare n aceast carte. Oricum, fiind instalate pe scar destul de larg, vor fi n continuare folo-
SEC. 1.5 EXEMPLE DE REELE 59

site pentru civa ani buni. Pentru mai multe informaii despre ATM, vedei (Dobrowski i Grise,
2001; Gadeki i Heckart, 1997).
1.5.3 Ethernet
Internet-ul i ATM au fost proiectate pentru WAN. Oricum, multe companii, universiti i alte
organizaii au multe calculatoare care trebuie conectate. Aceast necesitate a dus la o dezvoltare
rapid a reelelor locale. n aceast seciune vom prezenta cteva lucruri despre cea mai popular
dintre reelele locale, i anume Ethernet.
Povestea ncepe n primitivul Hawaii la nceputul anilor 1970. n acest caz, primitiv poate fi in-
terpretat ca fr sistem de telefonie funcional. Chiar dac faptul c nu te deranjeaz telefonul ct
e ziua de lung poate s fac viaa mai plcut n vacan, aceast situaie nu era foarte plcut pen-
tru cercettorul Norman Abramson i colegii si de la Universitatea din Hawaii, care ncercau s
conecteze utilizatorii din mai multe insule aflate la distan la calculatorul principal din Honolulu. i
cum varianta de a-i trage singuri cablurile pe fundul Oceanului Pacific nu prea viabil, a trebuit s
se caute o alt soluie.
Cea pe care au gsit-o a fost transmisia radio pe unde scurte. Fiecare terminal utilizator era echi-
pat cu un mic sistem radio care avea dou frecvene: Trimite (upstream - ctre calculatorul central)
i Primete (downstream de la calculatorul central). Cnd utilizatorul dorea s contacteze calcula-
torul, trebuia doar s transmit un pachet care coninea datele pe canalul Trimite. Dac nu mai
transmitea nimeni n acel moment, pachetul ajungea la calculatorul central i i se ddea un rspuns
pe canalul Primete. Dac avea loc o disput pentru canalul de transmisie, terminalul observa c nu
primete confirmarea pozitiv pe canalul de recepie i trimitea din nou. Deoarece era un singur
transmitor pe canalul de primire (calculatorul central), aici erau imposibile coliziunile. Acest sis-
tem, care a fost denumit ALOHANET, funciona destul de bine n condiii de trafic redus, dar eua
de ndat ce traficul pe canalul de Transmisie era aglomerat.
Cam n acelai timp, un student pe nume Bob Metcalfe i-a obinut diploma de absolvire la M.I.T.
i s-a mutat pentru a obine doctoratul la Harvard. n timpul studiilor sale, a ajuns sa cunoasc lucra-
rea lui Abramson. A devenit att de interesat n acest domeniu nct dup ce a absolvit la Harvard, a
decis s petreac vara n Hawaii lucrnd mpreun cu Abramson, nainte de a ncepe lucrul la Xerox
PARC (Palo Alto Research Center, rom: Centrul de Cercetare de la Palo Alto) . Cnd a ajuns la
PARC, a descoperit c cercettorii de acolo proiectaser i construiser mainile care mai trziu
aveau s fie denumite calculatoare personale. Dar mainile erau izolate. Folosind cunotinele pe care
le acumulase n timpul lucrului petrecut cu Abramson, a proiectat i implementat mpreun cu cole-
gul su David Boggs prima reea local de calculatoare (Metcalfe i Boggs, 1976).
Au numit sistemul Ethernet dup luminiferous ether (eter), prin care se credea odinioar c se
propag undele electromagnetice (n secolul 19, cnd fizicianul englez James Clerk Maxwell a des-
coperit c radiaia electromagnetic poate fi descris printr-o ecuaie de und, oamenii de tiin au
presupus c spaiul trebuie s fie umplut cu un mediu eteric prin care aceste radiaii se propagau.
Numai dup faimosul experiment Michelson-Morley din 1887 fizicienii au descoperit c radiaia
electromagnetic se poate propaga n vid).
Mediul de transmisie n acest caz era un cablu coaxial gros, avnd o lungime de pn la 2.5 km
(cu repetoare la fiecare 500m). Pn la 256 de maini pot fi ataate sistemului prin transivere conec-
tate direct n cablu. Un cablu cu mai multe maini ataate n paralel este numit cablu multidrop
(multidrop cable). Sistemul funciona la 2.94 Mbps. O schi a arhitecturii sale este prezentat n fig.
60 INTRODUCERE CAP. 1


1-34. Ethernet-ul avea o mbuntire major fa de AOHANET: nainte s transmit, un calcula-
tor asculta mediul pentru a vedea dac nu cumva este altcineva care transmite. Dac exista deja o
transmisie n curs, calculatorul se oprea i atepta ncheierea transmisiei curente. Astfel, se evita in-
terferena cu transmisiunile existente, ceea ce cretea semnificativ eficiena sistemului.
ALOHANET nu putea s funcioneze n aceast manier pentru c era imposibil pentru un termi-
nal de pe o insul s detecteze transmisia unui alt terminal de pe o alt insul. Pe un cablu unic,
aceast problem era rezolvat.

Fig. 1-34. Arhitectura Ethenet-ului original

n ciuda faptului c fiecare calculator asculta mediul nainte s nceap transmisia, exista n con-
tinuare o problem: ce se ntmpl dac dou calculatoare ateapt amndou ncheierea transmisi-
ei curente i apoi pornesc propriile transmisii simultan? Soluia este urmtoarea: fiecare calculator
va asculta mediul i n timpul propriei transmisii i dac detecteaz interferene, bruiaz linia pentru
a anuna toi transmitorii. Apoi se retrage i ateapt un interval de timp generat aleator nainte s
ncerce din nou. Dac apare o a doua coliziune, timpul de ateptare se dubleaz, i tot aa, pentru a
dispersa (n timp) transmisiile concurente oferind fiecreia dintre ele ansa de a fi servit prima.
Ethernet-ul Xerox a avut un succes att de mare nct DEC, Intel i Xerox au colaborat pentru a
schia un standard pentru o reea Ethernet de 10 Mbps, denumit standardul DIX. Cu dou modifi-
cri minore, acesta a devenit standardul IEEE 802.3 n anul 1983.
Din pcate pentru Xerox, compania avea deja reputaia de a face invenii (precum calculatorul
personal) i apoi s eueze n valorificarea lor comercial, poveste spus n Fumbling the Future
(Smith i Alexander, 1988). i pentru c Xerox nu a anunat vreo intenie de a face i altceva cu
Ethernet-ul n afara standardizrii lui Metcalfe i-a format propria companie, 3Com, care urma
s produc i s vnd adaptoare Ethernet pentru PC. A vndut peste 100 de milioane.
Ethernet-ul a continuat s se dezvolte i este nc n curs de dezvoltare. Noi versiuni, la 100
Mbps i 1000 Mbps, ba chiar i mai rapide au aprut deja. De asemenea, cablarea s-a mbuntit,
fiind adugate i alte faciliti, precum comutarea (switching). Vom discuta n detaliu despre Ether-
net n cap. 4.
n trecere, merit menionat c Ethernet (IEEE 802.3) nu este singurul standard LAN. Comite-
tul a standardizat de asemenea Token Bus (Jeton pe Magistral 802.4) i Token Ring (Jeton pe
Inel 802.5). Necesitatea de a avea trei standarde mai mult sau mai puin incompatibile ine mai
mult de politic dect de tehnologie. La momentul standardizrii, firma General Motors promova o
reea n care topologia era aceeai ca la Ethernet (un cablu liniar), dar calculatoarele obineau drep-
tul la transmisie pe rnd, prin transmiterea unui scurt pachet denumit jeton (token). Un calculator
putea s emit numai dac era n posesia jetonului, fiind evitate astfel coliziunile. General Motors a
SEC. 1.5 EXEMPLE DE REELE 61

anunat c aceast schem era esenial pentru fabricaia de maini i nu era pregtit s se mite de
pe aceast poziie. Dac acest anun nu era susinut, 802.4 nu ar fi existat.
Similar, IBM avea propriul favorit: reeaua proprietar cu jeton n inel. De aceast dat, jetonul
era transmis prin inel i orice calculator care avea jetonul putea s transmit nainte de a repune
jetonul n circulaie n inel. Spre deosebire de 802.4, aceast schem, standardizat ca 802.5, este
nc folosit n birouri i filiale ale IBM, dar practic nicieri n afara IBM. Oricum, cercetarea avan-
seaz ctre o versiune gigabit, dar pare foarte puin probabil ca aceast tehnologie s ajung la ni-
velul Ethernet. Pe scurt, chiar dac a fost cndva un rzboi ntre Ethernet, Token Ring i Token
Bus, Ethernet a ctigat, n special pentru c a fost primul i pentru c oponenii si nu era destul
de buni.
1.5.4 Reele fr fir: 802.11
Imediat dup apariia calculatoarelor portabile, muli utilizatori visau s intre cu calculatorul
portabil personal ntr-un birou i, miraculos, acesta s fie conectat la Internet. n consecin, mai
multe grupuri de studiu am nceput s caute soluii pentru a atinge acest scop. Cea mai practic
abordare era echiparea biroului i a calculatorului cu transmitoare i emitoare radio cu raz mic
de aciune pentru a le permite s comunice. Aceast variant a dus rapid la comercializarea soluii-
lor de reele locale fr fir de ctre diverse companii.
Problema era c dintre aceste variante nu se gseau dou compatibile. Aceast proliferare a
standardelor nsemna c un calculator care era echipat cu un radio marca X nu putea s se conecte-
ze n reeaua unui birou dac acesta era echipat cu o staie de la firma Y. n cele din urm, comuni-
tatea industrial a decis c ar trebui impus un standard pentru LAN fr fir. Astfel, comitetul IEEE
care standardizase i LAN-urile cu cablu a primit ca sarcin s schieze un standard pentru reele
LAN fr fir. Standardul astfel creat s-a numit 802.11. O denumire mai bine cunoscut n argou este
WiFi. Este un standard important i merit tot respectul, astfel c ne vom referi la el cu numele ofi-
cial, 802.11.
Standardul propus trebuia s lucreze n dou moduri:

1. n prezena unei staii de baz
2. n absena unei staii de baz


Fig. 1-35. (a) Reele fr fir cu staie de baz. (b) Conectare ad-hoc.

62 INTRODUCERE CAP. 1


n primul caz, toate comunicaiile urmau s aib loc prin intermediul staiei de baz, denumit
punct de acces (access point) 802.11. n cel de-al doilea caz, calculatoarele urmau s comunice direct
unul cu cellalt. Acest mod este uneori denumit conectare ad-hoc (ad-hoc networking). Un exemplu
tipic este cel al utilizatorilor care se afl ntr-o camer care nu este echipat cu o staie de baz, cal-
culatoarele lor comunicnd direct. Aceste dou moduri sunt ilustrate n fig. 1-35.
Prima decizie a fost cea mai simpl: cum s se numeasc. Toate celelalte standarde LAN aveau
numere cum sunt 802.1, 802.2, 802.3, pn la 802.10. Aa c noul standard de LAN fr fir s-a numit
802.11. Restul a fost mai dificil de realizat.
n particular, cteva dintre obiectivele care trebuiau atinse erau : gsirea unei benzi de frecvene
care s fie disponibil, de preferin la nivel mondial; tratarea faptului c semnalele radio au o raz
de aciune limitat; asigurarea meninerii confidenialitii utilizatorului; tratarea problemei dura-
tei limitate de lucru a bateriei; considerarea eventualelor efecte pe care sistemul le putea avea asu-
pra oamenilor (provoac undele radio cancer?); nelegerea implicaiilor portabilitii calculatoare-
lor; i, n final, construirea unui sistem cu lrgime de band suficient pentru a fi viabil din punct de
vedere economic.
La momentul n care s-a nceput procesul de standardizare (la mijlocul anilor 1990), Ethernet-ul
domina deja domeniul reelelor locale, aa nct comitetul a decis s fac noul standard 802.11 com-
patibil Ethernet ncepnd de deasupra nivelului legtur de date. Mai exact, ar trebui s se poate
transmite un pachet IP ntr-un LAN fr fir n aceeai manier n care un pachet IP este transmis
prin Ethernet. Desigur, la nivelurile Fizic i Legtur de date apar anumite diferene inerente fa
de Ethernet i ele trebuie considerate de ctre standard.
Mai nti, un calculator din Ethernet va asculta eterul nainte de a transmite. Numai dac acesta
este liber calculatorul va ncepe transmisia. n cazul reelelor LAN fr fir, aceast idee nu funcio-
neaz prea bine. Pentru a vedea de ce, analizai fig. 1-36. S presupunem c A transmite ctre B, dar
raza de aciune a lui A este prea mic pentru a l acoperi i pe C. Atunci cnd C vrea s transmit, el
poate asculta mediul nainte s nceap, dar faptul c nu aude nimic nu nseamn c transmisia lui va
reui. Standardul 802.11 trebuia s rezolve i aceast problem.


Fig.1-36. Raza de aciune a unui singur radio poate s nu acopere ntregul sistem.

O a doua problem care trebuia rezolvat era aceea c semnalul radio poate fi reflectat de anu-
mite obiecte solide i deci poate fi recepionat de mai multe ori (pe diverse ci). Aceast interferen
duce la ceea ce se numete disipare pe mai multe ci (multipath fading).
SEC. 1.5 EXEMPLE DE REELE 63

Cea de-a treia problem era c o mare parte din aplicaii nu erau contiente de mobilitatea cal-
culatoarelor. De exemplu, multe dintre editoarele de texte aveau o list de imprimante dintre care
una putea fi aleas pentru tiprirea documentului. Atunci cnd calculatorul ruleaz n afara mediu-
lui su obinuit, ntr-un mediu nou, lista de imprimante implicite nu mai este valid.
Cea de-a patra problem se referea la mutarea calculatorului portabil din raza de aciune a unei
staii de baz n raza altei staii de baz. ntr-un fel sau altul, trebuie gsit o soluie de preda-
re/primire ntre cele dou staii de baz. Dei aceast problem apare i la nivelul telefoanelor mobi-
le, ea nu apare la Ethernet i nu avea o soluie la momentul respectiv. Mai exact, reeaua const din
mai multe celule, fiecare cu propria staie de baz, conectate prin Ethernet, dup cum se poate ve-
dea n fig. 1-37. Din exterior, sistemul trebuie s arate ca o singur reea Ethernet. Conexiunea din-
tre sistemele 802.11 i lumea exterioar se numete portal (portal).
Fig.1-37. O reea 802.11 cu mai multe celule

Dup o oarecare munc, comitetul a obinut o variant de standard n 1997, variant care adresa
aceste probleme i altele asemntoare. Reelele locale fr fir pe care standardul le propunea pu-
teau funciona la 1 Mbps sau 2 Mbps. Aproape imediat, utilizatorii au nceput s se plng de viteza
prea sczut i s-a pornit o nou campanie pentru obinerea unor standarde mai rapide. n cadrul
comitetului a avut loc o ruptur, ceea ce a dus la apariia a dou standarde n 1999. Standardul
802.11a folosete o band de frecven mai larg i poate ajunge la viteze mai mari de 54 Mbps.
Standardul 802.11b folosete aceeai banda ca i 802.11, dar folosete o tehnic de modulare diferit
i poate ajunge la 11 Mbps. Unii vd n aceasta un amnunt important la nivel psihologic, pentru c
11 Mbps este o vitez mai mare dect a Ethernet-ului original, cu cablu. Este foarte probabil ca
standardul original 802.11 de 1 Mbps s moar n curnd, dar nu se tie care dintre noile standarde
va iei nvingtor.
Pentru a face lucrurile nc mai complicate dect erau, comitetul 802 a venit cu o nou variant,
802.11g, care folosete tehnica de modulare folosit i de 802.11a, dar banda de frecven a lui
802.11b. Vom reveni n detaliu la 802.11 n cap. 4.
Faptul ca 802.11 urmeaz s duc la o revoluie n lumea calculatoarelor i a accesului la Internet
este mai presus de orice ndoial. Aeroporturile, grile, hotelurile, magazinele mari i universitile l
implementeaz foarte curnd. Chiar si cafenelele aflate ntr-o perioad de cretere a afacerilor insta-
leaz reele 802.11 pentru ca grupurile de tineri rebeli s poat naviga pe Web n timp ce i savurea-
z cafelele cu lapte. Este foarte probabil ca 802.11 s aib asupra Internet-ului acelai efect pe care l-
au avut portabilele n lumea calculatoarelor: s-l fac mobil.


64 INTRODUCERE CAP. 1


1.6 STANDARDIZAREA REELELOR
n prezent exist numeroi productori i furnizori, fiecare cu propriile idei despre cum ar trebui
realizate reelele. n 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: 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. Deoa-
rece zeci de productori au decis s copieze aproape identic mainile IBM, PC-ul IBM i succesorii
si reprezint standarde de facto pentru calculatoarele birourilor mici i pentru cele casnice. n seci-
ile 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, adop-
tate 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 exis-
t cteva organizaii din fiecare categorie. n continuare vom discuta despre aceste organizaii.
1.6.1 Whos 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 divi-
zat, 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 m-
prit AT&T-ul, precum i alte numeroase firme independente, ofer servicii de telefonie local i
celular. Datorit fuziunilor frecvente i a altor modificri de acest tip, aceast industrie este ntr-o
continu micare.
Firmele americane furnizoare de servicii de comunicaii pentru public sunt numite companii te-
lefonice publice. Ofertele i preurile lor sunt descrise printr-un document numit tarif. Acesta trebu-
ie s fie aprobat de Comisia Federal de Comunicaii, care se ocup de traficul dintre statele SUA i
de traficul internaional, precum 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 mijloa-
celor 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. Majoritatea rilor europene
i-au privatizat mai mult sau mai puin sistemele PTT, dar peste tot acest proces este lent.
SEC. 1.6 STANDARDIZAREA REELELOR 65

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, reprezen-
tani ai multor guverne din Europa s-au ntlnit pentru a forma predecesorul actualului ITU
(International Telecommunication Union, rom: Uniunea Internaional de Telecomunicaii). Sarci-
na 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 jum-
tate foloseau un cod diferit, atunci vor apare probleme. Cnd au aprut serviciile de telefonie inter-
naional, ITU a preluat de asemenea i sarcina standardizrii telefoniei (telephony pronunat i
te-LEF-ony). 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 inte-
resate. 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 fran-
cez: Comit Consultatif International Tlgraphique et Tlfonique. 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 nc frecvent ntlnite.
ITU-T are patru clase de membri:

1. Guverne naionale
2. Membri sectoriali
3. Membri asociai
4. Agenii de reglementare

ITU-T are aproximativ 200 de membri guvernamentali, incluznd aproape fiecare membru al
Naiunilor Unite. Pentru c SUA nu are un sistem PTT, altcineva trebuia s o reprezinte n cadrul
ITU-T. Aceast sarcin a revenit Departamentului de Stat, probabil pe principiul c ITU-T are de-a
face cu ri strine, tocmai specialitatea acestui departament. Sunt aproximativ 500 de membri sec-
toriali, incluznd aici companiile de telefonie (AT&T, Vodafone, WorldCom), productorii de echi-
pamente de telecomunicaii (Cisco, Nokia, Nortel), productorii de echipamente de calcul
(Compaq, Sun, Toshiba), productorii de cipuri (Intel, Motorola, TI), companii media (AOL Time,
Warner, CBS, Sony) i alte companii direct interesate (Boeing, Samsung, Xerox). Diverse organiza-
ii tiinifice non-profit, precum i consorii industriale sunt de asemenea membri sectoriali (IFIP,
IATA). Membrii asociai sunt organizaii mai mici care sunt interesate ntr-un anumit grup de stu-
diu. Ageniile de reglementare sunt reprezentate de oamenii care supravegheaz lumea afacerilor n
telecomunicaii, cum este de exemplu US Federal Communications Comission (Comisia Federal
pentru Comunicaii).
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), specific amplasarea i semnificaia
pinilor din conectorul folosit de majoritatea terminalelor asincrone i de modemurile externe.
66 INTRODUCERE CAP. 1


Nu trebuie uitat c recomandrile date de ITU-T sunt numai sugestii tehnice, pe care guvernele
le pot adopta sau ignora, dup cum doresc (pentru c guvernele sunt asemenea bieilor de 13 ani
nu reacioneaz prea bine dac li se dau ordine). n practic, o ar care dorete s adopte un stan-
dard 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 Coreei de Nord, 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 grupuri de studiu, care uneori cuprind chiar i
400 de persoane. Momentan sunt 14 grupuri de studiu, care acoper subiecte de la facturarea servi-
ciilor telefonice pn la serviciile multimedia. Pentru ca pn la urm munca s aib un rezultat,
Grupurile 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.
n pofida tuturor acestor lucruri, ITU-T reuete s duc la bun sfrit ceea ce are de fcut. De la
fondarea sa, a realizat mai bine de 3000 de recomandri, care ocup peste 60.000 de pagini. Multe
dintre acestea sunt folosite pe scar larg n practic. De exemplu, standardul V.90 56-Kbps pentru
modemuri este o recomandare a ITU.
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 infor-
maii privind ITU, a se vedea (Irmer, 1994).
1.6.2 Whos Who n lumea standardelor internaionale
Standardele internaionale sunt produse de ISO (International Standards Organization
3
, rom:
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 [pentru a nu meniona aici boabele de cacao (ISO 2451),
plasele de pescuit (ISO 1530), lenjeria de dam (ISO 4416) i alte cteva subiecte la care nu v-ai
putea gndi ca subiecte de standarde]. n total au fost create peste 5000 de standarde, inclusiv stan-
dardele 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 informai-
ei. 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 vo-
luntari 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.

3
Adevratul nume pentru ISO este International Organization for Standardization (n.a.)
SEC. 1.6 STANDARDIZAREA REELELOR 67


Fig. 1-38. Grupurile de lucru ale 802.
Cele importante sunt marcate cu *. Cele marcate cu hiberneaz.
Cele marcate cu au renunat i s-au desfiinat.

Reprezentantul S.U.A. n ISO este ANSI (American National Standards Institute, rom: Institu-
tul Naional American de Standarde), care, n pofida numelui su, este o organizaie privat negu-
vernamental 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 standardiza-
re 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, rom: proiect de comitet). CD-ul circul apoi
pe la toate organizaiile membre, care au la dispoziie 6 luni pentru a-l supune criticilor. Dac se
primete aprobarea din partea unei majoriti substaniale, atunci se produce un document revizuit,
numit DIS (Draft International Standard, rom: proiect de standard internaional), care va 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 IS (International Standard, rom: standard internaional). n do-
meniile 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.
68 INTRODUCERE CAP. 1


NIST (National Institute of Standards and Technology, rom: Institutul Naional de Standarde i
Tehnologie) este o agenie a Departamentului pentru Comer al Statelor Unite. NIST a fost cunos-
cut 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, rom: Institutul Inginerilor Electricieni i Electroniti), cea mai mare organizaie profesi-
onal din lume. Suplimentar fa de producerea a zeci de jurnale i organizarea a numeroase confe-
rine n fiecare an, IEEE are un grup de standardizare care dezvolt standarde n domeniul ingineri-
ei electrice i tehnicii de calcul. Comitetul IEEE 802 a standardizat mai multe tipuri de reele locale.
Vom studia o parte dintre rezultatele sale ceva mai trziu n aceast carte. Munca efectiv este fcu-
t de o sum de grupuri de lucru, care sunt prezentate n fig. 1-38. Rata de succes a diverselor gru-
puri ale 802 a fost sczut, aadar chiar dac ai un numr de forma 802.x, aceasta nu este o garanie
a succesului. Dar impactul povetilor de succes (n special 802.3 i 802.11) a fost enorm.
1.6.3 Whos 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 blugi (iar dac se ntlnesc la San Diego poart pantaloni scuri i tricouri).
La ntlnirile organizate de ITU-T i ISO e plin de oficiali ai unor corporaii i de funcionari gu-
vernamentali pentru care standardizarea reprezint meseria lor. Ei privesc standardizarea ca un lu-
cru bun i i dedic vieile acestui scop. Lumea implicat n Internet, pe de alt parte, prefer, ca
principiu de baz, anarhia. Oricum, dac sute de milioane de oameni i vd fiecare numai de treaba
lor, este puin probabil s apar vreo modalitate de comunicare. De aceea, standardele, dei regre-
tabile, 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, rom: Consiliul Activitilor Inter-
net) i a primit o misiune ceva mai ampl: s fie atent ca cercettorii implicai n ARPANET i In-
ternet 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 nou standard (de exemplu, un nou algoritm de dirijare), membrii IAB l luau n discu-
ie i apoi anunau schimbarea, astfel ca absolvenii facultilor - care erau sufletul muncii de pro-
gramare - s l poat implementa. Comunicrile erau puse la dispoziie printr-o serie de rapoarte
tehnice, numite RFC-uri (Request For Comments, rom: cereri pentru comentarii). RFC-urile sunt
memorate on-line i pot fi citite de oricine este interesat de ele la adresa www.ietf.org/rfc. RFC-urile
sunt numerotate n ordinea cronologic a crerii lor. Pn acum exist peste 3000. Ne vom referi la
multe dintre ele n cursul acestei cri.
n 1989 Internet-ul crescuse att de mult, nct acest stil informal nu mai putea funciona. Multe
firme vindeau la acea vreme produse TCP/IP i nu erau dispuse s le modifice doar pentru c zece cer-
SEC. 1.7 UNITI DE MSUR 69

cettori 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, rom: Departamentul de Cercetare Internet),
care a fost pus n subordinea IAB-ului, alturi de IETF (Internet Engineering Task Force, rom: Depar-
tamentul 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 inte-
resai 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 consti-
tuit 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 expli-
cat 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 im-
plementare 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. Da-
vid Clark a fcut odat o remarc devenit celebr privitoare la standardizarea Internet-ului, care ar
consta din ,,consens aproximativ i programe care merg.


1.7 UNITI DE MSUR
Pentru a ne feri de orice confuzie, merit s precizm de la bun nceput c n aceast carte, ca
i n lumea tiinei calculatoarelor n general, vor fi folosite unitile metrice n locul unitilor tradi-
ionale englezeti (sistemul furlong-stone-fortnight4). Principalele prefixe metrice sunt precizate n
fig. 1-39. Ale sunt n general abreviate folosindu-se prima liter, cu unitile mai mari ca 1 scrise cu
majuscule (KB, MB etc.). O excepie (din motive istorice) este Kbps (kilobits per second) pentru
kilobii pe secund. Astfel, o linie de comunicaie de 1 Mbps transmite 10
6
bii/secund, n timp
ce pentru 100 ps (psec), ceasul bate la fiecare 10
-10
secunde. Deoarece denumirile mili i micro
ncep amndou cu litera m, trebuia fcut o alegere. n mod normal, m este folosit pen-
tru mili, iar (litera greac miu) este folosit pentru micro.

4
furlong = jumtate de mil
stone = 6,350kg
fortnight = 2 sptmni
70 INTRODUCERE CAP. 1



Fig. 1-39. Principalele prefixe metrice

Este de asemenea important s subliniem c pentru msurarea dimensiunilor memoriei, discuri-
lor, fiierelor i a bazelor de date se obinuiete folosirea acestor uniti, dei ele au valori uor modi-
ficate. Astfel, kilo reprezint 2
10
(1024) i nu de 10
3
(1000), pentru c volumului memoriilor sunt
ntotdeauna puteri ale lui doi. Deci, o memorie de 1 KB are 1024 de octei, nu 1000. Similar, o me-
morie de 1 MB are 2
20
(1.048.576) octei, o memorie de 1 GB are 2
30
octei (1.073.741.824), iar o
baz de date de 1 TB are 2
40
(1.099.511.627.776) octei. Oricum, o linie de comunicaie de 1 Kbps
transmite 1000 de bii pe secund i o reea local de 10 Mbps ruleaz la 10.000.000 bii/secund,
deoarece aceste uniti nu sunt puteri ale lui 2. Din pcate, muli oameni tind s amestece aceste
dou sisteme, n special pentru capacitatea discurilor. Pentru a evita orice ambiguitate, n aceast
carte vom folosi simbolurile KB, MB, GB pentru 2
10
, 2
20
, 2
30
, i simbolurile Kbps, Mbps i Gbps pen-
tru 10
3
, 10
6
i 10
9
bii pe secund, respectiv.


1.8 RESTUL CRII 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 ilus-
treaz principiile respective. Aceste exemple sunt n general preluate din Internet i din reele fr
fir deoarece acestea sunt importante i diferite. Acolo unde este relevant, vor fi date i alte exemple.
Cartea este structurat n concordan cu modelul hibrid din fig. 1-24. ncepnd cu
cap. 2, pornim la drum de la baz n sus, de-a lungul ierarhiei de protocoale. Cap. 2 prezint cadrul
pentru studierea domeniului comunicaiilor de date. Capitolul acoper diferite subiecte: transmisii
analogice i digitale, multiplexare, comutare, sistemul telefonic trecut, actual i viitor. Acoper sis-
teme de transmisie cu cablu, fr cablu i prin satelit. Acest material se refer la nivelul 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, cum ar fi reeaua cu comutare a telefoniei publice,
telefoanele mobile i televiziunea prin cablu.
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 vitez sczut i medie) i PPP (folosit n Internet).
SEC. 1.9 REZUMAT 71

Cap. 4 se refer la subnivelul de acces la mediu, care face parte din nivelul legtur de date. Pro-
blema 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. Sunt date multe exemple din domeniul LAN-urilor cu cablu sau fr (n spe-
cial Ethernet), din cel al MAN-urilor fr fir, din cadrul reelelor bazate pe Bluetooth i al 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, cu prezentarea mai multor algoritmi de
dirijare, att statici ct i dinamici. Chiar dac se folosesc algoritmi de rutare foarte buni, dac
traficul cerut este mai mare dect cel pe care l poate dirija reeaua, se ajunge la congestia reelei, aa
c se va discuta despre congestie i despre cum poate fi ea evitat. O variant nc i mai bun dect
evitarea congestiei este oferirea unei garanii de calitate a serviciilor. i acest subiect va fi abordat
aici. Interconectarea reelelor eterogene n inter-reele conduce la numeroase probleme care sunt
discutate aici. Se acord mare atenie nivelurilor din Internet .
Cap. 6 se ocup de nivelul transport. Se discut pe larg protocoalele orientate pe conexiuni, de-
oarece ele sunt necesare n numeroase aplicaii. Se discut n detaliu un exemplu de serviciu de
transport i implementarea sa. Este prezentat chiar i codul surs pentru acest exemplu simplu, pen-
tru a se putea demonstra modul n care poate fi el implementat. Ambele protocoale din Internet
UDP i TCP sunt discutate n detaliu i este abordat problema performanelor lor. n plus, se
discut despre problemele impuse de reelele fr fir.
Cap. 7 se ocup de nivelul aplicaie, de protocoalele i aplicaiile sale. Primul subiect este DNS,
care este cartea de telefoane a Internet-ului. Apoi urmeaz pota electronic, inclusiv o discuie de-
spre protocoalele sale. Apoi ne vom muta atenia asupra Web-ului, cu discuii detaliate despre con-
inut static, coninut dinamic, ce se ntmpl la client, ce se ntmpl pe server, protocoale, perfor-
man, Web fr fir. n cele din urm vom examina informaia multimedia care este transmis prin
reea, inclusiv fluxuri audio, radio prin Internet i video la cerere.
Cap. 8 se refer la securitatea reelelor. Acest subiect include aspecte legate de fiecare dintre ni-
veluri, aa c este mai uor de tratat ctre final, cnd toate nivelurile au fost deja explicate pe larg.
Capitolul ncepe cu o introducere n criptografie. n continuare, este prezentat modul n care cripto-
grafia poate fi utilizat pentru a securiza comunicaiilor, pota electronic i Web-ul. Cartea se n-
cheie cu o discuie despre anumite domenii n care securitatea interfereaz cu intimitatea, libertatea
de exprimare, cenzura, precum i alte probleme sociale care decurg de aici.
Cap. 9 conine o list adnotat de lecturi sugerate, aranjate n ordinea capitolelor. Lista este gn-
dit 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.
Situl Web al autorului de la Prentice Hall: http://www.prenhall.com/tanenbaum are o pagin cu
legturi la mai multe sinteze, liste de ntrebri frecvente (FAQs), companii, consorii industriale,
organizaii profesionale, organizaii de standardizare, tehnologii, lucrri tiinifice i altele.


1.9 REZUMAT
Reelele de calculatoare pot fi utilizate pentru numeroase servicii, att pentru firme ct i pentru
persoane particulare. Pentru companii, reelele de calculatoare personale care folosesc servere par-
72 INTRODUCERE CAP. 1


tajate asigur accesul la informaiile corporaiei. De obicei, acestea urmeaz modelul client-server,
cu staiile de lucru clieni pe mesele de lucru ale angajailor accesnd serverele puternice din camera
mainilor. Pentru persoane particulare, reelele ofer acces la o mulime de informaii i de resurse
de divertisment. De cele mai multe ori persoanele particulare acceseaz Internet-ul folosind un mo-
dem pentru a apela un ISP, dei din ce n ce mai muli utilizatori au chiar i acas o conexiune Inter-
net fix, permanent. Un domeniu care se dezvolt rapid este acela al reelelor fr fir, care conduc
la dezvoltarea de noi aplicaii, cum ar fi mobilitatea accesului la pota electronic i comerul mobil.
n mare, reelele pot fi mprite n LAN-uri, MAN-uri, WAN-uri i inter-reele, fiecare cu carac-
teristicile, tehnologiile, vitezele i rolurile sale proprii. LAN-urile acoper suprafaa unei cldiri i lu-
creaz la viteze mari, MAN-urile acoper suprafaa unui ora de exemplu reeaua de televiziune
prin cablu, care este actualmente folosit de muli dintre utilizatori i pentru conectarea la Internet.
WAN-urile se ntind pe suprafaa unei ri sau a unui continent. LAN-urile i MAN-urile sunt neco-
mutate (adic nu au rutere); WAN-urile sunt comutate. Reelele fr fir devin din ce n ce mai popu-
lare, n special la nivelul reelelor locale. Reelele pot fi interconectate pentru a forma inter-reele.
Programele de reea constau din protocoale, adic reguli 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 bazea-
z 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. Problemele care apar n
procesul de proiectare a acestor protocoale includ multiplexarea, controlul traficului, controlul erori-
lor i nc altele. O mare parte a acestei cri este dedicat protocoalelor i proiectrii lor.
Reelele ofer servicii utilizatorilor lor. Aceste servicii pot fi orientate pe conexiune sau fr co-
nexiune. n anumite reele, serviciile fr conectare sunt oferite la un anumit nivel i pot fi completa-
te cu serviciile orientate pe conexiune oferite de un alt nivel.
Ca reele bine-cunoscute sunt menionate Internet-ul, reelele ATM, Ethernet-ul i LAN-ul fr
fir, standard denumit IEEE 802.11. Internet-ul a evoluat din ARPANET, prin adugarea de noi
reele pentru a se forma o inter-reea. n prezent, Internet-ul este n fapt o colecie de multe mii de
reele i nu o singur reea. Ceea ce caracterizeaz aceast colecie este folosirea stivei TCP/IP peste
tot. Reelele ATM sunt rspndite mai ales n sistemele de telefonie pentru trafic de date intensiv.
Ethernet-ul este cea mai popular reea local i este implementat n majoritatea companiilor mari
i n universiti. n fine, reelele locale fr fir, cu viteze de transfer surprinztor de mari (pn la 54
Mbps) ncep s fie folosite pe scar larg.
Pentru a putea determina mai multe calculatoare s comunice ntre ele este nevoie de o impor-
tant munc de standardizare, att pentru partea de echipamente (hardware), ct i pentru partea
de programe (software). Organizaiile ca ITU-T, ISO, IEEE i IAB administreaz diverse pri din
procesul de standardizare.


1.10 PROBLEME
1. 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 de 8 mm. (Cnd i se umple discul, respectiva cutie reprezint o ur-
SEC. 1.10 PROBLEME 73

gen.) Aceste benzi conin fiecare cte 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 a crei vitez de transfer (fr suprancrcare) este de 150 Mbps?
2. O alternativ la un LAN este pur i simplu un mare sistem, cu divizarea timpului cu terminale pen-
tru toi utilizatorii. Prezentai dou avantaje ale unui sistem client-server care folosete un LAN.
3. Performana unui sistem client-server este influenat de doi factori ai reelei: lrgimea de ban-
d (ci bii poate transporta ntr-o secund) i latena (cte secunde dureaz transferul primu-
lui bit de la client la server). Dai un exemplu de reea care are i lrgime de band ridicat i la-
ten mare. Apoi dai un exemplu de reea cu lrgime de band sczut i laten mic.
4. Pe lng lrgime de band i laten, ce alt parametru este necesar pentru a caracteriza calitatea
serviciilor oferite de o reea folosit pentru trafic de voce digitizat?
5. Un factor de ntrziere al unui sistem memoreaz-i-retransmite cu comutare de pachete este ct
de mult timp ia operaia de stocare i retrimitere a unui mesaj printr-un comutator. Dac timpul
de comutare este de 10 s, este acesta un factor important n rspunsul unui sistem client-server
n care clientul este n New York i serverul n California? Presupunei c viteza de propagare a
semnalului printr-un fir de cupru sau prin fibra optic ar fi de 2/3 din viteza luminii n vid.
6. Un sistem client-server folosete o reea-satelit, cu satelitul amplasat la o nlime de 40.000 km.
n cazul optim, care este ntrzierea cu care vine rspunsul la o cerere?
7. 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.
8. 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 sc-
zut 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?
9. Un grup de 2
n
-1 rutere sunt interconectate ntr-un arbore binar centralizat, cu un ruter n fiecare
nod al arborelui. Ruterul i comunic cu ruterul j trimind un mesaj rdcinii arborelui. Rdci-
na trimite apoi mesajul napoi n jos pn la j. 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.
10. Un dezavantaj al unei subreele 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 coli-
ziunilor?
11. Care sunt dou din motivele utilizrii protocoalelor organizate pe niveluri?
74 INTRODUCERE CAP. 1


12. Preedintelui Companiei de Vopsele Speciale i vine ideea s lucreze mpreun cu un produc-
tor 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 ce-
re 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, ingine-
rii 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?6. Care sunt adresele
SAP n cazul difuzrii radio FM ?
13. Care este principala diferen ntre comunicarea fr conexiuni i comunicarea orientat pe
conexiuni?
14. Dou 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.
15. Ce nseamn ,,negociere atunci cnd se discut protocoalele de reea? Dai un exemplu.
16. n fig. 1-19 este prezentat un serviciu. Exist i servicii implicite n aceast figur? Dac da, un-
de? Dac nu, de ce nu?
17. n unele reele, nivelul legtur de date trateaz erorile de transmisie, solicitnd retransmiterea
cadrelor deteriorate. Dac probabilitatea de a se strica un cadru este p, care este numrul mediu
de transmisii necesare pentru a trimite un cadru, n cazul n care confirmrile nu se pierd nicio-
dat?
18. 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.
19. Dac unitile de date schimbate la nivelul legtur de date se numesc cadre i unitile de date
schimbate la nivelul reea se numesc pachete, pachetele ncapsuleaz cadre sau cadrele ncapsu-
leaz pachete? Explicai rspunsul dat.
20. 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?
21. Prezentai dou aspecte comune modelului de referin OSI i modelului de referin TCP/IP.
Prezentai apoi dou aspecte prin care modelele difer.
22. Care este principala deosebire ntre TCP i UDP?
23. Subreeaua din fig. 1-25(b) a fost proiectat pentru a putea rezista unui rzboi nuclear. Cte
bombe ar fi necesare pentru a partiiona nodurile sale n dou seturi complet deconectate? Pre-
supunei c orice bomb distruge un nod i toate legturile conectate cu el.
SEC. 1.10 PROBLEME 75

24. Internet-ul i dubleaz dimensiunea o dat la aproximativ 18 luni. Dei nimeni nu tie cu sigu-
ran, se estimeaz numrul gazdelor la 100 de milioane n 2001. Folosii aceste date pentru a
calcula numrul de gazde Internet prevzut pentru anul 2010. Putei crede acest scenariu? Ex-
plicai de ce da sau de ce nu.
25. 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, pache-
tele nu sunt confirmate individual, dar la sfrit este confirmat ntregul fiier. Discutai aceste
dou abordri.
26. De ce folosete ATM-ul celule mici, de lungime fix?
27. Ct de lung era un bit n standardul original 802.3 msurat n metri? Folosii viteza de transmi-
sie de 10 Mbps i presupunei c viteza de transmisie prin cablu coaxial este de 2/3 din viteza de
propagare a luminii n vid.
28. O imagine are 1024 x 768 pixeli i reine cte 3 octei pentru fiecare pixel. Presupunei c imagi-
nea este necomprimat. Ct dureaz transmisia ei pe un canal de modem de 56 Kbps ? Dar
printr-un modem de cablu de 1 Mbps? Dar prin Ethernet la 10 Mbps? Dar prin Ethernet la 100
Mbps ?
29. Ethernet-ul i reelele fr fir au unele asemnri i deosebiri. O proprietate a Ethernet-ului
este aceea c un singur cadru poate fi transmis la un moment dat pe mediu. Are i 802.11 aceas-
t proprietate? Discutai rspunsul dat.
30. Reelele fr fir sunt uor de instalat, ceea ce le face mai ieftine, deoarece de cele mai mult ori
operaia de instalare depete semnificativ costul echipamentelor. Totui, aceste reele au i
unele dezavantaje. Numii dou dintre ele.
31. Prezentai dou avantaje i dou dezavantaje ale existenei standardelor internaionale pentru
protocoalele de reea.
32. Atunci cnd un sistem dispune de o parte permanent i de o parte detaabil, de exemplu un
cititor de CD-uri i un CD-ROM, 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 ast-
fel de standarde.
33. Alctuii o list de activiti pe care le facei zilnic i n care sunt implicate reele de calculatoare.
Cum ar fi viaa voastr alterat dac aceste reele ar fi deconectate la un moment dat ?
34. Descoperii ce reele sunt utilizate n coala sau la locul de munc. Descriei tipurile de reele,
topologiile i metodele de comutare folosite acolo.
35. Programul ping v permite s trimitei un pachet de test la o locaie dat pentru a vedea ct de
mult dureaz pn cnd acesta ajunge acolo i napoi. ncercai s folosii ping pentru a vedea
ct de mult dureaz transferul pachetului ntre locul n care v gsii i alte cteva locuri cunos-
76 INTRODUCERE CAP. 1


cute. Din aceste date, calculai timpul de tranzit ntr-o sigur direcie n funcie de distan. Este
bine s folosii universitile deoarece locaiile serverelor lor sunt cunoscute foarte bine. De
exemplu, berkley.edu este n Berkley, California, mit.edu este n Cambridge, Massachusetts, vu.nl
este n Amsterdam, Olanda, www.usyd.edu.au este n Sydney, Australia i www.uct.ac.za este n
Cape Town, Africa de Sud.
36. Vizitai situl Web al IETF, www.ietf.org pentru a vedea ce mai fac. Alegei un proiect care v
place i scriei un raport de jumtate de pagin despre problem i despre o soluie propus.
37. Standardizarea este foarte important n lumea reelelor. ITU i ISO sunt principalele organiza-
ii oficiale de standardizare. Vizitai siturile lor Web, www.itu.org i www.iso.org, respectiv, i
aflai despre munca lor de standardizare. Scriei un scurt raport despre tipurile de lucruri pe ca-
re le-au standardizat.
38. Internet-ul este alctuit dintr-un mare numr de reele. Aranjarea lor determin topologia In-
ternet-ului. O important cantitate de informaii despre topologia Internet-ului este disponibil
online. Folosii un motor de cutare pentru a afla mai multe despre acest subiect i scriei un
scurt raport care s rezume informaiile pe care le-ai gsit.

77
2
NIVELUL FIZIC
n continuare vom analiza trei tipuri de medii de transmisie: ghidate (cablu din cupru i fibre op-
tice), fr fir (unde radio terestre) i prin satelit. Acest material furnizeaz informaiile fundamenta-
le referitoare la tehnologiile de comunicaie folosite n reelele moderne.
Restul capitolului este dedicat descrierii a trei exemple de sisteme de comunicaie folosite
n practic pentru reele cu rspndire geografic larg. Vom ncepe cu sistemul telefonic, stu-
diind trei variante: sistemul de telefonie fix, sistemul de telefonie mobil i sistemul bazat pe
cablu de televiziune. Toate acestea folosesc fibra optic pentru implementarea coloanei verte-
brale, dar sunt organizate diferit i folosesc tehnologii diferite pentru ultima mil a legturii.


2.1 BAZELE TEORETICE ALE COMUNICRII
DE DATE
Informaia poate fi transmis prin cablu folosind variaia unor proprieti fizice ale semnalului
cum ar fi tensiunea i intensitatea curentului. Reprezentnd valoarea tensiunii sau a intensitii cu-
rentului ca o funcie de timp, f(t), putem modela comportamentul semnalului i l putem analiza
matematic. Aceast analiz face subiectul urmtoarelor seciuni.
78 NIVELUL FIZIC CAP. 2


2.1.1 Analiza Fourier
La nceputul secolului XIX, matematicianul francez Jean-Baptiste Fourier a demonstrat c orice
funcie g(t), cu evoluie rezonabil i periodic cu perioada T, poate fi construit prin nsumarea
unui numr (posibil infinit) de sinusoide i cosinusoide:
g t c a nft b nft
n n
n n
( ) sin( ) cos( ) = + +
=


1
2
2 2
1 1
(2-1)

unde f = 1 / T este frecvena fundamental, iar a
n
i b
n
sunt amplitudinile sinusoidelor i cosinusoide-
lor armonicei (termenului) de ordinul n, iar c este o constant. 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 obinut prin
evaluarea sumelor din ecuaia 2-1.
Un semnal de durat finit (proprietate pe care o au toate semnalele) poate fi tratat
presupunndu-se c el repet un anumit tipar la infinit (de exemplu, semnalul este acelai n interva-
lul de la T la 2T ca n intervalul de la 0 la T, etc.).
Amplitudinile a
n
pot fi calculate pentru orice g(t) dat prin multiplicarea ambilor membri ai ecua-
iei 2-1 cu sin(2kft) urmat de integrarea de la 0 la T. Deoarece

n k pentru T/2
n k pentru 0
) 2 sin( ) 2 sin(
0
T
dt nft kft

numai un singur termen al sumei nu se anuleaz: a
n
. Suma de cosinusuri cea cu b
n
se anuleaz
complet. Similar, multiplicnd membrii ecuaiei 2-1 cu cos(2kft) i integrnd de la 0 la T, putem
obine b
n
. Prin integrarea ambilor membri ai ecuaiei originale, se poate obine c. Rezultatele obi-
nute prin efectuarea acestor operaii sunt:


a
T
g t nft dt
n
T
=

2
2
0
( ) sin( )

b
T
g t nft dt
n
T
=

2
2
0
( ) cos( )

c
T
g t dt
T
=

2
0
( )

2.1.2 Semnalele cu band de frecven limitat
Pentru a face legtura dintre cele prezentate i comunicaia 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 fig. 2-1(a) reprezint tensiunea la ieire emis de calculatorul
care transmite. Din analiza Fourier a acestui semnal rezult urmtorii coeficieni:
)] 4 / 7 cos( ) 4 / 6 cos( ) 4 / 3 cos( ) 4 / [cos(
1
n n n n
n
a
n
+

=
)] 4 / 6 sin( ) 4 / 7 sin( ) 4 / sin( ) 4 / 3 [sin(
1
n n n n
n
b
n
+

=
4 / 3 = c
SEC. 2.1 BAZELE TEORETICE ALE COMUNICRII DE DATE 79


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


80 NIVELUL FIZIC CAP. 2


Radicalul sumei ptratelor amplitudinilor,
2 2
n n
b a + , pentru primii termeni este prezentat n
partea dreapt a fig. 2-1(a). Aceste valori sunt cele care ne intereseaz, deoarece ptratele lor sunt
proporionale cu energia transmis la frecvena respectiv.
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-1(a)]. Din pcate, orice mijloc de transmisie atenueaz componente Fourier diferite cu factori
diferii, introducnd astfel distorsiuni. De obicei, amplitudinile sunt transmise fr atenuri de la 0 la
o anumit frecven f
p
[msurat n cicluri/secund sau n Hertzi (Hz)] i toate celelalte componente
cu frecvene mai mari dect aceast frecven de tiere sunt puternic atenuate. Intervalul de frecven-
e transmise fr a fi atenuate semnificativ se numete lrgime de band. n practic, tierea nu este
vertical (i deci frecvena de tiere nu este exact), astfel nct deseori lrgimea de band este apro-
ximat ca intervalul dintre 0 i frecvena de trecere pentru jumtate din puterea maxim.
Lrgimea de band este o proprietate fizic a mediului de transmisie i de obicei depinde de con-
strucia, grosimea i lungimea mediului. n unele cazuri, n circuit este introdus un filtru pentru a
limita lrgimea de band disponibil pentru fiecare client. De exemplu, un fir de telefon poate avea
lrgimea de band de 1 MHz pentru distane scurte, dar companiile telefonice adaug un filtru ce
limiteaz fiecare client la aproximativ 3100 Hz. Aceast variant este adecvat pentru vorbire inteli-
gibil i mbuntete eficiena sistemului prin limitarea utilizrii de resurse de ctre clieni.
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-1(b) reprezint semnalul rezultat dintr-un canal care permite numai
primei armonici (f, fundamental) s fie transmis. Similar, fig. 2-1(c)-(e) prezint spectrele i funci-
ile reconstruite pentru canale cu lrgime de band mai mare.
Fiind dat o rat de transmisie a biilor de b bii/secund, timpul necesar pentru a transmite 8 bii
(de exemplu) 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), este limitat artificial de o frecven de tiere
puin peste 3000 Hz. Aceast restricie impune ca 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 pentru anumite viteze de transfer de date. Pornind de la aceste
valori, 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-1(a) n ceva asemntor cu fig. 2-1(c), fiind dificil obi-
nerea secvenei de bii originale. Este evident c la viteze de transfer mai mari dect 38.4 Kbps nu
SEC. 2.1 BAZELE TEORETICE ALE COMUNICRII DE DATE 81

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 lrgimea de band se limiteaz i viteza de transfer
chiar i pentru canalele perfecte. Oricum, exist tehnici de codificare sofisticate, care folosesc mai
multe niveluri de tensiune i care pot atinge rate de transfer mai mari. Vom discuta aceste tehnici
mai trziu n acest capitol.
2.1.3 Viteza maxim de transfer de date a unui canal
nc din 1924, un inginer AT&T, H. Nyquist a descoperit c i un canal perfect are o capacita-
te limitat de transmisie. El a dedus o ecuaie care exprim viteza maxim de transfer de date
pentru un canal fr zgomote, cu lrgime de band finit. n 1948, Claude Shannon a continuat
cercetrile lui Nyquist exprimnd aceast limit pentru un canal supus zgomotului aleatoriu (ter-
modinamic) (Shannon 1948). Noi nu vom face aici dect o scurt prezentare a acestor rezultate,
acum devenite clasice.
Nyquist a demonstrat c dac un semnal arbitrar este transmis printr-un filtru de frecvene joase
cu lrgime de band H, semnalul filtrat poate fi complet reconstruit prin efectuarea a numai 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 niveluri discrete, teorema lui Nyquist afirm:

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

De exemplu, un canal de 3kHz, fr zgomote, nu poate transmite semnale binare (pe dou nive-
luri) la o vitez mai mare de 6000 bps.
Pn acum am studiat doar cazul canalelor fr zgomote. Dac sunt prezente zgomote aleatoare,
situaia se deterioreaz rapid. Iar un zgomot aleator (termic) datorat micrii moleculelor n sistem
va fi prezent ntotdeauna. Dimensiunea zgomotului termic prezent se msoar prin raportul dintre
puterea semnalului i puterea zgomotului, fiind numit raportul semnal-zgomot. Dac notm pute-
rea semnalului cu S i puterea zgomotului cu N, atunci raportul semnal-zgomot este S/N. De obicei,
acest raport nu este specificat; n schimb, este dat expresia 10 log
10
S/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. De multe ori fabricanii de amplificatoare stereo ca-
racterizeaz banda de frecven (domeniul de frecven) n care produsul lor este liniar furniznd
frecvenele la care semnalul se atenueaz cu 3 dB la fiecare capt. Acestea sunt punctele n care fac-
torul de amplificare este aproximativ njumtit (deoarece log
10
3 0.5).
Rezultatul cel mai important obinut de Shannon este expresia pentru viteza maxim de transfer
de date a unui canal cu zgomote, avnd lrgimea de band 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, indi-
ferent de ct de multe sau de puine niveluri are semnalul sau ct de multe sau puine eantioane
sunt luate. Rezultatele lui Shannon au fost obinute folosind att argumente teoretice ct i argu-
mente informaionale i se aplic oricrui canal supus zgomotelor termice. Contraexemplele ar tre-
82 NIVELUL FIZIC CAP. 2


bui plasate n aceeai categorie cu mainile perpetuum mobile. Ar trebui remarcat i c aceast vite-
z nu este dect o limitare superioar pe care sistemele reale o ating rareori.


2.2 MEDII DE TRANSMISIE GHIDAT
Scopul nivelului fizic este de a transporta o secven de bii de la o main la alta. Pentru trans-
misia efectiv pot fi utilizate diverse medii fizice. Fiecare dintre ele este definit de lrgime proprie de
band, ntrziere, cost, dar i de uurina de instalare i ntreinere. Aceste medii pot fi mprite n
dou grupe mari: medii ghidate, cum sunt cablul de cupru i fibrele optice i medii neghidate, cum
sunt undele radio i laserul. Vom arunca o privire asupra acestora n urmtoarele seciuni.
2.2.1 Medii magnetice
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 suport reutilizabil (de exemplu, DVD-uri pentru nregistra-
re), 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 precum folosirea unui satelit de co-
municaie geosincron, ea este de multe ori mai eficient din punct de vedere al costului, mai ales
pentru aplicaiile n care lrgimea de band sau costul pe bit transportat sunt factori cheie.
Un calcul simplu va confirma acest punct de vedere. O band Ultrium standard industrial poate
nmagazina 200 gigaoctei. ntr-o cutie cu dimensiunile 60 x 60 x 60 cm pot s ncap cam 1000 de
astfel de benzi, ceea ce nseamn o capacitate total de 200 de terraoctei sau 1600 terrabii (1.6
petabii). 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 1600 terrabii /
84600 secunde, adic 19Gbps. Dac destinaia ar fi la distan de numai o or cu maina, lrgimea
de band s-ar mri la peste 400Gbps. Nici o reea de calculatoare nu poate s se apropie de o ase-
menea vitez.
Pentru o banc n care datele sunt de ordinul gigaocteilor i trebuie salvate zilnic pe o alt mai-
n (pentru ca banca s poat funciona n continuare chiar i n urma unor inundaii puternice sau
unui cutremur), probabil c nici o alt tehnologie de transmisie nu e comparabil cu performana
atins de banda magnetic. Desigur, reelele devin din ce n ce mai rapide, dar i capacitile benzi-
lor magnetice cresc.
Dac ne uitm la cost, vom obine aceeai situaie. Atunci, dac sunt cumprate en-gros, benzile
Ultrium ajung s coste n jur de 40 de dolari pe bucat. O band poate fi refolosit de cel puin 10
ori, astfel nct costul benzii este aproape de 4000 de dolari/cutie/utilizare. Dac adugm nc 1000
de dolari pentru transport (probabil mult mai ieftin), vom avea un cost de 5000 de dolari pentru a
transporta 200 de terraoctei. De aici rezult c un gigaoctet poate fi transportat la un pre mai mic
de 3 ceni. Nici o reea nu poate concura cu un astfel de pre. Morala povetii:

Niciodat nu subestima lrgimea de band a unui camion ncrcat cu benzi magnetice care gonete
la vale pe autostrad.
SEC. 2.2 MEDII DE TRANSMISIE GHIDAT 83

2.2.2 Cablul torsadat
Dei caracteristicile de lrgime de band ale mediilor magnetice sunt excelente, performanele
legate de ntrzieri sunt slabe. Timpul de transmisie nu se msoar n milisecunde, ci n minute sau
ore. Pentru multe aplicaii este nevoie de o conexiune on-line. Unul dintre cele mai vechi medii de
transmisie, rmas cel mai utilizat mediu, este cablul torsadat. O pereche torsadat este format din
dou fire de cupru izolate, fiecare avnd o grosime tipic de 1 mm. Firele sunt mpletite ntr-o form
elicoidal, ca o molecul de ADN. mpletirea se face pentru c dou fire paralele constituie o bun
anten. Dac firele sunt mpletite, undele din diferite mpletiri se anuleaz, astfel nct radiaia firu-
lui este sczut eficient.
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 mai multe cabluri torsadate sunt grupate n paralel cum sunt de exemplu toate firele de la un
bloc de locuine legate la centrala telefonic ele sunt legate mpreun i ncapsulate ntr-un materi-
al protector. Dac perechile de fire nu ar fi fost mpletite, cablurile grupate astfel mpreun ar fi in-
terferat. n anumite pri ale lumii, unde liniile telefonice sunt montate pe stlpi, sunt des ntlnite
cablurile cu diametrul de civa centimetri.
Cablurile torsadate pot fi folosite att pentru transmisia semnalelor analogice ct i pentru
transmisia de semnale digitale. Lrgimea de band depinde de grosimea firului i de distana parcur-
s, dar, n multe cazuri, se poate atinge o vitez de mai muli megabii pe secund pe distane de
ordinul a civa kilometri. Datorit performanei satisfctoare i a costului sczut, cablurile torsada-
te sunt foarte larg folosite n prezent i probabil c vor rmne larg folosite i n urmtorii ani.
Exist numeroase tipuri de cabluri torsadat, dou dintre acestea fiind importante pentru reelele
de calculatoare. Perechile torsadate din Categoria 3 sunt formate din dou fire izolate rsucite unul
n jurul celuilalt cu pas mare. De obicei, patru astfel de perechi sunt grupate ntr-un material 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 maxim patru telefoane obinuite, sau maxim dou telefoane cu mai multe linii,
toate aflate n acelai birou, s poat fi cuplate la centrala telefonic prin panoul central.
ncepnd din 1988, au fost introduse cablurile de Categoria 5, mai performante. Ele sunt similare
celor din categoria 3, dar au mai multe rsuciri pe centimetru (pas de rsucire mai mic), rezultnd o
interferen (diafonie) sczut i o mai bun calitate a semnalului pe distane mari, ceea ce le face
mai adecvate comunicaiilor la viteze mari ntre calculatoare. Categoriile mai noi sunt 6 i 7, care
sunt capabile s trateze semnale cu banda de frecven de 250 MHz i, respectiv, 600 MHz (fa de
numai 16MHz sau 100MHz pentru categoriile 3 i, respectiv, 5) .
Pentru a le deosebi de cablurile torsadate voluminoase, ecranate i scumpe, pe care IBM le-a in-
trodus la nceputul anilor 80, dar care nu au devenit populare n afara instalaiilor IBM, aceste tipuri
de cabluri sunt cunoscute sub numele de cabluri UTP (Unshielded Twisted Pair, rom: cablu torsadat
neecranat). Torsadarea firelor este ilustrat n fig. 2-3.


Fig. 2-3. (a) Cablu UTP cat. 3. (b) Cablu UTP cat. 5.
84 NIVELUL FIZIC CAP. 2


2.2.3 Cablu Coaxial
Un alt mediu uzual de transmisie este cablul coaxial (cunosc ut printre utilizatorii si sub numele
de coax i este pronunat co-ax). 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 de ohmi, este folosit frecvent cnd se dorete transmisie digital
de la nceput. Al doilea tip, cablul de 75 de ohmi, este frecvent folosit n transmisia analogic i tele-
viziunea prin cablu, dar devine tot mai important o data cu apariia Internetului prin cablu. 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 i existau transforma-
toare de impedan 4 : 1, care erau uor de folosit).
Un cablu coaxial este format dintr-o srm de cupru rigid, protejat de un material izolator.
Acest material este ncapsulat ntr-un conductor circular, de obicei sub forma unei plase strns ntre-
esute. Conductorul exterior este acoperit cu un nveli de plastic protector. n fig. 2-4 este prezenta-
t o vedere n seciune a cablului coaxial.

Fig. 2-4. Un cablu coaxial.

Structura i ecranarea cablului coaxial asigur o bun mpletire a necesitilor semnificative de
lrgime de band i totodat de imunitate excelent la zgomot. Lrgimea de band poate depinde de
calitatea cablului, de lungime, i de raportul semnal-zgomot al semnalului de date. Cablurile moderne
au o band de frecven de aproape 1 GHz. Cablurile coaxiale erau folosite pe scar larg n sistemul
telefonic pentru linii ntinse pe distane mari, dar au fost n mare parte nlocuite cu fibre optice. Ori-
cum, cablul coaxial este utilizat n continuare n televiziunea prin cablu i n unele reele locale.
2.2.4 Fibre optice
Muli dintre cei implicai n industria calculatoarelor sunt foarte mndri de viteza de evoluie a
tehnologiei calculatoarelor. Originalul (1981) IBM PC rula la o frecven de ceas de 4,77 MHz. Do-
uzeci de ani mai trziu, calculatoarele personale pot rula la 2 GHz, ceea ce reprezint o cretere a
frecvenei de 20 de ori pentru fiecare deceniu. Nu e ru deloc.
n aceeai perioad, comunicaiile de date pe arii ntinse au evoluat de la o vitez de 56 Kbps
(ARPANET) pn la 1 Gbps (comunicaiile optice moderne), o cretere de mai bine de 125 de ori
pentru fiecare deceniu. n aceeai perioad, frecvena erorilor a sczut de la 10
-5
per bit pn aproa-
pe de zero.
Mai mult, procesoarele se aproprie de limitele lor fizice, date de viteza luminii i de problemele
de disipare a cldurii. Din contr, folosind tehnologiile actuale de fibre optice, lrgimea de band
care poate fi atins este cu siguran mai mare dect 50,000 Gbps (50 Tbps) i sunt nc muli cei
SEC. 2.2 MEDII DE TRANSMISIE GHIDAT 85

care caut materiale i tehnologii mai performante. Limitarea practic actual la aproximativ 10
Gbps este o consecin a imposibilitii de a converti mai rapid semnalele electrice n semnale opti-
ce, dei, n laborator, 100 Gbps a fost atins ntr-o singur fibr.
n cursa dintre calculatoare i comunicaii, acestea din urm au nvins. Implicaiile complete ale
lrgimii de band infinite (dei nu la un cost nul) nu au fost nc abordate de o generaie de oameni
de tiin i ingineri nvai s gndeasc n termenii limitrilor calculate de Nyquist i Shannon,
limitri stricte impuse de firele de cupru. Noua paradigm convenional spune c mainile de calcul
sunt extrem de lente, astfel c reelele trebuie s evite cu orice pre calculele, indiferent de lrgimea
de band risipit. n 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 un bit cu valoarea 1, iar ab-
sena luminii indic un bit cu valoarea 0. 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 capt al fibrei optice i a unui detector la cellalt, obinem un sistem uni-
direcional de transmisie a datelor care primete un semnal electric, l convertete i l transmite ca
impulsuri luminoase i apoi reconvertete ieirea n semnale electrice la recepie.
Acest sistem de transmisie ar fi pierdut din semnalele luminoase i ar fi fost lipsit de importan
n practic, dac nu s-ar fi folosit un 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 (frnt) la suprafaa de separa-
ie siliciu / aer ca n fig. 2-5. Se observ o raz de lumin incident pe suprafaa de separaie la un
unghi
1
care se refract la un unghi
1
. Mrimea refraciei depinde de proprietile celor dou me-
dii (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.

Fig. 2-5. (a) Trei exemple de raze de lumin n interiorul unei fibre de siliciu care cad pe suprafa-
a 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 su-
prafaa 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 sunt des folosite pentru distane mai mari. Fibrele mono-
86 NIVELUL FIZIC CAP. 2


mod curente pot transmite date la 50 Gbps pe distane de 100 Km fr amplificare. n condiii de
laborator i pentru distane mai mici s-au obinut rate de transfer chiar i mai mari.
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 pentru ei sticla trebuia s nu fie mai groas de 1 mm pentru ca lumina s poat
s treac prin ea. Sticla suficient de transparent pentru a putea fi folosit ca fereastr a aprut abia
n timpul Renaterii. Sticla folosit pentru fibrele optice moderne este att de transparent nct,
dac oceanele ar fi fost pline cu astfel de sticl n loc de ap, fundul oceanului s-ar vedea de la supra-
fa tot att de clar precum se vede pmntul din avion ntr-o zi senin.
Atenuarea luminii prin sticl depinde de lungimea de und a luminii (i de alte cteva proprieti
fizice ale sticlei). Pentru tipul de sticl folosit la fibre optice, atenuarea este prezentat n fig. 2-6,
msurat n decibeli pe kilometru liniar de fibr. Atenuarea n decibeli este dat de formula:


t receptiona puterea
transmis puterea
decibeli n Atenuarea
_
_
log 10 _ _
10
=


De exemplu, pentru un factor de pierdere egal cu 2 rezult o atenuare de 10 log
10
2 = 3 dB. Fig.
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 10
-6
metri).

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% pierderi pe kilome-
tru). 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 (arseni-
ur de galiu). Toate cele trei benzi au o lrgime de band ntre 25.000 i 30.000 GHz.
SEC. 2.2 MEDII DE TRANSMISIE GHIDAT 87

Impulsurile de lumin transmise prin fibr i extind lungimea n timpul propagrii. Aceast ex-
tindere se numete dispersie cromatic, i 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 poate face doar prin reducerea ratei semnalului. Din fericire, s-a descoperit c, dnd aces-
tor impulsuri o form special, legat de reciproca cosinusului hiperbolic, se anuleaz toate efectele
de dispersie, i este astfel posibil s se trimit impulsuri pe mii de kilometri, fr distorsiuni semnifi-
cative ale formei. Aceste impulsuri se numesc solitonuri. Cercetrile pentru implementarea practic
a acestei soluii de laborator sunt n plin desfurare.
Cablurile din fibr optic
Cablurile din fibr optic sunt similare celor coaxiale, cu singura deosebire c nu prezint acel
material conductor exterior sub forma unei plase. Fig. 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.
Miezul este mbrcat n sticl cu un indice de refracie mai mic dect miezul, pentru a pstra lumi-
na n miez. Totul este protejat cu o nvelitoare subire din plastic. De obicei, mai multe fibre sunt gru-
pate mpreun, protejate de o teac protectoare. Fig. 2-7(b) prezint un astfel de cablu cu trei fibre.

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

Fibrele terestre sunt ngropate n pmnt pn la adncimi de un metru, fiind ocazional deterio-
rate de buldozere sau de crtie. Lng rm, fibrele transoceanice sunt ngropate n anuri cu aju-
torul unui fel de plug de mare. n apele adnci, ele stau pe fundul apei, unde pot fi agate de traule-
re de pescuit sau pot fi atacate de calmari. 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 ntre 10% i 20% din lumin, dar avantajul acestor sisteme este c 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 de lumin de 10%.
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.
88 NIVELUL FIZIC CAP. 2


Pentru toate cele trei tipuri de mbinare poate s apar fenomenul de reflexie la punctul de m-
binare, iar energia reflectat poate interfera cu semnalul.

Criteriu LED Laser cu semiconductor
Viteza de transfer a datelor Joas Mare
Tip de fibr Multi-mod Multi-mod sau uni-mod
Distan Scurt Lung
Durata de via Via lung Via scurt
Sensibilitate la temperatur Minor Substanial
Cost Cost redus Scump

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

Pentru transmiterea semnalului se pot folosi dou tipuri de surse de lumin: LED-uri (Light
Emitting Diode diod cu emitere de lumin) i laserul cu semiconductor. Ele au proprieti dife-
rite, dup cum arat fig. 2-8. Ele se pot ajusta n lungime de und prin introducerea interferometre-
lor Fabry-Perot sau Mach-Zender ntre surs 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 n-
treg 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 primete o raz de lumin. Timpul de rspuns tipic al unei diode este de 1ns,
ceea ce limiteaz viteza de transfer de date la aproximativ 1Gbps. Pentru a putea fi detectat, un im-
puls 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,
dei conectarea ntr-o reea bazat pe acest mediu este mult mai complex dect conectarea la
Ethernet. O soluie pentru a evita aceast problem este prezentarea unei reele n inel ca fiind o
colecie de legturi punct la punct, aa ca n fig. 2-9. Interfaa fiecrui calculator las s treac impul-
sul de lumin ctre urmtoarea legtur i totodat are rolul unei jonciuni n T pentru a face posibi-
l transmiterea i recepia mesajelor.

Fig. 2-9. Un inel din fibr optic cu repetoare active.
SEC. 2.2 MEDII DE TRANSMISIE GHIDAT 89

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 este viabil, 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 putere maxim, dac este atenuat i retransmis ca
semnal luminos. Interfaa cu calculatorul este un fir de cupru obinuit care se leag la regeneratorul
de semnal. n prezent, sunt folosite i repetoare integral optice. Aceste echipamente nu necesit
conversii de tipul optic-electric-optic, ceea ce nseamn c pot opera la lrgimi de band foarte mari.
n cazul n care repetorul activ se deterioreaz, inelul este ntrerupt i reeaua nu mai funcionea-
z. Pe de alt parte, deoarece semnalul este regenerat de fiecare interfa, legturile ntre dou cal-
culatoare adiacente pot avea lungimi de kilometri, practic fr nici o limitare asupra dimensiunii
totale a inelului. Interfeele pasive diminueaz lumina la fiecare jonciune, avnd ca efect restricii
drastice n ceea ce privete numrul de calculatoare ce pot fi conectate i lungimea total a inelului.
O topologie n inel nu este singura modalitate de a construi un LAN folosind fibre optice. Este
posibil i o arhitectur de tip stea pasiv, ca aceea 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 in-
teriorul 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.


Fig. 2-10. Conectarea unei stele pasive n reelele de fibr optic.
90 NIVELUL FIZIC CAP. 2


Comparaie ntre fibrele optice i firul de cupru
O comparaie ntre fibra optic i firele de cupru este instructiv. Fibra are multe avantaje. Mai
nti, lrgimea de band pe care o suport este mai mare dect a firelor de cupru. 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 avanta-
jul c nu este afectat de ocurile electrice, de interferena cmpului electromagnetic sau de cderile
de tensiune. De asemenea, nu este afectat nici 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 dintre canalele cu cabluri sunt pline pn la refuz i prin nlocuirea cuprului cu
fibr se obine ceva spaiu, iar cuprul are o valoare excelent pe pia, deoarece fabricile 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 costu-
lui de instalare foarte sczut.
n sfrit, fibrele nu disip lumina i de aceea sunt foarte dificil de interceptat. Aceste proprieti
le ofer o excelent securitate mpotriva unor poteniale tentative de interceptare.
Pe de alt parte, fibra este o tehnologie mai puin familiar i necesit o pregtire pe care nu toi
inginerii o au, iar fibrele pot fi stricate uor dac sunt ndoite prea mult. 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 de civa metri se vor face n viitor cu fibre. Pentru o discuie asupra tuturor aspectelor fibrelor
optice i asupra reelelor construite cu ele, vedei (Hecht, 2001).


2.3 COMUNICAIILE FR FIR
Epoca noastr a generat dependena de informaie: oameni care au nevoie s fie n permanena
conectai la informaii. 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, fr a fi legai de
infrastructura comunicaiilor terestre. Pentru aceti utilizatori comunicaiile fr fir reprezint solu-
ia optim. n seciunile ce urmeaz, vom discuta la modul general asupra comunicaiilor fr fir,
deoarece acestea au multe alte aplicaii importante n afara serviciilor de conectare oferite utilizato-
rilor care doresc s navigheze pe WEB de pe plaj.
Sunt voci care susin 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 fo-
losi comunicaia fr fir.
Comunicaiile fr fir sunt avantajoase chiar i pentru echipamentele fixe, n anumite mpreju-
rri. De exemplu, n cazul n care conectarea unei cldiri cu ajutorul fibrei este dificil datorit tere-
nului (muni, jungle, mlatini etc.), comunicaia fr fir poate fi mai bun. Este de remarcat faptul c
SEC. 2.3 COMUNICAIILE FR FIR 91

sistemele moderne de comunicaie digital fr fir au aprut n Insulele Hawaii, unde utilizatorii
erau desprii de mari ntinderi de ap din oceanul Pacific, sistemul telefonic fiind inadecvat.
2.3.1 Spectrul electromagnetic
Atunci cnd electronii se afl n micare, ei creeaz unde electromagnetice care se pot propaga
prin spaiu (chiar i n vid). Aceste unde au fost prezise de fizicianul britanic James Clerk Maxwell n
1865 i au fost observate pentru prima dat de fizicianul german Heinrich Hertz n 1887. Numrul
de oscilaii ale unei unde ntr-o secund poart numele de frecven, f, 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 (lambda).
Cnd o anten dimensionat corespunztor este ataat unui circuit, undele electromagnetice
pot fi difuzate eficient i interceptate de un receptor, aflat la o anumit distan. Acest principiu st
la baza tuturor comunicaiilor fr fir.
n vid, toate undele electromagnetice se transmit cu aceeai vitez, indiferent de frecven,
Aceast vitez, numit de obicei viteza luminii, c, este de aproximativ de 3 x 10
8
m/s, sau aproape 1
picior (30 cm) pe nanosecund. (Ar fi o ideea redefinirea piciorului (eng: foot) ca fiind distana pe
care o parcurge lumina n vid ntr-o nanosecunda, mai degrab dect definirea pe baza mrimii pan-
tofului unui rege oarecare mort demult). n cupru sau n fibr, viteza scade la aproape 2/3 din aceas-
t valoare i devine uor dependent de frecvena undei. Viteza luminii este viteza maxim care poa-
te fi atins nici un obiect sau semnal nu se deplaseaz vreodat cu o viteza mai mare ca aceasta.
Relaia fundamental dintre f, i c (n vid) este

f = c (2-2)

Deoarece c este o constant, tiind f putem afla , dar i invers. Ca o regul clar, reinei c
atunci cnd este n metri i f este n MHz, f=300. De exemplu, undele cu frecvena de 100 MHz
au lungimea de und de aproape 3 metri, cele cu frecvena de 1000 MHz au lungimea de und de
0.3 metri, iar cele cu lungimea de und de 0.1 metri au frecvena de 3000 MHz.
n fig. 2-11 este prezentat spectrul electromagnetic. Domeniile corespunztoare undelor radio,
microundelor, undelor infraroii i luminii vizibile din spectru pot fi folosite pentru transmiterea in-
formaiei prin modularea amplitudinii, frecvenei sau fazei undelor. Lumina ultraviolet, razele X i
razele gama ar fi chiar mai performante datorit frecvenelor lor mai nalte, dar ele sunt greu de
produs i de modulat, nu se propag bine prin cldiri i sunt periculoase pentru fiinele 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 nalte, respectiv. Este evident c atunci cnd au fost
date aceste nume, nimeni nu se atepta ca frecvene mai mari de 10 MHz s se foloseasc vreodat.
Benzile mai nalte au fost numite mai trziu benzi de frecven Foarte, Ultra, Super, Extrem i Ex-
traordinar de nalte. Dincolo de aceste frecvene nu mai exist denumiri consacrate, dar am putea s
folosim expresii de genul frecvene Incredibil, Uimitor sau Miraculos de nalte.
Cantitatea de informaie pe care o und electromagnetic o poate transporta este legat de lrgi-
mea ei de band. Folosind tehnologia curent, este posibil s codificm civa bii pe Hertz la frecvene
joase i deseori pn la 8 bii pe Hertz la frecvene nalte; n concluzie, un cablu torsadat cu lrgimea de
band de 750MHz poate transporta date de ordinul a civa gigabii/s. Din fig. 2-11 ar trebui s reias
de acum foarte clar de ce profesionitii din domeniul reelelor apreciaz att de mult fibrele optice.
92 NIVELUL FIZIC CAP. 2



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

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


2

c
d
df
=


Dac trecem la diferene finite n loc de difereniale i alegem doar valorile pozitive, obinem:


2


=
c
f (2-3)

Astfel, fiind dat lrgimea unei benzi de lungimi de und, , putem calcula banda de frecven
corespunztoare, f i, n continuare, viteza de transfer de date pe care banda o poate produce. Cu
ct banda este mai larg, cu att crete viteza de transfer a datelor. De exemplu, s considerm ban-
da de 1.30 microni din fig. 2-6. Aici avem = 1.3 x 10
-6
i = 0.17 x 10
-6
, cu f aproape 30 THz. La
, s zicem, 8 bii/Hz, avem 240 Tbps.
Majoritatea transmisiilor folosesc o band ngust de frecven (f / f << 1) pentru a obine cea
mai bun recepie (ct mai muli Watts/Hz). Totui, banda larg este folosit n dou situaii. n ca-
zul utilizrii metodei salturilor de frecven ntr-un spectru larg (frequency hopping spread spec-
trum), transmitorul sare de la o frecven la alta de sute de ori pe secund. Ea este foarte popular
n comunicaiile armatei, deoarece face transmisia greu de detectat i aproape imposibil de bruiat.
De asemenea, ofer un grad ridicat de imunitate la atenuarea multi-ci, deoarece semnalul direct
ajunge ntotdeauna primul la receptor. Semnalele reflectate urmresc o cale mai lung si ajung mai
trziu. Pn atunci receptorul a schimbat deja frecvena i nu mai primete semnale cu frecvena
anterioar, eliminnd astfel orice interferen ntre semnalele directe i cele reflectate. n ultimii ani,
aceast tehnic a fost aplicat comercial de exemplu, pentru 802.11 i pentru Bluetooth.
Ca o curiozitate, tehnica a fost co-inventat de Hedy Lamarr, o senzual actri nscut n Aus-
tria, prima femeie care a aprut goal intr-un film (n 1933, n filmul cehesc Extase). Primul ei so
era fabricant de armament, i i-a spus ct de uor era s blochezi undele radio, folosite pe atunci
SEC. 2.3 COMUNICAIILE FR FIR 93

pentru ghidarea torpilelor. ngrozit cnd a descoperit c el i vindea arme lui Hitler, ea s-a deghizat
n servitoare pentru a fugi i a zburat la Hollywood pentru a-i continua cariera de actri de film. n
timpul liber, a inventat metoda salturilor de frecvene pentru a-i ajuta pe aliai n rzboi. Schema ei
folosea 88 de frecvene, numrul de clape (si frecvene) de la pian. Pentru invenia lor, ea i priete-
nul ei, compozitorul de musical-uri George Antheil, au primit patentul U.S. cu numrul 2.292.387 .
Totui, nu au reuit sa conving marina american c invenia lor putea fi pus n practic i nu au
primit niciodat nici un fel de onoruri. Abia peste ani, dup ce patentul expirase, metoda a devenit o
tehnic popular.
i cealalt form de spectru larg, spectru larg cu succesiune direct (direct sequence spread
spectrum), metod care mprtie semnalul pe o band de frecven larg ctig popularitate n
lumea comercial. In particular, unele telefoane mobile din cea de-a doua generaie folosesc aceast
tehnic, i va deveni predominant pentru generaia a treia, datorit eficienei spectrale bune, imuni-
tii la zgomot i a altor proprieti. Este folosit i n unele LAN-uri fr fir. Vom reveni la discuia
despre spectrul larg mai trziu n acest capitol. Pentru o istorie fascinant i detaliat a comunicaii-
lor n spectru larg, vezi (Scholtz, 1982).
Pentru moment, vom considera c toate transmisiunile folosesc o band de frecven ngust.
Vom discuta despre modul n care diverse pri ale spectrului electromagnetic din fig. 2-11 sunt folo-
site, ncepnd cu banda radio.
2.3.2 Transmisia radio
Undele radio sunt uor de generat, pot parcurge distane mari, penetreaz cu uurin zidurile
cldirilor, fiind larg rspndite n comunicaii, att interioare ct i exterioare. De asemenea, undele
radio sunt omnidirecionale, ceea ce nseamn c se pot propaga n orice direcie de la surs, deci nu
este nevoie de o aliniere fizic a transmitorului cu receptorul.
Uneori aceast proprietate de propagare omnidirecional este bun, alteori nu. n anii 70, Ge-
neral 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 zi frumoas 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 un Cadillac situat n apropriere a nce-
put s se cabreze ca un cal slbatic. Atunci cnd ofierul a oprit maina, oferul a pretins c el nu a
fcut nimic, dar maina a nnebunit.
n cele din urm a reieit c lucrurile se petreceau dup un anumit tipar: mainile Cadillac erau
scpate uneori de sub control, dar numai pe marile autostrzi din Ohio i numai cnd o patrul de
poliie era n zon. Pentru o foarte lung perioad de timp, cei de la General Motors nu au neles de
ce mainile mergeau foarte bine n toate celelalte state, ca i pe strzile secundare din Ohio. Dup
ndelungi cutri 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 frecven. La frecvene joase, undele radio se
propag bine prin obstacole, dar puterea semnalului scade mult odat cu distana de la surs, apro-
ximativ cu 1/r
2
n aer. La frecvene nalte, undele radio tind s se propage n linie dreapt i s ricoe-
ze din obstacole. De asemenea, sunt absorbite de ploaie. Mai mult, toate frecvenele radio sunt su-
puse la interferene datorate motoarelor i altor echipamente electrice.
94 NIVELUL FIZIC CAP. 2


Datorit capacitii undelor radio de a se propaga pe distane mari, interferena dintre utilizatori
devine o problem. Acesta este principalul motiv pentru care toate guvernele acord cu foarte mare
atenie licenele pentru utilizatorii de transmitoare radio, cu o singur excepie (discutat mai jos).
n benzile de frecven foarte joas (VLF), joas (LF) i medie (MF), undele radio se propag la
sol, dup cum este ilustrat n fig. 2-12(a). Aceste unde pot fi detectate pe distane de pn la aproxi-
mativ 1000 Km pentru frecvenele mai joase i pe distane mai mici pentru cele mai nalte. Pentru
difuzarea undelor radio AM se 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 princi-
pal care apare la comunicaia de date la aceste frecvene este lrgimea mic a benzii pe care o ofer
[vezi ecuaia (2-2)].
n benzile de frecven nalt i foarte nalt, undele de la sol tind s fie absorbite de pmnt.
Totui, undele care ating ionosfera (un strat de particule care nvelete 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.

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

Operatorii radio amatori folosesc aceste benzi pentru a realiza convorbiri la mare distan. De
asemenea, comunicaiile armatei se desfoar n benzile de frecvene nalte i foarte nalte.
2.3.3 Transmisia prin microunde
Peste 100 MHz, undele se propag n linii aproximativ drepte i pot fi, din acest motiv, direcio-
nate. Concentrnd toat energia ntr-un fascicol ngust, cu ajutorul unei antene parabolice (ca o an-
ten de satelit obinuit) rezult o valoare mult mai ridicat a raportului semnal-zgomot, dar antene-
le care transmit i cele care recepioneaz trebuie s fie aliniate cu precizie una cu alta. n plus, fap-
tul c aceste unde sunt orientate permite ca mai multe transmitoare s fie aliniate i s comunice
cu mai multe receptoare aflate n linie, fr interferene, cu condiia s se respecte cteva reguli de
distanare. naintea fibrelor optice, microundele au format, timp de decenii, inima sistemului telefo-
nic de comunicaie pe distane mari. De fapt, MCI, una dintre primele competitoare AT&T , i-a
construit ntregul sistem prin comunicaii cu microunde, din turn n turn, la distane de zeci de kilo-
metri ntre ele. Chiar i numele companiei reflect acest lucru (MCI nseamn Microwave
Communications, Inc.). MCI a trecut apoi pe fibr i a fuzionat cu WorldCom.
Datorit faptului c microundele se propag n linii drepte, dac turnurile sunt foarte deprtate,
atunci n calea lor st chiar Pmntul (gndii-v la o legtur ntre San Francisco i Amsterdam). n
consecin trebuie instalate repetoare din loc n loc. Cu ct turnurile sunt mai nalte, cu att distana
SEC. 2.3 COMUNICAIILE FR FIR 95

dintre repetoare este mai mare. Distana dintre repetoare crete direct proporional cu radicalul nl-
imii turnului. Pentru turnuri cu o nlime de 100 m, distana dintre repetoare poate fi de 80 km.
Spre deosebire de undele radio de frecvene joase, microundele nu trec cu uurin prin zidurile
cldirilor. n plus, cu toate c unda poate fi bine direcionat la transmitor, apare o divergen n
spaiu. Unele unde pot fi refractate de straturile atmosferice joase i pot ntrzia mai mult dect un-
dele directe. Undele ntrziate pot sosi defazate fa de unda direct, anulnd astfel semnalul. Acest
efect este numit atenuare multi-ci (multipath fading) i constituie deseori o problem serioas.
Este dependent de vreme i de frecven. Unii operatori pstreaz nefolosit un procent de 10 la
sut din canalul propriu pentru a putea comuta pe acesta atunci cnd atenuarea multi-ci le anulea-
z temporar anumite benzi de frecven.
Cererea de benzi este din ce n ce mai mare i duce operatorii ctre frecvene tot 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 au lungimi de doar civa centimetri i sunt absorbite de ploaie. Acest
efect ar fi potrivit pentru cineva care ar fi ncercat 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 ntreruperea legturilor acolo unde plou i gsirea unei rute alternative.
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 drep-
turi 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 for-
mat 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 ri-
dicrii 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 foar-
te 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.
Politica din domeniul spectrului electromagnetic
Pentru a preveni haosul general, exist convenii naionale i internaionale care reglementeaz
modul de folosire al frecvenelor cine ce frecven folosete. Deoarece toat lumea dorete o rat
de transfer ct mai mare, toat lumea dorete ct mai mult din spectru. Guvernele naionale aloc
spectru pentru radio AM i FM, televiziune, telefoane mobile, ca de altfel i pentru companii telefo-
nice, poliie, marin, navigatori, armat, guvern i muli ali clieni competitori. La nivel internaional
agenia ITU-R (WARC) ncearc s coordoneze aceast alocare, astfel nct s poat fi construite
dispozitive care s funcioneze n diverse ri. Totui, rile nu sunt obligate s respecte recomandri-
le ITU, iar FCC (Comisia Federal de Comunicaii), comisia care se ocup cu alocarea de spectru n
Statele Unite, a respins de cteva ori recomandrile ITU (de obicei pentru c acestea cereau unui
grup puternic din punct de vedere politic s renune la o parte din spectru).
Chiar i atunci cnd o parte din spectru a fost alocat unei anumite utilizri, cum ar fi telefonia
mobil, apare discuia legat de modul de alocare a frecvenelor ctre companiile de telecomunica-
ii. n trecut, erau utilizai trei algoritmi. Cel mai vechi algoritm, adesea denumit concursul de fru-
musee, cerea fiecrei companii de telecomunicaii s explice de ce propunerea sa servete cel mai
96 NIVELUL FIZIC CAP. 2


bine interesul public. Oficialii guvernului decideau apoi care dintre poveti le place cel mai mult.
Posibilitatea ca unul dintre oficialii s premieze compania favorit cu o proprietate valornd miliar-
de de dolari ducea adesea la mit, corupie, nepotism i chiar mai ru. Mai mult, chiar i un oficial
cinstit al guvernului, cruia i se prea c o companie strin ar face o treab mai bun dect compa-
niile naionale, ar fi avut de dat multe explicaii.
Aceast observaie a condus la algoritmul 2: organizarea unei loterii ntre companiile interesate.
n acest caz, problema este c pot participa la loterie chiar i companii care nu au nici o intenie de
utilizare a spectrului. S zicem c un restaurant cu servire rapid sau un lan de magazine de pantofi
ar ctiga: acesta ar putea revinde spectrul unei companii de telecomunicaii, cu un profit imens i
fr riscuri.
Scandaluri furtunoase datorate unor astfel de situaii alarmante, dei aleatoare, au dus la critici
severe din partea multora, ceea ce a condus la algoritmul 3: licitarea benzii de frecven i atribuirea
ei celui care d mai mult. n anul 2000, cnd Anglia a licitat frecvenele necesare pentru generaia a
treia de sisteme mobile, se ateptau s primeasc n jur de 4 miliarde de dolari. De fapt, au primit 40
de miliarde de dolari, deoarece companiile de telecomunicaii au intrat ntr-o frenezie molipsitoare,
fiind speriate de moarte c vor rata trenul telefoniei mobile. Acest eveniment a declanat lcomia
guvernelor din jur i le-a inspirat s organizeze propriile licitaii. A funcionat, dar a i lsat unele
dintre companiile de telecomunicaii cu foarte multe datorii, aproape de faliment. Chiar i n cele
mai bun variante, vor trece muli ani pn cnd acestea vor reui s acopere taxele de licen.
O modalitate cu totul diferit de a aborda problema alocrii frecvenelor este s nu fie alocate n
nici un fel. Toat lumea este lsat s transmit ct dorete, fiind reglementat doar puterea folosit,
astfel nct staiile s aib o raz de aciune suficient de scurt ca s nu interfereze ntre ele. n con-
secin, cele mai multe guverne au pus deoparte cteva benzi de frecven, numite benzi ISM (In-
dustriale, tiinifice, Medicale) pentru utilizare neliceniat. Sistemele de deschidere de ui de garaj,
telefoane fr fir, jucrii telecomandate, mouse-uri fr fir, i multe alte aparate casnice fr fir folo-
sesc benzile ISM. Pentru a minimiza interferena ntre aceste dispozitive necoordonate, FCC a im-
pus ca toate dispozitivele din benzile ISM s foloseasc tehnici de spectru larg. Reguli asemntoare
sunt aplicate i n alte ri.

Fig. 2-13. Benzile ISM n Statele Unite.

Localizarea benzilor ISM difer oarecum de la o ar la alta. n Statele Unite, de exemplu, dis-
pozitivele a cror putere este sub 1 Watt pot folosi benzile din fig. 2.13 fr a cere licen FCC. Ban-
da 900Mhz este cea mai bun, dar este aglomerat i nu este disponibil n ntreaga lume. Banda
2.4GHz este disponibil n cele mai multe ri, dar este supus interferenei cu instalaiile radar sau
cuptoarele cu microunde. Bluetooth i unele dintre LAN-urile fr fir conforme 802.11 opereaz pe
aceast band. Banda 5.7GHz este nou i relativ nedezvoltat, astfel c echipamentele pentru ea
sunt scumpe; dar pentru c 802.11 o folosete, va deveni rapid mai popular.
SEC. 2.3 COMUNICAIILE FR FIR 97

2.3.4 Undele infraroii i milimetrice
Undele infraroii i milimetrice neghidate sunt larg folosite pentru comunicaiile pe distane
mici. Telecomenzile pentru televizoare, aparate video sau combine muzicale folosesc comunicaiile
n infrarou. Ele sunt relativ direcionale, ieftine i uor de construit, dar au un dezavantaj major: nu
penetreaz obiectele solide (ncercai s stai ntre telecomand i televizor i vedei dac teleco-
manda mai d comenzi televizorului). n general, pe msur ce ne deplasm de la undele radio lungi
ctre lumina vizibil, undele se comport din ce n ce mai mult ca lumin 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 n-
seamn c un sistem cu infraroii dintr-o camer a unei cldiri nu va interfera cu un sistem similar
situat n camerele sau cldirile adiacente: nu poi controla televizorul vecinului tu cu telecomanda
ta. Mai mult, sistemele de protecie cu radiaii infraroii asigur o mai bun protecie mpotriva in-
terceptrilor n raport cu sistemele radiofonice, tocmai 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.
2.3.5 Transmisia undelor luminoase
Semnalele optice neghidate au fost folosite secole ntregi. naintea faimoasei lui cltorii, Paul
Revere a folosit semnalizarea optic binar de la Old North Church. O aplicaie mai modern este
conectarea reelei locale ntre dou cldiri prin intermediul laserelor montate pe acoperiurile aces-
tora. 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 1mm lime ctre o int de limea unui ac cu gmlie aflat la 500 de metri deprtare
necesit o tehnic de vrf. De obicei sunt folosite lentile pentru o uoar defocalizare a fascicolului.
Un alt dezavantaj este c fascicolul laser nu penetreaz ploaia i ceaa groas, dar n mod normal
ele funcioneaz bine n zilele nsorite. Totui, 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 plicti-
sitoare. 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 calcula-
toare al universitii de calculatoare aflat la o distana de civa kilometri. Ei l-au testat cu o noapte
nainte i totul a decurs perfect. n dimineaa urmtoare, ntr-o zi nsorit, la ora 9, legtura a czut i
a rmas nefuncional toata ziua. Seara, organizatorii au testat-o din nou cu atenie i a funcionat
nc o dat perfect. Acelai lucru s-a ntmplat nc dou zile la rnd.
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-14. Acest aer tur-
bulent a deviat fascicolul i l-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 ca s fie ct se poate de mult deasupra atmosferei). Efectul respectiv este responsabil i
pentru tremurul oselei ntr-o zi nsorit i a imaginii vlurite deasupra unui radiator fierbinte.

98 NIVELUL FIZIC CAP. 2



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


2.4 SATELII DE COMUNICAIE
n anii 1950 i la nceputul anilor 1960, oamenii au ncercat s construiasc sisteme de comunica-
ie pe baza reflectrii semnalelor de ctre baloanele meteorologice metalizate. Din nefericire, sem-
nalele recepionate erau prea slabe ca s poat fi folosite practic la ceva. Apoi, Marina S.U.A. a ob-
servat pe cer un fel de balon meteorologic permanent - Luna - i a construit, pe baza reflectrii sem-
nalelor 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 pri-
mul 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
ceea ce era doar o curiozitate ntr-un sistem puternic de comunicaie.
Sateliii de comunicaie au cteva proprieti interesante, care i fac tentani pentru multe aplica-
ii. 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 dintre ele as-
cult pe o anume poriune din spectru, amplific semnalul recepionat i apoi l redifuzeaz pe o alt
frecven, pentru a evita interferena cu semnalul recepionat. Unda descendent poate fi difuzat,
acoperind astfel o fraciune substanial din suprafaa Pmntului sau poate fi concentrat, caz n
SEC. 2.4 SATELII DE COMUNICAIE 99

care va acoperi numai o zon de cteva sute de kilometri n diametru. Acest mod de operare este
cunoscut i sub numele de eav ndoit (bent pipe).
Conform legii lui Kepler, perioada de rotaie a unui satelit variaz cu puterea 3/2 a razei orbitei.
Cu ct un satelit este mai sus, cu att este mai lung perioada. n apropierea suprafeei Pmntului,
perioada este de aproximativ 90 de minute. n consecin, sateliii cu orbita mai mic dispar din raza
vizual destul de repede, astfel c muli dintre ei sunt necesari pentru a oferi acoperire continu. La
o altitudine de aproximativ 35.800 km, perioada unui satelit este de 24 de ore. La o altitudine de
aproximativ 384.000 km, perioada unui satelit este de aproape o lun, aa dup cum poate confirma
oricine care a urmrit luna n mod regulat.
Perioada unui satelit este important, dar nu este singurul criteriu n determinarea locului n care
va fi plasat satelitul. Un alt criteriu este prezena centurilor lui Van Allen, straturi de particule foarte
ncrcate prinse n cmpul magnetic al pmntului. Aceti factori conduc la formarea a trei regiuni n
care sateliii pot fi plasai n siguran. Aceste regiuni i unele dintre proprietile lor sunt ilustrate n
fig. 2-15. n continuare vom descrie pe scurt sateliii care sunt plasai n fiecare dintre aceste regiuni.


Fig. 2-15. Sateliii de comunicaie i cteva dintre proprietile lor,
inclusiv altitudinea, ntrzierea pentru un drum dus-ntors i numrul
de satelii necesari pentru acoperirea global.
2.4.1 Satelii geostaionari
n 1945, scriitorul de proz tiinifico-fantastic Arthur C. Clarke a calculat c un satelit aflat la
altitudinea de 35.800 km pe o orbit ecuatorial circular apare ca staionar pe cer, astfel nct nu
este nevoie s fie urmrit (Clarke, 1945). El a mers mai departe i a descris un sistem complet de
comunicare care folosea aceti satelii geostaionari, inclusiv orbitele lor, panourile solare, frecvene-
le radio i procedurile de lansare.
Din pcate, a ajuns la concluzia c sateliii nu erau o soluie practic datorit imposibilitii de a
lansa pe orbit amplificatoare cu tub catodic, acestea fiind fragile i mari consumatoare de energie, aa
c nu a mai continuat pe aceasta idee, dei a scris cteva povestiri tiinifico-fantastice bazate pe ea.
100 NIVELUL FIZIC CAP. 2


Inventarea tranzistorului a schimbat toate acestea i a fost lansat primul satelit artificial pentru
comunicaii, Telstar, n iulie 1962. Din acel moment, sateliii pentru comunicaii au devenit o afacere
de miliarde de dolari i totodat singurul aspect al explorrii spaiului cosmic care a devenit foarte
profitabil. Aceti satelii care zboar la altitudini mari sunt adeseori numii satelii GEO
(Geostationary Earth Orbit, rom: cu orbit geostaionar terestr).
Pentru a evita interferena, n condiiile tehnologiilor actuale, nu este recomandat s existe sate-
lii mai apropiai de 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. Totui, fiecare trans-
ponder poate folosi mai multe frecvene i polarizri pentru a crete lungimea de band disponibil.
Pentru a preveni un haos total pe cer, alocarea locurilor pe orbit este fcut de ctre ITU. Acest
proces este mult influenat de politic, existnd ri de abia ieite din epoca de piatra care i cer lo-
curile lor pe orbit (pentru a le nchiria celui care ofer mai mult). Alte ri susin c drepturile
naionale de proprietate nu se extind pn la lun, precum i c nici o ar nu are dreptul s revendi-
ce locurile de pe orbita de deasupra teritoriului su. Pentru a pune paie pe foc, telecomunicaiile
comerciale nu reprezint singurul domeniu interesat de aceti satelii. Canalele de televiziune, gu-
vernele i armata doresc i ele cte o felie din plcinta reprezentat de orbita terestra.
Sateliii moderni pot fi destul de mari, cntrind pn la 4000 de kg i consumnd civa KW de
energie electric produs de panourile solare. Efectele forelor de gravitaie solare, lunare i plane-
tare tind s i deplaseze din locurile i orientrile prevzute pentru ei pe orbit, efect contracarat de
motoarele de rachet cu care sunt echipai. Aceast activitate de reglare fin se numete meninerea
staiei. Cu toate acestea, cnd combustibilul pentru motoare se epuizeaz, de obicei n vreo 10 ani,
satelitul plutete n deriv i se rotete neajutorat, astfel nct trebuie s fie scos din funcionare. n
cele din urma, orbita sa se deformeaz i satelitul reintr n atmosfera unde este distrus prin ardere
sau, uneori, se prbuete pe pmnt.
Alocarea locurilor pe orbit nu este singurul mr al discordiei. Alocarea frecvenelor este de
asemenea un motiv de a se isca noi conflicte, deoarece transmisiile descendente de la satelii interfe-
reaz cu utilizatorii dispozitivelor de comunicaie prin microunde deja existente. Prin urmare, ITU a
alocat anumite benzi de frecven utilizatorilor comunicaiilor prin satelii. Cele mai importante
benzi comerciale sunt listate n fig. 2-16. Banda C a fost desemnat iniial pentru traficul comercial
prin satelii. n banda C sunt asigurate dou domenii de frecven, cea mai mic pentru traficul des-
cendent (dinspre satelit), iar cea superioar pentru traficul ascendent (ctre satelit). Pentru o cone-
xiune 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. Benzile L
i S au fost adugate prin acordul internaional din anul 2000. Oricum, i ele sunt nguste i aglome-
rate.

Banda Legtura
descendent
Legtura
ascendenta
Lime de band Probleme
L 1.5 GHz 1.6 GHz 15 MHz Lime mic de band;
aglomerata
S 1.9 GHz 2.2 GHz 70 MHz Lime mic de band;
aglomerata
C 4.0 GHz 6.0 GHz 500 MHz Interferene terestre
Ku 11 GHz 14 GHz 500 MHz Ploaia
Ka 20 GHz 30 GHz 3500 MHz Ploaia; costul echipamen-
telor

Fig. 2-16. Principalele benzi de satelit.
SEC. 2.4 SATELII DE COMUNICAIE 101

Urmtoarea band, cea mai nalt, disponibil pentru companiile comerciale de telecomunicaii,
este banda Ku (K under, rom: sub K). Aceast band nu este (nc) congestionat i la aceste frec-
vene sateliii pot fi poziionai la o distan de un grad. Totui, exist i aici o 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 de distane mari (n loc de
una singur), problema poate fi evitat cu preul surplusului de antene, cabluri i electronic necesare
pentru a comuta rapid ntre staii. Limea de band pentru Ka (K above, rom: peste K) a fost i ea
alocat pentru traficul comercial prin satelit, dar echipamentele necesare pentru folosirea ei sunt nc
foarte scumpe. n plus fa de aceste benzi comerciale, exist multe benzi guvernamentale i militare.
Un satelit modern are n jur de 40 de transpondere, fiecare cu o lime de band de 80 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. De obicei, fiecare transponder funcio-
neaz ca un repetor, dar, mai nou, sateliii au i o anumita capacitate de procesare integrat, permi-
nd operaii mai sofisticate. La sateliii mai vechi, mprirea transponderilor pe canale s-a fcut
static, prin mprirea lrgimii de band n benzi fixe de frecven (FDM). n prezent, fiecare fascicol
de transponder este mprit n intervale de timp, cu mai muli utilizatori comunicnd pe rnd. Vom
studia aceste dou tehnici (multiplexarea cu divizare n frecven i multiplexarea cu divizare n
timp) ntr-o seciune urmtoare din acest capitol.
Primii satelii geostaionari aveau un singur fascicol spaial care ilumina aproximativ 1/3 din su-
prafaa Pmntului, suprafa numit raz de aciune. Odat cu scderea masiv a preului, dimen-
siunii i cerinelor de putere ale microelectronicii, a devenit posibil o strategie de difuzare mai
complex. Fiecare satelit este echipat cu antene i transpondere multiple. Fiecare fascicol descen-
dent poate fi focalizat pe o arie geografic mic i prin urmare pot avea loc simultan, transmisii as-
cendente 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 fasci-
cole punctuale pentru Alaska i Hawaii.
O nou realizare n lumea comunicaiilor prin satelit o constituie dezvoltarea microstaiilor de cost
sczut, denumite i VSAT-uri (Very Small Aperture Terminals, rom: terminale cu deschidere foarte
mic) (Abramson, 2000). Aceste mici terminale au antene de 1 metru sau mai mici (fata de cei 10m ai
unei antene GEO standard) i pot emite cu o putere de aproximativ 1Watt. Legtura ascendent este
n general bun pentru 19.2Kbps, dar cea descendent este mai mare, deseori de 512 Kbps. Televiziu-
nea cu difuzare direct prin satelit folosete aceast tehnologie pentru transmisia uni-direcional.
n multe sisteme VSAT, microstaiile 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-17. n acest fel, att emitorul ct i receptorul dispun de o anten mare i de un amplifica-
tor puternic. Compromisul const ntr-o ntrziere mai mare n schimbul unor staii mai ieftine la
utilizatorul final.
VSAT-urile au un potenial ridicat n special pentru zonele rurale. Nu este un lucru foarte cu-
noscut, dar peste jumtate din populaia globului locuiete la peste o ora de mers pe jos de cel mai
apropiat post telefonic. A instala fire telefonice pn la fiecare dintre miile de sate mici este mult
peste bugetele majoritii guvernelor din lumea a treia, dar instalarea de antene VSAT de 1 metru
alimentate de celule solare este o soluie adeseori posibil. VSAT-urile ofer o tehnologie care va
conecta ntreaga lume.
102 NIVELUL FIZIC CAP. 2



Fig. 2-17. VSAT-uri care folosesc un hub.

Sateliii de comunicaie au cteva proprieti prin 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), lungimea semnificativ a traseului dus-ntors introduce o n-
trziere substanial pentru sateliii GEO. Funcie de distana dintre utilizator i staia terestr, pre-
cum i de nlimea satelitului deasupra orizontului, timpul de propagare este ntre 250 i 300 msec.
O valoare uzual este de 270 msec (540 msec pentru un sistem VSAT cu un hub).
Trebuie spus, pentru comparaie, c legturile terestre prin microunde au o ntrziere de propa-
gare n jur de 3 sec/km, iar legturile pe cablu coaxial sau fibr optic au o ntrziere de aproximativ
5sec/km. Transmisia prin cel de-al doilea mediu este mai nceat dect prin primul deoarece sem-
nalele electromagnetice se propag mai repede prin aer dect prin materiale solide.
O alt proprietate important a sateliilor este aceea c ei sunt n mod inerent sisteme cu difuza-
re. 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. De
exemplu, se poate imagina un satelit difuznd pagini Web populare ctre memoriile cache ale unui
mare numr de computere rspndite pe o arie larg. Chiar i atunci cnd difuzarea poate fi simula-
t folosind linii punct-la-punct, difuzarea prin satelit poate fi mult mai ieftin. Pe de alt parte, din
punct de vedere al securitii i confidenialitii, sateliii sunt un dezastru complet: oricine poate
asculta orice. Criptarea este esenial dac securitatea este o necesitate.
Sateliii au i 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 foarte
sczute i pot fi instalai aproape instantaneu, un considerent major pentru comunicaiile militare.
SEC. 2.4 SATELII DE COMUNICAIE 103

2.4.2 Satelii de altitudine medie
La altitudini mult mai joase, ntre cele dou centuri Van Allen, gsim sateliii MEO (Medium-
Earth Orbit, rom: orbit terestr medie). Vzui de pe Pmnt, aceti satelii se deplaseaz lent n
plan longitudinal, iar un ocol n jurul Pmntului dureaz cam de 6 ore. n consecin, ei trebuie
urmrii n timp ce trec pe deasupra Pmntului. Avnd altitudine mai mic dect GEO, au o raz
de aciune mai mic pe Pmnt i este nevoie de emitoare mai puin puternice pentru a comunica
cu ei. Deocamdat nu sunt folosii pentru comunicaii, deci nu vor mai fi examinai aici. Cei 24 de
satelii GPS (Global Positioning System, rom: sistem de poziionare global) care orbiteaz la apro-
ximativ 18.000 km sunt exemple de satelii MEO.
2.4.3 Satelii de joas altitudine
Cobornd n altitudine, ajungem la sateliii LEO (Low-Earth Orbit, rom: orbit terestr joas).
Datorit micrii lor rapide, este nevoie de muli astfel de satelii pentru a realiza un sistem complet.
Pe de alt parte, datorit faptului c sateliii sunt att de aproape de Pmnt, staiile terestre nu au
nevoie de mult putere, iar ntrzierea dus-ntors este numai de cteva milisecunde. n acest para-
graf vom examina trei exemple, dou concepute pentru comunicaiile de voce i unul pentru servicii
Internet.
Iridium
Aa cum am menionat i mai sus, n primii 30 de ani ai erei sateliilor, sateliii de joas altitudine
au fost rareori folosii, deoarece ei apar i dispar destul de repede din cmpul vizual. n 1990, Motoro-
la a declanat o aciune n acest domeniu prin punerea la punct a unei noi aplicaii. Motorola a obi-
nut acordul FCC n vederea lansrii a 77 de satelii de joas altitudine pentru proiectul Iridium (ele-
mentul 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 Dysprosium (elementul 66), dar probabil c sun
prea mult ca o boal. Ideea era c n momentul n care un satelit dispare din cmpul vizual, un alt
satelit ar putea s-i ia locul. 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.
Dup apte ani n care s-au adunat parteneri i finanri, sateliii Iridium s-au lansat n 1997. Ser-
viciile de comunicaii au nceput n noiembrie 1998. Din pcate, cererea comercial pentru telefoane
mari i grele, chiar dac acestea comunicau prin satelit, era neglijabil deoarece reeaua de telefonie
mobil crescuse spectaculos din 1990. n consecin, Iridium nu era profitabil i a fost forat s intre
n faliment n august 1999, ntr-unul din cele mai spectaculoase fiasco-uri de corporaii din istorie. n
consecin, sateliii i celelalte bunuri (n valoare de 5 miliarde $) au fost cumprate de un investitor
cu 25 milioane $ ntr-un fel de vnzare cu reducere dintr-un garaj extraterestru. Serviciul Iridium a
fost repornit n martie 2001.
Scopul principal al sistemului Iridium era (i este) s furnizeze servicii mondiale de telecomuni-
caie, folosind dispozitive portabile care s comunice direct cu sateliii Iridium. Sistemul furnizeaz
servicii vocale, de date, paging, fax i navigare, oriunde pe pmnt, ap i aer. Printre clieni se nu-
mr industriile maritim, aviatic i de explorare de petrol, ca i persoanele care cltoresc n pri
ale lumii lipsite de o infrastructur de telecomunicaii (de exemplu deerturi, muni, jungle i unele
ri din lumea a treia).
104 NIVELUL FIZIC CAP. 2



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

Sateliii Iridium sunt poziionai la o altitudine de 750 km pe orbite polare circulare. Ei sunt aran-
jai n form de coliere nord-sud, cu un satelit la fiecare 32 grade latitudine. Dup cum se sugereaz
n fig. 2-18(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-18(b), fiecare satelit va avea cel mult 48 de raze punctuale, cu un
total de 1628 celule pe suprafaa Pmntului. Fiecare satelit are o capacitate de 3840 de canale, sau
253.440 n total. O parte din acestea sunt folosite pentru paging i navigare, altele pentru date i voce.
O proprietate interesant a sistemului Iridium este aceea c o comunicaie ntre clieni aflai la
distan are loc n spaiu, cu un satelit transmind date la altul, cum este ilustrat n fig. 2-19(a). Aici
putem vedea un apelant de la Polul Nord contactnd un satelit aflat direct deasupra sa. Apelul este
transmis prin ceilali satelii i trimis n cele din urma la apelatul de la Polul Sud.
Globalstar
Un proiect alternativ pentru Iridium este Globalstar. Acesta se bazeaz pe 48 de satelii
LEO, dar folosete o schem de comutare diferit de cea folosit de Iridium. n timp ce Iridi-
um transmite apeluri de la satelit la satelit, ceea ce necesita echipamente complicate de comu-
tare n cadrul sateliilor, Globalstar utilizeaz un sistem de repetoare tradiional. Apelul pornit
de la Polul Nord din fig. 2-19(b) este trimis napoi ctre pmnt i preluat de staia terestr
mare de la Atelierul lui Mo Crciun. Apelul este apoi dirijat printr-o reea terestr ctre sta-
ia terestr cea mai apropiat de apelat i livrat printr-o conexiune cu satelitul repetor, aa
cum se vede i n figur. Avantajul acestei scheme este c transfer mare parte din complexita-
te pe Pmnt, unde este mai prelucrrile sunt mai uor de efectuat. De asemenea, dac pentru
staiile terestre se vor folosi antene mari, care pot emite un semnal puternic i pot recepiona
unul slab, atunci n sistem pot fi folosite telefoane cu putere mic. Pn la urm, telefonul de-
biteaz o putere de civa mW, deci semnalul care se ntoarce la staia terestr este destul de
slab, chiar dup ce a fost amplificat de satelit.
SEC. 2.4 SATELII DE COMUNICAIE 105


Fig. 2-19. (a) Transmisia n spaiu.
(b) Transmisia pe Pmnt.
Teledesic
Iridium este conceput pentru utilizatorii de telefoane aflai n locuri ciudate. Urmtorul
nostru exemplu, Teledesic, este conceput pentru utilizatorii de Internet din ntreaga lume dori-
tori de ct mai mult lrgime de band. A fost conceput n 1990 de ctre pionierul telefoniei
mobile Craig McCaw i de ctre fondatorul Microsoft, Bill Gates, care era nemulumit de vite-
za de melc cu care companiile telefonice din lume ofereau lime ridicat de band utilizatori-
lor de calculatoare. Scopul sistemului Teledesic este s ofere milioanelor de utilizatori Internet
care acceseaz sistemul simultan o legtur ascendent de pn la 100 Mbps i o legtur des-
cendent de pn la 720 Mbps, utiliznd o anten de tip VSAT mic i fix, dar i ocolind total
sistemul telefonic. Pentru companiile telefonice, acesta este un ideal de neatins.
Proiectul original consta dintr-un sistem format din 288 de satelii cu raz mic de aciune,
poziionai n 12 planuri imediat sub centura Van Allen, la o altitudine de 1350 km. Acest pro-
iect a fost schimbat ulterior la 30 de satelii cu raze de aciune mai mari. Transmisia se petrece
n banda Ka, relativ neaglomerata i cu lime de band ridicat. Sistemul funcioneaz cu co-
mutare de pachete n spaiu, fiecare satelit fiind capabil s dirijeze pachete ctre vecinii si.
Cnd un utilizator are nevoie de lime de band pentru a trimite pachete, aceasta este cerut
i alocat dinamic n aproximativ 50msec. Este prevzut ca sistemul s intre n funciune n
anul 2005, dac totul merge conform planului.
2.4.4 Sateliii n comparaie cu fibrele optice
O comparaie ntre comunicaiile prin satelit i comunicaiile terestre este instructiv. Cu numai
20 de ani n urm s-ar fi putut crede c viitorul va aparine comunicaiilor prin satelit. La urma ur-
mei, 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
106 NIVELUL FIZIC CAP. 2


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 radi-
cal situaia. Companiile de telefoane au nceput nlocuirea cu fibre optice a reelelor exploatate un
timp att de ndelungat i au introdus servicii cu limi de band ridicate, cum este ADSL
(Asymetric Digital Subscriber Line, rom: linie de abonat digital asimetrica). n plus, i-au ncetat
practica ndelungat de a factura utilizatorii aflai la distane mai mari cu sume mrite artificial pen-
tru a subveniona utilizatorii locali.
Dintr-o dat, se prea c legturile terestre pe fibr optic reprezint 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. n
cazul sateliilor, un utilizator poate foarte bine s scoat o anten pe acoperiul cldirii i s ocoleas-
c sistemul telefonic. Teledesic se bazeaz pe aceast idee.
O a doua ni o reprezint comunicaiile mobile. n zilele noastre, muli oameni doresc s comu-
nice 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 fie satisfctoare pentru cerinele majoritii utilizatorilor (pro-
babil 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, ar putea descoperi c utiliza-
rea unui sistem prin satelit este mult mai ieftin dect simularea difuzrii pe Pmnt.
O a patra ni o constituie comunicaia n locurile cu terenuri greu accesibile sau cu o infrastruc-
tur terestr slab dezvoltat. Indonezia, de exemplu, are propriul satelit pentru traficul telefonic in-
tern. Lansarea unui satelit a fost mult mai simpl dect ntinderea a mii de cabluri submarine ntre
cele 13.677 de insule din arhipelag.
O a cincea ni pentru piaa sateliilor este acolo unde dreptul de instalare a fibrei optice este di-
ficil de obinut sau nejustificat de scump.
n al aselea rnd, atunci cnd instalarea rapid este critic, cum este n cazul sistemelor de co-
municaii 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 fibr optic n combinaie cu
radioul celular, iar pentru civa utilizatori specializai, vor rmne preferabili sateliii. Totui, exist
un avertisment valabil pentru toate acestea: economia. Cu toate c fibra optic ofer mai mult l-
ime de band, este posibil, fr ndoial, 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.


SEC. 2.5 SISTEMUL TELEFONIC 107

2.5 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 de obicei 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 co-
municaie existente.
O astfel de facilitate este PSTN, (Public Switched Telephone Network, rom: reea telefonic pu-
blic comutat), 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 destul de 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 mai mult atenie.
Pentru avea o idee despre 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
10
9
bps, poate i mai mult. Prin contrast, o linie telefonic are o viteza maxim de transfer de
date de 56 Kbps, o vitez de aproape 20.000 de ori mai mic. Aceasta este diferena dintre o
ra care merge legnndu-se n tihn prin iarba i o rachet care zboar spre lun. Dac linia
telefonic este nlocuit de o conexiune ADSL, viteza este mai mic de 1000-2000 de ori.
Desigur, proiectanii sistemelor 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 3 sau 4 ordine de mrime mai slab. n paragrafele care urmeaz vom descrie
sistemele telefonice i vom prezenta istoria i viitorul lor. Pentru informaii suplimentare despre
structura sistemelor telefonice vezi (Bellamy 1991).
2.5.1 Structura sistemului telefonic
Curnd dup ce Alexander Graham Bell a brevetat telefonul n 1876 (doar cu cteva ore nain-
tea 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 ime-
diat evident c modelul conectrii fiecrui telefon la fiecare alt telefon, ca n fig. 2-14(a), nu va pu-
tea funciona.
Bell a observat acest lucru i a nfiinat Bell Telephone Company, companie care a deschis pri-
mul oficiu de comutare (n New Haven, Connecticut), n 1878. Compania a ntins cte un fir ctre
casa sau biroul fiecrui client. Pentru a da un telefon, clientul lovea furca, genernd astfel un semnal
sonor n central, care atrgea atenia operatorului; acesta conecta apoi manual cei doi clieni cu
ajutorul unui cablu. Modelul unui oficiu de comutare este ilustrat n fig. 2-20(b).
108 NIVELUL FIZIC CAP. 2


Destul de repede, oficiile de comutare Bell Systems au aprut peste tot i oamenii au simit nevo-
ia unor convorbiri interurbane, oficiile Bell System ncepnd s se conecteze ntre ele. Problema
iniial a redevenit actual: conectarea fiecrui oficiu de comutare cu fiecare alt oficiu prin interme-
diul unui cablu a scpat rapid de sub control, i astfel s-au inventat oficiile de comutare de nivelul
doi. Dup un timp, au fost necesare mai multe oficii de nivelul doi, ca n fig. 2-20(c). n cele din ur-
m, ierarhia a ajuns pn la 5 niveluri.

Fig. 2-20. (a) Reea conectat integral. (b) Comutator centralizat.
(c) Ierarhie pe dou niveluri.

n 1890, cele trei componente majore ale sistemului telefonic erau puse la punct: oficiile de co-
mutare, 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).
Anterior ptrunderii n for pe pia a companiei AT&T n 1984, sistemul telefonic era imple-
mentat ca o ierarhie pe multe niveluri 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 corespunztor 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 lucru 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 unei rafinrii de cupru pentru
un profit imediat.
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.
SEC. 2.5 SISTEMUL TELEFONIC 109

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, oficii n tandem). Aceste linii se numesc trun-
chiuri de conectare la oficiile de taxare (toll connecting trunks). Dac se ntmpl ca oficiul final al
celui care apeleaz i oficiul celui apelat s aib trunchi de conectare ctre acelai oficiu de taxare
(ceea ce este probabil dac sunt relativ apropriate), legtura poate fi stabilit de ctre oficiul de taxa-
re. O reea telefonic format din telefoane (punctele mici), oficii finale (punctele mari) i oficiile de
taxare (ptratele) este prezentat n fig. 2-20(c).
Dac apelantul i apelatul nu au un oficiu de taxare n comun, calea va trebui s fie stabilit un-
deva mai sus n ierarhie. Oficiile de taxare sunt conectate prin intermediul unei reele formate din
oficii primare, sectoriale i regionale. Comunicaiile ntre oficiile de taxare primare, sectoriale i re-
gionale se realizeaz prin intermediul trunchiurilor de comunicaie de band foarte larg (numite i
trunchiuri de comunicaie inter-oficii). Varietatea centrelor de comutare i a topologiei acestora
(pot dou oficii sectoriale s fie conectate direct sau prin intermediul unui oficiu regional ?) difer
de la o ar la alta n funcie de densitatea telefonic. Fig. 2-21 prezint un mod posibil de a realiza o
legtur pe distane medii. n telecomunicaii sunt folosite diverse medii de transmisie. n prezent,
buclele locale constau din cabluri torsadate de categoria 3 cu toate c n primele zile ale telefoniei
erau uzuale firele neizolate aflate la o distana de 25 cm ntre ele, la polii telefonului. ntre oficiile
de comutare sunt larg folosite cablurile coaxiale, microundele i mai ales fibrele optice.

Fig. 2-21. Circuitul unei rute uzuale pentru o convorbire la distan medie

n trecut, transmisia n sistemul telefonic era analogic, semnalul vocal fiind transmis de la surs
la destinaie sub forma unei tensiuni electrice. Odat cu apariia fibrei optice, a electronicii digitale i
a calculatoarelor, toate trunchiurile i comutatoarele sunt acum digitale, bucla locala rmnnd ul-
tima parte de tehnologie analogic a sistemului. Transmisia digital este preferat, nefiind necesar s
se reproduc exact o form de und analogic dup ce a trecut prin mai multe amplificatoare ntr-o
convorbire la distan. Distincia ntre 1 i 0 este suficient. Aceast proprietate face ca transmisia
digital s fie de mai mare ncredere dect cea analogic. De asemenea, este mai ieftin i mai uor
de ntreinut.
Pe scurt, sistemul telefonic const din trei componente majore:

1. Bucle locale (cablu torsadat analogic tras n interiorul caselor i al companiilor).
2. Trunchiuri (fibre optice digitale care conecteaz oficiile de comutare).
3. Oficii de comutare (unde apelurile sunt transferate dintr-un trunchi n altul).

Dup o scurt prezentare a politicii n domeniul telefonic, vom studia aceste trei componente
mai n detaliu. Buclele locale ofer tuturor acces la ntregul sistem, deci sunt critice. Din pcate, ele
110 NIVELUL FIZIC CAP. 2


reprezint i veriga cea mai slab a sistemului. Pentru trunchiurile pe distane mari, problema prin-
cipal va fi gruparea mai multor convorbiri mpreun i trimiterea lor simultan. Soluia se numete
multiplexare i vom studia trei modaliti diferite de multiplexare. n sfrit, exist dou moduri fun-
damental diferite de a face comutarea, aa c le vom studia pe amndou.
2.5.2 Politica din domeniul telefonic
Timp de mai multe zeci de ani, pn n 1984, Bell Systems a asigurat servicii, att pe distane
scurte ct i pe distane lungi, pentru aproape toat suprafaa Statelor Unite. n anii 70, guvernul
S.U.A. a ajuns la concluzia c acesta era un monopol ilegal i a hotrt s l anuleze. Guvernul a c-
tigat 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 teleco-
municaiilor 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 (Modified Final
Judgement, rom: hotrre final modificat, un bun exemplu de oximoron
5
, dac a existat vreodat
vreunul dac hotrrea putea fi modificat, este evident c nu era final). Acest eveniment a con-
dus la o cretere a competiiei, la asigurarea unor servicii mai bune i la scderea preurilor pentru
clieni. Totui, preurile pentru serviciile locale au crescut i subveniile ncruciate de la apelurile de
lung distana au fost eliminate, iar serviciile locale au trebuit s se susin singure. Multe alte ri
iau n considerare introducerea competiiei dup acelai model.
S clarificm cum s-a putut atinge acest scop: Statele Unite au fost mprite n aproape 160 de
LATA (Local Access and Transport Areas, rom: zone de acces i transport local). Pe scurt, o LATA
acoper o suprafa echivalent ca dimensiuni cu o regiune acoperit de un acelai cod zonal. De
obicei, n cadrul unei LATA exist un LEC (Local Exchange Carrier, rom: transportator local), care
deine monopolul pentru un serviciu telefonic tradiional din interiorul regiunii sale. Cele mai im-
portante LEC 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.
Tot traficul inter-LATA este asigurat de un alt tip de companie, IXC (IntereXchange Carrier,
rom: transportator inter-oficii). Iniial, AT&T Long Lines era singura companie IXC serioas, dar
acum WorldCom i Sprint sunt competitori consacrai n domeniu. Una dintre preocuprile aprute
la separarea companiilor a fost ca toate IXC s fie tratate egal n ce privete calitatea liniilor, tarifele
impuse i numrul de cifre pe care un client trebuie s le formeze pentru a telefona. Modul n care
acest lucru a fost ndeplinit este prezentat n fig. 2-22. 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, rom: punct de livrare). LEC-ul trebuie s conecteze fieca-
re IXC la fiecare oficiu final, direct, ca n LATA 1 i 3, sau indirect, ca n LATA 2. Mai mult, condii-
ile n care se face aceast conectare, att tehnice ct i financiare, trebuie s fie aceleai pentru toate
IXC-urile. n acest mod, un abonat din LATA 1, s zicem, poate alege ce IXC s foloseasc pentru a
apela abonai din LATA 3.

5
Oximoron = contradicie evident ntre termenii expresiei (n.t.)
SEC. 2.5 SISTEMUL TELEFONIC 111



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

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, cum ar fi chiar deschiderea de restaurante. n 1984, aceast declaraie era lipsit
de ambiguiti. Din pcate, tehnologia are un fel de a face ca legea s par depit. Nici televiziu-
nea prin cablu i nici telefoanele celulare nu erau acoperite de aceast nelegere. Atunci cnd tele-
viziunea prin cablu a trecut de la forma unidirecional la cea bidirecional i cnd 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 telefo-
nice 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 pri-
vete calitatea serviciilor asigurate i preul acestora. Aceast not a fost legiferat n februarie 1996.
n urma acestei hotrri, unele BOC au devenit IXC i alte companii, precum operatorii de televizi-
une prin cablu, au nceput s ofere servicii telefonice locale n competiie cu LEC-urile.
O proprietate interesant a legii din 1996 este cerina ca LEC-urile s implementeze portabilita-
tea local a numerelor. Aceasta nseamn ca un client poate schimba companiile locale de telefoane
fr s trebuiasc s obin un nou numr de telefon. Aceasta prevedere scutete muli clieni de o
problem serioas i i poate ajuta n decizia de a schimba LEC-ul, ceea ce conduce la creterea
competiiei. Ca rezultat, peisajul telecomunicaiilor din SUA trece printr-o restructurare radical.
Din nou, multe alte ri ncep s urmeze acest model. Deseori, celelalte ri ateapt s vad cum
funcioneaz un experiment n SUA. Dac funcioneaz bine, fac acelai lucru; dac funcioneaz
ru, ncearc altceva.
112 NIVELUL FIZIC CAP. 2


2.5.3 Bucla local: Modemuri, ADSL i transmisia fr fir
Este timpul s pornim studiul nostru detaliat despre funcionarea sistemului telefonic. Principa-
lele pri ale sistemului sunt ilustrate n figura2-23. Aici se vd buclele locale, trunchiurile, oficiile de
taxare i oficiile finale, ambele coninnd echipamente de comutare care comut apelurile. Un oficiu
final are pn la 10.000 de bucle locale (n SUA i alte ri mari). De fapt, pn de curnd, codul i
prefixul de zon indicau oficiul final, astfel nct numrul (212) 601-xxxx aparinea unui anumit ofi-
ciu final cu 10.000 de abonai, numerotai de la 0000 la 9999. Odat cu evoluia competiiei pentru
serviciile locale, acest sistem nu mai era viabil, deoarece mai multe companii doreau s aib codul
oficiului final. De asemenea, numrul de coduri era practic epuizat, astfel nct au trebuit introduse
scheme de organizare mai complexe.
S ncepem cu partea cu care cei mai muli oameni sunt familiarizai: bucla local, format din
dou fire care vin de la un oficiu final al unei companii telefonice i intr n case sau companii mai
mici. Bucla local mai este numit adesea i ultima mil, dei lungimea ei poate fi de pn la cte-
va mile. n ultimii 100 de ani, bucla local a folosit semnalizarea analogic i probabil va continua s o
foloseasc timp de ani buni, datorit costului mare al conversiei la digital. Totui, pn i n acest ultim
bastion al transmisiei analogice au loc schimbri. n acest capitol, vom studia bucla local tradiional i
noile mbuntiri care au loc n acest domeniu, concentrndu-ne pe comunicaia de date de la calcula-
toarele casnice.
Atunci cnd un calculator dorete s trimit date numerice pe o linie telefonic, datele trebuie s
fie convertite n prealabil n form analogic pentru a putea fi transmise pe o bucl local . Aceasta
conversie este fcut de ctre un modem, dispozitiv pe care l vom studia n curnd. La oficiul final al
companiei telefonice, aceste date sunt convertite la forma digital pentru a fi transmise pe trunchiu-
rile pentru distane mari.
Dac la cellalt capt se afl un calculator cu un modem, este necesara conversia invers digital
la analogic pentru a putea traversa bucla local ctre destinaie. Aceast schem este prezentat n
fig. 2-23 pentru ISP-ul 1 (Internet Service Provider, rom: furnizor de servicii internet), care dispune
de o banc de modem-uri, fiecare fiind conectat la o alt bucl local. Acest ISP poate servi attea
conexiuni cte modemuri are (presupunnd c serverul sau serverele sale au destul putere de cal-
cul). Aceast schem era considerat normal pn cnd au aprut modem-urile de 56 Kbps, din
motive care se vor vedea n curnd.
Codificarea analogic a semnalului const n modificarea tensiunii electrice n funcie de timp,
pentru de a reprezenta un ir de date. Dac mediul de transmisie ar fi fost ideal, receptorul ar fi pri-
mit exact acelai semnal pe care l-a expediat transmitorul. Din pcate, mediile nu sunt perfecte, iar
semnalul recepionat nu este identic cu semnalul transmis. Pentru datele numerice, aceste diferene
pot conduce la erori.
Pe liniile de transmisie apar trei mari probleme: atenuarea, distorsiunea datorat ntrzierii i
zgomotul. Atenuarea reprezint pierderea de energie n timpul propagrii semnalului. Pierderea se
exprim n decibeli pe kilometru. Energia pierdut depinde de frecvena semnalului. Pentru a vizua-
liza efectul acestei dependene de frecven, s ne imaginm un semnal nu ca o simpl und, ci sub
forma unei serii de componente Fourier. Fiecare component este atenuat diferit, ceea ce are ca
rezultat la receptor un spectru Fourier diferit.
Pentru a agrava situaia, diferitele componente Fourier se propag cu viteze diferite de-a lungul
firului. Aceste diferene de vitez duc la distorsionarea semnalului recepionat la cellalt capt.
SEC. 2.5 SISTEMUL TELEFONIC 113

Fig. 2-23. Conectarea ntre calculatoare folosete transmisia analogic i cea digital.
Conversia este realizat de ctre modemuri i de ctre codoare/decodoare.

O alt problem 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.
Modemurile
Datorit problemelor prezentate anterior, n special datorit faptului c att atenuarea ct i vi-
teza de propagare sunt dependente de frecven, se dorete evitarea prezenei unui domeniu larg de
frecvene ntr-un semnal.
Din pcate, undele ptratice, precum cele din datele numerice, au un spectru larg i, n concluzie,
sufer o atenuare puternic i distorsiuni de ntrziere. Aceste efecte fac din codificarea analogic n
band de baz (DC) o alegere nepotrivit, cu excepia situaiilor n care se utilizeaz viteze mici i
transmisia are loc pe distane scurte.
Pentru a evita problemele asociate cu codificarea analogic n band de baz (DC), n special pe
liniile telefonice, se utilizeaz codificarea analogic 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 niveluri 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. (Termenul de codare este larg folosit n industrie ca sinonim pentru modulare). n varianta
cea mai simpl, cea a modulrii n faz, unda purttoare este sistematic comutat la intervale egale
114 NIVELUL FIZIC CAP. 2


la 45, 135, 225, sau 315 grade. Fiecare schimbare de faz transmite 2 bii de informaie. De aseme-
nea, obligativitatea unei schimbri de faz la sfritul fiecrui interval face receptorul s recunoasc
mai uor limitele intervalelor de timp.
Fig. 2-24 ilustreaz cele trei forme de modulare. n figura2-24(a) una dintre amplitudini este dife-
rit de zero i una este zero. n fig. 2-24(b) sunt folosite dou frecvene. n fig. 2-24(c) o deplasare de
faz este sau nu prezent la marginile fiecrui bit. Un echipament care accept un ir serial de bii la
intrare i produce o purttoare modulat la ieire (sau vice-versa) se numete modem (modulator-
demodulator). Modemul este inserat ntre calculator (digital) i sistemul telefonic (analogic).

Fig. 2-24. (a) Un semnal binar. (b) Modularea n amplitudine.
(c) Modularea n frecven. (d) Modularea n faz.

Atingerea unor viteze din ce n ce mai mari nu este posibil doar prin creterea continu a ratei
de eantionare. Teorema lui Nyquist afirm c eantionarea la o frecvena mai mare de 6000 de Hz
este lipsit de interes chiar i pentru o linie ideal de 3000 de Hz (nu este nici pe departe cazul unei
linii telefonice). n practic, majoritatea modem-urilor eantioneaz de 2400 ori/sec i se concentrea-
z s transmit ct mai muli bii pe eantion.
Numrul de eantioane pe secund se msoar n baud. Pe durata fiecrui baud este trimis un
simbol. Astfel, o linie de n baud trimite n simboluri/sec. De exemplu, o linie de 2400 baud trimite un
simbol la aproximativ fiecare 416,667sec. Dac simbolul codific prin tensiune nul un bit 0 logic i
SEC. 2.5 SISTEMUL TELEFONIC 115

prin tensiunea de 1V un bit 1 logic, rata de bit este de 2400 bps. Dac ns sunt folosite tensiunile de
0, 1, 2 i 3 voli, fiecare simbol codific 2 bii, astfel c o linie de 2400 baud poate transmite 2400 sim-
boluri/sec la o rat de date de 4800 bps. n mod similar, pentru patru deplasri de faz posibile, sunt
codificai tot 2 bii/simbol, deci avem din nou o rat de bit dubl fa de viteza de transmisie a liniei.
Cea de-a doua tehnic este larg folosit i se numete QPSK (Quadrature Phase Shift Keying, rom:
modulaia cuadratic n faz).
Conceptele de lrgime de band, viteza de transmisie (eng: baudrate), rat de simboluri i rat de
bii sunt adeseori confundate, deci le vom reformula aici. Lrgimea de band a unui mediu reprezint
spectrul de frecvene care trec prin el cu atenuare minima. Este o proprietate fizic a mediului (de
obicei de la 0 la o frecven maxim) i se msoar n Hz. Viteza de transmisie reprezint numrul de
eantioane preluate ntr-o secund. Prin fiecare eantion se transmite o parte din informaie, adic un
simbol. Deci, viteza de transmisie i rata de simboluri sunt unul i acelai lucru. Tehnica de modulare
(de exemplu QPSK) determin numrul de bii/simbol. Rata de bii reprezint cantitatea de informa-
ie trimis prin canal i este egal cu numrul de simboluri/sec nmulit cu numrul de bii/simbol.
Toate modemurile performante folosesc o combinaie de tehnici de modulare pentru a transmite
mai muli bii pe baud. Deseori mai multe amplitudini i mai multe deplasri de faza sunt combinate
pentru a transmite mai muli bii/simbol. n fig. 2-25(a), vedem puncte la 45, 135, 225 i 315 grade, cu
amplitudine constanta (distana fa de origine). Faza unui punct este indicata de unghiul pe care l-
ar face axa x cu o linie care unete punctul cu originea. Fig. 2-25(a) are patru combinaii posibile i
poate fi folosit pentru a transmite 2 bii pe simbol. Este exact QPSK.
n fig. 2-25(b) vedem o schem diferit de modulare, n care sunt folosite 4 amplitudini i 4 dife-
rene de faz, n total 16 combinaii. Aceast schem de modulare poate fi folosit la transmiterea a
4 bii pe simbol i este numit QAM (Quadrature Amplitude Modulation, rom: modulaia
cuadratic n amplitudine) atunci cnd este folosit pentru transmisia a 9600 bii pe secund pe o
linie de 2400 baud.
Fig. 2-25(c) reprezint nc o schem de modulare, care implic amplitudine i faza. Ea permite
64 de combinaii, astfel nct pot fi transmii 6 bii pe simbol. Se numete QAM-64. Sunt folosite i
QAM-uri de ordine mai nalte.
Diagramele de genul celor din fig. 2-25, 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).

Fig. 2-25. (a) QPSK. (b) QAM-16. (c) QAM-64

116 NIVELUL FIZIC CAP. 2


Cu attea puncte n tiparul de constelaie, chiar i un mic nivel de zgomot detectat n amplitudine
sau faz poate conduce la o eroare, adic la mai muli bii eronai. Pentru a reduce posibilitatea de a
genera o eroare, standardele pentru modemuri cu viteze mari fac corecia erorilor, adugnd bii
suplimentari la fiecare eantion. Astfel de scheme sunt cunoscute sub numele de TCM (Trellis
Coding Modulation, rom: modulatie prin codificare matricial). De exemplu, modemul standard
V.32 folosete 32 de puncte n constelaie pentru a transmite 4 bii de date i un bit de paritate pe
simbol, la 2400 baud, i obine 9600 bps cu corecie de erori. Tiparul su de constelaie este cel din
fig. 2-26(a). Decizia de a fi rotit cu 45 de grade n jurul originii a fost luat din motive inginereti;
constelaiile rotite sau nerotite au aceeai capacitate de informaie.

Fig. 2-26. (a) V.32 pentru 9600 Kbps. (b) V.32 bis pentru 14.400 Kbps

Urmtorul pas peste 9600 bps este 14.400 bps. Este numit V.32 bis. Aceast vitez este atins
prin transmiterea a 6 bii de date i un bit de paritate pe eantion la o rat de 2400 baud. Tiparul de
constelaie are 128 de puncte atunci cnd se folosete QAM-128, aa cum se vede n fig. 2-26(b). Fax-
modemurile folosesc aceast vitez pentru a transmite pagini care au fost scanate ca o hart de bii
(bitmap). QAM-256 nu este folosit n nici unul din modemurile telefonice standard, dar este folosit
n reelele de cablu, aa cum vom vedea mai trziu.
Urmtorul modem telefonic dup V.32 bis este V.34, care atinge 28.800 bps la 2400 baud cu 12
bii de date/simbol. Ultimul modem n aceasta serie este V.34 bis, care folosete 14 bii de da-
te/simbol la 2400 baud i atinge 33.600 baud.
Pentru a crete n continuare rata efectiv, multe modemuri comprim datele nainte de a le
transmite, i pot obine o rat efectiv de transmisie a datelor de peste 33.600 bps. Pe de alta parte,
aproape toate modemurile testeaz linia nainte de a ncepe s transmit date de la utilizator i, dac
observ c sunt probleme care in de calitatea transmisiei, reduc viteza sub cea maxima. Astfel, vite-
za efectiv observat de utilizator poate fi mai mic, egal sau mai mare fa de cea oficial.
Toate modemurile moderne permit traficul din ambele direcii n acelai timp (folosind frecvene
diferite pentru direcii diferite). O conexiune care permite traficul simultan n ambele direcii se nu-
mete full duplex. O osea cu dou benzi este full duplex. O conexiune care permite traficul n orica-
re dintre sensuri, dar pe rnd se numete half duplex. O in de cale ferata este half duplex. O cone-
xiune care permite traficul ntr-o singura direcie se numete simplex. O strad cu sens unic este
SEC. 2.5 SISTEMUL TELEFONIC 117

simplex. Un alt exemplu de conexiune simplex este o fibr optic cu un laser la un capt i un detec-
tor de lumin la cellalt.
Motivul pentru care modemurile standard se opresc la 33.600 este c limita Shannon pentru sis-
temul telefonic este de aproximativ 35 Kbps, aa c o viteza mai mare ar nclca legile fizicii (depar-
tamentul termodinamic). Pentru a afla dac modemurile de 56 Kbps sunt posibile teoretic, urmrii
discuia n continuare.
De ce este limita teoretic de 35 Kbps? Are de-a face cu lungimea medie a buclelor locale i cu
calitatea acestor linii. Cei 35 Kbps sunt determinai de lungimea medie a buclelor locale. n fig. 2-23,
un apel pornit de la computerul din stnga i terminat la ISP1 trece prin dou bucle locale ca semnal
analogic, una la surs i una la destinaie. Fiecare dintre acestea adaug semnalului zgomote. Dac
am putea scpa de una dintre aceste bucle locale, rata maxim s-ar dubla.
ISP2 face exact acest lucru. Are o conexiune pur digital de la cel mai apropiat oficiu final. Sem-
nalul digital folosit n trunchiuri ajunge direct la ISP 2, eliminnd codoarele/decodoarele, modemu-
rile i transmisia analogic final. Astfel, cnd unul din capetele conexiunii este total digital, cum se
ntmpl cu majoritatea ISP-urilor n zilele noastre, rata maxima de date poate fi pn la 70 Kbps.
ntre doi utilizatori cu modemuri i linii analogice, rata maxim este de 33,6 Kbps.
Motivul pentru care se folosesc modemurile de 56 Kbps are de-a face cu teorema lui Nyquist.
Canalul telefonic este lat de aproximativ 4000 Hz (incluznd benzile suplimentare). Numrul maxim
de eantioane independente care se pot prelua pe secunda este astfel de 8000. Numrul de bii per
eantion n SUA este 8, dintre care unul este folosit pentru comand, permind astfel numai 56.000
bps pentru date de la utilizator. n Europa, toi cei 8 bii sunt disponibili pentru date de la utilizator,
deci puteau fi folosite modemuri de 64.000 bps, dar pentru a se conveni asupra unui standard inter-
naional, s-a ales 56.000.
Acest standard de modem este numit V.90. Ofer un canal ascendent de 33,6 Kbps (utilizator c-
tre ISP) i un canal descendent de 56 Kbps (ISP ctre utilizator), pentru c de obicei sunt mai multe
date de transportat de la ISP la utilizator dect invers (de exemplu, cererea unei pagini web ocup
doar civa octei, n timp ce pagina efectiv poate fi de civa megabii). n teorie, un canal ascen-
dent de peste 33,6 Kbps era posibil, dar deoarece multe bucle locale sunt prea zgomotoase chiar i
pentru 33,6 Kbps, s-a decis s se aloce mai multa lrgime de banda pentru canalul descendent, pen-
tru a crete ansele ca acesta s ajung s funcioneze la 56 Kbps.
Urmtorul pas dincolo de V.90 este V.92. Aceste modemuri sunt capabile s transfere cu 48
Kbps pe canalul ascendent, dac linia telefonic suport. De asemenea, ele determin viteza potrivi-
t de funcionare n aproximativ jumtate din timpul uzual de 30 de secunde cerut de vechile
modemuri. n sfrit, permit unui apel telefonic s ntrerup o sesiune Internet, dac linia telefonic
suporta serviciul de apel n ateptare.

Linii digitale pentru abonat (xDSL)
Cnd industria telefonic a ajuns n sfrit la 56 Kbps, s-a btut singur pe spate ca pentru o trea-
b bine fcut. Intre timp, industria televiziunii prin cablu oferea viteze de pn la 10 Mbps pe ca-
bluri partajate, iar companiile de servicii prin satelit plnuiau s ofere trafic ascendent spre satelit de
50 Mbps. Cum accesul la Internet devenise o parte din ce n ce mai important din afacerile lor,
companiile telefonice (LEC-urile) au nceput s neleag c aveau nevoie de un produs mai compe-
titiv. Rspunsul gsit a fost s nceap s ofere noi servicii digitale peste bucla local. Serviciile cu
mai multa lime de band dect serviciul telefonic standard sunt numite uneori broadband (rom:
de band larga), dei termenul este mai mult un concept de marketing dect un real concept tehnic.
118 NIVELUL FIZIC CAP. 2



Fig. 2-27. Lime n funcie de distan pentru UTP categoria 3 pentru DSL.

Iniial, erau mai multe oferte care se suprapuneau, toate purtnd numele generic de xDSL (Digi-
tal Subscriber Line, rom: linie digital pentru abonat), cu diferite variabile x. n continuare vom dis-
cuta aceste servicii, dar ne vom concentra n primul rnd spre ceea ce probabil va deveni cel mai
popular dintre aceste servicii, ADSL (Asymmetric DSL, rom: DSL asimetrice). Cum ADSL nc se
mai dezvolta i nu toate standardele sunt cu totul finalizate, unele dintre detaliile date mai jos s-ar
putea s se schimbe n timp. Dar ideea de baza ar trebui s rmn valabil. Pentru mai multe in-
formaii despre ADSL, se poate vedea (Summers, 1999; i Vetter et al., 2000).
Motivul pentru care modemurile sunt ncete este acela c telefoanele au fost inventate pentru a
transporta vocea uman i ntregul sistem a fost optimizat pentru acest scop. Datele au fost mereu
copiii vitregi. n punctul n care fiecare bucl local se conecteaz n oficiul final, firul intra ntr-un
filtru care atenueaz toate frecvenele de sub 300 Hz i peste 3400 Hz. Filtrarea nu este exact 300
Hz i 3400 Hz sunt punctele de la 3 dB aa c lrgimea de band este considerat de 4000 Hz, chi-
ar dac distana dintre punctele de 3 dB este de 3100 Hz. Deci i datele sunt restricionate n aceasta
band ngust.
Trucul care face ca xDSL s funcioneze este c linia unui client abonat la un astfel de serviciu es-
te conectat la un tip diferit de comutator, care nu are acest filtru, fcnd astfel disponibil ntreaga
capacitate a buclei. Factorul limitator este constitut de legile fizice aplicate buclei locale i nu de l-
imea de band artificial de 3100 Hz, creat de filtru.
Din pcate, capacitatea buclei locale depinde de civa factori, inclusiv lungimea, grosimea i cali-
tatea la modul general. Un grafic al limii de band poteniale n funcie de distan este prezentat n
fig. 2-27. Aceasta figur presupune c toi ceilali factori sunt optimi (fire noi, legturi bune, etc.).
Implicaiile acestei figuri creeaz o problem pentru compania de telefoane. Cnd alege viteza
pe care o va oferi abonailor, alege n acelai timp o raz de aciune n funcie de oficiile sale finale,
dincolo de care serviciul nu poate fi oferit. Aceasta nseamn c atunci cnd utilizatori aflai la dis-
tan ncearc s se nscrie la acest serviciu, s-ar putea s li se spun Mulumim mult pentru intere-
sul dumneavoastr, dar locuii cu 100 de m prea departe de cel mai apropiat oficiu final prin care
putei a beneficia de acest serviciu. Putei s v mutai?. Cu ct este mai mic viteza aleas, cu att
SEC. 2.5 SISTEMUL TELEFONIC 119

mai mare este raza, fiind astfel acoperii mai muli clieni. Dar cu ct este mai mic viteza, cu att
este mai puin atractiv serviciul i oamenii care vor dori s plteasc pentru el vor fi mai puini. Aici
afacerile se ntlnesc cu tehnologia. (O potenial soluie este s se construiasc mini-oficii finale n
toate cartierele, dar aceasta este o propunere cam scump.)
Serviciile xDSL au fost proiectate cu anumite scopuri. n primul rnd, serviciile trebuie s funci-
oneze peste buclele locale de cabluri cu perechi torsadate de categoria 3 existente. n al doilea rnd,
nu trebuie s afecteze telefoanele i faxurile clienilor. n al treilea rnd, trebuie s fie mult mai rapi-
de dect 56 Kbps. n al patrulea rnd, ar trebui s funcioneze tot timpul, contra unei taxe lunare,
dar nu a unei taxe pe minut.
Oferta ADSL iniial a venit de la AT&T i funciona prin divizarea spectrului disponibil n bucla
local, care este de aproximativ 1.1 MHz, n trei benzi de frecvena: POTS (Plain Old Telephone
Service, rom: serviciul telefonic tradiional), canalul ascendent (de la utilizator la oficiul final) i ca-
nalul descendent (de la oficiul final la utilizator). Tehnica de a avea mai multe benzi de frecven se
numete multiplexare prin divizarea frecvenei; o vom studia n detaliu ntr-un paragraf ulterior.
Ofertele care au urmat, de la ali furnizori, au urmat o alta abordare i se pare c aceasta va avea
ctig de cauz, aa c o vom descrie n continuare.
Abordarea alternativ, numita DMT (Discrete MultiTone, rom: ton multiplu discret), este ilus-
trat n figura2-28. De fapt, spectrul disponibil de 1.1 MHz al buclei locale se divizeaz n 256 canale
independente de 4312,5 Hz fiecare. Canalul 0 este folosit pentru POTS. Canalele 1-5 sunt nefolosite,
pentru a preveni interferenele ntre semnalele de voce i date. Dintre cele 250 de canale rmase,
unul este folosit pentru controlul fluxului ascendent i unul pentru controlul fluxului descendent.
Restul sunt disponibile pentru date de la utilizator.

Fig. 2-28. Funcionarea ADSL folosind modulaie cu ton multiplu discret

n principiu, fiecare dintre canalele rmase poate fi folosit pentru flux de date full-duplex, dar
armonicele, interferenele i alte efecte in sistemele practice departe de limitele teoretice. Este la
latitudinea furnizorului de servicii s determine cte canale s fie folosite pentru fluxul ascendent i
cte pentru cel descendent. Un raport de egalitate ntre fluxurile ascendent i descendent este tehnic
posibil, dar majoritatea furnizorilor de servicii aloc n jur de 80%-90% din limea de band canalu-
lui descendent, deoarece majoritatea utilizatorilor primesc mai multe date dect trimit. Aceast ale-
gere d natere A-ului din ADSL. O variant de divizare des ntlnit este alocarea a 32 de canale
pentru fluxul ascendent, restul fiind alocate pentru cel descendent. De asemenea, este posibil s se
foloseasc unele dintre canalele cu frecvena cea mai ridicat din fluxul ascendent n mod bidirecio-
nal, pentru creterea limii de band, dei aceast optimizare cere adugarea unui circuit special
pentru anularea ecourilor.
Standardul ADSL (ANSI T1.413 i ITU G.992.1) permite viteze de pn la 8 Mbps pentru fluxul
descendent i 1 Mbps pentru cel ascendent. Totui, puini furnizori de servicii ofer acest flux. De
120 NIVELUL FIZIC CAP. 2


obicei, furnizorii ofer 512 Kbps pentru fluxul descendent i 64 Kbps pentru cel ascendent n cazul
serviciului standard, respectiv 1 Mbps pentru flux descendent i 256 Kbps pentru flux ascendent n
cazul serviciului premium.
n cadrul fiecrui canal este folosit o schem de modulare similar cu V.34, dei rata de eanti-
onare este de 4000 baud n loc de 2400 baud. Calitatea liniilor din fiecare canal este constant moni-
torizata i rata de transmisie este constant ajustat, aa c pe canale diferite pot fi folosite rate diferi-
te. Datele efective sunt trimise cu modulaie QAM, cu pn la 15 bii per baud, folosind o diagram
constelaie analoag cu aceea din figura2-25(b). Avnd, de exemplu, 224 de canale de flux descen-
dent i 15 bii pe baud la 4000 baud, limea de band pe flux descendent este de 13,44 Mbps. n
practic, raportul semnal-zgomot nu este destul de bun pentru a se atinge aceasta rat, dar se poate
atinge rata de 8 Mbps pe distane scurte i pe bucle de calitate superioara, motiv pentru care stan-
dardul merge pn la aceasta valoare.

Fig. 2-29. O configuraie tipic pentru echipamente ADSL.

O schema tipic ADSL este ilustrata n fig. 2-29. n aceasta schem, un tehnician al companiei
de telefoane trebuie s instaleze un NID (Network Interface Device, rom: dispozitiv de interfaare
reea) la cererea utilizatorului. Aceast cutie mic de plastic marcheaz sfritul proprietii com-
paniei de telefoane i nceputul proprietii clientului. Aproape de NID (sau uneori combinat cu
acesta) se afl un separator (eng. splitter), un filtru analogic care separ din fluxul de date banda
de 0-4000 Hz, folosit de POTS. Semnalul POTS este dirijat la telefonul sau faxul existent, iar sem-
nalul de date este dirijat ctre modemul ADSL. Modemul ADSL este de fapt un procesor de sem-
nal digital configurat s funcioneze ca 250 de modemuri QAM care opereaz n paralel la diferite
frecvene. Cum majoritatea modemurilor ADSL sunt externe, calculatorul trebuie sa fie conectat
cu ele la o viteza mare. De obicei, aceasta se face punnd o plac Ethernet n calculator i opernd
o reea Ethernet foarte mic, de dou noduri, coninnd doar calculatorul i modemul ADSL.
SEC. 2.5 SISTEMUL TELEFONIC 121

Uneori este folosit portul USB n loc de Ethernet. Pe viitor vor fi disponibile, fr ndoial, plci
interne de modem ADSL.
La cellalt capt al firului, pe partea oficiului final, este instalat un separator de frecvene similar.
Aici este filtrat partea de voce a semnalului i este trimis ctre un comutator de voce normal.
Semnalul de peste 26 KHz este rutat ctre un nou tip de dispozitiv numit DSLAM (Digital
Subscriber Line Access Multiplexer, rom: multiplexor pentru acces la linie digital pentru abonat),
care conine acelai tip de procesor de semnal digital ca i modemul ADSL. Odat ce semnalul digital
recepionat a fost convertit ntr-un ir de bii, sunt formate pachete i acestea sunt trimise ISP-ului.
Aceast separare complet ntre sistemul de voce i ADSL simplific furnizarea serviciilor ADSL
de ctre companiile telefonice. Nu este nevoie dect de cumprarea unui DSLAM i a unui separator,
urmat de ataarea abonailor ADSL la separator. Alte servicii de lime mare de band (de exemplu
ISDN) necesit schimbri mult mai mari la nivelul echipamentelor de comutare deja existente.
Un dezavantaj al soluiei din figura2-29 este prezena NID-ului i a separatorului n locuina cli-
entului. Instalarea acestora se poate face doar de ctre un tehnician al companiei de telefonie, fiind
nevoie de o intervenie special scump (adic de trimiterea unui tehnician la locuina clientului).
Prin urmare, s-a standardizat o variant alternativ fr separator. Neoficial este numit G.lite dar
numrul de standard ITU este G.992.2. Este acelai ca n fig. 2-29, dar fr separator. Linia telefoni-
c existent este folosit fr nici o modificare. Singura diferen este c microfiltrul trebuie s fie
introdus n fiecare muf de telefon dintre telefon sau modem ADSL i fir. Microfiltrul pentru tele-
fon este un filtru-trece-jos care elimin frecvenele mai mari de 3400 Hz; microfiltrul pentru ADSL
este un filtru-trece-sus care elimin frecvenele sub 26 KHz. Oricum, acest sistem nu este la fel de
fiabil ca i cel cu separator, deci G.lite poate fi folosit doar pn la 1,5 Mbps (fa de cei 8 Mbps de la
ADSL cu separator). G.lite are nevoie oricum de separator la oficiul terminal, dar instalarea nu mai
necesit mii de drumuri pentru intervenii la clieni.
ADSL e doar un standard pentru nivelul fizic. Ceea ce ruleaz la nivelurile superioare depinde
de distribuitorul de Internet. Deseori, acesta alege ATM datorit posibilitii ATM-ului de a satisfa-
ce calitatea serviciului i datorit faptului c multe companii telefonice conin ATM la baza reelei.
Bucle locale fr fir
Din 1996 n SUA i ceva mai trziu n alte ri, companiile care doreau s intre n competiie cu
puternicele companii locale de telefonie (fostele monopoluri), numite ILEC (Incumbent LEC, rom:
LEC-uri de facto), sunt libere s o fac. Cei mai probabili candidai sunt companiile de telefoane pe
distan lung (IXC-urile). Orice IXC care dorea s intre n telefonia local trebuia s ndeplineasc
unele condiii. n primul rnd, trebuie s cumpere sau s nchirieze o cldire pentru primul oficiu
terminal dintr-un ora. n al doilea rnd, trebuie s pun comutatoare de telefoane i alte echipa-
mente n oficiul terminal, dispozitive care sunt puse n vnzare de diveri productori. n al treilea
rnd, trebuie tras un cablu cu fibr optic ntre oficiul terminal i cel mai apropiat oficiu, pentru ca
noii consumatori s aib acces la reeaua naional. n al patrulea rnd, trebuie s racoleze clieni, de
obicei prin reclam care anun preuri mai mici i servicii mai bune dect cele ale ILEC.
De aici ncepea parte grea. S presupunem c apar civa clieni. Cum are de gnd noua compa-
nie de telefoane local, numit CLEC (Competitive LEC, rom: LEC competitiv) s conecteze tele-
foanele clienilor la oficiul final proaspt deschis? Obinerea drepturilor necesare i ntinderea fire-
lor sau a fibrei sunt aciuni foarte costisitoare. Mute CLEC-uri au descoperit o alternativ la bucla
tradiional de cablu torsadat: WLL-ul (Wireless Local Loop, rom: bucla local fr fir).
122 NIVELUL FIZIC CAP. 2


ntr-un anumit fel, un telefon fix care folosete o bucl local fr fir seamn cu un telefon mo-
bil, dar sunt trei diferene importante. Prima: clienii din bucla local fr fir doresc deseori Internet
de mare vitez, la viteze care s egaleze ADSL-ul. A doua: noul client nu are probabil nimic mpo-
triv ca un tehnician al CLEC s instaleze o anten mare pe acoperiul su, direcionat ctre oficiul
CLEC. A treia: utilizatorul nu se mut, eliminnd toate problemele de mobilitate i timpii mori
datorai celulelor despre care vom vorbi mai trziu n acest capitol. i astfel se nate o nou indus-
trie: fix fr fir (fixed wireless) (telefonie local i servicii Internet oferite de CLEC pe o bucl loca-
l fr fir).
Dei WLL i-a nceput activitatea semnificativ n 1998, trebuie s ne ntoarcem n 1969 pentru
a-i vedea originile. n acel an, FCC a alocat dou canale TV (de 6MHz fiecare) pentru televiziunea
educativ la 2,1GHz. n anii ce au urmat, au mai fost adugate 31 de canale la 2,5GHz, cu un total
de 198 MHz.
Televiziunea educativ nu a prins, iar n 1998 FCC a retras frecvenele i le-a alocat radioului bi-
direcional. Au fost imediat acaparate de buclele locale fr fir. La aceste frecvene, microundele au
10-12 cm. Au un domeniu de 50 km i penetreaz vegetaia i ploaia destul de bine. Cei 198 MHz
noi din spectru au fot pui n uz pentru buclele locale fr fir ca un serviciu numit MMDS
(Multichannel Multipoint Distribution Service, rom: serviciu de distribuie multicanal multipunct).
MMDS poate fi privit ca un MAN (Reea de acoperire Metropolitan), la fel ca i varul su LMDS
(discutat mai jos).
Marele avantaj al acestui serviciu este c tehnologia este bine stabilit i echipamentele sunt dis-
ponibile. Dezavantajul este c limea de band disponibil este modest i trebuie folosit n comun
de muli utilizatori dintr-o arie geografic desul de mare.
Limea mic de band a MMDS a fcut din undele milimetrice o alternativ interesant. La 28-31
GHz n SUA i 40 GHz n Europa nu se alocau frecvene deoarece este dificil s construieti circuite
integrate cu siliciu att de rapide. Problema a fost rezolvat de inventarea circuitelor integrate cu galiu
i arseniu, deschizndu-se astfel banda milimetric pentru radio-comunicaii. FCC a rspuns cererii
alocnd 1,3 GHz unei noi bucle locale fr fir numit LMDS (Local Multipoint Distribution Service,
rom: serviciu local de distribuie multipunct). Aceast alocare este cea mai mare alocare de lime de
band pe care a fcut-o FCC vreodat. O lime similar este alocat i n Europa, dar la 40 GHz.
Modul de operare al LMDS este prezentat n fig. 2-30. n figur este prezentat un turn cu mai
multe antene, fiecare fiind ndreptat ntr-o alt direcie. Cum razele milimetrice sunt foarte bine di-
recionate, fiecare anten definete un sector, independent de celelalte. La aceast frecven, raza de
aciune este de 2-5 km, ceea ce nseamn c e nevoie de multe turnuri pentru a acoperi un ora ntreg.
Ca i ADSL, LMDS folosete o alocare de lime de band asimetric, favoriznd canalul de re-
cepie. Cu tehnologia curent, fiecare sector poate avea 36 Gbps pentru recepie i 1 Mbps pentru
transmisie, band folosit n comun de toi utilizatorii sectorului. Dac fiecare utilizator activ descar-
c trei pagini de 5 KB pe minut, utilizatorul ocupa in medie 200bps din spectru, ceea ce permite ma-
xim 18000 de utilizatori activi pe sector. Totui, pentru a se menine ntrzierile la un nivel rezonabil,
ar trebui s nu fie mai mult de 9.000 de utilizatori. Cu patru sectoare, ca n fig. 2-30, poate fi deservi-
t o populaie activ de 36.000 de locuitori. Presupunnd ca unul din trei utilizatori este conectat n
momentele de vrf, un singur turn cu patru antene poate deservi 100.000 de oameni ntr-o raz de 5
km fa de turn. Aceste calcule au fost fcute de multe CLEC-uri, dintre care unele au ajuns la con-
cluzia c fcnd o investiie modest n turnuri pentru unde milimetrice pot oferi utilizatorilor viteze
comparabile cu cablul TV la un pre mai mic.

SEC. 2.5 SISTEMUL TELEFONIC 123

Fig. 2-30. Arhitectura unui sistem LMDS.

LMDS are totui cteva probleme. Pentru nceput, undele milimetrice se propag n linie dreap-
t, deci trebuie s existe vizibilitate ntre antena de pe acoperi i turn. O alta este c frunzele absorb
aceste unde destul de bine, deci turnul trebuie s fie suficient de nalt pentru ca drumul pn la an-
ten s treac pe deasupra copacilor. Iar ceea ce pare un drum liber n decembrie s-ar putea s nu
mai fie n iulie, cnd copacii sunt plini de frunze. Ploaia absoarbe i ea aceste unde. Totui, erorile
introduse de ploaie pot fi compensate cu un cod corector de erori sau prin mrirea puterii atunci
cnd plou. Oricum, serviciul LMDS e mult mai probabil s fie introdus mai nti n inuturile usca-
te, s zicem n Arizona, dect n Seattle.
Buclele locale fr fir nu au anse s prind dac nu exist standarde, pentru a ncuraja vnztorii
de echipamente s produc i s asigure clienii c pot schimba CLEC-ul fr s fie nevoie s cum-
pere un alt echipament. Pentru a asigura acest standard, IEEE a ntrunit un comitet numit 802.16
pentru a stabili standardul pentru LMDS. Standardul 802.16 a fost publicat n aprilie 2002. IEEE
numete 802.16 MAN fr fir (wireless MAN). IEEE 802.16 a fost proiectat pentru telefonia digita-
l, acces la Internet, conectarea a dou LAN-uri ndeprtate, emisie radio i TV, precum i pentru
alte utilizri. l vom studia mai n detaliu n cap. 4.
2.5.4 Trunchiuri i multiplexare
Economiile rezultate din scalabilitate joac un rol important n sistemul telefonic. Instalarea i n-
treinerea 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 firul 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, rom: multiplexare cu
124 NIVELUL FIZIC CAP. 2


divizare n frecven) i TDM (Time Division Multiplexing, rom: multiplexare cu divizare n timp). La
FDM, spectrul de frecven este mprit n mai multe canale logice, fiecare utilizator avnd drepturi
exclusive asupra unei anumite benzi de frecven. La TDM, utilizatorii i ateapt rndul (n mod re-
petat, circular), fiecare utilizator obinnd ntreaga band de frecven pentru o scurt perioad.
Difuzarea radio AM ilustreaz ambele metode de multiplexare. Spectrul alocat este de aproape
1MHz, aproximativ ntre 500 i 1500 de KHz. Pentru diferite canale logice (staii) sunt alocate frec-
vene 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 multiple-
xare 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 du-
p un timp o secven de reclame, apoi din nou muzic i aa mai departe. Aceast situaie se nu-
mete 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
Fig. 2-31 ne prezint cum sunt multiplexate trei canale de band vocal folosind FDM. Filtrele li-
miteaz lrgimea de band folosit la 3100 de Hz pe canal de band vocal. Atunci cnd sunt multi-
plexate 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 deplasate n frecven, fiecare cu o valoare 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, poate s apar 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.

Fig. 2-31. Mutliplexarea prin divizare n frecven. (a) Banda de frecven iniial.
(b) Banda deplasat n frecven. (c) Canalul multiplexat.
SEC. 2.5 SISTEMUL TELEFONIC 125

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 multiplexate n banda de 60 pn la 108 KHz. Aceast
unitate este numit 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
i 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 n frecven-
. Aceasta se numete WDM (Wavelength Division Multiplexing, rom: multiplexarea prin divizarea
lungimii de und). Principiul de baz pentru WDM pe fibre este prezentat n fig. 2-32. Aici se ntl-
nesc patru fibre la nivelul unui combinator optic, fiecare cu energia i lungimea de und proprie.
Cele patru raze sunt combinate ntr-o singur fibr comun pentru a fi transmise ctre o destinaie
deprtat. La destinaie, raza este desprit n attea fibre cte au fost iniial. Fiecare fibr de la
destinaie conine un mic filtru special construit, care filtreaz toate lungimile de und mai puin
una. Semnalele rezultate pot fi rutate ctre destinaie sau recombinate n diferite feluri pentru
transmisii multiplexate ulterioare.

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

Aici nu este de fapt nimic nou. Este tot multiplexare prin divizarea n frecven, aplicat la frec-
vene foarte mari. Atta timp ct fiecare canal are propriul domeniu de frecven (lungime de und)
i toate aceste domenii sunt disjuncte, ele pot fi multiplexate mpreun pe o fibr de distan mare.
Singura diferen fa de FDM prezentat anterior este aceea c sistemul optic, folosind o reea de
difracie, este total pasiv i, de aceea, foarte sigur.
Tehnologia WDM a progresat extrem de rapid, umbrind chiar i tehnologia calculatoarelor.
WDM a fost inventat n jurul anului 1990. Primul sistem comercial avea opt canale, fiecare de 2,5
Gbps. n 1998 existau deja pe pia sisteme cu 40 de canale de 2,5 Gbps fiecare. n 2001, existau pro-
126 NIVELUL FIZIC CAP. 2


produse cu 96 de canale de 10 Gbps fiecare, deci un total de 960 Gbps. Aceast lime de band este
suficient pentru a transmite filme ntregi ntr-o secund (format MPEG-2). n laboratoare se lu-
creaz deja la sisteme cu 200 de canale. Atunci cnd numrul de canale este foarte mare i lungimile
de und sunt foarte apropiate, de exemplu la 0,1 nm, sistemul mai este numit i DWDM (Dense
WDM, rom: WDM dens).
Este de remarcat c WDM este foarte popular datorit faptului c energia pe o singur fibr es-
te, de obicei, cuprins ntr-o band de numai civa gigaheri, deoarece n acest moment este impo-
sibil conversia mai rapid de la mediul electric la cel optic. Prin folosirea n paralel a mai multor
canale, de lungimi de und diferite, limea de band crete liniar cu numrul de canale. Din mo-
ment ce banda de frecven a unei singure fibre este de aproximativ 25.000 GHz (vezi fig. 2-6), exist
posibilitatea de a se ajunge la 2500 de canale de 10Gbps fiecare, chiar i la o rat de 1 bit/Hz (fiind
posibile de asemenea i rate mai mari).
O alt direcie de dezvoltare o reprezint toate amplificatoarele optice. nainte vreme, la fiecare
100km era obligatorie separarea tuturor canalelor i conversia fiecrui semnal optic ntr-un semnal
electric; fiecare semnal era amplificat separat nainte de a se face conversia invers, din semnal elec-
tric n semnal optic, urmat de recombinarea semnalelor optice. n prezent, toate amplificatoarele
optice pot regenera ntregul semnal odat la 1000km fr a fi nevoie de conversii multiple ntre sem-
nalele electrice i optice.
n exemplul din fig. 2-32, avem un sistem cu lungimi de und fixe. Unii bii din fibra de intrare 1
trec n fibra de ieire 3, bii din fibra de intrare 2 trec n fibra de ieire 1 etc. Oricum, este posibil s
construim i sisteme WDM comutate. n cazul unui astfel de dispozitiv, filtrele de ieire sunt reglabi-
le folosind interferometre Fabry-Perot sau Mach-Zender. Pentru informaii suplimentare de-
spre WDM i aplicaiile sale n comutarea pachetelor n Internet vezi (Elmirghani i Mouftah,
2000; Hunter i Andonovic, 2000; Listani i alii, 2001)
Multiplexarea prin divizarea n timp
Tehnologia WDM este minunat, dar exist nc multe fire din cupru n reeaua telefonic, deci
s revenim un timp la discuiile referitoare la acestea. Cu toate c FDM este folosit nc pe firele de
cupru sau pe canalele de microunde, ea necesit circuite analogice i nu poate fi realizat de un cal-
culator. Dimpotriv, 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 analogic 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 di-
gitizate i sunt reunite pentru a forma o singur magistral digital. Datele trimise de un calculator
prin modem sunt tot analogice, deci urmtoarea descriere se aplic i pentru acestea. Semnalele
analogice sunt digitizate n oficiul final de un echipament numit codec (codificator/decodificator),
operaie care are ca rezultat o serie de numere de 8 bii. Codec-ul realizeaz 8000 de eantioane pe
secund (125 sec/eantion), deoarece teorema lui Nyquist spune c aceasta rat este suficient pen-
tru a capta toat informaia de pe canalul telefonic de 4 KHz. La o rat mai mic de eantionare, o
parte din informaie ar putea fi pierdut; la o rat mai mare, nu se furnizeaz nici un fel de informa-
ie suplimentar. Aceast tehnic se numete PCM (Pulse Code Modulation, rom: modularea n cod
de impulsuri). PCM constituie nucleul sistemelor telefonice moderne. Ca o consecin, practic toate
intervalele de timp dintr-un sistem telefonic sunt multipli de 125 sec.
SEC. 2.5 SISTEMUL TELEFONIC 127


Fig. 2-33. Purttoarea T1 (1.544 Mbps).

Cnd transmisia digital a nceput s devin o tehnologie accesibil, CCITT nu a fost capabil s
ajung la o soluie cu privire la un standard pentru PCM. n consecin, acum exist o varietate de
scheme incompatibile, folosite n diverse ri din ntreaga lume.
O metod rspndit n America de Nord i Japonia o reprezint purttoarea T1, prezentat n
fig. 2-33. (Din punct de vedere tehnic, formatul se numete DS1 iar purttoarea se numete T1, dar
noi nu vom face aceast deosebire subtil aici). Purttoarea T1 const din 24 de canale vocale multi-
plexate mpreun. De obicei, cele 24 de semnale analogice sunt eantionate pe rnd, iar fluxul ana-
logic rezultat este trecut prin codec, n loc s se utilizeze 24 de codec-uri separate a cror semnale de
ieire s compun ieirea digital. Fiecare canal din cele 24 va introduce 8 bii n secvena de la iei-
re. 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 sec. De aici rezult o vitez de transfer a datelor de 1.544 Mbps. Bitul 193 este
folosit pentru sincronizarea cadrelor, i urmeaz un model de forma 0101010101... . n mod normal,
receptorul verific n continuu acest bit, pentru a fi sigur c nu a pierdut sincronizarea. Dac ntr-
adevr a pierdut tactul, receptorul poate cuta dup acest ablon pentru a se resincroniza. Clienii
analogici nu pot genera un semnal conform cu acest ablon, deoarece el corespunde unei unde sinu-
soidale la 4000 Hz, care ar fi eliminat prin filtrare. Clienii digitali pot, desigur, s genereze un sem-
nal care s respecte acest ablon, dar ansele apariiei lui sunt mici atunci cnd un cadru este pierdut.
Atunci cnd un sistem T1 este folosit integral pentru date, doar 23 de canale sunt folosite pentru
date. Canalul 24 este folosit pentru un ablon de sincronizare special, care permite reluarea mai ra-
pid a funcionrii n cazul n care un cadru este pierdut.
n cele din urm, cnd CCITT a ajuns la o nelegere, a considerat c a folosi 8000 bps de infor-
maie de semnalizare este o exagerare, 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 de niveluri discrete
n loc de 128. Exist dou situaii, incompatibile. n semnalizarea prin canal comun (common-
channel signaling), bitul suplimentar (care este ataat mai degrab n urma, i 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.
128 NIVELUL FIZIC CAP. 2


n cealalt alternativ, semnalizarea pe canale asociate (channel-asssociated signaling), fiecare
canal are propriul su subcanal de semnalizare. Un subcanal privat este constituit prin alocarea unui
bit pentru semnalizare (dintre cei 8 bii utili) la fiecare 6 cadre; astfel, 5 din 6 eantioane sunt de 8
bii lungime, iar ultimul este de doar 7 bii lungime. De asemenea, CCITT a recomandat o purttoa-
re PCM de 2.048 Mbps numit E1. Aceast purttoare are 32 de eantioane de 8 bii, mpachetate n
cadrul de baz de 125 sec. Treizeci dintre aceste canale sunt folosite pentru informaii, iar celelalte
dou sunt folosite pentru semnalizare. Fiecare grup de 4 cadre asigur 64 de bii de semnalizare,
dintre care jumtate sunt folosii pentru semnalizarea pe canalul asociat i jumtate pentru sincroni-
zarea cadrelor sau pentru alte operaii, n funcie de rile unde sunt utilizate. Purttoarea E1 de
2.048 Mbps este larg 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 codifica-
rea vorbirii, ci i pentru digitizarea oricrui semnal analogic. Toate metodele de compactare se ba-
zeaz pe principiul c semnalul se modific relativ ncet n comparaie cu frecvena de eantionare,
deci multe dintre informaiile codificate pe 7 sau 8 bii sunt redundante.
Metoda, numit modulare diferenial n cod de impulsuri (differential pulse code modulation),
const n furnizarea la ieire nu a amplitudinii digitizate, 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 sufi-
cieni 5 bii n loc de 7. Dac semnalul are salturi prea brute, logica de codificare 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 impune ca fiecare valoare eantionat s difere de
precedenta prin +1 sau -1. n aceste condiii, 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-34. 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.

Fig. 2-34. Modularea Delta.

SEC. 2.5 SISTEMUL TELEFONIC 129


Fig. 2-35. Multiplexarea secvenelor T1 n purttoare cu capacitate mai mare.

O mbuntire pentru PCM diferenial se obine dac se extrapoleaz cteva valori precedente
pentru a prezice noua valoare i apoi se codific diferena dintre semnalul actual i cel prevzut. Desi-
gur, 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.
Multiplexarea prin divizare n timp permite ca mai multe purttoare T1 s fie multiplexate m-
preun n purttoare de un grad mai nalt. Fig. 2-35 arat cum se poate face acest lucru. n stnga se
vd patru canale T1 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 T1. Patru secvene T1 la
1.544 Mbps ar trebui s genereze 6.176 Mbps, dar T2 transmite de fapt la 6.312 Mbps. Biii supli-
mentari sunt folosii la ncadrare i la recuperare, n cazul n care purttoarea este pierdut. T1 i T3
sunt folosite pe scar larg de consumatori, n timp ce T2 i T4 sunt folosite numai n cadrul sistemu-
lui de telefonie, deci nu sunt foarte cunoscute.
La nivelul urmtor, apte T2 sunt combinate pentru a forma o secven T3. Apoi ase T3 sunt
grupate pentru a forma o secven T4. La fiecare pas, se adug, pentru ncadrare i recuperare, o
mic suprancrcare n cazul n care sincronizarea dintre transmitor i receptor se pierde.
Aa cum exist nenelegeri privind purttoarea de baz, ntre Statele Unite i restul lumii, tot
aa exist nenelegeri privitoare la modul n care se face multiplexarea n purttoarele de band mai
larg. Ierarhia implementat n S.U.A., care este fcut prin grupuri de 4, 7 i 6 secvene, nu s-a im-
pus ca un standard, standardul CCITT multiplexnd 4 secvene n una singur la fiecare nivel. De
asemenea, ncadrarea i recuperarea datelor se fac diferit. Ierarhia CCITT cu 32, 128, 512, 2048 i
8192 de canale funcioneaz la viteze de 2.048, 8.848, 34.304, 139.264 i 565.148 Mbps.
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 diverse
companii de telecomunicaii pe distane mari, fiecare companie avnd sisteme TDM diferite; a deve-
nit 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, rom: 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, rom: ierarhie digital sincron), dar difer
de SONET numai n mic msur. Practic, aproape tot traficul pe distane mari din Statele Unite i
130 NIVELUL FIZIC CAP. 2


cea mai mare parte a traficului din alte zone folosete acum trunchiuri cu SONET pe nivelul fizic.
Pentru informaii suplimentare vezi (Bellamy 2000; Goralski, 2000; i Shepard, 2001).
Proiectul SONET a urmrit patru obiective principale. Primul i cel mai important, SONET tre-
buia s permit conlucrarea mai multor companii de telecomunicaii. Pentru atingerea acestui obiec-
tiv a fost necesar definirea unui standard comun de codificare a semnalului care s fac referire la
lungimea de und, la sincronizare, la structura cadrelor etc.
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, ns combinate diferit i devenind totodat
incompatibile ntre ele.
n al treilea rnd, SONET trebuia s permit multiplexarea mai multor canale digitale. Atunci
cnd a fost elaborat SONET, cea mai rapid purttoare 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-un canal SONET.
n al patrulea rnd, SONET trebuia s asigure suportul de operare, administrare i ntreinere
(OAM - Operations, Administration, Maintenance). Sistemele precedente nu au realizat acest lucru
foarte bine.
O decizie anterioar era s se fac din SONET 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 principal, cu o
eroare de aproximativ 10
-9
. Biii sunt transmii pe o linie SONET la intervale extrem de precise, con-
trolate de ceasul principal. Atunci cnd comutarea celulelor a fost propus ca baz pentru ATM 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. Cu
SONET, transmitorul i receptorul sunt legai de un ceas comun; cu ATM nu sunt.
Cadrul de baz SONET este un bloc de 810 octei, lansat la fiecare 125 sec. 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 matrice 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 Trans-
port Signal, rom: semnal sincron de transport). Toate trunchiurile SONET sunt multiple de STS-1.
Primele trei coloane ale fiecrui cadru sunt rezervate pentru informaia de administrare a siste-
mului, aa cum este prezentat n fig. 2-36. Primele trei rnduri conin informaia suplimentar (eng:
overhead) pentru seciune; urmtoarele ase conin informaia suplimentar pentru linie. Informaia
suplimentar pentru seciune este generat i verificat la nceputul i la sfritul fiecrei seciuni, n
timp ce informaia suplimentar pentru linie este generat i verificat la nceputul i la sfritul fie-
crei linii.
Un transmitor SONET trimite cadre succesive de 810 octei, fr pauze ntre ele, chiar i atunci
cnd nu exist date de transmis (situaie n care trimite cadre fr semnificaie). Din punct de vedere
al receptorului, informaia este doar un ir continuu de bii, deci cum s tie de unde ncepe un ca-
dru? Rspunsul este c primii doi octei ai fiecrui cadru conin un ablon fix pe care receptorul l
caut. Dac gsete ablonul n acelai loc la mai multe cadre consecutive, presupune ca s-a sincroni-
zat cu transmitorul. Teoretic, un utilizator ar putea trimite acest ablon n informaia util din ca-
SEC. 2.5 SISTEMUL TELEFONIC 131

dru, dar practic acest lucru nu poate fi realizat din cauza multiplexrii mai multor utilizatori n ace-
lai cadru i din alte motive.
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, rom: nveli pentru informaie
util sincron) 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 informaiei suplimentare pen-
tru linie. Prima coloan din SPE este informaia suplimentar pentru cale (adic un antet pentru
protocolul subnivelului de conexiune capt-la-capt).
Posibilitatea ca SPE s nceap oriunde n cadrul SONET i chiar s se ntind pe dou cadre,
aa cum este prezentat n fig. 2-36, confer sistemului un grad suplimentar de flexibilitate. De exem-
plu, dac la surs ajung date n timp ce se construiete un cadru SONET gol, aceste date pot fi inse-
rate n cadrul curent n loc s fie reinute pn la nceputul urmtorului cadru.

Fig. 2-36. Dou cadre SONET succesive.

Ierarhia de multiplexare SONET este prezentat n fig. 2-37. Au fost definite viteze de la STS-1
pn la STS-192. Purttoarea optic pentru STS-n este numit OC-n i este identic bit cu bit cu
STS-n, cu excepia unui rearanjri a biilor folosit pentru sincronizare. Numele SDH sunt diferite i
ncep de la OC-3, deoarece sistemele bazate pe standardele CCITT nu au o vitez de transfer apro-
priat de 51.84 Mbps. Purttorul OC-9 este prezent, deoarece este apropriat de viteza de transfer a
unui trunchi de mare vitez folosit n Japonia. OC-18 i OC-36 sunt folosite n Japonia. La calculul
vitezei de transfer a datelor sunt incluse toate informaiile suplimentare. La calculul vitezei de trans-
fer SPE se exclud informaiile suplimentare pentru linie i seciune. Pentru a determina viteza de
transfer a datelor utile este exclus orice informaie suplimentar, fiind luate n consideraie numai
cele 86 de coloane puse la dispoziie pentru datele utile.
Ca un comentariu suplimentar, reinei c atunci cnd o purttoare, cum este OC-3, nu este
multiplexat, dar transport date de la o singur surs, se adaug la notaie litera c (de la concatena-
re), astfel c OC-3 indic o purttoare de 155,52 Mbps care const din trei purttoare OC-1 diferite,
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 coloa-
na din secvena 2, apoi coloana 1 din secvena 3, urmat de coloana 2 din secvena 1 i aa mai de-
parte, ceea ce conduce la un cadru de 270 de coloane i 9 rnduri.
132 NIVELUL FIZIC CAP. 2


SONET SDH Rata de date (Mbps)
Electric Optic Optic Total SPE Client
STS-1 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
STS-192 OC -192 STM-64 9953.28 9621.504 9510.912

Fig. 2-37. Ratele de multiplexare pentru SONET i SDH.
2.5.5 Comutarea
Din punctul de vedere al unui inginer obinuit specialist n telefonie, sistemul telefonic se mpar-
te 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 i co-
mutarea de pachete. Vom face n continuare cte o scurt introducere pentru fiecare dintre cele dou
tehnici. Apoi vom studia n detaliu comutarea de circuite, acesta fiind modul de funcionare actual al
sistemul telefonic. Comutarea de pachete va fi studiat n detaliu n capitolele care urmeaz.
Comutarea de circuite
Atunci cnd formezi tu sau calculatorul tu un numr de telefon, echipamentele de comutare
din sistemul telefonic caut o cale fizic ntre telefonul tu i telefonul apelat. Aceast tehnic se
cheam comutare de circuite i este prezentat schematic n fig. 2-38(a). Fiecare dintre cele 6 drept-
unghiuri reprezint un oficiu de comutare al companiei de telecomunicaii (oficiu final, oficiu de
taxare etc.). n 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; aceste legturi sunt reprezentate n figur de liniile punctate.
n primele zile ale telefoniei, legtura era fcut de un operator care conecta un cablu n mufele
de intrare i de ieire. De fapt, exist i o povestioar simpatic legat de invenia echipamentelor de
comutare automat a circuitelor. Aceste echipamente au fost inventate n secolul XIX de un propri-
etar al unei firme de Pompe Funebre din Missouri, pe nume Almon B. Strowger. Puin timp dup ce
telefonul a fost inventat, cnd cineva a murit, unul dintre supravieuitori ar fi sunat operatorul orau-
lui i spunnd: V rog, facei-mi legtura cu o firm de Pompe Funebre. Din pcate pentru dom-
nul Strowger, existau dou firme de Pompe Funebre n ora, iar proprietarul celeilalte era soul ope-
ratoarei telefonice a oraului. Domnul Strowger i-a dat repede seama c fie va inventa echipamen-
tul telefonic de comutare automat, fie va renuna la afacere. A ales prima opiune. Timp de 100 de
ani, echipamentele de comutare a circuitelor au fost cunoscute 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 ntrebri de genul Care este numrul de telefon al
unei firme de Pompe Funebre ?).

SEC. 2.5 SISTEMUL TELEFONIC 133


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

Modelul prezentat n fig. 2-39(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
multiplexate mii de convorbiri. n orice caz, ideea de baz este valid: odat ce apelul a fost stabilit,
exist o cale dedicat ntre cele dou capete i va continua s existe pn cnd convorbirea se termin.
Alternativa la comutarea circuitelor este comutarea de pachete, descris n fig. 2-38(b). n cazul
acestei tehnologii, se vor trimite pachete individuale la cerere, fr ca o cale dedicat s fie construi-
t n prealabil. Fiecare pachet trebuie s-i gseasc singur drumul ctre destinaie.
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 numru-
lui i pn cnd se aude sunnd telefonul apelat poate ajunge uor la 10 sec, chiar mai mult pe dis-
tane mari sau n cazul convorbirilor internaionale. n acest interval de timp, sistemul telefonic caut
un drum prin cupru, dup cum e prezentat n fig. 2-39(a). De remarcat c, nainte ca transmisia de
date s poat ncepe, semnalul de apel trebuie s se propage pn la destinaie. Pentru multe aplica-
ii pe calculator (de ex. verificarea creditului la punctul de vnzare), se dorete evitarea perioadelor
lungi de setare.
Ca o consecin a cii rezervate dintre cele dou pari care vorbesc, odat ce conexiunea a fost
realizat, singura ntrziere a datelor este dat de timpul de propagare a semnalului electromagne-
tic, de aproximativ 5 ms la 1000 Km. Totodat, ca o consecin a prestabilirii traseului, pericolul de
congestie dispare aceasta nseamn c, odat ce apelul s-a efectuat, nu vei mai primi semnalul
ocupat. Desigur, poi primi semnalul ocupat nainte de a stabili legtura, datorit imposibilitii
de comutare sau a capacitii insuficiente a trunchiului.

134 NIVELUL FIZIC CAP. 2



Fig. 2-39. Apariia evenimentelor n (a) comutarea de circuite.
(b) comutarea de mesaje. (c) comutarea de pachete

Comutarea de mesaje
O alternativ la strategia de comutare de circuite este comutarea de mesaje, prezentat n
fig. 2-39(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, pas cu pas. Fiecare bloc
este recepionat n ntregime, verificat pentru a detecta eventualele erori i apoi retransmis. Dup
cum a fost menionat n cap. 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 care era
apoi citit i transmis pe o linie de comunicaie ctre urmtorul oficiu de pe traseu, unde era perfo-
rat pe o alt band de hrtie. Un operator de acolo rupea banda de hrtie i o citea pe unul din mul-
tele 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). Benzile de hrtie nu mai se folo-
sesc i nici comutarea mesajelor, deci nu vom mai discuta acest subiect n aceast carte.
SEC. 2.5 SISTEMUL TELEFONIC 135

Comutarea de pachete
n cazul comutrii de mesaje, nu exist nici o limit a dimensiunii blocului, ceea ce nseamn c
ruterele (din sistemele moderne) necesit discuri pentru memorarea unor blocuri mari. De aseme-
nea, 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, aa cum a fost descris n cap. 1. Reelele cu comutare de pachete fixeaz o
limit superioar precis pentru dimensiunea blocului, permind pachetelor s fie pstrate n me-
moria principal a ruterului, n loc s fie salvate 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 comuta-
rea de mesaje este prezentat n fig. 2-39(b) i (c): primul pachet al unui mesaj multi-pachet poate fi
transmis mai departe nainte ca cel de-al doilea pachet s fie complet recepionat, micornd ntrzi-
erea i mbuntind productivitatea. Din aceste motive, reelele de calculatoare folosesc, de obicei,
comutarea de pachete, ocazional, comutarea de circuite, dar niciodat comutarea de mesaje.
Comutarea de circuite i comutarea de pachete difer n multe privine. Pentru nceput, comuta-
rea de circuite necesit construirea unui circuit ntre transmitor i receptor nainte s nceap co-
municaia. Comutarea de pachete nu are nevoie de pregtiri prealabile. Primul pachet poate fi trimis
atunci cnd este disponibil.
Rezultatul unei conexiuni stabilite cu comutare de circuite este rezervarea lrgimii de band pe
tot traseul de la transmitor la receptor. Toate pachetele urmeaz aceast cale. Faptul c toate pa-
chetele urmeaz aceeai cale nseamn c nu pot ajunge la destinaie n alt ordine dect aceea n
care au fost trimise. La comutarea cu pachete nu exist o cale, deci pachete diferite pot urma ci
diferite, n funcie de condiiile de reea din momentul n care sunt trimise. Acestea pot ajunge n
alt ordine dect cea iniial.
Comutarea cu pachete este mult mai tolerant la erori dect comutarea cu circuite. De fapt,
acesta este motivul pentru care a fost inventat. Dac un comutator se defecteaz, toate circuitele
care l folosesc se termin i nu se mai poate face trafic pe acestea. n cazul comutrii cu pachete,
pachetele pot fi redirecionate astfel nct s poat ocoli comutatoarele defecte.
De asemenea, rezervarea unei ci ofer posibilitatea rezervrii de lime de band. Dac limea
de band e rezervat, atunci cnd un pachet ajunge la destinaie el este transmis imediat mai depar-
te. n cazul comutrii de pachete, limea de band nu este rezervat, i deci pachetele ar putea a-
tepta pn s fie trimise mai departe.
Prin rezervarea limii de band se asigur c nu poate s apar congestie cnd sosete un pachet
(doar dac apar mai multe pachete dect sunt ateptate). Pe de alt parte, cnd se ncearc stabilirea
unui circuit, exist posibilitatea unui eec datorat congestiei. Deci, congestia poate interveni la mo-
mente diferite n cazul comutrii de circuite (la stabilirea circuitului) i n cazul comutrii de pachete
(la transmisia pachetele).
Dac un circuit a fost rezervat pentru un anumit utilizator i nu exist trafic, limea de band a
circuitului e irosit, i nu poate fi folosit pentru alt trafic. Comutarea de pachete nu irosete lime
de band, deci este mai eficient dintr-o perspectiv de ansamblu. nelegerea acestui compromis este
crucial pentru nelegerea diferenei dintre comutarea de circuite i comutarea de pachete. Com-
promisul este ntre serviciul garantat cu resurse irosite i serviciul negarantat cu resurse neirosite.
Comutarea de pachete folosete transmisia de tip memoreaz-i-trimite. Un pachet e salvat n
memoria unui ruter, apoi trimis ctre urmtorul ruter. n cazul comutrii de circuite, biii curg conti-
nuu prin fir. n cazul comutrii de pachete, transmisia memoreaz-i-trimite adaug o ntrziere.
136 NIVELUL FIZIC CAP. 2


O alt diferen este transparena complet a comutrii de circuite. Transmitorul i receptorul
pot folosi orice vitez de transfer, orice format sau orice metod de formare a cadrului. Compania
de telecomunicaii nu cunoate aceste lucruri i nici nu este interesat de ele. n cazul comutrii de
pachete, compania de telecomunicaie determin parametrii de baz. O analogie grosier ar fi o
comparaie ntre osea i calea ferat. n cazul celei dinti, utilizatorul determin mrimea, viteza i
natura vehiculului; n cazul celei de-a doua, acest lucru l face societatea de cale ferat. Aceast
transparen face posibil coexistena vocii, a faxurilor 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 circuite, acesta a fost bazat de la nceput pe distan i timp. De obicei, pen-
tru telefoanele mobile distana nu conteaz, excepie fcnd convorbirile internaionale, iar timpul
are doar un rol minor (de exemplu un abonament cu 2000 de minute gratuite cost mai mult dect
unul cu 1000 de minute gratuite, iar uneori convorbirile n timpul nopii i n weekend sunt mai iefti-
ne dect n mod normal). La comutarea de pachete, timpul de conectare nu conteaz, dar volumul
de trafic da. Pentru utilizatorii simpli, distribuitorii de Internet taxeaz o anumit sum lunar pentru
c e mai puin de lucru pentru ei i mai uor de neles de ctre clieni, dar reelele de infrastructur
taxeaz reelele regionale pe baza volumului de trafic. Diferenele sunt prezentate n fig. 2-40.

Criteriu Comutarea de circuite Comutarea de pachete
Realizarea conectrii Necesar Nu e necesar
Cale fizic dedicat Da Nu
Fiecare pachet urmeaz aceiai cale Da Nu
Pachetele ajung n ordine Da Nu
Defectarea unui comutator e fatal Da Nu
Banda de frecven disponibil Fix Dinamic
Cnd poate s apar congestia La momentul setrii La fiecare pachet
Banda de frecven eventual risipit Da Nu
Transmisia memoreaz i transmite Nu Da
Transparen Da Nu
Taxarea Pe minut Pe pachet

Fig. 2-40. 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 importan-
te, vom reveni la ele n curnd i vom prezenta n detaliu diversele tehnologii folosite.


2.6 SISTEMUL DE TELEFONIE MOBIL
Sistemul tradiional de telefonie (chiar dac uneori nseamn fibr optic multi-megabit), nu va
putea satisface un grup tot mai mare de utilizatori: oamenii n micare. Oamenii se ateapt s efec-
tueze convorbiri telefonice din avion, din main, din piscin sau n timp ce alearg prin parc. Nu
mai departe de civa ani se vor atepta s trimit e-mail-uri i s navigheze pe Internet din toate
aceste locuri i din altele. Prin urmare, exist un interes extrem de mare n telefonia fr fir. n urm-
toarele paragrafe vom studia n detaliu acest subiect.
Telefoanele fr fir exist n dou variante de baz: telefoanele fr fir i telefoanele mobile
(uneori numite i celulare). Telefoanele fr fir sunt dispozitive constnd dintr-o staie baz i un
SEC. 2.6 SISTEMUL DE TELEFONIE MOBIL 137

receptor, vndute ca set pentru uzul casnic. Aceste dispozitive nu sunt folosite pentru reele, deci nu
le vom mai prezenta n continuare. n schimb ne vom concentra asupra telefoanelor mobile, care
sunt folosite pentru comunicaia de date i voce pe arii mari.
Telefoanele mobile sunt mprite n trei generaii, fiecare cu o tehnologie diferit:

1. Voce analogic.
2. Voce digital.
3. Voce i date (Internet, e-mail, etc.) digital.

Dei mare parte a discuiei se va referi la tehnologia acestor sisteme, e interesant de vzut n ce
fel politica i micile decizii de marketing pot avea un impact uria. Primul sistem mobil din SUA a
fost inventat de AT&T i extins la nivelul ntregii ri de FCC. Drept urmare, pe tot teritoriul SUA
era un singur sistem (analogic), iar un telefon cumprat n California funciona i n New York. n
contrast, cnd telefonia mobil a ajuns n Europa, fiecare ar i-a inventat propriul sistem, rezultatul
fiind un fiasco.
Europa a nvat din propriile greeli i cnd s-a pus problema digitizrii, guvernele s-au ntlnit
i au standardizat un singur sistem (GSM), aa nct orice telefon mobil european s poat funciona
oriunde n Europa. Pn atunci, SUA hotrse c guvernul nu ar trebui s intervin n procesul de
standardizare, deci a lsat digitizarea pe mna pieei. Aceast decizie a dus la telefoane diferite, fa-
bricate de productori diferii. Drept urmare, SUA are dou sisteme digitale mari incompatibile
(plus nc unul mai mic).
n ciuda unui avans iniial n SUA, deinerea i folosirea unui telefon mobil n Europa este mult
mai mare ca n SUA. Crearea unui singur sistem pentru toat Europa este unul din motive, dar mai
sunt i altele. Un al doilea domeniu unde Europa i SUA se difereniaz este problema atribuirii
numerelor de telefon. n SUA, numerele de telefoane mobile sunt amestecate cu cele de telefoane
normale (fixe). Deci, este imposibil pentru o persoan care sun , s zicem la (212) 234+5678 s tie
dac e un post telefonic fix (mai ieftin sau gratis) sau un telefon mobil (convorbire scump). Pentru a
preveni enervarea oamenilor la folosirea telefoanelor, companiile telefonice au decis ca posesorul
telefonului mobil s plteasc apelurile recepionate. Drept urmare, muli oameni au ezitat sa-i
cumpere un telefon mobil de fric s nu ajung cu o not de plat foarte mare doar pentru c au fost
sunai. n Europa, telefoanele mobile au un prefix special (analog numerelor cu 800 si 900) deci sunt
foarte uor de recunoscut. Prin urmare, regula c acela care sun pltete se aplic i telefoanelor
mobile n Europa (cu excepia convorbirilor internaionale, unde costul este mprit).
Un al treilea aspect care a avut un impact semnificativ este folosirea telefoanelor prepltite n Eu-
ropa, (pn la 75 % n unele zone). Acestea pot fi cumprate din multe magazine, cu ct mai puine
formaliti, nu mai multe dect pentru cumprarea unui radio. Plteti i pleci. Acestea sunt prencr-
cate cu, de exemplu, 20 sau 50 Euro i pot fi rencrcate (folosind un cod PIN secret) cnd suma se
termin. n consecin, practic fiecare adolescent i muli dintre copiii mici din Europa au telefoane
mobile (de obicei prencrcate), pentru ca prinii s i poat gsi, fr s existe pericolul unei note de
plat imense pentru telefonul copilului. Dac telefonia mobil e folosit doar ocazional, este practic
gratuit, din moment ce nu exist o tax lunar sau taxare pentru apelurile recepionate.
2.6.1 Prima generaie de telefoane mobile: Voce analogic
Am discutat suficient despre politica i aspectele de marketing ale telefoanelor mobile. Acum s
ne uitm la tehnologie, pornind cu primele sisteme. Radiotelefoanele mobile au fost folosite spora-
138 NIVELUL FIZIC CAP. 2


dic, 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 emi-
torul 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
poliie folosesc deseori aceast tehnologie.
n 1960 a fost instalat IMTS (Improved Mobile Telephone System, rom: sistem mbuntit de
telefonie mobil). i acesta folosete un emitor de mare putere (200 W), amplasat pe vrful unui
deal, dar 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 desf-
oar 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 distribuite 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 ase-
menea, 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. n concluzie, sistemul a fost imprac-
ticabil datorit posibilitilor limitate.
Sistemul avansat de telefonie mobil
Totul s-a schimbat odat cu AMPS (Advanced Mobile Phone System, rom: sistem avansat de te-
lefonie mobil), inventat de Bell Labs i instalat pentru prima dat n S.U.A. n 1982. Sistemul a fost
folosit i n Anglia, unde purta denumirea TACS i n Japonia, unde se numea MCS-L1. Dei nu mai
este la mod, l vom studia mai n detaliu, deoarece multe din proprietile sale fundamentale au fost
motenite de succesorul sau digital, D-AMPS, din considerente de compatibilitate.
n toate sistemele de telefonie mobil, o regiune geografic e mprit n celule i de aceea tele-
foanele sunt uneori numite telefoane celulare. n AMPS, o celula are de obicei 10 pn la 20 km
lime; n sistemele digitale celulele sunt mai mici. Fiecare celul folosete un set de frecvene, nefo-
losit de nici unul dintre vecinii si. Ideea de baz care confer sistemelor celulare o capacitate semni-
ficativ mai mare dect a tuturor sistemelor anterioare, const n folosirea de celule relativ mici i
refolosirea frecvenelor de transmisie n celule apropiate (dar nu adiacente). n timp ce ntr-un sis-
tem IMTS de 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 10 pn la 15 apeluri pe
fiecare frecven, n celule separate de distane mari. Astfel, proiectarea celular determin crete-
rea capacitii sistemului cu cel puin un ordin de mrime, cu att mai mult cu ct celulele devin mai
mici. Mai mult, celulele de dimensiuni reduse necesit puteri mici, ceea ce implic folosirea de
transmitoare mai ieftine i de dimensiuni mai mici. Telefoanele de mn emit 0,6W; emitoarele
de pe maini au de obicei 3 W, valoarea maxim permis de FCC.
Ideea refolosirii frecvenelor este ilustrat n fig. 2-41(a). n mod normal, celulele sunt aproxima-
tiv circulare, dar ele pot fi modelate mai uor ca hexagoane. n fig. 2-41(a), celulele au toate aceeai
dimensiune. Ele sunt grupate mpreun n uniti de 7 celule. Fiecare liter indic un grup de frec-
vene. Trebuie remarcat c pentru fiecare set de frecvene exist o zon tampon, de lime aproxi-
mativ egal cu dublul mrimii unei celule, n care acea frecvena nu este refolosit, realiznd astfel o
delimitare mai bun i o interferen sczut.
SEC. 2.6 SISTEMUL DE TELEFONIE MOBIL 139

O problem major o constituie gsirea locurilor nalte pentru instalarea antenelor staiei de ba-
z. Aceast problem a determinat pe unii furnizori de servicii de telecomunicaii s ncheie contrac-
te 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 supran-
crcat, se reduce puterea, iar celulele suprancrcate se divizeaz n microcelule, pentru a permite
mai multe refolosiri de frecvene, aa cum este artat n fig. 2-41(b). Determinarea dimensiunii ma-
xime a celulelor constituie o problem complex i este tratat n (Hac, 1995).

Fig. 2-41. (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 ctre care transmit toate telefoanele din celul.
Staia de baz cuprinde un calculator i un emitor/receptor conectat la o anten. ntr-un sistem de
dimensiuni reduse, toate staiile de baz sunt conectate la un singur dispozitiv, denumit MTSO (Mo-
bile Telephone Switching Office, rom: oficiu de comutare pentru telefonie mobil) sau MSC (Mobi-
le Switching Center, rom: centru de comutare mobil). ntr-un sistem de dimensiuni mari, pot fi nece-
sare mai multe MTSO-uri, toate acestea conectndu-se la un al doilea nivel MTSO i aa mai
departe. MTSO-urile sunt n esen oficii finale ca i n sistemul telefonic i sunt de fapt conecta-
te la cel puin un oficiu final din sistemul telefonic. MTSO-urile comunic ntre ele, cu staiile de
baz i cu PSTN-ul folosind o reea cu comutare de pachete.
n orice moment, orice telefon mobil se afl, n mod logic, ntr-o anumit celul i sub controlul
staiei de baz a celulei respective. Cnd un telefon mobil prsete o celul, staia sa de baz sesi-
zeaz o scdere a semnalului dinspre telefon i ntreab toate staiile de baz nconjurtoare ct de
puternic este semnalul pe care l recepioneaz 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 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 ca-
nalul 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.
140 NIVELUL FIZIC CAP. 2


Timpii mori pot fi eliminai n dou feluri. ntr-un timp mort soft telefonul e luat n primire de
noua staie de baz nainte ca staia veche s l cedeze. Astfel, nu apare nici o discontinuitate. Partea
proast a acestei variante este c telefonul trebuie s fie capabil s se seteze pe dou frecvene n
acelai timp (cea veche i cea nou). Nici telefoanele de prim generaie, nici cele de generaia a
doua nu pot face acest lucru.
ntr-un timp mort hard, vechea staie de baz deconecteaz telefonul nainte ca staia nou s l
preia. Dac noua staie de baz nu poate s preia telefonul (de ex. pentru c nu exist nici o frecven-
disponibil), convorbirea se termin brusc. Utilizatorii constat acest lucru, dar cteodat situaia
este inevitabil din cauza modului n care sunt proiectate telefoanele actuale.
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 sim-
plex pentru recepie de la 869 la 894 MHz. Fiecare din aceste canale simplex are o lime de 30 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 deviate 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 puin mai trziu, dup ce este deviat de pmnt sau cldiri. Aceasta poate s conduc la un efect
de ecou sau la distorsionarea semnalului (atenuare multi-ci). Uneori este posibil s se aud chiar i o
convorbire ndeprtat care a suferit mai multe deviaii. Cele 832 de canale se mpart n patru categorii:

1. Comand (baza ctre mobil) pentru gestionarea sistemului.
2. Semnalizare (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.

Pentru comenzi sunt rezervate douzeci i unu de canale i acestea sunt fixate n fiecare telefon
ntr-un PROM. Deoarece aceleai frecvene nu pot fi refolosite n celule nvecinate, numrul real de
canale de voce 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 prepro-
gramat cu 21 canale de comand, pentru a descoperi semnalul cel mai puternic.
Apoi telefonul difuzeaz propriul numr serial de 32 de bii i numrul de telefon de 34 de bii.
Ca orice alt informaie de comand din AMPS, acest pachet este transmis n form digital, de mai
multe ori i cu un cod corector de erori, dei canalele de voce 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 la fiecare aproximativ 15 minute.
Pentru a face un apel, un utilizator de telefon 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 pe canalul de acces apare o coliziune, se ncearc din nou mai tr-
ziu. Atunci cnd primete o cerere, staia de baz informeaz MTSO-ul. Dac apelantul este un cli-
ent al companiei MTSO (sau unul din parteneri), MTSO-ul caut un canal liber pentru apel. Dac
SEC. 2.6 SISTEMUL DE TELEFONIE MOBIL 141

se gsete unul, numrul canalului este transmis napoi pe canalul de comand. Telefonul mobil co-
mut apoi automat pe canalul de voce selectat i ateapt pn cnd partea apelat ridic telefonul.
Apelurile primite acioneaz diferit. La nceput, toate telefoanele libere ascult continuu canalul
de semnalizare (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 un 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 transmite apoi pe canalul de semnalizare (paging) un mesaj de
difuzare de forma urmtoare: Unitatea 14, eti acolo?. Telefonul apelat rspunde apoi cu Da pe
canalul de acces. Baza spune apoi ceva de genul Unitatea 14, ai un apel pe canalul 3. n acest mo-
ment, telefonul apelat comut pe canalul 3 i ncepe s sune (sau cnt o melodie pe care proprieta-
rul a primit-o cadou de ziua lui).
2.6.2 A doua generaie de telefoane mobile: Voce digital
Prima generaie de sisteme celulare a fost analogic. Cea de-a doua generaie este digital. Aa
cum nu a existat o standardizare la prima generaie, nu a existat nici la a doua. Patru sisteme se folo-
sesc n prezent. D-AMPS, GSM, CDMA i PDC. Mai jos le vom discuta pe primele trei. PDC e fo-
losit doar n Japonia i este practic D-APMS modificat pentru a respecta compatibilitatea cu siste-
mul analogic de prim generaie din Japonia. Numele de PCS (Personal Communications Services,
rom: serviciu de comunicaii personale) este folosit cteodat n literatura de marketing pentru a
indica un sistem de generaia a doua (adic digital). Iniial se referea la un telefon mobil care folosea
banda de 1900 MHz, dar distincia nu se mai face acum.
D-AMPS Sistem digital avansat de telefonie mobil
A doua generaie a sistemelor AMPS este D-AMPS (The Digital Advanced Mobile Phone
System, rom: sistem digital avansat de telefonie mobil) i este complet digital. Este descris n Stan-
dardul Internaional IS-54 i n succesorul acestuia, IS-136. D-AMPS a fost proiectat cu atenie pen-
tru a coexista cu AMPS, aa nct ambele generaii de telefoane mobile , i cele de prim generaie i
cele de a doua, s poat opera simultan n aceeai celul. D-AMPS folosete aceleai canale de
30KHz ca i AMPS i aceleai frecvene, astfel nct un canal poate fi analogic i cele adiacente digi-
tale. n funcie de ponderile tipurilor telefoanelor dintr-o celul, MTSO-ul celulei determin care
canale sunt analogice i care sunt digitale i poate modifica dinamic tipul canalului, dup cum se
schimb ponderile telefoanelor n celul.
Cnd D-AMPS a fost introdus ca serviciu, s-a adugat o nou band de frecven disponibil
pentru a gestiona ncrcarea care se atepta s creasc. Canalele ascendente (de transmisie) erau n
domeniul de frecvene 1880-1910 MHz, iar cele descendente (de recepie) corespunztoare erau n
domeniul 1930-1990 MHz, organizate tot n perechi, ca i la AMPS. n aceast band, undele au 16
cm lungime, aa c antena standard din lungimea de und este de numai 4 cm, rezultnd astfel
telefoane mai mici. Oricum, multe telefoane D-AMPS pot folosi att banda de 850 MHz ct i pe
cea de 1900 MHz, pentru a avea un domeniu mai mare de canale disponibile.
Pe un telefon mobil D-AMPS, semnalul de voce captat de microfon este digitizat i compresat
folosind un model mai complicat dect varianta cu modulaie delta i codificare predictiv studiat
mai devreme. Compresia ia n considerare proprieti detaliate ale vocii umane pentru a transforma
lrgimea de band standard de la codarea PCM (56 Kbps) la 8 Kbps sau mai puin. Compresia este
realizat de un circuit numit vocoder (Bellamy,2000). Compresia este fcut n telefon, i nu n staia
142 NIVELUL FIZIC CAP. 2


de baz sau la oficiul final, pentru a se reduce numrul de bii trimii prin aer. n cazul telefoniei fixe,
nu exist nici un beneficiu dac se face compresia n telefon, pentru c reducerea traficului pe bucla
local nu mrete deloc capacitatea sistemului.
La telefonia mobil se ctig att de mult prin digitizarea i compresia n telefon, nct la D-
AMPS trei utilizatori pot mpri o pereche de frecvene folosind multiplexarea prin divizare n timp.
Fiecare pereche de frecvene suport 25 cadre/sec, adic 40 ms pentru fiecare cadru. Fiecare cadru
este mprit n ase intervale de timp de cte 6,67 ms, dup cum se arat n fig. 2-42(a) pentru cea
mai joas pereche de frecvene.
Fiecare cadru cuprinde trei utilizatori, care stau la rnd pentru a transmite i a recepiona. n
timpul intervalului 1 din fig. 2-42 (a), de exemplu, utilizatorul 1 poate transmite ctre staia de baz
i utilizatorul 3 recepioneaz de la staia de baz. Fiecare interval cuprinde 324 de bii, dintre care
64 sunt folosii pentru timpii de gard, sincronizare i comand, lsnd 260 de bii pentru informaia
util utilizatorului. Dintre biii de informaie util, 101 sunt folosii pentru corectarea erorilor dato-
rate mediului aerian perturbat i n final rmn doar 159 de bii pentru semnalul de voce comprimat.
Avnd 50 de intervale/sec, limea de band disponibil pentru semnalul de voce comprimat este
puin sub 8 Kbps, adic 1/7 din lrgimea de band standard de la PCM.

Fig. 2-42. (a) Un canal S-AMPS cu trei utilizatori. (b) un canal D-AMPS cu ase utilizatori

Folosind algoritmi de compresie mai buni este posibil s se reduc datele de voce la 4 Kbps, caz n
care ase utilizatori pot fi cuprini ntr-un cadru, dup cum se arat n fig. 2-42(b). Din punctul de vede-
re al operatorului, posibilitatea de a nghesui de trei sau de ase ori mai muli utilizatori D-AMPS n
acelai spectru dedicat unui singur utilizator de AMPS este un ctig uria i aa se explic popularita-
tea PCS-ului. Bineneles, calitatea vorbirii la 4 Kbps nu se compar cu cea atins la 56 Kbps, dar puini
operatori PCS i fac reclame cu referire la calitatea sunetului. De asemenea, ar trebui s fie clar c,
pentru date, un canal de 8 Kbps nu este nici mcar la fel de bun ca un antic modem de 9600 bps.
Structura de comand a D-AMPS este destul de complicat. Descriere sumar: grupuri de 16
cadre formeaz un supercadru, cu informaii de comand specifice prezente n fiecare supercadru de
un numr limitat de ori. ase canale principale de comand sunt folosite pentru configurarea siste-
mului, comanda n timp real sau offline, semnalizare, rspunsul la cererea de acces i mesajele scur-
te. n principiu, funcioneaz ca un AMPS. Cnd un mobil este deschis, el contacteaz staia de baz,
pentru a-i anuna apariia, i apoi ascult pe un canal de comand eventualele apeluri. Cnd recep-
ioneaz un mobil nou, MTSO informeaz baza utilizatorului despre locul unde se afl acesta, pen-
tru a se putea ruta corect convorbirile.
SEC. 2.6 SISTEMUL DE TELEFONIE MOBIL 143

O diferen ntre AMPS i D-AMPS este modul n care se trateaz timpii mori. n AMPS,
MTSO se descurc singur, fr nici un ajutor de la dispozitivul mobil. Dup cum se poate vedea n
fig. 2-42, n D-AMPS, 1/3 din timp telefonul nici nu trimite nici nu primete. Ele folosesc acest timp
pentru a msura calitatea liniei. Cnd descoper c semnalul ncepe s slbeasc, anun MTSO,
care apoi poate ntrerupe conexiunea, moment n care mobilul poate ncerca s se conecteze la o
alt staie de baz cu un semnal mai puternic. La fel ca la AMPS, acest timp mort dureaz totui
300msec. Aceast tehnic se numete MAHO (Mobile Assisted HandOff, rom: timpi mori asistai
de mobil).
GSM Sistemul global pentru comunicaii mobile
D-AMPS este larg folosit n SUA i (ntr-o form modificat) n Japonia. Practic, n rest, peste
tot n lume se folosete un sistem numit GSM (Global System for Mobile Communications, rom:
sistemul global pentru comunicaii mobile), care a nceput s fie folosit i n SUA la o scar limitat.
La o privire general, GSM este similar D-AMPS-ului. Amndou sunt sisteme celulare. n ambele
sisteme se folosete multiplexarea prin divizarea de frecven, fiecare mobil transmind pe o frec-
ven i recepionnd pe una mai ridicat (cu 80 MHz mai mare pentru D-AMPS i cu 55 MHz mai
mare pentru GSM). De asemenea, n ambele sisteme se folosete multiplexarea cu divizare n timp
pentru a mpri o singur pereche de frecvene n intervale de timp folosite n comun de mai multe
dispozitive mobile. Oricum, canalele GSM sunt mult mai largi dect canalele AMPS (200kHz fa
de 30 KHz) i servesc doar civa utilizatori n plus (8 fa de 3), permind GSM-ului o rat de
transmisie per utilizator mult mai mare dect la D-AMPS.
Mai jos vom discuta pe scurt unele dintre proprietile principale ale GSM. Oricum, standardul
GSM are peste 5000 [sic] de pagini. O mare parte din acest material se refer la aspecte inginereti
ale sistemului, n special la proiectarea receptoarelor pentru a fi capabile s gestioneze propagarea
semnalelor pe mai multe ci, i sincronizarea transmitoarelor i receptoarelor. Nici unul dintre
acestea nu va fi menionat n continuare.

Fig. 2-43. GSM folosete 124 canale de frecven, fiecare dintre ele folosind
un sistem TDM cu opt intervale

144 NIVELUL FIZIC CAP. 2


Fiecare band de frecven are 200 KHz, dup cum se arat n fig. 2-43. Un sistem GSM are 124 de
perechi de canale simplex. Fiecare canal simplex, are 200 KHz i suport opt conexiuni diferite, folo-
sind multiplexarea prin divizarea n timp. Fiecrei staii active la momentul respectiv i se atribuie un
interval de timp dintr-o pereche de canale. Teoretic, pot fi suportate 992 de canale n fiecare celul, dar
multe dintre ele nu sunt disponibile, pentru a se evita conflictele de frecven, cu celulele vecine. n fig.
2-43, toate cele opt intervale de timp marcate aparin aceleiai conexiuni, cte patru dintre ele n fieca-
re direcie. Transmisia i recepia nu se fac n acelai interval de timp pentru c aparatele GSM nu pot
trimite i primi n acelai timp i dureaz pn se face comutarea ntre emisie i recepie. Dac staia
mobil asociat frecvenei 890.4/935.4 MHz i intervalului de timp 2 ar vrea s transmit la staia de
baz, trebuie s foloseasc acele patru intervale de timp inferioare (i pe cele care le urmeaz cronolo-
gic), punnd informaie n fiecare interval pn cnd toat informaia este transmis.
Intervalele TDM prezentate n fig. 2-43 fac parte dintr-o ierarhie complex de cadre. Fiecare in-
terval TDM are o structur specific, iar grupurile de intervale TDM formeaz multicadre, i acestea
avnd o structur specific. O variant simplificat a acestei ierarhii este prezentat n fig. 2-44. Aici
putem vedea c fiecare interval TDM const dintr-un cadru de 148 de bii care ocup canalul pentru
577 s (incluznd i un timp de gard de 30 s dup fiecare interval). Fiecare cadru de date ncepe i
se termin cu trei bii de 0, pentru aliniere. De asemenea conine dou cmpuri de informaie de 57
de bii, fiecare avnd un bit de comand care spune dac urmtorul cadru va fi de date sau de voce.
ntre cmpurile de informaie se afl un cmp de 26 de bii de sincronizare (antrenare) care este folo-
sit de receptor pentru sincronizarea la extremitile cadrului de la transmitor.
Fig. 2-44. Un fragment din structura de cadre GSM

Un cadru de date e transmis n 547 sec, dar un transmitor are voie s trimit cte un cadru de
date la fiecare 4,615 msec, deoarece este pe acelai canal cu alte apte staii. Rata total a fiecrui
canal este de 270.833 bps, mprit ntre opt utilizatori. Aceasta nseamn 33.854 Kbps n total, mai
mult dect dublu fa de D-AMPS, 324 de bii de 50 de ori pe secund, adic 16,2 Kbps. Oricum, ca
i la APMS, informaia suplimentar consum o mare parte din lrgimea de band, lsnd 24,7 Kbps
fiecrui utilizator pentru informaia util, nainte de corectarea erorilor. Dup corectarea erorilor,
SEC. 2.6 SISTEMUL DE TELEFONIE MOBIL 145

13 Kbps rmn pentru voce, rezultnd o calitate mult mai bun dect la D-AMPS (dar folosind mai
mult lime de band).
Dup cum se poate vedea n fig. 2-44, opt cadre de date formeaz un cadru TDM i 26 cadre
TDM formeaz un multicadru de 120 msec. Dintre cele 26 de cadre TDM dintr-un multicadru, ca-
drul 12 e folosit pentru comand, iar cadrul 25 e rezervat pentru o utilizare ulterioar, deci numai 24
sunt disponibile efectiv pentru traficul utilizatorilor.
Oricum, pe lng multicadrul de 26 de intervale din fig. 2-44, se folosete un multicadru de 51 de
intervale (nu este desenat). Unele dintre aceste intervale sunt folosite pentru a menine cteva cana-
le de comand folosite pentru gestiunea sistemului. Canalul de difuzare a comenzii este un flux con-
tinuu de ieire de la staia de baz, care conine elemente pentru identificarea staiei i starea canalu-
lui. Toate staiile mobile i monitorizeaz puterea semnalului, pentru a constata dac s-au mutat
ntr-o celul nou.
Canalul dedicat de comand este folosit pentru actualizarea locaiei, nregistrarea i setrile con-
vorbirii. n particular, fiecare staie de baz reine o baz de date a staiilor mobile care se afl sub
jurisdicia sa. Informaiile necesare pentru a menine aceast baz de date se trimit pe canalul dedi-
cat de comand.
n sfrit, exist canalul comun de comand, care este mprit n trei subcanale logice. Primul
dintre ele este canalul de semnalizare, pe care staiile de baz l folosesc pentru a anuna apelurile
primite. Fiecare mobil monitorizeaz continuu acest canal pentru a vedea dac sunt convorbiri la
care trebuie s rspund. Al doilea este canalul de acces aleator, care le permite utilizatorilor s cea-
r un loc pe canalul dedicat de comand. Dac dou cereri intr n coliziune, ele sunt bruiate i am-
bele trebuie s ncerce mai trziu. Folosind canalul dedicat de comand, staiile pot iniializa un apel.
Intervalul primit este anunat prin cel de al treilea subcanal, canalul de acces permis.
CDMA Acces multiplu cu divizarea codului
D-AMPS i GSM sunt sisteme convenionale. Amndou folosesc FDM i TDM pentru a m-
pri spectrul n canale i canalele n intervale de timp. Mai exist totui un al treilea tip, CDMA
(Code Division Multiple Acces, rom: acces multiplu cu divizarea codului) care funcioneaz complet
diferit. Cnd CDMA a fost propus prima dat, industria i-a rspuns cu aceeai atitudine cu care re-
gina Isabella i-a rspuns lui Columb cnd acesta i-a propus s ajung n India navignd n direcia
opus. Totui, prin insistena unei singure companii, Qualcomm, CDMA s-a maturizat ntr-att nct
nu este doar acceptat, ci este acum vzut ca fiind cea mai bun soluie tehnic disponibil i de baz
pentru sistemele mobile de generaia a treia. De asemenea, n SUA se folosete pe scar larg n
sistemele de generaia a doua, concurnd cu D-AMPS. Spre exemplu, Sprint PCS folosete CDMA,
iar AT&T Wireless folosete D-AMPS. CDMA este descris n standardul internaional IS-95 i une-
ori este referit cu acest nume. Numele de marc cdmaOne este de asemenea folosit.
CDMA e complet diferit de AMPS, D-AMPS i GSM. n loc s se mpart domeniul de frecven-
e disponibil n cteva sute de canale mici, CDMA permite fiecrei staii s transmit tot timpul n
tot spectrul. Mai multe transmisii simultane sunt separate folosind teoria codrii. CDMA renun la
ideea c toate cadrele care intr n coliziune sunt total bruiate. n schimb, mai multe semnale recep-
ionate vor fi sumate liniar.
nainte de a prezenta algoritmul, s considerm analogia cu o sal de ateptare a unui aeroport
cu mai multe perechi de oameni discutnd. TDM ar nsemna c toi oamenii sunt n centrul ncpe-
rii, dar vorbesc pe rnd. FDM ar nsemna c fiecare om este ntr-un col, fiecare vorbete n acelai
timp cu ceilali, dar independent de ei. CDMA ar nsemna c fiecare persoan este n centrul nc-
146 NIVELUL FIZIC CAP. 2


perii, toi vorbesc n acelai timp, dar fiecare pereche de vorbitori converseaz ntr-o limb diferit.
Cei ce vorbesc n francez ascult doar ceea ce este n francez, ignornd orice nu este n limba fran-
cez. Astfel, cheia CDMA este posibilitatea de a extrage semnalul dorit i de a respinge restul de
semnale. O descriere simplificat a CDMA este prezentat mai jos.
n CDMA durata fiecrui bit este divizat n m intervale scurte numite felii (eng.: chips). n mod
normal sunt 64 sau 128 de felii pe bit, dar n exemplul de mai jos vom folosi doar opt pentru simplifi-
care. Fiecare staie are un cod unic pe m bii numit secven de felii (chip sequence). Pentru a trans-
mite un bit 1, o staie trimite propria secven de felii. Pentru a transmite un bit 0, trimite
complementul fa de unu al secvenei sale de felii. Nici un alt ablon nu este permis. Deci, pentru
m=8, dac staiei A i este asociat secvena 00011011, ea trimite un bit 1 trimind 0001011 i un bit
0 trimind 11100100.
Creterea cantitii de informaie de trimis de la b bii/sec la mb felii/sec se poate face doar dac
lrgimea de band disponibil crete de m ori, fcnd din CDMA o form de comunicaie cu spectru
larg, (presupunnd c nu se fac schimbri n tehnicile de modulaie sau codificare). Dac avem o
band de 1MHz pentru 100 de staii, folosind FDM fiecare ar avea 10 KHz i ar trimite 10Kbps
(presupunnd un bit pe Hz). Cu CDMA, fiecare staie folosete toat banda de 1 MHz, deci rata
feliilor este de 1 Mega pe secund. Cu mai puin de 100 de felii 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.

Fig.2-45. Secvenele de felii binare pentru patru staii. (b) Secvenele de felii bipolare.
(c) ase exemple de transmisii. (d) Recuperarea semnalului staiei C

SEC. 2.6 SISTEMUL DE TELEFONIE MOBIL 147

Din motive pedagogice, este mai convenabil folosirea unei notaii bipolare, cu 0 binar reprezentat
ca -1 i 1 binar reprezentat ca +1. Vom scrie secvenele de felii n paranteze, deci un bit 1 pentru staia
A devine (-1 -1 -1 +1 +1 -1 +1 +1). n fig. 2-45(a) sunt prezentate secvenele de felii binare asociate
celor patru staii luate ca exemplu. n fig. 2-45(b) ele sunt prezentate n notaia noastr bipolar.
Fiecare staie are propria sa secven de felii. Vom folosi simbolul S pentru a indica vectorul de
m felii pentru staia S, i S pentru negaia sa. Toate secvenele de felii sunt ortogonale pe perechi,
prin aceasta nelegnd c produsul scalar normat al oricror dou secvene distincte de achii S i T
(notat ca ST) este 0. Se cunoate cum se genereaz asemenea secvene de felii ortogonale, folosind
metoda codurilor Walsh. n termeni matematici, ortogonalitatea secvenelor de felii poate fi expri-
mat dup cum urmeaz:

0
1
1
=

=
m
i
i i
T S
m
T S (2-4)

Altfel spus, toate perechile care se pot forma sunt diferite ntre ele. Aceast proprietate de orto-
gonalitate se va dovedi crucial mai trziu. De notat c dac ST=0 atunci i S T =0. Produsul sca-
lar normat al oricrei secvene de felii cu ea nsi este 1:


= = =
= = = =
m
i
m
i
i
m
i
i i
m
S
m
S S
m
1 1
2 2
1
1 ) 1 (
1 1 1
S S

Acest lucru se ntmpl deoarece fiecare din cei m termeni ai produsului scalar este 1 deci suma
este m. De asemenea se observ c S S = -1.
n timpul fiecrui interval de bit, o staie poate s transmit un 1 emind propria secven de fe-
lii, sau poate transmite un 0 emind complementul secvenei sale de felii, sau poate s nu transmit
nimic. Pentru moment, vom presupune c toate staiile sunt sincronizate n timp, deci toate secven-
ele de felii 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 felie trei staii emit +1 i una -1, rezultatul este +2. Putem privi
aceasta ca pe o adunare de tensiuni: trei staii emit +1 volt i o staie emite -1volt, rezultnd 2 voli.
n fig. 2-45(c) avem ase exemple de una sau mai multe staii transmind simultan. n primul
exemplu, C transmite un bit de 1, deci avem doar secvena de felii a lui C. n al doilea exemplu, att
B ct i C transmit bii de 1, deci vom obine suma secvenelor lor de felii bipolare, i anume:

(-1 -1 +1 -1 +1 +1 +1 -1) + (-1 +1 -1 +1 +1 +1 -1 -1) = (-2 0 0 0 +2 +2 0 -2).

n cel de al treilea exemplu, staia A emite un 1 iar staia B emite un 0. Celelalte tac. n al patru-
lea exemplu, A i C emit cte un bit 1, n timp ce B emite un 0. n al cincilea exemplu, toate cele 4
staii emit cte un bit 1. n final, n ultimul exemplu, A, B i D emit cte un bit 1, n timp ce C emite
un bit 0. S notm c fiecare dintre cele ase secvene, S
1
S
6
, date n fig. 2-45(c), reprezint durata
unui singur bit.
Pentru a reface irul de bii al unei staii individuale, receptorul trebuie s cunoasc dinainte sec-
vena de felii a staiei. El face recuperarea calculnd produsul scalar normat ntre secvena de felii
recepionat (suma liniar a tuturor staiilor care au transmis) i secvena de felii a staiei al crei ir
de bii ncearc s-l refac. Dac secvena de felii recepionat e S i receptorul ncearc s asculte
de la o staie a crei secven de felii e C, atunci va calcula doar produsul scalar normat SC.
148 NIVELUL FIZIC CAP. 2


Pentru a vedea de ce se ntmpl aa, imaginai-v dou staii A i C, ambele transmind un bit
1 n acelai timp n care B transmite un bit 0. receptorul primete suma S=A+B +C i calculeaz:

SC= (A+B +C) C = AC +B C + CC=0+0+1=1

Primii doi termeni dispar, deoarece toate perechile de secvene de felii au fost alese cu grij pen-
tru a fi ortogonale, ca n ecuaia (2-4). Acum ar trebui s fie clar de ce aceast proprietate trebuie
impus secvenelor de felii.
Un alt mod de a gndi relativ la aceast situaie este de a ne imagina toate cele trei secvene de
felii sosite separat, n loc s fie nsumate. Atunci receptorul ar calcula produsul scalar cu fiecare n
parte i ar aduna rezultatele. Datorit proprietii de ortogonalitate, toate produsele scalare n afar
de CC ar fi 0. Adunndu-le i apoi fcnd produsul lor scalar, este de fapt acelai lucru cu calculul
produselor scalare, i adunarea acestora.
Pentru a concretiza procesul de decodificare, s considerm din nou cele ase exemple din fig. 2-
45(c), ilustrat din nou n 2.45(d). S presupunem c receptorul e interesat de extragerea bitului tri-
mis de staia C din fiecare din cele ase sume S
1
S
6
. Se calculeaz acest bit prin nsumarea perechi-
lor de produse ntre vectorul S recepionat i vectorul C din figura2-45(b), lund apoi 1/8 din rezultat
(pentru c 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
orict de mult, aa cum i capacitatea unui canal Nyquist fr zgomote poate fi mrit orict de mult,
prin utilizarea unui numr tot mai mare de bii pe eantion. n practic, limitrile fizice reduc consi-
derabil capacitatea. La nceput, am presupus c toate feliile sunt sincronizate n timp. n realitate,
aceasta este imposibil de realizat. Ceea ce se poate face este ca emitorul i receptorul s se sincro-
nizeze prin expedierea de ctre emitor a unei secvene de felii cunoscute, suficient de lung pentru
ca receptorul s o poat localiza. Astfel, toate celelalte transmisii (nesincronizate) sunt percepute ca
un zgomot aleator. Dac ele nu sunt prea numeroase, algoritmul fundamental de decodificare func-
ioneaz, totui, destul de bine. Exist mult teorie referitoare la suprapunerea secvenei de felii pes-
te nivelul de zgomot (Pickholtz, i alii 1982). Aa cum v putei atepta, cu ct secvena de felii 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 felii 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. Nivelu-
rile de putere, recepionate la staia de baz depind de ct de departe sunt emitorii. n acest caz, o
euristic bun este ca fiecare staie mobil s emit ctre staia de baz la un nivel complementar de
putere fa de cel primit de la staia de baz. Altfel spus, o staie mobil care recepioneaz un sem-
nal slab va folosi mai mult putere dect una care primete un semnal puternic. De asemenea, staia
de baz d comenzi explicite ctre staiile mobile pentru a-i crete/descrete puterea de transmisie.
De asemenea, am presupus c receptorul tie cine este emitorul. n principiu, dat fiind sufici-
ent putere de calcul, receptorul poate asculta toi emitorii n acelai timp, prin rularea algoritmu-
lui de decodificare pentru fiecare dintre ei n paralel. n viaa real, este de ajuns s spunem c e mai
uor de zis dect de fcut. De asemenea, CDMA are muli ali factori care complic soluia i care
au fost comentai n aceast scurt introducere. Totui, CDMA este o schem inteligent care este
rapid introdus pentru comunicaii mobile fr fir. n mod normal, opereaz ntr-o band de 1.25
SEC. 2.6 SISTEMUL DE TELEFONIE MOBIL 149

MHz (fa de 30 KHz pentru D-AMPS i 200 KHz pentru GSM), dar suport n aceeai band mai
muli utilizatori dect oricare dintre celelalte sisteme. n practic, lrgimea de band disponibil
pentru fiecare utilizator este cel puin la fel de bun ca la GSM i deseori mult mai bun.
Inginerii care doresc s neleag foarte bine CDMA ar trebui s citeasc (Lee i Miller, 1998). O
schem alternativ de mprtiere, n care mprtierea se face n timp, i nu n frecven, este descri-
s n (Crespo et al., 1995). nc o schem este descris n (Sari et al., 2000). Toate aceste referine
necesit ceva cunotine n ingineria comunicaiilor.
2.6.3 A treia generaie de telefoane mobile: Voce digital i date
Care este viitorul n telefonia mobil? S aruncm o privire rapid. Un numr de factori dirijeaz
industria. n primul rnd, traficul de date depete deja traficul de voce pe reeaua fix i crete
exponenial, pe cnd traficul de voce este constant. Muli experi din industrie se ateapt ca traficul
de date s domine traficul de voce i pe dispozitivele mobile, ct de curnd. n al doilea rnd, indus-
triile telefonice, de divertisment i de calculatoare au devenit toate digitale i converg rapid. Muli
oameni i doresc un dispozitiv uor, portabil care s se comporte ca un telefon, CD player, DVD
player, terminal pentru pota electronic, interfa Web, staie pentru jocuri, procesor de text, i chi-
ar mai mult, totul nsoit de conectivitate internaional fr fir la Internet cu lrgime de band ridi-
cat. Dispozitivul i modul de conectare al acestuia sunt ceea ce nseamn generaia a treia de tele-
fonie mobil. Pentru mai multe informaii, vezi (Huber et al., 2000; i Sarikaya, 2000).
n 1992, ITU a ncercat s fie mai precis n ceea ce privete acest vis i a iniiat un plan pentru a-i
atinge scopul, numit IMT-2000, unde IMT nseamn International Mobile Telecommunications
(rom: Telecomunicaii Mobile Internaionale). Numrul 2000 vine de la trei lucruri: (1) anul n care
trebuia s intre n utilizare, (2) frecvena la care trebuia s funcioneze (n MHz), i (3) lrgimea de
band pe care serviciul trebuia s o aib (n KHz).
Nu a reuit n nici unul dintre aspectele propuse. Nimic nu a fost implementat pn n 2000. ITU
a recomandat ca toate guvernele s rezerve spectru la 2 GHz, astfel nct dispozitivele s comunice
fr redirectri ntre ri. China a rezervat respectiva band de frecven, dar nimeni altcineva nu
mai fcut la fel. n sfrit, a fost recunoscut c 2 Mbps nu este n prezent posibil pentru utilizatori
care sunt prea mobili (datorit dificultii de a realiza schimburile suficient de repede). Mai realist
este 2 Mbps pentru utilizatori staionari, n spaii nchise (ceea ce va rivaliza direct cu ADSL), 384
Kbps pentru oameni care merg, i 144 Kbps pentru conexiuni din maini. Oricum, ntreaga arie a
3G, dup cum este denumit, este un larg domeniu de activitate. A treia generaie se poate s fie un
pic mai puin dect se atepta i un pic mai trzie, dar este sigur c va aprea.
Principalele servicii pe care reeaua IMT-2000 ar trebui s le ofere utilizatorilor si sunt:

1. Transmisie de voce de nalt calitate.
2. Mesagerie (nlocuirea potei electronice, fax-ului, SMS-ului, chat-ului etc.).
3. Multimedia (muzic, vizualizare video, filme, televiziune) .
4. Acces la Internet (navigare pe Web, inclusiv pagini cu audio i video).

Servicii adiionale ar putea fi videoconferinele, prezentrile televizate, jocurile n grup i comer-
ul mobil (fluturarea mobilului ctre casier pentru a plti ntr-un magazin). Mai mult, toate aceste
servicii ar trebui s fie disponibile oriunde pe glob (prin conectare automat printr-un satelit atunci
cnd nici o reea terestr nu poate fi localizat), instant (ntotdeauna conectat), i cu garanii pentru
calitatea serviciului.
150 NIVELUL FIZIC CAP. 2


ITU a imaginat o singur tehnologie internaional pentru IMT-2000, astfel nct fabricanii s
poat construi un singur dispozitiv care s fie vndut i folosit oriunde n lume (cum ar fi CD player-
ele i calculatoarele i nu cum sunt telefoanele mobile i televizoarele). O singur tehnologie ar face
viaa mult mai simpl i pentru operatorii de reea i ar ncuraja mai muli oameni s foloseasc ser-
viciile. Rzboaiele de format, cum a fost cel dintre Betamax i VHS atunci cnd au aprut videocase-
tofoanele, nu sunt benefice pentru afaceri.
Au fost fcute cteva propuneri, iar dup mai multe trieri au rmas n discuie dou propuneri
mai interesante. Prima, W-CDMA, adic Wideband CDMA (rom: CDMA de band larg), a fost
propus de Ericsson. Acest sistem folosete secven direct n spectru larg de tipul descris mai sus.
Funcioneaz la o lrgime de band de 5 MHz i a fost proiectat s interacioneze cu reele GSM
actuale, fr a ncerca s includ i compatibilitatea cu versiuni GSM anterioare. Are, totui, propri-
etatea c un apelant poate prsi o celul W-CDMA i poate intra ntr-o celul GSM fr a pierde
apelul. Acest sistem a fost puternic susinut de Uniunea European, care l-a numit UMTS (Univer-
sal Mobile Telecommunications System, rom: sistem universal de telecomunicaii mobile) .
Cealalt propunere a fost CDMA2000, propus de Qualcomm. i acesta este un proiect bazat pe
secvena direct n spectru larg, fiind de fapt o extensie a lui IS-95 i compatibil cu acesta. Folosete
de asemenea o band de frecven de 5 MHz, dar nu a fost proiectat s interacioneze cu GSM i
nu poate redirecta apeluri ctre o celul GSM (sau o celul D-AMPS). Alte diferene tehnice fa
de W-CDMA sunt vitezele de cip diferite, timpii de cadre diferii, spectru diferite i moduri diferite
de sincronizare.
Dac inginerii de la Ericsson i de la Qualcomm ar fi fost nchii ntr-o singur camer i li s-ar fi
spus s gseasc o soluie comun, probabil c ar fi reuit. De fapt, principiul de baz din spatele
ambelor sisteme este CDMA ntr-un canal de 5 MHz i nimeni nu vrea s moar pentru viteza de
cip preferat. Necazul este c problema real nu este ingineria, ci politica (ca de obicei). Europa a
vrut un sistem care s poat interaciona cu GSM, iar S.U.A. doreau un sistem care s fie compatibil
cu unul deja popular n Statele Unite (IS-95). n plus, fiecare parte a sprijinit compania local (Erics-
son este originar din Suedia, iar Qualcomm este din California). n fine, Ericsson i Qualcomm au
fost implicate n numeroase procese privind patentele asupra respectivelor proiecte CDMA.
n martie 1999, cele dou companii au terminat cu procesele atunci cnd Ericsson a fost de acord
s cumpere infrastructura Qualcomm. S-au neles de asemenea asupra unui singur standard 3G, dar
unul cu multe opiuni incompatibile, care pn la urm recunoate pe hrtie diferenele tehnice.
Aceste dispute fiind ncheiate, dispozitivele 3G i serviciile ar putea ncepe s apar n viitorii ani.
Multe s-au scris despre sistemele 3G, multe lucrri ludndu-le ca pe cel mai mare lucru de la
pinea feliat ncoace. Unele referine sunt (Collins i Smith, 2001; De Vriendt et al., 2002; Harte et
al., 2002; Lu, 2002 i Sarikaya, 2000). Totui, unii pesimiti nc mai cred c industria se ndreapt n
direcia greit (Garber, 2002 i Goodman, 2000).
n ateptarea sfritului disputei asupra 3G, unii operatori fac cu pruden un pas mic i atent n
direcia 3G prin a merge spre ceea ce este numit uneori 2.5G, dei 2.1G este mai exact. Un astfel de
sistem este EDGE (Enhanced Data rates for GSM Evolution, rom: viteze de transfer de date mrite
pentru evoluia GSM), ceea ce este chiar GSM cu mai muli bii pe baud. Problema este c mai
muli bii pe baud nseamn mai multe erori pe baud, astfel c EDGE dispune de nou scheme dife-
rite de modulare i corectare de erori, n funcie de ce parte din band este dedicat corectrii erorilor
introduse de viteza mai mare.
O alt schem 2.5G este GPRS (General Packet Radio Service, rom: serviciul radio pentru pa-
chete generice), care este o reea de pachete generale peste D-AMPS sau GSM. Ea permite staiilor
SEC. 2.7 TELEVIZIUNEA PRIN CABLU 151

mobile s trimit i s primeasc pachete IP ntr-o celul folosind sistemul pentru voce. n timpul
operrii GPRS, unele intervale de timp ale unor frecvene sunt rezervate pentru traficul de pachete.
Numrul i poziia intervalelor pot fi administrate dinamic de ctre staia de baz, n funcie de ra-
portul ntre de trafic de voce i de date din celul.
Intervalele de timp disponibile sunt mprite n cteva canale logice, folosite n diverse scopuri.
Staia de baz determin alocarea de canale logice peste intervalele de timp. Un canal logic este uti-
lizat pentru preluarea de pachete de la staia de baz la o staie mobil, fiecare pachet indicnd cui i
este destinat. Pentru a trimite un pachet IP, o staie mobil solicit unul sau mai multe intervale de
timp prin trimiterea unei cereri la staia de baz. Dac aceast cerere ajunge fr probleme, staia de
baz anun frecvena i intervalele de timp alocate mobilului pentru a trimite pachetul. O dat ce
pachetul a ajuns la staia de baz, este transferat n Internet printr-o conexiune cu fir. Deoarece
GPRS este doar un nivel suplimentar suprapus peste sistemul de voce deja existent, el reprezint n
cel mai bun caz o soluie de umplere a golului pn la sosirea lui 3G.
Dei reelele 3G nu sunt complet dezvoltate deocamdat, unii cercettori privesc 3G ca pe o afa-
cere ncheiat i, deci, care nu mai prezint interes. Aceti oameni lucreaz deja la sistemele 4G
(Berezdivin et al., 2002; Guo i Chaskar, 2002; Huang i Zhuang, 2002; Keller et al., 2002; i Misra et
al., 2002). Unele dintre caracteristicile propuse pentru sistemele 4G includ lrgime de band mare,
omniprezen (conectivitate oriunde), integrare simpl cu reelele cablate i mai ales cu IP, adminis-
trare de resurse i spectru, transmisii radio software i calitatea serviciilor pentru aplicaii multimedia.
Pe de alt parte, sunt amenajate la tot pasul o sumedenie de puncte de acces pentru LAN-urile
fr fir 802.11, astfel nct unii oameni cred c 3G este nu numai o afacere nencheiat, ci i c este
condamnat la dispariie. n aceast viziune, oamenii se vor plimba de la un punct de acces 802.11 la
altul pentru a rmne conectai. A spune c industria este ntr-o continu cretere este doar o
imens subestimare. Revenii la aceast discuie peste 5 ani, ca s vedei ce s-a ntmplat.


2.7 TELEVIZIUNEA PRIN CABLU
Am studiat pn acum att sistemele de telefonie fix ct i pe cele de telefonie fr fir n mod
egal. Ambele vor juca un rol important n reelele viitorului. Totui, o nou alternativ disponibil
pentru reelele fixe devine acum un juctor important: reelele de televiziune prin cablu. Muli oa-
meni primesc deja telefonul i serviciile Internet prin cablu, iar operatorii de cablu muncesc din greu
pentru a-i crete cota pe pia. n urmtoarele paragrafe vom privi mai n detaliu televiziunea prin
cablu ca sistem de reele i l vom compara cu sistemele de telefonie pe care tocmai le-am studiat.
Pentru mai multe informaii despre televiziunea prin cablu, vezi (Laubach et al.,2001; Louis, 2002;
Ovadia,2001; i Smith, 2002).
2.7.1 Televiziune prin antena colectiv
Televiziunea prin cablu fost conceput la sfritul anilor 1940 ca un mijloc de a oferi recepie mai
bun oamenilor care triau n zone rurale sau muntoase. Iniial, sistemul era format dintr-o anten
mare montat pe vrful unui deal pentru a capta semnalul de televiziune din aer, un amplificator,
152 NIVELUL FIZIC CAP. 2


numit amplificator terminal (eng: head end), pentru a spori puterea semnalului, i un cablu coaxial
pentru a transmite semnalul n casele oamenilor, dup cum este ilustrat n fig. 2-46.
n primii ani, televiziunea prin cablu era numit televiziune prin antena colectiv. Se asemna
foarte mult cu o operaie mama-i-tata; oricine era destul de ndemnatic la electronic putea pune
la punct un serviciu pentru oraul lui, pentru ca apoi utilizatorii s participe la plata costurilor. Deoa-
rece numrul de abonai a crescut, au trebuit adugate cabluri n derivaie din cablul original i s-au
adugat noi amplificatoare acolo unde a fost nevoie de ele. Transmisia era ntr-un singur sens, de la
amplificatorul din capt, de lng anten, spre utilizatori. Pn n 1970, existau mii de astfel de sis-
teme independente.

Fig. 2-46. Un sistem primitiv de televiziune prin cablu

n 1974, Time Inc., a pus bazele unui nou canal, Home Box Office, cu coninut nou (filme) i dis-
tribuit doar prin cablu. Au urmat alte canale distribuite doar pe cablu, cu tiri, sport, gastronomie i
multe alte subiecte. Aceast dezvoltare a dat natere la dou schimbri n industrie. n primul rnd,
mari corporaii au nceput s cumpere sisteme de cablu deja existente i s ntind noi cabluri pentru a
atrage noi abonai. n al doilea rnd, exista acum cerina de a se conecta mai multe sisteme de cablu,
adesea aflate n orae ndeprtate, pentru a fi distribuite canalele noi de televiziune prin cablu. Com-
paniile de cablu au nceput s ntind cabluri ntre oraele lor pentru a le conecta pe toate ntr-un sis-
tem unic. Acest model a fost analog cu ceea ce s-a ntmplat n industria telefonic n urm cu 80 de
ani n cazul conectrii oficiilor periferice izolate pentru a face posibile apelurile la distan mare.
2.7.2 Internet prin cablu
De-a lungul anilor sistemul de cablu a crescut i cablurile dintre diversele orae au fost nlocuite cu
fibr cu lrgime de band mare, similar cu ceea ce s-a ntmplat n sistemul telefonic. Un sistem cu
fibr pentru transportul pe distane lungi i cu cablu coaxial pn la casele clienilor este numit sistem
HFC (Hybrid Fiber Coax, rom: hibrid fibrcoaxial). Convertoarele electro-optice folosite pentru
interfaarea prilor optice i electrice ale sistemului sunt numite noduri de fibr. Pentru c lrgimea
de band a fibrei este mult mai mare dect cea a cablului coaxial, un nod de fibr poate alimenta mai
multe cabluri coaxiale. O parte a unui sistem HFC modern este prezentat n fig. 2-47(a).
n ultimii anii, muli operatori de cablu au decis s intre n afaceri legate de accesul la Internet, i
adesea i n afaceri legate de telefonie. Totui, diferenele tehnice dintre centralele de cablu i cele
de telefon au efecte semnificative asupra operaiilor care trebuie fcute pentru a atinge aceste sco-
puri. De exemplu, toate amplificatoarele unidirecionale din sistem trebuie nlocuite cu amplifica-
toare bidirecionale.
SEC. 2.7 TELEVIZIUNEA PRIN CABLU 153


Fig. 2-47. (a) Televiziune prin cablu. (b) Sistemul de telefonie fix.

Totui, exist ntre sistemul HFC din fig. 2-47(a) i sistemul telefonic din fig. 2-47(b) o diferen
care este mult mai greu de nlturat. n inima cartierelor, un singur cablu este utilizat n comun de
mai multe case, pe cnd n sistemul telefonic, fiecare cas are propria bucl local. Cnd este folosit
pentru difuzarea televiziunii, aceast utilizare multipl nu joac nici un rol. Toate programele sunt
difuzate pe cablu i nu are nici o importan dac sunt 10 telespectatori sau 10.000 de telespectatori.
Cnd acelai cablu este utilizat pentru acces la Internet, conteaz foarte mult dac sunt 10 utilizatori
sau 10.000. Dac unul dintre utilizatori se decide s preia de pe Internet un fiier foarte mare, lrgi-
mea de band respectiv este teoretic luat de la ali utilizatori. Cu ct sunt mai muli utilizatori, cu
att este mai mare competiia pentru lrgimea de band. Sistemul telefonic nu are aceast caracte-
154 NIVELUL FIZIC CAP. 2


ristic: salvarea unui fiier foarte mare prin intermediul unei linii ADSL nu reduce banda de frec-
ven a vecinului. Pe de alt parte, lrgimea de band a cablului coaxial este mult mai mare dect
cea a perechilor torsadate.
Soluia prin care industria cablului a rezolvat aceast problem a fost separarea cablurilor lungi i
conectarea fiecreia dintre buci direct la un nod de fibr. Lrgimea de band de la amplificator
pn la fiecare nod de fibr este teoretic infinit, aa c atta timp ct nu sunt foarte muli abonai
pe fiecare segment de cablu, cantitatea de trafic este rezonabil. n prezent, cablurile obinuite de-
servesc 500-2000 de case. Din ce n ce mai muli oameni se aboneaz la Internet prin cablu, aa c
ncrcarea ar putea s devin prea mare, necesitnd mai multe separri i mai multe noduri de fibr.
2.7.3 Alocarea de spectru
Renunarea la toate canalele TV i utilizarea infrastructurii de cablu strict pentru accesul la In-
ternet ar genera probabil un numr considerabil de clieni iritai, astfel nct companiile de cablu
ezit s fac acest lucru. Mai mult, cele mai multe orae cenzureaz serios ceea ce este pe cablu, ast-
fel c operatorii de cablu nu ar putea face acest lucru nici dac ar dori ntr-adevr. Ca o consecin, a
fost nevoie s se gseasc o modalitate ca televiziunea si Internetul sa coexiste pe acelai cablu.
Canalele televiziunii prin cablu din America de Nord ocup n mod normal regiunea de 54-550
MHz (mai puin regiunea de la 88 la 108 MHz, atribuit radioului FM). Aceste canale au 6 MHz
lime, inclusiv benzile de siguran. n Europa, limita inferioar este de obicei de 65 MHz i canale-
le au 6-8 MHz lime pentru rezoluia mai nalt cerut de PAL i SECAM, dar altfel schema de
alocare este similar. Partea de jos a benzii nu este folosit. De asemenea, cablurile moderne pot
opera cu mult peste 550 MHz, adesea la 750 MHz sau mai mult. Soluia aleas a fost introducerea
de canale ascendente n banda 5-42 MHz (ceva mai sus n Europa) i utilizarea frecvenelor de la
limita superioar pentru canale descendente. Spectrul cablului este ilustrat n fig. 2-48.
Fig. 2-48. Alocarea frecvenelor ntr-un sistem tipic de TV prin cablu folosit pentru acces la Internet

Observai c din momentul n care semnalele de televiziune sunt toate descendente, este posibil
s se foloseasc amplificatoare ascendente care funcioneaz doar n regiunea 5-42 MHz i amplifi-
catoare descendente care funcioneaz doar la 54 MHz i mai sus, dup cum se vede n figur. Ast-
fel, obinem o asimetrie ntre benzile ascendente i descendente, pentru c este disponibil mai mult
spectru deasupra spectrului televiziunii, dect sub acesta. Pe de alt parte, mare parte din trafic este
probabil descendent, astfel c operatorii de cablu nu sunt suprai din aceast cauz. Dup cum am
SEC. 2.7 TELEVIZIUNEA PRIN CABLU 155

vzut mai devreme, i companiile telefonice ofer de obicei un serviciu DSL asimetric, chiar dac nu
au nici un motiv tehnic s fac acest lucru.
Cablurile coaxiale lungi nu sunt cu nimic mai bune n transmiterea semnalelor digitale dect sunt
buclele locale lungi, astfel c modularea analogic este necesar i aici. Schema uzual este s se ia
fiecare canal descendent de 6 MHz sau 8 MHz i s se moduleze cu QAM-64 sau, pentru o calitate
excepional a transmisiei prin cablu, QAM-256. Cu un canal de 6 MHz i QAM-64 obinem 36
Mbps. Dup ce scdem suprancrcarea, informaia util net este de aproape 27 Mbps. Cu QAM-
256, informaia util net este aproape 39 Mbps. Valorile europene sunt cu 1/3 mai mari.
Pentru canalele ascendente, chiar i QAM-64 nu funcioneaz prea bine. Este prea mult zgomot
de la microundele terestre, radiourile CB i alte surse, astfel c se folosete o schem mai conservati-
v QPSK. Aceast metod (prezentat n fig. 2-25) genereaz 2 bii pe baud n loc de 6 sau 8 bii pe
care QAM i furnizeaz pe canalele descendente. n consecin, asimetria dintre banda descendent
i cea ascendent este mai profund dect sugereaz fig. 2-48.
Pe lng actualizarea amplificatoarelor, operatorul trebuie s actualizeze i captul de pornire al
cablului, transformndu-l dintr-un amplificator primitiv ntr-un sistem computerizat digital inteligent
cu o interfa de lrgime de band mare ntre fibr i ISP. Adesea i numele este actualizat, din am-
plificator terminal al cablului n CTMS (Cable Modem Termination System, rom: sistem terminal
pentru modemuri de cablu). n continuarea acestui text, vom evita s facem o actualizare de nume i
vom menine tradiionalul amplificator terminal al cablului (headend).
2.7.4 Modemuri de cablu
Accesul la Internet prin cablu necesit un modem pentru cablu, dispozitiv care conine dou inter-
fee: una ctre calculator i una ctre reeaua de cablu. n primii ani ai Internetului prin cablu, fiecare
operator avea un modem propriu patentat pentru cablu, care era instalat de un tehnician al compani-
ei de cablu. Totui, a devenit n curnd evident c un standard ar crea o pia competitiv de
modemuri pentru cablu i ar scdea preurile, ncurajnd astfel utilizarea serviciului. Mai mult, clienii
care cumpr modemurile pentru cablu din magazin i le instaleaz singuri (la fel cum procedeaz cu
modemurile telefonice V.9x ) ar putea scuti firma de cheltuielile interveniilor la domiciliu.
n consecin, operatorii de cablu mai importani au fcut echip cu o companie numit Cable-
Labs pentru a produce un standard de modem de cablu i pentru a testa produsele din punct de ve-
dere al compatibilitii. Acest standard, numit DOCSIS (Data Over Cable Service Interface Specifi-
cation, rom: specificaiile interfeei serviciului de date prin cablu) abia ncepe s nlocuiasc
modemurile patentate. Versiunea european se numete EuroDOCSIS. Nu tuturor operatorilor de
cablu le place ideea unui standard, deoarece muli dintre ei au fcut bani frumoi prin nchirierea
modemurilor lor ctre clienii lor captivi. Un standard public cu zeci de fabricani care vnd mode-
muri de cablu n magazine ar pune punct acestei practici profitabile.
Interfaa modem-calculator este direct. Uzual, este 10 Mbps Ethernet (sau ocazional USB) n
prezent. n viitor, ntregul modem ar putea fi un card mic, conectat direct la calculator, la fel cum
sunt modemurile interne V.9x .
Cellalt capt este mai complicat. O mare parte a standardului se refer la ingineria radio, un
subiect care este cu mult n afara scopului acestei cri. Singura parte care merit s fie menionat
aici este aceea c modemurile pentru cablu, ca i modemurile ADSL, sunt ntotdeauna conectate.
Ele deschid o conexiune cnd sunt activate i menin acea conexiune att timp ct sunt alimentate
pentru c operatorii de cablu nu percep taxe diferite n funcie de durata conexiunii.
156 NIVELUL FIZIC CAP. 2


Pentru a nelege mai bine cum funcioneaz aceste modemuri, s vedem ce se ntmpl atunci
cnd un modem de cablu este conectat la reeaua electric i pornit. Modemul scaneaz canalele
descendente cutnd un pachet special, este trimis periodic de ctre alimentatorul terminal
(headend) pentru a furniza parametrii sistemului ctre modemurile care tocmai s-au conectat. Dup
ce detecteaz acest pachet, noul modem i anun prezena pe unul dintre canalele ascendente.
Amplificatorul terminal rspunde alocndu-i modemului canalele corespunztoare pentru flux as-
cendent i descendent. Aceste alocri pot fi schimbate mai trziu dac amplificatorul terminal consi-
dera c este necesar s echilibreze ncrcarea.
Modemul determin apoi distana de la amplificatorul terminal trimind ctre acesta un pachet
special i msurnd ct i ia s primeasc rspunsul. Acest proces se numete ranging (rom: poziio-
nare). Este important pentru modem s cunoasc aceasta distan pentru a regla modul de funcio-
nare a canalelor de flux ascendent i pentru a reui sincronizarea. Aceste canale sunt divizate n timp
n mini-intervale (eng. minislots). Fiecare pachet de flux ascendent trebuie s ncap ntr-unul sau
mai multe mini-intervale consecutive. Amplificatorul terminal anun periodic nceputul unei noi
serii de mini-intervale, dar pistolul de start nu se aude simultan la toate modemurile, din cauza tim-
pului de propagare prin cablu. Cunoscnd ct de departe se afl de capt, fiecare modem poate s
calculeze cu ct timp n urm a nceput cu adevrat primul mini-interval. Lungimea mini-intervalelor
este dependent de reea. O ncrcare tipic este de 8 octei.
n timpul iniializrii, amplificatorul terminal aloc fiecrui modem i cte un mini-interval pen-
tru a cere lime de band de flux ascendent. Ca o regul, mai multor modemuri li se va aloca acelai
mini-interval, ceea ce duce la conflicte. Atunci cnd un calculator vrea s transmit un pachet, el
transfer pachetul modemului, care cere apoi numrul de mini-intervale necesare pentru el. Dac
aceast cerere este acceptat, amplificatorul terminal transmite o confirmare pe canalul de flux des-
cendent, spunndu-i modemului ce mini-intervale au fost rezervate pentru pachetul su. Pachetul
este apoi trimis, ncepnd de la mini-intervalul alocat lui. Pentru a solicita transmisia de pachete adi-
ionale se folosete un cmp din antet.
Pe de alt parte, dac apare un conflict pentru mini-intervalul cerut, nu va exista nici o confirma-
re, iar modemul va atepta un timp oarecare i apoi va ncerca din nou. Dup fiecare eec succesiv,
timpul aleator maxim se dubleaz. (Pentru cititorii deja familiarizai ntr-o oarecare msur cu ree-
lele, acest algoritm este ALOHA discretizat cu regresie exponenial binar. Nu se poate folosi
Ethernet pe cablu pentru c staiile nu pot asculta mediul. Vom reveni la aceste teme n Cap.4).
Canalele descendente sunt administrate diferit fa de cele ascendente. n primul rnd, avem un
singur emitor (amplificatorul terminal), deci nu apar conflicte i nu este nevoie de mini-intervale,
care reprezint de fapt o multiplexare statistic prin divizarea timpului. n al doilea rnd, traficul
descendent este de obicei mult mai mare dect cel ascendent, astfel nct se folosete o dimensiune
de pachet fixat la 204 octei. O parte din acest pachet reprezint codul corector de erori Reed-
Solomon i alte informaii suplimentare, lsnd utilizatorului un pachet util de 184 octei. Aceste
numere au fost alese pentru compatibilitate cu televiziunea digital care folosete MPEG-2, astfel
nct canalele TV i canelele de flux descendent de date s fie formatate identic. La nivel logic, co-
nexiunile sunt prezentate n fig. 2-49.
Revenind la iniializarea modemului, o data ce un modem a terminat poziionarea i i-a cptat
canalul de flux ascendent, canalul de flux descendent i alocarea mini-intervalelor, este liber s n-
ceap s trimit pachete. Primul pachet este trimis ctre ISP cernd o adres IP, care este alocat
dinamic folosind un protocol numit DHCP, pe care l vom studia n cap. 5. De asemenea cere i pri-
mete ora exact de la amplificatorul terminal.
SEC. 2.7 TELEVIZIUNEA PRIN CABLU 157


Fig. 2-49. Detaliile tipice pentru canalele de flux de date ascendent i
descendent n America de Nord

Urmtorul pas implic securitatea. Cablul fiind un mediu partajat, oricine i d silina poate s
citeasc tot traficul care trece pe lng el. Pentru a preveni situaia n care oricine poate s i asculte
vecinii (la propriu), tot traficul este criptat n ambele direcii. O parte a procedurii de iniializare
presupune stabilirea cheilor de criptare. La nceput cineva ar putea s cread c a avea doi strini,
amplificatorul terminal i modemul care s stabileasc o cheie secreta n plin zi cu mii de oameni
uitndu-se la ei ar fi imposibil. Se va demonstra c nu e aa, dar trebuie s ateptm pn n Cap. 8
ca s explicam cum (rspunsul, pe scurt: folosind algoritmul Diffie-Hellman).
n sfrit, modemul trebuie s se conecteze i s ofere identificatorul su unic prin canalul si-
gur. n acest moment, iniializarea este complet. Utilizatorul poate s se conecteze la ISP i s
treac la treab.
Se mai pot spune multe lucruri despre modemurile de cablu. Unele referine relevante sunt
(Adams i Dulchinos, 2001; Donaldson i Jones, 2001 i Dutta-Roy, 2001).
2.7.5 Comparaie ntre ADSL i cablu
Care variant este mai bun, ADSL sau cablul? Este ca i cum ai ntreba care sistem de operare
este mai bun. Sau care limb este mai bun. Sau care religie. Rspunsul primit depinde de persoana
ntrebat. S comparm ADSL i cablul din cteva puncte de vedere. Ambele folosesc fibra optic
drept coloan vertebral, dar difer la periferie. Sistemele prin cablu folosesc coaxial; ADSL folose-
te perechi torsadate. Capacitatea teoretic de transport a cablului este de sute de ori mai mare dect
cea a perechii torsadate. Totui, nu este disponibil ntreaga capacitate a cablului pentru utilizatorii
de date, pentru c mare parte din limea de band este irosit de chestiuni nefolositoare cum sunt
programele de televiziune.
Practic, este greu s facem o estimare general pentru capacitatea efectiv. Furnizorii de ADSL
fac anumite declaraii despre limea de band (de exemplu, 1 Mbps flux descendent, 256 Kbps flux
ascendent) i n general reuesc s onoreze n mod consistent cam 80 % din acestea. Furnizorii de
cablu nu pot s declare nimic, deoarece capacitatea efectiv depinde de ci utilizatori sunt activi n
acel moment pe segmentul de cablu al utilizatorului. Uneori poate fi mai bine dect cu ADSL, alte-
ori poate fi mai ru. Ceea ce ar putea fi deranjant, totui, este tocmai aceast variaie imprevizibil a
calitii serviciilor. Faptul c ai servicii excelente acum nu garanteaz servicii excelente peste un mi-
nut, deoarece se poate ca marele devorator de lrgime de band din ora s-i fi pornit calculatorul.
158 NIVELUL FIZIC CAP. 2


Chiar dac un sistem ADSL ctig mai muli utilizatori, creterea numrului lor nu are un efect
semnificativ asupra utilizatorilor existeni, pentru c fiecare utilizator are o conexiune dedicat. n
cazul cablului, pe msur ce mai muli clieni se aboneaz la servicii Internet, performana pentru
utilizatorii existeni va scdea. Singurul remediu pentru operatorul de cablu este s separe cablurile
aglomerate i s conecteze fiecare dintre ele direct la un nod de fibra optic. Acest lucru cost timp
i bani, deci exist presiuni financiare pentru a-l evita.
Ca o parantez, am studiat deja un alt sistem bazat, la fel ca i cablul, pe folosirea unui canal par-
tajat: sistemul telefonic mobil. i aici, un grup de utilizatori, pe care i-am putea numi colegi de celula,
mpart o cantitate fix de lrgime de band. n mod normal, aceasta este divizat prin FDM i TDM
n felii fixe, alocate pentru utilizatorii activi, traficul de voce fiind destul de uniform. Dar pentru trafi-
cul de date, aceasta mprire rigid este foarte ineficient, deoarece utilizatorii de date sunt deseori
n ateptare, caz n care banda rezervat lor este irosit. Totui, din acest punct de vedere, accesul prin
cablu se aseamn mai mult cu sistemul de telefonie mobil dect cu acela de telefonie fix.
Disponibilitatea serviciului este un aspect n care ADSL i cablul difer. Toat lumea are un tele-
fon, dar nu toi utilizatorii sunt destul de aproape de oficiul final pentru a obine ADSL. Pe de alt
parte, nu toata lumea are televiziune prin cablu, dar dac ai cablu i compania ta de cablu ofer ac-
ces Internet, poi s te abonezi. Distana pn la nodul de fibr optic sau pn la amplificatorul
terminal nu reprezint o problem. De asemenea, merit menionat c, deoarece cablul a pornit ca
un mediu de distribuie al televiziunii, puine companii folosesc aa ceva.
Fiind un mediu punct-la-punct, ADSL este prin definiie mai sigur dect cablul. Orice utilizator
de cablu poate citi cu uurin pachetele ce vin pe cablu. Din acest motiv, orice furnizor de cablu
decent va cripta traficul n ambele direcii. Oricum, chiar dac tii c acela care i citete mesajele
criptate este vecinul tu, tot este mai puin sigur dect dac nu i le citea nimeni.
Sistemul telefonic este n general mai de ncredere dect cablul. Dispune, de exemplu, de un sis-
tem suplimentar de alimentare cu energie n caz de urgen i funcioneaz normal chiar i n timpul
unei pene de curent. La cablu, dac energia pentru orice amplificator de-a lungul lanului cade, toi
utilizatorii de dup el sunt deconectai instantaneu.
n sfrit, cei mai muli furnizori ADSL ofer posibilitatea alegerii unui ISP. Uneori li se cere
acest lucru chiar prin lege. Nu este ntotdeauna cazul cu operatorii prin cablu.
Concluzia este c ADSL i cablul sunt mai mult asemntoare dect diferite. Ofer servicii com-
parabile i, cum competiia dintre ei se ncinge, probabil c vor oferi i preuri comparabile.


2.8 REZUMAT
Nivelul fizic st la baza tuturor reelelor. Natura impune dou limite fundamentale asupra unui
canal, iar acestea determin lrgimea de band. Este vorba despre limita Nyquist, care se aplic asu-
pra canalelor fr zgomot, i limita Shannon, pentru canale cu zgomot.
Mediile de transmisie pot fi ghidate sau neghidate. Principalele medii ghidate sunt cablul torsa-
dat, cablul coaxial i fibra optic. Mediile neghidate includ undele radio, microundele, undele n in-
frarou i razele laser care se propag prin aer. Un sistem de transmisie readus n actualitate este
comunicaia prin satelit, n special sistemele LEO.
SEC. 2.9 PROBLEME 159

Elementul cheie pentru majoritatea reelelor pe arii geografic largi este sistemul telefonic. Com-
ponentele sale principale sunt buclele locale, trunchiurile i comutatoarele. Buclele locale sunt circu-
ite analogice de cablu torsadat, care necesit folosirea modemurilor pentru transmisia datelor digita-
le. ADSL ofer viteze de pn la 50 Mbps prin divizarea buclei locale n mai multe canale virtuale i
modularea fiecruia separat. Buclele locale fr fir reprezint o noua direcie de dezvoltare de ur-
mrit, n special LMDS.
Trunchiurile sunt digitale i pot fi multiplexate n mai multe moduri, printre care: FDM, TDM i
WDM. Att comutarea de circuite ct i comutarea de pachete reprezint tehnologii importante.
Pentru aplicaiile mobile, sistemul de telefonie fix (cu fir) nu este adecvat. Radioul celular este
folosit tot mai mult pentru transmisia de voce, iar n curnd va fi folosit frecvent i pentru schimbul
de date. Prima generaie de mobile a fost analogic, dominat de AMPS. A doua generaie a fost
digital, cu D-AMPS, GSM i CDMA ca opiuni majore. A treia generaie va fi digital i bazat pe
CDMA de band larg.
Un sistem alternativ pentru accesul la reea este sistemul de televiziune prin cablu, care a evoluat
gradat de la o anten colectiv la un sistem hibrid fibra opticcoax. Potenial, acesta ofer lrgime
de band foarte mare, dar lrgimea de band real disponibil depinde semnificativ de numrul de
utilizatori activi la un moment dat i de ceea ce fac ei.


2.9 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 niveluri? 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
20dB, care este rata maxim de transfer a datelor ce se poate realiza?
5. Ce raport semnal-zgomot este necesar pentru a pune o purttoare T1 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 prin 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 pe secund. Ce
lime de band este necesar i care este lungimea de und necesar pentru aceast band la
1,30 microni?
9. Teorema lui Nyquist este adevrat i 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?
160 NIVELUL FIZIC CAP. 2


11. Deseori, antenele radio funcioneaz 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 do-
meniu de frecven acoper acestea?
12. Atenuarea multi-ci 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 raz laser de 1 mm lime este urmrit de un detector de 1 mm lime aflat la 100 m distan-
, pe acoperiul unei cldiri. Care este limita maxim a deviaiei unghiulare (n grade) a laseru-
lui pentru care raza poate fi captat de detector ?
14. Cei 66 de satelii de joas altitudine din proiectul Iridium sunt mprii n 6 coliere n jurul P-
mntului. La altitudinea la care sunt folosii, perioada de rotaie este de 90 minute. Care este in-
tervalul mediu pentru timpii mori (de inactivitate) n cazul unui emitor staionar?
15. Se considera un satelit la altitudinea sateliilor geostaionari, dar al crui plan orbital este ncli-
nat fa de planul ecuatorului cu un unghi . Un utilizator staionar se afl pe suprafaa pmn-
tului la latitudinea nordic . Este adevrat c acestui utilizator i se pare c satelitul este nemi-
cat pe cer? Dac nu, descriei micarea pe care o percepe.
16. Cte coduri de oficiu final erau nainte de 1984, atunci cnd fiecare oficiu final era identificat
dup codul su de zon, format din 3 cifre, combinat cu primele trei cifre ale numrului local ?
Codurile de zon ncepeau cu o cifra din intervalul 2-9, avea a doua cifr un 0 sau un 1 i se pu-
teau termina cu orice cifr. Primele dou cifre din numrul local erau ntotdeauna din intervalul
2-9. A treia cifr putea fi oricare.
17. Folosind numai datele din text, care este numrul maxim de telefoane pe care sistemul existent
n SUA le poate suporta fr a se schimba numerotaia i fr a se aduga echipament adiio-
nal? Ar putea fi atins acest numr n realitate? Pentru simplificarea ipotezei, un calculator sau
un fax este numrat tot ca un telefon. Presupunei c exista un singur dispozitiv pentru o linie de
abonat.
18. 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 folo-
sit pentru a face 4 apeluri ntr-o zi lucrtoare de 8 ore. Durata medie a unui apel este de 6 minute.
10% dintre apeluri sunt de distan lung (adic traverseaz oficiul de taxare). Care este numrul
maxim de telefoane pe care l poate suporta un oficiu final? (presupunei 4 KHz pe circuit)
19. O companie regional de telefoane are 10 milioane de abonai. Fiecare dintre telefoanele aces-
tora este conectat la un oficiu central printr-un cablu torsadat de cupru. Lungimea medie a aces-
tor cabluri este de 10 km. Ct de mult reprezint cuprul din valoarea buclelor locale? Presupu-
nei c seciunea transversal a fiecrui fir este de 1 mm diametru, greutatea specific a cuprului
este 9,0 i cuprul se vinde cu 3 dolari pe kg.
20. O conduct de petrol este un sistem simplex, half duplex, full duplex sau nici una dintre varian-
tele menionate?
SEC. 2.9 PROBLEME 161

21. Costul unui microprocesor rapid a sczut ntr-att nct este posibil s se includ cte unul n
fiecare modem. Cum afecteaz aceasta gestiunea erorilor liniei telefonice?
22. O diagram-constelaie a unui modem, similar celei din fig. 2-25, are puncte la urmtoarele
coordonate: (1,1), (1,-1), (-1,1) i (-1,-1). Ci bii pe secund poate atinge un modem cu aceti
parametri, la 1200 baud ?
23. O diagram-constelaie a unui modem, similar celei din fig. 2-25, are puncte n (0,1) i (0,2).
Modemul folosete modulaie n faz sau modulaie n amplitudine?
24. ntr-o diagram-constelaie, toate punctele sunt situate pe un cerc centrat n origine. Ce fel de
modulaie se folosete ?
25. Cte frecvene folosete un modem full-duplex QAM-64?
26. Un sistem ADSL care folosete DMT aloc 3/4 dintre canalele de date disponibile pentru leg-
tura de flux descendent. Se folosete o modulaie QAM-64 pe fiecare canal. Care este capacita-
tea legturii de flux descendent?
27. n exemplul de LMDS cu patru sectoare din fig. 2-30, fiecare sector are propriul su canal de 36
Mbps. Potrivit teoriei cozilor, dac un canal este 50% plin, timpul de ateptare va fi egal cu tim-
pul de transfer descendent. n aceste condiii, ct dureaz s se transfere o pagin Web de 5 KB
? Ct timp dureaz s se transfere aceeai pagin pe o linie ADSL de 1 Mbps ? Dar cu un mo-
dem de 56 Kbps ?
28. Zece semnale, fiecare necesitnd 4000 Hz, sunt multiplexate n acelai canal utiliznd FDM.
Care este limea de band minim necesar pentru canalul multiplexat? Presupunem c benzi-
le suplimentare (de gard) au limea de 400 Hz.
29. De ce a fost stabilit timpul de eantionare PCM la 125 sec?
30. Care este procentul de suprancrcare pe o purttoare T1? Mai exact, ce procent din cei 1.544
Mbps nu este pus la dispoziia utilizatorului final?
31. Comparai rata maxim de transfer al datelor pe un canal de 4 KHz, fr zgomot, care folosete:
a) codificare analogic (de ex. QPSK) cu 2 bii pe eantion;
b) sistemul PCM T1.
32. Dac un sistem cu purttoarea T1 se desincronizeaz i pierde tactul, el ncearc s se resincro-
nizeze folosind primul bit din fiecare cadru. Cte cadre vor trebui inspectate, n medie, pentru a
se resincroniza cu o probabilitate de eec de 0,001?
33. Care este diferena, dac exist vreuna, ntre blocul de demodulare a unui modem i blocul de
codificare a unui codec? (n definitiv, ambele convertesc semnale analogice n semnale digitale.)
34. Un semnal este transmis digital pe un canal de 4 KHz, fr zgomot, cu un eantion la fiecare 125
s. Ci bii sunt de fapt transmii pe secund pentru fiecare dintre aceste metode de codificare:
a) Standardul CCITT de 2,048 Mbps;
b) DPCM cu o valoare relativ a semnalului pe 4 bii;
c) Modulaia delta.
162 NIVELUL FIZIC CAP. 2


35. Un semnal pur sinusoidal de amplitudine A este codificat folosind modulaia delta, cu x ean-
tioane/secund. Un semnal de ieire de +1 corespunde unei schimbri a semnalului cu +A/8 iar
un semnal de ieire de -1 corespunde unei schimbri a semnalului cu -A/8. Care este cea mai
mare frecven care poate fi urmrit fr erori cumulative?
36. Ceasurile SONET au o rat de deviaie de aproximativ 1/10
9
. Ct timp este necesar pentru ca
deviaia s egaleze limea unui bit? Care sunt implicaiile acestui calcul?
37. n fig. 2-37 rata de transfer a datelor utilizatorului pentru OC-3 a fost stabilit la 148,608 Mbps.
Artai cum poate fi obinut acest numr din parametrii SONET OC-3.
38. Pentru a fi integra rate de transmisie a datelor mai mici dect STS-1, SONET are un sistem de
fluxuri pariale virtuale (VT, eng. Virtual Tributaries). O VT este o ncrctur util parial ca-
re poate fi inserat ntr-un cadru STS-1 i combinat cu alte ncrcturi pariale pentru a com-
pleta un cadru de date. VT1.5 folosete 3 coloane, VT2 folosete 4 coloane, VT3 folosete 6 co-
loane, iar VT6 folosete 12 coloane dintr-un cadru STS-1. Care dintre VT poate integra:
a) un serviciu DS-1 (1.544 Mbps) ?
b) serviciul european CEPT-1 (2.048 Mbps) ?
c) un serviciu DS-2 (6.312 Mbps) ?
39. Care este diferena esenial dintre comutarea de mesaje i comutarea de pachete ?
40. Care este limea de band disponibil utilizatorului ntr-o conexiune OC-12c?
41. Se dau trei reele cu comutare de pachete, coninnd fiecare cte n noduri. Prima reea
are o 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 lungimile cilor, msurate n salturi (ntre noduri), pentru
cazul cel mai bun, pentru cazul mediu i pentru cazul cel mai defavorabil?
42. Comparai ntrzierea n transmisia unui mesaj de x bii pe o cale de k salturi (ntre noduri)
dintr-o reea cu circuite comutate i ntr-o reea cu comutare de pachete (puin aglomerat).
Timpul de stabilire a circuitului este S sec, ntrzierea de propagare este d sec/salt, dimensiunea
pachetului este de p bii i rata de transfer a datelor este b bii/sec. n ce condiii reeaua cu co-
mutare de pachete are o ntrziere mai mic?
43. Presupunem c x bii de date ale utile trebuie transmii pe o cale de k salturi (ntre noduri), ntr-
o reea cu comutare de pachete, ca o serie de pachete; fiecare pachet conine p bii de date i h
bii pentru antet, cu x >> (p+h). Rata de transfer a liniei este de b bps i ntrzierea de propa-
gare este neglijabil. Ce valoare a lui p minimizeaz ntrzierea total?
44. ntr-un sistem tipic de telefonie mobil cu celule hexagonale, este interzis s se refoloseasc
banda de frecvene a unei celule ntr-o celul adiacent. Dac sunt disponibile n total de 840
frecvene, cte frecvene se pot folosi ntr-o anumit celul?
45. Aranjamentul real a celulelor este rareori att de regulat precum cel din fig. 2-41. Pn i formele
celulelor individuale sunt de obicei neregulate. Dai un motiv plauzibil pentru acest fapt.
SEC. 2.9 PROBLEME 163

46. Facei o estimare sumar a numrului de microcelule PCS de 100 m diametru, care ar fi necesa-
re pentru a acoperi San Francisco (120 km
2
).
47. Uneori, atunci cnd un utilizator traverseaz grania dintre dou celule, apelul curent se termi-
n brusc, dei toate emitoarele i receptoarele funcioneaz perfect. De ce?
48. D-AMPS ofer o calitate a vocii sensibil mai slab dect GSM. Este adevrat c acest fapt se
datoreaz cerinei ca D-AMPS s pstreze compatibilitatea cu AMPS, n timp ce GSM nu a
avut astfel de constrngeri? Dac nu, care este cauza ?
49. Calculai numrul maxim de utilizatori pe care D-AMPS i poate suporta simultan ntr-o singur
celul. Facei acelai calcul pentru GSM. Explicai diferena.
50. S presupunem c A, B i C transmit simultan bii 0 folosind sistemul CDMA cu secvenele de
felii din fig. 2-45(b). Care este secvena de felii rezultat?
51. n discuia despre ortogonalitatea secvenelor de felii CDMA, s-a afirmat c dac S T = 0
atunci i T S = 0. Demonstrai acest fapt.
52. Considerai un alt mod de a privi proprietatea de ortogonalitate a secvenelor de felii CDMA:
fiecare bit dintr-o pereche de secvene se poate potrivi sau nu. Exprimai proprietatea de orto-
gonalitate n termeni de potriviri i nepotriviri.
53. Un receptor CDMA primete urmtoarele felii : (-1 +1 3 +1 -1 -3 +1 +1). Folosind secven-
ele de felii definite n fig. 2-45 (b), care dintre staii au transmis i ce bii a transmis fiecare?
54. La nivelul inferior, sistemul telefonic este construit n form de stea, cu toate buclele locale
dintr-un cartier convergente ctre un oficiu final. Din contr, televiziunea prin cablu este alctu-
it dintr-un singur cablu lung, cu un traseu erpuit pe deasupra tuturor caselor din acelai carti-
er. 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?
55. Un sistem de TV prin cablu are 100 de canale comerciale, fiecare din acestea alternnd pro-
gramele cu publicitatea. Aceast organizare seamn cu TDM sau cu FDM ?
56. O companie de cablu decide s ofere acces Internet prin cablu ntr-un cartier cu 5000 de case.
Compania folosete un cablu coaxial i o alocare de spectru care ofer o lime de band de
100 Mbps pentru flux descendent pentru fiecare cablu. Pentru a atrage clienii, compania deci-
de s garanteze cel puin 2 Mbps lime de band pentru flux descendent pentru fiecare cas,
n orice moment. Descriei modul n care trebuie s acioneze compania de cablu pentru a
oferi aceast garanie.
57. Utiliznd alocarea spectral ilustrat n fig. 2-48 i informaiile date n text, ci Mbps aloc un
sistem de cablu pentru fluxul ascendent i ci pentru cel descendent ?
58. Ct de repede poate un utilizator de cablu s primeasc date dac reeaua este n rest inactiv ?
59. Multiplexarea fluxurilor multiple de date STS-1, numite fluxuri pariale (eng: Tributaries), joac
un rol important n SONET. Un multiplexor 3:1 multiplexeaz trei fluxuri pariale STS-1 primi-
164 NIVELUL FIZIC CAP. 2


te la intrare ntr-un flux de ieire STS-3. Multiplexarea este fcut octet cu octet, adic primii
trei octei de ieire sunt primii octei ai fluxurilor pariale 1, 2 respectiv 3. Urmtorii octei de ie-
ire alctuiesc al doilea grup de fluxuri 1, 2 i 3, i aa mai departe. Scriei un program care s
simuleze acest multiplexor 3:1. Programul va conine 5 procese. Procesul principal creeaz patru
alte procese, cte unul pentru fiecare dintre cele 3 fluxuri pariale STS-1 i unul pentru multi-
plexor. Fiecare proces de tip flux parial citete un cadru STS-1 din fiierul de intrare ca pe o
succesiune de 810 bii i i trimite cadrul octet cu octet procesului multiplexor. Procesul multi-
plexor recepioneaz octeii i furnizeaz la ieire un cadru STS-3 (tot octet cu octet) prin afia-
rea pe ecran. Pentru comunicaia ntre procese folosii conducte (eng: pipe).


165
3
NIVELUL LEGTUR DE DATE
n acest capitol vom studia arhitectura nivelului 2, nivelul legtur de date. Acest studiu se ocu-
p de algoritmii de obinere a unei comunicaii eficiente i sigure, ntre dou maini adiacente la
nivelul legturii de date. Prin adiacen 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, o linie
telefonic sau un canal de comunicaie fr fir, de tip punct la punct). 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 pro-
duc 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 re-
zolvnd ct mai multe dintre problemele prezente la acest nivel. Vom ncheia cu un studiu al mode-
lrii i corectitudinii protocoalelor i vom da cteva exemple de protocoale ale legturii de date.


166 NIVELUL LEGTUR DE DATE CAP. 3


3.1 ASPECTE ALE PROIECTRII NIVELULUI
LEGTUR DE DATE
Nivelul legtur de date are un numr de funcii specifice pe care trebuie s le ndeplineasc.
Aceste funcii includ:

1. Furnizarea unei interfee bine-definite ctre nivelul reea
2. Tratarea erorilor de transmisie
3. Reglarea fluxului cadrelor n aa fel, nct receptorii leni s nu fie inundai de ctre emi-
tori rapizi.

Pentru a ndeplini aceste scopuri, nivelul legtur de date primete pachete de la nivelul reea, pe
care le ncapsuleaz n cadre n vederea transmiterii. Fiecare cadru conine un antet, un cmp de
informaie util pentru pachet i ncheiere, dup cum se vede n fig. 3-1. Gestionarea cadrelor repre-
zint esena a ceea ce face nivelul legtur de date. In seciunile urmtoare vom examina in detaliu
toate aspectele menionate anterior.
Fig. 3-1. Relaia dintre pachete i cadre.

Cu toate c acest capitol se refer numai la nivelul legtur de date i la protocoalele legturii de
date, multe dintre principiile pe care le vom studia aici, cum ar fi controlul erorilor i controlul fluxu-
lui, se regsesc i n protocoalele de transport, i n alte protocoale. n realitate, n multe reele, aceste
funcii se gsesc doar la nivelurile superioare, nu i la nivel legtur de date. Oricum, indiferent de
nivelul la care se gsesc, principiile sunt aproximativ aceleai, deci nu conteaz prea mult unde le
studiem. La nivelul legturii de date ele apar de obicei n forma cea mai simpl i cea mai pur, f-
cnd din acest nivel un loc foarte potrivit studierii detaliate a acestor principii.
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-2(a). Trans-
misia efectiv urmeaz calea din fig. 3-2(b), dar este mai uor de neles n termenii a dou procese
SEC. 3.1 ASPECTE ALE PROIECTRII NIVELULUI LEGTUR DE DATE 167

ale nivelului legtur de date care comunic utiliznd un protocol al legturii de date. Din acest mo-
tiv, pe parcursul acestui capitol, vom folosi n mod implicit modelul din fig. 3-1(a).

Fig. 3-2. (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 logice. Dac un cadru este pierdut datorit
zgomotului de pe linie, la nivelul legtur de date nu se face nici o ncercare pentru recuperarea lui.
Aceast clas de servicii este adecvat atunci cnd rata de erori este foarte sczut, nct recuperarea
este lsat n sarcina nivelurilor superioare. De asemenea, este adecvat pentru traficul de timp real,
cum ar fi cel de voce, unde a primi date cu ntrziere este mai ru dect a primi date eronate. Majori-
tatea 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 indi-
vidual. 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 nesigu-
re, cum ar fi sistemele fr fir.
Poate c merit s subliniem c asigurarea confirmrii la nivelul legturii de date este doar o op-
timizare, niciodat o cerin. Nivelul reea poate ntotdeauna s trimit un mesaj i s atepte s fie
confirmat. Dac confirmarea nu apare n timp util, atunci emitorul poate retrimite ntregul mesaj.
Problema cu aceast strategie este aceea c, de obicei, cadrele au o lungime maxim impus de
hardware, iar pachetele nivelului reea nu au aceasta limitare. Dac pachetul mediu este spart n, s
zicem, 10 cadre i 20% din totalul cadrelor sunt pierdute, transmiterea acestuia poate lua foarte mult
timp. n cazul n care cadrele individuale sunt confirmate i retransmise, pachetele ntregi vor fi
transmise mult mai rapid. Pe canale sigure, precum fibra optic, costul suplimentar implicat de un
168 NIVELUL LEGTUR DE DATE CAP. 3


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. n 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 con-
firmri 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.
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 doua
faz, sunt transmise unul sau mai multe cadre. n a treia i ultima faz, conexiunea este desfiin-
at, 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
absena erorilor (folosind tehnici pe care le vom studia mai trziu n acest capitol), 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 dac acesta este cadrul a-
teptat i, dac este aa, trimit pachetul din cmpul de informaie util ctre programele de diri-
jare. 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 re-
prezentat n fig. 3-3.

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

Programul de dirijare dorete de obicei ca operaia s fie corect executat, ceea ce presupune
conexiuni secveniale sigure pe fiecare linie punct-la-punct. El nu vrea s fie deranjat prea des de
pachete care s-au pierdut pe drum. Este sarcina protocolului legturii de date, prezentat n dreptun-
SEC. 3.1 ASPECTE ALE PROIECTRII NIVELULUI LEGTUR DE DATE 169

ghiul punctat, s fac liniile de comunicaie nesigure s par perfecte sau, cel puin, suficient de bu-
ne. 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 struc-
turi de date diferite pentru fiecare dintre ele.
3.1.2 ncadrarea
n vederea furnizrii unui serviciu nivelului reea, nivelul legtur de date trebuie s utilizeze ser-
viciul furnizat de ctre nivelul fizic. Sarcina nivelului fizic este s primeasc un flux de bii i s ncerce
s-l trimit la destinaie. Nu se garanteaz c acest flux de bii nu conine erori. Numrul de bii recep-
ionai poate fi mai mic, egal cu, sau mai mare dect numrul de bii transmii i pot avea valori diferi-
te. 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 recalcu-
lat. 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 (de exemplu, elimin cadrul eronat
i probabil trimite napoi un raport de eroare).
Spargerea irului de bii n cadre este mai dificil dect pare la prima vedere. O cale pentru a rea-
liza 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 posi-
bil ca aceste intervale s fie comprimate sau ca n timpul transmisiei s fie inserate alte intervale.

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

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. Indicatori cu inserare de octei.
3. Indicatori de nceput i de sfrit, cu inserare de bii.
4. Violarea codificrilor la nivel fizic.

170 NIVELUL LEGTUR DE DATE CAP. 3



Fig. 3-5. (a) Cadru delimitat de octei indicatori. (b) Patru exemple de secvene de octei nainte i
dup inserare

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-4 (a)
pentru patru cadre de dimensiune de 5, 5, 8 i 8 caractere.
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-4(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 fie-
care cadru ncepe i se termin cu o secvena special de octei. Iniial, octeii ce indicau nceputul,
respectiv sfritul erau diferii, dar n ultimii ani s-a trecut la utilizarea unui singur octet, numit octet
indicator, att ca indicator de nceput, ct i de sfrit, aa cum se prezint in fig. 3-5(a). n acest fel,
dac receptorul pierde sincronizarea, acesta poate cuta octetul indicator pentru a gsi sfritul ca-
drului. Doi octei indicatori consecutivi indic sfritul unui cadru i nceputul celui care urmeaz.
O problem serioas cu aceast metod apare atunci cnd se transmit date binare, cum ar fi un
obiect sau numere n virgul mobil. Se poate ntmpla ca n date s apar octetul folosit ca indica-
tor. Aceast situaie interfereaz cu procesul de ncadrare. O cale de rezolvare a acestei probleme
este ca nivelul legtur de date al emitorului s insereze un octet special (ESC) naintea fiecrei
apariii accidentale a indicatorului n date. Nivelul legtur de date al receptorului va elimina acest
octet special nainte de a pasa datele nivelului reea. Aceast tehnic poart numele de inserare de
octei (eng.: byte stuffing) sau inserare de caractere (eng.: character stuffing) . Deci, un octet indica-
SEC. 3.1 ASPECTE ALE PROIECTRII NIVELULUI LEGTUR DE DATE 171

tor utilizat pentru ncadrare poate fi difereniat de unul prezent n date prin faptul c este sau nu
precedat de un octet special.
Bineneles, urmtoarea ntrebare este: Ce se ntmpl dac un octet special apare n mijlocul da-
telor? Rspunsul este c pe lng el se insereaz nc un octet special.
Deci, un singur octet special face parte dintr-o secven special, iar un octet special dublu indica
faptul ca un singur octet de acest tip a aprut in cadrul datelor. Cteva exemple sunt prezentate in
fig. 3-5(b). n toate cazurile, secvena de octei obinut dup eliminarea octeilor inserai este exact
secvena original.
Schema de inserare de octei prezentat n fig. 3-5 reprezint o uoar simplificare a schemei uti-
lizate n cadrul protocolului PPP, pe care majoritatea calculatoarelor casnice l folosesc pentru a co-
munica cu furnizorul de servicii Internet. Vom discuta despre PPP mai trziu n acest capitol.
Un dezavantaj major al utilizrii acestei metode de ncadrare este acela c este limitat la utiliza-
rea caracterelor de 8 bii. Nu toate codurile utilizeaz caractere de 8 bii. De exemplu, UNICODE
folosete caractere pe 16 bii. Datorit dezvoltrii reelelor, dezavantajele inserrii de coduri de ca-
ractere n mecanismul de ncadrare au devenit din ce n ce mai evidente, aa c a trebuit dezvoltat o
nou tehnic, care s permit caractere de dimensiune variabil.
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 octet escape este inserat n irul de caractere de ieire, nainte de fiecare octet
indicator 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 nive-
lul 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. Fig. 3-6 d un exemplu de inserare de bii.

Fig. 3-6. 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.

n 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 i niciodat n interiorul datelor.
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. Aceasta n-
seamn c fiecare bit de date are o tranziie n mijloc, receptorului fiindu-i uor s localizeze frontie-
172 NIVELUL LEGTUR DE DATE CAP. 3


rele biilor. Combinaiile sus-sus i jos-jos nu sunt utilizate pentru date, dar sunt utilizate pentru de-
limitarea cadrelor in unele protocoale.
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. Cadrul 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.1.3 Controlul erorilor
Problema marcrii nceputului i sfritului fiecrui cadru fiind rezolvat, ne vom ndrepta aten-
ia ctre problema urmtoare: cum s ne asigurm 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
(eng.: feedback) 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 reacio-
na n nici un fel, din moment ce nu are nici un motiv s reacioneze. Trebuie s fie clar c un proto-
col n care emitorul trimite un cadru i apoi ateapt o confirmare, pozitiv sau negativ, va r-
mne agat pentru totdeauna dac un cadru este complet pierdut datorit, de exemplu, nefuncio-
nrii echipamentului.
Aceast posibilitate a determinat introducerea contoarelor de timp (ceasurilor) la nivelul legtu-
rii de date. Atunci cnd emitorul trimite un cadru, pornete de obicei i un contor de timp. Conto-
rul de timp este setat s expire dup un interval suficient de lung pentru ca acel cadru s poat ajun-
ge 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 fi-
ind 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-l trimit de mai multe ori nivelului reea. Pentru a evita aceast situa-
ie 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 nici mai mult, nici mai puin, reprezint o
parte important a obligaiilor nivelului legtur de date. Mai trziu, n acest capitol, urmrind o
serie de exemple de complexitate din ce n ce mai mare, vom studia n detaliu cum este realizat
aceast gestiune.
SEC. 3.2 DETECTAREA I CORECTAREA ERORILOR 173

3.1.4 Controlul fluxului
Un alt aspect important de proiectare care apare la nivelul legtur de date (i, desigur, i la nive-
lurile superioare) este cum trebuie procedat cu un emitor care dorete n mod sistematic s trans-
mit 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 complet inundat. Chiar dac transmisia este fr erori, la un anumit punct re-
ceptorul 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.
Exist dou abordri des utilizate. In cazul celei dinti, controlul fluxului bazat pe reacie (feed-
back-based flow control), receptorul acord emitorului permisiunea de a mai transmite date, sau
cel puin comunic emitorului informaii despre starea sa. n cea de-a doua, controlul fluxului ba-
zat pe rat (rate-based flow control), protocolul dispune de un mecanism integrat care limiteaz rata
la care emitorul poate transmite, fr a folosi informaii de la receptor. n acest capitol vom studia
scheme de control al fluxului bazat pe reacie, deoarece la nivelul legtur de date nu se utilizeaz
controlul fluxului bazat pe rat. Vom studia acest tip de control al fluxului n cap. 5.
Sunt cunoscute diferite scheme de control al fluxului, dar cele mai multe dintre ele utilizeaz ace-
lai principiu de baz. Protocolul conine reguli bine definite despre momentul cnd emitorul poa-
te trimite urmtorul cadru. Deseori 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". Vom examina detaliile n cele ce urmeaz.


3.2 DETECTAREA I CORECTAREA ERORILOR
Aa cum am vzut n Cap. 2, sistemul telefonic are trei pri: comutatoarele, trunchiurile inter-
oficii (eng.: interoffice trunks) i buclele locale. Primele dou sunt acum aproape complet digitizate
n majoritatea rilor dezvoltate. Buclele locale sunt nc din perechi de fire torsadate din cupru i
vor continua s fie aa ani ntregi, din cauza costului enorm al nlocuirii lor . 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 proaste dect
pe trunchiurile de fibr inter-oficii. Concluzia este: erorile de transmisie vor fi o realitate pentru
muli ani de acum nainte. Trebuie gsit o metod de tratare a acestor erori.
Ca rezultat al proceselor fizice care le genereaz, erorile din unele medii (de exemplu radio) tind
s vin mai curnd n rafale dect izolate. Sosirea erorilor n rafal are att avantaje ct i dezavanta-
je fa de erorile izolate, de 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 ero-
rile izolate.
174 NIVELUL LEGTUR DE DATE CAP. 3


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,
i s cear o retransmisie. Prima strategie utilizeaz coduri corectoare de erori, iar cea de-a doua
utilizeaz coduri detectoare de erori. Folosirea codurilor corectoare de erori este deseori referit sub
numele de corectare de erori n avans (eng.: forward error correction).
Fiecare dintre aceste tehnici se utilizeaz in situaii diferite. Pe canale cu siguran mare, cum ar
fi fibra optic, este mai eficient s utilizm un cod detector de erori i s retransmitem blocul n care
s-au detectat erori. In cazul canalelor de comunicaie fr fir, este indicat sa adugm destul infor-
maie redundant fiecrui bloc, n loc s ne bazm pe retransmisie, care poate s fie la rndul su
afectat de erori.
Pentru a nelege cum pot fi tratate erorile, este necesar s privim cu atenie la ceea ce este de
fapt 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 (eng.: n-bit codeword).
Date fiind dou cuvinte de cod, s zicem, 10001001 i 10110001, este posibil s determinm ci
bii corespunztori difer. n acest caz difer 3 bii. Pentru a determina ci bii difer, aplicm ope-
ratorul SAU EXCLUSIV ntre cele dou cuvinte de cod i numrm biii 1 din rezultat, de exemplu:

10001001
10110001
00111000

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-l converti pe unul n cellalt.
n multe aplicaii de transmisie de date, toate cele 2
m
mesaje de date posibile sunt corecte, dar,
datorit modului n care sunt calculai biii de control, nu sunt utilizate toate cele 2
n
cuvinte de cod
posibile. Dat fiind algoritmul pentru calculul biilor de control, este posibil s construim o list com-
plet 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 modifi-
cri, 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 adu-
gat un singur bit de paritate. Bitul de paritate este ales astfel, nct numrul de bii 1 din cuvntul de
cod s fie par (sau impar). De exemplu, atunci cnd 1011010 este trimis n paritate par, prin adu-
garea unui bit la sfrit devine 10110100. Cu paritatea impar , 1011010 devine 10110101. Un cod cu
SEC. 3.2 DETECTAREA I CORECTAREA ERORILOR 175

un singur bit de paritate are distana 2, deoarece orice eroare pe un 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
cod corecte:

0000000000, 0000011111, 1111100000 i 1111111111.

Acest cod are distana 5, 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 2
m
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 2
m
mesaje corecte
necesit n+1 abloane asociate. Cum numrul total de abloane este 2
n
, trebuie s avem (n+1) 2
m
<= 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 Ham-
ming (1950). Biii cuvntului de cod sunt numerotai consecutiv, ncepnd cu bitul 1 de la marginea
din stnga, bitul 2 imediat la dreapta sa, etc. 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 for-
eaz ca paritatea unui grup de bii, inclusiv el nsui, s fie par (sau impar).
Un bit poate fi inclus n mai multe calcule de paritate. Pentru a vedea la care bii de control con-
tribuie 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 exem-
plu, bitul 11 este verificat de biii 1, 2 i 8).

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

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 re-
prezint 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
176 NIVELUL LEGTUR DE DATE CAP. 3


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. n 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 coloa-
ne, ncepnd cu coloana cea mai din stnga. Cnd au fost trimii toi cei k bii, este transmis a doua
coloan i aa mai departe, aa cum se arat in fig. 3-7. 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 adesea utilizate pe canale fr fir, care sunt cunoscute ca fiind
predispuse la erori, n comparaie cu firele de cupru sau fibra optic. Fr coduri detectoare de
erori, comunicaia ar fi greu de realizat. In cazul firelor de cupru sau a fibrei optice rata erorilor este
mult mai mic, aa c detectarea erorilor i retransmisia este de obicei mai eficient aici ca metod
de tratare a erorilor care apar ocazional.
Ca un exemplu simplu, s considerm un canal n care erorile sunt izolate i rata erorilor este de
10
-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 necesi-
ta 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 extra-bloc (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 ac-
ceptat. ansele pot fi mbuntite considerabil dac fiecare bloc transmis este privit ca o matrice
dreptunghiular de n bii lime i k bii nlime, dup cum am artat mai sus. Pentru fiecare coloa-
n este calculat un bit de paritate, care este adugat ntr-o nou linie de la sfritul matricei. Matri-
cea este apoi transmis linie cu linie. La sosirea blocului, receptorul verific toi biii de paritate. Da-
c oricare din ei este greit, va cere o retransmisie a blocului. Retransmisii succesive sunt cerute daca
este nevoie, pn cnd ntregul bloc este recepionat fr erori de paritate.
Aceast metod poate detecta o singur rafal de lungime n, cu numai un bit pe coloan modifi-
cat. 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 coloane 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
.
Cu toate c schema de mai sus poate fi uneori adecvat, n practic este larg utilizat o alt me-
tod: codul polinomial (cunoscut i sub numele de cod cu redundan ciclic, eng.: cyclic redundan-
cy code). 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 polinom cu k
SEC. 3.2 DETECTAREA I CORECTAREA ERORILOR 177

termeni, de la x
k-1
la x
0
. Se spune c un astfel de polinom este de gradul k-1. Bitul cel mai semnificativ
(cel mai din stnga) este coeficientul lui x
k-1
; urmtorul bit este coeficientul lui x
k-2
.a.m.d. De exem-
plu, 110001 are ase bii i ei reprezint un polinom cu ase termeni cu coeficienii 1, 1, 0, 0, 0 i 1:
x
5
+x
4
+x
0
. 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 iden-
tice 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 semni-
ficativ 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 con-
trol s fie divizibil prin G(x). Cnd receptorul preia cadrul cu suma de control, ncearc s-l 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 x
r
M(x).
2. Se mparte irul de bii ce corespund lui G(x) ntr-un ir de bii corespunznd lui x
r
M(x), uti-
liznd mprirea modulo 2.
3. Se scade restul (care are ntotdeauna r sau mai puini bii) din irul de bii corespunznd lui
x
r
M(x), utiliznd scderea modulo 2. Rezultatul este cadrul cu sum de control ce va fi
transmis. Numim polinomul su T(x).

Fig. 3-8 ilustreaz calculul pentru cadrul 1101011011 i G(x) = x
4
+x+1.
Ar trebui s fie clar c T(x) este divizibil (modulo 2) cu G(x). n orice problem de mprire, da-
c 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). Fie-
care bit din E(x) corespunde unui bit care a fost inversat. Dac n E(x) exist k bii 1, aceasta n-
seamn c au aprut k erori de un singur bit.
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.

178 NIVELUL LEGTUR DE DATE CAP. 3



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

Dac a aprut o eroare pe un singur bit, E(x) =x
i
, unde i 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)= x
i
+x
j
, unde i>j. Alternativ,
aceasta se poate scrie ca E(x)=x
j
(x
i-j
+1). Dac presupunem c G(x) nu este divizibil prin x, o condi-
ie suficient pentru detectarea erorilor duble este ca G(x) s nu se divid prin x
k
+1 pentru orice k
pn la valoarea maxim i-j (adic, pn la lungimea maxim a cadrului). Sunt cunoscute polinoame
simple, de grad mic, care asigur protecie cadrelor cu lungime mare. De exemplu, x
15
+x
14
+1 nu se
va divide cu x
k
+1 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
5
+x
2
+1, dar nu x
2
+1). Interesant este c, n sistemul modulo 2 nu exist nici un polinom cu numr
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 179

impar de termeni care s l aib pe x+1 ca factor. Fcndu-l pe x+1 factor al lui G(x), vom putea
depista toate erorile constituite dintr-un numr impar de bii inversai.
Pentru a demonstra 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+1)Q(x). Acum evalum E(1)= (1+1)Q(1). Deoarece 1+1=0 (modulo 2), E(1) trebuie s fie 0.
Dac E(x) are un numr impar de termeni, substituind fiecare x cu 1, rezultatul obinut va fi ntot-
deauna 1. Prin urmare nici un polinom cu numr impar de termeni nu este divizibil cu x+1. n sfr-
it, 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 x
i
(x
k-1
+ +1), unde i deter-
min ct de departe este localizat rafala fa de captul din dreapta al cadrului recepionat. Dac
G(x) conine termenul x
0
, atunci nu l va avea ca factor pe x
i
, aa c dac gradul expresiei dintre pa-
ranteze 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. Dac toate combinaiile sunt privite ca egal posibile, atunci probabilita-
tea ca un cadru incorect s fie acceptat ca valid este 1/2
r-1
.
Se poate arta i c, dac apare o rafal de erori mai lung de r+1 bii sau dac apar mai multe
rafale mai scurte, probabilitatea ca un cadru greit s treac neobservat este 1/2
r
, presupunnd c
toate configuraiile de bii sunt la fel de probabile.
Anumite polinoame au devenit standarde internaionale. Cel folosit n IEEE 802 este:

x
32
+ x
26
+ x
23
+ x
22
+ x
16
+ x
12
+ x
11
+ x
10
+ x
8
+ x
7
+ x
5
+ x
4
+ x
2
+ x
1
+ 1

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 re-
gistru de deplasare. n practic, acest tip de circuit este utilizat aproape ntotdeauna. Este folosit
aproape n toate reelele locale, i uneori i n cazul liniilor punct la punct.
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
presupunere. Analize mai recente ale datelor reale au artat c aceast presupunere nu este corect.
Ca o consecin, n unele circumstane, erorile nedetectate sunt mult mai obinuite dect s-a crezut
anterior (Partridge .a. 1995).


3.3 PROTOCOALE ELEMENTARE PENTRU LE-
GTURA 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 Web (vezi prefaa). nainte de a analiza protocoalele,
este util s explicitm unele dintre ipotezele care stau la baza modelelor de comunicaie. Pentru nce-
put, considerm c la nivelul fizic, nivelul legtur de date i nivelul reea exist procese independente
care comunic transferndu-i mesaje n ambele sensuri. n multe cazuri, procesele de la nivelul fizic
180 NIVELUL LEGTUR DE DATE CAP. 3


i de legtur de date se vor executa pe un procesor dintr-un cip special de intrare/ieire al reelei, iar
codul nivelului reea n CPU. 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). n orice caz, tratarea celor trei niveluri ca procese separate va face discuiile concep-
tuale mai clare i de asemenea va scoate n eviden independena nivelurilor.
O alt presupunere cheie este c maina A vrea s trimit un lung ir de date mainii B, folosind
un serviciu sigur, orientat pe conexiune. Mai trziu, vom considera 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 a-
teapt niciodat ca aceste date s fie produse. n schimb, 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.)
Presupunem de asemenea c mainile nu se defecteaz. Adic, aceste protocoale trateaz erorile
de transmisie, dar nu i erorile generate de defectarea sau reiniializarea calculatoarelor.
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 des-
tinaie. 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. 3-1). Deci un cadru se compune
dintr-un pachet de date, cteva informaii de control (antetul), i suma de control (n ncheiere)
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_physical_layer i, respectiv,
from_physical_layer. Echipamentul de transmisie calculeaz i adaug suma de control (crend astfel
o ncheiere), 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 wait_for_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. Cu toate acestea,, pentru simplitate, vom ignora toate
detaliile activitilor paralele din cadrul nivelului legtur de date i vom presupune c este tot tim-
pul 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 corespun-
ztor (event = cksum_err). Dac un cadru ajunge nealterat, nivelul legtur de date este de aseme-
nea informat (event = frame_arrival), aa c poate primi cadrul pentru inspecie folosind
from_physical_layer. 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
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 181

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.

#define MAX_PKT 1024 /* determin dimensiunea n octei a pachetului */

typedef enum {false, true} boolean; /* tip 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 tipurilor 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 */
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-l 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_physical_layer(frame *r);

/* Livreaz cadrul nivelului fizic, pentru transmisie */
void to_physical_layer(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 ( MAX_SEQ) k = k + 1; else k = 0

Fig. 3-9. Cteva definiii necesare n protocoalele care urmeaz.
Aceste definiii se gsesc n fiierul protocol.h.

182 NIVELUL LEGTUR DE DATE CAP. 3


Fig. 3-9 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. Seq_nr este un numr ntreg mic folosit pen-
tru a numerota cadrele, astfel nct s le putem identifica. Aceste numere de secven sunt cuprinse
ntre 0 i MAX_SEQ inclusiv, aceasta din urm fiind o constant definit n fiecare protocol n care
este necesar. Un pachet 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 totdeau-
na MAX_PKT octei, dar mai realist ar fi s aib lungime variabil.
Un frame (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. An-
samblul 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 distinc-
ie 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 (acknowledgements); 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 fo-
losi un cmp info de lungime variabil, omindu-l cu totul din cadrele de control.
Din nou, 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 ca-
dru care pleac. Cnd cadrul ajunge la destinaie, nivelul legtur de date extrage pachetul din cadru
i l trimite nivelului reea. n aceast manier, nivelul reea poate aciona ca i cnd mainile ar pu-
tea s schimbe direct pachete.
n fig. 3-9 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 wait_for_event cicleaz, ateptnd s se ntmple ceva, aa cum am menionat mai devre-
me. Procedurile to_network_layer i from_network_layer sunt utilizate de nivelul de legtur de date
pentru a trimite, respectiv a accepta, pachete de la nivelul de reea. De reinut c from_physical_layer
i to_physical_layer sunt utilizate pentru trimiterea cadrelor ntre nivelurile fizic i legtur de date.
Pe de alt parte, to_network_layer i from_network_layer sunt folosite pentru a trimite pachetele ntre
nivelul legtur de date i nivelul reea. Cu alte cuvinte, to_network_layer i from_network_layer reali-
zeaz interfaa dintre nivelurile 2 i 3, n timp ce from_physical_layer i to_physical_layer 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 aces-
tuia, nivelul legtur de date primete un semnal de ntrerupere.
n protocoalele noastre acest lucru este asigurat de procedura wait_for_event care ntoarce event
= timeout. Procedurile start_timer i stop_ timer sunt utilizate pentru a porni, respectiv a opri conto-
rul de timp. Expirarea timpului este posibil numai atunci cnd contorul de timp este pornit. 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-l s genereze urmtorul semnal de expirare de
timp dup ce ntregul interval de timp se va epuiza (exceptnd cazul n care este resetat sau dezacti-
vat n acest interval timp).
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 183

Procedurile start_ack_timer i stop_ack_timer sunt folosite pentru a controla un contor de timp
auxiliar, utilizat pentru a genera confirmri n anumite condiii. Procedurile enable_network_layer i
disable_network_layer 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 re-
ea, acestuia i se permite s ntrerup atunci cnd are un pachet de trimis. Indicm aceasta cu
event = network_layer_ready. Cnd un nivel reea este dezactivat, acesta nu poate provoca asemenea
evenimente. Gestionnd cu pruden activarea i dezactivarea nivelului reea, nivelul legtur de
date l poate mpiedica pe acesta s-l inunde cu pachete atunci cnd nu mai are spaiu n tampon.
Numerele de secven ale cadrelor sunt ntotdeauna de la 0 la MAX_SEQ (inclusiv), unde
MAX_SEQ difer de la protocol la protocol. Deseori este necesar ca numrul de secven s avanse-
ze circular (adic MAX_SEQ este urmat de 0). Aceast incrementare este realizat de macroinstruc-
iunea inc. A fost definit ca macroinstruciune, deoarece este utilizat in-line n secvena critic. Aa
cum vom vedea mai trziu, factorul care limiteaz performana reelei este adesea prelucrarea efec-
tuat de protocol, aa c definirea operaiilor simple, ca aceasta, ca macroinstruciuni, nu afecteaz
claritatea codului, dar mbuntete performana. Mai mult, de vreme ce MAX_SEQ va avea diferi-
te valori n diferite protocoale, definirea de macroinstruciuni face posibil includerea tuturor proto-
coalelor n acelai fiier binar fr conflict. Aceast posibilitate este util pentru simulator.
Declaraiile din fig. 3-9 fac parte din fiecare dintre protocoalele care urmeaz. Pentru a econo-
misi 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 reali-
zeaz punnd definiiile ntr-un fiier antet special, n acest caz protocol.h, i utiliznd facilitatea #in-
clude 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 pre-
gtite. Timpul de prelucrare poate fi ignorat. Memoria de stocare disponibil este infinit. i, cel 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-
10. 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
MAX_SEQ. Singurul eveniment posibil este frame_arrival (sosirea unui cadru nealterat).
Emitorul este ntr-un ciclu infinit care doar insereaz datele pe linie ct poate de repede. Ciclul
const din trei aciuni: preluarea unui pachet de date de la nivelul reea (care este ntotdeauna servi-
abil), 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.
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 wait_for_event se ntoar-
ce cu event setat la frame_arrival (care este oricum ignorat). Apelul rutinei from_physical_layer mut
cadrul nou sosit din zona tampon a echipamentului n variabila r. 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.
184 NIVELUL LEGTUR DE DATE CAP. 3


/* Protocolul 1 (utopia) asigur transmitere de date doar ntr-o direcie, de la transmi-
tor 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 repe-
de poate */

typedef enum {frame_arrival} event_type;
#include "protocol.h"

void sender1(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 in this petty pace from day to day

To the last syllable of recorded time

- Macbeth, V, v */
}

void receiver1(void)
{
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-10. Un protocol simplex fr restricii.
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 comuni-
caie i c traficul de date este nc simplex.
Principala problem pe care trebuie s o rezolvm aici este cum s evitm ca emitorul s inun-
de receptorul cu date care sosesc mai rapid dect poate acesta s prelucreze. n esen, dac recep-
torul are nevoie de un timp t ca s execute from_physical_layer i to_network_layer, atunci emito-
rul trebuie s transmit la o vitez medie mai mic de un cadru la fiecare interval de timp de t. Mai
mult, dac presupunem c echipamentul receptor nu realizeaz automat memorarea n zona tam-
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 185

pon 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 from_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) ar putea fi posibil ca emitorul s introduc
pur i simplu o ntrziere n protocolul 1, pentru a-l ncetini suficient, astfel nct s se evite inunda-
rea receptorului. Totui, de obicei, 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 con-
siderabil. 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).

/* 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 ca-
pacitate limitat i o vitez de prelucrare finit, aa c protocolul trebuie s mpiedice
n mod explicit emitorul 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 transmis */
s.info = buffer; /* l copiaz n s pentru transmitere */
to_physical_layer(&s); /* la revedere, 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_layer(&s); /* trimite un cadru fictiv pentru a trezi emitorul */
}
}
Fig. 3-11. Un protocol simplex stop-and-wait.
186 NIVELUL LEGTUR DE DATE CAP. 3


O soluie mult mai general a acestei dileme este ca receptorul s furnizeze o reacie ctre emi-
tor. 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 sose-
te micul cadru fictiv (deci confirmarea). Utilizarea reaciei de la receptor pentru a anuna emitorul
c poate trimite date este un exemplu de control al fluxului menionat anterior.
Protocoalele n care emitorul trimite un cadru i apoi, nainte de a continua, ateapt o confir-
mare, se numesc stop-and-wait (pas-cu-pas). Fig. 3-11 prezint un exemplu de protocol simplex stop-
and-wait. 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 leg-
tur de date trebuie s permit transferul de informaie bidirecional. Totui, acest protocol impune o
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.
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 protoco-
lul 1, emitorul trebuie s atepte pn cnd sosete un cadru de confirmare, nainte de a relua ci-
clul 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. Cadrul primit este
ntotdeauna o confirmare.
Singura diferen dintre receiver1 i receiver2 este aceea c dup transmiterea unui pachet ctre
nivelul reea, receiver2 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.
3.3.3 Un protocol simplex pentru un canal cu zgomote
S considerm situaia normal a unui canal de comunicaie care pot aprea 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 celelalte 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. Gn-
dii-v la problem i ncercai s descoperii ce este greit nainte s citii mai departe.
Pentru a vedea 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 maina A 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 particu-
lar, 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, indife-
rent ct de puin probabile, nu poate produce un pachet duplicat care s fie transmis nivelului reea.
SEC. 3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 187

S considerm urmtorul scenariu:

1. Nivelul reea de pe A trimite pachetul 1 ctre nivelul su legtur de date. Pachetul este co-
rect 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 con-
firmare, 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 f-
cut 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 numrul de secven al fie-
crui cadru sosit pentru a vedea dac este un cadru nou sau un duplicat ce trebuie eliminat.
Deoarece este de dorit ca un antet de cadru s fie de dimensiune mic, se pune ntrebarea urm-
toare: 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-l 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 emi-
tor, emitorul va ncerca s transmit m sau m+1.
Evenimentul care determin emitorul s nceap transmiterea lui m+2 este sosirea unei con-
firmri 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, recepto-
rul 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 i transmis nivelului reea. Apoi 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-12. Protocoalele n care emitorul a-
teapt pentru o confirmare pozitiv naintea de a trece la urmtorul element de date se numesc de-
seori PAR (Positive Acknowledgement with Retransmision, rom.: confirmare pozitiv cu retransmi-
tere) sau ARQ (Automatic Repeat reQuest, rom: cerere automat de repetare). Asemenea protoco-
lului 2, i acesta transmite datele ntr-o singur direcie.
Protocolul 3 se deosebete de predecesorii si prin aceea c i emitorul i receptorul au o vari-
abil a crei valoare este pstrat ct timp nivelul legtur de date este n starea de ateptare. Emi-
torul pstreaz numrul de secven al urmtorului cadru de transmis n next_frame_to_send; recep-
torul pstreaz numrul de secven al urmtorului cadru ateptat n frame_expected. Fiecare proto-
col are o scurt faz de iniializare nainte de a intra n bucla infinit.
188 NIVELUL LEGTUR DE DATE CAP. 3


/* 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;
#include "protocol.h"

void sender3(void)
{
seq_nr 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 */
from_network_layer(&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_physical_layer(&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) { /* preia confirmarea */
from_physical_layer(&s);
if(s.ack==next_frame_to_send) {
stop_timer(s.ack); /* oprete ceasul */
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) {
wait_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 */
to_network_layer((r.info); /* transfer datele nivelului reea */
inc(frame_expected); /* incrementeaz numr de secven */
}
s.ack=1-frame_expected; /* spune care frame este confirmat */
to_physical_layer(&s); /* nici unul dintre cmpuri nu este utilizat */
}
}
}

Fig. 3-12. Un protocol cu confirmare pozitiv i retransmitere.
SEC. 3.4 PROTOCOALE CU FEREASTR GLISANT 189

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 ast-
fel, 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 expi-
rat acest interval de timp se poate spune cu siguran c s-a pierdut fie cadrul transmis, fie confirma-
rea sa i se poate trimite un duplicat. Dac intervalul de timp este prea mic, emitorul va transmite
cadre care nu sunt necesare. Aceste cadre nu influeneaz corectitudinea protocolului, dar i afec-
teaz performanele.
Dup transmiterea unui cadru i pornirea contorului de timp, emitorul ateapt s se ntmple
ceva interesant. Exist doar trei posibiliti: un cadru de confirmare ajunge intact, sosete un cadru
de confirmare eronat 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 aseme-
nea 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 poate fi transmis un duplicat.
Atunci cnd la receptor sosete un cadru corect, este verificat numrul de secven, pentru a ve-
dea 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 full-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" (eng.: forward) pentru date i un canal "invers"
(eng.: reverse) pentru confirmri. n ambele cazuri lrgimea de band a canalului invers este irosit
aproape n totalitate. Ca efect, utilizatorul pltete pentru dou circuite, dar utilizeaz doar capacita-
tea unuia.
O idee mai bun este s se utilizeze acelai circuit pentru date n ambele direcii. n definitiv, la
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 la A la B sunt amestecate cu
cadrele de confirmare de la A la B. Uitndu-se la cmpul kind din antetul cadrului ce a sosit, recep-
torul 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 mbunt-
ire fa de cazul utilizrii a dou circuite fizice separate, mai este posibil nc o mbuntire.
Atunci cnd sosete un cadru cu date, n locul emiterii imediate a unui cadru de control separat, re-
ceptorul st i ateapt pn cnd nivelul reea i d urmtorul pachet. Confirmarea este ataat ca-
drului cu date de ieire (utiliznd cmpul ack din antetul cadrului). De fapt, confirmarea este trans-
portat 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 (eng.: piggybacking).
Principalul avantaj al utilizrii tehnicii de ataare n comparaie cu utilizarea cadrelor de confir-
mare distincte este o mai bun utilizare a lrgimii de band disponibile. Cmpul ack din antetul ca-
190 NIVELUL LEGTUR DE DATE CAP. 3


drului 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 ca-
drelor" 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 se-
parate. Ct timp trebuie s atepte nivelul legtur de date pachetul la care s ataeze confirmarea?
Dac nivelul legtur de date ateapt mai mult timp dect perioada de timeout a emitorului, ca-
drul va fi retransmis, anulnd complet rolul confirmrilor. Dac nivelul legtur de date ar fi un ora-
col i ar putea prezice viitorul, ar putea ti cnd va sosi urmtorul pachet de la nivelul reea i ar pu-
tea 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 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 con-
firmare separat.
Urmtoarele trei protocoale sunt protocoale bidirecionale care aparin unei clase de protocoa-
le numite protocoale cu fereastr glisant (eng.: sliding window). Cele trei difer ntre ele n ter-
meni de eficien, complexitate i necesar de tampoane, aa cum vom vedea mai trziu. n cadrul
acestora, ca 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 2
n
-1, ca numrul de secven
s se ncadreze exact ntr-un cmp de n bii. Protocoalele cu fereastr glisant pas-cu-pas utilizeaz
n=1, 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 (eng.: sending window). Similar, re-
ceptorul menine de asemenea o fereastr de recepie (eng.: receiving window), ce corespunde mul-
imii 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 dimen-
siune 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 sau cadre
ce pot fi 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. Un exemplu este prezen-
tat n fig. 3-13.
SEC. 3.4 PROTOCOALE CU FEREASTR GLISANT 191


Fig. 3-13. 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.

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. Ast-
fel, dac dimensiunea maxim a ferestrei este n, emitorul are nevoie de n tampoane pentru a ps-
tra 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 accep-
ta. Orice cadru din afara ferestrei este eliminat fr comentarii. Atunci cnd este recepionat un ca-
dru al crui numr de secven este egal cu marginea inferioar a ferestrei, acesta este trimis nivelu-
lui reea, este generat o confirmare i fereastra se deplaseaz cu o unitate. Spre deosebire de fe-
reastra 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. Nivelul reea este, dimpotriv, alimentat ntot-
deauna cu date n ordine corect, indiferent de dimensiunea ferestrei nivelului legtur de date.
Fig. 3-13 prezint un exemplu cu o fereastr de dimensiune maxim 1. Iniial, nu sunt emise ca-
dre, aa c marginile inferioar i superioar ale ferestrei emitorului sunt egale, dar o dat cu tre-
cerea 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-14 prezint un astfel de protocol. Ca i alte protocoale, acesta ncepe prin definirea unor
variabile. Next_frame_to_send arat ce cadru ncearc s transmit emitorul. Similar, frame_ ex-
pected arat ce cadru este ateptat de receptor. n ambele cazuri singurele posibiliti sunt 0 i 1.
192 NIVELUL LEGTUR DE DATE CAP. 3


/* Protocolul 4 (fereastr glisant) este bidirecional. */

#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_physical_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 */
stop_timer(r.ack); /* oprete ceasul */
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.ack = 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-14.Un protocol cu fereastr glisant de 1 bit.

n mod normal, unul dintre cele dou niveluri legtur de date pornete primul trimind primul
cadru. Cu alte cuvinte, numai unul din programele nivelului legtur de date va conine apelurile
procedurilor to_physical_layer i start_timer n afara buclei principale. n eventualitatea c ambele
niveluri legtur 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 l trimite. Cnd acest cadru (sau oricare altul) sosete, nivelul legtur de date receptor veri-
fic dac nu cumva este un duplicat, exact ca n protocolul 3. Dac respectivul cadru este cel atep-
tat, atunci este trimis nivelului reea i fereastra receptorului este deplasat.
SEC. 3.4 PROTOCOALE CU FEREASTR GLISANT 193

Cmpul de confirmare conine numrul ultimului cadru recepionat fr eroare. Dac acest nu-
mr corespunde cu numrul de secven al cadrului pe care emitorul ncearc s-l transmit, emi-
torul tie c a terminat cu cadrul memorat n tampon i poate prelua urmtorul pachet de la nive-
lul su reea. Dac numrul de secven nu corespunde, el trebuie s continue s trimit acelai ca-
dru. 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 ncear-
c 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 re-
petate a timpului, A va trimite o serie de cadre identice, toate cu seq=0 i ack=1.
Atunci cnd la B sosete primul cadru corect, el va fi acceptat i frame_expected va fi setat la 1.
Toate cadrele urmtoare vor fi respinse, deoarece B ateapt cadre cu numrul de secven 1, nu 0.
Mai mult, deoarece toate duplicatele au ack=1 i B este nc n ateptarea confirmrii lui 0, B nu va
prelua un nou pachet de la nivelul su reea.
Dup sosirea fiecrui duplicat respins, B trimite lui A un cadru coninnd seq=0 i ack=0. n cele
din urm, unul dintre acestea sosete corect la A, fcndu-l pe A s nceap s trimit urmtorul pa-
chet. 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, s sar un pachet sau s se blocheze.
Fig. 3-15. Dou scenarii pentru protocolul 4. (a) Cazul normal. (b) Cazul special. 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-15. n partea (a) este prezentat funciona-
rea normal a protocolului. n (b) este ilustrat situaia special. Dac B ateapt primul cadru de la
A nainte de a-l trimite pe al su, secvena de aciuni este cea artat n (a) i fiecare cadru este ac-
ceptat. Totui, dac A i B iniiaz comunicaia simultan, primele lor cadre se ncrucieaz i niveluri-
le 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 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 ca-
drele pot fi trimise de trei sau mai multe ori.
194 NIVELUL LEGTUR DE DATE CAP. 3


3.4.2 Un protocol de revenire cu n pai (Go Back n)
Pn acum am fcut presupunerea 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 n mod cert fals. n aceste situaii timpul mare de transfer poate avea implicaii importante pen-
tru eficiena utilizrii lrgimii de band. Ca exemplu, s considerm un canal de satelit de 50 Kbps cu
timpul de ntrziere datorit propagrii dus-ntors 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
trimit primul cadru. Considernd cele mai optimiste condiii (fr 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. Cu alte cuvinte, 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 atin-
s 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 conti-
nuu 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 t = 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 di-
mensiunea maxim a ferestrei emitorului este de 26.
Nevoia pentru o fereastr mare la emitor apare atunci cnd produsul lrgime de band x tim-
pul de propagare dus-ntors este mare. Dac lrgimea de band este mare, chiar i pentru ntrzieri
moderate, emitorul i va termina repede fereastra. Daca ntrzierea este mare (de exemplu, canal
de satelit), emitorul i va termina fereastra chiar i pentru lrgimi de band moderate. Produsul
acestor doi factori spune de fapt care este capacitatea canalului, iar pentru a opera la eficien ma-
xim, emitorul trebuie sa fie capabil sa o umple fr s se opreasc.
Aceast tehnic este cunoscut ca band de asamblare (eng.: pipelining). Considernd capacita-
tea canalului de b bii pe secund, dimensiunea cadrului de l 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 pas-cu-pas, linia este ocupat pentru un timp egal cu l/b i n ateptare pentru un timp
egal cu R, rezultnd:

utilizarea liniei = l/(l+bR).

Dac l < bR, eficiena va fi mai mic de 50%. Deoarece pn la ntoarcerea confirmrii exist n-
totdeauna 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 se-
rioase. Mai nti s vedem ce se ntmpl dac un cadru din mijlocul unui ir lung este modificat
sau pierdut. Multe cadre succesive vor ajunge la receptor nainte ca emitorul s observe c ceva
SEC. 3.4 PROTOCOALE CU FEREASTR GLISANT 195

este greit. Atunci cnd un cadru modificat ajunge la receptor este evident c el trebuie 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. n fig. 3-16,
se prezint efectele utilizrii benzii de asamblare asupra revenirii n caz de eroare. Acum le vom
examina n detaliu.


Fig. 3-16. Folosirea benzii de asamblare i revenirea din eroare. Efectul unei erori cnd (a) dimensi-
unea ferestrei receptoare este 1 i (b) dimensiunea ferestrei receptorului este mare.

Exist dou moduri de baz de tratare a erorilor n prezena benzii de asamblare. Un mod, nu-
mit revenire cu n pai (eng.: go back n), este ca receptorul s elimine pur i simplu cadrele care ur-
meaz, 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-l pe urmtorul care trebuie livrat ctre nivelul reea. Dac fereastra emitorului se um-
ple 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, nce-
pnd cu cadrul pierdut sau modificat. Dac rata erorilor este mare, aceast abordare poate risipi o
mare parte din lrgimea de band.
n fig. 3-16 (a) este prezentat protocolul de revenire cu n pai pentru cazul n care fereastra re-
ceptorului are dimensiune unu. Cadrele 0 i 1 sunt primite i confirmate corect. Cadrul 2, totui, este
alterat sau pierdut. Emitorul, care nu tie de aceast problem, continu s trimit cadre pn
196 NIVELUL LEGTUR DE DATE CAP. 3


cnd timpul pentru cadrul 2 expir. Apoi se ntoarce la cadrul 2 i o ia de la nceput cu el, trimind
din nou cadrele 2, 3, 4 etc.
Cealalt strategie general de tratare a erorilor atunci cnd este folosit banda de asamblare se
numete repetare selectiv (eng.: selective repeat). Cnd aceasta este utilizat, un cadru incorect este
respins, dar toate cadrele corecte care l urmeaz sunt memorate. Cnd contorul de timp al emito-
rului expir, cel mai vechi cadru neconfirmat este retransmis. Dac acest cadru ajunge corect, recep-
torul poate transmite ctre nivelul reea, n ordine, cadrele pe care le-a memorat. Repetarea selecti-
v este deseori combinat cu utilizarea confirmrilor negative (NAK), care sunt trimise atunci cnd
se detecteaz o eroare, de exemplu cnd se primete un cadru cu suma de control incorect sau cu
numr de secven necorespunztor. Confirmrile negative simuleaz retransmisia nainte de expi-
rarea contorului de timp corespunztor, mbuntind astfel performana.
n fig. 3-16 (b), cadrele 0 i 1 sunt recepionate corect, dar confirmarea pentru cadrul 2 este pier-
dut. Cnd cadrul 3 sosete la receptor, nivelul legtur de date observ c a pierdut un cadru, i
trimite o confirmare negativ pentru 2, memornd ns cadrul primit. Cnd cadrele 4, 5 ajung la re-
ceptor, sunt la rndul lor memorate de nivelul legtur de date, n loc de a fi transmise nivelului re-
ea. n cele din urm, confirmarea negativ pentru 2 ajunge napoi la emitor, care va retransmite
cadrul 2. Cnd acesta ajunge la receptor, nivelul legtur de date are cadrele 2, 3, 4, 5, i le poate
pasa nivelului reea n ordinea corect. De asemenea, poate confirma toate cadrele pn la 5 inclu-
siv, aa cum se prezint n figur. Dac NAK-ul se pierde, n cele din urm contorul de timp al emi-
torului va expira i acesta va iniia retransmisia, dar n acest fel se pierde mai mult timp. n conclu-
zie, utilizarea confirmrilor negative accelereaz retransmiterea unui anumit cadru.
Strategia de repetare selectiv corespunde unei ferestre a receptorului mai mare ca 1. Orice ca-
dru din interiorul ferestrei poate fi acceptat i memorat pn cnd toate cele precedente vor fi trimi-
se nivelului reea. Dac fereastra este mare, aceast abordare poate necesita un spaiu mare de me-
morie pentru nivelul legtur de date.
Aceste dou alternative reprezint compromisuri ntre lrgimea de band i spaiul ocupat de
tampoane la nivelul legtur de date. n funcie de care resurs este mai deficitar, poate fi utilizat
una sau cealalt. Fig. 3-17 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-l trimit,
poate produce un eveniment network_layer_ready. Totui, pentru a impune regula de control al flu-
xului, conform creia nu pot exista dect cel mult MAX_SEQ 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 enable_network_layer i disable_network_layer.
Observai c n orice moment pot exista cel mult MAX_SEQ cadre i nu MAX_SEQ+1 cadre ne-
confirmate, chiar dac exist MAX_SEQ+1 numere de secven: 0, 1, 2, ...MAX_SEQ. Pentru a ve-
dea de ce este necesar aceast restricie, s considerm urmtorul scenariu cu MAX_SEQ = 7.

1. Emitorul trimite cadrele de la 0 la 7.
2. O 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.



SEC. 3.4 PROTOCOALE CU FEREASTR GLISANT 197

/* Protocolul 5 (revenire cu n pai) permite mai multe cadre n ateptare. Emitorul poate
trimite pn la MAX_SEQ cadre fr a atepta confirmare. n plus, spre deosebire de proto-
coalele precedente, acesta nu presupune c nivelul reea ar avea tot timpul un nou pachet.
n schimb, nivelul reea provoac un eveniment network_layer_ready atunci cnd are de tri-
mis un pachet */

#define MAX_SEQ 7 /* trebuie s fie 2^n - 1 */
typedef enum {frame_arrival, cksum_err, timeout, network_layer_ready} 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);
else
return(false);
}

static void send_data(seq_nr frame_nr, seq_nr frame_expected, packet buffer[])
{
/* construiete i trimite un cadru de date */
frame s; /* variabil temporar */

s.info = buffer[frame_nr]; /* insereaz pachetul n cadru */
s.seq = frame_nr; /* insereaz numrul de secven n cadru */
s.ack = (frame_expected + MAX_SEQ) % (MAX_SEQ + 1); /* ataeaz confirmarea */
to_physical_layer(&s); /* transmite cadrul */
start_timer(frame_nr); /* pornete ceasul */
}

void protocol5(void)
{
seq_nr 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+1]; /* 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 network_layer_ready */
ack_expected = 0; /* urmtoarea confirmare ateptat */
next_frame_to_send = 0; /* urmtorul cadru transmis */
frame_expected = 0; /* numrul cadrului ateptat s soseasc */
nbuffered = 0; /* iniial n zonele tampon nu exist nici un pachet */
while(true) {
wait_for_event(&event); /* patru posibiliti: vezi event_type, mai sus */
switch(event) {
case network_layer_ready: /* nivelul reea are un pachet de trimis */
/* accept, salveaz i transmite un nou cadru */
from_network_layer(&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 */
break;
198 NIVELUL LEGTUR DE DATE CAP. 3



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_layer(&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 */
}
break;
case cksum_err: break; /* 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 < MAX_SEQ)
enable_network_layer();
else
disable_network_layer();
}
}
Fig. 3-17. Un protocol cu fereastr glisant utiliznd revenirea cu n pai.

ntrebarea este: toate cele opt cadre aparinnd celui de al doilea lot au ajuns corect ori s-au
pierdut n totalitate (considernd respingerile care urmeaz unei erori ca pierderi)? n ambele cazuri
receptorul va trimite cadrul 7 ca o confirmare, deci emitorul nu are posibilitatea s tie. Din acest
motiv, numrul maxim de cadre neconfirmate trebuie limitat la MAX_SEQ.
Chiar dac protocolul 5 nu pstreaz cadrele sosite dup o eroare, problema memorrii nu dis-
pare. Deoarece un emitor poate avea de retransmis la un moment de timp viitor toate cadrele ne-
confirmate, 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 leg-
tur 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 permisiu-
nea s produc alte evenimente network_layer_ready.
n cazul acestui protocol, presupunem c exist ntotdeauna trafic n direcia invers de care s se
poat ataa confirmrile. n caz contrar, confirmrile nu pot fi trimise. Protocolul 4 nu are nevoie de
aceast presupunere deoarece acesta trimite napoi un cadru de fiecare dat cnd recepioneaz
unul. n protocolul urmtor, vom rezolva aceast problem ntr-o manier elegant.
SEC. 3.4 PROTOCOALE CU FEREASTR GLISANT 199


Fig. 3-18. Simularea prin program a contoarelor de timp multiple.

Deoarece protocolul 5 are mai multe cadre neconfirmate, este evident c necesit mai multe
contoare de timp, cte unul pentru fiecare cadru neconfirmat. Timpul fiecrui cadru expir inde-
pendent de toate celelalte. Toate aceste contoare pot fi simulate uor prin program, utiliznd un
singur ceas fizic care produce ntreruperi periodice. Contoarele de timp active formeaz o list nln-
uit, n fiecare nod existnd informaii despre cte semnale de ceas mai sunt pn la expirarea tim-
pului, 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-18(a). S presupunem c impulsurile de ceas sunt la fiecare 100 ms. Iniial timpul real este
10:00:00.0; 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 de-
crementat. 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-18 (b). Chiar dac aceast organizare cere ca lista s fie parcurs
cnd este apelat start_timer 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.4.3 Un protocol cu repetare selectiv
Protocolul 5 funcioneaz 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 recepto-
rul 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 ac-
ceptabile. Dimensiunea ferestrei emitorului ncepe de la 0 i crete pn la un maxim predefinit
MAX_SEQ. Spre deosebire de aceasta, fereastra receptorului are dimensiunea fix MAX_SEQ. Re-
ceptorul are un tampon rezervat pentru fiecare numr de secven din cadrul ferestrei. Fiecare tam-
pon 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 da-
c 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 fig. 3 -19.
200 NIVELUL LEGTUR DE DATE CAP. 3


/* Protocolul 6 (repetare selectiv) accept cadrele n afara secvenei, dar pred pachete-
le n ordine nivelului reea. Fiecrui cadru neconfirmat i este asociat un ceas. La expi-
rarea timpului este retransmis doar acest cadru i nu toate cele neconfirmate, ca n proto-
colul 5. */

#define MAX_SEQ 7 /* trebuie s fie 2^n - 1 */
#define NR_BUFS ((MAX_SEQ + 1)/2)
typedef enum {frame_arrival, cksum_err, timeout, network_layer_ready, ack_timeout}
event_type;
#include "protocol.h"
boolean no_nak = true; /* nc nu a fost trimis nici o confirmare negativ */
seq_nr oldest_frame = MAX_SEQ + 1;
static boolean between(seq_nr a, seq_nr b, seq_nr c)
{
/* La fel ca between din protocolul 5, dar mai scurt i mai neclar. */
return ((a <= b) && (b < c)) || ((c < a) && (a <= b)) || ((b < c) && (c < a));
}
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 % NR_BUFS];
s.seq = frame_nr; /* are sens doar pentru cadrele de date */
s.ack = (frame_expected + MAX_SEQ) % (MAX_SEQ + 1);
if (fk == nak) no_nak = false; /* un nak per cadru, te rog */
to_physical_layer(&s); /* transmite cadrul */
if (fk == data) start_timer(frame_nr % NR_BUFS);
stop_ack_timer(); /* 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*/
int i; /* indicele zonei tampon */
frame r; /* variabil temporar */
packet out_buf[NR_BUFS]; /* zone tampon pentru fluxul de ieire */
packet in_buf[NR_BUFS]; /* zone tampon pentru fluxul de intrare */
boolean arrived[NR_BUFS]; /* 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 = NR_BUFS;
nbuffered = 0; /* iniial zonele tampon nu conin nici un pachet */
for (i = 0; i < NR_BUFS; i++) arrived[i] = false;
while(true) {
wait_for_event(); /* cinci variante: vezi event_type, mai sus */
SEC. 3.4 PROTOCOALE CU FEREASTR GLISANT 201

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 % NR_BUFS]); /* preia un nou pachet */
send_frame(data, next_frame_to_send, frame_expected, out_buf); /* trimite cadrul */
inc(next_frame_to_send); /* avanseaz limita superioar a ferestrei */
break;
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) && no_nak)
send_frame(nak, 0, frame_expected, out_buf);
else start_ack_timer();
if (between(frame_expected, r.seq, too_far) && (arrived[r.seq%NR_BUFS]==false)) {
/* Cadrele pot fi acceptate n orice ordine */
arrived[r.seq%NR_BUFS] = true; /* marcheaz tamponul ca fiind plin */
in_buf[r.seq%NR_BUFS] = r.info; /* introduce datele n tampon */
while (arrived[frame_expected % NR_BUFS]) {
/* Pred cadrele i avanseaz fereastra */
to_network_layer(&in_buf[frame_expected % NR_BUFS]);
no_nak = true;
arrived[frame_expected % NR_BUFS] = 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+1)%(MAX_SEQ+1),next_frame_to_send))
send_frame(data, (r.ack+1)%(MAX_SEQ+1), frame_expected, out_buf);
while (between(ack_expected, r.ack, next_frame_to_send)) {
nbuffered = nbuffered - 1; /* trateaz ack ataat */
stop_timer(ack_expected % NR_BUFS); /* cadrul a ajuns intact */
inc(ack_expected); /* avanseaz marginea inferioar a ferestrei emitorului */
}
break;
case cksum_err:
if (no_nak) send_frame(nak, 0, frame_expected, out_buf); /* cadru deteriorat */
break;
case timeout:
send_frame(data, oldest_frame, frame_expected, out_buf); /* a expirat timpul */
break;
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-19. Un protocol cu fereastr glisant utiliznd repetarea selectiv.
202 NIVELUL LEGTUR DE DATE CAP. 3


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 receptoru-
lui arat ca n fig. 3-20(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 so-
sesc 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-20 (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-20(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 0 la 6.

Fig. 3-20. (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.

Emitorul este fericit s afle c toate cadrele transmise au ajuns corect, deci i avanseaz fereas-
tra i trimite apoi imediat cadrele 7, 0, 1, 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 nu-
mere de secven corecte se suprapune peste cel vechi. Ca urmare, urmtoarea serie de cadre pot 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.
Pentru a iei din aceast dilem, trebuie s ne asigurm c atunci cnd receptorul i deplaseaz fe-
reastra, 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-20 (c) i fig. 3-20 (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_SEQ+1)/2. Deci, pentru numere de secven pe 4 bii, dimensiunea ferestrei este 4.
SEC. 3.4 PROTOCOALE CU FEREASTR GLISANT 203

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. n consecin, numrul de tampoane necesa-
re este egal cu dimensiunea ferestrei, nu cu intervalul de valori al numerelor de secven. n exem-
plul 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
(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 secvenelor. Efectiv, exist un contor de timp asociat fiecrui tampon.
Atunci cnd contorul expir, coninutul tamponului este retransmis.
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_SEQ cadre
i apoi protocolul se blocheaz, de aceea am presupus c exista ntotdeauna trafic n direcia invers.
Aceast problem este rezolvat n protocolul 6. Dup sosirea unei secvene de cadre cu date, es-
te pornit un contor de timp auxiliar, prin start_ack_timer. 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 ack_timeout. Cu acest artificiu, fluxul de trafic unidirecio-
nal este acum posibil, deoarece absena cadrelor de date n sens invers, pe care pot fi ataate confir-
mri, 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 utili-
zat pentru cadrele de date de ieire. Aceast condiie este impus pentru a ne asigura c o confirma-
re 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 fi-
ecare 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 retran-
smiterea cadrului specificat n NAK. Exist dou cazuri n care receptorul ar trebui s fie 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 no_nak din protocolul 6 are
valoarea adevrat dac nici un NAK nu a fost trimis pentru frame_expected. Dac NAK a fost modi-
ficat 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,
no_nak 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 retransmisii inutile) i fixarea la o valoa-
re mare (rmnnd n ateptare timp ndelungat dup producerea unei erori).
204 NIVELUL LEGTUR DE DATE CAP. 3


n ambele cazuri se irosete lrgime de band. Dac traficul n sens invers este sporadic, timpul
dinaintea confirmrii va avea valori neregulate, 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 n-
sui, 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 ack_expected, deoarece este
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 necon-
firmate 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 moment, lista cadrelor neconfirmate este 3, 4, 0, 5, 1, 2, 6,
de la cel mai vechi la cel mai nou. Dac tot traficul de rspuns (mai precis, cadrele cu confirmri)
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 prezentat
administrarea contoarelor de timp. n schimb, am presupus c, la expirarea timpului, variabila
oldest_frame este setat astfel, nct s indice cadrul pentru care a trecut timpul.


3.5 VERIFICAREA PROTOCOALELOR
Protocoalele reale i programele ce le implementeaz sunt adesea destul de complicate. Ca ur-
mare, 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 conside-
rate 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 eve-
niment |adic s execute apelul de procedur wait(event) din exemplele noastre|. n acest punct, sta-
rea automatului este complet determinat de strile variabilelor sale. Numrul de stri este deci 2
n
,
unde n este numrul de bii necesari pentru reprezentarea tuturor combinaiilor de variabile.
SEC. 3.5 VERIFICAREA PROTOCOALELOR 205

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 transmi-
tor 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 este posibil ca respec-
tivul cadru s fi fost primit, dar nu i 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
este trimis un cadru, cnd sosete un cadru, cnd expir un interval de timp, cnd apare o ntrerupe-
re etc. Pentru canal, evenimentele tipice sunt introducerea unui nou cadru pe canal de ctre automa-
tul 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 tranzi-
iile ca arce orientate.
O singur stare este desemnat ca stare iniial. Aceast stare corespunde descrierii sistemului,
atunci cnd el ncepe s 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 grafurilor (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 accesi-
bilitii (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, M, 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
I 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 aci-
une 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 eve-
niment 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-21(a). Acest graf corespunde proto-
colului 3 descris anterior: fiecare automat de protocol are dou stri, iar canalul are patru stri. Exis-
t un total de 16 stri, nu toate accesibile din starea iniial. Strile inaccesibile nu sunt reprezentate
206 NIVELUL LEGTUR DE DATE CAP. 3


n figur. Fiecare stare este etichetat cu trei caractere, SRC, unde S este 0 sau 1, corespunztor ca-
drului pe care transmitorul (S) ncearc s l expedieze; R este de asemenea 0 sau 1, corespunztor
cadrului pe care receptorul (R) l ateapt, iar C este 0, 1, A sau vid (-), corespunztor strii canalu-
lui. n acest exemplu, starea iniial a fost aleas ca fiind (000). Cu alte cuvinte, transmitorul toc-
mai a trimis cadrul 0, receptorul ateapt cadrul 0 i cadrul 0 este actualmente pe canal.

Fig. 3-21. (a) Diagrama de stare pentru protocolul 3. (b) Tranziiile.

n fig. 3-21 sunt prezentate 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-21(b). Sosirea unui cadru
cu suma de control eronat nu a fost pus n eviden, deoarece nu trebuie schimbat starea (n pro-
tocolul 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-21 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 cerin similar este aceea c nu trebuie s existe ci pe care transmitorul s-i schimbe sta-
rea de dou ori (de exemplu din 0 n 1 i napoi n 0) n timp ce starea receptorului rmne constan-
t. 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
pierdere nedetectat a dou pachete.
SEC. 3.5 VERIFICAREA PROTOCOALELOR 207

O alt proprietate important a unui protocol este absena interblocrilor. O interblocare (eng.:
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
modelului de graf, o interblocare este caracterizat de existena unei submulimi de stri 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 interblocri.
3.5.2 Modele de tip reea Petri
Automatul finit nu este singura tehnic de specificare formal a protocoalelor. n aceast seciu-
ne 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). Fig. 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 in-
trare. Orice tranziie activat poate fi executat la dorin, tergnd un jeton din fiecare loc de intra-
re 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: m-
nnc, doarme, mnnc, doarme .a.m.d.). Ca n cazul tuturor instrumentelor de modelare, detalii-
le inutile sunt eliminate.
Fig. 3-23 d modelul de tip reea Petri pentru fig. 3-12. Spre deosebire de modelul de tip auto-
mat 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. Tranzi-
iile 5, 6 i 7 corespund pierderii unui cadru 0, unei confirmri i, respectiv, a unui cadru 1. Tranzii-
ile 8 i 9 se petrec atunci cnd la receptor sosete un cadru de date cu numr de secven greit.
Tranziiile 10 i 11 reprezint sosirea la receptor a urmtorului cadrului din secven i livrarea
acestuia ctre nivelul reea.
208 NIVELUL LEGTUR DE DATE CAP. 3


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
de ieire ale tranziiei. Din moment ce fig. 3-23 are 11 tranziii, gramatica sa are 11 reguli, numerota-
te 1-11, fiecare corespunznd tranziiei cu acelai numr. Gramatica pentru reeaua Petri din fig. 3-
23 este urmtoarea:
1: BD AC
2: A A
3: AD BE
4: B B
5: C
6: D
7: E
8: CF DF
9: EG DG
10: CG DF
11: EF DG

Fig. 3-23. Model de tip reea Petri pentru protocolul 3.

SEC. 3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 209

Reelele Petri pot fi utilizate pentru a detecta erori n protocol, ntr-un mod similar folosirii au-
tomatelor 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.
Interesant de observat este cum s-a reuit reducerea unui protocol complex la 11 reguli gramati-
cale simple, care pot fi uor manipulate de un program.
Starea curent a reelei Petri este reprezentat ca o colecie neordonat de locuri, fiecare loc fi-
ind 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 ACG
(adic A, C i G au fiecare cte un jeton), i astfel, regula 10 (CGDF) poate fi aplicat, ducnd la o
nou stare (posibil cu acelai marcaj ca cea iniial), dar regula 3 (ADBE) nu poate fi aplicat.


3.6 EXEMPLE DE PROTOCOALE ALE LEGTU-
RII DE DATE
n urmtoarele seciuni vom examina cteva protocoale larg folosite pentru legtura de date.
Primul dintre ele, HDLC, este un protocol clasic orientat pe bit ale crui variante sunt folosite de
decenii ntregi n multe aplicaii. Cel de-al doilea, PPP, este protocolul de nivel legtur de date folo-
site pentru conectarea calculatoarelor casnice la Internet.
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. Ele sunt toate derivate din protocolul pentru legtura de date utilizat n
lumea mainframe-urilor IBM, numit SDLC (Synchronous Data Link Control, rom.: protocolul de
control sincron al legturii de date). Dup ce a dezvoltat SDLC, IBM l-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, rom.:
procedur de control avansat al comunicaiilor de date), iar ISO l-a modificat i a produs HDLC
(High-level Data Link Control, rom.: control de nivel nalt al legturii de date). CCITT a adoptat i
modificat HDLC pentru al su LAP (Link Access Procedure, rom.: procedur de acces la legtur)
care este parte a standardului pentru interfaa de reea X.25, dar, mai trziu l-a modificat din nou,
rezultnd LAPB, n scopul de a-l 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. n plus, dac nu i
place nici unul dintre ele, poi atepta modelul care va aprea anul viitor.
Aceste protocoale se bazeaz pe aceleai principii. Toate sunt orientate pe bii i folosesc insera-
rea de bii pentru transparena datelor. Ele difer doar n puncte minore, i totui suprtoare. Dis-
cuia care urmeaz, despre protocoalele orientate pe bii, intenioneaz a fi o introducere general.
Pentru detaliile specifice fiecrui protocol, consultai definiia corespunztoare.
Toate protocoalele orientate pe bii folosesc structura de cadru prezentat n fig. 3-24. Cmpul
Adres este primul ca importan pentru liniile cu terminale multiple, unde el este folosit pentru a
210 NIVELUL LEGTUR DE DATE CAP. 3


identifica unul dintre terminale. Pentru liniile punct-la-punct, el este folosit uneori pentru a deosebi
comenzile de rspunsuri.

Fig. 3-24. Format de cadru pentru protocoalele orientate pe bii.

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 efici-
ena 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 CRC (Cyclic Redundancy Code - cod ciclic redundant),
folosind tehnica prezentat in Sec. 3-2.2.
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 capete.
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 ataat. Oricum, toate protocoalele ader la convenia
c, n loc s ataeze numrul ultimului cadru recepionat corect, s foloseasc numrul primului ca-
dru nerecepionat (adic urmtorul cadru ateptat). Opiunea pentru ultimul cadru primit sau urm-
torul cadru recepionat este arbitrar; nu are importan ce convenie este utilizat, dac este folosi-
t cu consecven.

Bi i 1 3 1 3
0 Secven P/F Urmtor
1 0 Tip P/F Urmtor
1 1 Tip P/F Modificator
(a)
(b)
(c)


Fig. 3-25. Cmpul Control pentru (a) un cadru de informaie, (b) un cadru de supervizare,
(c) un cadru nenumerotat.

Bitul P/F nseamn Test/Final (eng.: Poll/Final). El este folosit atunci cnd un calculator (sau un
concentrator) interogheaz un grup de terminale. Cnd este folosit ca P, calculatorul invit termina-
lul 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.
SEC. 3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 211

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.
Numeroasele tipuri de cadre Supervizor sunt difereniate prin cmpul Tip. Tipul 0 este un cadru
de confirmare (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 indi-
ca 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 protoco-
lului 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 transmitorului este jumtate sau mai puin din dimen-
siunea spaiului secvenei. Astfel, dac receptorul dorete s pstreze cadre care erau n afara sec-
venei 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 per-
mit (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, neori-
entat pe conexiune. Diversele tipuri de protocoale orientate pe bii difer considerabil aici, spre deo-
sebire de celelalte dou tipuri, unde erau aproape identice. Pentru a indica tipul cadrului sunt dispo-
nibili 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
master iar cellalt este slave. SNRM dateaz din timpurile cnd comunicaia datelor presupunea un
terminal neinteligent comunicnd cu un calculator gazd puternic, 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 proto-
coale au comenzile SABME i SNRME, care sunt identice cu SABM i, respectiv, SNRM, cu excep-
ia faptului c ele permit folosirea unui format extins pentru cadru, care utilizeaz numere de sec-
ven 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 se-
mantic imposibil sunt cadru de tipul 3 Supervizor n LAPB, un cadru mai scurt de 32 de bii, un
212 NIVELUL LEGTUR DE DATE CAP. 3


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 in-
clud cmpul de control al cadrului eronat, parametrii ferestrei i o colecie 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 Ac-
knowledgement). 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 Infor-
mation). Aceste date nu sunt livrate nivelului reea, ci sunt destinate a fi primite chiar de nivelul le-
gtur de date.
n ciuda utilizrii pe scar larg, HDLC este departe de a fi perfect. O discuie despre diversita-
tea problemelor asociate cu acest protocol poate fi gsit n (Fiorini .a., 1995).
3.6.2 Nivelul legturii de date n Internet
Internet-ul const din maini individuale (calculatoare gazd i rutere) i o infrastructur de co-
municaie care le conecteaz. n cadrul unei singure cldiri sunt larg utilizate LAN-urile pentru in-
terconectare, 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 LAN. 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. Internet-ul este construit din aceste rutere i liniile lor
nchiriate care realizeaz subreelele de comunicaie.

Fig. 3-26. Un calculator personal lucrnd ca un calculator gazda n Internet.
SEC. 3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 213

A doua situaie n care liniile punct-la-punct joac un rol major n Internet o reprezint milioane-
le de utilizatori individuali care au conexiuni de acas la Internet folosind modemuri i linii telefoni-
ce comutate. De obicei PC-ul de acas al unui utilizator apeleaz ruterul unui furnizor 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 atunci
cnd utilizatorul i termin sesiunea, conexiunea va fi nchis. n fig. 3-26 este ilustrat un PC casnic
ce apeleaz un furnizor de servicii Internet. Modem-ul este prezentat ca fiind extern, tocmai pentru
a-i accentua rolul, dar calculatoarele moderne dispun de modem-uri interne.
Att pentru conexiunea pe linie nchiriat ruter-ruter ct i pentru conexiunea comutat calcula-
tor gazd-ruter, este necesar un protocol de legtur de date punct-la-punct pentru ncadrare, con-
trolul erorilor i pentru alte funcii ale nivelului legtur de date pe care le-am studiat n acest capi-
tol. Cel folosit n Internet este PPP. n continuare acesta va fi prezentat n detaliu.
PPP - Point-to-Point Protocol (rom.: protocol punct-la-punct)
Internetul are nevoie de un protocol punct-la-punct care s serveasc mai multor scopuri, inclu-
znd trafic ruter-la-ruter i trafic utilizator-la-ISP. Acest protocol este PPP (Point-to-Point Protocol,
rom.: protocolul punct-la-punct), care este definit in RFC 1661 i dezvoltat n alte cteva RFC-uri
(de exemplu RFC-urile 1662, 1663). PPP face detecia erorilor, suport mai multe protocoale, per-
mite ca adresele IP s fie negociate n momentul conectrii, permite autentificarea i are multe alte
capabiliti.
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 control al legturii pentru a obine liniile, a le testa, a negocia opiunile i pen-
tru a elibera liniile atunci cnd nu mai este nevoie de ele. Acest protocol se numete
LCP(Link Control Protocol, rom: protocolul de control al legturii). El suport circuite sin-
crone i asincrone i codificri orientate att pe bit, ct i pe caracter.
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, rom:
protocol 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 uti-
lizator sun de la domiciliu un furnizor de servicii Internet pentru a transforma PC-ul su de acas
ntr-un calculator gazd Internet temporar. PC-ul apeleaz mai nti ruterul furnizorului prin inter-
mediul 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 parametrii 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 s 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 o parte
din ele i asociaz dinamic cte una pentru fiecare PC ataat n reea, pe durata sesiunii de conecta-
re. Dac un furnizor posed n adrese IP, el poate avea pn la n maini conectate simultan, dar nu-
mrul total de clieni poate fi de mai multe ori pe att. NCP pentru IP este folosit pentru a realiza
asocierea adreselor IP.
214 NIVELUL LEGTUR DE DATE CAP. 3


n acest moment, PC-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 ntre-
rupe conexiunea la nivelul reea i elibereaz adresa IP. Apoi LCP 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 folosete umplerea cu carac-
tere 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.

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 folose-
te umplerea cu caractere, dac apare n cadrul cmpului ce specific informaia 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 problema necesitii de a se aso-
cia 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 ofer 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, dar aceast facilitate este rar utilizat.
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
economiseasc 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 proto-
coale. 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 lungime implici-
t 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.
SEC. 3.6 EXEMPLE DE PROTOCOALE ALE LEGTURII DE DATE 215

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 erori-
lor, 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 (eng.:
brought up) i eliberate (eng.: 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 cone-
xiunile prin modem ct i pentru conexiunile ruter-ruter.


Fig. 3-28. O diagram de faze simplificat pentru stabilirea i eliberarea unei linii.

Protocolul se iniializeaz cu linia n starea DEAD, stare care semnific faptul c 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 reue-
te, conduce la AUTHENTICATE. 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 con-
figura nivelul reea. Dac configurarea se face cu succes, este atins faza OPEN i poate avea loc
transportul datelor. Cnd transportul datelor este terminat, linia este trecut n faza TERMINATE
i, de aici, napoi n DEAD unde purttoarea este ntrerupt.

Nume Direcie Descriere
Configure-request IR Lista opiunilor i valorilor propuse
Configure-ack IR Toate opiunile sunt acceptate
Configure-nak IR Anumite opiuni nu sunt acceptate
Configure-reject IR Anumite opiuni nu sunt negociabile
Terminate-request IR Cerere de eliberare a liniei
Terminate-ack IR OK, linia este eliberat
Code-reject IR Primire cerere necunoscut
Protocol-reject IR Cerere protocol necunoscut
Echo-request IR Rog trimiterea acestui cadru napoi
Echo-replay IR Iat cadrul napoi
Discard-request IR Ignor cadrul (pentru testare)

Fig. 3-29. Tipurile de cadre LCP.
216 NIVELUL LEGTUR DE DATE CAP. 3



LCP negociaz opiunile protocolului 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 pro-
punere. 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 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 cadre 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 alternati-
v 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 cadrele LCP.
Codurile Terminate- sunt folosite pentru a elibera o linie atunci cnd ea nu mai este necesar. Co-
durile 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 de-
grab, nseamn c iniiatorul i cel ce rspunde folosesc versiuni diferite ale protocolului LCP. Tipu-
rile Echo- sunt folosite pentru a testa calitatea liniei. n sfrit, Discard-request este folosit pentru de-
panare. 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 monitori-
zrii calitii liniei n timpul operaiunilor normale i selectarea diferitelor opiuni pentru compri-
marea 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 pro-
tocol. De exemplu, pentru IP, asocierea dinamic a adreselor este cea mai important posibilitate.


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, inclu-
znd numrarea caracterelor, inserarea de octei i umplerea cu bii. Protocoalele legturii de date
pot oferi controlul erorilor pentru retransmiterea cadrelor distruse sau pierdute. Pentru a mpiedica
un emitor rapid s suprasolicite un receptor lent, protocolul legturii de date poate realiza i con-
trolul fluxului. Mecanismul cu fereastr glisant este foarte folosit pentru a integra controlul erorilor
i controlul fluxului ntr-un mod convenabil.
Protocoalele cu fereastr glisant pot fi clasificate dup dimensiunea ferestrei emitorului i du-
p dimensiunea ferestrei receptorului. Cnd ambele sunt egale cu 1, protocolul este pas-cu-pas
(eng.: stop-and-wait). Cnd fereastra emitorului este mai mare ca 1, de exemplu pentru a mpiedi-
ca emitorul s blocheze un circuit cu o ntrziere mare de propagare, receptorul poate fi progra-
mat fie s elimine toate celelalte cadre cu excepia urmtorului din secven, fie s memoreze cadre-
le neordonate pn cnd ele vor fi necesare.
SEC. 3.8 PROBLEME 217

n acest capitol au fost prezentate o serie de protocoale. Protocolul 1 a fost conceput pentru un
mediu fr erori, n care receptorul poate face fa oricrui flux de la emitor. Protocolul 2 presu-
pune existena unui mediu fr erori, dar introduce controlul fluxului. Protocolul 3 trateaz proble-
ma erorilor prin utilizarea numerelor de secven i a algoritmului pas-cu-pas. Protocolul 4 permite
comunicaia bidirecional i introduce conceptul de ataare (eng.: piggybacking). Protocolul 5 folo-
sete un protocol cu fereastr glisant i revenire cu n pai (eng.: go back n). Protocolul 6 folosete
repetarea selectiv i confirmri negative.
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.
Multe reele folosesc la nivelul legtur de date unul dintre protocoalele orientate pe bii -
SDLC, HDLC, ADCCP sau LAPB. Toate aceste protocoale folosesc octei indicatori pentru delimi-
tarea 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
folosete PPP ca principal protocol al legturii de date pe liniile de tip punct-la-punct.


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-l obine ntreg la destinaie?
2. Urmtoarea codificare a caracterelor este utilizat n cadrul unui protocol de nivel legtur de
date:
A: 01000111; B: 11100011; FLAG: 01111110; ESC: 11100000
Determinai secvena de bii transmis (n binar) pentru cadrul format din urmtoarele 4 carac-
tere: A B ESC FLAG, cnd fiecare din metodele de ncadrare urmtoare sunt utilizate:
a) numrarea caracterelor
b) octei indicatori i inserarea de octei
c) octei indicatori de nceput i sfrit, cu inserare de bii.
3. Urmtorul fragment de date apare n mijlocul unui ir de date pentru care este folosit algorit-
mul de inserare de octei descris n text: A B ESC C ESC FLAG FLAG D. Care este ieirea
dup inserare?
4. Unul dintre colegii Dvs. de clas, Scrooge, a remarcat faptul c este ineficient folosirea a 2 oc-
tei indicatori, unul pentru nceputul cadrului, cellalt pentru sfrit. Un singur octet indicator ar
fi suficient, ctigndu-se astfel un octet. Suntei de acord?
5. Dac n irul de bii 0111101111101111110 se insereaz bii, care este irul de ieire?
218 NIVELUL LEGTUR DE DATE CAP. 3


6. 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?
7. 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?
8. Pentru a oferi o siguran mai mare 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 dis-
tana Hamming pentru un astfel de cod?
9. Se transmit mesaje de 16 bii folosind un cod Hamming. Ci bii de control sunt necesari pen-
tru a asigura detectarea i corectarea de ctre receptor a erorilor de un bit? Prezentai secvena
de bii transmis pentru mesajul 1101001100110101. Presupunei c se folosete paritare par.
10. Un octet (8 bii) cu valoarea binar 10101111 trebuie codificat utiliznd un cod Hamming cu
paritate par. Care este valoarea binar dup codificare?
11. Un cod Hamming de 12 bii a crui valoare n hexazecimal este 0xE4F sosete la receptor. Care
este valoarea hexazecimal original? Presupunei ca maxim un bit este eronat.
12. 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. n colul din dreapta
jos este bitul de paritate care verific linia i coloana sa. Va detecta aceast schem toate erorile
singulare? Dar erorile duble? Dar erorile triple?
13. Un bloc de bii cu 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.
14. Ce rest se obine prin mprirea lui x
7
+x
5
+1 la polinomul generator x
3
+1?
15. Secvena de bii 10011101 este transmis folosind metoda CRC descris anterior. Polinomul
generator este x
3
+1. Prezentai secvena de bii transmis. Se presupune c al treilea de la stn-
ga este inversat n timpul transmisiei. Artai c aceast eroare este detectat de receptor.
16. Protocoalele legturii de date pun aproape ntotdeauna CRC-ul n partea final i nu n antet.
De ce?
17. Un canal are o rat de transmisie a biilor de 4 Kbps i o ntrziere de propagare de 20 ms. Pen-
tru ce domeniu al dimensiunii cadrelor metoda pas-cu-pas (stop-and-wait) are o eficien de cel
puin 50%?
18. Un trunchi T1 lung de 3000 km este folosit pentru a transmite cadre de 64 de bii folosind pro-
tocolul 5. Dac viteza de propagare este de 6 sec/km, pe ci bii trebuie reprezentate numere-
le de secven?
SEC. 3.8 PROBLEME 219

19. n protocolul 3, este posibil ca emitorul s porneasc contorul de timp, atunci cnd acesta
merge deja? Dac da, cnd se poate ntmpla acest lucru? Daca nu, de ce este imposibil?
20. Imaginai un protocol cu fereastr glisant ce folosete suficieni bii pentru numerele de sec-
ven, astfel nct s nu apar niciodat suprapuneri. Ce relaie trebuie s existe ntre cele patru
limite ale ferestrelor i dimensiunea ferestrei?
21. Dac n procedura between din protocolul 5 este verificat condiia a b c n locul condiiei a
b < c, ar avea aceasta vreun efect asupra corectitudinii protocolului sau eficienei sale? Ex-
plicai rspunsul.
22. 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 no_nak 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?
23. 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.
24. Presupunem c instruciunea case pentru erorile de sum de control a fost scoas din instruciu-
nea switch din protocolul 6. Cum ar afecta aceasta operarea protocolului?
25. n protocolul 6 codul pentru frame_arrival are o seciune folosit pentru NAK-uri. Aceast sec-
iune 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.
26. 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 i o dimensiune a ferestrei de 7 cadre. Ai dori s memorai ct mai mul-
te cadre din secven pentru a crete eficiena, dar nu v este permis s modificai pro-
gramul transmitorului. 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?
27. Considerai operarea protocolului 6 pe o linie fr erori de 1 Mbps. Dimensiunea maxim a ca-
drului este 1000 bii. Pachetele noi sunt generate la un interval de aproape o secund. Intervalul de
expirare a timpului este de 10 ms. 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?
28. n protocolul 6, MAX_SEQ = 2
n
-1. Dei aceast condiie este evident necesar pentru a utiliza
eficient biii din antet, nu s-a demonstrat c ea este i esenial. Ar funciona protocolul corect
pentru MAX_SEQ = 4 de exemplu?
29. Cadrele de 1000 de bii sunt transmise pe un canal printr-un satelit geostaionar de 1 Mbps a
crui ntrziere de propagare de la Pmnt este de 270 milisecunde. 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:
220 NIVELUL LEGTUR DE DATE CAP. 3


a) Pas-cu-pas (stop-and-wait);
b) Protocolul 5;
c) Protocolul 6.
30. 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. Presupunei o ntrziere de la Pmnt la
satelit de 270 milisecunde. Cadrele ACK nu apar niciodat. Cadrele NAK sunt de 40 de bii.
Rata de erori pentru cadrele de date este de 1% i rata de erori pentru cadrele NAK este negli-
jabil. Numerele de secven sunt pe 8 bii.
31. Se consider un canal prin satelit fr erori, de 64 Kbps, folosit pentru a transmite cadre de date
de 512 octei ntr-o singur direcie, cu confirmri foarte scurte ce se ntorc pe cealalt cale. Ca-
re este productivitatea maxim pentru dimensiuni ale ferestrei de 1, 7, 15 i 127? Presupunei o
ntrziere de la Pmnt la satelit de 270 milisecunde.
32. Un cablu lung de 100 km funcioneaz la rata de transmisie de date T1. Viteza de propagare pe
cablu este 2/3 din viteza luminii. Ci bii ncap pe cablu?
33. Se presupune c se modeleaz protocolul 4 utiliznd modelul automatelor finite. Cte stri exis-
t pentru fiecare main? Cte stri exist pentru canalul de comunicaie? Dar pentru un sistem
complet (dou maini i canalul)? Se ignor erorile de sum de control.
34. Determinai o secven executabil pentru reeaua Petri din fig. 3-23 corespunztoare secvenei
de stri (000), (01A), (01-), (010), (01A) n fig. 3-21. Explicai n cuvinte ce reprezint secvena
respectiv.
35. Date fiind regulile de tranziie ACB, BAC, CDE i ECD, desenai reeaua Petri descri-
s 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?
36. PPP se bazeaz pe HDLC, care folosete inserarea de bii pentru a mpiedica octeii indicatori
accidentali din interiorul informaiei utile s provoace confuzii. Dai cel puin un motiv pentru
care PPP folosete n locul acesteia inserarea de octei.
37. Care este suprancrcarea minim n transmiterea unui pachet IP folosind PPP? Luai n conside-
rare doar suprancrcarea introdus de PPP nsui, nu i suprancrcarea produs de antetul IP.
38. Scopul acestui exerciiu este implementarea unui mecanism de detectare a erorilor folosind
algoritmul standard CRC prezentat n text. Scriei dou programe, generator i verificator. Pro-
gramul generator citete de la intrarea standard mesaje de n bii ca iruri de 1 i 0, ca o linie de
text ASCII. A doua linie este polinomul generator pe k bii, citit tot ca text ASCII. La ieire,
programul va afia la ieirea standard (standard output) o linie de text ASCII cu n+k caractere
0 i 1, reprezentnd mesajul de transmis. Apoi afieaz polinomul, aa cum l-a citit. Programul
verificator citete ieirea programului generator i afieaz un mesaj care indic dac aceasta es-
te corect sau nu. Se va scrie apoi un program, altereaz, care inverseaz un bit din prima linie
depinznd de unul din parametri cu care a fost apelat (bitul cel mai din stnga se consider bitul
1), dar copiaz restul corect. Tastnd:
SEC. 3.8 PROBLEME 221

generator < fiier | verificator
ar trebui s vedei c mesajul este corect, dar tasnd:
generator < fiier | altereaz argument | verifica
ar trebui s primii un mesaj de eroare.
39. Scriei un program care s simuleze 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 in-
trare, programul trebuie s aleag tranziiile permise i s le execute aleator, verificnd dac un
calculator gazd accept dou mesaje fr ca un alt calculator gazd s emit unul nou ntre ele.

223
4
SUBNIVELUL DE ACCES LA MEDIU
Aa cum am artat n Cap. 1, reelele pot fi mprite n dou categorii: cele care utilizeaz cone-
xiuni 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, una dintre probleme este determinarea utilizatorului cu drept de acces
la canal n cazul n care exist mai muli utilizatori concureni. Pentru a lmuri lucrurile, s conside-
rm 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 pen-
tru 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, rom: contro-
lul accesului la mediu). Subnivelul MAC este important mai ales pentru reelele de tip LAN Local
Area Network (le vom numi prescurtat LAN-uri), care utilizeaz aproape toate un canal multiacces
ca baz pentru comunicaie. Din contr, reelele de tip WAN Wide Area Network (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 la modul
general att despre LAN-uri ct i despre reele prin satelit i alte reele cu difuzare. Deoarece cana-
lele multiaccess i reelele locale sunt subiecte att de apropiate, n acest capitol vom discuta mai
224 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


multe subiecte legate de reelele locale n general, incluznd i subiecte care nu sunt strict specifice
subnivelului MAC.
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 cap. 3. Dar,
pentru majoritatea oamenilor, nelegerea protocoalelor care implic mai multe pri este mai uoa-
r dup ce au neles bine protocoalele care implic numai dou pri. Pentru acest motiv am deviat
puin de la stilul de prezentare strict ascendent al ierarhiei reelelor.


4.1 PROBLEMA ALOCRII CANALULUI
Tema central a acestui capitol o reprezint modul de alocare a unui singur canal cu difuzare n-
tre mai muli utilizatori concureni. Mai nti vom arunca o privire de ansamblu 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 multi utili-
zatori concureni este multiplexarea cu diviziunea frecvenei (FDM Frequency Division Multiplex-
ing). 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 frec-
ven proprie, nu exist interferene ntre utilizatori. Atunci cnd exist doar un numr mic i con-
stant 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 sunt mai puin de N utilizatori care vor s comunice, o bun parte din band se va risipi.
Dac sunt mai mult de N utilizatori care vor s comunice, unii dintre ei nu o vor putea face, din lips
de spaiu n banda de transmisie, chiar dac exist utilizatori care au primit cte o parte din band i
transmit sau recepioneaz mesaje extrem de rar.
Chiar dac presupunem c numrul utilizatorilor ar putea fi meninut n vreun fel constant la va-
loarea N, divizarea singurului canal disponibil n subcanale statice este, evident, ineficient. Principa-
la problem este c atunci cnd unii utilizatori sunt inactivi, bucata lor de band se pierde pur i sim-
plu. 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 difereniat (sunt uzuale raporturi de 1000:1 ntre traficul de
vrf i cel mediu). 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 cadre/sec. Fiecare cadru are o lungime dat de o funcie de densitate
de probabilitate exponenial cu media de 1/ bii/cadru. Cu aceti parametri, rata sosirilor este
cadre/sec, iar viteza de servire este C cadre-sec. Din teoria cozilor poate fi demonstrat c pentru
timpi Poisson de sosire i de servire, vom avea
SEC. 4.1 PROBLEMA ALOCRII CANALULUI 225



=
C
T
1


De exemplu, dac C este 100 Mbps, lungimea medie a cadrului, 1/, este de 10.000 de bii, iar ra-
ta sosirilor, , este 5.000 cadre/sec, atunci T = 200 s. Trebuie remarcat c dac ignoram ntrzierea
dat de teoria cozilor i am fi vrut s determinm doar ct timp va dura s trimitem un cadru de
10.000 de bii ntr-o reea de 100 Mbps, am fi obinut rspunsul (incorect) de 100 s. Rezultatul, ast-
fel calculat, este corect doar cnd nu exist competiie pentru canal.
Acum s divizm canalul n N subcanale independente, fiecare cu o capacitate de C/N bps. Rata
medie a intrrilor pe fiecare subcanal va fi acum de /N. Recalculnd T vom obine:

NT
C
N
N N C
TFDM =

=

=
) / ( ) / (
1
(4-1)

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 N-a cuant.
Dac un utilizator nu i folosete timpul alocat, acesta rmne nefolosit. Acelai lucru se ntmpl i
dac divizm reelele n mod fizic. Revenind la exemplul anterior, dac am nlocui reeaua de 100
Mbps cu zece reele de 10 Mbps fiecare i dac am aloca static fiecreia cte un utilizator, ntrzierea
medie ar sri de la 200 s la 2 ms.
Deoarece nici una dintre metodele statice de alocare a canalului nu funcioneaz bine n condiii
de trafic n rafal, vom studia n continuare metodele dinamice.
4.1.2 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 cteva ipoteze-cheie, descrise n continuare.

1. Modelul staiilor. Acest model const din N staii independente (calculatoare, telefoane,
dispozitive de comunicare personal etc.), fiecare avnd un program sau un utilizator care
genereaz cadre de transmis. Staiile sunt uneori denumite terminale. Probabilitatea de ge-
nerare a unui cadru ntr-un interval de lungime t este t, unde este o constant (rata so-
sirilor de cadre noi). Odat ce a fost generat un cadru, staia se blocheaz i nu mai face ni-
mic pn la transmiterea cu succes a cadrului.
2. Ipoteza canalului unic. Exist un singur canal accesibil pentru toate comunicaiile. Toate
staiile pot transmite prin el i pot recepiona de la el. n ceea ce privete partea de hardwa-
re, 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 co-
mun, care s mpart timpul n intervale discrete.
226 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


5. Timp discret. Timpul este mprit n intervale discrete (cuante). Transmisia cadrelor por-
nete ntotdeauna la nceputul unei cuante. O cuant poate conine 0, 1, sau mai multe ca-
dre, corespunztor unei cuante de ateptare, unei transmisiuni efectuate cu succes sau, res-
pectiv, unei coliziuni.
6. Detecia purttoarei. Staiile pot afla dac un canal este liber sau nu nainte de a ncerca s-l
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.

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 impli-
cit 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 existen-
a 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 remar-
cm sistemele cu spectru larg de transmisie) ea este relaxat, cu rezultate surprinztoare. De aseme-
nea, unele LAN-uri, cum ar fi cele de tip token-ring, utilizeaz un mecanism de eliminare a conflic-
telor, care elimin coliziunile.
Exist dou ipoteze alternative despre timp. ntr-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 ur-
meaz 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,
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 227

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
fost 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 ms nainte ca emitorul s afle dac transmisia s-a
ncheiat cu succes. n cazul n care cadrul trimis a fost distrus, emitorul ateapt un interval oareca-
re 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 maxi-
mizat n cazul n care avem cadre de lungime uniform, fa de cazul n care avem cadre de lun-
gime variabil.

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, a-
teptnd un rspuns. Atunci staia transmite pe canal un cadru coninnd linia i verific dac trans-
228 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


misia 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 utili-
zatori genereaz cadre noi conform unei distribuii Poisson cu media de N cadre pe interval de cadru
(ipoteza populaiei infinite este necesar pentru a ne asigura c N nu descrete pe msur ce utiliza-
torii se blocheaz). Dac N > 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 rezona-
bil ar trebui ca 0 < N < 1.
n plus fa de noile cadre, staiile mai genereaz i copii ale cadrelor care au suferit anterior co-
liziuni. 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 N. La ncrcare redus (adic N 0), vor fi puine coliziuni, deci puine re-
transmisii, aa c G N. La ncrcare mare vor fi multe coliziuni, deci G > N. Orice ncrcare am
avea, productivitatea este chiar ncrcarea dat, G, nmulit cu probabilitatea ca o transmisie s se
ncheie cu succes - adic S = GP
0
, unde P
0
este probabilitatea ca un cadru s nu sufere coliziuni.

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 soco-
tit 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 t
0
i t
0
+ 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 t
0
+ t i t
0
+ 2t 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:


!
] Pr[
k
e G
k
G k
= (4-2)

SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 229

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 P
0
= e
-2G
.
Lund S = GP
0
, obinem:

G
Ge S
2
=

Fig. 4-3. Productivitatea n funcie de traficul oferit pentru sistemele ALOHA.

Relaia dintre traficul oferit i productivitate este prezentat n fig. 4-3. Productivitatea maxim
este obinut la G = 0.5, cu S = 1/2e, adic aproximativ 0.184. Cu alte cuvinte, cea mai bun perfor-
man 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
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. Deoa-
rece acum perioada vulnerabil este njumtit, probabilitatea ca n intervalul cadrului nostru de
test s nu mai apar un alt trafic este e
-G
, ceea ce conduce la:


G
Ge S

= (4-3)

Aa cum reiese din fig. 4-3, ALOHA cuantificat prezint un maxim la G = 1, cu o productivitate
de S = 1/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
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 nu-
230 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


mrului coliziunilor odat cu G, s considerm transmisia unui cadru de test. Probabilitatea ca el s
evite o coliziune este e
-G
, adic probabilitatea ca toi ceilali utilizatori s nu transmit n acest inter-
val. Probabilitatea unei coliziuni este deci 1 - e
-G
. Probabilitatea ca o transmisie s se efectueze exact
din k ncercri (adic dup k - 1 coliziuni, urmate de un succes) este


1
) 1 (

=
k G G
k
e e P

Numrul de transmisii prognozat pentru fiecare apsare a tastei Return, E, este deci


G k G
k
G
k
k
e e ke kP E = = =

=

1
1 1
) 1 (

Ca urmare a dependenei exponeniale a lui E fa de G, creteri mici ale ncrcrii canalului pot
reduce drastic performanele sale.
ALOHA cuantificat este important pentru un motiv care poate nu este evident la prima vedere.
A fost conceput n anii `70, a fost folosit n cteva sisteme experimente timpurii, apoi a fost aproape
uitat. Cnd a fost inventat accesul la Internet prin cablu a aprut dintr-o dat problema alocrii unui
singur canal ntre utilizatori multipli aflai n concuren astfel nct ALOHA cuantificat a fost scos
de la naftalin pentru a salva situaia. S-a ntmplat frecvent ca protocoale perfect valide s fie date
uitrii din motive politice (de exemplu, deoarece o mare companie vrea ca toat lumea s fac lucru-
rile aa cum zice ea), dar la ani distan o persoan inteligent descoper c un protocol de mult
uitat rezolva o anumit problem curent. Din acest motiv, n acest capitol vom studia un numr de
protocoale elegante care nu sunt actualmente folosite la scar larg, dar care ar putea foarte simplu
s fie utile n aplicaiile viitorului, dac suficieni ingineri de reea sunt contieni de existena lor.
Desigur, vom studia mai multe protocoale aflate n folosin curent.
4.2.2 Protocoale cu acces multiplu i detecie de purttoare
Cu ALOHA cuantificat se poate atinge un grad de utilizare a canalului de pn la 1/e. Acest lu-
cru nu este surprinztor, dac ne gndim c staiile transmit cnd doresc, 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. Astfel de
reele pot obine un grad de utilizare mult mai bun dect 1/e. n aceast seciune vom discuta cte-
va protocoale pentru mbuntirea a performanei.
Protocoalele n care staiile ascult pentru a detecta o purttoare (adic o transmisie) i acio-
neaz corespunztor se numesc protocoale cu detecie de purttoare (carrier sense protocols).
Kleinrock i Tobagi (1975) au analizat n detaliu 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 1-persistent (Carrier Sense Multiple Access, rom: 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 elibe-
rarea 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 1-persistent,
pentru c probabilitatea ca o staie s transmit atunci cnd gsete canalul liber este egal cu 1.
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 231

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
mai mare ntrzierea de propagare, cu att acest efect devine mai important, iar performana proto-
colului scade.
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
semnificativ 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.



Fig. 4-4. Comparaie ntre utilizrile canalului n funcie de ncrcare,
pentru diferite protocoale cu acces aleator.

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 cana-
lul este ocupat, staia nu rmne n continuu n ascultare, pentru a-l 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, dar i la
ntrzieri mai mari dect la CSMA 1-persistent.
Ultimul protocol este CSMA p-persistent (p-persistent CSMA). El se aplic la canalele
cuantificate i funcioneaz dup cum urmeaz. Cnd o staie este gata s emit, ea ascult canalul.
Dac acesta este liber, staia va transmite cu o probabilitate p. Cu probabilitatea q = 1 p, staia va
atepta urmtoarea cuant. Dac aceast cuant este de asemenea liber, va transmite sau va
atepta din nou, cu probabilitile p i respectiv q. Acest proces este repetat pn cnd cadrul este
transmis sau pn cnd o 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. Fig. 4-4
232 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


z canalul ocupat, ateapt cuanta urmtoare i aplic algoritmul de mai sus. Fig. 4-4 arat producti-
vitatea n funcie de traficul oferit pentru toate cele trei protocoale, precum i pentru ALOHA pur i
ALOHA cuantificat.
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 ocu-
pat. 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 nume-
le de CSMA/CD (Carrier Sense Multiple Access with Collision Detection, rom: acces multiplu cu
detecia purttoarei i a coliziunii), este des ntrebuinat n LAN-uri n subnivelul MAC. n particu-
lar, este baza popularului Ethernet LAN, astfel nct merit efortul s l analizm n detaliu.
CSMA/CD, ca i multe alte protocoale de LAN, utilizeaz modelul conceptual din fig. 4-5. n
momentul marcat cu t
0
, 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 li-
mea impulsului semnalului recepionat i comparndu-le cu semnalul transmis.

Fig. 4-5. CSMA/CD se poate afla ntr-una din urmtoarele stri: conflict,
transmisie sau inactiv.

Dup ce o staie a detectat o coliziune, i abandoneaz transmisia, ateapt o perioad de timp
oarecare i ncearc din nou, 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 pe-
rioade de timp de conflict, avnd i perioade de ateptare, cnd toate staiile tac (de exemplu, din
lips de activitate).
S privim acum mai ndeaproape detaliile algoritmului de tratare a conflictelor. S presupunem
c dou staii ncep s transmit simultan, exact la momentul t
0
. 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 cele-
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 233

lalte 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 timpul de propagare a semnalului ntre
staiile cele mai ndeprtate. La t
0
, o staie ncepe s transmit. La t
0
+ ( - ), cu o clip 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 2 - . 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 2 fr a detecta vreo
coliziune. Din acest motiv vom modela intervalul de conflict ca un sistem ALOHA cuantificat, cu
dimensiunea cuantei 2. Pe un cablu coaxial de 1 km, 5 s. Simplificnd, vom presupune c fieca-
re cuant conine un singur bit. Bineneles c, odat ce canalul a fost ocupat, o staie poate transmi-
te cu orice rat dorete, nu neaprat doar 1 bit la 2 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 de-
tectat). Din acest motiv, de obicei se utilizeaz codificri speciale.
Este de asemenea important de observat c o staie care transmite trebuie s monitorizeze conti-
nuu semnalul, s asculte zgomotele care pot indica o coliziune. Din acest motiv, CSMA/CD cu un
singur canal este n mod inerent un sistem jumtate-duplex (half-duplex). Este imposibil ca o staie
s transmit i s primeasc cadre simultan datorit faptului c logica primirii cadrelor este activ,
verificnd coliziunile n timpul fiecrei transmisiuni.
Pentru a evita orice nenelegere, e bine s notm c nici un protocol al subnivelului MAC nu ga-
ranteaz 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 fr coliziuni
Dei n CSMA/CD nu apar coliziuni dup ce o staie a ocupat efectiv canalul, ele mai pot ap-
rea n perioada de conflict. Aceste coliziuni afecteaz negativ performana sistemului, mai ales
atunci cnd cablul este lung (adic 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 pen-
tru i cadre scurte va deveni o problem din ce n ce mai serioas. n aceast seciune vom exami-
na cteva protocoale care rezolv conflictul pentru canal fr nici o coliziune, nici mcar n perioa-
da de conflict.
n protocoalele ce vor fi descrise n continuare, 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)
n 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, trans-
mite 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 cuan-
tei 1, dar doar dac are un cadru de transmis. n general, staia j poate anuna c are de transmis un
234 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


cadru insernd un bit 1 n cuanta j. 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).

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 urmri uor, 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 con-
flict. 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 con-
flict 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, 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 N cu-
ante 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 a-
tepte 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
N bii, 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 + 1)/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 ncrcarea suplimentar de 1 bit pe staie. Pu-
tem obine rezultate i 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 com-
binai 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). Se presupune implicit c ntrzierile n transmisie sunt neglijabile, astfel nct toate staiile vd
biii transmii practic instantaneu.
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 235

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 emi-
t. 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 ncear-
c 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 poa-
te transmite un cadru, dup care ncepe o nou rund de licitaii. Protocolul este ilustrat n fig. 4-7.
Are proprietatea c staiile cu numere mai mari au o prioritate mai nalt dect staiile cu numere
mai mici, ceea ce poate fi i bine i ru, n funcie de context.


Fig. 4-7. Protocolul cu numrtoare invers binar. O liniu indic tcere.

Eficiena canalului, n cazul acestei metode, este de d/(d + ln N). Dac formatul cadrului a fost
bine ales, astfel nct adresa emitorului s fie primul cmp al cadrului, chiar i aceti ln 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 para-
lel 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
C, H, D, A, G, B, E i F au 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: C, 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.
Numrtoarea invers binar este un exemplu de protocol simplu, elegant i eficient care ateap-
t s fie redescoperit. Sperm c i va gsi o nou familie cndva n viitor.
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 func-
236 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


ie 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 preferat
datorit ntrzierilor mici. Cu ct traficul crete, cu att aceste metode devin tot mai puin atractive,
deoarece ncrcarea suplimentar asociat cu arbitrarea canalului devine tot mai mare. Pentru pro-
tocoalele fr coliziuni apare efectul invers: la trafic sczut, ele au ntrzieri mari, dar, pe msur ce
traficul crete, eficiena canalului se mbuntete n loc s se nruteasc, cum se ntmpl la pro-
tocoalele 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. Un fapt destul de
interesant este c performana global a sistemului poate fi uneori mbuntit utiliznd un proto-
col 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. Fieca-
re 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 - p)
k - 1
. Pentru a obine valoarea optim pentru p, derivm n
raport cu p, egalm rezultatul cu zero i rezolvm pentru p. Vom obine c valoarea cea mai bun a
lui p este 1/k. Substituind p = 1/k, obinem probabilitatea

Pr[succes cu p optim] =
1
1

|
.
|

\
|
k
k
k
(4-4)
Aceast probabilitate este reprezentat n fig. 4-8. Pentru un numr mic de staii ansele de suc-
ces sunt mari, dar probabilitatea scade ctre o valoare asimptotic de 1/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 redu-
cnd 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 cuan-
ta 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 pen-
tru 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 p
2
, ceea ce pentru un p mic este o valoare neglijabi-
l. 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. Cazul limi-
t este un singur grup coninnd toate staiile (adic ALOHA cuantificat). Ceea ce ne trebuie este o
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 237

cale de a asocia staii cuantelor n mod dinamic, cu multe staii pe cuant atunci cnd traficul este
sczut i puine staii pe cuant (sau chiar una singur) atunci cnd traficul este mare.

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 Sta-
telor Unite n scopul testrii pentru sifilis a soldailor n timpul celui de-al doilea rzboi mondial
(Dorfman, 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 anti-
corpi, 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.

Fig. 4-9. Arborele pentru opt staii.

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 coliziu-
ne, 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 pro-
duce o coliziune n timpul cuantei 1, caz n care va fi rndul nodului 4 n timpul cuantei 2.
238 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


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 par-
ticular 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, cuta-
rea 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, pen-
tru 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 n-
ceap cutarea? Desigur, 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 ni-
velul 0, nodurile 2 i 3 pe nivelul 1 etc. Observai c fiecare nod de pe nivelul i are dedesubt o fraci-
une de 2
-i
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 2
-i
q. 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
-i
q = 1. Rezolvnd aceast ecuaie vom gsi c i = log
2
q.
Au fost descoperite numeroase mbuntiri ale algoritmului de baz, care sunt discutate n deta-
liu de Bertsekas i Gallager (1992). De exemplu, s considerm cazul n care staiile G i H 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). ncerca-
rea 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 utili-
zeze lungimi de und (adic frecvene) diferite n acelai timp. n aceast seciune vom examina un
astfel de protocol (Humblet .a., 1992).
O cale simpl de construire a unui 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 frec-
ven), ca n fig. 2-24. n acest protocol, WDMA (Wavelength Division Multiple Access, rom: acces
multiplu cu divizarea frecvenei), fiecrei staii i sunt asociate dou canale. Un canal ngust este fo-
losit drept canal de control pentru semnalizarea ctre staie, iar unul larg pentru ca staia s poat
trimite cadre de date prin el.
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 239


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 canalu-
lui de control i n + 1 numrul de cuante ale canalului de date, dintre care n sunt pentru date i ul-
tima este utilizat de staie pentru a-i raporta starea (n principal, care dintre cuantele ambelor ca-
nale sunt libere). Pe ambele canale secvena de cuante se repet la infinit, cu cuanta 0 marcat spe-
cial pentru ca cei care iau parte mai trziu la transmisie s o poat detecta. Toate canalele sunt sin-
cronizate 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 c dac A vrea s comunice cu B, 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.
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 reali-
zat cu un interferometru Fabry-Perot sau Mach-Zehnder, care elimin prin filtrare toate frecvene-
le, cu excepia celei dorite.
S urmrim acum modul n care staia A 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 cana-
lului de date al lui B i ateapt cuanta de stare. Aceast cuant precizeaz care cuante de control
240 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


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 i 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 acor-
dnd 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 urmrind 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 staie 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 uit-te la urmtoarea cuant 3 cu date de ieire de la mine. 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 cu-
anta 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 cnd A 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 co-
nexiune 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 CONNEC-
TION 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 cu-
ante 3 de date, transmisiunea va reui. Altfel, cadrul de date se va pierde. n acest fel nu vom avea
niciodat nevoie de conexiuni.
Sunt posibile mai multe variante ale ntregului protocol. De exemplu, n loc s i asigurm fiec-
rei 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. Dez-
avantajul const n faptul c emitorii trebuie s atepte mai mult pentru a obine o cuant de con-
trol, iar cadrele de date consecutive vor fi separate din cauza informaiilor de control de pe canal.
Au fost propuse numeroase alte protocoale WDMA, care se deosebesc prin detalii. Unele au un
singur 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.
Cnd sunt folosite un numr ridicat de frecvene sistemul poate fi numit DWDM (Dense Wavelength
Division Multiplexing - acces multiplu dens cu divizarea frecvenei). Pentru mai multe informaii, vezi
(Bogineni .a., 1993; Chen, 1994; Goralski, 2001; Kartopoulos, 1999; Levine i Akyildiz, 1995).
SEC. 4.2 PROTOCOALE CU ACCES MULTIPLU 241

4.2.6 Protocoale pentru reele LAN fr 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 posibili-
tatea 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 calcula-
toare trebuiau 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 co-
municaie semnale radio (sau infraroii). Astfel, utilizatorii dedicai pot citi sau trimite pota electro-
nic 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 reelele locale fr fir pot fi
gsite n (Geier, 2002; O`Hara i Petrick, 1999).
O configuraie obinuit pentru un LAN fr fir este o cldire cu birouri, cu staiile de baz am-
plasate 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 i acoperind toate staiile din respectiva celul. n
mod normal, lrgimea de band a canalului este de 11-54 Mbps.
n discuia care urmeaz vom presupune, pentru simplificare, c toi emitorii radio au un do-
meniu 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 acelai domeniu, ceea ce 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,
prin ascultarea celorlalte transmisiuni i transmisia numai n cazul n care nimeni nu transmite. Pro-
blema 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 sta-
ii nelegate prin cablu. Pentru ceea ce vrem s artm nu 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.

Fig. 4-11. Un LAN fr fir. (a) A transmite. (b) B transmite.
242 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


S considerm mai nti ce se ntmpl atunci cnd A transmite ctre B, ca n fig. 4-11(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-l.
Problema staiei care nu poate detecta un potenial competitor la mediu pentru c se afl prea de-
parte este numit uneori problema staiei ascunse (hidden station problem).
S considerm acum situaia invers: B transmite ctre A, ca n fig. 4-11(b). Dac C ascult me-
diul, 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 re-
ceptorului 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.
MACA i MACAW
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.

Fig. 4-12. Protocolul MACA. (a) A emite un RTS ctre B.
(b) B i rspunde lui A cu un CTS.
SEC. 4.3 ETHERNET 243

S vedem acum modul n care A i trimite un cadru lui B. A ncepe prin a emite un cadru RTS
(Request To Send, rom: 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,
rom: aprobare transmisie), ca n fig. 4-12(b). Cadrul CTS conine lungimea datelor (copiat din ca-
drul RTS). La recepia cadrului CTS, A ncepe transmisia.
S urmrim acum modul n care reacioneaz staiile care recepioneaz vreunul din aceste ca-
dre. Orice staie care aude RTS se afl n mod cert n apropierea lui A i trebuie s tac suficient de
mult timp pentru ca s poat fi trimis un CTS napoi la A, fr conflicte. Orice staie care recepio-
neaz 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 A,
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 pri-
measc 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.
n ciuda acestor precauii, nc mai pot aprea coliziuni. De exemplu, B i C ar putea transmite
simultan cadre RTS ctre A. Ele vor intra n coliziune i se vor pierde. n eventualitatea unei colizi-
uni, un emitor care nu a avut succes (adic unul care nu aude un CTS n intervalul de timp prev-
zut) va atepta o perioad de timp aleatorie i va ncerca din nou. Algoritmul utilizat este cel de re-
gresie 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 urm s mbun-
teasc performanele MACA i au redenumit noul lor protocol MACAW. La nceput, ei au obser-
vat 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 introdu-
cnd un cadru de confirmare ACK dup fiecare cadru de date transmis cu succes. Tot ei au mai ob-
servat c CSMA are o oarecare utilitate, i anume s opreasc o staie de la a transmite un RTS con-
comitent cu o alt staie apropiat care face acelai lucru ctre aceeai destinaie, aa c a fost adu-
gat i detecia de purttoare. n plus, ei au mai decis s execute algoritmul de regresie separat pen-
tru fiecare flux de date (pereche surs-destinaie), iar nu pentru fiecare staie. Aceast schimbare
mbuntete echitatea protocolului. n final, pentru a mbunti performanele sistemului, s-au
mai adugat: un mecanism ce permite staiilor s schimbe informaii despre congestia reelei i o
cale de a face ca algoritmul de regresie s reacioneze mai puin violent la problemele temporare.


4.3 ETHERNET
Am terminat acum discuia noastr general despre protocoalele de alocare a canalelor n teorie,
deci este timpul s vedem cum se aplic aceste principii sistemelor reale n particular, LAN-urilor.
Dup cum am discutat n seciunea 1.5.3, IEEE a standardizat un numr de reele locale i metropo-
litane sub numele de IEEE 802. Cteva au supravieuit, dar nu multe, dup cum am vzut n fig. 1-
38. Unii dintre cei care cred n rencarnare se gndesc c Charles Darwin s-a ntors ca membru al
IEEE Standards Association pentru a elimina reelele neadaptate. Cei mai importani dintre supra-
244 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


vieuitori sunt: 802.3 (Ethernet) i 802.11 (LAN fr fir). n ceea ce privete 802.15 (Bluetooth) i
802.16 (MAN fr fir), este prea devreme pentru a ne pronuna. V sftuim s consultai ediia a 5-a
a acestei cri ca s aflai. Att 802.3 i 802.11 au niveluri fizice diferite i subniveluri MAC diferite,
dar ele converg asupra aceluiai subnivel logic de control al conexiunii (LLC) (definit n 802.2), astfel
nct au aceeai interfa cu nivelul de reea.
Am introdus Ethernetul n Sec.1.5.3 i nu vom mai repeta aici aceleai informaii. n continuare
ne vom concentra asupra detaliilor tehnice ale Ethernetului, protocoalele i realizrile recente n
Ethernet-ul de mare vitez (gigabit). Din moment ce Ethernet i IEEE 802.3 sunt aproape identice,
cu excepia a dou detalii minore pe care le vom discuta n curnd, muli oameni folosesc termenii
Ethernet i IEEE 802.3 ca sinonime, astfel nct i noi vom face acelai lucru. Pentru mai multe
informaii despre Ethernet, vezi (Bradley i Riley, 1999; Seifert, 1998; Spurgeon, 2000).
4.3.1 Cablarea Ethernet
ntruct numele Ethernet se refer la cablu (eterul), s pornim discuia noastr de aici. n mod
obinuit, sunt utilizate patru tipuri de cabluri, dup cum se arat n fig. 4-13.

Nume Cablu Seg. maxim Noduri / seg. Avantaje
10Base5 coaxial gros 500 m 100 Cablul original, n prezent ieit
din uz
10Base2 coaxial subire 185 m 30 Nu este nevoie de hub
10Base-T perechi torsadate 100 m 1024 Cel mai ieftin sistem
10Base-F Fibr optic 2000 m 1024 Cel mai bun ntre cldiri

Fig. 4-13. Cele mai obinuite tipuri de cablare Ethernet.

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 suge-
reaz acest lucru). Conexiunile cu el sunt fcute n general utiliznd conectori-vampir (vampire
taps), la care un pin este introdus cu mare grij pn n miezul cablului coaxial. Notaia 10Base5
nseamn c funcioneaz la 10 Mbps, utilizeaz semnalizare n banda de baz i poate suporta seg-
mente de pn la 500 metri. Primul numr reprezint viteza n Mbps. Apoi urmeaz cuvntul Ba-
se (uneori BASE) pentru a indica transmisia n banda de baz. Exista mai demult o variant n
banda larg, 10Broad36, dar nu s-a impus pe pia i a disprut. n fine, dac mediul de transmisie
este cablul coaxial, lungimea sa apare rotunjit n uniti de 100m dup Base.
Istoric 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. Acetia sunt mai uor de folosit i mai siguri. Ethernetul subire este mult mai
ieftin i mai uor de instalat, dar el poate suporta lungimi ale cablului de maxim 185 de metri pe seg-
ment, fiecare segment putnd trata numai 30 de calculatoare.
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
SEC. 4.3 ETHERNET 245

localizarea originii ecoului. Aceast tehnic este numit reflectometrie n domeniul timp (time do-
main 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 bi-
rouri sunt deja cablate n acest fel i, n mod normal, exist o mulime de perechi disponibile. Aceas-
t strategie se numete 10Base-T. Concentratorii nu pot ine ntr-o memorie tampon traficul pe care
l transfer. Vom discuta mai trziu n acest capitol o versiune mbuntit a acestei idei (comuta-
toarele), care au mecanisme de pstrare a traficului primit ntr-o memorie tampon.
Aceste trei strategii de cablare sunt ilustrate n fig. 4-14. 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 care 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.

Fig. 4-14. Trei tipuri de cablare 802.3. (a) 10Base5. (b) 10Base2. (c)10Base-T.

La 10Base5, un cablu de transiver (transceiver cable) conecteaz transiverul cu o plac de inter-
fa din calculator. Cablul transiverului poate avea pn la 50 de metri lungime i conine cinci pe-
rechi torsadate izolate individual. Dou dintre perechi sunt pentru datele de intrare i respectiv date-
le 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 opt calcula-
toare 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 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
cipuri controlor gestioneaz i un set de zone tampon pentru cadrele primite, o coad de zone tam-
pon pentru transmisie, transferurile DMA cu calculatoarele gazd i alte aspecte legate de adminis-
trarea reelei.
246 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


La 10Base2, conexiunea cu cablul se face printr-un conector BNC pasiv cu jonciune n T. Elec-
tronica transiverului este pe placa controlorului i fiecare staie are ntotdeauna propriul transiver.
La 10Base-T, nu exist nici un cablu, ci doar un concentrator - o cutie plin de electronic. Ad-
ugarea sau ndeprtarea unei staii este mai simpl n aceast configuraie, iar ntreruperile cablului
pot fi detectate uor. Dezavantajul lui 10base-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, 10Base-T devine tot mai popular datorit uurinei de ntreinere. O versiune
mai rapid de 10Base-T (100Base-T) va fi discutat mai trziu n acest capitol.
A patra opiune de cablare pentru 802.3 este 10Base-F, care folosete fibre optice. Aceast alter-
nativ 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 distane mari. Sunt permise distante de kilometri. Ofer de asemenea o securitate bun,
deoarece interceptarea traficului de pe o fibr de sticl este mult mai dificil dect ascultarea traficu-
lui pe cablul de cupru.
Fig. 4-15 arat diferite moduri de cablare a unei cldiri. n fig. 4-15(a), un singur cablu este er-
puit din camer n camer, fiecare staie fiind conectat direct la el n punctul cel mai apropiat. n
fig. 4-15(b), o coloan vertical suie de la parter pn la acoperi, cu cabluri orizontale conectate
direct la ea la fiecare etaj prin amplificatoare speciale (repetoare). n unele cldiri, cablurile orizon-
tale sunt subiri, iar coloana este groas. Cea mai general topologie este cea de arbore, ca n fig. 4-
15(c), deoarece o reea cu dou ci ntre unele perechi de staii poate suferi din cauza interferenei
dintre cele dou semnale.

Fig. 4-15. Topologii de cablu. (a) Liniar. (b) Coloan. (c) Arbore. (d) Segmentat.

Fiecare versiune de 802.3 are o lungime maxim admis de cablu pe segment. Pentru a permite
reele mai mari, mai multe cabluri pot fi conectate prin repetoare (repeaters), aa cum se arat n fig.
4-15(d). Un repetor este un dispozitiv de nivel fizic. El recepioneaz, amplific i retransmite sem-
nale 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 de cablu 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.
SEC. 4.3 ETHERNET 247

4.3.2 Codificarea Manchester
Nici una din versiunile lui 802.3 nu folosete o codificare binar direct, cu 0 voli pentru un bit 0
i 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 diferen-
a ntre un emitor inactiv (0 voli) i un bit 0 (0 voli). Aceast problem poate fi rezolvat prin
utilizarea valorilor +1V pentru 1 i 1V pentru 0. Totui, aceast soluie nu rezolv problema recep-
torului care va eantiona semnalul cu o frecven uor diferit de cea pe care emitorul o folosete
ca s-l genereze. Ceasurile diferite pot duce la o desincronizare ntre emitor i receptor n ceea ce
privete graniele biilor, n special dup un ir lung de 0 consecutivi sau de 1 consecutivi.
Ceea ce le trebuie receptorilor este un mijloc de a determina fr dubii nceputul, sfritul i ju-
mtatea fiecrui bit fr ajutorul unui ceas extern. Dou astfel de abordri se numesc codificarea
Manchester (Manchester encoding) i codificarea Manchester diferenial (differential Manchester
encoding). n cazul codificrii Manchester, fiecare perioad a unui bit este mprit n dou interva-
le 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-16(b).

Fig. 4-16. (a) Codificare binar. (b) Codificare Manchester.
(c) Codificare Manchester diferenial.

Codificarea Manchester diferenial, prezentat n fig. 4-16(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 datori-
t 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. Ethernet nu folosete codificarea Manchester diferenial, dar
alte LAN-uri (de exemplu: 802.5 - LAN-urile de tip jeton pe inel) o folosesc.
248 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


4.3.3 Protocolul subnivelului MAC Ethernet
Structura cadrului original DIX (DEC, Intel, Xerox) este prezentat n fig. 4-17(a). Fiecare ca-
dru ncepe cu un Preambul (Preamble) de 8 octei, fiecare octet coninnd ablonul de bii
10101010. Codificarea Manchester a acestui ablon furnizeaz o und dreptunghiular de 10 MHz
timp de 6.4 s pentru a permite ceasului receptorului s se sincronizeze cu cel al emitorului. Cea-
surile trebuie s rmn sincronizate pe durata cadrului, folosind codificarea Manchester pentru a
detecta graniele biilor.
Cadrul conine dou adrese, una pentru destinaie i una pentru surs. Standardul permite adre-
se 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 obi-
nuite i 1 pentru adresele de grup. Adresele de grup permit mai multor staii s asculte de la o singu-
r adres. Cnd un cadru este trimis la o adres de grup, toate staiile din grup l recepioneaz. Tri-
miterea 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. Diferena dintre trimitere multipl i difuzare este suficient
de important ca s merite a fi repetat: un cadru de trimitere multipl este trimis unui grup de staii
selectate pe Ethernet; un cadru de difuzare este trimis tuturor staiilor de pe Ethernet. Deci, trimite-
rea multipl este mai selectiv, dar implic gestiunea grupurilor. Difuzarea este mai imprecis dar
nu necesit nici un fel de gestiune de grup.


Fig. 4-17. Formatul cadrelor. (a) DIX Ethernet. (b) IEEE 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 administra-
tor 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 710
13
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-i dea seama cum s localizeze destinatarul.
n continuare urmeaz cmpul Tip (Type), care i spune receptorului ce s fac cu cadrul.
Numeroase protocoale de nivel reea pot fi folosite simultan pe aceeai main, astfel nct, atunci
cnd un cadru Ethernet ajunge, nucleul trebuie s tie cui s-i trimit cadrul. Cmpul Tip specific
procesul cruia i este destinat cadrul.
SEC. 4.3 ETHERNET 249

Apoi urmeaz datele, pn la 1500 de octei. Aceast limit a fost aleas oarecum arbitrar la
momentul n care standardul DIX a fost solidificat, n special din cauza consideraiei c un transiver
are nevoie de suficient RAM ca s conin un cadru ntreg i RAM era scump n 1978. O valoare
mai mare pentru aceast limit ar fi nsemnat mai mult RAM, deci un transiver mai scump.
n afar de faptul c exist o lungime maxim a cadrelor, exist i o lungime minim a cadrelor.
Dei un cmp de date de 0 octei este uneori util, el poate duce la o situaie problem. Cnd un
transiver detecteaz o coliziune, el trunchiaz cadrul curent, ceea ce nseamn c fragmente rzlee
de cadre i bii rtcii apar mereu pe cablu. Pentru a facilita distingerea cadrelor valide de reziduuri,
Ethernet cere ca toate cadrele valide s aib cel puin 64 de octei, incluznd adresa destinaiei i
suma de control. Dac poriunea de date dintr-un cadru este mai mic de 46 de octei, se folosete
cmpul de completare pentru a se ajunge la lungimea minim necesar.
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
n fig. 4-18. La momentul 0, staia A, aflat la un capt al reelei, expediaz un cadru. S notm cu
timpul de propagare al cadrului pn la cellalt capt. Exact nainte de sosirea cadrului la cellalt
capt (adic la momentul - ), cea mai ndeprtat staie fa de A, staia 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 celelal-
te staii. Aproximativ la momentul 2, emitorul observ apariia zgomotului i i abandoneaz la
rndul su transmisia. Apoi ateapt un timp aleatoriu nainte de a ncerca din nou.

Fig. 4-18. Detectarea coliziunii poate dura 2.

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 2. Emitorul va ajun-
ge incorect la concluzia c transmisia cadrului s-a ncheiat cu succes. Pentru a preveni apariia aces-
tei situaii, transmisia fiecrui cadru trebuie s ia mai mult de 2. Pentru un LAN la 10 Mbps cu o
lungime maxim de 2500 metri i patru repetoare (conform specificaiei 802.3), durata unei cltorii
dus-ntors (incluznd i timpul necesar propagrii prin cele 4 repetoare) a fost calculat la aproxima-
tiv 50 s n cel mai defavorabil caz inclusiv timpul trecerii prin repetoare, care n mod sigur nu este
zero. Prin urmare, transmisia unui cadru minim trebuie s dureze cel puin 50 s pentru a se trans-
mite. La 10 Mbps, un bit dureaz 100 ns, astfel nct cel mai mic cadru trebuie s aib 500 de bii
pentru o funcionare garantat. Pentru a aduga un oarecare spaiu de siguran, acest numr a fost
250 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


mrit la 512 bii, adic 64 de octei. Cadrele cu mai puin de 64 de octei utili sunt completate pn la
64 de octei folosind cmpul de completare.
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 de 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) a datelor. Dac anumii bii de date sunt recepionai eronat (datori-
t 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 cap. 3. El
realizeaz doar detectarea erorilor i nu are legtur cu corectarea lor.
Cnd IEEE a standardizat Ethernetul, comitetul a decis dou schimbri la formatul DIX, dup
cum se vede n fig. 4-17(b). Prima a fost reducerea preambulului la 7 octei, folosind ultimul octet ca
un delimitator de cadru iniial (Start of Frame) pentru compatibilizarea cu 802.4 i 802.5. A doua
schimbare a constat n transformarea cmpului tip ntr-un cmp lungime. Desigur, acum recep-
torul nu mai tia ce s fac cu un cadru care sosea, dar aceast problem a fost rezolvat prin adu-
garea unui mic antet poriunii de date, pentru a oferi aceast informaie. Vom discuta formatul por-
iunii de date cnd ajungem la controlul legturilor logice, mai trziu n acest capitol.
Din pcate, la momentul publicrii lui 802.3, se utilizau deja dispozitive hardware i aplicaii sof-
tware pentru DIX Ethernet, astfel nct productorii i utilizatorii nu prea erau entuziati s conver-
teasc cmpul tip n cmpul lungime. n 1997 IEEE a capitulat i a declarat c ambele standarde
erau acceptabile. Din fericire, toate cmpurile tip folosite nainte de 1997 erau mai mari de 1500.
Prin urmare, orice numr s-ar afla n acea poziie care este mai mic sau egal cu 1500 poate fi inter-
pretat ca lungime, iar orice numr mai mare dect 1500 poate fi interpretat ca tip. Acum IEEE
poate susine c fiecare i folosete standardul i toat lumea poate s i vad de treab fcnd ce
fceau i nainte, fr s aib remucri.
4.3.4 Algoritmul de regresie exponenial binar
S vedem acum algoritmul prin care 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 lun-
gime este egal cu timpul de propagare dus-ntors prin mediu n cazul cel mai defavorabil (2). Pen-
tru a se potrivi cu 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 s dup cum a fost menionat anterior.
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
aleatoriu din intervalul de la 0 la 2
3
- 1.
n general, dup i coliziuni, se ateapt un numr aleatoriu de cuante ntre 0 i 2
i
- 1. Oricum, du-
p un numr de 10 coliziuni, intervalul de ateptare este ngheat la un maxim de 1023 de cuante.
SEC. 4.3 ETHERNET 251

Dup 16 coliziuni, controlorul arunc prosopul

i raporteaz eec calculatorului. Recuperarea ulte-


rioar din situaia de eroare cade n sarcina nivelurilor superioare.
Acest algoritm, numit algoritmul de regresie exponenial binar (binary exponential backoff
algorithm), a fost conceput s se poat adapta dinamic la numrul staiilor care ncearc s transmi-
t. 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 ateap-
t 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 ciocnesc numai cteva staii, dar garanteaz
de asemenea c ciocnirea este rezolvat ntr-un interval rezonabil atunci cnd este vorba de mai
multe staii. Limitarea intervalului la 1023 de cuante previne creterea peste msura a ntrzierilor.
Aa cum am artat pn acum, CSMA/CD nu ofer confirmri. Cum simpla absen a coliziu-
nilor 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 confir-
mare ar fi doar un alt cadru de date i ar trebui s lupte pentru timp de canal, ca orice cadru de
date. Totui, cu o simpl modificare a algoritmului de tratare a conflictelor s-ar permite o confir-
mare rapid a recepionrii cadrului (Tokoro i Tamaru, 1977): prima cuant de conflict care ur-
meaz unei transmisii cu succes ar trebui rezervat pentru staia destinaie. Din nefericire, standar-
dul nu ofer aceast posibilitate.
4.3.5 Performanele Ethernet-ului
S examinm pe scurt performanele standardului 802.3 n condiii de ncrcare mare i constan-
t, dat de k staii gata mereu s transmit. O analiz riguroas a algoritmului de regresie exponeni-
al 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 transmite n timpul
unei cuante de conflict cu probabilitatea p, probabilitatea A ca o staie s primeasc canalul n aceas-
t cuant este:


1
) 1 (

=
k
p kp A

A este maxim cnd p = 1/k, i A 1/e atunci cnd k . Probabilitatea ca intervalul de conflict
s aib exact j cuante este A (1 - A)
j-1
, astfel c numrul mediu de cuante pe conflict este dat de:

=
0
1
1
) 1 (
j
j
A
A jA

ntruct fiecare cuant dureaz 2, intervalul de conflict mediu, w, este 2/A. Presupunnd p op-
tim, numrul mediu de cuante de conflict nu este niciodat mai mare dect e, deci w este cel mult
2e 5.4.

Aa procedeaz antrenorul unui boxer cnd hotrte ca acesta s abandoneze lupta.


252 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Dac pentru a transmite un cadru de lungime medie sunt necesare P secunde, atunci cnd multe
staii au cadre de transmis se obine:

Eficiena canalului =
A P
P
/ 2 +
(4-6)

Aici vedem cum lungimea maxim a cablului dintre oricare dou staii influeneaz calculul per-
formanelor, sugernd i alte topologii dect cea din fig. 4-15(a). Cu ct cablul este mai lung, cu att
intervalul de conflict este mai lung. Acesta este motivul pentru care standardul Ethernet specific o
lungime maxim a cablului.
Este instructiv s formulm ecuaia (4-6) i n termeni de lungime de cadru F, 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-6) devine:

Eficiena canalului =
cF BLe / 2 1
1
+
(4-7)

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 exem-
plu, MAN-urile cu fibr optic), ceea ce sugereaz c Ethernetul implementat n acest fel poate s
nu fie cel mai bun sistem pentru aceste aplicaii. Vom vedea alte modaliti de a implementa
Ethernet cnd ajungem la Ethernetul comutat mai trziu n acest capitol.
n fig. 4-19 este trasat eficiena canalului n funcie de numrul staiilor gata de transmisie, pen-
tru 2=51.2 s i o rat de transmisie a datelor de 10 Mbps, folosind ecuaia (4-7). Cu o mrime a
cuantei de 64 de octei, nu este surprinztor faptul c nu sunt eficiente cadrele de 64 de octei. Pe de
alt parte, cu cadre de 1024 de octei i o valoare asimptotic de e cuante de 64 de octei pe interval
de conflict, perioada de conflict este de 174 de octei, iar eficiena este 0.85.


Fig. 4-19. Eficiena 802.3 la 10 Mbps cu dimensiunea cuantelor de 512 bii.
SEC. 4.3 ETHERNET 253

Pentru a determina numrul mediu de staii gata de transmisie n condiiile unei ncrcri mari,
putem s ne folosim de 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.
Prin urmare, numrul de cadre pe secund este 1/(P + w). Dac fiecare staie genereaz cadre cu o
rat medie de cadre/sec, atunci cnd sistemul este n starea k
*
, rata total de intrare combinat a
tuturor staiilor neblocate este de k cadre/sec. Deoarece la echilibru ratele de intrare i de ieire
trebuie s fie identice, putem egala aceste dou expresii i putem rezolva pentru k (nu uitai 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 Ethernet (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 nici prin calcularea valorilor medii pe perioade lungi de timp nu se obine o
netezire a traficului. Altfel spus, 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 desco-
periri este c majoritatea modelelor de trafic n reea nu se aplic lumii reale i ar trebui luate cu un
pic (sau, mai bine, cu o ton) de sare!
4.3.6 Ethernetul comutat
Pe msur ce la Ethernet 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. Dar, odat cu creterea n importan a aplicaiilor multimedia, chiar un
Ethernet de 100 Mbps sau 1-Gbps poate deveni saturat.

Fig. 4-20. Un LAN 802.3 comutat.

Din fericire, este posibil o soluie diferit, mai puin drastic: un Ethernet comutat ca cel din fig.
4-20. Inima acestui sistem este un comutator care conine o plac de baz (similar unui fund de
sertar backplane) de mare vitez i, n general, loc pentru 4 pn la 32 de plci de reea plug-in,

*
k staii gata de transmisie
254 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


fiecare avnd ntre 1 i 8 conectori. Cel mai des, fiecare conector are o conexiune prin perechi torsa-
date de tip 10Base-T cu un singur calculator gazd.
Atunci cnd o staie dorete s transmit un cadru 802.3, trimite un cadru standard ctre comuta-
tor. Placa plug-in 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 placa
de baz a comutatorului (backplane) ctre placa staiei destinaie. Placa de baz a comutatorului
ruleaz n mod obinuit la peste 1 Gbps folosind protocolul proprietar.
Ce se ntmpl dac dou calculatoare legate la aceeai plac plug-in 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 i 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-in 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 domeniu de coliziune (collision domain), independent de celelalte.
La cellalt tip de plac plug-in, 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 con-
cepie permite tuturor porturilor de intrare s recepioneze (i s transmit) cadre n acelai timp,
pentru operare duplex integral (full duplex), n paralel. Odat ce un cadru a fost recepionat n n-
tregime, placa poate verifica dac el este destinat pentru un alt port de pe aceeai plac, sau pentru
un port aflat la distan. n primul caz, el poate fi transmis direct la destinaie. n cel de-al doilea, el
trebuie transmis prin placa de baz a comutatorului ctre placa corespunztoare. n acest mod, fie-
care port este un domeniu de coliziune separat, deci nu se mai produc coliziuni. Adesea, productivi-
tatea ntregului sistem poate fi mbuntit astfel cu un ordin de mrime fa de 10Base-5, care are
un singur domeniu de coliziune pentru ntreg sistemul.
ntruct comutatorul st i ateapt cadre standard Ethernet pe fiecare port de intrare, putem fo-
losi unele porturi drept concentratori. n fig. 4-20, 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 canale n mod obinuit, cu apariie de 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 placa de baz de vitez mare. Concentratoarele sunt mai
ieftine dect comutatoarele, dar, datorit preurilor n scdere ale comutatoarelor, ele ies treptat din
uz. Totui, mai exist concentratoare rmase motenire.
4.3.7 Ethernet-ul rapid
La nceput, 10 Mbps preau raiul pe pmnt, la fel cum modemurile 1200-bps preau divine utili-
zatorilor modemurilor acustice de 300 bps. Totui, noutatea s-a uzat rapid. Ca un fel de corolar al
Legii lui Parkinson (Munca se dilat astfel nct s ocupe tot timpul aflat la dispoziie), se prea c
datele se dilat pentru a umple lrgimea de band disponibil. Pentru a crete viteza, diverse grupuri
industriale au propus dou noi LAN-uri optice bazate pe dou inele. Una era numit FDDI (Fiber
Distributed Data Interface, rom: Interfa de Date Distribuit pe Fibr), cealalt se numea canal de
fibr (Fibre Channel

). Pentru a scurta o poveste lung, amndou au fost folosite ca i reele de co-


loan vertebral i nici una nu a reuit s ajung n birourile utilizatorilor finali. n ambele cazuri ma-

Este denumit fibre channel i nu fiber channel; autorul documentului era englez
SEC. 4.3 ETHERNET 255

nagementul staiilor era prea complicat, ceea ce ducea la cip-uri complexe i preuri ridicate. Lecia
care trebuia nvat de aici era KISS (Keep it simple, Stupid, rom: Las lucrurile simple, prostule).
n orice caz, eecul LAN-urilor optice n a se impune pe pia a lsat un gol n care au nflorit o
varietate de Ethernet-uri la viteze de peste 10 Mbps. Multe instalaii aveau nevoie de mai mult lr-
gime de band i prin urmare aveau numeroase LAN-uri de 10 Mbps conectate printr-un labirint de
repetoare, puni, rutere i pori, dei administratorilor de reea li se prea mai degrab c erau co-
nectate cu gum de mestecat i resturi de srm.
n acest mediu IEEE a reconvocat comitetul 802.3 n 1992 cu instruciuni de a produce un LAN
mai rapid. O propunere a fost aceea de a pstra 802.3 exact cum era, dar s-l fac s mearg mai
repede. O alt propunere era s-l refac total astfel nct s i ofere o mulime de noi proprieti,
cum ar fi trafic n timp real i voce digitizat, dar s pstreze vechiul nume (din raiuni de marke-
ting). Dup ceva confruntri, comitetul a decis s pstreze 802.3 aa cum era, dar s-l fac mai rapid.
Cei care susinuser propunerea nfrnt au fcut ceea ce orice indivizi din industria de calculatoare
ar fi fcut n aceste circumstane s-au detaat i au format propriul lor comitet care a standardizat
LAN-ul (n ceea ce va fi versiunea 802.12). ncercarea lor a euat lamentabil.
Comitetul 802.3 a decis s continue cu un Ethernet ameliorat din trei motive principale:

1. Nevoia de a fi compatibil retroactiv cu LAN-urile Ethernet existente;
2. Teama c un nou protocol ar putea avea consecine negative neprevzute;
3. Dorina de a termina treaba nainte ca tehnologia s se schimbe.

Munca a fost fcut rapid (dup standardele comitetului), iar rezultatul, 802.3u, a fost aprobat
oficial de IEEE n iunie 1995. Din punct de vedere tehnic, 802.3u nu este un standard nou, ci o ad-
ugire la standardul 802.3 existent (pentru a accentua compatibilitatea cu versiunile anterioare). Din
moment ce toat lumea l denumete Ethernet rapid (Fast Ethernet), n loc de 802.3u, l vom de-
numi i noi la fel.
Ideea de baz din spatele Ethernetului rapid era simpl: pstreaz vechile formate de cadre, in-
terfeele i regulile procedurale, dar reduce durata bitului de la 100 ns la 10 ns. Din punct de vedere
tehnic, ar fi fost posibil s copieze fie 10Base-5 sau 10Base-2 i s detecteze n continuare coliziunile
la timp pur i simplu reducnd lungimea maxim a cablului cu un factor de 10. Totui, avantajele
cablrii 10Base-T erau att de copleitoare, nct Ethernetul rapid este bazat n ntregime pe acest
design. Prin urmare, toate sistemele de Ethernet rapid folosesc concentratoare i comutatoare; ca-
bluri multipunct cu conectori vampir sau BNC nu sunt permise.
Totui, rmn cteva alegeri de fcut, dintre care cea mai important este ce tip de cabluri s fie
suportate. Un concurent era cablul torsadat categoria 3. Argumentul pro era c practic fiecare birou
n lumea occidental are cel puin patru cabluri rsucite categoria 3 (sau mai mult) care l conecteaz
cu un centru de conexiuni telefonice la cel mult 100 m distan. Uneori exist dou astfel de cabluri.
Prin urmare, folosind cablurile torsadate categoria 3 ar fi fcut posibil conectarea calculatoarelor de
birou la Ethernet fr s fie necesar recablarea cldirii, un avantaj enorm pentru multe organizaii.
Principalul dezavantaj al cablurilor torsadate categoria 3 este incapacitatea lor de a transmite
semnale de 200 megabaud (100Mbps cu codificare Manchester) pe o lungime de 100 de metri, care
este distana maxim de la calculator la concentrator specificat pentru 10Base-T (vezi fig. 4-13).
Dimpotriv, cablurile torsadate categoria 5 fac fa uor distanelor de 100 m, iar fibra face fa unor
distane mult mai mari. Compromisul la care s-a ajuns a fost s permit toate trei posibilitile, dup
cum reiese din fig. 4-21, ca s se mbunteasc soluia de categorie 3 pentru a-i oferi capacitatea
adiional de transportare de care avea nevoie.

256 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Nume Cablu Segment maxim Avantaje
100Base-T4 Cablu torsadat 100 m Folosete UTP categoria 3
100Base-TX Cablu torsadat 100 m Full duplex la 100 Mbps (UTP Cat 5)
100Base-FX Fibr de sticl 2000 m Full duplex la 100 Mbps; distane lungi

Fig. 4-21. Cablarea original a Ethernet-ului rapid.

Schema de categorie 3 UTP, numit 100Base-T4, folosete o vitez de semnalizare de 25MHz,
cu numai 25% mai rapid dect Ethernetul standard de 20MHz (amintii-v de codificarea
Manchester care, dup cum reiese din fig. 4-16, necesit dou rotaii de ceas pentru fiecare dintre cei
10 milioane de bii pe secund). Totui, pentru a obine lrgimea de band necesar, 100Base-T4
necesit patru perechi rsucite. Deoarece cablarea telefonic standard include de decenii patru pe-
rechi torsadate per cablu, majoritatea birourilor sunt capabile s fac fa. Desigur, nseamn s re-
nuni la telefonul din birou, dar acesta este un pre mic pentru un e-mail mai rapid.
Din cele patru perechi torsadate una merge ntotdeauna ctre concentrator, una vine de la con-
centrator, iar celelalte dou sunt comutabile n direcia transmisiunii curente. Codificarea Manchester
nu poate fi folosit din cauza cerinelor de lrgime de band, dar date fiind ceasurile moderne i dis-
tanele scurte, nici nu mai este necesar. n plus, sunt trimise semnale ternare, astfel nct n timpul
unei singure rotaii de ceas cablul poate conine un 0, un 1 sau un 2. Avnd trei perechi torsadate n
direcia nainte i cu semnalizare ternar, exist 27 de simboluri posibile, i deci se pot trimite 4 bii
cu o oarecare redundan. Transmiterea a 4 bii n fiecare dintre cele 25 de milioane de rotaii de ceas
pe secund ofer cei 100Mbps necesari. n plus, exist ntotdeauna un canal invers de 33.3Mbps care
folosete perechea torsadat rmas. Aceast schem, cunoscut ca i 8B/6T (8 bii mapai pe 6 trii),
nu este cea mai elegant din lume, dar funcioneaz cu cablarea existent.
Pentru cablarea de categorie 5, designul 100Base-TX este mai simplu deoarece cablurile fac fa
frecvenelor de ceas de 125MHz. Numai 2 perechi torsadate sunt folosite una ctre concentrator, i
alta dinspre el. Codificarea binar direct nu este folosit, ci n locul ei se afl o schem numit 4B/5B.
Este preluat din FDDI i este compatibil cu el. Fiecare grup de cinci rotaii de ceas, avnd fiecare
una dintre cele dou valori ale semnalului, genereaz 32 de combinaii. 16 dintre acestea sunt folosite
pentru a transmite grupurile de bii 0000, 0001, 0010, ...., 1111. Din restul de 16, unele sunt folosite n
scopuri de control, cum ar fi marcarea granielor cadrelor. Combinaiile folosite au fost alese cu grij,
astfel nct s ofere suficiente tranziii pentru a menine sincronizarea ceasului. Sistemul 100Base-TX
este integral duplex: simultan, staiile pot transmite date la 100Mbps i pot primi date la 100Mbps.
Deseori oamenii se refer la 100Base-TX i la 100Base-T4 cu denumirea comun 100Base-T.
Ultima opiune, 100Base-Fx, folosete dou linii de fibr multimod, una pentru fiecare direcie,
astfel nct sistemul este, de asemenea, integral duplex, cu 100Mbps n fiecare direcie. n plus, dis-
tana dintre o staie i concentrator poate ajung pn la 2 km.
n 1997, comitetul a adugat, la cerere, un nou tip de cablu, 100Base-T2, permind Ethernetului
rapid s funcioneze peste dou perechi de cablu de categoria 3 deja existente. Totui, este nevoie de
un procesor complicat de semnale digitale pentru a face fa schemelor de codificare, aa c aceast
opiune este destul de scump. Pn acum nu prea a fost utilizat, datorit complexitii, costului, i
faptului c multe cldiri de birouri au fost deja recablate cu categoria 5 UTP.
100Base-T face posibile dou tipuri de sisteme de interconectare: concentratoare i comutatoare,
dup cum reiese din fig. 4-20. ntr-un concentrator, toate liniile care sosesc (sau cel puin toate liniile
care ajung la o plac de extensie logic, formeaz un singur domeniu de coliziune. Toate regulile
standard pot fi aplicate, incluznd algoritmul de regresie exponenial binar, astfel nct sistemul
SEC. 4.3 ETHERNET 257

funcioneaz exact ca Ethernetul de mod veche. n particular, o singur staie poate s transmit la
un moment dat. Cu alte cuvinte, concentratoarele au nevoie de comunicaii semi-duplex.
ntr-un comutator, fiecare cadru care sosete este inut ntr-o memorie tampon ntr-o plac de
extensie i transmis printr-o plac de baz de mare vitez de la placa surs la placa destinaie, dac
este nevoie. Aceast plac de baz a comutatorului nu a fost standardizat, i nici nu trebuie s fie,
din moment ce este cu desvrire ascuns n interiorul comutatorului. Conform experienelor pre-
cedente este foarte probabil c vnztorii de comutatoare vor intra ntr-o concuren acerb pentru
a produce plci de baz tot mai rapide i pentru a mbunti performana sistemului. Deoarece
cablurile 100Base-FX sunt prea lungi pentru algoritmul normal de coliziune, ele trebuie s fie conec-
tate la comutatoare, astfel nct fiecare este un domeniu de coliziune distinct. Concentratoarele nu
sunt permise n 100Base-FX.
Ca observaie final, practic toate comutatoarele pot face fa unui mix de staii 10 Mbps i 100
Mbps, pentru a facilita modernizarea. Pe msur ce un site obine tot mai multe staii de 100 Mbps,
tot ceea ce trebuie s fac este s cumpere numrul necesar de plci de extensie noi i s le insereze
n comutator. De fapt, standardul nsui ofer o cale astfel nct dou staii s negocieze automat
viteza optim (10 sau 100Mbps) i modul de comunicaie (semi-duplex sau duplex integral). Majori-
tatea produselor de Ethernet rapid folosesc aceast caracteristic pentru a se autoconfigura.
4.3.8 Ethernetul Gigabit
De-abia se uscase cerneala pe standardul Ethernetului rapid cnd comitetul 802 a nceput s lu-
creze la un Ethernet i mai rapid (1995). A fost numit imediat Ethernet gigabit (Gigabit Ethernet) i
a fost ratificat de IEEE n 1998 sub numele 802.3z. Aceast notaie sugereaz c Ethernetul gigabit
va fi sfritul liniei, n afar de cazul n care cineva inventeaz rapid o nou liter dup z. Vom discu-
ta mai jos cteva dintre caracteristicile de baz ale Ethernetului gigabit. Mai multe informaii pot fi
gsite n (Seifert, 1998). Scopurile comitetului 802.3z erau practic aceleai cu ale comitetului 802.3u:
s fac Ethernetul de 10 ori mai rapid, astfel nct s rmn totui compatibil cu toate versiunile
anterioare. n particular, Ethernetul gigabit trebuia s ofere suport pentru transferul fr confirmare
a datagramelor att pentru difuzare ct i pentru trimitere multipl, s foloseasc aceeai schem de
adresare de 48 de bii care era deja n uz, i s menin acelai format al cadrelor, inclusiv dimensiu-
nile minime i maxime ale acestora. Standardul final a reuit s ndeplineasc toate aceste scopuri.

Fig. 4-22. (a) Un Ethernet cu dou staii. (b) Un Ethernet cu mai multe staii.

258 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Toate configuraiile Ethernetului gigabit sunt punct-la-punct mai degrab dect multipunct, ca i
n standardul original 10 Mbps, acum onorat cu denumirea de Ethernet clasic. n cea mai simpla
configuraie Ethernet, ilustrat n fig. 4-22(a), dou calculatoare sunt conectate direct unul cu altul.
Situaia mai frecvent este totui aceea n care exist un concentrator sau un comutator conectat la
mai multe calculatoare, i la alte concentratoare sau comutatoare adiionale, ca n fig. 4-22(b). n
ambele configuraii, fiecare cablu individual de Ethernet conecteaz exact dou sisteme nici mai
multe, nici mai puine.
Ethernetul Gigabit suport dou moduri diferite de operare: modul duplex integral i modul
semi-duplex. Modul normal este cel duplex integral, care permite traficul n ambele direcii n ace-
lai timp. Acest mod este folosit atunci cnd exist un comutator central la care sunt conectate calcu-
latoarele (sau alte comutatoare) de la periferie. n aceast configuraie, toate liniile sunt prevzute
cu spaii tampon astfel nct fiecare calculator i fiecare comutator sunt libere s transmit cadre
oricnd doresc. Emitorul nu trebuie s verifice canalul ca s vad dac este utilizat de altcineva,
deoarece conflictele sunt imposibile. Pe linia dintre un calculator i un comutator, calculatorul este
singurul emitor posibil ctre acel comutator i transmisia va reui chiar i n cazul n care comuta-
torul transmite n acelai timp un cadru ctre calculator, deoarece linia este duplex. Din moment ce
conflictele sunt imposibile, protocolul CSMA/CD nu este utilizat, astfel nct lungimea maxim a
cablului este determinat de argumente referitoare la intensitatea semnalului, i nu de considerente
referitoare la durata maxim a propagrii zgomotului unei ciocniri ctre emitor. Comutatoarele
sunt libere s amestece i s potriveasc vitezele. Autoconfigurarea este suportat la fel ca n
Ethernetul rapid.
Cellalt mod de operare, semi-duplex, este folosit cnd calculatoarele sunt conectate la un con-
centrator mai degrab dect la un comutator. Un concentrator nu stocheaz cadrele care vin ntr-un
spaiu tampon. n loc s fac asta, el conecteaz electric toate liniile n interior, simulnd cablul multi-
punct folosit n Ethernetul clasic. n acest fel, exist posibilitatea s apar coliziuni, astfel nct stan-
dardul CSMA/CD este necesar. Din cauz c un cadru de lungime minim (adic de 64 de octei)
poate fi transmis acum de 100 de ori mai rapid dect n Ethernetul clasic, distana maxim este de 100
de ori mai mic adic de 25 de metri, pentru a menine proprietatea esenial c emitorul mai
transmite nct atunci cnd zgomotul ajunge napoi la el, chiar i n cel mai ru caz. Cu un cablu lung
de 2500 de metri, emitorul unui cadru de 64 de octei la 1Gbps va fi terminat de mult nainte ca
drumul parcurs de cadru s fie mcar o zecime din ct are de mers fr s mai socotim i returul.
Comitetul 802.3z a considerat c o raz de 25 de metri este inacceptabil i a adugat dou carac-
teristici standardului pentru a mri raza. Prima caracteristic, numit extinderea de ctre purttor,
se refer practic la a spune dispozitivului hardware s realinieze cadrul, mrindu-l pn la 512 octei.
Din moment ce aceast completare este adugat de dispozitivul hardware emitor i este nltura-
t de dispozitivul hardware receptor, partea software nu este contient de existena sa, i prin urma-
re nu trebuie s sufere modificri. Desigur, transmiterea a 512 octei de lrgime de band pentru a
transmite 46 octei de date ale utilizatorului (ncrctura propriu-zis a cadrului de 64 de octei) are
o eficien de transmitere de 9%.
A doua caracteristic, denumit cadre n rafal (frame bursting), permite unui transmitor s
trimit o secven concatenat de cadre multiple ntr-o singur transmisie. Dac rafala total este
mai mic de 512 octei, dispozitivul hardware o completeaz din nou pn la 512 octei. Dac sunt
destule cadre care ateapt s fie transmise, aceast schem este foarte eficient i este preferat
extinderii de ctre purttor. Aceste noi caracteristici extind raza la 200 de metri, ceea ce probabil
este suficient pentru majoritatea birourilor.
SEC. 4.3 ETHERNET 259

Ca s fim sinceri, este destul de greu s ne imaginm o organizaie trecnd prin toate dificultile
cumprrii i instalrii plcilor de Ethernet gigabit pentru a obine o performan ridicat, i apoi
conectnd calculatoarele printr-un concentrator pentru a simula Ethernetul clasic cu toate coliziuni-
le sale. Dei concentratoarele sunt oarecum mai ieftine dect comutatoarele, plcile de Ethernet
gigabit sunt totui scumpe. S faci economii prin cumprarea unui concentrator ieftin i astfel s
reduci performana noului sistem este o prostie. Totui, compatibilitatea cu versiunile anterioare
este sacr n industria calculatoarelor, astfel nct comitetul 802.3z a trebuit s se conformeze.
Ethernetul gigabit suport att cablarea cu cupru ct i cablarea cu fibr, precum este descris n
fig. 4-23. Semnalizarea la nivelul de 1Gbps sau n jurul acestei viteze, nseamn c sursa de lumin
trebuie s fie nchis i deschis n mai puin de 1ns. LED-urile pur i simplu nu pot lucra att de ra-
pid, astfel nct este nevoie de lasere. Dou lungimi de und sunt permise: 0.85 microni (scurt) i 1.3
microni (lung). Laserele de 0.85 microni sunt mai ieftine dar nu funcioneaz pe fibra mono-mod.

Nume Cablu Segment
maxim
Avantaje
1000Base-SX Fibr de sticl 550 m Fibr multimod (50 i 62,5 microni)
1000Base-LX Fibr de sticl 5000 m Mono-mod (10) sau multimod (50 i 62,5 )
1000Base-CX 2 perechi de STP 25 m Pereche torsadat ecranat
1000Base-T 4 perechi de UTP 100 m UTP Categoria 5

Fig. 4-23. Cablarea pentru Ethernet gigabit.

Sunt permise trei diametre de fibr: 10, 50 i 62,5 microni. Prima este pentru mono-mod i cele-
lalte dou sunt pentru multimod. Nu toate cele ase combinaii sunt permise, totui, iar distana ma-
xim depinde de combinaia folosit. Numerele date n fig. 4-23 se refer la cazul cel mai fericit. n
particular, 5000 de metri pot fi obinuii numai dac lasere de 1,3 microni opereaz pe fibr de 10
microni mono-mod, dar aceasta este cea mai bun alegere pentru structurile vertebrale din campu-
suri i este de ateptat s fie popular, dei este i cea mai scump alegere.
Opiunea 1000Base-CX folosete cabluri de cupru scurte i protejate. Problema sa este c se afl
n concuren cu versiunea cu fibr de nalt performan prezentat mai sus i cu versiunea ieftin
UTP de mai jos. Este destul de puin probabil s fie folosit la scar larg, n cele din urm.
Ultima opiune se refer la smocuri de patru cabluri UTP de categoria 5 lucrnd mpreun. De-
oarece aceste cabluri sunt deja instalate n multe cazuri, este probabil c acest Ethernet gigabit va fi
cel adoptat de clienii cu buzunare strmte.
Ethernetul gigabit folosete reguli noi de codificare pe fibre. Codificarea Manchester la 1 Gbps
ar ave anevoie de un semnal de 2 Gbaud, care a fost considerat foarte dificil i de asemenea foarte
risipitor n ceea ce privete banda. A fost aleas n loc o nou schem, numit 8B/10B, bazat pe
canale de fibr. Fiecare octet de 8 bii este codificat pe fibr ca 10 bii, de unde i denumirea de
8B/10B. Din moment ce exist 1024 cuvinte de cod de ieire pentru fiecare octet de intrare, exista un
oarecare spaiu de alegere n ceea ce privete cuvintele care s fie permise. Urmtoarele dou reguli
au fost folosite pentru a lua o decizie:

1. Nici un cuvnt de cod nu poate avea mai mult de patru bii identici la rnd;
2. Nici un cuvnt de cod nu poate avea mai mult de ase de 0 sau ase de 1.

Aceste alegeri urmreau s pstreze destule transmisiuni pe flux pentru a se asigura c recepto-
rul rmne sincronizat cu emitorul, i de asemenea pentru a pstra numrul de 0-uri i de 1-uri pe
fibr pe ct posibil egale ntre ele. n plus, pentru muli octei de intrare exist dou cuvinte de cod
260 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


care pot fi atribuite. Cnd codificatorul are de fcut o alegere, va alege ntotdeauna varianta care va
egaliza numrul de 0 i 1 transmii pn la momentul respectiv. Accentul este pus pe echilibrarea 0-
urilor i 1-urilor pentru a pstra componenta continu a semnalului la un nivel ct mai sczut cu pu-
tin i pentru a-i permite s treac nemodificat prin transformatoare. Dei cercettorii n domeniul
calculatoarelor nu sunt prea ncntai de faptul c proprietile transformatoarelor le dicteaz sche-
mele de codificare, aa se ntmpl n via uneori.
Ethernetul gigabit care folosete 1000Base-T utilizeaz o schem diferit de codificare deoarece
sincronizarea datelor pe un cablu de cupru ntr-un interval de 1ns este prea dificil. Aceast soluie
folosete patru cabluri torsadate de categorie 5 pentru a permite unui numr de 4 simboluri s fie
transmise n paralel. Fiecare simbol este codificat folosind unul din cele cinci niveluri de voltaj.
Aceast schem permite ca un singur simbol s fie codificat 00, 01, 10, 11 sau cu o valoare special n
scop de control. Prin urmare, exist doi bii de date per pereche torsadat, sau 8 bii de date per ciclu
de ceas. Ceasul funcioneaz la 125 MHz, permind operarea la 1 Gbps. Motivul pentru care sunt
permise cinci niveluri de voltaj n loc de patru este necesitatea de a avea combinaii rmase disponi-
bile n scopuri de control i delimitare.
O vitez de 1 Gbps este destul de mare. De exemplu, dac un receptor este ocupat cu o alt sar-
cin chiar pentru 1 ms i nu golete spaiul tampon de pe vreo linie, pn atunci este posibil s se fi
acumulat chiar i 1953 cadre, n acel interval de 1 ms. De asemenea, dac un calculator care folose-
te Ethernet gigabit transmite date unui calculator care folosete Ethernet clasic, este foarte probabil
ca memoria tampon a celui din urm s fie epuizat, iar cadrele urmtoare s fie pierdute. Ca o con-
secin a acestor dou observaii, Ethernetul gigabit suport fluxuri de control (ca i Ethernetul ra-
pid, dei cele dou sunt diferite).
Flux de control nseamn c un capt trimite un cadru special de control ctre cellalt capt,
spunndu-i s ia o pauz pentru o anumit perioad de timp. Cadrele de control sunt n general ca-
dre Ethernet avnd tipul 0x8808. Primii doi octei din cmpul de date dau comanda; urmtorii octei
ofer parametrii, dac exist vreunul. Pentru fluxul de control sunt folosii cadre PAUSE, n care
parametrii specific lungimea pauzei, n uniti de durat minim a cadrului. Pentru Ethernetul
gigabit unitatea de timp este de 512 ns, permind pauze de maxim 33,6 ms.
Imediat dup ce Ethernetul gigabit a fost standardizat, comitetul 802 s-a plictisit i i dorea s
treac napoi la treab. IEEE le-a spus s nceap s lucreze la un Ethernet de 10-gigabit. Dup ce
au cutat ndelung o liter care s-i urmeze lui z, au abandonat aceast abordare i au trecut la sufixe
din dou litere. S-au apucat de treab i standardul a fost aprobat de IEEE n 2002 ca 802.3ae. Oare
ct de departe poate fi Ethernetul de 100-gigabit?
4.3.9 IEEE 802.2: Controlul legturilor logice
Acum este momentul s ne ntoarcem la discuiile anterioare i s comparm ce am nvat n
acest capitol cu ce am studiat n capitolul precedent. n cap. 3 am vzut cum dou calculatoare pot
comunica sigur printr-o linie nesigur folosind diferite protocoale de legturi de date. Aceste proto-
coale ofereau controlul erorilor (prin mesaje de confirmare) precum i controlul fluxului de date
(folosind o fereastr glisant).
Dimpotriv, n acest capitol nu am vorbit deloc despre comunicaii stabile. Tot ceea ce ofer
Ethernetul, ca i celelalte protocoale 802, este un serviciu datagram de tipul best-effort (cea mai
bun ncercare). Uneori, acest serviciu este adecvat. De exemplu, n cazul transportrii pachetelor
SEC. 4.3 ETHERNET 261

IP, nu sunt cerute i nici mcar nu sunt ateptate garanii. Un pachet IP poate s fie inserat ntr-un
cmp de informaie util 802 i trimis ncotro o fi. Dac se pierde, asta e.
Totui, exist i sisteme n care este de dorit un protocol de legtur de date cu control al erorilor
i al fluxului. IEEE a definit un astfel de protocol care poate funciona peste Ethernet i peste cele-
lalte protocoale 802. Mai mult, acest protocol, numit LLC (Logical Link Control, rom: controlul
legturilor logice), ascunde diferenele ntre diferitele tipuri de reele 802, oferind un singur format
i o singur interfa pentru nivelul reea. Formatul, interfaa i protocolul sunt bazate ndeaproape
pe protocolul HDLC, pe care l-am studiat n cap. 3. LLC formeaz jumtatea superioar a nivelului
legtur de date, avnd nivelul MAC dedesubt, dup cum se vede n fig. 4-24.

Fig. 4-24. (a) Poziia LLC. (b) Formatul protocoalelor.

Utilizarea tipic a LLC este prezentat n continuare. Nivelul reea de pe calculatorul emitor
trimite un pachet ctre LLC, folosind primitivele de acces LLC. Subnivelul LLC adaug apoi un
antet LLC, coninnd numere care indic secvena i mesajul de confirmare. Structura rezultat este
inserat apoi n cmpul de informaie util al unui cadru 802 i apoi transmis. Cnd cadrul ajunge la
receptor se desfoar procesul invers.
LLC ofer trei opiuni de servicii: servicii pentru datagrame nesigure, confirmarea serviciului de
datagrame, i un serviciu sigur orientat spre conexiuni. Antetul LLC conine trei cmpuri: un punct
de acces de destinaie, un punct de acces surs i un cmp de control. Punctul de acces spune din
partea crui proces a sosit cadrul i unde trebuie transportat, nlocuind cmpul tip DIX. Cmpul
de control conine numere de secven i de confirmare, n stilul lui HDLC (vezi fig. 3-24), dar nu
identic cu acesta. Aceste cmpuri sunt folosite n principal atunci cnd este necesar o conexiune
stabil la nivelul legtur de date, caz n care ar fi folosite protocoale similare cu cele discutate n
cap. 3. Pentru Internet, ncercrile de a transmite pachete IP fr garanii sunt suficiente, astfel nct
nu este nevoie de confirmri la nivelul LLC.
4.3.10 Retrospectiva Ethernetului
Ethernetul funcioneaz deja de 20 de ani i nc nu exist competitori serioi, aa c probabil va
mai funciona nc muli ani. Puine arhitecturi CPU, sisteme de operare sau limbaje de programare au
dominat scena pentru dou sau trei decenii. Evident, Ethernetul a fcut ceva cum trebuie. Ce anume?
Probabil c motivul principal al longevitii sale este c Ethernetul este simplu i flexibil. Din
punct de vedere practic simplu nseamn: stabil, ieftin, i uor de ntreinut. Odat ce conectorii
vampir au fost nlocuii de conectori BNC, eecurile au devenit extrem de rare. Oamenii ezit s
nlocuiasc ceva ce merge perfect tot timpul, mai ales cnd tiu c o grmad de lucruri din industria
262 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


calculatoarelor merg foarte prost, astfel nct multe dintre aa numitele mbuntiri funcioneaz
semnificativ mai prost dect versiunea pe care au nlocuit-o.
Simplu nseamn de asemenea ieftin. Ethernetul subire i cablarea cu cabluri torsadate sunt re-
lativ ieftine. Plcile de reea nu sunt nici ele scumpe. Doar cnd au fost introduse concentratoarele i
comutatoarele au fost necesare investiii substaniale, dar n momentul n care acestea au aprut n
peisaj, Ethernetul era deja solid stabilit.
Ethernetul este uor de ntreinut. Nu trebuie instalat nici un software (n afara driver-elor) i nu
exist tabele de configuraii care s trebuiasc administrate (i astfel s fie un prilej de greeli). De
asemenea, adugarea unor noi staii nu nseamn nimic mai mult dect introducerea unui cablu n
placa lor de reea.
Un alt aspect este faptul c Ethernetul se integreaz uor cu TCP/IP, care a devenit dominant. IP
este un protocol fr conexiune, ceea ce se potrivete perfect cu Ethernetul, care nici el nu este ori-
entat pe conexiune. De exemplu, IP se potrivete mult mai greu cu ATM, care este orientat spre
conexiune i aceast nepotrivire este un dezavantaj serios n impunerea ATM.
n cele din urm, Ethernetul a fost capabil s evolueze n anumite aspecte cruciale. Vitezele au
crescut cu cteva ordine de mrime, au fost introduse concentratoarele i comutatoarele, iar aceste
schimbri nu au necesitat schimbarea interfeelor software. Dac un vnztor din domeniul reelelor
v arat o instalaie ampl i v spune am aceast nou reea fantastic pentru Dvs. Tot ce trebuie
s facei este s v aruncai tot hardware-ul i s v rescriei tot software-ul, atunci are o problem.
FDDI, Canal de fibr i ATM au fost toate mai rapide dect Ethernetul cnd au fost introduse, dar
erau incompatibile cu Ethernetul, mult mai complexe i mai dificil de administrat. n cele din urm
Ethernetul le-a ajuns din urm n ceea ce privete viteza, astfel nct, rmase fr nici un avantaj, au
murit n tcere cu excepia ATM care este folosit n interiorul sistemului de telefonie.


4.4 REELE LOCALE FR FIR
Dei Ethernetul este folosit pe scar larg, competiia este pe cale s apar. LAN-urile fr fir
sunt din ce n ce mai populare, i tot mai multe cldiri, aeroporturi i alte spaii publice sunt echipate
cu ele. LAN-urile fr fir pot opera n dou configuraii, dup cum am vzut n fig. 1-35: cu sau fr
staie de baz. Prin urmare, standardul LAN 802.11 ia acest fapt n considerare i ofer sprijin pen-
tru ambele aranjamente, dup cum vom vedea n continuare.
Am oferit nite informaii introductive despre 802.11 n seciunea 1.5.4. Acum este momentul s
ne uitm mai ndeaproape la tehnologie. n seciunile urmtoare ne vom uita la stiva de protocoale,
la tehnicile de la nivelul fizic radio de transmisiuni, la protocolul subnivelului MAC, la structura ca-
drelor i la servicii. Pentru mai mult informaie despre 802.11 vezi (Crov et. al., 1997; Geier, 2002;
Heegard et. al, 2001; Kapp, 2002; O`Hara i Petrick, 1999; Severance, 1999). Pentru a afla adevrul
chiar de la surs, consultai standardul publicat al 802.11.
4.4.1. Stiva de protocoale 802.11
Protocoalele folosite de toate variantele 802, inclusiv Ethernetul, au o anumit similaritate a
structurii. O viziune parial a stivei de protocoale 802.11 este prezentat n fig. 4-25. Nivelul fizic
SEC. 4.4 REELE LOCALE FR FIR 263

corespunde destul de bine cu nivelul fizic OSI, dar nivelul de legtur de date n toate protocoalele
802 este divizat n dou sau mai multe subniveluri. n 802.11, subnivelul MAC (Medium Access
Control) determina alocarea canalului, i anume cine va transmite urmtorul. Deasupra sa se afl
subnivelul LLC (Logical Link Control), a crui treab este s ascund diferenele dintre diferitele
variante 802 i s le fac s par la fel pentru nivelul reea. Am studiat LLC mai devreme n acest
capitol, atunci cnd am discutat Ethernetul, astfel nct nu vom repeta aceast informaie aici.
Standardul 802.11 din 1997 specific trei tehnici de transmisie permise la nivelul fizic. Metoda in-
frarou folosete cam aceeai tehnologie ca i telecomenzile TV. Celelalte dou folosesc transmisia
radio pe distan scurt, prin tehnici denumite FHSS i DSSS. Ambele utilizeaz o parte a spectrului
care nu necesit licene (banda 2,4 GHz ISM). Uile de garaj care se deschid prin mesaje radio folo-
sesc tot aceast parte a spectrului, astfel nct calculatorul vostru s-ar putea afla n competiie cu ua
de la garaj. Telefoanele fr fie i cuptoarele cu microunde folosesc i ele aceast band. Toate aces-
te tehnici opereaz la 1Mbps sau 2Mbps i cu putere suficient de mic astfel nct nu intr prea mult
n conflict. n 1999 au fost introduse dou noi tehnici pentru a obine o band mai larg. Acestea
sunt denumite OFDM i HR-DSSS. Ele opereaz pn la 54Mbps i respectiv 11Mbps. n 2001, o a
doua modulaie OFDM a fost introdus, dar ntr-o band de frecven diferit de prima. n continu-
are le vom examina pe fiecare pe scurt. Din punct de vedere tehnic acestea aparin nivelului fizic i
ar fi trebuit s fie examinate n cap. 2, dar deoarece sunt att de strns legate de reelele locale n
general i de subnivelul 802.11 MAC, le abordm mai degrab aici.
Fig. 4-25. Parte a stivei protocolului 802.11.
4.4.2. Nivelul fizic al 802.11
Fiecare dintre cele cinci tehnici de transmitere permise face posibil trimiterea unui cadru MAC
de la o staie la alta. Totui, ele difer n ceea ce privete tehnologia folosit i vitezele la care pot
ajunge. O discuie detaliat a acestor tehnologii este cu mult n afara cadrului acestei cri, dar cte-
va cuvinte despre fiecare, precum i menionarea cuvintelor cheie vor oferi cititorilor interesai ter-
menii necesari pentru a gsi mai mult informaie pe Internet sau n alt parte.
264 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Soluia bazat pe infrarou folosete transmisiuni cu difuzare (adic fr vizibilitate direct) la
0,85 sau 0,95 microni. Sunt permise dou viteze: 1Mbps i 2Mbps. La 1Mbps se folosete o schem
de codificare n care un grup de 4 bii este codificat ca un cuvnt de 16 bii coninnd 15 de 0 i un
singur 1, prin ceea ce se numete codul Gray. Acest cod are proprietatea c o mic eroare n sincro-
nizarea temporal duce doar la o eroare de un bit n output. La 2Mbps, codificarea ia 2 bii i produ-
ce un cuvnt codificat de 4 bii, de asemenea cu un singur 1 adic unul dintre 0001, 0010, 0100 i
1000. Semnalele infraroii nu pot trece prin ziduri, deci celulele din camere diferite sunt bine izolate
unele de altele. Totui, datorit lrgimii de band reduse (i faptului c lumina soarelui afecteaz
semnalele n infrarou), aceasta nu este o opiune popular.
FHSS (Frequency Hopping Spread Spectrum, rom: salturi de frecven ntr-un spectru larg) fo-
losete 79 de canale, fiecare de 1MHz, ncepnd la nivelul inferior al benzii de 2.4GHz ISM. Un ge-
nerator de numere pseudo-aleator este utilizat pentru a produce secvena de frecvene dup care se
vor efectua salturile. Ct timp staiile folosesc aceeai rdcin pentru generatorul de numere pseu-
do-aleatoare i stau sincronizate, ele vor sri simultan la aceleai frecvene. Durata petrecut pe fie-
care frecven, denumit timpul de locuire, este un parametru ajustabil, dar trebuie s fie mai mi-
c de 400 ms. Factorul aleator al FHSS ofer o metod eficient de alocare a spectrului n banda
ISM care nu este reglementat. De asemenea, ofer un minimum de securitate, deoarece un intrus
care nu cunoate secvena de salt sau timpul de locuire nu poate trage cu urechea la transmisiuni.
Dac distanele sunt mari, apare problema atenurii la transmisia pe mai multe ci, dar FHSS ofer
o rezisten bun. Este de asemenea relativ insensibil la interferena radio, ceea ce l face popular
pentru legturile dintre cldiri. Principalul su dezavantaj l constituie lrgimea de band redus.
Ce-a de-a treia metod de modulare, DSSS (Direct Sequence Spread Spectrum, rom: spectru
larg cu succesiune direct) este de asemenea limitat la 1Mbps sau 2Mbps. Aceast schem are
anumite similariti cu sistemul CDMA pe care l-am examinat n seciunea 2.6.2, dar difer n alte
privine. Fiecare bit este transmis ca o secven de 11 fragmente, folosind ceea ce se numete secven-
Barker. Este folosit schimbarea modulrii n faz la 1Mbaud, transmind un bit per baud cnd
opereaz la 1Mbps i 2 bii per baud cnd opereaz la 2Mbps. O bun bucat de timp, FCC a cerut
ca toate echipamentele de comunicaii fr fir care opereaz n banda ISM n Statele Unite s folo-
seasc mprtierea spectrului, dar aceast regul a fost abandonat n mai 2002, datorit apariiei
unor noi tehnologii.
Prima dintre reelele locale fr fir de mare vitez, 802.11a, folosete OFDM (Orthogonal
Frequency Division Multiplexing, rom: multiplexare cu divizare n frecvene ortogonale) pentru a
transmite pn la 54Mbps n banda mai larg de 5GHz ISM. Dup cum sugereaz i termenul
FDM, sunt folosite diferite frecvene un numr de 52 de frecvene, 48 pentru date i 4 pentru sin-
cronizare similar cu ADSL. Din moment ce transmisiunile sunt prezente pe frecvene multiple n
acelai timp, aceast tehnic este considerat o form de mprtiere a spectrului, dar diferit de
CDMA i FHSS. Divizarea semnalului n mai multe benzi nguste are anumite avantaje comparativ
cu folosirea unei benzi unice largi, incluznd o imunitate mai bun la interferena de band ngust
i posibilitatea utilizrii benzilor care nu sunt contigue. Este folosit un sistem complex de codificare,
bazat pe modularea schimbrii de faz pentru viteze de pn la 10 Mbps i pe QAM la viteze super-
ioare. La 54 Mbps, 216 de bii de date sunt codificai n simboluri de 288 de bii. O parte din motiva-
ia pentru OFDM este compatibilitatea cu sistemul European HiperLAN/2 (Doufexi et al., 2002).
Tehnica are o eficien bun a spectrului n termeni de bii / Hz i o imunitate bun n faa atenurii
la transmisia pe mai multe ci.
SEC. 4.4 REELE LOCALE FR FIR 265

n continuare, am ajuns la HR-DSSS (High Rate Direct Sequence Spread Spectrum, rom: spectru
larg cu succesiune direct la rat ridicat), o alt tehnic de spectru larg, care folosete 11 milioane de
fragmente/secund pentru a obine 11Mbps n banda de 2,4 GHz. Este denumit 802.11b, dar nu este
o continuare pentru 802.11a. De fapt, standardul su a fost aprobat primul i lansat pe pia primul.
Vitezele de date suportate de 802.11b sunt 1, 2, 5,5 i 11 Mbps. Cele dou viteze reduse se obin la
1Mbaud, cu 1 i respectiv 2 bii per baud, folosind modularea schimbrii de faz (pentru a fi compati-
bil cu DSSS). Cele dou viteze mai mari se obin la 1,375 Mbaud, cu 4 i respectiv 8 bii per baud, fo-
losind codurile Walsh/Haramard. Viteza datelor poate fi adaptat dinamic n timpul operrii, pentru
a obine viteza optim posibil n condiiile curente de ncrcare i zgomot. n practic, viteza operai-
onal a lui 802.11b este de aproape 11Mbps. Dei 802.11b este mai ncet dect 802.11a, spaiul su de
variaie este de aproape apte ori mai mare, ceea ce este mai important n multe situaii.
O versiune mbuntit a 802.11b, 802.11g, a fost aprobat de IEEE n noiembrie 2001, dup
multe dispute n legtur cu ce tehnologie patentat s foloseasc. Aceasta utilizeaz modulaia
OFDM a versiunii 802.11a, dar opereaz n banda ngust 2,4 GHz ISM ca i 802.11b. Teoretic vor-
bind, poate opera la peste 54Mbps. Nu este nc foarte clar precizat momentul cnd aceast vitez
va fi realizat n practic. Prin urmare, comitetul 802.11 a produs trei reele locale fr fir: 802.11a,
802.11b i 802.11c (fr s menionm trei reele locale fr fir de vitez redus). Ne-am putea pune
ntrebarea legitim dac asta este un lucru bun pentru un comitet de standardizare. Poate c trei
este numrul lor cu noroc.

Fig. 4-26. (a) Problema staiei ascunse. (b) Problema staiei expuse.
4.4.3 Protocolul subnivelului MAC al 802.11
S ne ntoarcem acum din domeniul ingineriei electrice n domeniul tiinei calculatoarelor. Pro-
tocolul subnivelului MAC al 802.11 este destul de diferit de acela al Ethernetului datorit complexi-
tii inerente a mediului fr fir, comparativ cu un sistem de cabluri. n Ethernet o staie ateapt
pn cnd eterul a tcut i apoi ncepe s transmit. Dac nu aude un zgomot de ciocnire n primii
64 de octei nseamn ca aproape sigur cadrul a fost recepionat corect. n cazul reelelor fr fir,
situaia e diferit.
Pentru nceput, apare problema staiei ascunse menionat anterior i ilustrat n fig. 4-26(a).
Din moment ce nu toate staiile se afl n domeniul de acces radio una fa de alta, transmisiunile
266 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


care se petrec ntr-o parte a celulei pot s nu fie recepionate n alt parte a celulei. n acest exemplu,
staia C transmite staie B. Dac A observ canalul, nu va auzi nimic i va trage concluzia fals c
poate acum s nceap s-i transmit lui B.
n plus, exist i problema invers, a staiei expuse, ilustrat n fig. 4-26(b). Aici B vrea s-i trimit
lui C astfel nct observ canalul. Cnd aude o transmisiune trage concluzia fals c nu poate s-i
transmit lui C, chiar dac de fapt A i transmite lui D (care este absent din imagine).
Mai mult, majoritatea radiourilor sunt semi-duplex, ceea ce nseamn c nu pot transmite i as-
culta zgomotele de coliziuni simultan pe aceeai frecven. Ca urmare a acestor probleme, 802.11 nu
utilizeaz CSMA/CD utilizat de Ethernet.
Pentru a face fa acestor probleme, 802.11 suport dou tipuri de operaii. Primul, denumit
DCF (Distributed Coordination Function, rom: funcie de coordonare distribuit), nu folosete nici
un fel de control central (fiind similar n aceast privin Ethernetului). Cellalt, denumit PCF
(Point Coordination Function, rom: funcie de coordonare punctual), folosete staia de baz pen-
tru a coordona toat activitatea din celula sa. Toate implementrile trebuie s poat susine DCF,
dar PCF este opional. Vom discuta acum aceste dou modaliti, alternativ.
Cnd este folosit DCF, 802.11 utilizeaz un protocol denumit CSMA/CA (CSMA with Collision
Avoidance, rom: CSMA cu evitarea coliziunilor). n acest protocol se folosete att observarea cana-
lelor fizice, ct i observarea canalelor virtuale. CSMA/CA suport dou tipuri de operaii. n prima
metod, atunci cnd o staie vrea s transmit, observ canalul. Dac este liber, ncepe s transmit.
Nu va mai asculta canalul n timpul transmisiunii, ci va trimite ntregul cadru, care ar putea foarte
bine s fie distrus la receptor datorit interferenei. Dac n schimb canalul este ocupat, emitorul
amn transmisia pn cnd mediul se elibereaz i abia apoi ncepe s transmit. Dac apare o co-
liziune, staiile implicate ateapt un timp aleatoriu, folosind algoritmul exponenial de regresie bi-
nar, i mai ncearc o dat.
Cealalt metod a CSMA/CA se bazeaz pe MACAW i folosete observarea canalelor virtuale,
dup cum este ilustrat n fig. 4-27. n acest exemplu, A vrea s transmit ctre B. C este o staie din
sfera de recepie a lui A (posibil i a lui B, dar nu conteaz). D este o staie din sfera lui B dar n afara
sferei lui A.

Fig. 4-27. Utilizarea canalului virtual utiliznd CSMA/CA.

Protocolul ncepe cnd A decide c vrea s emit ctre B. ncepe prin a trimite un cadru RTS c-
tre B, pentru a-i cere permisiunea s i trimit un cadru. Cnd B primete aceast cerere, se poate
decide s ofere permisiunea, caz n care trimite un cadru CTS napoi. Dup ce primete CTS, A i
trimite cadrul i iniiaz un cronometru pentru ACK. Dup recepionarea corect a cadrului de date,
SEC. 4.4 REELE LOCALE FR FIR 267

B rspunde cu un cadru ACK, terminnd schimbul. n cazul n care cronometrul pentru ACK a lui A
expir nainte ca ACK s revin la el, ntregul protocol este luat de la capt.
S ne uitm acum la acest schimb din perspectiva lui C i a lui D. C este n sfera lui A, deci poate
primi cadrul RTS. Dac l primete, i va da seama c o staie urmeaz s emit date n curnd, ast-
fel nct se va abine s transmit orice pn cnd schimbul este complet. Din informaia prezent n
cererea RTS poate estima durata tranzaciei, incluznd ACK-ul final, astfel nct i simuleaz o
ocupare virtual, indicat n fig. 4-27 de NAV (Network Allocation Vector, rom: vector de alocare a
reelei). D nu aude RTS, dar aude CTS, astfel nct de asemenea i aloc un NAV. Observai c
semnalele NAV nu sunt transmise; ele sunt doar modaliti interne de a aminti staiilor s tac pen-
tru o anumit perioad.
Spre deosebire de reelele cablate, reelele fr fir sunt zgomotoase i instabile, ntr-o oarecare
msur i datorit cuptoarelor cu microunde, care folosesc i ele banda fr licen ISM. Ca urmare,
probabilitatea unui cadru de a ajunge la destinaie cu succes scade odat cu creterea lungimii cadru-
lui. Dac probabilitatea unei erori la nivel de 1 bit este p, atunci probabilitatea unui cadru de n bii
de a ajunge corect la final este (1-p)
n
. De exemplu, dac p=10
-4
, probabilitatea de a recepiona co-
rect un cadru Ethernet ntreg (12.144 bii) este mai mic de 30%. Dac p=10
-5
, aproximativ un ca-
dru din 9 va fi afectat. Chiar dac p=10
-6
, peste 1% dintre cadre vor fi afectate, ceea ce nseamn
aproape o duzin pe secund, i chiar mai multe dac se folosesc cadre mai scurte dect valoarea
maxim. Pe scurt, dac un cadru este prea lung, are puine anse s fie transmis fr avarii, i va tre-
bui, cel mai probabil, retransmis.
Pentru a rezolva problema canalelor zgomotoase, 802.11 permite cadrelor s fie fragmentate n
buci mai mici, fiecare cu propria sum de control. Fragmentele sunt numerotate individual i con-
firmate folosind un protocol pas-cu-pas (emitorul nu poate transmite fragmentul k+1 dect dup
ce a primit confirmarea pentru fragmentul k). Odat ce canalul a fost obinut prin RTS i CTS, mai
multe fragmente pot fi trimise ntr-un ir, ca n fig. 4-28, secvena purtnd numele de rafal de frag-
mente (fragment burst).

Fig. 4-28. O rafal de fragmente.

Fragmentarea crete productivitatea prin restricionarea retransmiterii doar la fragmentele ero-
nate, eliminnd necesitatea de a retransmite ntregul cadru. Dimensiunea fragmentului nu este fixa-
t de standard, ci este un parametru pentru fiecare celul i poate fi ajustat de ctre staia de baz.
Mecanismul NAV menine celelalte staii tcute numai pn la confirmarea urmtoare, dar un alt
268 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


mecanism (descris n cele ce urmeaz) este utilizat pentru a permite unei ntregi rafale de fragmente
s fie transmis fr interferene.
Toat discuia anterioar se aplic numai modului DCF 802.11. n acest mod, nu exist control
centralizat, iar staiile sunt n competiie pentru timpul de transmisie, exact ca la Ethernet. Cellalt
mod permis este PCF, n care staia de baz interogheaz celelalte staii ntrebndu-le dac au cadre
de transmis. Din moment ce, n mod PCF, ordinea transmisiilor este complet controlat de ctre
staia de baz, nu apar niciodat coliziuni. Standardul prescrie mecanismul pentru interogare, dar nu
frecvena interogrilor, ordinea interogrilor i nici mcar dac staiile trebuie s primeasc toate
drepturi egale.
Mecanismul principal este acela prin care staia de baz emite periodic (de 10 pn la 100 de ori
pe secund) un cadru baliz (beacon frame). Cadrul baliz conine parametrii de sistem, cum ar fi
intervalul de salt i timpii de via (pentru FHSS), sincronizri de ceas, etc. De asemenea, acest cadru
invit staiile noi s se nregistreze pentru serviciul de interogare. Din momentul n care o staie s-a
nregistrat pentru serviciul de interogare la o anumit vitez, aceasta va beneficia garantat de o fraci-
une din limea de band, n acest fel fiind posibil oferirea de garanii de tip calitatea-serviciului.
Viaa bateriei este ntotdeauna o problem n cazul dispozitivelor mobile fr fir, deci 802.11
acord atenie problemei gestionrii consumului. n particular, staia de baz poate instrui un dispo-
zitiv mobil s intre n ateptare pn cnd este trezit n mod explicit de ctre staia de baz sau de
ctre utilizator. Totui, punerea unei staii n ateptare presupune ca staia de baz s aib responsa-
bilitatea stocrii n zone tampon a cadrelor direcionate ctre staia respectiv atta timp ct aceasta
este n ateptare. Aceste cadre vor putea fi colectate ulterior.
Modurile PCF i DCF pot coexista n cadrul aceleiai celule. La prima vedere, pare imposibil
prezena unei scheme de control centralizate i a unei scheme distribuite n acelai timp, dar 802.11
ofer o modalitate de a atinge acest scop. Modul de funcionare este atins prin definirea atent a
intervalului de timp dintre transmisia de cadre. Dup ce un cadru a fost transmis, un anumit interval
de timp este impus staiei nainte de a putea transmite urmtorul cadru. Sunt definite patru intervale
diferite, fiecare pentru scopuri precise. Cele patru intervale sunt prezentate n fig. 4-29.

Fig. 4-29. Spaierea ntre cadre n 802.11.

Cel mai scurt interval este SIFS (Short InterFrame Spacing, rom: spaiere redus ntre cadre).
Este folosit pentru a permite prilor implicate ntr-un dialog singular s transmit primele. Aceast
soluie ofer posibilitatea receptorului s trimit un CTS ca rspuns la un RTS, acord permisiunea
ca un receptor s trimit o confirmare pentru un fragment sau pentru un cadru integral i acord
SEC. 4.4 REELE LOCALE FR FIR 269

permisiunea ca emitorul unui fragment s trimit n rafal urmtorul fragment fr a fi nevoie s
atepte din nou un RTS.
ntotdeauna exist exact o singur staie care are dreptul s rspund dup un interval SIFS. Da-
c aceasta nu reuete s profite de aceast oportunitate i se scurge un interval de timp PIFS (PCF
InterFram Interval, rom: interval ntre cadrele PCF), staia de baz poate transmite un cadru baliz
sau un cadru de interogare. Acest lucru permite unei staii care transmite un cadru de date sau o
secven de fragmente s termine cadrul fr s se interpun nimeni, dar n acelai timp d staiei de
baz o ans s acapareze canalul atunci cnd emitorul anterior a terminat, fr s trebuiasc s
intre n competiie cu utilizatorii nerbdtori.
Dac staia de baz nu are nimic de transmis i se scurge un interval de timp DIFS (DCF
InterFrame Interval, rom: interval ntre cadrele DCF), orice staie poate ncerca obinerea unui ca-
nal pentru a transmite un nou cadru. Regulile obinuite de competiie se aplic i o reluare dup un
timp binar exponenial poate fi necesar n cazul apariiei unei coliziuni.
Ultimul interval de timp, EIFS (Extended InterFrame Spacing, rom: spaiere extins ntre ca-
dre), este utilizat pentru a raporta eventuale erori de ctre o staie care tocmai a primit un cadru
eronat sau necunoscut. Ideea este ca acest eveniment s aib cea mai mic prioritate, pentru c, din
moment ce receptorul s-ar putea s nu tie ce se ntmpl, acesta ar trebui s atepte un interval sub-
stanial de timp pentru a evita interferena cu un dialog n desfurare ntre dou staii.
4.4.4 Formatul cadrului 802.11
Standardul 802.11 definete trei clase diferite de cadre: de date, de control i de gestionare. Fie-
care dintre acestea are un antet cu o varietate de cmpuri folosite n cadrul subnivelului MAC. n
plus, exist unele antete utilizate de ctre nivelul fizic, dar acestea sunt de obicei legate de modalit-
ile de modulaie folosite, deci nu le vom discuta aici.

Fig. 4-30. Cadrul de date 802.11.

Formatul cadrului de date este prezentat n fig. 4-30. Primul cmp este acela de control al cadrului.
Acesta are la rndul lui 11 subcmpuri. Primul dintre acestea este versiunea de protocol, care permite
celor dou versiuni ale protocolului s opereze n acelai timp n aceiai celul. Apoi urmeaz cmpu-
rile pentru tip (de date, de control sau de gestiune) i subtip (de ex. RTS sau CTS). Biii ctre DS i de
la DS indic direcia de transport a cadrului ctre sistemul de distribuie sau de la sistemul de distri-
buie ntre celule (de ex. Ethernet). Bitul MF semnalizeaz c vor urma mai multe fragmente. Bitul
rencercare marcheaz o retransmisie a unui cadru trimis anterior. Bitul gestiunea consumului este fo-
losit de ctre staia de baz pentru a pune receptorul n stare de ateptare sau pentru a-l scoate din
270 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


starea de ateptare. Bitul mai mult indic faptul c emitorul mai are cadre adiionale pentru recep-
tor. Bitul W specific criptarea cadrului folosind algoritmul WEP (Wired Equivalent Privacy, rom.
confidenialitate echivalent cablat). n sfrit, bitul O indic receptorului c o secven de cadre cu
acest bit setat trebuie prelucrat strict n ordinea n care cadrele au fost recepionate.
Cel de-al doilea cmp al cadrului de date, cmpul durat, indic intervalul de timp n care cadrul
i confirmarea vor ocupa canalul. Acest cmp este de asemenea prezent n cadrele de control i re-
prezint modalitatea prin care alte staii gestioneaz mecanismul NAV. Antetul cadrului conine
patru adrese, toate n formatul standard IEEE 802. n mod evident, sursa i destinaia sunt necesare,
dar pentru ce sunt necesare celelalte dou? S ne aducem aminte: cadrele pot intra sau iei dintr-o
celul prin staia de baz. Celelalte dou adrese sunt folosite pentru staiile de baz surs i destina-
ie n traficul ntre celule.
Cmpul secven permite numerotarea fragmentelor. Din cei 16 bii disponibili, 12 identific ca-
drul i 4 identific fragmentul. Cmpul date conine ncrctura util, avnd pn la 2312 octei, fiind
urmat de uzuala sum de control.
Cadrele de gestiune au un format similar celor de date, cu excepia uneia dintre adresele staiilor
de baz, deoarece cadrele de gestiune sunt restricionate la o singur celul. Cadrele de control sunt
i mai scurte, avnd numai una sau dou adrese, neavnd cmp de date i nici cmp secven. Aici
informaia cheie se afl n cmpul subtip, de obicei RTS, CTS, sau ACK.
4.4.5 Servicii
Standardul 802.11 afirm c fiecare reea local fr fir trebuie s ofere nou servicii. Aceste ser-
vicii sunt mprite n dou categorii: cinci servicii legate de distribuie i patru servicii pentru staii.
Serviciile de distribuie sunt legate de gestiunea apartenenei la celul i de interaciunea cu staiile
din afara celulei. Serviciile de staie sunt legate de activitatea n cadrul unei singure celule.
Cele cinci servicii de distribuie sunt oferite de ctre staiile de baz i se ocup de mobilitatea
staiilor pe msur ce acestea intr i ies din celule, atandu-se i detandu-se de la staia de baz.
Ele sunt urmtoarele:

1. Asocierea. Acest serviciu este folosit de ctre staiile mobile pentru conectare la staia de ba-
z. De obicei, el este utilizat exact dup ce o staie se deplaseaz n acoperirea radio a staiei
de baz. La sosire, aceasta i anun identitatea i capacitile. Capacitile includ: vitezele
de date suportate, cererile de servicii PCF (de exemplu interogarea) i necesitile de gestio-
nare a consumului. Staia de baz poate accepta sau rejecta staia mobil. Dac staia mobil
este acceptat, atunci aceasta trebuie s se autentifice.
2. Dezasocierea. Att staia, ct i staia de baz se pot dezasocia, rupnd n acest fel relaia. O
staie trebuie s foloseasc acest serviciu nainte de a se nchide sau de a pleca, iar staia de
baz l poate folosi i ea de exemplu nainte de oprirea pentru ntreinere.
3. Reasocierea. O staie i poate schimba staia de baz preferat utiliznd acest serviciu. Faci-
litatea este util pentru staiile mobile care se deplaseaz dintr-o celul n alta. Dac serviciul
este folosit corect, nu se vor pierde date la trecere. (Dar 802.11, ca i Ethernetul, este numai
un serviciu fr confirmare).
4. Distribuia. Acest serviciu determin modul n care sunt rutate cadrele trimise ctre staia
de baz. Dac destinaia este local staiei de baz, cadrele pot fi trimise direct n aer. n caz
contrar, ele vor trebui naintate prin reeaua cablat.
SEC. 4.5 REELE FR FIR DE BAND LARG 271

5. Integrarea. Dac un cadru trebuie s circule printr-o reea care nu este 802.11 i utilizeaz o
schem de adresare diferit i un format de cadre diferit, acest serviciu efectueaz translata-
rea de la formatul 802.11 la formatul reelei destinaie.

Cele patru servicii rmase sunt servicii n interiorul celulei (adic sunt legate de aciuni n interio-
rul unei singure celule). Ele sunt folosite dup ce a avut loc asocierea i sunt urmtoarele:

1. Autentificarea. Deoarece comunicaiile fr fir pot fi recepionate sau emise cu uurin de
ctre staii neautorizate, o staie trebuie s se autentifice nainte de a i se permite s trimit
date. Dup ce o staie mobil a fost asociat de ctre o staie de baz (adic acceptat n ca-
drul celulei), staia de baz i va trimite un cadru special de provocare pentru a verifica dac
staia mobil cunoate cheia secret (parola) care i-a fost alocat. Staia va dovedi cunoate-
rea cheii prin criptarea cadrului provocare cu ea, urmat de trimiterea acestuia napoi la sta-
ia de baz. Dac rezultatul este corect, staia mobil este pe deplin nscris n celul. n
standardul iniial, staia de baz nu trebuia s-i demonstreze identitatea ctre staiile mobi-
le, dar lucrul pentru eliminarea acestui defect din standard este n desfurare.
2. Deautentificarea. Cnd o staie anterior autentificat dorete s prseasc reeaua, aceasta
este deautentificat. Dup deautentificare, staia nu va mai putea folosi reeaua.
3. Confidenialitatea. Pentru ca informaiile transmise printr-o reea fr fir s rmn confi-
deniale, acestea trebuie criptate. Acest serviciu gestioneaz criptarea i decriptarea. Algo-
ritmul de criptare specificat este RC4, inventat de ctre Ronald Rivest de la M.I.T.
4. Livrarea datelor. n fine, transmisia datelor este subiectul principal, deci n mod evident
802.11 ofer o modalitate de a transmite i recepiona date. Din moment ce 802.11 este mo-
delat dup Ethernet i transmisia prin Ethernet nu este 100% sigur, transmisiile prin 802.11
nu sunt garantate nici ele s fie sigure. Nivelurile superioare trebuie detecteze i s corecteze
erorile.

O celul 802.11 are unii parametrii care pot fi inspectai i, n unele cazuri, ajustai. Acetia
sunt legai de criptare, intervale de expirare, viteze de transfer pentru date, frecvena balizelor i
aa mai departe.
Reelele locale fr fir bazate pe 802.11 ncep s fie folosite peste tot n lume n cldiri de birouri,
hoteluri, restaurante i campusuri. Se preconizeaz o cretere rapid. Pentru unele date legate de
desfurarea extins a 802.11 la CMU, vezi (Hills, 2001).


4.5 REELE FR FIR DE BAND LARG
Am stat n cldiri prea mult. Haidei s ieim afar i s vedem dac exist reele interesante aco-
lo. Se pare c se ntmpl destul de multe pe acolo i o parte dintre acestea au de-a face cu aa numi-
t ultim-poriune (ultima sut de metri). Odat cu deregularizarea serviciilor telefonice n multe
ri, competitori ai companiilor telefonice fortificate au din ce n ce mai des permisiunea s ofere
servicii de voce i de Internet la mare vitez. Exist n mod sigur o mare cerere n domeniu. Proble-
ma este c desfurarea de fibr, de cablu coaxial sau chiar de perechi torsadate de categoria 5 este
prohibitiv de scump. Ce poate face atunci un competitor?
272 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Rspunsul este simplu: reele fr fir de band larg. Ridicarea unei antene mari pe un deal
imediat n afara oraului i instalarea de antene direcionate ctre ea pe acoperiurile clienilor este
mult mai simplu i mai ieftin dect sparea de anuri i tragerea de cabluri prin acestea. Prin urma-
re, companiile de telecomunicaii concurente au un interes important n a oferi servicii de comunica-
ie fr fir la viteze de muli megabii pe secund pentru voce, Internet, filme la cerere etc. Dup
cum am vzut n fig. 2-30, LMDS a fost inventat pentru acest scop. Totui, pn de curnd, fiecare
companie i-a dezvoltat propriul sistem. Aceast lips de standarde a nsemnat c software-ul i har-
dware-ul nu au putut fi produse pe scar larg, ceea ce a meninut preurile la un nivel mare i ac-
ceptabilitatea la un nivel sczut.
Muli oameni din industrie au realizat faptul c existena unui standard pentru reele fr fir de
band larg era elementul cheie care lipsea, aa c organizaiei IEEE i s-a cerut s alctuiasc un
comitet format din oameni din companii cheie i din mediul academic pentru a schia standardul.
Urmtorul numr disponibil n schema de numerotare 802 era 802.16, deci standardul a primit acest
numr. Lucrul a nceput n iulie 1999, iar standardul final a fost acceptat n aprilie 2002. Oficial,
standardul poart numele Interfa aerian pentru acces fix la sisteme cu lime mare de band
fr fir. Totui, unii prefer s l numeasc wireless MAN (Wireless Metropolitan Area Network,
rom. reea de ntindere metropolitan fr fir) sau wireless local loop (rom. bucl local fr fir).
Noi vom privi toi aceti termeni ca fiind interschimbabili.
La fel ca i alte standarde din seria 802, 802.16 a fost puternic influenat de modelul OSI, inclu-
znd (sub)nivelurile, terminologia, primitivele de servicii i altele. Din pcate, ca i standardul OSI,
este destul de complicat. n urmtoarele seciuni vom oferi o descriere sumar a lui 802.16, dar tra-
tarea de aici este departe de a fi complet i las neacoperite multe detalii. Pentru informaii adiio-
nale despre servicii fr fir de band larg n general, vezi (Bolcskei et. al, 2001; i Webb, 2001). Pen-
tru informaii specifice despre 802.16, vezi (Eklund et al., 2002).
4.5.1 Comparaie ntre 802.11 i 802.16
n acest moment probabil c v ntrebai: De ce s inventm un nou standard? De ce nu folosim
pur i simplu 802.11? Exist cteva motive foarte bune pentru a nu folosi 802.11, n primul rnd ace-
la c 802.11 i 802.16 rezolv probleme diferite. nainte de a intra n terminologia lui 802.16, probabil
c merit s spunem cteva cuvinte pentru a explica de ce este nevoie de un nou standard.
Mediile n care opereaz 802.11 i 802.16 sunt similare n multe privine, n primul rnd datorit
faptului c sunt proiectate pentru a oferi comunicaii fr fir de mare vitez. Dar de asemenea difer
din multe puncte de vedere majore. Pentru nceput, 802.16 ofer servicii pentru cldiri, iar cldirile
nu sunt mobile. Ele nu migreaz dintr-o celul n alta. Mare parte din 802.11 trateaz mobilitatea i
o mare parte dintre aceste aspecte nu sunt relevante aici. Apoi, cldirile dispun de mai multe calcu-
latoare, o complicaie care nu apare atunci cnd staia final este un singur calculator portabil. Pen-
tru c proprietarii cldirilor sunt de obicei dispui s cheltuiasc mult mai muli bani pe echipamente
de comunicaii dect proprietarii de calculatoare portabile, vor fi disponibile staii radio mai perfor-
mante. Aceast diferen nseamn i c 802.16 poate folosi comunicaii cu duplex integral, lucru
evitat de 802.11 pentru a menine preurile la un nivel sczut.
Pentru c 802.16 ruleaz peste o parte dintr-un ora, distanele implicate pot fi de mai muli ki-
lometri, ceea ce nseamn c puterea absorbit la staia de baz poate varia mult de la o staie la alta.
Aceast variaie afecteaz raportul semnal-zgomot, care, la rndul lui, dicteaz mai multe scheme de
SEC. 4.5 REELE FR FIR DE BAND LARG 273

modulare. n acelai timp, comunicare deschis peste un ora nseamn c securitatea i confidenia-
litatea sunt eseniale i obligatorii.
Mai mult, este foarte probabil ca fiecare celul s aib mult mai muli utilizatori dect o celul ti-
pic 802.11 i este de ateptat ca aceti utilizatori s consume o lime de band mult mai mare dect
utilizatorii tipici ai 802.11. Pn la urm, nu se ntmpl des ca o companie s invite 50 de angajai,
cu calculatoare portabile, s se ntlneasc ntr-o singur camer pentru a vedea dac se poate satura
reeaua 802.11 prin vizionarea n paralel pe a 50 de filme diferite. Din acest motiv, este nevoie de un
spectru mai larg dect ofer banda ISM, fornd 802.16 s opereze ntr-o gam de frecvene mult
mai nalte, de 10-66 GHz, singurul loc n care gama de frecvene este nc disponibil.
Dar aceste unde milimetrice au proprieti fizice diferite dect undele mai lungi din ISM, ceea ce
duce la necesitatea unui nivel fizic complet diferit. O proprietate a undelor milimetrice este aceea ca
sunt puternic absorbite de ap (n mod special de ploaie, dar pn la un anumit nivel i de ctre nin-
soare, grindin i, cu puin ghinion, de cea deas). n consecin, tratarea erorilor este mult mai
important dect n mediile interioare. Undele milimetrice pot fi focalizate n fascicule direcionate
(802.11 este omnidirecional), deci soluiile alese de 802.11 pentru propagarea multici sunt contes-
tabile aici.
O alt problem o constituie calitatea serviciului. Dei 802.11 ofer suport pentru trafic de timp
real (folosind modul PFC), acesta nu a fost proiectat pentru telefonie i nici pentru utilizare multi-
media intensiv. Dimpotriv, ne ateptm ca 802.16 s ofere suport complet pentru aceste aplicaii,
deoarece este gndit s fie folosit att pentru mediul rezidenial, ct i pentru mediul de afaceri.
Pe scurt, 802.11 a fost proiectat pentru a fi un Ethernet mobil, pe cnd 802.16 a fost proiectat
pentru a fi o televiziune prin cablu, fr fir, dar staionar. Aceste diferene sunt att de mari, nct
standardele rezultate sunt foarte diferite: ele ncearc s optimizeze lucruri diferite.
O comparaie foarte sumar cu sistemul de telefonie celular este de asemenea interesant. La
telefoanele mobile avem de-a face cu staii mobile de band ngust, orientate pe voce, cu putere
sczut, care comunic folosind unde de lungime medie. Nimeni nu urmrete (nc) filme de 2 ore,
la rezoluie nalt, pe telefoanele GSM. Chiar i UMTS are sperane sczute n a schimba aceast
situaie. Pe scurt, lumea reelelor metropolitane fr fir este mult mai solicitant dect lumea simpl
a telefoanelor mobile, deci este necesar un sistem complet diferit. ntrebarea interesant este dac
802.16 poate fi folosit pentru dispozitive mobile n viitor. Nu a fost optimizat pentru aceast utilizare,
dar posibiliti exist. Pentru moment, standardul se concentreaz pe reele fixe fr fir.
4.5.2 Stiva de protocoale 802.16
Stiva de protocoale 802.16 este prezentat n fig. 4-31. Structura general este similar cu cea a
celorlalte reele 802, dar are mai multe subniveluri. Subnivelurile inferioare se ocup de transmisie.
Radioul tradiional de band ngust folosete scheme de modulare convenionale. Deasupra nivelu-
lui de transmisie fizic este un subnivel de convergen pentru a ascunde diferitele tehnologii de nive-
lul legtur de date. De fapt i 802.11 are ceva asemntor, dar comitetul a decis s nu-l formalizeze
cu un nume asemntor OSI.
Cu toate c nu le-am prezentat n figur, dou noi protocoale de nivel fizic sunt n lucru deja.
Standardul 802.16a va oferi suport pentru OFDM n gama de frecvene 2-11 GHz. Standardul
802.16b va lucra n banda ISM de 5 GHz. Ambele constituie ncercri de apropiere de 802.11.

274 SUBNIVELUL DE ACCES LA MEDIU CAP. 4



Fig. 4-31. Stiva de protocoale 802.16.

Nivelul legtur de date este constituit din trei subniveluri. Cel mai de jos se ocup de confiden-
ialitate i securitate, aspecte mult mai importante pentru reelele publice de exterior dect n cadrul
reelelor private de interior. Acest subnivel gestioneaz cheile, criptarea i decriptarea.
Urmtorul este subnivelul comun de acces la mediu. Aici sunt localizate protocoalele principale,
cum ar fi cel de gestiune a canalelor. Modelul presupune ca staia de baz s controleze sistemul.
Aceasta poate planifica canalul ctre abonat (cu baza la abonat) n mod foarte eficient i joac de
asemenea un rol major n gestionarea canalelor de la abonat (adic abonat ctre baz). O facilitate
neobinuit a subnivelului de acces la mediu este aceea c, spre deosebire de toate celelalte reele
802, este complet orientat pe conexiune, pentru a putea garanta calitatea serviciilor pentru comuni-
caii multimedia i pentru telefonie.
Subnivelul de convergen joac rolul subnivelului de legtur logic din celelalte protocoale
802. Scopul su este interfaarea cu nivelul reea. O complicaie n acest caz este aceea c 802.16 a
fost proiectat pentru a integra fr difereniere att protocoale cu datagrame (de ex. PPP, IP i
Ethernet), ct i ATM. Problema este c protocoalele cu datagrame sunt fr conexiune, pe cnd
ATM-ul este orientat conexiune.
Aceasta nseamn c fiecare legtur ATM trebuie s fie suprapus peste o legtur 802.16, n
cel mai direct mod posibil. Totui, peste care legtur 802.16 ar trebui suprapus un pachet IP recep-
ionat? Aceast problem este rezolvat n cadrul acestui subnivel.
4.5.3 Nivelul fizic 802.16
Aa cum am menionat i mai nainte, transmisia fr fir de band larg are nevoie de un spectru
larg i singura posibilitate de a obine acest spectru este n zona 10-66 GHz. Astfel de unde milime-
trice prezint o proprietate interesant, care nu exist la undele mai lungi: ele se propag n linii
drepte, diferit fa de sunet, ns foarte asemntoare cu lumina. O consecin direct este faptul c
o staie de emisie poate avea multiple antene, fiecare ndreptat spre o zon diferit a ariei de aco-
perire, aa cum este prezentat n fig. 4-32. Fiecare sector are proprii utilizatori i este independent
ntr-o mare msur de zonele adiacente, fapt care nu este prezent i n cazul sistemelor cu celule
radio, unde transmisia este n toate direciile.
SEC. 4.5 REELE FR FIR DE BAND LARG 275


Fig. 4-32. Transmisia la 802.16.

Cum puterea semnalului este milimetric, acoperirea scade proporional cu distana de la staia
de emisie, raportul semnal/zgomot scade de asemenea, proporional cu aceeai distan. Din acest
motiv, 802.16 are trei scheme de modulare diferite, n funcie de ct de departe este staia abonat de
staia de emisie. Pentru abonaii foarte apropiai de staia de emisie, este folosit QAM-64, cu 6
bii/baud. Pentru o distan medie, este folosit QAM-16, cu 4 bii/baud. QPSK este folosit pentru
abonaii aflai la o distana considerabil i suport 2 bii/baud. Spre exemplu, pentru un spectru tipic
de 25 MHz, QAM-64 ofer 150 Mbps, QAM-16 doar 100 Mbps, n timp ce QPSK atinge pn la 50
Mbps. Cu alte cuvinte, cu ct abonatul se afl la o distan mai mare de staia de emisie, cu att vite-
za de transmisie scade (este asemntor cu ceea ce am vzut la ADSL, fig. 2-27). Diagramele sub
form de constelaie pentru cele trei tipuri de modulaie au fost prezentate n fig. 2-25.
Avnd ca scop crearea unui sistem de band larg n prezena limitrilor fizice descrise mai sus,
designerii lui 802.16 au lucrat din greu la folosirea eficient a spectrului disponibil. Unul din lucrurile
pe care nu le-au apreciat a fost modul n care lucreaz sistemele GSM i DAMPS. Amndou utili-
zeaz, pentru traficul de recepie i pentru cel de emisie, benzi de frecven diferite, egale ca dimen-
siune (simetrice). Dac pentru voce traficul este simetric n cea mai mare parte, pentru accesul la
Internet traficul este mult mai puternic la recepie dect la transmisie. Din aceste considerente,
802.16 ofer o modalitate mult mai flexibil de a aloca banda de transfer. Sunt folosite dou scheme,
FDD (Frequency Division Duplexing, rom: transmisie duplex prin divizarea n frecven) i TDD
(Time Division Duplexing transmisie duplex prin divizarea n timp). A doua schem este prezenta-
t n fig. 4-33. n acest caz, staia de emisie trimite periodic cadre. Fiecare cadru conine uniti de
timp. Primele sunt folosite la traficul de recepionare. Urmeaz o perioad de timp de gard, folosit
de staii pentru a schimba direcia de transmisie. n cele din urm avem intervalul n care se transmit
datele locale. Numrul de cuante de timp alocat fiecrui tip de transmisie poate fi modificat dinamic
astfel nct banda de transfer s fie folosit ct mai eficient.

276 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Fig. 4-33. Cadre i intervale de timp n TDD.

Traficul de recepie este suprapus peste cuantele de timp de ctre staia de emisie. Staia de emi-
sie are controlul deplin pentru acest trafic. Traficul de transmisie este mult mai complex i depinde
de calitatea cerut de serviciul accesat. Vom discuta despre alocarea intervalelor de timp cnd vom
prezenta subnivelul MAC, puin mai jos.
O alt caracteristic interesant a nivelului fizic este posibilitatea de a mpacheta mai multe ca-
dre MAC ntr-o singur transmisie fizic. Aceasta crete eficiena, prin reducerea numrului total de
preambuluri i antete folosite.
De notat este i folosirea codurilor Hamming pentru corecia n avans la nivelul fizic. Aproape
toate celelalte tipuri de reele se bazeaz pur i simplu pe trimiterea unor sume de control pentru
detectarea erorilor, iar apoi cer retransmisia dac unul din cadre a fost recepionat eronat. n cazul
transmisiilor de band larg sunt estimate att de multe erori, nct corectarea erorilor se face chiar
la nivelul fizic, pe lng sumele de control de la nivelurile superioare. n ansamblu, efectul pe care l
au toate acestea este de a face canalul s par mai bun dect este n realitate (n acelai mod n care
CD-ROM-urile par a fi foarte fiabile, i toate acestea doar pentru c mai mult de jumtate din nu-
mrul total de bii sunt folosii la corectarea de erori la nivelul fizic).
4.5.4 Protocolul subnivelului MAC la 802.16
Nivelul legtur de date este mprit n trei subniveluri, aa cum am vzut n fig. 4-31. Cum nu
vom studia criptografia nainte de cap. 8, este mai dificil de explicat acum modul de funcionare a
subnivelului de securitate. Este suficient ns s afirmm c tehnicile de criptare sunt folosite pen-
tru a pstra toate datele transmise secrete. Antetele nu sunt criptate, ci doar informaia util.
Aceasta nsemn c cineva poate s urmreasc cine cu cine comunic, dar nu poate nelege con-
inutul mesajelor.
Dac avei deja cteva cunotine despre criptografie, urmeaz un scurt paragraf ce explic
subnivelul de securitate. Dac nu cunoatei nimic despre criptografie, este puin probabil s gsii
urmtorul paragraf foarte folositor (ns l putei lua n considerare dup ce ai parcurs cap. 8).
n momentul n care un abonat se conecteaz la o staie de emisie, el execut o autentificare mu-
tual folosind RSA cu cheie public i certificatele X.509. Datele utile sunt criptate folosind sistemul
de chei simetrice, ori DES triplu, ori folosind nlnuirea de blocuri cu cifru. Algoritmul AES
(Rijndael) e posibil s fie adugat n curnd. Verificrile de integritate sunt fcute folosind SHA-1.
Nu e aa c nu a fost chiar att de greu?
Haidei s aruncm o privire peste partea principal a subnivelului MAC. Cadrele MAC ocup un
numr ntreg de perioade de timp ale nivelului fizic. Fiecare cadru este format din subcadre, dintre
care primele dou reprezint maprile pentru traficul de recepie i de transmisie. Aceste mapri re-
lev ce corespunde fiecrui interval de timp i ce cuante de timp sunt libere. Maparea pentru recepie
conine i un numr de parametri de sistem, pentru a informa noile staii cu care intr n contact.
SEC. 4.5 REELE FR FIR DE BAND LARG 277

Canalul pentru recepie este destul de simplu, staia de emisie decide ce conine fiecare
subcadru. Canalul de transmisie este mai complicat deoarece mai muli abonai intr n competiie
pentru acces. Alocarea acestui canal este legat de problemele de calitate a serviciului. Sunt definite
patru clase de servicii:

1. Serviciu cu vitez constant de transmisie
2. Serviciu pentru aplicaii de timp real
3. Serviciu pentru aplicaii care nu necesit timp real
4. Serviciu de tip cea mai bun ncercare (best-effort)

Toate serviciile lui 802.16 sunt orientate pe conexiune, iar fiecare dintre conexiuni este stabilit la
configurare la unul din tipurile de mai sus. Arhitectura este mult diferit de 802.11 i Ethernet, care
nu prezint conexiuni la subnivelul MAC.
Serviciul cu vitez constant de transmisie este folosit pentru transmisie de voce, necompresat,
la fel ca pe canalele T1. Acest serviciu are nevoie s trimit o valoare predeterminat de date, la un
interval de timp stabilit apriori. Fiecrei conexiuni de acest tip i este dedicat un numr de intervale
de timp. Odat banda de transfer alocat, intervalele de timp sunt puse la dispoziie automat, fr a
mai fi nevoie s fie cerute spre alocare.
Serviciul de aplicaii de timp real este destinat aplicaiilor media compresate sau altor aplicaii
software de timp real, n care nevoia de band de transfer poate varia. Intr n atribuiile staiei de
emisie s l ntrebe pe abonat, la un interval fixat de timp, de ct band de transfer are nevoie.
Serviciul pentru aplicaii ce nu necesit timp real este utilizat pentru transmisii mari de date,
cum ar fi transferurile de fiiere mari ca dimensiuni. n acest caz, staia de emisie interogheaz
abonatul des, ns nu la intervale fixate de timp. Un abonat care transmite constant date poate
cere, prin intermediul cadrelor sale, o interogare din partea staiei de emisie, pentru a putea trimi-
te date suplimentare.
Dac o staie nu rspunde la o interogare repetat de k ori ntr-un anumit interval de timp, staia
de emisie o va trece pe aceasta ntr-un grup cruia i transmite unitar i i anuleaz dreptul la o inte-
rogare individual. Cnd un astfel de grup este interogat, oricare dintre staii poate rspunde, toate
intrnd n competiie pentru serviciul cerut. n acest fel, staiile cu un trafic mic nu consum inutil
interogrile staiei de emisie.
n cele din urm, serviciul fr garanie este valabil pentru toate celelalte cazuri. n acest caz nu
exist interogri, iar abonaii trebuie s intre n competiie direct pentru servicii. Cererile de band
de transfer sunt fcute n acele cuante de timp marcate ca fiind libere n cadrele primite n zona de
transmisie pentru conectri. Dac o cerere a fost satisfcut, aceasta va fi notat n cadrul urmtor,
n zona de mapare a recepionrilor. Abonatul va trebui s rencerce conectarea n caz c cererea nu
a fost satisfcut. Pentru a minimaliza coliziunile este folosit algoritmul de regresie exponenial de
la Ethernet.
Standardul definete dou forme de alocare a benzii de transfer: pentru staie i pentru conexiu-
ne. n primul caz, spre exemplu, abonatul face cerere de band de transfer n numele tuturor utiliza-
torilor dintr-o cldire. Cnd banda de transfer i este acordat, abonatul va acorda o parte din aceas-
ta fiecrui utilizator, n funcie de cererile primite de el apriori. n forma a doua de alocare a benzii
de transfer (pentru fiecare conexiune), staia de emisie se ocup de fiecare conexiune n mod direct.
278 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


4.5.5 Structura cadrului 802.16
Toate cadrele MAC ncep cu un antet generic. Antetul este urmat, opional, de datele utile i tot
opional de o sum de control (CRC), aa cum este ilustrat n fig. 4-34. Prezena informaiei utile nu
este necesar n cadrele de control, cum sunt de exemplu cadrele pentru alocarea canalelor. Suma
de control este i ea opional datorit existenei coreciei de erori la nivelul fizic i datorit faptului
c nu se ncearc niciodat retransmiterea cadrelor de timp real. Dac nu se folosete retransmisia,
de ce s ne complicm cu o sum de control?

Fig. 4-34. (a)Cadru generic. (b)Cadru de cererea a benzii de transmisie.

Urmeaz o scurt descriere asupra cmpurilor din fig. 4-34(a). Bitul EC arat dac informaia
util este sau nu criptat. Cmpul Tip identific tipul cadrului i, n esen, informeaz dac este pre-
zent mpachetarea sau fragmentarea. Cmpul CI indic absena sau prezena sumei de control. n
cmpul EK se menioneaz care dintre cheile de criptare este folosit. Cmpul Lungime ofer in-
formaii despre lungimea complet a cadrului, incluznd i antetul. Identificatorul de conectare ara-
t crei conexiuni aparine acest cadru. n cele din urm, cmpul CRC pentru antet reprezint o
sum de control aplicat doar antetului, folosind polinomul x
8
+x
2
+x+1.
Al doilea tip de antet, cel din fig. 4-34(b), este folosit pentru cererile de band de transfer. El ncepe
cu primul bit de valoare 1, n loc de 0, i este similar cu cadrul generic, cu excepia faptului c al doilea
i al treilea octet formeaz un numr de 16 bii, care precizeaz mrimea benzii de transfer necesar.
Cadrele de cerere de band de transfer nu poart nici o informaie util i nici un cmp CRC.
Ar mai fi multe de spus despre 802.16, ns nu mai este loc pentru aceasta. Prin urmare, pentru
mai multe informaii, v rugm s consultai standardul.


4.6 BLUETOOTH
n 1994, compania L. M. Ericsson a nceput s fie interesat n a conecta telefoanele mobile pe
care le producea cu alte dispozitive (de exemplu, PDA) fr a folosi cabluri. mpreun cu alte patru
companii (IBM, Intel, Nokia i Toshiba) a creat un SIG (Special Interest Group, rom: grup special
de interes sau consoriu) pentru a dezvolta un standard de comunicaie fr fir pentru interconecta-
rea dispozitivelor de calcul i comunicare i a accesoriilor folosind frecvene radio pe distane scurte
care beneficiaz de avantajul de a fi o tehnologie ieftin i fr un consum mare de putere. Proiectul
SEC. 4.6 BLUETOOTH 279

a fost numit Bluetooth dup numele regelui viking Harald Blaatand (Bluetooth), ce a unificat (cu-
cerit) Danemarca i Norvegia, desigur tot fr cabluri.
Dei ideea iniial era doar aceea de a scpa de cablurile dintre dispozitive, ncetul cu ncetul
standardul s-a dezvoltat i a intrat n scurt timp n aria reelelor locale fr fir. Pe de o parte, aceast
schimbare are avantajul de a face standardul mai util, dar pe de alt parte se creeaz o competiie cu
802.11. Mai mult dect att, cele dou sisteme interfereaz electric ntre ele. Este bine de menionat
ca Hewlett-Packard a introdus o reea infrarou pentru conectarea fr fire a perifericelor n urm
cu civa ani, dar nu a ajuns foarte departe cu aceasta.
Fr a fi descurajat de acest fapt, n iulie 1999, SIG Bluetooth a publicat specificaia 1.0, avnd
aproximativ 1500 de pagini. La scurt timp, grupul de standardizare IEEE a preluat standardul
Bluetooth n aria sa de standarde pentru reele personale fr fir i a nceput s l ajusteze. Dei pare
ciudat s se ncerce s se standardizeze ceva ce a fost deja foarte bine detaliat n specificaii i pentru
care nu exist nici o incompatibilitate care s aib nevoie de armonizare, istoria arat c redactarea
unui standard de ctre o entitate neutr, aa cum este IEEE, a dus de cele mai multe ori la promo-
varea tehnologiei respective. Pentru a fi mai exaci, trebuie menionat c specificaia Bluetooth este
elaborat pentru ntregul sistem, de la nivelul fizic i pn la nivelul aplicaie. Comitetul 802.15 stan-
dardizeaz numai nivelul fizic i nivelul de legtur de date, restul stivei de protocoale nefiind n
afara ateniei sale.
Chiar dac IEEE a aprobat n 2002 primul standard pentru reele personale 802.15.1, SIG Blue-
tooth este nc foarte activ la mbuntirea standardului. n ciuda faptului c versiunile emise de
SIG Bluetooth i IEEE nu sunt identice, se sper c n curnd cele dou vor converge spre un stan-
dard comun.
4.6.1 Arhitectura Bluetooth
Haidei s ncepem studiul nostru asupra sistemului Bluetooth cu o scurt prezentare de ansam-
blu asupra a ceea ce conine i ce este proiectat s fac. Unitatea de baz a unui sistem Bluetooth
este un piconet (pico reea) format dintr-un nod stpn (master) i pn la 7 noduri sclav (slave),
toate ntr-o regiune cu diametrul maxim de 10 metri. Mai multe piconet-uri pot exista n aceeai n-
cpere i chiar pot fi conectate printr-un nod de trecere, aa cum arat fig. 4-35. O colecie interco-
nectat de piconet-uri este denumit scatternet (reea dispersat).
n afara celor apte noduri sclav active dintr-un piconet, n reea pot exista pn la 255 de noduri
n modul parcat. Acestea sunt dispozitive pe care stpnul le-a trecut n modul de consum redus,
economisind astfel consumul de putere de la baterii. n modul parcat, un dispozitiv nu poate face
altceva dect s rspund la semnalele temporare ale stpnului sau la cele de activare. De aseme-
nea, exist nc dou stri intermediare: ateptare i ascultare (eng. sniff), ns ele nu vor fi discu-
tate n aceast parte.
Motivul pentru care s-a ales arhitectura stapn/sclav este acela c designerii au intenionat s fa-
ciliteze o implementare complet a cipurilor Bluetooth sub 5$. Consecina acestei decizii este aceea
c sclavii sunt destul de limitai, i, n esen, ei fac doar ceea ce le spune stpnul s fac. Ca princi-
piu de baz, un piconet este un sistem TDM centralizat, n care stpnul controleaz ceasul i de-
termin care dispozitiv primete dreptul de a comunica i pentru ce perioad de timp. Toate comu-
nicaiile sunt ntre stpn i sclav; nu pot exista comunicaii directe sclav-sclav.

280 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Fig. 4-35. Doua piconet-uri pot fi conectate s formeze o reea dispersat (scatternet).

4.6.2 Aplicaii Bluetooth
Majoritatea protocoalelor de reea ofer doar canale ntre entitile comunicante i las designe-
rii de aplicaii s decid n ce mod vor s le foloseasc. Spre exemplu, 802.11 nu specific dac utili-
zatorii ar trebui s foloseasc notebook-urile personale pentru a-i citi emailul, pentru a naviga pe
internet, sau orice altceva. Spre deosebire de acestea, specificaia Bluetooth V1.1 definete 13 aplica-
ii specifice care sunt suportate i ofer stive diferite de protocoale pentru fiecare dintre ele. Din
pcate, aceast abordare este destul de complex i de aceea n aceast carte vom ncerca s simplifi-
cm anumite aspecte. Cele 13 aplicaii, denumite profiluri, sunt enumerate n fig. 4-36. Uitndu-ne
sumar la ele, putem s determinm mult mai uor care sunt inteniile SIG Bluetooth.

Denumire Descriere
Acces generic Proceduri pentru ntreinerea legturii
Descoperire de servicii Protocol de descoperire a serviciilor oferite
Port serial nlocuitor pentru cablul de port serial
Intershimbare generic a obiectelor Definete relaia client-server pentru vehicularea de obiecte
Acces la reeaua local Protocol ntre un calculator mobil i o reea fix
Reea pe linie telefonic Ofer posibilitatea ca un notebook s se apeleze folosind un te-
lefon mobil
Fax Permite unui fax mobil s comunice cu un telefon mobil
Telefonie fr fir Conecteaz un set de cti de staia sa local de emisie
Emitator-Receptor portabil (Intercom) Radio-telefon portabil digital
Cti de telefon cu transmitor Permite transmisii de voce hands-free (fr folosirea minilor)
Trimitere a obiectelor Ofer o modalitate de schimbare a obiectelor simple
Transfer de fiiere Ofer o facilitate mai general de transfer de fiiere
Sincronizare Ofer posibilitatea unui PDA s se sincronizeze cu un calculator

Fig. 4-36. Profiluri Bluetooth.

Profilul de acces generic nu este o aplicaie n sine, ci este mai degrab o baz pe care se pot
construi aplicaiile reale. Principala sa atribuie este s ofere posibilitatea de a crea i a menine
SEC. 4.6 BLUETOOTH 281

conexiuni (canale) sigure ntre stpn i sclav. De asemenea, profilul de descoperire a serviciilor
este relativ generic. El este folosit de dispozitive pentru a descoperi ce servicii sunt oferite de ctre
alte staii din reea. Toate dispozitivele Bluetooth trebuie s implementeze aceste dou profiluri.
Celelalte rmn opionale.
Profilul de port serial este un protocol de transport care este folosit de majoritatea celorlalte pro-
filuri. Acesta emuleaz o linie serial i este foarte util n special pentru aplicaiile mai vechi care
necesit o astfel de facilitate.
Profilul de interschimbare generic a obiectelor definete o relaie client-server pentru transmisia
de date. Clienii iniiaz operaii, ns un sclav poate fi sau client sau server. Ca i profilul de port
serial, este un punct de pornire pentru celelalte profiluri.
Urmtorul grup de trei profiluri este pentru lucrul n reea. Profilul de acces la reeaua local
permite unui dispozitiv Bluetooth s se conecteze la o reea specificat. Acest profil este un competi-
tor direct cu 802.11. Profilul de dial-up de reea a fost motivaia iniial a ntregului proiect. El per-
mite ca un notebook s se conecteze fr fire la un telefon mobil ce conine un modem intern. Profi-
lul de fax este similar cu cel de dial-up de reea, cu diferena c permite ca un fax neconectat la re-
eaua de telefonie s trimit i s primeasc faxuri folosind telefoane mobile, fr existena unui fir
ntre cele dou.
Urmtoarele trei profiluri sunt pentru telefonie. Profilul de telefonie fr fir ofer o modalitate
de a conecta un set de cti fr fir la staia de telefon. Momentan, majoritatea telefoanelor fr fir
nu pot fi folosite i ca telefoane mobile, dar n viitor, este posibil ca telefoanele mobile i cele fr fir
s devin unul i acelai lucru. Profilul Emitor-Receptor portabil (intercom) permite ca dou tele-
foane s fie interconectate ca radiotelefoane portabile (walkie-talkie). n sfrit, profilul pentru cti
ofer comunicaii de voce ntre cti cu transmitor i staia de baz a telefonului, spre exemplu,
pentru comunicaii fr intervenie manual (hands-free) n timpul condusului mainii.
Ultimele trei profiluri sunt folosite pentru schimburi de obiecte ntre dou dispozitive fr fir.
Acestea ar putea fi cri de vizit, poze sau fiiere cu date. n particular, profilul de sincronizare este
adresat ncrcrii de date pe un PDA sau notebook cnd prsete locuina i colectarea de date de
la acesta la revenire.
Era oare cu adevrat necesar s fie menionate toate aceste aplicaii n detaliu i s fie create di-
ferite stive de protocoale pentru fiecare dintre ele? Poate c nu era necesar, ns au existat diferite
grupuri de lucru care au divizat standardul n pri mai mici i fiecare dintre ele i-a concentrat efor-
turile spre rezolvarea unei probleme specifice i a creat propriul profil. Gndii-v la aceasta ca la o
aplicaie pentru legea lui Conway (n aprilie 1968, n revista Datamation, Melvin Conway observa c
atunci cnd propui la n persoane s scrie un compilator, primeti ca soluie un compilator cu n-
treceri de compilare, sau i mai general, structura software oglindete structura grupului care l-a
produs). Era deci posibil s fie finalizate doar dou stive de protocoale n loc de treisprezece, unul
pentru transferul de fiiere i unul pentru fluidizarea comunicaiilor real-time.
4.6.3 Stiva de protocoale Bluetooth
Standardul Bluetooth conine mai multe protocoale grupate n niveluri. Structura nivelurilor nu
respect modelul OSI, modelul TCP/IP, modelul 802 sau oricare alt model existent. Totui, IEEE
lucreaz la modificarea acestuia astfel nct s urmeze ct mai bine tiparul 802. Arhitectura de baz
a protocolului Bluetooth, aa cum a fost modificat de comitetul 802, este prezentat n fig. 4-37.

282 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Fig. 4-37. Versiunea 802.15 a arhitecturii protocolului Bluetooth.

Nivelul de baz este reprezentat de nivelul fizic radio, care corespunde destul de bine nivelului fi-
zic din modelele OSI i 802. El se ocup cu transmisia radio i modularea semnalului. Atenia, n
cadrul acestui nivel, s-a focalizat pe modelarea unui sistem ieftin astfel nct acesta s devin rapid
un produs de larg consum. Nivelul band de baz este ntructva analog cu subnivelul MAC, ns
include elemente de nivel fizic. El se ocup de modul n care stpnul controleaz unitile de timp
i cum acestea sunt grupate n cadre.
Apoi urmeaz un nivel cuprinznd un grup de protocoale relativ asemntoare. Gestionarul leg-
turii se ocup cu stabilirea de canale logice ntre dispozitive, incluznd consumul de putere, autentifi-
carea i calitatea serviciilor. Protocol adaptiv pentru controlul legturii logice (adesea numit L2CAP
Logical Link Control Adaptation Protocol, rom: protocol de adaptare a controlului legturii logice)
ofer o interfa nivelurilor superioare prin ascunderea detaliilor de transmisie. El este analog cu
subnivelul LLC din standardul 802, ns, din punct de vedere tehnic, este diferit de acesta. Aa cum
sugereaz i numele, protocolul de control i cel audio se ocup de control i respectiv, de partea au-
dio. Aplicaiile pot apela direct la acesta fr a avea nevoie de intermedierea protocolului L2CAP.
Nivelul urmtor este nivelul de mijloc i acesta conine o mbinare de protocoale diferite. Nive-
lul LLC 802 a fost inserat aici de ctre IEEE pentru compatibilitatea sa cu celelalte reelele 802.
Protocoalele RFcomm, de telefonie i serviciul de descoperire sunt native. RFcomm (Radio
Frequency communication, rom: comunicare pe frecvene radio) este protocolul care emuleaz
portul serial standard pe care l gsim la orice PC obinuit, pentru interconectarea de tastatur,
mouse i modem, precum i pentru alte dispozitive. El a fost dezvoltat pentru a permite dispozitive-
lor perimate s l foloseasc n continuare cu uurin. Protocolul de telefonie este un protocol de
timp real folosit pentru profilurile orientate pe 3 legturi. El se ocup i de stabilirea i de termina-
rea conexiunii. n cele din urm, protocolul de descoperire a serviciilor este folosit pentru gsirea
serviciilor din reea.
Nivelul cel mai nalt este cel n care sunt localizate aplicaiile i profilurile. Ele se folosesc de pro-
tocoalele din nivelurile inferioare pentru a i realiza sarcinile. Fiecare aplicaie are un subset propriu
dintre aceste protocoale. Dispozitivele specifice, cum sunt ctile, conin exclusiv acele protocoale
necesare aplicaiei. n seciunile urmtoare vom studia cele mai de jos trei niveluri din stiva de pro-
tocoale Bluetooth, deoarece acestea corespund n oarecare msur cu subnivelurile fizic i MAC.
4.6.4 Nivelul Bluetooth radio
Nivelul radio transmite biii de la stpn la sclav sau vice-versa. Este un sistem de putere mic cu
o raz de acoperire de 10 metri, n banda de 2.4 GHz ISM. Banda este divizat n 79 de canale de 1
SEC. 4.6 BLUETOOTH 283

MHz fiecare. Modularea se face prin deplasarea n frecven a cheilor, cu un bit pe Hz, realiznd n
total o rat de transfer de date de 1 Mbps, ns o mare parte din aceasta este consumat de supran-
crcare. Pentru a aloca rezonabil canalele, se folosete metoda FHSS (salturi de frecven ntr-un
spectru larg) cu 1600 salturi/sec i cu intervalul de timp de 62 s. Toate nodurile dintr-un piconet
ruleaz simultan, stpnul dictnd secvena de rulare.
Deoarece i 802.11 i Bluetooth opereaz n banda ISM de 2.4 GHz, pe aceleai 79 de canale, ele
interfereaz unul cu celalalt. ntruct rata de eantionare a timpului Bluetooth este mult mai mare
dect la 802.11, este mult mai probabil ca un dispozitiv Bluetooth s ntrerup transmisia unui 802.11
dect invers. Dat fiind faptul c 802.11 i 802.15 sunt amndou standarde IEEE, organizaia caut o
soluie la aceast problem, dar nu este deloc simplu tiind c ambele sisteme folosesc banda ISM
din acelai motiv: aceasta nu are nevoie de o licen de utilizare. Standardul 802.11a folosete cealal-
t lungime de band ISM (5 GHz), ns are o raz mult mai scurt dect cea a lui 802.11b (datorit
fenomenelor fizice legate de undele radio), aadar folosirea 802.11a nu este o soluie foarte bun n
toate cazurile. Cteva companii au rezolvat problema dnd vina pe Bluetooth. O soluie de marke-
ting ar fi ca reeaua cu mai mult putere (politic i economic, nu electric) s cear prii mai slabe
s i modifice standardul, pentru a nu mai interfera cu ea. Cteva idei n legtur cu aceast pro-
blem sunt oferite n (Lansford et. co., 2001).
4.6.5 Nivelul band de baz Bluetooth
Nivelul band de baz este cea mai apropiat legtur pe care Bluetooth o are cu subnivelul
MAC. Acesta transform o secvena de bii ntr-un cadru i definete cteva formate de baz. n
forma cea mai simpl, stpnul din fiecare piconet definete o serie de cuante de timp de 625 s;
transmisia stpnului se desfoar n cuantele de timp pare, iar transmisia sclavilor n intervalele de
timp impare. Aceasta este metoda tradiional de diviziune multiplexat a timpului, cu stpnul pre-
lund jumtate din perioadele de timp i sclavii mprind cealalt jumtate. Cadrele pot ocupa 1, 3
sau 5 cuante de timp.
n schema de alimentare sunt preconizate 250-260 s pentru fiecare salt, pentru a putea permite
stabilizarea circuitelor radio. Setri mai rapide dect att sunt posibile numai la un cost mai ridicat.
Pentru un singur cadru, dup calibrare, 366 din cei 625 de bii sunt pierdui. Din acetia, 126 sunt folo-
sii la codul de acces i la antet, lsnd ceilali 240 de bii pentru date. Cnd cadrele ocup cinci cuante
de timp, este necesar o singur perioad de stabilizare a circuitelor, aa c din 5 x 625 = 3125 de bii
n cinci intervale de timp, 2781 sunt disponibili pentru nivelul band de baz. n concluzie, cadrele mai
lungi sunt mult mai eficiente dect cele scurte, formate pe o singur cuant de timp.
Fiecare cadru este transmis pe un canal logic, numit legtur (link), ntre stpn i sclav. Exist
dou tipuri de legturi. Primul tip este denumit legtur ACL (Asynchronous Connection-Less, rom:
Asincron fr conexiune) i este utilizat pentru comutarea de pachete de date ce sunt disponibile la
intervale neregulate de timp. Aceste date sunt primite de la nivelul L2CAP la transmitor i sunt
emise ctre nivelul L2CAP de la receptor. Traficul ACL este realizat n metoda cea mai bun n-
cercare (best-effort). Nu sunt oferite nici un fel de garanii. Cadrele pot fi pierdute i atunci este
necesar retransmiterea lor. Un sclav poate avea cel mult o legtur ACL la stpnul su.
Cellalt tip este denumit legtur SCO (Synchronous Connection Oriented, rom: sincron orien-
tat pe conexiune), fiind folosit pentru date reale, cum sunt transmisiile telefonice. Acestui tip de ca-
nal i este alocat un numr fix de cuante de transmisie n fiecare direcie. Datorit naturii critice a
legturilor SCO, cadrele trimise pe aceste legturi nu sunt niciodat retransmise. n schimb, pot fi
284 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


folosite mecanisme de corecie n avans a erorilor pentru a avea un grad mai mare de ncredere. Un
sclav poate avea pn la trei legturi SCO ctre stpnul su. Fiecare legtur SCO poate transmite
64.000 bps PCM pe canal audio.
4.6.6 Nivelul L2CAP Bluetooth
Nivelul L2CAP are trei funcii majore. Prima funcie este aceea de a accepta pachete pn la 64
KB de la nivelurile superioare i de a le sparge n cadre pentru transmisie. La sfrit, cadrele sunt
reasamblate n pachete.
A doua funcie este de a multiplexa i demultiplexa pachete provenite de la diverse surse. Cnd
un pachet a fost reasamblat, nivelul L2CAP determin crui protocol superior i este adresat, spre
exemplu RFcomm sau telefonic.
A treia funcie este aceea de a garanta calitatea serviciilor cerute, att n timpul realizrii conexi-
unii ct i n timpul operaiilor obinuite. De asemenea, la configurare este negociat i maximul de
informaie util permis, pentru a preveni situaia n care un dispozitiv ce genereaz pachete mari
suprasolicit un dispozitiv care folosete pachete mai mici. Aceast funcie este necesar deoarece
nu toate dispozitivele pot utiliza pachete de 64 KB.
4.6.7 Structura cadrului Bluetooth
Exist mai multe tipuri de cadre, cel mai important este reprezentat n fig. 4-38. El ncepe cu un
cod de acces care identific de obicei stpnul; astfel, dac un sclav se afl n raza radio a doi stpni,
va putea s tie crui stpn se adreseaz. Urmtorul cmp este un antet de 54 de bii, incluznd
cmpurile tipice ale subnivelului MAC. Apoi urmeaz cmpul de date, de maxim 2744 de bii (pen-
tru o transmisie de 5 intervale de timp). Pentru o singur unitate de timp formatul este acelai, cu
excepia faptului c avem un cmp de date de 240 de bii.
Fig. 4-38. Cadru de date Bluetooth tipic.

S aruncm acum o scurt privire peste antet. Dintre cele opt dispozitive active, cmpul adres l
identific pe acela pentru care este destinat cadrul. Cmpul tip identific tipul cadrului (ACL, SCO,
interogare sau vid), tipul de corecie a erorii ce va fi folosit n cmpul de date i lungimea cadrului.
Bitul de revrsare (flow) este folosit de ctre un sclav cnd memoria sa tampon este plin i, prin
urmare, nu mai poate primi date. Bitul de confirmare pozitiv este folosit pentru a valida un cadru
recepionat corect. Bitul de secven este folosit pentru a numerota cadrele i este utilizat la retran-
smisii. Protocolul este de tipul pas-cu-pas, aa c un singur bit este suficient. Apoi urmeaz un cmp
SEC. 4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 285

de sum de control de 8 bii. Tot antetul de 18 bii este repetat de trei ori pentru a forma antetul de
54 de bii din fig. 4-38. La receptor, un circuit simplu examineaz cele trei copii ale fiecrui bit. Dac
toate sunt identice, bitul este acceptat. Dac nu sunt identice, majoritatea va decide. Aadar 54 de
bii din totalul de bii transmisibili sunt folosii pentru a propaga antetul de 10 bii. Pentru c se do-
rete obinerea unei transmisii de date de ncredere ntr-un mediu plin de interferene, utiliznd un
dispozitiv ieftin, cu consum sczut (2.5 mW) i cu capacitate redus de calcul, se impune un nivel
mare de redundan n date.
Pentru cmpul de date din cadrele ACL sunt folosite mai multe forme. Totui cadrele SCO sunt
foarte simple: cmpul de date este mereu de 240 de bii. Trei variante sunt definite permind o in-
formaie util de 80, 160 i 240 de bii, restul fiind utilizat pentru corecia de erori. n varianta cea
mai de ncredere (80 bii de informaie util), coninutul este repetat de trei ori, la fel ca i antetul.
Deoarece un sclav nu poate folosi dect cuantele de timp impare, el primete 800 intervale de
timp/sec, la fel ca i stpnul. Cu o informaie util de 80 de bii, capacitatea canalului de la sclav este
64000 bps, iar capacitatea canalului de la stpn este tot de 64000 bps, suficient pentru un singur
canal de voce PCM duplex-integral (acesta este motivul pentru care a fost aleas o rat a salturilor
de 1600 salturi/sec). Aceste date arat c un canal duplex-integral de voce cu 64.000 bps n ambele
direcii, folosind cel mai de ncredere format satureaz complet un piconet, n ciuda unei benzi de
transfer de 1 Mbps. Pentru varianta cu o ncredere foarte mic (240 bii/interval de timp, fr redun-
dan la acest nivel), trei canale duplex-integral sunt suportate simultan, acesta fiind motivul pentru
care un numr maxim de trei legturi SCO sunt permise la un sclav.
Sunt multe lucruri de adugat despre Bluetooth, ns din pcate nu avem un spaiu suficient aici.
Pentru informaii suplimentare, v recomandm (Bhagwat, 2001; Bisdikian, 2001; Bray i Sturman,
2002; Haartsen, 2000; Johansson i colab, 2001; Miller i Bisdikian, 2001; Sairam i colab., 2002).


4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE
Multe organizaii au mai multe LAN-uri i doresc s le conecteze. LAN-urile pot fi conectate
prin dispozitive numite puni (bridges), care opereaz la nivelul legturii de date. Punile examinea-
z adresele de la nivelul legturii de date pentru a face rutarea. ntruct ele nu trebuie sa examineze
cmpurile cu informaie util ale cadrelor pe care le ruteaz, ele pot transporta pachete IPv4 (utiliza-
te acum n Internet), IPv6 (vor fi utilizate n Internet n viitor), AppleTalk, ATM, OSI, sau orice alt
fel de pachete. Spre deosebire de puni, ruterele examineaz adresele din pachete i fac rutarea pe
baza acestora. Dei aceasta pare o departajare clar ntre puni i rutere, cteva mbuntiri de ul-
tim ora, precum apariia Ethernetului comutat, au complicat i mai mult lucrurile, cum vom vedea
mai trziu. n capitolele care urmeaz ne vom ocupa de puni i comutatoare, n special pentru co-
nectarea diferitelor LAN-uri 802. Pentru o tratare cuprinztoare a punilor, comutatoarelor i a altor
subiecte nrudite, vezi (Perlman,1992).
nainte de a intra n tehnologia punilor, merit s aruncm o privire asupra ctorva situaii obi-
nuite n care acestea sunt folosite. Vom meniona ase motive pentru care o singur organizaie poa-
te ajunge s aib LAN-uri multiple. n primul rnd, multe universiti i departamente ale unor cor-
poraii au propriile lor LAN-uri, n principal pentru a-i conecta calculatoarele personale, staiile de
lucru i serverele. Deoarece scopurile departamentelor difer, departamente diferite vor alege
286 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


LAN-uri diferite, separat de ceea 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 au-
tonomiei 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, conec-
tate prin puni i legturi n infrarou, dect soluia cu ntinderea unui singur cablu coaxial pe n-
treaga suprafa.

Fig. 4-39. 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 spargerea unei entitai care din
punct de vedere logic constituie 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 ne-
cesar este mult prea mare. n schimb sunt folosite LAN-uri multiple conectate prin puni, dup
cum este artat n fig. 4-39. 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 i astfel nu se ncar-
c suplimentar coloana vertebral.
Merit amintit faptul c dei figurm LAN-urile ca avnd acces la un acelai mediu de comunica-
ie ca n fig. 4-39 (abordarea clasic), ele sunt cel mai frecvent implementate cu noduri sau, n zilele
noastre, mai ales cu comutatoare. Oricum, un mediu de transmisie comun cu numeroase maini
conectate la el i un nod care conecteaz maini sunt identice din punct de vedere funcional. n am-
bele cazuri, toate mainile aparin aceluiai domeniu de coliziuni i toate utilizeaz protocolul
CSMA/CD pentru a trimite cadre. Cum am vzut i mai nainte i cum vom vedea din nou n curnd,
LAN-urile comutate sunt diferite.
n al patrulea rnd, exist anumite situaii n care 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 Ethernet). 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
SEC. 4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 287

partiionarea LAN-ului i instalarea de puni ntre segmente. Folosind punile, poate fi mrit dis-
tana 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 insera-
te n puncte critice pentru a preveni ca un singur nod care funcioneaz defectuos s afecteze ntre-
gul sistem. Spre deosebire de un repetor, care doar copiaz ceea ce vede, o punte poate fi programa-
t 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 in-
terfee LAN au un mod transparent de lucru (promiscuous mode), n care toate cadrele sunt transfe-
rate calculatorului, nu numai cele care sunt adresate acestuia. Spionilor i bgreilor le place acest
lucru. Prin inserarea punilor n diferite locuri i prin grija de a nu transmite traficul de date sensibile,
este posibil izolarea unor pri din reea, astfel nct datele s nu ajung n minile cui nu trebuie.
Ideal ar fi ca punile s fie perfect transparente, aceasta nsemnnd c ar fi posibil mutarea unei
maini de pe un segment de cablu pe un altul fr a schimba nimic n hardware, n software, sau n
tabelele de configurare. De asemenea, ar trebui s fie posibil ca o maina de pe oricare segment s
comunice cu maini n oricare alt segment fr a ine seam de tipul LAN-urilor folosite n cele dou
segmente sau n segmentele dintre ele. Acest el este uneori atins, dar nu totdeauna.
4.7.1 Puni de la 802.x la 802.y
Dup ce am vzut de ce sunt necesare punile, s ne ntoarcem la felul n care funcioneaz acestea.
Fig. 4-40 ilustreaz funcionarea unei puni simple, dublu-port. Gazda A intr-un LAN fr fir (802.11)
are un pachet de trimis ctre gazda fix B ntr-un Ethernet (802.3) la care LAN-ul fr fir este conectat.
Acest pachet coboar la subnivelul LLC i dobndete un antet LLC (figurat cu negru). Apoi trece la
subnivelul MAC i i este ataat un antet 802.11 (ca de altfel i o ncheiere, care nu este figurat).
Aceast structur este transmis apoi prin aer i ajunge n cele din urm la staia de la baz; aceasta
observ c trebuie s trimit structura ntr-un LAN Ethernet. Apoi ajunge la puntea care conecteaz
reeaua 802.11 de reeaua 802.3 la nivelul fizic i i continu drumul spre nivelurile superioare.


Fig. 4-40. Funcionarea unei puni de LAN de la 802.11 la 802.3.
288 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


n subnivelul MAC din punte, antetul 802.11 este ndeprtat. Pachetul simplu (cu antetul LLC)
este predat subnivelului LLC din punte. n acest exemplu, pachetul este destinat unei subreele
802.3 conectat la punte, astfel nct i face drum pe partea 802.3 a punii i pleac mai departe n
Ethernet. 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.
Pn acum, din cte am vzut, transmiterea unui pachet de la un LAN la altul pare simpl, nsa
nu este cazul. n aceast seciune vom scoate n eviden cteva din dificultile ntlnite atunci cnd
se ncearc construirea unei puni ntre LAN-uri 802 diferite (i MAN-uri). Ne vom concentra aten-
ia asupra 802.3, 802.11 i 802.16, dar mai sunt i altele cu seturile lor unice de probleme.
Pentru nceput, fiecare dintre LAN-uri folosete un format de cadru diferit (vezi fig. 4-41). Fa
de diferenele dintre Ethernet, token bus i token ring, care apreau datorita egourilor marilor cor-
poraii i din cauza motivelor istorice, n acest caz, diferenele sunt bine argumentate. De exemplu,
cmpul Durat la 802.11 este acolo datorit protocolului MACAW i nu are nici un sens n
Ethernet. Prin urmare, orice transfer ntre LAN-uri diferite cere reformatare, ceea ce consum timp
de procesor, necesit o nou calculare a sumei de control i introduce posibilitatea erorilor nedetec-
tate datorat biilor eronai n memoria punii.
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. De exemplu, dac un gigabit
Ethernet vars bii ntr-un 11-Mb 802.11b LAN la vitez maxim, puntea va trebui s memoreze
traficul, n sperana ca va avea memorie suficienta. 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 chiar dac toate LAN-urile au aceeai vitez.

Fig. 4-41. Formatele cadrelor IEEE 802. Desenul nu este la scar.

O a treia, i potenial cea mai serioas problem dintre toate, este c diferite LAN-uri 802 au o lun-
gime maxim de cadru diferit. O problem evident apare atunci cnd un cadru lung trebuie transmis
unui LAN care nu l poate accepta. La acest nivel, mprirea cadrului iese din discuie. Toate protocoa-
lele presupun recepionarea total sau deloc a cadrelor. Nu exist posibilitatea de reasamblare a cadre-
lor din uniti mai mici. Aceasta nu nseamn c asemenea protocoale nu ar putea fi inventate. Ele pot fi
i au fost. Doar c nici un protocol legtur de date nu are aceast caracteristic, aa c punile nu trebu-
ie s se ating de informaia util din cadru. Fundamental, nu exist nici o soluie. Cadrele care sunt prea
lungi pentru a fi transmise trebuie eliminate. Cam att n ceea ce privete transparena.
Un alt punct este securitatea. 802.11 i 802.16 suport criptarea la nivelul legturii de date.
Ethernet nu suport. Aceasta nseamn c diversele servicii de criptare disponibile la reelele fr fir
sunt pierdute cnd traficul trece printr-o reea Ethernet. nc i mai ru, dac o staie fr fir utili-
SEC. 4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 289

zeaz criptare la nivelul legturii de date, nu exist nici o modalitate de a decripta datele cnd ajung
n Ethernet. Dac o staie fr fir nu utilizeaz criptarea, traficul acesteia este expus de-a lungul leg-
turii prin aer. n ambele situaii exist o problem.
O soluie la problema securitii ar fi criptarea la un nivel superior, dar n acest fel o staie 802.11
trebuie s afle dac vorbete cu o alt staie ntr-o reea 802.11 (nsemnnd c folosete criptare la
nivelul legturii de date) sau nu (nsemnnd c nu folosete). Forarea unei staii s fac o alegere
distruge transparena.
Punctul final este calitatea serviciilor. Att 802.11 ct i 802.16 o ofer n forme diverse, primul
folosind modul PCF i ultimul folosind conexiuni cu rat de transfer constant. Ethernet-ul nu ofer
nimic n acest sens, aa c traficul de la oricare dintre ceilali va pierde din calitate atunci cnd trece
printr-o reea Ethernet.
4.7.2 Interconectarea local a reelelor
Capitolul anterior s-a ocupat de problemele ntmpinate la conectarea printr-o singur punte a
dou LAN-uri IEEE 802 diferite. Oricum, n organizaiile mari cu multe LAN-uri, numai simpla
interconectare a acestora ridic mai multe probleme, chiar i dac toate LAN-urile sunt Ethernet.
Ideal, ar trebui s fie posibil s te duci i s cumperi puni proiectate dup standardul IEEE, s le
conectezi i totul s funcioneze perfect, instantaneu. Nu ar trebui s fie nevoie de modificri de har-
dware, de modificri de software, de setarea adreselor, de ncrcarea tabelelor sau parametrilor, de
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. Cu alte cuvinte punile ar trebui s fie
complet transparente (invizibile pentru hardware i software). Destul de surprinztor, chiar au reu-
it. Haidei s vedem cum se realizeaz aceast magie.
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-42. Puntea B1 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 B1 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.

Fig. 4-42. O configuraie cu patru LAN-uri i dou puni.

La sosirea unui cadru, o punte trebuie s decid dac s l elimine sau s l transmit mai departe,
iar dac l transmite, ctre ce LAN s l trimit. Aceast decizie este luat cutnd adresa destinaiei
ntr-o tabel de dispersie meninut n interiorul punii. Tabelul poate s includ fiecare destinaie
posibil i crei linii de ieire (de fapt, crui 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 ctre care LAN s trimit
cadrele destinate lui A. Nu prezint interes faptul c ulterior vor avea loc mai multe transmisii.
290 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


La prima conectare a punilor, toate tabelele de dispersie sunt vide. Nici una dintre puni nu tie
unde se afl destinaiile, astfel nct toate folosesc algoritmul de inundare: orice cadru care vine pen-
tru o destinaie necunoscut este trimis ctre toate LAN-urile la care este conectat puntea, cu ex-
cepia celui din 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 se numete nvare regresiv (backward learning). Du-
p cum a fost menionat anterior, punile lucreaz n mod transparent (promiscuous), astfel nct
toate vd fiecare cadru trimis pe oricare dintre LAN-urile lor. Uitndu-se la adresa sursei, ele pot
afla care calculator este accesibil pe care LAN. De exemplu, dac puntea B1 din fig. 4-38 vede un
cadru din LAN 2 venind de la C, tie c staia C trebuie s fie accesibil prin LAN 2 i creeaz o in-
trare 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 din LAN 1 va fi transmis mai departe, pe cnd
un cadru pentru C venit din LAN 2 va fi abandonat.
Topologia se poate schimba dup cum calculatoarele i punile sunt n funciune sau nu, sau mu-
tate de colo-colo. Pentru a trata topologii dinamice, de cte ori se creeaz o intrare n tabela de dis-
persie, 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 rein-
stalat n alt parte, n cteva minute va reveni la funcionarea normal, fr vreo intervenie manua-
l. 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.
Procedura de dirijare pentru un cadru sosit depinde de LAN-ul din 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.
4.7.3 Puni cu arbore de acoperire
Pentru a mri sigurana, unele locaii folosesc dou sau mai multe puni n paralel ntre perechi
de LAN-uri, aa cum este artat n fig. 4-43. Totui, acest aranjament introduce i unele probleme
suplimentare, ntruct creeaz bucle n topologie.
Un simplu exemplu al acestor probleme poate fi vzut n fig. 4-43, observnd modul n care este
tratat cadrul 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 F1 pe
LAN1 genernd F4 (care nu este artat). Acum puntea 1 trimite F4 i puntea 2 copiaz F3. Acest
ciclu se continu la nesfrit.
SEC. 4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 291


Fig. 4-43. Dou puni transparente paralele.

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 topo-
logii fictive fr bucle, sunt ignorate cteva conexiuni posibile ntre LAN-uri. De exemplu, n fig. 4-
44(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.
Graful poate fi redus la un arbore de acoperire renunnd la arcurile figurate ca linii punctate n
fig. 4-44(b). Folosind acest arbore de acoperire, exist un singur 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 care va repre-
zenta 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 seri-
al devine rdcin. Apoi se construiete un arbore de drumuri minime de la rdcin la fiecare pun-
te i LAN. Acest arbore este un arbore de acoperire. Dac o punte sau un LAN cade, trebuie calcu-
lat un nou arbore de acoperire.


Fig. 4-44. (a) LAN-uri interconectate. (b) Arbore de acoperire pentru
LAN-uri. Liniile punctate nu fac parte din arborele de acoperire.
292 SUBNIVELUL DE ACCES LA MEDIU CAP. 4



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 pre-
zente n arbore (pentru a evita buclele). Dup ce a fost stabilit arborele de acoperire, algoritmul con-
tinu 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). Acesta este standardizat n IEEE 802.1D.
4.7.4 Puni aflate la distan
Punile sunt de cele mai multe ori 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.
Acest el poate fi atins punnd cte o punte fiecrui LAN i conectnd punile n perechi cu linii
punct-la-punct (de exemplu linii nchiriate de la o companie de telefoane). Un sistem simplu, cu trei
LAN-uri, este prezentat n fig. 4-45. Aici se aplic algoritmul de dirijare obinuit. Cel mai simplu este
s se priveasc cele trei linii punct-la-punct ca LAN-uri fr gazde. 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 pro-
tocol de legtur de date punct-la-punct standard, cum ar fi PPP, punnd cadre MAC 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 elimina-
rea antetului i a ncheierii cadrelor MAC la puntea surs, punnd ceea ce a mai 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.

Fig. 4-45. Puni aflate la distan folosite pentru a interconecta LAN-uri ndeprtate.
4.7.5 Repetoare, Noduri, Puni, Comutatoare, Rutere i Pori
Pn acum n aceasta carte am vzut a mulime de feluri de a transfera cadre i pachete de pe un
segment de cablu pe altul. Am amintit de repetoare, noduri, puni, comutatoare, rutere i pori. Toa-
SEC. 4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 293

te aceste dispozitive sunt utilizate n mod curent, dar ele difer mai mult sau mai puin unul de altul.
Deoarece sunt att de multe, merit sa le analizm mpreun pentru a vedea asemnrile i diferen-
ele dintre ele.
Pentru nceput, aceste dispozitive opereaz la niveluri diferite, cum este ilustrat n fig. 4-46(a).
Nivelul conteaz pentru c diferitele dispozitivele folosesc segmente diverse din informaie pentru a
decide cum s comute. ntr-un scenariu tipic, utilizatorul creeaz date pentru a fi trimise ctre o ma-
ina aflat la distan. Aceste date sunt trimise nivelului transport, unde li se adaug un antet, de
exemplu un antet TCP, i se transmite rezultatul mai jos ctre nivelul reea. Nivelul reea adaug
propriul antet pentru a forma un pachet pentru nivelul reea, de exemplu un pachet IP. n fig. 4-
46(b) observm pachetul IP colorat in gri. Apoi pachetul ajunge la nivelul legturii de date, care i
adaug propriul antet i suma de control (CRC) i trimite cadrul rezultat ctre nivelul fizic pentru
transmisie, de exemplu intr-un LAN.
Acum s ne uitm la dispozitivele de comutare i s vedem legtura lor cu pachetele i cadrele.
La cel mai de jos nivel, nivelul fizic, se afl repetoarele. Acestea sunt dispozitive analogice ce sunt
conectate intre dou segmente de cablu. Un semnal ce apare pe unul din aceste cabluri este amplifi-
cat i trimis pe cellalt cablu. Repetoarele nu neleg cadrele, pachetele sau antetele. Ele neleg doar
tensiuni electrice. Ethernetul clasic, de exemplu, a fost proiectat sa permit folosirea a patru repe-
toare n scopul de a extinde lungimea maxim a cablului de la 500 de metri la 2500 de metri.

Fig. 4-46. (a) Corespondena dintre niveluri i dispozitive. (b) Cadre, pachete i antete

n continuare ajungem la noduri. Un nod are un numr de linii de intrare pe care le unete din
punct de vedere electric. Cadrele care ajung la nod pe oricare linie sunt trimise afar pe toate cele-
lalte liniile. Dac dou cadre ajung n acelai timp se vor ciocni la fel ca i atunci cnd ar fi transmise
pe un cablul coaxial. Cu alte cuvinte un nod formeaz un singur domeniu de coliziune. Toate liniile
ce intr n nod trebuie s lucreze la aceeai vitez. Nodurile difer de repetoare prin faptul ca (de
obicei) nu amplific semnalele pe care le primesc i sunt proiectate pentru a suporta multe plci de
extensie cu mai multe intrri; totui, diferenele nu sunt semnificative. Ca i repetoarele, nodurile nu
examineaz adresele 802 i nici nu le utilizeaz n vreun fel. Un nod este artat n fig. 4-47(a).
Acum vom aborda nivelul legturii de date, unde gsim punile i comutatoarele. Tocmai am
studiat punile. O punte conecteaz dou sau mai multe LAN-uri aa cum este artat n fig. 4-47(b).
Cnd un cadru ajunge, software-ul din punte extrage adresa destinaie din cadru i caut n tabela sa
vad unde s trimit cadrul. Pentru Ethernet, aceast adres este adresa destinaie de 48 de bii pre-
zentat n fig. 4-17. Asemntor unui nod, o punte moderna are placi de extensie, de obicei pentru
patru sau opt intrri de un anumit tip. O plac de extensie pentru Ethernet nu poate manevra, sa
294 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


zicem, cadre token ring, pentru c nu tie unde s gseasc adresa destinaie n antetul cadrului. Ori-
cum, o punte poate avea placi de extensie pentru diferite tipuri de reele i diferite viteze. Spre deo-
sebire de nod, la punte fiecare linie se afl n propriul domeniu de coliziune.



Fig. 4-47. (a) Un nod. (b) O punte. (c) Un comutator.

Comutatoarele sunt similare cu punile deoarece amndou ruteaz cadre pe baza adreselor. De
fapt, muli oameni folosesc aceste dou denumiri fr a face o distincie clar intre termeni. Princi-
pala diferen este aceea c un comutator este cel mai adesea folosit pentru a conecta calculatoare
individuale, aa cum este artat n fig. 4-47(c). Ca o consecin, cnd gazda A n fig. 4-47(b) dorete
sa trimit un cadru ctre gazda B, puntea primete cadrul dar nu l ia n considerare. Din contr,
dup cum se vede n fig. 4-47(c), comutatorul trebuie sa retransmit cadrul de la A la B deoarece nu
exist alt drum pentru ca acest cadru s ajung. ntruct fiecare port al comutatorului este de obicei
conectat la un singur calculator, comutatorul trebuie s aib loc pentru mai multe placi de extensie
dect punile care trebuie s conecteze numai reele. Fiecare plac de extensie are un spaiu tampon
pentru cadrele recepionate. Deoarece fiecare port se afl n propriul domeniu de coliziune, comuta-
toarele nu pierd niciodat cadre din cauza coliziunilor. Totui, dac un comutator primete cadre
mai repede dect le poate retransmite, este posibil ca n scurt timp sa nu mai aib memorie tampon
liber i sa nceap s arunce din cadrele primite.
Pentru a relaxa puin problema, comutatoarele moderne ncep sa retransmit cadre imediat ce
antetul destinaie ajunge, dar nainte ca restul cadrului sa ajung (bineneles asigurndu-se ca linia
de ieire este disponibila). Aceste comutatoare nu utilizeaz tehnica de memorare i retransmitere.
Cteodat ele sunt menionate drept comutatoare cu transmitere de fragmente (cut-through
switches). De obicei acest tip de comutator este implementat n ntregime n hardware, n timp ce
tradiionalele puni conin un CPU ce face comutare cu memorare i retransmitere la nivel software.
Dar deoarece toate punile i comutatoarele moderne conin circuite integrate speciale pentru co-
mutare, diferenele dintre comutatoare i puni in mai mult de probleme de marketing dect de
probleme tehnice.
Pn acum, am vzut repetoare i noduri, care sunt foarte asemntoare, precum i puni i co-
mutatoare, care sunt de asemenea foarte asemntoare ntre ele. Acum trecem mai departe la
rutere, care sunt i ele diferite de cele menionate mai sus. Cnd un pachet ajunge la un ruter, ante-
tul i sfritul cadrului sunt eliminate i pachetul localizat n informaia utila a cadrului (nnegrit n
fig. 4-46) trece ctre software-ul de rutare. Acest software folosete antetul pachetului pentru a alege
o linie de ieire. Pentru un pachet IP, antetul pachetului va conine adrese de 32 de bii (IPv4) sau
SEC. 4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 295

adrese de 128 de bii (IPv6), n nici un caz adrese 802 de 48 de bii. Software-ul de rutare nu vede
adresele cadrelor i nici mcar nu tie daca pachetul a venit de pe un LAN sau de pe o linie punct la
punct. n cap. 5 vom studia ruterele i rutarea.
Mai sus cu un nivel gsim porile de transport (gateways). Acestea conecteaz doua calculatoare
ce utilizeaz diferite protocoale de transport orientate pe conexiune. De exemplu, s presupunem c
un calculator care utilizeaz protocolul TCP/IP orientat pe conexiune, trebuie s discute cu un calcu-
lator care folosete protocolul ATM orientat pe conexiune. Poarta de transport poate copia pachete
de la o conexiune la alta, refcnd pachetele dup necesitai.
n ncheiere, porile la nivelul aplicaie neleg formatul i coninutul datelor i traduc mesajul de
la un format la altul. De exemplu, o poart de pota electronic poate traduce mesaje Internet n
mesaje SMS pentru telefoane mobile.
4.7.6 LAN-uri virtuale
La nceputul dezvoltrii reelelor locale de calculatoare, cabluri groase galbene erpuiau prin
conductele de cablu ale multor cldiri de birouri. Acestea conectau toate calculatoarele pe la care
treceau. Adesea erau mai multe cabluri conectate la coloana vertebral central (ca n fig. 4-39) sau
la un nod central. Nu se acorda nici o importan corespondenei ntre calculatoare i LAN-uri. Toi
oamenii din birouri alturate erau conectai la acelai LAN idiferent dac aparineau sau nu acele-
iai organizaii. Poziionarea fizic a calculatoarelor domina logica.
Totul s-a schimbat odat cu apariia lui 10Base-T i a nodurilor n anii 1990. Cldirile au fost
recablate (cu costuri considerabile) pentru a scoate vechile cabluri galbene, instalndu-se n loc
cabluri cu perechi de fire torsadate de la fiecare birou pn la locurile de conectare central de la
captul fiecrui coridor sau pn la camera unde se afla calculatorul principal, aa cum este ilus-
trat n fig. 4-48.


Fig. 4-48. O cldire cu reea centralizata ce folosete noduri i un comutator.
296 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Dac vicepreedintele care se ocupa de cablare era vizionar, se instalau cabluri cu perechi de fire
torsadate de categoria a cincea; dac acesta era un statistician era utilizat cablu de telefon existent
(categoria 3) (pentru a fi nlocuit civa ani mai trziu cnd a aprut Ethernet-ul rapid).
Folosindu-se noduri (i mai trziu, comutatoare) Ethernet, era adesea posibil configurarea LAN-
urilor din punct de vedere logic mai mult dect din punct de vedere fizic. Daca o companie dorete k
LAN-uri, cumpr k noduri. Alegnd cu grij ce conectoare vor fi introduse n nod, ocupanii LAN-
ului pot fi alei din punct de vedere organizaional fr a se da prea mare importan amplasrii geo-
grafice. Bineneles, dac doi oameni aparinnd aceluiai departament lucreaz n cldiri diferite, cel
mai probabil acetia sunt conectai n noduri diferite i astfel n LAN-uri diferite. Cu toate acestea,
situaia se prezint mult mai bine dect n cazul LAN-urilor bazate pe amplasare geografic.
Conteaz cine este conectat i n ce LAN? Oricum, n toate organizaiile, toate LAN-urile sunt n
cele din urm interconectate. Pe scurt, rspunznd la ntrebare: adesea conteaz. Dintr-o multitudi-
ne de motive administratorii de reea i doresc s grupeze utilizatorii n LAN-uri pentru a reflecta
structura organizatoric mai degrab dect structura fizic a cldirii. O problem este securitatea.
Orice interfa de reea poate fi configurat n mod transparent, copiind tot traficul care sosete pe
canalul de comunicaie. Multe departamente, cum ar fi cele de cercetare, patente i contabilitate,
dein informaii pe care nu doresc s le fac cunoscute n afara departamentului. n situaii ca aces-
tea, punerea tuturor oamenilor din departament ntr-o singur reea local fr a permite vreunui
fel de trafic s ias din aceast reea este o soluie bun. Totui, administratorul va vrea sa aud de-
spre astfel de aranjamente doar dac toi oamenii din fiecare departament sunt localizai in birouri
adiacente, fr birouri interpuse ntre acestea.
Poate s apar i o a doua problem. Unele reele locale sunt utilizate mai intensiv dect altele i
poate fi benefic separarea acestora la anumite momente. De exemplu, dac persoanele de la cerce-
tare ruleaz tot felul de experimente dichisite care din cnd n cnd scap de sub control i le satu-
reaz reeaua local, persoanele de la contabilitate s-ar putea s nu fie foarte entuziasmate n a dona
capacitatea departamentului lor pentru a ajuta.
O a treia problem este difuzarea. Cele mai multe reele locale suport difuzarea i multe proto-
coale de nivel superior folosesc aceast facilitate n mod extensiv. Spre exemplu, atunci cnd un utiliza-
tor dorete s trimit un pachet ctre o adres IP x, cum tie staia sa ce adres MAC s pun in cadru?
Vom studia aceast ntrebare n cap. 5, dar, pe scurt, rspunsul este c va difuza un cadru care conine
ntrebarea: A cui este adresa IP x? Apoi ateapt un rspuns. i exist multe alte exemple de utilizare a
difuzrii. Pe msur ce din ce n ce mai multe reele locale sunt interconectate, numrul cadrelor de
difuzare recepionate de fiecare main tinde s creasc liniar cu numrul de maini.
O alt problem legat de difuzare apare din cnd n cnd, atunci cnd o plac de reea se defec-
teaz i ncepe s transmit un ir nesfrit de cadre de difuzare. Rezultatul acestei furtuni de difu-
zri (broadcast storm) este c (1) ntreaga capacitate a reelei locale este ocupat de aceste cadre i
(2) c toate mainile din toate reele locale interconectate cu aceasta sunt paralizate doar prin proce-
sarea i ignorarea tuturor cadrelor difuzate.
La prima vedere s-ar putea prea c furtunile de difuzri pot fi limitate n spaiu prin separarea
reelelor locale prin puni i comutatoare, dar dac scopul este s se ating transparen (de ex o
main poate fi mutat intr-o reea local diferit fr ca nimeni s observe acest lucru), atunci pun-
ile trebuie s nainteze toate cadrele de difuzare.
Dup ce am vzut de ce companiile ar dori s aib mai multe reele locale cu ntindere limitat,
haidei s ne ntoarcem la problema decuplrii topologiei logice de cea fizic. S presupunem c un
utilizator este mutat n cadrul companiei de la un departament la altul fr s i schimbe biroul, sau
SEC. 4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 297

c i schimb biroul fr a-i schimba departamentul. Folosind o cablare bazat pe hub-uri, mutarea
utilizatorului n reeaua local corect presupune ca administratorul de reea s mearg n centrul de
cablare i s mute conectorul pentru calculatorul utilizatorului respectiv dintr-un hub n alt hub.
n multe companii, schimbrile organizaionale au loc tot timpul, nsemnnd c administratorii
de sistem petrec o mulime de timp scond cabluri de undeva i punndu-le n alt parte. De ase-
menea, n unele cazuri, este posibil ca schimbrile s nu poat fi fcute deloc, pentru c perechea
torsadat de la maina utilizatorului este prea departe de hub-ul potrivit (de ex. n alt cldire).
Ca rspuns la cerinele utilizatorilor pentru o flexibilitate sporit, comercianii de echipamente
de reea au nceput s lucreze la o modalitate de a recabla cldiri n ntregime doar cu ajutorul sof-
tware-ului.. Conceptul rezultat este numit VLAN (Virtual LAN, rom: reea local virtual) i a fost
standardizat de ctre comitetul 802. Acum este utilizat n multe organizaii. Haidei s aruncm o
privire asupra lui. Pentru informaii suplimentare despre VLAN-uri, vezi (Breyer and Riley, 1999;
and Seifert, 2000).
VLAN-urile se bazeaz pe comutatoare dedicate, cu toate c pot avea nite hub-uri la periferie,
ca n fig. 4-48. Pentru configurarea unei reele bazate pe VLAN-uri, administratorul de reea decide
cte VLAN-uri vor exista, ce calculatoare vor aparine fiecrui VLAN i cum se vor numi VLAN-
urile. De cele mai multe ori, VLAN-urile sunt denumite (informal) cu nume de culori, pentru c
este apoi posibil tiprirea de diagrame color cu dispunerea fizic a mainilor, figurnd membrii
VLAN-ului rou n rou, membrii VLAN-ului verde n verde i aa mai departe. n acest fel, att
dispunerea logic, ct i cea fizic, sunt vizibile ntr-o singur figur.
Ca un exemplu, s considerm cele patru reele locale din fig. 4-49(a), n care opt dintre maini
aparin VLAN-ului G (gri) i apte aparin VLAN-ului A (alb). Cele patru reele locale sunt conec-
tate cu dou puni, B1 i B2. Dac este folosit cablare centralizat cu fire torsadate, pot fi de ase-
menea prezente 4 hub-uri (care nu sunt prezentate n figur), dar la nivel logic un cablu cu mai muli
conectori i un hub sunt acelai lucru. Prezentarea lor n modul n care sunt figurai aici face figura
mai puin ncrcat. De asemenea, termenul de punte tinde s fie folosit n zilele noastre mai ales n
cazurile cnd exist mai multe maini pe fiecare port, ca n aceast figur, dar n rest termenii pun-
te i comutator sunt interschimbabili. Fig. 4-49(b) prezint aceleai maini i aceleai acelai
VLAN-uri folosind comutatoare cu un singur calculator pe fiecare port.

Fig. 4-49. (a) Patru reele fizice organizate n dou VLAN-uri, gri i alb, de ctre dou puni
(b) Aceleai 15 maini organizate n doua VLAN-uri cu comutatoare
298 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


Pentru a asigura funcionarea corect a VLAN-urilor, trebuie create tabele de configurare n
comutatoare sau n puni. Aceste tabele stabilesc care VLAN este accesibil pe fiecare dintre porturi
(linii). Atunci cnd un cadru este recepionat de la, s spunem, VLAN-ul gri, acesta trebuie naintat
ctre toate porturile marcate cu G. Acest lucru este valabil att pentru traficul direcionat, ct i pen-
tru cel cu destinaie multipl i cu difuzare.
Observai faptul c un port poate fi marcat cu mai multe culori de VLAN-uri. Acest lucru poate
fi vzut clar n fig. 4-49(a). S presupunem c maina A difuzeaz un cadru. Puntea B1 recepionea-
z cadrul i observ c acesta este provenit de la o staie din VLAN-ul gri, deci l va nainta ctre
toate porturile marcate cu G (cu excepia portului de unde a venit). Din moment ce B1 are numai
dou alte porturi i ambele sunt marcate cu G, cadrul va fi trimis pe ambele porturi.
n cazul lui B2 povestea este diferit. Aici puntea tie c nu exist maini gri in reeaua local 4,
deci cadrul nu va fi naintat acolo. Acesta va merge numai ctre reeaua local 2. Dac unul dintre
utilizatorii din reeaua local 4 i va schimba departamentul i va fi mutat n VLAN-ul gri, atunci
tabela din interiorul lui B2 va trebui actualizat pentru a reeticheta portul cu GA n loc de A. Dac
maina F devine gri, atunci portul ctre reeaua local 2 trebuie etichetat cu G n loc de GA.
Acum s presupunem c toate mainile att din reeaua local 2 ct i din reeaua local 4 devin
gri. Atunci nu numai c porturile lui B2 ctre reelele 2 i 4 vor fi marcate cu G, dar i portul lui B1
ctre B2 trebuie de asemenea reetichetat de la GA la G, din moment ce cadrele albe care ajung la
B1 din reelele 1 i 3 nu mai sunt naintate ctre B2. n fig. 4-49(b) aceti situaie rmne n picioare,
numai c aici toate porturile care ajung la cte o singur main sunt etichetate cu o singur culoare
deoarece acolo exist un singur VLAN.
Pn acum am presupus ca punile i comutatoarele tiu cumva ce culoare are un cadru recepi-
onat. Cum tiu acest lucru? Exist trei metode folosite:

1. Fiecrui port i este asociat o culoare de VLAN
2. Fiecrei adrese MAC i este asociat o culoare de VLAN
3. Fiecrui protocol de nivel 3 sau fiecrei adrese IP i este asociat o culoare de VLAN

Cu prima metod, fiecare port este etichetat cu o culoare de VLAN. Totui, aceast metod func-
ioneaz doar dac toate mainile de pe un port aparin aceluiai VLAN. n fig. 4-49(a), acest lucru
este valabil n cazul lui B1 pentru portul ctre reeaua 3, dar nu i pentru portul ctre reeaua 1.
n cazul celei de-a doua metode, puntea sau comutatorul are o singur tabel ce conine adresa
MAC pe 48 de bii a fiecrui maini conectate la el, mpreun cu VLAN-ul cruia i aparine maina
respectiv. n aceste condiii, este posibil combinarea mai multor VLAN-uri pe o singur reea lo-
cal fizic, cum este cazul reelei 1 din fig. 4-49(a). Cnd un cadru este recepionat, tot ce trebuie s
fac puntea sau comutatorul este s extrag adresa MAC i s caute intrarea corespunztoare din
tabel, pentru a gsi VLAN-ul de unde a fost recepionat cadrul.
Cea de-a treia metod presupune ca puntea sau comutatorul s examineze cmpul ncrcare uti-
l al cadrului cu scopul de a clasifica, de exemplu, toate mainile IP ca aparinnd unui VLAN i
toate mainile AppleTalk ca aparinnd altuia. Pentru cel dinti, adresa IP poate fi de asemenea
utilizat pentru identificarea mainii. Aceast strategie este foarte util atunci cnd mai oricare din
mai multe maini sau calculatoare portabile pot fi cuplate n mai multe staii de ancorare. Din mo-
ment ce fiecare staie de ancorare are propria adres MAC, doar cunoaterea staiei de ancorare
folosite nu spune nimic despre VLAN-ul cruia i aparine laptop-ul.
Singura problem cu aceast abordare este c nu respect una dintre regulile de baz n reele ce
calculatoare: independena nivelurilor. Nu este treaba nivelului legtur de date ce este n cmpul de
SEC. 4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 299

ncrcare util al cadrului. Acest nivel nu ar trebui s examineze aceste cmp i cu att mai puin s ia
decizii pe baza coninutului acestuia. O consecin a utilizrii acestei abordri este aceea c o modifi-
care a unui protocol de nivel 3 (de exemplu o trecere de la IPv4 la IPv6) va duce la nefuncionarea
comutatorului. Din nefericire, exist pe pia comutatoare care funcioneaz n acest fel.
Desigur, nu este nimic n neregul n rutarea bazat pe adrese IP aproape tot cap. 5 este dedi-
cat rutrii IP dar s combini nivelurile nseamn s o caui cu lumnarea. Un productor de comu-
tatoare poate desconsidera acest argument susinnd c toate comutatoarele comercializate de el
neleg att IPv4, ct i IPv6, deci totul este n regul. Dar ce se va ntmpla atunci cnd va aprea
IPv7? Productorul probabil c va rspunde: cumprai comutatoare noi, este asta att de ru?
Standardul IEEE 802.1Q
Dac ne gndim mai bine, ceea ce conteaz cu adevrat este VLAN-ul cadrului nsui, nu
VLAN-ul mainii care l-a trimis. Dac ar exista o modalitate de identificare a VLAN-ului n antetul
cadrului, atunci necesitatea de a examina cmpul ncrcare ar disprea. Pentru un model nou de
reea local, cum ar fi 802.11 sau 802.16, ar fi fost destul de uor s fie adugat numrul VLAN-ului
n antet. De fapt, cmpul identificator de conexiune din 802.16 este oarecum similar cu spiritul identi-
ficatorilor de VLAN. Dar ce s facem cu Ethernetul, care este tehnologia dominant de reele locale
i care nu are cmpuri goale disponibile care s poat fi utilizate pentru identificatorul de VLAN?
Comitetul IEEE 802 a confruntat aceast problem n 1995. Dup multe discuii, a fcut inima-
ginabilul i a modificat cadrul Ethernet. Noul format a fost publicat n standardul IEEE 802.1Q,
lansat n 1998. Noul format conine marcajul pentru VLAN; l vom examina n curnd. Nu n mod
surprinztor, schimbarea a ceva att de bine mpmntenit cum este Ethernetul nu este n ntregime
trivial. O serie de ntrebri care ne vin n gnd sunt:

1. Trebuie s aruncm cteva sute de milioane de plci de reea Ethernet?
2. Dac nu, cine genereaz noul cmp?
3. Ce se ntmpl cu cadrele care au deja lungimea maxim?

Desigur, comitetul 802 a fost contient (n mod dureros) de aceste probleme i a trebuit s ofere
soluii, ceea ce a i fcut.
Cheia pentru gsirea soluiei este s realizm c identificatorii de VLAN sunt utilizai efectiv
numai de puni i de comutatoare i nu de ctre mainile utilizatorilor. Prin urmare, n fig. 4-49 nu
este esenial ca identificatorii s fie prezeni pe liniile ce pornesc de la staii, att timp ct sunt pre-
zeni pe liniile ce interconecteaz punile. Prin urmare, pentru a folosi VLAN-uri, punile i comuta-
toarele trebuie s fie contiente de existena acestora, dar aceasta era deja o cerin. Acum introdu-
cem necesitatea suplimentar ca acestea s implementeze 802.1Q, iar cele noi deja fac acest lucru.
La ntrebarea dac trebuie aruncate toate plcile Ethernet, rspunsul este nu. Aducei-v amin-
te: comisia 802.3 nu a putut convinge oamenii s schimbe cmpul tip intr-un alt cmp numit lungi-
me. Va putei imagina reacia acestora la anunul ca toate plcile Ethernet au fost scoase din uz.
Oricum, n momentul n care noile placi Ethernet vor aprea pe pia, se spera c acestea vor supor-
ta 802.1Q i se vor putea integra n totalitate n VLAN-uri.
Aa c, daca cel care genereaz mesajul nu introduce cmpurile pentru VLAN, atunci cine o va
face? Rspunsul este c prima punte sau comutator ce suporta VLAN la care ajunge un cadru, ada-
ug cmpurile, i la ultimul le scoate. Dar cum tie care cadru aparine crui VLAN ? Ei bine, prima
punte sau primul comutator poate atribui un numr VLAN unui port, se poate uita la adresa MAC,
sau s examineze informaia util. Pn cnd toate plcile Ethernet vor n conformitate cu 802.1Q,
300 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


suntem oarecum tot n punctul din care am plecat. Marea speran este c de la nceput toate plcile
gigabit Ethernet vor fi n conformitate cu 802.1Q i pe msur ce oamenii vor trece la gigabit
Ethernet , 802.1Q va fi introdus automat. n ce privete problema cadrelor mai mari de 1518 octei,
802.1Q ridic limita la 1522 octei.
n timpul procesului de tranziie, multe reele vor avea ca maini perimate (de obicei Ethernet
clasic sau rapid) care nu suporta VLAN i maini (de obicei gigabit Ethernet) care suporta. Situaia
este artat n fig. 4-50, unde simbolurile umbrite suport VLAN iar celelalte nu. Pentru a simplifica
problema, presupunem c toate comutatoarele suporta VLAN. Chiar dac nu este cazul, primul
comutator ce suport VLAN poate aduga marcaje bazate pe adrese MAC sau IP.
Fig. 4-50. Tranziia de la un Ethernet perimat la un Ethernet ce suport VLAN.
Simbolurile umbrite suport VLAN; cele goale nu.

n aceasta figur, plcile Ethernet ce suport VLAN genereaz direct cadre marcate (de exem-
plu 802.1Q), i comutrile ulterioare se folosesc de aceste marcaje. Pentru a face aceast comutare,
comutatoarele trebuie sa tie n prealabil care VLAN poate fi accesat i pe ce port. tiind c un ca-
dru aparine unui VLAN gri , nu ajut prea mult faptul ca un cadru aparine unui VLAN gri, pn
cnd comutatorul tie care porturi sunt conectate la mainile din VLAN-ul gri. Aa c, comutatorul
are nevoie de o tabela indexat de VLAN care s spun ce porturi sa foloseasc i care suporta
VLAN sau nu.
Cnd un PC perimat trimite un cadru ctre un comutator ce suporta VLAN, comutatorul con-
struiete un nou cadru marcat bazat pe cunotinele sale despre VLAN-ul care l-a trimis (folosind
portul, adresa MAC sau adresa IP). Din acel punct, nu mai conteaz dac cel care trimite este o ma-
in legacy (perimat). Similar, un comutator care trebuie s trimit un cadru marcat ctre o main
perimat (legacy) trebuie s reconstruiasc cadrul n forma veche nainte de a-l furniza.
Haidei s privim formatul cadrului 802.1Q. Este schiat n fig. 4-51. Singura schimbare este ad-
ugarea unei perechi de cmpuri a cate 2 octei. Primul este identificatorul protocolului VLAN. El
are ntotdeauna valoarea 0x8100. ntruct acest numr este mai mare de 1500, toate plcile Ethernet
interpreteaz acest numr ca tip nu ca lungime. Ce face o placa mai veche cu un asemenea cadru
este o problem deoarece asemenea cadre nu ar trebui trimise ctre acestea.
SEC. 4.7. COMUTAREA LA NIVELUL LEGTURII DE DATE 301

Fig. 4-51. Formatul cadrelor Ethernet 802.3 motenite i 802.1Q.

Al doilea cmp de 2 octei conine trei sub-cmpuri. Sub-cmpul principal este identificatorul
VLAN ce ocupa cei mai puin semnificativi 12 octei. Aceasta este problema principala: crui VLAN
aparine fiecare cadru? Cmpul Prioritate de 3 bii nu are nici o legtur cu VLAN-ul, dar ntruct
schimbarea antetului Ethernet este un eveniment foarte rar care s-ar desfura pe parcursul a trei
ani i ar implica 100 de oameni, de ce nu am pune alte informaii folositoare n el? Acest cmp face
posibila distingerea intre traficul n timp real implementat hard i cel implementat soft i de traficul
intens pentru o mai buna calitate a serviciilor n Ethernet. Este nevoie de voce prin Ethernet (ca sa
fim impariali, IP a avut un cmp similar mai mult de un sfert de secol i nu a fost folosit niciodat).
Ultimul bit, CFI (Canonical Format Indicator, rom: indicator de format canonic) ar fi trebuit sa
fie numit CEI (Corporate Ego Indicator, rom: indicator de ego al corporaiei). Originar era folosit
s indice adresele MAC n format little-indian sau big-indian ns aceast obinuin s-a pierdut da-
torit controverselor. n zilele noastre prezena lui indic faptul c informaiile utile conin un 802.5
cadru prestabilit (freezed-dried, rom: ngheat i uscat) care este transportat de o reea Ethernet care
sper s gseasc la destinaie un LAN 802.5. Tot acest aranjament, nu are nici o legtura cu VLAN-
urile. ns politica comitetului de standarde este foarte asemntoare cu politica obinuit: dac
votezi n favoarea bitului meu, votez i eu n favoarea bitului tu.
Aa cum am precizat mai sus, cnd un cadru marcat ajunge la un comutator ce suporta VLAN,
comutatorul folosete, ca un index intr-o tabela identificatorul VLAN, pentru a gsi la ce port sa tri-
mit. Dar de unde vine tabela? Este construita manual, ne-am ntors de unde am plecat: configurarea
manuala a punilor. Frumuseea punilor transparente este faptul c acestea sunt montate i pornite
(plug-and-play) i nu au nevoie de configurare manual. Ar fi pcat s se piard aceast facilitate. Din
fericire, punile care suport VLAN se pot autoconfigura pe baza marcajelor care vin. Dac un cadru
marcat, cum ar fi VLAN 4, ajunge la portul 3, aparent cteva calculatoare de pe portul 3 aparin
VLAN-ului 4. Standardul 802.1Q explica cum s construieti dinamic tabelele, n marea majoritate a
cazurilor referindu-se la pri apropiate din algoritmul lui Perlman standardizat n 802.1D.
nainte de a prsi subiectul referitor la rutarea n VLAN, merita s facem o ultima observaie.
Muli oameni n lumea Internetului i a Ethernetului susin fanatic reelele neorientate pe conexiune
i se opun cu violen conexiunilor la nivelul legturii de date. n momentul de fa, VLAN-urile in-
troduc ceva ce este surprinztor de asemntor cu o conexiune. Pentru a utiliza corect VLAN-uri,
fiecare cadru are un nou identificator special care este utilizat pe post de index ntr-o tabel din comu-
tator, pentru a gsi destinaia cadrului. Este exact acelai principiu de funcionare ce apare la reelele
orientate pe conexiune. n reelele neorientate pe conexiune adresa destinaie este folosit la rutare i
nu exista identificatori de conexiune. Alte aspecte privind comunicarea vor fi tratate n cap. 5.
302 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


4.8 REZUMAT
Anumite reele au un singur canal care este folosit pentru toate comunicaiile. n aceste reele,
problema principal 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 n fig. 4-52.

Metod Descriere
FDM Dedic o band de frecven fiecrei staii
WDM O schem dinamic FDM pentru fibr optic
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
CSMA 1-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
Ethernet CSMA/CD cu algoritm cu regresie exponenial binar
FHSS Frequency hopping spread spectrum
DSSS Direct sequence spread spectrum
CSMA/CA Acces multiplu cu sesizarea purttoarei cu evitarea coliziunilor

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 num-
rul de staii este mic i traficul continuu, oarecum echilibrat. Amndou sunt larg folosite n aceste
condiii, de exemplu pentru a diviza banda de legtur utilizat pentru trunchiuri telefonice.
Dac numrul staiilor este mare i variabil, iar traficul de tip rafal, atunci FDM i TDM nu
sunt alegeri bune. Ca alternativ a fost propus protocolul ALOHA, cu sau fr cuantificare i con-
trol. 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 pro-
tocoale 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 i MACAW,
intenioneaz s stimuleze transmisiile n jurul destinaiei, pentru a mbunti funcionarea CSMA.
SEC. 4.9 PROBLEME 303

FHSS i DSSS sunt de asemenea utilizate. IEEE 802.11 combin CSMA i MACAW pentru a pro-
duce CSMA/CA.
Ethernetul este forma dominanta pentru reele locale. Acesta utilizeaz CSMA/CD pentru alo-
carea canalului. Versiunile vechi foloseau cabluri ce erpuiau de la o maina la alta, dar acum sunt
utilizate perechi de fire torsadate ce se conecteaz n noduri i comutatoare. Vitezele au crescut de
la 10 Mbps la 1 Gbps i cresc n continuare.
LAN-urile fr fir sunt din ce n ce mai comune, 802.11 dominnd acest domeniu. Nivelul su fi-
zic permite cinci moduri de transmisie diferite, incluznd infrarou, o varietate de spread spectrum
schemes, i un sistem FDM multicanal. Poate opera cu cte o staie de baz n fiecare celul, dar
poate opera i fr nici. Protocolul este o versiune de MACAW cu sesizarea virtual a purttoarei.
MAN-urile fr fir au nceput deja s apar. Acestea sunt sisteme de band larg care utilizeaz un-
de radio pentru a nlocui ultimele poriuni n conexiunile telefonice. Sunt folosite tehnici tradiionale
de modulaie de band ngust. Calitatea serviciilor este important, cu 802.16 definindu-se patru
clase i anume: vitez de transmisie constant, dou viteze de transmisie variabile i o vitez de
transmisie cu cea mai bun ncercare (eng. best efforts).
Sistemul Bluetooth este de asemenea fr fir dar este adresat mai mult ctre sistemele desktop,
pentru conectarea ctilor i a altor echipamente la calculatoare fr a utiliza fire. Se intenioneaz
de asemenea conectarea perifericelor, cum ar fi faxurile la telefoane mobile. Ca i 802.11, acesta
folosete FHSS n banda ISM. Datorit nivelului de zgomot din multe medii i datorit necesitaii
unei interaciuni n timp real, diferite protocoale nglobeaz mecanisme complicate pentru urmri-
rea i corecia erorilor.
Avnd att de multe LAN-uri diferite, este necesar o metod de a le interconecta. Punile i
comutatoarele sunt folosite n acest scop. Algoritmul cu arbore de acoperire este folosit pentru a
construi puni plug-and-play. O noua dezvoltare n domeniul interconectrii LAN-urilor este
VLAN, care separ topologia logic a LAN-urilor de topologia fizic. Un nou format pentru cadrele
Ethernet (802.1Q) a fost introdus pentru a oferi o modalitate mai simpl de introducere a VLAN-
urilor n organizaii.


4.9 PROBLEME
1. Pentru aceast problema folosii o formula din acest capitol, ns nainte de a ncepe rezolvarea
problemei scriei formula. Cadrele ajung aleator la un canal de 100 Mbps pentru transmitere.
Dac n momentul cnd un cadru ajunge avem canalul ocupat, acesta i ateapt rndul ntr-o
coad. Dimensiunea cadrului este distribuita exponential cu o medie de 10.000 bii/cadru. Pen-
tru fiecare din urmtoarele rate de sosire, precizai ntrzierea medie a unui cadru, incluznd
timpul ct acesta st n coad i timpul ct dureaz transmisia.
a) 90 cadre/sec.
b) 900 cadre/sec.
c) 9000 cadre/sec.
304 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


2. 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?
3. Comparai ntrzierea unui canal ALOHA pur cu aceea a unui canal ALOHA cuantificat la
ncrcare mic. Care dintre ele este mai mic? Motivai rspunsul.
4. 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 s. Care este n-
crcarea total aproximativ a canalului?
5. O populaie mare de utilizatori ALOHA genereaz 50 cereri/sec, inclusiv originalele i retran-
smisiile. Timpul este cuantificat n uniti de 40 ms.
a) Care este ansa de succes a primei ncercri?
b) Care este probabilitatea unui numr de exact k coliziuni urmate de un succes?
c) Cte ncercri de transmisie ne ateptm s fie necesare?
6. Msurtorile fcute asupra unui canal ALOHA cuantificat, cu un numr infinit de utilizatori,
arat c 10% din cuante sunt nefolosite.
a) Care este ncrcarea canalului, G?
b) Care este productivitatea?
c) Canalul este subncrcat sau suprancrcat?
7. ntr-un sistem cuantificat ALOHA cu o populaie infinit, numrul mediu de cuante pe care o
statie le ateapt ntre o coliziune i retransmisia ei, este 4. Reprezentai curba ntrzierii n
funcie de productivitate, pentru acest sistem.
8. Cat timp o staie s trebuie s atepte n cel mai ru caz nainte de a putea transmite cadre intr-
un LAN ce folosete:
a) protocolul de baz harta de bii?
b) protocolul lui Mok i Ward cu permutare virtual a numerelor staiilor?
9. Un LAN folosete versiunea lui Mok i Ward pentru numrtoarea invers binar. La un anu-
mit moment, cele zece staii au numerele virtuale de staie 8, 2, 4, 5, 1, 7, 3, 6, 9 i 0. Urmtoare-
le trei staii care trebuie s emit sunt 4, 3 i 9, n aceast ordine. Care sunt noile numere virtua-
le de staie dup ce toate cele trei i-au terminat transmisiile?
10. aisprezece staii concureaz pentru folosirea unui canal comun folosind protocolul cu parcur-
gere 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?
11. O colecie de 2
n
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 nu-
mrul minim, maxim i mediu de cuante pentru a parcurge arborele dac 2
n
>> 1?
12. 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?
13. Care sunt caracteristicile comune ale protocoalelor de acces la canal WDMA i GSM?
SEC. 4.9 PROBLEME 305

14. ase staii , de la A la F, comunica utiliznd protocolul MACA. Este posibil ca doua transmisii
sa aib loc simultan? Explicai rspunsul.
15. 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 rectangula-
r n plan vertical, cu o distan de 4 m ntre prize, att pe orizontal ct i pe vertical. Presu-
punnd c este posibil s se monteze cte un cablu direct ntre orice pereche de prize, pe ori-
zontal, vertical sau diagonal, cti 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)?
16. Care este viteza (n bauds) a unui LAN 802.3 standard de 10 Mbps?
17. Schiai codificarea Manchester pentru irul de bii: 0001110101.
18. Schiai codificarea Manchester diferenial pentru irul de bii din problema precedent. Pre-
supunei c linia este iniial n stare jos.
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/s. Cadrele de date au o lungime de 256 bii, incluznd 32 de bii de antet, suma de con-
trol 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 ex-
ponenial 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 1G bps, cu un cablu mai lung de 1 km, fr
repetoare. Viteza semnalului pe cablu este de 200.000 km/s. Care este dimensiunea mini-
m a cadrului?
22. Un pachet IP ce trebuie transmis n Internet are 60 octei cu tot cu antete. Daca LLC nu este utili-
zat, este nevoie s se adauge informaie de umplutur n cadrul Ethernet, i dac da, ci octei?
23. 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 capatul 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?
24. Autorii unor cri susin c dimensiunea maxim a cadrului Ethernet este de 1518 octei n loc
de 1500 octei. Au acetia dreptate? Explicai rspunsul.
306 SUBNIVELUL DE ACCES LA MEDIU CAP. 4


25. Specificaiile 1000Base-SX spun c ceasul ar trebui s mearg la 1250 MHz, dei Gigabit Ether-
net ar trebui sa transmit 1 Gbps. Este folosit acest plus de vitez pentru a mri sigurana
transmisiei? Dac nu, specificai ce se ntmpl.
26. Cte cadre pe secund poate manevra gigabit Ethernet? Luai n considerare toate cazurile re-
levante. Sugestie: conteaz faptul c este o reea gigabit Ethernet.
27. Numii dou reele care permit sa aib cadre mpachetate cap-la-cap. De ce se merita s ai
aceast facilitate?
28. n fig. 4-27 sunt artate patru staii, A, B, C i D. Care dintre ultimele doua staii credei ca este
mai aproape de A i de ce?
29. Presupunnd ca un 11-Mbps LAN 802.11b transmite cadre de 64-octeti cap-la-cap printr-un
canal radio rata erorilor de 10
-7
. Cte cadre pe secund vor fi distruse n medie?
30. O reea 802.16 are lungimea canalului de 20 MHz. Ci bii/sec pot fi transmii la o staie
conectat?
31. IEEE 802.16 suport patru clase de servicii. Care clas este cea mai bun alegere pentru a
transmite semnal video necomprimat?
32. Dai dou motive pentru care reelele ar trebui s utilizeze corectarea erorilor n loc de detecia
erorilor i retransmisia datelor?
33. n fig. 4-35, am vzut ca un dispozitiv Bluetooth poate fi n dou piconet-uri n acelai timp.
Exist vreun motiv ca un dispozitiv sa nu fie stpn n ambele piconet-uri n acelai timp?
34. Fig. 4-25 arat diferite protocoale de nivel fizic. Care dintre acestea este mai apropiat de
protocolul de nivel fizic al Bluetooth? Care este marea diferen dintre cele doua?
35. Bluetooth suport dou tipuri de legtur ntre un stpn i un sclav. Care sunt acestea i
la ce sunt folosite fiecare?
36. Cadrul de semnalizare la FHSS (frequency hopping spread spectrum) varianta 802.11 conine
timpul de locuire (dwell time). Credei ca la Bluetooth, cadrul de semnalizare analog, conine
de asemenea timpul de locuire (dwell time)? Discutai rspunsul.
37. Considerai LAN-urile interconectate din fig. 4-44. Presupunei c gazda a i b sunt n LAN-ul
1, c este n LAN-ul 2 i d este n LAN-ul 8. Iniial tabelele de dispersie din toate punile sunt
goale i se folosete arborele de acoperire din fig. 4-44(b). Artai cum tabelele de dispersie din
puni diferite se schimb dup fiecare din urmtoarele evenimente ce se succed : primul a, apoi
b i aa mai departe.
a) a trimite ctre d.
b) c trimite ctre a.
c) d trimite ctre c.
d) d trimite ctre LAN-ul 6.
e) d trimite ctre a.
SEC. 4.9 PROBLEME 307

38. O consecin n folosirea unui arbore de acoperire pentru a retransmite cadre intr-un LAN ex-
tins este ca unele puni nu particip la retransmiterea cadrelor. Identificai trei puni de acest fel
n fig. 4-44. Exista vreun motiv pentru a pstra aceste puni, chiar daca ele nu sunt folosite pen-
tru retransmitere?
39. Imaginai-v ca un comutator are plci de extensie pentru patru linii de intrare. Se ntmpl
frecvent ca un cadru care ajunge pe una din aceste linii trebuie s ias pe alt linie pe aceeai
plac. Ce variante are proiectantul comutatorului pentru aceasta situaie?
40. Un comutator proiectat pentru a fi utilizat cu un Ethernet rapid are un fund de sertar care
poate transfera 10 Gbps. Cte cadre/sec poate manevra n cel mai ru caz?
41. Considerai reeaua din fig. 4-49(a). Daca maina J devine brusc alb; este nevoie de vreo
schimbare la etichetare? Dac da, ce anume?
42. Descriei pe scurt diferenele dintre comutatoarele cu memorare i retransmitere i cele cu cut-
through?
43. n ceea ce privete cadrele defecte, comutatoarele cu memorare i retransmitere au un avantaj
fata de cele cut-through. Explicai care sunt acestea.
44. Pentru a pune n funciune VLAN-uri, este nevoie de tabele de configuraie n comutatoare i
puni. Ce s-ar ntmpla daca VLAN-urile din fig. 4-49(a) ar utiliza noduri n loc de mediu parta-
jat? Nodurile au nevoie de tabele de configurare? De ce sau de ce nu?
45. n fig. 4-50 comutatorul din domeniul final cu PC mbtrnite, figurat n dreapta este un comu-
tator pregtit pentru VLAN. Este posibil utilizarea unui comutator vechi n acest caz? Dac
da, cum va funciona acesta? Dac nu, de ce?
46. Scriei un program care s simuleze comportamentul protocolului CSMA/CD n Ethernet cnd
exista N staii pregtite sa transmit n timp ce se transmite un cadru. Programul vostru trebuie
s prezinte timpii cnd fiecare staie ncepe sa transmit cu succes cadrul. Presupunei c un tact
de ceas apare odat la fiecare cuant de timp (51,2 microsecunde) i o detecie de coliziune i o
secven de bruiaj dureaz o cuant de timp. Toate cadrele sunt de dimensiune maxim admis.


309
5
NIVELUL REEA
Nivelul reea are ca sarcin preluarea pachetelor de la surs i transferul lor ctre destinaie.
Ajungerea la destinaie poate necesita mai multe salturi prin rutere intermediare de-a lungul drumu-
lui. 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 sc-
zut nivel care se ocup de transmisii capt la capt.
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 aceas-
ta. 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, apar probleme noi. Este sarcina nivelului reea s se ocupe de ele. n acest capitol
vom studia toate aceste aspecte i le vom exemplifica, in primul rnd folosind Internetul i protocolul
lui la nivelul reea, IP, cu toate c vom vorbi i despre reele fr fir.


5.1 CERINELE DE PROIECTARE ALE NIVE-
LULUI 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.
310 NIVELUL REEA CAP. 5


5.1.1 Comutare de pachete de tip Memoreaz-i-Retransmite (Store-and-Forward)
Dar nainte de a ncepe explicarea detaliilor nivelului reea, merit probabil sa reiniializm
contextul n care opereaz protocoalele de la nivelul reea. Acest context este prezentat n fig. 5-1.
Componentele majore ale sistemului sunt echipamentul companiei de telecomunicaii (rutere
conectate prin linii de transmisie), prezentat n interiorul ovalului umbrit, i echipamentul
clientului, prezentat n afara ovalului. Gazda H1 este conectat direct la unul dintre ruterele
companiei de telecomunicaii, A, printr-o linie nchiriat. n contrast, H2 este ntr-o reea LAN cu
un ruter, F, deinut i operat de ctre client. Acest ruter are, deasemeni, i o linie nchiriat ctre
echipamentul companiei de telecomunicaii. Am prezentat F ca fiind n afara ovalului, deoarece nu
aparine companiei de telecomunicaii, dar n termeni de construcie, software i protocoale,
probabil c nu difer fa de ruterele acesteia. Este discutabil dac aparine subreelei, dar n
contextul acestui capitol ruterele din localul clientului sunt considerate parte a subreelei deoarece
ruleaz aceeai algoritmi ca i ruterele companiei de telecomunicaii (i aici principala noastr
preocupare sunt algoritmii).

Fig. 5-1. Cadrul protocoalelor nivelului reea.

Acest echipament este folosit dup cum urmeaz. O gazd care are de transmis un pachet l
transmite celui mai apropiat ruter, fie in aceeai reea LAN, fie printr-o legtur punct la punct cu
compania de telecomunicaii. Pachetul este memorat acolo pn ajunge integral, astfel nct s
poat fi verificat suma de control. Apoi este trimis mai departe ctre urmtorul ruter de pe traseu,
pn ajunge la gazda destinaie, unde este livrat. Acest mecanism reprezint comutarea de pachete
de tip memoreaz-i-retransmite, aa cum am vzut n capitolele anterioare.
5.1.2 Servicii furnizate nivelului transport
Nivelul reea furnizeaz servicii nivelului transport la interfaa dintre cele dou niveluri. O ntre-
bare important este ce fel de servicii furnizeaz nivelul reea nivelului transport. Serviciile nivelului
reea au fost proiectate avnd n vedere urmtoarele scopuri:

1. Serviciile trebuie s fie independente de tehnologia ruterului.
2. Nivelul transport trebuie s fie independent de numrul, tipul i topologia ruterelor existente.
SEC. 5.1 CERINELE DE PROIECTARE ALE NIVELULUI REEA 311

3. Adresele de reea disponibile la nivelul transport trebuie s foloseasc o schem de nume-
rotare 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. Problema central a discuiei este dac nivelul reea trebuie s fur-
nizeze servicii orientate pe conexiune sau servicii neorientate pe conexiune.
O tabr (reprezentat de comunitatea Internet) afirm c scopul ruterului este de a transfera
pachete 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 pro-
iectat. De aceea calculatoarele gazd trebuie s accepte faptul c reeaua este nesigur i s fac
controlul erorilor (i.e., detecia i corecia erorii) i controlul fluxului ele nsele.
Acest punct de vedere duce rapid la concluzia c serviciul reea trebuie s fie neorientat pe cone-
xiune, cu dou primitive SEND PACKET i RECEIVE PACKET i cu foarte puin n plus. n par-
ticular, nu trebuie fcut nici o operaie pentru controlul ordinii sau fluxului pachetelor pentru c
oricum calculatorul gazd va face acest lucru, i, de obicei, 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 asigu-
re un serviciu orientat pe conexiune sigur. Ei susin c 100 de ani de experien cu sistemul telefonic
mondial reprezint un ghid excelent. n aceast perspectiv, calitatea serviciului este elementul do-
minant, i ntr-o subreea fr conexiuni, calitatea serviciului este dificil de obinut, n special pentru
trafic in timp real cum ar fi voce i imagine.
Aceste dou tabere sunt cel mai bine exemplificate de Internet i reele ATM. Reeaua Internet
ofer un serviciu la nivelul reea neorientat pe conexiune; reelele ATM ofer un serviciu la nivelul
reea orientat pe conexiune. Totui, este interesant de notat c cu ct garantarea calitii serviciului
devine din ce in ce mai important, Internetul evolueaz. n particular, ncepe s dobndeasc pro-
prieti asociate normal cu serviciile orientate conexiune, aa cum vom vedea mai trziu. De fapt,
ne-am fcut o prere despre aceast evoluie in timpul studiului despre reele VLAN n Cap. 4.
5.1.3 Implementarea serviciului neorientat pe conexiune
Dup ce am vzut cele dou clase de servicii pe care nivelul reea le furnizeaz utilizatorilor si,
este momentul s vedem funcionarea intern a acestui nivel. Sunt posibile dou organizri diferite,
n funcie de tipul serviciului oferit. Dac este oferit un serviciu neorientat pe conexiune, atunci pa-
chetele sunt trimise in subreea individual i dirijate independent de celelalte. Nu este necesar nici o
iniializare prealabil. n acest context, pachetele sunt numite frecvent datagrame (datagrams) (prin
analogie cu telegramele), iar subreeaua este numit subreea datagram (datagram subnet). Dac
este folosit serviciul orientat conexiune, atunci, nainte de a trimite pachete de date, trebuie stabilit
o cale de la ruterul surs la ruterul destinaie. Aceast conexiune este numit VC (virtual circuit,
circuit virtual), prin analogie cu circuitele fizice care se stabilesc n sistemul telefonic, iar subreeaua
este numit subreea cu circuite virtuale (virtual-circuit subnet). n aceast seciune vom studia sub-
reele datagram; n urmtoarea seciune vom studia subreelele cu circuite virtuale.
S vedem cum funcioneaz o subreea datagram. S presupunem c procesul P1 din fig. 5-2 are
un mesaj lung pentru procesul P2. El transmite mesajul nivelului transport, cu instruciunile de livra-
re ctre procesul P2 aflat pe calculatorul gazd H2. Codul nivelului transport ruleaz pe calculatorul
312 NIVELUL REEA CAP. 5


gazd H1, de obicei n cadrul sistemului de operare. Acesta insereaz la nceputul mesajului un antet
corespunztor nivelului transport i transfer rezultatul nivelului reea, probabil o alt procedur din
cadrul sistemului de operare.


Fig. 5-2. Dirijarea ntr-o subreea datagram.

S presupunem c mesajul este de patru ori mai lung dect dimensiunea maxim a unui pachet,
aa c nivelul reea trebuie s l sparg n patru pachete, 1, 2, 3, i 4 i s le trimit pe fiecare n parte
ruterului A, folosind un protocol punct-la-punct, de exemplu, PPP. Din acest punct controlul este
preluat de compania de telecomunicaii. Fiecare ruter are o tabel intern care i spune unde s tri-
mit pachete pentru fiecare destinaie posibil. Fiecare intrare n tabel este o pereche compus din
destinaie i linia de ieire folosit pentru acea destinaie. Pot fi folosite doar linii conectate direct.
De exemplu, n fig. 5-2, A are doar dou linii de ieire ctre B i C astfel c fiecare pachet ce vine
trebuie trimis ctre unul dintre aceste rutere, chiar dac ultima destinaie este alt ruter. Tabela de
rutare iniial a lui A este prezentat n figur sub eticheta iniial.
Cum au ajuns la A, pachetele 1, 2 i 3 au fost memorate pentru scurt timp (pentru verificarea
sumei de control). Apoi fiecare a fost trimis mai departe ctre C conform tabelei lui A. Pachetul 1 a
fost apoi trimis mai departe ctre E i apoi ctre F. Cnd a ajuns la F, a fost ncapsulat ntr-un cadru
al nivelului legtur de date i trimis ctre calculatorul gazd H2 prin reeaua LAN.
Totui, ceva diferit s-a ntmplat cu pachetul 4. Cnd a ajuns la A a fost trimis ctre ruterul B,
chiar dac i el este destinat tot lui F. Dintr-un motiv oarecare, A a decis s trimit pachetul 4 pe o
rut diferit de cea urmat de primele trei. Poate c a aflat despre o congestie undeva pe calea ACE
SEC. 5.1 CERINELE DE PROIECTARE ALE NIVELULUI REEA 313

i i-a actualizat tabela de rutare, aa cum apare sub eticheta mai trziu. Algoritmul ce adminis-
treaz tabelele i ia deciziile de rutare se numete algoritm de rutare (routing algorithm). Algoritmii
de rutare sunt unele dintre principalele elemente pe care le vom studia n acest capitol.
5.1.4 Implementarea serviciilor orientate pe conexiune
Pentru serviciile orientate conexiune, avem nevoie de o subreea cu circuite virtuale. S vedem
cum funcioneaz aceasta. Ideea care se st la baza circuitelor virtuale este evitarea alegerii unei noi
ci (rute) pentru fiecare pachet trimis, ca n fig. 5-2. n schimb, atunci cnd se stabilete o conexiune,
se alege o cale ntre maina surs i maina destinaie, ca parte component a iniializrii conexiunii
i aceasta este memorat n tabelele ruterelor. Acea cale este folosit pentru tot traficul de pe cone-
xiune, exact n acelai mod n care funcioneaz sistemul telefonic. Atunci cnd conexiunea este eli-
berat, este nchis i circuitul virtual. n cazul serviciilor orientate conexiune, fiecare pachet poart
un identificator care spune crui circuit virtual i aparine.


Fig. 5-3. Dirijare n cadrul unei subreele cu circuite virtuale.

De exemplu, s considerm situaia din fig. 5-3. Aici calculatorul gazd H1 a stabilit conexiunea 1
cu calculatorul gazd H2. Aceasta este memorat ca prima intrare n fiecare tabel de rutare. Prima
linie a tabelei lui A spune c dac un pachet purtnd identificatorul de conexiune 1 vine de la H1,
atunci trebuie trimis ctre ruterul C, dndu-i-se identificatorul de conexiune 1. Similar, prima intrare
a lui C dirijeaz pachetul ctre E, tot cu identificatorul de conexiune 1.
Acum s vedem ce se ntmpl dac H3 vrea, de asemenea, s stabileasc o conexiune cu H2.
Alege identificatorul de conexiune 1 (deoarece iniializeaz conexiunea i aceasta este singura cone-
xiune) i indic subreelei s stabileasc circuitul virtual. Aceasta conduce la a doua linie din tabele.
Observai c apare un conflict deoarece dei A poate distinge uor pachetele conexiunii 1 de la H1
314 NIVELUL REEA CAP. 5


de pachetele conexiunii 1 de la H3, C nu poate face asta. Din acest motiv, A asociaz un identificator
de conexiune diferit pentru traficul de ieire al celei de a doua conexiuni. Pentru evitarea conflictelor
de acest gen ruterele trebuie s poat nlocui identificatorii de conexiune n pachetele care pleac. n
unele contexte, aceasta se numete comutarea etichetelor (label switching).
5.1.5 Comparaie ntre subreele cu circuite virtuale i subreele datagram
Att circuitele virtuale ct i datagramele au suporteri i oponeni. Vom ncerca acum s rezu-
mm argumentele ambelor tabere. Principalele aspecte sunt prezentate n fig. 5-4, dei cei extrem de
riguroi ar putea probabil gsi un contraexemplu pentru toate cele descrise n aceast figur.

Problem Subreea datagram Subreea cu circuite virtuale (CV)
Stabilirea circuitului Nu este necesar Obligatorie
Adresare Fiecare pachet conine adresa
complet pentru surs i destinaie
Fiecare pachet conine un numr mic de
CV
Informaii de stare Ruterele nu pstreaz informaii
despre conexiuni
Fiecare CV necesit spaiu pentru tabela
ruterului per conexiune
Dirijare Fiecare pachet este dirijat indepen-
dent
Calea este stabilit la iniierea CV; toate
pachetele o urmeaz
Efectul defectrii
ruterului
Nici unul, cu excepia pachetelor
pierdute n timpul defectrii
Toate circuitele virtuale care trec prin
ruterul defect sunt terminate
Calitatea serviciului Dificil Simplu, dac pentru fiecare CV pot fi alo-
cate n avans suficiente resurse
Controlul congestiei Dificil Simplu, dac pentru fiecare CV pot fi alo-
cate n avans suficiente resurse

Fig. 5-4. Comparaie ntre subreele datagram i subreele cu circuite virtuale.

n interiorul subreelei exist situaii n care trebuie s se aleag ntre faciliti antagoniste speci-
fice fie circuitelor virtuale, fie datagramelor. Un astfel de compromis este acela ntre spaiul de me-
morie 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 a circuitelor virtuale este spaiul ne-
cesar 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. Fo-
losirea 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 sub-
reea bazat pe circuite virtuale: ruterul folosete numrul circuitului ca un index ntr-o tabel pen-
tru a afla unde merge pachetul. ntr-o reea bazat pe datagrame, pentru a gsi intrarea corespunz-
toare destinaiei se folosete o procedur de cutare mult mai complicat.
O alt problem este cea a dimensiunii spaiului necesar pentru tabela din memoria ruteru-
lui. O subreea datagram necesit o intrare pentru fiecare destinaie posibil, n timp ce o reea cu
circuite virtuale necesit o intrare pentru fiecare circuit virtual. Totui, acest avantaj este relativ ilu-
zoriu deoarece i pachetele de iniializare a conexiunii trebuie rutate, iar ele folosesc adresele desti-
naie, la fel ca i datagramele.
SEC. 5.2 ALGORITMI DE DIRIJARE 315

Circuitele virtuale au unele avantaje n garantarea calitii serviciului i evitarea congestionrii
subreelei, deoarece resursele (de exemplu zone tampon, lrgime de band i cicluri CPU) 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 subreea bazat pe datagrame, evita-
rea congestionrii este mult mai dificil.
Pentru sistemele de prelucrare a tranzaciilor (de exemplu apelurile magazinelor pentru a verifi-
ca cumprturi realizate cu cri de credit) overhead-ul implicat de stabilirea i eliberarea unui circu-
it virtual poate reduce cu uurin utilitatea circuitului. Dac majoritatea traficului este de acest tip,
folosirea intern a circuitelor virtuale n cadrul subreelei nu prea are sens. Pe de alt parte, ar putea
fi de folos circuite virtuale permanente, stabilite manual i care s dureze luni sau chiar ani.
Circuitele virtuale au o problem de vulnerabilitate. Dac un ruter se defecteaz i i pierde con-
inutul memoriei, atunci toate circuitele virtuale care treceau prin el sunt suprimate, chiar dac aces-
ta i revine dup o secund. Prin contrast, dac se defecteaz un ruter bazat pe datagrame vor fi
afectai doar acei utilizatori care aveau pachete memorate temporar n cozile de ateptare ale
ruterului i este posibil ca numrul lor s fie i mai mic, n funcie de cte pachete au fost deja con-
firmate. Pierderea liniei de comunicaie este fatal pentru circuitele virtuale care o folosesc, ns
poate fi uor compensat dac se folosesc datagrame. De asemenea, datagramele permit ruterului s
echilibreze traficul prin subreea, deoarece cile pot fi modificate parial n cursul unei secvene
lungi de pachete transmise.


5.2 ALGORITMI DE DIRIJARE
Principala funcie a nivelului reea este dirijarea pachetelor de la maina surs ctre maina des-
tinaie. n majoritatea subreelelor pachetele vor face salturi multiple pentru a ajunge la destinaie.
Singura excepie remarcabil o reprezint reelele cu difuzare, dar chiar i aici dirijarea este impor-
tant, atunci cnd sursa i destinaia nu sunt n aceeai reea. 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 trebuie trimis un pachet recepionat. Dac subreeaua
folosete intern datagrame, aceast decizie trebuie luat din nou pentru fiecare pachet recepionat,
deoarece este posibil ca cea mai bun rut s se fi modificat ntre timp. Dac subreeaua folosete
circuite virtuale, deciziile de dirijare sunt luate doar la iniializarea unui nou circuit virtual. Dup
aceea pachetele de date vor urma doar calea stabilit anterior. Acest ultim caz este numit uneori
dirijare de sesiune (session routing), deoarece calea rmne n funciune pentru o ntreag sesiune
utilizator (de exemplu o sesiune de conectare de la un terminal -login- sau un transfer de fiiere).
Uneori este util s se fac distincia ntre dirijare, care nseamn alegerea cii care va fi folosit, i
retransmitere, care se refer la ceea ce se ntmpl atunci cnd sosete un pachet. Se poate spune
despre un ruter c ruleaz intern dou procese. Unul dintre ele preia fiecare pachet care sosete,
cutnd n tabela de dirijare linia de ieire folosit pentru el. Acesta este procesul de retransmitere
(forwarding). Cellalt proces se ocup de completarea i actualizarea tabelei de rutare. Aici algorit-
mul intervine de dirijare.
316 NIVELUL REEA CAP. 5


Indiferent dac ruta se alege independent pentru fiecare pachet sau doar la stabilirea unei noi
conexiuni, un algoritm de dirijare trebuie s aib anumite proprieti: corectitudine, simplitate, ro-
bustee, stabilitate, echitate, optimalitate. Corectitudinea i simplitatea nu mai au nevoie de comen-
tarii, dar necesitatea robusteii 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 gazd,
rutere, linii de comunicaie vor cdea 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
se defecteaz un ruter.
Stabilitatea este de asemenea un obiectiv important pentru algoritmul de dirijare. Exist algoritmi
de dirijare care niciodat nu converg la echilibru, indiferent ct timp ar rula. Un algoritm stabil atinge
starea de echilibru i o menine. Echitatea i optimalitatea sunt evidente este sigur c nici o persoa-
n neleapt nu li se opune - ns, aa cum se va arta, adeseori acestea sunt obiective contradictorii.
Un exemplu simplu al acestui conflict este prezentat n fig. 5-5. 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. Evi-
dent, este necesar un compromis ntre eficiena global i echitatea fa de fiecare dintre conexiuni.


Fig. 5-5. Conflict ntre echitate i optimalitate.

nainte de a ncerca s gsim rezolvarea acestui conflict ntre optimalitate i prevenirea defavori-
zrii, trebuie s stabilim ce vrem s optimizm. Minimizarea ntrzierii medii a unui pachet este un
candidat evident, ns la fel este i maximizarea productivitii (throughput) 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 minimizarea numrului de salturi pe care trebuie s le fac un pachet, 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: neadaptivi i adaptivi. Algoritmii neadap-
tivi (nonadaptive algorithms) nu i bazeaz deciziile de dirijare pe msurtori sau estimri ale trafi-
cului i topologiei curente. Astfel, alegerea cii folosite pentru a ajunge de la nodul I la nodul J (ori-
care ar fi I i J) se calculeaz n avans, off-line i parvine ruterului la iniializarea reelei. Aceast pro-
cedur se mai numete i dirijare static (static routing).
SEC. 5.2 ALGORITMI DE DIRIJARE 317

Algoritmii adaptivi (adaptive algorithms), 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 T 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). n seciunile urmtoare vom discuta o varietate de algo-
ritmi 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 afir-
maie despre rutele optimale fr a ne referi la topologia reelei sau la trafic. Aceast afirmaie este
cunoscut sub numele de principiul optimalitii (optimality principle). El stabilete c dac ruterul
J este pe calea optim de la ruterul I ctre ruterul K, atunci calea optim de la J la K este pe aceeai
rut. Pentru a vedea aceasta, s notm cu r
1
partea din cale de la I la J, iar cu r
2
restul rutei. Dac ar
exista o rut mai bun dect r
2
de la J la K, ea ar putea fi concatenat cu r
1
i ar mbunti ruta de la
I la K, ceea ce ar contrazice presupunerea c r
1
r
2
este optimal.

Fig. 5-6. (a) O subreea. (b) Un arbore de scufundare pentru ruterul B.

Ca o consecin direct a principiului optimalitii, putem observa c mulimea rutelor de la toa-
te 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-6, unde distana metrica aleas
este numrul de salturi. Observai c arborele de scufundare nu este unic, putnd exista i ali arbori
cu aceeai lungime a cii. Scopul tuturor algoritmilor de dirijare este de a descoperi i folosi arborii
de scufundare pentru toate ruterele.
Deoarece arborele de scufundare este ntr-adevr un arbore, el nu conine bucle, deci fiecare pa-
chet va fi livrat ntr-un numr finit i limitat de salturi. n practic viaa nu este 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
318 NIVELUL REEA CAP. 5


problem n curnd. Cu toate acestea, principiul optimalitii i arborele de scufundare furnizeaz
referine cu care pot fi comparai ceilali algoritmi de dirijare.
5.2.2 Dirijarea pe calea cea mai scurt
S ncepem studiul algoritmilor de dirijare posibili cu o tehnic des utilizat n multe forme deoa-
rece este simpl i uor de neles. Ideea este de a construi un graf al subreelei, fiecare nod al grafu-
lui 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 n graf calea cea
mai scurt dintre ele.
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 i ABE din
fig. 5-7 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 fig. este desenat la scar).
Oricum, sunt posibile multe alte metrici n afar de salturi i distana geografic. De exemplu, fi-
ecare arc poate fi etichetat cu valorile medii ale ateptrii n coad i ntrzierii de transmisie pentru
anumite pachete standard de test, aa cum sunt determinate de msurtori care se fac din or n or.
Cu aceast etichetare, cea mai scurt cale este cea mai rapid, nu neaprat cea cu mai puine arce
sau kilometri.

Fig. 5-7. Primii cinci pai folosii n calcularea celei mai scurte ci de la A la D.
Sgeile indic nodul curent.

SEC. 5.2 ALGORITMI DE DIRIJARE 319

n cazul cel mai general, etichetele de pe arce ar putea fi calculate ca funcii de distan, lrgime
de band, trafic mediu, cost al comunicaiei, lungime medie a cozilor de ateptare, ntrzieri msura-
te 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.
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 dis-
tana 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 permanen-
t. Iniial toate etichetele sunt temporare. Atunci cnd se descoper c o etichet reprezint cea mai
scurt cale posibil de la surs ctre acel nod, ea devine permanent i nu se mai schimb ulterior.
Pentru a ilustra cum funcioneaz algoritmul de etichetare, s ne uitm la graful neorientat, eti-
chetat din fig. 5-7(a), unde etichetele reprezint, de exemplu, distana. Dorim s aflm cea mai scur-
t cale de la A la D. ncepem prin a marca nodul A ca permanent, indicnd aceasta printr-un cerc
colorat. Apoi vom examina fiecare nod adiacent cu A (care este acum nodul curent), reetichetnd
fiecare nod cu distana pn la nodul A. 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 l facem permanent pe cel cu eticheta minim, aa cum se observ din fig. 5-7(b). Acest nod
devine noul nod curent.
Acum ncepem din B i examinm toate nodurile sale adiacente. Dac suma ntre eticheta lui B i
distana de la B la nodul considerat este mai mic dect eticheta acelui nod, nseamn c am gsit o
cale mai scurt i va trebui fcut reetichetarea nodului.
Dup ce toate nodurile adiacente nodului curent au fost inspectate i au fost schimbate toate eti-
chetele 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-7 prezint primii cinci pai ai algoritmului.
Pentru a vedea de ce merge algoritmul, s privim fig. 5-7(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 calea AXYZE nu a fost ignorat i deci nu poate fi cea mai scurt cale.
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-8. Variabilele globale n i dist sunt iniializate nainte s fie
apelat shortest_path. Singura diferen ntre program i algoritmul descris mai sus este aceea c n
fig. 5-8 calculm calea cea mai scurt pornind de la nodul terminal, t, n locul nodului surs, s. Deoa-
rece calea cea mai scurt de la t la 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 destina-
ie este acela c nodurile sunt etichetate cu predecesorul i nu cu succesorul. Atunci cnd calea fina-
l este copiat n variabila de ieire, path, calea este inversat. Prin inversarea cutrii, cele dou
efecte se anuleaz, astfel nct rezultatul se obine n ordinea corect.

320 NIVELUL REEA CAP. 5


#define MAX_NODES 1024 /* numrul maxim de noduri */
#define INFINITY 1000000000 /* un numr mai mare dect orice cale */
int n,dist[MAX_NODES][ MAX_NODES] /* dist[i][j] e distana de la i la j */

void shortest_path(int s, int t, int path[])
{ struct state { /* calea cu care se lucreaz */
int predecessor; /* nodul anterior */
int length; /* lungimea de la surs la acest nod */
enum {permanent, tentative} label; /* etichet stare */
}state [MAX_NODES];

int i, k, min;
struct state *p;

for (p = &state[0]; p < &state[n]; p++) { /* iniializri */
p->predecessor = -1;
p->length = INFINITY;
p->label = tentative;
}
state[t].length = 0; state[t].label = permanent;
k = t; /* k este nodul iniial de lucru */
do { /* exist vreo cale mai bun de la k? */
for (i = 0; i < n; i++) /* graful are n noduri */
if (dist[k][i] != 0 && state[i].label == tentative) {
if (state[k].length + dist[k][i] < state[i].length) {
state[i].predecessor = k;
state[i].length = state[k].length + dist[k][i];
}
}

/* Gsete nodul etichetat temporar cu cea mai mic etichet */
k = 0; min = INFINITY;
for (i = 0; i < n; i++)
if (state[i].label == tentative && state[i].length < min) {
min = state[i].length;
k = i;
}
state[k].label = permanent;
} while (k != s);

/* Copiaz calea n vectorul de ieire */
i = 0; k = s;
do { path[i++] = k; k = state[k].predecessor; } while (k >= 0);
}

Fig. 5-8. Algoritmul Dijkstra pentru calculul celei mai scurte ci ntr-un graf.
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 gene-
reaz 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 fiec-
SEC. 5.2 ALGORITMI DE DIRIJARE 321

rui pachet, contor care este decrementat la fiecare salt i care face ca pachetul s fie distrus cnd
contorul atinge valoarea zero.
Ideal ar fi ca acest contor s fie iniializat cu lungimea cii de la surs la destinaie. Dac emito-
rul nu cunoate lungimea cii, poate iniializa contorul la valoarea cea mai defavorabil, adic dia-
metrul 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 scop este
ca ruterul surs s plaseze un numr de secven n fiecare pachet pe care l primete de la calculato-
rul gazd asociat. Fiecare ruter necesit meninerea unei liste pentru fiecare ruter surs, cu numere-
le de secven provenite de la 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 semnifi-
c faptul c toate numerele de secven pn la k au fost deja tratate. La recepia unui pachet este
uor s se verifice dac este 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
(selective flooding). 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, dect dac topo-
logia reelei este cu totul deosebit i ruterul este sigur de acest lucru.
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 n orice moment,
robusteea extraordinar a inundrii este necesar. n aplicaiile de baze de date distribuite, este
uneori necesar ca toate bazele de date s fie actualizate simultan, caz n care inundarea poate fi folo-
sitoare. n reelele fr fir, toate mesajele transmise de o gazd pot fi recepionate de toate celelalte
gazde din raza sa radio, ceea ce nseamn de fapt inundare, i unii algoritmi folosesc aceast proprie-
tate. O a patra utilizare posibil a inundrii este ca metric la care s se raporteze toi ceilali algo-
ritmi 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 ig-
norm suprancrcarea generat de nsui procesul de inundare).
5.2.4 Dirijare cu vectori distan
Reelele moderne de calculatoare folosesc de obicei algoritmi dinamici de dirijare n locul celor
statici, descrii anterior, deoarece algoritmii statici nu in seama de ncrcarea curent a reelei. Doi
dintre cei mai cunoscui algoritmi dinamici sunt algoritmul de dirijare cu vectori distan i algorit-
mul de dirijare bazat pe starea legturilor. n aceast seciune ne vom ocupa de primul algoritm. n
seciunea urmtoare vom studia cel de-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 fieca-
re 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, cel mai des algoritmul
distribuit de dirijare Bellman-Ford i algoritmul Ford-Fulkerson, dup numele cercettorilor care l-
322 NIVELUL REEA CAP. 5


au propus (Bellman, 1957; i Ford i Fulkerson, 1962). A fost algoritmul de dirijare folosit iniial n
reeaua ARPANET, a fost folosit de asemenea n Internet sub numele de RIP.
n dirijarea pe baza vectorilor distan, fiecare ruter pstreaz o tabel de dirijare coninnd cte
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 des-
tinaie. Metrica folosit poate fi numrul de salturi, ntrzierea n milisecunde, numrul total de pa-
chete care ateapt n cozi de-a lungul cii, sau ceva asemntor.
Se presupune c ruterul cunoate distana spre fiecare dintre vecinii si. Dac se folosete me-
trica salturilor, distana este doar de un salt. Dac metrica folosit este cea a lungimii cozilor de a-
teptare, ruterul examineaz pur i simplu lungimile acestor cozi. Dac metrica este cea a ntrzieri-
lor, 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 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. S presupunem c una dintre aceste tabele tocmai a sosit de la vecinul X, cu X
i
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 i trecnd prin X n X
i
+ 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. Este de re-
marcat faptul c vechea tabel de dirijare nu intervine n calcule.


Fig. 5-9. (a) O subreea. (b) Intrri de la A, I, H i K i noua tabel de dirijare pentru J.

Acest proces de actualizare este ilustrat n fig. 5-9. Partea (a) prezint o subreea. Primele patru
coloane din partea (b) conin vectorii de ntrzieri primii de la vecinii ruterului J. A afirm c are
12 msec ntrziere spre B, 25 msec ntrziere spre C, 40 msec ntrziere spre D etc. Presupunem c
SEC. 5.2 ALGORITMI DE DIRIJARE 323

J i-a msurat sau estimat ntrzierea fa de vecinii si A, I, H i K, obinnd valorile 8, 10, 12 i 16
ms, respectiv.
S vedem cum calculeaz J noua cale spre ruterul 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 J 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, aa c va crea
o intrare n tabela de dirijare cu ntrzierea ctre G de 18 msec i ruta de urmat trecnd prin H. Ace-
leai calcule se fac pentru toate destinaiile, obinndu-se noua tabel de dirijare, care este prezenta-
t n ultima coloan a figurii.
Problema numrrii la infinit
Dirijarea folosind vectori distan funcioneaz n teorie, ns n practic are o limitare importan-
t: 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, ruterul va comuta i va folosi linia spre A pentru a dirija traficul spre X. Ast-
fel, ntr-o singur schimbare a vectorului, vestea bun a fost luat n considerare.
Pentru a vedea ct de repede se propag vetile bune, s considerm subreeaua (liniar) de cinci
noduri din fig. 5-10, unde metrica ntrzierilor este numrul de salturi. S presupunem c iniial no-
dul 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 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-10(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.

Fig. 5-10. Problema numrrii la infinit.
324 NIVELUL REEA CAP. 5



S considerm acum situaia din fig. 5-10(b), n care toate liniile i ruterele sunt iniial n funciune.
Ruterele B, C, D i E 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 pro-
blem. 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, toate cu ci separate de lungime 2 spre A. Prin
urmare B va crede c poate ajunge la A prin C pe o cale de lungime 3. D i E nu i actualizeaz in-
trrile proprii pentru A la primul schimb.
La al doilea schimb, C remarc faptul c fiecare dintre vecinii si pretinde a avea o cale de lun-
gime 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-10(b). Schimburile urmtoare vor produce succe-
siunea prezentat n continuare n fig. 5-10(b).
Din aceast figur se poate deduce de ce vetile rele circul mai lent: orice ruter va avea ntot-
deauna o valoare cu cel mult unu mai mare dect valoarea minim a vecinilor si. Treptat, toate
ruterele vor ajunge la infinit, ns numrul de schimburi necesar depinde de valoarea numeric folo-
sit 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 defini-
t nici o limit superioar, astfel nct este necesar o valoare mare pentru a preveni considerarea
unui drum cu ntrziere mare ca fiind un drum defect. Nu este deloc surprinztor c aceast pro-
blem este numit problema numrrii la infinit (the count to infinity problem). Au existat cteva
ncercri de rezolvare a problemei (cum ar fi orizont mprit cu revers otrvit - eng.: split horizon
with poisoned reverse - n RFC 1058), dar nici una nu a funcionat bine n general. Miezul problemei
este c atunci cnd X i spune lui Y c are o cale spre o destinaie, Y nu are de unde s tie dac se
afl el nsui pe acea cale.
5.2.5 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, la stabilirea
rutei nu se lua n considerare limea de band. Iniial toate liniile erau de 56 Kbps, astfel nct li-
mea 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 (problema numrrii la infinit). De
aceea, a fost nlocuit cu un algoritm nou, numit algoritm de dirijare folosind starea legturilor (link
state routing). Variante de dirijare folosind starea legturilor sunt actualmente foarte rspndite.
Ideea algoritmului bazat pe starea legturilor este simpl i poate fi formulat n 5 puncte. Fieca-
re ruter trebuie s fac urmtoarele:

1. S 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 da-
tele despre vecini.
SEC. 5.2 ALGORITMI DE DIRIJARE 325

4. S trimit acest pachet ctre toate celelalte rutere.
5. S calculeze cea mai scurt cale spre fiecare ruter.

Ca urmare, ntreaga topologie i toate ntrzierile sunt msurate experimental i distribuite spre
fiecare ruter. Apoi se poate rula 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 realizea-
z aceasta prin trimiterea unui pachet special HELLO pe fiecare linie prin care este legat la alt ruter.
Ruterul 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.
Cnd dou sau mai multe rutere sunt conectate printr-o reea LAN, situaia devine puin mai
complicat. Fig. 5-11(a) ilustreaz un LAN la care sunt conectate direct ruterele A, C i F. Fiecare
dintre aceste rutere este conectat cu unul sau mai multe alte rutere, aa cum se arat n figur.
O modalitate de a modela reeaua LAN este de a o considera ca un nod, aa cum se arat n fig.
5-11 (b). Aici am introdus un nod nou, artificial, N, la care A, C i F sunt conectate. Faptul c este
posibil s se mearg de la A la C prin LAN este reprezentat aici de calea ANC.

Fig. 5-11. (a) Nou rutere i o LAN. (b) Graful asociat punctului (a).
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 dintre 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-l trimit na-
poi imediat. Msurnd timpul n care pachetul se ntoarce (round-trip time) i mprindu-l 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. Bineneles, aceast
metod presupune implicit c ntrzierile sunt simetrice, dar nu mereu este aa.
O problem interesant este dac s se considere sau nu ncrcarea reelei la msurarea ntrzie-
rii. Pentru a ine cont de ncrcare, timpul de revenire trebuie msurat din momentul n care pache-
tul ECHO este pus n coad. Pentru a ignora ncrcarea, ceasul se poate porni n momentul n care
pachetul ECHO ajunge pe prima poziie din coad.
326 NIVELUL REEA CAP. 5



Fig. 5-12. O subreea n care prile de Est i Vest sunt conectate prin dou linii.

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. Aceast alegere va
duce la mbuntirea performanelor.
Din pcate, exist i un argument mpotriva folosirii ncrcrii la calculul ntrzierii. S considerm
subreeaua din fig. 5-12, 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. Cu toate acestea, pentru a evita oscilaiile n alegerea celei mai bune ci, poate fi
nelept s se distribuie ncrcarea pe mai multe linii, n proporii cunoscute pe fiecare linie.
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 iden-
titatea 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 subreea este
prezentat n fig. 5-13(a), unde etichetele liniilor reprezint ntrzierile asociate. Pachetele cu starea
legturilor asociate tuturor celor ase rutere sunt prezentate n fig. 5-13(b).
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 regu-
late. 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 semnifica-
tiv a proprietilor lor.
SEC. 5.2 ALGORITMI DE DIRIJARE 327


Fig. 5-13. (a) O subreea. (b) Pachetele cu starea legturilor pentru aceast subreea.
Distribuirea pachetelor cu starea legturilor
Cea mai complicat parte a algoritmului este distribuirea sigur a pachetelor cu starea legturi-
lor. 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 une-
le 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 ex-
cepia 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 sec-
ven 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, deoa-
rece 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 ruterul respectiv
este distrus. n mod normal un nou pachet apare, s zicem, la fiecare 10 sec., astfel nct informaia
de la ruter expir doar dac ruterul este oprit (sau dac ase pachete consecutive s-au pierdut, un
lucru extrem de improbabil). Cmpul Age este decrementat de asemenea de fiecare ruter la ncepu-
tul 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-l fac mai robust. Atunci cnd un pachet cu starea le-
gturilor ajunge ntr-un ruter pentru inundare, acesta nu este pus imediat n coada de transmisie. El
este pus ntr-o zon de ateptare pentru o scurt perioad. Dac nainte de a fi trimis primul pachet
sosete un alt pachet cu starea legturilor de la aceeai surs, numerele lor de secven sunt compa-
rate. Dac sunt identice, duplicatul este distrus. Dac sunt diferite, cel mai btrn este ignorat. Pen-
328 NIVELUL REEA CAP. 5


tru 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-13(a) este descris n
fig. 5-46. Fiecare linie corespunde unui pachet cu starea legturilor sosit recent, dar nc neprelucrat n
ntregime. n tabel se nregistreaz originea pachetului, numrul de secven, vrsta i datele transpor-
tate. 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.
n fig. 5-14, pachetul cu starea legturilor de la A 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 tre-
buie trimis ctre A i C i confirmat ctre F.


Fig. 5-14. Zona tampon pentru pachete a ruterului B din fig. 5-13.

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 lui A 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 tri-
mis, cei ase bii se vor schimba n 100011, pentru a preciza c pachetul trebuie confirmat ctre F,
dar nu trimis acolo.
Calcularea noilor rute
De ndat ce un ruter a acumulat un set complet de pachete cu starea legturilor, el poate con-
strui graful ntregii subreele, 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 fo-
losite separat.
Acum poate fi folosit local algoritmul lui Dijkstra, pentru a construi cea mai scurt cale ctre toa-
te destinaiile posibile. Rezultatul acestui algoritm poate fi trecut n tabelele de dirijare, iar apoi ope-
raiile normale pot fi reluate.
Pentru o subreea format din n rutere, fiecare avnd k vecini, memoria necesar pentru a me-
mora datele de intrare este proporional cu kn. Pentru subreele 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.
SEC. 5.2 ALGORITMI DE DIRIJARE 329

Oricum, probleme ale hardware-ului sau software-ului pot influena negativ funcionarea acestui
algoritm (la fel ca i 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
retrimiterea pachetelor sau le altereaz n timp ce le retrimite, vor aprea 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 potrivi-
te cteva cuvinte despre unele protocoale care o folosesc. Protocolul OSPF, care este extrem de fo-
losit n Internet, utilizeaz un algoritm bazat pe starea legturilor. Vom descrie protocolul OSPF n
sect. 5.6.4.
Un alt protocol bazat pe starea legturilor este IS-IS (Intermediate System-Intermediate
System, Sistem Intermediar Sistem Intermediar), 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 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 actualiza-
rea 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.
5.2.6 Dirijare ierarhic
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 n
care nu mai este posibil ca fiecare ruter s dein o intrare pentru fiecare alt ruter, astfel nct dirija-
rea trebuie fcut ierarhic, la fel ca n reeaua telefonic.
Atunci cnd se folosete dirijarea ierarhic, ruterele sunt mprite n ceea ce vom numi regiuni
(regions), 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. Cnd reele diferite
sunt interconectate, 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.
330 NIVELUL REEA CAP. 5




Fig. 5-15. Dirijare ierarhic.

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 conside-
rm 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 pro-
gramat 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.
Fig. 5-15 sugereaz un exemplu cantitativ al dirijrii ntr-o ierarhie pe dou niveluri, avnd cinci
regiuni. Tabela de dirijare complet a ruterului 1A are 17 intrri, aa cum se arat n
fig. 5-15 (b). Atunci cnd dirijarea se face ierarhic, aa ca n fig. 5-15(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 1B-2A, 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 economi-
sete 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 1A 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
SEC. 5.2 ALGORITMI DE DIRIJARE 331

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 pen-
tru o subreea cu N rutere este lnN, ceea ce necesit un total de e lnN intrri pentru fiecare ruter. De
asemenea ei au artat c creterea efectiv a lungimii medii a cilor provocat de dirijarea ierarhic
este suficient de mic pentru a fi acceptat.
5.2.7 Dirijarea prin difuzare
n unele aplicaii, calculatoarele gazd au nevoie s trimit mesaje ctre mai multe sau ctre toa-
te celelalte calculatoare gazd. De exemplu, un serviciu de distribuire a rapoartelor meteorologice,
de actualizare a cursului aciunilor 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); mai
multe metode pentru realizarea ei au fost propuse.
O metod de difuzare care nu are cerine speciale pentru subreea este ca sursa s trimit un pa-
chet 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 obi-
nuit capt la capt, pentru difuzare ar trebui luat serios n considerare, mai ales dac nici una din-
tre metodele ce vor fi descrise n continuare nu este aplicabil. Problema folosirii inundrii ca meto-
d 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 (multidestination routing). Dac se folosete
aceast metod, fiecare pachet conine fie o list a destinaiilor, fie o hart de bii care indic desti-
naiile dorite. Atunci 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 nu-
mr suficient de salturi, fiecare 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, cu excepia faptului c atunci cnd 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 iniia-
z 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 recepi-
onat. 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 aplica-
332 NIVELUL REEA CAP. 5


bil, 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 precedentu-
lui, chiar i atunci cnd ruterele nu tiu absolut nimic despre arborele de acoperire. Ideea, numit
trimiterea pe calea invers (reverse path forwarding) este remarcabil de simpl odat ce a fost indi-
cat. 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, ruterul 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.
Un exemplu de trimitere pe calea invers, este prezentat n fig. 5-16. Partea (a) prezint subre-
eaua, partea (b) arat arborele de scufundare pentru ruterul I al subreelei, iar partea (c) prezint
cum funcioneaz algoritmul cii inverse. La primul salt, I 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 I
(presupunnd c ruta preferat face parte din arborele de scufundare), lucru care este indicat printr-
un cerc 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 nevizi-
tate i cinci dintre ele ajung pe linia preferat. Dintre cele ase pachete generate la al treilea salt,
doar trei sosesc pe linia preferat (n C, E i K); celelalte sunt duplicate. Dup cinci salturi i 24 pa-
chete, difuzarea se termin, spre deosebire de patru salturi i 14 pachete necesare dac arborele de
scufundare ar fi fost urmat integral.

Fig. 5-16. Algoritmul trimiterii pe calea invers. (a) O subreea. (b) Un arbore de scufundare.
(c) Arborele construit de algoritmul cii inverse.

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 algo-
ritmului 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 di-
ametrului subreelei, fie o list de pachete deja vzute pentru fiecare surs).
SEC. 5.2 ALGORITMI DE DIRIJARE 333

5.2.8 Dirijarea cu trimitere multipl (multicast)
Unele aplicaii necesit ca procese aflate la mari distane unele de altele s lucreze n grup, de
exemplu, un grup de procese care implementeaz o baz de date distribuit. n aceste situaii, este
adesea 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 receptori-
lor nu sunt interesai de mesaj (sau chiar mai ru, sunt foarte interesai, dar nu trebuie s vad mesa-
jul). De aceea, avem nevoie de o modalitate de a trimite mesaje spre grupuri bine definite, care con-
in un numr mare de noduri, dar totui redus fa de dimensiunea ntregii reele.
Trimiterea unui mesaj ctre un astfel de grup se numete multicasting, iar algoritmul de dirijare
asociat se numete dirijare multicast (multicast routing). n aceast seciune, vom descrie o modali-
tate de a realiza dirijarea multicast. Pentru informaii suplimentare, vezi (Chu et al., 2000; Costa et
al. 2001; Kasera et al., 2000; Madruga and Garcia-Luna-Aceves, 2001; Zhang and Ryu, 2001).
Dirijarea multicast necesit managementul grupului. Trebuie s existe modaliti de a crea i dis-
truge grupuri i de a permite proceselor s intre n grupuri sau s le prseasc. Cum se realizeaz
aceste funcii nu este 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
important ca ruterele s tie cror grupuri le aparin calculatoarele gazd asociate. Fie calculatoarele
gazd trebuie s anune ruterul asociat la producerea unei modificri n alctuirea grupurilor, fie
ruterul trebuie s interogheze periodic aceste calculatoare gazd. n ambele cazuri, ruterul afl din
ce grupuri fac parte calculatoarele gazd. Ruterele i informeaz vecinii, astfel c informaia se pro-
pag 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-17(a) avem 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-17(b).
Atunci cnd un proces trimite un pachet multicast ctre un grup, primul ruter i examineaz ar-
borele de acoperire i l reteaz, eliminnd toate liniile care nu conduc ctre calculatoare gazd,
membre ale grupului. n exemplul nostru, fig. 5-17(c) arat arborele de acoperire retezat pentru
grupul 1. Similar, fig. 5-17(d) arat arborele de acoperire retezat pentru grupul 2. Pachetele
multicast sunt dirijate doar de-a lungul arborelui de acoperire corespunztor.
Sunt posibile mai multe moduri de retezare a arborelui de acoperire. Cel mai simplu se poate fo-
losi dac se utilizeaz dirijarea bazat pe starea legturilor i fiecare ruter cunoate ntreaga topolo-
gie a subreelei, inclusiv apartenena calculatoarelor gazd la grupuri. Atunci arborele poate fi rete-
zat pornind de la sfritul fiecrei ci, mergnd spre rdcin i eliminnd toate ruterele care nu
aparin grupului respectiv.
n cazul dirijrii folosind vectori distan, poate fi aplicat o alt strategie de retezare a 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 expedi-
torul s nu i mai trimit mesaje multicast pentru acel grup. Cnd un ruter care nu are printre calcu-
latoarele gazd nici un membru al vreunui grup primete astfel de mesaje pe toate liniile sale, el poa-
te de asemenea s rspund cu un mesaj PRUNE. n acest fel subreeaua este retezat recursiv.
334 NIVELUL REEA CAP. 5



Fig. 5-17. (a) O reea. (b) Un arbore de acoperire pentru cel mai din stnga ruter.
(c) Un arbore multicast al grupului 1. (d) Un arborele multicast al grupului 2.

Un potenial dezavantaj al acestui algoritm este acela c se comport deficitar n cazul reele-
lor 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 multe grupuri mari, atunci, pentru a memora toi arborii, este necesar un spaiu de
memorie considerabil.
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, nu-
cleu) lng mijlocul grupului. Pentru a trimite un mesaj multicast, un calculator gazd trimite mesa-
jul 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 pe grup re-
prezint o economie semnificativ.
5.2.9 Dirijarea pentru calculatoare gazd mobile
Milioane de oameni dein astzi calculatoare portabile i, de obicei, doresc s-i citeasc pota
electronic i s-i acceseze sistemele de fiiere uzuale din orice punct al lumii s-ar afla. Aceste calcu-
latoare mobile introduc o nou complicaie: pentru a dirija un pachet ctre un calculator mobil, re-
eaua trebuie mai nti s-l 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.
SEC. 5.2 ALGORITMI DE DIRIJARE 335

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.
Calculatoarele gazd care nu se mic niciodat se numesc staionare. Ele sunt conectate la reea
prin fire de cupru sau fibre optice. Prin contrast, putem distinge alte dou categorii de calculatoare
gazd. Calculatoarele gazd migratoare sunt de fapt calculatoare gazd staionare, dar care, din
cnd n cnd, se mut dintr-un loc fixat n altul i care folosesc reeaua doar atunci cnd sunt conec-
tate fizic. Calculatoarele gazd cltoare efectueaz calcule n timp ce se deplaseaz i doresc s
menin legtura n timpul deplasrii. Vom folosi termenul gazd mobil pentru a desemna fiecare
dintre ultimele dou categorii, adic toate calculatoarele gazd care sunt departe de cas i doresc
totui s fie conectate.
Se presupune c toate calculatoarele gazd au o locaie de domiciliu permanent (home location),
care nu se modific niciodat. Calculatoarele gazd 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 telefon 1-212-5551212 indic Statele Unite (codul de ar 1) i Manhattan (212). Scopul
dirijrii n sistemele cu calculatoare gazd mobile este de a face posibil trimiterea pachetelor spre
gazde mobile folosind adresa lor personal permanent i s se asigure o trimitere eficient a pache-
telor spre ele, oriunde ar fi acestea. Problema este, bineneles, modul de localizare a lor.

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 de-
numim aceste uniti domenii, unde un domeniu este de obicei un LAN sau o celul de comunicaie
fr fir. Fiecare domeniu are unul sau mai muli ageni pentru strini (foreign agent), procese ce in
evidena tuturor gazdelor mobile care viziteaz domeniul. n plus, fiecare domeniu are un agent lo-
cal (local agent) care ine evidena calculatoarelor gazd cu domiciliul n domeniul respectiv, dar
care momentan viziteaz alte domenii.
Cnd un nou calculator gazd ptrunde ntr-un domeniu, fie prin conectarea la acesta (ataarea
fizic la LAN), fie prin plimbarea printr-o celul, 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
336 NIVELUL REEA CAP. 5


unul nu sosete ntr-un interval rezonabil de timp, calculatorul mobil poate difuza un pa-
chet care spune: Este vreun agent pentru strini prin zon?
2. Calculatorul mobil se nregistreaz la agentul pentru strini preciznd adresa sa permanen-
t, 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 utiliza-
torul 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 str-
ini. El mai conine de asemenea i informaia de securitate, pentru a convinge agentul local
c gazda mobil este ntr-adevr acolo.
4. Agentul local examineaz informaia de securitate, care conine i o tampil de timp, pen-
tru a dovedi c a fost generat n ultimele cteva secunde. Dac este mulumit, atunci anun-
agentul pentru strini c poate trece la aciune.
5. Cnd agentul pentru strini primete confirmarea de la agentul local, el creeaz o nou in-
trare n tabela sa i anun utilizatorul mobil c a fost nregistrat.

Ideal, atunci cnd un calculator gazd 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 o gazd mobil, el este dirijat ctre domiciliul calculatorului gaz-
d, deoarece adresa sugereaz c aa trebuie fcut, dup cum se ilustreaz i n pasul 1 din fig. 5-19.
Aici emitorul, aflat n oraul de nord-vest Seattle, dorete s trimit un pachet ctre un calculator
gazd aflat n New York, traversnd Statele Unite. Pachetele trimise ctre calculatorul gazd mobil
n LAN-ul su de domiciliu, n New York, sunt interceptate de agentul local de acolo. Apoi agentul
local caut noua locaie (temporar) a gazdei mobile i afl adresa agentului pentru strini care se
ocup de gazdele mobile, n Los Angeles.

Fig. 5-19. Dirijarea pachetelor pentru gazde mobile.

Agentul local face 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
SEC. 5.2 ALGORITMI DE DIRIJARE 337

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 calculatorul gazd mobil drept cadru al nivelului legtur de date.
n al doilea rnd, agentul local anun expeditorul mesajului ca de acum ncolo s trimit pache-
tele adresate gazdei mobile ncapsulndu-le n cmpul de informaie util (payload) al unor pachete
trimise explicit agentului pentru strini, n loc s le trimit la adresa de domiciliu a calculatorului
gazd mobil (pasul 3). Pachetele urmtoare vor putea fi dirijate direct ctre utilizator, prin interme-
diul agentului pentru strini (pasul 4), evitnd 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, n unele scheme exist rutere de-a lungul traseului care nregis-
treaz 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 pachete-
le 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 Stephany ctre mine, el ar putea avea dubii n
legtur cu partenerul de dialog i dac este o idee bun. Diferite protocoale pentru calculatoare
gazd mobile sunt discutate i comparate n (Hac i Guo, 2000; Perkins, 1998a; Snoeren i
Balakrishan, 2000; Solomon, 1998; i Wang i Chen, 2001).
5.2.10 Dirijarea n reele AD HOC
Am vzut cum se face dirijarea atunci cnd calculatoarele gazd sunt mobile, dar ruterele sunt fi-
xe. Un caz aparte apare atunci cnd nsi ruterele sunt mobile. Printre situaiile posibile sunt:

1. Vehicule militare pe un cmp de lupt atunci cnd nu exist o infrastructur.
2. O flot aflat n larg.
3. Echipe de intervenie la un cutremur ce a distrus infrastructura.
4. O adunare de persoane cu calculatoare portabile ntr-o zon fr 802.11.

n toate aceste cazuri, i altele, fiecare nod este compus dintr-un ruter i o gazd, de obicei
pe acelai calculator. Reelele de noduri ce ntmpltor se afl aproape unul de cellalt sunt numi-
te reele ad hoc (ad hoc network) sau MANET (Mobile Ad hoc NETworks, reele mobile ad hoc). S
le studiem pe scurt. Mai multe informaii pot fi gsite n (Perkins, 2001).
Diferena ntre reelele ad hoc i reelele cablate (eng.: wired) este c toate regulile despre topo-
logii fixe, vecini fici i cunoscui, relaii fixe stabilite ntre adresa IP i locaie, i altele, sunt complet
suprimate. Ct ai clipi ruterele pot s apar i s dispar sau s apar n alte locuri. n cazul reelelor
cablate, dac un ruter are o cale valid ctre o destinaie, aceasta continu sa fie valid un timp ne-
definit (suportnd o defeciune n alt parte a sistemului). Cu o reea ad hoc, topologia se poate
schimba mereu, aa c oportunitatea i chiar validitatea cailor se poate schimba spontan, fr averti-
338 NIVELUL REEA CAP. 5


zare. Nu mai trebuie spus c n aceste circumstane dirijarea n reelele ad hoc difer foarte mult fa
de dirijarea n echivalentul lor fix.
Au fost propui diferii algoritmi de dirijare pentru reelele ad hoc. Unul dintre cei mai interesani
este algoritmul de dirijare AODV (Ad hoc On-demand Distance Vector, vectori distan ad hoc la
cerere) (Perkins i Royer, 1999). Este o rud ndeprtat a algoritmului cu vectori distan Bellman-
Ford dar adaptat pentru un mediu mobil i care ia n considerare limitele lrgimii de band i durata
scurt de funcionare a unei baterii n acest mediu. O alt caracteristic neobinuit este faptul c
acesta este un algoritm la cerere, adic determin o cale ctre o anumit destinaie doar atunci cnd
cineva dorete s trimit un pachet ctre acea destinaie. S vedem acum ce nseamn asta.
Descoperirea rutei
La orice moment de timp, o reea ad hoc poate fi descris de un graf de noduri (rutere + gazde).
Dou noduri sunt conectate (de exemplu, exist un arc ce le unete n graf) dac pot comunica direct
folosind radioul. Cum unul dintre ele poate avea un transmitor mai puternic dect cellalt, este
posibil ca A s fie conectat cu B dar B s nu fie conectat cu A. Totui, pentru a simplifica, presupu-
nem c toate conexiunile sunt simetrice. De asemenea ar trebui observat c simplul fapt c fiecare
din cele dou noduri este n raza radio a celuilalt nu nseamn c ele sunt conectate. Pot exista cl-
diri, dealuri sau alte obstacole care s blocheze comunicaia.
Pentru a descrie algoritmul, considerm reeaua ad hoc din fig. 5-20, n care un proces al nodului
A dorete s transmit un pachet nodului I. Algoritmul AODV menine o tabel n fiecare nod, n
care cheia este destinaia, i care d informaii despre acea destinaie, inclusiv crui vecin trebuie tri-
mise pachetele pentru a ajunge la destinaie. S presupunem c A se uit n tabel i nu gsete nici o
intrare pentru I. Trebuie deci s descopere o rut pn la I. Aceast proprietate de descoperire a rute-
lor doar atunci cnd sunt necesare este cea care face din acest algoritm un algoritm la cerere.

Fig. 5-20. (a) Raza de difuzare a lui A. (b) Dup ce B i D au primit difuzarea lui A. (c) Dup ce C, F
i G au primit difuzarea lui A. (d) Dup ce E, H i I au primit difuzarea lui A.
Nodurile haurate sunt noii destinatari. Sgeile arat calea invers posibil.

Pentru a l localiza pe I, A construiete un pachet special ROUTE REQUEST i l difuzeaz. Pa-
chetul ajunge la B i la D, aa cum este ilustrat n fig. 5-20(a). De fapt, motivul pentru care B i D
sunt conectate cu A n graf este acela c pot comunica cu A. F, de exemplu, nu este prezentat ca fiind
legat printr-un arc cu A deoarece nu poate recepiona semnalul radio emis de A.
SEC. 5.2 ALGORITMI DE DIRIJARE 339

Formatul pachetului ROUTE REQUEST este prezentat n fig. 5-21. El conine adresele surs i
destinaie, bineneles adrese IP, care specific cine caut pe cine. Conine de asemenea i un ID Cere-
re (Request ID), care este un contor local inut de fiecare nod i incrementat la fiecare difuzare a unui
pachet ROUTE REQUEST. mpreun, cmpurile adres Surs i ID Cerere identific unic pachetul
ROUTE REQUEST pentru a permite nodurilor s nlture orice duplicat pe care-l primesc.

Fig. 5-21. Formatul unui pachet ROUTE REQUEST

n plus, pe lng contorul ID Cerere, fiecare nod menine un al doilea contor de secven incre-
mentat de fiecare dat cnd este trimis un pachet ROUTE REQUEST (sau un rspuns la un
ROUTE REQUEST). Acesta funcioneaz asemntor unui ceas i este folosit pentru a deosebi
rutele noi de cele vechi. Cel de-al patrulea cmp din fig. 5-21. este contorul de secvene al lui A; al
cincilea cmp este cea mai recent valoare a contorului de secvene a lui I ntlnit de A (0 dac nu a
ntlnit-o niciodat). Rolul acestor cmpuri se va clarifica n scurt timp. Ultimul cmp, contorul de
salturi (Hop count), va memora cte salturi a fcut pachetul. Acesta este iniializat cu 0.
Cnd un pachet ROUTE REQUEST ajunge la un nod (n acest caz B i D), este prelucrat astfel:

1. Perechea (Adres surs, ID Cerere) este cutat ntr-o tabel local cu istoria cererilor pen-
tru a vedea dac aceast cerere a mai fost ntlnit i procesat. Dac este un duplicat,
atunci este nlturat i procesarea se oprete. Dac nu este un duplicat, atunci perechea este
introdus tabel pentru ca viitoarele duplicate s poat fi rejectate, i procesarea continu.
2. Receptorul caut destinaia n propria tabela de dirijare. Dac a aflat o nou cale ctre des-
tinaie, atunci sursei i este trimis un pachet ROUTE REPLY, spunndu-i cum se ajunge la
destinaie. Nou nseamn c numrul de secven al destinaiei memorat n tabela de dirijare
este mai mare sau egal cu numrul de secven al destinaiei din pachetul ROUTE
REQUEST. Dac este mai mic, calea memorat este mai veche dect calea anterioar pe
care sursa o avea pentru destinaie, aa c se execut pasul 3.
3. Deoarece receptorul nu tie o rut nou ctre destinaie, incrementeaz cmpul contor de
salturi i redifuzeaz pachetul ROUTE REQUEST. De asemenea extrage datele din pa-
chet i le memoreaz ca o nou intrare n tabela de ci inverse. Aceast informaie va fi fo-
losit la construcia caii inverse pentru ca rspunsul s se poat ntoarce mai trziu la surs.
Sgeile din fig. 5-20 sunt folosite pentru construirea cii inverse. De asemenea este pornit
un cronometru asociat intrrii corespunztoare cii inverse nou create. Dac expir, intra-
rea este tears.

Nici B i nici D nu tiu unde este I, aa c fiecare creeaz o intrare pentru calea invers indicnd
ctre A, aa cum arat sgeile din fig. 5-20, i difuzeaz pachetul cu contorul de salturi setat pe 1.
Difuzarea de la B ajunge la C i D. C creeaz o intrare pentru el n tabela de ci inverse i-l
redifuzeaz. n contrast, D l rejecteaz ca pe un duplicat. Similar, difuzarea fcut de D este
rejectat de B. Totui, difuzarea fcut de D este acceptat de F i G i memorat, aa cum este pre-
zentat n fig. 5-20(c). Dup ce E, H i I primesc difuzarea, pachetul ROUTE REQUEST ajunge n
final la o destinaie care tie unde se afl I, de fapt, chiar I, aa cum este ilustrat n fig. 5-20(d). Ob-
servai c dei am prezentat difuzrile n trei pai discrei, difuzrile de la noduri diferite nu sunt co-
ordonate n nici un fel.
340 NIVELUL REEA CAP. 5


Ca rspuns la cererea venit, I construiete un pachet ROUTE REPLY, prezentat n fig. 5-22.
Adresa surs, Adresa destinaie i Contorul de salturi sunt copiate din cererea venit, dar Numrul de
secven al destinaiei este luat din contorul su din memorie. Contorul de salturi este setat la 0.
Cmpul Durat de via controleaz perioada n care ruta este valid. Acest pachet este trimis doar
ctre nodul de la care a venit pachetul ROUTE REQUEST, n acest caz, G. Apoi urmeaz calea
invers ctre D i n final ctre A. La fiecare nod, Contorul de salturi este incrementat astfel nct
nodul s poat vedea ct de departe de destinaie (I) este.

Fig. 5-22. Formatul pachetului ROUTE REPLY

Pachetul este analizat la fiecare nod intermediar de pe drumul napoi. El este introdus n tabela lo-
cal de dirijare ca rut ctre I dac una sau mai multe din cele trei condiii de mai jos este ndeplinit:

1. Nu se cunoate nici o rut ctre I.
2. Numrul de secven pentru I din pachetul ROUTE REPLY este mai mare dect va-
loarea din tabela de dirijare.
3. Numerele de secven sunt egale, dar noua rut este mai scurt.

n acest mod, toate nodurile de pe calea invers afl i ruta ctre I, ca o consecin a descoperirii
rutei de ctre A. Nodurile care au primit pachetul ROUTE REQUEST original, dar nu sunt pe ca-
lea invers (B, C, E, F, i H n acest exemplu) vor nltura intrarea din tabela de ci inverse la expira-
rea timpului asociat.
ntr-o reea mare, algoritmul genereaz multe difuzri, chiar pentru destinaii aflate foarte
aproape. Numrul de difuzri poate fi redus dup cum urmeaz. Durata de via a pachetului IP este
iniializat de emitor cu valoarea diametrului reelei i decrementat la fiecare salt. Dac ajunge la
valoarea 0, pachetul este nlturat n loc s fie difuzat.
Procesul descoperirii este modificat dup cum urmeaz. Pentru a localiza o destinaie, emitorul
difuzeaz un pachet ROUTE REQUEST cu Durata de via setat la 1. Dac nu primete nici un
rspuns ntr-un timp rezonabil, este trimis un alt pachet, de aceast dat cu Durata de via setat la
2. La ncercrile urmtoare se utilizeaz 3, 4, 5 etc. n acest fel se ncearc nti local, apoi n cercuri
din ce n ce mai largi.
ntreinerea rutei
Deoarece nodurile se pot muta sau pot fi oprite, topologia se poate schimba spontan. De exem-
plu, n fig. 5-20, dac G este oprit, A nu i va da seama c ruta pe care o folosea ctre I (ADGI) nu
mai este valid. Algoritmul trebuie s poat rezolva aceast situaie. Periodic, fiecare nod difuzeaz
un mesaj Hello. Fiecare vecin ar trebui s rspund. Dac nu este primit nici un rspuns, atunci emi-
torul tie c respectivul vecin s-a mutat din raza sa i nu mai este conectat cu el. Similar, dac
ncearc s-i trimit un pachet unui vecin ce nu rspunde, afl c vecinul nu mai este disponibil.
Aceast informaie este folosit pentru a elimina rutele care nu mai funcioneaz. Pentru fiecare
destinaie posibil, fiecare nod, N, memoreaz vecinii care au trimis un pachet ctre acea destinaie n
ultimele T secunde. Acetia sunt numii vecinii activi (active neighbors) ai lui N . N realizeaz acest
lucru prin intermediul unei tabele de dirijare n care cheia este destinaia i care conine nodul de iei-
re ce trebuie utilizat pentru a ajunge la destinaie, contorul de salturi pn la destinaie, cel mai recent
SEC. 5.2 ALGORITMI DE DIRIJARE 341

numr de secven al destinaiei i lista vecinilor activi pentru acea destinaie. O tabel de dirijare
posibil pentru nodul D pentru topologia din exemplul nostru este prezentat n fig. 5-23(a).

Fig. 5-23. (a) Tabela de dirijare a lui D naintea opririi lui G. (b) Graful dup ce G s-a oprit.

Cnd oricare dintre vecinii lui N devine inaccesibil, el verific tabela de dirijare pentru a vedea ce
destinaii au rute ce trec prin vecinul disprut. Pentru fiecare din aceste rute, vecinii activi sunt in-
formai c ruta ce trece prin N este acum inutilizabil i trebuie tears din tabela lor de dirijare. Ve-
cinii activi transmit mai departe informaia vecinilor lor activi, i aa mai departe, recursiv, pn ce
toate rutele ce depindeau de nodul devenit inaccesibil sunt terse din toate tabelele de dirijare.
Ca exemplu de ntreinere a rutelor, s considerm exemplul anterior, dar cu G oprit brusc. To-
pologia schimbat este ilustrat n fig. 5-23(b). Cnd D descoper c G nu mai este n reea, se uit
n tabela de dirijare i observ c G era folosit pentru rutele ctre E, G, i I. Mulimea vecinilor activi
pentru aceste destinaii este {A, B}. Cu alte cuvinte, A i B depind de G pentru cteva dintre rutele
lor, aa c ele trebuie informate c aceste rute nu mai sunt valide. D le informeaz prin trimiterea de
pachete care le determin s-i actualizeze tabelele de dirijare. De asemenea, D terge intrrile pen-
tru E, G, i I din tabela sa de dirijare.
Poate nu a fost evident din descrierea noastr, dar o diferen critic ntre AODV i Bellman-
Ford este c nodurile nu difuzeaz periodic ntreaga lor tabel de dirijare. Aceast diferen econo-
misete att limea de band, ct i durata de via a bateriei.
De asemenea, AODV este capabil de dirijare prin difuzare i de dirijare cu trimitere multipl.
Pentru detalii, consultai (Perkins i Royer, 2001). Dirijarea ad hoc este un domeniu de cercetare
fierbinte. S-a publicat mult despre acest subiect. Cteva dintre lucrri sunt (Chen et. al, 2002; Hu i
Johnson, 2001; Li et. al, 2001; Raju i Garcia-Luna-Aceves, 2001; Ramanathan i Redi, 2002; Royer
i Toh, 1999; Spohn i Garcia-Luna-Aceves, 2001; Tseng et. al, 2001; i Zadeh et. al, 2002).
5.2.11 Cutarea nodurilor n reele punct la punct
Un fenomen relativ nou este reprezentat de reelele punct la punct, n care un numr mare de
persoane, de obicei cu conexiuni permanente la Internet, sunt n contact pentru a partaja resurse.
Prima aplicaie larg rspndit a tehnologiei punct la punct a fost un delict de anvergur: 50 de mi-
lioane de utilizatori ai Napster-ului fceau schimb de cntece cu copyright fr permisiunea proprie-
tarilor pn cnd utilizarea Napster-ului a fost interzis de tribunal n vltoarea unor mari contro-
verse. Totui, tehnologia punct la punct are multe utilizri interesante i legale. De asemenea, are
342 NIVELUL REEA CAP. 5


ceva asemntor cu problema dirijrii, dei nu este chiar la fel cu cele studiate pn acum. Cu toate
acestea, merit s-i acordm puin atenie.
Ceea ce face ca sistemele punct la punct s fie interesante este faptul c ele sunt n ntregime dis-
tribuite. Toate nodurile sunt simetrice i nu exist un control central sau o ierarhie. ntr-un sistem
punct la punct tipic fiecare utilizator are o informaie ce poate fi de interes pentru ali utilizatori.
Aceast informaie poate fi software gratuit, muzic (din domeniul public), fotografii i aa mai de-
parte. Dac numrul de utilizatori este mare, acetia nu se tiu ntre ei i nu tiu unde s gseasc
ceea ce caut. O soluie este o baz de date central, dar aa ceva ar putea fi irealizabil din diverse
motive (de exemplu, nimeni nu dorete s o gzduiasc i s-o administreze). Astfel, problema se re-
duce la felul n care un utilizator gsete un nod ce conine ceea ce caut el, n absena unei baze de
date centralizate sau a unui index centralizat.
S presupunem c un utilizator are una sau mai multe uniti de date cum ar fi cntece, fotogra-
fii, programe, fiiere .a.m.d, pe care ar dori s le citeasc ali utilizatori. Fiecare unitate are ca nume
un ir de caractere ASCII. Un posibil utilizator cunoate numai irul de caractere ASCII i vrea s
afle dac una sau mai multe persoane au copii, i n caz c au, care sunt adresele IP ale acestora.
De exemplu, s considerm o baz de date genealogic distribuit. Fiecare specialist n genealo-
gie are o serie de nregistrri on-line despre strmoii i rudele sale, posibil i cu fotografii, clipuri
audio sau chiar video ale persoanei. Mai multe persoane pot avea acelai strbunic, astfel c un
strmo poate avea nregistrri n mai multe noduri. Numele nregistrrii este numele persoanei ntr-
o form canonic. La un moment dat, un specialist n genealogie descoper testamentul strbunicu-
lui su ntr-o arhiv, n care strbunicul las motenire nepotului ceasul de buzunar de aur. Genea-
logistul tie numele nepotului i dorete s afle dac alt genealogist are o nregistrare pentru el. Cum
aflm, fr o baz de date central, cine are, dac are cineva, aceste nregistrri?
Pentru a rezolva aceast problem au fost propui diveri algoritmi. Cel pe care l vom studia este
Chord (Dabek .a.,2001; i Stoica .a.,2001). O explicaie simplificat a felului n care funcioneaz
este urmtoarea. Sistemul Chord const din n utilizatori participani, fiecare dintre ei avnd cteva
nregistrri memorate i fiecare dintre ei fiind pregtit s memoreze fragmente din index pentru uzul
celorlali utilizatori. Fiecare nod utilizator are o adres IP care poate fi convertit ntr-un numr pe m
bii, folosind o funcie de dispersie, hash. Pentru hash Chord folosete SHA-1. SHA-1 este folosit n
criptografie; l vom analiza n Cap. 8. Pentru moment, este doar o funcie care primete ca argument
un ir de caractere de lungime variabil i genereaz un numr aleator pe 160 de bii. Deci, putem
converti orice adres IP ntr-un numr pe 160 de bii numit identificatorul nodului (node identifier).
Conceptual, toi cei 2
160
identificatori de noduri sunt aezai n ordine cresctoare ntr-un mare
cerc. Civa corespund nodurilor participante, dar majoritatea nu. n fig. 5-24(a) prezentm un cerc
de identificatori de noduri pentru m = 5 (pentru moment ignorai arcele din centru). n acest exem-
plu, nodurile cu identificatorii 1, 4, 7, 12, 15, 20 i 27 corespund nodurilor reale i sunt haurate; res-
tul nodurilor nu exist.
S definim acum funcia successor(k), ca identificator al primului nod real ce urmeaz dup
k pe cerc, n sensul acelor de ceasornic. De exemplu, successor(6) = 7, successor(8) = 12 i
successor(22) = 27.
Numele nregistrrilor (nume de cntece, numele strmoilor etc.) sunt de asemenea convertite
cu funcia hash (adic SHA-1) pentru a genera un numr pe 160 de bii, numit cheie (key). Astfel,
pentru a converti un nume (numele ASCII al nregistrrii) la cheia sa, folosim key = hash (name).
Acest calcul este doar un apel local al procedurii hash. Dac o persoan deinnd o nregistrare ge-
nealogic pentru nume dorete s o fac public, atunci construiete mai nti un tuplu (nume, adres
SEC. 5.2 ALGORITMI DE DIRIJARE 343

IP) i apoi l roag pe successor(hash(nume)) s-l memoreze. Dac exist mai multe nregistrri (n
noduri diferite) pentru acelai nume, toate tuplurile lor vor fi memorate n acelai nod. n acest mod,
index-ul este distribuit aleator pe noduri. Pentru tolerana la defecte, pentru memorarea fiecrui
tuplu n p noduri pot fi folosite p funcii de dispersie diferite, dar nu ne vom referi aici la acest aspect.
Dac ulterior un utilizator caut nume, i aplic funcia de dispersie pentru a afla cheia i apoi fo-
losete successor(cheie) pentru a afla adresa IP a nodului ce memoreaz tuplurile respective din in-
dex. Primul pas este uor; dar al doilea nu. Pentru a face posibil gsirea adresei IP corespunztoare
unei anumite chei, fiecare nod trebuie s menin structuri de date administrative. Una dintre aces-
tea este adresa IP a nodului succesor, de-a lungul cercului de identificatori de noduri. De exemplu,
n fig. 5-24, succesorul nodului 4 este 7 i succesorul nodului 7 este 12.
Cutarea se poate desfura dup cum urmeaz. Nodul care face cererea trimite succesorului
su un pachet coninnd adresa sa IP i cheia pe care o caut. Pachetul se propag prin inel pn ce
localizeaz succesorul identificatorului cutat. Nodul verific dac deine vreo informaie cu cheia
respectiv i, dac este aa, o returneaz direct nodului care a fcut cererea, a crui adres IP o are.

Fig. 5-24. (a) Un set de 32 de identificatori de noduri aranjai n cerc. Nodurile haurate corespund
mainilor existente. Arcele arat indicatorii de la nodurile 1, 4 i 12. Etichetele arcelor reprezint
indici n tabele. (b) Exemple de tabele de indicatori.
344 NIVELUL REEA CAP. 5


Ca o prim optimizare, fiecare nod ar putea memora adresele IP ale succesorului i
predecesorului, astfel nct interogrile ar putea fi trimise fie n sensul acelor de ceasornic, fie n
sens invers, pe calea considerat mai scurt. De exemplu, nodul 7 din fig. 5-24 poate s trimit n
sensul acelor de ceasornic pentru a gsi nodul cu identificatorul 10, dar n sens invers pentru a gsi
nodul cu identificatorul 3.
Chiar i cu dou posibiliti pentru direcie, cutarea liniar prin toate nodurile este foarte inefi-
cient ntr-un sistem punct la punct mare, deoarece numrul mediu de noduri implicat ntr-o cutare
este de n/2. Pentru a mri considerabil viteza de cutare, fiecare nod memoreaz de asemenea ceea
ce Chord numete tabel de indicatori (finger table). Tabela de indicatori are m intrri, indexate de
la 0 la m-1, fiecare indicnd ctre un nod real diferit. Fiecare dintre intrri are dou cmpuri: start i
adresa IP a successor(start), aa cum este prezentat pentru cele trei noduri din fig. 5-24(b). Valoarea
acestor cmpuri pentru intrarea i a nodului k sunt:

start = k + 2
i
(modulo 2
m
)
Adresa IP a successor(start[i])

Observai c fiecare nod memoreaz adresa IP a unui numr relativ mic de noduri i c majorita-
tea acestora sunt foarte apropiate din punctul de vedere al identificatorilor de noduri.
Folosind tabela de indicatori, cutarea cheii la nodul k se desfoar dup cum urmeaz. Dac
cheia este ntre k i successor(k), atunci nodul care deine informaia despre cheie este succesor(k) i
cutarea se termin. Altfel, se caut n tabela de indicatori pentru a gsi intrarea al crui cmp start
este predecesorul cel mai apropiat al cheii. Apoi se trimite direct la adresa IP din intrarea din tabela
de indicatori o cerere n care se cere continuarea cutrii. Deoarece aceasta este mai apropiat de
cheie, dar inferioar, sunt mari anse s fie capabil s returneze un rspuns dup un numr mic de
interogri suplimentare. De fapt, deoarece fiecare cutare njumtete distana rmas pn la
int, se poate demonstra c numrul mediu de cutri este log
2
n.
Ca prim exemplu, s considerm cutarea key = 3 la nodul 1. Deoarece nodul 1 tie c 3 se
afl ntre el i succesorul su, 4, nodul dorit este 4 i cutarea s-a terminat, returnndu-se adresa
IP a nodului 4.
Ca un al doilea exemplu, s considerm cutarea key = 14 la nodul 1. Deoarece 14 nu este ntre
1 i 4, este analizat tabela de indicatori. Cel mai apropiat predecesor al lui 14 este 9, aa c cererea
este trimis ctre adresa IP din intrarea 9, i anume, cea a nodului 12. Nodul 12 vede c 14 se afl
ntre el i successor(15), aa c returneaz adresa IP a nodului 15.
Ca un al treilea exemplu, s considerm cutarea key = 16 la nodul 1. Din nou se trimite o inte-
rogare la nodul 12, dar de aceast dat nodul 12 nu cunoate rspunsul. Caut nodul cel mai apropi-
at predecesor al lui 16 i l gsete pe 14, care furnizeaz adresa IP a nodului 15. Acestuia i este tri-
mis o interogare. Nodul 15 observ c 16 se afl ntre el i succesorul su (20), aa c returneaz
apelantului adresa IP a lui 20, care se ntoarce ctre nodul 1.
Deoarece nodurile apar i dispar mereu, Chord trebuie s trateze cumva aceste operaii. Presu-
punem c atunci cnd sistemul a nceput s funcioneze, el era ndeajuns de mic pentru ca nodurile
s poat schimba informaii direct, pentru a construi primul cerc i tabelele de indicatori. Dup ace-
ea este necesar o procedur automat, dup cum urmeaz. Cnd un nod nou, r, vrea s se alture,
trebuie s contacteze un nod existent i s-i cear s caute adresa IP a successor(r). Dup aceea noul
nod l ntreab pe successor(r) cine este predecesorul su. Apoi noul nod cere ambelor noduri s l
insereze pe r ntre ele n cerc. De exemplu, dac 24 din fig. 5-24 vrea s se alture, roag orice nod s
caute successor(24), care este 27. Apoi l ntreab pe 27 cine este predecesorul su (20). Dup ce le
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 345

ntiineaz pe amndou de existena sa, 20 l folosete pe 24 ca succesor, iar 27 l folosete pe 24 ca
predecesor. n plus, nodul 27 pred cheile din intervalul 21-24, care acum i aparin lui 24. n acest
moment, 24 este inserat pe deplin.
Totui, multe tabele de indicatori sunt acum greite. Pentru a le corecta, fiecare nod ruleaz un
proces n fundal care calculeaz periodic fiecare indicator prin apelarea funciei successor. Cnd una
dintre aceste interogri ajunge la un nod nou, este actualizat intrarea corespunztoare indicatorului.
Cnd un nod pleac normal, pred cheile succesorului su i informeaz predecesorul de plecarea
sa, astfel nct predecesorul poate s se lege la succesorul nodului care a plecat. Cnd se defecteaz
un nod apare o problem, deoarece predecesorul su nu are un succesor valid. Pentru a soluiona
problema, fiecare nod pstreaz date nu numai despre succesorul su direct, dar i despre s succesori
direci, pentru a-i permite s sar peste s-1 noduri consecutive defecte i s se reconecteze la cerc.
Chord a fost folosit la construirea unui sistem de fiiere distribuit (Dabek .a.,2001) i alte aplica-
ii, iar cercetrile continu. Un sistem punct la punct diferit, Pastry, i aplicaiile sale sunt descrise n
(Rowstron i Druschel, 2001a; i Rowstron i Druschel, 2001b). Un al treilea sistem punct la punct,
Freenet, este discutat n (Clarke .a., 2002). Un al patrulea sistem de acest tip este descris n
(Ratnasamy .a., 2001).


5.3 ALGORITMI PENTRU CONTROLUL CON-
GESTIEI
Atunci cnd foarte multe pachete sunt prezente ntr-o subreea (sau o parte a unei subreele),
performanele se degradeaz. Aceast situaie se numete congestie (congestion). Fig. 5-25 prezint
simptomele. Cnd numrul de pachete emise n subreea de calculatoarele gazd nu depete ca-
pacitatea 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.

Fig. 5-25. Dac traficul este prea intens, apare congestia i performanele se
degradeaz puternic.
346 NIVELUL REEA CAP. 5


Congestia poate fi produs de mai muli factori. Dac dintr-o dat ncep s soseasc iruri de pa-
chete 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. Aduga-
rea de memorie poate fi folositoare pn la un punct, dar Nagle (1987) a descoperit c dac ruterele
ar avea o cantitate infinit de memorie, congestia s-ar nruti n loc s se amelioreze, deoarece
pn s ajung la nceputul cozii pachetele au fost deja considerate pierdute (timeout repetat) i s-au
trimis duplicate. Toate aceste pachete vor fi trimise cu contiinciozitate ctre urmtorul ruter, cres-
cnd 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.), se pot forma cozi, chiar
dac linia de comunicaie nu este 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 per-
sista pn ce toate componentele sunt n echilibru.
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, al tuturor ruterelor, prelucrarea de tip memoreaz-i-retransmite (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 desti-
natar. 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 frecvent existena
unui feed-back de la receptor ctre emitor, pentru a spune emitorului cum se desfoar lucruri-
le 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 cal-
culator 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-retransmite (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.
Vom ncepe studiul algoritmilor pentru controlul congestiei prin studiul unui model general de
tratare a acesteia. Apoi ne vom ocupa de principalele msuri pentru prevenirea sa. Dup aceea, vom
analiza o serie de algoritmi dinamici pentru tratarea congestiei odat ce a aprut.
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 347

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 n-
cearc 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 de metrici. Cele mai uti-
lizate 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, valorile cresctoare 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 pa-
chet, 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 pre-
veni 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 ocoli zonele
cu probleme. Unele staii de radio au elicoptere care zboar deasupra oraelor pentru a raporta
congestiile de pe drumuri i a permite asculttorilor mobili s i dirijeze 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 ca o schem s func-
ioneze corect, duratele trebuie reglate foarte atent. Dac un ruter strig STOP de fiecare dat cnd
sosesc dou pachete succesive i PLEAC (eng.: GO) de fiecare dat cnd este liber mai mult de 20
sec, atunci sistemul va oscila puternic i nu va converge niciodat. Pe de alt parte, dac va ateapt
30 de minute pentru a fi sigur nainte de a spune ceva, mecanismul pentru controlul congestiei reac-
ioneaz prea lent pentru a fi de vreun folos real. Pentru a funciona corect sunt necesare unele me-
dieri, dar aflarea celor mai potrivite constante de timp nu este o treab tocmai uoar.
348 NIVELUL REEA CAP. 5


Se cunosc numeroi algoritmi pentru controlul congestiei. Pentru a oferi o modalitate de organi-
zare a lor, Yang i Reddy (1995) au dezvoltat o taxonomie pentru algoritmii de control al congestiei.
Ei ncep prin a mpri algoritmii n cei n bucl deschis i cei n bucl nchis, aa cum s-a precizat
anterior. n continuare mpart algoritmii cu bucl deschis n unii care acioneaz asupra sursei i
alii care acioneaz asupra destinaiei. Algoritmii n bucl nchis sunt de asemenea mprii n do-
u subcategorii, cu feedback implicit i cu feedback explicit. n algoritmii cu feedback explicit, pache-
tele 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 cea
pe care o pot suporta resursele (unei pri a sistemului). Pentru rezolvare vin imediat n minte dou
soluii: sporirea resurselor sau reducerea ncrcrii. De exemplu subreeaua poate ncepe s folo-
seasc linii telefonice pentru a crete temporar limea de band ntre anumite puncte. n sistemele
bazate pe satelii, creterea puterii de transmisie asigur de regul creterea limii de band. Spar-
gerea traficului pe mai multe ci n locul folosirii doar a celei mai bune poate duce efectiv la crete-
rea 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.
Totui, 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 refuzul servirii anumitor utilizatori, degradarea serviciilor pentru o parte
sau pentru toi utilizatorii i planificarea cererilor utilizatorilor ntr-o manier mai previzibil.
Unele dintre 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 nive-
lul reea. Pentru subreele 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 ur-
mtorul, vom vedea ce se poate face la nivelul transport pentru a controla congestia.
5.3.2 Politici pentru prevenirea congestiei
S ncepem studiul 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-26 sunt prezentate diferite politici pentru nivelul legtur de date, reea i
transport, care pot influena congestia (Jain, 1990).
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 me-
morare n zon tampon. Dac receptorii distrug toate pachetele n afara secvenei, acestea vor trebui
retransmise ulterior, introducnd o ncrcare suplimentar. n ceea ce privete controlul congestiei,
repetarea selectiv este, n mod sigur, mai bun dect retrimiterea ultimelor n.

SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 349

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 pachetelor n cozi de ateptare 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-26. Politici care influeneaz congestia.

i politica de confirmare afecteaz congestia. Dac fiecare pachet este confirmat imediat, pache-
tele de confirmare vor genera un trafic suplimentar. Totui, n cazul n care confirmrile sunt prelua-
te de traficul de rspuns, se pot produce timeout-uri i retransmisii suplimentare. O schem prea
strns pentru controlul fluxului (de exemplu fereastr mic) reduce volumul de date i ajut n lup-
ta cu congestia.
La nivelul reea, alegerea ntre folosirea circuitelor virtuale i datagrame influeneaz congestia,
deoarece muli algoritmi pentru controlul congestiei funcioneaz doar pe subreele cu circuite vir-
tuale. 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 precizea-
z ordinea n care se prelucreaz pachetele (de exemplu round robin sau bazat pe prioriti). Politi-
ca de distrugere a pachetelor este regula care stabilete ce pachet este distrus dac nu mai exist
spaiu. O politic bun va ajuta la eliminarea congestiei, pe cnd una greit o va accentua.
Un algoritm de dirijare bun poate ajuta la evitarea congestiei prin rspndirea traficului de-a
lungul tuturor liniilor, n timp ce un algoritm neperformant ar putea trimite toate pachetele pe ace-
eai linie, care deja este congestionat. n fine, gestiunea timpului de via asociat pachetelor stabi-
lete ct de mult poate tri un pachet nainte de a fi distrus. Dac acest timp este prea mare, pache-
tele pierdute vor ncurca pentru mult timp activitatea, iar dac este prea mic, este posibil s se pro-
duc timeout nainte de a ajunge la destinaie, provocnd astfel retransmisii.
La nivelul transport apar aceleai probleme ca la nivelul legturii de date dar, n plus, determina-
rea 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 intervalul de timeout este
prea mic, vor fi trimise inutil pachete suplimentare. Dac este prea mare, congestia se va reduce,
ns timpul de rspuns va fi afectat de pierderea unui pachet.
5.3.3 Controlul congestiei n subreelele bazate pe circuite virtuale
Metodele pentru controlul congestiei descrise anterior sunt n principiu n bucl deschis: ele n-
cearc, n primul rnd, s previn apariia congestiei, n loc s o trateze dup ce a aprut. n aceast
350 NIVELUL REEA CAP. 5


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 mpiedica agravarea unei congestii deja aprute 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 agra-
veze lucrurile. Dei aceast abordare este dur, ea este simpl i uor de realizat. n sistemul telefo-
nic, dac o central devine supraaglomerat, ea practic controlul admisiei, nemaifurniznd tonul.

Fig. 5-27. (a) O subreea congestionat. (b) O subreea reconfigurat
care elimin congestia. Se prezint i un circuit virtual de la A la B.

O alternativ este de a permite stabilirea de noi circuite virtuale, dar de a dirija cu atenie aceste
noi circuite, ocolind zonele cu probleme. De exemplu, s considerm subreeaua din fig. 5-27(a), n
care dou rutere sunt congestionate, aa cum se poate observa.
S presupunem c un calculator gazd ataat ruterului A dorete s stabileasc o conexiune cu un
altul, ataat ruterului B. n mod normal, aceast conexiune ar trece prin unul dintre cele dou rutere
congestionate. Pentru a evita aceast situaie, putem redesena subreeaua aa cum se arat n
fig. 5-27(b), omind ruterele congestionate i toate liniile asociate. Linia punctat arat o posibil
cale pentru circuitul virtual, care evit ruterele congestionate.
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 volu-
mul 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 spaiu pentru tabele i 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 tip de rezervare poate fi aplicat tot timpul ca o procedur standard sau doar atunci cnd
reeaua este congestionat. Dezavantajul ncercrii de a-l 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 este puin probabil ca toate cele ase circuite s transmit la ni-
vel maxim n acelai timp. n consecin, preul controlului congestiei este lime de band nefolosit
(adic risipit) n cazuri normale.
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 351

5.3.4 Controlul congestiei n subreele datagram
S ne oprim acum asupra unor abordri care pot fi folosite n subreelele bazate pe datagrame
(dar i n cele bazate pe circuite virtuale). 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, se poate face periodic eantionarea utilizrii instantanee a liniei f (fie 0, fie 1) i
apoi actualizarea lui u astfel:

f a au u
old new
) 1 ( + =

unde constanta a determin ct de repede uit ruterul istoria recent.
Ori de cte ori u depete pragul, linia de ieire intr ntr-o stare de avertisment. Fiecare pa-
chet nou-venit este verificat pentru a se vedea dac linia de ieire asociat este n starea de avertis-
ment. Dac este aa, atunci se iau msuri. Aciunea executat poate fi una dintr-o mulime de alter-
native, pe care le vom discuta acum.
Bitul de avertizare
Vechea arhitectur DECNET semnala starea de avertizare prin setarea unui bit special n ante-
tul pachetului. La fel procedeaz i retransmisia cadrelor (frame relay). Cnd pachetul ajunge la
destinaia sa, entitatea transport copiaz bitul n urmtoarea confirmare trimis napoi la surs. n
acel moment, sursa i reduce traficul.
Att timp ct ruterul a fost n starea de avertizare, acesta a continuat s seteze bitul de avertizare,
ceea ce nseamn c sursa a primit n continuare confirmri cu acest bit setat. Sursa a monitorizat
fraciunea de confirmri cu bitul setat i i-a ajustat rata de transmisie corespunztor. Atta timp ct
au continuat s soseasc bii de avertizare, sursa i-a micorat continuu rata de transmisie. Odat cu
ncetinirea sosirii acestora, sursa i-a mrit rata de transmisie. De observat c, deoarece fiecare ruter
de-a lungul ci ar fi putut seta bitul de avertizare, traficul a crescut numai atunci cnd nici unul din-
tre rutere nu a avut probleme.
Pachete de oc
Algoritmul anterior pentru controlul congestiei este destul de ingenios. Folosete o modalitate
ocolit de a ntiina sursa s ncetineasc transmisia. De ce nu-i spune direct? n aceast abordare,
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 mod obinuit.
Un calculator gazd surs care primete un pachet de oc 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, calcula-
torul 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 pa-
chetele 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 conges-
tiei, netrangulnd fluxul dect dac au aprut probleme.

352 NIVELUL REEA CAP. 5




Fig. 5-28. (a) Un pachet de oc care afecteaz doar sursa.
(b) Un pachet de oc care afecteaz fiecare salt prin care trece.

Calculatorul gazd poate reduce traficul prin ajustarea parametrilor asociai politicii folosite, de
exemplu dimensiunea ferestrei. De obicei, primul pachet de oc determin scderea ratei datelor la
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 353

0.50 din valoarea anterioar, urmtoarea reduce traficul la 0.25 i aa mai departe. Creterea valori-
lor are loc cu rate mai mici pentru a preveni reinstalarea rapid a congestiei.
Au fost propuse mai multe variante ale acestui algoritm pentru controlul congestiei. n una din-
tre 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, pentru aceast metric se poate folosi aceeai ponderare
exponenial ca i pentru u.
Pachete de oc salt cu salt
La viteze mari sau pe 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 (ruterul A din fig. 5-28) care trimite trafic ctre un calculator din New York (ruterul D din
fig. 5-28) la 155 Mbps. Dac ruterul din New York rmne fr zone tampon, atunci pachetului de
oc i vor trebui circa 30 msec pentru ca s revin la San Francisco solicitnd ncetinirea. Propagarea
pachetului de oc este prezentat ca al doilea, al treilea i al patrulea pas din fig. 5-28(a). n aceste 30
msec, se pot trimite 4.6 MB. Chiar atunci cnd calculatorul gazd din San Franciso se oprete imedi-
at, cei 4.6 MB din conduct (eng.: pipe) vor continua s soseasc i trebuie luai n seam. De-abia n
a aptea diagram din fig. 5-28(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-28(b). n acest caz, de ndat ce pachetul de oc ajunge la F, F trebuie
s reduc fluxul spre D. Procednd n acest fel, se cere din partea lui F alocarea mai multor zone
tampon pentru flux, n timp ce sursa continu s emit la vitez maxim, ns D simte imediat o uu-
rare, la fel ca ntr-o reclam TV pentru nlturarea durerii de cap. La pasul urmtor, pachetul de oc
va ajunge la E, spunndu-i lui E s reduc fluxul spre F. 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 ajunge la A, i fluxul scade efectiv.
Efectul acestei scheme salt cu salt asupra reelei este asigurarea unei eliberri imediate la locul
congestiei cu preul folosirii mai multor zone tampon. n acest fel congestia poate fi nbuit imedi-
at ce se manifest, 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.5 mprtierea ncrcrii
Cnd nici una dintre metodele anterioare nu reduc congestia, ruterele pot s-i scoat la btaie
artileria grea: mprtierea ncrcrii. mprtierea ncrcrii este un mod simpatic de 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 arun-
ce, 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
354 NIVELUL REEA CAP. 5


pachetelor de la 6 la 10 (dac receptorul distruge automat pachetele care sunt n afara secven-
ei). 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 retrimiterea pachetelor de
la 10 la 12. n 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 apli-
caii, unele pachete sunt mai importante dect altele. De exemplu, unii algoritmi de compresie a
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 tri-
miterea documentelor care conin text ASCII i imagini. Pierderea unei linii de pixeli dintr-o imagi-
ne 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 n-
scrie 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.
Stimulentul ar putea fi sub form de bani, adic pachetele mai puin prioritare s fie mai ieftin de
trimis dect cele cu prioritate mare. Ca alternativ, expeditorilor li s-ar putea permite s trimit pa-
chete cu prioriti mari cu condiia ca ncrcarea s fie mic, dar odat cu creterea ncrcrii acestea
ar fi aruncate, ncurajnd astfel utilizatorii s nceteze trimiterea lor.
O alt opiune ar fi s se permit calculatoarelor gazd s depeasc limitele specificate n con-
tractul negociat la iniializarea circuitului virtual (s foloseasc o lime de band mai mare dect li
s-a permis), dar cu condiia ca tot traficul n exces s fie marcat ca fiind de prioritate sczut. O astfel
de strategie nu este de fapt o idee rea, pentru c utilizeaz n mod mai eficient resursele mai puin
folosite, permind astfel calculatoarelor gazd s le utilizeze atta timp ct nimeni altcineva nu este
interesat, dar fr s stabileasc dreptul la ele atunci cnd situaia devine mai dur.
Detecia aleatoare timpurie
Este bine cunoscut faptul c a trata congestia imediat ce a fost detectat este mai eficient dect
s o lai s-i ncurce treburile i apoi s ncerci s te descurci cu ea. Aceast observaie a dus la ideea
de a arunca pachete nainte ca toat zona tampon s fie ntr-adevr epuizat. Un algoritm popular
pentru a face acest lucru se numete RED (Random Early Detection rom.: Detecia aleatoare tim-
purie) (Floyd i Jacobson, 1993). n unele protocoale de transport (incluznd TCP-ul), rspunsul la
pachetele pierdute este ca sursa s ncetineasc. Raionamentul din spatele acestei logici este acela
c TCP a fost proiectat pentru reele cablate, iar acestea sunt foarte sigure, astfel nct pachetele
pierdute se datoreaz mai degrab depirii spaiului tampon dect erorilor de transmisie. Acest
lucru poate fi exploatat pentru a ajuta la reducerea congestiei.
Prin aruncarea pachetelor de ctre rutere nainte ca situaia s devin fr speran (de unde
i termenul timpuriu din denumire), ideea este de a lua msuri nainte de a fi prea trziu. Pen-
tru a determina cnd s nceap aruncarea, ruterele menin nentrerupt o medie a lungimilor cozi-
lor lor. Cnd lungimea medie a cozii unei linii depete o limit, se spune c linia este congestio-
nat i se iau msuri.
SEC. 5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 355

Avnd n vedere c ruterul probabil c nu poate spune care surs produce necazul cel mai mare,
alegerea la ntmplare a unui pachet din coada care a determinat aceast aciune este probabil cel
mai bun lucru pe care l poate face.
Cum ar trebui ruterul s informeze sursa despre problem? O cale este aceea de a-i trimite un pa-
chet de oc, dup cum am descris. O problem a acestei abordri este c ncarc i mai mult reeaua
deja congestionat. O strategie diferit este s arunce pur i simplu pachetul selectat i s nu raporte-
ze acest lucru. Sursa va observa n cele din urm lipsa confirmrii i va lua msuri. Deoarece tie c
pachetele pierdute sunt n general determinate de congestie i aruncri, va reaciona prin ncetinire n
loc s ncerce mai abitir. Aceast form implicit de reacie funcioneaz doar atunci cnd sursele
rspund la pachetele pierdute prin reducerea ratei lor de transmisie. n reele fr fir, unde majorita-
tea pierderilor se datoreaz zgomotelor legturii aeriene, aceast abordare nu poate fi folosit.
5.3.6 Controlul fluctuaiilor
Pentru aplicaii de genul transmisiilor audio sau video, nu prea conteaz dac pachetele au nevo-
ie de 20 msec sau de 30 msec pentru a fi distribuite, att timp ct durata de tranzit este constant.
Variaia (adic deviaia standard) timpului de sosire a pachetului se numete fluctuaie. O fluctuaie
mare, de exemplu dac unele pachete au nevoie de 20 msec i altele de 30 msec pentru a ajunge, va
produce sunet sau imagine de calitate inegal. Fluctuaia este ilustrat n fig. 5-29. n contrast, o ne-
legere ca 99 procente din pachete s fie livrate cu o ntrziere de la 24.5 msec pn la 25.5 msec ar
putea fi acceptabil.
Limita aleas trebuie s fie, bineneles, real. Ea trebuie s ia n calcul durata de tranzit a vi-
tezei luminii i ntrzierea minim prin rutere i poate s-i lase o mic rezerv pentru unele ntr-
zieri inevitabile.
Fluctuaiile pot fi limitate prin calcularea timpului de tranzit estimat pentru fiecare salt de-a lun-
gul cii. Cnd un pachet ajunge la ruter, ruterul 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, ruterul ncearc s-l trimit ct mai repede.

Fig. 5-29. (a) Fluctuaie mare. (b) Fluctuaie sczut.
356 NIVELUL REEA CAP. 5


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 n-
trziere 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 fluctuaia.
n unele aplicaii, cum ar fi aplicaii video la cerere, fluctuaiile pot fi eliminate prin adugarea
unei zone tampon la receptor i apoi aducerea datelor pentru a fi afiate din zona tampon n loc de a
fi luate din reea n timp real. Totui, pentru alte aplicaii, n special acelea care necesit interaciune
n timp real ntre oameni, cum ar fi convorbirile telefonice i videoconferinele prin Internet, ntrzi-
erea inerent utilizrii zonelor tampon este inacceptabil. Controlul congestiei este o arie activ a
cercetrii. Nivelul actual este rezumat n (Gevros et al., 2001).


5.4 CALITATEA SERVICIILOR

Tehnicile pe care le-am analizat n seciunile precedente sunt proiectate pentru a reduce conges-
tia i a mbunti performanele reelei. Cu toate acestea, odat cu creterea lucrului cu aplicaii
multimedia n reea, de multe ori aceste msuri luate ad-hoc nu sunt de ajuns. Este nevoie de preo-
cupri serioase n proiectarea reelelor i a protocoalelor pentru garantarea calitii serviciilor. n
seciunile urmtoare ne vom continua studiul asupra performanei reelei, dar acum ne vom concen-
tra mai mult asupra modalitilor de a furniza o calitate a serviciilor n conformitate cu necesitile
fiecrei aplicaii. Ar trebui stipulat de la nceput faptul c, totui, multe dintre aceste idei sunt n
formare i sunt supuse schimbrilor.
5.4.1 Cerine
Un ir de pachete de la o surs la o destinaie se numete flux. ntr-o reea orientat pe conexiu-
ne, toate pachetele aparinnd unui flux merg pe aceeai rut; ntr-o reea neorientat pe conexiune,
acestea pot urma rute diferite. Necesitile fiecrui flux pot fi caracterizate prin patru parametri
primari: fiabilitatea, ntrzierea, fluctuaia i limea de band. mpreun, acestea determin QoS
(Quality of Service rom.: Calitatea serviciilor) pe care o necesit fluxul. n fig. 5-30 sunt listate c-
teva aplicaii obinuite precum i cerinele stringente ale acestora.

Aplicaia Fiabilitatea ntrzierea Fluctuaia Limea de band
Pota electronic Mare Mic Mic Mic
Transfer de fiiere Mare Mic Mic Medie
Acces Web Mare Medie Mic Medie
Conectare la distan Mare Medie Medie Mic
Audio la cerere Mic Mic Mare Medie
Video la cerere Mic Mic Mare Mare
Telefonie Mic Mare Mare Mic
Videoconferine Mic Mare Mare Mare

Fig. 5-30. Ct de stringente sunt cerinele referitoare la calitatea serviciilor

Primele patru aplicaii au cerine stringente de fiabilitate. Nu se accepta livrarea de bii incoreci.
Acest obiectiv este atins de obicei prin crearea unei sume de control pentru fiecare pachet i verifica-
SEC. 5.4 CALITATEA SERVICIILOR 357

rea acestei sume de control la destinaie. Dac un pachet este alterat pe parcurs, nu este confirmat i
n cele din urm va fi retransmis. Aceast strategie ofer o fiabilitate mare. Ultimele patru aplicaii
(audio/video) pot tolera erori, aa c nu este calculat sau verificat nici o sum de control.
Aplicaiile de transfer de fiiere, inclusiv pota electronic i video nu sunt sensibile la ntrzieri.
Dac toate pachetele sunt ntrziate uniform cu cteva secunde, nu este nici o problem. Aplicaiile
interactive, cum ar fi navigarea pe Web i conectarea la distan, sunt mult mai sensibile la ntrzieri.
Aplicaiile de timp real, cum ar fi telefonia i videoconferinele au cerine stricte de ntrziere. Dac
toate cuvintele dintr-o convorbire telefonic sunt fiecare ntrziate cu 2.000 secunde, utilizatorii vor
gsi conexiunea inacceptabil. Pe de alt parte, rularea de fiiere audio sau video de pe server nu
cere ntrzieri sczute.
Primele trei aplicaii nu sunt sensibile la sosirea pachetelor la intervale neregulate. Conectarea la
distan este ntr-un fel sensibil la aceasta deoarece caracterele vor aprea pe ecran n rafale dac
conexiunea are multe fluctuaii. Aplicaiile video i n special cele audio sunt extrem de sensibile la
fluctuaii. Dac un utilizator urmrete un fiier video din reea i cadrele sunt toate ntrziate cu
exact 2.000 secunde, nu este nici o problem. Dar dac timpul de transmisie variaz aleator ntre 1 i
2 secunde, rezultatul va fi ngrozitor. Pentru audio, o fluctuaie chiar i de cteva milisecunde este
perfect sesizabil.
n cele din urm, aplicaiile difer la cerinele de lime de band, fr ca pota electronic i co-
nectarea la distan s necesite o band prea larg, iar aplicaiile video de orice fel necesitnd o ban-
d foarte larg. Reelele ATM clasific fluxul n patru mari categorii, n funcie de cerinele lor de
QoS, dup cum urmeaz:

1. Rat de transfer constant (de exemplu telefonie).
2. Rat de transfer variabil n timp real (de exemplu videoconfereniere compresat).
3. Rat de transfer variabil, dar nu n timp real (de exemplu vizionarea unui film pe Internet).
4. Rat de transfer disponibil (de exemplu transfer de fiiere).

Aceste categorii sunt de asemenea folositoare pentru alte scopuri i pentru alte tipuri de reele.
Rata de transfer constant este o ncercare de a simula un cablu, furniznd o lime de band uni-
form i o ntrziere uniform. Rata de transfer variabil apare pentru video compresat, unele cadre
fiind mai comprimate dect altele. Astfel, transmisia unui cadru cu o mulime de detalii n el ar pu-
tea necesita transmisia mai multor bii, n timp ce transmisia imaginii unui perete alb s-ar putea
comprima extrem de bine. Rata de transfer disponibil este pentru aplicaii care nu sunt sensibile la
ntrzieri sau la fluctuaii, cum ar fi pota electronic.
5.4.2 Tehnici pentru obinerea unei bune caliti a serviciilor
Acum c tim cte ceva despre cerinele QoS, cum le obinem? Ei bine, pentru nceput, nu exist
o reet magic. Nici o tehnic nu furnizeaz ntr-un mod optim o calitate a serviciilor eficient i pe
care s te poi baza. n schimb, au fost dezvoltate o varietate de tehnici, cu soluii practice care ade-
seori combin mai multe tehnici. Vom examina acum cteva dintre tehnicile folosite de proiectanii
de sisteme pentru obinerea calitii serviciilor.
Supraaprovizionarea
O soluie uoar este aceea de a furniza ruterului suficient capacitate, spaiu tampon i lime de
band nct pachetele s zboare pur i simplu. Problema cu aceast soluie este aceea c este costisi-
358 NIVELUL REEA CAP. 5


toare. Odat cu trecerea timpului i cu faptul c proiectanii au o idee mai clar despre ct de mult
nseamn suficient, aceast tehnic ar putea deveni chiar realist. Pn la un punct, sistemul telefonic
este supraapovizionat Se ntmpl rar s ridici receptorul telefonului i s nu ai ton de formare instan-
taneu. Pur i simplu exist atta capacitate disponibil nct cererea va fi ntotdeauna satisfcut.
Memorarea temporar
Fluxurile pot fi reinute n zone tampon ale receptorului nainte de a fi livrate. Aceasta nu afectea-
z fiabilitatea sau limea de band i mrete ntrzierea, dar uniformizeaz fluctuaia. Pentru audio
i video la cerere, fluctuaiile reprezint problema principal, iar aceast tehnic este de mare ajutor.
Am vzut diferena dintre fluctuaiile mari i fluctuaiile mici n fig. 5-29. n fig. 5-31 vedem un
flux de pachete care sunt livrate cu o fluctuaie considerabil. Pachetul 1 este transmis de ctre ser-
ver la momentul t = 0 sec i ajunge la client la t = 1 sec. Pachetul 2 acumuleaz o ntrziere mai ma-
re i i sunt necesare 2 sec pentru a ajunge. Pe msur ce pachetele sosesc, ele sunt reinute n zona
tampon pe maina client.

Fig. 5-31. Uniformizarea fluxului de ieire prin memorarea temporar a pachetelor.

La t = 10 sec ncepe rularea. La acest moment, pachetele de la 1 la 6 au fost introduse n zona
tampon aa c pot fi scoase de acolo la intervale egale pentru o rulare uniform. Din pcate, pache-
tul 8 a avut o ntrziere aa de mare nct nu este disponibil cnd i vine timpul de rulare, aa c rula-
rea trebuie ntrerupt pn la sosirea acestuia, crend astfel o pauz suprtoare n muzic sau n
film. Aceast problem poate fi alinat prin ntrzierea i mai mare a momentului nceperii, dei
acest lucru necesit i un spaiu tampon mai mare. Sit-urile Web comerciale care conin fluxuri au-
dio sau video folosesc toate programe de rulare care au timpul de reinere n zona tampon de apro-
ximativ 10 secunde pn s nceap s ruleze aplicaia.
Formarea traficului
n exemplul de mai sus, sursa trimite pachetele la intervale de timp egale ntre ele, dar n alte ca-
zuri ele pot fi emise neregulat, ceea ce poate duce la apariia congestiei n reea. Neuniformitatea
ieirii este un lucru obinuit dac server-ul se ocup de mai multe fluxuri la un moment dat i de ase-
meni permite i alte aciuni cum ar fi derularea rapid nainte sau napoi, autentificarea utilizatorilor
i aa mai departe. De asemenea, abordarea pe care am folosit-o aici (memorarea temporar) nu este
ntotdeauna posibil, de exemplu n cazul videoconferinelor. Cu toate acestea, dac s-ar putea face
ceva pentru ca serverul (i calculatoarele gazd n general) s transmit cu rate de transfer uniforme,
calitatea serviciilor ar fi mai bun. Vom examina acum o tehnic numit formarea traficului (traffic
shaping), care uniformizeaz traficul mai degrab pentru server dect pentru client.
SEC. 5.4 CALITATEA SERVICIILOR 359

Formarea traficului se ocup cu uniformizarea ratei medii de transmisie a datelor (atenuarea ra-
falelor). n contrast, protocoalele cu fereastr glisant pe care le-am studiat anterior limiteaz volu-
mul de date n tranzit la un moment dat i nu rata la care sunt transmise acestea. La momentul stabi-
lirii unei conexiuni, utilizatorul i subreeaua (clientul i furnizorul) stabilesc un anumit model al
traficului (form) pentru acel circuit. n unele cazuri aceasta se numete nelegere la nivelul servicii-
lor (service level agreement). Att timp ct clientul i respect partea sa de contract i trimite pache-
te conform nelegerii ncheiate, furnizorul promite livrarea lor n timp util. Formarea traficului re-
duce congestia i ajut furnizorul s-i in promisiunea. Astfel de nelegeri nu sunt foarte impor-
tante pentru transferul de fiiere, ns sunt deosebit de importante pentru datele n timp real, cum ar
fi conexiunile audio sau video, care au cerine stringente de calitate a serviciilor.
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. Monitorizarea
fluxului traficului se numete supravegherea traficului (traffic policing.) Stabilirea unei forme a tra-
ficului i urmrirea respectrii ei se fac mai uor n cazul subreelelor bazate pe circuite virtuale de-
ct 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-32(a).
Nu conteaz cu ce rat curge apa n gleat, fluxul de ieire va fi la o rat constant, , dac exist
ap n gleat i zero dac gleata este goal. De asemenea, odat ce gleata s-a umplut, orice canti-
tate suplimentar de ap se va revrsa n afara pereilor i va fi pierdut (adic nu se va regsi n flu-
xul de ieire de sub orificiu).

Fig. 5-32. (a) O gleat gurit umplut cu ap (b) O gleat gurit, cu pachete.

360 NIVELUL REEA CAP. 5


Aceeai idee poate fi aplicat i n cazul pachetelor, aa cum se arat n fig. 5-32 (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 calculatorul gazd ncearc tri-
miterea unui pachet atunci cnd coada conine deja numrul maxim de pachete, pachetele noi vor fi
distruse fr menajamente. 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 este numit algoritmul gleii gurite (the leaky bucket algorithm). De fapt nu este altceva
dect un sistem de cozi cu un singur server i cu timp de servire constant.
Calculatorul gazd poate pune n reea cte un pachet la fiecare tact al ceasului. i acest lucru
poate fi realizat de placa de interfa sau 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 toate pachetele au aceeai dimensiune (de exemplu celule ATM), algoritmul poate fi folo-
sit exact aa cum a fost descris. Dac se folosesc pachete de lungimi variabile, este adesea mai con-
venabil s se transmit un anumit numr de octei la fiecare tact i nu un singur pachet. Astfel, dac
regula este 1024 octei la fiecare tact, atunci se pot transmite un pachet de 1024 octei, dou de 512
octei, sau patru de 256 octei .a.m.d. Dac numrul rezidual de octei este prea mic, urmtorul pa-
chet va trebui s atepte urmtorul tact.
Implementarea algoritmului iniial al gleii gurite este simpl. 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 manie-
r. 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 cores-
punztor de octei. Mai pot fi transmise i alte pachete adiionale, att timp ct contorul este sufici-
ent de mare. Dac contorul scade sub lungimea primului pachet din coad, atunci transmisia nce-
teaz pn la urmtorul tact, cnd contorul este reiniializat i fluxul poate continua.
Ca un exemplu de gleat gurit, s ne imaginm un calculator care produce date cu rata de 25
milioane octei/sec (200 Mbps) i o reea care funcioneaz la aceeai vitez. Cu toate acestea,
ruterele pot s gestioneze datele la aceast rat doar pentru un timp foarte scurt (practic, pn cnd
li se umple spaiul tampon). Pentru intervale mai mari ele lucreaz optim pentru rate care nu dep-
esc valoarea de 2 milioane octei/sec. S presupunem acum c datele vin n rafale de cte 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 = 2 MB/sec i o capacitate, C, de 1 MB. Aceasta nseamn c rafale-
le de pn la 1 MB pot fi gestionate fr pierderi de date i c acele rafale sunt mprtiate de-a lun-
gul a 500 msec, indiferent ct de repede sosesc.
n fig. 5-33(a) vedem intrarea pentru gleata gurit funcionnd la 25 MB/sec pentru 40 msec.
n fig. 5-33(b) vedem ieirea curgnd la o rat uniform de 2 MB/sec pentru 500 msec.





SEC. 5.4 CALITATEA SERVICIILOR 361





Fig. 5-33. (a) Intrarea pentru o gleat gurit. (b) Ieirea pentru o gleat gurit. (c) - (e) Ieirea
pentru o gleat cu jeton de capacitate 250 KB, 500 KB, 750 KB. (f) Ieirea pentru o gleat cu jeton
de capacitate 500 KB care alimenteaz o gleat gurit de 10 MB/sec.


362 NIVELUL REEA CAP. 5


Algoritmul gleii cu jeton
Algoritmul gleii gurite impune un model rigid al ieirii, din punct de vedere al ratei medii, in-
diferent de cum arat traficul. Pentru numeroase aplicaii este mai convenabil s se permit o crete-
re 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-34(a) vedem o gleat pstrnd trei jetoane i avnd cinci pa-
chete care ateapt s fie transmise. Pentru ca un pachet s fie transmis, el trebuie s captureze i s
distrug un jeton. n fig. 5-34(b) vedem c trei din cele cinci pachete au trecut mai departe, n timp
ce celelalte dou ateapt s fie generate alte dou jetoane.

Fig. 5-34. Algoritmul gleii cu jeton. (a) nainte. (b) Dup.

Algoritmul gleii cu jeton asigur o formare diferit a traficului, comparativ cu algoritmul gleii
gurite. Algoritmul gleii gurite nu permite calculatoarelor gazd inactive s acumuleze permisiu-
nea de a trimite rafale mari 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 dintr-o dat, permind apariia unor rafale la ieire i 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
(capacitatea de transmisie) la umplerea gleii, dar niciodat nu distruge pachete. Prin contrast, al-
goritmul 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 octei. Un pachet va putea fi trimis doar dac se dein suficiente jetoane pentru a-i acoperi lun-
gimea exprimat n octei. Jetoanele fracionare sunt pstrate pentru utilizri ulterioare.
Algoritmul gleii gurite i algoritmul gleii cu jeton pot fi folosite i pentru a uniformiza trafi-
cul ntre rutere, la fel de bine cum pot fi folosite pentru a regla informaia de ieire a unui calculator
SEC. 5.4 CALITATEA SERVICIILOR 363

gazd, ca n exemplul prezentat. Oricum, o diferen evident este aceea c algoritmul gleii cu je-
ton 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 je-
toane. Acest contor crete cu 1 la fiecare T i scade cu 1 ori de cte ori este trimis un pachet. Dac
acest contor atinge valoarea zero, nu mai poate fi trimis nici un pachet. n varianta la nivel de octei,
contorul este incrementat cu k octei la fiecare T i decrementat cu lungimea pachetului trimis.
Caracteristica esenial a algoritmului gleii cu jeton este c permite rafalele, dar pn la o lun-
gime maxim controlat. Privii de exemplu fig. 5-33(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 este trimis ntreaga rafal.
Calculul lungimii rafalei de vitez maxim este puin mai special. 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 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 +
S octei. De asemenea, mai tim c numrul de octei ntr-o rafal de vitez maxim de S secunde
este MS. De aici avem:

C + S = MS

Rezolvnd aceast ecuaie obinem S = C / (M - ). Pentru parametrii considerai C = 250 KB,
M = 25 MB/sec i = 2 MB/sec vom obine o durat a rafalei de circa 11 msec. Fig. 5-33(d) i fig. 5-
33(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 ra-
fale mari, chiar dac durata maxim a unei rafale poate fi reglat prin selectarea atent a lui i M.
De multe ori este de dorit s se reduc valoarea de vrf, dar fr a se reveni la valorile sczute per-
mise 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 al gleii cu jeton, ns mai mic
dect rata maxim a reelei. Fig. 5-25(f) ilustreaz comportarea unei glei cu jeton de 500 KB, ur-
mat de o gleat gurit de 10 MB/sec.
Gestionarea tuturor acestor scheme poate fi puin mai special. n esen, reeaua trebuie s si-
muleze algoritmul i s se asigure c nu se trimit mai multe pachete sau mai muli octei dect este
permis. Totui, aceste instrumente furnizeaz posibiliti de a aduce traficul reelei la forme mai uor
de administrat pentru a ajuta la ndeplinirea condiiilor necesare calitii serviciilor.
Rezervarea resurselor
Un bun nceput pentru garantarea calitii serviciilor este capabilitatea de a regla forma traficului
oferit. Totui, folosirea efectiv a acestei informaii nseamn implicit s ceri ca toate pachetele
dintr-un flux s urmeze aceeai rut. Rspndirea lor aleatoare pe rutere face dificil de garantat ori-
ce. Ca o consecin, trebuie ca ntre surs i destinaie s se creeze ceva similar unui circuit virtual i
ca toate pachetele care aparin fluxului s urmeze aceast cale.
364 NIVELUL REEA CAP. 5


Odat ce avem o rut specific pentru un flux, devine posibil s rezervi resurse de-a lungul acelei
rute pentru a te asigura c este disponibil capacitatea necesar. Pot fi rezervate trei tipuri diferite
de resurse:

1. Limea de band
2. Zona tampon
3. Ciclurile procesorului

Prima, limea de band este cea mai evident. Dac un flux cere 1 Mbps i linia pe care se iese
are capacitatea de 2 Mbps, ncercarea de a dirija trei fluxuri prin acea linie nu va reui. Astfel, a re-
zerva lime de band nseamn s nu se suprancarce vreo linie de ieire.
O a doua resurs care este adeseori insuficient este spaiul tampon. Cnd sosete un pachet,
acesta este de obicei depozitat pe placa de reea de ctre hardware. Software-ul ruterului trebuie s
copieze apoi pachetul ntr-o zon tampon din RAM i s adauge acest tampon n coada pentru
transmisie pe linia de ieire aleas. Dac nu este disponibil nici un tampon, pachetul trebuie aruncat
deoarece nu exist spaiu n care s poat fi pus. Pentru o bun calitate a serviciilor, unele zone tam-
pon pot fi rezervate pentru un anumit flux n aa fel nct acel flux s nu trebuiasc s concureze
pentru tampoane cu alte fluxuri. ntotdeauna va exista o zon tampon disponibil atunci cnd fluxul
va avea nevoie, dar pn la o anumit limit.
n cele din urm, ciclurile procesorului sunt de asemenea resurse rare. Ruterul are nevoie de
timp de procesor pentru a prelucra un pachet, deci un ruter poate procesa doar un anumit numr de
pachete pe secund. Este necesar s ne asigurm c procesorul nu este suprancrcat pentru a asigu-
ra prelucrarea n timp util a fiecrui pachet.
La prima vedere ar putea prea c dac, s zicem, un ruter are nevoie de 1sec pentru a procesa
un pachet, atunci el poate procesa 1 milion de pachete/sec. Aceast observaie nu este adevrat pen-
tru c vor exista ntotdeauna perioade nefolosite datorate fluctuaiilor statistice ale ncrcrii. Dac
procesorul are nevoie de fiecare ciclu de ceas pentru a-i face treaba, pierderea chiar i a ctorva ci-
cluri din cauza perioadelor de nefolosire ocazionale creeaz un decalaj de care nu se poate scpa.
Oricum, chiar i cu o ncrcare puin sub capacitatea teoretic, se pot forma cozi i pot aprea n-
trzieri. S considerm o situaie n care pachetele sosesc aleator, cu rat medie de sosire de pa-
chete/sec. Timpul de procesor cerut de fiecare pachet este de asemenea aleator, cu o capacitate me-
die de procesare de pachete/sec. Presupunnd c distribuiile sosirii i servirii sunt distribuii
Poisson, folosind teoria cozilor se poate demonstra c ntrzierea medie a unui pachet, T, este:

=
1
1 1
1
1 1
T

unde =/ este utilizarea procesorului. Primul factor, 1/, reprezint timpul de servire n absena
competiiei. Al doilea factor este ncetinirea cauzat de competiia cu alte fluxuri. De exemplu, dac
= 950,000 de pachete/sec i = 1,000,000 de pachete/sec, atunci = 0.95 i ntrzierea medie a
unui pachet va fi de 20 sec n loc de 1 sec Acest timp ia n considerare att timpul de ateptare n
coad, ct i timpul de servire, dup cum se poate vedea atunci cnd ncrcarea este foarte mic (/
0). Dac presupunem c pe traseul fluxului exist 30 de rutere, numai datorit ntrzierilor n cozi
vor rezulta 600sec de ntrziere.
SEC. 5.4 CALITATEA SERVICIILOR 365

Controlul accesului
Acum suntem n punctul n care traficul dintr-un flux oarecare este bine format i poate s urmeze
o singur rut n care capacitatea poate fi rezervat n avans pe ruterele ce se gsesc de-a lungul cii.
Cnd un asemenea flux este oferit unui ruter, acesta trebuie s decid, pe baza capacitii sale i a nu-
mrului de angajamente pe care le-a fcut deja cu alte fluxuri, dac s primeasc sau s resping fluxul.
Decizia de a accepta sau de a respinge fluxul nu este o simpl chestiune de comparaie ntre (l-
ime de band, zone tampon, cicluri) cerute de ctre flux i capacitatea n exces a ruterului n aceste
trei dimensiuni. Este puin mai complicat dect att. n primul rnd, dei unele aplicaii i-ar putea
cunoate necesitile de lime de band, puine tiu despre zonele tampon sau despre ciclurile de
procesor, deci, la nivel minim, este necesar un alt mod de descriere a fluxurilor. Apoi, unele aplicaii
sunt de departe mai tolerante la ratarea ocazional a unui termen limit. n cele din urm, unele
aplicaii ar putea fi dornice s negocieze n legtur cu parametrii fluxului, iar altele nu. De exemplu,
un server video care ruleaz n mod normal la 30 de cadre/sec ar putea fi dispus s coboare la 25 de
cadre /sec dac nu exist suficient lime de band liber pentru a suporta 30 de cadre/sec. n mod
similar pot fi ajustai numrul de pixeli pe cadru, limea de band audio i alte proprieti.
Deoarece n negocierea fluxului pot fi implicate mai multe pri (emitorul, receptorul i toate
ruterele aflate de-a lungul cii dintre acetia), fluxurile trebuie descrise exact n termenii parametri-
lor specifici ce pot fi negociai. Un set de astfel de parametri se numete specificarea fluxului (flow
specification). Tipic, emitorul (adic serverul video) produce o specificaie a fluxului propunnd
parametrii pe care ar vrea s i foloseasc. Pe msur ce specificaia se propag de-a lungul cii, fie-
care ruter o examineaz i i modific parametrii dup cum are nevoie. Modificrile pot doar s re-
duc fluxul, nu s l i creasc (de exemplu o rat mai mic a datelor, nu mai mare). Cnd ajunge la
captul cellalt, parametrii pot fi stabilii.
Ca un exemplu de ce poate exista ntr-o specificaie a fluxului, s considerm exemplul din fig. 5-
35, care se bazeaz pe RFC-urile 2210 i 2211. Are cinci parametri, dintre care primul, rata gleii cu
jeton, reprezint numrul de octei pe secund care sunt pui n gleat. Aceasta este rata maxim
suportat la care poate transmite emitorul, mediat de-a lungul unui interval mare de timp.

Parametru Unitate de msur
Rata gleii cu jeton Octei/sec
Dimensiunea gleii cu jeton Octei
Rata de vrf a datelor Octei/sec
Dimensiunea minim a pachetului Octei
Dimensiunea maxim a pachetului Octei

Fig. 5-35. Un exemplu de specificaie a fluxului

Al doilea parametru este dimensiunea gleii n octei. Dac, de exemplu, rata gleii cu jeton este
de 1 Mbps i dimensiunea gleii cu jeton este de 500 KB, gleata se poate umplut continuu timp de
4 sec pn s fie plin (n absena oricrei transmisii). Orice jeton trimis dup aceasta este pierdut.
Al treilea parametru, Rata de vrf a datelor este rata de transmisie maxim tolerat, chiar i pen-
tru intervale scurte de timp. Emitorul nu trebuie s depeasc niciodat aceast valoare.
Ultimii doi parametri specific dimensiunile minim i maxim ale pachetului, incluznd antetele
nivelelor transport i reea (de exemplu TCP i IP). Dimensiunea minim este important deoarece
durata procesrii fiecrui pachet este fixat, indiferent ct este de mic pachetul. Un ruter poate fi pre-
gtit s se ocupe de 10,000 de pachete/sec de cte 1 KB fiecare, dar nepregtit s se ocupe de 100000
de pachete/sec de cte 50 de octei fiecare, chiar dac acestea reprezint mai puine date. Dimensiu-
366 NIVELUL REEA CAP. 5


nea maxim a pachetului este important datorit limitrilor interne ale reelei, care nu pot fi depi-
te. De exemplu, dac o parte a cii trece prin Ethernet, dimensiunea maxim a pachetului va fi restric-
ionat la nu mai mult de 1500 de octei, indiferent de ct poate s suporte restul reelei.
O ntrebare interesant este cum transform un ruter o specificaie a fluxului ntr-un set de re-
zervri specifice de resurse. Aceast mapare este implementat specific i nu este standardizat. S
presupunem c un ruter poate procesa 100000 pachete/sec. Dac i este oferit un flux de 1MB/sec cu
dimensiunile minim i maxim a pachetului de 512 octei, ruterul poate calcula c ar putea lua 2048
de pachete/sec din acel flux. n acest caz, el trebuie s rezerve 2% din procesor pentru acel flux, pre-
ferabil mai mult pentru a evita ntrzierile cauzate de ateptarea n coad. Dac politica unui ruter
este de a nu aloca niciodat mai mult de 50 % din procesor (ceea ce implic o ntrziere dubl) i
este deja solicitat 49%, atunci acest flux trebuie respins. Calcule asemntoare sunt necesare i pen-
tru celelalte resurse.
Cu ct este mai exigent specificaia, cu att ea este mai folositoare ruterelor. Dac o specificaie
de flux spune c are nevoie de o rat a gleii cu jeton de 5MB/sec dar pachetele pot varia de la 50 de
octei la 1500 de octei, atunci rata pachetelor va varia de la circa 3500 de pachete/sec la 105000 de
pachete/sec. Ruterul s-ar putea panica la acest numr i ar putea respinge fluxul, dei la o dimensiu-
ne minim a pachetului de 1000 de octei, fluxul de 5MB/sec ar fi fost acceptat.
Dirijarea proporional
Cei mai muli algoritmi de dirijare ncearc s gseasc cea mai bun cale pentru fiecare destina-
ie i ndreapt tot traficul spre acea destinaie pe cea mai bun cale. O abordare diferit care a fost
propus pentru a furniza o mai bun calitate a serviciilor este de a mpri traficul pentru fiecare
destinaie pe mai multe ci. Din moment ce ruterele nu au n general o imagine de ansamblu com-
plet asupra traficului din reea, singura posibilitate real de a mpri traficul pe mai multe rute este
de a folosi informaiile disponibile local. O metod simpl este de a mpri traficul n mod egal sau
proporional cu capacitatea legturilor de ieire. Totui, sunt disponibili i algoritmi mai sofisticai
(Nelakuditi i Zhang, 2002).
Planificarea pachetelor
Dac un ruter se ocup de mai multe fluxuri, exist pericolul ca un flux s ia prea mult din capa-
citate, nghend toate celelalte fluxuri. Procesare pachetelor n ordinea sosirii lor nseamn c un
emitor agresiv poate acapara cea mai mare parte din capacitatea ruterelor pe care le traverseaz
pachetele sale, micornd calitatea serviciilor pentru celelalte. Pentru a mpiedica asemenea tentati-
ve au fost inventai diveri algoritmi de planificare a pachetelor (Bhatti i Crowcroft, 2000).
Unul dintre primii a fost algoritmul ateptare echitabil (fair queuing) (Nagle, 987). Esena al-
goritmului este c ruterele au cozi separate pentru fiecare linie de ieire, cte una pentru fiecare flux.
Cnd o linie se elibereaz, ruterul scaneaz cozile dup metoda round robin, lund primul pachet
din coada urmtoare. n acest fel, cu n calculatoare gazd care concureaz pentru o anumit linie de
ieire, fiecare gazd reuete s expedieze un pachet din fiecare n. Trimiterea mai multor pachete nu
va mbunti rata.
Dei este un nceput, algoritmul are o problem: d mai mult lime de band gazdelor care fo-
losesc pachete mari dect celor care folosesc pachete mici. Demers .a. (1990) a sugerat o mbunt-
ire n care parcurgerea round robin este realizat astfel nct s simuleze un round-robin octet-cu-
octet n locul unui round robin pachet-cu-pachet. n concluzie, el scaneaz cozile n mod repetat,
octet cu octet, pn gsete momentul la care fiecare pachet va fi terminat. Apoi pachetele sunt sor-
tate n ordine terminrii lor i trimise n acea ordine. Algoritmul este ilustrat n fig. 5-36.
SEC. 5.4 CALITATEA SERVICIILOR 367

Fig. 5-36. (a) Un ruter cu 5 pachete ateptnd pentru linia O.
(b) Momentul terminrii pentru cele 5 pachete.

n fig. 5-36(a) observm pachete cu lungimi ntre 2 i 6 octei. La momentul (virtual) 1 este trimis
primul octet al pachetului de pe linia A. Apoi urmeaz primul octet al pachetului de pe linia B i aa
mai departe. Primul pachet care este terminat este C, dup opt perioade. Ordinea sortat este dat
n fig. 5-36(b). n absena unor noi sosiri, pachetele vor fi trimise n ordinea listat, de la C la A.
O problem a acestui algoritm este aceea c acord tuturor calculatoarelor gazd aceeai priori-
tate. n multe situaii, este de dorit s se acorde mai mult lime de band serverelor video dect
serverelor de fiiere normale n aa fel nct s poat transmit doi sau mai muli octei pe perioad.
Acest algoritm modificat se numete ateptare echitabil ponderat (weighted fair queueing) i este
foarte folosit. Uneori ponderea este egal cu numrul de fluxuri care ies dintr-un calculator, astfel
nct toate procesele primesc lime de band egal. O implementare eficient a acestui algoritm
este discutat n (Shreedhar i Varghese, 1995). Din ce n ce mai mult, retransmiterea efectiv a pa-
chetelor printr-un ruter sau comutator se face prin hardware (Elhananz et al., 2001).
5.4.3 Servicii integrate
ntre 1995 i 1997, IETF a depus mult efort pentru a inventa o arhitectur pentru fluxurile de tip
multimedia. Aceast munc s-a concretizat n peste doua duzini de RFC-uri, ncepnd cu RFC-urile
2205-2210. Numele generic al acestui rezultat este algoritmi bazai pe flux (flow-based algorithms)
sau servicii integrate (integrated services). A fost gndit att pentru aplicaii cu trimitere unic (eng.:
unicast) ct i pentru cele cu trimitere multipl (eng.: multicast). Un exemplu pentru cele dinti este
cazul unui singur utilizator rulnd o secven video de pe un sit de tiri. Un exemplu pentru cel din
urm este o colecie de staii de televiziune prin cablu difuzndu-i programele ca iruri de pachete
IP mai multor receptori din diverse locaii. n cele ce urmeaz ne vom concentra pe multicast, avnd
n vedere c unicastul este un caz particular al multicast-ului.
n numeroase aplicaii multicast, grupurile i pot schimba dinamic componena, de exemplu ca
participanii la o videoconferin care se plictisesc i comut pe un canal cu un serial uurel sau pe
canalul de crochet. n aceste condiii, abordarea n care emitorii rezerv lime de band n avans
nu mai funcioneaz corespunztor, deoarece va cere fiecrui emitor s urmreasc toate intrrile
i ieirile celor din audiena sa. Pentru un sistem destinat transmisiilor televiziune cu milioane de
abonai, nu va merge deloc.
368 NIVELUL REEA CAP. 5


RSVP - Protocol de rezervare a resurselor
Principalul protocol IETF pentru arhitectura serviciilor integrate este RSVP (Resource
reSerVation Protocol). El este descris n RFC 2205 i altele. Acest protocol este folosit pentru a face
rezervri; pentru transmisia datelor sunt folosite alte protocoale. RSVP permite emitorilor multi-
pli s transmit spre grupuri multiple de receptori, permite fiecrui receptor s schimbe canalul la
alegere i optimizeaz limea de band folosit, eliminnd n acelai timp congestia.
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,
emitorul 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 membrii grupului. Algo-
ritmul 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.



Fig. 5-37. (a) O reea. (b) Arborele de acoperire multicast pentru calculatorul 1.
(c) Arborele de acoperire multicast pentru calculatorul 2.

Ca exemplu, s considerm reeaua din fig. 5-37(a). Calculatoarele gazd 1 i 2 sunt emitori
multicast, iar calculatoarele gazd 3, 4 i 5 sunt receptori multicast. n acest exemplu emitorii i
receptorii sunt disjunci, dar n general cele dou mulimi se pot suprapune. Arborii multicast pentru
mainile 1 i 2 sunt prezentai n fig. 5-37(b), respectiv fig. 5-37(c).
Pentru a avea o recepie mai bun i pentru a elimina congestia, fiecare dintre receptorii dintr-un
grup poate s trimit un mesaj de rezervare n sus pe arbore spre emitor. Mesajul este propagat
folosind algoritmul cii inverse discutat anterior. La fiecare salt, ruterul noteaz rezervarea i rezerv
limea de band necesar. Dac limea de band este insuficient, se raporteaz eroare. Atunci
cnd mesajul ajunge la surs, limea de band a fost rezervat pe tot drumul de la emitor spre
receptorul care a fcut rezervarea de-a lungul arborelui de acoperire.
SEC. 5.4 CALITATEA SERVICIILOR 369


Fig. 5-38. (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-38(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 gazda 3 rezerv i 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-38(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-38 (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 rezerva-
t, 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) specifica una sau mai multe surse de la
care vrea s recepioneze. De asemenea, el mai poate specifica dac aceste alegeri sunt fixe pe dura-
ta rezervrii sau dac receptorul dorete s-i pstreze opiunea de a modifica sursele ulterior.
Ruterele folosesc aceast informaie 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 de-
cuplat de alegerea sursei. Odat ce un receptor a rezervat lime de band, 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: ruterelor nu le pas la ce program se uit utilizatorul.
370 NIVELUL REEA CAP. 5


5.4.4 Servicii difereniate
Algoritmii bazai pe flux au potenialul de a oferi o bun calitate a serviciilor unuia sau mai mul-
tor fluxuri deoarece acestea i rezerv resursele necesare de-a lungul rutei. Totui ei au i un dez-
avantaj: au nevoie s stabileasc n avans caracteristicile fiecrui flux, ceea ce nu este optim n cazul
n care exist milioane de fluxuri. De asemenea, ei memoreaz caracteristicile fiecrui flux ca date
interne ale ruterului, ceea ce le face vulnerabile n cazul cderii ruterului. n fine, modificrile nece-
sare codului ruterului sunt substaniale i implic schimburi complexe de informaii ntre rutere
pentru stabilirea fluxurilor. Ca o consecin, exist foarte puine implementri ale RSVP-ului sau a
ceva asemntor.
Din aceste motive, IETF a propus i o abordare mai simpl a calitii serviciilor, care poate fi im-
plementat local n fiecare ruter fr iniializri prealabile i fr a implica ntreaga cale. Aceast
abordare este cunoscut sub numele de calitatea serviciilor orientate pe clase (class-based) (opus
abordrii bazate pe flux). IETF a standardizat o arhitectur numit servicii difereniate (differenti-
ated services), care este descris n RFC-urile 2474, 2475 i altele. O vom descrie n continuare.
Serviciile difereniate (DS) pot fi oferite de ctre un set de rutere care formeaz un domeniu
administrativ (de exemplu un ISP sau telco). Administraia definete un set de clase de servicii cu
regulile de rutare corespunztoare. Dac un client se nscrie pentru DS, pachetele clientului care
intr n domeniu pot avea un cmp Type of Service (Tipul serviciului), cu servicii mai bine furnizate
unor clase (de exemplu serviciu premium) dect altora. Traficului dintr-o clas i se poate cere s se
conformeze unei anumite forme, cum ar fi gleata gurit cu o anumit rat decurgere. Un operator
cu fler ar putea s cear mai mult pentru fiecare pachet premium transportat sau ar putea s permit
maximum N pachete premium pe lun pentru o tax lunar suplimentar fix. Observai c aceast
schem nu presupune iniializarea n avans, nici rezervarea resurselor i nici negocierea capt-la-
capt pentru fiecare flux, care consum timp, ca n cazul serviciilor integrate. Aceasta face ca servicii-
le difereniate s fie relativ uor de implementat.
Serviciile bazate pe clase se ntlnesc i n alte domenii. De exemplu, companiile care livreaz pa-
chete ofer de obicei servicii de tip peste noapte, n dou zile sau n trei zile. Companiile aeri-
ene ofer clasa nti, clasa de afaceri i clasa a doua. Trenurile pe distane lungi ofer adeseori
multiple clase de servicii. Chiar i metroul din Paris are dou tipuri de servicii. Pentru pachete, clase-
le pot s difere, printre altele, prin valorile ntrzierii, fluctuaiei i a probabilitii pachetului de a fi
aruncat la apariia unei congestii.
Pentru a evidenia diferena dintre calitatea serviciilor bazate pe flux i calitatea serviciilor bazate
pe clase, s considerm un exemplu: telefonia Internet. n cazul organizrii pe flux, fiecare apel tele-
fonic are propriile resurse i garanii. n cazul organizrii pe clase, toate apelurile telefonice benefi-
ciaz de resursele rezervate pentru clasa telefoniei. Aceste resurse nu pot fi preluate de pachete din
clasa transferului de fiiere sau din alte clase, dar nici un apel telefonic nu beneficiaz de resurse
particulare, rezervate doar pentru acesta.
Retransmitere expeditiv (Expedited Forwarding)
Alegerea claselor de servicii este la dispoziia fiecrui operator, dar, avnd n vedere c pachetele
sunt adesea expediate ntre subreele administrate de operatori diferii, IETF lucreaz la definirea
unor clase de servicii independente de reea. Cea mai simpl clas este retransmiterea expeditiv
(expedited forwarding), deci vom ncepe cu aceasta. Descrierea ei este dat n RFC 3246.
SEC. 5.4 CALITATEA SERVICIILOR 371

Ideea care st la baza retransmiterii expeditive este foarte simpl. Sunt disponibile dou clase de
servicii: normale i rapide (expeditive). Marea majoritate a traficului se presupune c este de tip
normal, dar o mic parte se face i expeditiv. Pachetele din aceast clas ar trebui s poat traversa
subreeaua ca i cum nu ar mai exista i alte pachete. O reprezentare simbolic a acestui sistem bi-
canal este dat n fig. 5-39. Observai c exist doar o singur linie fizic. Cele dou canale logice
din figur reprezint o cale de a rezerva lime de band i nu o a doua linie fizic.

Fig. 5-39. Pachetele prioritare trec printr-o reea cu trafic redus.

O modalitate de a implementa aceast strategie este de a programa ruterele astfel nct s aib
dou cozi de ateptare pentru fiecare linie de ieire, una pentru pachete prioritare i cealalt pentru
pachete normale. Cnd sosete un pachet este introdus n coada corespunztoare. Planificarea pache-
telor ar trebui s utilizeze ceva de genul ateptrii echitabile ponderate. De exemplu, dac 10% din
trafic este de tip expeditiv i 90% de tip normal, atunci 20% din limea de band ar putea fi reparti-
zat traficului expeditiv, iar restul traficului normal. n acest fel traficul expeditiv ar avea de dou ori
mai mult lime de band dect i este necesar pentru a asigura ntrziere mic. Aceast repartizare
poate fi obinut transmind cte un pachet prioritar la fiecare patru pachete normale (presupunnd
c distribuia dimensiunilor pachetelor ambelor clase este similar). n acest fel se sper c pachetele
prioritare nu vd subreeaua ca fiind aglomerat, chiar dac exist o ncrcare substanial.
Rutare garantat
O metod mai elaborat de a administra clasele de servicii este rutarea garantat (assured for-
warding). Descrierea acesteia se gsete n RFC 2597. Ea precizeaz c ar trebui s existe patru
clase de prioriti, fiecare cu propriile resurse. n plus definete trei probabiliti de aruncare a pa-
chetelor care sunt supuse congestiei: mic, medie i mare. Luate mpreun, aceste dou criterii defi-
nesc 12 clase de servicii.
Fig. 5-40 prezint o modalitate n care pachetele ar putea fi procesate n cazul rutrii garantate.
Primul pas este acela de a repartiza pachetele ntr-una din cele patru clase de prioriti. Acest pas se
poate face pe calculatorul emitor (dup cum se vede i din figur) sau n primul ruter. Avantajul
realizrii clasificrii pe calculatorul gazd care realizeaz transmisia este acela c are la dispoziie
mai multe informaii despre fiecare pachet i direcia n care se ndreapt.
Al doilea pas este de a marca pachetele n conformitate cu clasa din care fac parte. Pentru aceas-
ta este necesar un cmp antet. Din fericire n antetul IP este disponibil un cmp pe 8 bii numit Tipul
serviciului, dup cum vom vedea n continuare. RFC 2597 specific faptul c ase dintre aceti bii se
vor folosi pentru clasa de serviciu, lsnd loc pentru codificarea claselor istorice i a celor viitoare.

372 NIVELUL REEA CAP. 5



Fig. 5-40. O posibil implementare a fluxului de date pentru rutarea garantat.

Pasul al treilea presupune trecerea pachetelor printr-un filtru (eng.: shaper/dropper filter) care ar
putea ntrzia sau arunca o parte dintre ele pentru a forma cele patru fluxuri ntr-o manier accep-
tabil, folosind de exemplu algoritmul gleii gurite sau al gleii cu jeton. Dac sunt prea multe
pachete, unele dintre ele ar putea fi aruncate n aceast etap, n funcie de categoria n care au fost
plasate de filtru. Sunt posibile i scheme mai elaborate care implic msurtori i reacii inverse
n acest exemplu, paii specificai sunt efectuai pe calculatorul emitor, deci fluxul rezultat este
trimis primului ruter. Merit observat faptul c aceti pai pot fi efectuai de un software de reea
specializat sau chiar de ctre sistemul de operare, pentru a evita modificarea aplicaiei existente.
5.4.5 Comutarea etichetelor i MPLS
n timp ce IETF lucra la serviciile integrate i difereniate, unii dintre vnztorii de rutere cutau
metode mai bune de rutare. Munca lor s-a axat pe adugarea unei etichete n faa fiecrui pachet i
pe efectuarea rutrii mai degrab pe baza acestei etichete dect a adresei destinaie. Utilizarea eti-
chetei ca index ntr-o tabel intern a ruterului face ca gsirea liniei de ieire corecte s se transfor-
me ntr-o simpl cutare n tabel. Folosind aceast metod, rutarea se poate face foarte repede iar
resursele necesare pot fi rezervate pe traseu.
Bineneles, etichetarea fluxurilor n acest fel se apropie foarte mult de circuitele virtuale. X.25,
ATM, releu de cadre (eng.: frame-relay) i toate celelalte reele cu subreele cu circuite virtuale pun
i ele cte o etichet (identificatorul circuitului virtual) n fiecare pachet, o caut ntr-o tabel i
rutarea se face pe baza intrrii din tabel. n ciuda faptului c muli dintre membrii comunitii In-
ternet au o puternic antipatie fa de rutarea orientat pe conexiune, se pare c nu se renun la
idee, de data aceasta pentru a furniza o rutare rapid i calitatea serviciilor. Totui exist diferene
fundamentale ntre modul n care se ocup Internetul de construcia rutelor i modul n care o fac
reelele orientate pe conexiune, deci n mod sigur tehnica nu este tradiionala comutare de circuite.
Noua idee de comutare este cunoscut sub mai multe denumiri, inclusiv comutarea etichetelor
(eng.: label switching) i comutarea marcajelor (eng.: tag switching). n cele din urm, IETF a nce-
put s standardizeze ideea sub numele de multiprotocol de comutare a etichetelor (MPLS
MultiProtocol Label Switching). n continuare o vom numi MPLS. Aceasta este descris n RFC
3031 i n multe alte RFC-uri.
Pe de alt parte, unii fac diferena ntre rutare i comutare. Rutarea este procesul de cutare a
adresei destinaie n tabel pentru a gsi unde trebuie trimis. n schimb, comutarea folosete o eti-
SEC. 5.4 CALITATEA SERVICIILOR 373

chet luat dintr-un pachet ca index ntr-o tabel de rutare. Aceste definiii sunt totui departe de a
fi universale.
Prima problem care apare este unde se pune eticheta. Din moment ce pachetele IP nu au fost
proiectate pentru circuite virtuale, n cadrul antetelor IP nu exist nici un cmp disponibil pentru
numerele circuitelor virtuale. Din acest motiv, n faa antetului IP a trebuit adugat un nou antet
MPLS. Pe o linie ruter-la-ruter folosind PPP ca protocol de ncadrare, formatul cadrului, inclusiv
antetele PPP, MPLS, IP i TCP, arat ca n fig. 5-41. ntr-un fel, MPLS este nivelul 2.5.

Fig. 5-41. Transmiterea unui segment TCP utiliznd IP, MPLS i PPP.

Antetul generic MPLS are 4 cmpuri, dintre care cel mai important este cmpul Etichet (Label)
care deine indexul. Cmpul QoS (Quality of Service; rom.: Calitatea serviciilor) precizeaz clasa de
servicii. Cmpul S se refer la memorarea mai multor etichete n reelele ierarhice (care vor fi discu-
tate mai trziu). Dac ajunge la valoarea 0, pachetul este aruncat. Aceast facilitate previne buclarea
infinit n cazul instabilitii rutrii.
Deoarece antetele MPLS nu fac parte din pachetul format la nivelul reea i nici din cadrele ni-
velului legtur de date, MPLS reprezint o extindere a acestor dou nivele. Printre altele aceasta
nseamn c este posibil construirea de comutatoare MPLS care s poat ruta att pachete IP ct i
celule ATM, dup necesiti. Aceast caracteristic a dus la apariia termenului multiprotocol din
denumirea de MPLS.
Cnd un pachet mbuntit MPLS (sau o celul) ajunge la un ruter ce suport MPLS, eticheta
este folosit ca index ntr-un tabel pentru a determina linia de ieire ce va fi folosit precum i noua
etichet. Aceast schimbare de etichete se folosete n toate subreelele cu circuite virtuale deoarece
etichetele au doar semnificaie local i dou rutere diferite pot trimite pachete care nu au legtur
unul cu altul dar au aceeai etichet unui alt ruter pentru a fi transmise pe aceeai linie de ieire.
Pentru a putea fi difereniate la captul cellalt, etichetele trebuie s fie remapate la fiecare salt. Am
vzut cum funcioneaz acest mecanism n fig. 5-3. MPLS folosete aceeai tehnic.
O diferen fa de circuitele virtuale tradiionale este nivelul de agregare. n mod sigur este posi-
bil ca fiecare flux s aib propriul set de etichete n cadrul subreelei. Totui se obinuiete mai mult
ca ruterele s grupeze mai multe fluxuri care au ca destinaie un anumit ruter sau LAN i s foloseas-
c pentru ele o singur etichet. Despre fluxurile care sunt grupate sub o aceeai etichet se spune c
aparin aceleiai Clase echivalente de rutare (FEC Forwarding Equivalence Class). Aceast clas
acoper nu numai pachetele care pleac, dar i clasele lor de servicii (n sensul claselor difereniate de
servicii) deoarece toate pachetele pe care le conin sunt tratate la fel din motive de expediere.
La rutarea tradiional de tip circuit virtual nu este posibil s se grupeze mai multe ci cu destina-
ii diferite pe acelai identificator de circuit virtual, deoarece la destinaia final nu ar mai fi posibil
374 NIVELUL REEA CAP. 5


s se fac distincie ntre ele. Cu MPLS, pachetele conin, pe lng etichet, i adresa lor final de
destinaie, n aa fel nct, la captul rutei etichetate, antetul poate fi eliminat i rutarea poate conti-
nua n mod obinuit, folosind adresa de destinaie a nivelului reea.
O diferen major dintre MPLS i circuitele virtuale convenionale este modul n care este con-
struit tabela de rutare. n reelele cu circuite virtuale tradiionale, cnd un utilizator dorete s sta-
bileasc o conexiune, este lansat n reea un pachet de iniializare pentru a crea calea i intrrile ta-
belelor de rutare. MPLS nu funcioneaz astfel deoarece nu exist faz de iniializare pentru fiecare
conexiune (deoarece ar stopa prea mult din software-ul existent n Internet).
n schimb exist dou modaliti n care pot fi create intrrile tabelelor de rutare. n abordarea
bazat pe date, (data-driven) atunci cnd un pachet ajunge la primul ruter, acesta contacteaz
ruterul din aval, la care trebuie s ajung pachetul, i i cere s genereze o etichet pentru flux.
Aceast metod se aplic recursiv. Practic, aceasta este crearea circuitelor virtuale la cerere.
Protocoalele care realizeaz aceast rspndire au foarte mare grij s evite buclele. Ele folosesc
adeseori tehnica numit a firelor colorate (colored threads). Propagarea napoi a unei FEC poate fi
comparat cu tragerea unui fir de o singur culoare napoi n subreea. Dac un ruter ntlnete o
culoare pe care o are deja, el tie c exist o bucl i ia msuri pentru remedierea situaiei. Aborda-
rea bazat pe date este folosit n reelele unde sub nivelul transport se gsete ATM-ul (ca n cazul
sistemului telefonic).
Cealalt modalitate, folosit n reele care nu sunt bazate pe ATM, este abordarea bazat pe
control (eng.: control-driven). Ea are mai multe variante, dintre care una funcioneaz n felul urm-
tor. Cnd este pornit un ruter, verific pentru ce rute el reprezint destinaia final (de exemplu ce
calculatoare gazd sunt n reeaua local). Apoi creeaz una sau mai multe clase echivalente pentru
acestea, aloc pentru fiecare cte o etichet i trimite etichetele vecinilor si. Acetia, la rndul lor,
introduc etichetele n tabelele de rutare i trimit noi etichete vecinilor lor, pn cnd toate ruterele
i-au nsuit calea. De asemenea, pentru a garanta o calitate corespunztoare a serviciilor, resursele
pot fi alocate pe msura construirii cii.
MPLS poate opera la mai multe niveluri deodat. La nivelul cel mai nalt, fiecare companie de
telecomunicaii poate fi privit ca un fel de metaruter, existnd o cale prin metarutere de la surs la
destinaie. Aceast cale poate folosi MPLS. Totui, n cadrul reelei fiecrei companii de
telecomunicaii poate fi folosit de asemenea MPLS, ducnd la un al doilea nivel de etichetare. De
fapt, un pachet poate transporta o ntreag stiv de etichete. Bitul S din fig. 5-41 permite unui ruter
care terge o etichet s afle dac au mai rmas alte etichete. Acesta are valoarea 1 pentru eticheta
de la baz i 0 pentru toate celelalte etichete. n practic, aceast facilitate este folosit n principal la
implementarea reelelor virtuale private i a tunelelor recursive.
Dei ideile care au stat la baza MPLS-ului sunt simple, detaliile sunt extrem de complicate, cu
multe variaii i optimizri, aa c nu vom mai dezvolta acest subiect. Pentru mai multe informaii,
vezi (Davie i Rekhter, 2000; Lin et al., 2002; Pepelnjak i Guichard, 2001; i Wang, 2001).

5.5 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 optimis-
t. Exist mai multe tipuri de reele, incluznd LAN-uri, MAN-uri i WAN-uri. La fiecare nivel se
SEC. 5.5 INTERCONECTAREA REELELOR 375

folosesc pe larg numeroase protocoale. n seciunile urmtoare vom analiza n detaliu problemele
care apar cnd dou sau mai multe reele sunt conectate 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 lu-
mii 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. Aproape toate
calculatoarele personale folosesc TCP/IP. Multe ntreprinderi mari nc se bazeaz pe sisteme de
calcul care folosesc SNA de la IBM. O parte important din companiile telefonice opereaz reele
ATM. Unele LAN-uri de calculatoare personale folosesc nc Novell NCP/IPX sau AppleTalk. i,
n final, n domeniul n plin dezvoltare al comunicaiilor fr fir exist o mare varietate de protocoa-
le. Aceast tendin va continua mult timp datorit problemelor de continuitate, noilor tehnologii i
faptului c nu toi productorii percep a fi n interesul lor posibilitatea clienilor de a migra cu uu-
rin 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 n organizaie. Multe companii au o politic care stabilete 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 unor staii de lucru UNIX care ruleaz TCP/IP n departamentul inginerie i a
unor calculatoare Macintosh care folosesc AppleTalk n departamentul de marketing.

Fig. 5-42. Colecie de reele interconectate.

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 pro-
grame 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 vii-
tor, ar putea fi un lucru obinuit ca telefonul, televizorul i alte aparate electrocasnice s fie legate n
reea, pentru a permite controlul de la distan. Aceast nou tehnologie va aduce, fr dubii, noi
reele i noi protocoale.
376 NIVELUL REEA CAP. 5


Ca un exemplu al modului n care ar putea fi conectate reele diferite, s considerm exemplul
din fig. 5-42. Aici vedem reeaua unei companii cu mai multe sedii interconectate printr-o reea
ATM de mare ntindere. La unul dintre sedii este folosit o coloan vertebral (eng.: backbone)
optic FDDI, prin care sunt conectate: o reea Ethernet, un LAN fr fir 802.11 i reeaua SNA de
calculatoare centrale a centrului de date al corporaiei.
Scopul interconectrii acestor reele este de a permite utilizatorilor din orice reea s comunice
cu utilizatorii celorlalte reele i de asemenea de a permite unui utilizator din orice reea s acceseze
date pe orice reea. Realizarea acestui scop nseamn trimiterea pachetelor dintr-o reea n alta.
Cum reelele difer deseori n puncte eseniale, transmiterea pachetelor dintr-o reea n alta nu este
ntotdeauna uoar, dup cum vom vedea n continuare.
5.5.1 Prin ce difer reelele
Reelele pot diferi n multe moduri. Unele dintre deosebiri, cum ar fi diferite tehnici de modula-
re sau formate de cadre, se gsesc la nivelul fizic i legtur de date. Aceste diferene nu ne preocup
la acest nivel. n schimb, n fig. 5-43, enumerm cteva din diferenele care pot aprea la nivelul re-
ea. Trecerea peste aceste diferene face interconectarea reelelor mult mai dificil dect operarea
ntr-o singur reea.

Element Cteva posibiliti
Serviciu oferit Orientat pe conexiuni fa de cel fr conexiune
Protocol IP, IPX, SNA, ATM, MPLS, AppleTalk 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 Algoritmul gleii gurite, algoritmul gleii cu jeton, RED, 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-43. Cteva din multele moduri n care pot diferi reelele.

Cnd pachetele trimise de o surs dintr-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, atunci cnd pachetele
dintr-o reea orientat pe conexiuni trebuie s tranziteze o reea fr conexiuni, poate interveni 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 de catalogare. Trecerea pachetelor cu trimitere multipl printr-o reea care nu ofer trimi-
tere multipl necesit generarea de pachete separate pentru fiecare destinaie.
Diferena dintre dimensiunile maxime ale pachetelor folosite de diferite reele poate produce
mari neplceri. 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
SEC. 5.5 INTERCONECTAREA REELELOR 377

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 des-
tinaia ateapt amndou ca toate pachetele s fie livrate n ordine fr erori, dar o reea intermedia-
r elimin pachete ori de cte ori ntrevede congestie la orizont, multe aplicaii se vor comporta ne-
prevzut. Diferenele n ceea ce privete mecanismele de securitate, stabilirea parametrilor, regulile
de contabilizare i chiar legile naionale referitoare la secrete pot, de asemenea, cauza probleme.
5.5.2 Cum pot fi conectate reelele
Reelele pot fi interconectate prin diferite dispozitive, aa cum s-a artat n cap.4. S revedem pe
scurt acest material. La nivelul fizic, reelele pot fi conectate prin repetoare sau noduri (eng.: hubs),
care doar transfer biii ntre dou reele identice. Acestea sunt n marea lor majoritate dispozitive
analogice i nu cunosc protocoalele numerice (doar regenereaz semnale).
Cu un nivel mai sus ntlnim punile i comutatoarele, care opereaz la nivelul legturii de date.
Acestea accept cadre, examineaz adresele MAC i retransmit cadrele ctre o reea diferit, efec-
tund traduceri de protocol minore, ca de exemplu de la Ethernet la FDDI sau la 802.11.
La nivelul reea avem rutere care pot conecta dou reele. Dac dou reele au niveluri reea di-
ferite, ruterul poate fi capabil s transforme formatul pachetelor, cu toate c astfel de situaii sunt
din ce n ce mai rare. Un ruter care poate trata mai multe protocoale este numit ruter multiprotocol
(eng. multiprotocol router).
La nivelul transport ntlnim pori de transport, care por realiza interfaa ntre dou conexiuni de
transport. De exemplu, o poart de transport poate permite pachetelor s treac ntre o reea TCP i
o reea SNA, care are un protocol de transport diferit, fcnd legtura ntre o conexiune TCP i o
conexiune SNA.
n sfrit, la nivelul aplicaie, porile de aplicaie traduc semnificaia mesajelor. De exemplu, pun-
ile dintre pota electronic din Internet (RFC 822) i pota electronic X 400 trebuie s analizeze
mesajele i s schimbe diferite cmpuri din antete.

Fig. 5-44. (a) Dou reele Ethernet conectate printr-un comutator.
(b) Dou reele Ethernet conectate prin rutere.

n acest capitol ne vom concentra pe interconectarea reelelor la nivelul reea. Pentru a vedea
prin ce difer de comutarea la nivelul legturii de date, s examinm fig. 5-44. n fig. 5-44(a) maina
378 NIVELUL REEA CAP. 5


surs, S, dorete s trimit un pachet mainii destinaie, D. Aceste maini se afl n reele Ethernet
diferite, conectate printr-un comutator. S ncapsuleaz pachetul ntr-un cadru i l trimite spre desti-
naie. Cadrul ajunge la comutator, care determin, analiznd adresa MAC, destinaia cadrului, re-
prezentat de LAN 2. Comutatorul nu face dect s preia cadrul din LAN 1 i s l pun pe LAN 2.
S considerm acum aceeai situaie, dar cu dou reele Ethernet conectate printr-o pereche de
rutere, n loc de comutator. Ruterele sunt conectate printr-o linie punct-la-punct, posibil o linie n-
chiriat de mai muli kilometri lungime. Acum cadrul este preluat de ruter, iar pachetul este extras
din cmpul de date al cadrului. Ruterul examineaz adresa din pachet (de exemplu o adres IP) i o
caut n tabela sa de rutare. Pe baza acestei adrese decide s trimit pachetul la ruterul aflat la dis-
tan, eventual ncapsulat ntr-un alt tip de cadru, n funcie de protocolul liniei. La cellalt capt
pachetul este pus n cmpul de date al unui cadru Ethernet i este depus pe LAN 2.
O diferen esenial ntre cazul cu comutator (sau punte) i cazul cu rutere este urmtoarea. n
cazul cu comutator (sau punte) este transportat ntregul cadru, pe baza adresei MAC. n cazul unui
ruter pachetul este extras din cadru, iar adresa din pachet este utilizat pentru a decide unde s fie
trimis. Comutatoarele nu trebuie s neleag protocolul nivelului reea, dar ruterele da.
5.5.3 Circuite virtuale concatenate
Sunt posibile 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 varian-
te, dar nainte de aceasta, un avertisment. n trecut, marea majoritate a reelelor (publice) erau
orientate pe conexiune (i releul de cadre, SNA, 802.16 i ATM nc sunt). Apoi, odat cu accepta-
rea rapid a Internetului, datagramele au venit la mod. Totui ar fi o greeal s credem c
datagramele vor fi folosite la nesfrit. n acest domeniu singurul lucru etern este schimbarea.
Odat cu creterea importanei reelelor multimedia, este probabil ca orientarea pe conexiune s
revin ntr-o form sau alta, deoarece este mai uor s se garanteze calitatea serviciului cu conexiuni,
dect fr ele. De aceea n continuare vom dedica spaiu orientrii pe conexiune.

Fig. 5-45. Interconectarea reelelor folosind circuite virtuale concatenate.

n modelul circuitelor virtuale concatenate, artat n fig. 5-45, o conexiune ctre o gazd dintr-o
reea ndeprtat este stabilit ntr-un mod similar cu modul n care sunt stabilite conexiunile n ca-
zul normal. Subreeaua observ c destinaia este ndeprtat i construiete un circuit virtual spre
SEC. 5.5 INTERCONECTAREA REELELOR 379

ruterul 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.
Caracteristica esenial a acestei abordri este c se stabilete o secven de circuite virtuale de la
surs, prin una sau mai multe pori, pn la destinaie. Fiecare poart menine tabele spunnd ce
circuite virtuale o traverseaz, unde vor fi dirijate i care este numrul noului circuit virtual.
Aceast schem funcioneaz cel mai bine atunci 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, SNA, care se termin ntr-o poart
i avnd o conexiune TCP de la aceast poart la poarta urmtoare. n acest mod, un circuit virtual
capt-la-capt poate fi construit acoperind diferite reele i protocoale.
5.5.4 Interconectarea reelelor fr conexiuni
Modelul alternativ de interconectare este modelul datagram, prezentat n fig. 5-46. 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. 546 sunt ilustrate datagramele de la
gazda 1 pentru gazda 2, care urmeaz rute diferite prin reeaua de interconectare. O decizie de diri-
jare este luat 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 mai
mare dect modelul circuitelor virtuale concatenate. Pe de alt parte, nu exist nici o garanie c
pachetele ajung la destinaie n ordine, presupunnd c vor ajunge.
Modelul din fig. 5-46 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 In-
ternet ncearc s trimit un pachet IP ctre o gazd dintr-o reea adiacent SNA. Adresele IP i SNA
sunt diferite. Ar trebui stabilit o coresponden ntre adresele IP i SNA i invers. n plus, ceea ce se
poate adresa este diferit. n IP, gazdele (de fapt plcile de interfa) au adrese. n SNA, pot avea adrese
i alte entiti n afar de gazde (de exemplu echipamente hardware). n cel mai bun caz, cineva ar tre-
bui s menin o baz de date a tuturor corespondenelor, dar ar fi o surs constant de necazuri.

380 NIVELUL REEA CAP. 5



Fig. 5-46. O interconectare fr conexiuni.

O alt idee este de a proiecta un pachet universal inter-reea i a obliga toate ruterele s-l recu-
noasc. Aceast abordare este, de fapt, chiar IP-ul - un pachet proiectat ca s fie purtat prin mai multe
reele. Bineneles se poate ntmpla ca IPv4 (protocolul actual din Internet) s scoat de pe pia toate
celelalte protocoale, IPv6 (viitorul protocol Internet) s nu prind i s nu mai fie inventat nimic nou,
dar istoria sugereaz altceva. Este dificil ca toat lumea s fie de acord cu un singur format, atunci cnd
companiile consider c este n interesul lor s aib formate proprii pe care s le controleze.
S recapitulm pe scurt cele dou moduri prin care se poate aborda interconectarea reelelor.
Modelul circuitelor virtuale concatenate are, n esen, aceleai avantaje ca folosirea circuitelor virtua-
le ntr-o singur subreea: zonele tampon pot fi rezervate n prealabil, poate fi garantat secvenialita-
tea, 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 cone-
xiune 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 n mare parte aceleai ca i
cele ale subreelelor de tip datagram: potenial de congestionare mai mare, dar de asemenea po-
tenial mai mare de adaptare la congestionri, robustee n cazul defectrii ruterelor i lungime mai
mare necesar pentru antete. ntr-o inter-reea sunt posibili diferii algoritmi de dirijare adaptiv,
aa cum sunt n cadrul unei singure reele de tip datagram. Un avantaj major al abordrii interco-
nectrii reelelor prin datagrame este c aceasta poate fi folosit peste subreele 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 dintre acestea, apar
probleme serioase dac strategia de interconectare a reelelor este bazat pe circuite virtuale.
5.5.5 Trecerea prin tunel
Rezolvarea cazului general de interconectare a dou reele diferite este extrem de dificil. Cu toa-
te acestea, exist un caz special uzual care este gestionabil. Acest caz apare cnd gazdele surs i des-
tinaie sunt n acelai tip de reea, dar ntre ele exist o reea diferit. Ca exemplu, gndii-v la o ban-
c internaional cu o reea TCP/IP bazat pe Ethernet la Paris, o reea TCP/IP bazat pe Ethernet la
Londra i o reea non-IP de mare ntindere (de exemplu ATM), aa cum este prezentat n fig. 5-47.
SEC. 5.5 INTERCONECTAREA REELELOR 381


Fig. 5-47. Utilizarea tunelului pentru un pachet trimis de la Paris la Londra.

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 ca-
dru 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 lon-
donez. 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. Pache-
tul 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. Nu-
mai 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.

Fig. 5-48. Trecerea unui automobil din Frana n Anglia, prin tunel.

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 Chunnel
6

(mainile nu pot circula prin Chunnel). Efectiv, maina este purtat ca informaie util, aa cum este
prezentat n fig. 5-48. La captul englez, maina este eliberat pe drumurile engleze i continu s se

6
N.T. Chunnel, ce provine de la Channel (canal) i Tunnel (tunel) este denumirea dat n englez tunelului
de sub Canalul Mnecii.
382 NIVELUL REEA CAP. 5


deplaseze, din nou cu propria putere. Utilizarea tunelelor printr-o reea necunoscut funcioneaz n
acelai mod.
5.5.6 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-49(a) n
care cinci reele sunt conectate prin ase rutere (posibil multiprotocol). Crearea unui graf ca model
al acestei situaii este complicat de faptul c fiecare ruter poate accesa direct (mai clar, poate trimi-
te pachete la) orice alt ruter conectat la orice reea cu care este conectat. De exemplu, B din fig. 5-
49(a) poate accesa direct A i C prin reeaua 2 i de asemenea D prin reeaua 3. Aceasta duce la
graful din fig. 5-49(b).

Fig. 5-49. (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 (internal gateway protocol), dar ntre reele se folosete un protocol de poart
exterioar (exterior gateway protocol) (poart este un termen mai 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 an-
tetul nivelului MAC). Dup ce ajunge acolo, codul de la nivelul reea decide crui ruter multiproto-
col s-i trimit pachetul, folosind propriile tabele de dirijare. Dac la acel ruter se poate ajunge folo-
sind 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 diferenele dintre dirijarea inter-reele i dirijarea intra-reele este c dirijarea inter-
reele poate necesita deseori traversarea granielor internaionale. Intr n joc legi diferite, cum ar fi
legile suedeze despre secretul strict care se refer la exportarea din Suedia de date personale referi-
toare 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
SEC. 5.5 INTERCONECTAREA REELELOR 383

din Windsor, Ontario spre Vancouver nu poate fi dirijat prin apropiatul Detroit, chiar dac aceast
rut este cea mai rapid i cea mai ieftin.
O alt diferen ntre dirijarea intern i cea extern este costul. ntr-o singur reea, se aplic n
mod normal un singur algoritm de taxare. Cu toate acestea, diferite reele pot avea administraii
diferite 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.
5.5.7 Fragmentarea
Fiecare reea impune o anumit dimensiune maxim pentru pachetele sale. Aceste limite au di-
ferite cauze, printre care:

1. Hardware (de exemplu, dimensiunea unui cadru Ethernet).
2. Sistemul de operare (de exemplu, toate zonele tampon au 512 octei).
3. Protocoale (de exemplu, numrul de bii din cmpul lungime al pachetului).
4. Concordana cu unele standarde (inter)naionale.
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 tuturor acestor factori este c proiectanii de reele nu au libertatea de a alege dimen-
siunea 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 transmite-
rea 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 ma-
nevrat de reeaua destinaie? Algoritmul de dirijare nu are cum s evite destinaia.
n esen, singura soluie a problemei este de a permite porilor s sparg pachetele n fragmen-
te, trimind fiecare pachet ca un pachet inter-reea separat. Cu toate acestea, aa cum tie orice
printe al unui copil mic, convertirea unui obiect mare n fragmente mici este considerabil mai uoa-
r dect procesul invers. (Fizicienii au dat chiar un nume acestui efect: legea a doua a termodinami-
cii.) Reelele cu comutare de pachete au, de asemenea, probleme n mbinarea fragmentelor.
Exist dou strategii opuse pentru reconstituirea pachetului original din fragmente. Prima stra-
tegie 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 opiu-
ne este prezentat n fig. 5-50(a). n aceast strategie, reeaua cu pachete mici are pori (cel mai pro-
babil, rutere specializate) ctre celelalte reele. 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. Re-
elele 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 reasam-
blarea celulelor n pachete. n lumea ATM, fragmentarea este numit segmentare; conceptul este
acelai, dar difer unele detalii.
384 NIVELUL REEA CAP. 5


Fragmentarea transparent este simpl, dar are cteva probleme. Un motiv este c poarta de ie-
ire 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 des-
tinaia final i alte pachete o cale diferit. O ultim problem este timpul suplimentar necesar pen-
tru reasamblarea i apoi refragmentarea repetat a unui pachet mare care traverseaz o serie de
reele cu pachete mici. ATM necesit fragmentare transparent.
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-50(b). Recombinarea are loc doar la gazda destinaie. Aa funcioneaz IP-ul.

Fig. 5-50. (a) Fragmentare transparent. (b) Fragmentare netransparent.

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 se fragmenteaz un
pachet mare, 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 n antet au fost rezervate suficiente cmpuri pentru cel mai ru caz i nu sunt genera-
te duplicate n alt parte, aceast schem este suficient pentru a asigura c toate bucile pot fi co-
rect reasamblate la destinaie, neavnd importan ordinea n care ajung.
Cu toate acestea, dac o singur reea pierde sau elimin pachete, apare necesitatea unor retran-
smisii capt-la-capt, cu efecte nefericite pentru schema de numerotare. S presupunem c un pa-
SEC. 5.5 INTERCONECTAREA REELELOR 385

chet 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
apare o depire de timp i aceasta retransmite pachetul original. Numai c de aceast dat intervine
legea lui Murphy i calea trece printr-o reea cu limita de 512 octei, deci sunt generate dou frag-
mente. Cnd noul fragment 0.1 ajunge la destinaie, receptorul va considera c toate cele patru bu-
ci au ajuns 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 pache-
tul 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 elemen-
tar 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-51.


Fig. 5-51. Fragmentarea cnd dimensiunea datelor elementare este 1 octet.
(a) Pachetul original, coninnd 10 octei de date. (b) Fragmente dup trecerea
printr-o reea cu dimensiunea maxim a pachetului de 8 octei.
(c) Fragmente dup trecerea printr-o poart cu dimensiunea de 5.

386 NIVELUL REEA CAP. 5


Unele protocoale inter-reea extind aceast metod i consider ntreaga transmisie pe un circuit
virtual ca fiind un pachet gigant, aa nct fiecare fragment conine numrul absolut de octet al pri-
mului octet din fragment.


5.6 NIVELUL REEA N INTERNET

nainte de a intra n detaliile nivelului reea din Internet merit studiate principiile care au ghidat
proiectarea lui n trecut i l-au fcut succesul care este astzi. n ziua de azi, n prea multe cazuri oa-
menii par s le fi uitat. Aceste principii sunt enumerate i discutate n RFC 1958, care merit citit (i
ar trebui s fie obligatoriu pentru toi proiectanii de protocoale cu un examen final la sfrit).
Acest RFC se bazeaz n mare parte pe idei care se gsesc n (Clark, 19 i Saltzer, 1984). Vom rezu-
ma ceea ce considerm a fi cele 10 principii (de la cel mai important la cel mai puin important).

1. Fii siguri c funcioneaz. Nu finalizai proiectarea sau standardul pn cnd mai
multe prototipuri nu au comunicat cu succes unele cu altele. De prea multe ori pro-
iectanii nti scriu un standard de 1000 de pagini, primesc aprobarea pentru el i apoi des-
coper c acest standard este eronat i nu funcioneaz. Apoi scriu versiunea 1.1 a
standardului. Nu aa se face.
2. Menine-l simplu. Cnd exist ndoieli, folosii soluia mai simpl. William de Occam a
enunat acest principiu (briciul lui Occam) n secolul al 14-lea. Reformulat n termeni
moderni: mpotrivii-v caracteristicilor suplimentare. Dac o caracteristic nu este ab-
solut necesar, nu o includei, mai ales dac acelai efect poate fi obinut prin combinarea
altor caracteristici.
3. Facei alegeri clare. Dac exist mai multe moduri de a realiza acelai lucru, alegei
unul. A avea dou sau mai multe moduri de a rezolva un lucru nseamn s se caute neca-
zul cu lumnarea. Standardele conin de obicei multe opiuni sau moduri sau parametri
pentru c anumite grupri importante susin c modul lor este cel mai bun. Proiectanii ar
trebui s reziste la aceast tendin. Spunei nu.
4. Exploatai modularitatea. Acest principiu conduce direct la ideea de a avea stive de pro-
tocoale, fiecare nivel fiind independent de toate celelalte. n acest mod, dac circum-
stanele cer ca un modul sau nivel s fie schimbat, celelalte nu vor fi afectate.
5. Ateptai-v la medii eterogene. n orice reea mare vor aprea diferite tipuri de har-
dware, posibiliti de transmisie i aplicaii. Pentru a le trata pe toate, proiectarea reelei
trebuie s fie simpl, general i flexibil.
6. Evitai opiuni sau parametri statici. Dac un parametru nu poate fi evitat (de exemplu
dimensiunea maxim a unui pachet), este mai bine ca transmitorul i receptorul s
negocieze o valoare dect s se defineasc valori fixe.
7. Cutai o proiectare bun; nu este necesar s fie perfect. Deseori proiectanii au un proiect
bun care nu poate trata un caz mai ciudat. Dect s strice tot proiectul, proiectanii ar trebui
s-l pstreze i s transfere povara rezolvrii acelui caz celor cu cerine ciudate.
SEC. 5.6 NIVELUL REEA N INTERNET 387

8. Fii strici atunci cnd trimitei i tolerani atunci cnd recepionai. Cu alte cuvinte, trimi-
tei numai pachete care sunt n deplin conformitate cu standardul, dar ateptai-v ca pa-
chetele recepionate s nu fie n deplin conformitate cu standardul i ncercai s le folosii.
9. Gndii-v la scalabilitate. Dac sistemul trebuie s suporte milioane de gazde i efectiv mi-
liarde de utilizatori, nu se poate accepta nici un fel de baz de date centralizat, iar ncrca-
rea trebuie distribuit ct mai uniform posibil folosind resursele disponibile.
10. Luai n considerare performanele i costurile. Dac o reea are performane slabe sau
preuri exorbitante, nu o va folosi nimeni.

S lsm acum principiile generale i s ncepem s studiem detaliile nivelului reea din Internet.
La nivelul reea, Internet-ul poate fi vzut ca o colecie de subreele sau sisteme autonome (eng.:
Autonomous Systems - AS) care sunt interconectate. Nu exist o structur real, dar exist cteva
coloane vertebrale majore. Acestea sunt construite din linii de nalt capacitate i rutere rapide. La
coloanele vertebrale sunt ataate 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-52.

Fig. 5-52. Internet-ul este o colecie de multe reele interconectate.

Liantul care ine Internet-ul la un loc este protocolul de nivel reea, numit IP (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 cel mai bun mod posibil (adic negarantat) de a transporta data-
grame de la surs la destinaie, fr a ine seama dac aceste maini sunt sau nu n aceeai reea sau
dac ntre ele exist sau nu alte reele.
388 NIVELUL REEA CAP. 5


Comunicaia n Internet funcioneaz dup cum urmeaz. Nivelul transport preia iruri de date
i le sparge n datagrame. n teorie, datagramele pot avea fiecare pn la 64 KB, dar n practic, ele
nu depesc 1500 octei (pentru a intra ntr-un cadru Ehternet) . 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. Dup
cum se poate vedea n fig. 5-52 un pachet transmis de gazda 1 trebuie s traverseze ase reele
pentru a ajunge la gazda 2. n practic se trece de obicei prin mult mai mult dect ase reele.
5.6.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-53. El este transmis n ordinea big endian (cel mai semnificativ primul): de la stnga la dreapta,
ncepnd cu bitul cel mai semnificativ al cmpului Versiune. (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.

Fig. 5-53. Antetul IPv4 (protocolul Internet).

Cmpul Versiune memoreaz crei versiuni de protocol i aparine datagrama. Prin includerea
unui cmp versiune n fiecare datagram, devine posibil ca tranziia ntre versiuni s dureze ani de
zile, cu unele maini rulnd vechea versiune, iar altele rulnd-o pe cea nou. La ora actual are loc
o tranziie de la IPv4 la IPv6, care deja dureaz de civa ani i n nici un caz nu s-a apropiat de
final (Durand, 2001; Wilijakka, 2002; and Waddington and Chang 2002). Anumite persoane
consider chiar c nu se va ntmpla niciodat (Weiser, 2001). Referitor la numerotare, IPv5 a
fost un protocol experimental de flux n timp real care nu a fost folosit pe scar larg.
Din moment ce lungimea antetului nu este constant, un cmp din antet, IHL, este pus la dispo-
ziie 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,
SEC. 5.6 NIVELUL REEA N INTERNET 389

ceea ce limiteaz antetul la 60 de octei i, astfel, cmpul de opiuni la 40 de octei. Pentru unele op-
iuni, cum ar fi cea care nregistreaz calea pe care a mers un pachet, 40 de octei sunt mult prea
puini, fcnd aceast opiune nefolositoare.
Cmpul Tip serviciu este unul dintre puinele cmpuri care i-a schimbat sensul (oarecum) de-
a lungul anilor. A fost i este n continuare menit s diferenieze diferitele clase de servicii. Sunt
posibile diferite combinaii de fiabilitate i vitez. Pentru vocea digitizat, livrarea rapid are pri-
oritate fa de transmisia corect. Pentru transferul de fiiere, transmisia fr erori este mai impor-
tant dect transmisia rapid.
La nceput, cmpul de 6 bii coninea (de la stnga la dreapta), un cmp Preceden de trei
bii i trei indicatori, D, T i R. Cmpul Preceden reprezint prioritatea, de la 0 (normal) la 7 (pa-
chet de control al reelei). Cei trei bii indicatori permiteau calculatorului gazd s specifice ce l
afecteaz cel mai mult din mulimea {Delay (ntrziere), Throughput (Productivitate), Reliability
(Fiabilitate)}. n teorie, aceste cmpuri permit ruterelor s aleag 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 adesea ntregul cmp Tip serviciu.
Pn la urm, IETF a cedat i a modificat puin cmpul pentru a-l adapta la servicii difereniate.
ase dintre bii sunt folosii pentru a indica creia dintre clasele de servicii descrise mai devreme i
aparine pachetul. Aceste clase includ patru prioriti de introducere n coad, trei probabiliti de
respingere i clasele istorice.
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 i 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 nsemn Dont Fragment (A nu se
fragmenta). Acesta este un ordin dat ruterelor ca s nu fragmenteze datagrama pentru c destinaia
nu este capabil s reasambleze 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 data-
gramei 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 alea-
g o rut suboptimal. Toate mainile trebuie s accepte fragmente de 576 octei sau mai mici.
MF nsemn More Fragments (mai urmeaz fragmente). Toate fragmentele, cu excepia ultimu-
lui, 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 con-
torizeaz 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.
390 NIVELUL REEA CAP. 5


Cnd nivelul reea a asamblat o datagram complet, trebuie s tie ce s fac cu ea. Cmpul
Protocol spune crui proces de transport trebuie s o predea. TCP este o posibilitate, dar tot aa sunt
i UDP i alte cteva. Numerotarea protocoalelor este global la nivelul ntregului Internet. Proto-
coalele i alte numere alocate erau anterior definite n RFC 1700, dar astzi ele sunt coninute ntr-o
baz de date on-line, care se gsete la adresa www.iana.org.
Suma 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
de a 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 aces-
tui algoritm, se presupune c la sosire suma de control a antetului este zero. Acest algoritm este mai
robust dect folosirea unei adunri normale. Observai c suma de control a antetului trebuie recal-
culat la fiecare salt, pentru c ntotdeauna se schimb cel puin un cmp (cmpul timp de via), dar
se pot folosi trucuri pentru a accelera calculul.
Adresa sursei i Adresa destinaiei indic numrul de reea i numrul de gazd. Vom discuta adrese-
le 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 multi-
plu de 4 octei. Iniial erau definite cinci opiuni, aa cum sunt listate n fig. 5-54, dar de atunci au mai
fost adugate i altele. Lista complet se gsete la adresa www.iana.org/assignements/ip-parameters.

Opiune Descriere
Securitate Menioneaz ct de secret este datagrama
Dirijare strict de la surs Indic calea complet de parcurs
Dirijare aproximativ de la surs Indic o list a ruterelor care nu trebuie srite
nregistreaz calea Determin fiecare ruter s-i adauge adresa IP
Amprent de timp Determin fiecare ruter s-i adauge adresa i o amprent de timp.

Fig. 5-54. Unele dintre opiunile 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 de la surs 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 de la surs 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.
SEC. 5.6 NIVELUL REEA N INTERNET 391

Opiunea nregistreaz calea indic ruterelor de pe cale s-i adauge adresele IP la cmpul opiu-
ne. Aceasta permite administratorilor de sistem s localizeze pene n algoritmii de dirijare (De ce
pachetele de la Houston la Dallas trec mai nti prin Tokio?). Cnd reeaua ARPANET a fost nfi-
inat, nici un pachet nu trecea vreodat prin mai mult de nou rutere, deci 40 de octei pentru opi-
uni au fost destui. Aa cum s-a menionat anterior, acum dimensiunea este prea mic.
n 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.6.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: n principiu 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. Este important de observat c o adres IP nu se refer de fapt la o gazd. Se refer de fapt la o
interfa de reea, deci dac o gazd este n dou reele, trebuie s foloseasc dou adrese IP. Totui
n practic, cele mai multe gazde sunt conectate la o singur reea i deci au o adres IP.
Timp de mai multe decenii, adresele IP erau mprite n cinci categorii ilustrate n fig. 5-55.
Acest model de alocare a fost denumit clase de adrese. Nu mai este folosit, dar referinele la acest
model sunt n continuare des ntlnite n literatur. Vom discuta puin mai trziu ce a nlocuit mode-
lul claselor de adrese.

Fig. 5-55. Formatul adreselor IP.

Formatele de clas A, B, C i D permit pn la 128 reele cu 16 milioane de gazde fiecare, 16.384
reele cu pn la 64K gazde, 2 milioane de reele (de exemplu, LAN-uri) cu pn la 256 gazde fieca-
re (dei unele dintre acestea sunt speciale). De asemenea este suportat i trimiterea multipl
(multicast), n care fiecare datagram este direcionat mai multor gazde. Adresele care ncep cu
1111 sunt rezervate pentru o folosire ulterioar. Peste 500 000 de reele sunt conectate acum la In-
ternet i numrul acestora crete n fiecare an. Pentru a evita conflictele numerele de reea sunt atri-
buite de ICANN (Internet Corporation for Assigned NAMES and Numbers Corporaia Internet
392 NIVELUL REEA CAP. 5


pentru numere i nume atribuite). La rndul su, ICANN a mputernicit diverse autoriti regionale
s administreze pri din spaiul de adrese i acestea, la rndul lor, au mprit adrese ISP-urilor i
altor companii.
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.
Valorile 0 i -1 au semnificaii speciale, aa cum se arat n fig. 5-56. Valoarea 0 nseamn reea-
ua curent sau gazda curent. Valoarea -1 este folosit ca o adres de difuzare pentru a desemna
toate gazdele din reeaua indicat.

Fig. 5-56. Adrese IP speciale.

Adresa IP 0.0.0.0 este folosit de gazde atunci cnd sunt pornite. 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 in-
clud). Adresele care constau numai din 1-uri permit difuzarea n reeaua curent, n mod uzual un
LAN. Adresele cu un numr exact de reea i numai 1-uri n cmpul gazd permit mainilor s trimi-
t pachete de difuzare n LAN-uri la distan, aflate oriunde n Internet (dei muli administratori de
sistem dezactiveaz aceast opiune). n final, toate adresele de forma 127.xx.yy.zz sunt rezervate
pentru testri n bucl local (loopback). Pachetele trimise ctre aceast adres nu sunt trimise prin
cablu; ele sunt prelucrate local i tratate ca pachete sosite. Aceasta permite trimiterea pachetelor
ctre reeaua local fr ca emitorul s-i cunoasc numrul.
Subreele
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
universitate care a folosit la nceput o reea de clas B pentru calculatoarele din reeaua Ethernet a
Departamentului de Calculatoare. Un an mai trziu, departamentul de Inginerie Electric a vrut
acces la Internet, deci a cumprat un repetor pentru a extinde Ethernetul Departamentului de Cal-
culatoare n cldirea lor. Cu timpul, multe alte departamente au achiziionat calculatoare i limita
de patru repetoare per Ethernet a fost rapid atins. Era nevoie de o alt organizare.
Achiziionarea altei adrese de reea ar fi fost dificil deoarece adresele sunt insuficiente i uni-
versitatea avea deja adrese suficiente pentru peste 60,000 de staii. Problema provine de la
regula care afirm c o singur adres de clas A, B sau C se refer la o singur reea, nu la o mul-
SEC. 5.6 NIVELUL REEA N INTERNET 393

ime de reele. Cum tot mai multe organizaii s-au lovit de aceast problem, sistemul de adresare a
fost puin modificat pentru a o rezolva
Soluia este s se permit ca o reea s fie divizat n mai multe pri pentru uz intern, dar pentru
lumea exterioar s se comporte tot ca o singur reea. n ziua de azi o reea de campus tipic poate
arta ca n fig. 5-57, cu un ruter principal conectat la un ISP sau la reeaua regional i nume-
roase reele Ethernet mprtiate prin campus n diferite departamente. Fiecare Ehternet are
propriul ruter conectat la ruterul principal (posibil printr-un LAN coloan vertebral, dar natu-
ra conexiunii interruter nu este relevant aici)

Fig. 5-57. O reea de campus compus din mai multe LAN-uri ale diferitelor departamente

n literatura Internet, aceste pri sunt numite subreele. Aa cum am menionat n Cap. 1, aceas-
t utilizare intr n conflict cu termenul subreea, care nseamn mulimea tuturor ruterelor i linii-
lor de comunicaie dintr-o reea. Din fericire, va fi clar din context care semnificaie este atribuit. n
aceast seciune, i n urmtoarea definiia folosit va fi cea nou.
Atunci cnd un pachet ajunge la ruterul principal, de unde tie acesta ctre ce subreea
(Ethernet) s-l trimit? O soluie ar fi s existe o tabel cu 65,536 nregistrri n ruterul principal
care s-i spun acestuia ce ruter s foloseasc pentru fiecare staie din campus. Aceast idee ar func-
iona, dar ar fi nevoie de o tabel foarte mare n ruterul principal i de mult munc manual de
ntreinere pe msur ce staiile ar fi adugate, mutate sau scoase din uz.
n locul ei a fost inventat o alt soluie. n esen, n loc s existe o singur adres de clas B, cu
14 bii pentru numrul reelei i 16 bii pentru gazd, un numr de bii din numrul gazdei sunt folo-
sii pentru a crea un numr de subreea. De exemplu, dac o universitate are 35 de departamente, ar
putea folosi un numr de subreea de 6 bii i un numr de 10 bii pentru gazde, ceea ce ar permite
un numr de 64 de reele Ethernet, fiecare cu un maxim de 1022 de gazde (aa cum am menionat
mai devreme, 0 i -1 nu sunt disponibile). Aceast mprire ar putea fi modificat ulterior n caz c
a fost o greeal.
Pentru a se putea folosi subreele, ruterul principal trebuie are nevoie de o masc de subreea,
care indic separarea dintre numrul reea + subreea i gazd, aa cum este ilustrat n fig. 5-58.
Mtile de subreea sunt scrise de asemenea n notaie zecimal cu punct, cu adugarea unui carac-
ter / (slash) urmat de numrul de bii din partea cu reea + subreea. Pentru exemplul din fig. 5-58,
masca de subreea poate fi scris ca 255.255.255.0 . O notaie alternativ este /22 pentru a indica c
masca subreelei are lungimea de 22 de bii.
394 NIVELUL REEA CAP. 5



Fig. 5-58. O reea de clas B mprit n 64 de subreele

n afara reelei, mprirea n subreele nu este vizibil, astfel nct alocarea unei noi subreele nu
necesit contactarea ICANN sau schimbarea unor baze de date externe. n acest exemplu, prima sub-
reea poate folosi adrese IP ncepnd de la 130.50.4.1, cea de-a doua poate ncepe de la 130.50.8.1,
cea de-a treia poate ncepe de la 130.50.12.1 i aa mai departe. Pentru a se nelege de ce numrul
subreelei crete cu patru, s observm c adresele binare corespunztoare sunt urmtoarele:

Subreea 1 : 10000010 00110010 000001|00 00000001
Subreea 2 : 10000010 00110010 000010|00 00000001
Subreea 3 : 10000010 00110010 000011|00 00000001

Aici, bara vertical (|) arat grania dintre numrul subreelei i numrul gazdei. La stnga se
gsete numrul de 6 bii al subreelei, la dreapta numrul de 10 bii al gazdei.
Pentru a vedea cum funcioneaz subreelele, este necesar s explicm cum sunt prelucrate pa-
chetele IP ntr-un ruter. Fiecare ruter are o tabel ce memoreaz un numr de adrese IP de forma
(reea, 0) i un numr de adrese IP de forma (aceast-reea, gazd). Primul tip indic cum se ajunge
la reelele aflate la distan. Al doilea tip spune cum se ajunge la gazdele locale. Fiecrei tabele i
este asociat interfaa de reea care se folosete pentru a ajunge la destinaie i alte cteva informaii.
Cnd sosete un pachet IP, adresa destinaie este cutat n tabela de 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 destina-
ie. Dac reeaua nu este prezent, pachetul este trimis unui ruter implicit care are tabele mai extin-
se. 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 subreele, tabelele de dirijare sunt schimbate, adugnd intrri
de forma (aceast-reea, subreea, 0) i (aceast-reea, aceast-subreea, gazd). Astfel un ruter din
subreeaua k tie cum s ajung la toate celelalte subreele i, de asemenea, cum s ajung la toate
gazdele din subreeaua k. El nu trebuie s cunoasc detalii referitoare la gazde din alte subreele. De
fapt, tot ceea ce trebuie schimbat este de a impune fiecrui ruter s fac un I logic cu masca de
subreea a reelei 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 ruterul principal se face un I logic cu masca de subreea 255.255.252.0/22
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 subreeaua 3. Ruterul din subreeaua 5 este astfel uurat de munca
de a memora toate adresele de nivel legtur de date ale altor gazde dect cele din subreeaua 5.
mprirea n subreele reduce astfel spaiul tabelelor de dirijare prin crearea unei ierarhii pe trei
niveluri, alctuit din reea, subreea i gazd.
SEC. 5.6 NIVELUL REEA N INTERNET 395

CIDR - Dirijarea fr clase ntre domenii
IP este folosit intens de cteva decenii. 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 popu-
lariti: i epuizeaz adresele. Acest dezastru fantomatic a generat foarte multe discuii i controver-
se n cadrul comunitii Internet referitor la cum s fie tratat. n aceast seciune vom descrie att
problema ct i cteva soluii propuse.
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 anterior, este c Internet-ul i epui-
zeaz rapid adresele IP. n principiu, exist peste 2 miliarde de adrese, dar practica organizrii spai-
ului de adrese n clase (vezi fig. 5-55) irosete milioane din acestea. n particular, adevraii vinovai
sunt de reelele de clas B. Pentru cele mai multe organizaii, o adres de clas A, cu 16 milioane de
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 Three Bears).
n realitate, o adres de clas B este mult prea mare pentru cele mai multe organizaii. Studiile
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).
Este greu s fie nvinuii proiectanii Internetului pentru c nu au pus la dispoziie mai multe
adrese de clas B (i mai mici). n momentul n care s-a luat decizia s fie create cele trei clase,
Internetul era o reea de cercetare care conecta marile universiti din SUA (plus un numr mic de
companii i sit-uri militare care fceau cercetri n domeniul reelelor). Pe atunci nimeni nu a per-
ceput Internetul ca fiind un sistem de comunicaie n mas care va rivaliza cu reeaua telefonic.
Fr ndoial c n acel moment cineva a spus: SUA are aproximativ 2000 de universiti i
colegii. Chiar dac toate se conecteaz la Internet i se mai conecteaz i multe universiti din
alte ri, nu o s ajungem niciodat la 16.000 pentru c nu exist attea universiti n ntreaga lu-
me. n plus faptul c numrul gazdei este un numr ntreg de octei, mrete viteza de prelucrare
a pachetelor.
Totui, dac s-ar fi alocat 20 de bii numrului de reea pentru reele de clas B, ar fi aprut o al-
t 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 jumta-
te de milion de intrri, una pentru fiecare reea, spunnd care linie se folosete pentru a ajunge la
respectiva reea, mpreun cu alte informaii.
Memorarea 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 co-
396 NIVELUL REEA CAP. 5


nectate i 10.000 de reele preau la deprtare de decenii. Deciziile de proiectare fcute atunci sunt
departe de a fi optime acum.
n plus, diferii algoritmi de dirijare necesit ca fiecare ruter s-i transmit tabelele periodic (de
exemplu protocolul vectorilor distan). Cu ct tabelele sunt 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 instabili-
ti de dirijare.
Problema tabelelor de dirijare ar fi putut fi rezolvat prin adoptarea unei ierarhii mai adnci. De
exemplu, ar fi mers dac s-ar fi impus ca fiecare adres s conin un cmp ar, jude/provincie,
ora, reea i gazd. Atunci fiecare ruter ar fi trebuit s tie doar cum s ajung la fiecare ar, la ju-
deele sau provinciile din ara sa, oraele din propriul jude sau provincie 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. Soluia care a fost imple-
mentat acum i care a dat Internet-ului un pic de spaiu de manevr este CIDR (Classless
InterDomain Routing - Dirijarea fr clase ntre domenii). Ideea de la baza CIDR, descris n RFC
1519, este de a aloca adresele IP rmase, n blocuri de dimensiune variabil, fr a se ine cont de
clase. Dac un sit are nevoie, s zicem, de 2000 de adrese, i este dat un bloc de 2048 adrese la o gra-
ni de 2048 de octei.
Renunarea la clase face rutarea mai complicat. n vechiul sistem cu clase, rutarea se efectua
n felul urmtor. Atunci cnd un pachet ajungea la un ruter, o copie a adresei IP era deplasat
la dreapta cu 28 de bii pentru a obine un numr de clas de 4 bii. O ramificaie cu 16 ci sorta
pachetele n A, B, C i D (dac era suportat), cu 8 cazuri pentru clasa A, patru cazuri pentru clasa
B, dou cazuri pentru clasa C i cte unul pentru D i E. Programul pentru fiecare clas masca
numrul de reea de 8, 16 sau 24 de bii i l alinia la dreapta ntr-un cuvnt de 32 de bii. Nu-
mrul de reea era apoi cutat n tabela pentru A, B sau C, de obicei indexat pentru reelele A
i B i folosind dispersia (hashing) pentru reelele C. Odat intrarea gsit, se putea gsi linia de
ieire i pachetul era retransmis.
Cu CIDR, acest algoritm simplu nu mai funcioneaz. n loc de aceasta, fiecare intrare din tabela
de rutare este extins cu o masc de 32 de bii. Din acest motiv, acum exist o singur tabel de rutare
pentru toate reelele, constituit dintr-un un vector de triplete (adres IP, masc subreea, linie de
ieire). Cnd sosete un pachet IP, mai nti se extrage adresa IP a destinaiei. Apoi (conceptual) ta-
bela de rutare este scanat intrare cu intrare, mascnd adresa destinaie i comparnd cu intrarea din
tabel, n cutarea unei potriviri. Este posibil ca mai multe intrri (cu mti de subreea de lungimi
diferite) s se potriveasc, caz n care este folosit cea mai lung masc. Astfel, dac exist potrivire
pentru o masc /20 i pentru o masc /24, este folosit intrarea cu /24.
Pentru a accelera procesul de gsire a adreselor au fost imaginai algoritmi compleci (Ruiz-
Sanchez et al., 2001). Ruterele comerciale folosesc chip-uri VLSI proprietare cu aceti algoritmi
implementai n hardware.
Pentru a face algoritmul de retransmitere mai uor de neles, s considerm un exemplu n ca-
re sunt disponibile milioane de adrese, ncepnd de la 194.24.0.0. 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.
Deoarece un bloc de 4096 de adrese trebuie s fie aliniat la o frontier de 4096 octei, acestea nu
pot fi numerotate ncepnd de la 194.8.0.0. n loc, se primesc adrese 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
SEC. 5.6 NIVELUL REEA N INTERNET 397

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. Alocrile sunt rezumate n fig. 5-59.

Universitatea Prima adres Ultima adres Numr adrese Notaie
Cambridge 194.24.0.0 194.24.7.255 2048 194.24.0.0/21
Edinburgh 194.24.8.0 194.24.11.255 1024 194.24.8.0/22
(disponibil) 194.24.12.0 194.24.15.255 1024 194.24.12/22
Oxford 194.24.16.0 194.24.31.255 4096 194.24.16.0/20

Fig. 5-59. Un set de atribuiri de adrese IP.

Tabelele de dirijare din toat lumea sunt acum actualizate cu cele trei intrri atribuite. Fiecare
intrare conine o adres de baz i o masc de subreea. Aceste intrri (n binar) sunt:

Adres Masc
C 11000010 00011000 00000000 00000000 11111111 11111111 11111000 00000000
E 11000010 00011000 00001000 00000000 11111111 11111111 11111100 00000000
O 11000010 00011000 00010000 00000000 11111111 11111111 11110000 00000000

S vedem acum ce se ntmpl cnd sosete un pachet adresat pentru 194.24.17.4, care este re-
prezentat ca urmtorul ir de 32 de bii :

11000010 00011000 00010001 00000100

Mai nti, se face un I logic cu masca de la Cambridge pentru a obine:

11000010 00011000 00010000 00000000

Aceast valoare nu se potrivete cu adresa de baz de la Cambridge, aa c adresei originale i se
aplic un I logic cu masca de la Edinburgh pentru a se obine:

11000010 00011000 00010000 00000000

Aceast valoare nu se potrivete cu adresa de baz de la Edinburgh, aa c se ncearc n continua-
re Oxford, obinndu-se:
11000010 00011000 00010000 00000000

Aceast valoare se potrivete cu adresa de baz de la Oxford. Dac n restul tabelei nu sunt
gsite potriviri mai lungi, atunci este folosit intrarea pentru Oxford i pachetul va fi trimis pe
linia corespunztoare.
Acum s privim cele trei universiti din punctul de vedere al unui ruter din Omaha, Nebraska,
care are doar patru linii de ieire: Minneapolis, New York, Dallas i Denver. Atunci cnd sof-
tware-ul ruterului primete cele trei noi intrri, realizeaz c le poate combina pe toate trei ntr-o
singur intrare agregat (eng,: aggregate entry) 194.24.0.0/19 cu adresa binar i o masca de sub-
reea urmtoare :

11000010 00000000 00000000 00000000 11111111 11111111 11100000 00000000

Aceast intrare trimite toate pachetele destinate uneia dintre cele trei universiti la New York.
Reunind cele trei intrri ruterul din Omaha i-a redus mrimea tabelei de rutare cu doi.
398 NIVELUL REEA CAP. 5


Dac New York-ul are o singur conexiune cu Londra pentru tot traficul spre Marea Britanie,
poate folosi de asemenea o intrare agregat. Totui, dac are dou conexiuni separate pentru Lon-
dra i Edinburgh, atunci trebuie s aib trei intrri.
Ca o not final despre acest exemplu, intrarea agregat a ruterului din Omaha va trimite i pa-
chetele ctre adresele nealocate tot spre New York. Ct timp adresele sunt cu adevrat nealocate,
aceasta nu conteaz pentru c aa ceva nu ar trebui s se ntmple. Totui, dac mai trziu sunt
alocate unei companii din California, pentru a le trata va fi nevoie de o nregistrare separat,
194.24.12.0/22.
NAT Translatarea adreselor de reea
Adresele IP sunt insuficiente. Un ISP ar putea avea o adres /16 (anterior de clas B) oferindu-i
65.534 numere de staii. Dac are mai muli clieni, are o problem. Pentru utilizatorii casnici cu
conexiuni pe linie telefonic (eng.: dial-up), o soluie ar fi s se aloce dinamic o adres IP fiecrui
calculator n momentul n care sun i se conecteaz i s o dealoce n momentul n care se ter-
min sesiunea. n acest fel o singur adres /16 poate fi folosit pentru 65.534 utilizatori activi, ceea
ce este probabil suficient pentru un ISP cu mai multe sute de mii de utilizatori. n momentul n care
sesiunea se termin, adresa IP este alocat altui calculator care sun. Dei aceast strategie func-
ioneaz bine pentru un ISP cu un numr moderat de utilizatori casnici, eueaz pentru ISP-uri care
deservesc preponderent companii.
Problema este c o companie se ateapt s fie on-line n mod continuu n timpul orelor de pro-
gram. Att companiile mici, cum ar fi o companie de turism compus din trei persoane, ct i mari
corporaii au mai multe calculatoare conectate de un LAN. Unele sunt calculatoarele personale ale
angajailor; altele pot fi servere Web. n general n LAN exist un ruter care este conectat cu ISP-ul
printr-o linie nchiriat pentru a avea conexiune continu. Aceast situaie impune ca fiecrui calcu-
lator s i fie asociat un IP propriu pe parcursul ntregii zile. De fapt, numrul total al calculatoarelor
companiilor care sunt clieni ai ISP-ului nu poate depi numrul de adrese IP pe care le posed
acesta. Pentru o adres /16, aceasta limiteaz numrul total de calculatoare la 65.534. Pentru un ISP
cu zeci de mii de companii cliente, aceast limit va fi repede depit.
Pentru a agrava situaia, din ce n ce mai muli utilizatori se aboneaz de acas la ADSL sau In-
ternet prin cablu. Dou dintre facilitile oferite de aceste servicii sunt (1) utilizatorul primete o
adres IP permanent i (2) nu exist tax de conectare (doar o tax lunar), aa c muli utilizatori
ai ADSL-ului i ai Internetului prin cablu rmn conectai permanent. Aceasta contribuie la insufi-
ciena adreselor IP. Alocarea dinamic a adreselor IP aa cum se face cu utilizatorii dial-up nu este
util pentru c numrul adreselor IP folosite la un moment dat poate fi de multe ori mai mare dect
numrul adreselor deinute de ISP.
i pentru a complica i mai mult lucrurile, muli utilizatori de ADSL i Internet prin cablu au do-
u sau mai multe calculatoare acas, deseori cte unul pentru fiecare membru al familiei, i toi vor
s fie online tot timpul folosind singura adres IP care le-a fost alocat de ctre ISP. Soluia este s
se conecteze toate PC-urile printr-un LAN i s se pun un ruter. Din punctul de vedere al ISP-ului,
familia este acum ca o companie cu cteva calculatoare. Bine-ai venit la Jones, Inc.
Problema epuizrii adreselor IP nu este o problem teoretic care ar putea aprea cndva n vi-
itorul ndeprtat. A aprut aici i acum. Soluia pe termen lung este ca tot Internetul s migreze
la IPv6, care are adrese de 128 de bii. Tranziia se desfoar ncet, dar vor trece ani pn la
finalizarea procesului. n consecin, anumite persoane au considerat c este nevoie de o rezolvare
rapid pe termen scurt. Rezolvarea a venit n forma NAT (Network Address Translation
SEC. 5.6 NIVELUL REEA N INTERNET 399

Translatarea adreselor de reea), care este descris n RFC 3022 i pe care o vom rezuma mai
jos. Pentru informaii suplimentare consultai (Dutcher, 2001).
Ideea de baz a NAT-ului este de a aloca fiecrei companii o singur adres IP (sau cel mult un
numr mic de adrese) pentru traficul Internet. n interiorul companiei, fiecare calculator prime-
te o adres IP unic, care este folosit pentru traficul intern. Totui, atunci cnd un pachet pr-
sete compania i se duce la ISP, are loc o translatare de adres. Pentru a face posibil acest lucru,
au fost declarate ca fiind private trei intervale de adrese IP. Companiile le pot folosi intern aa cum
doresc. Singura regul este ca nici un pachet coninnd aceste adrese s nu apar pe Internet. Ce-
le trei intervale rezervate sunt :

10.0.0.0 - 10.255.255.255/8 (16.777.216 gazde)
172.16.0.0 - 172.31.255.255/12 (1 .048.576 gazde)
192.168.0.0 - 192.168.255.255/16 (65.536 gazde)

Primul interval pune la dispoziie 16.777.216 adrese (cu excepia adreselor 0 i 1, ca de obicei) i
este alegerea obinuit a majoritii companiilor, chiar dac nu au nevoie de aa de multe adrese.

Fig. 5-60. Amplasarea i funcionarea unei uniti NAT.

Funcionarea NAT este ilustrat n fig. 5-60. n interiorul companiei fiecare main are o adres
unic de forma 10.x.y.z. Totui, cnd un pachet prsete compania, trece printr-o unitate NAT
(eng.: NAT box)care convertete adresa IP intern, 10.0.0.1 n figur, la adresa IP real a companiei,
198.60.42.12, n acest exemplu. Unitatea NAT este deseori combinat ntr-un singur dispozitiv cu un
zid de protecie (eng.: firewall), care asigur securitatea controlnd cu grij ce intr i iese din com-
panie. Vom studia zidurile de protecie n Cap. 8. De asemenea este posibil integrarea unitii NAT
n ruterul companiei.
Pn acum am trecut cu vederea un detaliu: atunci cnd vine rspunsul (de exemplu de la un
server Web), este adresat 198.60.42.12, deci de unde tie unitatea NAT cu care adres s o nlocu-
iasc pe aceasta? Aici este problema NAT-ului. Dac ar fi existat un cmp liber n antetul IP, acel
cmp ar fi putut fi folosit pentru a memora cine a fost adevratul emitor, dar numai 1 bit este
nc nefolosit. n principiu, o nou opiune ar putea fi creat pentru a reine adevrata adres a
400 NIVELUL REEA CAP. 5


sursei, dar acest lucru ar necesita schimbarea codului din protocolul IP de pe toate staiile din n-
tregul Internet pentru a putea prelucra noua opiune. Aceasta nu este o alternativ promitoa-
re pentru o rezolvare rapid.
n cele ce urmeaz se prezint ceea ce s-a ntmplat cu adevrat. Proiectanii NAT au observat
c marea majoritate a pachetelor IP aveau coninut TCP sau UDP. Atunci cnd vom studia proto-
coalele TCP i UDP n Cap. 6, vom vedea c ambele au antete conin un port surs i un port desti-
naie. n continuare vom discuta doar despre porturi TCP, dar exact aceleai lucruri se aplic i la
UDP. Porturile sunt numere ntregi pe 16 bii care indic unde ncepe i unde se termin o conexiu-
ne TCP. Aceste cmpuri pun la dispoziie cmpul necesar funcionrii NAT.
Atunci cnd un proces dorete s stabileasc o conexiune TCP cu un proces de la distan, se
ataeaz unui port TCP nefolosit de pe maina sa. Acesta se numete portul surs i spune codu-
lui TCP unde s trimit pachetele care vin i aparin acestei conexiuni. Procesul furnizeaz i un
port destinaie pentru a spune cui s trimit pachetele n cealalt parte. Porturile 0-1023 sunt re-
zervate pentru servicii bine cunoscute. De exemplu portul 80 este folosit de serverele Web, astfel
nct clienii s le poat localiza. Fiecare mesaj TCP care pleac conine att un port surs ct i
un port destinaie. Cele dou porturi permit identificarea proceselor care folosesc conexiunea la
cele dou capete.
S-ar putea ca o analogie s clarifice mai mult utilizarea porturilor. Imaginai-v o companie cu un
singur numr de telefon principal. Atunci cnd cineva sun la acest numr, vorbete cu un operator
care ntreab ce interior dorete i apoi face legtura la acel interior. Numrul principal este analog cu
adresa IP a companiei iar interioarele de la ambele capete sunt analoage cu porturile. Porturile re-
prezint 16 bii suplimentari de adresare identificnd procesul care primete un pachet sosit.
Folosind cmpul Port surs rezolvm problema de coresponden. De fiecare dat cnd un pa-
chet pleac, el intr n unitatea NAT i adresa surs 10.x.y.z este nlocuit cu adresa real a compa-
niei. n plus, cmpul TCP Port surs este nlocuit cu un index n tabela de translatare a unitii NAT,
care are 65.536 intrri. Aceast tabel conine adresa IP iniial i portul iniial. n final, sunt recalcu-
late i inserate n pachet sumele de control ale antetelor IP i TCP. Cmpul Port surs trebuie nlocu-
it pentru c s-ar putea ntmpla, de exemplu, ca staiile 10.0.0.1 i 10.0.0.2 s aib amndou conexi-
uni care s foloseasc portul 5000, deci cmpul Port surs nu este suficient pentru a identifica proce-
sul emitor.
Atunci cnd la unitatea NAT sosete un pachet de la ISP, Portul surs din antetul TCP este extras
i folosit ca index n tabela de coresponden a unitii NAT. Din intrarea localizat sunt extrase i
inserate n pachet adresa IP intern i Portul surs TCP iniial. Apoi sunt recalculate sumele de con-
trol TCP i IP i inserate n pachet. Dup aceea pachetul este transferat ruterului companiei pentru
transmitere normal folosind adresa 10.x.y.z.
NAT poate fi folosit pentru rezolva insuficiena adreselor IP pentru utilizatori de ADSL i Inter-
net prin cablu. Atunci cnd un ISP aloc fiecrui utilizator o adres, folosete adrese 10.x.y.z. Atunci
cnd pachete de la staiile utilizatorilor ies din ISP i intr n Internet trec printr-o cutie NAT care le
translateaz n adresele Internet adevrate ale ISP-ului. La ntoarcere pachetele trec prin maparea
invers. Din aceast perspectiv, pentru restul Internetului, ISP-ul i utilizatorii si ADSL/cablu ara-
t la fel ca o mare companie.
Dei aceast schem rezolv ntr-un fel problema, multe persoane din comunitatea IP o conside-
r un monstru pe faa pmntului. Rezumate succint, iat cteva dintre obiecii. n primul rnd,
NAT violeaz modelul arhitectural al IP-ului, care afirm c fiecare adres IP identific unic o sin-
SEC. 5.6 NIVELUL REEA N INTERNET 401

gur main din lume. ntreaga structur software a Internetului este construit pornind de la acest
fapt. Cu NAT, mii de maini pot folosi (i folosesc) adresa 10.0.0.1.
n al doilea rnd, NAT schimb natura Internetului de la o reea fr conexiuni la un fel de re-
ea cu conexiuni. Problema este c o unitate NAT trebuie s menin informaii (corespondene)
pentru fiecare conexiune care trece prin ea. Faptul c reeaua pstreaz starea conexiunilor este o
proprietate a reelelor orientate pe conexiune, nu a celor neorientate pe conexiune. Dac o uni-
tate NAT se defecteaz i tabela de coresponden este pierdut, toate conexiunile TCP sunt dis-
truse. n absena NAT, cderea ruterelor nu are nici un efect asupra TCP. Procesul care transmite
ajunge la limita de timp n cteva secunde i retransmite toate pachetele neconfirmate. Cu
NAT, Internetul devine la fel de vulnerabil ca o reea cu comutare de circuite.
n al treilea rnd, NAT ncalc cea mai fundamental regul a protocoalelor pe niveluri: nivelul
k nu poate face nici un fel de presupuneri referitor la ceea ce a pus nivelul k+1 n cmpul de infor-
maie util. Principiul de baz este s se pstreze niveluri independente. Dac mai trziu TCP este
nlocuit de TCP-2, cu un antet diferit (de exemplu porturi pe 32 de bii), NAT va eua. Ideea
protocoalelor pe niveluri este de a asigura c modificrile la un nivel nu necesit modificri la
celelalte niveluri. NAT distruge aceast independen.
n al patrulea rnd, procesele din Internet nu sunt obligate s foloseasc TCP sau UDP. Da-
c un utilizator de pe maina A se decide s folosesc un nou protocol de transport pentru a comuni-
ca cu un utilizator de pe maina B (de exemplu, pentru o aplicaie multimedia), introducerea
unei uniti NAT va determina eecul aplicaiei, deoarece cutia NAT nu va fi n stare s localize-
ze corect cmpul TCP Port surs.
n al cincilea rnd, anumite aplicaii introduc adrese IP n corpul mesajului. Receptorul extrage
aceste adrese i le folosete. De vreme ce NAT nu tie nimic despre aceste adrese, nu le poate nlo-
cui, deci orice ncercare de a le folosi de ctre cealalt parte va eua. FTP, standardul File Transfer
Protocol (rom.: protocol de transfer de fiiere) funcioneaz n acest mod i poate eua n prezena
NAT dac nu se iau msuri speciale. n mod similar protocolul pentru telefonie Internet H.323 (care
va fi studiat n Cap. 8) are aceast proprietate i nu va funciona n prezena NAT. Ar fi posibil s se
modifice NAT-ul pentru a funciona cu H.323, dar modificarea codului unitii NAT de fiecare dat
cnd apare o aplicaie nou nu este o idee bun.
n al aselea rnd, deoarece cmpul TCP Port surs are 16 bii, o adres IP poate fi pus n cores-
ponden cu cel mult 65.536 maini. De fapt acest numr este puin mai mic, deoarece primele 4096
porturi sunt rezervate pentru utilizri speciale. Totui dac sunt disponibile mai multe adrese IP fie-
care poate trata 61.440 maini.
Acestea i alte probleme ale NAT sunt discutate n RFC 2993. n general, opozanii NAT spun
c rezolvnd problema insuficienei adreselor IP cu o soluie temporar i urt, presiunea pentru a
implementa soluia real, adic tranziia la IPv6, este redus i acesta este un lucru ru.
5.5.4 Protocoale de control n Internet
Pe lng IP, care este folosit pentru transferul de date, Internet-ul are cteva protocoale de con-
trol la nivelul reea, incluznd ICMP, ARP, RARP, BOOTP i DHCP. n aceast seciune vom
arunca o privire asupra fiecruia dintre ele.
402 NIVELUL REEA CAP. 5


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-61. Fieca-
re 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 la 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-61. Tipurile principale de mesaje ICMP.

Mesajul DESTINAIE INACCESIBIL (DESTINATION UNREACHABLE) este folosit
atunci cnd subreeaua sau un ruter nu pot localiza destinaia, sau un pachet cu bitul DF nu poate fi
livrat deoarece o reea cu pachete mici i st n cale.
Mesajul TIMP DEPIT (TIME EXCEEDED) este trimis cnd un pachet este eliminat datori-
t ajungerii contorului su la zero. Acest mesaj este un simptom al buclrii pachetelor, al unei enor-
me congestii sau al stabilirii unor 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.
Mesajul OPRIRE SURS (SOURCE QUENCH) a fost folosit pe vremuri pentru a limita trafi-
cul 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 pache-
te au tendina de a turna mai mult gaz pe foc. Controlul congestiei n Internet este fcut acum pe
larg la nivelul transport i va fi studiat n detaliu n Cap. 6.
Mesajul REDIRECTARE (REDIRECT) este folosit atunci 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 re-
cepia mesajului ECOU, destinaia s rspund printr-un mesaj RSPUNS ECOU. Mesajele CE-
RERE 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 m-
sura performanele reelei.
n plus fa de aceste mesaje, au fost definite i altele. Lista se afl on-line la adresa www.iana.
org/assignements/icmp-parameters.
SEC. 5.6 NIVELUL REEA N INTERNET 403

Protocolul de rezoluie a adresei: ARP
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 adre-
sele Internet. Actualmente, cele mai multe gazde sunt ataate la un LAN printr-o plac de interfa
care nelege numai 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 pe 32 de bii.

Fig. 5-62. Trei reele /24 interconectate: dou reele Ethernet i un inel FDDI.

Se pune atunci ntrebarea: Cum sunt transformate adresele IP n adrese la nivelul legturii de da-
te, ca de exemplu Ethernet? Pentru a explica care este funcionarea, vom folosi exemplul din fig. 5-
62, n care este ilustrat o universitate mic ce are cteva reele de clas C (denumit acum /24).
Avem dou 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 E1 la E6, iar fiecare main de pe inelul FDDI are o
adres FDDI, etichetat de la F1 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 f-
cut 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 cm-
pul adresa destinatarului, pachet care este trimis programelor IP pentru a-l transmite. Programele IP
se uit la adres i vd c destinatarul 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 con-
figurare 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.
404 NIVELUL REEA CAP. 5


O soluie mai bun este ca gazda 1 s trimit un pachet de difuzare n reeaua Ethernet ntre-
bnd: Cine este proprietarul adresei IP 192.31.65.5?. Pachetul de difuzare va ajunge la toate mai-
nile 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 adre-
sa 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 prelucreaz.
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, E1) este memora-
t local de ARP pentru o folosire ulterioar. De fapt, toate mainile din reeaua Ethernet pot me-
mora aceast relaie n memoria ARP local.
Alt optimizare este ca fiecare main s difuzeze corespondena sa de adrese la pornirea mai-
nii. 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 ascuns ARP a tuturor. Dac totui sosete un rspuns (neateptat), nseamn c dou
maini au aceeai adres IP. Noua main ar trebui s-l 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 ascuns ARP ar
trebui s expire dup cteva minute.
S privim din nou fig. 5-62, numai c de aceast dat gazda 1 vrea s trimit un pachet ctre gaz-
da 4 (192.31.63.8). Folosirea ARP va eua pentru c gazda 4 nu va vedea difuzarea (ruterele nu tri-
mit mai departe difuzrile de nivel Ethernet). Exist dou soluii. Prima: ruterul facultii de Calcu-
latoare poate fi configurat s rspund la cererile ARP pentru reeaua 193.31.63.0 (i posibil i pen-
tru alte reele locale). n acest caz, gazda 1 va memora local perechea (193.31.63.8, E3) 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
distan i s trimit tot traficul ctre o adres Ethernet implicit care trateaz 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 infor-
maie util dintr-un cadru Ethernet adresat ctre E3. Cnd ruterul facultii de Calculatoare prime-
SEC. 5.6 NIVELUL REEA N INTERNET 405

te 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 adresa FDDI 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 ruterului facultii de Inginerie Electric scoate pachetul din cmpul informa-
ie 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 ascuns 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 pen-
tru 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.
RARP, BOOTP i DHCP
ARP-ul rezolv problema aflrii adresei Ethernet corespunztoare unei adrese IP date. Cteo-
dat trebuie rezolvat problema invers: dndu-se o adres Ethernet, care este adresa IP corespun-
ztoare? 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 distan. Dar cum i afl adresa IP?
Prima soluie proiectat a fost RARP (Reverse Address Resolution Protocol - Protocol de rezolu-
ie invers a adresei) (definit n RFC 903). Acest protocol permite unei staii de lucru de-abia porni-
t s difuzeze adresa sa Ethernet i s spun: Adresa mea Ethernet de 48 de bii este
14.04.05.18.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, pen-
tru c permite ca aceeai imagine s fie folosit pe toate mainile. Dac adresa IP ar fi fixat nun-
trul 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 1-uri (difuzare limitat). Cu toate acestea, asemenea difuzri nu sunt propagate de rutere,
aa 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, 1048 i 1084.
O problem serioas cu BOOTP este c necesit configurarea manual a corespondenelor ntre
adresele IP i adresele Ethernet. Atunci cnd o nou gazd este adugat la LAN, nu poate folosi
BOOTP dect atunci cnd un administrator i aloc o adres IP i introduce manual (adres
Ethernet, adres IP) n tabelele de configurare BOOTP. Pentru a elimina acest pas predispus la
erori, BOOTP a fost extins i i-a fost dat un nou nume: DHCP (Dynamic Host Configuration
Protocol Protocol dinamic de configurare a gazdei). DHCP permite att atribuirea manual
406 NIVELUL REEA CAP. 5


de adrese IP, ct i atribuirea automat. Este descris n RFC-urile 2131 i 2132. n majoritatea
sistemelor, a nlocuit n mare parte RARP i BOOTP.
Ca i RARP i BOOTP, DHCP este bazat pe ideea unui server special care atribuie adrese IP
gazdelor care cer una. Acest server nu trebuie s se afle n acelai LAN cu gazda care face cererea.
Deoarece serverul DHCP s-ar putea s nu fie accesibil prin difuzare, este nevoie ca n fiecare LAN
s existe un agent de legtur DHCP (DHCP relay agent), aa cum se vede n fi fig. 5-63.

Fig. 5-63. Funcionarea DHCP.

Pentru a-i afla adresa IP, o main tocmai pornit difuzeaz un pachet DHCP DISCOVER.
Agentul de legtur DHCP din LAN intercepteaz toate difuzrile DHCP. Atunci cnd gsete un
pachet DHCP DISCOVER, l trimite ca pachet unicast serverului DHCP, posibil ntr-o reea
deprtat. Singura informaie de care are nevoie agentul este adresa IP a serverului DHCP.
O problem care apare cu atribuirea automat a adreselor IP dintr-o rezerv comun este ct
de mult ar trebui alocat o adres IP . Dac o gazd prsete reeaua i nu returneaz adresa sa
IP serverului DHCP, acea adres va fi pierdut permanent. Dup o perioad de timp vor fi pierdute
multe adrese. Pentru a preveni aceasta, atribuirea adresei IP va fi pentru o perioad fix de timp, o
tehnic numit nchiriere. Chiar nainte ca perioada de nchiriere s expire, gazda trebuie s i
cear DHCP-ului o rennoire. Dac nu reuete s fac cererea sau dac cererea este respins, gaz-
da nu va mai putea folosi adresa IP care i fusese dat mai devreme.
5.5.5 Protocolul de dirijare folosit de porile interioare: OSPF
Am terminat acum studiul protocoalelor de control ale Internetului. Este timpul s trecem la
urmtorul subiect : rutarea n Internet. 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 utili-
zat 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 motenit de la ARPANET. El funciona bine n
sisteme mici, dar mai puin bine pe msur ce AS-urile s-au extins. El suferea de asemenea de pro-
SEC. 5.6 NIVELUL REEA N INTERNET 407

blema numrrii la infinit i de o convergen slab n general, aa c n mai 1979 a fost nlocuit 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 acesta a devenit principalul protocol de pori interioare. n cele ce urmeaz vom face o
schi a funcionrii OSPF. Pentru informaii complete, vedei RFC 2328.
Dat fiind experiena ndelungat cu alte protocoale de dirijare, grupul care a proiectat noul pro-
tocol a avut o list lung de cerine care trebuiau 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 dis-
tan, 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.
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-l folosea. Acest
cmp a fost introdus n OSPF dar tot nu l folosea nimeni i n cele din urm a fost eliminat.
n al cincilea rnd i n legtur cu cele de mai sus, noul protocol trebuia s fac echilibrarea n-
crcrii, diviznd ncrcarea pe mai multe linii. Majoritatea protocoalelor anterioare trimit toate
pachetele pe cea mai bun cale. Calea de pe locul doi nu era folosit de loc. n multe cazuri, diviza-
rea 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. Protocoa-
lele 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-
64(a) prezint 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 fiecrui arc i este 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 cte un nod pentru fiecare ruter. Arcele de la no-
dul reea la rutere au pondere 0 i sunt omise din graf.
Fig. 5-64(b) prezint graful pentru reeaua din fig. 5-64(a). Ponderile sunt simetrice, dac nu se
specific altfel. Fundamental, ceea ce face OSPF este s reprezinte reeaua real printr-un graf ca
acesta i apoi s calculeze cea mai scurt cale de la fiecare ruter la fiecare alt ruter.
408 NIVELUL REEA CAP. 5



Fig. 5-64. (a) Un sistem autonom. (b) O reprezentare de tip graf a lui (a).

Multe din AS-urile din Internet sunt foarte mari i nu sunt simplu de administrat. OSPF le per-
mite 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 apari-
n nici unei zone. O zon este o generalizare a unei subreele. 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 aparine coloanei vertebrale. Analog
cu celelalte zone, topologia coloanei vertebrale nu este vizibil din afara coloanei vertebrale.
n interiorul unei zone, 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 ruterul 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 pen-
tru ambele zone i trebuie s foloseasc algoritmul de cale ct mai scurt separat pentru fiecare zon.
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 ntotdeauna calea cea
SEC. 5.6 NIVELUL REEA N INTERNET 409

mai scurt spre ruterul 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 desti-
naie 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-65 arat o parte a Internet-
ului cu AS-uri i zone.
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.

Aceste clase pot s se suprapun. De exemplu, toate ruterele de grani fac parte n mod auto-
mat din coloana vertebral. n plus, un ruter care este n coloana vertebral, dar nu face parte din
nici o alt zon este de asemenea un ruter intern. Exemple din toate cele patru clase de rutere sunt
ilustrate n fig. 5-65.


Fig. 5-65. Relaia dintre AS-uri, coloane vertebrale i zone n OSPF.

410 NIVELUL REEA CAP. 5


Cnd un ruter pornete, trimite mesaje HELLO pe toate liniile sale punct-la-punct i trimi-
te multiplu (multicast) n LAN-urile grupului compus din toate celelalte rutere. n WAN-uri,
are nevoie de anumite informaii de configuraie, pentru a ti pe cine s contacteze. Din rs-
punsuri, fiecare ruter afl care sunt vecinii si. Ruterele din acelai LAN sunt toate vecine.
OSPF funcioneaz prin schimb de informaii ntre rutere adiacente, care nu este acelai lucru cu
schimbul de informaii ntre ruterele vecine. n particular, este ineficient ca fiecare ruter 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 din LAN-ul su i schimb in-
formaii cu ele. Ruterele vecine care nu sunt adiacente nu schimb informaii ntre ele. De aseme-
nea, este actualizat n permanen i un ruter desemnat de rezerv pentru a uura tranziia dac
ruterul desemnat primar se defecteaz i trebuie s fie nlocuit imediat.
n timpul funcionrii normale, fiecare ruter inund periodic cu mesaje ACTUALIZARE STA-
RE LEGTUR (Link State Update) fiecare ruter adiacent. Acest mesaj indic starea sa i
furnizeaz costurile folosite n baza de date topologic. Mesajele de inundare sunt confirmate pen-
tru 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 me-
saje sunt folosite cnd o linie este refcut.
Fiecare partener poate cere informaii de stare a legturii de la cellalt folosind mesaje CERE-
RE STARE LEGTUR (Link State Request). Rezultatul concret al acestui algoritm este c fie-
care pereche de rutere adiacente verific s vad cine are cele mai recente date i astfel, noua infor-
maie este rspndit n zon. Toate aceste mesaje sunt trimise ca simple pachete IP. Cele cinci ti-
puri de mesaje sunt rezumate n fig. 5-66.

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-66. Cele cinci tipuri de mesaje OSPF.

n final, putem s asamblm toate piesele. Folosind inundarea, fiecare ruter informeaz toate ce-
lelalte rutere din zona sa despre vecinii i costurile sale. Aceast informaie permite fiecrui ruter s
construiasc graful zonei (zonelor) sale i s calculeze cea mai scurt cale. Zona de coloan vertebra-
l 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 ruter de coloan vertebral
ctre fiecare alt ruter. Aceast informaie este propagat napoi ctre ruterele zonei de grani, care
o fac public n zonele lor. Folosind aceast informaie, un ruter gata s trimit un pachet interzonal
poate selecta cel mai bun ruter de ieire ctre coloana vertebral.
SEC. 5.6 NIVELUL REEA N INTERNET 411

5.6.5 Protocolul de dirijare pentru pori externe: BGP
n cadrul unui singur AS, protocolul de dirijare recomandat este OSPF (dei, desigur, nu este
singurul folosit). ntre AS-uri se folosete un protocol diferit, BGP (Border Gateway Protocol - Pro-
tocolul 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 tre-
buie 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 po-
litic (Metz, 2001). 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 str-
in 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 pen-
tru vecinii si, sau chiar pentru anumite AS-uri care au pltit pentru acest serviciu. Companiile tele-
fonice, de exemplu, pot fi fericite s acioneze ca un purttor pentru clienii lor, dar nu i pentru alii.
Protocoalele pentru pori externe, n general i BGP n particular, au fost proiectate pentru a permi-
te 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 numai dac nu exist alt alternativ ctre destinaie.
5. Traficul care pleac sau ajunge la IBM nu trebuie s tranziteze Microsoft.

n mod obinuit politicile sunt configurate manual n fiecare ruter BGP (sau sunt incluse folosind
un anumit tip de script). Ele nu sunt parte a protocolului nsui.
Din punctul de vedere al unui ruter BGP, lumea const din AS-uri i liniile care le conecteaz.
Dou AS-uri sunt considerate conectate dac exist o linie ntre dou rutere de grani din fiecare.
Dat fiind interesul special al BGP-ului pentru traficul n tranzit, reelele sunt grupate n trei catego-
rii. 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 manevre-
ze pachetele altora, eventual cu unele restricii, i de obicei pentru o plat.
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 celor-
lalte cum ar fi RIP. n loc s menin doar costul pn la fiecare destinaie, fiecare ruter BGP me-
moreaz 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.
Ca exemplu, s considerm ruterele BGP din fig. 5-67(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
412 NIVELUL REEA CAP. 5


informaiile de dirijare, ei ofer cile lor complete, ca n fig. 5-67(b) (pentru simplitate, este artat
doar destinaia D).

Fig. 5-67. (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 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, ruterul adop-
t 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 BGP-ului se gsete n
RFC 1771 i 1774.
5.6.6 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, tratarea convorbirilor telefonice de tipul conferinelor digitale (aadar
cu mai muli participani).
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 pa-
chet unei adrese de clas D, se face cea mai bun ncercare pentru a-l livra tuturor membrilor grupu-
lui adresat, dar nu sunt date garanii. Unii membri pot s nu primeasc pachetul.
SEC. 5.6 NIVELUL REEA N INTERNET 413

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 trimite-
re multipl hardware (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 Ma-
nagement 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 dirija-
re 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.6.7 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, i chiar i pe drumul dintre cele dou. Din neferi-
cire, 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 (Perkins, 1998a).
Problema apare chiar n schema de adresare. Fiecare adres IP conine un numr de reea i un
numr de gazd. De exemplu, s considerm maina cu adresa IP 160.80.40.20/16. Partea 160.80
indic numrul de reea (8272 n notaie zecimal). Ruterele din toat lumea au tabele de dirijare
care spun ce linie se folosete pentru a ajunge la reeaua 160.80. Oricnd vine un pachet cu adresa IP
destinaie de forma 160.80.xxx.yyy, pachetul pleac pe respectiva linie.
Dac, dintr-o dat, maina cu adresa respectiv este transferat ntr-un alt loc din Internet, pa-
chetele 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 corespun-
d cu noua sa locaie, nu este atractiv pentru c ar trebui s fie informate despre schimbare un ma-
re numr de persoane, programe i baze de date.
414 NIVELUL REEA CAP. 5


O alt abordare este ca ruterele s fac dirijarea folosind adresa IP complet, n loc s foloseasc
numai adresa 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-i conecta calculatoarele portabile oriunde s-
ar duce, 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 gazd mobil trebuie s 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 ocoluri 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 mobi-
l 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 n-
trebare 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
local 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, pro-
babil 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 anu-
mit 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.
Nu exist nimic n proiect care s mpiedice o gazd mobil s fie propriul su agent pentru str-
ini, dar aceast abordare funcioneaz numai dac gazda mobil (n postura sa de agent pentru str-
ini) 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 meniona-
te 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-l 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.
SEC. 5.6 NIVELUL REEA N INTERNET 415

O alt problem care a trebuit 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 Robertei la o anume adres IP, ar fi mai bine s nu se supun dect dac este
convins c Roberta este sursa acestei cereri i nu altcineva ncercnd s se dea drept ea. n acest scop
sunt folosite protocoale criptografice de autentificare. Vom studia asemenea protocoale n cap. 8.
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 aceas-
t reea Ethernet exist un ruter standard, care discut cu Internet-ul cablat de la sol printr-o legtu-
r 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,
ruterul 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.6.8 IPv6
n timp ce CIDR i NAT i mai pot acorda 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. La nceputurile sale, 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 ncepnd de la mijlocul anilor 1990, a nceput s fie utilizat de
un grup diferit de persoane, n special persoane cu cerine diferite. Pe de o parte, numeroase per-
soane cu calculatoare portabile fr fir l folosesc pentru a ine legtura cu baza de acas. Pe de alt
parte, o dat cu iminenta convergen a industriilor calculatoarelor, comunicaiilor i a distraciilor,
s-ar putea s nu mai fie mult pn cnd fiecare telefon sau televizor din lume va fi un nod Internet,
producnd un miliard de maini folosite pentru audio i 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, permind specificarea 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.

416 NIVELUL REEA CAP. 5


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 serioase.
Ele variau de la efectuarea de mici crpeli la IP pn la renunarea complet la el i nlocuirea cu un
protocol complet nou.
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 unificat 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 versiu-
ne 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.
IPv6 ndeplinete obiectivele destul de bine. El menine caracteristicile bune ale IP-ului, le elimi-
n 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 celelalte protocoale Internet auxiliare, 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 2460 pn la RFC 2466.
n primul rnd i cel mai important, IPv6 are adrese mai lungi dect IPv4. Ele au o lungime de 16
octei, ceea ce rezolv problema pentru a crei soluionare a fost creat IPv6: s furnizeze o surs
efectiv nelimitat de adrese Internet. n 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 prelucreze pachetele mai rapid, mbu-
ntind astfel productivitatea i ntrzierea. De asemenea, vom discuta n curnd i antetul.
A treia mare mbuntire a fost suportul mai bun pentru opiuni. Aceast schimbare a fost esen-
ial 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 prelucrare a pachetelor.
Un al patrulea domeniu n care IPv6 reprezint un mare progres 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 tre-
bui fcut ceva pentru a mbunti securitatea. Autentificarea i confidenialitatea sunt trsturi che-
ie ale noului IP. Ulterior ele au fost adaptate i n IPv4, astfel c n domeniul securitii diferenele
nu mai sunt aa de mari.
n final, a fost acordat o mai mare atenie calitii serviciilor. n trecut s-au fcut eforturi, fr
prea mare tragere de inim, dar acum, o dat cu creterea utilizrii multimedia n Internet, presiu-
nea este i mai mare.

SEC. 5.6 NIVELUL REEA N INTERNET 417


Fig. 5-68. Antetul fix IPv6 (obligatoriu).

Antetul principal IPv6
Antetul IPv6 este prezentat n fig. 5-68. 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
vor fi capabile s examineze acest cmp pentru a spune ce tip de pachet analizeaz. Ca un efect late-
ral, acest test irosete cteva instruciuni pe drumul critic, aa nct multe implementri vor ncerca
s-l 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 corec-
te. 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 co-
rect i F-o repede vor fi, fr ndoial, lungi i virulente.
Cmpul Tip de trafic (Traffic class) este folosit pentru a distinge ntre pachetele care au diverse
cerine de livrare n timp real. Un cmp cu acest scop a existat n IP de la nceput, dar a fost imple-
mentat sporadic de ctre rutere. n acest moment se desfoar experimente pentru a determina
cum poate fi utilizat cel mai bine pentru transmisii multimedia.
Cmpul Eticheta fluxului este nc experimental, 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 o 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
transmisie rezervat. Fluxul poate fi stabilit n avans i poate primi un identificator. Cnd apare un
pachet cu o Etichet a fluxului diferit de zero, toate ruterele pot s o caute n tabelele interne pentru
418 NIVELUL REEA CAP. 5


a vedea ce tip de tratament special necesit. Ca efect, fluxurile sunt o ncercare de a combina dou
moduri: flexibilitatea unei subreele cu datagrame i garaniile unei subreele cu circuite virtuale.
Fiecare flux este desemnat de adresa surs, adresa destinaie i numrul de flux, aa nct, ntre o
pereche dat de adrese IP pot exista mai multe fluxuri active n acelai timp . De asemenea, n acest
mod, chiar dac dou fluxuri venind de la gazde diferite, dar cu acelai numr de flux trec prin ace-
lai ruter, ruterul va fi capabil s le separe folosind adresele surs i destinaie. Se ateapt ca nume-
rele de flux s fie alese aleator, n loc de a fi atribuite secvenial ncepnd cu 1, pentru c se ateapt
ca ruterele s le foloseasc n tabele de dispersie.
Cmpul Lungimea informaiei utile spune ci octei urmeaz dup antetul de 40 de octei din fig.
5-68. 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 urmtor 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 urmtor 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 fieca-
re salt dintr-o reea n alta. n teorie, n IPv4 era un timp n secunde, dar nici un ruter nu-l 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 epui-
za niciodat. Alte persoane au argumentat c 16 octei ar fi un exces, n timp ce alii ncurajau folosi-
rea 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.
Pentru scrierea adreselor de 16 octei a fost inventat o nou notaie. Ele sunt scrise ca opt gru-
puri 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 optimi-
zri. 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 adre-
se de 16 octei. Mai exact, sunt 2
128
adrese, care reprezint aproximativ 3x10
38
. Dac ntreaga planet,
pmnt i ap, ar fi acoperite cu calculatoare, IPv6 ar permite 7x10
23
adrese IP pe metru ptrat. Stu-
denii de la chimie vor observa c acest numr este mai mare dect numrul lui Avogadro. Dei nu a
SEC. 5.6 NIVELUL REEA N INTERNET 419

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 3194, Durand i Huitema a calculat c, folosind ca referin alocarea
numerelor de telefon, 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.
Este instructiv s comparm antetul IPv4 (fig. 5-53) cu antetul IPv6 (fig. 5-68) pentru a vedea ce
a fost eliminat n IPv6. Cmpul IHL a disprut 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 dife-
rit a fragmentrii. Pentru nceput, toate gazdele i ruterele care sunt conforme cu IPv6 trebuie s
determine dinamic mrimea datagramei care va fi folosit. Aceast regul face ca, de la nceput,
fragmentarea s fie mai puin probabil. De asemenea minimul a fost mrit de la 576 la 1280 pentru
a permite date de 1024 de octei i mai multe antete. n plus, cnd o gazd trimite un pachet IPv6
care este prea mare, ruterul care este incapabil s l retransmit 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 mult mai eficient s obligi gazdele s trimit de la bun nceput pachete
corecte dimensional, dect s obligi ruterele s le fragmenteze din mers.
n sfrit, cmpul Sum de control este eliminat deoarece calculul acesteia reduce mult perfor-
manele. 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 con-
trol nu merita preul de performan cerut. Eliminarea tuturor acestor caracteristici a avut ca rezul-
tat 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
Cteva din cmpurile care lipsesc sunt nc necesare ocazional, astfel nct IPv6 a introdus con-
ceptul de antet de extensie (opional). Aceste antete pot fi furnizate pentru a oferi informaii supli-
mentare, dar codificate ntr-un mod eficient. n prezent sunt definite ase tipuri de antete de exten-
sie, prezentate n fig. 5-69. 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
Opiuni pentru destinaie Informaii suplimentare pentru destinaie
Dirijare Calea, parial sau total, de urmat
Fragmentare Gestiunea fragmentelor datagramelor
Autentificare Verificarea identitii emitorului
Informaie de siguran criptat Informaii despre coninutul criptat

Fig. 5-69. Antetele de extensie IPv6.

Unele dintre antete au un format fix; altele conin un numr variabil de cmpuri de lungime va-
riabil. Pentru acestea, fiecare element este codificat ca un tuplu (Tip, Lungime, Valoare). Tipul este
420 NIVELUL REEA CAP. 5


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 anume s fac. Variantele
sunt: srirea opiunii; eliminarea pachetului; eliminarea pachetului i trimiterea napoi a unui pachet
ICMP; 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 multicast s genereze milioane de rspunsuri ICMP).
Cmpul Lungime este de asemenea un cmp de lungime 1 octet. El precizeaz ct de lung este
valoarea (de la 0 la 255). Valoarea este orice informaie necesar, pn la 255 octei.
Antetul salt-dup-salt este folosit pentru informaii ce trebuie examinate de toate ruterele de pe
cale. Pn acum a fost definit o opiune: suportul pentru datagrame ce depesc de 64K. Formatul
acestui antet este prezentat n fig. 5-70. Atunci cnd este folosit, cmpul Lungimea informaiei utile
din antetul fix este zero.


Fig. 5-70. Antetul de extensie salt-dup-salt pentru datagrame mari (jumbograme).

Ca 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. Toate extensiile ncep la fel.
Urmtorii 2 octei arat 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 opiunilor pentru destinaie este prevzut pentru cmpuri care trebuie interpretate nu-
mai de ctre gazda destinaie. n versiunea iniial a IPv6 singura opiune definit este cea de com-
pletare a acestui antet pn la un multiplu de 8 octei, aa c pentru nceput nu va fi folosit. El a fost
inclus pentru a asigura posibilitatea ca un nou software al ruterului sau al gazdei s l poate trata, n
cazul n care cineva, cndva, se gndete la o opiune pentru destinaie.
Antetul de dirijare enumer unul sau mai multe rutere care trebuie s fie vizitate pe calea spre
destinaie. Este foarte asemntor cu dirijarea aproximativ din IPv4 prin aceea c toate adresele
listate trebuie vizitate n ordine, dar ntre acestea pot fi vizitate alte rutere nelistate. Formatul
antetului de dirijare este prezentat n fig. 5-71.

Fig. 5-71. Antetul de extensie pentru dirijare.
SEC. 5.6 NIVELUL REEA N INTERNET 421

Primii 4 octei ai antetului de extensie de dirijare conin patru ntregi de 1 octet. Cmpurile An-
tet urmtor i Lungimea antetului extensie au fost descrise anterior. Cmpul Tipul dirijrii preci-
zeaz formatul prii rmase din header. Tipul 0 arat c dup primul cuvnt urmeaz un cuvnt
rezervat pe 32 de bii, urmat de un numr de adrese IPv6. n viitor, n funcie de necesiti, ar
putea fi inventate alte tipuri. n final, cmpul Segmente rmase reine cte adrese din list nu au
fost vizitate i este decrementat de fiecare dat cnd este vizitat o adres. Atunci cnd se ajunge la
0 pachetul este pe cont propriu, fr nici o indicaie referitoare la ruta de urmat. De obicei, n
acest punct este att de aproape de destinaie nct calea cea mai bun este evident.
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 simpli-
fic munca ruterelor i permite ca dirijarea s se fac mai rapid. Aa cum s-a menionat mai sus, da-
c un ruter este confruntat cu un pachet care este prea mare, el elimin pachetul i trimite un pachet
ICMP napoi la surs. Aceast informaie i permite gazdei surs s fragmenteze pachetul n buci
mai mici folosind acest antet i apoi s rencerce.
Antetul de autentificare ofer un mecanism prin care receptorul unui mesaj poate fi sigur de cel
care l-a trimis. Informaia util de siguran criptat face posibil criptarea coninutului unui pachet,
astfel nct doar receptorul cruia i este destinat poate s-l citeasc. Pentru a-i realiza misiunea
aceste antete folosesc tehnici criptografice.
Controverse
Dat fiind procesul de proiectare deschis i opiniile ferm susinute ale multora dintre persoane-
le implicate, nu ar trebui s fie o surpriz c multe din deciziile luate pentru IPv6 au fost foarte con-
troversate. n cele ce urmeaz vom rezuma cteva dintre acestea. Pentru toate amnuntele tioase,
vezi RFC-urile.
Am menionat deja disputa legat de lungimea adresei. Rezultatul a fost un compromis: adrese
de lungime fix de 16 octei.
O alt disput s-a dus n jurul lungimii cmpului Limita salturilor. O tabr a simit c limi-
tarea numrului maxim de salturi la 255 (implicit n cazul 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 peste
10 ani 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 pot fi aduse argumente 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 supercalculatoa-
relor a dorit pachete mai mari de 64 KB. Cnd un supercalculator ncepe s transfere, aceasta n-
seamn ntr-adevr lucru serios i nu dorete s fie ntrerupt dup fiecare 64KB. Argumentul mpotri-
422 NIVELUL REEA CAP. 5


va pachetelor mari este c dac un pachet de 1 MB ajunge la o linie T1 de 1.5 Mbps, acel pachet va
monopoliza linia pentru mai mult de 5 secunde, producnd o ntrziere semnificativ pentru utilizato-
rii interactivi care partajeaz linia. Aici s-a ajuns la 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, apar probleme.
Argumentul mpotriva sumei de control a fost c orice aplicaie care are ntr-adevr grij de inte-
gritatea datelor trebuie oricum 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 exces. Mai
mult, experiena a artat c n IPv4 calculul sumei de control IP era foarte costisitoare. Tabra mpo-
triva 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 face jumta-
te din ocolul lumii, poate continua el s opereze la destinaie cu aceeai adres IPv6 sau trebuie s folo-
seasc o schem cu ageni locali i ageni pentru strini? De asemenea, gazdele mobile introduc asime-
trii 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 n IPv6 suport explicit pentru gazde mobile.
Acest efort a euat pentru c 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 ne-
cesar. 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 prea-
labil. Argumentul contra este c, n general, aplicaiile cu adevrat sigure doresc cel puin criptare
capt-la-capt, n care aplicaia surs cripteaz i aplicaia destinaie decripteaz. Altfel, utilizatorul
este la mila unor implementri potenial pline de pene a nivelurilor reea, implementri asupra cro-
ra 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 persoa-
nele 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 legat de 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 uz intern i altul pen-
tru export, este un fapt ce ntmpin o opoziie viguroas din partea firmelor de calculatoare.
Un punct asupra cruia nu au existat controverse este c nimeni nu se ateapt ca Internet-ul ba-
zat 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
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. Pentru
mai multe informaii despre IPv6, vezi (Loshin, 1999).

SEC. 5.7 REZUMAT 423

5.7 REZUMAT
Nivelul reea furnizeaz servicii nivelului transport. El se poate baza fie pe circuite virtuale, fie pe
datagrame. n ambele cazuri, principala sa sarcin este dirijarea pachetelor de la surs la destinaie.
n subreelele bazate pe circuite virtuale, decizia de dirijare se ia atunci cnd este stabilit circuitul. n
subreelele bazate pe datagrame decizia este luat pentru fiecare pachet.
n reelele de calculatoare sunt folosii muli algoritmi de dirijare. Algoritmii statici includ dirija-
rea pe calea cea mai scurt i inundarea. Algoritmii dinamici include dirijarea dup vectorul distan-
elor i dirijarea dup starea legturii. Majoritatea reelelor actuale folosesc unul dintre aceti algo-
ritmi. Alte teme importante referitoare la dirijare sunt dirijarea ierarhic, dirijarea pentru gazde
mobile, dirijarea pentru difuzare, dirijarea multidestinaie i cea n reele punct-la-punct.
Subreelele pot deveni cu uurin congestionate, mrind ntrzierea i micornd productivita-
tea pentru pachete. Proiectanii reelelor ncearc s evite congestia printr-o proiectare adecvat.
Tehnicile includ politica de retransmitere, folosirea memoriei ascunse, controlul fluxului i altele.
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.
Urmtorul pas dincolo de simpla tratare a congestiei este ncercarea de a se ajunge la calitatea
promis a serviciului. Metodele care pot fi folosite pentru aceasta includ folosirea zonelor tampon la
client, modelarea traficului, rezervarea resurselor i controlul accesului. Abordrile care au fost
proiectate pentru o bun calitate a serviciului includ servicii integrate (ca RSVP), servicii diferenia-
te i MPLS.
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 prin tunel a unui pachet ce traver-
seaz o reea ostil, dar dac reeaua surs i 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 proto-
colul de transport al datelor, IP, dar i protocoalele de control ICMP, ARP i RARP i protocoalele
de dirijare OSPF i BGP. Internet-ul va rmne foarte repede fr adrese IP, aa c s-a dezvoltat o
nou versiune de IP, IPv6.


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 vreo situaie 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 lucru, pentru c
fiecare pachet de date urmeaz o cale predeterminat. Oare aceast observaie nseamn c
424 NIVELUL REEA CAP. 5


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 subreele sunt folosite circuite virtuale, fiecare pa-
chet de date trebuie s conin un antet de 3 octei, iar fiecare ruter trebuie s aloce 8 oc-
tei de memorie pentru identificarea circuitelor. Dac intern sunt folosite datagrame, sunt
necesare antete de 15 octei, dar nu este nevoie de spaiu pentru tabela ruterului. Capaci-
tatea de transmisie cost 1 cent per 10
6
octei, per salt. Memoria foarte rapid pentru ruter
poate fi cumprat la preul de 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. Considerai reeaua din fig. 5-7, dar ignorai ponderile de pe linii. Presupunei c algoritmul de
rutare utilizat este cel de inundare. Listai toate rutele pe care le va parcurge un pachet trimis de
la A la D, al crui numr maxim de salturi este 3. De asemenea precizai cte noduri consum
inutil band de transmisie.
8. 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 exist do-
u astfel de ci). Ruterele sunt considerate suficient de fiabile, deci nu este necesar s ne
ngrijoreze posibilitatea cderii ruterelor.
9. Considerai subreeaua din fig. 5-13(a). Se folosete dirijarea dup vectorul distanelor i
urmtorii vectori tocmai au sosit la ruterul C: de la B: (5, 0, 8, 12, 6, 2); de la D: (16, 12, 6,
0, 9, 10); i de la E: (7, 6, 3, 9, 0, 4). ntrzierile msurate ctre B, D i E, sunt 6, 3 i res-
pectiv 5. Care este noua tabel de dirijare a lui C? Precizai att linia de ieire folosit, ct
i ntrzierea presupus.
10. 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.
11. n fig. 5-14 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 toa-
te mprejurrile?
12. La dirijarea ierarhic cu 4800 de rutere, ce dimensiuni ar trebui alese pentru regiune i grup,
astfel nct s se minimizeze dimensiunea tabelei de dirijare pentru o ierarhie cu trei niveluri?
SEC. 5.8 PROBLEME 425

Un punct de pornire este ipoteza c o soluie cu k clustere de k regiuni de k rutere este
aproape de optim, ceea ce nseamn c valoarea k este aproximativ rdcina cubic a lui 4800
(aproximativ 16). Folosii ncercri repetate pentru a verifica combinaiile cu toi cei trei pa-
rametri n vecintatea lui 16.
13. n 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,
cum va realiza agentul local aceast interceptare?
14. Privind subreeaua din fig. 5-6, cte pachete sunt generate de o difuzare de la B, folosind:
a) urmrirea cii inverse?
b) arborele de scufundare?
15. Fie reeaua din fig. 5-16(a). S ne imaginm c ntre F i G este adugat o nou linie, dar
arborele de scufundare din fig. 5-16(b) rmne neschimbat. Ce modificri survin n fig. 5-
16(c) ?
16. 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.

17. n fig. 5-20, difuzeaz vreodat nodurile H i I la cutarea pornit din A ?
18. S presupunem c nodul B din fig. 5-20 tocmai a pornit i nu are nici o informaie de dirijare
n tabelele sale. Brusc, are nevoie de o cale ctre H. El va difuza pachete cu TTL setat la 1, 2,
3 i aa mai departe. De cte runde are nevoie pentru a gsi o cale ?
19. n cea mai simpl variant a algoritmului Chord pentru cutarea punct-la-punct, cutrile nu
folosesc tabela de indicatori. n loc de aceasta, ele sunt lineare n jurul cercului n oricare di-
recie. Poate un nod determina cu precizie n ce direcie trebuie s caute ? Discutai rspun-
sul.
20. Fie cercul Chord din fig. 5-24. S presupunem c nodul 10 pornete brusc. Afecteaz aceasta
tabela de indicatori a nodului 1, i dac da, cum ?
21. Ca un posibil mecanism de control al congestiei ntr-o subreea ce folosete intern circuite virtu-
ale, un ruter poate amna confirmarea unui pachet primit pn cnd (1) tie c ultima sa trans-
misie 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 fie-
426 NIVELUL REEA CAP. 5


care circuit virtual are un tampon dedicat pentru fiecare direcie a traficului. Dac este nevoie
de T sec pentru a trimite un pachet (date sau confirmare) i sunt n rutere de-a lungul cii, 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.
22. O subreea de tip datagram permite ruterelor s elimine pachete de cte ori este necesar. Pro-
babilitatea ca un ruter s renune la un pachet este p. Considerm cazul unei gazde surs conec-
tate cu un ruter surs, care este conectat cu un ruter destinaie i apoi cu gazda destinaie. Dac
unul dintre rutere elimin un pachet, pn la urm gazda surs va depi limita de timp i va n-
cerca din nou. Dac liniile gazd-ruter i ruter-ruter sunt ambele 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?
23. Descriei dou diferene majore dintre metoda bitului de avertizare i metoda RED.
24. Dai o explicaie pentru faptul c algoritmul gleii gurite permite un singur pachet per tact,
indiferent de ct de mare este pachetul.
25. ntr-un sistem oarecare este utilizat varianta cu numrarea octeilor a algoritmului gleii gu-
rite. 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.
26. O reea ATM utilizeaz pentru modelarea traficului o schem de tip gleat cu jetoane (token
bucket). La fiecare 5 sec n gleat este introdus un nou jeton. Fiecare jeton este asociat unei
singure celule, care conine 48 octei de date. Care este viteza maxim a datelor care poate fi
asigurat?
27. 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?
28. S ne imaginm o specificaie de flux care are dimensiunea maxim a pachetului de 1000 de
octei, viteza gleii cu jetoane de 10 milioane de octei/sec, capacitatea gleii de 1 milion de oc-
tei i viteza maxim de transmisie de 50 de milioane de octei/sec. Ct timp poate dura o rafal
la viteza maxim?
29. Reeaua din fig. 5-37 folosete RSVP cu arbori multidestinaie pentru gazdele 1 i 2, dup cum
este ilustrat. S presupunem c gazda 3 cere un canal cu limea de band de 2MB/sec pentru
un flux de la gazda 1 i alt canal cu lrgimea de band de 1MB/sec pentru un flux de la gazda 2.
n acelai timp gazda 4 cere un canal cu lrgimea de band de 2MB/sec pentru un flux de la
gazda 1 i gazda 5 cere un alt cu lrgimea de band de 1MB/sec pentru un flux de la gazda 2. Ce
lrgime de band total va fi rezervat la ruterele A, B, C, E, H, J, K, L pentru aceste cereri?
30. Procesorul dintr-un ruter poate prelucra 2 milioane de pachete/sec. ncrcarea oferit lui este
de 1,5 milioane pachete/sec. Dac o rut de la surs la destinaie trece prin 10 rutere, ct timp
se consum n ateptare i pentru servirea de ctre procesoare?
SEC. 5.8 PROBLEME 427

31. Fie utilizatorul unor servicii difereniate cu rutare expeditiv. Exist o garanie c pachetele
prioritare vor suferi o ntrziere mai mic dect pachetele normale? De ce sau de ce nu?
32. Este nevoie de fragmentare n reele concatenate bazate pe circuite virtuale sau numai n siste-
me cu datagrame?
33. Trecerea 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 pachete-
le prin el. Poate aceast trecere prin tunel s fie folosit i n subreelele bazate pe data-
grame? Dac da, cum?
34. S presupunem c gazda A este conectat la ruterul R1, R1 este conectat la alt ruter R2, i R2
este conectat la gazda B. S presupunem c un mesaj TCP care conine 900 octei de date i
20 de octei de antet TCP este transmis codului IP aflat pe gazda A pentru a fi transmis lui
B. Artai cmpurile Lungimea total, Identificare, DF ,MF i Deplasamentul fragmentului din
antetul IP din fiecare pachet transmis prin cele trei legturi. Se presupune c legtura A-R1
poate suporta o lungime maxim de cadru de 1024 de octei incluznd un antet de cadru de
14 octei, legtura R1-R2 poate suporta o lungime maxim de cadru de 512 de octei incluznd
un antet de cadru de 8 octei i legtura R2-B poate suporta o lungime maxim de cadru de
512 octei incluznd un antet de cadru de 12 octei.
35. Un ruter distruge pachetele IP a cror lungime total (date plus antet) este de 1024 octei. Pre-
supunnd c pachetele triesc pentru 10 sec, care este viteza maxim a liniei la care poate ope-
ra ruterul fr a fi n pericol s cicleze prin spaiul numerelor de ID al datagramelor IP.
36. O datagram IP care folosete opiunea Dirijare strict de la surs trebuie s fie fragmentat.
Credei c opiunea este copiat n fiecare fragment, sau este suficient s fie pus numai n pri-
mul fragment? Explicai rspunsul.
37. S presupunem c pentru o adres de clas B, partea care specific reeaua utilizeaz 20 de bii
n loc de 16 bii. Cte reele de clas B se pot obine?
38. Transformai adresa IP a crei reprezentare zecimal este C22F1582 ntr-o notaie zecimal
cu puncte.
39. O reea din Internet are masca de subreea 255.255.240.0. Care este numrul maxim de gazde
din subreea?
40. Un numr mare de adrese IP consecutive sunt disponibile ncepnd cu 198.16.0.0. S presu-
punem c patru organizaii, A, B, C, D, cer cte 4000, 2000, 4000 i 8000 adrese, n aceast
ordine. Precizai, pentru fiecare dintre ele, prima i ultima adres IP atribuit, precum i masca
n notaia w.x.y.z/s.
41. Un ruter tocmai a primit urmtoarele noi adrese IP: 57.6.96.0/21, 57.6.104.0/21, 57.6.112.0/21 i
57.6.129.0/21. Dac toate folosesc aceeai linie de ieire, pot fi ele compuse? Dac da, ce va
rezulta? Dac nu, de ce nu ?
42. Setul de adrese IP de la 29.18.0.0 la 19.18.128.255 au fost reunite la 29.18.9.9/17. Totui exist
un spaiu de 1024 de adrese nealocate, de la 29.18.60.0 la 29.18.63.255, care sunt brusc alocate
428 NIVELUL REEA CAP. 5


unei gazde care folosete alt linie de ieire. Este nevoie acum ca adresa agregat s fie spar-
t n blocurile constituente, s se adauge blocurile noi la tabel i s se vad apoi dac este po-
sibil o alt reunire? Dac nu, ce se poate face ?
43. Un ruter are urmtoarele intrri (CIDR) n tabela sa de dirijare :
Adres/masc Urmtorul salt
135.46.56.0/22 Interfaa 0
135.46.60.0/22 Interfaa 1
192.53.40.0/23 Ruter 1
Implicit Ruter 2
Pentru fiecare dintre urmtoarele adrese IP, ce face ruterul dac primete un pachet cu res-
pectiva adres?
a) 135.46.63.10
b) 135.46.57.14
c) 135.46.52.2
d) 192.53.40.7
e) 192.53.56.7
44. Multe companii au politica de a avea dou (sau mai multe) rutere conectate la Internet pentru a
avea redundan n caz c unul dintre ele nu mai funcioneaz. Mai este aceast politic po-
sibil cu NAT ? Explicai rspunsul.
45. 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?
46. 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 fundamen-
tal diferite. Care este diferena esenial dintre ele?
47. Descriei un procedeu pentru reasamblarea fragmentelor IP la destinaie.
48. Cei mai muli algoritmi de reasamblare a datagramelor IP au un ceas pentru a evita ca un frag-
ment 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. n
cele din urm timpul expir i cele trei fragmente sunt eliminate din memoria receptorului. Pu-
in mai trziu, sosete i ultimul fragment. Ce ar trebui fcut cu el?
49. 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?
50. 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 ntrea-
ga poveste cu ageni locali i ageni strini pentru ca mesajele de pot electronic i alte
tipuri de trafic s-i parvin corect?
SEC. 5.8 PROBLEME 429

51. IPv6 folosete adrese de 16 octei. Dac la fiecare picosecund este alocat cte un bloc de 1 mi-
lion de adrese, ct timp vor exista adrese disponibile?
52. Cmpul Protocol folosit n antetul IPv4 nu este prezent n antetul fix pentru IPv6. De ce?
53. Cnd se introduce protocolul IPv6, protocolul ARP trebuie s fie modificat? Dac da, modific-
rile sunt conceptuale sau tehnice?
54. Scriei un program care s simuleze dirijarea 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 ntrzi-
erii i lrgimii de band folosite.
55. 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. Fie-
care 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.
56. Scriei o funcie pentru retransmiterea ntr-un ruter IP. Procedura are un parametru, o
adres IP. De asemenea are acces la o tabel global constnd dintr-un vector de triplei. Fie-
care triplet conine trei ntregi: o adres IP, o masc de subreea i linia de ieire ce trebuie
folosit. Funcia caut adresa IP n tabel folosind CIDR i ntoarce ca valoare linia ce trebu-
ie folosit.
57. Folosii programele traceroute (UNIX) sau tracert (Windows) pentru a urmri calea de la calcu-
latorul personal pn la diverse universiti de pe alte continente. Creai o list a legturilor
transoceanice pe care le-ai descoperit. Cteva sit-uri de ncercat sunt: www.berkely.edu (Cali-
fornia), www.u-tokyo.ac.jp (Tokyo), www.mit.edu (Massachusetts), www.vu.nl (Amsterdam),
www.usyd.edu.au (Sydney), www.ucl.ac.uk (Londra), www.uct.ac.za (Cape Town).

431
6
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 TRANS-
PORT
n seciunile urmtoare vom face o prezentare a serviciilor oferite de nivelul transport. Vom stu-
dia serviciile oferite nivelului aplicaie. Pentru a face problema serviciului de transport mai concret,
vom examina dou seturi de primitive ale nivelului transport. La nceput ne vom ocupa de unul sim-
plu (dar ipotetic), pentru a arta ideile de baz. Apoi va fi studiat interfaa folosit n mod obinuit
n Internet.
6.1.1 Servicii furnizate nivelurilor superioare
Scopul principal al nivelului transport este de a oferi servicii eficiente, sigure i ieftine utilizatori-
lor, n mod normal procese aparinnd nivelului aplicaie. Pentru a atinge acest scop, nivelul trans-
port utilizeaz serviciile oferite de nivelul reea. Hardware-ul i/sau software-ul care se ocup de toa-
432 NIVELUL TRANSPORT CAP. 6


te acestea n cadrul nivelului transport poart numele de entitate de transport. Entitatea de trans-
port poate aparine nucleului sistemului de operare, unui proces distinct, unei biblioteci legate de
aplicaiile de reea sau poate fi gsit n cadrul plcii de reea. Relaia (logic) ntre nivelurile reea,
transport i aplicaie este prezentat n fig. 6-1.

Fig. 6-1. Nivelurile reea, transport i aplicaie.

Cele dou tipuri de servicii: orientate pe conexiune sau datagram, existente n cadrul nivelului
reea, se regsesc i la acest nivel. Serviciul orientat pe conexiune de la nivelul transport are multe
asemnri cu cel de la nivel reea. n ambele cazuri, conexiunile au trei faze: stabilirea conexiunii,
transferul de date i eliberarea conexiunii. Adresarea i controlul fluxului sunt i ele similare pentru
ambele niveluri. Mai mult, chiar i serviciul fr conexiune al nivelului transport este foarte asem-
ntor cu cel al nivelului reea.
O ntrebare evident este atunci: 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-9. Co-
dul pentru nivelul transport este executat n ntregime pe mainile utilizatorilor, dar nivelul reea
este executat n cea mai mare parte de mediul de transport (cel puin pentru reelele larg rspndite
geografic - WAN). Ce s-ar ntmpla dac nivelul reea ar oferi servicii neadecvate? Dar dac acesta
ar pierde frecvent pachete? Ce se ntmpl dac din cnd n cnd ruterul cade?
Ei bine, n toate aceste cazuri apar probleme. Deoarece utilizatorii nu pot controla nivelul reea,
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 de-
asupra nivelului reea un alt nivel care s amelioreze calitatea serviciilor. Dac pe o subreea orienta-
t pe conexiune, o entitate 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 i poate ntreba corespondenta care date au
ajuns la destinaie i care nu, i poate continua comunicarea din locul de unde a fost ntrerupt.
SEC. 6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 433

n esen, existena nivelului transport face posibil ca serviciile de transport s fie mai sigure de-
ct cele echivalente de la nivelul reea. Pachetele pierdute sau incorecte pot fi detectate i corectate
de ctre nivelul transport. Mai mult, primitivele serviciului de transport pot fi implementate ca ape-
luri ctre procedurile de bibliotec, astfel nct s fie independente de primitivele de la nivelul reea.
Apelurile nivelului reea pot s varieze considerabil de la o reea la alta (de exemplu, serviciile fr
conexiune ntr-o reea local pot fi foarte diferite de serviciile orientate pe conexiune dintr-o reea
larg rspndit geografic). Ascunznd serviciul reea n spatele unui set de primitive ale serviciului
transport, schimbarea serviciului reea necesit numai nlocuirea unui set de proceduri de bibliotec
cu un altul care face acelai lucru, cu un serviciu inferior diferit.
Mulumit nivelului transport, programatorii de aplicaii pot scrie cod conform unui set standard
de primitive, pentru a rula pe o mare varietate de reele, fr s i pun problema interfeelor de
subreea diferite sau transmisiilor nesigure. Dac toate reelele reale ar fi perfecte i toate ar avea
acelai set de primitive i ar fi garantate s nu se schimbe niciodat, atunci probabil c nivelul trans-
port nu ar mai fi fost necesar. Totui, n lumea real el ndeplinete importanta funcie de a izola
nivelurile superioare de tehnologia, arhitectura i imperfeciunile subreelei.
Din aceast cauz, n general se poate face o distincie ntre nivelurile de la 1 la 4, pe de o parte,
i cel (cele) de deasupra, pe de alt parte. Primele pot fi vzute ca furnizoare de servicii de trans-
port, iar ultimele ca utilizatoare de servicii de transport. Aceast distincie ntre utilizatori i furni-
zori are un impact considerabil n ceea ce privete proiectarea arhitecturii de niveluri i confer nive-
lului transport o poziie cheie, acesta fiind limita ntre furnizorul i utilizatorul serviciilor sigure de
transmisie de date.
6.1.2 Primitivele serviciilor de transport
Pentru a permite utilizatorului s acceseze serviciile de transport, nivelul transport trebuie s ofe-
re unele operaii programelor aplicaie, adic o interfa a serviciului transport. Fiecare serviciu de
transport are interfaa sa. n acest capitol, vom examina mai nti un serviciu de transport simplu
(ipotetic) i interfaa sa pentru a vedea aspectele eseniale. n seciunea urmtoare 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 tocmai acesta este scopul nivelului transport: s furnizeze un serviciu sigur de-
asupra 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 pierdu-
te, 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. Aceasta este
exact ceea ce face un serviciu transport orientat pe conexiune: ascunde imperfeciunile reelei, astfel
nct procesele utilizator pot s presupun existena unui flux de date fr erori.
n acelai timp nivelul transport furnizeaz i un serviciu nesigur. Totui, sunt puine de spus n
legtur cu acesta, aa c n acest capitol ne vom concentra atenia asupra serviciului orientat pe
conexiune. Cu toate acestea, exist unele aplicaii, cum sunt programele client-server i fluxurile
multimedia, care beneficiaz de transport fr conexiune, deci vom vorbi puin despre ele mai trziu.
434 NIVELUL TRANSPORT CAP. 6


O a doua diferen ntre serviciul reea i cel de transport se refer la destinaiile lor. Serviciul re-
ea este folosit doar de entitile de transport. Puini utilizatori scriu ei nii entitile de transport i,
astfel, puini utilizatori sau programe ajung s vad vreodat serviciile reea aa cum sunt ele. 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-2. Aceast interfa este ntr-adevr simpl, dar prezint trs-
turile de baz ale oricrei interfee orientate pe conexiune a nivelului transport. Ea permite pro-
gramelor 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 DATE Transmite informaie
RECEIVE (nimic) Se blocheaz pn cnd primete date trimise
DISCONNECT DISCONNECTION REQ. Trimis de partea care vrea s se deconecteze

Fig. 6-2. 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.
Este momentul s facem cteva precizri n legtur cu terminologia. n lipsa unui termen mai
bun vom folosi acronimul TPDU (Transport Protocol Data Unit - unitate de date a protocolului de
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.
Aceast ierarhie este ilustrat n fig. 6-3.


Fig. 6-3. Ierarhia de cadre, pachete i TPDU-uri.

SEC. 6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 435

Revenind la exemplul nostru, apelul CONNECT al clientului genereaz un TPDU de tip CON-
NECTION 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 posibi-
litate este ca una din pri s fac un apel RECEIVE (blocant) ateptnd ca cealalt parte s execu-
te 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 transport, chiar i un schimb de date simplu, unidirecional, es-
te mult mai complicat dect la nivelul reea. 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 nive-
lul reea i nu sunt vizibile utilizatorilor nivelului transport. Similar, entitile de transport 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. Aceast capacitate de a ascunde complexita-
tea este motivul care face ierarhia de protocoale s fie un instrument att de puternic.
STABILIRE DE
CONEXIUNE
ACTIV
STABILIRE DE
CONEXIUNE
PASIV
DECONECTARE
PASIV
DECONECTARE
ACTIV
NEFOLOSIT
NEFOLOSIT
CONEXIUNE
STABILIT
TPDU:Cerere
de deconectare
Execu ie:
DISCONNECT
Execu ie:
DISCONNECT
TPDU: Cerere
de deconectare
TPDU: Cerere
de conectare
TPDU: Conectare
acceptat
Execu ie: CONNECT
Execu ie:CONNECT

Fig. 6-4. Diagrama de stri pentru o schem simpl de control al conexiunii.
Tranziiile etichetate cu italice sunt cauzate de sosirea unor pachete.
Liniile continue indic secvena de stri a clientului.
Liniile punctate indic secvena de stri a serverului.

436 NIVELUL TRANSPORT CAP. 6


Atunci cnd o conexiune nu mai este necesar, ea trebuie eliberat pentru a putea elibera i spa-
iul 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 ape-
la o primitiv DISCONNECT, ceea ce va avea ca rezultat trimiterea unui TPDU DISCONNECT
REQUEST entitii de transport aflate 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
nc recepiona datele transmise de entitatea de transfer aflat la distan. n acest model conexiu-
nea este eliberat dac ambele pri au apelat DISCONNECT.
O diagram de stri pentru stabilirea i eliberarea conexiunilor folosind aceste primitive simple
este prezentat n fig. 6-4. 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 folo-
sit un model de deconectare simetric, clientul iniiind aciunea. Trebuie reinut c acesta este un
model foarte simplu, n seciunile urmtoare vom analiza modele reale.
6.1.3 Socluri Berkeley
Vom trece n revist acum un alt set de primitive de transport: primitivele pentru socluri TCP fo-
losite n sistemul de operare Berkeley-UNIX. Primitivele sunt enumerate n fig. 6-5. n general pu-
tem spune c acestea sunt similare modelului din capitolul precedent, dar ofer mai multe caracte-
ristici 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.

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-5. Primitivele pentru socluri TCP

Primele patru primitive din tabel sunt executate, n aceast ordine, de ctre server. Primitiva
SOCKET creeaz un nou capt al conexiunii i aloc spaiu pentru el n tabelele entitii de trans-
port. n parametrii de apel se specific formatul de adres utilizat, tipul de serviciu dorit (de exem-
plu, flux 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.
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 unor procese le pas de adresa lor (de exemplu, une-
le 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.
SEC. 6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 437

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. ACCEPT returneaz un descriptor normal de fiier, care poate
fi folosit pentru citirea i scrierea n mod standard, la fel ca pentru fiiere.
S privim acum din punctul de vedere al clientului: i n acest caz, soclul trebuie creat folosind o
primitiv 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 co-
nectare. Cnd acesta s-a terminat (adic atunci cnd TPDU-ul corespunztor a fost primit de la ser-
ver), 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. Se pot folosi i apelurile de sistem READ i WRITE standard din UNIX, dac nu
sunt necesare opiunile speciale oferite de SEND i RECV.
Eliberarea conexiunii este simetric. Atunci cnd ambele pri au executat primitiva CLOSE,
conexiunea este eliberat.
6.1.4 Un exemplu de programare cu socluri: server de fiiere pentru Internet
Ca exemplu de cum pot fi folosite apelurile pentru socluri, vom considera codurile client i server
din fig. 6-6. Aici avem un server de Internet foarte primitiv mpreun cu un exemplu de client care l
utilizeaz. Codul are multe limitri (discutate mai jos), dar n principiu codul server poate fi compilat
i rulat pe orice sistem UNIX conectat la Internet. Codul client poate fi apoi compilat i rulat pe orie
alt main UNIX din Internet, oriunde n lume. Codul client poate fi executat cu parametrii adec-
vai pentru a obine orice fiier la care serverul are acces pe maina sa. Fiierul este scris la ieirea
standard, care, desigur, poate fi redirectat spre un fiier sau spre o conduct (pipe).
S ne uitm mai nti la codul server. Acesta ncepe incluznd nite header-e (antete) standard
ntre care ultimele 3 conin principalele definiii i structuri de date care se refer la Internet. Apoi
urmeaz o definire a SERVER_PORT (portului de server) ca 12345. Acest numr a fost ales arbitrar.
Orice numr ntre 1024 i 65535 va funciona la fel de bine atta timp ct nu este utilizat de alte pro-
cese. Bineneles, clientul i serverul trebuie sa foloseasc acelai port. Dac serverul va deveni vreo-
dat un succes de talie mondial (improbabil, tiind ct de primitiv este) i va fi asignat un port per-
manent sub 1024 i va aprea la www.iana.org.
Urmtoarele dou linii n codul server definesc dou constante necesare. Prima determin di-
mensiunea zonei de memorie folosite pentru transferul de fiiere. A doua determin ct de multe
conexiuni n ateptare pot fi reinute nainte ca cele care urmeaz s fie nlturate dup sosire.
Dup declaraiile variabilelor locale ncepe codul server. Acesta pornete cu iniializarea unei
structuri de date care va ine adresa IP a serverului. Aceast structur de date va fi n curnd asocia-
t cu soclul serverului. Apelul ctre memset seteaz structura de date la 0. Cele trei atribuiri care i
urmeaz completeaz trei din cmpurile sale. Ultima dintre ele conine portul serverului. Funciile
htonl i htons se refer la conversia valorilor ntr-un format standard astfel nct codul s ruleze co-
rect att pe maini big-endian (de exemplu SPARC) ct i maini little-endian (de exemplu
Pentium). Semantica lor exact nu este relevant aici.


438 NIVELUL TRANSPORT CAP. 6


/* Aceast pagin conine un program client care poate cere un fiier de la programul server
de pe pagina urmtoare. Serverul rspunde trimind ntregul fiier.
*/

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

#define SERVER_PORT 12345 /* arbitrar, dar clientul i serverul trebuie s fie de acord */
#define BUF_SIZE 4096 /* dimensiunea blocului de transfer */

int main(int argc, char **argv)
{
int c, s, bytes;
char buf[BUF_SIZE]; /* zona tampon de memorie pentru fiierul ce este recepionat */
struct hostent *h;

/* informaii despre server */
struct sockaddr_in channel;
/* pstreaz adresa IP */

if (argc != 3) fatal("Usage: client server-name file-name");
h = gethostbyname(argv[1]);
/* caut adresa IP a gazdei */
if (!h) fatal("gethostbyname failed");

s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s < 0) fatal("socket");
memset(&channel, 0, sizeof(channel));
channel.sin_family= AF_INET;
memcpy(&channel.sin_addr.s_addr, h->h_addr, h->h_length);
channel.sin_port= htons(SERVER_PORT);

c = connect(s, (struct sockaddr *) &channel, sizeof(channel));
if (c < 0) fatal("connect failed");

/* Conexiunea este acum stabilit. Trimite numele fiierului incluznd terminatorul de ir */
write(s, argv[2], strlen(argv[2])+1);

/* Ia fiierul i-l afieaz la ieirea standard. */
while (1) {
bytes = read(s, buf, BUF_SIZE); /* citete de la soclu */
if (bytes <= 0) exit(0); /* verific dac este sfrit de fiier*/
write(1, buf, bytes);
/* scrie la ieirea standard */
}
}

fatal(char *string)
{
printf("%s\n", string);
exit(1);
}

Fig. 6-6. Codul client folosind socluri. Codul server este pe pagina urmtoare.
SEC. 6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 439


#include <sys/types.h>
#include <sys/fcntl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

#define SERVER_PORT 12345 /* arbitrar, dar clientul i serverul trebuie s fie de acord */
#define BUF_SIZE 4096 /* dimensiunea blocului de transfer */
#define QUEUE_SIZE 10

int main(int argc, char *argv[])
{
int s, b, l, fd, sa, bytes, on = 1;
char buf[BUF_SIZE]; /* zona tampon de memorie pentru fiierul care este transmis */
struct sockaddr_in channel;
/* pstreaz adresa IP */

/* Construiete structura adresei pentru a se lega la soclu. */
memset(&channel, 0, sizeof(channel)); /* canalul zero */
channel.sin_family = AF_INET;
channel.sin_addr.s_addr = htonl(INADDR_ANY);
channel.sin_port = htons(SERVER_PORT);

/* Deschidere pasiv. Ateapt conexiunea. */
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); /* creeaz soclu */
if (s < 0) fatal("socket failed");
setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *) &on, sizeof(on));

b = bind(s, (struct sockaddr *) &channel, sizeof(channel));
if (b < 0) fatal("bind failed");

l = listen(s, QUEUE_SIZE); /* specific dimensiunea cozii */
if (l < 0) fatal("listen failed");

/* Soclul este acum setat i legat. Ateapt conexiunea i o proceseaz. */
while (1) {
sa = accept(s, 0, 0); /* blocare pentru cererea de conexiune */
if (sa < 0) fatal("accept failed");

read(sa, buf, BUF_SIZE); /* citete numele fiierului de la soclu */

/* Preia i returneaz fiierul. */
fd = open(buf, O_RDONLY); /* deschide fiierul de trimis napoi */
if (fd < 0) fatal("open failed");

while (1) {
bytes = read(fd, buf, BUF_SIZE); /* citete din fiier */
if (bytes <= 0) break; /* verific dac este sfrit de fiier */
write(sa, buf, bytes); /* scrie octei la soclu */
}
close(fd); * nchide fiierul */
close(sa); /* nchide conexiunea*/
}
}

Fig. 6-6. Codul server. Codul client este pe pagina anterioar.
440 NIVELUL TRANSPORT CAP. 6


n continuare serverul creeaz un soclu i face verificare pentru erori (indicate de s<0). ntr-o
versiune de producie a codului mesajul de eroare ar putea fi mai explicit. Apelul ctre setsockopt
este necesar pentru a permite portului s fie folosit de serverul care ruleaz la nesfrit, rspunznd
la cerere dup cerere. Acum, adresa IP este legat la soclu i este fcut o verificare pentru a vedea
dac apelul ctre bind a reuit. Ultimul pas n iniializare este apelul ctre listen pentru a anuna
acordul serverului de a accepta apeluri i pentru a spune sistemului s menin un numr de pn la
QUEUE_SIZE din acestea n caz c ajung noi cereri n timp ce serverul o proceseaz nc pe cea
curent. Dac coada este plin i ajung cereri suplimentare, se renun la acestea.
n acest punct, serverul intr n bucla sa principal, pe care nu o mai prsete niciodat. Singura
cale de a-l opri este de a-l termina forat din afar. Apelul la accept blocheaz serverul pn cnd un
client ncearc s stabileasc o conexiune cu el. Dac apelul accept e fcut cu succes, returneaz un
descriptor de fiier care poate fi folosit pentru citire i scriere, n mod asemntor descriptorilor ce
sunt folosii pentru a citi i a scrie n pipe-uri (tuburi). Cu toate acestea, spre deosebire de tuburi,
care sunt unidirecionale, soclurile sunt bidirecionale, astfel c sa (socket address adresa soclului)
poate fi folosit i pentru citire din conexiune, i pentru a scrie pe ea.
Dup ce conexiunea este stabilit, serverul citete numele fiierului din ea. Dac numele nu este
nc disponibil, serverul se blocheaz ateptndu-l. Dup ce ia numele fiierului, serverul deschide
fiierul i intr ntr-o bucl care citete alternativ blocuri din fiier i le scrie pe soclu pn cnd ntre-
gul fiier a fost copiat. Apoi serverul nchide iar fiierul i conexiunea i ateapt s apar urmtoa-
rea conexiune. El repet aceast bucl la infinit.
Acum s privim codul client. Pentru a nelege cum funcioneaz, este necesar s nelegem cum
este invocat. Presupunnd c este numit client, un apel tipic este

client flits.cs.vu.nl /usr/tom/filename >f

Acest apel funcioneaz doar dac serverul ruleaz deja la flits.cs.vu.nl i fiierul /usr/tom/filemane
exist i serverul are drept de citire pentru el. Dac apelul are succes, fiierul este transferat prin In-
ternet i scris n f , dup care programul client se termin. Din moment ce serverul continu dup un
transfer, clientul poate fi pornit din nou pentru a lua alte fiiere.
Codul client ncepe cu cteva directive include i declaraii. Execuia ncepe verificnd dac a fost
apelat cu numr corect de argumente (argc=3 nseamn numele programului plus dou argumen-
te). Observai c argv[1]conine numele serverului (de exemplu flits.cs.vu.nl) i este convertit la o
adres IP ctre gethostbyname. Aceast funcie folosete DNS pentru a cuta numele. Vom studia
DNS n cap. 7.
n continuare este creat i iniializat un soclu. Apoi, clientul ncearc s stabileasc o conexiune
TCP cu serverul, folosind connect. Dac serverul funcioneaz pe maina menionat i ataat la
SERVER_PORT i este fie inactiv, fie are loc n coada sa listen, conexiunea va fi (n cele din urm)
stabilit. Folosind conexiunea, clientul trimite numele fiierului scriind pe soclu. Numrul de octei
trimii este cu 1 mai mare dect numele, deoarece terminatorul de ir (un octet 0) trebuie de aseme-
nea trimis pentru a spune serverului unde se sfrete numele.
Acum clientul intr ntr-o bucl, citind fiierul bloc cu bloc de la soclu i copiindu-l la ieirea
standard. Cnd acestea se termin, pur i simplu iese.
Procedura fatal afieaz un mesaj de eroare i iese. Serverul are nevoie de aceeai procedur,
dar aceasta a fost omis datorit lipsei de spaiu pe pagina. Din moment ce clientul i serverul sunt
compilate separat i n mod normal ruleaz pe calculatoare diferite, ele nu pot partaja codul proce-
durii fatal.
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 441

Aceste dou programe (la fel ca i orice material referitor la aceast carte) pot fi luate de la adre-
sa de Web a crii

http://www.prenhall.com/tanenbaum

dnd clic pe link-ul ctre situl Web de lng fotografia coperii. Ele pot fi descrcate i compilate pe
orice sisteme UNIX (de exemplu Solaris, BSD, Linux) cu comenzile:

cc o client client.c lsocket lnsl
cc o server sever.c lsocket lnsl

Serverul este pornit tastnd doar

server

Clientul are nevoie de dou argumente, aa cum s-a discutat mai sus. O versiune de Windows este
de asemenea disponibil pe situl Web.
Ca o observaie, acest server nu este ultimul cuvnt n domeniul programelor server. Verificarea
erorilor este ineficient i raportarea erorilor este mediocr. n mod clar serverul nu a auzit nicioda-
t de securitate, i folosirea doar a apelurilor de sistem UNIX nu este ultimul cuvnt n independen-
a de platform. De asemenea face unele presupuneri care sunt tehnic ilegale, cum ar fi presupune-
rea c numele fiierului ncape n zona de memorie tampon i este transmis automat. Din moment
ce trateaz toate cererile strict secvenial (deoarece are doar un singur fir de execuie) performana
este slab. n ciuda acestor neajunsuri, este un server de fiiere Internet complet i funcional. n
exerciii, cititorul este invitat s le mbunteasc. Pentru mai multe informaii despre programare
cu socluri, a se vedea (Stevens, 1997).


6.2 NOIUNI DE BAZ DESPRE PROTOCOALE-
LE 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
i pentru cele de legtur de date studiate n detaliu n cap. 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 impli-
caii importante pentru protocoale, aa cum vom vedea n acest capitol.
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. n 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.
442 NIVELUL TRANSPORT CAP. 6



Fig. 6-7. (a) Mediul pentru nivelul legtur de date. (b) Mediul pentru nivelul transport.

O alt diferen ntre nivelurile legtur de date i transport, care genereaz multe probleme, es-
te 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 apar 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 tr-
ziu. Consecinele capacitii de memorare a subreelei pot fi uneori dezastruoase i necesit folosi-
rea 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 cap. 3, unele protocoale alocau un numr fix de tampoane pen-
tru 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
tampoane dedicate s fie mai puin atractiv. n urmtoarele seciuni, vom examina att aceste pro-
bleme importante ct i altele.
6.2.1 Adresarea
Atunci cnd un proces aplicaie (de exemplu, un proces utilizator) dorete s stabileasc o cone-
xiune 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 mesa-
jul?). Metoda folosit n mod normal este de a defini adrese de transport la care procesele pot s
atepte cereri de conexiune. n Internet acestea se numesc porturi. La reelele ATM perechile se
numesc AAL - SAP-uri. n continuare vom folosi pentru acestea termenul generic 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 i conexiunile transport. Procesele aplicaie, att cli-
enii ct i serverele, se pot ataa la TSAP pentru a stabili o conexiune la un TSAP la distan. Aceste
conexiuni ruleaz prin TSAP-uri pe fiecare gazd aa cum se arat. Necesitatea de a avea mai multe
TSAP-uri este dat de faptul c n unele reele, fiecare calculator are un singur NSAP, deci cumva
este nevoie s se disting mai multe puncte de sfrit de transport care partajeaz acel NSAP.
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 443

Proces
aplicaie
Nivel
aplicaie
Conexiunea
transport
TSAP 1522
TSAP 1208
NSAP
NSAP
Nivel
transport
Nivel
reea
Nivel
legtur
de date
Nivel
fizic
Server 1
Gazda 1 Gazda 2
Server 2
TSAP 1836

Fig. 6-8. TSAP, NSAP i conexiunile la nivel transport.

Un scenariu posibil pentru stabilirea unei conexiuni la nivel transport 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 mo-
delul 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 1208 ca surs i TSAP 1522 ca destinaie. Aceast aciune are
ca rezultat n cele din urm stabilirea unei conexiuni la nivel transport ntre procesele aplica-
ie de pe gazda 1 i serverul 1 de pe gazda 2.
3. Procesul aplicaie trimite o cerere o cerere pentru timp.
4. Procesul server de timp rspunde cu timpul curent.
5. Conexiunea transport este apoi eliberat.

Trebuie reinut c foarte bine pot exista alte servere pe gazda 2 care s fie ataate la alte TSAP-
uri i care s atepte conexiuni care ajung pe acelai NSAP.
Fig. 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 1522? O posibilitate este ca acest server de
or exact s se ataeze la TSAP 1522 de ani de zile i, cu timpul, toi utilizatorii au aflat acest lu-
cru. n acest model serviciile au adrese TSAP fixe, care pot fi afiate n fiiere n locuri bine cunos-
cute, cum este fiierul etc/services pe sistemele UNIX care afieaz ce servere sunt ataate perma-
nent i la ce porturi.
Dar schema cu adrese de servicii fixe funcioneaz doar pentru un numr mic de servicii cheie, a
cror adres nu se schimb niciodat (de exemplu server de Web). ns, n general, procesele utiliza-
tor vor s comunice cu alte procese care exist numai pentru scurt timp i nu au o adres TSAP di-
nainte cunoscut. Pe de alt parte, pot exista mai multe procese server, majoritatea utilizate foarte
444 NIVELUL TRANSPORT CAP. 6


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.
O astfel de soluie este prezentat n fig. 6-9, ntr-o form simplificat. Ea este cunoscut ca pro-
tocolul 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) spe-
cial 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. Utilizatorii poteniali ai serviciului
ncep prin a face o cerere de conexiune, specificnd adresa TSAP a serviciului pe care l doresc. Da-
c nu exist un server care s atepte conexiuni la acel port, ele obin o conexiune la serverul de pro-
cese, ca n fig. 6-9 (a).
Dup ce primete cererea, serverul de procese d natere serverului cerut, permindu-i s mo-
teneasc conexiunea cu procesul utilizator. Noul server execut prelucrarea cerut, n timp ce serve-
rul de procese continu s atepte noi cereri, ca n fig. 6-9 (b).


Fig. 6-9. Stabilirea unei conexiuni ntre calculatorul gazd 1
i serverul pentru ora exact.

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.
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 adre-
sa TSAP corespunztoare unui serviciu dat prin nume, aa cum este ora exact, utilizatorul stabi-
lete 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
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 445

acestuia. Dup aceasta, utilizatorul elibereaz conexiunea cu serverul de nume i stabilete o nou
conexiune cu serviciul dorit.
n acest model, atunci cnd este creat un nou serviciu, el trebuie s se nregistreze singur la serve-
rul de nume, 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 te-
lefonic: este furnizat corespondena dintre nume i numere de telefon. Ca i n cazul telefoanelor,
este esenial ca adresa bine cunoscut a serverului de nume (sau a serverului de procese, n protoco-
lul de conectare iniial) s fie ntr-adevr bine cunoscut. Dac nu tii numrul de la informaii, nu
poi afla nici un alt numr de telefon. Dac crezi c numrul de la informaii este evident pentru toi,
ncearc s-l foloseti i n alt ar!
6.2.2 Stabilirea conexiunii
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 CONNEC-
TION REQUEST i s atepte replica CONNECTION ACCEPTED . Problema apare deoarece
reeaua poate pierde, memora sau duplica pachete. Acest comportament duce la complicaii serioase.
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 subre-
eaua folosete datagrame i fiecare pachet urmeaz un traseu diferit. Unele pachete pot s ntl-
neasc 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 n
totalitate, i apoi elibereaz conexiunea. Din nefericire, fiecare pachet din acest scenariu este dupli-
cat i memorat n subreea. Dup ce conexiunea a fost eliberat, pachetele memorate ies din subre-
ea i ajung la destinatar, cernd bncii s stabileasc o nou conexiune, s fac transferul (nc o
dat) i s elibereze conexiunea. Banca nu poate s tie c acestea sunt duplicate, ea trebuie s pre-
supun 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 nou. Dup ce conexiunea este elibe-
rat, adresa nu mai este folosit. Acest mecanism face ns imposibl modelul cu server de procese
din fig. 6-9.
O alt posibilitate este de a atribui fiecrei conexiuni un identificator (adic, un numr de sec-
ven 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, reprezentate ca
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.
446 NIVELUL TRANSPORT CAP. 6


Din nefericire, aceast schem are un defect important: ea necesit ca fiecare entitate de trans-
port 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 devi-
ne ceva mai uor de rezolvat.
Durata de via a pachetelor poate fi limitat la un maxim cunoscut, folosind una (sau mai mul-
te) 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 iniializa contorul cu o valoare adecvat i n a-l decrementa la trecerea prin orice
nod. Protocolul de nivel reea pur i simplu elimin pachetele al cror contor a devenit zero. A treia
metod presupune ca fiecare pachet s conin timpul crerii sale, ruterele acceptnd s elimine
pachetele mai vechi de un anumit moment de timp, asupra cruia au czut de acord. Aceast meto-
d 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 folosind GPS sau staii radio care transmit periodic ora exact).
n 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 dura-
ta 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 Dalal (1978). Variante ale sale sunt larg folosite n practic, inclusiv n TCP.
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 autoincrementea-
z dup un anumit interval de timp. n plus, numrul de bii ai contorului trebuie s fie cel puin egal
cu numrul de bii al numerelor de secven. n cele din urm, i cel 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 liniar ntre timp i numrul de secven inii-
al este prezentat n fig. 6-10.
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 447

120
80
70
60
0
30 60 90
Timp
(a)
Timp
(b)
120 150 180 0
N
u
m
e
r
e

d
e

s
e
c
v
e
n

N
u
m
e
r
e

d
e

s
e
c
v
e
n

Mesaj
interzis
Repornire dup
cdere cu numr
de secven 70
T
T
2 1
k
R
e
g
i
u
n
e
a
i
n
t
e
r
z
i
s

Numere de
secven folosite
efectiv



Fig. 6-10. (a) TPDU-urile nu pot s intre n regiunea interzis.
(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 trans-
port nu tie unde a rmas n spaiul numerelor de secven. O soluie este de a cere entitii de
transport s stea neocupat 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 pre-
supunem c ceasul este incrementat la fiecare secund. Dup cum arat linia ngroat din fig. 6-
10(a), numrul iniial de secven pentru o conexiune iniiat la momentul x este x. S ne imaginm
c la t=30 sec, unui TPDU trimis pe conexiunea cu numrul 5 (deschis anterior) i se d numrul de
secven 80. S numim acest TPDU X. Imediat dup ce X este trimis, calculatorul gazd cade i re-
vine imediat. La t=60 el redeschide conexiunile de la 0 la 4. La t=70, el deschide conexiunea 5, folo-
sind 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 X va 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 sec-
ven. 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 re-
pede pe o conexiune nou deschis, curba numrului de secven n funcie de timp poate s fie mult
448 NIVELUL TRANSPORT CAP. 6


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 trans-
port 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 (cteva s sau 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 cea-
sului curba numerelor de secven utilizate raportat la timp va ajunge pn la urm n regiunea
interzis din stnga. Cu ct curba numerelor de secven utilizate va fi mai nclinat, cu att mai tr-
ziu 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.
Metoda bazat pe ceasuri rezolv problema duplicatelor ntrziate pentru TPDU-urile de date,
dar pentru ca aceast metod 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 exem-
plu, c, pentru a stabili o conexiune, gazda 1 trimite un mesaj CONNECTION REQUEST coni-
nnd numrul de secven iniial propus i portul destinaie gazdei 2. Acesta va confirma mesajul
trimind napoi un TPDU CONNECTION ACCEPTED . Dac TPDU-ul CONNECTION RE-
QUEST 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 nele-
gere 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-11(a).
Gazda 1 alege un numr de secven x i trimite un TPDU CONNECTION REQUEST care con-
ine x gazdei 2. Gazda 2 rspunde cu CONNECTION ACK, confirmnd x i anunnd numrul su
iniial de secven, y. n cele din urm gazda 1 confirm alegerea lui y 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 ntrziate. n fig. 6-11(b) primul TPDU sosit este o copie ntrzia-
t a unui CONNECTION REQUEST de la o conexiune mai veche. Acest TDU ajunge la gazda 2
fr ca gazda 1 s tie. Gazda 2 rspunde acestui TPDU trimind gazdei 1 un TPDU ACK, verifi-
cnd 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.
n cel mai ru caz, att CONNECTION REQUEST ct i ACK sunt copii ntrziate n subreea.
Acest caz este prezentat n 6-11(c). Ca i n exemplul precedent, gazda 2 primete o comand CON-
NECTION REQUEST ntrziat i rspunde la ea. n acest moment este 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 al doilea TPDU ntrziat 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 ntrziate care s reueasc s iniieze o conexiune atunci cnd
nimeni nu a cerut asta.
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 449


Fig. 6-11. Trei scenarii posibile de stabilire a conexiunii pentru un protocol cu nelegere n trei pai.
CR reprezint CONNECTION REQUEST. (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.
6.2.3 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: elibe-
rare 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.
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
450 NIVELUL TRANSPORT CAP. 6


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.

Fig. 6-12. Deconectare brusc cu pierdere de date. CR= CONNECTION REQUEST,
ACK=CONNECTION ACCEPTED , DR=DISCONNECT REQUEST.

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.
Eliberarea simetric este util atunci cnd fiecare proces are o cantitate fix de date de trimis i
tie bine cnd trebuie s transmit i cnd a terminat. n alte situaii ns, nu este deloc uor de de-
terminat 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 termi-
nat. Ai terminat i tu? Dac gazda 2 rspunde: Da, am terminat. nchidem! conexiunea poate fi eli-
berat n condiii bune.
Din nefericire, acest protocol nu merge ntotdeauna. Binecunoscuta problem a celor dou ar-
mate 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. Da-
c oricare din armatele albastre atac singur, ea va fi nfrnt, dar dac ele atac simultan, atunci
vor fi victorioase.
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 urm-
toarea: exist vreun protocol care s permit armatelor albastre s nving?
S presupunem c comandantul primei armate albastre trimite un mesaj: Propun s atacm pe
29 martie, mesajul ajunge la armata 2 al crei comandant rspunde: De acord iar rspunsul ajun-
ge napoi la armata 1. Va avea loc atacul n acest caz? Probabil c nu, deoarece comandantul arma-
tei 2 nu tie dac rspunsul su a ajuns sau nu la destinaie. Dac nu a ajuns, armata 1 nu va ataca,
deci ar fi o prostie din partea lui s intre n lupt.

SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 451


Fig. 6-13. Problema celor dou armate.

S ncercm s mbuntim protocolul, transformndu-l ntr-unul cu nelegere n trei pai. Iniia-
torul 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. Pn la urm, 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 patru timpi, dar ne-am lovi de aceleai probleme.
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 aseme-
nea 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. Deoa-
rece cel care trimite ultimul mesaj nu poate fi niciodat sigur c mesajul a ajuns, el nu va risca ata-
cnd. 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 sufi-
cient 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 con-
firmare 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 de tip DR
(DISCONNECT REQUEST) pentru a iniia eliberarea conexiunii. Atunci cnd acesta sosete, re-
ceptorul trimite napoi tot un TPDU DR 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 n-
seamn de fapt c entitatea de transport terge din tabelele sale informaia despre conexiunea res-
pectiv din tabela de conexiuni deschise n momentul curent i semnaleaz acest lucru utilizatorului
nivelului transport. Aceast aciune nu este acelai lucru cu apelul unei primitive DISCONNECT de
ctre un utilizator al 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.
452 NIVELUL TRANSPORT CAP. 6



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).

S considerm acum cazul n care cel de-al doilea DR este pierdut: utilizatorul care a iniiat de-
conectarea nu va primi rspunsul ateptat, va atepta un anumit timp i va trimite din nou un DR. 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 DR nu
reuete. Dup N ncercri, emitorul va elibera pur i simplu conexiunea. n acelai timp, i recep-
torul va elibera conexiunea dup expirarea timpului.
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 453

Dei acest protocol este, n general, destul de bun, n teorie el poate s dea gre dac att mesajul
DR iniial ct i N retransmisii ale sale se pierd. Emitorul va renuna i va elibera conexiunea, n
timp ce la cellalt capt nu se tie nimic despre ncercrile de deconectare i aceasta va rmne n
continuare activ. n aceast situaie rezult o conexiune deschis pe jumtate.
Am putea evita aceast problem nepermind emitorului s cedeze dup N rencercri nereu-
ite, 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 infi-
nit. 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.
O alt posibilitate de a scpa de conexiunile pe jumtate deschise este de a aplica o regul de ti-
pul: 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 care va fi repornit la trimiterea oricrui TPDU. La expirarea timpului,
se transmite un TPDU vid, doar pentru a menine conexiunea deschis. Pe de alt parte, 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 fr pierderi de date 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 mo-
dului n care sunt tratate conexiunile ct timp sunt utilizate. Una din problemele cheie a aprut i p-
n 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 cap. 3, cadrele sunt memorate temporar
att de ruterul care emite ct i de cel care recepioneaz. n protocolul 6, de exemplu, att emito-
rul 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, dup cum i se pare mai bine.
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.
454 NIVELUL TRANSPORT CAP. 6


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 posibi-
le 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 con-
firm 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 pro-
blema 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 varia-
z de la cteva caractere tiprite la un terminal, la mii de caractere pentru un transfer de fiiere, or-
ganizarea ca o resurs comun cu tampoane de aceeai dimensiune va pune probleme. Dac dimen-
siunea 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.
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.

Fig. 6-15. (a) Tampoane de dimensiune fix nlnuite. (b) Tampoane de
dimensiune variabil nlnuite. (c) Un tampon circular pentru fiecare conexiune.

Compromisul optim ntre memorarea temporar la surs sau la destinaie depinde de tipul trafi-
cului prin conexiune. Pentru un trafic n rafal cu o band de transfer ngust, ca traficul produs de
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 455

un terminal interactiv, este mai bine ca tampoanele s nu fie prealocate, ci mai curnd, alocate di-
namic. 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 con-
firmat. 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 un
flux de date la vitez maxim. Cu alte cuvinte, pentru un trafic n rafal cu o band de transfer ngus-
t 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.
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 tam-
poanelor 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 cap. 3.
Alocarea dinamic a tampoanelor nseamn, de fapt, o fereastr cu dimensiune variabil. La nce-
put, emitorul trimite cereri pentru un anumit numr de tampoane bazndu-se pe o estimare a ne-
cesitilor. Receptorul i aloc attea tampoane ct i poate permite. De fiecare dat cnd emito-
rul trimite un TPDU, el decrementeaz numrul de tampoane pe care le are alocate la receptor,
oprindu-se cnd acest numr devine zero. Receptorul trimite napoi confirmri i situaia tampoane-
lor alocate, mpreun cu traficul n sens invers.
Fig. 6-16 este un exemplu pentru modul n care administrarea dinamic a ferestrelor poate fi fo-
losit ntr-o subreea cu datagrame, cu numere 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 trimi-
te 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 nu-
mere 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 tam-
pon. 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 cap. 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 in-
formaie 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 tam-
poanelor. n acest fel, A va fi deblocat mai devreme sau mai trziu.
456 NIVELUL TRANSPORT CAP. 6



Fig. 6-16. Alocarea dinamic a tampoanelor. Sgeile indic direcia transmisiei.
Punctele de suspensie (...) indic pierderea unui TPDU.

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.
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 pachete 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 capaci-
tate 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 de-
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 457

terminat pur i simplu numrnd TPDU-urile confirmate ntr-o anumit perioad de timp i rapor-
tnd 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 subreelei i
nu rata mic de emisie. Timpul necesar pentru ca un TPDU transmis s fie confirmat poate fi msu-
rat cu exactitate i media poate fi calculat continuu. Deoarece capacitatea de transport a reelei
disponibil pentru orice flux dat variaz n timp, dimensiunea ferestrei trebuie ajustat frecvent pen-
tru 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 poa-
te fi necesar din mai multe motive. De exemplu, dac doar o singur adres de reea este disponibil
pe o gazd, toate conexiunile transport de pe acea main trebuie s o foloseasc. Cnd un TDPU
sosete este necesar un mod de a spune crui proces trebuie dat. Aceast situaie 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, adresa IP) ctre calculatorul gazd de la distan.

Fig. 6-17. (a) Multiplexare n sus. (b) Multiplexare n jos.

Multiplexarea poate s fie util nivelului transport i din alt motiv, legat de deciziile tehnice i nu
de politica de preuri ca pn acum. S presupunem, de exemplu, c o subreea folosete intern circui-
te virtuale i impune rat de date maxim p fiecare dintre ele. Dac un utilizator are nevoie de mai
mult lime de band dect poate oferi un circuit virtual, o soluie este ca nivelul transport s deschi-
d 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 des-
chise limea de band real este multiplicat cu un factor k. Un exemplu obinuit de multiplexare n
jos apare la utilizatorii care au acas o linie ISDN. Aceast linie pune la dispoziie dou conexiuni
separate de 64 Kbps. Folosirea ambelor pentru apelul unui distribuitor de Internet i mprirea trafi-
cului pe ambele linii, face posibil atingerea unei limi de band efectiv de 128 Kbps.
458 NIVELUL TRANSPORT CAP. 6


6.2.6 Refacerea dup cdere
n cazul n care calculatoarele gazd sau ruterele se ntmpl s cad, recuperarea dup o ast-
fel de cdere devine o problem. Dac entitatea de transport este n ntregime coninut de calcu-
latorul 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 difi-
cultate, 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.
ntr-o ncercare de a reveni n starea sa iniial, serverul ar putea s trimit cereri tuturor celorlal-
te gazde anunnd c tocmai s-a refcut dup o cdere i cernd clienilor s-l informeze despre si-
tuaia tuturor conexiunilor deschise. Fiecare client poate fi n una din urmtoarele stri: un TPDU
neconfirmat (starea S1) sau nici un TPDU neconfirmat (starea S0). 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 S1). Totui, o privire mai
atent descoper dificultile care apar n aceast abordare naiv. S considerm, ca exemplu, situa-
ia n care entitatea de transport de pe server trimite mai nti confirmarea i apoi, dup ce confir-
marea a fost trimis, paseaz datele procesului aplicaie. Trimiterea confirmrii i transferul datelor
procesului aplicaie sunt dou evenimente distincte care nu pot avea loc simultan. Dac o cdere a
serverului are loc dup trimiterea confirmrii, dar nainte de transferul datelor, clientul va primi con-
firmarea i se va afla n starea S0, atunci cnd anunul despre cdere ajunge la el. n acest caz, clien-
tul 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 repro-
gramm entitatea de transport astfel, nct s transfere datele mai nti i s trimit confirmarea du-
p aceea!. S vedem: dac transferul datelor a avut loc, dar serverul cade nainte s trimit confir-
marea, clientul va fi n starea S1, va retransmite i astfel vom avea un TPDU duplicat n fluxul de
date ctre procesul aplicaie.
Oricum ar fi proiectai clientul i serverul, 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. Clientul poate fi programat n patru feluri: s retransmit ntot-
deauna ultimul TPDU, s nu retransmit niciodat, s retransmit numai n starea S0, s retransmi-
t numai n starea S1. Rezult astfel opt combinaii, dar, aa cum vom vedea, pentru fiecare combi-
naie exist o anumit succesiune de evenimente pentru care protocolul nu funcioneaz corect.
La server sunt posibile trei evenimente: trimiterea unei confirmri (A), transferul datelor la pro-
cesul 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
SEC. 6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 459

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.
Se observ c pentru orice strategie exist o secven de evenimente pentru care protocolul nu func-
ioneaz 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.


Fig. 6-18. Combinaiile diferitelor strategii posibile pentru server i client.

ncercarea de a reproiecta mai minuios protocolul nu ajut. Chiar dac clientul i serverul schim-
b 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 transferul da-
telor. Concluzia se impune de la sine: dat fiind condiia de baz ca dou evenimente s nu fie simul-
tane, 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 ni-
velului N nu poate fi fcut dect de ctre nivelul N+1, 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-la-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 actua-
lizeze 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).


460 NIVELUL TRANSPORT CAP. 6


6.3 UN PROTOCOL SIMPLU DE TRANSPORT
Pentru a concretiza ideile discutate, n aceast seciune vom studia n detaliu un exemplu de nivel
transport. Vom utiliza setul abstract de primitive orientate pe conexiune prezentat n fig. 6-2. Alege-
rea acestor primitive orientate pe conexiune face exemplul ales similar cu (dar mai simplu dect)
popularul protocol TCP.
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 sta-
bilirea unei conexiuni. Parametrii sunt TSAP-ul local i cel aflat la distan. n timpul apelului, ape-
lantul este blocat n timp ce entitatea de transport ncearc s stabileasc conexiunea. Dac conexiu-
nea reuete, apelantul este deblocat i poate s nceap s transmit date.
Atunci cnd un proces dorete s accepte conexiuni, el face un apel listen 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-ul 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 la 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 listen 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 deco-
nectat, conexiunea este eliberat. Cu alte cuvinte, folosim un model 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 send care trimite datele i un apel pasiv receive care blocheaz pn
cnd sosete un TPDU.
Definiia concret a serviciului const astfel din cinci primitive: CONNECT, LISTEN, DIS-
CONNECT, SEND i RECEIVE. Fiecare primitiv corespunde unei funcii de bibliotec care exe-
cut acea primitiv. Parametrii pentru primitive i funciile de bibliotec sunt:

connum = LISTEN(local)
connum = CONNECT (local, remote)
status = SEND(connum, buffer, bytes)
status = RECEIVE(connum, buffer, bytes)
status = DISCONNECT(connum)

Primitiva LISTEN anun disponibilitatea serverului de a accepta cereri de conexiune la TSAP-
ul indicat. Utilizatorul primitivei este blocat pn cnd se face o ncercare de conectare la TSAP-ul
specificat. Blocarea poate s fie definitiv.
SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 461

Primitiva CONNECT are doi parametri, un TSAP local (adic o adres la nivel transport) i un
TSAP aflat la distan i ncearc s stabileasc o conexiune ntre acestea dou. Dac reuete, ea
ntoarce connum, un numr nenegativ utilizat pentru a identifica conexiunea. Dac nu reuete, mo-
tivul 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. Alte cteva 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-l n mai multe uniti, dac este nevoie. 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 me-
sajului este plasat n cmpul bytes. Dac procesul aflat la distan a eliberat conexiunea sau dac
adresa pentru tampon este incorect (de exemplu, n afara spaiului de adrese al programului utiliza-
tor), 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 identifica-
tor valid de conexiune. Codul de eroare sau 0 pentru succes sunt returnate n status.
6.3.2 Entitatea de transport aleas ca exemplu
nainte de a studia programul aferent entitii de transport, trebuie spus c acesta este un exem-
plu similar celor din cap. 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-uri.
Trebuie s alegem primitivele serviciului reea pe care le vom utiliza pentru acest exemplu. O posibi-
litate ar fi fost: un serviciu datagram nesigur. Pentru a pstra simplitatea exemplului, nu am fcut
aceast alegere. 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. i n
plus, cea mai mare parte a acestor idei au fost deja discutate n cap. 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 al calculatorului gaz-
d sau poate s fie un pachet de funcii de bibliotec n spaiul de adrese utilizator. Pentru simplitate,
exemplul nostru a fost programat ca i cum entitatea de transport ar fi un pachet de funcii de biblio-
tec, dar schimbrile necesare pentru a o face parte a sistemului de operare sunt minime (fiind n
principal legate de modul cum sunt adresate tampoanele).
Totui merit remarcat faptul c, n acest exemplu, entitatea de transport nu este o entitate se-
parat, 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 arhitec-
tur este potrivit pentru un calculator gazd cu un singur proces utilizator, pentru un calculator gaz-
d cu mai muli utilizatori este normal ca entitatea de transport s fie un proces separat, distinct de
toate celelalte procese.
462 NIVELUL TRANSPORT CAP. 6


Interfaa cu nivelul reea se face prin intermediul procedurilor to_net i from_net. Fiecare are a-
se 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.

Tip pachet Explicaii
CALL_ REQUEST Trimis pentru a stabili conexiunea
CALL_ACCEPTED Rspuns la CALL_ REQUEST
CLEAR_REQUEST Trimis pentru a elibera conexiunea
CLEAR_CONFIRMATION Rspuns la CLEAR_REQUEST
DATA Pentru transport de date
CREDIT Pachet de control pentru gestionarea ferestrei

Fig. 6-19. Tipurile de pachete folosite la nivel reea.

La apelurile to_net, entitatea de transport completeaz toi parametrii pentru ca nivelul reea s-i
poat citi; la apelurile from_net 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.
Dac entitatea de transport ncearc s trimit un pachet atunci cnd fereastra glisant corespunz-
toare a circuitului virtual este plin, ea va fi blocat ntr-un apel to_net pn cnd va fi spaiu n fe-
reastr. Mecanismul este transparent pentru entitatea de transport i este controlat de nivelul reea
prin comenzi ca enable_transport_layer i disable_transport_layer, analoage celor descrise n protocoa-
lele din cap. 3. Gestionarea ferestrei de pachete este de asemenea fcut de ctre nivelul reea.
Pe lng acest mecanism transparent de suspendare mai exist dou proceduri (care nu sunt pre-
zentate aici), 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 pa-
chet. Dup ce a fost apelat sleep, 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 urm-
toarele apte stri:

1. IDLE - conexiunea nu a fost nc stabilit
2. WAITING - a fost executat CONNECT i trimis: CALL_REQUEST
3. QUEUED - a sosit un CALL_REQUEST, nu a fost executat nc nici un apel LISTEN
4. ESTABLISHED - conexiunea a fost stabilit
5. SENDING - utilizatorul ateapt permisiunea de a trimite un pachet
6. RECEIVING - a fost apelat RECEIVE
7. 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 exe-
cutat o primitiv, sosete un pachet sau expir un interval de timp stabilit.
Procedurile prezentate n fig. 6-20 sunt de dou tipuri. Majoritatea sunt apelate direct de ctre
programele utilizator, totui packet_arrival i clock sunt diferite. Execuia lor este declanat de eve-
nimente externe: sosirea unui pachet i, respectiv, avansul ceasului. Ele sunt de fapt rutine de ntre-
rupere. Vom presupune c acestea nu sunt niciodat apelate att timp ct ruleaz o alt procedur a
entitii de transport. Acestea pot fi executate numai atunci cnd procesul utilizator este n ateptare
sau att timp ct el ruleaz n afara entitii de transport. Aceast proprietate este crucial pentru
funcionarea corect a entitii de transport.
SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 463

#define MAX_CONN 32 /* numrul maxim de conexiuni deschise simultan */
#define MAX_MSG_SIZE 8192 /* dimensiunea maxim a unui mesaj n octei */
#define MAX_PKT_SIZE 512 /* dimensiunea maxim a unui pachet n octei */
#define TIMEOUT 20
#define CRED 1
#define OK 0

#define ERR_FULL -1
#define ERR_REJECT -2
#define ERR_CLOSED -3
#define LOW_ERR -3

typedef int transport_address;
typedef enum {CALL_REQ,CALL_ACC, CLEAR_REQ, CLEAR_CONF, DATA_PKT,CREDIT}
pkt_type;
typedef enum {IDLE, WAITING, QUEUED, ESTABLISHED, SENDING, RECEIVING, DISCONN}
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_address, remote_address;
cstate state; /* starea conexiunii */
unsigned char *user_buf_addr; /* pointer la tamponul 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 + 1] /* poziia 0 nu e folosit */

/* prototipuri */
void sleep(void);
void wakeup(void);
void to_net(int cid, int q, int *m, pkt_type pt, unsigned char *p, int bytes);
void from_net(int *cid, int *q, int *m, pkt_type *pt,unsigned char *p, int *bytes);

int listen (transport_address t)
{
/* Utilizatorul vrea stabileasc o conexiune. Trebuie vzut daca CALL_REQ a sosit deja */
int i, found=0;

for (i=1; 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; sleep(); i = listen_conn;
}
conn[i].state = ESTABLISHED; /* conexiunea este stabilit */
464 NIVELUL TRANSPORT CAP. 6


conn[i].timer = 0 /* ceasul nu este folosit */
listen_conn = 0; /* 0 este presupus a fi o adres invalid */
to_net(i, 0, 0, CALL_ACC, 0); /* spune niv. reea s accepte cererea de conexiune */
return(i); /* ntoarce identificatorul conexiunii */
}

int connect (transport_address l, transport_address r)
{ /* Utilizatorul dorete s stabileasc o conexiune cu un proces aflat
la distan; se trimite un pachet CALL_REQ */
int i;
struct conn *cptr;

data[0] = r; /* pachetul CALL_REQ are nevoie de acestea */
data[1] = l;
i = MAX_CONN; /* caut n tabel napoi */
while (conn[i].state != IDLE && i>1) i = i-1;
if (conn[i].state == IDLE) { /* Face o intrare n tabel */
cptr = &conn[i];
cptr->local_address = l;;
cptr->remote_address = r;
cptr->state = WAITING;
cptr->clr_req_received = 0;
cptr->credits = 0;
cptr->timer = 0;
to_net(i, 0, 0, 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(i, 0, 0, CLEAR_CONF, data, 0);
return(ERR_REJECT);
}
}
else return (ERR_FULL) /* conexiunea este refuzat: insuficient spaiu n tabele */
}

int send (int cid, unsigned char bufptr[], 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) sleep();
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 */
SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 465

} else { /* un mesaj format dintr-un pachet */
count = bytes cptr->byte->count;
m=0; /* ultimul pachet al acestui mesaj */
}
for (i=0; i<count; i++) data[i]= bufptr[cptr->byte_count+1];
to_net(cid, 0, m,DATA_PKT, data, count); /* trimite un pachet */
cptr->byte_count=cptr->byte_count + count; /* incrementeaz nr. octeilor trimii */
} while (cptr->byte_count < bytes); /* cicleaz pn cnd ntregul mesaj este trimis */
cptr->credits--; /* fiecare mesaj folosete un credit */
cptr->state = ESTABLISHED;
return(OK);
} else { cptr->state = ESTABLISHED;
return(ERR_CLOSED); /* ntoarce insucces: cellalt capt vrea s se deconecteze */
}
}

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 == 0) { /* Conexiunea nc stabilit; ncearc s recepioneze */
cptr->state = RECEIVING;
cptr->user_buf_addr = bufptr;
cptr->byte_count = 0;
data[0] = CRED;
data[1] = 1;
to_net(cid, 1, 0, CREDIT, data, 2); /* trimite CREDIT */
sleep(); /* 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_REQ, data, 0);
}
return (OK);
}

void packet_arrival (void)
{ /* A sosit un pachet; urmeaz prelucrarea lui */
int cid; /* conexiunea pe care a sosit pachetul */
466 NIVELUL TRANSPORT CAP. 6


int count, i q, m;
pkt_type ptype; /* CALL_REQ, CALL_ACC, CLEAR_REQ,
CLEAR_CONF, DATA_PKT, CREDIT */
unsigned char data [MAX_MKT_SIZE]; /* date din pachetul care sosete */
struct conn *cptr;

from_net(&cid, &q, &ptype, 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[1];
if (cptr->local_address == listen_address) {
listen_conn = cid;
cptr->state = ESTABLISHED;
wakeup();
} else {
cptr->state = QUEUED;
cptr->timer = TIMEOUT;
}
cptr->clr_req_received = 0;
cptr->credits = 0;
break;

case CALL_ACC: /* utilizatorul de la distan a acceptat CALL_REQ trimis */
cptr->state = ESTABLISHED;
wakeup();
break;

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) wakeup();
break;

case CLEAR_CONF: /* utilizatorul de la distan accept deconectarea */
cptr->state = IDLE;
break;

case CREDIT: /* utilizatorul de la distan ateapt date */
cptr->credits +=data[1];
if (cptr->state == SENDING) wakeup();
break;

case DATA_PKT: /* au fost trimise date */
for (i=0; i<count; i++)
cptr->user_buff_addr[cptr->byte_count + i] = data[i];
cptr->byte_count += count;
if (m == 0) wakeup();
}
}

SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 467

void clock( void)
{ /* la fiecare interval de timp al ceasului se verific eventualele
depiri ale timpilor de ateptare pentru cererile aflate n starea QUEUED */
int i;
struct conn *cptr;

for (i=1; i<=MAX_CONN, i++) {
cptr = &conn[i];
if (cptr->timer > 0) { /* ceasul funciona */
cptr->timer --;
if (cptr->timer == 0) { /* timpul a expirat */
cptr->state = IDLE;
to_net(i, 0, 0, CLEAR_REQ, data, 0);
}
}
}
}
Fig. 6-20. Entitatea de transport aleas ca exemplu.

Existena bitului Q n antetul pachetului ne permite s evitm timpul suplimentar introdus de an-
tetul protocolului de transport. Mesajele de date obinuite sunt trimise ca pachete de date cu Q=0.
Mesajele legate de protocolul de transport, dintre care exist numai unul (CREDIT) n exemplul
nostru, sunt trimise ca pachete de date cu Q=1. Aceste mesaje de control sunt detectate i prelucra-
te de entitatea de transport receptoare.
Structura de date de baz folosit de entitatea de transport este vectorul conn, care are cte o n-
registrare pentru fiecare conexiune posibil. n nregistrare sunt meninute starea conexiunii, inclu-
znd adresa de nivel transport la fiecare capt, numrul de mesaje trimise i recepionate pe conexi-
une, 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, i un contor folosit pentru a permite transmiterea mesajelor. Nu toate aceste cmpuri sunt fo-
losite 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
CALL_REQUEST ctre maina de la distan i utilizatorul este blocat. Atunci cnd pachetul
CALL_REQUEST ajunge de partea cealalt, entitatea de transport este ntrerupt pentru a executa
packet_arrival, 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 cu un pachet CLEAR_REQUEST ca s nu fie blocat pe
timp nedefinit.
Dei am eliminat antetul pentru protocolul de transport, tot mai trebuie gsit o modalitate pen-
tru a determina crei conexiuni transport i aparine un anumit pachet, deoarece pot exista simultan
mai multe conexiuni. 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 in-
dex n vectorul conn. Atunci cnd un pachet sosete pe circuitul virtual k la nivel reea, el i va apari-
ne conexiunii k a crei stare este pstrat n conn[k]. La iniierea unei conexiuni, numrul de cone-
468 NIVELUL TRANSPORT CAP. 6


xiune este ales de entitatea de transport care a iniiat-o. Pentru cererile 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 meca-
nism de gestiune a fluxului diferit de fereastra glisant tradiional. 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 dac
a sosit vreun credit pe conexiunea respectiv. Dac da, mesajul este trimis (chiar i n mai multe pa-
chete, 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 cealal-
t parte a apelat deja RECEIVE. Ca rezultat, ori de cte ori sosete un mesaj, exist cu siguran un
tampon disponibil pentru el. Aceast schem poate fi uor generalizat pentru a permite receptori-
lor s ofere tampoane multiple i s cear mai multe mesaje.
Trebuie reinut simplitatea codului din fig. 6-20. O entitate de transport real ar verifica n mod
normal validitatea tuturor parametrilor furnizai de utilizator, ar putea s revin dup cderea ree-
lei, 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
SEND i RECEIVE.
6.3.3 Exemplul vzut ca un automat finit
Scrierea unei entiti de transport este o munc dificil i riguroas, n special pentru protocoale-
le 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 schim-
ba 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 pre-
dicat, o aciune i o nou stare. Predicatul indic condiiile n care aciunea este executat. De exem-
plu, pentru intrarea din colul stnga-sus, dac este executat un LISTEN i nu mai exist spaiu n
tabele (predicatul P1), atunci LISTEN eueaz i starea rmne aceeai. Pe de alt parte, dac un
pachet CALL_REQUEST a sosit deja la adresa de nivel transport la care se face LISTEN (predica-
tul P2), atunci conexiunea este stabilit imediat. O alt posibilitate este ca P2 s fie fals, adic nici un
CALL_REQUEST nu a fost primit, caz n care conexiunea rmne n starea IDLE n ateptarea unui
pachet CALL_REQUEST.
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 fi putut 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 la un apel LISTEN nu se creeaz nici o intrare n tabel. De ce?
Pentru c am decis s folosim identificatorii circuitelor virtuale de la nivel reea ca identificatori pen-
tru conexiune i, pentru un apel LISTEN, numrul circuitului virtual este n cele din urm ales de
nivelul reea atunci cnd sosete un CALL_REQUEST.
SEC. 6.3 UN PROTOCOL SIMPLU DE TRANSPORT 469

Aciunile de la A1 la A12 sunt aciuni importante, precum trimiterea pachetelor sau rearmarea
ceasurilor. Nu sunt menionate toate aciunile minore, cum ar fi iniializarea unor cmpuri ale nre-
gistrrii 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_RE-
QUEST 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.
LISTEN
Idle Waiting Queued Established
Stare
Sending Receiving Disconnecting
CONNECT
DISCONNECT
SEND
RECEIVE
Call_req
Call_acc
Clear_req
Clear_conf
DataPkt
Credit
Timeout
Predicate
P1: Tabela de conexiuni plin
P2: Cerere de conexiune n
a teptare
P3: Apel LISTEN n a teptare
P4: Pachet Clear_req n
a teptare
P5: Credit disponibil
Ac iuni
A1: Trimite Call_acc
A2: A teapt Call_req
A3: Trimite Call_req
A4: Porne te ceasul
A5: Trimite Clear_conf
A6: Trimite Clear_req

A7: Trimite mesaj
A8: A teapt credit
A9: Trimite credit
A10: Seteaz indicator
Clr_req_received

A11: nregistreaz credit


A12: Accept mesajul
P1: ~1/Idle
P2: A1/Estab
P2: A2/Idle
P
a
c
h
e
t
e

s
o
s
i
t
e
C
e
a
s
P
r
i
m
i
t
i
v
e
~/Estab
P1: ~/Idle
P1: A3/Wait
P4: A5/Idle
P4: A6/Disc
P5: A7/Estab
P5: A8/Send
A9/Receiving
P3: A1/Estab
P3: A4/Que'd
~/Estab
~/Idle ~/Idle
~/Idle
A10/Estab A10/Estab A10/Estab
A12/Estab
A11/Estab A7/Estab

~/Idle

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.
470 NIVELUL TRANSPORT CAP. 6


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/ aciu-
ne. 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 numai ilegale. De exemplu, dac o
conexiune este n starea WAITING, evenimentul DISCONNECT 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 deoa-
rece 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 sta-
rea i evenimentul, entitatea de transport nu face dect s acceseze vectorul act i s apeleze proce-
dura adecvat. Aceast abordare ar conduce la o arhitectur mult mai regulat i mai simetric de-
ct 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. Trece-
rea de la acest tip de descriere la o entitate de transport funcional este mult mai uoar dac enti-
tatea de transport este i ea modelat cu ajutorul unui automat finit.

Fig. 6-22. Protocolul dat ca exemplu, n reprezentare grafic. Pentru simplificare,
tranziiile care las starea conexiunii nemodificat au fost omise.
SEC. 6.4 PROTOCOALE DE TRANSPORT PRIN INTERNET: UDP 471

Cel mai important dezavantaj este c aceast abordare poate s fie mai dificil de neles dect
metoda direct pe care am utilizat-o la 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.


6.4 PROTOCOALE DE TRANSPORT PRIN IN-
TERNET: UDP
Internet-ul are dou protocoale principale n nivelul de transport: unul neorientat pe conexiune
i unul orientat pe conexiune. n urmtoarele seciuni o s le studiem pe ambele. Protocolul neorien-
tat pe conexiune se numete UDP. Protocolul orientat pe conexiune se numete TCP. O s ncepem
cu UDP-ul deoarece n esen este la fel ca IP-ul cu un mic antet adugat. De asemeni, o s studiem
i dou aplicaii ale UDP-ului.
6.4.1 Introducere n UDP
Setul de protocoale Internet suport un protocol de transport fr conexiune, UDP (User Proto-
col Protocol cu Datagrame Utilizator). UDP ofer aplicaiilor o modalitate de a trimite datagrame
IP ncapsulate i de a le transmite fr a fi nevoie s stabileasc o conexiune. UDP este descris n
RFC 768.
UDP transmite segmente constnd ntr-un antet de 8 octei urmat de informaia util . Antetul
este prezentat n fig. 6-23. Cele dou porturi servesc la identificarea punctelor terminale ale maini-
lor surs i destinaie. Cnd ajunge un pachet UDP, coninutul su este predat procesului ataat por-
tului destinaie. Aceast ataare are loc atunci cnd se folosete o simpl procedur de nume sau
ceva asemntor, aa cum am vzut n fig. 6-6 pentru TCP (procesul de legtur este acelai pentru
UDP). De fapt, valoarea cea mai important dat de existena UDP-ului fa de folosirea doar a IP-
ului simplu, este aceea a adugrii porturilor surs i destinaie. Fr cmpurile portului, nivelul de
transport nu ar ti ce s fac cu pachetul. Cu ajutorul lor, segmentele se livreaz corect.

Fig. 6-23. Antetul UDP.

Portul surs este n primul rnd necesar atunci cnd un rspuns trebuie transmis napoi la surs.
Prin copierea cmpului port surs din segmentul care sosete n cmpul port destinaie al segmentu-
lui care pleac, procesul ce trimite rspunsul specific ce proces de pe maina de trimitere urmeaz
s-l primeasc.
Cmpul lungime UDP include antetul de 8 octei i datele. Cmpul sum de control UDP este op-
ional i stocat ca 0 (zero) dac nu este calculat (o valoare de adevr 0 rezultat n urma calculelor
472 NIVELUL TRANSPORT CAP. 6


este memorat ca un ir de bii 1). Dezactivarea acestuia este o prostie, excepie fcnd cazul n care
calitatea informaiei chiar nu conteaz (de exemplu, transmisia vocal digitalizat).
Merit probabil menionate, n mod explicit, unele dintre lucrurile pe care UDP-ul nu le face. Nu
realizeaz controlul fluxului, controlul erorii, sau retransmiterea unui segment incorect primit. Toate
acestea depind de procesele utilizatorului. Ceea ce face este s ofere protocolului IP o interfa cu
faciliti adugate de demultiplexare a mai multor procese, folosind porturi. Aceasta este tot ceea ce
face UDP-ul. Pentru aplicaiile care trebuie s aib un control precis asupra fluxului de pachete,
controlului erorii sau cronometrarea, UDP-ul furnizeaz doar ceea ce a ordonat doctorul.
Un domeniu unde UDP-ul este n mod special util este acela al situaiilor client-server. Deseori,
clientul trimite o cerin scurt server-ului i ateapt napoi un rspuns scurt. Dac se pierde ori
cererea ori rspunsul, clientul poate pur i simplu s ncerce din nou dup ce a expirat timpul. Nu
numai c va fi mai simplu codul, dar sunt necesare i mai puine mesaje (cte unul n fiecare direc-
ie) dect la un protocol care solicit o iniializare iniial.
O aplicaie care folosete UDP-ul n acest fel este DNS (Domain Name System, rom: Sistem de
rezolvare de nume), pe care l vom studia n cap. 7. Pe scurt, un program care trebuie s caute adre-
sele de IP ale unor nume gazd, de exemplu www.cs.berkley.edu , poate trimite un pachet UDP, con-
innd numele gazd, ctre un server DNS. Serverul rspunde cu un pachet UDP coninnd adresa
de IP a gazdei. Nu este necesar nici o iniializare n avans i nici o nchidere de sesiune. Doar dou
mesaje traverseaz reeaua.
6.4.2 Apel de procedur la distan (Remote Procedure Call)
ntr-un anume sens, trimiterea unui mesaj ctre o staie la distan i primirea napoi a unui rs-
puns seamn mult cu realizarea unei funcii de apel ntr-un limbaj de programare. n ambele cazuri
se ncepe cu unul sau mai muli parametri i se primete napoi un rezultat. Aceast observaie le-a
fcut pe unele persoane s ncerce s organizeze interaciunile cerere-rspuns n reele pentru a fi
puse mpreun sub forma apelurilor procedurale. Un astfel de aranjament face aplicaiile de reea
mai uor programabile i mai abordabile. De exemplu, imaginai-v doar procedura numit
get_IP_address(host_name) care funcioneaz prin trimiterea unui pachet UDP ctre un server DNS
i ateptarea rspunsului, cronometrnd i ncercnd nc o dat, dac rspunsul nu apare suficient
de rapid. n acest fel, toate detaliile de reea pot fi ascunse programatorului.
Efortul cel mai important n acest domeniu a fost depus de ctre Birell i Nelson (1984). Rezu-
mnd, ce au sugerat Birell i Nelson a fost s permit programelor s apeleze proceduri localizate pe
staii aflate la distan. Cnd procesul de pe maina 1 invoc o procedur de pe maina 2, procesul
apelant de pe prima main este suspendat i execuia procedurii invocate are loc pe cea de-a doua.
Informaia poate fi transportat de la cel care apeleaz la cel care este apelat n parametri i se poate
ntoarce n rezultatul procedurii. Nici un transfer de mesaje nu este vizibil pentru programator. Teh-
nica este cunoscut sub numele de RPC (Remote Procedure Call , rom: Apel de procedur la distan-
), i a devenit baza pentru multe aplicaii de reea. n mod tradiional, procedura care apeleaz este
cunoscut ca fiind clientul i procedura apelat ca fiind serverul i vom folosi aceste denumiri i aici.
Ideea din spatele RPC-ului este aceea de a face un apel de procedur la distan s arate pe ct
posibil ca unul local. n forma cea mai simpl, pentru apelarea unei proceduri la distan, programul
client trebuie sa fie legat cu o mic procedur de bibliotec, numit client stub (rom: ciot), care re-
prezint procedura server-ului n spaiul de adres al clientului. n mod similar, serverul este legat cu
SEC. 6.4 PROTOCOALE DE TRANSPORT PRIN INTERNET: UDP 473

o procedur numit server stub . Aceste proceduri ascund faptul c apelul de procedur de la client
la server nu este local.
Paii efectivi ai realizrii unui RPC sunt prezentai n fig. 6-24. Pasul 1 este cel n care clientul
apeleaz stub-ul client. Acest apel este un apel de procedur local, cu parametrii introdui n stiv
n modul obinuit. Pasul 2 const n mpachetarea parametrilor de ctre stub-ul client ntr-un mesaj
i realizarea unui apel de sistem pentru a trimite mesajul. mpachetarea parametrilor este denumit
marshaling (rom: mpachetare). Pasul 3 const n faptul c nucleul sistemului de operare trimite un
mesaj de la maina client la maina server. Pasul 4 const n trimiterea de ctre nucleu a pachetelor
care sosesc la stub-ul server. n sfrit, pasul 5 const n faptul c stub-ul server apeleaz procedura
server cu parametrii despachetai. Rspunsul urmeaz aceeai cale i n cealalt direcie.

Fig. 6-24. Paii pentru a crea un apel de procedur la distan. Stub-urile sunt haurate.

Elementul cheie de reinut aici este acela c procedura client, scris de ctre utilizator, doar face
un apel normal de procedur (adic local) ctre stub-ul client, care are acelai nume cu procedura
server. Cum procedura client i stub-ul client se gsesc n acelai spaiu de adres, parametrii sunt
transferai n modul obinuit. n mod asemntor, procedura server este apelat de o procedur din
spaiul su de adres cu parametrii pe care i ateapt. Pentru procedura server nimic nu este neo-
binuit. n felul acesta, n loc ca intrarea/ieirea s se fac pe socluri, comunicaia de reea este reali-
zat imitnd o procedur de apelare normal.
n ciuda eleganei conceptului de RPC, sunt civa erpi care se ascund prin iarb. Unul mare
este utilizarea parametrilor pointer. n mod normal, transmiterea unui pointer ctre procedur nu
este o problem. Procedura apelat poate folosi pointer-ul n acelai mod n care poate s o fac i
cel care o apeleaz, deoarece ambele proceduri se gsesc n acelai spaiu de adrese virtuale. Cu
RPC-ul, transmiterea pointer-ilor este imposibil deoarece clientul i server-ul se gsesc n spaii de
adres diferite.
n anumite cazuri, se pot folosi unele trucuri pentru a face posibil transmiterea pointer-ilor. S
presupunem c primul parametru este un pointer ctre un ntreg, k. Stub-ul client poate mpacheta
variabila k i s o trimit server-ului. Atunci, server stub creeaz un pointer ctre k i-l transmite pro-
cedurii server, exact aa cum aceasta se ateapt. Cnd procedura server cedeaz controlul server
stub, acesta din urm trimite variabila k napoi clientului, unde noul k este copiat peste cel vechi, n
caz c serverul l-a schimbat. n fapt, secvena standard de apelare apel-prin-referin a fost nlocuit
474 NIVELUL TRANSPORT CAP. 6


de copiaz-restaureaz (eng.: copy-restore). Din pcate, acest truc nu funcioneaz ntotdeauna, de
exemplu dac un pointer este ctre un grafic sau alt structur complex de date. Din acest motiv,
trebuie puse anumite restricii asupra parametrilor procedurilor apelate la distan.
O a doua problem este aceea c n limbajelor mai puin bazate pe tipuri, cum ar fi C-ul, este per-
fect legal s scrii o procedur care calculeaz produsul scalar a doi vectori, fr a specifica dimensiunea
vreunuia dintre ei. Fiecare poate fi terminat printr-o valoare special cunoscut doar de ctre procedu-
ra apelat i de cea apelant. n aceste condiii, n mod cert este imposibil pentru stub-ul client s mpa-
cheteze parametrii: nu are nici o modalitate de a determina ct de mult spaiu ocup acetia.
O a treia problem este aceea c nu ntotdeauna este posibil deducerea tipurilor parametrilor,
nici mcar dintr-o specificaie formal sau din cod n sine. Un exemplu este printf, care poate avea
orice numr de parametri (cel puin unul), iar parametrii pot fi o combinaie arbitrar a tipurilor
ntregi, short, long, caractere, iruri, numere n virgul mobil de diferite lungimi i alte tipuri. A
ncerca s invoci printf ca procedur cu apel la distan ar fi practic imposibil, deoarece C-ul este
prea permisiv. Totui, o regul care s spun c RPC-ul poate fi folosit cu condiia s nu programezi
n C (sau C++) nu ar fi prea popular.
O a patra problem este legat de utilizarea variabilelor globale. n mod normal, procedura de
apelare i cea care este apelat pot comunica folosind variabilele globale, n plus fa de comunica-
rea prin parametri. Dac procedura apelat este mutat acum pe o main la distan, codul va da
erori deoarece variabilele globale nu mai sunt partajate.
Aceste probleme nu sunt menite s sugereze c RPC-ul este lipsit de anse. De fapt, este larg fo-
losit, dar sunt necesare anumite restricii pentru a-l face s funcioneze bine n practic.
Desigur, RPC-ul nu are nevoie s foloseasc pachete UDP, dar RPC i UDP se potrivesc bine, i
UDP este uzual folosit pentru RPC. Totui, cnd parametrii sau rezultatele pot s fie mai mari dect
pachetul maxim UDP sau atunci cnd operaia cerut nu este idempotent (adic nu poate fi repeta-
t n siguran, ca de exemplu atunci cnd se incrementeaz un contor), poate fi necesar stabilirea
unei conexiuni TCP i trimiterea cererii prin aceasta, n loc s se foloseasc UDP-ul.
6.4.3 Protocolul de transport n timp real Real-Time Transport Protocol
RPC-ul client-server este un domeniu n care UDP este mult folosit. Un alt domeniu este acela
al aplicaiilor multimedia n timp real. n particular, avnd n vedere c radioul pe internet, telefonia
pe Internet, muzica la cerere, video-conferinele, video la cerere i alte aplicaii multimedia au deve-
nit mai rspndite, oamenii au descoperit c fiecare aplicaie a folosit, mai mult sau mai puin, ace-
lai protocol de transport n timp real. Treptat a devenit clar faptul c un protocol generic de trans-
port n timp real, pentru aplicaii multimedia, ar fi o idee bun. Aa a luat natere RTP-ul (Real-time
Transport Protocol, rom: Protocol de transport n timp real). Este descris n RFC 1889 i acum este
folosit pe scar larg.
Poziia RTP-ului n stiva de protocoale este oarecum ciudat. S-a hotrt s se pun RTP-ul n
spaiul utilizator i s se ruleze (n mod normal) peste UDP. El funcioneaz dup cum urmeaz.
Aplicaiile multimedia constau n aplicaii audio, video, text i posibil alte fluxuri. Acestea sunt trimi-
se bibliotecii RTP, care se afl n spaiul utilizator mpreun cu aplicaia. Apoi, aceast bibliotec
multiplexeaz fluxurile i le codeaz n pachete RTP, pe care apoi le trimite printr-un soclu. La cel-
lalt capt al soclului (n nucleul sistemului de operare), pachete UDP sunt generate i ncapsulate n
pachete IP. Dac computer-ul se gsete ntr-o reea Ethernet, pachetele IP sunt puse apoi n cadre
SEC. 6.4 PROTOCOALE DE TRANSPORT PRIN INTERNET: UDP 475

Ethernet, pentru transmisie. Stiva de protocoale pentru aceast situaie este prezentat n fig. 6-25
(a). ncapsularea pachetului este prezentat n fig. 6-25 (b).

Fig. 6-25. (a)Poziionarea Protocolului RTP n stiva de protocoale. (b) ncapsularea pachetului.

Ca o consecin a acestei proiectri, este cam dificil de spus n ce nivel este RTP-ul. Cum ruleaz
n spaiul utilizator i este legat la programul aplicaie, n mod cert arat ca un protocol de aplicaie.
Pe de alt parte, este un protocol generic independent de aplicaie, care doar furnizeaz faciliti de
transport, astfel nct arat totodat ca un protocol de transport. Probabil c cea mai potrivit de-
scriere este aceea c este un protocol de transport care este implementat la nivelul aplicaie.
Funcia de baz a RTP-ului este multiplexarea mai multor fluxuri de date n timp real ntr-un
singur flux de pachete UDP. Fluxul UDP poate fi transmis ctre o singur destinaie (unicasting) sau
ctre destinaii multiple (multicasting). Deoarece RTP-ul folosete numai UDP normal, pachetele
sale nu sunt tratate n mod special de ctre rutere, dect dac sunt activate anumite faciliti de cali-
tate a serviciilor din IP. n particular, nu exist garanii speciale referitoare la livrare, bruiaj etc.
Fiecrui pachet trimis n fluxul RTP i se d un numr cu unu mai mare dect al predecesorului
su. Aceast numerotare permite destinaiei s stabileasc dac lipsesc unele pachete. Dac un pa-
chet lipsete, cea mai bun decizie ce poate fi luat de ctre destinaie este de a aproxima valoarea
lips prin interpolare. Retransmiterea nu este o opiune practic avnd n vedere c pachetul retran-
smis va ajunge probabil prea trziu pentru a fi util. Ca o consecin, RTP-ul nu are control al fluxu-
lui, control al erorii, nu are confirmri i nu are mecanism pentru a cere retransmiterea.
Fiecare informaie util din RTP poate s conin mostre multiple i ele pot fi codate n orice
mod dorete aplicaia. Pentru a permite compatibilitatea , RTP-ul definete mai multe profiluri (de
exemplu un singur flux audio) i pentru fiecare profil pot fi permise multiple formate de codare. De
exemplu, un singur flux audio poate fi codat ca mostre de 8 bii PCM la 8 KHz, codare delta, codare
previzibil, codare GSM, MP3 i aa mai departe. RTP-ul furnizeaz un cmp antet n care sursa
poate specifica codarea, dar altfel nu este implicat n modul n care este fcut codarea.
O alt facilitate de care au nevoie multe aplicaii multimedia este stabilirea amprentei de timp.
Aici ideea este de a permite sursei s asocieze o amprent de timp cu prima mostr din fiecare pa-
chet. Amprentele de timp sunt relative la nceputul fluxului, aa c numai diferenele dintre acestea
sunt semnificative. Valorile absolute nu au nici o semnificaie. Acest mecanism permite destinaiei s
foloseasc zone tampon de dimensiuni mici i s reproduc fiecare eantion la numrul corect de
milisecunde dup nceputul fluxului, independent de momentul n care ajunge pachetul ce conine
eantionul. Stabilirea amprentelor de timp nu numai c reduce efectele bruiajului, ci permite de
asemenea mai multor fluxuri s se sincronizeze ntre ele. De exemplu, un program de televiziune
476 NIVELUL TRANSPORT CAP. 6


digital poate avea un flux video i dou fluxuri audio. Cele dou fluxuri audio pot fi pentru emisiuni
stereo sau pentru a permite filmelor s fie manipulate cu o coloan sonor n limba original i o
coloan sonor dublat n limba local, oferind o alegere celui care vede. Fiecare flux provine dintr-
un dispozitiv fizic diferit, dar dac sunt stabilite amprentele de timp de ctre un singur contor, ele
pot fi redate sincronizat, chiar dac fluxurile sunt transmise ntr-un mod dezordonat.
Antetul RTP este ilustrat n fig. 6-26. Acesta const din trei cuvinte de 32 bii i eventual unele
extensii. Primul cuvnt conine cmpul Versiune, care este deja la 2. S sperm c aceast versiune
este foarte asemntoare cu ultima versiune deoarece a mai rmas aici doar un punct de cod (dei 3
ar putea fi definit ca semnificnd faptul c versiunea real se gsete ntr-un cuvnt extins).

Fig. 6-26. Antetul RTP-ului.

Bitul P indic faptul c pachetul a fost extins la un multiplu de 4 octei. Ultimul octet extins ne
spune ci octei au fost adugai. Bitul X indic prezena unui antet extins. Formatul i semnificaia
antetului extins nu sunt definite. Singurul lucru care este definit este acela c primul cuvnt al exten-
siei d lungimea. Aceasta este o cale de scpare pentru orice cerine neprevzute.
Cmpul CC arat cte surse contribuabile sunt prezente, de la 0 la 15 (vezi mai jos). Bitul M este
un bit de marcare specific aplicaiei. Poate fi folosit pentru a marca nceputul unui cadru video, nce-
putul unui cuvnt ntr-un canal audio sau altceva ce aplicaia nelege. Cmpul Tip informaie util
indic ce algoritm de codare a fost folosit (de exemplu 8 bii audio necompresai, MP3, etc). Din
moment ce fiecare pachet transport acest cmp, codarea se poate schimba n timpul transmisiei.
Numrul de secven este doar un contor care este incrementat pe fiecare pachet RTP trimis. Este
folosit pentru a detecta pachetele pierdute.
Amprenta de timp este stabilit de ctre sursa fluxului pentru a se ti cnd este fcut primul ean-
tion din pachet. Aceast valoare poate s ajute la reducerea bruiajului la receptor prin separarea
redrii de momentul ajungerii pachetului. Identificatorul sursei de sincronizare spune crui flux i
aparine pachetul. Este metoda utilizat pentru a multiplexa i demultiplexa mai multe fluxuri de
date ntr-un singur flux de pachete UDP. n sfrit, dac exist, identificatorii sursei care contribuie
sunt folosii cnd n studio exist mixere. n acest caz, mixerul este sursa de sincronizare i fluxurile,
fiind amestecate, apar aici.
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 477

RTP are un protocol nrudit numit RTCP (Real Time Transport Control Protocol, rom: Protocol
de control al transportului n timp real). Acesta se ocup de rspuns, sincronizare i de interfaa cu
utilizatorul, dar nu transport date. Prima funcie poate fi folosit pentru a oferi surselor reacie (eng.:
feedback) la ntrzieri, bruiaj, lime de band, congestie i alte proprieti ale reelei. Aceast infor-
maie poate fi folosit de ctre procesul de codare pentru a crete rata de transfer a datelor (i s ofe-
re o calitate mai bun) cnd reeaua merge bine i s reduc rata de transfer cnd apar probleme pe
reea. Prin furnizarea continu de rspunsuri, algoritmii de codare pot fi n continuu adaptai pentru a
oferi cea mai bun calitate posibil n circumstanele curente. De exemplu, dac limea de band
crete sau scade n timpul transmisiei, codarea poate s se schimbe de la MP3 la PCM pe 8 bii la co-
dare delta, aa cum se cere. Cmpul Tip informaie util este folosit pentru a spune destinaiei ce algo-
ritm de codare este folosit pentru pachetul curent, fcnd posibil schimbarea acestuia la cerere.
De asemenea, RTCP-ul se ocup de sincronizarea ntre fluxuri. Problema este c fluxuri diferite
pot folosi ceasuri diferite, cu granulariti diferite i devieri de flux diferite. RTCP poate fi folosit
pentru a le menine sincronizate.
n sfrit, RTCP ofer un mod pentru a numi diversele surse (de exemplu n text ASCII). Aceas-
t informaie poate fi afiat pe ecranul receptorului pentru a indica cine vorbete n acel moment.
Mai multe informaii despre RTP pot fi gsite n (Perkins, 2002).


6.5. PROTOCOALE DE TRANSPORT PRIN IN-
TERNET: TCP
UDP-ul este un protocol simplu i are anumite nie de utilizare, cum ar fi interaciunile client-ser-
ver i cele multimedia, dar pentru cele mai multe aplicaii de Internet este necesar un transport de n-
credere, secvenial al informaiei. UDP-ul nu poate oferi acest lucru, deci este nevoie de un alt proto-
col. Acesta este TCP i este pionul principal de lucru al Internet-ului. S-l studiem acum n amnunt.
6.5.1 Introducere n TCP
TCP (Transport Communication 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 para-
metri. TCP a fost proiectat s se adapteze n mod dinamic la proprietile inter-reelei i s fie robust
n ceea ce privete mai multe tipuri de defecte.
TCP a fost definit n mod oficial n RFC 793. O dat 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 1122. Extensiile sunt furnizate n RFC 1323.
Fiecare main care suport TCP dispune de o entitate de transport TCP, fie ca proces utilizator,
fie ca procedur de bibliotec, fie ca parte a nucleului. n toate aceste cazuri, ea 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 1460 de octei, pentru a ncpea ntr-un singur cadru Ethernet mpreun cu antetele
478 NIVELUL TRANSPORT CAP. 6


TCP i IP) 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 re-
guli). Din context va fi clar care din cele dou noiuni este referit. De exemplu, n Utilizatorul fur-
nizeaz 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 ofer.
6.5.2 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 stabi-
lit 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-5.
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 so-
clurilor de la ambele capete, adic (soclu 1, soclu 2). Nu este folosit nici un alt numr sau identifica-
tor de circuit virtual.
Numerele de port mai mici dect 256 se numesc porturi general cunoscute i sunt rezervate ser-
viciilor standard. De exemplu, orice proces care dorete s stabileasc o conexiune cu o main gaz-
d pentru a transfera un fiier utiliznd FTP, se poate conecta la portul 21 al mainii destinaie pen-
tru 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 se gsete la www.iana.org. Cteva
dintre cele foarte cunoscute sunt prezentate n fig. 6-27.

Port Protocol Utilitate
21 FTP Transfer de fiiere
23 Telnet Login la distan
25 SMTP E-mail
69 TFTP Protocol de transfer de fiiere trivial
79 Finger Cutare de informaii despre un utilizator
80 HTTP World Wide Web
110 POP-3 Acces prin e-mail la distan
119 NNTP tiri USENET

Fig. 6-27. Cteva porturi asignate.

Cu siguran ar fi posibil ca, n momentul ncrcrii, demonul de FTP s se autoataeze la portul
21, demonul telnet la portul 23 i tot aa. Totui, dac s-ar proceda astfel s-ar umple memoria cu
demoni inactivi n majoritatea timpului. n schimb, n general se folosete un singur demon, numit
inetd (Internet daemon, rom: demon de Internet) n UNIX, care s se autoataeze la mai multe por-
turi i s atepte prima conexiune care vine. Cnd acest lucru se ntmpl, inetd creeaz un nou pro-
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 479

ces i execut n el demonul adecvat, lsnd acel demon s se ocupe de cerere. Astfel, demonii, n
afar de inetd, sunt activi doar cnd au de lucru. Inetd afl ce porturi s foloseasc dintr-un fiier de
configurare. n consecin, administratorul de sistem poate seta sistemul s aib demoni permaneni
pe cele mai ocupate porturi (de exemplu portul 80) i inetd pe restul.
Toate conexiunile TCP sunt duplex integral i punct-la-punct. Duplex integral nseamn c trafi-
cul se poate desfura n ambele sensuri n acelai timp. Punct-la-punct indic faptul c fiecare cone-
xiune 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
(chunks) de 512 octei, dou fragmente de 1024 octei, un singur fragment de 2048 octei (vezi fig. 6-
28) sau n orice alt mod. Nu exist posibilitatea ca receptorul s determine numrul de uniti n care
a fost scris informaia.

Fig. 6-28. (a) Patru segmente de 512 octei au fost trimise ca datagrame IP separate.
(b) Livrarea celor 2048 octei ctre aplicaie, printr-un singur apel read.

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 lu-
cru. Un octet este pur i simplu un octet.
Atunci cnd o aplicaie trimite date ctre TCP, TCP-ul le poate expedia imediat sau le poate re-
ine 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 ca informaia s fie
expediat imediat. De exemplu, s presupunem c un utilizator este conectat la o main de la dis-
tan. 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 mar-
ginile mesajelor. Dei acest truc funcioneaz cteodat, uneori el eueaz datorit faptului c, la
recepie, nu toate implementrile TCP-ului transmit aplicaiei indicatorul PUSH. Mai mult 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 urgen-
t. 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 ntre-
ruperea acumulrii de informaie i transmisia imediat a ntregii informaii disponibile deja pentru
conexiunea respectiv.
480 NIVELUL TRANSPORT CAP. 6


Atunci cnd informaia urgent este recepionat la destinaie, aplicaia receptoare este ntrerupt
(de ex. prin emisia unui semnal, 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.5.3 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.
O caracteristic important a TCP, care domin structura protocolului, este aceea c fiecare octet
al unei conexiuni TCP are propriul su numr de secven, reprezentat pe 32 bii. Cnd a luat fiin
Internetul, liniile dintre rutere erau n cel mai bun caz linii nchiriate de 56 Kbps, deci unei gazde
funcionnd la vitez maxim i lua mai mult de o sptmn s utilizeze toate numerele de secven.
La vitezele reelelor moderne, numerele de secven pot fi consumate intr-un ritm alarmant, dup
cum vom vedea mai trziu. 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 interschimb informaie sub form de segmente. Un
segment TCP 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 seg-
mente. El poate acumula informaie provenit din mai multe scrieri ntr-un singur segment sau poa-
te 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 1500 octei (dimensiunea in-
formaiei utile din Ethernet), definind astfel o limit superioar a dimensiunii unui segment.
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
se ateapt s-l 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. Segmentele pot ajunge ntr-o ordine arbitrar, deci 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. Retransmisiile pot include poriuni de mesaj fragmentate altfel dect n transmisia iniial,
ceea ce impune o tratare atent, astfel nct s se in evidena octeilor primii corect. Totui, deoarece
fiecare octet din flux are un deplasament unic fa de nceputul mesajului, acest lucru se poate realiza.
TCP trebuie s fie pregtit s fac fa unor astfel de situaii i s le rezolve ntr-o manier efici-
ent. 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.
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 481

6.5.4 Antetul segmentului TCP
n fig. 6-29 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. n continuarea opiunilor, dac ele exist, pot urma pn la 65.535 - 20 - 20 = 65.495 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.

Fig. 6-29. Antetul TCP.

S disecm acum structura antetului TCP, cmp cu cmp. Cmpurile Port surs i Port destina-
ie identific punctele finale ale conexiunii. Porturile general cunoscute sunt definite la www.iana.org,
dar fiecare gazd le poate aloca pe celelalte dup cum dorete. Un port formeaz mpreun cu adre-
sa IP a mainii sale un unic punct de capt (eng.: end point) de 48 de bii. Conexiunea este identifica-
t de punctele de capt ale sursei i destinaiei.
Cmpurile Numr de secven i Numr de confirmare au semnificaia funciilor lor uzuale. Tre-
buie observat 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 informa-
ie este numerotat.
Lungimea antetului TCP indic numrul de cuvinte de 32 de bii care sunt coninute n antetul
TCP. Aceast informaie 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 date-
lor din segment, msurat n cuvinte de 32 de bii, dar cum acest numr este identic cu lungimea ante-
tului 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 sfert de secol 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. Indicatorul Urgent este folosit pentru a indica deplasamentul n octei fa de numrul cu-
rent de secven la care se gsete informaia urgent. O astfel de facilitate ine locul mesajelor de
482 NIVELUL TRANSPORT CAP. 6


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 confirmare este valid. n ca-
zul n care ACK este poziionat pe 0, segmentul n discuie nu conine o confirmare i cmpul Numr
de confirmare 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 tam-
poanelor 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 defeci-
unii unei maini sau oricrui alt motiv. El este de asemenea utilizat pentru a refuza un segment inva-
lid 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. Rspun-
sul 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 Fe-
reastr indic numrul de octei care pot fi trimii, ncepnd de la octetul confirmat. Un cmp Fereas-
tr de valoare 0 este perfect legal i spune c octeii pn la Numr de confirmare - 1 inclusiv au fost
recepionai, dar receptorul dorete cu ardoare o pauz, aa c mulumete frumos, dar pentru mo-
ment nu dorete continuarea transferului. Permisiunea de expediere poate fi acordat ulterior de
ctre receptor prin trimiterea unui segment avnd acelai Numr de confirmare, dar un cmp Fereas-
tr cu o valoare nenul.
n protocoalele din cap. 3, confirmrile pentru cadrele primite i permisiunea de a trimite noi ca-
dre erau legate una de alta. Aceasta era o consecin a dimensiunii fixe a ferestrei pentru fiecare
protocol. n TCP, confirmrile i permisiunea de a trimite noi date sunt total decuplate. De fapt,
receptorul poate spune: Am primit octeii pn la al k-lea, dar n acest moment nu mai doresc s
primesc alii. Aceast decuplare (care de fapt reprezint o fereastr de dimensiune variabil) ofer
mai mult flexibilitate. O vom studia detaliat mai jos.
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 pre-
zentat n fig. 6-30. n momentul calculului, Suma de control TCP este poziionat pe zero, iar cm-
pul de date este completat cu un octet suplimentar nul, dac lungimea sa este un numr impar. Al-
goritmul de calcul al sumei de control este simplu, el adunnd toate cuvintele de 16 bii n comple-
ment fa de 1 i aplicnd apoi nc o dat complementul fa de 1 asupra sumei. n acest mod,
atunci cnd receptorul aplic acelai calcul asupra ntregului segment, inclusiv asupra Sumei de con-
trol, rezultatul ar trebui s fie 0.
Pseudo-antetul conine adresele IP ale mainii surs i destinaie, de 32 de bii fiecare, numrul
de protocol pentru TCP (6) i numrul de octei al segmentului TCP (incluznd i antetul). Prin in-
cluderea pseudo-antetului n calculul sumei de control TCP se pot detecta pachetele care au fost
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 483

preluate eronat, dar procednd astfel, este negat nsi ierarhia protocolului, deoarece adresa IP
aparine nivelului IP i nu nivelului TCP.
Cmpul Opiuni a fost proiectat pentru a permite adugarea unor faciliti suplimentare neaco-
perite 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 mi-
c datorit amortizrii antetului de 20 de octei prin cantitatea mai mare de informaie util. Cu toa-
te acestea, este posibil ca maini mai puin performante s nu fie capabile s manevreze segmente
foarte mari. n 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 folosete aceast opiune, cantitatea implicit de informaie util este de 536 octei. Toate
mainile din Internet trebuie s accepte segmente de dimensiune 536 + 20 = 556 octei. Dimensiu-
nea maxim a segmentului nu trebuie s fie aceeai n cele dou direcii.

Fig. 6-30. Pseudo-antetul inclus n suma de control TCP.

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 ms. Dac ntrzierea propagrii dus-ntors este de 50 ms (care este valoarea tipic
pentru o linie trans-continental), emitorul va atepta confirmri - fiind deci inactiv din timp. Pe o
conexiune prin satelit, situaia este chiar mai rea. O fereastr de dimensiune mare ar permite emito-
rului s continue trimiterea 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 emitoru-
lui i receptorului s negocieze un factor de scalare a ferestrei. Acest numr permite ambelor pri s
deplaseze cmpul Fereastr cu pn la 14 bii spre stnga, permind astfel ferestre de pn la 230
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 (eng.: go back n
protocol). Dac receptorul primete un segment eronat urmat de un numr mare de segmente co-
recte, protocolul TCP clasic va constata ntr-un final o depire de timp i va retrimite toate segmen-
tele neconfirmate, deci i pe acelea care au fost recepionate corect (adic se face o ntoarcere de n
pai). 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.
484 NIVELUL TRANSPORT CAP. 6


6.5.5 Stabilirea conexiunii TCP
n TCP conexiunile sunt stabilite utiliznd nelegerea n trei pai, discutat n Sec. 6.2.2. Pen-
tru a stabili o conexiune, una din pri - s spunem serverul - ateapt n mod pasiv o cerere de cone-
xiune 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 ACK nepoziionat, dup care ateapt un rspuns.
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.


Fig. 6-31. (a) Stabilirea unei conexiuni TCP n cazul normal. (b) Coliziunea apelurilor.

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 ex-
peditorului un segment de confirmare. n fig. 6-31(a) este reprezentat secvena de segmente TCP
transferate n caz de funcionare normal. De notat c un segment SYN consum un octet din spai-
ul numerelor de secven, astfel nct confirmarea s poat fi fcut fr ambiguiti.
Secvena de evenimente ilustrat n fig. 6-31(b) reprezint cazul n care dou maini ncearc simul-
tan s stabileasc o conexiune ntre aceleai dou porturi. Rezult c este suficient s fie stabilit o sin-
gur conexiune i nu dou, deoarece conexiunile sunt identificate prin punctele lor terminale. Dac
prima iniializare conduce la 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 uti-
lizeaz o schem bazat pe un ceas cu o btaie la fiecare 4 s. Pentru mai mult siguran , atunci cnd
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 485

o main se defecteaz, este posibil ca ea s nu fie reiniializat n timpul de via maxim al unui pachet,
garantndu-se astfel c pachetele unei conexiuni anterioare nu se plimb nc pe undeva prin Internet.
6.5.6 Eliberarea conexiunii TCP
Dei conexiunile TCP sunt bidirecionale, pentru a nelege cum sunt desfiinate conexiunile, cel
mai bine este s ni le 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 setat, lucru care indic faptul c nici o in-
formaie nu mai urmeaz s fie transmis. Atunci cnd FIN-ul este confirmat, sensul respectiv de
comunicare este efectiv oprit pentru noi date. Cu toate acestea, informaia poate fi transferat n
continuare, pentru un timp nedefinit, n cellalt sens. Conexiunea este desfiinat atunci cnd ambe-
le 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-al doilea FIN s fie cuprinse n acelai segment reducnd astfel numrul total la trei.
La fel ca n conversaiile telefonice, n care ambele persoane pot spune la revedere i pot nchi-
de 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 cel mult dou cicluri de maxime de via ale unui pachet, emi-
torul FIN-ului elibereaz conexiunea. Cealalt parte va observa n final c nimeni nu mai pare s
asculte la cellalt capt al conexiunii, i va elibera conexiunea n urma expirrii unui interval de timp.
Aceast soluie nu este perfect, dar avnd n vedere faptul c o soluie perfect este teoretic impo-
sibil, va trebui s ne mulumim cu ce avem. n realitate astfel de probleme apar foarte rar.
6.5.7 Modelarea administrrii conexiunii TCP
Paii necesari stabilirii unei conexiuni pot fi reprezentai printr-un automat cu stri finite, cele 11
stri ale acestuia fiind prezentate n fig. 6-32. n fiecare stare pot aprea doar anumite evenimente.
Atunci cnd are loc un astfel de eveniment, este ndeplinit o aciune specific. Atunci cnd se pro-
duce un eveniment a crui apariie nu este legal n starea curent, este semnalat o eroare.

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 WAIT 1 (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 (n curs de INCHIDERE) Ambele pri ncearc simultan nchiderea
CLOSE WAIT (NCHIDE i ATEAPT) Partenerul a iniiat eliberarea conexiunii
LAST ACK (CONFIRMARE FINAL) Se ateapt moartea tuturor pachetelor

Fig. 6-32. Strile utilizate n automatul cu stri finite pentru controlul conexiunii TCP.

486 NIVELUL TRANSPORT CAP. 6



Fig. 6-33. 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. Fiecare tranziie este etichetat de
evenimentul care a creat-o i aciunea care rezult din el, separate de slash.

Fiecare conexiune ncepe n starea NCHIS. Aceast stare este prsit dac urmeaz s se stabi-
leasc o conexiune pasiv (LISTEN) sau activ (CONNECT). Dac partenerul stabilete o conexiune de
tipul opus, starea devine STABILIT. Desfiinarea conexiunii poate fi iniiat de oricare din parteneri,
o dat cu eliberarea conexiunii revenindu-se n starea NCHIS.
Automatul cu stri finite este reprezentat n fig. 6-33. 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-33 este etichetat cu o pereche eveniment/aciune. Evenimentul poate
fi unul iniiat de ctre utilizator printr-un apel sistem (CONNECT, LISTEN, SEND sau CLOSE), recepio-
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 487

narea 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 inclu-
se 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 un
program 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 folo-
sul mai multor aplicaii, astfel nct o stare este asociat unei conexiuni i este nregistrat n nregis-
trarea asociat acesteia. La recepia unui SYN + ACK, TCP expediaz ultima confirmare (ACK)
din nelegerea n trei pai i comut 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-ului corespunztor (dreptunghiul figurat cu linie
ntrerupt i etichetat nchidere activ). Atunci cnd ACK-ul este recepionat, se trece 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 confir-
mat. 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 au murit
i c nici o confirmare nu a fost pierdut. Odat ce acest interval de timp expir, TCP-ul terge nre-
gistrarea asociat conexiunii.
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 recepiona-
rea unui SYN, acesta este confirmat i serverul comut n starea SYN RCVD. Atunci cnd SYN-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.
Atunci cnd clientul a terminat, 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. O dat cu primirea confirm-
rii clientului, serverul desfiineaz conexiunea i terge nregistrarea asociat.
6.5.8 Politica TCP de transmisie a datelor
Cum s-a menionat anterior, 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 presu-
punem c receptorul are un tampon de 4096 octei, aa cum se vede n fig. 6-34. Dac emitorul
transmite un segment de 2048 de octei care este recepionat corect, receptorul va confirma segmen-
tul. 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.

488 NIVELUL TRANSPORT CAP. 6




Fig. 6-34. Controlul ferestrei n TCP.

Atunci cnd fereastra este 0, n mod normal emitorul nu poate s transmit segmente, cu dou
excepii. n primul rnd, informaia urgent poate fi trimis, de exemplu pentru a permite utilizato-
rului s opreasc procesele rulnd pe maina de la distan. n al doilea rnd, emitorul poate trimi-
te un segment de un octet pentru a determina receptorul s renune urmtorul octet ateptat i di-
mensiunea 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 aplica-
ie. Nici receptorii nu trimit n mod obligatoriu confirmrile de ndat ce acest lucru este posibil. De
exemplu, n fig. 6-34, atunci cnd sunt disponibili primii 2K octei, TCP, tiind c dispune de o fe-
reastr 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 apsa-
re 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 data-
gram 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
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 489

actualizare a ferestrei, deplasnd fereastra cu un octet la dreapta. Acest pachet este de asemenea
de 40 octei. n 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 n-
trzierea confirmrilor i actualizrilor de fereastr timp de 500 ms, n sperana apariiei unor infor-
maii 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.
Dei aceast regul reduce ncrcarea reelei de ctre receptor, emitorul opereaz nc inefici-
ent trimind pachete de 41 octei care conin un singur octet de date. O modalitate de a reduce
aceast deficien este cunoscut ca algoritmul lui Nagle (Nagle, 1984). Sugestia lui Nagle este sim-
pl: atunci cnd emitorul dispune de date, n secven, de cte un octet, el va trimite doar primul
octet, restul octeilor fiind memorai pn la confirmarea primului octet. Apoi vor fi trimise toate
caracterele memorate ntr-un segment TCP i va continua memorarea pn la confirmarea 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 jumta-
te 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, deplas-
rile mausului trebuie transmise mainii de la distan. (Sistemul X Window este sistemul de ferestre
utilizat pe majoritatea sistemelor UNIX.) Gruparea lor pentru a fi transmise n rafal provoac o
micare imprevizibil a cursorului, lucru care nemulumete profund utilizatorii.
O alt problem care poate degrada 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-35. 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 ac-
tualizare de fereastr ctre emitor dndu-i astfel dreptul de a mai trimite un octet. ndatorat, emi-
torul 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.
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, ur-
mnd s-l 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 mbunti situaia 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 re-
cepionate pn acum).

490 NIVELUL TRANSPORT CAP. 6



Fig. 6-35. Sindromul ferestrei stupide.

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 funciona mpreun. Scopul este ca
emitorul s nu trimit segmente mici, iar receptorul s nu cear astfel de segmente.
Receptorul TCP poate face, pentru mbuntirea performanelor, mai mult dect simpla actua-
lizare a ferestrei n uniti mari. Ca i emitorul TCP, el are posibilitatea s memoreze date, astfel
nct s poat bloca o cerere de READ a aplicaiei pn cnd i poate furniza o cantitate semnifica-
tiv de informaie. Astfel se reduce numrul de apeluri TCP, deci i suprancrcarea. Bineneles, n
acest mod va crete i timpul de rspuns, dar pentru aplicaii care nu sunt interactive, aa cum este
transferul de fiiere, eficiena poate fi mai important dect timpul de rspuns 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 eliminate, dup cum dorete receptorul. Bineneles,
confirmrile pot fi trimise numai atunci cnd toat informaia pn la octetul confirmat a fost recep-
ionat. Dac receptorul primete segmentele 0, 1, 2, 4, 5, 6 i 7, el poate confirma totul pn la ulti-
mul octet din segmentul 2 inclusiv. Atunci cnd emitorul constat o depire de timp, el va retran-
smite segmentul 3. Dac receptorul a memorat n tampon segmentele 4 pn la 7, odat cu recepia
segmentului 3 el poate confirma toi octeii pn la sfritul segmentului 7.
6.5.9 Controlul congestiei n TCP
Atunci cnd ncrcarea la care este supus o reea este mai mare dect poate aceasta s suporte,
apare congestia. Internet-ul nu face excepie. n aceast seciune, vom discuta algoritmi care se ocup
cu astfel de congestii i care au fost dezvoltai pe parcursul ultimului sfert de secol. Dei nivelul reea
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 491

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: legea con-
servrii 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) eliminarea pachetului de ctre un ruter congestionat. Diferenierea celor dou
cazuri era dificil.
n zilele noastre, pierderea pachetului din pricina erorilor de transmisie este destul de rar, deoa-
rece cele mai multe din trunchiurile principale de comunicaie sunt din fibr (dei reelele fr fir
sunt un subiect separat). n 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 cau-
zate 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 poate specifica o fereastr
bazndu-se pe dimensiunea tamponului propriu. Dac emitorul accept aceast dimensiune a
ferestrei, nu mai pot aprea probleme datorit depirii tamponului la recepie, dar pot aprea n
schimb datorit congestiei interne n reea.

Fig. 6-36. (a) O reea rapid alimentnd un rezervor de capacitate mic.
(b) O reea lent alimentnd un receptor de mare capacitate.
492 NIVELUL TRANSPORT CAP. 6


n fig. 6-36, putem vedea interpretarea hidraulic a acestei probleme. n fig. 6-36(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 fig. 6-36(b), factorul de limitare
nu mai este capacitatea gleii, ci capacitatea de transport a reelei. Dac vine prea repede prea mul-
t ap, ea se va revrsa i o anumit cantitate se va pierde (n acest caz prin umplerea plniei).
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 emi-
tor 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 mini-
mul dintre ceea ce emitorul crede c este n regul i ceea ce receptorul crede c este n regu-
l. Dac receptorul spune: Trimite 8K octei, dar emitorul tie c o rafal de mai mult de 4K
octei poate aglomera excesiv reeaua, el va trimite 4K octei. Din alt punct de vedere, dac recepto-
rul spune: Trimite 8K octei i emitorul tie c o rafal de 32K octei poate strbate fr efort
reeaua, el va trimite toi cei 8K octei cerui.
La stabilirea conexiunii, emitorul iniializeaz fereastra de congestie la dimensiunea celui mai ma-
re 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 la fereastra de congestie,
fcnd-o astfel de dimensiunea a dou segmente de dimensiune maxim, i trimite dou segmente. O
dat 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 algo-
ritm este numit algoritmul startului lent, fr a fi ns ctui de puin lent (Jacobson, 1988). Este
exponenial. Toate implementrile TCP trebuie s l suporte.
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 repoziionat 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 pragului. De aici nainte transmisiile reuite mresc n mod liniar di-
mensiunea ferestrei de congestie (cu cte un segment maxim pentru fiecare rafal), n locul unei
creteri pentru fiecare segment. De fapt, algoritmul presupune c este acceptabil njumtirea
ferestrei de congestie, din acel punct continundu-i gradual calea spre dimensiuni mai mari.
Funcionarea algoritmului de congestie se poate vedea n fig. 6-37. Dimensiunea unui segment
maxim este, n acest caz, de 1024 de octei. Iniial fereastra de congestie are 64K octei, dar apare o
depire de timp i deci pragul este stabilit la 32K octei iar fereastra de congestie la 1K octei acesta
fiind punctul 0 al transmisiei din figur. Fereastra de congestie crete apoi exponenial pn atinge
pragul (32K octei). ncepnd de aici, creterea este liniar.
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 493



Fig. 6-37. Un exemplu al algoritmului de congestie din Internet.

Transmisia 13 nu are noroc (este de la sine neles) i apare o depire de timp. Pragul este stabi-
lit la jumtate din fereastra curent (acum 40K octei, deci jumtate este 20K octei) i startul lent
este iniiat din nou. Atunci cnd confirmrile pentru transmisia 14 ncep s soseasc, primele patru
dubleaz fiecare fereastra de congestie, dar dup aceea creterea redevine liniar.
Dac nu mai apar depiri de timp, fereastra de congestie va continua s creasc pn la dimen-
siunea 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. O alternativ (i o abordare mai recent) este descris n RFC 3168.
6.5.10 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 intervalul de timp pn la expirare?
Aceast problem este mult mai dificil la nivelul transport din Internet dect la nivelul proto-
coalelor generice de legtur de date prezentate n Cap. 3. n cazul din urm, ntrzierea ateptat
este uor predictibil (de exemplu, are o varian sczut), deci contorul poate fi setat s expire chiar
494 NIVELUL TRANSPORT CAP. 6


imediat dup ce era ateptat confirmarea, aa cum se arat n fig. 6-38(a). Cum confirmrile sunt
rareori ntrziate n nivelul legtur de date, absena unei confirmri n momentul n care aceasta
era ateptat nseamn de obicei c s-a pierdut fie cadrul, fie confirmarea.

Fig. 6-38. (a) Densitatea de probabilitate a sosirilor n timp a confirmrilor n nivelul
legtur de date. (b) Densitatea de probabilitate a sosiri confirmrilor pentru TCP.

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-38(b) dect ca n fig. 6-
38(a). Este dificil determinarea timpului n care se realizeaz circuitul dus-ntors pn la destinaie.
Chiar i cnd acesta este cunoscut, stabilirea intervalului de depire este de asemenea dificil. Dac
intervalul este prea scurt, s spunem T
1
n fig. 6-38(b), vor aprea retransmisii inutile, aglomernd
Internet-ul cu pachete fr rost. Dac este prea lung, (T
2
), performanele vor avea de suferit datorit
ntrzierii retransmisiei de fiecare dat cnd se pierde un pachet. Mai mult dect att, media i vari-
ana distribuiei sosirii confirmrilor se pot schimba cu rapiditate pe parcursul a ctorva secunde
atunci cnd apare sau se rezolv o congestie.
Soluia este s se utilizeze un algoritm profund dinamic, care ajusteaz n mod constant intervalul
de depire bazndu-se pe msurtori continue ale performanei reelei. Algoritmul utilizat n gene-
ral de ctre TCP este datorat lui Jacobson (1988) i este descris mai jos. Pentru fiecare conexiune,
TCP pstreaz o variabil, RTT, care este cea mai bun estimare a timpului n care se parcurge cir-
cuitul dus-ntors ctre destinaia n discuie. Atunci cnd este trimis un segment, se pornete un con-
tor de timp, att pentru a vedea ct de mult dureaz pn la primirea confirmrii ct i pentru a ini-
ia 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:

M RTT RTT ) 1 ( + =

unde este un factor de netezire care determin ponderea dat vechii valori. Uzual, =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 .
SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 495

n implementrile iniiale, era ntotdeauna 2, dar experiena a artat c o valoare constant este
inflexibil deoarece nu corespunde n cazul creterii varianei.
n 1988, Jacobson a propus ca s fie aproximativ proporional cu deviaia standard a funciei de
densitate a probabilitii timpului de primire a confirmrilor, astfel nct o varian mare implic un
mare i viceversa. n particular, el a sugerat utilizarea deviaiei medii ca o estimare puin costisitoa-
re a deviaiei standard. Algoritmul su presupune urmrirea unei alte variabile de netezire, D, devia-
ia. La fiecare sosire a unei confirmri, este calculat diferena dintre valorile ateptate i observate
M RTT . O valoare netezit a acesteia este pstrat n D, prin formula

M RTT D D + = ) 1 (

unde 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 = D RTT + 4

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 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 poa-
te contamina serios estimarea lui RTT. Phil Karn a descoperit aceast problem cu mult greutate.
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 pa-
chete). 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 lui 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, emi-
torul 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 via. Cnd o
conexiune a fost inactiv o lung perioad de timp, contorul de meninere n via poate expira pen-
tru a fora una din pri s verifice dac cealalt parte exist nc. Dac aceasta nu rspunde, conexi-
unea este nchis. Aceast facilitate este controversat, deoarece suprancarc reeaua i poate ter-
mina o conexiune altfel sntoas datorit unei partiionri tranzitorii a reelei.
496 NIVELUL TRANSPORT CAP. 6


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 maxi-
me ale unui pachet, pentru a se asigura c, atunci cnd o conexiune este nchis, toate pachetele
create de aceasta au murit.
6.5.11 TCP i UDP n conexiune fr fir
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 pier-
derea pachetelor. n consecin, atunci cnd expir un contor, TCP ncetinete ritmul i trimite pa-
chete cu mai puin vigoare (ex. algoritmul startului lent al lui Jacobson). Ideea din spatele acestei
abordri const n reducerea ncrcrii reelei, astfel eliminndu-se neplcerile cauzate de congestie.
Din nefericire, legturile bazate pe transmisia fr fir nu sunt deloc fiabile. 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 pier-
de, productivitatea este de 80 pachete/sec. Dac emitorul ncetinete ritmul la 50 pachete/sec, pro-
ductivitatea 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 l mreasc. Dac emi-
torul 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-39. 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.

Fig. 6-39. Spargerea conexiunii TCP n dou conexiuni.

SEC. 6.5. PROTOCOALE DE TRANSPORT PRIN INTERNET: TCP 497

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. Dez-
avantajul 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 et. al (1995), nu ncalc semantica TCP. Ea se bazea-
z 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 inter-
val de timp dat (relativ scurt), agentul ascuns pur i simplu retransmite acel segment, fr a mai spu-
ne sursei acest lucru. De asemenea, el retransmite i atunci cnd observ confirmri duplicate din
partea gazdei mobile, lucru care indic invariabil faptul c aceasta a pierdut ceva. Confirmrile du-
plicate sunt eliminate pe loc, pentru a evita ca sursa s le interpreteze ca un semn de congestie.
Cu toate acestea, un 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 cabla-
t 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 numere-
lor de secven, aceasta genereaz o cerere pentru o repetare selectiv a octetului lips, utiliznd o
opiune TCP.
Utiliznd aceste 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 se ateapt ca
acesta s fie foarte fiabil. Ele tiu c nu este furnizat nici o garanie, dar cu toate acestea se ateapt
ca el s fie aproape perfect. ntr-un mediu fr fir, el va fi ns departe de perfeciune. Pentru pro-
gramele care sunt capabile s se refac dup pierderea mesajelor UDP, dar numai cu un cost consi-
derabil, 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 pri-
vete performanele.
Comunicaia fr fir afecteaz i alte domenii dect cel al performanelor. De exemplu, cum poa-
te o gazd mobil s gseasc o imprimant local la care s se conecteze, n loc s utilizeze propria
imprimant? Oarecum legat de aceasta este i problema obinerii paginii WWW pentru celula lo-
cal, chiar dac numele ei nu este cunoscut. De asemenea, proiectanii paginilor WWW au tendina
s presupun disponibil o mare lrgime de band. Punerea unei embleme mari pe fiecare pagin
poate s devin contraproductiv dac transmisia paginii printr-o legtur fr fir lent va dura 10
secunde, i acest lucru ajunge pn la urm s irite utilizatorii.
Cum reelele cu comunicaii fr fir devin tot mai comune, problema rulrii TCP-ului pe ele a
devenit tot mai acut. Documentaii suplimentare n acest domeniu se gsesc n (Barakat .a., 2000;
Ghani i Dixit, 1999; Huston, 2001; i Xylomenos .a., 2001).
498 NIVELUL TRANSPORT CAP. 6


6.5.12 TCP Tranzacional
Mai devreme n acest capitol am analizat apelul de proceduri la distan ca modalitate de a im-
plementa sistemele client-server. Dac att cererea, ct i rspunsul sunt suficient de mici nct s se
potriveasc n pachete simple i operaia este idempotent, UDP-ul poate fi uor utilizat. Totui, dac
aceste condiii nu sunt ndeplinite, utilizarea UDP-ului este mai puin atractiv. De exemplu, dac
rspunsul este unul lung, atunci datagramele trebuie sa fie secveniate i trebuie iniiat un mecanism
pentru a retransmite datagramele pierdute. De fapt, aplicaiei i este cerut s reinventeze TCP-ul.
n mod cert, acest lucru nu este atractiv, dar nici utilizarea TCP-ului n sine nu este atractiv.
Problema este eficiena. Secvena normal a pachetelor pentru a face un RPC peste TCP este pre-
zentat n fig. 6-40(a). n cel mai bun caz sunt necesare nou pachete.
Fig. 6-40. (a) RPC folosind TCP clasic ; (b) RPC folosind T/TCP

Cele nou pachete sunt dup cum urmeaz:

1. Clientul trimite un pachet SYN pentru a stabili o conexiune.
2. Serverul trimite un pachet ACK pentru a recunoate pachetul SYN.
3. Clientul finalizeaz nelegerea n trei pai.
4. Clientul trimite cererea real.
5. Clientul trimite un pachet FIN pentru a indica dac s-a terminat trimiterea.
6. Serverul confirm cererea i FIN-ul.
7. Serverul trimite rspunsul napoi clientului.
8. Serverul trimite un pachet FIN pentru a indica c i acest lucru s-a ncheiat.
9. Clientul confirm FIN-ul server-ului.

A se reine c acesta este cazul ideal. n cazul cel mai ru, cererea clientului i FIN-ul sunt con-
firmate separat, precum sunt rspunsul server-ului i FIN-ul.
ntrebarea care apare imediat este dac exist vreo posibilitate de a combina eficiena RPC-ului
folosind UDP (doar 2 mesaje) cu fiabilitatea TCP-ului. Rspunsul este: aproape c da. Se poate
SEC. 6.6 ELEMENTE DE PERFORMAN 499

realiza cu o variant experimental de TCP numit T/TCP (Transactional TCP, rom: TCP
tranzacional), care este descris n RFC 1379 i 1644.
Ideea principal este aceea de a modifica secvena standard de iniializare a conexiunii astfel n-
ct s permit, la nivel nalt, transferul de date n timpul iniializrii. Protocolul T/TCP este prezentat
n fig. 6-40(b). Primul pachet al clientului conine bitul SYN, cererea n sine i FIN-ul. De fapt acesta
spune: vreau s stabilesc o conexiune, aici sunt datele i am terminat
Cnd serverul primete cererea, caut sau calculeaz rspunsul i alege modul n care s rspun-
d. Dac rspunsul ncape ntr-un pachet, d rspunsul din fig. 6-40(b), care spune: confirm FIN-ul
tu, iat rspunsul, iar eu am terminat. Clientul confirm apoi FIN-ul server-ului i protocolul ia
sfrit n (dup) trei mesaje.
n orice caz, dac rezultatul este mai mare de 1 pachet, serverul are de asemenea i opiunea de a
nu seta bitul FIN, caz n care poate trimite pachete multiple nainte de a-i nchide direcia.
Merit probabil menionat faptul c T/TCP nu este singura mbuntire propus pentru TCP. O
alt propunere este SCTP (Stream Control Transmission Protocol, rom: Protocolul de control al
transmisiei fluxului). Caracteristicile sale includ pstrarea legturilor dintre mesaje, modaliti
multiple de livrare (de ex: livrarea neordonat), gzduirea multipl (destinaii de rezerv), i confir-
mri selective (Stewart and Metz, 2001). n orice caz, oricnd cineva propune s schimbe ceva care a
funcionat att de bine de atta timp, se duce o lupt aprig ntre tabra utilizatorii doresc mai mul-
te faciliti i cea dac nu e stricat, nu-l repara!.


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 neb-
nuite. 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 nivelu-
lui transport din reelele TCP, pentru a fi capabili s folosim TCP ca exemplu n diverse locuri.
Nivelul transport nu este singurul loc unde apar elemente legate de performan. Am vzut une-
le elemente la nivelul reea, n capitolul precedent. Cu toate acestea, nivelul reea tinde s fie preo-
cupat n mare msur de rutare i controlul congestiei. Problemele mai generale, orientate spre sis-
tem ,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.
500 NIVELUL TRANSPORT CAP. 6


Ca o parantez, avem nevoie de un nume pentru unitile schimbate de ctre entitile de trans-
port. 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 trans-
port TPDU-uri. Cnd ne referim att la TPDU ct i la pachet, vom utiliza pachet ca un termen co-
mun, 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 con-
trolat de acesta, se va produce o congestie i performanele vor avea de suferit. Congestia a fost stu-
diat n detaliu n capitolul precedent.
Performanele se degradeaz de asemenea n cazul unei dezechilibrri structurale a balanei re-
surselor. De exemplu, dac o linie de comunicaie de un gigabit este ataat la un terminal PC 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 ntr-
zieri, consumnd din lrgimea de band i n general reducnd performanele.
Suprancrcarea poate fi de asemenea iniiat n mod sincron. De exemplu, dac un TPDU con-
ine un parametru eronat (de exemplu portul 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 maini: 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 elec-
trice. Odat cu revenirea curentului, toate mainile execut programul ROM de reiniializare. O
secven tipic de reiniializare poate cere n primul rnd unui anume server (DHCP) 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 la aceast ncrcare.
Chiar n absena unei suprancrcri sincrone i chiar atunci cnd sunt suficiente resurse disponibi-
le, 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 prio-
ritate 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 es-
te trimis un TPDU, n mod normal se poziioneaz un contor pentru a evita pierderea TPDU-lui.
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 ce pot fi reglai sunt lungimea intervalului de timp dup care datele acumulate sunt con-
firmate, i numrul retransmisiilor fcute nainte de a se renuna.
Reelele gigabit aduc cu ele noi probleme de performan. S considerm, de exemplu, transmi-
sia unei rafale de date de 64 K octei de la San Diego la Boston, pentru a umple tamponul de 64K
SEC. 6.6 ELEMENTE DE PERFORMAN 501

octei al receptorului. S presupunem c legtura este de 1 Gbps i c ntrzierea ntr-un singur sens
prin fibra de sticl este de 20 ms. Iniial, la momentul t = 0, conducta este goal, ca n fig. 6-41(a).
Doar cu 500 s mai trziu, n fig. 6-41(b), toate TPDU-urile sunt deja plasate pe fibr. Primul TPDU
transmis 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.

Fig. 6-41. Evoluia transmisiei unui megabit de la San Diego la Boston.
(a) La momentul t=0. (b) Dup 500 sec. (c) Dup 20 ms. (d) Dup 40 ms.

Dup 20 ms, primul TPDU atinge Boston-ul, ca n fig. 6-41(c), i este confirmat. n final, la 40 ms
dup momentul iniial, prima confirmare sosete napoi la emitor i a doua rafal poate s fie trans-
mis. Cum linia de transmisie a fost utilizat pentru 0.5 ms din cele 40 ms, 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 nmulirea 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-41 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 can-
titate 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 re-
ceptorului trebuie s fie cel puin la fel de mare ca i produsul lrgime de band-ntrziere, prefera-
502 NIVELUL TRANSPORT CAP. 6


bil chiar puin mai mare, deoarece receptorul poate s nu rspund instantaneu. Pentru o linie
gigabit transcontinental sunt necesari cel puin 5 megabii.
Dac eficiena este dezastruoas pentru un megabit, imaginai-v cum ar arta ea pentru o cere-
re scurt de cteva sute de octei. 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 performan care poate aprea n aplicaiile critice din punctul de vedere al
timpului, precum audio/video, este zgomotul. Un timp mediu de transmisie de valoare mic nu este
suficient. 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 ad-
ministreaz, 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 performan-
elor reelei. Discuia care urmeaz se bazeaz pe lucrarea lui Mogul (1993).
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.

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 protocoa-
le). Cel mai simplu mod de msurare este iniializarea unui contor la nceputul unei activiti i ob-
servarea timpului necesar pentru ndeplinirea acelei sarcini. De exemplu, un element cheie n msu-
rare 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 num-
rul 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 dimen-
siune 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 fie reprezentative
Ideal ar fi ca ntreaga secven a celor un milion de msurtori s fie repetat n diferite momen-
te 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
SEC. 6.6 ELEMENTE DE PERFORMAN 503

ntr-un moment n care nu exist nici o congestie. Uneori, rezultatele pot fi iniial contrare intuiiei,
de exemplu congestii importante la orele 10, 11, sau 1, 2 dup amiaz, dar nici un fel de congestie la
amiaz (cnd toi utilizatorii au pauz de prnz).
Utilizarea ceasurilor cu granularitate mare trebuie fcut cu atenie
Ceasurile calculatoarelor funcioneaz prin incrementarea la intervale regulate a unui anumit
contor. De exemplu, un contor de milisecunde adaug unu la contor la fiecare 1 ms. Utilizarea unui
astfel de contor pentru a msura un eveniment care dureaz mai puin de 1 ms nu este imposibil,
dar necesit o oarecare atenie. (Desigur, unele calculatoare au ceasuri cu precizie mai bun).
Pentru a msura intervalul necesar trimiterii unui TPDU, de exemplu, ceasul sistem (s spunem
n milisecunde) ar trebui s fie citit n 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 sec, 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 sec.
Nu 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 urm-
toare. Similar, dac vreun cercettor se decide s organizeze 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 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. Mai mult dect att, s-ar putea s existe un trafic important pentru mi-
nunatele pagini de Web de pe reeaua testat, trafic provenit din zone aflate pe alte meridiane orare.
Lucrul cu memoria ascuns poate distruge msurtorile
Modalitatea evident de a msura timpul de transfer al fiierelor este de a deschide un fiier de
dimensiune mare, de a-l citi n ntregime i de a-l 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 ascuns, astfel nct doar prima msurtoare s
implice traficul n reea. Restul nu sunt dect accese la memoria ascuns local. Rezultatele unei
astfel de msurtori sunt, n esen, fr nici o valoare (doar dac nu cumva se dorete msurarea
performanelor memoriei ascunse).
De obicei, se poate ocoli memoria ascuns prin simpla ei suprancrcare. De exemplu, dac me-
moria ascuns este de 10 megaoctei, ciclul de test ar putea deschide, citi i nchide dou fiiere de 10
megaoctei la fiecare bucl, n tentativa de a fora rata de succes n accesul la memoria ascuns la 0.
Cu toate acestea, dac nu se nelege cu absolut precizie algoritmul de manipulare a memoriei as-
cunse, trebuie procedat cu grij.
Memorarea datelor n tampoane poate avea acelai efect. Se cunoate un program utilitar popu-
lar 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 trans-
misie. Dac este suficient spaiu n tampon, msurarea a 1000 de apeluri UDP nu nseamn neap-
504 NIVELUL TRANSPORT CAP. 6


rat 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 fcu-
te 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.
Atenie la 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-42. 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 - ),
unde este ncrcarea, astfel nct valorile adevrate pot arta mai degrab ca linia ntrerupt, care
crete mult mai repede dect liniar.

Fig. 6-42. Rspunsul, ca o funcie de ncrcare.
6.6.3 Proiectarea de sistem pentru performane superioare
Msurarea i ajustarea pot mbunti considerabil performanele, dar ele nu pot substitui o pro-
iectare fcut bine de la nceput. O reea proiectat superficial poate fi mbuntit tot n aceeai
msur. O soluie mai bun este s se refac totul de la temelie.
SEC. 6.6 ELEMENTE DE PERFORMAN 505

n 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 la proiectarea de
sistem, i aceasta pentru c programul i sistemul de operare sunt deseori mai importante dect
ruterul i echipamentul de interfa. Cele mai multe din aceste idei constituiau cunotine de baz
ale proiectanilor de reele, care erau propagate din generaie n generaie pe cale oral. Ele au fost
prima oar enunate explicit de Mogul (1993); expunerea noastr merge n mare parte n paralel cu
a sa. O alt surs relevant este (Metcalfe, 1993).
Regula #1: Viteza procesorului este mai important dect viteza reelei.
O experien ndelungat a artat c n aproape toate reelele, suprancrcarea indus de siste-
mul 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 s, corespunznd unei cereri minime
(64 de octei) urmate de un rspuns minim (64 de octei). n realitate, evitarea ntrzierii suplimen-
tare introduse de software i obinerea timpului RPC ct de ct apropiat de cel teoretic este o reali-
zare considerabil.
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 su-
prancrcare crete cu rapiditate.
n plus fa de suprancrcarea TPDU-ului, trebuie considerat i suprancrcarea datorat nive-
lurilor inferioare. Fiecare sosire a unui pachet genereaz o ntrerupere. Pe un procesor cu band de
asamblare modern, fiecare ntrerupere fragmenteaz banda de asamblare a procesorului, interfer
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 trimi-
se 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 de a face exact acest lucru.
Regula #3: Minimizarea numrului de comutri 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 ascuns. 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 recepto-
rului, 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.
506 NIVELUL TRANSPORT CAP. 6



Fig. 6-43. Patru comutri de context pentru fiecare pachet,
cu un controlor de reea n spaiul utilizator.

n cel mai bun caz, sosirea unui pachet produce o comutare de context din modul utilizator cu-
rent 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 con-
texte suplimentare. 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 prezen-
tat de fig. 6-43. Toate aceste comutri de contexte pentru fiecare pachet consum mult din timpul
procesorului i au un efect distrugtor asupra performanelor reelei.
Regula #4: Minimizarea numrului de copieri.
Efectuarea unor copii multiple este i mai duntoare dect comutrile multiple de contexte. Nu
este nimic deosebit n faptul c un pachet proaspt recepionat este copiat de trei sau patru ori nain-
te 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 al nivelului reea, apoi ntr-unul 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). A face trei copii ale fiecrui pachet la
cinci instruciuni copiate pe fiecare cuvnt de 32 de bii, necesit 15/4 sau aproximativ patru instruc-
iuni per octet copiat. Pe un procesor de 500 MIPS, o instruciune dureaz 2 ns deci fiecare octet
necesit 8 ns sau aproximativ 1 ns per bit, dnd o rat de transfer de aproximativ 1 Gbps. innd
cont i de prelucrarea antetului, tratarea ntreruperilor i a comutrilor de contexte, se pot atinge
500 Mbps, aceasta fr a pune la socoteal prelucrarea efectiv a datelor. Evident, controlul unei
linii Ethernet de 10 Gbps care funcioneaz la vitez maxim, nici nu intr n discuie.
De fapt, probabil c nici o linie de 500 Mbps nu poate fi manipulat la vitez maxim. n calculul
anterior am presupus c o main cu 500 MIPS poate executa oricare 500 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 zece ori mai lente dect instruciunile registru-
registru (adic 20 ns / instruciune). Dac 20 de procente din instruciuni chiar refer memoria (adi-
c datele necesare nu se afl n memoria tampon), ceea ce este de ateptat cnd este vorba despre
pachetele care vin, timpul mediu de execuie este 5.6 ns (0.8x2+0.2x20). Cu patru instruciuni/octet,
SEC. 6.6 ELEMENTE DE PERFORMAN 507

avem nevoie de 22.4 ns / octet, sau 2.8 ns / bit, care nseamn aproximativ 357 Mbps. Considernd un
procent de 50 suprancrcare obinem 178 Mbps. De notat c echipamentul suport nu ajut n acest
caz. Problema este c sistemul de operare execut prea multe operaii de copiere.
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 sis-
temului 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 tetanosului: 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 mi-
nimizate. Atunci cnd expir un contor, se repet de regul o aciune. Dac este ntr-adevr necesa-
r repetarea aciunii respective, atunci asta este, dar repetarea ei fr rost reprezint o risip.
Modalitatea de a evita un efort 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 (puin probabil) n care un TPDU se pierde. Un
contor care expir atunci cnd nu ar trebui, consum 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 aces-
tui program. Pentru mai multe informaii, pot fi citite (Clark i alii 1989; i Chase i alii, 2001).
Suprancrcarea indus de prelucrarea TPDU-urilor are dou componente: suprancrcare per
TPDU i suprancrcare per octet. Ambele trebuie s fie abordate. 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 interiorul proce-
508 NIVELUL TRANSPORT CAP. 6


sului emitor. n fig. 6-44, 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 cum-
va este vorba de cazul normal: starea este STABILIT, nici o parte nu ncearc s nchid conexiu-
nea, un TPDU normal (adic unul care nu e n afara limitelor) este n curs de a fi transmis i la re-
ceptor este disponibil un spaiu fereastr suficient. Dac toate condiiile sunt ndeplinite, nici un test
suplimentar nu mai este necesar i poate fi acaparat calea rapid prin entitatea de transport emi-
toare. De obicei, aceast cale este acaparat n majoritatea timpului.



Fig. 6-44. Calea rapid de la emitor la receptor este indicat printr-o linie groas.
Paii de prelucrare ai acestei ci sunt reprezentai prin dreptunghiuri umbrite.

n cazul obinuit, 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 cm-
puri care ulterior se modific de la un TPDU la altul sunt suprascrise n tampon. n 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-44). n final, nive-
lul 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-45(a) prezint antetul TCP. Cmpurile haurate 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
[vezi fig. 6-45(b)] n tampon, completeaz cmpul Identificare i calculeaz suma sa de control. Pa-
chetul este acum gata pentru transmisie.
SEC. 6.6 ELEMENTE DE PERFORMAN 509


Fig. 6-45. (a) Antetul TCP. (b) Antetul IP. n ambele cazuri, cmpurile haurate
se obin din prototip, fr nici o modificare.

S aruncm o privire asupra prelucrrii pe calea rapid n cazul receptorului din fig. 6-44. Pasul 1
const n localizarea nregistrrii de conexiune din TPDU-ul recepionat. 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 locali-
zat, 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 nregis-
trare 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: sta-
rea 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 nseam-
n 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. Toto-
dat, suma de control este calculat chiar pe parcursul copierii, eliminnd astfel trecerile suplimen-
tare pe secvena de date. Dac suma de control este corect, nregistrarea de conexiune este actuali-
zat 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 tam-
poanelor i al contoarelor de timp. n controlul tampoanelor, ideea const n evitarea copierilor inu-
tile, aa cum s-a menionat anterior. Controlul contoarelor de timp este important, deoarece aproa-
pe 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.
O schem uzual const n utilizarea unei liste mbuntite a evenimentelor generate de con-
toare, 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
510 NIVELUL TRANSPORT CAP. 6


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 cap-
tul 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-46.
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-46 nu poate
suporta contoare care expir dup T + 15.

Fig. 6-46. O roat a timpului.

Cu fiecare impuls de ceas indicatorul de timp curent este avansat cu o poziie (circular). Dac in-
trarea indicat este nenul, sunt prelucrate toate contoarele asociate ei. Mai multe variaiuni pe
aceast tem sunt discutate n (Varghese i Lauck, 1987).
6.6.5 Protocoale pentru reele gigabit
La nceputul anilor 90 au nceput s apar reele gigabit. Prima reacia a oamenilor a fost s uti-
lizeze 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, pe msur ce evolum ctre reele tot mai rapide.
SEC. 6.6 ELEMENTE DE PERFORMAN 511

Prima problem este c multe protocoale utilizeaz secvene de numere de 32 de bii. Cnd a
aprut Internetul, liniile ntre rutere erau mai ales linii nchiriate de 56 Kbps, astfel c unui calcula-
tor gazd care mergea la vitez maxim i trebuia mai mult de o sptmn s treac prin toate nu-
merele de secven. Pentru proiectanii de TCP, 2
32
a fost o aproximaie destul de decent a infinitu-
lui, pentru c era mic pericolul ca pachete vechi s mai fie prin preajm la o sptmn dup ce au
fost transmise. Cu o linie Ethernet de 10 Mbps, timpul de parcurgere a numerelor de secven a de-
venit de 57 de minute, mult mai mic, dar nc administrabil. Cu o linie Ethernet de 1 Gbps transmi-
nd date prin Internet, timpul de parcurgere este de aproximativ 34 secunde, mult sub timpul ma-
xim de via al unui pachet n Internet, de 120 de secunde. Dintr-o dat, 2
32
nu mai este o aproxima-
re att de bun a infinitului, din moment ce un transmitor poate cicla prin spaiul de secven, n
timp ce pachetele vechi exist nc. RFC 1323 ofer totui o fereastr de ieire.
Problema este c muli proiectani de protocoale au plecat de la presupunerea c timpul nece-
sar consumrii spaiului numerelor de secven depete cu mult timpul maxim de via al 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 pre-
supunere 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 comu-
nicaii! Ne bazm pe voi.) n anii 70, ARPANET-ul opera la 56 Kbps i avea calculatoare care func-
ionau la aproape 1 MIPS. Pachetele erau de 1008 bii i astfel ARPANET-ul putea livra aproxima-
tiv 56 pachete/sec. Avnd disponibile 18 ms pentru fiecare pachet, o main gazd putea s-i permi-
t 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 1000 MIPS care interschimb pache-
te de 1500 de octei pe o linie gigabit. Pachetele pot curge cu o vitez de peste 80000 pe secund,
astfel nct, dac vrem s rezervm jumtate din puterea procesorului pentru aplicaii, prelucrarea
unui pachet trebuie s se ncheie n 6,25 sec. n 6,25 sec, un calculator de 1000 MIPS poate execu-
ta doar 6250 instruciuni, doar 1/3 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 tre-
buie s devin mai simple.
O a treia problem este aceea c protocolul cu ntoarcere n n pai are performane slabe pe linii
cu un produs lrgime de band-ntrziere de valoare mare. S considerm de exemplu o linie de
4000 km opernd la 1 Gbps. Timpul de transmisie dus-ntors este de 40 ms, timp n care un emitor
poate transmite 5 megaoctei. Dac se detecteaz o eroare, atunci vor fi necesare 40 ms nainte ca
emitorul s fie avertizat de acest lucru. Dac este utilizat algoritmul cu ntoarcere n n pai, emi-
torul nu va avea de retransmis doar pachetul eronat, ci i toi cei 5 megaoctei care au urmat dup el.
n mod clar, are loc o risip mare de resurse.
O a patra problem este aceea c liniile gigabit sunt fundamental diferite de liniile megabit, linii-
le gigabit de lungime mare fiind limitate de ntrziere mai degrab dect de lrgimea de band. n
fig. 6-47 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 ms a circuitului dus-ntors domin acea
512 NIVELUL TRANSPORT CAP. 6


milisecund necesar pentru a pune bitul pe fir. Creteri suplimentare ale lrgimii de band aproape
c rmn fr efect.

Fig. 6-47. Timpul necesar transferului i confirmrii unui fiier de un megabit
pe o linie de 4000 km.

Fig. 6-47 are implicaii nedorite pentru protocoalele de reea. Ea arat 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, variana 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 fluctuante.
S revenim acum de la identificarea problemelor la modalitile lor de rezolvare. Vom face, pen-
tru nceput, cteva remarci generale, apoi vom analiza mecanismele de protocol, aspectul pachetelor
i programele de protocol.
Principiul de baz pe care toi proiectanii de reele gigabit ar trebui s-l 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 efectua-
te de protocoale, deci acestea trebuie reduse la minim. Clar c proiectanii procesorului IPv6 au n-
eles acest principiu.
O modalitate tentant pentru accelerarea lucrurilor este de a construi interfee rapide cu reea-
ua 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
SEC. 6.6 ELEMENTE DE PERFORMAN 513

procesor i cu propriul program. Pentru a asigura faptul c un co-procesor de reea este mai ieftin
dect procesorul 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 un mit acela c procesorul principal ar avea altceva de fcut n acest
timp. Mai mult dect att, atunci cnd comunic dou procesoare independente, pot aprea condi-
ii de curs, 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 prin-
cipal s fac toat treaba.
S studiem acum noiunea de reacie n protocoalele de mare vitez. Datorit buclei de ntrzie-
re (relativ) lung, reacia ar trebui evitat: receptorului i ia prea mult timp pentru a anuna emito-
rul. 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 emitoru-
lui 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 iro-
sirea 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 re-
surselor are de asemenea avantajul diminurii fluctuaiilor. Pe scurt, migrarea spre viteze mari m-
pinge inexorabil proiectarea spre operaii orientate pe conexiuni sau spre ceva foarte apropiat de
acestea. Desigur, dac lrgimea de band nu va mai fi o problem n viitor nct nimnui s nu-i mai
pese de pierderi, regulile de proiectare vor deveni foarte diferite.
n reelele gigabit, o importan deosebit trebuie acordat organizrii 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 ndeplini scopul i pentru a fi aliniate la cuvnt,
fiind astfel mai uor de prelucrat. n acest context, suficient de mari nseamn eliminarea proble-
melor 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
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 copie-
rii, 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. 1500 de octei este
prea puin.
O alt caracteristic important este posibilitatea de a trimite o cantitate rezonabil de informa-
ie o dat cu cererea de conexiune. n acest fel se poate salva un timp de comunicaie dus-ntors.
514 NIVELUL TRANSPORT CAP. 6


n 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 eroa-
re trebuie s treac pe planul doi.
Un al doilea aspect legat de programe este minimizarea timpului de copiere. Aa cum am vzut
mai devreme, copierea datelor introduce n general un cost suplimentar. 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 cu-
vinte, cel mai rapid mod de a copia 1024 de cuvinte este de a avea 1024 de instruciuni MOVE una
dup cealalt (sau 1024 de perechi ncrcare-memorare). Rutina de copiere este critic ntr-o ase-
menea msur, nct, dac nu exist alt modalitate de a pcli compilatorul ca s produc cu preci-
zie codul optimal, ea ar trebui scris de mn, cu mult atenie, direct n cod de asamblare.


6.7 REZUMAT
Nivelul transport reprezint cheia pentru nelegerea protocoalelor organizate pe niveluri. El
furnizeaz diferite servicii, cel mai important dintre acestea fiind fluxul de octei capt-la-capt de la
emitor la receptor, fiabil i orientat pe conexiuni. El este accesat prin primitive de serviciu care
permit stabilirea, utilizarea i eliberarea conexiunilor. O interfa de nivel de transport obinuit este
cea oferit de soclurile Berkeley.
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 pro-
tocoalelor 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.
Chiar i n cazul unui nivel reea complet fiabil, nivelul transport are suficient de mult de lucru.
El trebuie s controleze toate primitivele de serviciu, toate conexiunile i contoarele de timp i trebu-
ie s aloce i s utilizeze credite.
Internetul are dou protocoale de transport principale: UDP i TCP. UDP este un protocol neo-
rientat pe conexiune care este n principal un ambalaj pentru pachetele IP, cu caracteristicile supli-
mentare de multiplexare i demultiplexare a proceselor multiple folosind o singura adresa de IP.
UDP poate fi folosit pentru interaciunile client-server, de exemplu, utiliznd RPC. De asemenea
poate fi folosit pentru construirea protocoalelor n timp real cum ar fi RTP.
Principalul protocol de transport n Internet este TCP. El ofer un flux sigur, bidirecional de oc-
tei. El utilizeaz un antet de 20 de octei pentru toate segmentele. Segmentele pot fi fragmentate de
rutere n cadrul 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 propui de
Nagle, Clark, Jacobson, Karn i alii. Legturile fr fir adaug o varietate de complicaii TCP-ului.
SEC. 6.8 PROBLEME 515

TCP Tranzacional este o extensie a TCP-ului care se ocup de interaciunile client-server cu un
numr redus de pachete.
Performanele reelei sunt dominate n mod tipic de protocol i de costul suplimentar datorat
tratrii 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.


6.8 PROBLEME
1. n exemplele noastre de primitive de transport din fig. 6-2, 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-4 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% fia-
bil i nu pierde pachete niciodat. Ce modificri sunt necesare (dac sunt necesare) n fig. 6-4?
3. n ambele pri ale fig. 6-6 este un comentariu conform cruia valoarea SERVER_PORT tre-
buie s fie aceeai i n client i n server. De ce este acest lucru att de important?
4. S presupunem c pentru generarea numerelor de secven iniiale se utilizeaz o schem diri-
jat de ceas cu un contor de timp de 15 bii. Ceasul genereaz un impuls la fiecare 100 ms i du-
rata de via maxim a unui pachet este de 60 sec. Ct de des este necesar s aib loc o resin-
cronizare
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 nece-
sar. Sunt posibile interblocri n aceast situaie? Dai un exemplu sau artai c nu exist nici o
interblocare.
7. 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?
8. S considerm problema recuperrii dup defectarea unei maini gazd (adic 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?
9. Sunt posibile interblocrile pentru entitile transport descrise n text (fig. 6-20)?
516 NIVELUL TRANSPORT CAP. 6


10. Din pur curiozitate, programatorul entitii transport din fig. 6-20 a decis s pun contoare n
interiorul procedurii sleep, pentru a colecta astfel statistici despre vectorul conn. ntre acestea
se afl i numerele de conexiuni din fiecare dintre cele apte stri posibile n
i
(i=1,, 7). Dup
scrierea unui program FORTRAN serios pentru a analiza datele, programatorul nostru desco-
per c relaia n
i
= MAX_CONN pare s fie totdeauna adevrat. Exist i ali invariani care
s implice doar aceste apte variabile?
11. Ce se ntmpl dac utilizatorul entitii transport din fig. 6-20 trimite un mesaj de lungime 0?
Discutai semnificaia rspunsului.
12. Pentru fiecare eveniment care poate aprea n entitatea transport din fig. 6-20, spunei dac
este sau nu ca utilizatorul s doarm (eng.: sleep) n starea transmisie.
13. Discutai avantajele i dezavantajele creditelor fa de protocoalele cu fereastr glisant.
14. De ce exist UDP? Nu ar fi fost suficient ca procesul utilizator s fie lsat s trimit pachete
bloc IP?
15. Se consider un protocol simplu la nivelul aplicaiei, construit pe UDP, care permite unui client
s recupereze un fiier de la un server la distan aflat la o adres bine cunoscut. Clientul tri-
mite mai nti o cerere cu numele fiierului, iar serverul rspunde cu o secven de pachete de
date coninnd diferite pri din fiierul cerut. Pentru a asigura fiabilitate i livrare secvenial,
clientul i serverul folosesc un protocol pas-cu-pas. Ignornd problema evident a performan-
ei, vedei vreo problem la acest protocol? Gndii-v atent la posibilitatea terminrii brute a
proceselor.
16. 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?
17. 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 pu-
tei trage?
18. Att UDP, ct i TCP, folosesc numere de port pentru a identifica entitatea destinaie cnd
livreaz mesaje. Dai dou motive pentru care aceste protocoale au inventat un nou ID abstract
(numere de port), n loc s foloseasc ID-uri de procese, care existau deja cnd aceste proto-
coale au fost proiectate.
19. Care este dimensiunea total a MTU TCP, incluznd suprancrcarea TCP-ului i IP-ului dar
neincluznd suprancrcarea nivelului legtur de date?
20. Fragmentarea i reasamblarea datagramelor sunt controlate de IP i sunt invizibile TCP-ului.
nseamn acest lucru c TCP-ul nu trebuie s-i fac griji pentru datele care sosesc n ordine
eronat?
21. RTP este utilizat pentru a transmite date audio de calitatea CD-ului, ceea ce nseamn o pere-
che de eantioane pe 16 bii de 44.100 de ori pe secund, un eantion pentru fiecare dintre ca-
nalele stereo. Cte pachete pe secund trebuie s transmit RTP?
SEC. 6.8 PROBLEME 517

22. Ar fi posibil s fie plasat cod RTP n nucleul sistemului de operare, alturi de cod UDP? Expli-
cai rspunsul.
23. 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?
24. n fig. 6-29 am vzut c alturi de cmpul Acknowledgement de 32 de bii, este un bit ACK n al
patrulea cuvnt. Acesta adaug cu adevrat ceva? De ce da, sau de ce nu?
25. Informaia util maxim dintr-un segment TCP este de 65495 octei. De ce a fost ales un nu-
mr att de straniu?
26. Descriei dou moduri de a ajunge n starea SYN RCVD din fig. 6-28.
27. Prezentai un dezavantaj potenial al algoritmului Nagle atunci cnd este utilizat ntr-o reea
puternic congestionat.
28. S considerm efectul utilizrii startului lent pe o linie cu timpul circuitului dus-ntors de 10
ms i fr congestie. Fereastra receptorului este de 24 Koctei i dimensiunea maxim a seg-
mentului este de 2 Koctei. Ct timp trebuie s treac nainte ca prima fereastr complet s
poat fi trimis?
29. 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 1 Koctet.
30. Dac timpul circuitului TCP dus-ntors, RTT, este la un moment dat 30 ms i urmtoarele con-
firmri sosesc dup 26, 32 i, respectiv, 24 ms, care este noul RTT estimat folosind algoritmul
Jacobson? Utilizai =0.9.
31. O main TCP trimite cadre de 65535 octei pe un canal de 1 Gbps pentru care ntrzierea pe
un singur sens este de 10 ms. Care este productivitatea maxim care poate fi atins? Care este
eficiena liniei?
32. Care este cea mai mare vitez a liniei la care o main gazd poate transmite pachete TCP de
1500 octei cu un timp de via care poate fi de maxim 120 sec fr ca numrul de secven s
se repete? Luai n considerare suprancrcarea de la TCP, IP i Ethernet. Presupunei c se
pot transmite continuu cadrele Ethernet.
33. 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 co-
nexiune?
34. 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 ms de 270000 de ori i 1 de 730000 de ori. Care
este timpul de recepie al unui TPDU?
518 NIVELUL TRANSPORT CAP. 6


35. Un procesor execut instruciuni la o vitez de 1000 MIPS. Informaia poate fi copiat cte 64
de bii odat, fiecare copiere a unui cuvnt costnd zece instruciuni. Dac un pachet recepio-
nat trebuie s fie copiat de patru ori, poate sistemul s fac fa unei linii de 1 Gbps? Pentru a
simplifica, presupunem c toate instruciunile, inclusiv acelea de citire/scriere din memorie, ru-
leaz la viteza maxim de 1000 MIPS.
36. 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 reve-
nirii 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.
37. Dai un avantaj al RPC pe UDP fa de TCP tranzacional. Dai un avantaj al T/TCP fa de RPC.
38. n fig. 6-40(a), vedem c sunt necesare 9 pachete pentru a realiza RPC-ul. Exist situaii n care
sunt necesare exact 10 pachete?
39. n seciunea 6.6.5 am calculat c o linie gigabit livreaz unei maini gazd 80000 de pachete pe
secund, permindu-i doar 6250 de instruciuni pentru a prelucra un pachet i lsnd doar ju-
mtate din capacitatea procesorului pentru aplicaii. Acest calcul presupune un pachet de 1500
octei. Refacei calculul pentru pachetele ARPANET de dimensiune de 128 octei. n ambele
cazuri, presupunei c dimensiunile pachetelor date includ toate suprancrcrile.
40. 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 Koctet?
41. Calculai produsul dintre ntrziere i limea de band pentru urmtoarele reele: (1) T1 (1,5
Mbps), (2) Ethernet (10 Mbps), (3) T3 (45 Mbps) i (4) STS-3 (155 Mbps). Presupunei RTT
de 100 ms. Amintii-v ca antetul TCP-lui are 16 bii rezervai pentru Dimensiunea Ferestrei.
Care sunt implicaiile din punctul de vedere al calculelor voastre?
42. Care este produsul dintre ntrziere i limea de band pentru un canal de 50 Mbps pe un sa-
telit geostaionar? Dac pachetele sunt toate de 1500 de octei (incluznd suprancrcarea), ct
de mare ar trebui s fie fereastra n pachete?
43. Serverul de fiiere din fig. 6-6 este departe de a fi perfect i i-ar fi folositoare cteva mbunt-
iri. Facei urmtoarele modificri:
a) Dai clientului un al treilea argument care specific un interval de octei.
b) Adugai un flag w de client care permite fiierului s fie scris pe server.
44. 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
nemaiaflndu-se n subreea.
SEC. 6.8 PROBLEME 519

45. 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 clto-
reasc doar de la maina A la maina B i deloc n sens invers. Experimentai cu diferite strate-
gii 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 productivita-
tea total atins n ambele cazuri.
46. Proiectai i implementai un sistem de discuii care permite mai multor grupuri de utilizatori s
discute. Coordonatorul discuiilor se afl la o adres de reea bine cunoscut, folosete UDP
pentru comunicarea cu clienii de discuii, seteaz serverele de discuii pentru fiecare sesiune de
discuii, i menine un director de sesiuni de discuii. Este un server de discuii pentru fiecare se-
siune de discuii. Un server de discuii folosete TCP pentru comunicaie cu clieni. Un client de
discuii permite utilizatorilor s porneasc, s intre sau s ias dintr-o sesiune de discuii. Proiec-
tai i implementai codul pentru coordonator, server i client.

521
7
NIVELUL APLICAIE
Dup ce am epuizat toate preliminariile putem aborda nivelul unde pot fi gsite toate aplicaiile.
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, ne vom ocupa de unul dintre
acestea. Subiectul n discuie este DNS, care se ocup de conveniile de nume n Internet. Dup ace-
ea vom examina trei aplicaii reale: pota electronic, World Wide Web (rom.: reea de ntindere
planetar) i, n final, multimedia.


7.1 DNS - SISTEMUL NUMELOR DE DOMENII
Cu toate c teoretic programele ar putea s se refere la sistemele gazd, la cutiile potale i la alte
resurse prin adresa lor de reea (de exemplu prin adresa IP), aceste adrese sunt greu de memorat de
ctre oameni. De asemenea, n trimiterea de pot electronic la tana@128.111.24.41 ar nsemna c
dac furnizorul de servicii Internet sau organizaia Tanei mut serverul de pot pe o main diferi-
t, cu o adres IP diferit, adresa ei de e-mail se va schimba. De aceea au fost introduse nume ASCII
pentru a separa numele mainilor de adresele mainilor. n acest fel, adresa Tanei ar putea fi ceva de
genul tana@art.ucsb.edu. Cu toate acestea, reeaua nelege numai adrese numerice, deci este nece-
sar un mecanism care s converteasc irurile ASCII n adrese de reea. n seciunile urmtoare se
va studia cum este realizat aceast conversie n Internet.
522 NIVELUL APLICAIE CAP. 7


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 din cauza ncrcrii i a latenei. Pentru a rezolva aceste probleme, a fost inventat
DNS (Domain Name System - Sistemul numelor de domenii).
Esena DNS-ului const ntr-o schem ierarhic de nume de domenii i a unui sistem de baze de
date distribuite pentru implementarea acestei scheme de nume. n 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 resolver,
transferndu-i numele ca parametru. Putem vedea un exemplu de resolver, gethostbyname, n fig. 6-
6. Resolver-ul trimite un pachet UDP la serverul DNS local, care caut numele i returneaz adresa
IP ctre resolver, care o returneaz apelantului. narmat cu adresa IP, programul poate stabili o co-
nexiune TCP cu destinaia sau i poate trimite pachete UDP.
7.1.1 Spaiul de nume 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, Internetul este divizat n peste 200 domenii de nivel superior, fiecare domeniu cu-
prinznd 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-1. Frunzele arborelui reprezint domenii care nu au subdomenii (dar, bineneles, con-
in sisteme). Un domeniu frunz poate conine un singur sistem gazd sau poate reprezenta o firm,
deci s conin mii de sisteme gazd.
Domeniile de pe primul nivel se mpart n dou categorii: generice i de ri. Domeniile generice
sunt com (comercial), edu (instituii educaionale), gov (guvernul federal al SUA), int (organizaii
internaionale), mil (forele armate ale SUA), net (furnizori Internet) i org (organizaii nonprofit).
Domeniile de ri includ o intrare pentru fiecare ar, cum se definete n ISO 3166.
n noiembrie 2000, ICANN a aprobat patru domenii de nivel superior noi, de interes general, i
anume, biz (afaceri), info (informaii), name (nume de persoane), i pro (profesii, ca de exemplu doc-
tori sau avocai). n plus, au fost introduse trei domenii de nivel superior cu caracter specializat, ce-
rute de ctre anumite industrii. Acestea sunt aero (industria aerospaial), coop (cooperative), i
museum (muzee). n viitor vor fi adugate alte domenii superioare.

SEC. 7.1 DNS - SISTEMUL NUMELOR DE DOMENII 523


Fig. 7-1. O poriune a spaiului numelor de domenii din Internet.

Pe de alt parte, pe msur ce Internetul devine mai comercial, el devine i mai discutabil. S lu-
m domeniul pro, de exemplu, care a fost proiectat pentru profesionitii atestai. Dar cine este un
profesionist? i de cine este atestat? Dar cum rmne cu fotografii, profesorii de pian, magicienii,
instalatorii, frizerii, exterminatorii, artitii de tatuaje, mercenarii i prostituatele? Sunt acestea mese-
rii i sunt acceptabile pentru domeniile pro? i daca da, cine atest diveri practicieni?
n general, obinerea unui domeniu de nivel secundar, ca de exemplu nume-al-companiei.com,
este uoar. Pur i simplu este necesar doar consultarea serviciului de nregistrare al nivelului su-
perior corespunztor (com n acest caz) pentru a vedea dac numele dorit este disponibil i nu apar-
ine altcuiva. Dac nu sunt probleme, solicitantul pltete o mic tax anual i primete numele.
Pn acum, cam toate cuvintele comune (din englez) au fost luate n domeniul com. ncercai nu-
me de articole casnice, animale, plante, pri ale corpului etc. Aproape toate sunt luate.
Fiecare domeniu este identificat prin calea n arbore de la el la domeniul (fr nume) rdcin.
Componentele sunt separate prin puncte (pronunat dot). Astfel, departamentul tehnic de la Sun
Microsystems ar putea fi eng.sun.com, n loc de numele n stil UNIX /com/sun/eng. De notat c
aceast numire ierarhic face ca eng.sun.com s nu intre n conflict cu posibila utilizare a lui eng din
eng.yale.edu, care ar putea fi folosit pentru departamentul de limba englez de la Yale.
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 le 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, Edu, sau EDU n-
seamn acelai lucru. Componentele numelor pot avea o lungime de cel mult 63 caractere, iar n-
treaga 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, ns puine organizaii n afar de cele multinaionale o fac (de
exemplu, sony.com i sony.nl).
Fiecare domeniu controleaz cum sunt alocate domeniile de sub el. De exemplu, Japonia are
domeniile ac.jp i co.jp echivalente cu edu i com. Olanda nu face nici o distincie i pune toate orga-
524 NIVELUL APLICAIE CAP. 7


nizaiile direct sub nl. Astfel urmtoarele trei nume sunt toate departamente de calculatoare (com-
puter 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.edu, acesta are nevoie de permisiu-
nea celui care administreaz cs.yale.edu. Similar, dac este acreditat o nou universitate, s zicem Uni-
versitatea din Northern South Dakota, ea trebuie s cear administratorului domeniului edu s-i atri-
buie 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 sub-
domenii, 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 exem-
plu, 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 departa-
mentul de tiina calculatoarelor este mprit n dou cldiri (Babbage Hall i Turing Hall), toate
sistemele gazd din ambele cldiri aparin aceluiai domeniu.
7.1.2 nregistrri de resurse
Fiecrui domeniu, fie c este un singur calculator gazd, fie un domeniu de nivel superior, i poa-
te fi asociat o mulime de nregistrri de resurse (resource records). Pentru un singur sistem gazd,
cea mai obinuit nregistrare de resurs este chiar adresa IP, dar exist multe alte tipuri de nregis-
trri de resurse. Atunci cnd un resolver trimite un nume de domeniu ctre un 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 re-
surse sunt codificate binar, n majoritatea expunerilor ele sunt prezentate ca text ASCII, cte o nre-
gistrare de resurs pe linie. Formatul pe care l vom utiliza este urmtorul:

Nume_domeniu Timp_de_via Clas Tip Valoare

Nume_domeniu (domain_name) precizeaz domeniul cruia i se aplic aceast nregistrare. n
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.
Cmpul Timp_de_via (time_to_live) d o indicaie despre ct de stabil este nregistrarea. In-
formaia 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.
Al treilea cmp dintr-o nregistrare de resurs este Clasa (class). Pentru informaiile legate de In-
ternet este tot timpul IN. Pentru alte informaii pot fi folosite alte coduri, ns n practic acestea se
ntlnesc rar.
Cmpul Tip (type) precizeaz tipul nregistrrii. Cele mai importante tipuri sunt prezentate n
fig. 7-2.

SEC. 7.1 DNS - SISTEMUL NUMELOR DE DOMENII 525

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 electronic
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-2. Principalele tipuri de nregistrri de resurse DNS.

O nregistrare SOA furnizeaz numele sursei primare de informaii despre zona serverului de
nume (descris mai jos), adresa de e-mail a administratorului, un identificator unic i diveri indica-
tori i contoare de timp.
Cel mai important tip de nregistrare este nregistrarea A (adres). Ea pstreaz adresa IP de 32
de bii a unui sistem 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 fieca-
re adres IP).
Urmtoarea ca importan este nregistrarea MX. Aceasta precizeaz numele sistemului gazd
pregtit s accepte pota electronic pentru domeniul specificat. El este folosit deoarece nu toate ma-
inile sunt pregtite s accepte pota electronic pentru domeniul specificat. Dac cineva vrea s-i tri-
mit un e-mail, de exemplu, lui bill@microsoft.com, sistemul care trimite trebuie s gseasc un server
la microsoft.com dispus s accepte e-mail. nregistrarea MX poate s furnizeze aceast informaie.
nregistrrile NS specific serverele de nume. De exemplu, fiecare baz de date DNS are n mod
normal o nregistrare NS pentru fiecare domeniu de pe primul nivel, astfel nct, de exemplu, pota
electronic s poat 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 co-
nectare la un sistem de calcul din departamentul de calculatoare de la M.I.T. este paul poate presu-
pune c adresa paul@cs.mit.edu este corect. De fapt aceast adres nu este corect, deoarece do-
meniul 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 pro-
gramele n direcia corect. O astfel de intrare poate fi:

cs.mit.edu 86400 IN CNAME lcs.mit.edu

Ca i CNAME, PTR se refer la un alt nume. Totui, spre deosebire de CNAME, care este n rea-
litate numai o macro-definiie, PTR este un tip de date DNS a crui interpretare depinde de contex-
tul n care este utilizat. n practic este aproape ntotdeauna utilizat pentru asocierea unui nume cu o
adres IP, pentru a permite cutarea adresei IP i obinerea numelui mainii corespunztoare. Aces-
tea se numesc cutri inverse (reverse lookups).
nregistrrile HINFO permit aflarea tipului de main i de sistem de operare crora le cores-
punde domeniul. n sfrit, nregistrrile TXT permit domeniilor s se autoidentifice ntr-un mod
arbitrar. Aceste dou tipuri de nregistrri sunt introduse pentru uurina utilizatorului. Nici una
526 NIVELUL APLICAIE CAP. 7


dintre ele nu este necesar, astfel nct programele nu pot conta pe obinerea lor (i probabil c dac
le obin nu le pot trata).
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 pen-
tru fiecare dintre principalele tipuri de nregistrri este dat n fig. 7-2.
Un exemplu de informaie ce se poate gsi n baza de date DNS a unui domeniu este prezentat
n fig. 7-3. Aceast figur prezint o parte (semi-ipotetic) a bazei de date pentru domeniul cs.vu.nl
prezentat n fig. 7-1. Baza de date conine apte tipuri de nregistrri de resurse.

;Baza de date pentru cs.vu.nl
cs.vu.nl. 86400 IN SOA star boss (9527, 7200, 7200, 241920, 86400)
cs.vu.nl. 86400 IN TXT Divisie Wiskunde en Informatica.
cs.vu.nl. 86400 IN TXT Vrije Universiteit Amsterdam.
cs.vu.nl. 86400 IN MX 1 zephyr.cs.vu.nl.
cs.vu.nl. 86400 IN MX 2 top.cs.vu.nl.
flits.cs.vu.nl. 86400 IN HINFO Sun Unix
flits.cs.vu.nl. 86400 IN A 130.37.16.112
flits.cs.vu.nl. 86400 IN A 192.31.231.165
flits.cs.vu.nl. 86400 IN MX 1 flits.cs.vu.nl.
flits.cs.vu.nl. 86400 IN MX 2 zephyr.cs.vu.nl.
flits.cs.vu.nl. 86400 IN MX 3 top.cs.vu.nl.
www.cs.vu.nl. 86400 IN CNAME star.cs.vu.nl.
ftp.cs.vu.nl. 86400 IN CNAME zephyr.cs.vu.nl.
rowboat IN A 130.37.56.201
IN MX 1 rowboat
IN MX 2 zephyr
IN HINFO Sun Unix

little-sister IN A 130.37.62.23
IN HINFO Mac MacOS

laserjet IN A 192.31.231.216
IN HINFO HP Laserjet IIISi Proprietary

Fig. 7-3. O parte dintr-o posibil baz de date DNS pentru cs.vu.nl.

Prima linie necomentat din fig. 7-3 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 elec-
tronic trimis pentru persoana@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 c flits 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 la flits.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
SEC. 7.1 DNS - SISTEMUL NUMELOR DE DOMENII 527

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 conectat la Internet.
Ceea ce nu este artat (i nu exist n acest fiier) sunt adresele IP utilizate pentru a cuta adrese-
le domeniilor de pe primul nivel. Acestea sunt necesare pentru a cuta sistemele gazd aflate la dis-
tan, dar, deoarece ele nu fac parte din domeniul cs.vu.nl, nu se gsesc n acest fiier. Ele sunt furni-
zate 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. Exist cam o duzi-
n de servere rdcin n lume i fiecare tie adresele IP ale tuturor celorlalte servere de domenii de
nivel superior. Astfel, dac o main tie adresa IP a cel puin unuia din serverele rdcin, el poate
cuta orice nume DNS.
7.1.3 Servere de nume
Teoretic, un singur server de nume poate conine ntreaga baz de date DNS i poate s rspun-
d 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.

Fig. 7-4. O parte din spaiul numelor DNS prezentnd mprirea n zone.

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-1 este artat n fig. 7-4. Fiecare zon conine cte o parte a arborelui precum i numele serve-
re-lor care pstreaz informaia autorizat despre acea zon. n mod normal, o zon va avea un ser-
ver 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 fiabili-
tatea, 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-4, 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 de-
partament 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.
528 NIVELUL APLICAIE CAP. 7


Atunci cnd un resolver are o cerere referitoare la un nume de domeniu, el transfer cererea
unuia din serverele locale de nume. Dac domeniul cutat 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 adminis-
treaz nregistrarea i astfel este ntotdeauna corect. nregistrrile autorizate se deosebesc de nre-
gistrrile 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 pri-
mul nivel al domeniului solicitat. Pentru a clarifica acest proces s considerm exemplul din fig. 7-5.
Aici resolverul de pe flits.cs.vu.nl dorete s tie adresa IP a sistemului gazd linda.cs.yale.edu. n pa-
sul 1 trimite o cerere la serverul de nume local cs.vu.nl. Aceast cerere conine numele de domeniu
cutat, tipul (A) i clasa (IN).

Fig. 7-5. 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-5), edu-server.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 transmi-
te cererea mai departe ctre cs.yale.edu (pas 4), care trebuie s aib nregistrrile autorizate de resur-
se. Deoarece fiecare cerere este de la un client la un 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, deoa-
rece 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_via 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 informaii 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 re-
cursiv (recursive query), deoarece fiecare server care nu are informaia cerut o caut n alt parte
i raporteaz. Este posibil i o alt variant. n acest caz, atunci cnd o cerere nu poate fi rezolvat
local, cererea eueaz, dar este ntors numele urmtorului server de pe calea ce trebuie ncercat.
Unele servere nu implementeaz interogarea recursiv i ntorc ntotdeauna numele urmtorului
server la care s se ncerce.
SEC. 7.2 POTA ELECTRONIC 529

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.
Dei DNS este foarte important pentru funcionarea corect a Internetului, el nu face dect s
pun n coresponden nume simbolice de maini cu adresele lor IP. El nu ajut la localizarea oame-
nilor, resurselor, serviciilor sau obiectelor n general. Pentru localizarea acestora a fost definit un alt
serviciu director, numit LDAP (Lightweight Directory Access Protocol, rom.: Protocol de acces la
cataloage simplificate). El este o versiune simplificat a serviciului de cataloage OSI X.500, descris n
RFC 2251. El organizeaz informaia sub form de arbore i permite cutri pe diferite componente.
Poate fi privit ca o carte de telefon obinuit (de tipul pagini albe). Nu o s intrm n amnunte
referitoare la el n aceast carte, ns putei gsi mai multe informaii n (Weltman i Dahbura, 2000).


7.2 POTA ELECTRONIC
Pota electronic, sau e-mail, cum este cunoscut de ctre numeroii si admiratori, exist de
peste dou decenii. nainte de 1990, era folosit n special n mediul academic. n timpul anilor
1990, a devenit cunoscut publicului larg i a crescut exponenial pn la punctul n care numrul
de mesaje electronice trimise pe zi este acum mult mai mare dect numrul de scrisori tradiionale
(adic pe hrtie).
E-mail-ul, ca majoritatea celorlalte forme de comunicare, are conveniile i stilurile sale proprii.
n particular, el este foarte neprotocolar i are un prag de folosire foarte sczut. Oamenii care n-ar
visa niciodat s sune la telefon sau chiar s scrie o scrisoare unei Persoane Foarte Importante nu
ezit o secund s trimit un e-mail neglijent.
E-mail-ul este plin de jargoane precum BTW (By The Way - apropo), ROTFL (Rolling On The
Floor Laughing a se tvli pe jos de rs) i IMHO (In My Humble Opinion - dup umila mea p-
rere). Muli oameni folosesc n e-mail-urile lor cteva caractere ASCII numite smileys sau emoti-
cons (faa zmbitoare i faa trist). Cteva din cele mai interesante sunt reproduse n fig. 7-6. Pentru
cei mai muli, rotirea crii cu 90 de grade n sensul acelor de ceasornic, le va face mai clare. Pentru o
crticic cu peste 650 smileys, vedei (Sanderson i Dougherty, 1993).

Smiley Semnificaie Smiley Semnificaie Smiley Semnificaie
:-) Sunt fericit =|:-) Abe Lincoln :+) Nas mare
:-( Sunt trist, suprat =):-) Unchiul Sam :-)) Gu
:-| Sunt apatic *<:-) Mo Crciun :-{) Musta
;-) Fac cu ochiul <:-( Dunce #:-) Pr ncurcat
:-(0) ip (-: Australian 8-) Poart ochelari
:-(*) Vomit :-)X Om cu papion C:-) Cap mare

Fig. 7-6. Cteva smileys. Nu vor fi n examenul final :-)

Primele sisteme de pot electronic constau 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:

530 NIVELUL APLICAIE CAP. 7


1. Trimiterea unui mesaj ctre un grup de persoane era incomod. Managerii au nevoie adesea
de aceast facilitate pentru a trimite note i rapoarte tuturor subordonailor.
2. Mesajele nu aveau structur intern, fcnd astfel dificil prelucrarea lor cu ajutorul calcula-
torului. De exemplu, dac un mesaj trimis mai departe era inclus n corpul altui mesaj, ex-
tragerea 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 do-
rea ca toat pota primit n acest timp s fie preluat de ctre secretar, acest lucru nu era
uor de realizat.
5. Interfaa cu utilizatorul era slab integrat cu sistemul de transmisie, cernd utilizatori-
lor 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
i voce.

Pe msur ce s-a ctigat experien, au fost propuse sisteme de pot electronic mai complica-
te. n 1982 au fost publicate propunerile cu privire la e-mail ale ARPANET, sub numele de RFC
821 (protocolul de transmisie) i RFC 822 (formatul mesajelor). Revizii minore, RFC 2821 i RFC
2822, au devenit standarde Internet, totui toat lumea se refer la e-mail gndindu-se la RFC 822.
n 1984, CCITT a emis recomandarea X.400. Dup dou decenii de competiie, sistemele de
pot electronic bazate pe RFC 822 sunt larg rspndite, n timp ce acelea bazate pe X.400 au dis-
prut. Modul n care un sistem ncropit de o mn de absolveni de tiina calculatoarelor a nvins un
standard internaional oficial, puternic susinut de ctre toate PTT-urile din lumea ntreag, de mul-
te 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 acela c X.400 a fost
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. Poate c este i o lecie n spatele acestei poveti. De acea discuia noastr referitoare la e-
mail se va concentra asupra sistemului de e-mail din Internet.
7.2.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: agen-
ii-utilizator, care permit utilizatorilor s citeasc i s trimit scrisori prin pota electronic i agenii
de transfer de mesaje, care transport mesajele de la surs la destinaie. Agenii-utilizator sunt pro-
grame locale, care furnizeaz o metod de a interaciona cu sistemul de e-mail bazat pe comenzi,
meniuri sau grafic. Agenii de transfer de mesaje sunt, de regul, demoni de sistem, adic procese
care se execut n fundal. Sarcina lor este s transfere mesajele prin sistem.
n general, sistemele de pot electronic pun la dispoziie cinci funcii de baz. S aruncm o
privire asupra lor.
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
SEC. 7.2 POTA ELECTRONIC 531

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 importan-
t i poate avea chiar semnificaie juridic. (tii, domnule judector, sistemul meu de pot elec-
tronic 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 l-a primit.
Posibilitile includ eliminarea sa nainte de a-l 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.
n plus fa de aceste servicii de baz, unele sisteme de e-mail, n special cele interne companii-
lor, dispun de o gam variat de faciliti 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 con-
inutului 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.
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 mare dect una stupid, venit de la un vicepreedinte executiv.
O idee fundamental 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-7.

532 NIVELUL APLICAIE CAP. 7



Fig. 7-7. Plicuri i mesaje. (a) pot clasic (b) pot electronic.

7.2.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 iden-
tici. Unele sisteme sunt dirijate prin meniuri sau icoane dau au i alternative mai scurte pe tastatur.
Trimiterea potei electronice
Pentru a trimite un mesaj prin pota electronic, un utilizator trebuie s furnizeze mesajul, adre-
sa destinaie, i eventual ali civa parametri. 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 specializat, 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 utilizator@adres-dns. Deoa-
rece aceste lucruri au fost studiate anterior n acest capitol, nu vom relua materialul respectiv aici.
SEC. 7.2 POTA ELECTRONIC 533

Oricum, merit notat c exist i alte forme de adresare. n particular, adresele X.400 arat radi-
cal diferit de cele DNS. Ele sunt compuse din perechi de forma atribut = valoare, separate de bare
oblice. 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 (Ken
Smith). Sunt posibile multe alte atribute, astfel nct poi trimite mesaje cuiva al crui nume nu-l tii,
atta timp ct tii suficiente alte atribute (de exemplu, compania i funcia). Cu toate c adresele
X.400 sunt mult mai puin convenabile dect cele DNS, cele mai multe sisteme de pot electronic
permit folosirea de pseudonime (aliases, uneori numite i porecle) pentru obinerea numelor sau
adreselor de e-mail corecte ale unei persoane. n consecin, chiar i cu adresele de tip X.400, de
obicei nu este necesar scrierea n ntregime a acelor iruri ciudate.
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 recepto-
rii 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 meadowlark.
arizona.edu, atunci orice mesaj trimis la birders@meadowlark.arizona.edu va fi dirijat ctre Universi-
tatea 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.
Citirea potei electronice
n mod obinuit, cnd este lansat un agent-utilizator, nainte de a afia ceva pe ecran, el se va ui-
ta 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.
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-8 apare n acest caz pe ecran. Fiecare linie se refer la
cte un mesaj. n acest exemplu, cutia potal conine opt mesaje.

# Marcaje Octei Transmitor Subiect
1 K 1030 Asw Changes to MINIX
2 KA 6348 Trudy Not all Trudys are nasty
3 K F 4519 Amy N. Wong Request for information
4 1236 Bal Bioinformatics
5 103610 Kaashoek Material on peer-to-peer
6 1223 Frank Re: Will you review a grant proposal
7 3110 Guido Our paper has been accepted
8 1204 Dmr Re: My students visit

Fig. 7-8. Un exemplu de afiare a coninutului unei cutii potale.

Fiecare linie de afiaj conine cteva cmpuri extrase de pe plicul sau din antetul mesajului co-
respunztor. 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 afia-
te, furniznd un profil al utilizatorului, adic un fiier care descrie formatul de afiare. n exemplul
534 NIVELUL APLICAIE CAP. 7


considerat, primul cmp reprezint numrul mesajului. Al doilea cmp, Marcaje, poate conine un K,
nsemnnd c mesajul nu este nou, dar a fost citit anterior i pstrat n cutia potal; un A, nsem-
nnd 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.
Al treilea cmp specific lungimea mesajului i al patrulea spune cine a trimis mesajul. Din mo-
ment ce el 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.
Dup ce au fost afiate antetele, utilizatorul poate executa oricare dintre comenzile disponibile,
ca de exemplu afiarea unui mesaj, tergerea unui mesaj i aa mai departe. Sistemele mai vechi lu-
crau n mod text i de obicei foloseau comenzi de un caracter pentru diversele operaii, ca de exem-
plu T (scrie mesaj), A (rspunde la mesaj), D (terge mesaj) i F (trimite mai departe). Un argument
specifica mesajul corespunztor. Sistemele mai recente folosesc interfee grafice. De obicei, utiliza-
torul selecteaz un mesaj cu mouse-ul i apoi apas pe o iconi pentru a scrie, rspunde la mesaj,
sau pentru a-l trimite mai departe.
Pota electronic a parcurs un drum lung de pe vremea cnd era doar transfer de fiiere. Ageni-
utilizator sofisticai fac posibil manevrarea unui volum mare de scrisori. Pentru persoane care pri-
mesc i trimit mii de mesaje pe an, asemenea instrumente sunt nepreuite.
7.2.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 con-
centra 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, dou puncte, i, pentru majoritatea cmpu-
rilor, o valoare. RFC 822 a fost creat acum dou decenii i nu distinge clar plicul de cmpurile antet,
cum ar face un standard nou. Cu toate c a fost corectat n RFC 2822, o refacere complet n-a fost
posibil datorit rspndirii sale largi. La o utilizare normal, agentul-utilizator construiete un me-
saj 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-9. Cmpul To:
ofer adresa DNS a receptorului primar. Este permis de asemenea existena de receptori multipli.
Cmpul Cc: 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 importan-
t pentru persoanele implicate, dar este neimportant pentru sistemul de pot. Termenul Cc: (Car-
bon copy - copie la indigo) este puin depit, din moment ce calculatoarele nu folosesc indigo, dar
este bine nrdcinat. Cmpul Bcc: (Blind carbon copy - copie confidenial la indigo) este la fel ca
Cc:, cu excepia c aceast linie este tears din toate copiile trimise la receptorii primari i secun-
dari. Acest element permite utilizatorilor s trimit copii unei a treia categorii de receptori, fr ca
cei primari i secundari s tie acest lucru.

SEC. 7.2 POTA ELECTRONIC 535

Antet Coninut
To: Adresa(ele) de e-mail a(le) receptorului(ilor) primar(i)
Cc: Adresa(ele) de e-mail a(le) receptorului(ilor) secundar(i)
Bcc: 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-9. Cmpurile antet ale lui RFC 822, legate de transportul de mesaje.

Urmtoarele dou cmpuri, From: i Sender:, precizeaz cine a scris i respectiv cine a trimis me-
sajul. Acestea pot s nu fie identice. De exemplu, se poate ca o directoare executiv s scrie un me-
saj, dar ca secretara ei s fie cea care l trimite efectiv. n 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.
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 Return-Path: este adugat de agentul final de transfer de mesaje i are n intenie s indi-
ce cum se ajunge napoi la transmitor. n teorie, aceast informaie poate fi adunat din toate
antetele Received: (cu excepia numelui cutiei potale a transmitorului), dar rareori este completa-
t aa i de obicei conine chiar adresa transmitorului.

Antet Coninut
Date: Data i momentul de timp la care a fost trimis mesajul
Reply-To: Adresa de e-mail la care ar trebui trimise rspunsurile
Message-Id: Numr unic, utilizat ulterior ca referin pentru acest mesaj (identificator)
In-Reply-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

Fig. 7-10. Cteva cmpuri utilizate n antetul lui RFC 822.

n plus fa de cmpurile din fig. 7-9, mesajele RFC 822 pot conine de asemenea o varietate de
cmpuri antet, folosite de agenii-utilizator sau de receptorii umani. Cele mai des ntlnite dintre ele
sunt prezentate n fig. 7-10. Majoritatea lor se explic de la sine, deci nu vom intra n detaliu la toate.
Cmpul Reply-To: este uneori utilizat cnd nici persoana care a compus mesajul, nici cea care l-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 Reply-
To: conine eful departamentului de vnzri, care poate rspunde la ntrebri i primi comenzi.
Acest cmp este foarte folositor cnd transmitorul are dou conturi de e-mail i vrea ca rspunsul
s ajung n cellalt.
Documentul RFC 822 afirm explicit c utilizatorilor le este permis s inventeze noi antete, atta
timp ct acestea ncep cu irul de caractere X-. Se garanteaz c nici o extindere ulterioar nu va
folosi nume ce ncep cu X-, pentru a evita conflictele (suprapunerile) dintre antetele oficiale i cele
536 NIVELUL APLICAIE CAP. 7


personale. Uneori studenii care fac pe detepii includ cmpuri de tipul X-Fruit-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 n-
cheie 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 XYZ nu
este rspunztoare pentru prerile mele; de fapt nu poate nici mcar s le neleag).
MIME - Multipurpose Internet Mail Extensions (extensii de pot cu scop multiplu)
La nceputurile ARPANET, pota electronic consta exclusiv din mesaje de tip text, scrise n en-
glez i exprimate n ASCII. Pentru acest context, RFC 822 realiza sarcina complet: specific
antetele, dar lsa coninutul n ntregime n seama utilizatorilor. n zilele noastre, aceast abordare
nu mai este adecvat pentru Internetul care se ntinde n lumea ntreag. Problemele includ transmi-
sia i recepia de:

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-urile 2045-2049. Aceast so-
luie, numit MIME (Multipurpose Internet Mail Extensions), este n prezent larg utilizat. O vom
descrie n continuare. Pentru informaii suplimentare n legtur cu MIME, vedei RFC-urile.
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-ASCII. Deoa-
rece respect RFC 822, mesajele MIME pot fi trimise utiliznd programele i protocoalele de pot
existente. Tot ceea ce trebuie modificat sunt programele de transmitere i recepie, pe care utilizato-
rii le pot face ei nii.

Antet Coninut
MIME-Version: Identific versiunea de MIME
Content-Description: ir adresat utilizatorului care spune ce este n mesaj
Content-Id: Identificator unic
Content-Transfer-Encoding: Cum este mpachetat corpul pentru transmisie
Content-Type: Natura mesajului

Fig. 7-11. Antetele RFC 822 adugate de ctre MIME.

MIME definete cinci noi antete de mesaje, aa cum se arat n fig. 7-11. Primul dintre acestea
specific pur i simplu agentului-utilizator care primete mesajul c este vorba de un mesaj MIME 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.
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:.
SEC. 7.2 POTA ELECTRONIC 537

Antetul Content-Transfer-Encoding: arat cum este mpachetat pentru transmisie corpul mesaju-
lui, 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 sche-
m 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, re-
prezentnd toate valorile de la 0 la 255 inclusiv. Aceast schem de codificare ncalc protocolul (origi-
nal) de e-mail utilizat n Internet, dar este folosit de unele pri ale Internetului, 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 merge prost. Mesajele utili-
znd 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 me-
saje 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 ur-
m + 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, codi-
ficarea n baz 64 este oarecum ineficient. n locul acesteia se utilizeaz o codificare numit quoted-
printable-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 va-
loarea caracterului reprezentat prin dou cifre hexazecimale.
Rezumnd, datele binare ar trebui trimise codificate n baz 64 sau sub form quoted-printable.
Cnd exist motive ntemeiate pentru a nu utiliza una dintre aceste scheme, este posibil s se specifi-
ce n antetul Content-Transfer-Encoding: o codificare definit de ctre utilizator.
Ultimul antet nfiat n fig. 7-11 este cu adevrat cel mai interesant. El specific natura corpului
mesajului. n RFC 2045 sunt definite apte tipuri, fiecare avnd unul sau mai multe subtipuri. Tipul
i subtipul sunt separate printr-o bar oblic (slash), ca n:

Content-Type: video/mpeg

Subtipul trebuie precizat explicit n antet; nu sunt furnizate valori implicite. Lista iniial de tipuri
i subtipuri specificate n RFC 2045 este prezentat n fig. 7-12. 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.

538 NIVELUL APLICAIE CAP. 7


Tip Subtip Descriere
Plain Text neformatat
Text
Enriched Text incluznd comenzi simple de formatare
Gif Imagini fixe n format GIF
Image
Jpeg Imagini fixe n format JPEG
Audio Basic Sunet
Video Mpeg Film n format MPEG
Octet-stream Secven neinterpretat de octei
Application
Postscript Un document afiabil n PostScript
Rfc822 Un mesaj MIME RFC 822
Partial Mesajul a fost fragmentat pentru transmisie Message
External-body Mesajul n sine trebuie adus din reea
Mixed Pri independente n ordine specificat
Alternative Acelai mesaj n formate diferite
Parallel Prile trebuie vizualizate simultan
Multipart
Digest Fiecare parte este un mesaj RFC 822 complet

Fig. 7-12. Tipurile i subtipurile aparinnd MIME definite n RFC 2045.

Subtipul text/enriched 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 walrus said...

Depinde de sistemul receptor s aleag interpretarea 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.
Cnd Web-ul a devenit popular, a fost adugat un nou subtip, text/html (n RFC 2854) pentru a
permite paginilor Web s fie trimise ntr-un e-mail de tip RFC 822. Un subtip pentru sistemul extins
de marcare, text/xml, este definit in RFC 3023. Vom studia HTML i XML mai trziu n acest capitol.
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 recunoscute de aproape toate programele de navigare, dar exist
i altele care au fost adugate la lista original.
Tipurile video i audio sunt pentru imagini n micare i respectiv pentru imagini crora li se asoci-
az 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. Primul format video definit a fost cel inventat de cei ce se
intituleaz modest Moving Picture Experts Group (MPEG - Grupul de experi n imagini n micare),
dar de atunci au fost adugate i altele. n plus fa de audio/basic, un nou tip audio, audio/mpeg a fost
adugat n RFC 3003 pentru a permite oamenilor s trimit fiiere MP3 prin e-mail.
Tipul application este utilizat ca un colector pentru formatele care necesit prelucrare extern,
neidentificate de nici unul dintre celelalte tipuri. Un octet-stream este doar o secven de octei nein-
SEC. 7.2 POTA ELECTRONIC 539

terpretai. La primirea unui asemenea flux, un agent-utilizator ar trebui probabil s-l afieze, suge-
rndu-i utilizatorului s-l copieze ntr-un fiier i cerndu-i un nume pentru acesta. Procesarea ulte-
rioar 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 perico-
le. PostScript este un ntreg limbaj de programare. Dndu-i-se destul timp, o persoan 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 PostScript
coninut de acesta. Pe lng afiarea unui text, acest program poate citi, modifica, sau terge fiierele
utilizatorului i poate avea i alte efecte laterale neplcute.
Tipul message permite ncapsularea n ntregime a unui mesaj n altul. Aceast schem este util,
de exemplu pentru trimiterea mai departe a e-mailului, cu forward. Cnd un mesaj RFC 822 complet
este ncapsulat ntr-un mesaj exterior, ar trebui utilizat subtipul rfc822.
Subtipul partial face posibil mprirea unui mesaj ncapsulat n buci de mesaj i trimiterea se-
parat a acestora (de exemplu, dac mesajul ncapsulat este prea lung). Parametrii fac posibil re-
asamblarea n ordinea corect a tuturor prilor, la destinaie.
i n sfrit, subtipul external-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 recep-
torului 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).

From: elinor@abcd.com
To: carolyn@xyz.com
MIME-Version: 1.0
Message-Id: <0704760941.AA00747@abcd.com>
Content-Type: multipart/alternative; boundary=qwertyuiopasdfghjklzxcvbnm
Subject: Pmntul nconjoar soarele de un numr ntreg de ori
Acesta este preambulul. Agentul utilizator l ignor. O zi bun.
--qwertyuiopasdfghjklzxcvbnm
Content-Type: text/richtext
Happy birthday to you
Happy birthday to you
Happy birthday dear <bold> Carolyn </bold>
Happy birthday to you
--qwertyuiopasdfghjklzxcvbnm
Content-Type: message/external-body;
access-type=anon-ftp;
site=bicycle.abcd.com;
directory=pub;
name=birthday.snd;
content-type: audio/basic
content-transfer-encoding: base64
--qwertyuiopasdfghjklzxcvbnm

Fig. 7-13. Un mesaj multipart coninnd alternative de tip text formatat i audio.
540 NIVELUL APLICAIE CAP. 7


Ultimul tip este multipart, care permite unui mesaj s conin mai multe pri, nceputul i sfri-
tul fiecrei pri fiind clar delimitat. Subtipul mixed permite fiecrei pri s fie diferit de celelalte,
fr a avea o structur adiional impus. Multe programe de e-mail permit utilizatorului s aib una
sau mai multe pri ataate la un mesaj text. Acestea sunt trimise folosind tipul multipart.
n contrast cu tipul multipart, subtipul alternative permite ca fiecare parte s conin acelai me-
saj, dar exprimat ntr-un alt mediu sau ntr-o codificare diferit. De exemplu, un mesaj ar putea fi
trimis ca ASCII simplu, ca text formatat i ca PostScript. Un agent-utilizator proiectat corespunz-
tor, la primirea unui asemenea mesaj, l va afia, dac va fi posibil, n PostScript. A doua alegere va fi
textul formatat. Dac nici una dintre aceste alternative nu ar fi posibil, s-ar afia text ASCII obinu-
it. 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/alternative.
Un exemplu multimedia este prezentat n fig. 7-13. 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 AS-
CII 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 ca-
nale sunt interpretate n paralel i nu consecutiv.
n sfrit, subtipul digest este utilizat cnd multe mesaje sunt mpachetate mpreun, ntr-unul
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 multipart/digest.
7.2.4 Transferul mesajelor
Sistemul de transfer de mesaje se ocup cu transmiterea mesajelor de la expeditor la receptor.
Cea mai simpl cale de a realiza acest lucru const n stabilirea unei conexiuni de transport de la
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.
SMTP Simple Mail Transfer Protocol (Protocol simplu de transfer de pot)
n 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-mail care
tie SMTP (Simple Mail Transfer Protocol). Acest demon accept conexiunile i copiaz mesajele
SEC. 7.2 POTA ELECTRONIC 541

de la ele n cutiile potale corespunztoare. Dac mesajul nu poate fi livrat, se returneaz transmi-
torului un raport de eroare coninnd prima parte a mesajului nelivrat.
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 ncear-
c din nou mai trziu.

S: 220 xyz.com SMTP service ready
C: HELO abcd.com
S: 250 xyz.com says hello to abcd.com
C: MAIL FROM: <elinor@abcd.com>
S: 250 sender ok
C: RCPT TO: <carolyn@xyz.com>
S: 250 recipient ok
C: DATA
S: 354 Trimite mail; terminat cu . pe linie nou
C: From: elinor@abcd.com
C: To: carolyn@xyz.com
C: MIME-Version: 1.0
C: Message-Id: <0704760941.AA00747@abcd.com>
C: Content-Type: multipart/alternative; boundary=qwertyuiopasdfghjklzxcvbnm
C: Subject: Pmntul nconjoar soarele de un numr ntreg de ori
C:
C: Acesta este preambulul. Agentul utilizator l ignor. O zi bun.
C:
C: --qwertyuiopasdfghjklzxcvbnm
C: Content-Type: text/enriched
C:
C: Happy birthday to you
C: Happy birthday to you
C: Happy birthday dear <bold> Carolyn </bold>
C: Happy birthday to you
C:
C: --qwertyuiopasdfghjklzxcvbnm
C: Content-Type: message/external-body;
C: access-type=anon-ftp;
C: site=bicycle.abcd.com;
C: directory=pub;
C: name=birthday.snd;
C:
C: content-type: audio/basic
C: content-transfer-encoding: base64
C: --qwertyuiopasdfghjklzxcvbnm
C: .
S: 250 message accepted
C:QUIT
S: 221 xyz.com closing connection

Fig. 7-14. Transferul unui mesaj de la elinor@abcd.com la carolyn@zxy.com.
542 NIVELUL APLICAIE CAP. 7



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 permisiu-
nea s trimit mesajul. Apoi clientul trimite mesajul i serverul l confirm. n general nu este nece-
sar 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 nche-
iat, conexiunea este eliberat. n fig. 7-14 este prezentat o mostr de dialog referitoare la trimiterea
mesajului din fig. 7-13, 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-14 ar putea fi utile. Prima comand a clientului este ntr-
adevr HELO. Din posibilele abrevieri de patru caractere ale cuvntului HELLO, aceasta are nu-
meroase avantaje fa de concurenta sa cea mai mare. Motivul pentru care toate comenzile trebuiau
s aib patru caractere s-a pierdut n negura vremii.
n Fig.7-14, 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 re-
ceptori. Fiecare dintre ele este confirmat sau rejectat individual. Chiar dac unii dintre receptori
sunt rejectai (deoarece ei nu exist la destinaie), mesajul poate fi trimis celor rmai.
n sfrit, dei sintaxa comenzilor de patru caractere de la client este rigid specificat, sintaxa re-
plicilor este mai puin rigid. Doar codul numeric conteaz cu adevrat. Fiecare implementare poate
pune dup cod ce iruri de caractere vrea.
Pentru a nelege mai bine cum funcioneaz SMTP i cteva din celelalte protocoale descrise n
acest capitol, ncercai-le! n orice caz, mai nti mergei la o main conectat la Internet. ntr-un
sistem UNIX introducei comanda:

telnet mail.isp.com 25

nlocuind numele DNS cu numele serverului de mail al ISP-ului dvs. Pe un sistem Windows, facei
clic pe Start, apoi Run, apoi tastai comanda n csua de dialog. Aceast comand va stabili o cone-
xiune Telnet (adic TCP) pe portul 25 pe maina respectiv. Portul 25 este portul SMTP (vezi Fig. 6-
27 pentru cteva porturi uzuale). Probabil o sa primii un rspuns de genul:

Trying 192.30.200.66...
Connected to mail.isp.com
Escape character is ^].
220 mail.isp.com Smail #74 ready at Thu, 25 Sept 2002 13:26 +0200

Primele trei linii spun ce face telnet-ul. Ultima linie este de la serverul SMTP de pe maina de la
distan, anunnd disponibilitatea acesteia de a vorbi cu dvs. i de a accepta e-mail. Pentru a vedea
ce comenzi accept, tastai:

HELP

De aici nainte, este posibil o secven de comenzi ca cea din fig. 7-14, ncepnd cu comanda
HELO dat de client.
E bine de notat faptul c folosirea liniilor de text ASCII pentru comenzi nu e un accident. Cele
mai multe protocoale Internet funcioneaz aa. Folosirea textului ASCII face ca protocoalele foarte
uor de testat i depanat. Ele pot fi testate trimind manual comenzi, cum am vzut mai sus, pentru
care copiile mesajelor (eng.: dumps) sunt uor de citit.
SEC. 7.2 POTA ELECTRONIC 543

Chiar dac protocolul SMTP este bine definit, mai pot aprea cteva probleme. O proble-
m este legat de lungimea mesajelor. Unele implementri mai vechi nu pot s lucreze cu me-
saje 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 unele 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 din-
tre cele dou liste va genera o cantitate nesfrit de trafic de e-mail.
Pentru a atinge cteva dintre aceste probleme, n RFC 2821 s-a definit protocolul SMTP extins
(ESMTP). Clienii care doresc s-l 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 se comporte n modul obinuit. Dac EHLO este acceptat, nseamn ca sunt permise noile co-
menzi i noii parametri.
7.2.5 Livrarea final
Pn acum, am presupus c toi utilizatorii lucreaz pe maini capabile s trimit i s primeasc
e-mail. Dup cum am vzut, e-mail-ul este livrat prin stabilirea unei conexiuni TCP ntre expeditor i
destinatar i apoi prin trimiterea e-mail-ului prin ea. Acest model a funcionat bine zeci de ani, att
timp ct toate calculatoarele din ARPANET (i mai trziu din Internet) erau, de fapt, conectate la
reea i gata s accepte conexiuni TCP.
Totui, odat cu apariia celor care acceseaz Internet-ul folosind un modem cu care se conec-
teaz la ISP-ul lor, acest lucru nu mai ine. Problema este urmtoarea: Ce se ntmpl cnd Elinor
vrea s-i trimit Carolynei un e-mail i Carolyn nu este conectat la reea n acel moment? Elinor nu
va putea s stabileasc o conexiune TCP cu Carolyn i astfel, nu va putea utiliza protocolul SMTP.
O soluie este ca agentul de transfer de mesaje de pe o main ISP s accepte e-mail-ul pentru
clienii si i s-l stocheze n cutiile lor potale pe o main a ISP-ului. Din moment ce acest agent
poate fi conectat la reea tot timpul, se poate trimite e-mail 24 de ore pe zi.
POP3
Din nefericire, aceast soluie d natere altei probleme: cum i ia utilizatorul e-mail-ul de la
agentul de transfer de mesaje al ISP-ului? Soluia acestei probleme este crearea unui alt protocol
care s permit agenilor de transfer mesaje (aflai pe calculatoarele clienilor) s contacteze agentul
de transfer mesaje (de pe o main ISP) i s fac posibil copierea e-mail-ului de la ISP la utilizator.
Un astfel de protocol este POP3 (Post Office Protocol Version 3- Protocol de pot, versiunea
3), definit n RFC 1939.
Situaia anterioar (cnd att expeditorul ct i destinatarul aveau conexiune permanent la In-
ternet) este ilustrat n fig. 7-15(a). O situaie n care expeditorul este efectiv conectat la reea (on-
line) dar destinatarul nu, este ilustrat n fig. 7-15(b).
POP3 ncepe cnd utilizatorul pornete programul cititor de pot (mail reader). Acesta sun la
ISP (n caz c nu exist deja o conexiune) i stabilete o conexiune TCP cu agentul de transfer de
mesaje, prin portul 110. Odat ce conexiunea a fost stabilit, protocolul POP3 trece succesiv prin
urmtoarele trei stri:

1. Autorizare.

544 NIVELUL APLICAIE CAP. 7


(a)
Sistemul
expeditor
SMTP
Internet
Agentul
de transfer
mesaje
Agentul
utilizator
Agentul
utilizator
Conexiune
permanent
Conexiune
temporar
Cutie
postal
Sistemul
dest inatar
Sistemul
expeditor
SMTP POP3
Internet
Agentul
de transfer
mesaje
Server
POP3
Cutie
postal
Masina
ISP-ului
(b)


Fig. 7-15. (a) Trimiterea i citirea potei cnd destinatarul are o conexiune permanent la
Internet, iar agentul utilizator ruleaz pe aceeai main ca i agentul de transfer de mesaje.
(b) Citirea e-mail-ului cnd destinatarul are o conexiune comutat(dial-up) la un ISP.

2. Tranzacionare.
3. Actualizare.

Starea de autorizare se refer la admiterea utilizatorului n sistem (login). Starea de tranzacionare
trateaz colectarea e-mail-urilor i marcarea lor pentru tergere din cutia potal. Starea de actuali-
zare se ocup cu tergerea efectiv a mesajelor.
Aceast comportare poate fi observat tastnd ceva de genul:

telnet mail.isp.com 110

unde mail.isp.com reprezint numele DNS al serverului de mail de la ISP. Telnet stabilete o cone-
xiune TCP prin portul 110, pe care ascult serverul POP3. Dup acceptarea conexiunii TCP, serve-
rul trimite un mesaj ASCII anunndu-i prezena. De obicei, el ncepe cu +OK urmat de un co-
mentariu. Un exemplu de scenariu este artat n fig. 7-16 ncepnd dup ce conexiunea TCP a fost
stabilit. Ca i mai nainte, liniile marcate cu C: sunt ale clientului (utilizatorului) iar cele cu S: sunt
ale serverului (agentul de transfer de mesaje de la ISP).
n timpul strii de autorizare, clientul trimite numele su de utilizator i parola. Dup conectarea
cu succes, clientul poate s trimit comanda LIST, care determin serverul s listeze coninutul cuti-
ei potale. Lista este terminat cu un punct.
Apoi, clientul poate regsi mesajele folosind comanda RETR i le poate marca pentru tergere
cu DELE. Cnd toate mesajele au fost primite (i eventual marcate pentru tergere), clientul trimite
comanda QUIT pentru terminarea strii de tranzacionare i intrarea n starea de actualizare. Cnd
serverul a ters toate mesajele, el trimite un rspuns i desfiineaz conexiunea TCP.

SEC. 7.2 POTA ELECTRONIC 545

S: +OK Serverul POP3 este pregtit
C: USER carolyn
S: +OK
C: PASS vegetables
S: +OK autentificare cu succes
C: LIST
S: 1 2505
S: 2 14302
S: 3 8122
S: .
C: RETR 1
S: (trimite mesajul 1)
C: DELE 1
C: RETR 2
S: (trimite mesajul 2)
C: DELE 2
C: RETR 3
S: (trimite mesajul 3)
C: DELE 3
C: QUIT
S: +OK Serverul POP3 ntrerupe legtura

Fig. 7-16. Folosirea protocolului POP3 pentru a aduce trei mesaje.

Dei este adevrat c protocolul POP3 are abilitatea de a descrca un anumit mesaj sau un anu-
mit grup de mesaje pstrndu-le pe server, cele mai multe programe de e-mail descarc tot i golesc
cutia potal. Ca urmare, practic singura copie rmne nregistrat pe discul utilizatorului. Dac
acesta se stric, toate e-mail-urile pot fi pierdute definitiv.
S recapitulm pe scurt cum lucreaz e-mail-ul pentru clienii unui ISP. Elinor creeaz un mesaj
pentru Carolyn folosind un program de e-mail (adic, agentul utilizator) i face clic pe o icoan pen-
tru a-l trimite. Programul de e-mail trimite mesajul agentului de transfer de mesaje de pe calculato-
rul Elinorei. Agentul de transfer de mesaje vede c mail-ul este pentru carolyn@xyz.com i folosete
DNS pentru a cuta nregistrarea MX pentru xyz.com (unde xyz.com este ISP-ul Carolynei). Aceast
cerere ntoarce numele DNS al serverului de mail xyz.com. Agentul de transfer de mesaje caut
acum adresa IP a acestei maini folosind din nou DNS, de exemplu gethostbyname. Apoi, el stabile-
te o conexiune TCP cu serverul SMTP pe portul 25 de pe aceast main. Folosind o secven de
comenzi SMTP, asemntoare celei din fig. 7-14, el transfer mesajul n cutia potal a Carolynei i
ntrerupe conexiunea TCP.
Dup un timp, Carolyn i pornete PC-ul su, se conecteaz la ISP i pornete programul de e-
mail. Programul de e-mail stabilete o conexiune TCP cu serverul POP3 pe portul 110 al serverului
de pot al ISP-ului. Numele DNS sau adresa IP a acestei maini este configurat n mod normal
atunci cnd programul de e-mail este instalat sau cnd este fcut contractul cu ISP-ul. Dup ce co-
nexiunea TCP a fost stabilit, programul de e-mail al Carolynei lanseaz protocolul POP3 pentru a
aduce coninutul cutiei sale potale pe discul fix folosind comenzi ca cele din fig. 7-16. Odat ce a
fost transferat tot e-mail-ul, conexiunea TCP este eliberat. De fapt, conexiunea cu ISP-ul poate fi
desfiinat acum, din moment ce tot e-mailul este pe discul fix al Carolynei. Desigur, pentru a trimite
un rspuns, va fi nevoie din nou de conexiunea cu ISP-ul, care, n general, nu este ntrerupt imediat
dup aducerea potei.
546 NIVELUL APLICAIE CAP. 7


IMAP
Pentru un utilizator cu un singur cont de e-mail, la un singur ISP, care este tot timpul accesat de
la un singur PC, POP3 este bun i larg folosit datorit simplitii i robusteii sale. Totui, exist n
industria calculatoarelor un adevr bine nrdcinat, acela c imediat ce un lucru funcioneaz bine,
cineva va ncepe s cear mai multe faciliti (i s aib mai multe probleme). Asta s-a ntmplat i
cu e-mail-ul. De exemplu, mult lume are un singur cont de e-mail la serviciu sau la coal i vrea s-
l acceseze de pe PC-ul de acas, de pe calculatorul portabil n cltoriile de afaceri i din Internet
caf-uri n vacane. Cu toate c POP3 permite asta, din moment ce n mod normal el descarc toate
mesajele la fiecare conectare, rezultatul const n rspndirea e-mail-ului utilizatorului pe mai multe
maini, mai mult sau mai puin la ntmplare, unele dintre ele nefiind ale utilizatorului.
Acest dezavantaj a dat natere unei alternative a protocolului de livrare final, IMAP (Internet
Message Access Protocol Protocol pentru accesul mesajelor n Internet), care este definit n RFC
2060. Spre deosebire de POP3, care n mod normal presupune c utilizatorul i va goli csua potal
la fiecare conectare i va lucra deconectat de la reea (off-line) dup aceea, IMAP presupune c tot e-
mail-ul va rmne pe server orict de mult, n mai multe csue potale. IMAP prevede mecanisme
extinse pentru citirea mesajelor sau chiar a prilor de mesaje, o facilitate folositoare cnd se utilizea-
z un modem ncet pentru citirea prii textuale a unui mesaj cu mai multe pri audio i video de
mari dimensiuni. ntruct premisa de folosire este c mesajele nu vor fi transferate pe calculatorul
utilizatorului n vederea stocrii permanente, IMAP asigur mecanisme pentru crearea, distrugerea i
manipularea mai multor cutii potale pe server. Astfel, un utilizator poate pstra o cutie potal pen-
tru fiecare corespondent i poate muta aici mesajele din inbox dup ce acestea au fost citite.
IMAP are multe faciliti, ca de exemplu posibilitatea de a se referi la un mesaj nu prin numrul
de sosire, ca n fig. 7-8, ci utiliznd atribute (de exemplu, d-mi primul mesaj de la Bobbie). Spre
deosebire de POP3, IMAP poate de asemenea s accepte att expedierea mesajelor spre destinaie
ct i livrarea mesajelor venite.
Stilul general al protocolului IMAP este similar cu cel al POP3-ului, dup cum se arat n fig. 7-
16, cu excepia faptului c exist zeci de comenzi. Serverul IMAP ascult pe portul 143. n fig. 7-17
este prezentat o comparaie ntre POP3 i IMAP. E bine de notat, totui, c nu toate ISP-urile ofe-
r ambele protocoale i c nu toate programele de e-mail le suport pe amndou. Aadar, atunci
cnd alegei un program de e-mail, este important s aflai ce protocoale suport i s v asigurai c
ISP-ul ofer cel puin unul din ele.

Caracteristica POP3 IMAP
Unde este definit protocolul RFC 1939 RFC 2060
Portul TCP folosit 110 143
Unde este stocat e-mail-ul PC-ul utilizatorului Server
Unde este citit e-mail-ul Off-line On-line
Timpul necesar conectrii Mic Mare
Folosirea resurselor serverului Minim Intens
Mai multe cutii potale Nu Da
Cine face copii de siguran la cutiile potale Utilizatorul ISP-ul
Bun pentru utilizatorii mobili Nu Da
Controlul utilizatorului asupra scrisorilor preluate Mic Mare
Descrcare parial a mesajelor Nu Da
Volumul discului alocat (disk quota) este o problem Nu Ar putea fi n timp
Simplu de implementat Da Nu
Suport rspndit Da n cretere

Fig. 7-17. O comparaie ntre POP3 i IMAP.
SEC. 7.2 POTA ELECTRONIC 547

Faciliti de livrare
Indiferent dac este folosit POP3 sau IMAP, multe sisteme ofer legturi pentru procesarea adi-
ional a mesajelor e-mail sosite. 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 venit de la ef trebuie pus n cutia potal numrul
1, orice mesaj de la un anumit grup de prieteni se duce n cutia potal numrul 2 i orice alt mesaj
coninnd anumite cuvinte n Subiect este aruncat fr comentarii.
Unii ISP ofer filtre care clasific automat mesajele sosite ca fiind importante sau nerelevante
(spam) i memoreaz fiecare mesaj n cutia potal corespunztoare. Asemenea filtre funcioneaz
verificnd mai nti dac sursa este un autor cunoscut de mesaje spam. Apoi examineaz subiectul.
Dac sute de utilizatori au primit un mesaj cu acelai subiect, probabil c el este nerelevant. Exist i
alte tehnici folosite pentru detecia mesajelor lipsite de importan.
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, afind 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.

Asemenea rspunsuri pot s specifice, de asemenea, cum s fie tratate problemele urgente, al-
te 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 va-
can 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-l numim n con-
tinuare John.
John i-a instalat un robot de e-mail care verific fiecare mesaj sosit, ca s vad dac este de la un
nou corespondent. Dac este aa, trimite napoi o replic standard n care explic faptul c nu mai
poate s citeasc personal toate mesajele. n schimb a produs un document FAQ (Frequently Asked
Questions) personal, unde rspunde la multe ntrebri care i se pun de obicei. n mod normal, gru-
purile 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 confe-
rin 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.
Pota electronic pe Web (Webmail)
Un subiect care merit menionat este pota electronic pe Web. Anumite situri de Web, cum ar
fi Hotmail sau Yahoo ofer servicii de pot electronic oricui dorete. Ele funcioneaz dup cum
548 NIVELUL APLICAIE CAP. 7


urmeaz. Au ageni normali de transfer de mesaje, care ateapt la portul 25 conexiuni noi de
SMTP. Pentru a contacta, s spunem Hotmail, trebuie s obinei nregistrarea sa DNS MX, de
exemplu tastnd

host a v hotmail.com

pe un sistem UNIX. S presupunem c serverul de pot electronic se numete mx10.hotmail.com;
atunci tastnd

telnet mx10.hotmail.com 25

se poate stabili o conexiune TCP prin care se pot trimite comenzi SMTP n modul obinuit. Deo-
camdat, nimic special, cu excepia faptului c aceste servere mari sunt adeseori ocupate, ca atare se
poate s dureze ceva mai mult pn v este acceptat o cerere de conexiune TCP.
Partea interesant este cum se transmite pota electronic. n principiu, atunci cnd utilizatorul
se duce la pagina de Web a potei electronice, i este prezentat un formular n care i se cere un nume
de cont i o parol. Cnd utilizatorul face clic pe Sign In, numele de cont i parola sunt trimise serve-
rului, care le valideaz. Dac autentificarea s-a fcut cu succes, serverul gsete cutia potal a utili-
zatorului i construiete o list similar cu cea din fig. 7-8, cu diferena c are formatul unei pagini de
Web n HTML. Pagina Web este transmis apoi programului de navigare pentru a fi afiat. Pe mul-
te din elementele paginii se pot executa clic-uri, astfel c mesajele pot fi citite, terse, .a.m.d.


7.3 WORLD WIDE WEB
Web-ul este un context arhitectural pentru accesul la documente, rspndite pe mii de maini din
Internet, ntre care exist legturi. n 10 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 Inter-
netul. 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 la animale
mitologice la tribul Zulu, pe aproape orice subiect posibil.
Web-ul (cunoscut i ca WWW) a aprut n 1989 la CERN, Centrul European de Cercetri Nuclea-
re. 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 experi-
enelor sunt foarte complicate i necesit ani de pregtire i construire de echipamente. Web-ul a ap-
rut 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.
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.
Aceasta demonstraie i publicitatea aferent au atras atenia altor cercettori, fapt care l-a de-
terminat pe Marc Andreessen de la University of Ilinois s nceap s dezvolte primul program de
navigare grafic, Mosaic. Acesta a fost lansat n februarie 1993. Mosaic a fost att de popular nct un
an mai trziu Marc Andreessen a plecat pentru a forma o nou companie, Netscape Communica-
tions Corp., care se ocupa cu dezvoltarea de software pentru Web. Cnd Netscape a devenit o com-
SEC. 7.3 WORLD WIDE WEB 549

panie public n 1995, investitorii, care probabil c au crezut c este vorba de un fenomen de tip Mi-
crosoft, 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 urmtorii trei ani, Netscape Navigator i produ-
sul Internet Explorer al companiei Microsoft au intrat ntr-un rzboi al programelor de navigare,
fiecare din produse ncercnd cu frenezie adugarea de noi opiuni (i astfel a mai multor erori) de-
ct cellalt. n 1998, America Online a cumprat Netscape Communications Corp. pentru suma de
4.2 miliarde $, ncheind astfel durata scurt n care Netscape a fost o companie independent.
n 1994, CERN i M.I.T. au semnat o nelegere pentru a forma Consoriul World Wide Web
(cteodat abreviat ca W3C), 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 con-
soriului 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 www.w3.org . Cititorii interesai vor gsi
acolo legturi la pagini care acoper toate documentele i activitile consoriului.
7.3.1 Aspecte arhitecturale
Din punctul de vedere al utilizatorului, Web-ul const dintr-o colecie imens de documente sau
pagini de Web (Web pages), adesea numite prescurtat pagini, rspndite n toat lumea. Fiecare
pagin poate s conin legturi (indicatori) la alte pagini, aflate oriunde n lume. Utilizatorii pot s
aleag o legtur prin execuia unui clic care i va aduce la pagina indicat de legtur. Acest proces
se poate repeta la nesfrit. Ideea ca o pagin s conin legturi ctre altele a fost inventat n 1945,
cu mult nainte de a se fi inventat Internet-ul, de ctre Vannevar Bush, un profesor vizionar de la
departamentul de inginerie electric al M.I.T.
Paginile pot s fie vzute cu ajutorul unui program de navigare (browser). Internet Explorer i
Netscape Navigator 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 fig. 7-18(a). Ca majoritatea pagi-
nilor 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. Pen-
tru a selecta o legtur, utilizatorul va plasa cursorul pe zona respectiv, ceea ce va determina
schimbarea formei cursorului i va executa un clic. 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.
Utilizatorii care sunt interesai s afle mai multe despre Department of Animal Psichology 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-18(b). irurile subliniate aici pot s fie selecta-
te 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. Aduce-
rea paginilor este realizat de ctre programul de navigare, fr nici un ajutor din partea utilizatoru-
lui. Dac utilizatorul se va ntoarce la prima pagin, legturile care au fost deja utilizate vor fi afiate
550 NIVELUL APLICAIE CAP. 7



Fig. 7-18. (a) O pagin de Web. (b) pagina la care se ajunge dac se selecteaz
Department of Animal Psychology

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 Information 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.
Modelul de baz al funcionrii Web-ului este artat in fig. 7-19. Aici un program de navigare afi-
eaz o pagin de Web pe maina clientului. Atunci cnd utilizatorul face clic pe linia de text ce
indic spre o pagin de pe serverul abcd.com, programul de navigare urmeaz hiper-legtura trimi-
nd un mesaj serverului abcd.com n care se cere pagina respectiv. Atunci cnd pagina sosete, ea
este afiat. Dac aceast pagin conine o hiper-legtur ctre o pagin de pe serverul xyz.com pe
care utilizatorul face clic, programul de navigare trimite o cerere mainii respective pentru acea pa-
gin, i aa mai departe la nesfrit.

SEC. 7.3 WORLD WIDE WEB 551


Fig. 7-19. Prile componente ale modelului Web-ului
Aspecte privind clientul
S examinm acum n detaliu aspectele ce privesc clientul din fig. 7-19. n esen, un program de
navigare este o aplicaie capabil s afieze o pagin de Web i s capteze clicurile mouse-ului pe
elemente ale paginii afiate. Cnd un element este selectat, programul de navigare urmeaz hiper-
legtura i obine pagina selectat. Ca atare, hiper-legtura coninut n pagin necesit o modalitate
de a adresa prin nume orice alt pagin de pe Web. Paginile sunt adresate prin nume folosind URL-
uri (Uniform Resource Locators, rom.: Localizatoare Uniforme de Resurse). Un URL tipic este
http://www.abcd.com/products.html
Vom explica ce nseamn URL mai trziu, n cadrul capitolului curent. Deocamdat, este sufici-
ent s tim c un URL are trei pri: numele protocolului (http), numele calculatorului pe care se
gsete pagina (www.abcd.com) i numele fiierului care conine pagina (products.html).
Cnd un utilizator execut un clic pe o hiper-legtur, programul de navigare urmeaz o serie de
etape pentru a obine pagina indicat de hiper-legtur. S presupunem ca utilizatorul navigheaz
pe Web i gsete o legtura despre telefonia pe Internet care indic spre pagina principal a ITU,
http://www.itu.org/home/index.html. S urmm etapele parcurse cnd aceast legtur este selectat.

1. Programul de navigare determin URL (pe baza seleciei).
2. Programul de navigare ntreab DNS care este adresa IP pentru www.itu.org.
3. DNS rspunde cu 156.106.192.32.
4. Programul de navigare realizeaz conexiunea TCP cu portul 80 al 156.106.192.32.
5. Trimite o cerere pentru fiierul /home/index.html.
6. Serverul www.itu.org transmite fiierul /home/index.html.
7. Conexiunea TCP este eliberat.
8. Programul de navigare afieaz textul din /home/index.html.
9. Programul de navigare aduce i afieaz toate imaginile din acest fiier.

552 NIVELUL APLICAIE CAP. 7


Multe programe de navigare informeaz despre 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.
Pentru a afia noua pagin (sau orice pagin), programul de navigare trebuie s neleag forma
n care este scris. Pentru a permite tuturor programelor de navigare s neleag orice pagin de
Web, paginile de Web sunt scrise ntr-un limbaj standardizat numit HTML, care descrie paginile de
Web. Vom discuta acest limbaj mai trziu n acest capitol.
Dei un program de navigare este n principiu un interpretor de HTML, majoritatea programe-
lor 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 selec-
ia 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 ctorva selecii simple 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.
n afar de text obinuit (nesubliniat) i hipertext (subliniat), paginile de Web pot s conin iconi-
e, 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 conin HTML. O pagin poate fi format dintr-un document n format PDF, o
iconi n format GIF, o fotografie n format JPEG, o melodie n format MP3, o nregistrare video n
format MPEG sau oricare din cele alte cteva sute de tipuri de fiiere. Deoarece paginile n forma
standard HTML pot avea legturi ctre oricare din acestea, programul de navigare are o problem
atunci cnd ntlnete o pagin pe care nu o poate interpreta.
n loc sa fac programele de navigare din ce n ce mai mari, nglobnd interpretoare pentru o co-
lecie de tipuri de fiiere n cretere rapid, majoritatea programelor de navigare au ales o soluie
mai general. Atunci cnd un server ntoarce o pagin, el ntoarce de asemenea informaii adiionale
despre acea pagin. Aceast informaie include tipul MIME al paginii (fig. 7-12). Paginile de tipul
text/html sunt afiate direct, ca i paginile de alte cteva tipuri interpretate implicit. Dac tipul MIME
nu este unul dintre acestea, programul de navigare i consult tabela de tipuri MIME pentru a afla
cum s afieze pagina. Aceast tabel asociaz un tip MIME cu o aplicaie de vizualizare.

Fig. 7-20. (a) Un plug-in al programului de navigare. (b) O aplicaie auxiliar
SEC. 7.3 WORLD WIDE WEB 553

Exist dou posibiliti: plug-in-uri i programe auxiliare (helper applications). Un plug-in este un
modul pe care programul de navigare l obine dintr-un director special de pe disc i l instaleaz ca o
extensie al nsui programului de navigare, aa cum se arat n fig. 7-20(a). Deoarece plug-in-urile se
execut n interiorul programului de navigare, acestea au acces la pagina curent i pot s modifice
modul n care aceasta este afiat. Dup ce plug-in-ul a terminat ceea ce avea de fcut (de obicei
dup ce utilizatorul s-a deplasat la alt pagin de Web), acesta este scos din memoria programului
de navigare.
Fiecare program de navigare are o colecie de proceduri pe care toate plug-in-urile trebuie s le
implementeze pentru ca programul de navigare s poat executa plug-in-ul. De exemplu, exist de
obicei o procedur pe care modulul principal al programului de navigare o apeleaz pentru a oferi
plug-in-ului date ce trebuie afiate. Aceast colecie de proceduri constituie interfaa unui plug-in i
este particular fiecrui program de navigare.
n plus, programul de navigare pune la dispoziia plug-in-ului propria sa colecie de proceduri. Pro-
cedurile tipice din interfaa programului de navigare se refer la alocarea i eliberarea memoriei, afia-
rea de mesaje n fereastra de stare a programului de navigare sau obinerea parametrilor acestuia.
nainte ca un plug-in s poat fi folosit, acesta trebuie instalat. Procedura uzual de instalare este
ca utilizatorul s navigheze la situl de Web al plug-in-ului i s copieze un fiier de instalare. Pe sis-
temele Windows, acesta este de obicei o arhiv zip cu decompresie automat cu extensia .exe. Cnd
pe acest fiier se execut un dublu clic, se execut un program de mici dimensiuni ataat prii de
nceput a fiierului. Acest program decomprim plug-in-ul i l copiaz n directorul de plug-in-uri al
programului de navigare. Apoi execut apelurile necesare pentru nregistrarea tipului MIME cores-
punztor i asocierea acestuia cu plug-in-ul. Pe sistemele UNIX, fiierul de instalare este in mod
frecvent un fiier de comenzi care se ocup de copiere i nregistrare.
Cea de-a doua modalitate de extindere a unui program de navigare este utilizarea aplicaiilor
auxiliare (helper applications). Acestea sunt programe complete ce se execut ca procese separate.
Acest fapt este ilustrat n fig. 7-20(b). Deoarece acestea sunt programe separate, nu ofer nici o
interfa programului de navigare i nu utilizeaz serviciile acestuia. De obicei ns accept doar
numele unui fiier temporar unde a fost stocat coninutul paginii, deschide acest fiier i i afieaz
coninutul. De obicei, aplicaiile auxiliare sunt programe de dimensiuni mari care exist indepen-
dent de programul de navigare, cum ar fi Adobe Acrobat Reader pentru afiarea fiierelor PDF,
sau Microsoft Word. Unele programe (cum ar fi Acrobat) dispun de un plug-in care execut aplica-
ia auxiliar.
Multe aplicaii auxiliare folosesc tipul MIME application. A fost definit un numr considerabil de
subtipuri, de exemplu application/pdf pentru fiiere PDF i application/msword pentru fiiere Word.
n acest mod, un URL poate s indice direct ctre un fiier PDF sau Word i atunci cnd utilizatorul
execut un clic asupra sa aplicaiile Acrobat sau Word sunt pornite automat i li se transmite numele
fiierului temporar ce conine datele ce trebuie afiate. Ca atare, programele de navigare pot fi con-
figurate s trateze un numr teoretic nelimitat de tipuri de documente, fr schimbri aduse pro-
gramului de navigare. Serverele de Web moderne sunt adesea configurate cu sute de combinaii de
tipuri/subtipuri i combinaii noi sunt adugate de fiecare dat cnd este instalat un program nou.
Aplicaiile auxiliare nu sunt restricionate la utilizarea tipului MIME application. Adobe Photo-
shop folosete image/x-photoshop i RealOne Player poate trata de exemplu audio/mp3.
Pe sistemele Windows, atunci cnd un program este instalat pe un calculator, el nregistreaz ti-
purile MIME pe care dorete s le trateze. Acest mecanism conduce la conflicte atunci cnd mai
multe aplicaii sunt disponibile pentru vizualizarea unui subtip, cum ar fi video/mpg. Ceea ce se n-
554 NIVELUL APLICAIE CAP. 7


tmpl este c ultimul program ce se nregistreaz supranscrie asociaiile existente (tip MIME, apli-
caie auxiliar), captnd tipul pentru sine. Ca o consecin, instalarea unui nou program poate
schimba modul n care un program de navigare trateaz tipurile existente.
Pe sistemele UNIX, acest proces de nregistrare nu se face n general automat. Utilizatorul tre-
buie s schimbe anumite fiiere de configurare. Aceast abordare conduce la un volum mai mare de
munc dar la surprize mai puine.
Programele de navigare pot de asemenea deschide fiiere locale n loc de a le obine de pe serve-
re de Web de la distan. Deoarece fiierele locale nu au tipuri MIME, programul de navigare nece-
sit o metod pentru a determina ce plug-in sau aplicaie auxiliar trebuie folosit pentru alte tipuri
dect cele tratate implicit ca text/html sau image/jpeg. Pentru tratarea fiierelor locale, aplicaiile auxi-
liare pot fi asociate i cu o extensie de fiier, ca i cu un tip MIME. Considernd configuraia stan-
dard, deschiderea fiierului foo.pdf l va ncrca n Acrobat i deschiderea fiierului bar.doc l va n-
crca n Word. Anumite programe de navigare folosesc tipul MIME, extensia fiierului i chiar in-
formaii din interiorul fiierului pentru a ghici tipul MIME. n special Internet Explorer se bazeaz
n primul rnd pe extensia fiierului dect pe tipul MIME atunci cnd acest lucru este posibil.
i aici pot apare conflicte deoarece multe programe sunt dispuse, de fapt dornice s trateze mpg,
de exemplu. n timpul instalrii, programele create pentru profesioniti afieaz frecvent csue de
selecie pentru tipurile MIME i extensiile pe care sunt pregtite s le trateze pentru a permite utili-
zatorului selecia celor dorite pentru a preveni astfel supranscrierea accidental a asociaiilor exis-
tente. Programele ce au ca int marea mas a consumatorilor presupun c utilizatorul nu tie ce
este un tip MIME i pur i simplu acapareaz tot ce pot fr s in seama de ceea ce au fcut pro-
gramele instalate anterior.
Capacitatea de a extinde programul de navigare cu un numr mare de tipuri noi este util, dar
poate duce i la probleme. Atunci cnd Internet Explorer obine un fiier cu extensia exe i da seama
c acest fiier este un program executabil i ca atare nu are o aplicaie adiional asociat. Aciunea
evident este execuia fiierului. nsa aceast aciune poate fi o problem de securitate enorm. Tot
ceea ce trebuie s fac un site de Web ru intenionat este s ofere o pagin de Web, de exemplu cu
fotografii de staruri de cinema sau sportive, toate imaginile indicnd ctre un virus. Un singur clic pe
o imagine determin ca un program executabil necunoscut i posibil ostil s fie copiat i executat pe
maina utilizatorului. Pentru a preveni astfel de vizitatori nedorii, Internet Explorer poate fi confi-
gurat s fie selectiv n a executa programe necunoscute n mod automat, dar nu toi utilizatorii ne-
leg cum s foloseasc aceast configurare.
Pe sistemele UNIX pot exista probleme similare cu fiierele de comenzi pentru consola sistemu-
lui, dar aceasta necesit ca utilizatorul s instaleze n mod contient consola sistemului ca aplicaie
auxiliar. Din fericire, acest proces este suficient de complicat pentru ca nimeni s nu poat s l
efectueze accidental (i puine persoane pot s l efectueze chiar intenionat).
Aspecte privind serverul
Cam att despre aspectele privind clientul. S ne referim acum la aspectele privind serverul. Aa
cum am vzut mai sus, atunci cnd utilizatorul tasteaz un URL sau execut un clic asupra unei linii
de hipertext, programul de navigare analizeaz URL-ul i interpreteaz partea ntre http:// i urm-
torul caracter / ca un nume DNS ce trebuie cutat. narmat cu adresa IP a serverului, programul de
navigare stabilete o conexiune TCP la portul 80 de pe acel server. Apoi se transmite o comand ce
conine restul URL-ului, care este de fapt numele fiierului de pe acel server. Serverul ntoarce apoi
fiierul pentru a fi afiat de ctre programul de navigare.
SEC. 7.3 WORLD WIDE WEB 555

ntr-o prim aproximare, un server de Web este similar cu serverul din fig. 6-6. Acel server, ca i
un server de Web real, primete numele fiierului ce trebuie cutat i transmis programului de navi-
gare. n ambele cazuri, etapele pe care le parcurge serverul n bucla sa principal sunt:

1. Accept o conexiune TCP de la un client (program de navigare).
2. Obine numele fiierului cerut.
3. Obine fiierul (de pe disc).
4. ntoarce fiierul clientului.
5. Elibereaz conexiunea TCP.

Serverele de Web moderne au mai multe caracteristici, dar n esen acestea sunt funciile unui
server de Web. O problem cu aceast arhitectur este c fiecare cerere necesit acces la disc pentru
obinerea fiierului. Rezultatul este c serverul de Web nu poate servi mai multe cereri pe secund
dect numrul de accese la disc ce se pot executa pe secund. Un disc SCSI are un timp de acces
mediu de circa 5 ms, ceea ce limiteaz serverul la cel mult 200 de cereri/sec, chiar mai puin dac
trebuie citite des fiiere mari. Pentru un sit de Web de importan mare, acest numr este prea mic.
O mbuntire evident (utilizat de toate serverele de Web) este folosirea unui sistem de me-
morie ascuns, temporar pentru cele mai recente n fiiere utilizate. nainte de obinerea unui fiier
de pe disc, serverul verific memoria ascuns (cache). Dac fiierul exist acolo, el poate fi servit
direct din memorie, eliminnd astfel accesul la disc. Dei pentru o memorie ascuns eficient sunt
necesare o cantitate mare de memorie principal i timp de procesare suplimentar pentru a analiza
memoria ascuns i pentru a-i administra coninutul, economia de timp este aproape ntotdeauna
superioar timpului suplimentar de procesare i costului memoriei.
Fig. 7-21. Un server de Web cu mai multe fire de execuie cu un modul frontal i
module de procesare

Urmtorul pas pentru construcia unui server mai rapid este de a face serverul s admit mai
multe fire de execuie (multithreaded). ntr-una din arhitecturi, serverul este format dintr-un modul
frontal (front-end module), care accept conexiunile nou venite, i k module de procesare, aa cum
arata fig. 7-21. Cele k + 1 fire de execuie aparin toate aceluiai proces, astfel c modulele de proce-
556 NIVELUL APLICAIE CAP. 7


sare au toate acces la memoria ascuns din interiorul spaiului de adrese al procesului. La sosirea
unei cereri, modulul frontal o accept i construiete o scurt nregistrare ce descrie cererea. Aceasta
este transmis apoi unuia dintre modulele de procesare. n alt arhitectur posibil, modulul frontal
este eliminat i fiecare modul de procesare ncearc s i obin propriile cereri, dar n acest caz este
necesar un protocol de sincronizare pentru prevenirea conflictelor.
Modulul de procesare verific mai nti memoria ascuns pentru a determina dac fiierul nece-
sar se afl acolo. Dac da, modific nregistrarea pentru a include i un indicator ctre fiierul din
nregistrare. Dac fiierul nu se afl acolo, modulul de procesare ncepe operaiile cu discul pentru a
citi fiierul n memoria ascuns (renunnd eventual la alte fiiere pentru a face loc acestuia). Cnd
fiierul este citit de pe disc, el este pus n cache i de asemenea transmis clientului.
Avantajul acestei scheme este c n timp ce unul sau mai multe module de procesare sunt blocate
ateptnd terminarea operaiilor cu discul (i deci nu consum din timpul procesorului), alte module
pot fi active lucrnd la satisfacerea altor cereri. Desigur, pentru a obine o mbuntire real asupra
modelului cu un singur fir de execuie este necesar existena mai multor uniti de disc, astfel nct
mai multe discuri s poat fi ocupate n acelai timp. Cu ajutorul a k module de procesare i k uniti
de disc, eficiena poate crete pn la de k ori fa de modelul serverului cu un singur fir de execuie
i o singur unitate de disc.
Teoretic, un server cu un singur fir de execuie i k uniti de disc poate de asemenea ctiga un
factor k n ceea ce privete eficiena, dar implementarea i administrarea sunt mult mai complicate
deoarece apelurile de sistem READ normale, blocante nu pot fi folosite pentru accesul la disc. n
cazul unui server cu mai multe fire de execuie, acestea pot fi folosite deoarece o operaie READ
blocheaz doar firul de execuie care a executat operaia i nu ntregul proces.
Serverele de Web moderne efectueaz mai multe operaii dect acceptarea numelor de fiiere i
transmiterea coninutului acestora. De fapt, procesarea fiecrei cereri poate deveni destul de com-
plicat. Din acest motiv, ntr-un numr mare de servere fiecare modul de procesare efectueaz o
serie de etape. Modulul frontal transmite fiecare cerere sosit ctre primul modul de procesare dis-
ponibil, care apoi execut cererea, utiliznd o submulime a urmtorilor pai, n funcie de ce pai
sunt necesari pentru respectiva cerere.

1. Rezolvarea numelui paginii de Web cerute.
2. Autentificarea clientului.
3. Verificarea drepturilor de acces ale clientului.
4. Verificarea drepturilor de acces asupra paginii de Web.
5. Verificarea memoriei ascunse.
6. Obinerea paginii cerute, de pe disc.
7. Determinarea tipului MIME ce va fi inclus n rspuns.
8. Rezolvarea altor probleme minore.
9. Transmiterea rspunsului ctre client.
10. Adugarea unei nregistrri n jurnalul serverului.

Pasul 1 este necesar deoarece cererea sosit poate s nu conin numele propriu-zis al fiierului,
ca ir de caractere. De exemplu, putem considera URL-ul http://www.cs.vu.nl, care are un nume de
fiier vid. Acesta trebuie extins la un nume de fiier implicit. De asemenea, programele de navigare
moderne pot specifica limba implicit a utilizatorului (de ex.: italian sau englez), ceea ce deschide
posibilitatea ca serverul s selecteze o pagin de Web n acea limb, dac aceasta este disponibil. n
SEC. 7.3 WORLD WIDE WEB 557

general, extinderea numelor nu este un proces att de banal cum ar putea prea la prima vedere,
datorit unei varieti de convenii existente privind numirea fiierelor.
Pasul 2 const n verificarea identitii clientului. Acest pas este necesar pentru paginile care nu
sunt disponibile publicului larg. Vom discuta o modalitate de a realiza acest lucru mai trziu, n
acest capitol.
Pasul 3 verific dac exist restricii referitoare la satisfacerea cererii, avnd n vedere identitatea i
localizarea clientului. Pasul 4 verific dac exist restricii de acces asociate cu pagina nsi. Dac un
anumit fiier (de ex.: .htaccess) este prezent n directorul unde se afl i pagina dorit, accesul la acel
fiier poate fi restrns la anumite domenii, de exemplu numai la utilizatorii din interiorul companiei.
Paii 5 i 6 presupun obinerea paginii. Pasul 6 necesit capacitatea de tratare simultan a mai
multor citiri de pe disc.
Pasul 7 se refer la determinarea tipului MIME din extensia fiierului, primele cteva cuvinte din
fiier, un fiier de configurare sau alte surse posibile. Pasul 8 este destinat unei diversiti de operaii,
cum ar fi construcia unui profil al utilizatorului sau adunarea unor statistici.
Pasul 9 este cel n care rezultatul este transmis clientului i pasul 10 adaug o nregistrare n jur-
nalul sistemului, n scopuri administrative. Asemenea fiiere de jurnalizare pot fi analizate ulterior
pentru obinerea de informaii importante despre comportamentul utilizatorului, spre exemplu or-
dinea n care vizitatorii acceseaz paginile.
Dac sosesc prea multe cereri n fiecare secund, procesorul nu va fi capabil sa suporte ncrca-
rea, oricte uniti de disc ar fi utilizate n paralel. Soluia este adugarea mai multor noduri (calcu-
latoare), posibil cu uniti de disc replicate pentru a evita ca discurile s devin urmtorul punct de
gtuire. Acest fapt conduce la modelul fermei de servere (server farm) din fig. 7-22. Un modul fron-
tal accept n continuare cererile dar le mparte mai multor procesoare, nu mai multor fire de execu-
ie, pentru a reduce ncrcarea pe fiecare calculator. Mainile individuale pot fi cu mai multe fire de
execuie i n band de asamblare ca mai sus.


Fig. 7-22. O ferm de servere

O problem cu fermele de servere este c nu mai exist o memorie ascuns partajat deoarece
fiecare nod are propria sa memorie dect dac se folosete un sistem multiprocesor cu memorie
partajat de cost mic. O modalitate de a contracara aceast pierdere de performan este un modul
frontal care reine unde direcioneaz fiecare cerere i trimite cererile ulterioare pentru aceeai pa-
gin aceluiai nod. Aceast abordare specializeaz fiecare nod n tratarea anumitor pagini astfel n-
ct spaiul destinat pentru cache nu se pierde reinnd fiecare fiier n fiecare cache.
O alt problem cu fermele de servere este aceea c fiecare conexiune TCP a clientului se termi-
n la modulul de intrare, astfel c rspunsul trebuie transmis prin acest modul. Aceast situaie este
558 NIVELUL APLICAIE CAP. 7


evideniat n fig. 7-23(a), unde cererea sosit (1) i rspunsul transmis (4) trec ambele prin modulul
frontal. Cteodat se poate folosi o soluie ingenioas numit parsare TCP (eng.: TCP handoff)
pentru a evita aceast problem. Cu acest truc, captul comunicaiei TCP este pasat nodului de
procesare astfel c acesta poate replica direct clientului, lucru evideniat ca (3) n fig. 7-23(b). Aceas-
t pasare este fcut ntr-un mod transparent pentru client.

Fig. 7-23. (a) Secven normal de mesaje cerere rspuns.
(b) Secven n care se folosete pasarea TCP.
URL- Uniform Resource Locators
Am spus de mai multe ori c o pagin de Web poate s conin referine la alte pagini. S expli-
cm 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 oa-
meni 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 Locator - adresa uniform pentru localizarea resurse-
lor) care funcioneaz ca nume al paginii general valabil. Un URL are trei componente: protocolul
(cunoscut i sub numele de schem), 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,
situl de Web al departamentului din care face parte autorul conine un numr de nregistrri video
despre universitate si despre oraul Amsterdam. URL-ul paginii cu nregistrrile video este:

SEC. 7.3 WORLD WIDE WEB 559

http://www.cs.vu.nl/video/index-en.html

Acest URL este format din trei componente: protocolul (http), numele DNS al serverului (www.
cs.vu.nl) i numele fiierului (video/index-en.html), cu semnele de punctuaie corespunztoare. Nu-
mele fiierului este o cale relativ la directorul de Web implicit de la cs.vu.nl.
Se utilizeaz notaii care reprezint prescurtri standard. n cazul multor situri, un nume de fiier
nul nseamn implicit pagina principal a organizaiei. n mod obinuit, atunci cnd numele fiierului
denot un director, aceasta implic un fiier numit index.html. n sfrit, ~user/ poate s fie pus n
coresponden cu directorul WWW al utilizatorului user, i apoi cu fiierul index.html n acest direc-
tor. De exemplu, pagina autorului poate s fie referit ca:

http://www.cs.vu.nl/~ast/

chiar dac de fapt numele propriu-zis al fiierului este index.html, implicit n acest director.
Acum ar trebui s fie clar cum funcioneaz hipertextul. Pentru a face o poriune de text selecta-
bil, 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. Vom explica sintaxa comenzii mai trziu
n acest capitol.
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 so-
sete pagina.
Aceast schem URL este deschis n sensul c este simplu s se utilizeze alte protocoale pentru
a se obine diferite tipuri de resurse. 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-24.

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 file:///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:JohnUser@acm.org
telnet Conectare la distan telnet://www.w3.org:80

Fig. 7-24. Cteva URL-uri obinuite.

S parcurgem lista rapid. Protocolul http este protocolul nativ pentru Web, el este utilizat de c-
tre serverele de Web. HTTP este o prescurtare pentru HyperText Transfer Protocol. Vom examina
mai detaliat acest protocol mai trziu n acest capitol.
Protocolul ftp este utilizat pentru accesul la fiiere prin FTP (File Transfer Protocol - protocol
pentru transferul de fiiere), protocolul Internet de transfer de fiiere. FTP este utilizat de peste do-
uzeci de ani i este foarte rspndit. Numeroase servere de FTP din toat lumea permit ca de ori-
unde 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 (dar este mai puternic dect HTTP, deoarece permite de exemplu ca
un utilizator de pe maina A s transfere un fiier de pe maina B pe maina C).
560 NIVELUL APLICAIE CAP. 7


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 proto-
colului FTP, dar nu implic existena unui server. Desigur funcioneaz numai pentru fiiere locale,
nu i pentru cele aflate la distan.
Cu mult nainte de apariia Internet-ului exista sistemul de tiri USENET. Acesta este format din
aproximativ 30000 de grupuri de tiri n care milioane de persoane discut despre o mare varietate de
subiecte, adugnd i citind articole legate de subiectul grupului de tiri. Protocolul news permite citirea
un articol din tiri ca i cum ar fi o pagin de Web. Aceasta nseamn c un program de navigare este n
acelai timp i un cititor de tiri. De fapt, multe programe de navigare au butoane sau elemente de me-
niu care permit citirea tirilor USENET mai uor dect dac se utilizeaz cititoare standard de tiri.
Protocolul news admite dou formate. Primul format specific un grup de tiri i poate s fie uti-
lizat pentru a obine o list de articole de la un server de tiri preconfigurat. Al doilea format cere
identificatorul unui articol, de exemplu AA0134223112@cs.utah.edu. Programul de navigare aduce
articolul de la serverul corespunztor utiliznd protocolul NNTP (Network News Transfer Protocol
Protocol de transfer al tirilor prin reea). Nu vom studia NNTP n aceast carte, dar este n mare
bazat pe SMTP i are un stil similar.
Protocolul gopher era utilizat de sistemul Gopher, care a fost proiectat la universitatea Minneso-
ta. Numele este cel al echipei atletice a universitii, the Golden 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. Era o metod de regsire a informaiei, similar conceptual cu cea utilizat de Web, dar
acceptnd numai text i imagini. Este considerat depit i nu se mai folosete n prezent.
Ultimele dou protocoale nu sunt de fapt protocoale pentru aducerea unor pagini de Web, dar
sunt utile. Protocolul mailto permite transmiterea de pot dintr-un program de navigare. Pentru a
face aceast operaie, se selecteaz butonul OPEN i se specific un URL constnd din mailto: ur-
mat de adresa destinatarului. Majoritatea programelor de navigare vor rspunde prin pornirea unei
aplicaii de pot electronic cu adresa i cteva alte cmpuri din antet deja completate.
Protocolul telnet este utilizat pentru stabilirea unei conexiuni cu o main aflat la 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 aplicaie auxiliar.
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 spe-
cializate 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 al unei companii de software.
n ciuda tuturor acestor proprieti, creterea Web-ului scoate n eviden i o slbiciune a meto-
dei utilizrii URL-urilor. Pentru o pagin care este foarte des referit, ar fi de preferat s existe mai
multe copii pe servere diferite, pentru a reduce traficul n reea. Problema este c URL-rile 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 paginilor, IETF lucrea-
z la un sistem de URN (Universal Resource Names - nume universale de resurse). Un URN poate
s fie privit ca un URL generalizat. Acest subiect este n curs de cercetare, dei o propunere de sin-
tax este dat n RFC 2141.
SEC. 7.3 WORLD WIDE WEB 561

Lipsa strii i utilizarea cookies
Aa cum am vzut n mod repetat, Web-ul este, n principiu, lipsit de stare. Nu exist conceptul
unei sesiuni de conectare. Programul de navigare transmite o cerere ctre server i primete un fii-
er. Apoi serverul uit c a discutat vreodat cu acel client.
La nceput, cnd Web-ul a fost folosit doar pentru obinerea de documente accesibile publicului
larg, acest model era perfect adaptat cerinelor. Dar, pe msur ce Web-ul a nceput s capete i alte
funcii, acest model a dat natere unor probleme. De exemplu, anumite situri de Web impun clienilor
s se nregistreze (i chiar s plteasc bani) spre a le utiliza. Ca atare, se pune ntrebarea cum pot
serverele s disting ntre cereri din partea utilizatorilor nregistrai i a celorlali. Un al doilea exemplu
este comerul electronic. Dac un utilizator se plimb printr-un magazin electronic, aruncnd din cnd
n cnd produse n coul de cumprturi, cum poate serverul s rein coninutul coului? Un al treilea
exemplu sunt portalurile de Web configurabile cum este Yahoo. Utilizatorii pot configura o pagin
iniial detaliat, doar cu informaia pe care o doresc (de ex.: valorile aciunilor la burs i echipele lor
sportive favorite), dar cum poate serverul sa afieze pagina corect dac nu tie cine este utilizatorul?
La o prim vedere, se poate crede c serverele pot s urmreasc utilizatorii uitndu-se la adresele
lor IP. Aceast idee nu funcioneaz ns. n primul rnd, muli utilizatori lucreaz pe calculatoare par-
tajate cu ali utilizatori, n special n cadrul companiilor, iar adresa IP identific doar calculatorul nu i
utilizatorul. n al doilea rnd, mult mai grav, muli dintre cei ce ofer servicii de Internet (ISP) utilizea-
z NAT, astfel nct toate pachetele ce pleac de la orice utilizator folosesc aceeai adres IP. Din
punctul de vedere al serverului, cele cteva de mii de clieni ai unui ISP folosesc aceeai adres IP.
Pentru a rezolva aceast problem, Netscape a proiectat o tehnic mult criticat numit cookies
(rom. fursecuri). Numele deriv dintr-un argou foarte vechi al programatorilor n care un program
apeleaz o procedur i obine rezultate ce ar putea fi mai trziu pentru a executa ceva. n acest sens,
o nregistrare de descriere a unui fiier UNIX sau un identificator al unui obiect Windows reprezint
un cookie. Mecanismul a fost formalizat mai trziu n RFC 2109.
Cnd un client cere o pagin de Web, serverul poate oferi informaii adiionale odat cu pagina
cerut. Aceste informaii pot include un cookie, care este un fiier (sau ir de caractere) de dimensi-
une mic (cel mult 4 KB). Programele de navigare stocheaz cookie-urile oferite ntr-un director
special pentru acestea pe discul clientului, cu excepia cazurilor cnd utilizatorul a oprit utilizarea
cookie-urilor. Cookie-urile sunt doar fiiere sau iruri de caractere, nu programe executabile. n
principiu, un cookie ar putea conine un virus, dar deoarece cookie-urile sunt tratate ca date, nu exis-
t nici o posibilitate oficial ca virusul s fie executat i s cauzeze probleme. Este ns posibil ca un
hacker s exploateze o eroare a programului de navigare i s cauzeze activarea virusului.
Un cookie poate conine pn la cinci cmpuri, aa cum se arat n fig. 7-25. Cmpul Domeniu
spune de unde a sosit cookie-ul. Programele de navigare trebuie s verifice c serverele nu mint n
legtur cu domeniul lor. Fiecare domeniu poate stoca cel mult 20 de cookie-uri pentru fiecare cli-
ent. Cmpul Cale reprezint o cale n structura de directoare a serverului care identific ce parte a
arborelui de fiiere de pe server poate utiliza cookie-ul respectiv. Adesea, acest cmp este /, ceea ce
nseamn ntregul arbore.

Domeniu Cale Coninut Expir Sigur
toms-casino.com / CustomerID=497793521 15-10-02 17:00 Da
joes-store.com / Cart1=1-00501;1-07031;2-13721 11-10-02 14:22 Nu
aportal.com / Prefs=Stk:SUNW+ORCL;Spt:Jets 31-12-10 23:59 Nu
sneaky.com / UserID=3627239101 31-12-12 23:59 Nu

Fig. 7-25. Cteva exemple de cookie-uri
562 NIVELUL APLICAIE CAP. 7


Cmpul Coninut are forma nume = valoare. Att nume ct i valoare pot fi orice dorete serve-
rul. Acesta este cmpul n care se stocheaz coninutul unui cookie.
Cmpul Expir arat cnd expir un cookie. Dac acest cmp este absent, programul de navigare
terge cookie-ul la terminarea execuiei. Un astfel de cookie se numete cookie ne-persistent (non-
persistent cookie). Dac se ofer o dat i o or, cookie-ul se numete persistent i este pstrat pn
la expirare. Timpul de expirare se d pentru ora Greenwich (Greenwich Mean Time). Pentru a ter-
ge un cookie de pe discul unui client, un server retransmite cookie-ul cu timpul de expirare n trecut.
n sfrit, cmpul Sigur poate indica dac programul de navigare poate transmite cookie-ul nu-
mai unui server sigur. Acest element este utilizat pentru comerul electronic, aplicaii bancare i alte
aplicaii sigure.
Am vzut cum se obin cookie-urile, dar cum sunt ele utilizate? Chiar nainte ca un program de
navigare s transmit cererea pentru o pagin ctre un sit Web, el verific directorul de cookie-uri
pentru a vedea dac exist vreun cookie care a fost stocat de ctre domeniul la care se duce cererea.
n caz afirmativ, toate cookie-urile stocate de ctre acel domeniu sunt incluse n mesajul ce conine
cererea. Atunci cnd serverul le obine, le poate interpreta n orice mod dorete.
S examinm acum cteva utilizri posibile pentru cookie-uri. n fig. 7-25, primul cookie a fost
stocat de ctre toms-casino.com i este utilizat pentru a identifica utilizatorul. Cnd clientul se conec-
teaz sptmna urmtoare pentru a arunca nite bani pe fereastr, programul de navigare transmi-
te cookie-ul, astfel c serverul tie cine este clientul. Odat ce deine numrul de identificare al clien-
tului, serverul poate cuta datele sale ntr-o baz de date i utiliza aceste informaii pentru a construi
o pagin de Web potrivit. Depinznd de obiceiurile clientului, aceast pagin poate reprezenta o
mas de poker, o list a curselor de cai din ziua respectiv sau o main de jocuri.
Cel de-al doilea cookie a venit de la joes-store.com. Scenariul n acest caz este c utilizatorul se
plimb prin magazin, cutnd lucruri de cumprat. Atunci cnd gsete un pre bun i execut un
clic pe produsul respectiv, serverul construiete un cookie ce conine numrul de buci i codul pro-
dusului i l transmite clientului. Pe msur ce clientul continu s se plimbe prin magazin, cookie-ul
este ntors la fiecare nou pagin cerut. Pe msur ce cumprturile se acumuleaz, serverul le
adaug la cookie. n figur, coul de cumprturi conine trei produse, ultimul dintre ele n dublu
exemplar. n cele din urm, cnd clientul selecteaz MERGI LA CAS, cookie-ul, care acum coni-
ne lista complet de cumprturi este trimis odat cu cererea. n acest mod, serverul tie exact ce
produse au fost cumprate.
Cel de-al treilea cookie este pentru un portal de Web. Atunci cnd utilizatorul selecteaz o legtu-
r ctre portal, programul de navigare transmite cookie-ul. Acesta spune portalului s construiasc o
pagin ce conine valorile aciunilor pentru Sun Microsystems i Oracle i rezultatele echipei de fotbal
New York Jets. Deoarece un cookie poate avea pn la 4 KB, exist suficient spaiu pentru preferine
mai detaliate n ceea ce privete titluri de articole din ziar, starea vremii, oferte speciale, .a.m.d.
Cookie-urile pot fi utilizate i n beneficiul serverului. De exemplu, s presupunem c un server
dorete s tie n fiecare moment ci vizitatori a avut i cte pagini au fost vizitate de fiecare dintre
acetia nainte de a prsi situl. Prima cerere nu va fi nsoit de nici un cookie, astfel c serverul va
transmite napoi un cookie ce conine Counter=1. Selecii ulterioare ale paginilor acestui site vor
transmite acest cookie napoi la server. De fiecare dat, contorul este incrementat i transmis napoi
clientului. Urmrind aceste contoare, serverul poate s vad cte persoane renun dup vizitarea
primei pagini, cte au vizitat dou pagini, .a.m.d.
Cookie-urile au avut i utilizri greite. Teoretic, cookie-urile ar trebui s ajung doar la situl lor
de origine, dar sprgtorii au exploatat numeroase erori n programele de navigare pentru a captura
SEC. 7.3 WORLD WIDE WEB 563

cookie-uri care nu le erau destinate. Deoarece numeroase situri de comer electronic pun numerele
de cri de credit n cookie-uri, potenialul pentru abuzuri este evident.
Un mod de utilizare controversat al cookie-urilor este colectarea, n secret, de informaii privind
obiceiurile de navigare pe Web ale utilizatorilor. Mecanismul funcioneaz n modul urmtor. O
companie de publicitate, s spunem Sneaky Ads. (rom. sneaky = viclean) contacteaz un numr de
situri de Web importante i pune anunuri publicitare ale clienilor si pe paginile respectivelor si-
turi, pentru care pltete celor ce dein siturile o anumit sum. n loc s ofere sitului un fiier GIF
sau JPEG pentru a fi amplasat pe fiecare pagin, le ofer un URL ce trebuie adugat la fiecare pa-
gin. Fiecare din aceste URL-uri conine un numr unic n partea rezervat fiierului, cum ar fi

http://www.sneaky.com/382674902342.gif

Atunci cnd un utilizator viziteaz o pagin P ce conine un asemenea anun publicitar, programul
de navigare obine fiierul HTML i vede legtura ctre imaginea de la www.sneaky.com, aa c trans-
mite cererea pentru imagine acestui server. Serverul ntoarce un fiier GIF coninnd anunul publici-
tar, mpreun cu un cookie ce conine un numr unic de identificare pentru utilizator, 36271239101 n
fig. 7-25. Compania Sneaky nregistreaz faptul c utilizatorul cu acest numr de nregistrare a vizitat
pagina P. Aceasta este uor de realizat avnd n vedere faptul c fiierul cerut (382674902342.gif) este
menionat doar n pagina P. Desigur c anunul n sine poate apare pe o mie de alte pagini, dar de fie-
care dat cu un nume de fiier diferit. Compania Sneaky colecteaz probabil doar civa bnui de la
compania ce a realizat produsul de fiecare dat cnd transmite anunul publicitar.
Mai trziu, cnd utilizatorul viziteaz o alt pagin de Web care conine unul din anunurile pu-
blicitare ale companiei Sneaky, dup ce programul de navigare a obinut fiierul HTML de la server,
vede referina ctre, s spunem, http://www.sneaky.com/493654919923.gif i cere acest fiier. Deoare-
ce exist deja un cookie de la domeniul sneay.com, programul de navigare include cookie-ul compa-
niei Sneaky ce conine i numrul unic de identificare al utilizatorului. Compania Sneaky tie acum o
a doua pagin vizitat de utilizator.
Cu timpul, compania Sneaky poate construi un profil complet al obiceiurilor de navigare ale uti-
lizatorului, dei acesta nu a efectuat nici un clic pe vreun anun publicitar. Desigur, acest profil nu
include nc numele utilizatorului (dei conine adresa IP a acestuia, informaie care poate fi sufici-
ent pentru a deduce numele din alte baze de date). n cazul n care utilizatorul ofer vreodat nu-
mele su unui site care coopereaz cu Sneaky, un profil complet ce include i numele este acum gata
de vnzare pentru oricine dorete s-l cumpere. Vnzarea acestor informaii poate fi suficient de
profitabil pentru ca Sneaky sa poat plasa mai multe anunuri publicitare pe mai multe situri Web
i astfel s colecteze i mai multe informaii. Cea mai ascuns parte a acestei poveti este c majorita-
tea utilizatorilor nu tiu nimic despre aceast colectare de informaii i chiar ar putea s se cread n
siguran, pentru c nu au selectat nici un anun publicitar.
i dac Sneaky vrea s fie i mai viclean, anunul publicitar poate s nu fie unul clasic. Un
anun format dintr-un singur pixel de culoarea fondului (i deci invizibil) are exact acelai efect ca
i anunul propriu-zis: programul de navigare trebuie s obin imaginea gif de 1 x 1 pixeli i s i
livreze toate cookie-urile care au fost transmise de domeniul de origine al pixelului.
Pentru a menine impresia de intimitate, o serie de utilizatori i configureaz programele de na-
vigare pentru a refuza toate cookie-urile. Aceast aciune poate duce ns la probleme cu siturile de
Web legitime ce folosesc cookie-uri. Pentru a rezolva aceast problem, utilizatorii instaleaz cteo-
dat software care mnnc cookie-uri (cookie-eating software). Acestea sunt programe speciale
care inspecteaz fiecare cookie la sosire i l accept sau refuz n funcie de opiunile utilizatorului
564 NIVELUL APLICAIE CAP. 7


(de ex.: n ce situri Web se poate avea ncredere). Aceast metod ofer utilizatorului un control fin
asupra cror cookie-uri sunt acceptate i care sunt refuzate. Programele de navigare moderne cum
ar fi Mozilla (www.mozilla.org) au un nivel de control complex asupra cookie-urilor.
7.3.2 Documente Web statice
Fundamentul Web-ului este transferul de pagini de Web de la server la client. n forma cea mai
simpl, paginile de Web sunt statice, adic doar fiiere existente pe un server, ce ateapt s fie ceru-
te. n acest sens, chiar i o nregistrare video este o pagin de Web static, deoarece este doar un
fiier. n aceast seciune vom privi paginile de Web statice n detaliu. n seciunea urmtoare vom
examina coninutul dinamic.

HTML--HyperText Markup Language
Paginile de Web sunt n prezent scrise ntr-un limbaj numit HTML (HyperText Markup Lan-
guage). HTML permite utilizatorilor s produc pagini de Web care conin text, imagini i referine
la alte pagini de Web. 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. Avan-
tajul 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.
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
formatrii paginii recepionate este foarte important, deoarece o pagin poate s fie construit pe
un ecran cu 1600 x 1200 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 320 pixeli i utiliznd culori codificate pe 8 bii.
n cele ce urmeaz se face o scurt introducere n limbajul HTML, doar pentru a oferi o idee de-
spre 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
(tag-uri) <html> i </html>, dar majoritatea programelor de navigare ignor absena acestor mar-
caje. Aa cum se vede n fig. 7-26(a), capul este cuprins ntre marcajele <head> i </head>, iar
corpul ntre marcajele <body> i </body>. Comenzile cuprinse ntre aceste marcaje se numesc di-
rective. 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 simi-
lar. 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 versiuni mai noi ale standardului cer existena doar a primei forme. Cum este dispus textul
n documentul HTML este nesemnificativ. Programele de navigare ignor spaiile i trecerile la rnd
nou, deoarece textul trebuie s fie formatat pentru a corespunde zonei de afiare curente. Cores-
SEC. 7.3 WORLD WIDE WEB 565

punztor, se pot utiliza spaii pentru a face documentele HTML mai uor de citit, ceva ce ar fi nece-
sar pentru majoritatea documentelor. Liniile albe nu pot s fie utilizate pentru separarea paragrafe-
lor, deoarece sunt pur i simplu ignorate. Este necesar utilizarea unor marcaje explicite.

<html>
<head> <title> AMALGAMATED WIDGET, INC. </title></head>
<body> <h1> Welcome to AWIs 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 Widgets</b>
home page. We hope <i> you </i> will find all 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. </p>
<hr>
<h2> Product Information </h2>
<ul>
<li> <a href=http://widget.com/products/big > Big widgets </a>
<li> <a href=http://widget.com/products/little > Little widgets </a>
</ul>
<h2> Telephone Numbers </h2>
<ul>
<li> By telephone: 1-800-WIDGETS,
<li> By fax: 1-415-765-4321
</ul>
</body>
</hmtl>
(a)

(b)

Fig.7-26. (a) Un exemplu simplu de pagin de Web. (b) Pagina formatat.
566 NIVELUL APLICAIE CAP. 7


Unele marcaje au parametri (care au nume), numii atribute. De exemplu:

<img src="abc" alt="foobar">

este un marcaj, <img>, avnd parametrul src cu valoarea abc i parametrul alt cu valoarea foobar.
Pentru fiecare marcaj, standardul HTML ofer o list a parametrilor care pot s fie utilizai, dac es-
te 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 ASCII, se pot utiliza
secvene de caractere pentru reprezentarea caracterelor speciale cum ar fi . Lista caracterelor spe-
ciale este precizat n standard. Toate ncep cu caracterul & i se termin cu ;. De exemplu
&egrave; produce iar &eacute; produce . 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 </title>, dar aici
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 i alte particulariti prezente n exemplul din fig. 7-26. Toate marcajele utilizate n
fig. 7-26 i nc alte cteva sunt prezentate n fig. 7-27. Titlurile de capitole sunt generate de marca-
jul <hn>, unde n este o cifr ntre 1 i 6. <h1> este titlul cel mai important; <h6> este cel mai
puin important.
Marcaj Descriere
<html> ... </html> Delimiteaz textul scris n HTML
<head> ... </head> Delimiteaz zona de cap
<title> ... </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> ...</i> Textul ... o s fie afiat cu cursive
<center> ... </center> Centreaz ... pe pagin orizontal
<ul> ... </ul> Delimiteaz o list neordonat
<ol> ... </ol> Delimiteaz o list ordonat (numerotat)
<li> ... </li> Delimiteaz un elemente ntr-o list ordonat sau neordona-
t
<br> Trecere la linie nou
<p> nceput de paragraf
<hr> Linie orizontal
<img src=...> Se ncarc o imagine
<a href=...> ...</a> Se definete o hiper-legtur

Fig. 7-27. O selecie de marcaje uzuale. Unele mai au i ali parametri.

Depinde de programul de navigare s prezinte aceste titluri n mod diferit pe ecran. De obicei, ti-
tlurile 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 pro-
gramul de navigare nu poate s afieze aceste tipuri de caractere, va utiliza un alt mod de a le repre-
zenta, de exemplu utiliznd diferite culori sau video-invers.
SEC. 7.3 WORLD WIDE WEB 567

Limbajul HTML ofer diferite mecanisme pentru construirea de liste, inclusiv liste coninute n
alte liste. Listele ncep cu <ul> sau <ol>, <li> fiind folosit pentru a marca nceputul elementelor
n ambele cazuri. 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 preceda-
te de <li> sunt numerotate de ctre programul de navigare. Marcajele <ul> i <ol> au aceeai
sintax i efecte asemntoare.
Marcajele <br>, <p> i <hr> indic o separare ntre diferitele pri ale textului. Formatul
precis este descris n pagina de stil (vezi mai jos) asociat cu pagina curent. 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 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 imaginii. Standardul HTML nu specific ce formate grafice sunt permise. n prac-
tic, toate programele de navigare accept fiiere n format GIF, multe pot lucra i cu fiiere n for-
mat 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.
Ali parametri pentru <img> sunt align, care controleaz modul n care se aliniaz imaginea fa
de limita de jos a textului (top, middle, bottom), alt, care furnizeaz textul afiat n locul imaginii dac
utilizatorul dezactiveaz opiunea de afiare a imaginilor i ismap, un indicator care anun c ima-
ginea este o hart selectabil.
n sfrit, s considerm hiper-legturile, care utilizeaz marcajele <a> (anchor) i </a>. Ca i
<img>, <a> are diveri parametrii, printre care href (URL-ul) i name (numele hiper-legturii).
Textul cuprins ntre <a> i </a> este afiat. Dac este selectat, atunci se utilizeaz hiper-legtura
pentru a se aduce o nou pagin. n locul textului se poate pune i un marcaj <img>, 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>NASAs home page </a>

Cnd se afieaz acest fragment, pe ecran apare:

NASAs 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

<a href=http://www.nasa.gov><img src=shuttle.gifalt=NASA></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 utili-
zatorul a dezactivat opiunea de afiare a imaginilor, atunci n loc de imagine va fi afiat textul NASA.


568 NIVELUL APLICAIE CAP. 7


<html>
<head><title> A sample page with a table </title></head>
<body>
<table border=1 rules=all>
<caption> Some differences between HTML Versions </caption>
<col align=left>
<col align=center>
<col align= center >
<col align= center >
<col align= center >
<tr> <th>Item <th>HTML 1.0 <th>HTML 2.0 <th>HTML 3.0 <th> HTML 4.0 </tr>
<tr> <th> Hyperlinks <td> x <td> x <td> x <td> x </tr>
<tr> <th> Images <td> x <td> x <td> x <td> x </tr>
<tr> <th> Lists <td> x <td> x <td> x <td> x </tr>
<tr> <th> Active Maps and Images <td> &nbsp; <td> x <td> x <td> x </tr>
<tr> <th> Forms <td> &nbsp; <td> x <td> x <td> x </tr>
<tr> <th> Equations <td> &nbsp; <td> &nbsp; <td> x <td> x </tr>
<tr> <th> Toolbars <td> &nbsp; <td> &nbsp; <td> x <td> x </tr>
<tr> <th> Tables <td> &nbsp; <td> &nbsp; <td> x <td> x </tr>
<tr> <th> Accesibility features <td> &nbsp; <td> &nbsp; <td> &nbsp; <td> x </tr>
<tr> <th> Object embedding <td> &nbsp; <td> &nbsp; <td> &nbsp; <td> x </tr>
<tr> <th> Scripting <td> &nbsp; <td> &nbsp; <td> &nbsp; <td> x </tr>
</table>
</body>
</html>
(a)

Some diferences between HTML Versions
Item HTML 1.0 HTML 2.0 HTML 3.0 HTML 4.0
Hyperlinks x x x x
Images x x x x
Lists x x x x
Active Maps and Images x x x
Forms x x x
Equations x x
Toolbars x x
Tables x x
Accessibility features x
Object embedding x
Scripting x
(b)


Fig. 7-28. (a) O tabel HTML, (b) Un rezultat posibil.

Pentru marcajul <a> se poate utiliza parametrul name pentru a fixa o hiper-legtur, 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.
SEC. 7.3 WORLD WIDE WEB 569

HTML evolueaz continuu. n versiunile HTML 1.0 i HTML 2.0 nu existau tabele, dar au fost
adugate n HTML 3.0. O tabel HTML este format din una sau mai multe linii, fiecare fiind for-
mat din una sau mai multe celule. Celulele pot s conin diferite tipuri de informaii, inclusiv text,
figuri, iconie, fotografii 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 hotr-
te de fapt cum se face afiarea.
O descriere n HTML a unei tabele este prezentat n fig. 7-28(a), iar efectul posibil este prezen-
tat n fig. 7-28(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 pro-
prietile generale ale tabelei.
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 i multe altele.
n HTML 4.0 au fost adugate noi elemente. Acestea includ elemente ce fac paginile mai accesi-
bile utilizatorilor cu handicap, nglobarea obiectelor (o generalizare a marcajului <img> astfel nct
alte obiecte s poat fi nglobate n pagini), suport pentru limbaje de scripturi (pentru a permite con-
inut dinamic) i multe altele.
Cnd un sit de Web este complex, fiind format din multe pagini produse de autori diferii ce lu-
creaz pentru aceeai companie, este adesea de dorit s existe o modalitate pentru a mpiedica mo-
duri de prezentare diferite n pagini diferite. Aceast problem poate fi rezolvat utiliznd paginile
de stil (style sheets). Atunci cnd se utilizeaz pagini de stil, paginile individuale nu mai folosesc sti-
luri fizice, cum sunt modurile aldin i cursiv. Autorii pot acum s utilizeze stiluri logice, cum sunt
<dn> (definiie), <em> (evideniere), <strong> (evideniere accentuat) i <var> (variabile de
program). Stilurile logice sunt definite n pagina de stil, pentru care exist o referin la nceputul
fiecrei pagini. n acest fel, toate paginile au acelai stil i dac administratorul sitului (Webmaster)
decide s schimbe stilul <strong> din stil cursiv de 14 puncte tipografice, culoare albastr n stil al-
din, 18 puncte tipografice, culoare roz iptor, tot ceea ce trebuie s fac este s schimbe o singur
definiie pentru a converti ntregul sit Web. O pagin de stil poate fi comparat cu o directiv #in-
clude ntr-un program C: schimbarea unei macrodefiniii n fiierul inclus determin schimbarea n
toate fiierele program ce includ respectivul header.
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 co-
municaia 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.
570 NIVELUL APLICAIE CAP. 7


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 afi-
are 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-29 prezin-
t cteva dintre aceste posibiliti.

<html>
<head><title> AWI CUSTOMER ORDERING FORM </title></head>
<body>
<h1> Widget Order Form </h1>
<form ACTION=http://widget.com/cgi-bin/widgetorder method=POST>
<p> Name <input name=customer size=46> </p>
<p> Street Address <input name=address size=40> </p>
<p> City <input name=city size=20> State <input name=state size=4>
Country <input name=country size=10> </p>
<p> Credit card # <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>
<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>
<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)

(b)

Fig. 7-29. (a) Un formular de comand HTML. (b) Pagina formatat.
SEC. 7.3 WORLD WIDE WEB 571


S ncepem discuia parcurgnd exemplul. Ca orice formular, i acesta este cuprins ntre marcaje-
le <form> i </form>. Textele care nu sunt incluse ntre marcaje sunt afiate. ntr-un formular
poate s fie utilizat orice marcaj obinuit (de exemplu <b>) n acest formular sunt utilizate trei ti-
puri 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 se-
parat. Urmeaz o linie pe care se solicit oraul, statul i ara. Aici nu se utilizeaz marcajul <p>,
deci programul de navigare o s le afieze pe toate pe aceeai linie, dac ncap. Din punctul de vede-
re al programului de navigare, paragraful curent conine ase elemente: trei iruri alternnd cu trei
casete. El le 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 1600 x 1200 s
ncap toate cele trei iruri i casetele corespunztoare, n timp ce pe un ecran 1024 x 768 ele pot s
fie distribuite n dou linii. n cazul cel mai defavorabil cuvntul Country este la 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 adecva-
te. Vom discuta despre aceste msuri n cap. 8.
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 execu-
ia 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 programul de navigare. Widget size utili-
zeaz de asemenea dou butoane. Cele dou grupuri sunt difereniate prin cmpul name i nu
printr-un domeniu static de genul <radiobutton> ... </radiobutton>.
Parametrii value sunt utilizai pentru a arta care buton a fost apsat. n funcie de opiunea alea-
s pentru cartea de credit, variabila cc va avea ca valoare irul mastercard sau visacard.
Dup cele dou seturi de butoane, urmeaz opiunea referitoare la modul de transport, repre-
zentat 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 selectat 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
pia utiliznd pagina de Web Electropizza, utilizatorul poate s aleag sardele i ceap i ananas (da-
c le suport), dar nu poate s aleag mic i medie i mare pentru aceeai pia. Coninutul cores-
punztor piei 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 la casetele de tip
572 NIVELUL APLICAIE CAP. 7


checkbox). Unele programe de navigare afieaz opiunile cuprinse ntre <select> i </select>
ca un meniu derulant.
Am vzut jumtate din tipurile standard pentru marcajul <input>: 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 funcio-
neaz 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-29, 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 l 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).
Atunci cnd utilizatorul selecteaz butonul submit order, programul de navigare mpacheteaz
informaia colectat ntr-o singur linie lung i o transmite serverului pentru procesare. Pentru a
separa cmpurile, se utilizeaz caracterul &; caracterul + reprezint spaiu. De exemplu, rspunsul
la formular poate s arate ca n fig. 7-30:


(mprit aici n trei linii din motive de aliniere pagin)

customer=John+Doe&address=100+Main+St.&city=White+Plain&
state=NY&country=USA&cardno=1234567890&expires6/98&cc=mastercard&
product=cheap&express=on

Fig. 7-30. Un rspuns posibil de la programul de navigare ctre server cu
informaiile completate de utilizator

irul va fi transmis la server ca o singur linie, nu ca trei. Dac un checkbox nu este selectat, el es-
te omis din ir. Este problema serverului s interpreteze irul respectiv. Vom discuta cum se poate
realiza acest lucru mai trziu n acest capitol.
XML i XSL
Limbajul HTML, cu sau fr formulare, nu confer nici o structur paginilor de Web. De
asemenea, el amestec coninutul cu informaii despre formatul paginii. Pe msur ce comerul
electronic i alte aplicaii devin din ce n ce mai rspndite, apare o cerere din ce n ce mai mare
pentru structurarea paginilor de Web i separarea coninutului de informaiile de format. De
exemplu, un program care caut pe Web preul cel mai bun al unei cri sau al unui CD trebuie s
analizeze multe pagini de Web cutnd numele produsului i preul su. Cu paginile de Web n
format HTML este foarte dificil ca un program s i dea seama unde se afl numele i unde se
afl preul.
Din acest motiv, consoriul W3C a dezvoltat mbuntiri ale limbajului HTML pentru a permite
paginilor de Web s fie structurare n vederea procesrii automate. Dou limbaje noi au fost dezvol-
tate n acest scop. Mai nti, XML (eXtensible Markup Language) descrie coninutul ntr-un mod
SEC. 7.3 WORLD WIDE WEB 573

structurat i apoi, XSL (eXtensible Style Language) descrie formatul independent de coninut. Am-
bele limbaje reprezint subiecte mari i complexe, ca atare scurta introducere care urmeaz atinge
tangenial subiectul, dei ar trebui s ofere o idee despre modul cum funcioneaz.
S considerm documentul XML dat ca exemplu n fig. 7-31. Acesta definete o structur numit
book_list, care reprezint o list de cri. Fiecare carte (book) are trei cmpuri, titlul, autorul i anul
publicrii. Aceste structuri sunt extrem de simple. Sunt permise structurile ce conin cmpuri repeti-
tive (de ex.: mai muli autori), cmpuri opionale (de ex.: titlul CD-ROM-ului inclus) i cmpuri la
alegere (de ex.: URL-ul unei librrii dac respectiva carte mai este disponibil sau URL-ul unui sit
de licitaii dac nu mai este disponibil pe pia).
n acest exemplu, fiecare din cele trei cmpuri este o entitate indivizibil, dar se permite subdivi-
zarea ulterioar a unui cmp. De exemplu, cmpul autor putea fi alctuit aa cum urmeaz, spre a
oferi un control mai fin la cutare i formatare:

<author>
<first_name>Andrew</first_name>
<last_name>Tannenbaum</last_name>
</author>

Fiecare cmp poate fi mprit n sub-cmpuri i sub-sub-cmpuri pn la o adncime arbitrar.
ntregul fiier din fig. 7-31 definete o list de cri ce conine trei cri. Nu spune nimic despre
modul cum se poate afia pagina de Web pe ecran. Pentru a oferi informaii de formatare avem ne-
voie de un al doilea fiier, book_list.xsl, ce conine definiia XSL. Acest fiier este o pagin de stil care
spune cum se poate afia pagina. (Exist alternative la paginile de stil, cum ar fi conversia XML n
HTML, dar aceste alternative depesc subiectul acestei cri.)

<?xml version=1.0 ?>
<?xml-stylesheet type=text/xsl href=book_list.xsl?>

<book_list>

<book>
<title>Computer Networks, 4/e </title>
<author> Andrew S. Tannenbaum </author>
<year> 2003 </year>
</book>

<book>
<title> Modern Operating Systems, 2/e </title>
<author> Andrew S. Tannenbaum </author>
<year> 2001 </year>
</book>

<book>
<title> Structured Computer Organization 4/e </title>
<author> Andrew S. Tannenbaum </author>
<year> 1999 </year>
</book>

</book_list>
Fig. 7-31. O pagin de Web simpl n format XML


574 NIVELUL APLICAIE CAP. 7


<?xml version=1.0?>
<xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform version=1.0>
<xsl:template match=/>

<html>
<body>

<table border=2>
<tr>
<th> Title </th>
<th> Author </th>
<th> Year </th>
</tr>

<xsl:for-each select=book_list/book>
<tr>
<td> <xsl: value-of select=title/> </td>
<td> <xsl: value-of select=author/> </td>
<td> <xsl: value-of select=year/> </td>
</tr>
</xsl:for-each>
</table>

</body>
</html>
</xsl:template>
</xsl:stylesheet>
Fig. 7-32. O pagin de stil n XSL

Un exemplu de fiier XSL pentru formatarea coninutului din fig. 7-31 este dat n fig. 7-32. Dup
cteva declaraii necesare ce includ URL-ul standardului XSL, fiierul conine marcaje ncepnd cu
<html> i <body>. Acestea definesc nceputul unei pagini de Web, ca de obicei. Urmeaz apoi o
definiie de tabel ce include titlurile celor trei coloane. S observm c n plus fa de marcajele
<th> exist i marcaje </th>, lucru care nu ne-a preocupat pn acum. Specificaiile XML i XSL
sunt mult mai stricte dect specificaia HTML. Ele statueaz c rejectarea fiierelor incorecte din
punct de vedere sintactic este obligatorie, chiar dac programul de navigare poate determina ce a
intenionat proiectantul paginii Web. Un program de navigare care accept fiiere XML sau XSL
incorecte din punct de vedere sintactic i repar eroarea el nsui este neconform cu standardul i va
fi rejectat la un test de conforman cu standardele. Programelor de navigare li se permite ns s
identifice exact eroarea. Aceast msur ntructva draconic este necesar pentru a rezolva pro-
blema numrului imens de pagini de Web scrise neglijent, care exist n prezent.
Instruciunea

<xsl: for-each select=book_list/book>

este comparabil cu o instruciune for n C. Execuia ei determin programul de navigare s execute
corpul buclei (terminat de <xsl:for-each>) cte o dat pentru fiecare carte. Fiecare iteraie afiea-
z cinci linii: <tr>, titlul, autorul i anul i </tr>. Dup aceast bucl, sunt transmise la ieire mar-
cajele de nchidere <body> i </html>. Rezultatul operaiei programului de navigare de a inter-
preta aceast pagin de stil este acelai ca i n cazul cnd pagina de Web ar fi coninut direct tabelul.
Totui, n acest format, programele pot analiza fiierul XML i gsi cu uurin crile publicate du-
SEC. 7.3 WORLD WIDE WEB 575

p 2000, de exemplu. Merit subliniat faptul c dei fiierul nostru XSL coninea un fel de bucl,
paginile de Web n XML i XSL sunt n continuare statice deoarece conin pur i simplu instruciuni
pentru programul de navigare despre modul de afiare a paginii, la fel ca i paginile HTML. Desigur,
pentru a folosi XML i XSL, programul de navigare trebuie s fie capabil s interpreteze XML i
XSL, dar marea majoritate a acestora au deja aceast capacitate. Nu este nc foarte clar dac XSL
va prelua paginile de stil tradiionale.
Nu am artat cum se poate face acest lucru, dar limbajul XML permite proiectantului de situri
Web s creeze fiiere de definiie n care structurile sunt definite n avans. Aceste fiiere de definiii
pot fi incluse unele n altele, fcnd posibil construcia de pagini Web complexe. Pentru informaii
suplimentare despre aceasta i multe alte caracteristici ale limbajelor XML i XSL, consultai una
din multele cri despre acest subiect. Dou exemple sunt (Livingston, 2002; i Williamson, 2001).
nainte de a ncheia discuia despre XML i XSL, merit s comentm pe marginea luptei ideo-
logice din interiorul consoriului WWW i a comunitii dezvoltatorilor de pagini Web. Scopul iniial
al limbajului HTML era s specifice structura documentului i nu modul de afiare. De exemplu,

<h1> Deborahs Photos </h1>

instruiete programul de navigare s sublinieze titlul, dar nu spune nimic despre tipului font-ului,
dimensiune sau culoare. Acestea sunt lsate pe seama programului de navigare, care cunoate pro-
prietile ecranului (de ex.: ci pixeli are). Totui, muli dezvoltatori de pagini Web doreau controlul
absolut asupra modalitii n care erau afiate paginile lor, astfel c au fost adugate noi marcaje la
HTML pentru a controla modul de afiare, cum ar fi

<font face=helvetica size=24 color=red> Deborahs Photos </font>

De asemenea, au fost adugate modaliti de a controla poziionarea precis pe ecran. Aceast
abordare este c nu este portabil, ceea ce reprezint desigur o problem. Dei o pagin poate fi
afiat perfect de programul de navigare cu care este dezvoltat, un alt program de navigare, sau
chiar alt versiune a aceluiai program sau o alt rezoluie a ecranului poate fi un dezastru. XML
este parial o ncercare de ntoarcere la scopul originar de a specifica doar structura nu modalitatea
de afiare a documentului. Totui, XSL este oferit n plus, pentru a controla modul de afiare. Am-
bele formate pot avea ns utilizri eronate. Putei conta pe asta.
XML poate fi utilizat i n alte scopuri dect acela de a descrie pagini de Web. O utilizare din ce
n ce mai frecvent este aceea de limbaj de comunicare ntre aplicaii. n particular, SOAP (Simple
Object Access Protocol Protocol simplu pentru accesul la obiecte) este o modalitate de a executa
apeluri de tip RPC ntre aplicaii ntr-un mod independent de limbaj i de sistem. Clientul constru-
iete cererea ca mesaj XML i o transmite serverului, utiliznd protocolul HTTP (descris mai depar-
te). Serverul trimite napoi un rspuns sub form de mesaj XML. n acest mod pot comunica aplica-
ii de pe sisteme heterogene.
XHTML eXtended HyperText Markup Language
Limbajul HTML continu s evolueze pentru a se conforma noilor cereri. Multe persoane din
acest domeniu cred c n viitor majoritatea dispozitivelor cu acces la Web nu vor fi calculatoarele
personale, ci dispozitive cu conexiuni fr fir, de tip PDA. Aceste dispozitive au memorie limitat
pentru programe de navigare mari cu metode euristice ce ncearc s trateze ntr-un anumit mod
paginile de Web incorecte din punct de vedere sintactic. Astfel, urmtorul pas dup HTML 4 este
un limbaj care este Foarte Selectiv. Acest limbaj este numit XHTML (eXtended HyperText Markup
Language, rom.: Limbaj extins de marcaje hipertext) mai degrab dect HTML 5, pentru c, de
576 NIVELUL APLICAIE CAP. 7


fapt, este HTML 4 reformulat n XML. Prin aceasta vrem s spunem c marcaje precum <h1> nu
au nici o nsemntate prin ele nsele. Pentru a obine efectul din HTML 4 este nevoie de o definiie
n fiierul XSL. XHTML este noul standard pentru Web i ar trebui folosit pentru toate paginile de
Web noi pentru a asigura un maxim de portabilitate pe diverse platforme i programe de navigare.
Exist ase diferene majore i mai multe diferene minore ntre XHTML i HTML 4. S trecem
acum n revist diferenele majore. Mai nti, paginile XHTML i programele de navigare trebuie s
se supun n mod strict standardului. Gata cu paginile de Web de proast calitate. Aceast proprie-
tate a fost motenit din XML.
n al doilea rnd, toate marcajele i atributele trebuie s fie scrise cu litere mici. Marcaje ca
<HTML> nu sunt valide n XHTML. Folosirea marcajelor precum <html> este acum obligatorie.
Similar, <img SRC=pic001.jpg> este interzis pentru c are n componen un atribut scris cu lite-
re mari.
n al treilea rnd, sunt necesare marcaje de terminare, chiar i pentru </p>. Pentru marcaje care
nu au un marcaj natural de terminare, cum ar fi <br>, <hr> i <img>, un caracter / trebuie s
precead caracterul de terminare >, de exemplu

<img src=pic001.jpg />

n al patrulea rnd, atributele trebuie s fie coninute ntre ghilimele. De exemplu,

<img SRC=pic001.jpg height=500 />

nu mai este permis. Valoarea 500 trebuie pus ntre ghilimele, cum este numele fiierului JPEG,
chiar dac 500 este doar un numr.
n al cincilea rnd, marcajele trebuie s se conin unul pe altul ntr-un mod corespunztor. n
trecut, acest lucru nu era necesar att timp ct starea final atins era corect. De exemplu,

<center> <b> Vacation Pictures </center> </b>

era legal. n XHTML nu mai este. Marcajele trebuie nchise n ordinea invers n care au fost des-
chise.
n al aselea rnd, fiecare document trebuie s-i specifice tipul documentului. De exemplu, am
vzut acest lucru n fig. 7-32. Pentru o discuie asupra schimbrilor, fie ele majore sau minore, vezi
www.w3.org.
7.3.3 Documente Web dinamice
Pn acum, modelul pe care l-am folosit este cel din Fig. 6-6: clientul transmite numele fiierului
ctre server, care apoi ntoarce fiierul. La nceputul Web-ului, tot coninutul era de fapt static n
acest mod (doar fiiere). Totui, n ultimii ani, din ce n ce mai mult coninut a devenit dinamic, adic
generat la cerere i nu doar stocat pe disc. Generarea de coninut poate avea loc fie la server, fie la
client. S examinm acum pe rnd fiecare din aceste cazuri.
Generare dinamic de pagini de Web la server
Pentru a vedea de ce este necesar generarea de coninut la server, s lum n considerare utiliza-
rea formularelor, aa cum a fost descris mai devreme. Atunci cnd un utilizator completeaz un
formular i apas butonul submit, se transmite un mesaj ctre server, mesaj ce arat c are n interior
coninutul unui formular, mpreun cu acele cmpuri completate de utilizator. Acest mesaj nu este
numele unui fiier ce trebuie ntors. n schimb, acest mesaj trebuie s fie oferit unui program, sau
SEC. 7.3 WORLD WIDE WEB 577

script, pentru a fi procesat. De obicei, procesarea implic folosirea informaiilor oferite de utilizator
pentru cutarea unei nregistrri ntr-o baz de date de pe discul serverului i generarea unei pagini
HTML personalizate pentru a fi trimis napoi clientului. De exemplu, ntr-o aplicaie de comer elec-
tronic, atunci cnd utilizatorul face un clic pe MERGI LA CAS, programul de navigare ntoarce
cookie-ul ce conine produsele din coul de cumprturi, dar la server trebuie apelat un program, sau
script, care proceseaz acest cookie i genereaz o pagin HTML ca rspuns. Pagina HTML ar putea
afia un formular ce conine lista de produse din co i ultima adres de expediere cunoscut a utiliza-
torului, mpreun cu o cerere de verificare a informaiilor i de specificare a modalitii de plat. Eta-
pele necesare pentru procesarea informaiei dintr-un formular HTML sunt ilustrate n fig. 7-33.


Fig. 7-33. Etapele de procesare a informaiei dintr-un formular HTML

Modalitatea tradiional de a trata formularele i alte pagini de Web interactive este sistemul
numit CGI (Common Gateway Interface Interfa comun de conversie). Aceasta este o interfa
standardizat ce permite serverelor de Web s discute cu programele din fundal i cu scripturile care
accept o intrare (de ex.: formulare) i s genereze pagini HTML ca rspuns. De obicei, aceste pro-
grame de fundal sunt scripturi scrise n limbajul Perl deoarece scripturile Perl sunt mai uor i mai
rapid de scris dect programele (cel puin dac tii s programezi n Perl). n mod obinuit, ele sunt
localizate ntr-un director numit cgi-bin, care este vizibil n URL. Cteodat un alt limbaj de scrip-
turi, Python, este utilizat n loc de Perl.
Ca un exemplu de ct de frecvent lucreaz CGI, s considerm cazul unui produs al companiei
Truly Great Products Company (rom. Compania Produselor cu Adevrat Bune) care vine cu o fi
de nregistrare a produsului pentru garanie. n loc de a completa aceast fi, clientului i se spune
s mearg la www.tgpc.com pentru a se nregistra on-line. Pe acea pagin exist o hiper-legtur
care spune

Apsai aici pentru a va nregistra produsul

Aceast legtura indic spre un script Perl, s spunem www.tgpc.com/cgi-bin/reg.perl. Cnd acest
script este executat fr parametri, transmite napoi o pagin HTML coninnd formularul de nre-
gistrare. Atunci cnd utilizatorul completeaz formularul i face un clic pe submit se transmite un
mesaj acestui script, mesaj ce conine valorile completate dup modelul din fig. 7-30. Scriptul Perl
analizeaz parametrii, adaug o nregistrare n baza de date pentru noul client i transmite napoi o
pagin HTML ce conine numrul de nregistrare i un numr de telefon de la serviciul de asisten-
. Aceasta nu este singura modalitate de a trata formularele, dar este o modalitate des ntlnit.
Exist un numr mare de cri despre scrierea scripturilor CGI i programarea n Perl. Cteva
exemple sunt: (Hanegan, 2001; Lash, 2002; i Meltzer i Michalski, 2001).
578 NIVELUL APLICAIE CAP. 7


Scripturile CGI nu sunt singura modalitate de a genera coninut dinamic la server. O alt moda-
litate des ntlnit este de a ngloba mici scripturi n paginile HTML i a lsa serverul s le execute
pentru a genera pagina. Un limbaj popular pentru scrierea acestor scripturi este PHP (PHP: Hyper-
text Procesor; rom.: Procesor Hipertext). Pentru a fi folosit, serverul trebuie s neleag PHP (exact
cum programul de navigare trebuie s neleag XML pentru a interpreta paginile de Web scrise n
XML). De obicei, serverele se ateapt ca paginile de Web ce conin PHP s aib extensia php mai
degrab dect html sau htm.
Un mic script PHP este ilustrat n fig. 7-34; ar trebui s funcioneze pe orice server care are PHP
instalat. Conine HTML normal cu excepia scriptului PHP dintre marcajele <?php ... ?>. Ceea ce
genereaz este o pagin de Web ce afieaz ceea ce tie despre programul de navigare care o ape-
leaz. Programele de navigare trimit de obicei o serie de informaii odat cu cererea lor (i orice
cookie aplicabil) i aceast informaie este pus n variabila HTTP_USER_AGENT. Cnd acest pro-
gram este pus n fiierul test.php n directorul de WWW al companiei ABCD, tastnd URL-ul
www.abcd.com/test.php se va afia o pagin de Web care spune utilizatorului ce program de navigare,
ce limb i ce sistem de operare folosete.

<html>
<body>

<h2> This is what I know about you </h2>
<?php echo $HTTP_USER_AGENT ?>

</body>
</html>
Fig. 7-34. O pagin HTML cu PHP nglobat

PHP este folositor n special la tratarea formularelor i este mai simplu de utilizat dect scrip-
turile CGI. Ca un exemplu al modului su de funcionare, s considerm exemplul din fig. 7-35(a).
Aceast figur conine o pagin HTML normal cu un formular n interior. Singurul lucru neo-
binuit la aceast pagin este prima linie, care spune c fiierul action.php va fi invocat pentru a
trata parametrii dup ce utilizatorul a completat i transmis formularul. Pagina afieaz dou c-
sue de text, una cernd numele i cealalt vrsta. Dup ce aceste csue au fost completate i
formularul transmis, serverul analizeaz irul de caractere de forma celui din fig. 7-30, punnd
numele n variabila name i vrsta n variabila age. ncepe apoi s proceseze fiierul action.php,
artat n fig. 7-35(b) pentru obinerea rspunsului. n timpul procesrii acestui fiier sunt executa-
te comenzile PHP. Dac utilizatorul a completat valorile Barbara i 24 n csuele formularu-
lui, fiierul transmis napoi este cel dat n fig. 7-35(c). Astfel, tratarea formularelor devine extrem
de simpl n PHP.
Dei PHP este uor de utilizat, este de fapt un limbaj de programare puternic, orientat pe interfa-
area dintre Web i o baz de date a serverului. Suport variabile, iruri de caractere, vectori i majo-
ritatea structurilor de control din C, dar un sistem de I/E mult mai puternic dect printf. PHP este un
program public (open source) i disponibil gratuit. A fost conceput special s lucreze bine cu
Apache, care este de asemenea gratuit i care este cel mai larg utilizat server de Web din lume. Pen-
tru mai multe informaii despre PHP, vezi (Valade, 2002).
Am vzut pn acum dou moduri diferite de a genera pagini HTML dinamice: script-urile CGI
i PHP-ul nglobat. Exist i o a treia tehnic, numit JSP (JavaServer Pages), care este similar cu
PHP, cu excepia faptului c partea dinamic este scris n limbajul de programare Java n loc de
SEC. 7.3 WORLD WIDE WEB 579

PHP. Paginile ce folosesc aceast tehnic au n numele fiierului extensia jsp. O a patra tehnic, ASP
(Active Server Pages), este versiunea de la Microsoft a PHP i JavaServer Pages. Pentru generarea
coninutului dinamic folosete limbajul de script proprietar al Microsoft-ului, Visual Basic Script.
Paginile ce folosesc aceast tehnic au extensia asp. Alegerea dintre PHP, JSP, i ASP are n general
mai mult de-a face cu politici (open-souce vs. Sun vs. Microsoft) dect cu tehnologia, cele trei limba-
je fiind comparabile. Colecia de tehnologii pentru generarea din zbor a coninutului este uneori
denumit HTML dinamic.
Generare dinamic de pagini de Web la client
Scripturile CGI, PHP, JSP i ASP rezolv problema formularelor i a interaciunilor cu bazele de
date din server. Toate pot s accepte informaii care vin din formulare, s caute informaii ntr-una
sau mai multe baze de date i s genereze pagini HTML cu rezultate. Ceea ce nu poate face nici
unul dintre scripturi este s rspund la micrile mouse-ului sau s interacioneze direct cu utiliza-
torii. n acest scop, este necesar ca scripturile s fie nglobate n paginile HTML care sunt executate
mai degrab pe maina clientului, dect pe maina serverului. ncepnd cu HTML 4.0, astfel de
scripturi erau permise folosind marcajul <script>. Cel mai popular limbaj de script la client este
JavaScript, aa c o s aruncm o scurt privire asupra lui.

<html>
<body>
<form action=action.php method=post>
<p> Introduceti numele: <input type=text name=name> </p>
<p> Introduceti varsta: <input type=text name=age> </p>
<input type=submit>
</form>
</body>
</html>
(a)

<html>
<body>
<h1> Raspuns: </h1>
Hello <?php echo $name; ?>.
Prezicere: anul urmator veti avea <?php echo $age + 1; ?> ani.
</body>
</html>
(b)

<html>
<body>
<h1> Raspuns: </h1>
Buna, Barbara.
Prezicere: anul urmator veti avea 25 ani.
</body>
</html>
(c)

Fig. 7-35. (a) O pagin Web ce conine un formular.
(b) Un script PHP pentru afiarea dinamic a form-ului.
(c) Ieirea scriptului PHP cnd datele de intrare sunt Barbara i respectiv 24.

580 NIVELUL APLICAIE CAP. 7


<html>
<head>
<script language=javascript type=text/javascript>
function response(test_form) {
var person = test_form.name.value;
var years = eval(test_form.age.value) + 1;
document.open();
document.writeln(<html> <body>);
document.writeln(Hello + person + .<br>);
document.writeln(Prezicere: la anul vei avea + years + .);
document.writeln(</body> </html>);
document.close();
}
</script>
</head>

<body>
<form>
Introduceti numele: <input type=text name=name>
<p>
Introduceti varsta: <input type=text name=age>
<p>
<input type=button value=submit onclick=response(this.form)>
</form>
</body>
</html>

Fig. 7-36. Folosirea JavaScript Pentru procesarea unui formular.

JavaScript este un limbaj de script, foarte inspirat din cteva idei ale limbajului de programare Ja-
va. Nu este cu siguran Java. Ca alte limbaje de script, el este un limbaj de nivel foarte nalt. De
exemplu, ntr-o singur linie din JavaScript este posibil s se creeze o fereastr de dialog, s se atep-
te introducerea de text i s se memoreze irul rezultat ntr-o variabil. Astfel de caracteristici de
nivel nalt fac din JavaScript un limbaj ideal pentru crearea de pagini Web interactive. Pe de alt
parte, faptul c nu este standardizat i c se modific mai repede ca o musc prins ntr-o main cu
raze X, fac extrem de dificil scrierea de programe JavaScript care s funcioneze pe toate platfor-
mele, dar poate ntr-o zi se va stabiliza.
Un exemplu de program n JavaScript, este cel din fig. 7-36. Ca i n fig. 7-35(a), apare un formu-
lar n care se cer numele i vrsta i care calculeaz vrsta persoanei n anul urmtor. Corpul este
aproape la fel ca n exemplul PHP, principala diferen fiind declararea butonului de trimitere a
datelor i asocierea unei funcii cu acest buton. Aceast funcie spune programului de navigare s
invoce scriptul response la o apsare de buton i s-i trimit formularul ca parametru.
Complet nou aici este declararea funciei JavaScript response n antetul fiierului HTML, o zon
n mod normal rezervat titlurilor, culorilor de fundal i aa mai departe. Aceast funcie extrage
valoarea cmpului name din formular i o pstreaz ca ir n variabila person. De asemenea extrage
valoarea cmpului age, o convertete la un ntreg prin folosirea funciei eval, o incrementeaz cu 1 i
reine rezultatul n years. Apoi deschide un document pentru ieire n care face trei scrieri, folosind
metoda writeln, i nchide documentul. Documentul este un fiier HTML, dup cum se poate vedea
din diversele marcaje HTML din el. Programul de navigare afieaz apoi documentul pe ecran.
SEC. 7.3 WORLD WIDE WEB 581



Fig. 7-37. (a) Scripting la server cu PHP. (b) Scripting la client cu JavaScript.

Este foarte important de neles c n timp ce fig. 7-35 i fig. 7-36 arat similar, ele sunt procesate
total diferit. n fig. 7-35, dup ce utilizatorul a apsat butonul submit, programul de navigare strnge
informaia ntr-un ir lung, n stilul celui din fig. 7-30 i l trimite serverului care a trimis pagina. Ser-
verul vede numele fiierului PHP i l execut. Scriptul PHP produce o nou pagin HTML i acea
pagin este trimis napoi programului de navigare pentru afiare. Cu fig. 7-36, cnd butonul submit
este apsat, programul de navigare interpreteaz o funcie JavaScript coninut pe pagin. Totul este
fcut local, n programul de navigare. Nu se face nici un contact cu serverul. Ca o consecin, rezulta-
tul este tiprit teoretic instantaneu, n timp ce cu PHP, poate exista o ntrziere de cteva secunde
nainte ca HTML-ul rezultat s ajung la client. Diferena ntre utilizarea scripturilor la server i uti-
lizarea acestora la client este ilustrat n fig. 7-37, inclusiv paii implicai. n ambele cazuri, paii nu-
merotai ncep dup afiarea formularului. Pasul 1 const din acceptarea datelor de intrare ale utili-
zatorului. Apoi urmeaz procesarea acestora, care difer n cele dou cazuri.

<html>
<head>
<script language=javascript type=text/javascript>

function response(test_form) {
function factorial(n) { if (n==0) return 1; else return n * factorial(n-1); }
var r = eval(test_form.number.value); // r = argument introdus de la tastatura
document.myform.mytext.value = Aici sunt rezultatele.\n;
for (var i = 1; i <= r; i++) // tipareste o linie de la 1 la r
document.myform.mytext.value += (i + != + factorial(i) + \n);
}
</script>
</head>

<body>
<form name=myform>
Introduceti un numar: <input type=text name=number>
<input type=button value=calcul factorial onclick=response(this.form)>
<p>
<textarea name=mytext rows=25 cols=50> </textarea>
</form>
</body>
</html>
Fig. 7-38. Un program JavaScript pentru calculul i afiarea factorialului.

582 NIVELUL APLICAIE CAP. 7


Aceast diferen nu nseamn c JavaScript este mai bun ca PHP. Utilizrile lor sunt complet
diferite. PHP (i, prin implicaie, JSP i ASP) sunt utilizate cnd este necesar o interaciune cu o
baz de date aflat la distan. JavaScript este utilizat cnd interaciunea se face cu utilizatorul la
calculatorul clientului. Este cu siguran posibil (i des ntlnit) s existe pagini HTML care folosesc
att PHP ct i JavaScript, dei evident nu pot face acelai lucru pe acelai buton, sau s dein ace-
lai buton.
JavaScript este un limbaj de programare matur, cu toat puterea limbajelor C i Java. Are varia-
bile, iruri, vectori, obiecte, funcii, i toate structurile de control obinuite. Are, de asemenea, un
numr mare de faciliti specifice paginilor Web, inclusiv abilitatea de a lucra cu ferestre i cadre,
setarea i obinerea de cookie-uri, lucrul cu formulare, i cu hiper-legturi. Un exemplu de program
JavaScript care utilizeaz o funcie recursiv este dat n fig. 7-38.
JavaScript poate, de asemenea, s urmreasc micarea mouse-ului peste obiectele afiate. Mul-
te pagini Web ce conin JavaScript au proprietatea c atunci cnd mouse-ul se mic peste un text
sau o imagine, se ntmpl ceva. Deseori, imaginea se schimb sau apare dintr-o dat un meniu.
Acest tip de comportament este uor de programat n JavaScript i conduce la pagini de Web foarte
dinamice. n fig. 7-39 este dat un exemplu.

<html>
<head>
<script language=javascript type=text/javascript>
if (!document.myurl) document.myurl = new Array();
document.myurl[0] = http://www.cs.vu.nl/ast/im/kitten.jpg;
document.myurl[1] = http://www.cs.vu.nl/ast/im/puppy.jpg;
document.myurl[2] = http://www.cs.vu.nl/ast/im/bunny.jpg;
function pop(m) {
var urx = http://www.cs.vu.nl/ast/im/cat.jpg;
popupwin = window.open(document.myurl[m], mywind, width=250,height=250);
}
</script>
</head>

<body>
<p> <a href=# onMouseover=pop(0); return false;> Kitten </a> </p>
<p> <a href=# onMouseover=pop(1); return false;> Puppy </a> </p>
<p> <a href=# onMouseover=pop(2); return false;> Bunny </a> </p>
</body>
</html>

Fig. 7-39. O pagin Web interactiv care rspunde la micarea mouse-ului.

JavaScript nu este singura cale de a face paginile Web foarte interactive. Alt metod popular
este bazat pe folosirea applet-urilor. Acestea sunt mici programe Java care au fost compilate ntr-
un cod main pentru un calculator virtual numit JVM (Java Virtual Machine Maina Virtual
Java). Applet-urile pot fi incluse n paginile HTML (ntre <applet> i </applet>) i sunt interpre-
tate de programe de navigare care cunosc JVM. Deoarece applet-urile nu sunt executate, ci inter-
pretate, interpretorul Java poate s le mpiedice s fac Lucruri Rele. Cel puin n teorie. n practic,
autorii de applet-uri au gsit i exploatat un ir aproape nesfrit de erori n bibliotecile Java de I/E.
Rspunsul Microsoft la applet-urile Java de la Sun au fost paginile Web cu controale Active-X
(Active-X controls), care sunt programe compilate pentru o main Pentium i sunt executate direct
SEC. 7.3 WORLD WIDE WEB 583

n hardware. Aceast proprietate le face mult mai rapide i mai flexibile dect applet-urile interpre-
tate, pentru c pot face orice poate face un program. Cnd Internet Explorer vede un control Acti-
ve-X ntr-o pagin Web, l descarc, i verific identitatea i l execut. Totui, descrcarea i executa-
rea de programe strine ridic probleme de securitate, la care ne vom referi n cap. 8.
Din moment ce aproape toate programele de navigare pot s interpreteze att programe Java ct
i JavaScript, un programator care vrea s fac o pagin Web foarte interactiv va putea s aleag
ntre dou tehnici, iar dac nu se dorete portabilitatea pe mai multe platforme, poate s aleag i
Active-X. Ca o regul general, programele JavaScript sunt mai uor de scris, applet-urile Java se
execut mai rapid iar controalele Active-X cel mai rapid dintre toate. De asemenea, din moment ce
toate programele de navigare implementeaz exact aceeai JVM, dar nu exist dou programe de
navigare care s tie aceeai versiune de JavaScript, applet-urile Java sunt mai portabile dect pro-
gramele JavaScript. Pentru mai multe detalii despre JavaScript, exist multe cri, fiecare cu multe
(deseori peste 1000) pagini. Cteva exemple sunt (Easttom, 2001; Harris 2001; i McFerdries, 2001).
nainte de a prsi subiectul coninutului dinamic al Web-ului, s recapitulm pe scurt ce am atins
pn acum. Pagini Web complete se pot genera din mers, folosind diverse script-uri pe maina server.
Odat ce sunt primite de programul de navigare, ele sunt tratate ca pagini HTML normale i sunt
doar afiate. Script-urile pot fi scrise n Perl, PHP, JSP sau ASP, dup cum este artat n fig. 7-40.


Fig. 7-40. Diverse moduri de a genera i afia coninut.

Generarea coninutului dinamic este posibil i n partea clientului. Paginile Web pot fi scrise n
XML i convertite la HTML conform unui fiier XSL. Programele JavaScript pot s efectueze diver-
se calcule. n sfrit, plug-in-urile (plug-ins) i aplicaiile ajuttoare (helper applications) pot fi folosi-
te pentru afiarea coninutului ntr-o varietate de forme.
7.3.4 HTTP HyperText Transfer Protocol
Protocolul de transfer utilizat pe Web este HTTP (HyperText Transfer Protocol, rom.:Protocol
de Transfer al Hipertextului). Acesta specific ce mesaje pot trimite clienii ctre servere i ce rs-
punsuri primesc napoi. Fiecare interaciune const dintr-o cerere ASCII, urmat de un rspuns
MIME conform RFC 822. Toi clienii i toate serverele trebuie s se supun acestui protocol. Este
definit n RFC 2616. n aceast seciune vom trata cteva din proprietile sale cele mai importante.
584 NIVELUL APLICAIE CAP. 7


Conexiuni
Modul uzual prin care un program de navigare contacteaz un server este de a stabili o conexiu-
ne TCP pe portul 80 pe maina serverului, dei aceast procedur nu este cerut formal. Avantajul
de a folosi TCP este c nici programele de navigare i nici serverele nu trebuie sa se preocupe de
mesajele pierdute, mesajele duplicate, mesajele lungi, sau mesajele de confirmare. Toate aceste as-
pecte sunt tratate de implementarea TCP.
n HTTP 1.0, dup ce conexiunea era stabilit, o singur cerere era transmis i un singur rs-
puns era primit napoi. Apoi conexiunea TCP era eliberat. ntr-o lume n care pagina tipic Web
consta n ntregime din text HTML, aceast metod era adecvat. n civa ani ns, o pagin medie
Web coninea un numr mare de iconie, imagini i alte lucruri plcute vederii, astfel c stabilirea
unei conexiuni TCP pentru a prelua o singur iconi a devenit un mod foarte costisitor de a opera.
Aceast observaie a dus la apariia HTTP 1.1, care suport conexiuni persistente. Cu ele, este
posibil stabilirea unei conexiuni TCP, trimiterea unei cereri i obinerea unui rspuns, apoi trimite-
rea unor cereri adiionale i obinerea de rspunsuri adiionale. Prin distribuirea pornirii i eliberrii
unei conexiuni TCP peste mai multe cereri, suprancrcarea relativ datorat TCP-ului este mult
mai mic pe fiecare cerere. Este de asemenea posibil trimiterea cererilor prin mecanismul pipeline,
adic trimiterea cererii 2 nainte ca rspunsul la cererea 1 s fi sosit.
Metode
Cu toate c HTTP a fost proiectat pentru utilizarea n Web, el a fost creat intenionat mai gene-
ral dect era necesar n perspectiva aplicaiilor orientate pe obiecte. Pentru aceasta sunt suportate
operaiile, denumite metode, care fac mai mult dect cele care doar cer o pagin Web. Aceast con-
sideraie general a permis apariia SOAP. Fiecare cerere const din una sau mai multe linii de text
ASCII, n care primul cuvnt din prima linie este numele metodei cerute. Metodele incorporate sunt
listate n fig. 7-41. Pentru accesarea unor obiecte generale, metode adiionale specifice obiectelor pot
fi de asemenea disponibile. n numele metodelor este semnificativ utilizarea literelor mari/mici, de
exemplu GET este o metod acceptat, dar nu i get.

Metoda Descriere
GET Cerere de citire a unei pagini Web
HEAD Cerere de citire a antetului unei pagini de Web
PUT Cerere de memorare a unei pagini de Web
POST Adugarea la o resurs anume (de exemplu o pagin de Web)
DELETE tergerea unei pagini de Web
TRACE Tiprirea cererii care a sosit
CONNECT Rezervat pentru o utilizare n viitor
OPTIONS Interogarea anumitor opiuni

Fig. 7-41. Metode de cerere standard pentru HTTP.

Metoda GET cere serverului s trimit pagina (prin care noi nelegem obiect, n cel mai general
caz, dar n practic de obicei doar un fiier). Pagina este codat corespunztor n MIME. Marea
majoritate a cererilor ctre servere Web sunt metode GET. Forma uzual a metodei GET este

GET fiier HTTP-1.1

unde fiier denumete resursa (fiierul) ce va fi adus, i 1.1 este versiunea de protocol utilizat.
SEC. 7.3 WORLD WIDE WEB 585

Metoda HEAD cere doar 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 obine informaii pentru
indexare, sau numai pentru a verifica corectitudinea unui URL.
Metoda PUT este inversa metodei GET: n loc s citeasc o pagin, o scrie. Aceast metod
permite crearea unei colecii de pagini de Web pe un server la distan. Corpul cererii conine pagi-
na. Pagina poate s fie codificat utiliznd MIME, caz n care liniile care urmeaz dup PUT pot
include Content-Type i antete de autentificare, pentru a demonstra c ntr-adevr cel care face cere-
rea are dreptul de a realiza operaia cerut.
Similar metodei PUT este metoda POST. i ea conine un URL, dar n loc s nlocuiasc date
existente, noile date se vor aduga ntr-un mod generalizat. De exemplu, se poate transmite un me-
saj la un grup de tiri sau aduga un fiier la un sistem de informare n reea. n practic, nici PUT i
nici POST nu sunt utilizate prea mult.
DELETE realizeaz ce era de ateptat: tergerea unei pagini. Ca i la PUT, autentificarea i
drepturile de acces joac aici un rol important. Nu exist nici o garanie asupra succesului operaiei
DELETE, 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.
Metoda TRACE este pentru verificarea corectitudinii. Ea cere serverului s trimit napoi cere-
rea. Aceast metod este util cnd cererile nu sunt procesate corect i clientul vrea s tie ce fel de
cerere a ajuns de fapt la server.
Metoda CONNECT nu este utilizat n prezent. Este rezervat pentru utilizri ulterioare.
Metoda OPTIONS asigur o modalitate pentru client de a interoga serverul despre proprietile
acestuia sau despre cele ale unui anumit fiier.
Fiecare cerere obine un rspuns ce const din linia de stare i posibile informaii suplimentare
(de exemplu, o parte sau toat pagina Web). Linia de stare conine un cod de stare de trei cifre, indi-
cnd dac cererea a fost satisfcut i dac nu, cauza. Prima cifr este utilizat pentru mprirea
rspunsurilor n cinci mari grupuri, ca n fig. 7-42. Codurile 1xx sunt utilizate n practic foarte rar.
Codurile 2xx indic tratarea cu succes a cererii i coninutul (dac exist) este returnat. Codurile 3xx
spun clientului s caute n alt parte, prin folosirea unui URL diferit, sau n propria memorie ascun-
s (discutat mai trziu). Codurile 4xx indic insuccesul cererii din cauza unei erori la client, precum
o cerere invalid sau o pagin inexistent. n fine, erorile 5xx indic o problem n server, datorat
codului su sau unei suprancrcri temporare.

Cod Semnificaie Exemple
1xx Informaie 100 = serverul accept tratarea cererii de la client
2xx Succes 200 = cerere reuit; 204 = nu exist coninut
3xx Redirectare 301 = pagin mutat; 304 = pagina din memoria ascuns este
nc valid
4xx Eroare la client 403 = pagin interzis; 404 = pagina nu a fost gsit
5xx Eroare la server 500 = eroare intern la server; 503 = ncearc mai trziu

Fig. 7-42. Grupuri de rspunsuri ale codurilor de stare.
Antete de mesaje
Linia de cerere (de exemplu linia cu metoda GET) poate fi urmat de linii adiionale cu mai
multe informaii. Acestea poart numele de antete de cerere. Aceast informaie poate fi comparat
cu parametrii unui apel de procedur. Rspunsurile pot avea de asemenea antete de rspuns. Anu-
mite antete pot fi folosite n orice sens. O selecie a celor mai importante este dat n fig. 7-43.
586 NIVELUL APLICAIE CAP. 7


Antetul User-Agent permite clientului s informeze serverul asupra programului su de navigare,
sistemului de operare i altor proprieti. n fig. 7-34 am vzut c serverul avea n mod magic aceast
informaie i c o poate obine la cerere ntr-un script PHP. Antetul este utilizat de client pentru a-i
asigura serverului aceast informaie.

Antet Tip Descriere
User-Agent Cerere Informaie asupra programului de navigare i a platformei
Accept Cerere Tipul de pagini pe care clientul le poate trata
Accept-Charset Cerere Seturile de caractere care sunt acceptabile la client
Accept-Encoding Cerere Codificrile de pagini pe care clientul le poate trata
Accept-Language Cerere Limbajele naturale pe care clientul le poate trata
Host Cerere Numele DNS al serverului
Authorization Cerere O list a drepturilor clientului
Cookie Cerere Trimite un cookie setat anterior napoi la server
Date Ambele Data i ora la care mesajul a fost trimis
Upgrade Ambele Protocolul la care transmitorul vrea s comute
Server Rspuns Informaie despre server
Content-Encoding Rspuns Cum este codat coninutului (de exemplu, gzip)
Content-Language Rspuns Limbajul natural utilizat n pagin
Content-Length Rspuns Lungimea paginii n octei
Content-Tzpe Rspuns Tipul MIME al paginii
Last-Modified Rspuns Ora i data la care pagina a fost ultima dat modificat
Location Rspuns O comand pentru client pentru a trimite cererea n alt parte
Accept-Ranges Rspuns Serverul va accepta cereri n anumite limite de octei
Set-Cookie Rspuns Serverul vrea s salveze un cookie la client

Fig. 7-43. Cteva antete de mesaje HTTP.

Cele patru antete Accept spun serverului ce este dispus clientul s accepte n cazul n care acesta
are un repertoriu limitat despre ceea ce este acceptabil. Primul antet specific ce tipuri MIME sunt
acceptate (de exemplu, text/html). Al doilea reprezint setul de caractere (de exemplu ISO-8859 sau
Unicode-1-1). Al treilea se refer la metode de compresie (de exemplu, gzip). Al patrulea indic un
limbaj natural (de exemplu, spaniola). Dac serverul are mai multe pagini din care poate s aleag,
el poate utiliza aceast informaie pentru a furniza clientului pagina pe care o caut. Dac nu poate
satisface cererea, este ntors un cod de eroare i cererea eueaz.
Antetul Host denumete serverul. El este luat din URL. Antetul este obligatoriu. Este utilizat
deoarece anumite adrese IP pot servi mai multe nume de DNS i serverul are nevoie de o anumit
modalitate de a spune crui calculator s-i trimit cererea.
Antetul Authorization este necesar pentru protecia paginilor. n acest caz, clientul trebuie s
demonstreze c are dreptul de a vedea pagina cerut. Acest header este utilizat n acest scop.
Dei cookie-urile sunt tratate n RFC 2109 mai mult dect n RFC 2616, i ele au dou antete.
Antetul Cookie este utilizat de clieni pentru a ntoarce serverului un cookie care a fost anterior tri-
mis de o main aflat n domeniul serverului.
Antetul Date poate fi utilizat n ambele sensuri i conine ora i data la care a fost trimis mesajul.
Antetul Upgrade este folosit pentru a face mai uoar crearea unei tranziii ctre o viitoare (posibil
incompatibil) versiune a protocolului HTTP. Acesta permite clientului, s anune ce anume supor-
t, i serverului s afirme ceea ce folosete.
Acum am ajuns la antetele utilizate exclusiv de ctre server n rspunsul cererilor. Primul, Server,
permite serverului s spun cine este i cteva proprieti, dac dorete.
SEC. 7.3 WORLD WIDE WEB 587

Urmtoarele patru antete, toate ncepnd cu Content-, permit serverului s descrie proprietile
paginii pe care o transmite.
Antetul Last-Modified spune cnd a fost modificat ultima dat pagina. Acest antet joac un rol
important n mecanismul de memorie ascuns.
Antetul Location este utilizat de server pentru a informa clientul c ar trebui s utilizeze un alt
URL. Acesta poate fi folosit dac pagina a fost mutat, sau pentru a da permisiunea mai multor
URL-uri de a referi aceeai pagin (posibil pe servere diferite). Este de asemenea utilizat pentru
companiile care au o pagin de Web principal n domeniul com, dar care redirecioneaz clienii la
o pagin naional sau regional n funcie de adresa lor IP sau limba preferat.
Dac o pagin este foarte mare, un client mic poate nu o dorete dintr-o dat. Unele servere ac-
cept cereri n anumite intervale de octei, astfel c pagina poate fi citit n mai multe uniti mai mici.
Antetul Accept-Ranges anun asentimentul severului de a trata acest tip de cerere parial de pagini.
Al doilea antet pentru cookie, Set-Cookie, se refer la modul n care serverele trimit cookie-uri la
clieni. Este de ateptat salvarea cookie-ului de ctre client i returnarea acestuia la cereri ulterioare
ale serverului.
Exemplu de utilizare HTTP
Deoarece HTTP este un protocol ASCII, este destul de uor pentru o persoana aflat la un ter-
minal (ca opus al programului de navigare) s vorbeasc direct cu serverele de Web. Este necesar
doar o conexiune TCP la portul 80 pe server. Cititorii sunt ncurajai s ncerce personal acest scena-
riu (preferabil dintr-un sistem UNIX, deoarece anumite sisteme nu returneaz starea conexiunii).

Trying 4.17.168.6...
Connected to www.ietf.org.
Escape character is ^].
HTTP/1.1 200 OK
Date: Wed, 08 May 2002 22:54:22 GMT
Server: Apache/1.3.20 (Unix) mod_ssl/2.8.4 OpenSSL/0.9.5a
Last-Modified: Mon, 11 Sep 2000 13:56:29 GMT
ETag: 2a79d-c8b-39bce48d
Accept-Ranges: bytes
Content-Length: 3211
Content-Type: text/html
X-Pad: avoid browser bug

<html>
<head>
<title>IETF RFC Page</title>

<script language=javascript>
function url() {
var x = document.form1.number.value
if (x.length == 1) { x = 000 + x }
if (x.length == 2) { x = 00 + x }
if (x.length == 3) { x = 0 + x }
document.form1.action = /rfc/rfc + x + .txt
document.form1.submit
}
</script>

</head>
Fig. 7-44. Primele linii ale fiierului www.ietf.org/rfc.html.
588 NIVELUL APLICAIE CAP. 7


Urmtoarea secven de comenzi va realiza acest lucru:

telnet www.ietf.org 80 >log
GET /rfc.html HTTP/1.1
Host: www.ietf.org

close

Aceast secven de comenzi pornete o conexiune telnet (adic TCP) pe portul 80 al serverului
Web al IETF, www.ietf.org. Rezultatul sesiunii este redirectat ctre fiierul log pentru o inspecie
ulterioar. Apoi urmeaz comanda GET denumind fiierul i protocolul. Urmtoarea linie este an-
tetul obligatoriu Host. Linia rmas liber este de asemenea cerut. Ea semnaleaz serverului c nu
mai sunt antete de cerere. Comanda close indic programului de telnet s ntrerup conexiunea.
Fiierul log poate fi inspectat folosind un editor. Acesta ar trebui s nceap similar cu liniile de
cod din fig. 7-44, cu excepia unei modificri recente de ctre IETF.
Primele trei linii reprezint ieirea programului telnet, i nu de la serverul la distan. Linia ce n-
cepe cu HTTP/1.1 este rspunsul IETF prin care spune c este dispus s vorbeasc HTTP/1.1 cu
tine. Apoi urmeaz un numr de antete i apoi coninutul. Am vzut deja toate antetele, cu excepia
lui ETag care este un identificator de pagin unic, referitor la memoria ascuns, i X-Pad care nu
este standardizat, probabil o cale de scpare pentru vreun program de navigare cu erori.
7.3.5 mbuntiri ale performanei
Popularitatea Web-ului aproape c a fost propria sa distrugere. Servere, rutere i linii folosite de
Web sunt adesea suprancrcate. Mult lume a nceput s denumeasc WWW-ul ca World Wide
Wait (rom: ateptare de ntindere planetar). Ca o consecin a acestor ntrzieri fr sfrit, cerce-
ttorii au dezvoltat diverse tehnici pentru mbuntirea performanelor. Vom examina acum trei
dintre ele: memoria ascuns, replicarea serverelor i reele de livrare a coninutului.
Memoria ascuns
Un mod simplu de a mbunti performana este de a salva paginile care au fost cerute pentru
cazul n care ele vor fi utilizate din nou. Aceast tehnic este efectiv n special pentru paginile care
sunt vizitate foarte mult, ca www.yahoo.com i www.cnn.com. Paginile pot fi pstrate pentru utilizri
ulterioare n memoria ascuns (eng.: cache). Procedura uzual este ca un proces, denumit proxy
(rom.: delegat), s ntrein aceast memorie. Pentru a utiliza memoria ascuns, un program de navi-
gare poate fi configurat s adreseze toate cererile de pagini proxy-ului, i nu serverului real unde se
afl pagina respectiv. Dac proxy-ul are pagina, o returneaz imediat. Dac nu, aduce pagina de la
server, o adaug n memoria ascuns pentru utilizarea ulterioar i o ntoarce clientului care a cerut-o.
Dou ntrebri importante aferente memoriei ascunse sunt:

1. Cine ar trebui s dein memoria ascuns?
2. Ct de mult timp ar trebui s stea paginile n memoria ascuns?

Exist mai multe rspunsuri la prima ntrebare. PC-urile individuale de obicei ruleaz proxy-uri,
deci pot s caute rapid pagini vizitate anterior. ntr-un LAN al unei companii, proxy-ul este n gene-
ral o main ce poate fi accesat de toate mainile din acel LAN, astfel c dac un utilizator se uit la
o anumit pagin i apoi alt utilizator din acelai LAN vrea aceeai pagin, ea poate fi adus din
memoria ascuns a proxy-ului. Multe ISP-uri ruleaz proxy-uri, pentru a accelera accesul clienilor
SEC. 7.3 WORLD WIDE WEB 589

lor. De obicei toate memoriile ascunse opereaz n acelai timp, deci cererile se duc iniial la proxy-
ul local. Dac eueaz, proxy-ul local cere pagina proxy-ului din LAN. Dac i aceasta eueaz,
proxy-ul din LAN ncearc la proxy-ul ISP-ului. Ultimul trebuie s reueasc s aduc paginile, fie
din memoria sa ascuns, fie de la o memorie ascuns de nivel superior, fie de la nsui serverul ce
deine pagina. O schem ce include mai multe memorii ascunse care pot fi ncercate n secven este
denumit memorie ascuns ierarhic (hierarchical caching). O posibil implementare este ilustrat
n fig. 7-45.
Fig. 7-45. Memorie ascuns ierarhic cu 3 proxy-uri .

Ct timp ar trebui paginile s rmn n memoria ascuns este un pic mai dificil de aflat. Anumi-
te pagini nu ar trebui s fie pstrate deloc n memoria ascuns. De exemplu, o pagin ce conine pre-
urile pentru cele mai active 50 de aciuni la burs se schimb la fiecare secund. Dac s-ar pstra n
memoria ascuns, un utilizator ce ia o astfel de copie ar lua date vechi (adic depite). Pe de alt
parte, din momentul n care schimbul de aciuni s-a nchis pe ziua respectiv, pagina va rmne vali-
d ore sau zile, pn cnd ncepe urmtoarea licitaie. Astfel, eficiena meninerii unei pagini n
memoria ascuns poate varia foarte mult n timp.
Problema-cheie n determinarea eliminrii unei pagini din memoria ascuns este legat de ve-
chimea pe care utilizatorii sunt dispui s o accepte (din moment ce paginile din memoria ascuns
sunt inute pe disc, cantitatea de memorare consumat reprezint rareori o problem). Dac un
proxy elimin repede paginile, el va ntoarce rar o pagin veche, dar nu va fi prea eficient (adic va
avea o rat sczut de succes). Dac pstreaz paginile prea mult, poate avea o rat mai mare dar cu
preul de a ntoarce deseori pagini cu informaie expirat.
Exist dou abordri n tratarea acestei probleme. Prima utilizeaz o euristic pentru a ti ct
timp s menin fiecare pagin. O euristic des ntlnit este cea n care se ine cont de antetul Last-
Modified (vezi fig. 7-43). Dac o pagin a fost modificat cu o or n urm, se ine n memoria ascun-
s o or. Dac a fost modificat cu un an n urm, este evident o pagin foarte veche (de exemplu, o
list a zeilor din mitologia greac i cea roman), deci poate fi pstrat n memoria ascuns pentru
un an, cu o probabilitate rezonabil c nu se va modifica n decursul anului. Dei aceast euristic
funcioneaz bine n practic, ea ntoarce, totui, pagini vechi din cnd n cnd.
Cealalt abordare este mai costisitoare dar elimin posibilitatea paginilor vechi prin utilizarea
unor caracteristici speciale ale RFC 2616 care trateaz administrarea memoriei ascunse. Una din
cele mai utilizate caracteristici este antetul de cerere If-Modified-Since, pe care un proxy poate s-l
trimit unui server. El specific pagina pe care o vrea proxy-ul i momentul la care pagina din me-
moria ascuns a fost modificat ultima dat (din antetul Last-Modified). Dac pagina nu a mai fost
modificat de atunci, serverul trimite napoi un scurt mesaj Not Modified (codul de stare 304 din fig.
7-42), care indic proxy-ului s utilizeze pagina din memoria ascuns. Dac pagina a mai fost modifi-
cat de atunci, este returnat noua pagin. n timp ce pentru aceast abordare este ntotdeauna ne-
590 NIVELUL APLICAIE CAP. 7


voie de un mesaj de cerere i unul de rspuns, mesajul de rspuns va fi foarte scurt cnd intrarea n
memoria ascuns este nc valid.
Aceste dou abordri pot fi combinate uor. Pentru primul T dup aducerea paginii, proxy-ul
doar returneaz pagina clienilor ce o cer. Dup ce pagina a stat un timp n memoria ascuns, proxy-
ul utilizeaz mesajul If-Modified-Since pentru a verifica valabilitatea acesteia. Alegerea T implic
invariabil o euristic, depinznd de ct de mult timp a trecut de la modificarea paginii.
Paginile Web cu coninut dinamic (de exemplu, cele generate de un script PHP) nu ar trebui ni-
ciodat pstrate n memoria ascuns, deoarece parametrii pot fi diferii la urmtoarea accesare. Pen-
tru a trata aceasta i alte cauze, exist un mecanism general prin care un server instruiete toate
proxy-urile pn la client s nu foloseasc din nou pagina curent pn nu i verific valabilitatea.
Acest mecanism poate fi folosit de asemenea pentru orice pagin pasibil s fie modificat curnd.
Diverse mecanisme de control al memoriei ascunse sunt definite n RFC 2616.
Mai exis o abordare n mbuntirea performanei, memoria ascuns proactiv. Cnd un proxy
aduce o pagin de la un server, el poate inspecta pagina pentru a vedea dac ea conine hiper-
legturi. Dac este aa, poate s lanseze cereri serverelor corespunztoare pentru a prencrca n
memoria ascuns paginile la care puncteaz, pentru cazul n care va fi nevoie de ele. Aceast tehnic
poate reduce timpul de acces pentru cererile ulterioare, dar poate, la fel de bine, s inunde liniile de
comunicaie cu pagini care nu vor fi niciodat necesare.
n mod clar, memoria ascuns n Web este departe de a fi banal. Mult mai multe se pot spune
despre ea. De fapt, s-au scris cri ntregi pe aceast tem, de exemplu (Rabinovich i Spatscheck,
2002; i Wessels, 2001). Dar este timpul ca noi s trecem la un alt subiect.
Replicarea serverelor
Memoria ascuns este o tehnic orientat spre client pentru mbuntirea performanelor, dar
exist i tehnici orientate pe server. Cea mai ntlnit abordare pentru mbuntirea performanelor
serverelor este replicarea coninutului lor n mai multe locuri separate. Aceast tehnic este cteoda-
t denumit oglindire (mirroring).
ntr-o utilizare tipic a oglindirii ntr-o companie, pagina principal de Web conine cteva ima-
gini cu legturi ctre siturile Web regionale, de exemplu siturile din est, vest, nord i sud. Utilizatorul
urmeaz legtura cea mai apropiat. Din acel moment, toate cererile se duc la serverul selectat.
Siturile oglindite sunt n general complet statice. Compania decide unde s plaseze copiile, dis-
pune de un server n fiecare regiune, i plaseaz (mai mult sau mai puin) ntregul coninut n fiecare
loc (omind, probabil, dezpezitoarele n situl de la Miami i ezlongurile n situl din Anchorage).
Alegerea siturilor rmne n general stabil luni sau chiar ani de zile.
Din pcate, Web-ul prezint un fenomen cunoscut ca aglomerare brusc (flash crowds) n care
un sit Web care era anterior necunoscut, nevizitat, aproape mort, devine dintr-o dat centrul uni-
versului. De exemplu, pn pe 6 noiembrie 2000, situl Web al secretarului de stat din Florida,
www.dos.state.fl.us, informa tacit despre ntlnirile cabinetului statului Florida i oferea instruciuni
pentru a deveni notar n Florida. Dar pe 7 noiembrie 2000, cnd preedinia Statelor Unite depin-
dea dintr-o dat de cteva mii de voturi disputate n cteva provincii din Florida, a devenit unul din
primele 5 situri Web din lume. Evident, nu a putut suporta ncrcarea i aproape c a murit strivit
sub ea.
Este necesar un mod prin care un sit Web, ce observ dintr-o dat o cerere masiv a traficului, s
se cloneze automat n attea locaii ct este necesar i s pstreze aceste situri operaionale pn
cnd trece furtuna, moment n care oprete majoritatea sau chiar totalitatea acestora. Pentru a avea
SEC. 7.3 WORLD WIDE WEB 591

aceast abilitate, un sit are nevoie de o nelegere prealabil cu o companie care deine mai multe
situri, prin care se pot crea replici la cerere i pentru care se pltete n funcie de capacitatea pe care
o folosete n realitate.
O strategie i mai flexibil este de a crea replici dinamice la nivel de pagini, n funcie de unde vine
traficul. Cteva cercetri pe aceast tem sunt raportate n (Pierre .a.., 2001; i Pierre .a.., 2002).
Reele de livrare de coninut
Culmea capitalismului este c cineva a descoperit cum s ctige bani din World Wide Wait.
Funcioneaz n felul urmtor. Companiile denumite CDN (Content Delivery Networks, rom:
reele de livrare de coninut) vorbesc cu deintorii coninutului (situri muzicale, ziare, i alii
care doresc s fac disponibil coninutul uor i rapid) i se ofer s livreze acest coninut utiliza-
torilor finali n mod eficient, contra cost. Dup semnarea contractului, deintorul coninutului
ofer CDN-ului coninutul sitului su Web pentru preprocesare (care va fi discutat imediat) i
apoi distribuie.
Apoi CDN vorbete cu un numr mare de ISP-uri i se ofer s i plteasc bine pentru dreptul
de a plasa un server administrat la distan, plin de coninut valoros, pe LAN-urile lor. Nu numai c
este o surs de venit, dar asigur de asemenea clienilor ISP-urilor timpi de rspuns exceleni pentru
a ajunge la coninutul CDN-ului, oferind astfel ISP-ului un avantaj competitiv fa de alte ISP-uri
care nu au acceptat oferta CDN-ului. n aceste condiii, colaborarea cu un CDN este ceva la mintea
cocoului pentru ISP. Ca o consecin, cele mai mari CDN-uri au mai mult de 10.000 de servere rs-
pndite n toat lumea.

<html>
<head><title>Furry Video</title></head>
<body>
<h1>Furry Videos Product List</h1>
<p>Click below for free samples.</p>

<a href=bears.mpg>Bears Today</a><br>,
<a href=bunnies.mpg>Funny Bunnies</a><br>
<a href=mice.mpg>Nice Mice</a><br>
</body>
</html>
(a)

<html>
<head><title>Furry Video</title></head>
<body>
<h1>Furry Videos Product List</h1>
<p>Click below for free samples.</p>

<a href=http://cdn-server.com/furryvideo/bears.mpg>Bears Today</a><br>,
<a href=http://cdn-server.com/furryvideo/bunnies.mpg>Funny Bunnies</a><br>
<a href=http://cdn-server.com/furryvideo/mice.mpg>Nice Mice</a><br>
</body>
</html>
(b)

Fig. 7-46. (a) Pagina Web original. (b) Aceeai pagin dup transformare.

592 NIVELUL APLICAIE CAP. 7


Cu un coninut replicat pe mii de situri n lumea ntreag, exist n mod clar un potenial ridicat
pentru mbuntirea performanelor. Cu toate acestea, pentru o funcionare bun, trebuie s existe
o modalitate prin care s se redirecteze cererea clientului la cel mai apropiat server CDN, preferabil
unul aflat la ISP-ul clientului. De asemenea, aceast redirectare trebuie fcut fr modificarea
DNS-ului sau a oricrei alte pri a infrastructurii standard a Internet-ului. O descriere puin simpli-
ficat despre cum lucreaz Akamai, cel mai mare CDN, este oferit n continuare.
ntregul proces ncepe din momentul n care furnizorul coninutului trimite CDN-ului situl su
Web. Apoi CDN-ul trece fiecare pagin printr-un preprocesor care nlocuiete toate URL-urile cu
unele modificate. Modelul de lucru din spatele acestei strategii este acela c situl Web al furnizorului
de coninut este constituit din multe pagini foarte mici (doar text HTML), dar c aceste pagini au de
obicei referine ctre fiiere mari, precum imagini, audio i video. Paginile HTML modificate sunt
pstrate pe serverul furnizorului de coninut i sunt aduse n mod obinuit; doar imaginile, comuni-
caiile audio i video merg pe serverele CDN-ului.
Pentru a vedea cum funcioneaz aceast schem n realitate, se consider pagina Web a lui
Furry (rom.: mblnit) Video din fig. 7-46(a). Dup preprocesare, ea este transformat n fig. 7-46(b)
i plasat pe serverul Furry Video ca www.furryvideo.com/index.html.
Cnd un utilizator introduce ca URL www.furryvideo.com, DNS-ul ntoarce adresa IP a sitului
Furry Video, permind ca pagina (HTML) principal s fie adus n mod obinuit. Cnd se face clic
pe oricare din hiper-legturi, programul de navigare cere DNS-ului s caute cdn-server.com, ceea ce
acesta chiar face. Programul de navigare trimite apoi o cerere HTTP ctre aceast adres IP, con-
tnd pe faptul c va primi napoi un fiier MPEG.
Aceasta nu se ntmpl deoarece cdn-server.com nu gzduiete nici un coninut. n schimb,
acesta este pe serverul fals de HTTP al CDN-ului. El examineaz numele fiierului i numele
serverului pentru a afla care pagin este necesar crui furnizor de coninut. De asemenea,
examineaz adresa IP a cererii sosite i o caut n baza sa de date pentru a determina unde
este posibil s se afle utilizatorul. Cu o astfel de informaie, el determin care servere CDN de
coninut pot oferi utilizatorului serviciul cel mai bun. Aceast decizie este dificil deoarece
serverul situat geografic cel mai aproape poate s nu fie cel mai apropiat n termeni de topolo-
gie de reea, iar cel mai apropiat n termeni de topologie de reea poate fi foarte aglomerat n
acel moment. Dup ce se face o alegere, cdn-server.com trimite napoi un rspuns cu codul de
stare 301 i un antet Location cu URL-ul fiierului pe serverul CDN de coninut cel mai apro-
piat de client. Pentru acest exemplu, s presupunem c URL-ul este www.CDN-0420.com/
furryvideo/bears.mpg. Programul de navigare proceseaz apoi acest URL n mod normal pentru
a obine fiierul MPEG real.
Paii urmai sunt ilustrai n fig. 7-47. Primul pas este cutarea www.furryvideo.com pentru a obi-
ne adresa lui IP. Dup aceea, pagina HTML poate fi adus i afiat n mod obinuit. Pagina conine
trei hiper-legturi la cdn-server [vezi fig. 7-46(b)]. Cnd, s zicem, este selectat prima, este cutat
(pasul 5) i returnat (pasul 6) adresa sa de DNS. Cnd o cerere pentru bears.mpg este trimis la
cdn-server (pasul 7), clientul este ntiinat c trebuie s se duc de fapt la CDN-0420.com (pasul 8).
Cnd face acest lucru (pasul 9), i se d fiierul din memoria ascuns a proxy-ului (pasul 10). Proprie-
tatea care face ca ntregul mecanism s funcioneze este pasul 8, serverul fals de HTTP redirectnd
clientul la un proxy CDN aflat aproape de client.



SEC. 7.3 WORLD WIDE WEB 593


1. Caut www.furryvideo.com
2. Este ntoars adresa IP a lui
Furry
3. Pagina HTML este cerut de la
Furry
4. Este ntoars o pagin HTML
5. Dup selecia cu mouse-ul, se
caut cdn-server.com
6. Este ntoars adresa IP a lui cdn-
server
7. Bears.mpg este cerut de la cdn-
server
8. Clientul este redirecionat ctre
CDN-0420
9. Este cerut fiierul bears.mpg
10. Fiierul bears.mpg este ntors
din memoria ascuns.

Fig. 7-47. Paii n cutarea unui URL cnd se folosete un CDN

Serverul CDN la care este redirectat clientul este n mod tipic un proxy cu o memorie ascuns
prencrcat cu coninutul cel mai important. Dac totui cineva cere un fiier care nu este n memo-
ria ascuns, acesta este adus de la serverul real i dispus n memoria ascuns pentru o utilizare ulte-
rioar. Fcnd din serverul de coninut un proxy i nu o replic complet, CDN are abilitatea de a
schimba dimensiunea discului, timpul de prencrcare i diveri parametri de performan.
Mai multe despre reele de livrare a coninutului gsii n (Hull, 2002; i Rabinovich i
Spatscheck, 2002).
7.3.6 Web-ul fr fir
Exist un interes considerabil pentru dispozitivele mici, portabile, capabile s acceseze Web-ul
printr-o legtur fr fir. De fapt, primii pai n aceast direcie au fost deja fcui. Cu siguran c
vor fi o mulime de schimbri n acest domeniu n anii ce vin, dar tot merit s examinm cteva din
idele actuale legate de web-ul fr fir, pentru a vedea unde suntem acum i ncotro ne putem ndrep-
ta. Ne vom concentra asupra primelor dou sisteme Web fr fir de scar larg care au spart piaa:
WAP i i-mode.
WAP-The Wireless Application Protocol (Protocolul pentru aplicaii fr fir)
O dat ce Internet-ul i telefoanele mobile au devenit lucruri comune, nu a durat mult pn cnd
cuiva i-a venit ideea s le combine ntr-un telefon mobil cu ecran ncorporat pentru acces fr fir la
pota electronic i la Web. Acel cineva a fost consoriul condus iniial de Nokia, Ericsson,
Motorola i phone.com (fosta Unwired Planet) i care acum se laud cu sute de membri. Sistemul se
numete WAP (Wireless Application Protocol - protocolul pentru aplicaii fr fir).
Un dispozitiv WAP poate fi un telefon mobil mbuntit, PDA, sau calculator portabil fr
servicii pentru voce. Specificaia le permite pe toate i multe altele. Ideea de baz este s se folo-
seasc infrastructura digital fr fir existent. Utilizatorii pot accesa o poart (eng.: gateway)
WAP prin legtura fr fir i i pot trimite cereri de pagini Web. Apoi, poarta controleaz memo-
ria ascuns pentru pagina cerut. Dac exist, o trimite; dac nu exist, o ia de pe Internet-ul cu
fir. n esen, aceast nseamn c WAP 1.0 este un sistem cu comutare de circuite cu o tax de
594 NIVELUL APLICAIE CAP. 7


conectare pe minut relativ mare. Pentru a scurta o poveste lung, oamenilor nu le-a plcut sa ac-
ceseze Internet-ul pe un ecran mic i pltind la minut, astfel c WAP-ul a fost un fel de nereuit
(dei au mai fost i alte probleme). n orice caz, WAP-ul i competitorul sau, i-mode (prezentat
mai jos), par s convearg spre o aceeai tehnologie, astfel c WAP 2.0 ar mai putea s fie un ma-
re succes. ntruct WAP 1.0 a fost prima ncercare pentru Internet-ul fr fir, merit s fie descris
cel puin pe scurt.
WAP este de fapt o stiv de protocoale pentru accesarea Web-ului, optimizat pentru conexiuni
cu o band de transfer mic folosind dispozitive fr fir ce au un procesor lent, puin memorie i un
ecran mic. Aceste cerine sunt evident diferite de cele pentru un PC standard de birou, scenariu care
duce la nite diferene ntre protocoale. Nivelurile sunt prezentate n fig. 7-48.

Mediul aplicaiilor fr fir (WAE)
Protocolul sesiune fr fir (WSP)
Protocolul tranzacie fr fir (WTP)
Securitatea la nivelul transport fr fir (WTLS)
Protocolul pentru datagrame fr fir (WDP)
Nivelul fizic (GSM, CDMA, D-AMPS, GPRS, etc.)

Fig. 7-48. Stiva de protocoale WAP.

Nivelul cel mai de jos suport toate sistemele de telefonie mobil existent, inclusiv GSM, D-
AMPS i CDMA. Rata de transfer pentru WAP 1.0 este de 9600 bps. Deasupra acestora se afl pro-
tocolul pentru datagrame, WDP (Wireless Datagram Protocol - protocolul pentru datagrame fr
fir), care este de fapt UDP. Apoi vine un nivel pentru securitate, evident necesar ntr-un sistem fr
fir. WTLS este un subset al SSL-ului de la Netscape, la care ne vom uita n cap. 8. Deasupra acestuia
este un nivel tranzacie sigur sau nesigur, care se ocup de cereri i rspunsuri. Acest nivel nlocu-
iete TCP, care nu este folosit peste legtura prin aer din motive legate de eficien. Apoi vine un
nivel sesiune, care este similar cu HTTP/1.1, dar cu cteva restricii i extensii pentru motive de op-
timizare. Deasupra acestuia se afl micro-programul de navigare (WAE).


Fig. 7-49. Arhitectura WAP.

SEC. 7.3 WORLD WIDE WEB 595

n afara costului, cellalt aspect care cu siguran a afectat acceptarea WAP-ului este faptul c
nu folosete HTML. n locul acestuia, nivelul WAE folosete un limbaj de marcare numit WML
(Wireless Markup Language limbajul de marcare fr fir), care este o aplicaie a XML. Drept
consecin, n principiu, un dispozitiv WAP nu poate accesa dect acele pagini care au fost converti-
te la WML. Oricum, avnd n vedere c asta restricioneaz mult valoarea WAP-ului, arhitectura
reclam un filtru direct de la HTML la WML pentru a crete mulimea paginilor disponibile. Arhi-
tectura este ilustrat n fig. 7-49.
Ca s fim coreci, WAP-ul a fost, probabil, puin naintea vremii sale. Cnd WAP-ul a fost lansat
prima dat, XML abia era cunoscut n afara W3C i astfel presa a anunat lansarea sa spunnd WAP
NU FOLOSETE HTML. Un titlu mai clar ar fi fost: WAP DEJA FOLOSETE NOUL STAN-
DARD HTML. Dar cum rul fusese fcut, a fost greu de reparat i WAP 1.0 nu a prins niciodat.
Vom rediscuta WAP-ul dup ce ne vom uita mai nti la competitorul su major.
I-Mode
n timp ce un consoriu multi-industrial de companii de telecomunicaii i de calculatoare a fost
ocupat cu construcia unui standard deschis folosind cea mai avansat versiune de HTML disponibi-
l, alte dezvoltri aveau loc n Japonia. Acolo, o japonez, Mari Matsunaga, a inventat o alt soluie
pentru Web-ul fr fir numit i-mode (information mode modul informaie). Ea a convins divizia
fr fir a fostului monopol de telefonie japonez c ideea sa era corect i n februarie 1999 NTT
DoCoMo (n traducere literal: Compania Japonez pentru Telefoane i Telegraf oriunde te-ai du-
ce) a lansat serviciul n Japonia. n 3 ani a avut peste 35 de milioane de abonai japonezi, care puteau
accesa peste 40.000 de situri Web speciale i-mode. n plus, a mai fcut ca majoritatea companiilor de
telecomunicaii s saliveze dup succesul su financiar, mai ales datorit faptului c WAP nu prea
sa duc nicieri. S vedem acum ce este i-mode i cum funcioneaz.
Sistemul i-mode are trei componente de baz: un nou sistem de transmisie, un nou telefon i un
nou limbaj pentru proiectarea paginilor Web. Sistemul de transmisie const n dou reele separate:
reeaua de telefonie mobil cu comutare de circuite existent (oarecum comparabil cu D-AMPS) i
o nou reea cu comutare de pachete construit n mod special pentru serviciile i-mode. Modul voce
folosete reeaua cu comutare de circuite i este taxat la fiecare minut de conectare. I-mode folosete
reeaua cu comutare de pachete i este ntotdeauna activ (la fel ca la ADSL sau la cablu), astfel c
nu exist taxarea pentru timpul de conectare. n locul acesteia, exist o tax pentru fiecare pachet
trimis. Momentan nu este posibil s fie folosite ambele reele n acelai timp.
Telefoanele arat ca nite telefoane mobile crora li s-a adugat un mic ecran. NTT DoCoMo
promoveaz masiv dispozitivele i-mode ca fiind mai degrab telefoane mobile dect terminale Web
fr fir, dei ele chiar asta sunt. De fapt, probabil c majoritatea clienilor nici nu sunt contieni c
sunt conectai la Internet. Ei consider dispozitivele lor i-mode ca fiind telefoane mobile cu facili-
tai sporite. Pentru a pstra acest model de i-mode la nivel de serviciu, telefoanele nu pot fi pro-
gramate de utilizatori, dei ele conin echivalentul unui PC din 1995 i ar putea probabil rula Win-
dows 95 sau UNIX.
Cnd telefonul i-mode este pornit, utilizatorului i este prezentat o list cu categoriile de servicii
aprobate oficial. Sunt mult peste 1000 de servicii grupate n aproximativ 20 de categorii. Fiecare ser-
viciu, care este de fapt un mic sit Web i-mode, este oferit de ctre o companie independent. Cate-
goriile importante din meniul oficial includ pota electronic, tiri, meteo, sport, jocuri, cumprturi,
hri, horoscop, distracie, cltorii, ghiduri regionale, tonuri ale soneriei, reete, jocuri de noroc,
servicii bancare si cotaiile bursei. Serviciul este oarecum orientat ctre adolesceni i oameni de 20-
596 NIVELUL APLICAIE CAP. 7


30 de ani, care au tendina s se ataeze de jucriile electronice, mai ales dac sunt n culori frumos
asortate. Simplul fapt c peste 40 de companii vnd tonuri ale soneriei spune ceva. Cea mai popula-
r aplicaie este pota electronic, care permite mesaje de pn la 500 de octei i din acest motiv
este vzut ca o mare mbuntire fa de SMS (Short Message Service serviciul de mesaje scurte)
care permite mesaje de numai 160 de octei. Jocurile sunt i ele populare.
Sunt de asemenea peste 40.000 de situri Web i-mode, dar ele trebuie accesate mai degrab
scriindu-se URL-ul lor, dect selectndu-le dintr-un meniu. Dintr-un punct de vedere, lista oficial
este ca un portal Internet care permite altor situri Web s fie accesate prin selecie n loc s li se
scrie URL-ul.
NTT DoCoMo controleaz ndeaproape serviciile oficiale. Pentru a fi acceptat pe list, un servi-
ciu trebuie s ndeplineasc o serie de criterii publice. De exemplu, un serviciu nu trebuie s aib o
influen negativ asupra societii, dicionarele japonez-englez trebuie s aib suficiente cuvinte,
serviciile cu tonuri pentru sonerie trebuie s adauge frecvent noi tonuri i nici un sit nu poate s
promoveze comportarea vicioas sau s se reflecte negativ asupra NTT DoCoMo (Frangle, 2002).
Cele 40.000 de situri Internet pot face orice vor ele.
Modelul afacerii i-mode este att de diferit de acela al Internet-ului convenional nct merit
explicat. Taxa pentru abonamentul de baz i-mode este de civa dolari pe lun. Cum exist o tax
pentru fiecare pachet primit, abonamentul de baz include i un mic numr de pachete. Ca alterna-
tiv, clientul poate opta pentru un abonament cu mai multe pachete gratuite, cu o tax pe pachet ce
scade repede pe msur ce trece de la 1 MB pe lun la 10 MB pe lun. Dac pachetele gratuite sunt
folosite pn la jumtatea lunii, pot fi cumprate on-line alte pachete adiionale.
Pentru a folosi un serviciu trebuie s te abonezi la el, fapt care se realizeaz printr-o simpl selec-
ie i introducerea codului PIN personal. Majoritatea serviciilor oficiale cost n jur de 1$-2$ pe lun.
NTT DoCoMo adaug taxa la factura de telefon i transfer 91% celui care ofer serviciul, pstrnd
9%. Dac un serviciu neoficial are 1 milion de clieni, trebuie sa trimit 1 milion de facturi de (apro-
ximativ) 1$ n fiecare lun. Dac acel serviciu devine oficial, NTT DoCoMo se ocup de taxare i
transfer lunar 910.000$ n contul din banc al serviciului. A nu avea de manipulat note de plat este
un mare stimulent pentru ca cineva s devin distribuitor oficial de servicii, ceea ce genereaz veni-
turi mai mari pentru NTT DoCoMo. De asemenea, fiind oficial ajungi n meniul iniial, ceea ce face
situl tu mult mai uor de gsit. Factura utilizatorului include convorbirile, taxele de abonamente i-
mode, taxele de abonamente pentru servicii i pachetele suplimentare.
n ciuda succesului su masiv n Japonia, nu este de loc clar c i-mode va prinde i n SUA i Eu-
ropa. Din unele puncte de vedere, situaia din Japonia este diferit de aceea din Vest. n primul
rnd, majoritatea potenialilor clieni din Vest (spre exemplu adolescenii, studenii i oamenii de
afaceri) au deja un PC cu ecran mare acas i aproape sigur o conexiune la Internet de cel puin 56
Kbps, adesea mult mai rapid. n Japonia, puini oameni au PC-uri conectate la Internet acas, pe
de o parte din cauza lipsei de spaiu, dar i din cauza taxelor exorbitante ale NTT pentru serviciile de
telefonie local (undeva n jur de 700$ pentru instalarea unei linii i 1.50$ pe or pentru convorbiri
locale). Pentru majoritatea utilizatorilor, i-mode este singura lor conexiune la Internet.
n al doilea rnd, locuitorii din Vest nu sunt obinuii sa plteasc 1$ pe lun pentru a accesa situl
Web al CNN, 1$ pe lun pentru a accesa situl Yahoo, 1$ pe lun pentru a accesa situl Google i aa
mai departe, fr s mai menionm civa dolari pentru fiecare MB descrcat. Majoritatea distribu-
itorilor de Internet din Vest au acum o tax fix pe lun, independent de utilizarea real, n mare
msur ca rspuns la cererea clienilor.
SEC. 7.3 WORLD WIDE WEB 597

n al treilea rnd, pentru muli japonezi, perioada de vrf n care folosesc i-mode este perioada n
care se deplaseaz la sau de la serviciu sau coal n tren sau n metrou. n Europa, mai puini oa-
meni se deplaseaz cu trenul dect n Japonia, iar n SUA abia dac se deplaseaz civa. Folosirea i-
mode acas, lng un calculator cu un monitor de 17 oli, conexiune ADSL de 1 Mbps i toi
megaocteii gratuii, nu se prea justific. Cu toate acestea, nimeni nu a prezis imensa popularitate a
telefoanelor mobile n general, astfel c i-mode mai poate nc s-i gseasc o ni n Vest.
Aa cum am menionat mai sus, telefoanele i-mode folosesc reeaua cu comutare de circuite
existent pentru voce i o nou reea cu comutare de pachete pentru date. Reeaua pentru date se
bazeaz pe CDMA i transmite pachete de 128 de octei la 9600 bps. O diagram a reelei este dat
n fig. 7-50. Telefoanele folosesc LTP (Lightweight Transport Protocol protocol simplificat de
transport) pe o legtur prin aer pn la o poart pentru conversie de protocoale. Poarta are o cone-
xiune de band larg prin fibr optic la serverul i-mode, care este conectat la toate serviciile. Cnd
utilizatorul selecteaz un serviciu din meniul oficial, cererea este trimis serverului i-mode, care ine
majoritatea paginilor n memoria ascuns pentru a-i spori performana. Cererile pentru situri care
nu sunt n meniul oficial ocolesc serverul i-mode i merg direct pe Internet.


Fig. 7-50. Structura reelei de date i-mode, artnd protocoalele de transport.

Telefoanele actuale au procesoare care funcioneaz la aproximativ 100 MHz, civa megaoctei
de memorie ROM rapid, poate 1 MB RAM i un ecran mic ncorporat. I-mode necesit un ecran
de cel puin 72x94 pixeli, dar unele dispozitive mai mari au chiar 120x160 pixeli. Ecranele au de obi-
cei culori pe 8 bii, ceea ce permite 256 de culori. Aceasta nu este suficient pentru fotografii, dar este
adecvat pentru desenarea de linii i imagini animate simple. Cum nu exist mouse, navigarea pe
ecran se face cu sgeile direcionale.
Modulul de interaciune cu utilizatorul
Elemente de intrare Interpretor cHTML Java
Coordonator simplu de ferestre
Comunicaie de reea
Sistem de operare n timp real

Fig. 7-51. Structura aplicaiilor i-mode.

598 NIVELUL APLICAIE CAP. 7


Structura aplicaiilor este prezentat n fig. 7-51. Nivelul cel mai de jos conine un sistem simplu
de operare n timp real pentru controlul echipamentelor. Apoi vine un modul pentru comunicarea
pe reea, folosind protocolul proprietar al NTT DoCoMo, LTP. Deasupra acestuia vine un simplu
coordonator de ferestre care se ocup de text i de imaginile simple (fiiere GIF). Cu ecranele avnd
doar aproximativ 120x160 de pixeli n cel mai bun caz, nu sunt prea multe de coordonat.
Al patrulea nivel conine interpretorul de pagini Web (de exemplu, programul de navigare). I-
mode nu folosete ntregul HTML, ci numai un subset al acestuia, numit cHTML (compact HTML
HTML compact), bazat n mare pe HTML 1.0. Acest nivel permite de asemenea i aplicaii ajut-
toare i elemente de intrare, la fel cum fac i programele de navigare pentru PC-uri. O aplicaie aju-
ttoare standard este un interpretor pentru o versiune puin modificat a JVM.
La nivelul cel mai nalt se afl modulul de interaciune cu utilizatorul, care controleaz comuni-
caia cu acesta.
S ne uitm acum mai n detaliu la cHTML. Dup cum am menionat, este aproximativ HTML
1.0, cu cteva omisiuni i cteva extensii pentru a fi folosit cu telefoane mobile. A fost trimis la
W3C pentru standardizare, dar W3C nu a artat interes pentru el, aa c probabil va rmne un
produs privat.
Majoritatea etichetelor de baz HTML sunt permise, incluznd aici <html>, <head>, <title>,
<body>, <hn>, <center>, <ul>, <ol>, <>, <li>, <br>, <p>, <hr>, <img>, <form> i
<input>. Etichetele <b> i <i> nu sunt permise.
Eticheta <a> este permis pentru legarea la alte pagini, dar cu schema adiional tel pentru
formarea numerelor de telefon. Dintr-un punct de vedere tel este analog cu mailto. Cnd o hiper-
legtur folosind schema mailto este selectat, programul de navigare deschide un formular pentru a
trimite un mesaj electronic ctre destinaia marcat n legtur. Cnd este selectat o hiper-legtur
cu schema tel, programul de navigare formeaz numrul de telefon. Spre exemplu, o agend de tele-
fon poate conine imagini simple ale unor persoane. Cnd se selecteaz una dintre acestea, telefonul
l va suna pe el sau pe ea. RFC 2806 prezint URL-urile pentru telefoane.
Programul de navigare cHTML este limitat n alte feluri. El nu suport JavaScript, cadre, foi de
stil, culori sau imagini de fundal. De asemenea, nu suport imagini JPEG, deoarece acestea se de-
comprim n prea mult timp. Sunt permise applet-urile Java, dar sunt (n prezent) limitate la 10 KB
din cauza vitezei mici de transmisie a legturii prin aer.
Dei NTT DoCoMo a eliminat cteva etichete HTML, a i adugat unele noi. Eticheta <blink>
face ca textul s se afieze i apoi s dispar. Dei pare ciudat s interzici eticheta <b> (motivnd c
siturile Web nu ar trebui s se ocupe de prezentarea coninutului) i apoi s adaugi <blink> care nu
se refer dect la prezentarea coninutului, asta au fcut. O alt etichet nou este <marquee>,
care i deplaseaz coninutul pe ecran precum un monitor de burs.
Un element nou este atributul align al etichetei <br>. Este necesar, deoarece pentru un ecran ce
are de obicei 6 rnduri de cte 16 caractere, exist un mare pericol ca rndurile s fie rupte n dou,
ca n fig. 7-52(a). Align ajut la reducerea acestei probleme i conduce la ceva ce seamn mai de-
grab cu fig. 7-52(b). Este interesant s notm c limba japonez nu sufer cnd cuvintele sunt rupte
ntre linii. Pentru textul kanji, ecranul este mprit ntr-un caroiaj dreptunghiular de celule de di-
mensiune 9x10 pixeli sau 12x12 pixeli, n funcie de caracterele suportate. Fiecare celul conine
exact un caracter kanji, care este echivalentul unui cuvnt n englez. Desprirea mai multor cuvinte
pe mai multe linii este ntotdeauna admis n japonez.
SEC. 7.3 WORLD WIDE WEB 599

(a) (b)

Fig. 7-52. Lewis Caroll ncape ntr-un ecran de 16x6.

Dei limba japonez are zeci de mii de kanji, NTT DoCoMo a inventat 166 noi, numite emoji, cu
un factor de amuzament ridicat de fapt, nite pictograme precum zmbitorii din fig. 7-6. Acestea
includ simboluri pentru semnele astrologice, bere, hamburger, parc de amuzament, zi de natere,
telefon mobil, cine, pisica, Crciun, inim rnit, srut, stare de spirit, somnolen, i desigur, unul
semnificnd ceva simpatic.
Un alt nou element este posibilitatea de a permite utilizatorilor s selecteze hiper-legturi folo-
sind tastatura, proprietate cu siguran important pentru un calculator fr mouse. Un exemplu
despre cum este folosit acest atribut este prezentat n fiierul cHTML din fig. 7-53.

<html>
<body>
<h1> Selecteaz o opiune </h1>
<a href=messages.chtml accesskey=1> Verific pota vocal </a> <br>
<a href=mail.chtml accesskey=2> Verific pota electronic </a> <br>
<a href=games.chtml accesskey=3> Joac un joc </a>
</body>
</html>
Fig. 7-53. Un exemplu de fiier cHTML.

Dei partea client este oarecum limitat, serverul i-mode este un calculator de-a dreptul rsun-
tor, cu toate soneriile i fluierele obinuite. El suport CGI, Perl, PHP, JSP, ASP i tot ceea ce
serverele Web suport de obicei.

Caracteristica WAP I-mode
Ce este Stiv de protocoale Serviciu
Dispozitiv Telefon, PDA, calculator portabil Telefon
Tipul de acces Prin telefon Tot timpul activ
Reeaua de suport Cu comutare de circuite Doua: circuite + pachete
Rata de transfer 9600 bps 9600 bps
Ecranul Monocrom Color
Limbajul de marcare WML (aplicaie XML) cHTML
Limbajul script WMLScript Nici unul
Taxarea utilizatorilor Pe minut Pe pachet
Plata pentru cumprturi Cu cartea de credit Pe factura de telefon
Pictograme Nu Da
Standardizare Standard deschis al forumului WAP Proprietar NTT DoCoMo
Locul de utilizare Europa, Japonia Japonia
Utilizatorul tipic Omul de afaceri Adolescent

Fig. 7-54. O comparaie ntre prima generaie de WAP i i-mode.
Veni vremea cnd
morsa spuse c v
a vorbi despre m
ulte lucruri. De
spre pantofi i
vapoare i despr
Veni vremea cnd
morsa spuse c
va vorbi despre
multe lucruri.
Despre pantofi
i vapoare i
600 NIVELUL APLICAIE CAP. 7


O comparaie rapid ntre WAP i i-mode aa cum au fost ele implementate n sistemele de pri-
ma generaie este dat n fig. 7-54. n timp ce cteva diferene pot prea mici, adesea ele sunt impor-
tante. Spre exemplu, cei de 15 ani nu au cri de credit, astfel c posibilitatea de a cumpra lucruri
prin comerul electronic i de a fi taxai abia cnd primesc nota de plat la telefon reprezint un sti-
mulent pentru interesul lor asupra sistemului.
Pentru alte informaii despre i-mode citii (Frengle, 2002; i Vacca, 2002).
Web-ul fr fir de generaia a doua
WAP 1.0, bazat pe standarde recunoscute internaional, trebuia s fie o unealt important pen-
tru oamenii cu afaceri n derulare. A euat. I-mode a fost o jucrie electronic pentru adolescenii
japonezi folosind numai elemente proprietare. A fost un mare succes. Ce s-a ntmplat dup asta?
Fiecare parte a nvat cte ceva din Web-ul fr fir de prim generaie. Consoriul WAP a nvat
c important este coninutul. S nu ai un numr mare de situri Web care i neleg limbajul de mar-
care este fatal. NTT DoCoMo a nvat c un sistem nchis, proprietar, strns legat de dispozitive
mici i de cultura japonez nu este un bun produs pentru export. Concluzia pe care ambele pri au
tras-o este c pentru a convinge un numr mare de situri Web s-i pun coninutul n formatul tu,
trebuie s ai un limbaj de marcare deschis, stabil i care este universal acceptat. Rzboaiele asupra
formatelor nu sunt bune pentru progres.
Ambele servicii sunt aproape de a intra n cea de-a doua generaie a tehnologiei Web fr fir.
WAP 2.0 a venit primul, aa c l vom folosi pe acesta ca exemplu. WAP 1.0 avea unele lucruri bune
i acestea au fost continuate. Unul dintre acestea este c WAP poate folosi o mulime de reele dife-
rite. Prima generaie folosea reele cu comutare de circuite, dar reelele cu comutare de pachete au
fost ntotdeauna o alternativ i nc mai sunt. Sistemele de a doua generaie vor folosi probabil co-
mutarea de pachete, spre exemplu, GPRS-ul. Un altul este c WAP a fost iniial proiectat pentru a
suporta o mare varietate de dispozitive, de la telefoane mobile pn la calculatoare portabile puter-
nice, i nc mai este.
WAP 2.0 are i cteva caracteristici noi. Cele mai importante sunt:

1. Modelul de livrare a paginilor (push), alturi de cel de cerere (pull).
2. Suport pentru integrarea telefoniei n aplicaii.
3. Mesageria multimedia.
4. Includerea a 264 de pictograme.
5. Interfaa cu un dispozitiv de memorare.
6. Suport pentru plug-in-uri n browser.

Modelul de cerere este bine cunoscut: clientul cere o pagin i o primete. Modelul de livrare
(push) suport livrarea datelor fr a fi cerute, precum inerea la curent cu cotaiile la burs sau aler-
tele de trafic.
Vocea i datele ncep s se contopeasc, iar WAP 2.0 le suport ntr-o mulime de moduri. Am
vzut un astfel exemplu mai devreme, la capabilitatea i-mode-ului de a lega o iconi sau un text de
pe ecran cu un numr de telefon ce trebuie format. Odat cu pota electronic i telefonia este su-
portat i mesageria multimedia.
Marea popularitate a emoji-ului i-mode a stimulat consoriul WAP s inventeze 264 emoji pro-
prii. Categoriile includ animale, utilaje casnice, mbrcminte, emoii, mncruri, corpul uman, ge-
nuri, hri, muzic, plante, sporturi, timp, unelte, vehicule, arme i meteo. Destul de interesant este
faptul c standardul pur i simplu numete fiecare pictogram; nu d harta de pixeli real, probabil
SEC. 7.3 WORLD WIDE WEB 601

de team c reprezentarea ntr-o cultur a somnolenei sau a mbririi s nu insulte alt cul-
tur. I-mode nu a avut aceast problem fiind ndreptat ctre o singur ar.
A oferi o interfa de stocare nu nseamn c fiecare telefon cu WAP 2.0 va veni cu un mare disc
fix. Memoria ROM rapid este, de asemenea, un dispozitiv de stocare. O camer fr fir cu faciliti
WAP ar putea folosi memoria ROM rapid pentru stocarea temporar a imaginii nainte de a
transmite cele mai bune cadre pe Internet.
n fine, plug-in-urile pot extinde capabilitile programului de navigare. Este oferit, de asemenea,
un limbaj scriptic.
Mai multe diferene tehnice sunt de asemenea prezente n WAP 2.0. Dou dintre cele mai im-
portante se refer la stiva de protocoale i la limbajul de marcare. WAP 2.0 continu s suporte ve-
chea stiv de protocoale din fig. 7-48, dar de asemenea suport i stiva standard a Internet-ului cu
TCP i /1.0. Cu toate acestea, patru schimbri minore (dar compatibile) au fost aduse TCP-ului
(pentru a simplifica codul): (1) Folosirea unei ferestre fixe de 64 KB, (2) lipsa unui start lent, (3)
MTU-ul maxim de 1500 de octei i (4) un algoritm de retransmisie uor modificat. TLS este proto-
colul pentru securitatea la nivel transport standardizat de IETF; l vom examina n Cap. 8. Mai multe
dispozitive iniiale vor conine probabil ambele stive, cum se arat n fig. 7-55.

XHTML
WSP
WTP TLS
WTLS TCP
WDP IP
Nivelul fizic Nivelul fizic
Stiva de protocoale
WAP 1.0
Stiva de protocoale
WAP 2.0

Fig. 7-55. WAP 2.0 suport dou stive de protocoale.

Cealalt diferen tehnic fa de WAP 1.0 este limbajul de marcare. WAP 2.0 suport
XHTML Basic, care este potrivit pentru dispozitivele mici fr fir. ntruct NTT DoCoMo a fost
de asemenea de acord s suporte acest subset, proiectanii de situri Web pot folosi acest format
tiind c paginile lor vor funciona att pe Internet-ul fix ct i pe toate dispozitivele fr fir. Aceste
decizii vor ncheia rzboaiele legate de formatul limbajului de marcare care au mpiedicat dezvolta-
rea industriei Web fr fir.

Modulul Obligatoriu? Funcia Exemple de etichete
Structur Da Structura documentelor body, head, html, title
Text Da Informaii br, code, dfn, em, hn, kbd, p, strong
Hiper-text Da Hiper-legturi a
Liste Da Liste de articole dl, dt, dd, ol, ul, li
Formulare Nu Formulare de completat form, input, label, option, textarea
Tabele Nu Tabele dreptunghiulare caption, table, td, th, tr
Imagini Nu Imagini img
Obiecte Nu Applet-uri, hari, etc. object, param
Meta-informaii Nu Informaii suplimentare meta
Legturi Nu Similar cu <a> link
Baz Nu URL-ul de start base

Fig. 7-56. Modulele i etichetele din XHTML Basic.

602 NIVELUL APLICAIE CAP. 7


Cteva cuvinte despre XHTML Basic sunt poate necesare. Acesta este gndit pentru telefoane
mobile, televiziune, PDA-uri, dispozitive pentru vnzarea automat, pagere, maini, jocuri mecanice
i chiar ceasuri. Din acest motiv nu suport foi de stil, scripturi sau cadre, ns cunoate majoritatea
etichetelor standard. Acestea sunt grupate n 11 module. Unele sunt obligatorii; altele sunt opiona-
le. Toate sunt definite n XML. Modulele i cteva exemple de etichete sunt listate n fig. 7-56. Nu
baleiat toate exemplele de etichete, ns mai multe informaii se pot gsi la www.w3.org.
n ciuda nelegerii asupra folosirii XHTML Basic, o ameninare pndete WAP i i-mode:
802.11. A doua generaie a Web-ului fr fir ar trebui s funcioneze la 384 Kbps, mult mai mult
dect cei 9600 bps ai primei generaii, dar i mult mai puin dect cei 11 Mbps sau 54 Mbps oferii de
802.11. Firete, 802.11 nu este omniprezent, dar pe msur ce mai multe restaurante, hoteluri, ma-
gazine, companii, aeroporturi, staii de autobuz, muzee, universiti, spitale i alte organizaii decid
s instaleze staii de baz pentru angajaii i clienii lor, se va ajunge probabil la o suficient acoperire
n zonele urbane astfel nct oamenii s doreasc s mearg pentru o cafea sau pentru a trimite un
mesaj electronic la o braserie aflat la cteva blocuri distan, dar cu 802.11 instalat. Firmele pot
aduga automat embleme 802.11 alturi de emblemele care arat ce cri de credit accept i asta
din acelai motiv: pentru a atrage clieni. Hrile oraelor (firete, descrcabile) pot marca zonele
acoperite cu verde i pe cele neconectate cu rou, astfel ca oamenii s se poat deplasa de la o staie
de baz la alta, aa cum nomazii se mutau de la o oaz la alta n deert.
Dei braseriile pot instala repede staii de baz 802.11, fermierilor probabil c nu le va fi la fel de
uor, deci acoperirea va fi zonal i limitat la zonele centrale ale oraelor, din cauza rspndirii limi-
tate a semnalului 802.11 (cteva sute de metri n cel mai bun caz). Aceasta poate duce la dispozitive
fr fir cu dou moduri, care folosesc 802.11 dac pot prinde un semnal i recurg la WAP dac nu.


7.4 MULTIMEDIA
Dei Web-ul fr fir este o tehnologie nou si incitant, ea nu este singura. Pentru muli, multi-
media 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. ntruct multimedia necesit o lime de band mare, este destul de greu s fie fcut s
funcioneze prin conexiuni fixe. Chiar i calitatea video VHS prin legtura fr fir este la distan de
civa ani, aa c discuia noastr se va axa asupra sistemelor conectate.
Literal, multimedia nseamn dou sau mai multe media. Dac editorul acestei cri voia s se
alture interesului la 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.
Oricum, muli vorbesc adesea despre sunetele audio pure, precum telefonia prin Internet sau ra-
dio-ul prin Internet, ca i cum ar fi tot multimedia, ceea ce cu siguran nu sunt. De fapt, un termen
mai bun ar fi fluxuri media (streaming media), dar vom urma mulimea i vom considera sunetele
audio n timp real ca fiind tot multimedia. n seciunile urmtoare vom examina modul n care calcu-
SEC. 7.4 MULTIMEDIA 603

latoarele proceseaz datele audio i video, cum le comprim, i cteva aplicaii pentru reele ale
acestor tehnologii. Pentru o tratare cuprinztoare (trei volume) a datelor multimedia n reele, citii
(Steinmetz si Nahrstedt, 2002; Steinmetz si Nahrstedt, 2003a; i Steinmetz i Nahrstedt, 2003b).
7.4.1 Introducere in sunetele digitale
O und (sunet) audio este o und cu o dimensiune acustic (presiune). Atunci cnd o und acus-
tic 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 ascult-
tor. ntr-un mod similar, atunci cnd o und acustic lovete un microfon, acesta genereaz un sem-
nal 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 loga-
ritmic, aa nct raportul a dou semnale cu puterile A i B este exprimat convenional n dB (deci-
beli) n concordan cu formula:

dB = 10 log
10
(A/B)

Dac definim limita inferioar de audibilitate (o presiune de circa 0,0003 dyne/cm
2
) pentru o un-
d 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 milise-
cunde. 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 afectea-
z calitatea imaginii percepute.



Fig. 7-57. (a) O und sinusoidal. (b) Eantionarea undei sinusoidale.
(c) Cuantificarea eantioanelor pe 4 bii.

604 NIVELUL APLICAIE CAP. 7


Undele audio pot fi convertite n form numeric de un ADC (Analog Digital Convertor con-
vertor analog numeric). Un ADC primete o tensiune electric la intrare i genereaz un numr
binar la ieire. n fig. 7-57(a) se prezint un exemplu al unei unde sinusoidale. Pentru reprezentarea
acestui semnal n form digitizat, putem s-l eantionm la fiecare T secunde, aa cum putei ob-
serva prin nlimea barelor n fig. 7-57(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
f, 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 discretiza-
rea le poate detecta nu sunt prezente.
Eantioanele digitale nu sunt niciodat exacte. Eantioanele pe 3-bii din fig. 7-57 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 8 bii de 8000 de
ori pe secund. n America de Nord i Japonia, 7 bii sunt pentru date, iar unul pentru control; n
Europa toi cei 8 bii sunt pentru date. 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.
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 iubitorii
canini de muzic. 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 acope-
rit 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
T1 pentru transmiterea necomprimat a sunetului stereo de calitate pentru CD n timp real.
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.
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 neob-
strucionate, producnd rezonane ale cror frecvene fundamentale depind de dimensiunea i for-
ma sistemului vocal i de poziia limbii vorbitorului i a gurii. Aceste sunete sunt aproape periodice
pentru intervale n jur de 30 ms. Consoanele sunt produse atunci cnd coarda vocal este parial
blocat. Aceste sunete sunt mai puin regulate dect vocalele.
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. Oricum, modul de funcionare al acestor codoare
de voce depete domeniul acestei cri.
SEC. 7.4 MULTIMEDIA 605

7.4.2 Compresia audio
Pentru a obine calitatea unui CD audio este necesar o lime a benzii de transmisie de 1.411
Mbps, dup cum tocmai am vzut. Evident, pentru a face practic transmisia pe Internet este nece-
sar o compresie substanial. Muli algoritmi de compresie audio au fost dezvoltai din acest motiv.
Probabil cel mai popular dintre ele este MPEG audio, care are trei nivele (variante), dintre care
MP3 (MPEG audio layer 3 MPEG audio de nivelul 3) este cel mai puternic i mai cunoscut. Pe
Internet sunt disponibile mari cantiti de muzic n format MP3, nu toate legale, fapt care a generat
numeroase procese venite din partea artitilor i a proprietarilor de drepturi de autor. MP3 aparine
prii audio a standardului MPEG pentru compresia video. Vom discuta despre compresia video
mai trziu n acest capitol; s vedem acum compresia audio.
Compresia audio poate fi fcut n dou moduri. Prin codificarea formei de und (waveform
coding), semnalul este transformat (matematic) Fourier n componentele sale n frecven. Fig.
2-1(a) arat un exemplu de funcie de timp i amplitudinile sale Fourier. Apoi, amplitudinea fie-
crei componente este codificat minimal. Scopul este de a reproduce exact forma de und la
cellalt capt folosind ct mai puini bii cu putin.
Cealalt metod, codificarea perceptiv (eng. Perceptual coding), exploateaz unele caracte-
ristici ale sistemului auditiv uman pentru a codifica semnalul astfel nct s sune la fel pentru
asculttorul uman, chiar dac arat destul de diferit pe osciloscop. Codificarea perceptiv se ba-
zeaz pe tiina psihoacusticii modul n care oamenii percep sunetul. MP3 se bazeaz pe codi-
ficarea perceptiv.
Proprietatea de baz a codificrii perceptive este c unele sunete pot masca alte sunete. Imagi-
nai-v c transmitei n direct un concert de flaut ntr-o zi clduroas de var. Apoi, dintr-o dat, un
grup de muncitori din apropiere i pornesc ciocanele pneumatice i ncep s distrug strada. Nimeni
nu mai poate auzi flautul. Sunetele sale au fost mascate de ciocanele pneumatice. Din punct de ve-
dere al transmisiei, acum este suficient s codificm doar banda de frecvene folosit de ciocanele
pneumatice, deoarece asculttorii oricum nu pot auzi flautele. Acest procedeu se numete mascarea
frecvenei (frequency masking) proprietatea unui sunet de volum nalt dintr-o band de frecven
de a ascunde un sunet mai slab dintr-o alt band de frecven i care s-ar fi auzit n absena sunetu-
lui de volum nalt. De fapt, chiar i dup ce ciocanele pneumatice nceteaz, flautul nu se va putea
auzi pentru o scurt perioad de timp, deoarece urechile opresc amplificarea sunetelor cnd acestea
ncep i au nevoie de o perioad de timp finit pentru a o reporni. Acest efect se numete mascare
temporal (temporal masking).
Pentru a cuantifica aceste efecte, imaginai-v experimentul 1. O persoan dintr-o camer n care
este linite i pune ctile conectate la placa de sunet a unui calculator. Calculatorul genereaz o
und sinusoidal nedistorsionat la 100 Hz la o putere mic iniial dar cresctoare n timp. Persoana
este instruit s apese pe o tast cnd aude sunetul. Calculatorul nregistreaz nivelul curent al pute-
rii i repet experimentul la 200 Hz, 300 Hz i toate celelalte frecvene pn la limita auzului uman.
Cnd se face o medie pentru mai muli oameni, un grafic al nregistrrilor puterii necesare unui su-
net pentru a fi auzit arat ca cel din fig. 7-58(a). O consecin direct a acestei curbe este c nu tre-
buie s codificm frecvenele a cror putere se afl sub pragul auzului. De exemplu, dac puterea la
100 Hz ar fi fost 20 dB n fig. 7-58(a), ar fi putut fi omis din sunetul final fr o pierdere sesizabil
de calitate, deoarece 20 dB la 100 Hz sunt sub nivelul de audibilitate.
606 NIVELUL APLICAIE CAP. 7



Fig. 7-58. (a) Pragul de audibilitate ca funcie de frecven. (b) Efectul de mascare.

Acum imaginai-v experimentul 2. Calculatorul ruleaz din nou experimentul 1, dar de aceast
dat cu o und sinusoidal de amplitudine constant i frecvena 150 Hz, suprapus peste frecvena
de test. Descoperim c pragul de audibilitate pentru frecvene de aproximativ 150 Hz este ridicat,
aa cum arat i fig. 7-58(b).
Consecina acestei noi observaii este c, pe msur ce descoperim care semnale sunt mascate de
alte semnale din benzi de frecven apropiate, putem omite mai multe frecvene din semnalul codifi-
cat, economisind bii. n fig. 7-58, semnalul de 125 Hz poate fi n ntregime omis din semnalul de
ieire i nimeni nu va putea sesiza diferena. Chiar i dup ce un semnal puternic dintr-o band de
frecven se oprete, cunoaterea proprietilor sale de mascare temporal ne permit s continum
s omitem frecvenele mascate pentru un anumit interval de timp pn cnd urechea i revine.
Elementul de baz al MP3 este transformarea Fourier a sunetului pentru a obine puterea pentru
fiecare frecven i apoi transmiterea numai a frecvenelor nemascate, codificndu-le n ct mai pu-
ini bii cu putin.
Cunoscnd aceste informaii, putem acum s vedem cum se face codificarea. Compresia audio se
face eantionnd forma de und la 32 KHz, 44.1 KHz sau 48 KHz. Eantionarea se poate face pe
unul sau dou canale, n una din cele patru configuraii:

1. Monofonic (un singur flux de intrare).
2. Dual monofonic (spre exemplu, o coloan sonor in englez i una n japonez).
3. Stereo disjunct (fiecare canal comprimat separat).
4. Stereo unit (se exploateaz la maxim redundana inter-canale).

Mai nti se alege rata biilor de la ieire. MP3 poate comprima un CD rocknroll stereo pn la
minim 96 Kbps cu pierderi de calitate greu perceptibile, chiar i pentru fanii rocknroll care nu au
probleme cu auzul. Pentru un concert de pian sunt necesari cel puin 128 Kbps. Acestea difer deoa-
rece raportul semnal-zgomot pentru rocknroll este mult mai mare fa de cel al unui concert de
pian (cel puin din punct de vedere ingineresc). Este de asemenea posibil s alegem rate de ieire
mai mici acceptnd o pierdere n calitate.
Apoi eantioanele sunt procesate n grupuri de 1152 (lungi de aproximativ 26 ms). Fiecare grup es-
te nti trecut prin 32 de filtre digitale pentru a obine 32 de benzi de frecven. n acelai timp, intrarea
SEC. 7.4 MULTIMEDIA 607

este dat unui model psiho-acustic care determin frecvenele mascate. Apoi, fiecare din cele 32 de
benzi de frecven este transformat n continuare pentru a obine o rezoluie spectral mai fin.
n faza urmtoare, bugetul de bii disponibil este mprit ntre benzi, ct mai muli bii alocai
pentru benzile cu puterea spectral nemascat mai mare, ct mai puini bii alocai pentru benzile
nemascate cu puterea spectral mai mic i nici un bit alocat pentru benzile mascate. n final, biii
sunt codificai folosind codificarea Huffman, care asigneaz coduri scurte numerelor care apar frec-
vent i coduri lungi celor care apar rar.
n realitate mai sunt multe de spus. Se folosesc de asemenea multe tehnici pentru reducerea
zgomotelor, antialiasing i exploatarea redundanei inter-canale, dac este posibil, dar acestea sunt
n afara domeniului acestei cri. O introducere matematic mai formal n aceast operaie este
dat n (Pan, 1995).
7.4.3 Fluxuri audio
S trecem acum de la tehnologia audio digital la trei dintre aplicaiile sale pentru reele. Prima
este fluxul audio, adic ascultarea sunetelor pe Internet. Aceasta se numete de asemenea i muzic
la cerere. Celelalte dou sunt radio-ul prin Internet i respectiv vocea peste IP.
Internet-ul este plin de situri Web cu muzic, multe dintre ele listnd titluri de cntece pe care
utilizatorii le pot selecta cu ajutorul mouse-ului pentru le asculta. Unele dintre acestea sunt situri
gratuite (spre exemplu formaiile noi care ncearc s i fac publicitate); altele necesit o plat pen-
tru muzic, dei ele ofer de asemenea mostre gratuite (spre exemplu primele 15 secunde dintr-un
cntec). Metoda cea mai rapid de a asculta muzica este ilustrat n fig. 7-59.

1. Stabilirea conexiunii TCP
2. Trimiterea cererii HTTP GET
3. Serverul preia fiierul de pe disc
4. Fiierul este trimis napoi progra-
mului de navigare
5. Programul de navigare scrie fiie-
rul pe disc
6. Programul pentru redarea fiiere-
lor media preia fiierul bloc dup
bloc i l red
Fig. 7-59. O metod direct pentru a implementa muzica selecionabil de pe o pagin Web.

Procesul ncepe cnd utilizatorul selecteaz cu mouse-ul un cntec. Apoi intr n aciune pro-
gramul de navigare. Primul su pas este stabilirea unei conexiuni TCP cu serverul Web pe care exis-
t o hiper-legtur la cntec. Pasul 2 este trimiterea unei cereri GET n HTTP pentru a cere cnte-
cul. Ulterior (paii 3 si 4), serverul citete cntecul (care este doar un fiier n formatul MP3 sau vre-
un alt format) de pe disc i l trimite napoi programului de navigare. Dac fiierul este mai mare
dect memoria serverului, acesta poate aduce i trimite melodia n blocuri.
Folosind tipul MIME, de exemplu, audio/mp3, (sau extensia fiierului), programul de navigare
caut s vad cum ar trebui livrat fiierul. De obicei exist o aplicaie ajuttoare asociat cu acest tip
de fiier, precum RealOne Player, Windows Media Player, sau Winamp. ntruct n mod obinuit
programul de navigare comunic cu o aplicaie ajuttoare printr-un fiier auxiliar, acesta va salva mai
nti ntregul fiier de muzic pe disc ca un fiier auxiliar (pasul 5). Apoi, va porni programul de re-
608 NIVELUL APLICAIE CAP. 7


dare a fiierului cruia i va trimite numele fiierului auxiliar de pe disc. La pasul 6, programul pentru
redarea fiierelor media va ncepe s ncarce i s reproduc muzica, bloc dup bloc.
n principiu, aceast metod este n ntregime corect i va produce muzic. Singura problem
este c trebuie trimis prin reea tot cntecul, nainte ca muzica s nceap. n cazul n care cntecul
are 4 MB (o dimensiune tipic pentru un cntec MP3) i modemul este de 56 Kbps, utilizatorul va
avea parte de aproape 10 minute de linite pn cnd cntecul este descrcat. Nu toi ndrgostiii de
muzic agreeaz aceast idee. Mai ales avnd n vedere c urmtorul cntec va ncepe tot dup 10
minute de descrcare, iar cel de dup acesta la fel.
Pentru a rezolva aceast problem fr a schimba felul n care funcioneaz programul de navi-
gare, siturile cu muzic au venit cu urmtoarea schem. Fiierul legat la titlul cntecului nu este fiie-
rul real cu muzic. n schimb, este ceea ce se numete un metafiier, adic un fiier foarte scurt cu
numele melodiei. Un metafiier tipic poate avea doar o singur linie de text ASCII i arat astfel:

rtsp://joes-audio-server/song-0025.mp3

Cnd programul de navigare primete fiierul de o linie, l scrie pe disc ntr-un fiier auxiliar, por-
nete programul pentru redarea fiierelor media ca pe o aplicaie ajuttoare i i trimite acestuia
numele fiierului auxiliar, ca de obicei. Programul pentru redarea fiierelor media citete fiierul i
vede c acesta conine un URL. Apoi contacteaz joes-audio-server i cere cntecul. Observai c
programul de navigare nu mai face parte din circuit.
n cele mai multe cazuri, serverul numit n metafiier nu este acelai cu serverul Web. De fapt, de
obicei nu este nici mcar un server HTTP, ci un server specializat pe media. n acest exemplu, serve-
rul media folosete RTSP (Real Time Streaming Protocol - protocolul pentru fluxuri n timp real),
indicat de numele rtsp al schemei. Acesta este descris n RFC 2326.
Programul de redare a fiierelor media are patru lucruri importante de fcut:

1. Controleaz interfaa cu utilizatorul.
2. Trateaz erorile de transmisie.
3. Decomprim melodia.
4. Elimin fluctuaiile.

Majoritatea programelor de redare a fiierelor media din zilele noastre au o interfa captivant
cu utilizatorul, uneori simulnd o unitate stereo, cu butoane, mnere, glisoare i afiaje vizuale. Ade-
sea exist panouri frontale interschimbabile, numite nvelitori, pe care utilizatorul le poate suprapu-
ne peste panoul programului de redare. Programul de redare trebuie s controleze toate acestea i
s interacioneze cu utilizatorul.
A doua funcie a sa este tratarea erorilor. Transmisia de muzic n timp real folosete rareori
TCP deoarece o eroare i o retransmisie pot introduce o pauz inacceptabil de lung n melodie. n
locul acestuia, transmisia real se face de obicei cu un protocol asemntor cu RTP, pe care l-am
studiat n Cap. 6. Ca majoritatea protocoalelor de timp real, RTP utilizeaz UDP i deci se pot pier-
de pachete. Programul de redare este cel care trebuie s trateze acest lucru.
n unele cazuri, muzica este ntreesut pentru a face tratarea erorilor mai uoar. Spre exemplu,
un pachet poate conine 220 de eantioane stereo, fiecare coninnd o pereche de numere de 16 bii,
de obicei bune pentru 5 ms de muzic. Dar protocolul poate trimite toate eantioanele impare pen-
tru un interval de 10 ms ntr-un pachet i toate eantioanele pare n urmtorul. Atunci un pachet
pierdut nu reprezint o pauz de 5 ms n muzic, ci pierderea tuturor celorlalte eantioane pentru 10
ms. Aceast pierdere poate fi tratat uor de programul de redare a fiierelor media interpolnd
eantioanele anterioare i urmtoare pentru a estima valoarea absent.
SEC. 7.4 MULTIMEDIA 609


Fig. 7-60. Cnd pachetele conin eantioane alternante, pierderea unui pachet reduce temporar re-
zoluia n loc s creeze o perioad de pauz.

Folosirea ntreeserii pentru a recupera din erori este ilustrat n fig. 7-60. Aici fiecare pachet re-
ine eantioanele alternante n timp pentru un interval de 10 ms. n consecin, pierderea pachetului
3, dup cum este artat, nu introduce o pauz n muzic, ci doar scade rezoluia pentru un anume
interval. Valorile absente pot fi interpolate pentru a oferi sunet continuu. Aceast schem particula-
r nu funcioneaz dect cu eantioane necomprimate, dar arat cum o codificare inteligent poate
converti un pachet pierdut ntr-unul de calitate mai joas, mai degrab dect ntr-o pauz de timp. n
orice caz, RFC 3119 d o schem care funcioneaz cu date audio comprimate.
A treia funcie a programului de redare a fiierelor media este decomprimarea melodiei. Dei
aceast operaie necesit multe resurse, ea este relativ rapid.
A patra funcie este eliminarea fluctuaiilor, blestemul tuturor sistemelor n timp real. Toate sis-
temele de fluxuri audio ncep prin a depune ntr-un tampon 10-15 sec. de muzic nainte de a ncepe
s cnte, ca n fig. 7-61. Ideal, serverul va continua s umple tamponul cu aceeai vitez cu care este
golit de programul de redare a fiierelor media, ns n realitate nu se ntmpl aa, astfel c se poate
recurge la umplerea tamponului n interiorul buclei.
Dou soluii pot fi adoptate pentru a ine tamponul plin. Cu un server de cereri (pull server), at-
ta timp ct este loc n tampon pentru nc un bloc, programul de redare continu s trimit ctre
server cereri pentru cte un bloc suplimentar. Scopul su este s in tamponul ct mai plin posibil.

Fig. 7-61. Programul de redare a fiierelor media stocheaz intrarea de la serverul media i reprodu-
ce din tampon n loc s reproduc direct de pe reea.

610 NIVELUL APLICAIE CAP. 7


Dezavantajul unui server de cereri este existena unor cereri de date inutile. Serverul tie c a
trimis tot fiierul, aa c de ce s punem programul de redare s ntrebe ncontinuu? Din acest mo-
tiv, soluia este folosit rar.
Cu un server de forare (push server), programul de redare a fiierelor media trimite o cerere
PLAY, iar serverul nu face dect s i trimit date ncontinuu. Aici sunt dou posibiliti: serverul
media ruleaz cu vitez normal de playback sau ruleaz mai repede. n ambele cazuri, unele date
sunt puse n tampon nainte de a ncepe playback-ul. Dac serverul ruleaz la viteza normal de
playback, datele care vin de la acesta sunt adugate la sfritul tamponului, iar programul de redare
terge datele de la nceputul tamponului. Atta timp ct totul funcioneaz perfect, cantitatea de
date din tampon rmne constant n timp. Aceast schem este simpl, deoarece nu sunt necesare
mesaje de control n nici o direcie.
Cealalt schem de forare este cea n care serverul trimite date mai repede dect este nevoie.
Avantajul acesteia este c dac nu se poate garanta c serverul ruleaz cu o viteza constant, acesta
are ocazia s recupereze de fiecare dat cnd rmne n urm. O problem este posibila depire a
cantitii tamponului dac serverul trimite date mai repede dect sunt consumate (i trebuie s poa-
t face asta pentru a putea evita pauzele).
Soluia este ca programul de redare a fiierelor media s defineasc un nivel minim (low-water
mark) i un nivel maxim (high-water mark) n tampon. Practic, serverul trimite date pn cnd tam-
ponul este umplut la nivelul maxim. Apoi programul de redare a fiierelor media i spune s ia o
pauz. Cum datele vor continua s intre n tampon pn cnd serverul primete cererea de pauz,
distana de la nivelul maxim pn la sfritul tamponului trebuie s fie mai mare dect ntrzierea
produs de limea de band a reelei. Dup ce serverul este oprit, tamponul ncepe s se goleasc.
Cnd ajunge la nivelul minim, programul de redare a fiierelor media i spune serverului media s
reia trimiterea. Nivelul minim trebuie poziionat astfel nct tamponul s nu se goleasc integral.
Pentru a aciona asupra serverului de forare, programul de redare a fiierelor media trebuie s l
controleze de la distan. Acest lucru este asigurat de RTSP. Acesta este definit n RFC 2326 i ofer
mecanisme de control al serverului pentru programul de redare. El nu se ocup de fluxul de date,
lucru fcut de obicei de RTP. Comenzile principale oferite de RTSP sunt listate n fig. 7-62.

Comanda Rspunsul serverului
DESCRIBE Afieaz parametrii media
SETUP Stabilete un canal logic ntre programul de redare i server.
PLAY ncepe s trimit date clientului.
RECORD ncepe s accepte date de la client.
PAUSE Suspend temporar trimiterea datelor.
TEARDOWN Elibereaz canalul logic.

Fig. 7-62. Comenzile RTSP de la programul de redare la server.
7.4.4 Radio prin Internet
O dat ce a devenit posibil transmiterea de fluxuri audio prin Internet, staiilor radio comerciale
le-a venit ideea s emit i pe Internet, i prin aer. Nu cu mult timp dup asta, staiile radio ale uni-
versitilor au nceput s i pun semnalul pe Internet. Apoi studenii i-au nfiinat propriile staii
radio. Cu tehnologia actual, practic oricine i poate nfiina o staie radio. ntreaga zon a radio-
ului prin Internet este foarte nou i n schimbare, ns merit s spunem cte ceva despre ea.
SEC. 7.4 MULTIMEDIA 611

Exist dou soluii generale pentru radio-ul prin Internet. n prima, programele sunt pre-nregis-
trate i stocate pe disc. Asculttorii se pot conecta la arhivele staiei radio i pot alege i descrca orice
program, pentru a-l asculta. De fapt, aceasta este similar cu fluxurile audio despre care tocmai am
discutat. Este de asemenea posibil s se stocheze fiecare program imediat dup ce a fost transmis n
direct, astfel nct arhiva s funcioneze doar pentru, s zicem, o jumtate de or sau mai puin dup
transmisia n direct. Avantajele acestei soluii sunt c este uor de realizat, toate tehnicile despre care
am discutat funcioneaz i aici, iar asculttorii pot alege dintre toate programele din arhiv.
Cealalt soluie este transmiterea n direct pe Internet. Unele staii transmit prin aer i prin In-
ternet simultan, dar sunt din ce n ce mai multe staii radio exclusiv pe Internet. Unele tehnici care
sunt aplicabile fluxurilor audio sunt aplicabile i radio-ului n direct prin Internet, dar sunt i unele
diferene cheie.
Un element asemntor este necesitatea stocrii ntr-un tampon n situl utilizatorului pentru a
micora fluctuaiile. Colectnd 10 sau 15 secunde de radio nainte de nceperea playback-ului, sune-
tul poate fi meninut continuu chiar i n cazul unor fluctuaii substaniale pe reea. Att timp ct
pachetele ajung nainte s fie nevoie de ele, nu conteaz cnd au ajuns.
O diferen de baz este c fluxurile audio pot fi transmise cu o vitez mai mare dect viteza
de playback, ntruct receptorul le poate opri cnd este atins nivelul maxim. Teoretic, asta i d
timp pentru a retransmite pachetele pierdute, dei aceast abordare nu se folosete de obicei. n
contrast, radio-ul n direct este ntotdeauna transmis la exact aceeai rat cu care este generat i
redat asculttorului.
O alt diferen este c o staie radio n direct are de obicei sute sau mii de asculttori simultan,
n timp ce fluxurile audio sunt punct la punct. n aceste condiii, radio-ul prin Internet ar trebui s
foloseasc trimiterea multipl cu protocoalele RTP/RTSP. Aceasta este cu siguran cea mai eficien-
t cale de a funciona.
n practica actual, radio-ul prin Internet nu funcioneaz aa. Ceea ce se ntmpl de fapt este
c utilizatorul stabilete o conexiune TCP cu staia i fluxul este trimis prin conexiunea TCP. Firete,
asta creeaz diverse probleme, precum oprirea fluxului cnd fereastra este plin, pierderea pachete-
lor care au expirat i sunt retransmise, i aa mai departe.
Motivul pentru care se folosete trimiterea singular TCP n locul trimiterii multiple RTP are trei
pri. Prima, puine ISP-uri suport trimiterea multipl, astfel c aceasta nu este practic o opiune. A
doua, RTP este mai puin cunoscut dect TCP i staiile radio sunt adesea mici i au puine cunotin-
e despre calculatoare, aa nct este mai uor de folosit un protocol neles pe scar larg i suportat
de toate pachetele de aplicaii. A treia, muli oameni ascult radio-ul prin Internet la serviciu, ceea
ce, n practic, nseamn adesea n spatele unui zid de protecie (firewall). Muli administratori de
sistem i configureaz zidul de protecie pentru a-i proteja LAN-ul de vizitatori nepoftii. De obicei
ei accept conexiuni TCP de la portul de la distan 25 (SMTP pentru pot electronic), pachete
UDP de la portul de la distant 53 (DNS), i conexiuni TCP de la portul de la distan 80 (HTTP
pentru Web). Aproape orice altceva poate fi blocat, inclusiv RTP. Astfel, singura cale de a obine
semnalul radio prin zidul de protecie este ca situl Web s pretind c este un server HTTP, cel puin
n faa zidului de protecie, i s foloseasc servere HTTP care utilizeaz TCP. Aceste msuri severe,
n timp ce ofer doar o securitate minimal, mping adesea cu fora aplicaiile multimedia ctre mo-
duri de operare cu o eficien drastic mai mic.
Cum radio-ul prin Internet este un mediu nou, rzboaiele asupra formatelor sunt n plin nflori-
re. Real Audio, Windows Media Audio i MP3 concureaz agresiv pe aceast pia pentru a deveni
formatul dominant n radio-ul prin Internet. Un nou venit este Vorbis, care este tehnic similar cu
612 NIVELUL APLICAIE CAP. 7


MP3, ns are sursele disponibile i este suficient de diferit pentru a nu folosi patentele pe care se
bazeaz MP3.
O staie tipic de radio prin Internet are o pagin Web ce i listeaz programul, informaii despre
DJ i crainicii si i multe reclame. Sunt de asemenea i una sau mai multe iconie pentru a afia forma-
tele audio pe care le suport (sau doar ASCULT ACUM dac un singur format este suportat). Aces-
te iconie sau ASCULT ACUM sunt metafiiere legate de tipul celor de care am discutat mai sus.
Cnd un utilizator selecteaz una dintre iconie cu mouse-ul, este trimis metafiierul. Programul
de navigare i folosete tipul MIME sau extensia de fiier pentru a determina aplicaia ajuttoare cea
mai potrivit pentru metafiier (spre exemplu programul de redare a fiierelor media). Apoi scrie
metafiierul ntr-un fiier auxiliar pe disc, pornete programul de redare a fiierelor media i i trimi-
te numele fiierului auxiliar. Programul de redare a fiierelor media citete fiierul auxiliar, vede
URL-ul pe care acesta l conine (de obicei o schem http n loc de rtsp pentru a evita problema zidu-
lui de protecie i pentru c unele aplicaii multimedia de succes lucreaz astfel), contacteaz serve-
rul i ncepe s funcioneze ca un radio. Ca element exterior, audio conine un singur flux, astfel c
http-ul funcioneaz, ns pentru video, care are cel puin dou fluxuri, http-ul nu mai e bun i este
necesar ceva de genul rtsp.

Fig. 7-63. O staie radio student.

O alt dezvoltare interesant n zona radio-ului prin Internet este o organizare prin care oricine,
chiar i un student, poate s nfiineze i s opereze o staie radio. Componentele principale sunt
ilustrate n fig. 7-63. Elementul de baz al staiei este un calculator normal cu o plac de sunet i un
microfon. Aplicaiile constau ntr-un program de redare a fiierelor media, precum Winamp sau
Freeamp, cu un element de intrare pentru captur audio i un codec pentru formatul audio de ieire
selectat, spre exemplu MP3 sau Vorbis.
Fluxul audio generat de staie este apoi trimis prin Internet ctre un server mare, care se ocup de
distribuia acestuia unui numr mare de conexiuni TCP. De obicei serverul suport multe staii mici.
Acesta menine de asemenea un director cu staiile pe care le are i ce emite fiecare n momentul cu-
rent. Potenialii asculttori merg la server, selecteaz o staie, i primesc date TCP. Exist pachete de
aplicaii comerciale pentru controlul tuturor parilor, precum i pachete cu sursele disponibile precum
icecast. Exist de asemenea i servere care sunt doritoare s se ocupe de distribuie contra unei taxe.
SEC. 7.4 MULTIMEDIA 613

7.4.5 Voce peste IP
Cu mult timp n urm, sistemul telefonic public comutat era n primul rnd utilizat pentru trafi-
cul de voce cu variaii mici de trafic de date. Dar traficul de date a crescut din ce n ce mai mult, nct
n 1999, numrul de bii de date transportai era egal cu numrul de bii de voce (deoarece vocea
este n PCM pe legturile principale, poate fi msurat n bii/sec). Pn n 2002, volumul de trafic
de date era cu un ordin de mrime mai mare dect volumul de trafic de voce i nc cretea expo-
nenial, traficul de voce fiind aproape la acelai nivel (5% cretere pe an).
Ca o consecin a acestor numere, muli operatori de reele de pachete comutate au devenit
dintr-o dat interesai de transportul vocii prin reelele lor de date. Cantitatea suplimentar de ban-
d de transfer necesar pentru voce este minuscul, din moment ce reelele de pachete au o dimen-
siune specific traficului de date. Cu toate acestea, nota de plat a unei persoane este mai mare pen-
tru telefon, dect pentru Internet, n felul acesta operatorii de reea vznd telefonia pe Internet ca
un mod de a ctiga mai muli bani fr s mai pun alte cabluri n pmnt. Astfel a luat natere tele-
fonia pe Internet (cunoscut i sub numele de voce peste IP).
H.323
Un lucru era clar pentru toat lumea nc de la nceput i anume c dac fiecare vnztor i-ar fi
creat propria stiv de protocoale, sistemul nu ar fi funcionat niciodat. Pentru a evita aceast pro-
blem, un numr de participani interesai s-au adunat sub auspiciile ITU pentru a realiza standar-
dele. n 1996 ITU a lansat o recomandare H.323 intitulat Sisteme de telefonie vizual i echipa-
mente pentru reele locale care nu garanteaz calitatea serviciului. Doar industria telefonic ar pu-
tea gndi un astfel de nume. Recomandarea a fost revizuit n 1998 i apoi acest H.323 revizuit a fost
baza primelor sisteme universale de telefonie pe Internet.
H.323 este mai mult o prezentare arhitectural a telefoniei pe Internet dect un protocol specific.
El se refer la un numr mare de protocoale specifice pentru codificarea vocii, configurarea apelu-
lui, semnalizare, transportul datelor i alte aspecte mai mult dect s specifice el nsui aceste lucruri.
Modelul general este reprezentat n fig. 7-64. n centru este o poart (gateway) care conecteaz la
Internet reeaua de telefonie. Comunic prin protocoalele H.323 pe partea de Internet i prin proto-
coalele PSTN pe partea de telefonie. Dispozitivele de comunicaie sunt denumite terminale. Un
LAN poate avea un administrator de poart (gatekeeper), care controleaz punctele finale de sub
jurisdicia sa, numite zone.


Fig. 7-64. Modelul arhitectural H.323 pentru telefonia prin Internet.

614 NIVELUL APLICAIE CAP. 7


O reea de telefonie are nevoie de un numr de protocoale. S ncepem cu protocolul de codifi-
care i decodificare a vocii. Sistemul PCM pe care l-am studiat n Cap. 2 este definit n recomanda-
rea ITU G.711. Acesta codific un singur canal de voce prin eantionri de 8000 de ori pe secund
cu un model pe 8 bii care s redea vocea necomprimat la 64 Kbps. Toate sistemele H.323 trebuie
s suporte G.711. Cu toate acestea, alte protocoale de compresie a vocii sunt de asemenea permise
(dar nu obligatorii). Acestea folosesc diferii algoritmi de compresie pentru a face diferite compro-
misuri ntre calitate i lrgime de band. De exemplu, G.723.1 preia un bloc de 240 de eantioane (30
ms de voce) i folosete codificarea predictiv pentru a-l reduce la 24 octei sau 20 octei. Acest algo-
ritm ofer o rat la ieire de 6,4 Kbps sau 5,3 Kbps (factori de compresie de 10 i 12), respectiv, cu
mici pierderi n calitatea perceput. Sunt, de asemenea, permise i alte codificri.
Din moment ce sunt permii mai muli algoritmi de compresie, este necesar un protocol care s
permit terminalelor s negocieze ce algoritm vor folosi. Acest protocol poart numele de H.245. De
asemenea, se negociaz i alte aspecte ale conexiunii, ca de exemplu viteza de transmisie. RTCP este
necesar pentru controlul canalelor RTP. De asemenea, este necesar un protocol pentru stabilirea i
eliberarea conexiunilor, asigurarea de tonuri, crearea de sunete de apel i restul telefoniei standard.
Aici este utilizat ITU Q.931. Terminalele au nevoie de un protocol pentru a comunica cu adminis-
tratorul de poart (cnd acesta exist). n acest scop este folosit H.255. Canalul PC administrator
de poart pe care l gestioneaz este denumit canal RAS (Registration/Admission/Status, rom: nre-
gistrare/Admisie/Stare). Acest canal permite terminalelor s intre sau s prseasc zona, s cear
sau s elibereze band de transfer i s asigure, printre altele, actualizri de stare. n fine, un proto-
col este necesar pentru transmiterea efectiv a datelor. RTP este utilizat n acest scop. Este adminis-
trat de RTCP, ca de obicei. Poziionarea tuturor protocoalelor este prezentat n fig. 7-65.

Voce Control
G.7xx
RTP
RTCP H.225
(RAS)
Q.931
(semnali-
zare apel)
H.245
(control
apel)
UDP TCP
IP
Protocolul de legtur de date
Protocolul de nivel fizic

Fig. 7-65. Stiva de protocoale H.323.

Pentru a vedea cum lucreaz mpreun aceste protocoale, s considerm cazul unui terminal PC
pe un LAN (cu un administrator de poart) care apeleaz un telefon aflat la distan. Mai nti, PC-
ul trebuie s localizeze administratorul de poart, astfel c difuzeaz un pachet UDP de aflare a ad-
ministratorului de poart pe portul 1718. Cnd administratorul de poart rspunde, PC-ul afl adre-
sa IP a administratorului de poart. Acum PC-ul se nregistreaz la administratorul de poart
trimindu-i un mesaj RAS ntr-un pachet UDP. Dup ce a fost acceptat, PC-ul trimite administra-
torului de poart un mesaj de admitere RAS, cernd lrgime de band. Numai dup ce banda a fost
acordat se poate face iniierea apelului. Ideea de a cere lrgime de band n avans este aceea de a
permite administratorului de poart s limiteze numrul de apeluri pentru a evita suprancrcarea
liniei de ieire i a ajuta la asigurarea calitii necesare a serviciului.
n acest moment, PC-ul stabilete o conexiune TCP cu administratorul de poart pentru a iniia
apelul. Configurarea apelului folosete protocoale existente de reea de telefonie, care sunt orien-
tate pe conexiuni, deci este necesar TCP-ul. n contrast, sistemul telefonic nu are nimic echivalent
SEC. 7.4 MULTIMEDIA 615

canalului RAS pentru a permite telefoanelor s-i anune prezena, astfel creatorii H.323 au fost
nevoii s foloseasc fie UDP, fie TCP pentru RAS, i au ales protocolul cu suprancrcarea cea
mai mic, UDP.
n acest moment, cnd PC-ul are alocat band de transfer, el poate s trimit un mesaj Q.931
SETUP (configurare) peste conexiunea TCP. Acest mesaj specific numrul de telefon apelat (sau
adresa IP i portul, dac este apelat un calculator). Administratorul de poart rspunde cu un mesaj
Q.931 CALL PROCEEDING (nceperea comunicrii) pentru a confirma primirea cererii. Adminis-
tratorul de poart trimite mai departe mesajul SETUP ctre poart.
Poarta, care este jumtate calculator, jumtate comutator telefonic, lanseaz un apel obinuit c-
tre telefonul dorit. Oficiul final la care este legat telefonul, apeleaz telefonul destinaie i trimite de
asemenea un mesaj Q.931 ALERT (alert) pentru a anuna PC-ul apelant c a nceput s sune.
Cnd persoana de la cellalt capt al firului ridic receptorul, oficiul final trimite napoi un mesaj
Q.931 CONNECT (conectare) pentru a anuna PC-ul c are o conexiune.
Odat stabilit conexiunea, administratorul de poart nu mai este n bucl, dei poarta nc mai
este. Pachetele urmtoare trec peste administratorul de poart, ducndu-se direct la adresa IP a
porii. n acest punct, avem doar un simplu tub ntre cele dou pri. Aceasta este doar o conexiune
la nivel fizic pentru transferul biilor, nimic mai mult. Nici un capt nu tie nimic despre cellalt.
Protocolul H.245 este acum folosit pentru negocierea parametrilor apelului. El folosete canalul
de control H.245, care este ntotdeauna deschis. Fiecare parte ncepe prin anunarea capabilitilor
sale, de exemplu, dac poate suporta apeluri video (H.323 suport apeluri video) sau conferine, ce
codificri suport etc. n momentul n care fiecare capt tie ce suport cellalt, sunt stabilite dou
canale unidirecionale i un codor i ali parametri sunt atribuii fiecruia. Din moment ce fiecare
capt poate avea un echipament diferit, este foarte probabil s fie diferite i codoarele pe canalele de
trimitere i recepie. Dup ce s-au ncheiat toate negocierile, fluxul de date utiliznd RTP poate n-
cepe. El este administrat prin RTCP, care joac un rol n controlul congestiei. Dac sunt prezente
transmisii video, RTCP se ocup de sincronizarea audio/video. Diferitele canale sunt ilustrate n fig.
7-66. Cnd oricare din cele dou capete se nchide, canalul Q.931 de semnalizare al apelului este
utilizat pentru a opri conexiunea.
Fig. 7-66. Canale logice ntre apelant i apelat n timpul apelului.

Cnd se ncheie apelul, PC-ul apelant contacteaz din nou administratorul de poart cu un mesaj
RAS pentru a elibera banda de transfer care i-a fost atribuit. Alternativ, el poate s fac un nou apel.
Nu am spus nimic despre calitatea serviciului, dei aceasta este esenial pentru a face din vocea
peste IP un succes. Motivul este simplu, calitatea serviciului este n afara domeniului H.323. Dac
616 NIVELUL APLICAIE CAP. 7


reeaua transportatoare este capabil s produc o conexiune stabil, fr distorsiuni dinspre PC-ul
apelant (de exemplu, folosind tehnicile pe care le-am discutat n cap. 5) nspre poart, atunci calita-
tea serviciului pe apel va fi bun; altfel, nu va fi. Partea telefonic folosete PCM i este ntotdeauna
fr distorsiuni.
SIP Protocolul de iniiere a sesiunii
H.323 a fost conceput de ITU. Muli oameni din comunitatea Internet l-au vzut ca un produs
tipic telco: mare, complex, i inflexibil. n consecin, IETF a creat un comitet pentru a concepe un
mod mai simplu i mai modular pentru vocea peste IP. Rezultatele cele mai bune pn n prezent se
concretizeaz n SIP (Session Initiation Protocol, rom: Protocolul de iniiere a sesiunii), care este
descris n RFC 3261. Protocolul descrie configurarea apelurilor telefonice pe Internet, video confe-
rinele i alte conexiuni multimedia. Spre deosebire de H.323, care este o ntreag suit de protocoa-
le, SIP este un singur modul, dar a fost conceput pentru a conlucra bine cu aplicaiile Internet exis-
tente. De exemplu, definete numerele de telefon ca URL-uri, pentru a fi incluse n pagini Web,
permind ca un clic pe o legtur s iniieze un apel telefonic (asemntor, schema mailto permite
ca activarea unei hiper-legturi s deschid programul de trimitere al unui mesaj electronic).
SIP poate stabili sesiuni bilaterale (apeluri telefonice obinuite), sesiuni multilaterale (n care
oricine poate auzi i vorbi), i sesiuni cu transmisie multipl (un emitor, mai muli receptori). Sesi-
unile pot conine audio, video, sau date, ultimul fiind folositor de exemplu pentru jocuri cu mai muli
utilizatori n timp real. SIP se ocup doar cu configurarea, administrarea i terminarea sesiunilor.
Alte protocoale, ca RTP/RTCP, sunt utilizate pentru transportul datelor. SIP este un protocol de
nivel aplicaie i poate rula peste UDP sau TCP.
SIP suport o varietate de servicii, inclusiv localizarea apelatului (care poate nu este la calculato-
rul su de acas) i s determine capabilitile acestuia, precum i s trateze mecanismele de confi-
gurare i terminare. n cel mai simplu caz, SIP seteaz o sesiune de la calculatorul apelantului la cal-
culatorul apelatului, deci s tratm mai nti acest caz.
Numerele de telefon n SIP sunt reprezentate ca URL-uri utiliznd schema sip, de exemplu,
sip:ilse@cs.university.edu pentru utilizatorul ilse de pe calculatorul specificat de numele de DNS
cs.university.edu. URL-urile SIP pot conine adrese IPv4, IPv6, sau chiar numere de telefon.
Protocolul SIP este un protocol bazat pe text modelat n HTTP. Un capt trimite un mesaj n
text ASCII ce conine un nume de metod pe prima linie, urmat de linii adiionale ce conin antete
pentru transmiterea parametrilor. Multe dintre antete sunt luate din MIME pentru a permite proto-
colului SIP s conlucreze cu aplicaiile Internet existente. Cele ase metode definite de specificaia
de baz sunt enumerate n fig. 7-67.

Metoda Descriere
INVITE Cerere de iniiere a unei sesiuni
ACK Confirmare c o sesiune a fost iniiat
BYE Cerere de terminare a unei sesiuni
OPTIONS Interogarea unui calculator despre capabilitile sale
CANCEL Anularea unei cereri n ateptare
REGISTER Informarea unui server de redirecionare despre locaia curent a utilizatorului

Fig. 7-67. Metodele SIP definite n specificaia de baz.

Pentru stabilirea unei sesiuni, apelantul fie creeaz o conexiune TCP cu apelatul i trimite un
mesaj INVITE, fie trimite mesajul INVITE ntr-un pachet UDP. n ambele cazuri, antetele din a
SEC. 7.4 MULTIMEDIA 617

doua i urmtoarele linii descriu structura corpului mesajului ce conin capabilitile apelantului,
tipurile de mediu de transmisie i formatele. Dac cel apelat accept convorbirea, el rspunde cu un
cod de rspuns de tip HTTP (un numr de trei digii conform grupurilor din fig. 7-42, 200 pentru
acceptare). Dup linia cu codul de rspuns, apelatul poate de asemenea include informaii despre
capabilitile sale, tipurile de mediu de transmisie i formate.
Conexiunea este realizat prin mecanismul nelegerii n trei pai astfel c, pentru a ncheia pro-
tocolul, apelantul rspunde cu un mesaj de confirmare a recepionrii mesajului 200.
Oricare dintre cele dou capete pot cere terminarea sesiunii prin trimiterea unui mesaj coninnd
metoda BYE. Cnd cellalt capt trimite confirmarea primirii acestuia, sesiunea este terminat.
Metoda OPTIONS este utilizat pentru a interoga o main despre propriile sale capabiliti. Es-
te n general folosit nainte de iniierea unei sesiuni pentru a afla dac acea main este capabil de
transmisii de voce peste IP sau ce alt tip de sesiune este urmrit.
Metoda REGISTER se refer la abilitatea protocolului SIP de a urmri i a se conecta la un utili-
zator care nu este acas. Acest mesaj este trimis unui server de localizare SIP care ine o eviden a
locaiilor utilizatorilor. Acel server poate fi mai trziu interogat pentru a afla locaia curent a utiliza-
torului. Operaia de redirecionare este ilustrat n fig. 7-68. Aici, apelantul trimite un mesaj INVITE
unui server proxy pentru a ascunde posibila redirecionare. Proxy-ul caut apoi unde este utilizatorul
i i trimite un mesaj INVITE. Apoi se comport ca un intermediar pentru mesajele urmtoare n
nelegerea n trei pai. Mesajele LOOKUP i REPLY nu fac parte din SIP; orice protocol convenabil
poate fi utilizat, depinznd de tipul de server de localizare utilizat.



Fig. 7-68. Utilizarea unui proxy i servere de redirecionare cu SIP.

SIP are o varietate de alte caracteristici pe care noi nu le vom descrie aici, incluznd ateptarea
apelului, ecranarea apelului, criptare i autentificare. De asemenea, are abilitatea de a apela de la un
calculator, un telefon obinuit, dac este disponibil o poart de conversie corespunztoare ntre
Internet i sistemul telefonic.
Comparaie ntre H.323 i SIP
H.323 i SIP au multe puncte n comun, dar i diferene. Ambele protocoale permit apeluri bila-
terale i multilaterale folosind att calculatoare, ct i telefoane ca puncte finale. Ambele suport
negocierea parametrilor, criptarea i protocoalele RTP/RTCP. Un rezumat al acestor asemnri i
diferene este dat n fig. 7-69.

618 NIVELUL APLICAIE CAP. 7


Noiune H.323 SIP
Conceput de ITU IETF
Compatibilitate cu PSTN Da n mare parte
Compatibilitate cu Internet Nu Da
Arhitectura Monolitic Modular
Completitudine ntreaga stiv de protocoale SIP trateaz doar configurarea
Negocierea parametrilor Da Da
Semnalizarea apelului Q.931 peste TCP SIP peste TCP i UDP
Formatul mesajului Binar ASCII
Mediul de transmisie RTP/RTCP RTP/RTCP
Apeluri multilaterale Da Da
Conferine multimedia Da Nu
Adresare Calculator sau numr de telefon URL
Terminarea apelului Explicit sau eliberare TCP Explicit sau la expirarea timpului
Mesagerie imediat Nu Da
Criptare Da Da
Dimensiunea standardelor 1400 pagini 250 pagini
Implementare Mare i complex Moderat
Stare Larg rspndit Prezent i viitoare

Fig. 7-69. Comparaie ntre H.323 i SIP

Dei seturile de caracteristici sunt similare, cele dou protocoale difer mult n concepie. H.323
este un standard tipic, cu greutate, al industriei de telefonie, specificnd ntreaga stiv de protocoale
i definind exact ce este permis i ce este interzis. Abordarea duce la protocoale bine definite la fie-
care nivel, uurnd interoperabilitatea. Preul este un standard mare, complex i rigid, dificil de
adaptat la aplicaiile viitoare.
n contrast, SIP este un protocol tipic de Internet care lucreaz prin schimbul de linii scurte de
text ASCII. Este un modul uor care conlucreaz bine cu alte protocoale de Internet, dar mai puin
cu protocoalele de semnalizare din sistemul telefonic existent. Deoarece modelul IETF al vocii peste
IP este n mare msur modular, el este flexibil i poate fi adaptat cu uurin la noi aplicaii. Partea
neplcut este cea a potenialelor probleme de interoperabilitate, dei acestea sunt discutate n n-
tlniri frecvente unde diveri implementatori i testeaz mpreun sistemele.
Vocea peste IP este o tem prezent i viitoare. De aceea, deja exist cri pe aceast tem. C-
teva exemple sunt (Collins, 2001; Davidson i Peters, 2000; Kumar .a.., 2001; i Wright, 2001). Edi-
ia din mai/iunie 2002 a revistei Internet Computing are mai multe articole pe aceast tem.
7.4.6 Introducere la video
Pn acum am discutat urechea n detaliu; este timpul s ne mutm la ochi (nu, aceast seciune
nu este urmat de una despre nas). Ochiul uman are proprietatea c atunci cnd o imagine apare pe
retin, imaginea este pstrat acolo pentru cteva milisecunde. Dac o secven de imagini este de-
senat linie cu linie la 50 imagini/sec, ochiul nu observ c privete imagini discrete. Toate sistemele
video (de exemplu, televizorul) exploateaz acest principiu pentru a produce imagini n micare.
Sisteme Analogice
Pentru a nelege sistemele video, este bine s pornim de la 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
SEC. 7.4 MULTIMEDIA 619

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 att de camer ct i de receptor,
este prezentat n fig. 7-70. (Camerele CCD integreaz mai degrab dect scaneaz, dar unele came-
re i toate monitoarele scaneaz.)

Fig. 7-70. Modelul de scanare folosit pentru video i televiziunea NTSC.

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 scana-
re NTSC (i 576 din cele 625 de linii de scanare PAL/SECAM) sunt afiate. Raza este stins n tim-
pul 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.).
n 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 imaginea veche a fost
tears de pe retin naintea apariiei uneia 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 o
plpire la 25 de cadre/sec, ei nu o remarc la 50 de cadre/sec. Aceast tehnic este numit ntreesere
(interlacing). O televiziune sau video nentreesut este denumit progresiv (progressive). Observai
c filmele ruleaz la 24 fps, dar fiecare cadru este vizibil n totalitate pentru 1/24 sec.
Video-ul color folosete acelai model de scanare ca monocromul (alb i negru), cu excepia fap-
tului c n locul afirii unei imagini cu o singur raz mictoare, sunt folosite trei raze care se mic
620 NIVELUL APLICAIE CAP. 7


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 super-
poziia liniar a roului, verdelui i albastrului 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 necesitate politic a fost ca programele color s fie recepionate de
televizoarele existente alb-negru. n consecin, cea mai simpl schem, care codific separat semna-
lele 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 standar-
dului: 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, rom: culoare
secvenial cu memorie), sistem folosit n Frana i n rile din estul Europei, i PAL (Phase Alter-
nating Line, rom: 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 the 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, astfel nct ultimele nu trebuie transmise cu mare acuratee. Ca rezultat, semnalul lu-
minos poate fi difuzat la aceeai frecven ca i vechiul semnal alb-negru, aa nct poate fi recepio-
nat pe televizoarele existente alb-negru. Cele dou semnale de crominan sunt difuzate n benzi
nguste la frecvene nalte. Unele televizoare au butoane pentru controlul strlucirii, nuanei i satu-
rrii (sau strlucirii, tentei i culorii) pentru controlul separat al celor trei semnale. nelegerea lumi-
nanei i crominanei este vital pentru nelegerea modului n care funcioneaz compresia video.
n ultimii ani, a existat un interes considerabil pentru HDTV (High Definition TeleVision, rom:
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 incom-
patibile. V-ai fi ateptat la altceva? Principiile de baz ale HDTV-ului n termeni de scanare, lumi-
nan, crominan i altele, sunt similare sistemelor existente. Cu toate acestea, toate cele trei forma-
te 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, cu o rat de aspect de 3:2).
Sisteme digitale
Cea mai simpl reprezentare a video-ului digital este o secven de cadre, fiecare constnd dintr-
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 fotocopi-
ai o fotografie color la o main de copiat care nu rasterizeaz.)
SEC. 7.4 MULTIMEDIA 621

Urmtorul pas este de a folosi 8 bii pe pixel pentru a reprezenta 256 nivele de gri. Aceast
schem d o calitate ridicat video-ului alb-negru. Pentru video color, sistemele bune folosesc 8 bii
pentru fiecare din culorile RGB, dei aproape toate sistemele le amestec pentru transmitere ntr-un
video compus. n 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 sistemul analogic din fig. 7-70, 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 pu-
in 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 ne-
cesar 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 se-
cund, avnd n vedere c plpirea este determinat de numrul de ori pe secund n care este de-
senat ecranul. Aceti doi parametri sunt diferii. O imagine afiat la 20 de cadre/sec nu va arta dis-
torsionat, 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. Cele mai multe din monitoarele actuale folosesc rata
de aspect de 4:3, astfel nct pot folosi tuburile ieftine din producia destinat pieei televizoarelor.
Configuraiile obinuite sunt 1024x768, 1280x960, i 1600x1200. Chiar i cel mai mic dintre acestea
cu 24 bii pe pixel i 25 cadre/sec are nevoie s fie alimentat la 472 Mbps. Pentru aceasta ar fi nevoie
de un purttor SONET OC-12, i de altfel rularea unui purttor OC-9 SONET n casa fiecruia nu
este chiar la ordinea zilei. Dublarea acestei rate pentru a evita plpirea este chiar mai puin de do-
rit. O soluie mai bun este transmiterea a 25 cadre/sec pe care calculatorul s le memoreze i s le
afieze de 2 ori. Televiziunea obinuit nu folosete aceast strategie, deoarece televizoarele nu au
memorie. i chiar dac ar avea memorie, sistemele 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.4.7 Compresia video
Ar trebui s fie evident acum c transmisia materialului video n form necomprimat nu intr n
discuie. Singura speran este ntr-o compresie puternic. Din fericire, numeroase cercetri de cte-
va decenii au ajuns la mai multe tehnici de compresie i algoritmi care fac posibil transmisia de
multimedia. n aceast seciune vom studia cum este realizat compresia video.
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 denumii algoritmi
de codificare i decodificare. Vom folosi i aici aceast terminologie.
Aceti algoritmi prezint 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 vizuali-
zat de clieni). Aceast asimetrie nseamn c este acceptabil ca algoritmul de codificare s fie lent i
622 NIVELUL APLICAIE CAP. 7


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 videote-
c, dar a cere clienilor s nchirieze un supercalculator pentru 2 ore, pentru a vedea un film 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 s fie inversabil. Adic,
atunci cnd se comprim un fiier, acesta se transmite i apoi este decomprimat, utilizatorul atep-
tnd s-l obin pe cel original, exact pn la ultimul bit. Cu multimedia, aceast cerin nu exist.
De obicei, este acceptabil ca un semnal video, dup codificare i decodificare, 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.
Standardul JPEG
Un film este doar o secven de imagini (plus sunet). Dac am putea gsi un algoritm bun pentru
codificarea unei singure imagini, acest algoritm ar putea fi aplicat succesiv fiecrei imagini, pentru a
obine compresia video. Exist algoritmi buni de compresie a imaginii, deci s ncepem acolo studiul
nostru despre compresia video. Standardul JPEG (Joint Photographic Experts Group, rom: grupul
comun al experilor fotografi) pentru comprimarea imaginilor cu tonuri continue (de exemplu, foto-
grafii), a fost dezvoltat de experii n fotografii lucrnd sub auspiciile ITU, ISO i IEC, un alt orga-
nism 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 carac-
teristici 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 cumpr-
turi dect cu un simplu algoritm. Pentru scopurile noastre, doar modul secvenial cu pierderi este
relevant, iar acesta este ilustrat n fig. 7-71. 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.

Fig. 7-71. Funcionarea JPEG n modul secvenial cu pierderi.

Pasul 1 de codificare a imaginii cu JPEG este pregtirea blocului. Pentru specificare, s presupu-
nem c intrarea JPEG este o imagine RGB de 640x480 cu 24 bii/pixel, ca n fig. 7-72(a). Deoarece
folosirea luminanei i crominanei d o mai bun compresie, vom calcula mai nti luminana, Y, i
cele dou crominane, I i Q (pentru NTSC), dup formulele urmtoare:

SEC. 7.4 MULTIMEDIA 623


Fig. 7-72. (a) Date de intrare RGB. (b) Dup pregtirea blocului.

Y = 0,30R + 0,59G + 0,11B
I = 0,60R - 0,28G - 0,32B
Q = 0,21R - 0,52G + 0,31B

Pentru PAL, crominanele sunt notate cu U i V i coeficienii difer, dar ideea este aceeai. SE-
CAM difer att de NTSC ct i de PAL.
Pentru Y,I i Q sunt construite matrice separate, fiecare cu elemente ntre 0 i 255. Apoi, blocuri
ptrate de patru pixeli sunt aranjate n matricele I i Q pentru a le reduce la 320x240. Aceast redu-
cere este cu pierderi, dar ochiul abia dac observ, deoarece el rspunde la luminan mai mult de-
ct la crominan. Cu toate acestea, ntreaga cantitate de date este comprimat cu un factor de doi.
Acum se scade 128 din fiecare element al celor trei matrice pentru a aduce zero la mijlocul intervalu-
lui. 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-72(b).
Pasul 2 al lui JPEG const n a aplica separat un DCT (Discrete Cosine Transformation, rom:
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. Cele-
lalte 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 transcendente
introduce ntotdeauna erori de rotunjire care conduc la o mic 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-73.


Fig. 7-73. (a) Un bloc al matricei Y. (b) Coeficienii DCT.
624 NIVELUL APLICAIE CAP. 7


Odat ce DCT-ul este complet, JPEG trece la pasul 3, numit cuantificare (quantization), n care
coeficienii DCT cei mai puin importani sunt eliminai. Aceast transformare (cu pierderi) este
fcut prin mprirea fiecrui coeficient din matricea DCT de 8*8 la 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 prezentat n fig. 7-74. 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. Fie-
care aplicaie trebuie s i le furnizeze, permind s se controleze raportul compresie/pierderi.


Fig. 7-74. Calculul coeficienilor DCT cuantificai.

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 res-
pectivelor blocuri, ele trebuie s se modifice lent, astfel nct considerarea valorilor difereniale ar
trebui s reduc majoritatea dintre ele la valori mici. Diferenele nu sunt calculate din celelalte va-
lori. Valorile (0,0) sunt numite componente DC; celelalte valori sunt componente AC.
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, ca n fig. 7-75. n acest exemplu, modelul n zig-
zag produce 38 de 0-uri consecutive la sfritul matricei. Acest ir poate fi redus la un singur numr
spunnd c sunt 38 de 0-uri, tehnic cunoscut sub numele de codificare dup lungimea succesiuni-
lor (run-length encoding).
Acum avem o list de numere care reprezint imaginea (n spaiu transformat). Pasul 6, Huf-
fman, codific numerele pentru memorare sau transmitere, atribuind numerelor mai des ntlnite
coduri mai scurte dect ale celorlalte numere.

SEC. 7.4 MULTIMEDIA 625


Fig. 7-75. Ordinea de transmitere a valorilor cuantificate.

JPEG poate prea complicat, aceasta pentru c el este cu adevrat complicat. Chiar i aa, deoa-
rece produce o compresie de 20:1 sau mai bun, este larg folosit. Decodificarea unei imagini JPEG
cere execuia algoritmului n sens invers. JPEG este aproape simetric: decodificarea ia acelai timp
ca i codificarea. Aceast proprietate nu este adevrat pentru toi algoritmii de compresie, aa cum
vom vedea acum.
Standardul MPEG
n fine, ajungem la miezul lucrurilor: standardele MPEG (Motion Picture Experts Group, rom:
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 poa-
te comprima pe amndou. Am studiat deja compresia audio i a imaginilor, deci s examinm
acum compresia video.
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. O imagine 352x240 cu 24 bii/pixel i 25 cadre/sec are nevoie de 50,7 Mbps, deci redu-
cerea lui la 1,2 Mbps nu este n ntregime trivial. MPEG-1 poate fi transmis pe linii torsadate la
distane modeste. MPEG-1 este de asemenea folosit pentru memorarea filmelor pe CD-ROM.
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, pentru a se potrivi
ntr-un canal de difuzare NTSC sau PAL. Mai trziu, MPEG-2 a fost extins pentru a suporta rezoluii
nalte, incluznd HDTV. Este foarte cunoscut, el stnd la baza DVD-ului i a televiziunii prin satelit.
Principiile de baz ale 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. Vom discuta mai nti MPEG-1 i apoi MPEG-2.
MPEG-1 are trei pri: audio, video i sistem, care le integreaz pe celelalte dou, ca n fig. 7-76.
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 afi-
eaz 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 i audio.
626 NIVELUL APLICAIE CAP. 7



Fig. 7-76. Sincronizarea fluxurilor audio i video n MPEG-1.

Acum s considerm compresia video MPEG-1. Exist dou feluri de redundan n filme: spai-
al i temporal. MPEG-1 le folosete pe amndou. Redundana spaial poate fi folosit prin sim-
pla 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, n general, cadrele consecu-
tive 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 sce-
nele). 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 fixe 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 eueaz. 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 (Bidirectional): 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. n primul rnd, MPEG-1 poate fi
folosit pentru o transmisie cu trimitere multipl, cu vizualizatori care le acordeaz dup dorin. Da-
c 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.
SEC. 7.4 MULTIMEDIA 627

Un exemplu unde se folosesc cadrele P este redat n fig. 7-77. Aici vedem trei cadre consecutive
care au acelai fundal, dar difer prin poziia unei persoane. Macroblocurile care conin scena fun-
dalului 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.

Fig. 7-77. Trei cadre consecutive.

Standardul MPEG-1 nu specific cum trebuie fcut 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 x pe direcia x i y pe direcia y. Pentru fiecare poziie, poate fi
calculat numrul de potriviri n matricea de luminan. 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.
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 de diferene sunt apoi
subiectul unei transformri cosinusoidale discrete, sunt cuantificate, codificate cu lungimea succesi-
unilor 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 di-
recie), urmat de lista de numere codificat Huffman. 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 ul-
tim macrobloc, oriunde s-ar fi micat acesta. 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 algoritmul de cutare folosit, ieirea final este ori
codificarea JPEG a macroblocului curent, ori codificarea JPEG a diferenei ntre macroblocul cu-
rent 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 decodifi-
carea imaginilor JPEG. Decodificarea cadrelor P cere decodificatorului s memoreze cadrul prece-
dent 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 com-
pensare mbuntit a micrii i este de asemenea util atunci cnd obiectele trec naintea sau n
628 NIVELUL APLICAIE CAP. 7


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 com-
presie, 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 codifi-
care ulterioar, fcnd uoar afiarea n timp-real. Aceast facilitate este important pentru a per-
mite 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 folosete un bloc de 10x10 n loc de 8x8, pentru a avea cu 50%
mai muli coeficieni i implicit o calitate mai bun. Deoarece este destinat televiziunii i DVD-ului,
MPEG-2 suport att imagini progresive ct i ntreesute, n timp ce MPEG-1 suport doar imagini
progresive. Mai sunt i alte detalii minore care difer n cele dou standarde.
n loc de a suporta un singur nivel de rezoluie, MPEG-2 suport patru: sczut (352x240), princi-
pal (720x480), nalt-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. Pentru o calitate foarte bun a ieirii, MPEG-2 ruleaz n general la 4-8 Mbps.
7.4.8 Video la cerere
Mecanismul de video la cerere este cteodat comparat cu un magazin de nchiriere a casetelor
video. Utilizatorul (clientul) selecteaz una dintr-un numr mare de casete video pe care le are la dis-
poziie i o ia acas pentru vizionare. Doar c pentru video la cerere, selecia este fcut acas folo-
sind telecomanda televizorului i caseta video ncepe imediat. Nu este necesar un drum pn la maga-
zin. Este inutil s spunem c implementarea video-ului 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.
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 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 la baie i apoi s continue din locul n care ca-
seta 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
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 utili-
SEC. 7.4 MULTIMEDIA 629

zatori 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.
Urmrirea filmelor (aproape) la cerere este numai unul dintr-o gam larg de noi servicii posibi-
le de cnd este disponibil reeaua n band larg. Modelul general pe care muli l folosesc este ilus-
trat n fig. 7-78. 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 loca-
l ajung n casele oamenilor, unde se opresc n cutii de conectare (set-top boxes), care sunt, de fapt,
calculatoare personale specializate.

Fig. 7-78. Vedere general a unui sistem video la cerere.

Mii de furnizori de informaie sunt ataai la coloana vertebral prin fibre optice de lrgime de
band mare. Unii dintre acetia vor oferi video cu plata-pe-vizualizare sau CD audio cu plata-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, relu-
rile la I Love Lucy, accesul la WWW i nenumratele alte posibiliti.
n sistem sunt incluse i servere locale care permit ca video-urile s fie amplasate mai aproape de
utilizatori (n avans), pentru a economisi lrgimea de band n timpul orelor de vrf. Cum se vor po-
trivi una cu alta aceste piese i cui vor aparine se va dezbate destul n industrie. n cele ce urmeaz,
vom examina cum sunt create piesele principale din sistem: serverele video i reeaua de distribuie.
Video-Servere
Pentru a avea video (aproape) la cerere, avem nevoie de video-servere (video servers) capabile s
memoreze i 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
630 NIVELUL APLICAIE CAP. 7


jur de 4 GB, aa c 65.000 de filme ar necesita n jur de 260 teraoctei. Adugai la aceasta toate pro-
gramele vechi de televiziune care au fost vreodat realizate, filmele de sport, jurnalele sonore, cata-
loagele vorbitoare pentru cumprturi etc. i este clar c ne confruntm cu o problem de nmagazi-
nare foarte dificil.
Cea mai ieftin soluie pentru memorarea unui volum mare de informaie este pe band magne-
tic. Acesta a fost mereu cazul i probabil va continua s fie. O band Ultrium poate memora 200
GB (50 filme) la un cost de circa 1 - 2 dolari/film. 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 50-lea 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 or-
ganizaii arat c nu toate produsele sunt la fel de populare. Experimental, atunci cnd sunt disponi-
bile N filme, fracia tuturor cererilor pentru filmul care ocup locul k n topul popularitii este de
aproximativ C/k. 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 ierar-
hiei de memorare, aa cum se arat n fig. 7-79. Aici, performana crete cu ct se urc n ierarhie.

RAM
Disc magnetic
DVD
Arhiv pe band magnetic

Fig. 7-79. Ierarhia video-serverului de memorare.

O alternativ la nregistrarea pe band este memoria optic. DVD-urile actuale memoreaz 4.7
GB, suficieni pentru un film, dar urmtoarea generaie va pstra dou filme. Dei timpii de cutare
sunt mici n comparaie cu discurile magnetice (50 ms fa de 5 ms), costul lor sczut i fiabilitatea
ridicat fac din tonomatele optice care conin mii de DVD-uri o alternativ bun fa de band n
cazul filmelor cel mai mult folosite.
Urmeaz discurile magnetice. Acestea au timp de acces mic (5 ms), viteza de transfer mare (320
MB/sec pentru SCSI 320), i capaciti substaniale (> 100 GB), care le fac potrivite pentru memo-
rarea filmelor care sunt transmise efectiv (spre deosebire de simpla memorare pentru cazul c cine-
va ar dori vreodat s le vad). Marele lor inconvenient este costul ridicat pentru memorarea filme-
lor care sunt rar accesate.
n vrful piramidei din fig. 7-79 este RAM. RAM-ul este cel mai rapid mediu de stocare, dar i
cel mai scump. Atunci cnd preurile la RAM ajung la 50 dolari/gigaoctet, un film de 4 GB va ocupa
RAM n valoare de 200 dolari, aa c, existena a 100 de filme n RAM va costa 20.000 dolari pentru
200 GB de memorie. n plus, ideea unui video-server care transmite 100 de filme, pstrndu-le pe
SEC. 7.4 MULTIMEDIA 631

toate n RAM, ncepe s devin realizabil. i dac video-serverul are 100 de clieni, dar ei se uit
simultan doar la 20 de filme diferite, ideea ncepe s par realizabil, avnd un concept bun.
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-80. Serverul are una sau mai multe uniti centrale 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
SONET sau ATM la viteza unui OC-12 sau mai ridicat. Aceste subsisteme sunt conectate printr-o
magistral de foarte mare vitez (cel puin de 1 GB/sec).
RAM
local
RAM
local
Memorie
principal
Memorie
cache(RAM)
pentru filme
Controler
de band
magnetic
Controler
de disc
optic
Controler
de disc
magnetic
Interfat
de retea
Arhiv benzi Tonomat optic RAID
Ctre
coloana
vertebral
. . .
Magistral
de vitez mare
CPU CPU

Fig. 7-80. Arhitectura hardware a unui video-server tipic.

Acum s inspectm programele pentru video-server. Unitile centrale sunt folosite pentru ac-
ceptarea cererilor utilizatorilor, localizarea filmelor, mutarea datelor ntre echipamente, taxarea
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 sim-
ple, 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 compli-
caiile 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 serveru-
lui 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.
632 NIVELUL APLICAIE CAP. 7


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. n ca-
zul 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 (Re-
dundant 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 - 1. Dup aceasta, ciclul se repet, cu blocul n pe unitatea 0 i
aa mai departe. Aceast organizare este numit repartizare (striping).
Un tablou 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 date-
lor 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 tablou 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.
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. Doar acum civa ani, aceasta necesita algoritmi
compleci de planificare a sarcinilor, dar odat cu scderea preurilor la memorie, ncep s devin
posibile abordri mult mai simple. Pentru fiecare flux servit, este pstrat n RAM o zon tampon
(buffer) de, s zicem, 10 secunde de flux video (care nseamn un spaiu ocupat de 5 MB). El este
completat de un proces al discului i golit de un proces al reelei. Cu 500 MB de RAM, pot fi servite
100 de fluxuri direct din RAM. Desigur, subsistemul discului trebuie s aib o rat susinut de
50MB/sec pentru a pstra zonele tampon pline, dar un RAID construit din discuri SCSI de ultim
generaie poate s ndeplineasc uor aceast cerin.
Reeaua de distribuie
Reeaua de distribuie este un set de comutatoare i linii ntre surs i destinaie. Aa cum vedem
n fig. 7-78, ea const dintr-o coloan vertebral conectat la o reea de distribuie local. n mod
obinuit, coloana vertebral este comutat, dar reeaua local nu.
Principala cerin impus coloanei vertebrale este lrgimea de band mare. O alt cerin era ca
fluctuaia s fie sczut, ns acum, chiar i cu cel mai mic PC este posibil stocarea ntr-un tampon a 10
secunde de video de nalt calitate MPEG-2 i prin urmare, fluctuaia sczut nu mai este o necesitate.
Distribuia local este haotic, 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. n consecin asistm la o proliferare a tehnologiilor insta-
late. n Japonia, unele companii de canalizare au intrat n afacerea Internet, susinnd c ele au cele
mai mari evi n casele tuturor (introduc fibr optic prin ele, dar trebuie s fie foarte atente pe unde
o scot). 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.
SEC. 7.4 MULTIMEDIA 633

ADSL a fost primul reprezentant al industriei telefonice n loteria distribuiei locale. Am studiat
ADSL n cap. 2 i nu vom repeta acel material aici. Ideea este c fiecare cas din Statele Unite, Euro-
pa 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. Filmele color, de nalt rezoluie, necesit 4-8 Mbps, de-
pinznd de calitatea dorit. ADSL nu este suficient de rapid dect pentru bucle locale scurte.
Al doilea proiect al companiei telefonice este FTTC (Fiber To The Curb - fibr ctre vecintate).
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). Cele 16
bucle locale de cupru se pot termina n ONU. Aceste bucle sunt acum att de scurte, nct este posi-
bil rularea duplex integral T1 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 nu-
mete 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. n fig. 7-63 am vzut cum oricine ar putea s
aib propriul su post de radio. Ce-ai zice de ideea ca fiecare membru al familiei s aib propriul
post de televiziune? ADSL, FTTC i FTTH sunt toate 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 so-
luia preferat actualmente, fiind instalat n prezent de ctre firmele de televiziune prin cablu.
Aceasta este prezentat n Fig. 2-47(a). Povestea este 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. aptezeci i cinci din cele 125 de canale vor fi folosi-
te 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 doar 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 un film MPEG-2.
Dei sun minunat, cere furnizorilor de cabluri s le nlocuiasc pe cele existente cu cabluri coa-
xiale de 750 MHz, s instaleze noile capete de distribuie i s elimine toate amplificatoarele unidi-
recionale - pe scurt, s nlocuiasc ntregul sistem de TV prin cablu. n consecin, volumul de in-
frastructur 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. n 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 parta-
jat 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-l poat vedea. Operatorii FTTC nu doresc criptarea deoarece mrete complexitatea, scade per-
634 NIVELUL APLICAIE CAP. 7


formana i nu furnizeaz securitate suplimentar n sistemul lor. Din punctul de vedere al unei com-
panii care ruleaz un video-server, este o bun idee s se cripteze sau nu? Un server folosit de o com-
panie 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 posibil 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 reduc ncrcarea
coloanei vertebrale.
Ele pot fi prencrcate cu filme fie dinamic, fie prin rezervare. Dac oamenii spun furnizorului n
avans ce filme doresc, ele pot fi transferate pe serverul local n afara orelor de vrf. 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 viziona-
te marea sau joia nainte de 6 seara sau dup 11 seara, primesc o reducere de 27 la sut. Filmele co-
mandate n 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.
7.4.9 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 i cum funcioneaz.
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 ope-
raional de la nceputul lui 1992. Multe conferine tiinifice, n special ntlniri IETF, au fost difuza-
te, la fel ca i evenimentele tiinifice notabile, cum ar fi lansarea navetelor spaiale. Prin MBone a
fost difuzat un concert Rolling Stones, precum i poriuni din Festivalul de film de la Cannes. Este
discutabil dac acesta poate fi calificat drept un eveniment tiinific.
Din punct de vedere tehnic, MBone este o reea virtual situat deasupra Internet-ului. Ea con-
st din insule cu posibiliti de trimitere multipl, conectate prin tuneluri, aa cum se arat n fig. 7-
81. n aceast figur, MBone const din ase insule, de la A la F, conectate prin apte tuneluri. Fieca-
re insul (de obicei un LAN sau un grup de LAN-uri interconectate) suport trimitere multipl har-
dware ctre calculatoarele gazd. Tunelurile propag pachetele MBone ntre insule. Cndva, n vii-
tor, 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 m-rutere (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 conec-
tate logic prin tuneluri. Pachetele MBone sunt ncapsulate n pachete IP i trimise ca pachete obi-
nuite cu trimitere unic la adresa IP a m-ruterului destinaie.
Tunelurile sunt configurate manual. n mod uzual, un tunel este o cale pentru care exist o cone-
xiune fizic, dar aceasta nu este o cerin. Dac, accidental, calea fizic asociat unui tunel se defec-
teaz, m-ruterele care folosesc tunelul nu vor observa, deoarece Internet-ul va redirija automat n-
tregul trafic IP dintre ele prin alte linii.
SEC. 7.4 MULTIMEDIA 635



Fig. 7-81. MBone const din insule de trimitere multipl conectate prin tunele.

Atunci cnd apare o nou insul i dorete s se ataeze la MBone, precum G din fig. 7-81, admi-
nistratorul su trimite un mesaj anunnd existena acesteia ctre lista de pot a MBone-ului. Admi-
nistratorii 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 urme-
lor, 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 verte-
bral cu insule regionale ataate acesteia. n 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 alctuit 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 subreele 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 vecto-
rul distanelor) bazat pe algoritmul vectorului distanelor al lui Bellman-Ford. De exemplu, n fig. 7-
81, 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 A 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
destinaie multipl de clas D, care acioneaz ca o frecven de staie sau un numr de canal. Adre-
sele 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 calcula-
tor 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
636 NIVELUL APLICAIE CAP. 7


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 trans-
mitere 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-81, dac tabela lui C spune s se foloseasc B pentru a ajunge la A,
atunci cnd un pachet cu trimitere multipl de la A 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 In-
ternet-ului i pentru a limita domeniul trimiterii multiple, este folosit cmpul IP Time_to_live (timp
de via). Fiecare pachet pleac cu o anumit valoare (determinat de surs). Fiecrui tunel i se aso-
ciaz o pondere. Un pachet este trecut printr-un tunel dac are o pondere suficient. Altfel este eli-
minat. 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 ponde-
rea tunelului.
De cnd funcioneaz algoritmul de dirijare MBone, s-au fcut multe cercetri pentru a-l mbu-
nti. 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 modifica-
rea OSPF pentru a-l 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 topologie complet,
este uor s calculm cea mai bun cale de la fiecare insul ctre fiecare alt insul folosind tuneluri-
le. De exemplu, poate fi folosit algoritmul lui Dijkstra.
A doua arie de cercetare este dirijarea inter-AS. Aici un alt grup de lucru IETF dezvolt un algo-
ritm numit PIM (Protocol Independent Multicast - transmitere multipl independent de protocol).
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-DM (modul dens), ideea este de a tia cile inutile. Tierea funcioneaz n modul ur-
mtor. 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 de la sursa
SEC. 7.5 REZUMAT 637

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-SM (modul rar), descris n RFC 2362, lucreaz diferit. Aici ideea este de a preveni satura-
rea Internetului, doar pentru c trei persoane din Berkeley vor s in o conferin peste o adres de
clas D. PIM-SM funcioneaz prin fixarea unor puncte de ntlnire. Fiecare dintre sursele dintr-un
grup cu trimitere multipl PIM-SM 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-SM este
transportat prin transmitere simpl, n loc de transmitere multipl. PIM-SM devine tot mai popular
i MBONE migreaz ctre folosirea lui. Pe msur ce PIM-SM devine mai mult folosit, MOSPF
dispare treptat. Pe de alt parte, nsui MBONE pare ntr-un fel s stagneze i probabil niciodat nu
va deveni foarte popular.
Totui, multimedia prin reea este nc un domeniu foarte interesant, care evolueaz rapid, chiar
dac MBONE nu devine un succes uria. Zilnic sunt anunate noi tehnologii i aplicaii. Mai mult,
transmiterea multipl i calitatea serviciului funcioneaz mpreun, dup cum se prezint n
(Striegel i Manimaran, 2002). Alt subiect fierbinte este transmisia multipl fr fir (wireless) (Gos-
sain et. al., 2002). ntregul domeniu al transmisiunilor multiple i orice este legat de el va rmne,
probabil, important pentru urmtorii ani.


7.5 REZUMAT
Atribuirea numelor n Internet folosete o schem ierarhic, numit sistemul numelor de dome-
nii (DNS). La nivelul superior, exist bine cunoscutele domenii generice, incluznd com i edu, pre-
cum i cele aproximativ 200 domenii pentru ri. DNS este implementat ca un sistem de baze de
date distribuite, cu servere n ntreaga lume. DNS pstreaz nregistrri cu adrese IP, centre de me-
sagerie i alte informaii. Prin interogarea unui server DNS, un proces poate stabili corespondena
dintre un nume de domeniu Internet i o adres IP folosit pentru a comunica cu acel domeniu.
E-mail este una din cele dou aplicaii foarte populare din Internet. Oricine, de la copii la bunici,
o poate folosi acum. Cele mai multe sisteme de pot electronic din lume folosesc sistemul definit
n RFC 2821 i 2822. Mesajele trimise n acest sistem folosesc antete de sistem ASCII pentru defini-
rea proprietilor mesajului. Materiale cu diverse tipuri coninut pot fi transmise folosind MIME.
Mesajele sunt transmise folosind SMTP, care lucreaz fcnd o conexiune TCP de la sistemul surs
la cel de destinaie i livrnd n mod direct e-mail-ul peste conexiunea TCP.
O alt aplicaie foarte popular pentru Internet este World Wide Web. Web-ul este un sistem
pentru legarea documentelor "hipertext". Iniial, fiecare document era o pagin scris n HTML, cu
posibile hiper-legturi la alte documente. Azi, XML ctig teren n faa HTML. De asemenea, un
mare volum de informaie este generat dinamic, folosind script-uri executate de server (eng.:server-
side scripts) (PHP, JSP i ASP), precum i script-uri executate de client (eng.: client-side scripts) (de
remarcat aici Javascript). Un program de navigare poate afia documentul stabilind o conexiune
TCP cu serverul su, cernd documentul i apoi nchiznd conexiunea. Aceste mesaje de cerere con-
in o mulime de antete pentru asigurarea informaiei suplimentare. Folosirea memoriei ascunse,
638 NIVELUL APLICAIE CAP. 7


replicarea i reelele de livrare a coninutului sunt folosite pe scar larg pentru a mbunti per-
formanele Web-ului.
Web-ul fr fir este de-abia la nceput. Primele sisteme sunt WAP i i-mode, fiecare cu ecrane
mici i lungime de band limitate, dar cele din generaia urmtoare vor fi mai puternice.
Multimedia este i ea o stea pe firmamentul reelelor. Se permite ca semnalele video i audio s
fie digitizate i transportate electronic pentru afiare. Audio necesit mai puin lrgime de band,
astfel c este mai avansat. Fluxurile audio, radio prin Internet i vocea prin IP (voice over IP) sunt
acum o realitate, iar noile aplicaii apar permanent. Video la cerere este un domeniu de viitor, de
mare interes. n sfrit, Mbone este un serviciu experimental, bazat pe televiziunea i radioul digital
trimise peste Internet.


7.6 PROBLEME
1. Multe calculatoare ale unor firme au trei identificatori universali, unici. Care sunt ei?
2. Dup informaiile date n fig. 7-3, little-sister.cs.vu.nl se afl ntr-o reea de clas A, B, sau C?
3. n fig. 7-3, nu este nici un punct dup rowboat? De ce nu?
4. Ghicii ce ar putea s nsemne smiley-ul :-X (uneori scris ca :-#).
5. DNS folosete UDP n loc de TCP. Pachetele DNS pierdute nu pot fi recuperate automat. Cau-
zeaz acest lucru probleme, i dac da, cum sunt ele rezolvate?
6. n plus fa de problema pierderilor, pachetele UDP au o dimensiune maxim, uneori
ajungnd chiar la minimum 576 octei. Ce se ntmpl cnd numele DNS cutat depete
aceast dimensiune? Poate fi trimis n dou pachete?
7. Se poate ca o main cu un singur nume DNS s aib mai multe adrese IP? Cum ar putea
s se ntmple acest lucru?
8. Este posibil ca un calculator s aib dou nume DNS care aparin de dou domenii de nivel
nalt? Dac da, dai un exemplu plauzibil. Daca nu, explicai de ce.
9. Numrul de companii cu site Web a crescut exploziv n ultimii ani. Ca rezultat, mii de companii
au fost nregistrate n domeniul com, ducnd la o ncrcare mare a serverului pentru acest do-
meniu. Sugerai o cale de a diminua aceast problem fr a schimba schema de nume (adic
fr a introduce noi domenii de nivel nalt). Este permis ca soluia s impun schimbarea codu-
lui de la client.
10. Unele sisteme de e-mail suport n antet cmpul Content Return:. El specific dac corpul mesa-
jului trebuie s fie returnat n cazul imposibilitii livrrii. Acest cmp aparine plicului sau con-
inutului?
SEC. 7.6 PROBLEME 639

11. Sistemele de pot electronic au nevoie de registre pentru a putea cuta adresele de e-mail.
Pentru a construi asemenea registre, numele ar trebui s fie separate n componentele standard
(de exemplu nume, prenume) pentru a putea fi fcute cutri. Discutai unele dintre probleme-
le ce trebuie rezolvate pentru acceptarea universal a unui astfel de standard.
12. Adresa de e-mail a unei persoane este numele su de utilizator @ numele DNS cu o nregistra-
re MX. Numele de utilizator pot fi prenume, nume, iniiale, tot felul de alte nume. S presupu-
nem c o firm mare a decis c se pierdea prea mult e-mail din cauz c lumea nu cunotea
numele de utilizator al destinatarului. Exist vreo modalitate pentru ca ei s rezolve aceast pro-
blem fr schimbarea DNS-ului? Dac da, dai o propunere i explicai cum funcioneaz. Da-
c nu, explicai de ce este imposibil.
13. 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 octei transmii i la sfrit?
14. Considerai schema de codificare MIME afiabil-marcat. Menionai o problem nediscutat
n text i propunei o soluie.
15. Dai cinci tipuri MIME care nu sunt listate n text. Putei s verificai browser-ul dvs. sau s cu-
tai pe Internet.
16. S presupunem c vrei s trimitei un fiier MP3 la un prieten, dar ISP-ul prietenului limiteaz
dimensiunea unui mesaj la 1 MB iar fiierul MP3 are 4 MB. Exist vreo modalitate de a rezolva
problema aceasta folosind RFC 822 i MIME?
17. S presupunem c cineva instaleaz un demon de vacan (vacation daemon) i apoi trimite un
mesaj chiar nainte de a iei din sistem. Din pcate, destinatarul este n vacan de o sptmn
i are de asemenea instalat un demon de vacan. Ce se ntmpl n continuare? Replicile vor fi
trimise dintr-o parte n alta pn cnd se va ntoarce cineva?
18. n orice standard, ca de exemplu RFC 822, este necesar o gramatic precis a ceea ce
este permis astfel nct implementri diferite s poat conlucreze. Chiar i unitile simple
trebuie s fie definite cu atenie. Antetele SMTP permit existena spaiului ntre simboluri.
Dai dou definiri plauzibile ale spaiului dintre simboluri.
19. Demonul de vacan este parte a agentului utilizator sau a agentului de transfer? Desigur, este
instalat folosind agentul utilizator, dar cel care trimite replicile este chiar agentul utilizator? Ex-
plicai rspunsul.
20. POP3 permite utilizatorilor s aduc mesajele de e-mail dintr-o cutie potal de la distan.
Aceasta nseamn c formatul intern al cutiilor potale trebuie s fie standard pentru ca orice
program POP3 de la client s poat s citeasc cutia potal de pe orice server de pot electro-
nic? Discutai rspunsul.
21. Din punctul de vedere al unui ISP, POP3 i IMAP difer ntr-o msur important. Utilizatorii
POP3 i golesc n general cutiile potale zilnic. Utilizatorii IMAP i pstreaz mesajele pe ser-
ver un timp nedefinit. Imaginai-v c vi se cere s sftuii un ISP ce protocol ar trebui s supor-
te. Ce argumente ai aduce?
640 NIVELUL APLICAIE CAP. 7


22. Pota pe Web(Webmail) folosete POP3, IMAP sau nici unul? Dac folosete unul din ele, de
ce a fost ales acela? Dac nici unul, care este mai aproape de idee?
23. Cnd sunt transmise, paginile de Web sunt prefixate de antete MIME. De ce?
24. Cnd sunt necesare programe de vizualizare externe? Cum tie un program de navigare pe care
s-l foloseasc?
25. Este posibil ca atunci cnd un utilizator urmeaz pe o hiper-legtur n Netscape, s fie pornit
un anumit program, iar urmnd aceeai hiper-legtur n Internet Explorer s fie pornit un pro-
gram complet diferit, chiar dac tipul MIME ntors n ambele cazuri este identic? Explicai rs-
punsul.
26. Un server Web cu mai multe fire de execuie este organizat ca n fig. 7-21. Dureaz 500 sec s
accepte o cerere i s verifice memoria ascuns. Jumtate din timp, fiierul este gsit n memoria
ascuns i este ntors imediat. Cealalt jumtate, modulul trebuie s se blocheze 9 ms pn cnd
cererea la disc este adugat n coad i procesat. Cte module ar trebui s aib serverul pen-
tru a ine procesorul ocupat tot timpul (presupunnd c discul nu reprezint o gtuire
(bottleneck))?
27. URL-ul standard http presupune c serverul de Web ascult pe portul 80. Totui, e posibil ca un
server de Web s asculte pe alt port. Nscocii o sintax rezonabil pentru URL pentru accesa-
rea unui fiier pe un port nestandard.
28. Cu toate c nu a fost menionat n text, o form alternativ pentru un URL este folosirea adre-
sei IP n loc de numele su DNS. Un exemplu de folosirea a adresei IP este
http://192.31.231.66/index.html. Cum tie programul navigator dac numele ce urmeaz schema
este un nume DNS sau o adres IP?
29. Imaginai-v c cineva de la Departamentul CS din Stanford a scris un nou program pe care
vrea s-l distribuie prin FTP. El pune programul n catalogul ftp/pub/freebies/newprog.c. Care es-
te URL-ul probabil pentru acest program?
30. n fig. 7-25, www.aportal.com ine evidena preferinelor utilizatorilor ntr-un cookie. Un dez-
avantaj al acestei scheme este c cookie-urile sunt limitate la 4KB i dac preferinele sunt ex-
tinse, de exemplu la multe valori ale aciunilor, echipe sportive, tipuri de tiri, vremea n multe
orae, ofertele din diverse categorii de produse i altele, limita de 4KB ar putea fi insuficient.
Proiectai o alternativ pentru pstrarea preferinelor utilizatorului pentru a nu avea aceast
problem.
31. Banca Sloth (Trndvie) dorete s fac operaiile bancare mai simple pentru utilizatorii mai
lenei, astfel nct dup ce un utilizator se autentific, banca i returneaz identificatorul de cli-
ent ntr-un cookie. Ce prere avei de aceast idee? Va funciona? Este o idee buna?
32. n fig. 7-26, n marcajul <IMG> apare parametrul ALT. n ce condiii este folosit de programul
de navigare i cum?
33. Realizai o imagine selectabil n HTML? Dai un exemplu.
SEC. 7.6 PROBLEME 641

34. Artai cum marcajul <a> poate fi folosit pentru a face irul ACM un hiper-legturi ctre
http://www.acm.org.
35. Proiectai un formular pentru o nou companie, InterBurger, care permite comanda hamburge-
rilor prin Internet. Formularul trebuie s conin numele clientului, adresa, oraul, ca i o opiu-
ne 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.
36. Proiectai un formular care cere utilizatorului s tasteze dou numere. Cnd utilizatorul apas
pe butonul de trimitere, serverul ntoarce suma lor. Scriei partea care ruleaz la server ca un
script PHP.
37. Pentru fiecare din aplicaiile urmtoare, spunei (1) dac este posibil i (2) dac este mai bine s
se foloseasc un script PHP sau JavaScript i de ce.
(a) Afiarea unui calendar pentru orice lun ncepnd cu septembrie 1752.
(b) Afiarea unui program al zborurilor de la Amsterdam la New York.
(c) Graficul unui polinom cu coeficienii dai de utilizator.
38. Scriei un program JavaScript care accept un ntreg mai mare ca 2 i spune dac este, sau nu,
un numr prim. Notai c JavaScript are instruciunile if i while cu aceeai sintax ca n C sau
Java. Operatorul modul este %. Dac avei nevoie de rdcina ptrat a lui x, folosii
Math.sqrt(x).
39. O pagin HTML este de forma:
<html> <body>
<a href=www.info-source.com/welcome.html> Apsai aici pentru informaii </a>
</body> </html>
Dac utilizatorul apas pe hiper-legtur, este deschis o conexiune TCP i este trimis o serie
de linii la server. Scriei toate liniile trimise.
40. Antetul If-Modified-Since poate fi folosit pentru a vedea dac o pagin din memoria ascuns este
nc valid. Cererile pot fi pentru pagini coninnd imagini, sunete, video etc., precum i HTML.
Credei c eficacitatea acestei tehnici este mai bun sau mai rea pentru imagini JPEG n compa-
raie cu HTML? Gndii bine la ceea ce eficacitate nseamn i explicai rspunsul vostru.
41. n ziua unui mare eveniment sportiv, cum ar fi un campionat sportiv, mult lume se duce pe
situl Web oficial. Este aceasta o aglomerare brusc n acelai sens cu cel al alegerilor din Flori-
da, n 2000? De ce sau de ce nu?
42. Are sens ca un singur ISP s aib rolul de CDN? Dac da, cum ar funciona? Dac nu, care este
greit n legtur cu aceast idee?
43. n ce condiii folosirea unui CDN este o idee proast?
44. Terminalele pentru Web-ul fr fir(Wirelss Web) au o lime de band mic, ceea ce face im-
portant o codificare eficient. Proiectai o schem de transmitere eficient a textului n englez
pe o legtur fr fir ctre un dispozitiv WAP. Putei presupune c terminalul are civa mega-
642 NIVELUL APLICAIE CAP. 7


octei de memorie ROM i un procesor moderat de puternic. Indiciu: gndii-v cum transmitei
ceva n japonez, unde fiecare simbol este un cuvnt.
45. Un CD memoreaz 650 MB de date. Este folosit compresia pentru CD-uri audio? Explicai
raionamentul.
46. n fig. 7-57(c) zgomotul de cuantificare apare datorit folosirii de eantioane pe 4 bii pentru a
reprezenta nou valori de semnale. Primul eantion, la 0, este exact, dar cteva dintre urmtoa-
rele nu. Care este procentul de eroare la 1/32, 2/32 i 3/32 din perioad?
47. Ar putea fi folosit modelul psiho-acustic pentru reducerea lrgimii de band necesare pentru
telefonia Internet? Dac da, ce condiii, dac exist, ar trebui s fie ndeplinite pentru ca el s
funcioneze? Dac nu, de ce nu?
48. Un server de flux audio are o distan pe sens de 50 ms cu un dispozitiv de redare (media
plsyer). El emite la 1 Mbps. Dac media player-ul are o memorie tampon de 1 MB, ce putei
spune despre poziia minim i cea maxim?
49. Algoritmul de ntreesere din fig. 7-60 are avantajul de a fi capabil s supravieuiasc unei pier-
deri ocazionale a unui pachet fr a introduce o pauz n redarea sunetului (playback). Totui,
cnd este folosit pentru telefonia Internet, el are i un mic dezavantaj. Care este el?
50. Transmisia de voce-peste-IP are aceleai probleme cu zidurile de protecie (firewalls) ca i
transmiterea fluxurilor audio? Discutai rspunsul vostru.
51. Care este rata de bii pentru transmiterea necomprimat a culorii la 800 x 600 cu 8 bii/pixel la
40 cadre/sec?
52. Poate o eroare de 1-bit ntr-un cadru MPEG s afecteze mai mult dect cadrul n care a aprut
eroarea? Explicai rspunsul vostru.
53. S considerm exemplul video-serverului cu 100.000 de clieni, unde fiecare client vizioneaz
dou filme pe lun. Jumtate din filme se transmit la 8 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. Unii cyber-bgcioi i-au nregistrat nume de domenii care sunt ortografieri greite ale siturilor
companiilor cunoscute, ca de exemplu, www.microsfot.com. Facei o list de cel puin cinci ase-
menea domenii.
56. Numeroase persoane au nregistrat nume de domenii DNS de genul www.cuvnt.com, unde
cuvnt este un cuvnt obinuit. Pentru fiecare din categoriile urmtore, enumerai cinci situri
Web i spunei pe scurt despre ce este vorba (de exemplu, www.stomach.com este un
gastroenteorologist din LongIsland). Iat lista de categorii: animale, mncare, obiecte de gos-
SEC. 7.6 PROBLEME 643

podrie, pri ale corpului. Pentru ultima categorie, v rog rmnei la prile corpului de de-
asupra taliei.
57. Proiectai emoji-uri proprii folosind o hart de bii 12 x 12. Includei prietenul, prietena, profe-
sorul i politicianul.
58. Scriei un server POP3 care accept urmtoarele comenzi: USER, PASS, LIST, RETR, DELE
i QUIT.
59. Rescriei serverul din fig. 6-6 ca un server Web adevrat, folosind comanda GET de la HTTP 1.1.
Ar trebui s accepte i mesajul Host. Serverul trebuie s menin o memorie ascuns cu fiierele
recent aduse de pe disc i s serveasc cererile din aceast memorie atunci cnd este posibil.


645
8
SECURITATEA REELELOR
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 prea mult atenia. Dar acum, cnd
milioane de ceteni obinuii folosesc reelele pentru operaiuni bancare, cumprturi i plata taxe-
lor, securitatea reelei apare la orizont ca o mare problem potenial. n acest capitol, vom studia
securitatea reelei din mai multe unghiuri, evideniind numeroase pericole i discutnd muli algo-
ritmi i protocoale destinate a face reelele mai sigure.
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 adresate altor
destinatari. Ea se ocup de cei care ncearc s apeleze servicii la distan, dei 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 i nu 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 care n-
cearc s obin anumite beneficii, s atrag atenia, sau s provoace ru cuiva. Civa dintre cei care
comit n mod obinuit astfel de fapte sunt menionai n fig. 8-1. Din aceast list trebuie s rezulte
clar c realizarea unei reele sigure implic ceva mai mult dect pstrarea ei fr erori de programa-
re. Aceasta implic surclasarea unor adversari adeseori inteligeni, dedicai i uneori bine dotai ma-
terial. Trebuie de asemenea s fie clar c msurile care pot contracara inamici accidentali vor avea
un impact redus asupra unor adversari serioi. Arhivele poliiei arat c cele mai multe atacuri nu au
fost svrite de strini prin ascultarea unor linii telefonice, ci de ctre angajai ranchiunoi. n con-
secin, sistemele de securitate ar trebui proiectate innd seama de acest fapt.
646 SECURITATEA REELELOR CAP. 8



Adversar 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 Andorra
Om de afaceri Pentru a descoperi planul strategic de marketing al competitorului
Fost funcionar Pentru a se rzbuna c a fost concediat
Contabil Pentru a sustrage bani de la o companie
Agent de vnzri Pentru a nega o promisiune fcut clientului prin pot electronic
arlatan Pentru a fura numere de cri de credit i a le vinde
Spion Pentru a afla puterea militar a inamicului sau secrete industriale
Terorist Pentru a fura secrete legate de conflicte armate

Fig. 8-1. Cteva persoane ce genereaz probleme de securitate i motivele acestora.

Problemele securitii reelei pot fi mprite, n mare, n patru domenii strns interconectate:
confidenialitate, autentificare, nerepudiere i controlul integritii. Pstrarea secretului, denumit
de asemenea i confidenialitate, se refer la pstrarea informaiei departe de utilizatorii neautori-
zai. Aceasta este ceea ce vine n mintea oamenilor atunci cnd se gndesc la securitatea reelei. Au-
tentificarea reprezint determinarea identitii persoanei cu care vorbeti nainte de a dezvlui in-
formaii 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? Sau poate susine c nu a fcut nici o co-
mand. n fine, cum poi fi sigur c un mesaj pe care l-ai primit a fost cel trimis cu adevrat i nu
unul pe care un adversar rutcios l-a modificat n tranzit sau l-a msluit?
Toate aceste aspecte (confidenialitate, autentificare, nerepudiere i controlul integritii) apar i
n sistemele tradiionale, dar cu cteva diferene semnificative. Integritatea i confidenialitatea 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
fotocopie. Observai diferena din comportamentul bncii. Cu cecuri electronice, originalul i copia
nu sunt distinctibile. Va trece ceva vreme pn cnd bncile vor ti cum s trateze astfel de situaii.
Oamenii autentific ali oameni prin recunoaterea feelor, vocilor i scrisului lor. Dovada sem-
nrii 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 sta-
bili unde anume n stiva de protocoale se situeaz securitatea reelei. Probabil c nu exist un singur
loc. Fiecare nivel poate contribui cu ceva. La nivelul fizic, ascultarea firelor poate fi zdrnicit prin
ncapsularea liniilor de transmisie n tuburi sigilate coninnd gaz de argon la presiuni nalte. Orice
ncercare de a perfora tubul va duce la pierderi de gaz, reducnd presiunea i trgnd alarma. Cte-
va 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 la
nivelul legtur de date, fr ca nivelurile mai nalte s aib cunotin de ceea ce se petrece. Aceas-
CAP. 8 SECURITATEA REELELOR 647

t soluie eueaz, totui, atunci cnd pachetele trebuie s traverseze mai multe rutere, deoarece
pachetele trebuie decriptate n fiecare ruter, fcndu-le astfel vulnerabile la atacurile din interiorul
ruterelor. De asemenea, ea nu permite ca anumite sesiuni s fie protejate (de exemplu, acelea ce
implic cumprturile on-line folosind cri de credit), iar altele nu. Cu toate acestea, criptarea leg-
turii (eng.: link encryption), cum este numit aceast metod, poate fi adugat cu uurin la orice
reea i este adeseori util.
La nivelul reea, pot fi instalate ziduri de protecie pentru a pstra pachetele n interior sau pen-
tru a pstra pachetele n afara acestuia. Securitatea IP funcioneaz de asemenea la acest nivel.
La nivelul transport, pot fi criptate conexiuni ntregi, de la un capt la cellalt, adic de la un pro-
ces la cellalt. Pentru o securitate maxim, este necesar securitatea capt-la-capt ( eng.: end-to-
end security).
n sfrit, problemele cum sunt autentificarea utilizatorilor i nerepudierea nu pot fi tratate dect
la nivelul aplicaie.
Din moment ce securitatea nu se potrivete perfect cu nici un nivel, nu se potrivete n nici un
capitol al acestei cri. Din acest motiv, ea are propriul capitol.
Chiar dac acest capitol este lung, tehnic i esenial, el este cvasi-irelevant pentru moment. Este
bine tiut faptul c cele mai multe probleme de securitate la bnci, de exemplu, se datoreaz angaja-
ilor incompeteni, procedurilor de securitate slabe, sau fraudelor interne mai degrab dect unor
criminali inteligeni care ascult liniile telefonice i apoi decodeaz mesajele criptate. Dac o per-
soan poate intra ntr-o filier oarecare a unei bnci cu o hrtie ATM pe care a gsit-o pe strad
susinnd c a uitat numrul de PIN i poate primi unul nou pe loc ( n numele unor bune relaii cu
clienii ), atunci toat criptografia din lume nu va preveni abuzurile. n aceast privin, cartea lui
Roy Anderson v ajut s deschidei ochii, deoarece documenteaz sute de exemple de eecuri ale
securitii n numeroase industrii, aproape toate dintre ele datorndu-se unor (ceea ce s-ar putea
numi politicos) practici neglijente de afaceri sau lipsei de grij pentru securitate (Anderson, 2001).
Cu toate acestea, noi suntem optimiti c odat cu extinderea comerului electronic (eng.: e-
commerce), companiile i vor mbunti procedurile operaionale, eliminnd aceast fisur i adu-
cnd din nou aspectele de securitate n centrul ateniei.
Exceptnd securitatea de la nivelul fizic, aproape toat securitatea se bazeaz pe principii cripto-
grafice. Din acest motiv, vom ncepe studiul nostru asupra securitii prin examinarea detaliat a
criptografiei. n seciunea 8.1, vom studia cteva dintre principiile de baz. ntre seciunile 8-2 i 8-5
vom examina civa dintre algoritmii i structurile de date fundamentale folosite n criptografie.
Apoi vom examina n detaliu cum pot fi folosite aceste concepte pentru a obine securitatea n ree-
le. Vom concluziona cu cteva scurte gnduri despre tehnologie i societate.
nainte de a ncepe, se impune o ultim observaie: ce nu este acoperit. Am ncercat s ne con-
centrm asupra problemelor din reea, mai degrab dect asupra problemelor de sisteme de operare
sau aplicaii, chiar dac este deseori greu de tras o linie de demarcaie. De exemplu, nu am spus ni-
mic despre autentificarea utilizatorilor folosind biometria, securitatea parolelor, atacurile prin inun-
darea tampoanelor de memorie (eng. : buffer overflow), cai Troieni, falsificarea login-ului, bombe
logice, virui, viermi i altele. Toate aceste subiecte sunt acoperite n detaliu n Cap. 9 din Sisteme de
operare moderne (Tanenbaum, 2001). Cititorul interesat de aspectele securitii sistemelor este n-
drumat ctre aceast carte. Acum haidei s ncepem cltoria noastr.
648 SECURITATEA REELELOR CAP. 8


8.1 CRIPTOGRAFIA
Criptografie provine din cuvintele greceti pentru scriere secret. Criptografia are o istorie
lung i pitoreasc ce dateaz cu mii de ani n urm. n aceast seciune, vom schia doar cteva din-
tre aspecte, ca informaii de baz pentru ceea ce urmeaz. Pentru o istorie complet este recoman-
dat cartea lui Kahn (1995). Pentru o tratare detaliat a situaiei actuale n securitate i algoritmi,
protocoale i aplicaii criptografice, a se vedea (Kaufman et. al 2002). Pentru o abordare mai mate-
matizat, a se vedea (Stinson, 2002). Pentru o abordare mai puin matematic, a se vedea (Burnett i
Paine, 2001).
Profesionitii fac o distincie ntre cifruri i coduri. Un cifru este o transformare caracter-cu-
caracter sau bit-cu-bit a mesajului, fr a ine cont de structura lingvistic a acestuia. Prin contrast,
un cod nlocuiete un cuvnt cu un alt cuvnt sau cu un simbol. Codurile nu mai sunt folosite, dei au
avut o istorie glorioas. Cel mai reuit cod inventat vreodat a fost folosit de forele armate ale
S.U.A. n timpul celui de-al doilea rzboi mondial n Pacific. Pur i simplu au pus indieni Navajo s
vorbeasc ntre ei folosind cuvinte specifice dialectului Navajo pentru termenii militari, de exemplu
chay-da-gahi-nail-tsaidi ( literal: uciga de broate estoase ) pentru armele anti-tanc. Limbajul
Navajo este foarte tonal, extrem de complex i nu are o form scris. i nimeni din Japonia nu tia
nimic despre el.
n septembrie 1945, San Diego Union descria codul spunnd: Pentru trei ani, oriunde acostau
trupele Marine, Japonezii auzeau o mn de zgomote bolborosite rspndite printre alte sunete care
semnau cu strigtul unui clugr Tibetan i cu sunetul golirii unei sticle cu ap fierbinte. Japonezii
nu au spart niciodat codul i muli vorbitori de cod Navajo au fost rspltii cu onoruri militare nal-
te pentru servicii i curaj extraordinare. Faptul c S.U.A. a spart codul japonez, dar c japonezii nu
au reuit niciodat s sparg codul Navajo a jucat un rol crucial n victoriile americane din Pacific.
8.1.1 Introducere n criptografie
Din punct de vedere istoric, patru grupuri de oameni au contribuit i au folosit arta criptografiei:
armata, corpurile diplomatice, cei ce au inut jurnale i ndrgostiii. Dintre acestea, armata a avut
rolul cel mai important i a dat contur domeniului de-a lungul secolelor. n interiorul organizaiilor
militare, mesajele ce trebuiau criptate erau de obicei date pentru criptare i transmitere unor funci-
onari codori de nivel sczut, prost pltii. Volumul de mesaje nu permitea ca aceast munc s fie
fcut doar de civa specialiti de elit.
Pn la apariia calculatoarelor, una din marile constrngeri ale criptografiei a fost capacitatea
funcionarilor codori de a realiza transformrile necesare, adeseori pe cmpul de lupt, cu echipa-
ment redus. O constrngere suplimentar a fost dificultatea de comutare rapid de la o metod crip-
tografic la alta, deoarece aceasta implica reantrenarea unui numr mare de oameni. Totui, perico-
lul ca un funcionar codor s fie capturat de ctre inamic a fcut s devin esenial posibilitatea de a
schimba metoda criptografic instantaneu, n caz de necesitate. Aceste cerine antagoniste au dat
natere modelului din fig. 8-2.
SEC. 8.1 CRIPTOGRAFIA 649


Fig. 8-2. Modelul de criptare (pentru un cifru cu chei simetrice).

Mesajele ce trebuie criptate, cunoscute sub numele de text clar (eng.: plain text), sunt transfor-
mate printr-o funcie parametrizat de o cheie (eng.: key). Rezultatul procesului de criptare, cunos-
cut sub numele de text cifrat (eng.: ciphertext), este apoi transmis, adeseori prin curier sau radio.
Presupunem c inamicul, sau intrusul, ascult i copiaz cu acuratee tot textul cifrat. Totui, spre
deosebire de destinatarul la care trebuie s ajung, el 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 comuni-
caie (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 (intrus
activ). Arta de a sparge cifruri se numete criptanaliz (eng.: cryptanalysis). Arta de a sparge cifruri,
denumit criptanaliz i arta de a le inventa (criptografia) sunt cunoscute mpreun sub numele de
criptologie (eng.: cryptology).
Adesea va fi util s avem o notaie pentru a pune n relaie textul clar, textul cifrat i cheile. Vom
folosi C=E
K
(P) pentru a simboliza faptul c prin criptarea textului clar P, folosind cheia K, rezult
textul cifrat C. Similar, P=D
K
(C) reprezint decriptarea lui C pentru a obine din nou textul clar.
Rezult c:

D
K
(E
K
(P))=P

Aceast notaie sugereaz c E i D sunt doar nite funcii matematice, ceea ce sunt de altfel.
Singura parte mai delicat este aceea c ambele sunt funcii cu doi parametrii iar noi am scris unul
dintre parametri (cheia) ca indice, nu ca argument, pentru a face distincie ntre ea i mesaj.
O regul fundamental a criptografiei este aceea c trebuie presupus cunoaterea de ctre orice
criptanalist a metodelor utilizate pentru criptare i decriptare. Cu alte cuvinte, criptanalistul tie cum
lucreaz n detaliu metoda de criptare E i de decriptare D din fig. 8-2. Cantitatea de efort necesar
pentru a inventa, testa i instala o metod nou, ori de cte ori vechea metod este compromis (
sau este presupus a fi compromis ), a fcut ntotdeauna nepractic pstrarea secret a algoritmului
de criptare. A crede c este secret atunci cnd nu este face mai mult ru dect bine.
Aici intr n scen cheia. Cheia const dintr-un ir (relativ) scurt care selecteaz una dintre mai
multe criptri posibile. n contrast cu metoda general, care poate fi schimbat doar o dat 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 schim-
650 SECURITATEA REELELOR CAP. 8


bat. Ideea c algoritmii sunt cunoscui de criptanalist i c secretul const exclusiv n cheie se nume-
te principiul lui Kerckhoff denumit astfel dup criptograful militar flamand Auguste Kerckhoff
care l-a enunat prima oar n 1883 ( Kerckhoff, 1883 ). Astfel c avem:
Principiul lui Kerckhoff: Toi algoritmii trebuie s fie publici; numai cheile sunt secrete.
Caracterul nesecret al algoritmului nu poate fi subliniat suficient. ncercarea de a ine secret al-
goritmul, cunoscut n domeniu ca securitate prin obscuritate, nu funcioneaz niciodat. De ase-
menea, prin publicarea algoritmului, criptograful primete consultan gratuit de la un numr mare
de criptologi din mediul academic, nerbdtori s sparg sistemul pentru a putea publica articole
care s demonstreze ct de inteligeni sunt ei. Dac muli experi au ncercat s sparg algoritmul
timp de 5 ani dup publicarea lui i nici unul nu a reuit, probabil c algoritmul este destul de solid.
Din moment ce adevratul secret este cheia, lungimea sa reprezint un aspect foarte important
de proiectare. 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 posibiliti 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 (eng.: work factor) pe care trebuie s-l depun criptanalistul. Volumul de munc pentru a
sparge sistemul prin cutare exhaustiv n spaiul cheilor este exponenial n raport cu lungimea che-
ii. Secretul provine din a avea un algoritm puternic (dar public) i o cheie lung. Pentru a-l mpiedica
pe fratele tu mai mic s-i citeasc pota electronic, sunt suficiente chei de 64 de bii. Pentru folosi-
rea uzual n comer, trebuie folosii cel puin 128 de bii. Pentru a pstra la distan principalele
guverne, sunt necesare chei de cel puin 256 de bii, preferabil mai muli.
Din punctul de vedere al criptanalistului, problema criptanalizei are trei variaiuni principale.
Cnd are la dispoziie o cantitate de text cifrat i nici un fel de text clar, el este confruntat cu proble-
ma textului cifrat (eng.: ciphertext only problem). Criptogramele care apar la seciunea de enigme a
ziarelor pun acest tip de problem. Cnd criptanalistul are ctva text clar i textul criptat corespunz-
tor, problema este cunoscut sub numele de problema textului clar cunoscut (eng.: known plaintext
problem). n sfrit, atunci cnd criptanalistul are abilitatea de a cripta buci de text clar la propria
sa alegere, avem de-a face cu problema textului clar ales (eng.: chosen plaintext problem). Cripto-
gramele din ziare ar putea fi sparte trivial dac criptanalistului i s-ar permite s pun ntrebri de
genul: Care este criptarea pentru ABCDEFGHIJKL?
Novicii n domeniul criptografiei presupun adeseori c dac un cifru poate rezista unui atac de
tip text cifrat (eng.: ciphertext only attack), el este sigur. Aceast presupunere este foarte naiv. n
multe cazuri criptanalistul poate ghici corect unele pri din textul clar. De exemplu, primul lucru pe
care multe sisteme l afieaz atunci cnd sunt accesate este login: . Echipat cu cteva perechi de text
clar - text criptat potrivit, sarcina criptanalistului devine mult mai uoar. Pentru a obine 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.
SEC. 8.1 CRIPTOGRAFIA 651

8.1.2 Cifrurile cu substituie
ntr-un cifru cu substituie fiecare liter sau grup de litere este nlocuit pentru a-l deghiza, cu alt
liter sau grup de litere. Unul dintre cele mai vechi cifruri cunoscute este Cifrul lui 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 DWWDFN. n exemple textul clar va fi scris cu litere mici, iar textul cifrat va fi
scris cu majuscule.
O uoar generalizare a cifrului lui Caesar permite alfabetului textului cifrat s fie deplasat cu k
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 este posibil s l fi pclit pe Pompei, dar de atunci el
nu mai pclete pe nimeni.
Urmtoarea mbuntire este de a stabili o coresponden pentru fiecare simbol din textul clar,
pentru simplitate s spunem cele 26 de litere, cu o alt liter. De exemplu:

textul clar: a b c d e f g h i j k l m n o p q r s y u v w x y z
textul cifrat: Q W E R T Y U I O P A S D F G H J K L Z X C V B N M

Sistemul general de substituire simbol-cu-simbol este denumit substituie monoalfabetic (eng.:
monoalphabetic substitution), cheia fiind irul de 26 de litere corespunznd ntregului alfabet. Pen-
tru cheia anterioar, textul clar attack va fi transformat n texul cifrat QZZQEA.
La prima vedere, acesta ar putea fi considerat un sistem sigur deoarece, dei criptanalistul cu-
noate sistemul general (substituie liter cu liter), el nu cunoate care dintre cele 26! 4 10
26
chei
posibile este folosit. Spre deosebire de cifrul lui Caesar, ncercarea tuturor cheilor nu este o abor-
dare prea promitoare. Chiar i la 1 ns per soluie, unui calculator i-ar trebui 10
10
ani pentru a ncer-
ca toate cheile.
Totui, fiind dat 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 folosit liter, urmat de t, o, a, n, i etc. Cele mai comune combina-
ii de dou litere, sau digrame (eng.: digrams), sunt th, in, er, re i an. Cele mai comune combinaii de
trei litere, sau trigrame (eng.: trigrams), sunt the, ing, and i ion.
Un criptanalist care ncearc s sparg un cifru monoalfabetic va ncepe prin a numra frecvene-
le 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 va cuta trigramele, pentru a o gsi pe cea mai frecven-
t cu forma tXe, care indic cu trie c X este h. Similar, dac apare frecvent ablonul thYt, probabil
c Y l nlocuiete pe a. Cu aceast informaie, el poate cuta apariiile frecvente ale trigramelor de
forma aZW, care sunt cel mai probabil, and. Prin astfel de presupuneri fcute asupra celor mai co-
mune 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, consi-
derai 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
652 SECURITATEA REELELOR CAP. 8


Un cuvnt probabil ntr-un mesaj provenind de la o firm de contabilitate este financial (rom.: fi-
nanciar). Folosind propriile noastre cunotine, cum ar fi faptul c financial are o liter care se repe-
t (i), cu alte patru litere ntre apariiile ei, vom cuta n textul cifrat litere repetate 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 c financial ncepe la
poziia 30. Din acest moment, deducerea cheii este simpl folosind statisticile de frecven a literelor
n textele englezeti.
8.1.3 Cifrurile cu transpoziie
Cifrurile cu substituie pstreaz ordinea simbolurilor din textul clar, dar le deghizeaz. Spre de-
osebire de acestea, cifrurile cu transpoziie (eng.: transposition ciphers) reordoneaz literele, dar nu
le deghizeaz. Fig. 8-3 descrie un cifru cu transpoziie simplu, transpoziia pe coloane. Cifrul are
drept cheie un cuvnt sau o expresie ce nu conine litere repetate. n 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.

Fig. 8-3. Un cifru cu transpoziie.

Pentru a sparge un cifru cu transpoziie, criptanalistul trebuie mai nti s fie sigur c are de-a fa-
ce 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,
pstrnd distribuia frecvenelor.
Urmtorul pas care 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 n text clar milliondollars apare pe
undeva prin mesaj. Se observ c n urma mpachetrii acestei expresii, n textul cifrat apar digrame-
le MO, IL, LL, LA, IR i OS. Litera O din textul cifrat urmeaz dup litera M din acelai text (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 urmrirea diferitelor posibiliti, criptanalistul
poate determina cu uurin lungimea cheii.
SEC. 8.1 CRIPTOGRAFIA 653

Pasul care mai rmne este ordonarea coloanelor. Cnd numrul de coloane, k, este mic, poate
fi examinat fiecare dintre cele k(k-1) 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 presupu-
ne 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 presu-
pune a fi corect. Coloana precedent este gsit n acelai mod. Se continu ntregul proces pn
cnd o ordine potenial este descoperit. Exist anse ca textul clar s devin recognoscibil din acest
stadiu (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 preci-
zeze ordinea n care caracterele vor fi trimise la ieire. De exemplu, cifrul din fig. 8-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, f, .a.m.d.
8.1.4 Chei acoperitoare
Construirea unui cifru imposibil de spart este de fapt 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 (SAU eXclusiv)
ntre cele dou iruri, bit cu bit. Textul cifrat rezultat nu poate fi spart, deoarece 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 (eng.: one-
time pad) este imun la toate atacurile din prezent i din viitor, indiferent de puterea de calcul pe
care o are la dispoziie intrusul. Motivul provine din teoria informaiei: pur i simplu nu exist nici o
informaie n mesaj deoarece orice text clar posibil cu o lungime dat este la fel de probabil.
Un exemplu de folosire al cheilor acoperitoare este prezentat n fig. 8-4. Mai nti, mesajul 1, I
love you. (rom.: Te iubesc) este convertit n cod ASCII pe 7 bii. Apoi o cheie acoperitoare, cheia
acoperitoare 1, este aleas i combinat XOR cu mesajul pentru a obine textul cifrat. Un
criptanalist ar putea s ncerce toate cheile acoperitoare posibile pentru a vedea ce text clar rezult
pentru fiecare. De exemplu, cheia acoperitoare 2 din figur poate fi testat, rezultnd textul n clar 2,
Elvis lives (rom.: Elvis triete) care ar putea s fie sau s nu fie plauzibil (un subiect n afara
domeniului acestei cri). De fapt, pentru fiecare text clar de 11 caractere ASCII, exist o cheie aco-
peritoare care l genereaz. Asta nseamn ceea vrem s spunem prin afirmaia c nu exist nici o
informaie n mesaj: se poate obine din el orice mesaj cu lungimea corespunztoare.



Fig. 8-4. Folosirea unei chei acoperitoare pentru criptare i posibilitatea de a obine
orice text posibil din textul cifrat prin folosirea altei chei acoperitoare.

654 SECURITATEA REELELOR CAP. 8


Cheile acoperitoare sunt extraordinare n teorie, dar au numeroase dezavantaje n practic. Unul
dintre ele 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 exis-
tena cheilor scrise nu este de dorit. n plus, cantitatea total de date care poate fi transmis este limi-
tat 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 sensibilitatea 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 DVD special care conine civa gigabii de informaie
i care, transportat ntr-o cutie de DVD pentru filme, precedai de cteva minute de imagini, nu ar fi
nici mcar suspect. Desigur, la viteza reelei de ordinul gigabiilor, a trebui s introduci un nou DVD
la fiecare 5 secunde poate deveni obositor. Iar DVD-urile trebuie duse personal de la transmitor la
receptor nainte de transmiterea oricrui mesaj, ceea ce reduce mult valoarea lor practic.
Criptografia cuantic
Interesant este c ar putea exista o soluie la problema transmiterii cheilor acoperitoare prin re-
ea, i ea provine dintr-o surs neateptat: mecanica cuantic. Ideea este nc experimental, dar
testele iniiale sunt promitoare. Dac poate fi perfecionat i eficientizat, teoretic toat cripto-
grafia va fi fcut folosind chei acoperitoare dovedit fiind c acestea sunt sigure. n continuare vom
explica pe scurt cum funcioneaz aceast metod, criptografia cuantic. n particular, vom descrie
un protocol care se numete BB84 dup autorii si i anul publicrii (Bennet i Brassard, 1984).
O utilizatoare, Alice, dorete s stabileasc o cheie acoperitoare cu un al doilea utilizator, Bob.
Alice i Bob sunt denumii protagoniti, caracterele principale n povestea noastr. De exemplu, Bob
este un bancher cu care Alice ar dori s fac afaceri. Numele Alice i Bob au fost folosite pentru
protagonitii principali n aproape fiecare studiu i lucrare despre criptografie n ultima decad.
Criptografii iubesc tradiia. Dac am fi folosit Andy i Barbara pentru protagonitii principali,
nimeni nu ar fi crezut nimic din acest capitol. Deci, aa s fie.
Dac Alice i Bob ar putea stabili o cheie acoperitoare, ar putea s o foloseasc pentru a comu-
nica sigur. ntrebarea este: Cum pot ei s o stabileasc fr s schimbe ntre ei DVD-uri? Putem
presupune c Alice i Bob sunt la capetele opuse ale unei fibre optice prin care ei pot trimite i primi
pulsuri de lumin. Cu toate acestea, o intrus agitat, Trudy, poate tia fibra pentru a introduce un
dispozitiv de ascultare activ. Trudy poate citi toi biii din ambele direcii. Ea poate de asemenea s
trimit mesaje false n ambele direcii. Situaia ar prea fr speran pentru Alice i Bob, dar crip-
tografia cuantic poate pune subiectul ntr-o nou lumin.
Criptografia cuantic este bazat pe faptul c lumina circul n mici pachete numite fotoni, care
au nite proprieti specifice. n plus, lumina poate fi polarizat prin trecerea ei printr-un filtru pola-
rizator, un fapt bine cunoscut, att de purttorii de ochelari de soare ct i de fotografi. Dac o raz
de lumin (adic un flux de fotoni) trece printr-un filtru polarizator, toi fotonii care ies din el vor fi
polarizai pe direcia axului filtrului (adic pe vertical). Dac raza va fi trecut acum printr-un al
doilea filtru polarizator, intensitatea luminii care iese din al doilea filtru va fi proporional cu rd-
cina cosinusului unghiului dintre cele dou axe. Dac axele sunt perpendiculare, nu va trece nici un
foton. Nu conteaz orientarea absolut ale celor dou filtre; conteaz doar unghiul dintre axele lor.
Pentru a genera o cheie acoperitoare, Alice are nevoie de dou seturi de filtre polarizatoare.
Primul set const dintr-un filtru vertical i un filtru orizontal. Aceast alegere se numete baz recti-
SEC. 8.1 CRIPTOGRAFIA 655

liniar. O baz (la plural: baze) este doar un sistem de coordonate. Al doilea set de filtre este simi-
lar, cu excepia faptului c sunt rotite cu 45 de grade, astfel c un filtru este de la stnga jos la dreap-
ta sus, iar cellalt filtru este de la stnga sus la dreapta jos. Aceast alegere se numete baz diagona-
l. Deci Alice are dou baze, pe care le poate introduce n raza de lumin oricnd dorete. n realita-
te, Alice nu are patru filtre separate, ci un cristal a crui polarizare poate fi comutat electric cu o
vitez foarte mare la oricare dintre cele patru direcii permise. Bob are acelai echipament ca i Ali-
ce. Faptul c Alice i Bob au fiecare cte dou baze disponibile este esenial n criptografia cuantic.
Pentru fiecare baz, Alice desemneaz o direcie ca 0 i cealalt ca 1. n exemplul prezentat mai
jos, vom presupune c ea alege direcia vertical ca 0 i cea orizontal ca fiind 1. Independent, ea
alege de asemenea diagonala stnga-jos dreapta-sus ca 0 i stnga-sus dreapta-jos ca 1. Ea trimite
aceste opiuni lui Bob n text necriptat.
Acum Alice alege o cheie acoperitoare, bazat de exemplu pe un generator de numere aleatoare
(un subiect foarte complex n sine). Ea o transfer bit cu bit lui Bob, alegnd aleator una dintre cele
dou baze disponibile pentru fiecare bit. Pentru a trimite un bit, tunul de fotoni emite un foton pola-
rizat corespunztor pentru baza pe care o folosete pentru bitul respectiv. De exemplu, ea ar putea
s aleag bazele diagonal, rectiliniar, rectiliniar, diagonal, rectiliniar, etc. Pentru a trimite cheia
sa acoperitoare 1001110010100110 cu aceste baze, ea va trimite fotonii din fig. 8-5(a). Fiind date
cheia acoperitoare i secvena bazelor, polarizarea folosit pentru fiecare bit este unic determinat.
Biii trimii cte un foton la un moment dat se numesc qubii.


Fig. 8-5. Un exemplu de criptografie cuantic

656 SECURITATEA REELELOR CAP. 8


Bob nu tie ce baze s foloseasc, prin urmare pentru fiecare foton sosit, alege o baz aleatoare i o
folosete, dup cum se poate vedea n fig. 8-5(b). Dac alege baza corect, el va obine bitul corect.
Dac alege baza incorect, el obine un bit aleator deoarece dac un foton trece printr-un filtru polari-
zat la 45 de grade fa de polarizarea proprie, sare aleator la polarizarea filtrului sau sare cu o probabi-
litate egal, la o polarizare perpendicular cu cea a filtrului. Aceast proprietate a fotonilor este fun-
damental pentru mecanica cuantic. Prin urmare, civa dintre bii vor fi coreci iar civa vor fi alea-
tori, dar Bob nu tie care sunt unii i care sunt ceilali. Rezultatele lui Bob sunt prezentate n fig. 8-5(c).
Dar cum afl Bob ce baze a ghicit corect i pe care le-a greit? Pur i simplu, el i va spune lui Ali-
ce n text clar ce baz a folosit pentru fiecare bit, iar ea i va spune care sunt corecte i care sunt grei-
te tot n clar, dup cum este artat n fig. 8-5(d). Din aceast informaie, fiecare dintre ei poate con-
strui un ir de bii din presupunerile corecte, dup cum arat fig. 8-5(e). n medie, acest ir va fi ju-
mtate din lungimea irului iniial de bii, dar deoarece ambele pri l cunosc, l pot folosi pe post de
cheie acoperitoare. Alice trebuie s trimit un ir puin mai mare dect dublul lungimii dorite pentru
ca ea i Bob s obin o cheie acoperitoare cu lungimea dorit. Problem rezolvat!
Dar stai un pic! Am uitat de Trudy. S presupunem c ea este curioas s tie ce are Alice de
spus i taie fibra, insernd propriul ei detector i transmitor. Din nefericire pentru ea, nici ea nu
tie ce baz s foloseasc pentru fiecare foton. Tot ce poate s fac este s aleag aleatoriu o baz
pentru fiecare foton, cum a fcut i Bob. Un exemplu cu alegerile ei este prezentat n fig. 8-5(f).
Atunci cnd Bob raporteaz mai trziu (n text clar) ce baze a folosit i Alice i spune (n text clar)
care dintre ele sunt corecte, Trudy va ti ce a neles bine i ce nu a neles bine. n fig. 8-5 ea a nime-
rit bine biii 0, 1, 2, 3, 4, 6, 8, 12 i 13. Dar ea tie din replica lui Alice c doar biii 1, 3, 7, 8, 10, 11, 12
i 14 fac parte din cheia acoperitoare. Pentru patru dintre aceti bii ( 1, 3, 8, 12 ) ea a ghicit corect i
a capturat bitul corect . Ea nu a ghicit ceilali patru ( 7, 10, 11 i 14 ) bii i nu cunoate bitul transmis.
Prin urmare, Bob tie c cheia acoperitoare ncepe cu 01011001, din fig. 8-5(e) dar tot ce are Trudy
este 01?1??0?, din fig.8-5(g).
Bineneles c Alice i Bob sunt contieni c Trudy ar fi putut captura o parte din cheia lor acoperi-
toare, astfel c ar dori s minimizeze informaia deinut de Trudy. Ei pot face acest lucru prin efectua-
rea unei transformri asupra acestei chei. De exemplu, ei ar putea diviza cheia acoperitoare n blocuri
de cte 1024 bii, ar putea ridica la ptrat fiecare bloc pentru a forma un numr de 2048 de bii i ar
putea folosi concatenarea acestor numere de 2048 de bii ca cheie acoperitoare. Avnd cunotine par-
iale despre irul de bii transmis, Trudy nu are nici un mod de a genera ptratul lui i deci nu dispune
de nici o informaie. Transformarea din cheia acoperitoare original ntr-una diferit care reduce cu-
notinele lui Trudy se numete amplificarea confidenialitii. n practic, n locul ridicrii la ptrat
sunt folosite transformri complexe n care fiecare bit de ieire depinde de fiecare bit de intrare.
Biata Trudy. Nu numai c nu are nici o idee despre cheia acoperitoare, dar nici prezena ei nu es-
te un secret. Ea trebuie s redirecteze fiecare bit recepionat de la Alice pentru Bob pentru a-l pcli
i a-l face s cread c vorbete cu Alice. Problema este c tot ce poate ea s fac este s trimit
qubitul pe care l-a recepionat, folosind polarizarea pe care a folosit-o pentru a-l recepiona i n
jumtate din cazuri ea va grei, provocnd multe erori n cheia acoperitoare a lui Bob.
Cnd n final Alice va ncepe s trimit datele, ea le va codifica folosind un puternic cod preven-
tiv corector de erori. Din punctul lui Bob de vedere, o eroare de 1 bit n cheia acoperitoare este echi-
valent cu o eroare de transmisie de 1 bit. n ambele cazuri, el va obine un bit eronat. Dac exist
suficient cod preventiv corector de erori, el va putea recupera mesajul original n pofida tuturor ero-
rilor, dar va putea foarte uor s numere cte erori au fost corectate. Dac acest numr este cu mult
mai mare dect rata prevzut de erori a echipamentului, el va ti c Trudy a interceptat linia i va
SEC. 8.1 CRIPTOGRAFIA 657

putea s acioneze n consecin (de ex., s-i spun lui Alice s comute pe un canal radio, s cheme
poliia, etc.). Dac Trudy ar dispune de o metod de a clona un foton pentru a avea un foton pe care
s-l inspecteze i un foton identic pe care s-l trimit lui Bob, ea ar putea evita detecia, dar n pre-
zent nu este cunoscut nici o metod de a clona perfect un foton. Dar chiar dac Trudy ar putea
clona fotoni, asta nu ar reduce valoarea criptografiei cuantice n stabilirea cheilor acoperitoare.
Dei a fost demonstrat c criptografia cuantic poate opera pe distane de 60 km de fibr, echi-
pamentul este complex i scump. Totui, ideea este promitoare. Pentru mai multe informaii de-
spre criptografia cuantic, a se vedea (Mullins, 2002).
8.1.5 Dou principii criptografice fundamentale
Dei n paginile ce urmeaz vom studia diferite sisteme criptografice, pentru toate acestea exist
dou principii de baz a cror nelegere este important.
Redundana
Primul principiu este acela c toate mesajele criptate trebuie s conin redundan, adic in-
formaie 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 The Couch
Potato (TCP), cu 60000 de produse. Creznd c vor fi foarte eficieni, programatorii de la TCP 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 TCP.
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 inutiliza-
bil. S presupunem c o funcionar recent concediat vrea s se rzbune pe TCP pentru c a dat-o
afar. Chiar nainte de a pleca, ea ia lista clienilor cu ea. Ea lucreaz n timpul nopii i scrie un pro-
gram 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 TCP.
Cnd sosesc aceste mesaje, calculatorul TCP folosete numele clientului pentru a localiza cheia i
a decripta mesajul. Din nefericire pentru TCP, aproape fiecare mesaj de 3 octei este valid, iar calcu-
latorul ncepe s tipreasc instruciunile trimise. Dei pare ciudat ca un client s comande 837 de
seturi de leagne pentru copii sau 540 de cutii cu nisip, calculatorul poate crede c acesta plnuiete
s deschid o mulime de locuri de joac. n 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 zero-
uri, 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 mesaje aleato-
rii care s fie interpretate ca mesaje valide.
Totui, adugarea informaiei redundante faciliteaz spargerea mesajelor de ctre criptanaliti.
S presupunem c afacerea de comenzi prin pot este foarte competitiv i competitorul principal
al companiei The Coach Potato, The Sofa Tuber, ar vrea tare mult s tie cte cutii de nisip vinde
TCP. n consecin, ei ascult linia telefonic a TCP. n schema original, cu mesaje de 3 octei, crip-
tanaliza era aproape imposibil, deoarece dup ghicirea unei chei, criptanalistul nu avea cum s-i
658 SECURITATEA REELELOR CAP. 8


dea seama dac a ghicit corect. n fond, aproape orice mesaj este tehnic corect. Cu noua schem de
12 octei, este uor pentru criptanalist s disting un mesaj valid de unul invalid. Astfel c avem:
Principiul criptografic 1: Mesajele trebuie s conin redundan.
Cu alte cuvinte, dup decriptarea unui mesaj, receptorul trebuie s poat distinge dac este valid
printr-o simpl inspectarea a acestuia i prin execuia unui calcul simplu. Aceast redundan este
necesar pentru a mpiedica intruii activi s nele receptorul trimindu-i un mesaj fals i
determinndu-l s acioneze n numele mesajului decriptat. 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 pre-
dictibile, simplificnd criptanaliza. Un cod CRC polinomial ar fi o alegere mult mai bun dect un
ir de 0 deoarece receptorul l poate verifica uor, dar pentru criptanalist el reprezint o munc n
plus. i mai bun ar fi folosirea unei dispersii criptografice (eng.: cryptographic hash), un concept pe
care-l vom explora mai trziu.
S ne ntoarcem un moment la criptografia cuantic i s vedem care este rolul redundanei aco-
lo. Datorit interceptrii fotonilor de ctre Trudy, civa dintre biii cheii acoperitoare a lui Bob vor
fi eronai. Bob are nevoie de redundan n mesajele primite pentru a determina faptul c exist
erori. O form foarte primitiv de redundan este transmiterea mesajului de dou ori. Dac cele
dou copii nu sunt identice, Bob tie c fie fibra optic are foarte multe zgomote, fie cineva interfe-
reaz cu transmisia. Bineneles c trimiterea de dou ori a fiecrui lucru este extrem de ineficient: o
metod mult mai eficient de a detecta i corecta erorile este folosirea unui cod Hamming sau
Reed-Solomon. Dar trebuie s fie clar c o anumit redundan este necesar pentru a putea distin-
ge ntre un mesaj valid i unul invalid, mai ales n prezena unui intrus activ.
Prospeimea
Cel de-al doilea principiu criptografic este acela c trebuie luate anumite msuri pentru ne asigu-
ra c fiecare mesaj primit poate fi verificat c este proaspt, adic a fost trimis foarte recent. Aceast
msur este necesar 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 TCP i ar
putea retransmite mesajele valide trimise anterior. Reformulnd aceast idee obinem:
Principiul criptografic 2: Este necesar o metod pentru a dejuca atacurile prin replicarea mesajelor
O astfel de msur este de a include n fiecare mesaj o amprent de timp valid doar pentru, s
spunem, 10 secunde. Receptorul trebuie doar s pstreze mesajele primite n ultimele 10 secunde,
pentru a compara mesajele nou sosite cu anterioarele i pentru a filtra duplicatele. Mesajele mai vechi
dect 10 secunde pot fi aruncate, deoarece orice replic a lor trimis mai trziu de 10 secunde va fi
refuzat ca fiind prea veche. Alte msuri n afara amprentelor de timp vor fi discutate mai trziu.


8.2 ALGORITMI CU 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. n zilele
SEC. 8.2 ALGORITMI CU CHEIE SECRET 659

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, el nu poate face nimic cu el fr a avea cheia.
Prima clas de algoritmi de criptare pe care o vom studia n acest capitol se numesc algoritmi cu
cheie secret (eng.: symmetric-key algorithms) pentru c folosesc aceeai cheie pentru criptare i
decriptare. Fig. 8-2 ilustreaz folosirea unui algoritm cu cheie secret. n particular, ne vom concen-
tra asupra cifrurilor bloc, care primesc la intrare un bloc de n bii de text clar i l transform folosind
cheia ntr-un bloc de text cifrat de n bii.
Algoritmii criptografici pot fi implementai fie n hardware (pentru vitez) sau n software (pen-
tru flexibilitate). Dei cea mai mare parte a acestei lucrri trateaz algoritmii i protocoalele, care
sunt independente de implementarea efectiv, ar putea fi interesante cteva cuvinte despre construi-
rea de hardware pentru criptare. Transpoziiile i substituiile pot fi implementate cu circuite simple.
Fig. 8-6(a) prezint un dispozitiv, cunoscut sub numele 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 construit s efectueze orice transpoziie i s o fac practic cu
viteza luminii.

Fig. 8-6. Elemente de baz ale cifrurilor produs. (a) Cutie P. (b) Cutie S. (c) Produs.

Substituiile sunt realizate de cutiile S, dup cum este artat n fig. 8-6(b). n 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 selec-
teaz una dintre cele opt linii ce ies din primul nivel i o poziioneaz pe 1; toate celelalte linii sunt 0.
Cel 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. De altfel, un astfel de dispozitiv poate fi construit n hardware i poate atinge viteze foar-
te mari deoarece codificatorul i decodificatorul au doar una sau dou ntrzieri de pori logice (sub
o nanosecund) iar timpul de propagare prin cutia P poate fi mult mai mic dect o picosecund.
Puterea efectiv 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. 8-6(c). n acest
exemplu, 12 linii de intrare au fost transpuse (adic permutate) de primul nivel. Teoretic, ar fi posibil
s avem la doilea nivel o cutie S care s pun n coresponden un numr de 12 bii cu alt numr de
12 bii. Totui, un astfel de dispozitiv ar necesita 2
12
=4096 cabluri ncruciate la nivelul su din mij-
loc. n 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 inclu-
660 SECURITATEA REELELOR CAP. 8


derea unui numr suficient de mare de niveluri n cifrul produs, ieirea poate deveni o funcie ex-
trem de complicat depinznd de intrare.
Cifrurile produs care opereaz asupra intrrilor de k bii pentru a produce ieiri de k bii sunt
destul de obinuite. O valoare tipic pentru k este de la 64 la 256. O implementare hardware are de
obicei cel puin 18 niveluri fizice, nu doar apte ca n fig. 8-6(c). O implementare software este pro-
gramat ca o bucl cu cel puin 8 iteraii, fiecare dintre ele executnd substituii ca cele ale cutiilor S
pe sub-blocuri din blocurile de date cu dimensiuni de la 64 la 256 de bii, urmate o permutare care
combin ieirile cutiilor S. De obicei exist o permutare iniial special i, de asemenea, una la n-
ceput. n literatur, iteraiile se numesc runde.
8.2.1 DES Data Encryption Standard
n ianuarie 1977, guvernul SUA a adoptat ca standard oficial pentru informaiile nesecrete un ci-
fru produs i dezvoltat de IBM. Acest cifru, DES (eng.: Data Encryption Standard rom.: Standard
pentru Criptarea Datelor), a fost adoptat extensiv n industrie pentru a fi utilizat n produsele de
securitate. El nu mai este de mult sigur n forma sa original, dar ntr-o form modificat el este nc
util. Vom explica acum cum lucreaz DES.



Fig. 8-7. Cifrul DES. (a) Schem general. (b) Detalierea unei iteraii. Semnul + nconjurat de
un cerc nseamn SAU exclusiv

SEC. 8.2 ALGORITMI CU CHEIE SECRET 661

O prezentare general a DES este fcut n fig. 8-7(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 run-
d 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, o proprietate necesar n
orice algoritm cu cheie secret. Paii sunt parcuri n ordine invers.
Funcionarea unuia dintre paii intermediari este ilustrat n fig. 8-7(b). Fiecare rund ia dou in-
trri 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, K
i
. Toa-
t 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-1
n concordan cu o regul de transpoziie fix i
de duplicare. n al doilea rnd, E i K
i
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 8
4 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 la stnga cu un numr
de bii depinznd de numrul iteraiei. K
i
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.
O tehnic folosit uneori pentru a face DES mai puternic se numete albire (eng.: whitening). Ea
consist n efectuarea operaiei SAU exclusiv ntre o cheie aleatoare de 64 de bii cu fiecare bloc de
text clar nainte de a-l introduce n DES i apoi efectuarea nc a unui SAU exclusiv cu o a doua che-
ie de 64 de bii a textului cifrat nainte de a-l transmite. Albirea poate fi eliminat simplu prin efectu-
are operaiilor inverse (dac receptorul are cele 2 chei de albire). Din moment ce aceast tehnic
adaug mai muli bii la lungimea cheii, face cutarea exhaustiv a spaiului cheii mult mai mare
consumatoare de timp. Se poate observa c aceeai cheie de albire este folosit pentru fiecare bloc
(adic exist o singur cheie de albire).
DES a fost nvluit n controverse nc din ziua n care a fost lansat. El se baza pe un cifru dezvol-
tat i brevetat de IBM, numit Lucifer, cu excepia faptului c cifrul 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 pentru folosire nesecret, el a invitat IBM-ul s discute aceast problem cu NSA, agenia
sprgtoare de coduri a guvernului, care are ca angajai 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 provine de la National Security Agency (rom.: 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 lun-
662 SECURITATEA REELELOR CAP. 8


gimea cheii a fost redus pentru a exista sigurana c NSA poate sparge DES-ul, dar nici o organiza-
ie cu un buget mai mic nu ar putea s o fac. 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 o conferina de criptografie planificat,
acesta nu i-a fcut pe oameni s se simt mai bine. NSA a negat totul.
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 mult sub 1 milion de dolari.
Triplu DES
nc 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 ncorpo-
rat n Standardul Internaional 8732, este ilustrat n fig. 8-8. Aici sunt folosite dou chei i trei run-
de. n prima rund textul clar este n mod obinuit criptat cu K
1
. n a doua rund, este rulat DES n
mod de decriptare, folosind cheia K
2
. n final, este efectuat o alt criptare cu K
1
.

Fig. 8-8. (a)Tripla criptare folosind DES. (b) Decriptarea.

Aceast 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 (eng.: Encrypt
Decrypt Encrypt, rom.: Criptare Decriptare Criptare), n loc de EEE (eng.: Encrypt Encrypt
Encrypt, rom.: Criptare Criptare Criptare)? Motivul pentru care sunt utilizate dou chei este acela
c chiar i cei mai paranoici criptografi admit c 112 bii sunt suficieni pentru aplicaiile comerciale
de rutin, la momentul actual. A extinde la 168 de bii nseamn a aduga o suprancrcare inutil
pentru gestiunea i transportul unei alte chei cu un ctig real redus.
Motivul pentru criptare, decriptare i apoi iar criptare este compatibilitatea cu produsele existen-
te 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 utilizea-
z tripla criptare poate comunica cu unul ce folosete criptarea simpl, folosind K
1
=K
2
. Aceast
proprietate permite triplei criptri s fie pus n practic treptat, lucru care nu intereseaz pe cripto-
grafii din mediul academic, dar care este de o importan considerabil pentru IBM i clienii si.
8.2.2 AES Advanced Encryption Standard
Deoarece DES a nceput s se apropie de sfritul utilei sale viei , chiar i cu DES triplu, NIST
(National Institute of Standards and Technology, rom: Institutul Naional de Standarde i Tehnolo-
gie), agenia Departamentului de Comer al Statelor Unite nsrcinat cu aprobarea standardelor
pentru Guvernul Federal al S.U.A., a decis c guvernul are nevoie de un nou standard criptografic
SEC. 8.2 ALGORITMI CU CHEIE SECRET 663

pentru folosin public. NIST avea cunotin de controversa din jurul DES i tia bine c dac ar fi
anunat un nou standard orice persoan care tia cte ceva despre criptografie ar fi presupus n mod
automat c NSA a construit o u secret prin care NSA s poat citi orice criptat cu DES. n aceste
condiii, probabil nimeni n-ar fi folosit standardul i acesta ar fi murit probabil singur.
De aceea NIST a avut o abordare surprinztor de diferit pentru o birocraie guvernamental: a
sponsorizat un concurs de criptografie. n ianuarie 1997, cercettori din toat lumea au fost invitai
s depun propuneri pentru un nou standard, care urma s se numeasc AES (Advanced Encryption
Standard, rom: Standard de Criptare Avansat). Regulile concursului erau:

1. Algoritmul trebuie s fie un cifru bloc simetric.
2. Tot proiectul trebuie sa fie public
3. Trebuie s fie suportate chei de 128, 192, i de 256 bii
4. Trebuie s fie posibile att implementri hardware ct i software
5. Algoritmul trebuie s fie public sau oferit cu licen nediscriminatorie.

Au fost fcute cincisprezece propuneri serioase i au fost organizate conferine publice n care pro-
punerile au fost prezentate, iar publicul a fost ncurajat s gseasc punctele slabe n fiecare dintre
ele. n august 1998, NIST a selectat cinci finaliti, n principal pe criterii de securitate, eficien, flexi-
bilitate i cerine de memorie (importante pentru sistemele integrate). Au avut loc mai multe confe-
rine i s-au mai eliminat din variante. La ultima conferin s-a organizat un vot liber. Finalitii i
scorurile lor au fost urmtoarele:

1. Rijndael (din partea lui Joan Daemen i Vincent Rijmen, 86 voturi)
2. Serpent (din partea lui Ross Anderson, Eli Biham i Lars Knudsen, 59 voturi)
3. Twofish (din partea unei echipe condus de Bruce Schneier, 31 voturi)
4. RC6 (din partea RSA Laboratories, 23 voturi)
5. MARS (din partea IBM, 13 voturi)

n octombrie 2000, NIST a anunat c voteaz i el pentru Rijndael, iar n noiembrie 2001
Rijndael a devenit standard guvernamental al S.U.A. publicat ca Standard Federal de Procesare a
Informaiilor nr.197 (Federal Information Processing Standard FIPS 197). Datorit deschiderii ex-
traordinare a competiiei, a proprietilor tehnice ale Rijndael i a faptului c echipa ctigtoare
consta din doi tineri belgieni (despre care cu greu se poate presupune c au realizat i o u secret
doar pentru a face pe plac NSA), se ateapt ca Rijndael s devin standardul criptografic dominant
n lume pentru cel puin o decad. Numele Rijndael, pronunat Rhine-doll (mai mult sau mai puin),
e derivat din numele autorilor: Rijmen + Daemen.
Rijndael permite lungimi de chei i mrimi de blocuri de la 128 de bii la 256 de bii n pai de c-
te 32 bii. Lungimea cheii i lungimea blocului pot fi alese n mod independent. Cu toate acestea,
AES specific faptul c mrimea blocului trebuie s fie de 128 de bii i lungimea cheii trebuie s fie
de 128, 192, sau 256 de bii. E ndoielnic c cineva va folosi vreodat cheile de 192 de bii, astfel c de
fapt, AES are dou variante: bloc de 128 de bii cu cheie de 128 de bii i bloc de 128 de bii cu cheie
de 256 de bii.
n prezentarea algoritmului, vom examina doar cazul 128/128 pentru c acesta va deveni cel mai
probabil standardul comercial. O cheie de 128 de bii permite un spaiu al cheilor de 2
128
2 10
38

chei. Chiar dac NSA reuete s construiasc o main cu un miliard de procesoare, fiecare fiind
capabil s evalueze o cheie n fiecare picosecund, ar trebui pentru o astfel de main aproximativ
664 SECURITATEA REELELOR CAP. 8


10
10
ani pentru a cuta n spaiul de chei. Pn atunci soarele s-ar stinge, astfel c cei de atunci vor
trebui s citeasc rezultatele la lumina lumnrii.
Rijndael
Dintr-o perspectiv matematic, Rijndael se bazeaz pe Teoria Cmpului Galois, care i confer
o serie de proprieti de securitate demonstrabile. Cu toate acestea, poate fi privit i ca un cod C,
fr a intra n explicaii matematice.
Ca i DES, Rijndael folosete substituie i permutri, ca i runde multiple. Numrul de runde
depinde de mrimea cheii i de mrimea blocului, fiind 10 pentru o cheie de 128 de bii cu blocuri de
128 bii i mrindu-se pn la 14 pentru cheia cu cea mai mare dimensiune i blocul cu cea mai mare
dimensiune. Totui, spre deosebire de DES, toate operaiile sunt la nivel de octet, pentru a permite
implementri eficiente hardware i software. Codul este dat n fig. 8-9.

#define LENGTH 16 /* # octei n blocul de date sau n cheie */
#define NROWS 4 /* numr de linii din stare */
#define NCOLS 4 /* numr de coloane din stare */
#define ROUNDS 10 /* numr de iteraii */
typedef unsigned char byte; /* ntreg fr semn pe 8 bii */

rijndael(byte plaintext[LENGTH], byte ciphertext[LENGTH], byte key[LENGTH])
{
int r; /* index pentru iterare */
byte state[NROWS][NCOLS]; /* starea curent */
struct {byte k[NROWS][NCOLS];} rk[ROUNDS + 1]; /* cheile pentru runde */

expand_key(key, rk); /* construiete cheile pentru runde */
copy_plaintext_to_state(state, plaintext); /* iniializeaz starea curent */
xor_roundkey_into_state(state, rk[0]); /* face XOR ntre cheie i stare */

for (r = 1; r <= ROUNDS; r++) {
substitute(stare); /* aplic substituia fiecrui octet */
rotate_rows(state); /* rotete rndul i cu i octei */
if (r < ROUNDS) mix_columns(state); /* funcie de amestecare */
xor_roundkey_into_state(state, rk[r]); /* face XOR ntre cheie i stare */
}
copy_state_to_ciphertext(ciphertext, state); /* ntoarce rezultatul */
}
Fig. 8-9. Rijndael n linii generale

Funcia rijndael are trei parametri. Acetia sunt: plaintext, un vector de 16 octei coninnd date-
le de intrare, ciphertext, un vector de 16 octei n care va fi introdus rezultatul cifrat, i key, cheia de
16 octei. Pe durata calculelor, starea curent a datelor e pstrat ntr-un vector de octei, state, a
crui mrime este NROWS NCOLS. Pentru blocuri de 128 de octei, acest vector este de 4 4
octei. ntregul bloc de date de 128 de bii poate fi stocat n 16 octei.
Vectorul state este iniializat cu textul clar i este modificat la fiecare pas al calculului. n anumii
pai, este realizat substituia octet-cu-octet. n alii, octeii sunt permutai n interiorul vectorului.
Sunt folosite i alte transformri. La sfrit, coninutul lui state reprezint textul cifrat.
Codul ncepe prin expandarea cheii n 11 vectori de aceeai lungime cu starea. Acetia sunt me-
morai n rk, care este un vector de structuri, fiecare structur coninnd un vector stare. Unul dintre
acetia va fi folosit la nceputul calculului i ceilali 10 vor fi folosii n timpul celor 10 runde, cte
SEC. 8.2 ALGORITMI CU CHEIE SECRET 665

unul n fiecare rund. Calculul cheilor de runde din cheia de criptare este prea complicat pentru a fi
prezentat aici. Este de ajuns s spunem c cheile de runde sunt produse prin rotiri repetate i aplica-
rea de operaii XOR asupra unor grupuri de bii din cheie. Pentru toate detaliile, a se vedea
(Daemen i Rijmen, 2002).
Urmtorul pas este acela de a copia textul clar n vectorul state astfel nct s poat fi procesat pe
perioada rundelor. Acesta este copiat n ordinea coloanelor, cu primii patru octei n coloana 0, ur-
mtorii patru octei n coloana 1 i aa mai departe. Att coloanele ct i liniile sunt numerotate
pornind de la 0, dei rundele sunt numerotate pornind de la 1. Setarea iniial a celor 12 vectori de
octei de dimensiuni 4 4 este ilustrat n fig. 8-10.



Fig. 8-10. Crearea vectorilor state i rk

Mai este un pas nainte de a ncepe calculul principal: rk[0] este combinat prin XOR n state, oc-
tet cu octet. Cu alte cuvinte fiecare octet din cei 16 aflai n state este nlocuit cu rezultatul aplicrii
operaiei XOR asupra sa i asupra octetului corespunztor din rk[0].
i acum urmeaz partea cea mai interesant. Bucla execut 10 iteraii, cte una pe rund, trans-
formnd state la fiecare iteraie. Fiecare rund const n patru pai. Pasul 1 realizeaz o substituie
octet-cu-octet asupra lui state. Pe rnd, fiecare octet este folosit ca index ntr-o cutie S pentru a-i
nlocui valoarea prin coninutul corespunztor din acea cutie S. Acest pas este un cifru de substitu-
ie monoalfabetic direct. Spre deosebire de DES, care are mai multe cutii S, Rijndaek are doar o
cutie S.
Pasul 2 rotete la stnga fiecare din cele 4 rnduri. Rndul 0 este rotit cu 0 octei (nu e schimbat),
rndul 1 este rotit cu 1 octet, rndul 2 este rotit cu 2 octei i rndul 3 este rotit cu 3 octei. Acest pas
difuzeaz coninutul datelor curente n jurul blocului, analog cu permutrile din fig. 8-6.
Pasul 3 amestec fiecare coloan independent de celelalte. Aceast amestecare este realizat
prin nmulire de matrice, n care noua coloan este produsul dintre vechea coloan i o matrice
constant, multiplicarea fiind realizat folosind cmpul finit Galois, GF(2
8
). Dei acest lucru poate
prea complicat, exist un algoritm care permite fiecrui element al noii coloane s fie calculat folo-
sind dou cutri n tabele i trei operaii XOR (Daemen i Rijmen, 2002, Anexa E).
n fine, pasul 4 aplic operaia XOR pentru cheia din runda curent i vectorul stare.
Deoarece fiecare pas e reversibil, decriptarea poate fi realizat prin rularea algoritmului de la
coad la cap. Oricum, este posibil i o schem prin care decriptarea poate fi realizat prin rularea
algoritmului de criptare nemodificat, dar folosind tabele diferite.
666 SECURITATEA REELELOR CAP. 8


Algoritmul a fost proiectat nu doar pentru o securitate foarte solid, dar i pentru o vitez foarte
mare. O bun implementare software pe o main la 2 GHz ar trebui s ating o rat de criptare de
700 Mbps, ceea ce este suficient de rapid pentru a criptarea peste 100 de fiiere video MPEG-2 n
timp real. Implementrile hardware sunt chiar mai rapide.
8.2.3 Moduri de cifrare
n ciuda acestei complexiti, AES (sau DES sau orice cifru bloc de altfel) este de fapt un cifru de
substituie monoalfabetic care folosete caractere mari (caractere de 128 de bii pentru AES i
caractere de 64 de bii pentru DES). Ori de cte ori acelai bloc de text clar intr pe la un capt, ace-
lai text cifrat iese pe la cellalt. Dac criptezi textul clar abcdefgh de 100 de ori cu aceeai cheie
DES, obii acelai text cifrat de 100 de ori. Un intrus poate s exploateze aceast proprietate pentru
a submina cifrul.
Modul cu carte de coduri electronic
Pentru a vedea cum poate fi folosit aceast proprietate a cifrului cu substituie monoalfabetic
pentru a submina DES-ul, vom folosi (triplu) DES deoarece este mai uor s prezini blocuri de 64
de bii dect blocuri de 128 de bii; AES are ns exact aceeai problem. Modul direct de a folosi
DES pentru a cripta o bucat lung de text clar este de a o sparge n blocuri consecutive de 8 octei
(64 de bii) i de a le cripta unul dup altul cu aceeai cheie. Ultima bucat de text clar este comple-
tat pn la 64 de bii dac este nevoie. Tehnica este cunoscut ca modul ECB (Electronic Code
Book, rom: modul cu carte de coduri electronic), analog cu crile de coduri electronice de mod
veche unde era precizat fiecare cuvnt de text clar, urmat de textul su cifrat (de obicei un numr
zecimal de 5 cifre).
n fig. 8-11 este prezentat nceputul unui fiier 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
(triplu) DES.


Fig. 8-11. Textul clar al unui fiier criptat ca 16 blocuri 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 fiie-
rul criptat?
SEC. 8.2 ALGORITMI CU CHEIE SECRET 667

Nici o problem. Tot ceea ce are Leslie de fcut este s realizeze o copie a celui de-al 12-lea bloc
de text cifrat (care conine prima lui Kim) i s-l foloseasc pentru a nlocui blocul de text cifrat cu
numrul 4 (care conine prima lui Leslie). Chiar i fr a ti ce cuprinde blocul 12, Leslie se poate
atepta s aib un Crciun mai fericit anul acesta. (Copierea blocului de text cifrat 8 este de asemenea
o posibilitate, dar este mai probabil s fie descoperit; n plus, Leslie nu este o persoan lacom).
Modul cu nlnuirea blocurilor cifrate
Pentru a para acest tip de atac, 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 decrip-
tat, ncepnd cu blocul nlocuit, s fie nefolositor. Un mod de nlnuire este nlnuirea blocurilor
cifrate (eng.: cipher block chaining). n aceast metod, prezentat n fig. 8-12, fiecare bloc de text clar
este combinat prin XOR cu blocul anterior de text cifrat, nainte de a fi criptat. n 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 iniiali-
zare, IV (Initialization Vector), ales aleatoriu, care este transmis mpreun cu textul cifrat.


Fig. 8-12. nlnuirea blocurilor cifrate (Cipher block chaining). (a) Criptare. (b) Decriptare.

Putem vedea cum lucreaz nlnuirea blocurilor cifrate prin examinarea exemplului din fig. 8-
12. Putem ncepe prin a calcula C
0
=E(P
0
XOR IV). Apoi vom calcula C
1
=E(P
1
XOR C
0
) i aa mai
departe. Decriptarea folosete tot XOR pentru a inversa procesul, cu P
0
=IV XOR D(C
0
), i aa mai
departe. De notat c criptarea blocului i este o funcie de toate textele clare din blocurile de la 0 la i-
1, astfel nct acelai text clar va genera text cifrat diferit n funcie de locul unde apare. O transfor-
mare de tipul celei fcute de Leslie va avea ca rezultat un nonsens n cele dou blocuri ce ncep din
cmpul de 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 n acelai bloc de text cifrat, fcnd criptanaliza mai dificil.
De fapt, acesta este principalul motiv pentru care este folosit.
Modul cu reacie cifrat
Cu toate acestea, nlnuirea blocurilor cifrate are dezavantajul c este necesar 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 o persoan poate s introduc linii mai scurte de 8
caractere i apoi s se opreasc n ateptarea unui rspuns. Pentru criptrile octet-cu-octet poate fi
utilizat modul cu reacie cifrat (eng.:Cipher feedback mode), folosind (triplu) DES, ca n fig. 8-13.
668 SECURITATEA REELELOR CAP. 8


Pentru AES ideea este aceeai, numai c se folosete un registru de deplasare de 128 de bii. n
aceast figur, este artat starea mainii de criptare 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. 8-13(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 extras i combinat prin XOR cu P
10
. Acest octet este transmis
pe linie. n plus, registrul de deplasare este deplasat cu 8 bii la stnga, provocnd ieirea lui C
2
pe la
captul din stnga i inserarea lui C
10
n poziia care tocmai a rmas vacant la dreapta lui C
9
. De
notat c 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. La fel ca la nlnuirea blocurilor cifrate, este necesar un vector de iniializare pentru
a porni rostogolirea mingii.

Fig. 8-13. Modul cu reacie cifrat (Cipher feedback mode). (a) Criptare. (b) Decriptare.

Decriptarea n modul cu reacie cifrat face acelai lucru ca i criptarea. n particular, coninutul
registrului de deplasare este criptat, nu decriptat, astfel nct octetul selectat care este combinat prin
XOR cu C
10
pentru a obine P
10
este acelai cu cel ce a fost combinat prin XOR cu P
10
pentru a-l
obine pe C
10
prima dat. Atta vreme ct cele dou registre de deplasare rmn identice, decripta-
rea lucreaz corect. Acest lucru este ilustrat n fig. 8-13(b).
O problem a modului cu reacie cifrat este c, dac un bit al textului cifrat este inversat acci-
dental n timpul transmisiei, cei 8 octei care sunt decriptai n timp ce octetul greit este n registrul
de deplasare vor fi corupi. Odat ce octetul greit este mpins afar din registrul de deplasare, se va
genera din nou text clar corect. Astfel, efectele unui singur bit inversat sunt relativ localizate i nu
distrug restul mesajului, dar distrug atia bii ci are ca lime registrul de deplasare.
Modul cu cifru nlnuit
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, mo-
dul cu cifru nlnuit (eng.: Stream Cipher Mode). Acesta lucreaz criptnd un vector de iniializare,
folosind o cheie pentru a obine un bloc de ieire. Blocul de ieire este apoi criptat folosind cheia
pentru a obine un al doilea bloc de ieire. Acest bloc este apoi criptat pentru a obine un al treilea
SEC. 8.2 ALGORITMI CU CHEIE SECRET 669

bloc i aa mai departe. Secvena (arbitrar de mare) de blocuri de ieire, numit lanul de chei (eng.:
keystream), este tratat ca cheie acoperitoare (eng.: one-time pad) i este combinat cu textul clar
pentru a obine textul cifrat, ca n fig. 8-14(a). De notat c vectorul IV este folosit doar la primul pas.
Dup aceasta, ieirea este criptat. De notat de asemenea c lanul de chei este independent de da-
te, deci poate fi calculat n avans, dac este nevoie, i este complet insensibil la erori de transmisie.
Decriptarea este artat n fig. 8-14(b).
Fig. 8-14. Un cifru nlnuit. (a) Criptare. (b) Decriptare.

Decriptarea se face genernd acelai lan de chei la receptor. Deoarece lanul de chei depinde
doar de IV i de cheie, el nu este afectat de erori de transmisie n textul cifrat. Astfel, o eroare de 1
bit n textul cifrat transmis genereaz doar o eroare de 1 bit n textul clar decriptat.
Este esenial s nu se foloseasc aceeai pereche (cheie, IV) de dou ori cu un cifru nlnuit de-
oarece acest lucru va genera acelai lan de chei de fiecare dat. Folosirea aceluiai lan de chei de
dou ori expune textul cifrat la un atac prin refolosirea lanului de chei (eng.: keystream reuse
attack). Imaginai-v c blocul de text clar, P
0
este criptat cu lanul de chei pentru a obine P
0
XOR
K
0
. Mai trziu, un al doilea bloc de text clar Q
0
este criptat cu acelai lan de chei pentru a obine Q
0

XOR K
0
. Un intrus care captureaz ambele texte cifrate poate face simplu XOR ntre ele pentru a
obine P
0
XOR Q
0
, ceea ce elimin cheia. Intrusul are acum combinaia XOR a celor dou blocuri
de text clar. Dac unul dintre ele este tiut sau poate fi ghicit, atunci i cellalt poate fi gsit. n orice
caz, un XOR a dou iruri de text clar poate fi atacat folosind proprietile statistice ale mesajului.
De exemplu, pentru text n limba englez, cel mai comun caracter din ir va fi probabil XOR ntre
dou spaii, urmat de XOR ntre spaiu i litera e. Pe scurt, echipat cu un XOR ntre dou texte
clare, criptanalistul are o ans excelent de a le deduce pe ambele.
Modul contor
O problem pe care o au toate modurile n afar de modul cu carte de coduri electronic este c
e imposibilitatea accesului aleator la datele cifrate. De exemplu, s presupunem c un fiier este
transmis printr-o reea i apoi este stocat pe disc n forma criptat. Acesta ar fi un procedeu rezona-
bil cnd calculatorul receptor este un notebook (rom.: carnet de notie) care ar putea fi furat. Stoca-
rea tuturor fiierelor critice n form criptat reduce mult problemele datorate unor scurgeri de in-
formaii n eventualitatea n care calculatorul ajunge n mini nepotrivite.
Cu toate acestea, fiierele de pe disc sunt deseori accesate n ordine aleatoare, n special fiierele
din baze de date. Cu o criptare de fiiere care folosete nlnuire de blocuri cifrate, accesul la un
bloc aleator necesit nti decriptarea tuturor blocurilor dinaintea lui, ceea ce reprezint o soluie
670 SECURITATEA REELELOR CAP. 8


costisitoare. Din acest motiv s-a inventat nc un mod, modul contor (eng.: Counter Mode), schiat n
fig. 8-15. Aici textul clar nu este criptat direct. n schimb, se cripteaz vectorul de iniializare plus o
constant i textul cifrat rezultat se combin prin XOR cu textul clar. Crescnd cu 1 vectorul de inii-
alizare pentru fiecare bloc nou este uor s decriptezi un bloc de oriunde din fiier fr a fi nevoie s
i decriptezi toi predecesorii.
Fig. 8-15. Criptarea folosind modul contor

Dei modul contor este folositor, el are o slbiciune care merit s fie evideniat. S presupu-
nem c aceeai cheie, K, este folosit din nou ulterior (cu un text clar diferit dar cu acelai IV) i un
atacator obine tot textul cifrat n ambele rulri. Lanurile de chei sunt aceleai n ambele cazuri,
expunnd cifrul la un atac la refolosirea lanului de chei similar celui de la cifrurile nlnuite. Tot ce
are criptanalistul de fcut este XOR ntre cele dou texte cifrate pentru a elimina toat protecia
criptografic i a obine combinaia XOR ntre textele clare. Aceast slbiciune nu nseamn c mo-
dul contor este o idee proast. nseamn doar c i cheile i vectorii de iniializare ar trebui alese
independent i aleator. Chiar dac aceeai cheie este folosit accidental de dou ori, dac vectorul
IV este diferit de fiecare dat, textul clar este n siguran.
8.2.4 Alte cifruri
DES i Rijndael sunt cei mai cunoscui algoritmi criptografici cu cheie simetric. Cu toate aces-
tea merit s menionm c au fost proiectate numeroase alte cifruri cu cheie simetric. Cteva
dintre acestea sunt integrate cu diverse produse. Cteva dintre cele mai comune sunt enumerate n
fig. 8-16.

Cifru Autor Lungimea cheii Comentarii
Blowfish Bruce Schneier 1 - 448 de bii vechi i lent
DES IBM 56 de bii prea slab pentru a mai fi folosit acum
IDEA Massey i Xuejia 128 de bii bun, dar patentat
RC4 Ronald Rivest 1 - 2048 de bii atentie: anumite chei sunt slabe
RC5 Ronald Rivest 128 - 256 de bii bun, dar patentat
Rijndael Daemen and Rijmen 128 - 256 de bii cea mai bun alegere
Serpent Anderson, Biham, Knudsen 128 - 256 de bii foarte puternic
Triplu DES IBM 168 de bii a doua alegere
Twofish Bruce Schneier 128 - 256 de bii foarte puternic, larg folosit

Fig. 8-16. Civa algoritmi criptografici comuni cu cheie simetric.
SEC. 8.3 ALGORITMI CU CHEIE PUBLIC 671

8.2.5 Criptanaliza
nainte de a prsi subiectul criptografiei cu chei simetrice, merit cel puin s menionm patru
rezultate recente n criptanaliz. Primul este criptanaliza diferenial (Biham i Shamir, 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 ntm-
pl la fiecare iteraie intern pe msur ce criptarea avanseaz. n multe cazuri, anumite combinaii
apar mai des dect altele i aceast observaie conduce la un atac probabilistic.
Al doilea rezultat demn de notat este criptanaliza liniar (Matsui, 1994). Aceasta poate sparge
DES-ul cu doar 2
43
texte clare cunoscute. Lucreaz prin combinarea XOR a anumitor bii din textul
clar i din textul cifrat i examinarea rezultatelor pentru a descoperi tiparele. Cnd aceasta se face
repetat, jumtate din bii trebuie s fie 0 i jumtate s fie 1. Totui, adeseori, cifrurile introduc o
deviaie ntr-o direcie sau n alta i aceast deviaie, cu toate c este mic, poate fi exploatat pentru
a reduce efortul. Pentru mai multe detalii a se vedea lucrarea lui Matsui.
Al treilea rezultat este folosirea analizei consumului de energie electric pentru a afla chei secre-
te. Calculatoarele folosesc in mod tipic 3 voli pentru a reprezenta un bit 1 i 0 voli pentru a repre-
zenta un bit 0. De aceea, procesarea unui 1 consum mai mult energie electric dect procesarea
unui 0. Dac un algoritm criptografic const ntr-o bucl n care biii cheii sunt procesai n ordine,
un atacator care nlocuiete ceasul principal de n-GHz cu un ceas lent (de exemplu 100-Hz) i pune
mufe crocodil pe sursa procesorului i pinii de mas poate s monitorizeze precis puterea consumat
de fiecare instruciune main. Din aceste date, deducerea cheii este surprinztor de uoar. Acest
tip de criptanaliz poate fi contracarat numai de codificarea atent a algoritmului n limbaj de asam-
blare pentru a fi sigur c consumul de putere este independent de cheie i de asemenea independent
de toate cheile de rund individuale.
Al patrulea rezultat este analiza ntrzierilor. Algoritmii criptografici sunt plini de instruciuni if
care testeaz biii cheilor de rund. Dac prile then i else dureaz timpi diferii, prin ncetinirea
ceasului i msurarea duratei diverilor pai se pot deduce cheile de rund. Odat ce se cunosc toate
cheile de rund, de regul se poate calcula cheia original. Analizele de putere i de ntrzieri pot fi
folosite simultan pentru a face munca mai uoar. Cu toate c analizele de putere i de ntrzieri pot
prea exotice, n realitate ele sunt tehnici puternice care pot sparge orice cifru care nu a fost proiec-
tat n mod special pentru a le rezista.


8.3 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 putea fura cheia, sistemul i pierdea valoarea.
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). Dar cheia trebuia distri-
buit tuturor utilizatorilor sistemului. Astfel, prea a exista ntotdeauna urmtoarea problem ine-
rent: cheile trebuia protejate contra furtului dar, n acelai timp, ele trebuiau distribuite, astfel nct
ele nu puteau fi sechestrate ntr-un seif de banc.
672 SECURITATEA REELELOR CAP. 8


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 decripta-
re 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 s se deduc 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.
Fr aceast proprietate, receptorul legitim nu ar putea decripta textul cifrat. Cea de-a doua cerin
vorbete de la sine. Cea de-a treia cerin este necesar deoarece, dup cum vom vedea curnd, in-
truii pot experimenta i testa algoritmul dup pofta inimii. n 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 doi algoritmi ce satisfac cerinele de mai sus. Algoritmul de criptare i cheia lui Alice sunt
fcui apoi publici, de unde i numele de criptografie cu cheie public. Alice poate de exemplu s i
pun cheia public pe pagina ei personal de pe Web. Vom folosi notaia E
A
pentru algoritmul de crip-
tare parametrizat de cheia public a lui Alice. n mod similar, algoritmul (secret) de decriptare parame-
trizat de cheia privat a lui Alice este D
A
. Bob face acelai lucru, publicnd E
B
, dar innd D
B
secret.
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, E
A
, ct i cea a lui
Bob, E
B
, sunt presupuse a se gsi ntr-un fiier ce poate fi citit de oricine. Acum Alice ia primul ei
mesaj, P, calculeaz E
B
(P) i l trimite lui Bob. Bob l decripteaz aplicndu-i cheia sa secret D
B

[adic, el calculeaz D
B
(E
B
(P))=P]. Nimeni altcineva nu poate citi mesajul criptat, E
B
(P), deoarece
sistemul de criptare este presupus puternic i deoarece este prea greu s se deduc D
B
(P) din E
B
(P)
public cunoscut. Pentru a trimite un rspuns R, Bob transmite E
A
(R). 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 crip-
ta mesajele ce-i sunt trimise, i o cheie secret, de care utilizatorul are nevoie ca s-i decripteze me-
sajele. 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 pentru criptografia convenional cu cheie simetric.
8.3.1 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 metod bun a fost descoperit de un
grup de la MIT (Rivest et. al, 1978). Ea este cunoscut prin iniialele numelor celor trei descoperi-
tori (Rivest, Shamir, Adelman): RSA. Metoda a supravieuit tuturor ncercrilor de a o sparge timp
de mai mult de un sfert de secol i este considerat foarte puternic. Multe aplicaii de securitate se
bazeaz pe ea. Dezavantajul major al acesteia este c necesit chei de cel puin 1024 de bii pentru o
securitate bun (spre deosebire de 128 bii pentru algoritmii cu cheie simetric), ceea ce o face des-
tul de lent.
SEC. 8.3 ALGORITMI CU CHEIE PUBLIC 673

Metoda RSA 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 de 1024 bii).
2. Se calculeaz n = p q i z = (p - 1)(q-1).
3. Se alege un numr relativ prim cu z i este notat cu d.
4. Se gsete e astfel nct e 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 nu-
mr ntreg pentru care inegalitatea 2k < n este adevrat.
Pentru a cripta mesajul P, se calculeaz C = Pe (mod n). Pentru a decripta C, se calculeaz P =
Cd (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 de-
criptarea 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 p i q, iar din acestea pe z. Cu z i e
cunoscui, criptanalistul l poate calcula pe d folosind algoritmul lui Euclid. Din fericire, matematici-
enii au ncercat s factorizeze numere mari de cel puin 300 de ani i experiena acumulat sugerea-
z c aceasta este o problem mai mult dect dificil.
Dup Rivest i colegii si, factorizarea unui numr de 500 de cifre necesit un timp de calcul de
1025 ani folosind fora brut. 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 sec. Chiar dac viteza calcu-
latoarelor 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 p i q mai mari.
Un exemplu didactic banal pentru algoritmul RSA este dat n fig. 8-17. Pentru acest exemplu am
ales p = 3 i q = 11, rezultnd n = 33 i z = 20. O valoare potrivit pentru d este
d = 7, deoarece 7 i 20 nu au factori comuni. Cu aceste alegeri, e poate fi gsit prin rezolvarea ecua-
iei 7e = 1 (mod 20), care d e = 3. Textul cifrat, C, pentru textul clar al mesajului, P, este dat de C =
P
3
(mod 33). Textul cifrat este decriptat de ctre receptor dup regula P = C
7
(mod 33). Fig. prezin-
t ca exemplu criptarea i decriptarea textului clar SUZANNE.

Fig. 8-17. Un exemplu de algoritm RSA.
674 SECURITATEA REELELOR CAP. 8


Deoarece numerele prime alese pentru acest exemplu sunt prea mici, P trebuie s fie mai mic
dect 33, deci fiecare bloc 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 p i q = 2
512
,
am fi avut n = 2
1024
, astfel nct fiecare bloc poate fi de pn la 1024 de bii sau 128 de caractere de 8
bii, fa de 8 caractere pentru DES i 16 caractere pentru AES.
Trebuie subliniat c folosirea RSA n modul descris este similar folosirii unui algoritm simetric
n modul ECB - blocuri de intrare identice conduc la blocuri de ieire identice. De aceea este nece-
sar o anumit form de nlnuire pentru criptarea datelor. Totui, n practic, cele mai multe sis-
teme bazate pe RSA folosesc criptografia cu cheie public n principal pentru distribuirea cheilor de
sesiune de unic folosin utilizate pentru un algoritm simetric ca AES sau triplu DES. RSA este
prea lent pentru a cripta eficient volume mari de date, dar este folosit mult la distribuia de chei.
8.3.2 Ali algoritmi cu cheie public
Cu toate c RSA este larg rspndit, nu este n nici un caz singurul algoritm cu cheie public cu-
noscut. Primul algoritm cu cheie public a fost algoritmul rucsacului (Merkle i Hellman, 1978). Ide-
ea 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 intractabil computaional 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) l-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. Ronald
Rivest (R -ul din RSA) l-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 acestea, 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 dou categorii majore sunt cele bazate pe dificultatea factorizrii numerelor mari i a calcu-
lului logaritmilor discrei modulo un numr prim mare. Aceste probleme sunt considerate ca fiind cu
adevrat dificile deoarece matematicienii le studiaz de muli ani fr vreun progres notabil.


8.4 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 ca
sistemele de mesaje computerizate s nlocuiasc transportul fizic al documentelor scrise cu cerneal
pe hrtie trebuie gsit o metod ca documentele s fie semnate ntr-un mod nefalsificabil.
SEC. 8.4 SEMNTURI DIGITALE 675

Problema de a concepe un nlocuitor pentru semnturile scrise de mn este destul de dificil.
De fapt, este necesar 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 nege mai trziu c e autorul 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 debi-
tat. Cu alte cuvinte, banca trebuie s autentifice clientul (i clientul trebuie s autentifice banca).
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 brusc. Un client necinstit poate s
acuze banca, pretinznd c el nu a emis niciodat vreun ordin de cumprare de aur. Cnd banca pre-
zint mesajul n faa curii, clientul neag faptul c l-ar fi trimis. Proprietatea c nici o parte a unui con-
tract nu poate nega mai trziu faptul c l-a semnat se numete nerepudiere (eng.: nonrepudiation).
Schemele cu semntur digital pe care le vom studia acum ofer aceast proprietate.
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. n acest scenariu de fraud, banca i pstreaz restul de aur pentru ea nsi.
8.4.1 Semnturi cu cheie simetric
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, rom.: fratele cel mare). Fiecare
utilizator alege o cheie secret i o duce personal la biroul BB. Astfel, doar Alice i BB vor cunoate
cheia secret a lui Alice, K
A
, .a.m.d.
Atunci cnd Alice dorete s trimit un mesaj n clar semnat, P, bancherului su, Bob, ea gene-
reaz K
A
(B, R
A
, t, P), unde B este identitatea lui Bob, R
A
este un numr aleator ales de Alice, t este o
amprent de timp pentru a asigura prospeimea i K
A
(B, R
A
, t, P) este mesajul criptat cu cheia ei K
A
.
Apoi l trimite, dup cum este se arat i n fig. 8-18. BB vede c mesajul este de la Alice, l decrip-
teaz i i trimite lui Bob mesajul ca n figur. Mesajul trimis spre Bob conine textul clar din mesajul
lui Alice i, de asemenea, mesajul semnat K
BB
(A, t, P), unde t este amprenta de timp. Acum Bob
rezolv cererea lui Alice.

Fig. 8-18. Semnturi digitale cu Big Brother.

Ce se ntmpl dac Alice neag mai trziu trimiterea mesajului? Primul pas este c toat lumea
d n judecat pe toat lumea (cel puin n S.U.A.). n final, cnd cazul ajunge n faa curii i Alice
676 SECURITATEA REELELOR CAP. 8


neag cu nverunare c a trimis lui Bob mesajul n disput, judectorul l va ntreba pe Bob cum
poate fi 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 K
A
, aa c nu exist nici o posibilitate ca
Trudy s-i trimit lui BB un mesaj fals ca provenind de la Alice fr ca BB s l detecteze imediat.
Apoi Bob va aduce n mod incontestabila Prob A, K
BB
(A, t, P). Bob spune c acesta este un me-
saj 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. 8-18 apare atunci cnd Trudy replic ori-
care din mesaje. Pentru a minimiza aceast problem, sunt folosite peste tot amprente de timp. Mai
mult, Bob poate verifica toate mesajele recente s vad dac R
A
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
cu replic instantanee, Bob verific doar R
A
al oricrui mesaj venit, ca s vad dac s-a mai primit n
ultima or un astfel de mesaj de la Alice. Dac nu, Bob poate presupune fr nici un risc c mesajul
reprezint o nou cerere.
8.4.2 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 poate citi
toate mesajele semnate. Cei mai logici candidai pentru a juca rolul lui Big Brother sunt guvernul,
bncile, contabilii i avocaii. Din pcate, nici una dintre aceste organizaii nu inspir ncredere total
tuturor cetenilor. De aceea ar fi frumos dac semnarea documentelor nu ar necesita existena unei
astfel de autoriti de ncredere.
Din fericire, criptografia cu cheie public i poate aduce aici o important contribuie. S presu-
punem c algoritmii de criptare i decriptare cu cheie public au proprietatea c E(D(P))=P n plus
fa de proprietatea uzual D(E(P))=P. (RSA are aceast proprietate, deci presupunerea nu este
nerezonabil). Presupunnd acest lucru, Alice poate trimite un text clar semnat, P, lui Bob transmi-
nd E
B
(D
A
(P)). O observaie important aici este aceea c Alice cunoate att propria sa cheie se-
cret, D
A
, ct i cheia public a lui Bob, E
B
, 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
D
A
(P), dup cum este artat i n fig. 8-19. El memoreaz acest text ntr-un loc sigur i apoi aplic E
A

pentru a obine textul clar original.
Fig. 8-19. Semnturi digitale folosind criptografia cu cheie public.
SEC. 8.4 SEMNTURI DIGITALE 677

Pentru a vedea cum lucreaz proprietatea de semntur, 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 D
A
(P). Judectorul poate verifica uor c Bob are un mesaj valid criptat cu D
A
, doar
aplicnd E
A
asupra lui. 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-l fi
trimis. Ct timp va sta n nchisoare pentru minciun i fraud Alice va avea suficient timp s con-
ceap noi algoritmi cu cheie public interesani.
Cu toate c folosirea criptografiei cu cheie public pentru semnturi digitale este o schem ele-
gant, exist probleme legate mai degrab de mediul n care acestea opereaz dect de algoritmul de
la baz. De exemplu, Bob poate dovedi c mesajul a fost trimis de ctre Alice doar atta vreme ct
DA rmne secret. Dac Alice dezvluie cheia sa secret acest argument nu va mai fi valabil, deoa-
rece oricine poate s fi trimis mesajul, chiar i Bob.
Problema poate aprea, de exemplu, dac Bob este agentul de vnzri al lui Alice. Alice i spune
lui Bob s cumpere nite aciuni. Imediat dup aceea, preul scade vertiginos. Pentru a repudia mesa-
jul su ctre Bob, Alice face o plngere la poliie, pretinznd c i-a fost spart casa i furat cheia se-
cret. n funcie de legislaia din ara sau inutul su, ea 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 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 El Gamal pentru noul lor standard DSS (Digital Signature Standard, rom.: 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 anta-
gonist de mas. DSS a fost criticat pentru a fi:

1. Prea secret (NSA a proiectat protocolul pentru folosirea El Gamal).
2. Prea lent (de 10 pn la 40 de ori mai lent dect RSA n verificarea semnturilor).
3. Prea nou (El Gamal nu a fost nc suficient analizat).
4. Prea nesigur (chei fixe de 512 bii).

Dup o revizuire ulterioar, cel de-al patrulea motiv a fost eliminat fiindc s-au permis chei de
pn la 1024 bii. Cu toate acestea, primele dou puncte rmn valide.
8.4.3 Rezumate de mesaje
O critic adus schemelor de semntur este aceea c adeseori cupleaz dou funcii distincte:
autentificare i confidenialitate. Adesea, autentificarea este necesar, dar confidenialitatea nu. De
asemenea, obinerea unei licene de export este deseori mai uoar dac sistemul n chestiune ofer
numai autentificare dar nu i confidenialitate. Mai jos vom descrie o schem de autentificare care
nu necesit criptarea ntregului mesaj.
678 SECURITATEA REELELOR CAP. 8


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, MD,
adeseori numit rezumat (digest) al mesajului, are patru proprieti importante:

1. Dat fiind P, este uor de calculat MD(P).
2. Dat fiind MD(P), este efectiv imposibil de calculat P.
3. Dat fiind P nimeni nu poate gsi P

astfel nct MD(P

)=MD(P).
4. O schimbare la intrare chiar i de 1 bit produce o ieire foarte diferit.

Pentru a satisface criteriul 3, dispersia trebuie s aib cel puin 128 de bii lungime, de preferat
chiar mai mult. Pentru a satisface criteriul 4, dispersia trebuie s amestece biii foarte bine, la fel ca
algoritmii de criptare cu cheie simetric pe care i-am vzut.
Calculul rezumatului unui mesaj dintr-o bucat de text clar este mult mai rapid dect criptarea
acelui text clar cu un algoritm cu cheie public, deci rezumatele de mesaje pot fi folosite pentru a
oferi vitez algoritmilor cu semntur digital. Pentru a vedea cum lucreaz, s considerm din nou
protocolul de semntur din fig. 8-18. n loc de a semna P cu K
BB
(A, t, P), BB calculeaz acum rezu-
matul mesajului aplicnd MD lui P, rezultnd MD(P). BB include apoi K
BB
(A, t, MD(P)) ca al cinci-
lea element n lista criptat cu K
B
care este trimis lui Bob, n loc de K
BB
(A, t, P).
Dac apare o disput, Bob poate aduce ca argumente att P ct i K
BB
(A, t, MD(P)). Dup ce Big
Brother l-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. 8-20. Aici, Alice calculeaz mai nti rezumatul de mesaj pentru textul su clar. Apoi
ea semneaz rezumatul i trimite att rezumatul semnat ct i textul clar lui Bob. Dac Trudy l nlo-
cuiete pe P n timpul transferului, Bob va vedea aceasta atunci cnd va calcula el nsui MD(P).

Fig. 8-20. Semnturi digitale folosind rezumatul mesajului.
MD5
Au fost propuse diverse de funcii pentru calculul rezumatului mesajelor. Cele mai folosite sunt
MD5 (Rivest, 1992) i SHA-1 (NIST, 1993). MD5 este a cincea dintr-o serie de funcii de dispersie
proiectate de Ronald Rivest. Opereaz prin amestecarea biilor ntr-un mod suficient de complicat,
astfel nct fiecare bit de ieire s fie afectat de fiecare bit de intrare. Foarte pe scurt, algoritmul n-
cepe prin a umple mesajul pn la o lungime de 448 de bii (modulo 512). Apoi lungimea original a
mesajului este adugat ca un ntreg pe 64 de bii, dnd o intrare total a crei lungime este un
multiplu de 512 de 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 de bii i l amestec complet cu
tamponul de 128 de bii. Ca o msur suplimentar, este folosit i o tabel construit folosind func-
SEC. 8.4 SEMNTURI DIGITALE 679

ia sinus. Utilizarea unei funcii cunoscute cum este sinus nu se datoreaz faptului c este mai alea-
toare dect un generator de numere aleatoare, 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 prin-
cipiile aflate la baza proiectrii cutiilor S din DES a dus la destul de multe speculaii privind existena
trapelor ascunse. Rivest a vrut s evite aceast suspiciune. Pentru fiecare bloc de intrare sunt efectu-
ate patru runde. Acest proces continu pn cnd sunt consumate toate blocurile de intrare. Coni-
nutul tamponului de 128 de bii formeaz rezumatul mesajului.
MD5 este activ deja de peste o decad i a fost atacat de muli. S-au gsit cteva vulnerabiliti,
dar anumii pai interni previn spargerea lui. Totui, dac barierele care rmn n MD5 cad, poate c
ntr-un final va cdea i el. Cu toate acestea, la momentul scrierii acestei cri el sttea nc n picioare.
SHA-1
Alt funcie major pentru calculul rezumatului este SHA (Secure Hash Algorithm, rom.: Algo-
ritm de Dispersie Sigur), dezvoltat de NSA i acceptat de ctre NIST ca FIPS 180-1. Ca i MD5,
SHA-1 prelucreaz datele de intrare n blocuri de cte 512 de bii, dar, spre deosebire de MD5, ge-
nereaz un rezumat de mesaj de 160 de bii. Un mod tipic pentru Alice de a trimite un mesaj
nesecret dar semnat lui Bob este ilustrat n fig. 8-21. Aici mesajul ei de text clar este introdus n algo-
ritmul SHA-1 pentru a obine o dispersie SHA-1 de 160 bii. Apoi Alice semneaz dispersia cu cheia
sa privat RSA i trimite att mesajul n text clar ct i dispersia semnat lui Bob.

Fig. 8-21. Folosirea lui SHA-1 i RSA pentru a semna mesaje nesecrete

Dup ce primete mesajul, Bob calculeaz el nsui dispersia SHA-1 i aplic de asemenea cheia
public a lui Alice asupra dispersiei semnate pentru a obine dispersia original H. Dac cele dou
se potrivesc, mesajul este considerat valid. Deoarece nu exist nici o cale pentru Trudy de a modifica
mesajul (n text clar) n timp ce se trimite i de a produce unul nou care d ca dispersie H, Bob poate
s detecteze uor orice modificri pe care le-a adus Trudy mesajului. Pentru mesajele a cror integri-
tate este important dar al cror coninut nu este secret, se folosete pe larg schema din fig. 8-21. n
schimbul unui cost de calcul relativ mic, ea garanteaz c orice modificri fcute asupra mesajului n
text clar n tranzit pot fi detectate cu o probabilitate foarte mare.
Acum s vedem pe scurt cum lucreaz SHA-1. Acesta ncepe prin a completa mesajul, adugnd
la sfrit un bit 1, urmat de ati bii 0 ci sunt necesari pentru a obine o lungime multiplu de 512
de bii. Apoi se introduce prin OR n cei 64 de bii mai puin semnificativi un numr de 64 bii coni-
nnd lungimea mesajului naintea completrii. n fig. 8-22, este artat mesajul cu completare la
dreapta deoarece textul i cifrele englezeti merg de la stnga la dreapta (adic dreapta jos este per-
ceput n general ca sfrit de cifr). La calculatoare, aceast orientare corespunde la maini de tip
680 SECURITATEA REELELOR CAP. 8


big-endian ca SPARC, dar SHA-1 completeaz ntotdeauna sfritul mesajului, indiferent de ce tip
de endian este maina.

Fig. 8-22. (a) Un mesaj completat pn la un multiplu de 512 bii. (b) Variabilele de ieire. (c)
Vectorul de cuvinte

n timpul calculului, SHA-1 pstreaz cinci variabile de 32 de bii, H
0
pn la H
4
, n care se
acumuleaz dispersia. Acestea sunt artate n fig. 8-22(b). Ele sunt iniializate la constante specifi-
cate n standard.
Fiecare din blocurile M
0
pn la M
n-1
este prelucrat pe rnd. Pentru blocul curent, primele 16 cu-
vinte sunt copiate mai nti la nceputul unui vector auxiliar de 80 de cuvinte, W, ca n fig. 8-22(c).
Apoi celelalte 64 de cuvinte din W sunt umplute folosind formula

W
i
=S
i
(W
i-3
XOR W
i-8
XOR W
i-14
XOR W
i-16
) (16 i 79)

unde S
b
(W) reprezint rotaia circular la stnga, cu b bii a cuvntului de 32 de bii W. Cinci variabi-
le auxiliare, de la A pn la E, sunt apoi iniializate din H
0
H
4
respectiv.
Calculul poate fi prezentat n pseudo-C astfel:

for (i = 0; i < 80; i++) {
temp = S
5
(A) + f
I
(B, C, D) + E + W
i
+ K
i
;
E = D; D = C; C = S
30
(B); B = A; A = temp;
}

unde constantele K
i
sunt definite n standard. Funciile de amestecare f
i
sunt definite astfel:

f
i
(B, C, D) = (B AND C) OR (NOT B AND D) ( 0 i 19)
f
i
(B, C, D) = B XOR C XOR D (20 i 39)
f
i
(B, C, D) = (B AND C) OR (B AND D) OR (C AND D) (40 i 59)
f
i
(B, C, D) = B XOR C XOR D (60 i 79)

Cnd toate cele 80 de iteraii ale buclei sunt terminate, variabilele A pn la E sunt adugate la
H
0
pn la H
4
, respectiv.
Dup prelucrarea primului bloc de 512 de bii, se ncepe urmtorul. Vectorul W este reiniializat
din noul bloc, dar H este lsat cum era. Cnd acest bloc se termin, se ncepe urmtorul, .a.m.d.,
pn cnd toate blocurile de 512 de bii ale mesajului au fost bgate n seam. Cnd ultimul bloc a
fost terminat, cele cinci cuvinte de 32 de bii din vectorul H sunt scoase la ieire ca dispersia cripto-
grafic de 160 bii. Codul complet C pentru SHA-1 este dat n RFC 3174.
Noi versiuni ale SHA-1 sunt n curs de alctuire pentru dispersii de respectiv 256, 384 i 512 bii.
SEC. 8.4 SEMNTURI DIGITALE 681

8.4.4 Atacul zilei de natere
n lumea criptografiei, nimic nu este ceea ce pare a fi. S-ar putea crede c sunt necesare 2m ope-
raii pentru a falsifica un rezumat de m bii. De fapt, 2m/2 sunt suficiente dac se folosete atacul
zilei de natere, o abordare publicat de Yuval (1979) n lucrarea sa How to Swindle Rabin (rom.:
Cum s-l 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 a-
teapt 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 (2323)/2 = 253 perechi
diferite, fiecare dintre ele avnd o probabilitate de 1/365 s fie cea potrivit. n aceast lumin, rezul-
tatul 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 este posibil
pentru
n k >
. Acest rezultat nseamn c un rezumat de 64 de bii poate fi probabil spart prin
generarea a aproape 232 mesaje i cutnd dou cu acelai rezumat.
S vedem acum un exemplu practic. Departamentul de tiina Calculatoarelor de la Universita-
tea 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 decanu-
lui. Ellen poate trimite scrisoarea mai trziu, prin pot electronic.
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 candi-
date | up] for tenure [now | this year]. I have [known | worked with] Prof. Wilson for [about | almost]
six years. He is an [outstanding | excellent] researcher of great [talent | ability] known [worldwide |
internationally] for his [brilliant | creative] insights into [many | a wide variety of ] [difficult | challeng-
ing] problems.
He is also a [highly | greatly] [respected | admired] [teacher | educator]. His students give his
[classes | courses] [rave | spectacular] reviews. He is [our | the Departments] [most popular | best-
loved] [teacher | instructor].
[In addition | Additionally] Prof. Wilson is a [gifted | effective] fund raiser. His [grants | contracts]
have brought a [large | substantial] amount of money into [the | our] Department. [This money has |
These funds have] [enabled | permitted] us to [pursue | carry out] 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. I strongly urge you to
grant him tenure.
682 SECURITATEA REELELOR CAP. 8



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 | message] is to give my [honest | frank] opinion of Prof. Tom Wilson, who is [a candi-
date | up] for tenure [now | this year]. I have [known | worked with]. Prof. Wilson for [about | almost]
six years. He is an [poor | weak] researcher not well known in his [field | area]. His research [hardly
ever | rarely] shows [insight in | understanding of] the [key | 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 Departments] least popular [teacher | instructor], known
[mostly | primarily] within [our | the] Department for his [tendency | propensity] to [ridicule | embar-
rass] students [foolish | imprudent] enough to ask questions in his classes.
[In addition | Additionally] Tom is a [poor | marginal] fund raiser. His [grants | contracts] have
brought only a [meager | 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 | circumstances]. I cannot in good [conscience
| faith] recommend him to you for [tenure | a permanent position].

Ellen pune calculatorul s calculeze n timpul nopii 2
32
rezumate de mesaj pentru fiecare scri-
soare. Exist anse ca un rezumat al primei scrisori s se potriveasc cu un rezumat al celei de-a do-
ua 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.
Ellen trimite acum scrisoarea A lui Marilyn pentru aprobare. Scrisoarea B o pstreaz complet
secret, neartnd-o nimnui. Desigur c Marilyn o aprob, calculeaz rezumatul de 64 de bii, sem-
neaz rezumatul i trimite rezumatul semnat decanului Smith. Independent, Ellen i trimite decanu-
lui Smith scrisoarea B (i nu scrisoarea A, cum trebuia).
Dup ce primete scrisoarea i rezumatul semnat, decanul ruleaz algoritmul de calcul al rezu-
matului pentru scrisoarea B, vede c se potrivete cu ceea ce i-a trimis Marilyn i l d afar pe Tom.
Decanul nu nelege c Ellen a reuit s genereze dou scrisori cu acelai rezumat i i-a trimis o scri-
soare diferit dect cea pe care a vzut-o i aprobat-o Marilyn. (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, chiar i la un miliard de rezumate pe secund, ar trebui peste 500 de ani
pentru a calcula 2
64
rezumate pentru cele dou scrisori, cu 64 de variante fiecare, i nici atunci succe-
sul nefiind garantat. SHA-1 este mai bun (deoarece este mai lung).


8.5 GESTIONAREA CHEILOR PUBLICE
Criptografia cu chei publice face posibil comunicaia sigur ntre persoane care nu mpart o
cheie comun. De asemenea face posibil semnarea mesajelor fr prezena unei a treia pri de
ncredere. n fine, rezumatul mesajului semnat face posibil verificarea uoar a integritii mesaje-
lor primite.
SEC. 8.5 GESTIONAREA CHEILOR PUBLICE 683

Oricum, exist o problem peste care am trecut un pic cam repede: dac Alice i Bob nu se cu-
nosc unul pe altul, cum i pot afla cheile publice pentru a porni procesul de comunicaie? Soluia
evident punei cheia public pe web nu merge datorit urmtorului motiv. Presupunem c Alice
vrea s caute cheia public a lui Bob pe site-ul lui de web. Cum face ea acest lucru? ncepe prin a
tasta adresa de web a lui Bob. Browserul ei va cuta adresa DNS a paginii principale a lui Bob i va
trimite o cerere de tip GET, aa cum se indic n fig. 8-23. Din pcate, Trudy intercepteaz cererea i
rspunde cu o fals pagin principal, probabil o copie a paginii principale a lui Bob n care s-a nlo-
cuit cheia public a lui Bob cu cheia public a lui Trudy. Cnd Alice va cripta primul ei mesaj cu E
T
,
Trudy l va decripta, l va citi, l va recripta cu cheia public a lui Bob i l va trimite apoi lui Bob, care
nu este capabil s-i dea seama c Trudy i-a citit mesajele primite. i mai grav, Trudy poate modifica
mesajele nainte de a le recripta pentru Bob. n mod evident, este nevoie de un mecanism care s
asigure un schimb sigur de chei publice.

Fig. 8-23. O modalitate prin care Trudy sparge infrastructura cu chei publice
8.5.1 Certificate
Ca o prim ncercare de distribuire sigur a cheilor publice, ne putem imagina un centru de dis-
tribuie a cheilor disponibil 24 de ore pe zi pentru a oferi chei publice la cerere. Una dintre multele
probleme ale acestei soluii este lipsa de scalabilitate i faptul c centrul de distribuie de chei va de-
veni rapid un punct de gtuire a procesului de distribuie de chei. De asemenea, dac centrul se va
opri vreodat, securitatea Internetului se va pierde in mod subit.
Din cauza acestor motive, s-a dezvoltat o soluie diferit, care nu presupune un centru de distri-
buie de chei care s fie disponibil tot timpul. De fapt, acesta nu trebuie s fie disponibil deloc. n
schimb, soluia aleas certific faptul c o cheie public aparine unei anume persoane, companii sau
altei organizaii. O organizaie care certific chei publice este numit CA (Certification Authority,
rom.: Autoritate de Certificare).
Fig. 8-24. Un certificat posibil i rezumatul su semnat
684 SECURITATEA REELELOR CAP. 8


De exemplu, s presupunem c Bob vrea s-i permit lui Alice i altor persoane s comunice n
mod sigur cu el. El poate s mearg la un CA cu cheia sa public nsoit de paaport sau permisul
de conducere i s cear s fie certificat. CA-ul va emite un certificat similar cu cel din fig. 8-24 i va
semna rezumatul de tip SHA-1 al certificatului cu cheia sa secret. Bob va plti preul cerut de CA i
va obine o dischet coninnd certificatul i rezumatul semnat.Scopul principal al unui certificat este
s fac legtura ntre o cheie public i o entitate (individ, companie etc.). Certificatele n sine nu
sunt secrete sau protejate. Bob poate, de exemplu, s decid s-i pun noul certificat pe sit-ul su
web, cu o legtur ctre pagina sa principal n care sa afirme: "Apas aici pentru certificatul chei
mele publice". Ca rezultat se vor returna att certificatul ct i semntura sa (codul de dispersie sem-
nat SHA-1 al certificatului).
S mai analizam nc o dat scenariul din fig. 8-23. Cnd Trudy intercepteaz cererea lui Alice
pentru pagina principal a lui Bob, ce poate face ea acum? i poate pune propriul ei certificat i
semntura pe pagina fals, dar cnd Alice va citi certificatul i va da seama imediat c nu vorbete
cu Bob deoarece numele lui Bob nu se gsete n certificat. Trudy poate modifica pagina lui Bob din
mers, nlocuind cheia public a lui Bob cu propria ei cheie. Oricum, cnd Alice va rula algoritmul
SHA-1 pe certificat, va obine un rezumat care va fi diferit de cel obinut prin aplicarea cheii publice
a CA-ului asupra semnturii certificatului. Cum Trudy nu deine cheia privat a CA-ului, ea nu are
nici o modalitate de a genera un bloc de semntur care s conin codul de dispersie modificat de
ea, prin nlocuirea propriei sale chei publice n pagina de web. n acest fel Alice poate fi sigur ca are
cheia public a lui Bob i nu pe cea a lui Trudy sau a altcuiva. Cum am promis, aceast schem nu
presupune un CA disponibil mereu pentru verificare, eliminndu-se astfel o posibil gtuire.
n timp ce funcia standard a unui certificat este de a face legtura ntre o cheie public i o enti-
tate, un certificat poate face legtura ntre o cheie public i un atribut. De exemplu un certificat
poate afirma: "Aceast cheie public aparine cuiva care are vrsta de peste 18 ani. Ea poate fi folosi-
t pentru a dovedi c posesorul cheii private nu este minor i c are acces la materiale interzise copii-
lor i aa mai departe" , fr a dezvlui identitatea posesorului certificatului. n mod obinuit, per-
soana care deine un certificat, l va trimite unui sit Web, persoan sau proces de administrare, n
care se ine cont de vrst. Acel sit (persoana sau procesul de administrare) va genera un numr
aleator i l va cripta cu cheia public prezent n certificat. Dac posesorul certificatului este capabil
s decripteze mesajul i s-l trimit napoi, acest lucru va fi o dovada c posesorul deine ntr-adevr
atributul din certificat. Ca alternativ, numrul aleator poate fi folosit pentru a genera o cheie de
sesiune pentru a garanta comunicaia.
Un alt exemplu n care certificatul poate conine un atribut este cazul sistemelor distribuite ori-
entate pe obiecte. Fiecare obiect are n mod normal mai multe metode. Proprietarul unui obiect
poate oferi fiecrui client un certificat care s conin o hart de bii cu metode ce sunt permise cli-
entului respectiv i poate face legtura ntre cheia public i harta de bii prin folosirea unui certificat
semnat. i n acest caz, dac posesorul certificatului poate dovedi c este n posesia cheii secrete co-
respunztoare, el va avea dreptul s execute metodele identificate de harta de bii. Certificatul are
proprietatea c identitatea posesorului nu trebuie s fie cunoscut, proprietate util n situaii n care
confidenialitatea este important.
8.5.2 X.509
Dac fiecare persoan care dorete ceva semnat ar merge la CA pentru diverse tipuri de certifi-
cate, gestionarea tuturor tipurilor de formate ar deveni curnd o problem. Pentru a rezolva aceast
SEC. 8.5 GESTIONAREA CHEILOR PUBLICE 685

problem, s-a proiectat i aprobat de ctre ITU un standard pentru certificate. Standardul se nume-
te X.509 i este folosit pe scara larg n Internet. De la prima standardizare din 1998, au existat trei
versiuni. Vom discuta mai departe despre V3.
X.509 a fost foarte mult influenat de lumea OSI, mprumutnd unele din cele mai proaste trs-
turi (ex. politica de nume i codificarea ). n mod surprinztor, IETF a fost de acord cu X.509, chiar
dac n alte domenii, de la adresele mainilor la protocoalele de transport i formatul potei electro-
nice, IETF ignor OSI i ncearc s fac lucrurile corect. Versiunea IETF pentru X.509 este descri-
s n RFC 3280.
n principal, X.509 este o modalitate de a descrie certificate. Cmpurile principale dintr-un certifi-
cat sunt listate in fig. 8-25. Descrierea dat aici ar trebui s ofere o idee general a ceea ce fac cmpu-
rile respective. Pentru informaii adiionale, v rog s consultai standardul n sine sau RFC 2459.

Cmp Semnificaie
Versiune Ce versiune de X.509 este utilizat
Numr Serial Acest numr mpreun numele CA-ului identific n mod unic certificatul
Algoritm de semnare Algoritmul folosit la semnarea certificatului
Emitent Numele X.500 al CA-ului
Perioada de validitate Momentele de nceput i sfrit ale perioadei de validitate
Numele subiectului Entitatea care este certificat
Cheia public Cheia public a subiectului i ID-ul algoritmului folosit
ID emitent Un identificator opional identificnd n mod unic emitentul certificatului
ID subiect Un identificator opional identificnd n mod unic subiectul certificatului
Extinderi Au fost definite mai multe extinderi
Semntura Semntura certificatului (semnat cu cheia privat a CA-ului)

Fig. 8-25. Cmpurile principale dintr-un certificat X.509

De exemplu, daca Bob lucreaz n departamentul de mprumuturi al Bncii Bani, adresa sa
X.500 poate sa fie:

/c=US/O=MoneyBanc/OU=Loan/CN=Bob/

unde C indic ara, O indica organizaia, OU reprezint o unitate din organizaie, i CN este folosit
drept numele comun (eng.: common name). CA-urile i alte entiti sunt denumite similar. O pro-
blem mare cu numele X.500 este c, dac Alice vrea s-l contacteze pe bob@moneybank.com i
are un certificat coninnd un nume X.500, nu este evident c acel certificat se refer la acel Bob pe
care vrea ea s-l contacteze. Din fericire, ncepnd cu versiunea 3, sunt permise numele DNS n loc
de numele X.500, deci aceast problem ar putea s dispar.
Certificatele sunt codificate folosind OSI ASN.1 (eng.: Abstract Syntax Notation 1, rom.: Notaia
sintactic abstract 1), care poate fi vzut ca o structur C, cu excepia unei notaii foarte specifice
i detaliate. Mai multe informaii despre X.509 pot fi gsite in (Ford i Baum, 2000).
8.5.3 Infrastructuri cu chei publice
Existena unei singure Autoriti de certificare care s emit toate certificatele din lume nu este
evident o bun soluie. Ea ar ceda datorit ncrcrii mari i va fi n acelai timp i un punct central
de defectare. O soluie posibil este existena mai multor CA-uri, toate rulnd n cadrul aceleai or-
ganizaii i folosind aceeai cheie privat pentru semnarea certificatelor. Cu toate c se rezolv pro-
blema ncrcrii i a defectrii, aceast soluie introduce o problem nou: dezvluirea cheilor. Dac
ar exista o zeci de servere mprtiate prin lume, toate deinnd cheia privat a CA-ului, posibilitatea
686 SECURITATEA REELELOR CAP. 8


furtului cheii private sau a dezvluirii ei va crete foarte mult. Cum compromiterea acestei chei va
ruina securitatea infrastructurii electronice mondiale, existena unei singure CA centrale este un risc
foarte mare.
n plus, ce organizaii vor juca rolul de CA? Este foarte greu de imaginat c orice autoritate este
acceptat la nivel mondial ca legitim i de ncredere. n unele ri oamenii vor insista s fie guver-
namental, n timp ce n altele vor insista s nu fie o organizaie guvernamental.
Din cauza acestor motive, a fost dezvoltat o alt variant de certificare a cheilor publice. Denu-
mirea general este de PKI (eng.: Public Key Infrastructure, rom.: Infrastructur cu chei publice) .
n aceast seciune vom prezenta pe scurt cum funcioneaz PKI n general, dei au existat mai mul-
te propuneri care vor face ca detaliile s evolueze n timp.
O PKI are mai multe componente, incluznd utilizatorii, CA-urile, certificatele i directoarele.
Scopul unei PKI este s ofere o structurare a acestor componente i s defineasc standarde pentru
diferite documente i protocoale. O form particular de PKI este o ierarhie de CA-uri, aa cum se
arat n fig. 8-26. n acest exemplu se prezint trei niveluri, dar n practic pot fi mai multe sau mai
puine. CA-ul din vrf, rdcina, certific a doua CA, pe care o vom denumi RA (eng.: Regional
Authority, rom.: Autoritate Regional) deoarece va rspunde de anumite regiuni geografice, precum
o ar sau un continent. Acest termen nu este standard; de fapt nici un termen referitor la diferite
nivele din arbore nu este standardizat. Aceste RA-uri certific de fapt adevratele CA-uri, care vor
emite certificate X.509 pentru organizaii i indivizi. Cnd rdcina autorizeaz o nou RA, ea va
genera un nou certificat X.509 care atest c a aprobat RA-ul, incluznd n el noua cheie public a
RA-ului, l va semna i l va trimite RA-ului. Similar, RA-ul aprob noi CA-uri, genereaz i sem-
neaz certificate care atest aprobarea i conin cheia public a CA-ului.
PKI-ul nostru funcioneaz n modul urmtor. S presupunem c Alice are nevoie de cheia pu-
blic a lui Bob pentru a comunica cu acesta, deci ea va cuta i va gsi un certificat semnat de CA 5
care s conin cheia public respectiv. Dar Alice nu a auzit niciodat de CA 5. Din cte tie ea, CA
5 poate fi i fiica de 10 ani a lui Bob. S-ar putea duce la CA5 i s-i pretind s i dovedeasc legiti-
mitatea. CA 5 rspunde cu certificatul obinut de la RA 2, care conine cheia public a lui CA 5.
Acum, deinnd cheia public a lui CA 5, ea poate verifica dac certificatul lui Bob este ntr-adevr
semnat de CA 5 i datorit acestui fapt este legal.
Fig. 8-26. (a) O PKI ierarhic (b) Un lan de certificate

SEC. 8.5 GESTIONAREA CHEILOR PUBLICE 687

Dar dac RA 2 este copilul de 12 ani al lui Bob? Deci pasul urmtor pentru ea este de a cere ca
RA 2 s-i dovedeasc legitimitatea. Rspunsul la ntrebarea ei este certificatul semnat de rdcin
i care conine cheia public a lui RA 2. Acum Alice este sigur ca ea deine cheia public a lui Bob.
Dar cum tie Alice sa gseasc cheia public a rdcinii? Magie. Se presupune c toat lumea
cunoate cheia public a rdcinii. De exemplu, programul su de navigare ar fi putut fi vndut cu
cheia public a rdcinii nglobat n el.
Bob este un tip prietenos i nu vrea s-i provoace lui Alice mult btaie de cap. El tie c ea tre-
buie s verifice CA 5 i RA 2, deci pentru a-i economisi timp, el colecteaz certificatele necesare i i
transmite nc dou certificate alturi de al su. Acum ea i poate folosi propria ei informaie cu
privire la cheia public a rdcinii pentru a verifica certificatul din vrful ierarhiei i cheia public
coninut n acesta pentru a verifica al doilea certificat. n acest fel, Alice nu mai trebuie s contacte-
ze pe nimeni pentru a efectua verificarea. Pentru c toate certificatele sunt semnate, ea poate detec-
ta cu uurina orice ncercare de falsificare a coninutului acestora. Un lan de certificate care duce la
rdcin, ca n acest exemplu, este denumit cteodat lan de ncredere sau cale de certificare. Teh-
nica este larg rspndit n practic.
Desigur, mai rmne problema cine va juca rolul de rdcin. Soluia este s nu avem o singur
rdcin, ci s avem mai multe, fiecare cu propriile sale RA-uri i CA-uri. De fapt, programele de
navigare moderne vin prencrcate cu cheile publice a peste 100 de rdcini, denumite cteodat
puncte de ncredere. n acest fel, poate fi evitat existena la nivel mondial a unei singure autoriti
de ncredere.
Dar apare acum problema cum poate decide productorul programului de navigare care dintre
punctele sugerate sunt de ncredere i care nu. Totul se reduce la ncrederea utilizatorului n faptul
c productorul programului de navigare este capabil s fac alegeri nelepte i nu doar s aprobe
toate punctele de ncredere care au pltit o tax pentru includere. Majoritatea programelor de navi-
gare permit utilizatorilor s inspecteze cheile rdcinilor (n mod obinuit sub form de certificate
semnate de rdcin) i s le tearg pe cele care par dubioase.
Directoare
O alt problem pentru orice PKI este locul n care se stocheaz certificatele (i lanurile care
duc ctre un punct de ncredere cunoscut). O posibilitate este ca fiecare utilizator s-i stocheze pro-
priile certificate. Cu toate c acest lucru este sigur (de ex. nu exist nici o posibilitate ca un utilizator
s falsifice certificatele semnate fr a fi detectat), nu este prea convenabil. O alternativ care a fost
propus este folosirea DNS ca director pentru certificate. nainte de a-l contacta pe Bob, Alice pro-
babil i va cuta adresa IP folosind DNS, deci de ce s nu ntoarc DNS-ul ntregul lan de certificate
odat cu adresa IP?
Unele persoane consider c aceasta este soluia corect, dar alii prefer servere de directoare
specializate a cror ndatorire este doar gestionarea de certificate X.509. Directoarele de acest fel
pot oferi servicii de cutare bazate pe proprietile numelor X.500. De exemplu, n teorie un astfel
de director poate rspunde la o ntrebare de tipul: "D-mi o list a persoanelor numite Alice care
lucreaz n departamentul de vnzri oriunde n Canada sau S.U.A.". LDAP poate fi un candidat
care s stocheze acest tip de informaii.
Revocarea
Lumea real este plin de certificate, la fel ca n cazul paapoartelor i al carnetelor de condu-
cere. Cteodat aceste certificate pot fi revocate, de exemplu, carnetul de conducere poate fi
suspendat pentru conducere sub influena alcoolului sau pentru o alt greeal de conducere.
Aceeai problem apare i n lumea digital: emitentul unui certificat poate decide dac s-l revoce
688 SECURITATEA REELELOR CAP. 8


problem apare i n lumea digital: emitentul unui certificat poate decide dac s-l revoce n cazul
n care persoana sau organizaia care l deine a abuzat de el ntr-un anume mod. El poate fi de
asemenea revocat dac cheia privat a subiectului a fost compromis (demascat), sau mai ru,
dac cheia privat a CA-ului a fost compromis. Atunci, o PKI trebuie s fie capabil s trateze
problema revocrii.
Primul pas n aceast direcie este ca fiecare CA s emit periodic o CRL (eng.: Certificate
Revocation List, rom.: List de Certificate Revocate) coninnd numerele seriale ale tuturor certifi-
catelor revocate de aceasta. Cum certificatele conin data de expirare, CRL-ul trebuie s conin
doar numerele seriale ale certificatelor care nc nu au expirat. Odat ce perioada de validitate a
expirat, un certificat este automat invalidat, deci nu mai este necesar nici o distincie ntre acelea
care tocmai au expirat i cele are au fost de fapt revocate. n ambele cazuri, certificatele nu mai pot fi
folosite n continuare.
Din pcate, introducerea CRL-ului nseamn c un utilizator care dorete s foloseasc un certi-
ficat trebuie acum s consulte CRL-ul pentru a vedea dac certificatul a fost revocat. Dac a fost
revocat, nu mai trebuie folosit. Oricum, chiar dac certificatul nu este n list, el poate s fi fost revo-
cat chiar dup ce lista a fost publicat. Atunci, singura modalitate rmne ntrebarea ctre CA. La o
nou folosire a aceluiai certificat, CA-ul trebuie ntrebat din nou, pentru este posibil ca certificatul
s fi fost revocat cu cteva secunde n urm.
O alt complicaie este c un certificat revocat poate n principiu s fie restabilit, de exemplu, da-
c a fost revocat datorit neplii unei taxe care acum s-a pltit. Avnd de a face cu revocarea (i
posibil cu restabilirea) se elimin una dintre cele mai bune proprieti ale certificatelor, adic faptul
c ele pot fi folosite fr a fi necesar sa se contacteze o RA.
Unde trebuie stocate CRL-urile? Un loc bun ar putea fi acela n care se stocheaz certificatele
nsele. O strategie este ca CA-ul s publice periodic CRL-uri i s permit directoarelor s nlture
certificatele revocate. Dac nu sunt folosite directoare pentru stocarea de certificate, CRL-urile pot
fi inute n diverse locuri convenabile din reea. Cum o CRL este ea nsi un document, dac este
falsificat, falsul se poate detecta uor.
Dac certificatele au durate de via lungi, i CRL-urile vor avea perioade lungi. De exemplu,
cnd crile de credit sunt valide pentru 5 ani, numrul de nerezolvri ale revocrilor va fi mult mai
mare dect dac se emit cri de credit noi la fiecare 3 luni. Un mod standard de a aborda CRL-urile
lungi este de a emite rar o list principal, dar de a-i face modificri mult mai des. Acest lucru reduce
limea de band necesar distribuirii CRL-urilor.


8.6 SECURITATEA COMUNICAIEI
Am terminat acum studiul asupra instrumentelor comerciale. Cele mai importante tehnologii i
protocoale au fost prezentate. Restul capitolului se refer la modul de aplicare n practic a acestor
tehnologii pentru a se asigura securitatea reelei, plus cteva gnduri despre aspectele sociale ale
securitii prezentate la sfritul capitolului.
n urmtoarele patru seciuni, ne vom axa pe securitatea comunicaiei, deci cum s transferm
biii confidenial i fr a fi modificai, de la surs la destinaie i cum s inem biii nedorii n faa
SEC. 8.6 SECURITATEA COMUNICAIEI 689

uii. Fr discuie c acestea nu sunt singurele idei despre securitatea n reele, dar cu siguran sunt
printre cele mai importante, constituind un bun loc de plecare.
8.6.1 IPsec
IETF a tiut de ani de zile c securitatea lipsea din Internet. Adugarea ei nu a fost uoar deoa-
rece a izbucnit un rzboi cu privire la locul de plasare al acesteia. Majoritatea experilor n securitate
credeau c pentru a fi ntr-adevr sigure, criptarea i verificarea integritii trebuie s fie capt la
capt (de ex. nivelul aplicaie). Adic, procesul surs cripteaz i/sau protejeaz datele din punct de
vedere al integritii i le trimite ctre procesul de destinaie, unde sunt decriptate i/sau verificate.
Orice falsificare ntre aceste dou procese, incluznd sistemele lor de operare, poate fi detectat.
Problema cu aceast abordare este c presupune schimbarea tuturor aplicaiilor pentru a le securiza.
n aceast idee, urmtoarea abordare posibil este plasarea criptrii pe nivelul transport sau ntr-un
nou nivel ntre nivelul aplicaie i nivelul transport, pstrnd mecanismul tot capt la capt, dar fr
a mai fi necesare schimbri ale aplicaiilor.
Ideea opus este c utilizatorii nu neleg securitatea i c nu vor fi capabili s o foloseasc n
mod corect i nimeni nu dorete s modifice programele existente n nici un fel, deci nivelul reea
trebuie s autentifice i/sau cripteze pachetele fr nici o implicare din partea utilizatorilor. Dup ani
de controverse, aceast idee a ctigat suficient suport astfel nct a fost definit un standard de secu-
ritate pentru nivelul reea. n parte, argumentul a fost c avnd criptarea la nivelul reea nu mpiedi-
c utilizatorii contieni de problema securitii s o foloseasc corect i i ajut ntr-un anumit grad
pe utilizatorii neavizai.
Rezultatul acestui rzboi a fost un proiect numit IPsec (IP securizat), care este descris n RFC-
urile 2401, 2402 i 2406, printre altele. Nu toi utilizatorii doresc criptarea (pentru c este costisitoare
din punct de vedere al puterii de calcul). n loc s fie opional, s-a decis s se impun criptarea
permanent, dar cu posibilitatea de folosire unui algoritm nul. Algoritmul nul este descris i ludat
pentru simplitatea sa, uurina de implementare i viteza mare n RFC 2410.
Proiectul complet IPsec este o cadru de lucru pentru mai multe servicii, algoritmi i
granulariti. Motivul pentru servicii multiple este c nu toat lumea dorete s plteasc preul
necesar tuturor serviciilor, deci serviciile sunt disponibile la cerere. Serviciile principale sunt confi-
denialitatea, integritatea datelor, i protejarea lor de atacul prin replicare (un intrus poate replica
un dialog). Toate acestea se bazeaz pe criptografia cu chei simetrice pentru c nalta performan
este un lucru crucial.
Motivul pentru care exist mai muli algoritmi este c un algoritm care acum pare sigur poate fi
spart in viitor. Fcnd IPsec-ul independent de algoritmi, cadrul de lucru poate supravieui chiar
dac mai trziu un algoritm este spart.
Motivul pentru care exist mai multe granulariti se datoreaz posibilitii de a se proteja o sin-
gur conexiune TCP, tot traficul dintre dou gazde, sau tot traficul dintre o pereche de rutere securi-
zate, printre alte posibiliti.
Un aspect destul de surprinztor al IPsec-ului este c dei se gsete pe nivel IP, el este orien-
tat pe conexiune. De fapt, nu este chiar aa de surprinztor deoarece pentru a exista securitate, o
cheie trebuie s fie stabilit i folosit pentru o anume perioad de timp, n esen, un fel de cone-
xiune. De asemenea conexiunile amortizeaz costurile de iniializare pentru mai multe pachete. n
contextul IPsec o "conexiune" este denumit SA (eng.: Security Association, rom.: asociere securi-
zat). O SA este o conexiune simpl ntre dou capete i are asociat un identificator de securitate.
690 SECURITATEA REELELOR CAP. 8


Dac este nevoie de un trafic securizat n ambele direcii, sunt necesare dou asocieri securizate.
Identificatorii de securitate sunt transportai n pachetele care se transmit pe aceste conexiuni
securizate i sunt folosii la cutarea cheilor sau a altor informaii relevante atunci cnd sosete un
pachet securizat.
Din punct de vedere tehnic, IPsec conine dou pri principale. Prima parte descrie dou noi
antete care pot fi adugate pachetelor pentru a transporta identificatorul de securitate, datele de
control al integritii i alte informaii. Cealalt parte, ISAKMP (eng.: Internet Security Associa-
tion and Key Managment Protocol, rom.: Asociaia Securitii Internet i Protocolul de Gestiu-
ne al Cheilor) se ocup cu stabilirea cheilor. Nu vom discuta mai departe despre ISAKMP deoa-
rece (1) este foarte complex i (2) protocolul su principal IKE (eng.: Internet Key Exchange,
rom.: Schimbul de Chei Internet), este foarte deficient i trebuie s fie nlocuit (Perlman i
Kaufman, 2000).
IPsec poate fi folosit n dou moduri. n modul transport, antetul IPsec este inserat chiar dup
antetul IP. Cmpul de Protocol din antetul IP este schimbat pentru a indica faptul c un antet IPsec
urmeaz dup antetul normal de IP (nainte de antetul TCP). Antetul IPsec conine informaii de
securitate, n principal identificatorul SA, un nou numr de secven i, posibil, o verificare a integri-
tii ncrcturii utile.
n modul tunel, ntregul pachet IP, antet i restul, este ncapsulat n corpul unui nou pachet IP cu
un antet IP complet nou. Modul tunel este folositor cnd capetele tunelului se termin la o locaie
diferit de destinaia final. n unele cazuri, captul tunelului este o main poart de aplicaie (eng.:
gateway) securizat, de exemplu, de zidul de protecie (eng.: firewall) al unei companii. n acest
mod, zidul de protecie ncapsuleaz i decapsuleaz pachete la trecerea prin el. Terminnd tunelul
prin aceast main securizat, mainile din LAN-ul companiei nu trebuie s fie contiente de IPsec.
Doar zidul de protecie trebuie s tie de el.
Modul tunel este de asemenea util cnd o legtura a unei conexiuni TCP este agregat i se
comport ca un flux criptat, deoarece mpiedic un intrus s vad cte pachete trimite cineva ctre
altcineva. Cteodat doar cunoscnd ct de mult trafic este dirijat undeva reprezint o informaie de
valoare. De exemplu, dac n timpul unei crize militare, dimensiunea traficului dintre Pentagon i
Casa Alb scade drastic, dar cantitatea de trafic dintre Pentagon i un obiectiv militar aflat n creie-
rul munilor Stncoi ai Colorado-ului crete n aceeai msur un intrus e capabil s deduc cteva
informaii utile din aceste date. Studierea abloanelor de scurgere a pachetelor, chiar dac ele sunt
criptate, se numete analiz a traficului. Modul tunel ofer o modalitate de zdrnicire ntr-o anu-
me msur. Dezavantajul modului tunel este c adaug un antet IP n plus, crescnd astfel n mod
substanial dimensiunea unui pachet. Prin contrast, modul transport nu afecteaz att de mult di-
mensiunea pachetului.
Primul antet nou este AH (eng.: Authentication Header, rom.: Antetul de Autentificare). El per-
mite controlul integritii i securitate anti-replic, dar nu i confidenialitate (de ex. nu cripteaz
datele). Folosirea AH n modul tunel este ilustrat n fig. 8-27. n IPv4, el este interpus ntre antetul
IP ( incluznd orice opiuni) i antetul TCP. n IPv6 este doar o alt extensie a antetului i este trata-
t ca atare. De fapt, formatul este apropiat de cel al standardului IPv6 de extensie a antetului. Este
posibil ca ncrctura util s trebuiasc a fie completat pn la o anumit lungime pentru algorit-
mul de autentificare dup cum este prezentat n figur.
SEC. 8.6 SECURITATEA COMUNICAIEI 691

Fig. 8-27. Antetul de autentificare IPsec n modul transport pentru IPv4

S examinm acum antetul AH. Cmpul Antetul urmtor este folosit pentru a pstra valoarea an-
terioar pe care a avut-o cmpul Protocol IP nainte de a fi nlocuit cu 51 pentru a indica faptul c
urmeaz un antet AH. n majoritatea cazurilor, aici va fi plasat codul pentru TCP (6) . Lungimea
ncrcrii utile o reprezint numrul de cuvinte de 32 de bii din antetul AH minus 2.
Indexul parametrilor de securitate reprezint identificatorul de conexiune. Acesta este inserat de
ctre emitor pentru a indica o anumit nregistrare n baza de date a receptorului. Aceast nregis-
trare conine cheia partajat folosit n aceast sesiune i alte informaii despre conexiune. Dac
acest protocol ar fi fost inventat de ctre ITU i nu de ctre IETF, acest cmp ar fi fost denumit
Numr de circuit virtual.
Cmpul Numr de secven este folosit pentru a numra toate pachetele trimise pe un SA. Fie-
care pachet primete cte un identificator unic, chiar i retransmisiile, cu alte cuvinte copia unui
pachet primete un numr diferit de cel original (chiar dac numrul su de secven TCP este ace-
lai). Scopul acestui cmp este de a detecta atacurile prin replic. Aceste numere de secven nu se
pot repeta. Dac toate cele 2
32
de numere au fost epuizate, trebuie stabilit un nou SA pentru a con-
tinua comunicaia.
n sfrit, cmpul Date de autentificare este un cmp de lungime variabil care conine semntura
digital. Cnd este stabilit un SA, cele dou pri negociaz algoritmul de semnare pe care l vor
folosi. n mod normal, nu este folosit criptografia cu chei publice pentru c pachetele trebuie pro-
cesate rapid, iar toi algoritmii cu chei publice sunt prea leni. Deoarece IPsec este bazat pe cripto-
grafia cu chei simetrice iar emitorul i receptorul negociaz o cheie partajat naintea stabilirii unui
SA, cheia partajat este folosit n procesul de semnare. O modalitate simpl este de a calcula rezu-
matul pentru un pachet i cu cheia partajat. Desigur, cheia partajat nu este transmis. O schem
ca aceasta este denumit HMAC (eng. : Hashed Message Authentication Code, rom.: Cod de Auten-
tificare bazat pe un rezumat de mesaj). Este mult mai rapid s calculezi un rezumat dect s rulezi
nti SHA-1 i apoi s rulezi RSA asupra rezultatului.
Antetul AH nu permite criptarea datelor, deci este cel mai folosit atunci cnd este necesar veri-
ficarea integritii dar nu este necesar confidenialitatea. O proprietate demn de notat a antetului
AH este aceea c verificarea integritii folosete o parte din cmpurile antetului IP, i anume, ace-
lea care nu se schimb cnd pachetul trece de la un ruter la altul. De exemplu, cmpul Durata de
via se schimb la fiecare ruter i nu poate fi inclus n verificarea integritii. n orice caz adresa sur-
sa IP este inclus n aceast verificare, un intrus neputnd s falsifice originea pachetului.
692 SECURITATEA REELELOR CAP. 8


O alt variant de antet IPsec este ESP (eng.: Encapsulating Security Payload, rom.: ncapsula-
rea ncrcturii utile de securitate). Folosirea acestuia, att pentru modul transport, ct i pentru
modul tunel, este prezentat n fig. 8-28.

Fig. 8-28. (a) ESP n mod transport (b) ESP n mod tunel

Antetul ESP conine dou cuvinte de 32 de bii. Acestea sunt cmpurile Indexul Parametrilor de
Securitate i, respectiv, Numrul de Secven pe care le-am ntlnit la AH. Un al treilea cuvnt care, n
general, le urmeaz (dar care din punct de vedere tehnic nu este parte a antetului) este cmpul Vector
de Iniializare, folosit pentru criptarea datelor; dac nu se folosete criptarea acest cmp este omis.
De asemenea, ESP ofer verificarea integritii pentru HMAC, aa cum o face i AH, dar n loc
s fie inclus n antet, urmeaz dup ncrctura util, aa cum se arat n fig. 8-28. Includerea
HMAC la sfrit are un avantaj n implementarea hardware. HMAC poate fi calculat pe msur ce
biii ies dintr-o interfa de reea ataarea sa la sfrit fiind foarte simpl. Din aceast cauz Ethernet
i alte LAN-uri au propriile CRC la sfritul pachetelor n loc s le aib la nceputul acestora. Cu
AH, pachetul trebuie s fie pstrat ntr-o zon tampon i semntura s fie calculat nainte ca pache-
tul s fie trimis, reducnd astfel numrul de pachete care pot fi transmise pe secund.
Deoarece ESP poate face tot ceea ce poate face AH i chiar mai mult i faptul c este mai efici-
ent la iniializare dect acesta, se ridic ntrebarea: De ce s ne mai complicm cu AH? Rspunsul
este mai mult istoric. La nceput, AH se ocupa numai de integritate iar ESP numai de confideniali-
tate. Mai trziu, integritatea a fost adugat i la ESP, dar cei care au proiectat AH nu au vrut ca
acesta s dispar dup ce au muncit att de mult la el. n orice caz, singurul lor argument real este
faptul c AH verific o parte a antetului IP, ceea ce ESP nu face; dar acesta este un argument ne-
semnificativ. Un alt argument nesemnificativ este acela c un produs care suport AH, dar nu supor-
t ESP, poate avea mai puine probleme n a obine licena de export, datorit faptului c nu folose-
te criptarea. Este posibil ca n viitor AH s nu mai fie folosit.
8.6.2 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 dez-
voltare produse, strategii de marketing, analize financiare etc. Dezvluirea acestor informaii ctre
un competitor poate avea consecine cumplite.
SEC. 8.6 SECURITATEA COMUNICAIEI 693

n afara pericolului scurgerii de informaii, exist i un pericol al infiltrrii de informaii. n parti-
cular, viruii, viermii i ali duntori digitali 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.
n consecin, sunt necesare mecanisme pentru a pstra biii buni n interior i biii ri afar. O
metod este folosirea IPsec. Aceast abordare protejeaz datele n tranzit ntre situri sigure. Cu toate
acestea, IPsec nu face nimic pentru a ine duntorii digitali i sprgtorii n afara LAN-ului companiei.
Pentru a realiza acest obiectiv, este nevoie s studiem zidurile de protecie (eng.: firewalls).

Fig. 8-29. 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
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 electro-
nic (zidul de protecie), aa cum este prezentat n fig. 8-29.
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 verifi-
care 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. 8-29, 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
694 SECURITATEA REELELOR CAP. 8


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 enumer 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 TCP/IP, o surs i o destinaie constau dintr-o adres IP i un port.
Porturile indic ce serviciu este dorit. De exemplu, portul 23 TCP este pentru Telnet, portul 79 TCP
este pentru Finger, iar portul 119 TCP 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 fi scutit 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 im-
portante, 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-l transmite sau elimina pe baza cmpurilor din antet, a dimensiunii mesajului sau chiar a coni-
nutului (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.
Chiar dac zidul de protecie este configurat perfect, exist nc o groaz de probleme de securi-
tate. De exemplu, dac un zid de protecie este configurat s accepte pachete doar de la anumite
reele (de ex. alte sedii ale companiei), un intrus din exteriorul zidului de protecie poate s-i pun o
adres fals pentru a evita aceast verificare. Dac un individ din interior dorete s vnd docu-
mentele secrete, el le poate cripta sau chiar fotografia i apoi s sustrag pozele ca fiiere JPEG, care
evit orice filtru de texte.
i nc nu am discutat faptul c 70% din totalul atacurilor vin din interiorul reelei protejate de
zidul de protecie, de exemplu, de la angajaii nemulumii (Schneier, 2000).
n plus, exist o ntreag alt clas de atacuri crora zidurile de protecie nu le pot face fa. Ide-
ea de baz a unui zid de protecie este de a mpiedica intruii s ptrund n reeaua protejat i de a
mpiedica datele secrete s ias din acea reea. Din pcate, exist oameni care nu au altceva mai bun
de fcut, dect s ncerce s scoat din funciune anumite situri. Ei realizeaz acest lucru prin trimi-
terea unui numr foarte mare de pachete legitime ctre o int, pn cnd aceasta va fi scoas din
funciune datorit ncrcrii mari. De exemplu, pentru a distruge un sit de web, un intrus poate tri-
mite un pachet TCP SYN pentru a stabili o conexiune. Ca urmare, situl va aloca, ntr-o tabel, o
intrare pentru acea conexiune i va trimite ca rspuns un pachet SYN +ACK. Dac intrusul nu rs-
punde intrarea din tabel va fi ocupat pentru un interval de timp de pn la cteva secunde, pn
SEC. 8.6 SECURITATEA COMUNICAIEI 695

cnd se va produce un timeout. Dac intrusul va trimite mii de cereri de conexiune, toate intrrile
din tabel vor fi ocupate astfel nct nu vor mai putea fi stabilite noi conexiuni legitime. Atacurile n
care scopul intrusului este de a opri funcionarea intei, n locul sustragerii de informaii, sunt denu-
mite atacuri DoS (eng.: Denial of Service, rom.: Refuzul Serviciilor). n mod obinuit, pachetele de
cereri au o adres surs fals pentru ca intrusul s nu poat fi detectat uor.
O variant i mai pesimist este aceea n care intrusul a ptruns deja n sute de calculatoare afla-
te n alte zone ale lumii, pe care apoi le comand s atace aceeai int n acelai timp. Nu numai c
aceast abordare crete fora de atac a intrusului, dar ea reduce ansele ca ea s fie detectat, deoa-
rece pachetele provin de la un mare numr de maini aparinnd unor utilizatori ce nu sunt suspeci.
Un astfel de atac este denumit atac DDoS (eng.: Distributed Denial of Service, rom.: Refuzul servici-
ilor realizat n mod distribuit). mpotriva acestui atac este greu de gsit o aprare. Chiar dac mai-
na atacat poate recunoate rapid o cerere fals, trece un anumit timp pentru procesarea i ignora-
rea acestei cereri, iar dac sosesc destul de multe cereri pe secund procesorul va fi ocupat tot timpul
cu tratarea acestora.
8.6.3 Reele private virtuale
Multe companii au birouri rspndite n mai multe orae i uneori n mai multe ri. n trecut,
naintea apariiei reelelor de date publice, era obinuit nchirierea de ctre aceste companii a unor
linii telefonice, aparinnd companiilor de telefonie, ntre unele sau ntre toate perechile de locaii
ale birourilor. Unele companii nc mai fac acest lucru. O reea alctuit din calculatoarele unei
companii i liniile telefonice nchiriate este denumit reea privat. Un exemplu de reea privat
conectnd trei birouri este artat n fig. 8-30(a).


Fig. 8-30. (a) O reea privat folosind linii nchiriate (b) O reea privat virtual

Reelele private funcioneaz bine i sunt foarte sigure. Dac singurele linii disponibile sunt linii
nchiriate, atunci nu exist trafic care s se scurg n afara companiei, iar intruii trebuie s se conec-
teze fizic la liniile respective pentru a ptrunde n reea, ceea ce nu este un lucru uor de realizat.
Problema care apare cu reelele private este acea c nchirierea unei singure linii T1 cost mii de
dolari pe lun, iar liniile T3 sunt de cteva ori mai scumpe. Cnd, mai trziu, au aprut reelele de
date publice i Internetul, multe companii au vrut s-i transmit traficul de date (i posibil cel de
voce) prin reelele publice, dar fr a renuna la securitatea unei reele private.
Aceast necesitate a condus n curnd la inventarea reelelor private virtuale - VPN (eng.: Virtual
Private Networks, rom.: reele private virtuale), care sunt reele construite deasupra unor reele pu-
696 SECURITATEA REELELOR CAP. 8


blice, dar care beneficiaz de proprietile unei reele private. Aceste reele sunt denumite virtuale
pentru c ele constituie o iluzie, aa cum circuitele virtuale nu sunt circuite reale i cum memoria
virtual nu este o memorie real.
Dei VPN-urile pot fi implementate peste ATM (sau frame relay), o tendin popular aflat n
cretere este de a construi VPN-uri direct peste Internet. O modalitate de proiectare obinuit este
de a echipa fiecare birou cu un zid de protecie i de a crea tuneluri prin Internet ntre toate perechi-
le de birouri, dup cum este ilustrat n fig. 8-30(b). Dac pentru tunelare este folosit IPsec, atunci
este posibil agregarea ntregului trafic dintre oricare dou perechi de birouri ntr-un singur SA au-
tentificat i criptat, oferindu-se astfel controlul integritii, confidenialitate i chiar o imunitate con-
siderabil asigurat analizei de trafic.
Cnd un sistem este pornit, fiecare pereche de ziduri de protecie trebuie s negocieze parame-
trii SA-ului ei, incluznd serviciile, modurile, algoritmii i cheile. Multe ziduri de protecie au nglo-
bate capabiliti de VPN, dei chiar i unele rutere obinuite beneficiaz de acestea. Dar, deoarece
zidurile de protecie au prioritate n problema securitii, este natural a avea tuneluri care ncep i se
termin n ziduri de protecie, furniznd o separare clar ntre companie i Internet. Astfel, zidurile
de protecie, VPN-urile i IPsec folosit cu ESP n mod tunel formeaz o combinaie natural i larg
folosit n practic.
Odat ce a fost stabilit un SA, transferul datelor poate ncepe. Pentru un ruter din Internet, un
pachet care traverseaz un tunel VPN este un pachet obinuit. Singurul lucru neobinuit la acesta
este prezena antetului IPsec dup antetul IP, dar deoarece aceste extra-antete nu au efect n proce-
sul de rutare, ruterele nu le iau n considerare.
Un avantaj cheie al organizrii VPN n acest fel este transparena complet pentru programele
utilizatorilor. Zidurile de protecie iniializeaz i gestioneaz SA-urile. Singura persoan care are
cunotin de acest proces este administratorul de sistem care configureaz i gestioneaz zidul de
protecie. Pentru oricine altcineva lucrurile arat ca i cum ar fi o reea privat bazat pe linie nchi-
riat. Pentru mai multe despre VPN consultai (Brown, 1999 i Izzo, 2000).
8.6.4 Securitatea n comunicaiile fr fir
Este surprinztor de uor de proiectat un sistem care din punct de vedere logic, este complet se-
curizat folosind VPN i ziduri de protecie, dar prin care, n practic, informaia se scurge ca prin
sit. Aceast situaie poate fi ntlnit dac o parte dintre maini sunt fr fir i folosesc comunicaia
radio, care trece prin zidul de protecie n ambele sensuri. Aria de acoperire a reelelor 802.11 este
foarte adesea de cteva sute de metri, astfel c oricine dorete s spioneze o companie, poate s vin
dimineaa n parcarea pentru angajai, s lase un calculator portabil care este configurat pentru o
reea 802.11 s nregistreze tot ce aude i s dispar pentru restul zilei. Pn dup-amiaza trziu,
discul dur va fi plin de lucruri valoroase. Teoretic, aceast scurgere nu ar trebui s aib loc. Teoretic,
nici lumea nu ar trebui s jefuiasc bnci.
O mare parte a problemei de securitate poate fi urmrit pn la productorii de staii de baz
care comunic fr fir (puncte de acces), care ncearc s-i fac produsele prietenoase pentru utili-
zatori. De obicei, dac utilizatorul scoate dispozitivul din cutie i l introduce n priz, acesta ncepe
s funcioneze imediat aproape fr nici un fel de securitate, mprtiind secrete ctre oricine se
afl n aria de acoperire radio. Dac apoi este i legat la o reea Ethernet, tot traficul Ethernet va
aprea dintr-o dat i n locul de parcare. Reelele fr fir sunt visul oricrui agent ascuns: date gra-
tuite, fr s trebuiasc s lucrezi pentru ele. Prin urmare, nici nu mai trebuie spus c securitatea
SEC. 8.6 SECURITATEA COMUNICAIEI 697

este i mai important pentru reelele fr fir dect pentru cele cu fir. n aceast seciune ne vom
uita la cteva moduri n care reelele fr fir trateaz securitatea. Cteva informaii suplimentare pot
fi gsite n (Nicholas i Lekkas, 2002).
Securitatea 802.11
Standardul 802.11 recomand un protocol de securitate la nivelul legtur de date care se nu-
mete WEP (eng.: Wired Equivalent Privacy rom.: Confidenialitate Echivalent cu cea Cablat),
care este proiectat pentru a face securitatea unui LAN cu comunicaie fr fir la fel de bun ca cea a
unui LAN cablat. Cum LAN-urile cu cabluri nu au de obicei nici un fel de securitate, acest obiectiv
este uor de ndeplinit i WEP l ndeplinete, dup cum vom vedea.
Cnd securitatea 802.11 este activat, fiecare staie are o cheie secret comun cu staia de baz.
Standardul nu specific cum sunt distribuite cheile. Pot fi ncrcate nainte de ctre productor. Pot
fi interschimbate nainte prin reeaua cu fire. n fine, fie staia de baz, fie maina utilizatorului poate
alege o cheie aleatoare i o poate trimite prin aer criptat cu cheia public a celeilalte staii. Odat
stabilit, cheia rmne neschimbat n general pentru luni sau ani.
Criptarea WEP folosete un cifru flux bazat pe algoritmul RC4. RC4 a fost proiectat de Ronald
Rivest i a fost inut secret pn n 1994 cnd s-au scurs nite informaii i a fost publicat pe Internet.
Dup cum am mai subliniat nainte, este aproape imposibil ca algoritmii s fie pstrai secrei, chiar
dac scopul este protejarea proprietii intelectuale (cum a fost n acest caz), mai degrab dect se-
curitatea prin obscuritate ( care nu a fost scopul cu RC4). n WEP, RC4 genereaz un ir-cheie
(eng.: keystream) care este combinat prin XOR cu textul clar pentru a forma textul cifrat.


Fig. 8-31. Criptarea pachetelor folosind WEP

ncrctura util a fiecrui pachet este criptat folosind metoda din fig. 8-31. Mai nti, ncrc-
tura este verificat folosind polinomul CRC-32, iar suma de control este adugat ncrcturii pen-
tru a forma textul clar pentru algoritmul de criptare. Acest text clar este combinat XOR cu o bucat
din irul cheie de aceeai lungime. Rezultatul este textul cifrat. IV-ul utilizat pentru pornirea RC4
este trimis mpreun cu textul cifrat. Cnd receptorul primete pachetul, extrage din acesta ncrc-
tura util criptat, genereaz irul cheie din cheia secret i din IV pe care tocmai l-a primit i apoi
efectueaz operaia XOR ntre irul cheie i ncrctura util a pachetului pentru a obine textul n
clar. Apoi poate verifica suma de control pentru a se asigura c pachetul a ajuns intact.
Dei aceast abordare arat bine la prima vedere, a fost deja publicat o metod de a o sparge
(Borisov et. al, 2001). Mai jos vom rezuma rezultatele ei. n primul rnd, surprinztor de multe
698 SECURITATEA REELELOR CAP. 8


instalaii folosesc aceeai cheie comun pentru toi utilizatorii, caz n care fiecare utilizator poate
citi traficul tuturor celorlali utilizatori. Acest lucru este desigur echivalent cu Ethernet-ul, dar nu
este foarte sigur.
WEP poate fi atacat chiar dac fiecare utilizator are o cheie distinct,. Din moment ce cheile
sunt n general stabile pentru perioade lungi de timp, standardul WEP recomand (dar nu impune)
ca IV-ul s fie schimbat la fiecare pachet pentru a evita atacul de tip reutilizare asupra irului cheie,
atac discutat n seciunea 8.2.3. Din nefericire, multe plci 802.11 pentru calculatoarele portabile
reseteaz IV la 0 cnd placa este introdus n calculator i apoi l incrementeaz cu 1 la fiecare pa-
chet trimis. Cum utilizatorii scot i apoi reinsereaz frecvent aceste plci, pachetele cu valori mici
pentru IV sunt destul de obinuite. Dac Trudy poate s colecteze mai multe pachete trimise de
acelai utilizator, care au aceeai valoare pentru IV (care este trimis n clar cu fiecare pachet), atunci
ea poate s calculeze XOR ntre dou valori de textul clar i poate astfel s sparg cifrul.
Dar, chiar dac placa 802.11 alege o valoare aleatoare pentru fiecare pachet, IV are doar 24 de
bii, astfel nct dup ce au fost trimise 2
24
pachete, va trebui ca valorile s fie refolosite. Mai ru,
folosind valori aleatoare pentru IV, numrul probabil de pachete care trebuie trimise nainte ca ace-
lai numr s fie folosit de dou ori este n jur de 5000, datorit atacului de tip ziua de natere de-
scris n seciunea 8.4.4. Ca urmare, dac Trudy ascult pentru cteva minute, ea este aproape sigur
c va captura dou pachete cu acelai IV i aceeai cheie. Efectund operaia XOR ntre cele dou
texte cifrate, ea este capabil s obin combinaia XOR dintre textele n clar. Aceast secven de
bii poate fi atacat n diferite moduri pentru a descoperi textele n clar. Cu mai mult munc, irul
cheie pentru acel IV poate fi obinut de asemenea. Trudy poate continua s lucreze n acest mod
pentru a realiza un dicionar de iruri cheie pentru diferite IV. Odat spart un IV, toate pachetele
trimise cu acesta n viitor (dar i n trecut) pot fi complet decriptate.
Mai mult, deoarece IV-rile sunt folosite aleator, odat ce Trudy a determinat o pereche (IV, ir-
cheie) valid, ea o poate folosi pentru a genera toate pachetele pe care le dorete i astfel, s intervin
activ n comunicaie. Teoretic, un receptor ar putea observa c dintr-o dat un numr mare de pache-
te au toate acelai IV, dar (1) WEP permite acest lucru i (2) oricum nimeni nu verific acest lucru.
n sfrit, CRC-ul nu valoreaz prea mult, deoarece este posibil ca Trudy s modifice ncrctura
util i apoi s fac schimbrile corespunztoare n CRC, fr a trebui mcar s elimine criptarea. Pe
scurt, spargerea securitii 802.11 este destul de evident, i nici mcar nu am enumerat toate atacu-
rile pe care le-au gsit Borisov et. al.
n august 2001, la o lun dup ce a fost prezentat lucrarea lui Borisov et. al, a fost publicat un alt
atac devastator asupra WEP (Fluhrer et. al, 2001). Acesta a gsit slbiciuni criptografice chiar n
RC4. Fluhrer et. al au descoperit c multe dintre chei au proprietatea c este posibil deducerea
ctorva dintre biii cheii din irul-cheie. Dac acest atac este pus n aplicare repetat, este posibil
deducerea ntregii chei cu un efort modest. Fiind nclinai mai mult ctre teorie, Fluhrer et. al nu au
ncercat efectiv s sparg vreun LAN 802.11.
n contrast, cnd un student la cursurile de var i doi cercettori de la AT&T Labs au aflat de-
spre atacul lui Fluhrer et. al, s-au decis s l ncerce ntr-un caz real (Stubblefield et. al, 2002). ntr-o
sptmn ei au spart prima lor cheie de 128 de bii dintr-un LAN 802.11 de producie i cea mai
mare parte a sptmnii a fost de fapt dedicat cutrii celei mai ieftine plci de reea 802.11, obi-
nerii permisiunii de a o cumpra, instalrii i testrii ei. Programarea a durat efectiv doar dou ore.
Cnd i-au anunat rezultatele, CNN a emis o tire intitulat Un sprgtor de rutin sparge crip-
tarea comunicaiilor fr fir, n care nite guru din industrie au ncercat s minimalizeze rezultatele
lor, spunnd c ceea ce au fcut ei a fost trivial, date fiind rezultatele lui Fluhrer et. al Chiar dac
SEC. 8.6 SECURITATEA COMUNICAIEI 699

aceast observaie este tehnic adevrat, rmne faptul c eforturile combinate ale acestor dou
echipe au demonstrat o scpare fatal n WEP i 802.11.
n 7 Septembrie, 2001, IEEE a rspuns faptului c WEP era atunci complet spart printr-o de-
claraie scurt cu ase puncte care pot fi rezumate grosier n felul urmtor:

1. Noi v-am spus c securitatea WEP nu era mai bun dect cea a Ethernet-ului.
2. O ameninare mult mai mare este s uii complet s activezi securitatea.
3. ncercai s folosii alt securitate ( de ex., securitatea nivelului transport )
4. Versiunea urmtoare, 802.11i, va avea o securitate mai bun.
5. Certificrile ulterioare vor impune folosirea 802.11i.
6. Vom ncerca s ne dm seama ce se poate face pn cnd apare 802.11i.

Am parcurs n detaliu toat aceast poveste pentru a demonstra faptul c o securitate solid nu
este uor de obinut, nici pentru experi.
Securitatea Bluetooth
Bluetooth are o arie de acoperire mult mai mic dect 802.11 i nu poate fi atacat din locul de
parcare, dar securitatea este i aici o problem. De exemplu, imaginai-v calculatorul lui Alice care
are o tastatur fr fir Bluetooth. n absena securitii, dac Trudy este ntmpltor n biroul de
alturi, ea ar putea citi tot ce scrie Alice, inclusiv toat corespondena electronic trimis. De ase-
menea, ea ar putea captura tot ce trimite calculatorul lui Alice imprimantei Bluetooth care se afl
lng ea (corespondena electronic primit i rapoarte confideniale). Din fericire, Bluetooth are o
schem de securitate pentru a ncerca s le nving pe orice Trudy din lume. Vom rezuma n conti-
nuare principalele trsturi ale acesteia.
Bluetooth are trei moduri de securitate, de la nici o securitate la criptarea tuturor datelor i con-
trolul integritii. La fel ca i 802.11, dac securitatea este dezactivat (opiunea care este selectat
iniial) atunci nu exist securitate. Majoritatea utilizatorilor au securitatea dezactivat pn cnd are
loc o spargere; apoi o activeaz. n lumea agriculturii, aceast abordare este cunoscut drept ncuie-
rea uii hambarului dup ce a fugit calul.
Bluetooth ofer securitate pe mai multe niveluri. La nivelul fizic, salturile n frecven ofer un
pic de securitate, dar deoarece oricare dispozitiv Bluetooth care se mic ntr-un piconet trebuie
informat de secvena de salturi n frecven, aceast secven evident c nu este un secret. Adevrata
securitate ncepe cnd un sclav (eng.: slave) nou-venit cere un canal cu stpnul (eng.: master). Este
de presupus c cele dou dispozitive mpart o cheie secret stabilit anterior. n unele cazuri, cheia
este fixat n ambele dispozitive de ctre productor (de ex., pentru un set de cti cu microfon i un
telefon mobil vndute mpreun). n alte cazuri, un dispozitiv (de ex., setul de cti) are o cheie fix,
iar utilizatorul trebuie s introduc acea cheie n cellalt dispozitiv (de ex., telefonul mobil) ca un
numr zecimal. Aceste chei comune se numesc chei de trecere (eng.: passkeys).
Pentru a stabili un canal, sclavul i stpnul verific fiecare dac cellalt cunoate cheia de trece-
re. Dac da, ei negociaz dac acel canal va fi criptat, cu controlul integritii, sau amndou. Apoi
ei aleg o cheie de sesiune aleatoare de 128 de bii, dintre care civa ar putea fi publici. Ideea acestei
slbiri a cheii este alinierea la restriciile guvernamentale din diferite ri proiectate, pentru a preveni
exportul, sau utilizarea cheilor mai lungi dect acelea pe care guvernul le poate sparge.
Criptarea folosete un cifru-flux denumit E
0
; controlul integritii folosete SAFER+. Amndou
sunt cifruri bloc tradiionale cu chei simetrice. SAFER+ a fost nscris n concursul AES, dar a fost
eliminat n prima rund pentru c era mai lent dect ceilali candidai. Bluetooth a fost finalizat na-
inte ca cifrul AES s fie ales; altfel, foarte probabil, ar fi folosit Rijndael.
700 SECURITATEA REELELOR CAP. 8


Criptarea actual folosind cifrul-flux este prezentat n fig. 8-14, cu textul n clar combinat prin
XOR cu irul-cheie pentru a genera textul cifrat. Din nefericire, E
0
nsui (ca i RC4) ar putea avea
slbiciuni fatale (Jakobsson i Wetzel, 2001). Dei nu a fost spart pn la momentul scrierii acestei
cri, similitudinile lui cu cifrul A5/1, al crui eec spectaculos compromite tot traficul telefonic
GSM, sunt o cauz de ngrijorare (Biryukov et. al, 2000). Uneori este uimitor pentru unii (incluznd
autorul) c n perenul joc de-a oarecele i pisica ntre criptografi i criptanaliti, criptanaliti sunt
att de des n partea nvingtoare.
O alt problem de securitate este c Bluetooth autentific doar dispozitivele, nu utilizatorii, ast-
fel c furtul unui dispozitiv Bluetooth poate permite hoului accesul la contul financiar i la alte con-
turi ale utilizatorului. Oricum, Bluetooth implementeaz de asemenea securitatea pentru nivelele
nalte, astfel c n cazul unei spargeri a securitii de la nivelul legtur, securitatea se menine, n
special pentru aplicaiile care necesit introducerea manual a unui cod de PIN de la un fel de tasta-
tur pentru a completa tranzacia.
Securitatea WAP 2.0
n mare parte, Forumul WAP a nvat ceva din greeala de a avea o stiv de protocoale
nestandard n WAP 1.0. WAP 2.0 folosete generos protocoalele standard la toate nivelurile. Securi-
tatea nu este o excepie. Deoarece este bazat pe IP, el suport folosirea integral a IPsec la nivelul
reea. La nivelul transport, conexiunile TCP pot fi protejate de TLS, un standard IETF pe care l
vom studia mai trziu n acest capitol. i mai sus, folosete autentificarea HTTP a clientului, aa cum
e definit n RFC 2617. Bibliotecile criptografice de la nivelul aplicaie ofer controlul integritii i
nerepudierea. Una peste alta, din moment ce WAP 2.0 este bazat pe standarde bine cunoscute, exis-
t o ans ca serviciile sale de securitate, n particular, confidenialitatea, controlul integritii i
nerepudierea s valoreze mai mult dect securitatea 802.11 i Bluetooth.


8.7 PROTOCOALE DE AUTENTIFICARE
Autentificarea (eng.: authentication) 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 dis-
tan, n cazul unui intrus activ i ruvoitor, este surprinztor de dificil i necesit protocoale com-
plexe bazate pe criptografie. n aceast seciune, vom studia cteva dintre numeroasele protocoale
de autentificare folosite n reelele nesigure de calculatoare.
Ca fapt divers, anumii oameni confund autorizarea cu autentificarea. Autentificarea se ocup
cu problema de a ti dac ntr-adevr comunici 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 cookbook.old. Din punctul de vedere al
serverului de fiiere, trebuie gsite rspunsurile la dou ntrebri:

1. Chiar este procesul lui Scott? (autentificare)
2. Are Scott permisiunea de a terge cookbook.old? (autorizare)

Doar dup ce s-a rspuns afirmativ, fr ambiguiti, la ambele ntrebri poate avea loc aciunea
cerut. De fapt prima dintre cele dou este cu adevrat ntrebarea cheie. Odat ce serverul de fiiere
SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 701

tie cu cine vorbete, verificarea autorizrii este doar o problem de cutare n intrrile tabelelor i
bazelor de date locale. Din acest motiv, n aceast seciune ne vom concentra asupra autentificrii.
Modelul general pe care l folosesc toate protocoalele de autentificare este urmtorul. Alice n-
cepe prin a trimite un mesaj fie lui Bob, fie unui centru autorizat de distribuire a cheilor KDC (eng.:
Key Distribution Center), care este presupus a fi credibil. Urmeaz alte cteva schimburi de mesaje
n diferite direcii. n timp ce aceste mesaje sunt transmise, Trudy, le poate intercepta, modifica sau
retrimite n scopul de a-i nela pe Alice i Bob sau doar pentru a ncurca lucrurile. Cu toate acestea,
la 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 cheie
secret de sesiune, pentru folosirea n conversaiile viitoare. n practic, din motive de performan,
tot traficul de date este criptat folosind criptografia cu cheie secret (de obicei AES sau DES triplu),
n timp ce criptografia cu cheie public este larg folosit n protocoale de autentificare i pentru sta-
bilirea unei chei de sesiune.
Motivul pentru utilizarea unei chei de sesiune noi, alese aleator, pentru fiecare conexiune, este
minimizarea mrimii traficului care este transmis cu cheile secrete sau publice ale utilizatorilor, pen-
tru a reduce cantitatea de text cifrat pe care intrusul o poate obine i pentru a reduce pagubele care
se pot produce dac un proces eueaz, iar vidajul su de memorie (eng.: core dump) cade n mini
rele. Din fericire, singura cheie prezent va fi cheia de sesiune. Toate cheile permanente trebuie s
fie anulate cu grij dup stabilirea sesiunii.
8.7.1 Autentificare bazat pe cheie secret partajat
Pentru primul nostru protocol de autentificare, vom presupune c Alice i Bob partajeaz deja o
cheie secret, K
AB
. Aceast cheie partajat poate s fi fost stabilit anterior fie prin telefon, fie direct,
dar n nici un caz nu prin intermediul unei reele (nesigure).
Protocolul este bazat pe un principiu ce poate fi ntlnit n multe protocoale de autentificare: o
parte trimite un numr aleatoriu celeilalte, care l transform apoi ntr-un anumit mod i returneaz
rezultatul. Astfel de protocoale se numesc protocoale provocare-rspuns (eng.: challenge-response).
n acest protocol i n cele ce urmeaz va fi folosit urmtoarea notaie:

A, B reprezint identitile lui Alice i Bob.
R
i
reprezint provocrile, unde indicele identific pe cel ce trimite provocarea.
K
i
sunt cheile, unde i indic proprietarul.
K
S
este cheia de sesiune.

Secvena de mesaje pentru primul nostru protocol de autentificare cu cheie partajat este ilustra-
t n fig. 8-32. n mesajul 1 Alice i trimite lui Bob identitatea sa, A, ntr-un mod pe care Bob l ne-
lege. Bineneles c Bob nu are posibilitatea de a ti dac acest mesaj vine de la Alice sau de la
Trudy, astfel nct el alege o provocare, un numr aleator mare, R
B
, 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
AB
(R
B
) napoi, ca mesajul 3. Cnd Bob vede acest mesaj el tie imediat c
vine de la Alice, deoarece Trudy nu cunoate K
AB
i astfel nu putea s genereze mesajul respectiv.
Mai mult dect att, deoarece R
B
a fost ales aleator dintr-un spaiu mare (s spunem, de exemplu,
numere aleatoare pe 128 de bii), este destul de puin probabil ca Trudy s fi vzut R
B
i rspunsul
asociat lui ntr-o sesiune anterioar. Este la fel de puin probabil ca ea s fi putut ghici rspunsul
corect la orice provocare.
702 SECURITATEA REELELOR CAP. 8



Fig. 8-32. Autentificare n doi pai folosind un protocol de tipul provocare-rspuns.

n acest moment, Bob este sigur c vorbete cu Alice, dar Alice nu este sigur de nimic. Din
punctul ei de vedere, s-ar putea ca Trudy s fi interceptat mesajul 1 i s fi trimis napoi replica R
B
.
Poate c Bob a murit azi-noapte. Pentru a descoperi cu cine vorbete, Alice alege un numr aleator
R
A
i l trimite lui Bob ca text clar, n mesajul 4. Cnd Bob rspunde cu K
AB
(R
A
), Alice tie c vorbe-
te cu Bob. Dac ei vor s stabileasc acum o cheie de sesiune, Alice poate alege una, K
S
, i o poate
trimite lui Bob criptat cu K
AB
.
Protocolul din fig. 8-32 conine cinci mesaje. S vedem dac putem s fim istei i s eliminm o
parte din ele. O variant este ilustrat n fig. 8-33. Aici Alice iniiaz protocolul provocare-rspuns,
n loc de a-l atepta pe Bob s o fac. Similar, n timp ce rspunde la provocarea lui Alice, Bob o
trimite pe a sa. ntregul protocol poate fi redus la trei mesaje n loc de cinci.

Fig. 8-33. 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, este i greit. n anumite situaii, Trudy poate nvinge 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 simultan. 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. 8-34. Pentru nceput, Trudy pretinde c este
Alice i trimite R
T
. Bob rspunde, ca de obicei, cu propria sa provocare, R
B
. Acum Trudy este n im-
pas. Ce poate s fac? Nu cunoate K
AB
(R
B
).
Ea poate deschide o a doua sesiune cu mesajul 3, furniznd R
B
luat din mesajul 2 ca provocare a
ei. Bob l cripteaz calm i trimite napoi K
AB
(R
B
) n mesajul 4. Am colorat mesajele din sesiunea a
doua pentru a le evidenia. Acum Trudy are informaia care i lipsea, aa c poate s finalizeze 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.
SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 703


Fig. 8-34. Atacul prin reflexie.

Morala aceste povestiri este:

A proiecta un protocol corect de autentificare este mai greu dect pare.

Urmtoarele patru reguli generale sunt adeseori utile:

1. 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.
2. Iniiatorul i cel ce rspunde s foloseasc chei diferite pentru dovad, chiar dac aceasta
presupune existena a dou chei partajate K
AB
i K
AB
.
3. Iniiatorul i cel ce rspunde s-i extrag provocrile din mulimi diferite. De exemplu, iniiato-
rul trebuie s foloseasc numere pare, iar cel ce rspunde s foloseasc numere impare.
4. Protocolul s fie rezistent la atacuri ce implic o a doua sesiune paralel, n care informaia obi-
nut ntr-o sesiune este folosit ntr-o alta.

Dac fie i una singur din aceste patru reguli este nerespectat, deseori protocolul poate fi spart.
n acest caz, patru reguli au fost nclcate cu consecine dezastroase.
Acum s ne ntoarcem i s ne uitm mai bine la protocolul din fig. 8-32. Sigur acel protocol nu
poate fi inta unui atac prin reflexie? Depinde. Este destul de subtil. Trudy a reuit s nving proto-
colul nostru folosind un atac prin reflexie pentru c a fost posibil s deschid o a doua sesiune cu
Bob i s l pcleasc, fcndu-l s rspund la propriile ntrebri. Ce s-ar ntmpla dac Alice ar fi
un calculator de uz general care ar accepta i el sesiuni multiple, i nu o persoan n faa unui calcu-
lator? S vedem ce poate face Trudy.
Pentru a vedea cum funcioneaz atacul lui Trudy, a se vedea fig. 8-35. Alice ncepe prin a-i
anuna identitatea n mesajul 1. Trudy intercepteaz acest mesaj i i ncepe propria sesiune cu me-
sajul 2, pretinznd c este Bob. Am colorat din nou mesajele din sesiunea a doua. Alice rspunde la
mesajul 2 spunnd: Pretinzi c eti Bob? Demonstreaz. n mesajul 3. n acest moment Trudy e n
impas pentru c nu poate demonstra c este Bob.
Ce face Trudy acum? Se ntoarce la prima sesiune, n care e rndul ei s trimit o provocare, i
trimite R
A
pe care a primit-o n mesajul 3. Alice i rspunde politicos n mesajul 5, furnizndu-i lui
Trudy informaia de care are nevoie pentru a trimite mesajul 6 din sesiunea 2. n acest moment
Trudy este practic liber pentru c a rspuns cu succes la provocarea lui Alice n sesiunea 2. Acum
poate s abandoneze sesiunea 1, s trimit un numr oarecare pentru restul sesiunii 2 i va avea o
sesiune autentificat cu Alice n sesiunea 2.

704 SECURITATEA REELELOR CAP. 8


Fig. 8-35. Atac prin reflexie asupra protocolului din fig. 8-32.

Dar Trudy e periculoas i chiar vrea s pun sare pe ran. n loc s trimit un numr oarecare
pentru a completa sesiunea 2, ea ateapt ca Alice s trimit mesajul 7, provocarea lui Alice pentru
sesiunea 1. Bineneles, Trudy nu tie cum s rspund, aa c folosete din nou atacul prin reflexie,
trimind R
A2
ca mesajul 8. Alice cripteaz R
A2
n mesajul 9. Acum Trudy se ntoarce la sesiunea 1 i
i trimite lui Alice numrul dorit n mesajul 10, copiat din ceea ce trimisese Alice n mesajul 9. Acum
Trudy are dou sesiuni complet autentificate cu Alice.
Acest atac are un rezultat oarecum diferit de atacul protocolului cu trei mesaje reprezentat n fig.
8-34. De aceast dat, Trudy are dou sesiuni autentificate cu Alice. n exemplul anterior, ea avea o
singur sesiune autentificat cu Bob. i aici, dac am fi aplicat toate regulile generale pentru proto-
coale de autentificare discutate mai sus, acest atac ar fi putut fi oprit. O discuie detaliat despre
acest gen de atacuri i despre cum s le mpiedicm se gsete n (Bird et. al, 1993). Ei arat i cum
este posibil construirea sistematic de protocoale pentru care s se poat demonstra c sunt corec-
te. Cel mai simplu protocol de acest fel este totui cam complicat, aa c acum vom prezenta o alt
clas de protocoale care funcioneaz de asemenea corect.
Noul protocol de autentificare este reprezentat n fig. 8-36 (Bird . a., 1993). Acesta folosete un
HMAC de tipul pe care l-am vzut cnd am studiat IPsec. Alice ncepe prin a-i trimite lui Bob un
numr ad-hoc, R
A
, ca mesajul 1. Bob rspunde alegnd propriul numr ad-hoc, R
B
, i trimindu-l
napoi mpreun cu un HMAC. HMAC-ul este format prin construirea unei structuri de date alctu-
it din numrul ad-hoc al lui Alice, numrul ad-hoc al lui Bob, identitile lor i cheia secret parta-
jat, K
AB
. Aceast structur de date este codificat prin dispersie n HMAC, de exemplu folosind
SHA-1. Cnd Alice primete mesajul 2, ea are R
A
(pe care a ales-o ea nsi), R
B
, care ajunge ca text
clar, cele dou identiti, i cheia secret, K
AB
, pe care a tiut-o tot timpul, aa c poate s calculeze
singur HMAC-ul. Dac acesta coincide cu cel din mesaj, ea tie c vorbete cu Bob deoarece Trudy
nu cunoate K
AB
, deci nu-i poate da seama ce HMAC s trimit. Alice i rspunde lui Bob cu un
HMAC ce conine doar cele dou numere ad-hoc.
SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 705


Fig. 8-36. Autentificarea folosind HMAC.

Poate Trudy s sparg n vreun fel acest protocol? Nu, pentru c nu poate fora nici una din pri
s cripteze sau s rezume o valoare aleas de ea, cum se ntmpla n fig. 8-34 i n fig. 8-35. Ambele
HMAC-uri includ valori alese de partea care le trimite, ceea ce Trudy nu poate controla.
Utilizarea HMAC-urilor nu este singurul mod de a folosi aceast idee. O schem alternativ de-
seori utilizat n locul calculrii HMAC pentru o serie de elemente este criptarea acestor elemente
secvenial, folosind nlnuirea blocurilor cifrate.
8.7.2 Stabilirea unei chei secrete: schimbul de chei Diffie-Hellman
Pn acum am presupus c Bob i Alice partajeaz o cheie secret. S presupunem c nu este
aa (pentru c deocamdat nu exist o PKI universal acceptat pentru semnarea i distribuirea certi-
ficatelor). Cum pot ei s stabileasc una? O modalitate ar fi ca Alice s-l sune pe Bob i s-i dea che-
ia ei prin telefon, dar el probabil va ncepe ntrebnd: Cum tiu eu c eti Alice i nu Trudy? Ei ar
putea ncerca s aranjeze o ntlnire la care fiecare din ei s aduc un paaport, un permis de condu-
cere i trei cri de credit semnificative, dar fiind oameni ocupai, e posibil s nu poat gsi, vreme de
luni de zile, o dat acceptabil pentru amndoi. Din fericire, orict de incredibil ar prea, exist un
mod ca 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 interschimbul
de chei Diffie-Hellman (Diffie i Hellman, 1976) i funcioneaz dup cum urmeaz. Alice i Bob tre-
buie s se pun de acord asupra a dou numere mari, n i g, unde n este prim, (n-1)/2 este de asemenea
prim i g ndeplinete anumite condiii. Aceste numere pot fi publice, astfel c oricare din ei poate pur
i simplu s aleag n i g i s o spun celuilalt, n mod deschis. Acum Alice alege un numr mare (s
spunem pe 512 bii), x, i l pstreaz secret. Similar, Bob alege un numr mare, secret, y.

Fig. 8-37. Schimbul de cheie Diffie-Hellman.
706 SECURITATEA REELELOR CAP. 8


Alice iniiaz protocolul de schimb al cheii trimindu-i lui Bob un mesaj ce conine (n, g, g
x
mod
n), dup cum se arat n fig. 8-37. Bob rspunde trimindu-i lui Alice un mesaj ce conine g
y
mod n.
Acum Alice are numrul pe care i l-a trimis Bob i l ridic la puterea x modulo n pentru a obine (g
y

mod n)
x
mod n. Bob efectueaz o operaie similar pentru a obine (g
x
mod n)
y
mod n. Conform legi-
lor aritmeticii modulare, ambele calcule duc la g
xy
mod n. Iat cum Alice i Bob partajeaz acum o
cheie secret g
xy
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
x
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 i g =
3. Alice alege x = 8 i Bob alege y = 10. Ambele chei sunt pstrate secrete. Mesajul lui Alice ctre
Bob este (47, 3, 28) deoarece 3
8
mod 47 este 28. Mesajul lui Bob ctre Alice este (17). Alice calcu-
leaz 17
8
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
x
mod 47 = 28, ceea ce poate fi
fcut prin cutare exhaustiv n cazul unor numere mici ca acestea, dar nu i atunci cnd toate nu-
merele 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. 8-38. Aici, cnd Alice i Bob l aleg pe x, respectiv pe y, Trudy alege propriul su numr
aleator, 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 lui Alice. Mai trziu Bob i trimite lui Alice mesajul 4, pe care Trudy l interceptea-
z din nou i l pstreaz.


Fig. 8-38. Atacul de tip gleata brigzii sau omul-din-mijloc.

Acum fiecare efectueaz aritmetica modular. Alice calculeaz cheia secret ca fiind g
xz
mod n i
la fel face i Trudy (pentru mesajele lui Alice). Bob calculeaz g
yz
mod n i la fel face i Trudy (pen-
tru mesajele lui 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 la cellalt. Acest atac este cunoscut sub nu-
SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 707

mele de atacul gleata brigzii de pompieri (eng.: bucket brigade attack), deoarece el seamn vag cu
un departament de pompieri de pe vremuri trecnd din mn n mn gleile de-a lungul drumului
de la maina de pompieri la foc. El se mai numete i atacul omul-din-mijloc (eng.: man-in-the-
middle attack).
8.7.3 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 cartel de plastic.
O abordare diferit o reprezint introducerea unui centru autorizat de distribuie a cheilor
(KDC - Key Distribution Center). n acest model, fiecare utilizator are o singur cheie partajat cu
KDC. Autentificarea i gestiunea cheilor de sesiune merg acum prin intermediul KDC. Cel mai
simplu protocol cunoscut pentru autentificarea KDC, implicnd dou pri i un centru autorizat,
este ilustrat n fig. 8-39.

Fig. 8-39. O prim ncercare de protocol de autentificare folosind un KDC .

Ideea din spatele protocolului este simpl: Alice alege o cheie de sesiune , K
S
, i anun KDC c
vrea s vorbeasc cu Bob folosind K
S
. Acest mesaj este criptat cu cheia secret pe care Alice o m-
parte (numai) cu KDC, K
A
. 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 tri-
mite acest mesaj lui Bob. Criptarea este fcut cu K
B
, 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 ni-
meni altcineva nu poate s-l 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 un defect grav. 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 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.
ntre timp, Trudy se ntoarce la vechile ei obiceiuri, furturile prin reea. Ea copiaz att mesajul 2
din fig. 8-39, 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
708 SECURITATEA REELELOR CAP. 8


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 reluare.
Sunt cteva soluii posibile la atacul prin reluare. Prima este de a include n fiecare mesaj o am-
prent 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 retrimite mesajul n acest inter-
val de timp fr s fie prins.
Cea de-a doua soluie este s se pun, n fiecare mesaj, un numr ad-hoc. Fiecare parte trebuie
s-i rememoreze toate numerele ad-hoc folosite anterior i s resping orice mesaj ce conine un
numr ad-hoc folosit deja. Dar numerele ad-hoc trebuie rememorate la nesfrit, chiar i atunci
cnd Trudy ncearc s retrimit un mesaj vechi de 5 ani. De asemenea, dac o main cade i i
pierde lista de numere ad-hoc, ea va fi din nou vulnerabil la un atac prin reluare. Amprentele de
timp i numerele ad-hoc pot fi combinate pentru a limita timpul n care acestea din urm nu trebuie
terse, dar este evident c protocolul devine mult 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. 8-40.

Fig. 8-40. Protocolul de autentificare Needham-Schroeder.

n acest protocol, Alice ncepe prin a anuna KDC c ea dorete s vorbeasc cu Bob. Acest me-
saj conine un numr aleator mare, R
A
, pe post de numr ad-hoc. KDC trimite napoi mesajul 2 con-
innd numrul aleator al lui Alice mpreun cu un tichet pe care ea l poate trimite lui Bob. Scopul
numrului aleator este acela de a o asigura pe Alice c mesajul 2 este proaspt i nu unul reluat.
Identitatea lui Bob este de asemenea inclus pentru cazul n care lui Trudy i vine amuzanta idee s
nlocuiasc B-ul din mesajul 1 cu propria sa identitate, astfel nct KDC s cripteze tichetul de la
sfritul mesajului 2 cu K
T
n loc de K
B
. Tichetul criptat cu K
B
este inclus n interiorul mesajului crip-
tat, pentru a o mpiedica pe Trudy s-l nlocuiasc cu altceva pe drumul lui napoi spre Alice.
Acum Alice i trimite tichetul lui Bob, mpreun cu un nou numr aleator, R
A2
, criptat cu cheia
de sesiune, K
S
. n mesajul 4, Bob trimite napoi K
S
(R
A2
-1) pentru a-i dovedi lui Alice c vorbete cu
adevratul Bob. Trimiterea napoi a lui K
S
(R
A2
) nu ar fi mers, deoarece ar fi fost posibil ca Trudy
tocmai s-l 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 mesaje reluate. Doar ea tocmai generase R
A2
cu cteva milisecunde nainte. Scopul mesa-
jului 5 este de a-l convinge pe Bob c cea cu care vorbete este chiar Alice i c nu s-au folosit nici
SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 709

aici mesaje reluate. Posibilitatea oricrui tip de atac prin replicare este eliminat, deoarece fiecare
parte nu numai c genereaz o provocare, dar i rspunde la una.
Cu toate c protocolul pare a fi destul de solid, el are o mic scpare. Dac Trudy reuete s ob-
in o cheie de sesiune veche n text clar, ea poate s iniieze o nou sesiune cu Bob relund mesajul
3 corespunztor cheii compromise i convingndu-l pe acesta c ea este Alice (Denning i Sacco,
1981). De aceast dat ea poate prda contul din banc al lui Alice fr s trebuiasc s se legitime-
ze nici mcar o dat.
Needham i Schroeder au publicat mai trziu un protocol care corecteaz aceast problem
(Needham 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. Fig. 8-41 ilustreaz un protocol
Otway-Rees uor modificat.


Fig. 8-41. Protocolul de autentificare Otway-Rees (puin simplificat).

n protocolul Otway-Rees, Alice ncepe prin a genera o pereche de numere aleatoare, R, care va
fi utilizat ca identificator comun, i R
A
, pe care Alice l va folosi pentru a-l 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 K
A
i K
B,
identificnd pe Alice i pe Bob, conin identi-
ficatorul 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 R
S
se potrivesc, KDC crede c
mesajul de cerere de la Bob este valid. El 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 aleator 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 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 K
S
, astfel autentificarea fiind complet.
8.7.4 Autentificarea folosind Kerberos
Un protocol de autentificare folosit n multe sisteme reale (inclusiv Windows 2000) 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 dife-
ren 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 indus-
710 SECURITATEA REELELOR CAP. 8


trie, aa c pe aceasta o vom descrie. Dup care vom spune cteva cuvinte despre succesoarea sa,
V5. Pentru mai multe informaii, vezi (Steiner et. al, 1988).
Kerberos implic trei servere n afar de Alice (staia de lucru a clientului):

Serverul de autentificare (AS eng.: Authentication Server): verific utilizatorii n timpul conectrii.
Serverul de acordare a Tichetelor (TGS eng.: Ticket-Granting Server): emite demonstrarea
identitii tichetelor.
Serverul Bob: realizeaz efectiv aciunea pe care 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 oarecare i-i tasteaz nu-
mele. Staia de lucru transmite numele ei la AS ca text clar, dup cum este artat n fig. 8-42. Ceea ce
vine napoi este o cheie de sesiune mpreun cu un tichet K
TGS
(A, K
S
), destinate TGS-ului. Aceste
elemente 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 K
A
, 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 se asigura c ea se gsete n interiorul staiei de lucru pentru cel mult cteva milise-
cunde. 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-l contacteze pe Bob, serve-
rul de fiiere. Atunci staia de lucru trimite spre TGS mesajul 3 cernd un tichet pentru a-l folosi cu
Bob. Elementul cheie n aceast cerere este K
TGS
(A, K
S
), care este criptat cu cheia secret a TGS i
este folosit ca dovad c transmitorul este chiar Alice. TGS rspunde prin crearea unei chei de
sesiune K
AB
, pe care Alice s o foloseasc cu Bob. Se trimit napoi dou versiuni ale acesteia. Prima
este criptat doar cu K
S
, astfel nct Alice s poat s o citeasc. A doua este criptat cu cheia lui
Bob, K
B
, astfel nct Bob s o poat citi.



Fig. 8-42. Modul de operare la Kerberos V4.

Trudy poate copia mesajul 3 i poate ncerca s-l utilizeze din nou, dar ea va fi mpiedicat de
amprenta de timp criptat, t, trimis mpreun cu el. Trudy nu poate nlocui amprenta de timp cu
una mai recent, deoarece ea nu cunoate K
S
, cheia de sesiune pe care o folosete Alice pentru a
SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 711

vorbi cu TGS. Chiar dac Trudy retrimite mesajul 3 repede, tot ceea ce va obine este o alt copie a
mesajului 4, pe care nu a putut s-l decripteze prima dat i nu va putea nici a doua oar.
Acum Alice i poate trimite lui Bob K
AB
pentru a stabili o sesiune cu el. Acest schimb este de aseme-
nea cu amprente de timp. Rspunsul este pentru Alice dovada c ea vorbete chiar cu Bob, nu cu Trudy.
Dup aceast serie de schimburi, Alice poate comunica cu Bob sub acoperirea cheii K
AB
. Dac mai
trziu se decide c are nevoie s comunice cu alt server, Carol, ea va repeta doar mesajul 3 spre TGS,
specificnd de aceast dat C n loc de B. TGS va rspunde cu promptitudine cu un tichet criptat cu K
C
,
pe care Alice l poate transmite lui Carol i pe care Carol l va accepta ca dovad c el vine de la Alice.
Scopul ntregii aciuni este c acum Alice poate accesa 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 milisecunde. 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 demon-
streaz lui Bob cine l-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 pro-
priul su AS i TGS. Pentru a obine un tichet de la un server dintr-un domeniu de la distan, Alice
ar trebui s cear propriului su TGS un tichet acceptat de TGS-ul din domeniul de la distan. Dac
TGS-ul de la distan este nregistrat la 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, de exemplu 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 sofisticat dect V4 i are o suprancrcare mai mare. Pentru a descrie tipu-
rile de date el folosete OSI ASN.1 (Abstract Syntax Notation 1) i prezint mici modificri n proto-
coale. Mai mult dect att, are timpi de via mai mari pentru tichete, permite rennoirea tichetelor
i va elibera tichete postdatate. n plus, cel puin n teorie, nu este dependent de DES, cum este V4,
i suport domenii multiple delegnd servere de tichete multiple pentru generarea de tichete.
8.7.5 Autentificarea folosind criptografia cu cheie public
Autentificarea mutual poate fi realizat i cu ajutorul criptografiei cu cheie public. Pentru n-
ceput, Alice are nevoie de cheia public a lui Bob. Dac exist o PKI cu un server de directoare care
emite certificate pentru chei publice, Alice o poate cere pe a lui Bob, dup cum se vede din fig. 8-43,
ca mesajul 1. Rspunsul, n mesajul 2, este un certificat X.509 coninnd cheia public a lui Bob.
Cnd Alice verific faptul c semntura e corect, i trimite lui Bob un mesaj coninnd identitatea ei
i un numr ad-hoc.
Cnd Bob primete acest mesaj, nu are idee dac a venit de la Alice sau de la Trudy, dar conti-
nu i cere serverului de directoare cheia public a lui Alice (mesajul 4), pe care o obine imediat
(mesajul 5). Apoi i trimite lui Alice un mesaj coninnd R
A
a lui Alice, propriul numr ad-hoc, R
B
, i
o cheie de sesiune propus, K
S
, ca mesajul 6.
Cnd Alice primete mesajul 6, ea l decripteaz folosind propria cheie privat. Ea vede R
A
n
mesaj, ceea ce i d o senzaie plcut. Mesajul trebuie s fi venit de la Bob, pentru c Trudy nu are
nici un mijloc de a determina R
A
. Mai mult, trebuie s fie un mesaj proaspt, i nu unul reluat, din
moment ce ea tocmai i-a trimis R
A
lui Bob. Alice accept cheia de sesiune trimind napoi mesajul
7. Cnd Bob vede R
B
criptat cu cheia de sesiune pe care a generat-o el, tie c Alice a primit mesajul
6 i a verificat R
A
.

712 SECURITATEA REELELOR CAP. 8



Fig. 8-43. Autentificarea mutual folosind criptografia cu cheie public.

Cum poate ncerca Trudy s compromit acest protocol? Ea poate fabrica mesajul 3 i-l poate
pcli pe Bob s o testeze pe Alice, dar Alice va vedea un R
A
pe care nu l-a trimis ea i nu va merge
niciodat mai departe. Trudy nu poate falsifica mesajul 7 pentru Bob, deoarece nu tie R
B
sau K
S
i
nu le poate determina fr cheia privat a lui Alice. De data aceasta ea nu are noroc.


8.8 CONFIDENIALITATEA POTEI ELECTRO-
NICE
Cnd un mesaj de pot electronic este trimis ntre dou locaii situate la distan, acesta va tre-
ce n drumul su pe la un numr mare de maini. Oricare dintre acestea poate s citeasc i s nre-
gistreze mesajul pentru utilizare ulterioar. Confidenialitatea este inexistent, n ciuda a ceea ce
muli oameni cred (Weisband i Reining, 1995). Cu toate acestea, multora le-ar plcea s poat tri-
mite mesaje care s fie citite doar de cei crora le sunt adresate i de nimeni altcineva: nu de eful lor
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 si-
gur. n seciunile urmtoare vom studia un sistem de e-mail sigur larg utilizat, PGP, i apoi vom
meniona pe scurt altele dou, PEM i S/MIME. Pentru informaii suplimentare a se vedea
(Kaufman et. al, 2002; i Schneier, 1995).
8.8.1 PGP-Pretty Good Privacy (rom.: Confidenialitate Destul de Bun)
Primul nostru exemplu, PGP (eng.: Pretty Good Privacy) este n cea mai mare parte rodul gndi-
rii unei singure persoane, Phil Zimmermann (Zimmermann, 1995a, 1995b). Zimmermann este un
avocat al confidenialitii, al crui motto este: Dac dreptul la confidenialitate este n afara legii,
atunci doar cei aflai n afara legii vor avea confidenialitate. Lansat n 1991, PGP este un pachet
complet de securitate a e-mail-ului, care ofer confidenialitate, autentificare, semnturi digitale i
compresie, toate ntr-o form uor de utilizat. Pe deasupra, pachetul complet, incluznd tot codul
SEC. 8.8 CONFIDENIALITATEA POTEI ELECTRONICE 713

surs, este distribuit gratuit prin Internet. Datorit calitii sale, preului (zero) i disponibilitii pe
platformele UNIX, Linux, Windows i Mac OS, acesta este larg utilizat astzi.
PGP cripteaz datele folosind un cifru bloc numit IDEA (eng.: International Data Encryption
Algorithm, rom.: Algoritm Internaional de Criptare a Datelor), care folosete chei de 128 de bii.
Acesta a fost proiectat n Elveia ntr-un moment in care DES era considerat compromis i AES nc
nu fusese inventat. Conceptual, IDEA este similar cu DES i AES: permut biii ntr-un ir de run-
de, dar detaliile funciilor de permutare sunt diferite de DES i AES. Gestiunea cheilor folosete
RSA i integritatea datelor folosete MD5, subiecte pe care le-am discutat deja.
PGP a fost implicat n diferite controverse ncepnd din prima zi (Levy, 1993). Deoarece
Zimmermann nu a fcut nimic pentru a mpiedica alte persoane s distribuie PGP pe Internet, de
unde poate fi luat de oameni din toat lumea, guvernul Statelor Unite a pretins c Zimmermann a
violat legile privind exportul de muniie. Investigarea lui Zimmermann de ctre guvernul Statelor
Unite a durat 5 ani, dar pn la urm a ncetat, probabil din dou motive. n primul rnd,
Zimmermann nu a pus el nsui PGP pe Internet, aa c avocatul lui a susinut c el nu a exportat
niciodat nimic (i apoi mai este i problema dac de fapt a crea un sit Web constituie un export). n
al doilea rnd, guvernul i-a dat seama n cele din urm c a ctiga un proces nseamn a convinge
juraii c un sit Web coninnd un program de confidenialitate ce poate fi descrcat intr sub inci-
dena legii traficului de arme, care interzice exportul de material de rzboi cum ar fi tancurile, sub-
marinele, aparatele de zbor militare i armele nucleare. i probabil c nici anii ntregi de publicitate
negativ nu au ajutat prea mult.
Fcnd o parantez, legile exportului sunt bizare, ca s folosim termeni moderai. Guvernul a
considerat punerea de cod pe un sit Web ilegal i l-a hruit pe Zimmermann 5 ani pentru acest
lucru. Pe de alt parte, cnd cineva a publicat codul surs complet al PGP, n C, ntr-o carte (cu ca-
ractere mari i cu sume de control pe fiecare pagin, ca s poat fi verificat uor) i apoi a exportat
cartea, nu au fost probleme cu guvernul deoarece crile nu sunt clasificate ca muniii. Sabia este mai
puternic dect condeiul, cel puin pentru Unchiul Sam.
O alt problem cu care s-a confruntat PGP a fost una de nclcare a patentului. Compania ce de-
ine patentul RSA, RSA Security, Inc., a susinut c folosirea de ctre PGP a algoritmului RSA i n-
calc patentul, dar aceast problem a fost rezolvat n versiunile ncepnd de la 2.6. Mai mult, PGP
folosete i alt algoritm de criptare patentat, IDEA, ceea ce a provocat nite probleme la nceput.
Cum sursele PGP sunt publice, diverse persoane i grupuri l-au modificat i au produs un numr
de versiuni. Unele au fost proiectate ca s ocoleasc problemele cu legile muniiei, altele s-au orien-
tat spre evitarea folosirii algoritmilor patentai, i altele au vrut s-l transforme ntr-un produs co-
mercial, n care sursele s nu mai fie disponibile. Dei legile muniiei au mai fost liberalizate puin
(altfel produsele ce folosesc AES nu ar fi putut fi exportate din S.U.A.) i patentul RSA a expirat n
septembrie 2000, consecina tuturor acestor probleme este c acum sunt n circulaie diverse versiuni
incompatibile ale PGP, sub nume diferite. Discuia de mai jos se refer la PGP clasic, adic cea mai
veche i mai simpl versiune. Alt versiune popular, Open PGP, este descris n RFC 2440. nc o
alt versiune este GNU Privacy Guard.
n mod intenionat PGP utilizeaz algoritmi de criptare existeni, n loc s inventeze unii noi. Se
bazeaz n principal pe algoritmi care au fost supui unor numeroase analize amnunite i nu au fost
proiectai sau influenai de vreo agenie guvernamental care s ncerce s le micoreze puterea.
Pentru cei ce au tendina s nu aib ncredere n guvern, aceast proprietate este un mare avantaj.
PGP permite compresia de text, asigurarea secretului mesajelor i semnturi digitale i furnizea-
z de asemenea faciliti de management extensiv al cheilor, dar, destul de ciudat, nu i faciliti pen-
714 SECURITATEA REELELOR CAP. 8


tru e-mail. Este mai mult un preprocesor care preia text clar de la intrare i produce text semnat,
cifrat, n baz 64, ca rezultat. Acest rezultat poate fi apoi trimis prin e-mail, bineneles. Unele im-
plementri ale PGP apeleaz, ca pas final, un agent utilizator care s trimit efectiv mesajul.
Pentru a vedea cum funcioneaz PGP, s considerm exemplul din fig. 8-44. Aici, Alice vrea s-i
trimit lui Bob, ntr-o manier sigur, un mesaj text simplu, semnat, P. Alice i Bob au cheile private
(D
X
) i cheile RSA publice (E
X
). S presupunem c fiecare tie cheia public a celuilalt; ne vom ocu-
pa mai trziu de administrarea cheilor.


Fig. 8-44. PGP n aciunea de trimitere a unui mesaj.

Alice ncepe prin a invoca programul PGP pe calculatorul su. Mai nti PGP rezum prin dis-
persare (eng.: hash) mesajul P utiliznd MD5, apoi cripteaz codul de dispersie rezultat utiliznd
cheia sa RSA privat, D
A
. Cnd, n cele din urm, Bob primete mesajul, el poate decripta rezumatul
cu cheia public cunoscut a lui Alice i poate testa corectitudinea acestuia. Chiar dac altcineva (de
ex. Trudy) poate obine codul n aceast etap i l poate decripta cu cheia public a lui Alice, pute-
rea lui MD5 garanteaz c este nerealizabil computaional producerea unui alt mesaj care s aib
acelai cod MD5.
Rezumatul criptat i mesajul original sunt acum concatenate ntr-un singur mesaj P1 i compri-
mate apoi cu programul ZIP, care utilizeaz algoritmul Ziv-Lempel (Ziv i Lempel, 1977). Numim
ieirea obinut la acest pas P1.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, K
M

(numit cheie de sesiune n literatura PGP, dar numele este nepotrivit atta timp ct nu exist nici o
sesiune). K
M
este acum utilizat pentru a cripta P1.Z cu IDEA, prin metoda de tip reacie cifrat. n
plus, K
M
este criptat cu cheia public a lui Bob, E
B
. Aceste dou componente sunt apoi concatenate
i convertite n baz 64, aa cum s-a discutat n seciunea despre MIME din Cap. 7. 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 P1.Z. Dup de-
SEC. 8.8 CONFIDENIALITATEA POTEI ELECTRONICE 715

compresia acestuia, Bob separ textul simplu de codul cifrat i decripteaz codul de dispersie
utiliznd cheia public a lui Alice. Dac codul textului clar coincide cu ceea ce a calculat el
utiliznd MD5, el tie c P este mesajul corect i c provine 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 aleator, 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 securita-
te, compresie i o semntur digital i face acest lucru ntr-o manier chiar mult mai eficient dect
schema ilustrat n fig. 8-19.
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 uor n ziua de azi.
2. Comercial (512 bii): ar putea fi spart de organizaii cu nume din trei litere (care se ocup
cu securitatea statului).
3. Militar (1024 bii): Nu poate fi spart de nici un pmntean.
4. Extraterestr (2048 bii): Nu poate fi spart nici de cineva de pe alt planet.

Cum RSA este folosit doar pentru dou calcule uoare, toat lumea ar trebui s foloseasc me-
reu chei de lungime extraterestr.


Fig. 8-45. Un mesaj PGP

Formatul unui mesaj PGP este prezentat n fig. 8-45. Mesajul are trei pri, coninnd cheia
IDEA, semntura i respectiv mesajul. Partea care conine cheia mai include, de asemenea, un iden-
tificator 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 am-
prent de timp, identificatorul pentru cheia public a emitorului, care poate fi folosit pentru a decrip-
ta codul semnturii, unele informaii care identific algoritmul folosit (pentru a permite folosirea algo-
ritmilor MD6 i RSA2 atunci cnd acetia vor fi inventai) precum i 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-l salveze pe disc, o amprent de timp pus la crearea mesajului i,
n sfrit, mesajul n sine.
716 SECURITATEA REELELOR CAP. 8


Administrarea cheilor a fost tratat cu atenie foarte mare n PGP, deoarece acesta este clciul
lui Ahile pentru sistemele de securitate. Administrarea cheilor funcioneaz dup cum urmeaz.
Fiecare utilizator menine dou structuri de date locale: un inel cu chei private i unul cu chei publi-
ce. Inelul cheilor private conine una sau mai multe perechi de chei personale (privat-public). Mo-
tivul 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 criptarea acestu-
ia. Identificatorii de mesaj constau din ultimii 64 de bii ai cheii publice. Utilizatorii sunt responsabili
pentru evitarea conflictelor ntre identificatorii cheilor lor publice. Cheile private de pe disc sunt
criptate folosind o parol special (arbitrar de lung) pentru a le proteja mpotriva unor atacuri.
Inelul cheilor publice conine cheile publice ale corespondenilor utilizatorului. Acestea sunt ne-
cesare 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 n-
crederii 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-mail-ul 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 lansa un atac gleata-brigzii 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 maxi-
m de ncredere. Aceast abordare descentralizat, bazat pe controlul utilizatorului, asupra admi-
nistrrii cheilor publice este ceea ce face PGP s se deosebeasc de schemele centralizate PKI.
Totui, n practic, oamenii primesc cheile publice ntrebnd un server de chei sigur. Din acest
motiv, dup ce X.509 a fost standardizat, PGP a nceput s suporte aceste certificate, pe lng tradi-
ionalul mecanism al inelelor cu chei publice. Toate versiunile curente de PGP suport X.509.
8.8.2 PEM-Privacy Enhanced Mail (Pot cu Confidenialitate Sporit)
Spre deosebire de PGP, care a fost iniial opera unui singur om, cel de-al doilea exemplu al nos-
tru, PEM (eng.: Privacy Enhanced Mail), dezvoltat la sfritul anilor 80, este un standard oficial
Internet i este descris n patru RFC-uri: RFC 1421 pn la RFC 1424. Foarte pe scurt, PEM acope-
r acelai teritoriu ca i PGP: confidenialitatea i autentificarea sistemelor de e-mail bazate pe RFC
822. Cu toate acestea, el prezint i unele diferene fa de abordarea i tehnologia PGP.
Mesajele trimise folosind PEM sunt mai nti convertite ntr-o form canonic, astfel nct ele au
aceleai convenii referitoare la spaii albe (de ex. tab-uri, spaiile de la sfrit de text). Apoi este cal-
culat un cod de dispersie al mesajului, folosind MD2 sau MD5. Dup aceasta, concatenarea codului
de dispersie i a mesajului este criptat folosind DES. n lumina cunoscutei slbiciuni a unei chei de
56 de bii, aceast alegere este n mod sigur suspect. Mesajul criptat poate fi apoi codificat utiliznd o
codificare n baza 64 i transmis destinatarului.
Ca i n PGP, fiecare mesaj este criptat cu o cheie unic, inclus i ea n mesaj. Cheia poate fi
protejat fie cu RSA, fie cu DES triplu folosind EDE.
n PEM administrarea cheilor este mult mai structurat dect n PGP. Cheile sunt certificate
prin certificate X.509 emise de CA-uri, care sunt organizate ntr-o ierarhie rigid pornind de la o
SEC. 8.9 SECURITATEA WEB-ULUI 717

singur rdcin (baz). Avantajul acestei scheme este c revocarea certificatului este posibil dac
autoritatea corespunztoare rdcinii emite periodic CRL-uri.
Singura problem cu PEM este c nimeni nu l-a folosit niciodat i a disprut de mult n neant.
n mare, problema a fost politic: cine ar funciona ca baz a ierarhiei i n ce condiii? Nu a fost
lips de candidai, dar multora le-a fost fric s ncredineze vreuneia dintre companii securitatea
ntregului sistem. Cel mai serios candidat, RSA Security, Inc., a vrut s perceap o tax pentru fieca-
re certificat emis. Totui, unele organizaii au respins ideea. n particular, guvernul Statelor Unite
poate folosi toate patentele din ar fr a plti, iar companiile din afara S.U.A. se obinuiser s
foloseasc algoritmul RSA pe gratis (compania a uitat s l patenteze n afara Statelor Unite). Nici
unii, nici alii nu erau entuziasmai de ideea de a trebui deodat s plteasc RSA Security, Inc. pen-
tru lucruri pe care ei le fcuser dintotdeauna pe gratis. Pn la urm, nu a putut fi gsit o baz
pentru ierarhie i PEM s-a prbuit.
8.8.3 S/MIME
Urmtoarea aventur a IETF n domeniul securitii potei electronice, denumit S/MIME (Se-
cure/MIME, rom.: MIME Sigur), este descris n RFC 2632 pn la 2643. Ca i PEM, acesta ofer
autentificare, integritatea datelor, confidenialitate i non-repudiere. Este de asemenea destul de
flexibil, suportnd o varietate de algoritmi criptografici. n mod previzibil, avnd n vedere numele,
S/MIME se integreaz bine cu MIME, permind tuturor tipurilor de mesaje s fie protejate. Sunt
definite o varietate de antete noi MIME, de exemplu pentru a conine semnturi digitale.
IETF a nvat evident ceva din experiena cu PEM. S/MIME nu are o ierarhie rigid pentru cer-
tificate, pornind de la o singur baz. n schimb, utilizatorii pot avea mai multe puncte de ncredere
(eng.: trust anchors). Atta timp ct un certificat poate fi urmrit napoi pn la un punct n care
utilizatorul are ncredere, este considerat valid. S/MIME folosete algoritmii i protocoalele standard
pe care le-am examinat pn acum, deci nu l vom mai discuta aici. Pentru detalii, v rog s consul-
tai RFC-urile.


8.9 SECURITATEA WEB-ULUI
Am studiat dou domenii importante n care securitatea este necesar: comunicaiile i pota
electronic. Putei s vi le imaginai pe acestea ca fiind supa i aperitivul. Acum este momentul pen-
tru felul principal: securitatea Web-ului. Web-ul este locul unde n zilele noastre cele mai multe
Trudy i petrec vremea fcnd ruti. n seciunile urmtoare vom analiza unele probleme i aspec-
te referitoare la securitatea Web-ului.
n linii mari, securitatea Web-ului poate fi mprit n trei subiecte. n primul rnd, cum pot
fi sigur denumite obiectele i resursele? n al doilea rnd, cum se pot stabili conexiuni sigure, autenti-
ficate? n al treilea rnd, ce se ntmpl cnd un sit Web trimite unui client un fragment de cod exe-
cutabil? Dup ce prezentm cteva tipuri de pericole, vom examina toate aceste probleme.
718 SECURITATEA REELELOR CAP. 8


8.9.1 Pericole
n ziare se poate citi despre problemele de securitate a siturilor Web aproape n fiecare spt-
mn. Situaia e ntr-adevr destul de proast. S vedem cteva exemple de lucruri care s-au ntm-
plat deja. n primul rnd, paginile principale ale multor organizaii au fost atacate i nlocuite cu alte
pagini alese de sprgtori (eng.: crackers). (Presa popular denumete persoanele care sparg siste-
mele hackers, dar muli programatori rezerv acest termen pentru marii programatori. Preferm
s denumim aceste persoane sprgtori - crackers). Printre siturile care au fost sparte se numr
i Yahoo, Armata S.U.A., CIA, NASA, New York Times. n cele mai multe cazuri, sprgtorii au
pus acolo doar un text amuzant i siturile au fost reparate n cteva ore.
Acum s vedem nite cazuri mult mai serioase. Multe situri au czut din cauza atacurilor de refuz
al serviciilor (eng.: denial-of-service attacks), n care sprgtorul inund situl cu trafic, fcndu-l
incapabil de a rspunde la cererile legitime. De multe ori atacul e lansat de pe un numr mare de
maini n care sprgtorul tocmai a intrat (atacuri distribuite de negare a serviciilor DDoS attacks).
Aceste atacuri au devenit att de obinuite nct acum nici nu mai ajung la tiri, dar pot costa situl
atacat mii de dolari n afaceri pierdute.
n 1999, un sprgtor suedez a intrat n situl Hotmail al firmei Microsoft i a creat un sit oglind
(mirror) care permitea oricui s scrie numele unui utilizator Hotmail i apoi s citeasc toat pota
electronic, cea curent i cea arhivat, a persoanei respective.
n alt caz, un sprgtor rus de 19 ani numit Maxim a intrat ntr-un sit de comer electronic i a fu-
rat 300000 de numere de cri de credit. Apoi i-a abordat pe deintorii sitului i le-a spus c dac nu l
pltesc cu 100000$, va publica toate numerele de cri de credit pe Internet. Ei nu au cedat antajului
i el chiar a publicat numerele crilor de credit, producnd mari pagube multor victime inocente.
n alt stil, un student de 23 de ani din California a trimis prin e-mail unei agenii de pres un co-
municat coninnd afirmaia fals c Emulex, o corporaie american, va suferi mari pierderi i c
directorul executiv i va da imediat demisia. n cteva ore, aciunile companiei au sczut cu 60%,
provocnd celor care le deineau pierderi de peste 2 miliarde $. Autorul faptei a ctigat un sfert de
milion de dolari vnznd aciunile cu puin timp nainte de a trimite anunul. Chiar dac acest eve-
niment nu a fost o spargere a unui sit Web, este clar c punerea unui astfel de anun pe pagina unei
mari corporaii ar avea un efect similar.
Am putea (din nefericire) s continum aa pe multe pagini. Dar acum este timpul s examinm
unele aspecte tehnice legate de securitatea Web-ului. Pentru mai multe informaii despre probleme
de securitate de orice fel, vezi (Anderson, 2001; Garfinkel i Spafford, 2002; i Schneier, 2000). i
cutnd pe Internet se va obine un numr imens de astfel de cazuri.
8.9.2 Sigurana numelor
S ncepem cu ceva simplu: Alice vrea s viziteze situl Web al lui Bob. Ea tasteaz URL-ul lui Bob
n browser i dup cteva secunde, apare o pagin Web. Dar este pagina lui Bob? Pate c da, poate c
nu. Poate c Trudy s-a ntors din nou la farsele ei. De exemplu, ar putea s intercepteze toate pache-
tele ce vin de la Alice i s le examineze. Cnd gsete o cerere HTTP de tip GET pentru situl lui
Bob, ar putea s se duc ea nsi la situl lui Bob ca s ia pagina, s o modifice dup cum dorete i s
i trimit lui Alice pagina fals. Alice nu ar fi deloc mai neleapt. Mai ru, Trudy ar putea s mico-
reze preurile din magazinul virtual al lui Bob pentru a face produsele s par foarte atractive, pc-
lind-o astfel pe Alice s trimit numrul crii ei de credit lui Bob ca s cumpere ceva.
SEC. 8.9 SECURITATEA WEB-ULUI 719


Fig. 8-46. (a) Situaie normal. (b) Atac bazat pe spargerea DNS-ului i
modificarea nregistrrii lui Bob.

Un dezavantaj al acestui atac clasic de tip omul-din-mijloc este acela c Trudy trebuie s poat
intercepta traficul ce pleac de la Alice i s l poat falsifica pe cel ce vine. Practic, ea trebuie s in-
tercepteze linia de telefon a lui Alice sau a lui Bob, pentru c interceptarea fibrei optice este foarte
dificil. Dei interceptarea activ a cablurilor este cu siguran posibil, ea presupune o anumit
cantitate de munc, iar Trudy, cu toate c este inteligent, este lene. n plus, exist moduri mai
uoare de a o pcli pe Alice.
Pclirea DNS-ului (DNS Spoofing)
De exemplu, s presupunem c Trudy poate s sparg sistemul DNS, sau poate memoria as-
cuns a DNS de la ISP-ul lui Alice, i s nlocuiasc adresa IP a lui Bob (s zicem, 36.1.2.3) cu adre-
sa ei (a lui Trudy, s zicem, 42.9.9.9). Aceasta duce la urmtorul atac. Modul n care ar trebui s
funcioneze este ilustrat n fig. 8-46(a). Aici (1) Alice cere DNS-ului adresa IP a lui Bob, (2) o obi-
ne, (3) i cere lui Bob pagina sa principal i (4) o obine i pe aceasta. Dup ce Trudy a modificat
nregistrarea DNS corespunztoare lui Bob astfel nct aceasta s conin adresa ei IP n loc de cea
a lui Bob, ajungem la situaia din fig. 8-46(b). Aici, cnd Alice caut adresa IP a lui Bob, o obine
pe a lui Trudy, aa c tot traficul ei destinat lui Bob ajunge la Trudy. Trudy poate organiza acum un
atac omul-din-mijloc fr s mai fie necesar s fac efortul de a intercepta vreo linie telefonic. n
schimb, ea trebuie s ptrund ntr-un server DNS i s schimbe o nregistrare, ceea ce este mult
mai uor.
Cum ar putea Trudy s nele DNS-ul? Acest lucru se dovedete a fi relativ uor. Pe scurt,
Trudy poate s pcleasc serverul DNS de la ISP-ul lui Alice, fcndu-l s trimit o cerere pentru a
afla adresa lui Bob. Din nefericire, deoarece DNS-ul folosete UDP, serverul DNS practic nu poate
verifica cine a dat cu adevrat rspunsul. Trudy poate profita de aceast proprietate pentru a falsifi-
ca rspunsul ateptat, introducnd astfel o adres IP fals n memoria ascuns a serverului DNS.
720 SECURITATEA REELELOR CAP. 8


Pentru simplitate, vom presupune c iniial ISP-ul lui Alice nu are o intrare pentru situl Web al lui
Bob, bob.com. Dac are, Trudy poate s atepte pn cnd aceasta expir i s ncerce mai trziu
(sau s foloseasc alte manevre).
Trudy ncepe atacul prin a trimite o cerere de cutare ISP-ului lui Alice, solicitnd adresa IP a si-
tului bob.com. Cum nu are nici o intrare pentru acest nume, serverul local interogheaz serverul de
nivel superior pentru domeniul com pentru a obine una. Totui, Trudy o ia naintea serverului com
i trimite napoi un rspuns fals spunnd: bob.com este 42.9.9.9 , unde acea adres IP este a ei.
Dac rspunsul ei fals ajunge primul la ISP-ul lui Alice, va fi memorat n memoria ascuns i rspun-
sul adevrat va fi respins ca rspuns nesolicitat la o cerere care nu mai e valabil. A face un server
DNS s instaleze o adres IP fals se numete pclirea DNS-ului (eng.: DNS spoofing). O memorie
ascuns care conine o adres IP intenionat fals, ca aceasta, se numete memorie ascuns otvit
(eng.: poisoned cache).
De fapt, lucrurile nu sunt chiar aa de simple. n primul rnd, ISP-ul lui Alice verific dac rs-
punsul are adresa IP surs corect a serverului de nivel superior. Dar cum Trudy poate s pun orice
dorete n acel cmp al mesajului, poate trece uor de acest test, pentru c adresele IP ale serverelor
de nivel superior trebuie s fie publice.
n al doilea rnd, pentru ca serverele DNS s poat spune care rspuns corespunde crei cereri,
toate cererile poart un numr de secven. Pentru a pcli ISP-ul lui Alice, Trudy trebuie s i cu-
noasc numrul de secven curent. Cea mai uoar metod de a afla numrul de secven este ca
Trudy si nregistreze ea nsi un domeniu, s spunem trudy-the-intruder.com. S presupunem c
adresa IP a acestuia este tot 42.9.9.9. Ea creeaz i un server DNS pentru noul ei domeniu, s spu-
nem dns.trudy-the-intruder.com. i acesta folosete adresa IP a lui Trudy, 42.9.9.9, din moment ce
Trudy are un singur calculator. Acum ea trebuie s-l fac pe ISP-ul lui Alice s nregistreze serverul
ei DNS. Asta e uor de fcut. Tot ceea ce are de fcut este s ntrebe ISP-ul lui Alice de foobar.trudy-
the-intruder.com, i ISP-ul lui Alice va afla cine se ocup de noul domeniu al lui Trudy ntrebnd
serverul com de nivel superior.
Cu dns.trudy-the-intruder.com aflat n siguran n memoria ascuns a ISP-ului lui Alice, adevra-
tul atac poate ncepe. Acum Trudy ntreab ISP-ul lui Alice de www.trudy-the-intruder.com. Binene-
les, ISP-ul trimite serverului DNS al lui Trudy o cerere referitoare la acest domeniu. Aceast cerere
poart numrul de secven pe care l caut Trudy. Sprinten ca un iepura, Trudy i cere ISP-ului
lui Alice s l caute pe Bob. Apoi rspunde imediat la propria ntrebare trimind ISP-ului un rs-
puns falsificat, ca din partea serverului com de nivel superior, spunnd: bob.com este 42.9.9.9 .
Acest rspuns falsificat poart un numr de secven cu 1 mai mare dect cel pe care tocmai l-a pri-
mit ea. Dac tot a ajuns aici, poate s mai trimit i un al doilea fals cu un numr de secven cu 2
mai mare i poate nc o duzin de rspunsuri false cu numere de secven consecutive. Unul dintre
ele va trebui s se potriveasc. Restul pur i simplu vor fi respinse. Cnd rspunsul fals ajunge la Ali-
ce, este stocat n memoria ascuns; mai trziu, cnd va ajunge rspunsul adevrat, va fi respins pen-
tru c nu va mai exista pentru el o cerere valabil.
Acum, cnd Alice caut bob.com, i se spune s foloseasc 42.9.9.9, adresa lui Trudy. Trudy a or-
ganizat cu succes un atac omul-din-mijloc din confortabila ei camer de zi. Diverii pai ai acestui
atac sunt ilustrai n fig. 8-47. Pentru ca situaia s fie i mai complicat, acesta nu e singurul mod de
a pcli DNS-ul. Mai exist multe alte moduri.

SEC. 8.9 SECURITATEA WEB-ULUI 721


Fig. 8-47. Cum pclete Trudy ISP-ul lui Alice
DNS sigur
Acest atac, n particular, poate fi mpiedicat fcnd serverele DNS s foloseasc identificatori
aleatorii n cererile lor n loc s numere pur i simplu, dar se pare c de fiecare dat cnd o gaur e
astupat, se ivete una nou. Adevrata problem este c DNS-ul a fost proiectat ntr-o vreme n
care Internetul era o facilitate pentru cercetare pentru cteva sute de universiti i nici Alice, nici
Bob, nici Trudy nu intraser nc n joc. Pe atunci securitatea nu era o problem; problema era de a
face Internetul s funcioneze. Situaia s-a schimbat radical cu trecerea anilor, aa c n 1994 IETF a
nfiinat un grup de lucru care s fac DNS-ul fundamental sigur. Acest proiect este cunoscut sub
numele de DNSsec (DNS security, rom.: securitatea DNS-ului); Rezultatele lui sunt prezentate n
RFC 2535. Din nefericire, DNSsec nu a fost nc distribuit peste tot, aa c multe servere DNS sunt
nc vulnerabile la atacuri de pclire.
Conceptual, DNSsec este extrem de simplu. Este bazat pe criptografia cu chei publice. Fiecare
zon DNS (n sensul din figura7-4) are o pereche de chei format dintr-una public i una privat.
Toate informaiile trimise de un server DNS sunt semnate cu cheia privat a zonei de origine, deci
destinatarul poate s le verifice autenticitatea.
DNSsec ofer trei servicii fundamentale:

1. Dovada originii datelor.
2. Distribuia cheilor publice.
3. Autentificarea tranzaciilor i a cererilor.

Principalul serviciu este primul dintre ele, care verific faptul c datele returnate au fost aprobate
de ctre deintorul zonei. Al doilea este util pentru stocarea i refacerea, n siguran, a cheilor pu-
blice. Al treilea este necesar pentru a proteja mpotriva atacurilor prin reluare i a celor de pclire.
Observai c pstrarea secretului nu face parte dintre serviciile oferite deoarece toate informaiile
din DNS sunt considerate publice. Cum etapele dezvoltrii DNSsec se estimeaz c vor dura mai
muli ani, capacitatea serverelor ce pot asigura securitatea de a colabora cu cele ce nu o asigur este
esenial, ceea ce implic faptul c protocolul nu poate fi schimbat. S vedem acum nite detalii.
nregistrrile DNS sunt grupate n mulimi numite RRSets (Resource Record Sets, rom.: Mulimi
de nregistrri de Resurse), toate nregistrrile cu acelai nume, clas i tip fiind incluse ntr-o muli-
me. O mulime poate conine mai multe nregistrri A, de exemplu, dac un nume DNS corespunde
722 SECURITATEA REELELOR CAP. 8


unei adrese IP primare i unei adrese IP secundare. Mulimile sunt extinse cu cteva tipuri noi de
nregistrri (discutate mai jos). Pentru fiecare mulime se face un cod de dispersie criptografic (de
exemplu utiliznd MD5 sau SHA-1). Rezumatul e semnat de ctre zona privat a RRSet. La primirea
unei mulimi semnate, clientul poate verifica dac a fost semnat cu cheia privat a zonei de origine.
Dac semntura coincide, datele sunt acceptate. Cum fiecare mulime are propria semntur, RRSet
poate fi memorat oriunde, chiar pe un server neautorizat, fr s pun n pericol securitatea.
DNSsec introduce cteva tipuri noi de nregistrri. Primul din ele este nregistrarea KEY. Aceas-
t nregistrare conine cheia public a unei zone, utilizatorul, gazda, sau alt principal, algoritmul crip-
tografic folosit pentru semnturi, protocolul folosit pentru transmisie i nc bii n plus. Cheia publi-
c este stocat ca atare. Certificatele X.509 nu sunt utilizate, din cauza dimensiunii lor. Cmpul co-
respunztor algoritmului este 1 pentru semnturi MD5/RSA (varianta preferat), sau are alte valori
pentru alte combinaii. Cmpul corespunztor protocolului poate indica folosirea IPsec sau a altor
protocoale de securitate, dac s-a utilizat vreunul.
Al doilea tip nou de nregistrare este SIG. Acesta conine codul de dispersie semnat conform al-
goritmului specificat n nregistrarea KEY. Semntura se aplic tuturor resurselor din set, inclusiv
celor de tip KEY, dar nu i lui nsui. nregistrarea mai conine i momentele cnd ncepe perioada
de valabilitate a semnturii i cnd aceasta expir, precum i numele celui care semneaz i alte cte-
va informaii.
DNSsec este proiectat astfel nct cheia privat a unei zone s poat fi pstrat pe un calculator
neconectat la reea. O dat sau de dou ori pe zi, coninutul bazei de date a unei zone poate fi trans-
portat manual (de exemplu, pe CD-ROM) la o main neconectat unde se gsete cheia privat.
Toate mulimile de nregistrri pot fi semnate acolo i nregistrrile SIG create astfel pot fi duse na-
poi, pe CD-ROM, la serverul primar al zonei. Astfel, cheia privat poate fi memorat pe un CD-
ROM ncuiat ntr-un seif, mai puin n momentele n care este introdus n calculatorul neconectat
pentru a semna nregistrrile noi. Cnd semnarea s-a terminat, toate copiile cheii sunt terse din
memorie i CD-ROM-ul este pus napoi n seif. Aceast procedur reduce securitatea electronic la
securitatea fizic, cu care oamenii tiu cum s se descurce.
Aceast metod de a pre-semna mulimile de nregistrri accelereaz foarte mult procesul de
rspuns la cereri, deoarece nu mai trebuie fcute pe loc operaii de criptografie. Dezavantajul este c
e necesar o cantitate mare de spaiu pe disc pentru a stoca toate cheile i semnturile n bazele de
date DNS. Unele nregistrri i vor mri dimensiunea de zece ori din cauza semnturii.
Cnd un proces client obine o mulime de nregistrri semnat, trebuie s aplice cheia public a
zonei de origine pentru a decripta rezumatul, s calculeze el nsui rezumatul, i s compare cele
dou valori. Dac sunt identice, datele sunt considerate valide. Totui, aceast procedur ridic n-
trebarea cum va afla clientul cheia public a zonei. Un mod este de a o cere unui server autorizat,
folosind o conexiune sigur (de ex., folosind IPsec).
Totui, n practic, e de ateptat ca clienii s fie reconfigurai cu cheile publice ale tuturor do-
meniilor de nivel superior. Dac acum Alice vrea s viziteze situl Web al lui Bob, poate cere DNS-
ului mulimea de nregistrri pentru bob.com, care va conine adresa IP a acestuia i o nregistrare de
tip KEY cu cheia public a lui Bob. Aceast mulime de nregistrri va fi semnat de ctre nivelul
superior com, deci Alice i poate verifica uor validitatea. Un exemplu de ce ar putea conine aceast
mulime de nregistrri se afl n fig. 8-48.

SEC. 8.9 SECURITATEA WEB-ULUI 723



Fig. 8-48. Un exemplu de mulime de nregistrri (RRSet) pentru bob.com. nregistrarea KEY este
cheia public a lui Bob. nregistrarea SIG este rezumatul serverului com de nivel superior pentru
nregistrrile A i KEY , pentru a le verifica autenticitatea.

narmat acum cu o copie verificat a cheii publice a lui Bob, Alice poate ntreba serverul DNS
al lui Bob (rulat de Bob) de adresa IP pentru www.bob.com. Aceast mulime de nregistrri va fi
semnat cu cheia privat a lui Bob, deci Alice poate verifica semntura mulimii de nregistrri pe
care o returneaz Bob. Dac Trudy reuete n vreun fel s introduc o mulime de nregistrri fals
n una din memoriile ascunse, Alice poate detecta cu uurin lipsa ei de autenticitate pentru c n-
registrarea SIG va fi incorect.
Totui, DNSsec ofer i un mecanism criptografic de a lega un rspuns de o anumit cerere,
pentru a preveni neltoria pe care Trudy a reuit s o fac n fig. 8-47. Aceast msur (opional)
de prevenire a neltoriilor adaug la rspuns un cod de dispersie al mesajului de interogare sem-
nat cu cheia privat a celui care rspunde. Cum Trudy nu tie cheia privat a serverului com de
nivel superior, nu poate falsifica un rspuns la o cerere pe care ISP-ul lui Alice a trimis-o acolo.
Desigur, ea poate s trimit prima rspunsul, dar acesta va fi respins din cauza semnturii invalide
a rezumatului cererii.
DNSsec suport i alte cteva tipuri de nregistrri. De exemplu, nregistrarea CERT poate fi uti-
lizat pentru a stoca certificate (de ex., certificate X.509). Aceast nregistrare a fost oferit pentru
c unele persoane vor s transforme DNS-ul ntr-un PKI. Dac aceasta se va ntmpla cu adevrat
rmne de vzut. Vom pune capt aici discuiei despre DNSsec. Pentru mai multe detalii, v rugm
s consultai RFC 2535.
Nume cu auto-certificare
DNS sigur nu este singura posibilitate de a proteja numele. O abordare complet diferit este n-
tlnit n Sistemul Sigur de Fiiere (Secure File System) (Mazires et. al, 1999). n acest proiect,
autorii au conceput un sistem de fiiere sigur, scalabil, de ntindere foarte larg, fr a modifica
DNS-ul (standard) i fr a folosi certificate sau a presupune existena unei PKI. n aceast seciune
vom arta cum au putut fi aplicate ideile lor n cazul Web-ului. Prin urmare, n descrierea de mai jos
vom folosi terminologia Web n loc de cea a sistemelor de fiiere, utilizat n lucrarea respectiv.
Dar, pentru a evita orice confuzie, dei aceast schem ar putea s fie aplicat Web-ului pentru a
obine o securitate nalt, ea nu este folosit n prezent i ar avea nevoie de modificri substaniale
ale software-ului pentru a fi introdus.
Vom ncepe prin a presupune c fiecare server Web are o pereche de chei format dintr-o cheie
public i una privat. Esena ideii este c fiecare URL conine un cod de dispersie criptografic pen-
tru numele serverului i cheia public a acestuia, ca parte a URL-ului. De exemplu, n fig. 8-49 ve-
dem URL-ul pentru fotografia lui Bob. ncepe cu obinuita schem http, urmat de numele DNS al
serverului (www.bob.com). Apoi urmeaz dou puncte i un rezumat de 32 de caractere. La sfrit
724 SECURITATEA REELELOR CAP. 8


este numele fiierului, din nou n modul obinuit. Cu excepia codului de dispersie, acesta este un
URL standard. mpreun cu codul, este un URL cu auto-certificare (eng.: self-certifying URL).



Fig. 8-49. Un URL cu auto-certificare coninnd un rezumat al numelui
serverului i al cheii publice.

ntrebarea evident este: La ce folosete codul de dispersie? Codul e calculat concatennd nu-
mele DNS al serverului cu cheia public a acestuia i aplicnd rezultatului funcia SHA-1 pentru a
obine un cod pe 160 de bii. n aceast schem, rezumatul e reprezentat ca o secven de 32 de cifre
i litere mici, cu excepia literelor l i o i a cifrelor 1 i 0, pentru a evita confuziile. Deci au
mai rmas 32 de cifre i de litere posibile. Fiecare dintre cele 32 de caractere disponibile poate codi-
fica un ir de 5 bii. Un ir de 32 de caractere poate reprezenta rezumatul SHA-1 de 160 de bii. De
fapt, nu e necesar folosirea unui rezumat; ar putea fi folosit cheia nsi. Avantajul rezumatului
este c reduce lungimea numelui.
Cel mai simplu (dar cel mai puin convenabil) mod de a vedea fotografia lui Bob este ca Alice s
trimit pur i simplu irul din fig. 8-49 programului de navigare. Programul de navigare trimite un
mesaj la situl lui Bob, cerndu-i cheia public. Cnd cheia public a lui Bob ajunge, programul de
navigare concateneaz numele serverului i cheia public i execut algoritmul de calcul al rezuma-
tului. Dac rezultatul coincide cu rezumatul de 32 de caractere din URL-ul securizat, programul de
navigare este sigur c are cheia public a lui Bob. Pn la urm, datorit proprietilor algoritmului
SHA-1, chiar dac Trudy intercepteaz cererea i falsific rspunsul, nu are cum s gseasc o cheie
public prin care s se obin rezumatul ateptat. Orice interferen din partea ei va fi astfel detecta-
t. Cheia public a lui Bob poate fi stocat n memoria ascuns pentru utilizri viitoare.
Acum Alice trebuie s verifice c Bob are cheia privat corespunztoare. Ea construiete un me-
saj coninnd o cheie de sesiune AES propus, un numr ad-hoc i o amprent de timp. Pe urm
cripteaz mesajul cu cheia public a lui Bob i i-l trimite. Cum doar Bob are cheia privat corespun-
ztoare, numai el poate s decripteze mesajul i s trimit napoi numrul ad-hoc criptat cu cheia
AES. Cnd primete numrul corect criptat AES, Alice tie c vorbete cu Bob. De asemenea, Alice
i Bob au acum o cheie de sesiune AES pentru urmtoarele cereri i rspunsuri GET.
Odat ce Alice are fotografia lui Bob (sau orice alt pagin Web), ea poate s o marcheze (eng.:
bookmark), ca s nu mai trebuiasc s scrie nc o dat ntregul URL. Mai mult, URL-urile incluse
n paginile Web pot fi de asemenea cu auto-certificare, ca s poat fi folosite doar fcndu-se un clic
pe ele, dar avnd n plus i sigurana c pagina returnat este cea corect. Alte moduri de a evita
scrierea iniial a URL-urilor cu auto-certificare sunt obinerea lor printr-o conexiune sigur de la
un server autorizat sau prezena lor n certificate X.509 semnate de autoriti de certificare.
Alt metod de a obine URL-uri cu auto-certificare ar fi conectarea la un motor de cutare au-
torizat, introducnd (prima dat) URL-ul cu auto-certificare al acestuia, i trecerea prin acelai
protocol cu cel descris mai sus, ceea ce va duce la o conexiune sigur, autentificat, cu motorul de
cutare. Apoi motorul de cutare poate fi interogat, iar rezultatele vor aprea pe o pagin semnat,
plin cu URL-uri auto-certificate ce pot fi accesate printr-un clic, fr a mai fi necesar scrierea
unor iruri lungi.
SEC. 8.9 SECURITATEA WEB-ULUI 725

Acum s vedem ct de bine rezist aceast abordare la pclelile lui Trudy. Dac Trudy reuete
otrvirea memoriei ascunse de la ISP-ul lui Alice, cererea lui Alice ar putea fi n mod greit livrat
lui Trudy n loc de Bob. Dar acum protocolul cere ca cel ce primete un mesaj iniial (adic Trudy)
s returneze o cheie care s produc rezumatul corect. Dac Trudy i trimite propria cheie public,
Alice o va detecta imediat pentru c rezumatul SHA-1 nu se va potrivi cu URL-ul auto-certificat.
Dac Trudy trimite cheia public a lui Bob, Alice nu va detecta atacul, dar va cripta mesajul urmtor
folosind cheia lui Bob. Trudy va primi mesajul, dar nu va putea s-l decripteze pentru a extrage cheia
AES i numrul ad-hoc. n ambele cazuri, tot ceea ce poate face aceast pclire a DNS-ului este s
provoace un atac de refuz al serviciului.
8.9.3 SSL Nivelul soclurilor sigure (Secure Sockets Layer)
Securitatea numelor pe Web reprezint un bun start, dar exist mult mai multe de spus despre
securitatea pe Web. Urmtorul pas l reprezint conexiunile sigure. Acum vom discuta despre cum
se poate ajunge la conexiuni sigure.
Atunci cnd Web-ul a intrat n atenia publicului, el era folosit pentru distribuia de pagini stati-
ce. Oricum, nu dup mult timp, cteva companii au avut ideea de a-l folosi pentru tranzacii financi-
are, cum ar fi de exemplu cumprarea de bunuri cu ajutorul crii de credit, operaiuni bancare
online i schimburi electronice de aciuni. Aceste aplicaii au creat o cerere pentru conexiuni sigure.
n 1995, compania Netscape Communications, furnizorul dominant de navigatoare de web din acel
moment, a rspuns acestei cereri prin introducerea unui pachet de securitate denumit SSL (Secure
Sockets Layer rom.: nivelul soclurilor sigure). Acest program mpreun cu protocolul su sunt larg
folosite acum i de Internet Explorer, aa c merit s fie examinat mai n detaliu.
SSL-ul realizeaz o conexiune sigur ntre dou socluri, precum i

1. Negocierea parametrilor ntre client i server
2. Autentificare mutual a clientului i serverului
3. Comunicare secret
4. Protecia integritii datelor

Am mai vzut aceste elemente i nainte astfel c nu este nevoie s insistm asupra lor n continuare.
Poziia SSL-ului n cadrul stivei de protocoale este ilustrat n fig. 8-50. De fapt, este un nou nivel
interpus ntre nivelul aplicaie i cel de transport, acceptnd cereri din partea unui program de navi-
gare i trimindu-le mai jos ctre TCP pentru transmisia ctre server. Din momentul n care s-a
realizat conexiunea sigur, principala sarcin a SSL-ului const n asigurarea compresiei i a criptrii.
Cnd HTTP este folosit deasupra SSL-ului, este denumit HTTPS (rom.: HTTP securizat eng.: Se-
cure HTTP), dei este vorba de protocolul standard HTTP. Cteodat este disponibil la un nou port
(443) n loc de portul standard (80). Ca o particularitate, folosirea SSL nu este restricionat numai
cu programe de navigare Web, dei aceasta este aplicaia cea mai des ntlnit.

Aplicaie (HTTP)
Securitate (SSL)
Transport (TCP)
Reea (IP)
Legtur de date (PPP)
Fizic (modem, ADSL, cablu TV)

Fig. 8-50. Niveluri (i protocoale) pentru un utilizator obinuit ce navigheaz cu SSL.
726 SECURITATEA REELELOR CAP. 8


Protocolul SSL a cunoscut mai multe versiuni. n cele ce urmeaz, vom discuta numai despre
versiunea 3, care este cea mai folosit. SSL suport o diversitate de algoritmi i opiuni diferite.
Aceste opiuni includ prezena sau absena compresiei, algoritmii de criptare ce vor fi folosii i cte-
va chestiuni legate de restriciile de export impuse criptografiei. Cea din urm este gndit n princi-
pal pentru a asigura c criptografia serioas este folosit numai n cazul n care ambele capete ale
conexiunii sunt situate n Statele Unite. n alte cazuri, cheile sunt limitate la 40 de bii, ceea ce pen-
tru criptografi reprezint o glum. Netscape a fost forat s impun aceast restricie pentru a putea
obine o licen de export din partea Guvernului Statelor Unite.
SSL const din dou subprotocoale, unul pentru stabilirea unei conexiuni sigure i unul pentru
folosirea acesteia. S ncepem mai nti s vedem cum sunt stabilite conexiunile securizate.
Subprotocolul de stabilire a conexiunii este artat n fig. 8-51. El ncepe cu mesajul 1 cnd Alice tri-
mite o cerere ctre Bob pentru stabilirea unei legturi. Cererea specific versiunea de SSL pe care o
are Alice i preferinele sale cu privire la algoritmii de compresie i de criptare. De asemenea, coni-
ne un numr ad-hoc (eng.: nonce), R
A
, ce va folosit mai trziu.


Fig. 8-51. O versiune simplificat a subprotocolului de stabilire unei conexiuni SSL

Acum este rndul lui Bob. n cel de al doilea mesaj, Bob face o alegere ntre diverii algoritmi pe
care Alice i poate suporta i i trimite numrul lui ad-hoc, R
B
. Apoi, n mesajul 3, el trimite un certi-
ficat ce conine cheia lui public. Dac acest certificat nu este semnat de o autoritate recunoscut, el
trimite de asemenea i un lan de certificate ce pot fi urmate n sens invers pn la ultimul. Toate
programele de navigare, inclusiv cel al lui Alice, au predefinite aproximativ 100 de chei publice, aa
c dac Bob poate stabili un lan care ajunge la una din acestea, Alice va putea s verifice cheia pu-
blic a lui Bob. n acest moment, Bob poate trimite i alte mesaje (cum ar fi o cerere pentru certifi-
catul cheii publice al lui Alice). Cnd Bob a terminat, el trimite mesajul numrul 4 pentru a-i spune
lui Alice c este rndul ei.
SEC. 8.9 SECURITATEA WEB-ULUI 727

Alice rspunde prin alegerea unei chei primare (eng.: premaster key) aleatoare de 384 de bii i
prin trimiterea acesteia lui Bob, criptat cu cheia lui public (mesajul numrul 5). Cheia sesiunii fo-
losit de fapt pentru criptarea datelor este derivat din cheia primar combinat cu ambele numere
ad-hoc ntr-o manier complex. Dup ce mesajul 5 a ajuns, att Alice ct i Bob sunt n stare s
calculeze cheia sesiunii. Datorit acestui fapt, Alice i spune lui Bob s foloseasc noul cifru (mesajul
6) i de asemenea c a terminat subprotocolul de stabilire (mesajul 7). Bob i rspunde afirmativ la
aceste mesaje (mesajele cu numerele 8 i 9).
Totui, dei Alice tie cine este Bob, Bob nu tie cine este Alice (n afara cazului n care Alice are
o cheie public i un certificat corespunztor pentru ea, o situaie puin probabil n cazul unui indi-
vid). De aceea, primul mesaj al lui Bob poate foarte bine s fie o cerere pentru ca Alice s se autenti-
fice folosind un nume de login i o parol ce au fost stabilite anterior. Protocolul de autentificare
este n afara domeniului de acoperire al SSL-ului. De ndat ce a fost ndeplinit, prin orice mijloace,
transportul de date poate ncepe.
Aa cum este menionat i mai sus, SSL suport mai muli algoritmi de criptare. Cel mai puternic
dintre acetia folosete triplu DES cu trei chei separate pentru criptare i SHA-1 pentru integritatea
mesajului. Aceast combinaie este relativ lent, aa c este folosit de cele mai multe ori de operai-
ile bancare i alte aplicaii n care este necesar cel mai mare nivel de securitate. Pentru aplicaii obi-
nuite de comer electronic este folosit RC4 cu o cheie de 128 de bii pentru criptare i MD5 pentru
autentificarea mesajului. RC4 folosete cheia de 128 de bii ca un punct de plecare i o extinde la un
numr mult mai mare pentru uzul intern. Apoi folosete acest numr intern pentru a genera un ir-
cheie. Acesta este supus unei operaii SAU EXCLUSIV cu textul pentru a genera un flux de cifru
clasic, aa cum am vzut n fig. 8-14. Versiunile de export folosesc de asemenea RC4 cu chei de 128
de bii, dar 88 de bii dintre acetia sunt fcui public pentru a face cifrul mai uor de spart.

Fig. 8-52. Transmisie de date folosind SSL

Pentru transportul efectiv, este folosit un al doilea subprotocol, aa cum este artat n fig. 8-52.
Mesajele de la navigator sunt mai nti sparte n buci de pn la 16 KB. Dac compresia este acti-
vat, atunci fiecare unitate este apoi compresat. Dup aceea, o cheie secret derivat din cele dou
728 SECURITATEA REELELOR CAP. 8


numere ad-hoc i cheia primar este concatenat cu textul compresat i rezultatul este rezumat cu
algoritmul de dispersie agreat (de obicei MD5). Acest cod de dispersie este adugat fiecrui frag-
ment ca MAC (Message authentication code cod pentru autentificarea mesajului). Fragmentul com-
presat mpreun cu MAC este apoi criptat cu algoritmul de criptare simetric agreat (de obicei prin
aplicarea operaiei SAU EXCLUSIV cu irul-cheie RC4). n final, este ataat un antet de fragment
i fragmentul este transmis prin intermediul conexiunii TCP.
Prudena este totui important. Deoarece a fost demonstrat c RC4 are cteva chei slabe ce pot
fi analizate criptologic, securitatea SSL folosind RC4 este pe un teren ubred (Fluhrer et. al, 2001).
Programele de navigare ce permit utilizatorului s aleag suita de cifruri ar trebui configurate s
foloseasc mereu DES triplu cu chei de 168 de bii i SHA-1, chiar dac aceast combinaie este mai
lent dect RC4 i MD5.
O alt problem cu SSL o reprezint faptul c principalii pot s nu aib certificate i chiar dac
au, ei nu verific ntotdeauna dac cheile folosite se potrivesc cu certificatele.
n 1996, compania Netscape Communications a trimis SSL ctre IETF pentru standardizare.
Rezultatul a fost TLS (eng.: Transport Layer Security rom.: Securitate la nivelul de transport). Acesta
este descris n RFC 2246.
Schimbrile aduse SSL au fost relativ mici, dar suficiente pentru ca versiunea 3 de SSL i TLS s
nu poat coopera. De exemplu, modul n care cheia de sesiune este derivat din cheia primar (eng.:
premaster key) i numerele ad-hoc a fost schimbat pentru a face cheia mult mai puternic (adic mai
greu de criptanalizat). Versiunea de TLS este cunoscut ca versiunea 3.1 SSL. Prima implementare
a aprut n anul 1999, dar nc nu este clar dac TLS va nlocui SSL n practic, dei este puin mai
puternic. Problema cu cheile slabe RC4 rmne totui.
8.9.4 Securitatea codului mobil
Denumirile i conexiunile sunt dou zone de interes pentru securitatea pe Web. Dar sunt mai
multe. La nceput, cnd paginile Web erau doar fiiere statice HTML, ele nu conineau cod execu-
tabil. Acum, ele conin adesea mici programe, inclusiv applet-uri Java, programe ActiveX i frag-
mente JavaScript. Descrcarea i execuia de cod mobil (eng.: mobile code) prezint un risc de secu-
ritate mare; de aceea au fost elaborate diverse metode pentru micorarea acestui risc. Vom analiza
acum pe scurt unele probleme ce privesc codul mobil i cteva dintre soluiile de rezolvare.
Securitatea applet-urilor Java
Applet-urile Java sunt mici programe Java care se traduc n limbajul unei maini cu stiv denumit
JVM (eng.: Java Virtual Machine rom.: Main virtual Java). Ele pot fi puse intr-o pagin Web
fiind descrcate mpreun cu pagina. Dup ce pagina a fost descrcat, applet-urile sunt date unui
interpretor JVM din programul de navigare, aa cum este ilustrat n fig. 8-53.
Avantajul execuiei codului interpretat fa de codul compilat este c fiecare instruciune este
examinat de ctre interpretor naintea execuiei. Astfel este dat o ans interpretorului de a verifi-
ca dac adresa instruciunii este valid. n plus, apelurile de sistem sunt, de asemenea, captate i in-
terpretate. Felul n care aceste apeluri sunt manipulate este conform politicii locale de securitate. De
exemplu, dac un applet este de ncredere (de exemplu, provine de pe discul local), apelurile de sis-
tem pot fi executate fr probleme. Totui, dac un applet este nesigur (de exemplu, a venit din In-
ternet), el poate fi ncapsulat n ceea ce se numete un mediu protejat (eng.: sandbox) pentru a re-
striciona comportamentul su i a controla ncercrile sale de a folosi resursele sistemului.
SEC. 8.9 SECURITATEA WEB-ULUI 729

Fig. 8-53. Applet-urile pot fi interpretate de ctre un navigator Web

Cnd un applet ncearc s folosesc resursele sistemului, apelul su este trimis pentru aprobare
ctre un monitor de securitate. Acest monitor examineaz apelul din punctul de vedere al politici
locale de securitate i apoi decide dac l va permite sau l va respinge. Astfel, este posibil s dea
unor applet-uri acces la resurse, dar nu tuturor. Din nefericire, realitatea este c modelul de securita-
te lucreaz prost i c defectele de programare apar mai tot timpul.
ActiveX
Controalele ActiveX sunt programe binare Pentium ce pot fi incluse n pagini Web. Cnd este
ntlnit unul dintre ele, se efectueaz o verificare pentru a vedea dac ar trebui s fie executat sau
nu, i este executat dac trece testul. El nu este interpretat i nici nu este executat ntr-un mediu pro-
tejat, astfel nct codul are aceeai putere ca orice alt program i poate face mult ru. Astfel, ntreaga
securitate const n a decide dac controlul ActiveX va fi sau nu rulat.
Metoda aleas de Microsoft pentru stabilirea acestei deciziei este bazat pe ideea de semnare a
codului (eng.: code signing). Fiecare program ActiveX vine mpreun cu o semntur digital un
rezumat al codului ce este semnat de cel ce a creat codul folosind criptografia cu cheie public.
Cnd un program ActiveX i face apariia, programul de navigare verific semntura pentru a se
asigura c nu a suferit modificri n timpul transferului. Dac semntura este corect, programul de
navigare verific tabelele sale interne pentru a vedea dac cel ce a creat programul este de ncrede-
re sau exist un lan ce se termin la un creator de ncredere. Dac creatorul este de ncredere, pro-
gramul este executat; altfel, nu este executat. Sistemul Microsoft care verific programele ActiveX
este numit Autenticod (eng.: Authenticode).
Este bine s facem o comparaie ntre modurile de abordare pentru Java i ActiveX. Cu Java, nu
este important cine a scris applet-ul. n schimb, un interpretor asigur c nu face lucruri interzise de
proprietarul mainii. Prin contrast, cu semnarea codului, nu exist nici o ncercare de monitorizare a
comportamentului codului mobil la execuie. Dac el vine de la o surs de ncredere i nu a fost mo-
dificat pe parcurs, el este executat. Nu este fcut nici o ncercare de a vedea dac codul este ruvoi-
tor sau nu. Dac programatorul original a dorit s formateze discul dur i s tearg memoria ROM
flash, astfel nct calculatorul s nu mai poat fi pornit, i dac programatorul a fost recunoscut ca
fiind de ncredere, codul va rula i va distruge calculatorul (excepie fcnd cazul n care controalele
ActiveX au fost dezactivate n programul de navigare).
Muli oameni simt c ncrederea acordat companiilor de programare necunoscute provoac
team. Pentru a demonstra problema, un programator din Seattle a format o companie de progra-
730 SECURITATEA REELELOR CAP. 8


mare i a reuit s o fac recunoscut ca demn de ncredere, ceea ce este foarte uor de fcut. Apoi
a scris un program ActiveX ce realiza oprirea calculatorului i l-a distribuit. A oprit multe maini, dar
care au fost ulterior re-pornite astfel nct nu au fost pagube. Programatorul a ncercat doar s pun
n eviden problema. Rspunsul oficial a constat n suspendarea certificatului pentru acest program
ActiveX, ceea ce a ncheiat un scurt episod destul de jenant, dar problema nu a disprut i poate fi
nc exploatat de ctre un programator diabolic (Garfinkel cu Spafford, 2002). Deoarece nu exist
nici o cale de a supraveghea mii de companii de programare ce ar putea s scrie cod mobil, tehnica
semnrii codului este un dezastru ce ateapt s se produc.
JavaScript
JavaScript nu are nici un model formal de securitate, dar are o lung istorie de implementri
vulnerabile. Fiecare furnizor trateaz problema securitii ntr-o manier diferit. De exemplu, ver-
siunea 2 de Netscape Navigator a folosit ceva apropiat de modelul Java, dar la versiunea 4 a fost
abandonat aceast manier n favoarea modelului de cod semnat.
Problema fundamental este c permind execuia de cod strin pe maina dumneavoastr v
expunei multor necazuri. Din punct de vedere al securitii, este ca i cum invitai un ho n casa
dumneavoastr i apoi ncercai s-l urmrii cu atenie pentru a nu putea iei din buctrie i intra n
sufragerie. Dac se ntmpl ceva neateptat i suntei neatent pentru o clip, se pot ntmpla lucruri
rele. Problema este c codul mobil permite o grafic atractiv i o interaciune rapid i foarte muli
proiectani Web cred c acestea sunt mult mai importante dect securitatea, n special cnd este
vorba de riscul altcuiva.
Virui
Viruii sunt o alt form de cod mobil. Spre deosebire de exemplele de mai sus, viruii nu sunt
invitai deloc. Diferena ntre un virus i un cod mobil obinuit este aceea c viruii sunt scrii pentru
a se reproduce. Cnd un virus ajunge ntr-un calculator, prin intermediul unei pagini Web, al unui
document ataat sau printr-o alt cale, el ncepe prin infectarea programelor executabile de pe disc.
Cnd unul dintre aceste programe este executat, controlul este transferat virusului, care de obicei
ncearc s se ntind pe alte maini, de exemplu, prin trimiterea de mesaje cu propriile sale copii
ctre toate persoanele din agenda victimei. Unii virui infecteaz sectorul de start al discului dur,
astfel c atunci cnd maina pornete, virusul este activat. Viruii au devenit o problem uria pe
Internet i au provocat pagube de miliarde de dolari. Nu exist o soluie foarte clar. Probabil c
soluia ar fi cea a unei noi generaii de sisteme de operare bazate pe micronuclee i o separare pu-
ternic a utilizatorilor, proceselor i resurselor.


8.10 IMPLICAII SOCIALE
Internet-ul i tehnologiile sale de securitate reprezint o zon n care problemele de ordin social,
politici publice i tehnologie se ntlnesc ntr-o confruntare direct, deseori cu consecine grave. n
cele ce urmeaz vom analiza pe scurt trei zone: confidenialitate, libertatea de exprimare i dreptul
de autor. Nu mai este nevoie s spunem c atingem doar tangenial aceste subiecte. Pentru lecturi
suplimentare, a se vedea (Anderson, 2001; Garfinkel cu Spafford, 2002; Schneier, 2000). Internet-ul
este, de asemenea, plin de materiale documentare. Este suficient s folosii cuvinte cheie precum
SEC. 8.10 IMPLICAII SOCIALE 731

confidenialitate (eng.: privacy), cenzur (eng.: censorship) i drept de autor (eng.: copyright) n
orice motor de cutare. De asemenea putei consulta pagina Web a acestei cri pentru alte cteva
legturi interesante.
8.10.1 Confidenialitate
Au oamenii dreptul la confidenialitate? Bun ntrebare. Cel de-al patrulea amendament al Con-
stituiei Statelor Unite mpiedic guvernul de-a scotoci casele, documentele i obiectele personale
ale oamenilor fr un motiv ntemeiat i stabilete circumstanele n care sunt emise mandatele de
percheziie. Astfel, confidenialitatea a fost o problem public de peste 200 de ani, cel puin n Sta-
tele Unite.
Ceea ce s-a schimbat n ultimul deceniu sunt att uurina cu care guvernele i pot spiona cet-
enii, ct i uurina cu care cetenii pot preveni un astfel de spionaj. n secolul al XVIII-lea, pentru
ca guvernul s cerceteze documentele unui cetean trebuia s trimit un poliist clare la ferma
ceteanului pentru a vedea anumite documente. Era o procedur greoaie. n zilele noastre, compa-
niile de telefonie i furnizorii de Internet instaleaz dispozitive de ascultare atunci cnd le sunt pre-
zentate mandate de percheziie. Viaa este mult mai uoar astfel pentru poliist i nici numai exist
pericolul unei czturi de pe cal.
Criptografia schimb toate aceste aspecte. Oricine i permite deranjul de a descrca i instala
PGP i folosete o cheie bine pzit de o putere extraterestr poate fi destul de sigur c nimeni n
universul pe care-l cunoatem nu i poate citi mesajele electronicele, cu sau fr mandat de perchezi-
ie. Guvernele neleg foarte bine aceast chestiune i nu o agreeaz. Confidenialitate real nseam-
n dificulti mai mari n a spiona criminalii de orice fel, dar i greuti n a spiona jurnaliti i opo-
neni politici. Prin urmare, unele guverne restricioneaz sau interzic folosirea sau exportul de crip-
tografie. n Frana, de exemplu, pn n 1999, toat criptografia era interzis dac cheile nu erau
date de ctre guvern.
Frana nu a fost o excepie. n aprilie 1993, guvernul Statelor Unite a anunat intenia sa de reali-
za un criptoprocesor hardware, cip-ul clipper (eng.: clipper chip), standard pentru toate comunicaii-
le n reea. n acest fel, s-a spus, confidenialitatea cetenilor va fi garantat. De asemenea era men-
ionat c cip-ul permitea guvernului decriptarea traficului prin intermediul unei scheme numite cus-
todie de chei (eng.: key escrow), ce permitea guvernului s aib acces la toate cheile. Totui, se promi-
tea ascultarea mesajelor numai cu un mandat valabil de percheziie. Nu mai trebuie spus c a urmat
o larg disput, avocaii confidenialitii denunnd tot planul i avocaii oficiali ludndu-l. n cele
din urm, guvernul a btut n retragere i a renunat la idee.
O mare cantitate de informaie despre confidenialitatea electronic poate fi gsit pe pagina
Web a Fundaiei Graniei Electronice (eng.: Electronic Frontier Foundation), www.eff.org.
Retransmitoare anonime
PGP, SSL i alte tehnologii fac posibil ca dou pri s stabileasc o comunicaie securizat, au-
tentificat, neurmrit de o ter parte i fr interferene. Totui, cteodat, confidenialitatea este
cel mai bine servit de absena autentificrii, prin realizarea unei comunicaii anonime. Anonimita-
tea poate fi dorit pentru mesaje punct-la-punct, grupuri de tiri sau n ambele cazuri.
S considerm cteva exemple. n primul rnd, dizidenii politici ce triesc sub regimuri autorita-
re doresc deseori s comunice n mod anonim pentru a nu fi trimii la nchisoare sau omori. n al
doilea rnd, comportamentul ilegal din foarte multe corporaii, organizaii educaionale, guverna-
732 SECURITATEA REELELOR CAP. 8


mentale i altele a fost fcut public de ctre cei interesai, care de cele mai multe ori prefer s r-
mn anonimi pentru a evita pltirea eventualelor polie ulterioare. n cel de al treilea rnd, oamenii
cu vederi sociale, politice sau religioase nepopulare ar dori s comunice unul cu altul prin interme-
diul mesajelor electronice sau a grupurilor de tiri fr a se expune. n al patrulea rnd, oamenii ar
putea dori s discute despre alcoolism, boli mentale, hruire sexual, abuzul asupra copiilor sau
despre faptul de a fi membru a unei minoriti persecutate politic fr a-i face publice prerile.
Exist, bineneles, numeroase alte exemple.
S lum n considerare un exemplu concret. n anii 1990, civa critici ai unui grup religios
netradiionalist i-au publicat prerile pe un grup de tiri USENET prin intermediul unui retransmi-
tor anonim (eng.: anonymous remailer). Acel server permitea utilizatorilor s creeze pseudonime i
s trimit mesaje server-ului, care apoi le retransmitea i le republica folosind pseudonimul, astfel
nct nimeni nu i-a dat seama din partea cui au venit. Unele dintre mesaje artau ceea ce grupul
religios pretindea a fi secrete ale meseriei i documente cu drept de autor. Grupul religios a rspuns
comunicnd autoritilor locale c secretele meseriei sale au fost fcute publice i c drepturile de
autor au fost nclcate, acestea fiind delicte n zona n care server-ul era localizat. A urmat un proces
i operatorul server-ului a fost obligat s predea informaia care a dezvluit identitile persoanelor
ce au publicat anunurile (n mod ntmpltor, aceasta nu era prima dat cnd religia nu era fericit
cnd cineva i-a descoperit secretele: William Tyndale a fost ars pe rug n 1536 pentru c a tradus
Biblia n limba englez).
O destul de mare parte a comunitii Internet a fost scandalizat de o asemenea nclcare a con-
fidenialitii. Concluzia pe care fiecare a tras-o a fost c un retransmitor anonim care menine o
tabel de corespondene ntre adrese de pot reale i pseudonime (numit retransmitor de tipul 1)
nu valoreaz prea mult. Acest caz a stimulat diverse persoane s conceap retransmitoare anoni-
me ce ar putea rezista atacurilor cu citaie (eng.: subpoena attacks).
Aceste retransmitoare noi, deseori denumite retransmitoare de tip cypherpunk (eng.:
cypherpunk remailers), funcioneaz dup cum urmeaz. Utilizatorul produce un mesaj electronic, l
completeaz cu antetele specifice RFC 822 (exclusiv cmpul De la: - eng.: From:), l cripteaz cu
cheia public a retransmitorului i l trimite retransmitorului. Acolo, antetele externe RFC 822
sunt terse, coninutul este decriptat i mesajul este retransmis. Retransmitorul nu are conturi i
nici nu pstreaz fiiere cu istoria lucrurilor petrecute (eng.: log-uri), aa c, chiar dac server-ul este
mai trziu confiscat, el nu reine nici o urm a mesajelor ce au trecut prin el.
Muli utilizatori ce doresc s rmn anonimi i revendic cererile prin intermediul mai multor
retransmitoare, aa cum este ilustrat n fig. 8-54. Astfel, Alice dorete s-i trimit lui Bob o felicita-
re de ziua Sfntului Valentin, foarte, foarte, foarte anonim, astfel c folosete trei retransmitoare.
Ea compune mesajul, M i i pune un antet ce conine adresa lui Bob. Apoi l cripteaz cu cheia pu-
blic a retransmitorului 3, E
3
(indicat prin liniile orizontale). La acesta ea prefixeaz un antet cu
adresa retransmitorului 3 n text clar. Acest mesaj este artat ntre retransmitoarele 2 i 3.
Apoi ea cripteaz mesajul cu cheia public a retransmitorului 2, E
2
(indicat prin liniile vertica-
le) i adug la nceput un antet de text clar ce conine adresa retransmitorului 2. Acest mesaj este
artat n fig. 8-54 ntre 1 i 2. n cele din urm, cripteaz ntregul mesaj cu cheia public a retransmi-
torului 1, E
1
, i pune la nceputul lui un antet de text clar cu adresa retransmitorului 1. acest me-
saj este artat n figur la dreapta lui Alice i este ceea ce ea transmite de fapt.
Cnd mesajul ajunge la retransmitorul 1, antetul exterior este ters. Corpul mesajului este decrip-
tat i apoi trimis retransmitorului 2. Pai similari se petrec la nivelul celorlalte dou retransmitoare.

SEC. 8.10 IMPLICAII SOCIALE 733

Fig. 8-54. Alice folosete 3 retransmitoare pentru a trimite lui Bob un mesaj.

Dei este extrem de dificil pentru cineva s urmreasc mesajul final pe calea de retur ctre Ali-
ce, multe retransmitoare i iau msuri suplimentare de siguran. De exemplu, ele pot pstra me-
sajele pentru o perioad aleatoare de timp, pot aduga sau terge buci nefolositoare la sfritul
mesajului, pot reordona mesajele, toate acestea pentru a face dificil oricui s determine ce mesaj de
ieire al unui retransmitor corespunde unui mesaj de intrare, pentru a ngreuna analiza traficului.
Pentru o descriere amnunit a unui sistem ce reprezint o capodoper n mesageria anonim, ve-
dei (Mazires i Kaashoek, 1998).
Anonimitatea nu este restricionat la mesageria electronic. Exist servicii ce permit navigare
anonim pe Web. Utilizatorul i configureaz programul de navigare pentru a folosi serviciul ano-
nim ca pe un proxy. De aici nainte toate cererile HTTP se vor duce la serviciul anonim, care va cere
pagina i o va trimite napoi. Pagina Web va vedea c serviciul de anonim-izare este sursa a cererii,
i nu utilizatorul. Atta timp ct serviciul de anonimizare nu va ine un istoric al activitii, nimeni nu
i poate da seama cine a cerut pagina.
8.10.2 Libertatea de exprimare
Confidenialitatea se refer la indivizii ce doresc s limiteze accesul celorlali la informaii despre
propria lor persoan. O a doua problem social cheie o reprezint libertatea de exprimare i opusa
ei, cenzura, care are legtur cu guvernele ce doresc s restricioneze ceea ce indivizii pot citi i pu-
blica. Deoarece conine milioane i milioane de pagini, Web-ul a devenit paradisul cenzurii. Mate-
rialul interzis, n funcie de natura i ideologia regimului, poate include pagini Web ce conin ele-
mente din lista urmtoare:

1. Materiale nepotrivite pentru copii i adolesceni.
2. Ur fa de diverse grupri etnice, religioase, sexuale i altele.
3. Informaii despre democraie i valori democratice.
4. Relatri ale unor evenimente istorice ce contrazic versiunea guvernamental.
5. Manuale pentru deschiderea ncuietorilor, construirea de arme, criptare de mesaje, etc.

Msura obinuit este de a interzice paginile rele.
Cteodat, rezultatele sunt neateptate. De exemplu, cteva biblioteci publice au instalat filtre
Web pe calculatoarele lor pentru a le face prietenoase fa de copii, interzicnd paginile pornografi-
ce. Filtrele nscriu paginile pe listele lor negre, dar n acelai timp caut cuvinte nepotrivite n pagini-
734 SECURITATEA REELELOR CAP. 8


le ce urmeaz a fi afiate. ntr-un caz din comitatul Loudoun din Virginia, filtrul a blocat cutarea
unor materiale despre cancerul de sn deoarece filtrul a vzut cuvntul sn. Patronul bibliotecii a
dat n judecat comitatul Loudoun. Pe de alt parte, n Livermore din California, un printe a dat n
judecat biblioteca public pentru c nu a instalat un filtru, dup ce biatul ei de 12 ani a fost prins
uitndu-se la materiale pornografice. Ce ar trebui s fac o bibliotec?
A scpat din vederea multor oameni c World Wide Web este o reea mondial. Nu toate rile
sunt de acord cu ceea ce ar trebui s fie permis pe Web. De exemplu, n noiembrie 2000, un tribunal
francez a dictat corporaiei californiene Yahoo s blocheze accesul utilizatorilor francezi la licitaiile
de obiecte asociate nazismului de pe pagina Yahoo, deoarece astfel de materiale violeaz legea
francez. Yahoo a apelat la un tribunal nord-american, care a luat partea corporaiei, dar problema
cu privire la ce legi se aplic i unde se aplic este departe de a fi rezolvat.
Imaginai-v ce s-ar putea ntmpla dac un tribunal din Utah ar spune Franei s blocheze pagi-
nile Web despre vin, deoarece nu se conformeaz cu legile mult mai stricte privitoare la alcool ale
statului Utah? Presupunei c China ar cere ca toate paginile Web despre democraie s fie interzise
deoarece nu sunt n interesul statului. Oare legile iraniene referitoare la religie se aplic mult mai
liberalei Suedii? Poate Arabia Saudit bloca pagini Web ce vorbesc de drepturile femeilor? Toat
problema este o veritabil cutie a Pandorei.
Un comentariu relevant al lui John Gilmore este: Reeaua interpreteaz cenzura ca pe o pagu-
b i o ocolete. Pentru o implementare concret, uitai-v la serviciul etern (eng.: eternity service)
(Anderson, 1996). Scopul lui este de a se asigura c o informaie publicat nu poate fi retras sau
rescris, aa cum era destul de obinuit n Uniunea Sovietic n timpul conducerii staliniste. Ca s
foloseasc serviciul eternitii, utilizatorul trebuie s specifice ct timp trebuie pstrat materialul, s
plteasc o tax proporional cu aceast durat i cu volumul materialului i s-l ncarce apoi n
Internet. Dup aceea, nimeni nu-l poate terge sau edita, nici chiar i cel care l-a ncrcat.
Cum ar putea fi implementat un asemenea serviciu? Modelul cel mai simplu este folosirea unui
sistem de la egal la egal (eng.: peer-to-peer) n care documentele s fie depuse n cteva zeci de serve-
re, fiecare primind o parte a taxei i, prin asta, un motiv s se alture sistemului. Serverele ar trebui
mprite n ct mai multe jurisdicii legale pentru a obine o flexibilitate maxim. Liste de cte 10
servere selectate aleator ar fi pstrate n siguran n mai multe locuri, astfel nct dac unele sunt
compromise, altele ar continua s furnizeze informaiile cerute. O autoritate ce dorete distrugerea
documentului nu poate fi niciodat sigur c a gsit toate copiile. De asemenea, sistemul s-ar putea
regenera: dac afl c unele copii au fost distruse, siturile rmase ar ncerca s gseasc noi locuri.
Serviciul eternitii a fost prima propunere de sistem rezistent la cenzur. De atunci, au fost pro-
puse i, uneori implementate i alte sisteme. Au fost adugate diverse caracteristici noi, cum ar fi
criptarea, anonimitatea i tolerana la defecte. Deseori, fiierele ce trebuie stocate sunt sparte n mai
multe pri, fiecare memorat pe mai multe servere. Cteva exemple sunt Freenet (Clarke et. al,
2002), PASIS (Wylie et. al, 2000) i Publius (Waldman et. al, 2000). Alte rezultate sunt prezentate n
(Serjantov, 2002).
Tot mai multe ri ncearc s impun reguli pentru exportul de lucruri imateriale, care includ
pagini Web, programe, lucrri tiinifice, mesaje electronice, suport telefonic i altele. Chiar i Marea
Britanie, care are o ndelungat tradiie a libertii de exprimare, se gndete la legi mult mai restric-
tive, care ar defini, de exemplu, discuiile tehnice dintre un profesor britanic i studentul su strin la
Universitatea din Cambridge ca pe un export legiferat ce are nevoie de o licen guvernamental
(Anderson, 2002). Nu este nevoie s mai spunem c asemenea politici sunt controversate.
SEC. 8.10 IMPLICAII SOCIALE 735

Steganografie
n rile cu o cenzur puternic, dizidenii ncearc deseori s foloseasc tehnologia pentru a
eluda cenzura. Criptografia permite trimiterea (nu ntotdeauna legal) de mesaje secrete, dar dac
guvernul crede c Alice este o Persoan Rea, simplul fapt c ea comunic cu Bob ar putea s-l pun
i pe el n aceeai categorie, deoarece guvernele represive recunosc conceptul de tranzitivitate, chiar
dac nu au prea muli matematicieni. Retransmitoarele anonime pot ajuta, dar dac sunt interzise
pe plan intern i mesajele ctre retransmitoare externe necesit licene de export, nu pot ajuta chi-
ar att de mult. Dar Web-ul poate.
Oamenii care vor s comunice n secret ncearc deseori s ascund c de fapt comunicare are
loc. tiina ascunderii mesajelor este denumit steganografie (steganography), din cuvintele greceti
ce s-ar traduce prin scriere acoperit. De fapt, grecii antici o foloseau i ei. Herodot a scris despre
un general care a ras n cap un sol, i-a tatuat pe scalp un mesaj i l-a lsat s-i creasc prul la loc
nainte de a-l trimite n misiune. Tehnicile moderne sunt, conceptual, aceleai, doar c au o mai ma-
re lrgime de band i o ntrziere mai mic.
Ca un caz n spe, s considerm fig. 8-55 (a). Aceast fotografie, realizat n Kenya, conine trei
zebre care contempl un arbore acacia. n fig. 8-55 (b) se pare c ar fi aceleai trei zebre i arborele
acacia, dar exist o atracie special. Conine textul complet, necenzurat a cinci piese shakespearie-
ne: Hamlet, Regele Lear, Macbeth, Negustorul din Veneia i Iulius Cezar. mpreun, aceste piese tota-
lizeaz peste 700 kilooctei de text.

Fig. 8-55. (a) Trei zebre i un arbore. (b) Trei zebre, un arbore i textul complet a cinci piese
de William Shakespeare.

Cum funcioneaz acest canal steganografic? Imaginea color original este de 1024 x 768 pixeli.
Fiecare pixel const din trei numere de 8 bii, cte unul pentru fiecare din culorile rou, verde i al-
bastru a acelui pixel. Culoarea acelui pixel este format de o superpoziie a celor trei culori. Metoda
de codificare steganografic folosete bitul cel mai puin semnificativ din fiecare octet al a culorilor
RGB ca un canal ascuns. Astfel fiecare pixel are spaiu pentru 3 bii de informaie secret, unul n
valoare roie, unul n verde i unul n cea albastr. ntr-o imagine de asemenea mrime, se pot me-
mora pn la 1024 x 768 x 3 bii sau 294.912 octei de informaie secret.
Textul complet al celor cinci piese mpreun cu o scurt noti nsumeaz 734.891 octei. Acest
text a fost mai nti comprimat la aproximativ 270 KB folosind un algoritm de compresie standard.
736 SECURITATEA REELELOR CAP. 8


Rezultatul a fost apoi criptat folosind IDEA i inserat n biii cei mai puin semnificativi ai fiecrui
octet de culoare. Dup cum se poate vedea (de fapt, nu se poate vedea), existena informaiei este
total invizibil. Este la fel de invizibil n versiunea mrit, color a imaginii. Ochiul nu poate diferen-
ia uor culoarea pe 21 de bii fa de cea pe 24 de bii.
Figurnd cele dou imagini n alb-negru la o rezoluie sczut nu demonstreaz ct de puternic
este aceast. Pentru a simi mai bine cum lucreaz steganografia, autorul a pregtit o demonstraie,
cu imaginea color la o rezoluie mare a fig. 8-55(b) avnd cele cinci piese incluse n ea. Demonstra-
ia, inclusiv instrumentele pentru inserarea i extragerea textelor n i din imagini, poate fi gsit la
pagina Web a crii.
Pentru a folosi steganografia pentru comunicaia nedetectat, dizidenii ar putea crea o pagin
Web plin de imagini politic-corecte, cum ar fi fotografii ale Marelui Lider, sporturi locale, vedete
de film i televiziune, etc. Desigur, imaginile ar fi pline de mesaje steganografice. Dac mesajele ar fi
nti compresate i apoi criptate, chiar i cineva care le-ar suspecta prezena ar avea dificulti imen-
se n distingerea mesajelor fa de zgomot. Desigur, imaginile ar trebui s fie scanri recente; copiind
o imagine de pe Internet i schimbnd o parte din bii nu conduc la rezultat.
Imaginile nu sunt singurele purttoare de mesaje steganografice. Fiierele video sunt de aseme-
nea bune. Fiierele video au o lrgime de band steganografic foarte mare. Chiar i aezarea i or-
dinea etichetelor ntr-un fiier HTML pot fi purttoare de informaie.
Dei am examinat steganografia n contextul exprimrii libere, ea are numeroase alte utilizri. O
utilizare banal este codificarea drepturilor de proprietate chiar n imaginea la care se refer aceste
drepturi. Dac o astfel de imagine este furat i depus pe o pagin Web, proprietarul de drept poa-
te dezvlui mesajul steganografic n cursul unui proces pentru a proba a cui este imaginea. Aceast
tehnic este cunoscut sub denumirea de filigranare (eng.: watermarking). Ea este discutat n (Piva
et. al, 2002).
Pentru mai multe despre steganografie, vedei (Artz, 2001; Johnson i Jajoda, 1998;
Katzenbeisser i Petitcolas, 2000 i Wainer. 2002).
8.10.3 Dreptul de autor
Confidenialitatea i cenzura sunt doar dou din zonele unde tehnologia ntlnete politicul. O a
treia este problema dreptului de autor (eng.: copyright). Acordarea dreptului de autor nseamn a
garanta creatorului de PI (proprietate intelectual eng.: Intellectual Propriety), inclusiv scriitori, ar-
titi, muzicieni, fotografi, cineati, coreografi i alii, dreptul exclusiv de a exploata proprietatea lor
intelectual pentru o perioad de timp, de obicei viaa autorului plus 50 sau 75 de ani n cazul pro-
prietii comune. Dup ce expir dreptul de autor asupra unei lucrri, aceasta trece n domeniul
public i oricine o poate folosi sau vinde dup bunul plac. De exemplu, proiectul Gutenberg
(www.promo.net/pg), de exemplu, a pus pe Web mii de lucrri din domeniul public (de exemplu,
Shakespeare, Twain, Dickens). n anul 1998, Congresul Statelor Unite a extins dreptul de autor la
nc 20 de ani la cererea Hollywood-ului, care a motivat cererea prin faptul c fr o extindere a
termenului, nimeni nu ar mai crea nimic, niciodat. Prin contrast, patentele dureaz doar 20 de ani
i totui oamenii nc mai inventeaz lucruri.
Dreptul de autor a ajuns n prim-plan cnd Napster, un serviciu de traficare a muzicii, a atins 50
de milioane de membri. Dei Napster nu copia muzica, tribunalele au decis c, deoarece deinea o
baz de date ce reflecta cine avea ce cntec, a contribuit la nclcarea legii, cu alte cuvinte a ajutat pe
alii s nclcat legea. Dei nimeni nu pretinde c dreptul de autor este o idee proast (muli pretind
SEC. 8.10 IMPLICAII SOCIALE 737

c termenul este mult prea lung, favoriznd marile corporaii fa de public), noua generaie de par-
tajare a muzicii are deja implicaii etice serioase.
De exemplu, s considerm o reea de la egal la egal n care oamenii partajeaz fiiere legitime
(muzic din domeniul public, filme video, tratate religioase ce nu sunt secrete nregistrate etc.) i
cteva cu drepturi de autor. S presupunem c toi sunt permanent conectai prin ADSL sau cablu.
Fiecare calculator are un index cu ce este pe discul dur plus o list a altor membri. Cineva care caut
un anumit obiect poate s aleag aleator un membru i s vad dac obiectul cutat este n posesia
lui. Dac nu, poate verifica toi membrii din lista acelei persoane i toi membri din listele lor .a.m.d.
Calculatoarele sunt foarte bune la astfel de lucruri. Dac a gsit elementul respectiv, solicitantul
doar l copiaz.
Dac acel obiect este cu drept de autor, exist anse ca solicitantul s ncalce legea (dei pentru
transferuri internaionale, nu este clar ce legi sunt aplicabile). Dar ce putem spune despre furnizor?
Este un delict s pstrezi muzic pentru care ai pltit i ai descrcat-o legal pe discul tu dur unde
alii o pot gsi? Dac avei o caban nencuiat la ar i un ho de PI se furieaz purtnd un calcu-
lator portabil i un scanner, copiaz o carte ce are drepturi de autor i apoi pleac, eti tu vinovat de
delictul de a nu fi protejat dreptul de autor al altcuiva?
Dar este mai mult de discutat pe tema dreptului de autor. Exist o mare disput ntre Hollywood
i industria calculatoarelor. Primul dorete protecie la snge a ntregii proprieti intelectuale i cel
de-al doilea nu vrea s fie poliistul Hollywood-ului. n octombrie 1998, congresul a votat Legea
dreptului de autor digital (eng.: Digital Millennium Copyright Act - DMCA) care stipuleaz c este
delict s treci peste orice mecanism de protecie a unei lucrri cu drept de autor sau s spui altora
cum s o fac. O legislaie similar este pus n practic i n Uniunea European. n timp ce nimeni
nu crede c pirailor din extremul Orient ar trebui s le fie permis copierea lucrrilor cu drept de
autor, muli oameni cred c DMCA schimb total balana ntre interesul proprietarului de drept de
autor i interesul public.
Un exemplu! n septembrie 2000, un consoriu al industriei muzicale nsrcinat s realizeze un
sistem infailibil pentru a vinde de muzic online a sponsorizat un concurs, invitnd oamenii s ncer-
ce s sparg sistemul (care este chiar lucrul cel mai potrivit pe care s-l faci cu un sistem de securita-
te nou). O echip de cercettori n securitate de la diverse universiti, condus de profesorul
Edward Felten din Princeton, a primit provocarea i a spart sistemul. Apoi au scris o lucrare despre
ce au gsit ei i au trimis-o unei conferine USENIX de securitate, unde a fost recenzat i acceptat.
nainte de prezentarea lucrrii, Felten a primit o scrisoare de la Asociaia Industriei Americane de
nregistrri (eng.: Recording Industry Association of America) ce amenina autorii cu un proces ce
avea la baz DMCA dac ar fi publicat lucrarea.
Rspunsul lor a fost intentarea unui proces, rugnd un tribunal federal s decid dac este nc
legal s publici lucrri tiinifice despre securitate. Cu spaima unei decizii definitive mpotriva lor,
industria i-a retras plngerea i tribunalul a casat procesul lui Felten. Fr ndoial c industria a
fost motivat de slbiciunea cauzei lor: ei au invitat oamenii s ncerce s le sparg sistemul i apoi
tot ei au ameninat cu darea n judecat pe civa care au acceptat provocarea. Cu ameninarea re-
tras, lucrarea a fost publicat (Craver et. al, 2001). O nou confruntare este inevitabil.
O problem apropiat este rspndirea doctrinei de utilizare corect (eng.: fair use doctrine), ce a
fost stabilit prin hotrri judectoreti n diverse ri. Aceast doctrin spune c cumprtorii lucr-
rii cu drept de autor au cteva drepturi limitate de a copia lucrarea, inclusiv dreptul de a cita pri
din ea pentru scopuri tiinifice, de a o folosi n scopuri didactice n coli i licee i n unele cazuri de
a face copii de rezerv pentru folosul personal, n cazul n care mediul original nu mai este bun. Tes-
738 SECURITATEA REELELOR CAP. 8


tele pentru ceea ce constituie o utilizare corect includ (1) dac materialul este comercial, (2) ce
procentaj din ntreg este copiat i (3) efectul copierii asupra vnzrii lucrrii. Din moment ce DMCA
i legi similare din Uniunea European ntrzie eludarea schemelor de protecie, aceste legi interzic
de asemenea o utilizare corect. De fapt, DMCA ia utilizatorilor nite drepturi istorice pentru a da
mai mult putere vnztorilor de coninut. O confruntare final este inevitabil.
O alt evoluie a lucrurilor ce restrnge chiar i DMCA-ul n schimbarea balanei ntre proprie-
tarii dreptului de autor i utilizatori este TCPA (eng.: Trusted Computing Platform Alliance rom.:
Aliana platformelor de calcul de ncredere) condus de Intel i Microsoft. Ideea este de a face ca mi-
croprocesorul i sistemul de operare s monitorizeze atent comportamentul utilizatorului n diverse
moduri (de exemplu, cnd ascult muzic pirat) i s previn comportamentele nedorite. Sistemul
permite chiar deintorilor de coninut s manipuleze la distan PC-ul utilizatorului pentru a
schimba regulile cnd aceasta este neaprat necesar. Nu trebuie s mai spunem c urmrile sociale
ale acestei scheme sunt imense. Este nostim c n final industria are grij de securitate, dar este la-
mentabil c ntreaga atenie este concentrat asupra aplicrii legii dreptului de autor i nu asupra
viruilor, sprgtorilor, intruilor i altor probleme de securitate de care sunt interesate cele mai
multe persoane.
Pe scurt, legiuitorii i avocaii vor fi ocupai n anii urmtori s pun echilibreze interesele eco-
nomice ale proprietarilor de drepturi de autor i interesul public. Cyber-spaiul nu este diferit fa
de piaa crnii: n mod constant ea asmute un grup asupra celuilalt, de aici rezultnd lupte pentru
putere, litigii i (sperm) n final o urm de reconciliere, cel puin pn va apare o nou tehnolo-
gie diversionist.


8.11 REZUMAT
Criptografia este o unealt ce poate fi folosit pentru meninerea confidenialitii informaiei i
pentru a asigura integritatea i autenticitatea sa. Toate sistemele criptografice moderne sunt bazate
pe principiul lui Kerckhoff de avea un algoritm cunoscut public i o cheie secret. Muli algoritmi de
criptografici folosesc transformri complexe, substituii i permutri pentru a transforma textul sim-
plu n text cifrat. Totui, dac criptografia cuantic poate fi pus n practic, folosirea unor chei aco-
peritoare poate fi ntr-adevr un sistem criptografic imposibil de spart.
Algoritmii criptografici pot fi divizai n algoritmi cu chei simetrice i cu chei publice. Algoritmii
cu chei simetrice amestec biii ntr-o serie de runde parametrizate de cheie pentru a schimba textul
simplu n text cifrat. DES triplu i Rijndael (AES) sunt cei mai cunoscui algoritmi cu cheie simetric
n momentul de fa.
Algoritmii cu chei publice au proprietatea c sunt folosite diferite chei pentru criptare i decrip-
tare i c cheia de decriptare nu poate fi derivat din cheia de criptare. Aceste proprieti fac posibi-
l publicarea cheii publice. Principalul algoritm cu cheie public este RSA, care i trage puterea din
faptul c este foarte dificil s se factorizeze numerele mari.
Documentele legale, comerciale i altele au nevoie de semnturi. Ca urmare, au fost propuse di-
verse scheme pentru semnturile digitale, folosind algoritmi cu chei simetrice i cu chei publice.
Uzual, mesajele ce trebuie semnate sunt rezumate folosind algoritmi precum MD5 i SHA-1 i apoi
sunt semnate rezumatele i nu mesajele originale.
SEC. 8.12 PROBLEME 739

Gestiunea cheilor publice poate fi fcut folosind certificate, care sunt documente ce leag un
principal de o cheie public. Certificatele sunt semnate de ctre o autoritate de ncredere sau de
ctre cineva aprobat (recursiv) de o autoritate de ncredere. Rdcina lanului trebuie obinut na-
inte, dar programele de navigare au incluse multe certificate de rdcini n ele.
Aceste instrumente criptografice pot fi folosite pentru a securiza traficul n reea. IPsec opereaz
la nivelul reea, criptnd fluxurile de pachete de la o gazd la alta. Zidurile de protecie pot verifica
traficul ce iese sau intr ntr-o organizaie, deseori pe baza protocolului i a portului folosit. Reelele
private virtuale pot simula o veche reea nchiriat pentru a asigura proprietile necesare de securi-
tate. n final, reelele fr fir au nevoie de o bun securitate pe care WEP 802.11 nu o aduce, dei
802.11i ar trebui s mbunteasc lucrurile destul de mult.
Cnd dou pri stabilesc o sesiune, trebuie s se autentifice una ctre alta i dac este nevoie s
stabileasc o cheie comun a sesiunii. Exist diverse protocoale de autentificare, inclusiv cteva ce
folosesc o ter parte verificat, Diffie-Hellman, Kerberos i criptografia cu cheie public.
Securitatea mesajelor electronice poate fi obinut printr-o combinaie de tehnici pe care le-am
studiat n cadrul acestui capitol. De exemplu, PGP comprim mesajul, apoi l cripteaz folosind
IDEA. El trimite cheia IDEA criptat cu cheia public a receptorului. n plus, rezum mesajul i
trimite rezumatul semnat pentru verificarea integritii mesajului.
Securitatea pe Web este de asemenea un subiect important, ncepnd cu securitatea numelor.
DNSsec ofer o cale pentru prevenirea pclirii DNS-ului, aa cum fac i numele cu auto-certificare.
Majoritatea paginilor Web de comer electronic folosesc SSL pentru a stabili sesiuni securizate, au-
tentificate ntre client i server. Diverse tehnici sunt folosite pentru a rezolva probleme legate de
codul mobil, n special depunerea ntr-un mediu protejat i semnarea codului.
Internet-ul ridic multe probleme n care tehnologia interacioneaz puternic cu politica public.
Cteva dintre zone includ confidenialitatea, libertatea de exprimare i dreptul de autor.


8.12 PROBLEME
1. Spargei urmtorul cifru monoalfabetic. Textul n clar, constnd numai din litere, este un frag-
ment dintr-o poezie a lui Lewis Carroll.

kfd ktbd fzm eubd kfd 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 fzld pthcm
sok pztk z stk kfd uamkdim eitdx sdruid pd fzld 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 calcula-
toare, astfel nct computer este un cuvnt probabil. Textul const numai din litere (fr spa-
ii). 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 gsivt tpsit lborl otoex
740 SECURITATEA REELELOR CAP. 8


3. Gsii o cheie acoperitoare de 77 de bii ce genereaz textul Donald Duck din textul cifrat
din fig. 8-4.
4. Criptografia cuantic necesit un tun fotonic ce poate, la cerere, s trag un singur foton ce con-
ine un singur bit. n aceast problem, calculai ci fotoni car un bit pe o legtur de fibr de
100 Gbps. Presupunei c lungimea unui foton este egal cu lungimea lui de und, care pentru
scopul acestei probleme este de 1 micron. Viteza luminii n fibr este de 20 cm/ns.
5. Dac Trudy captureaz i regenereaz fotonii cnd se folosete criptografia cuantic, ea va
amesteca o parte din ei i va provoca erori n cheia acoperitoare a lui Bob. Ce fraciune din biii
din cheia acoperitoare a lui Bob vor fi eronai, n medie?
6. Un principiu criptografic fundamental spune c toate mesajele trebuie s aib redundan. Dar
de asemenea tim c redundana ajut un intrus s-i verifice cheia ghicit. Considerai dou
forme de redundan. n primul caz, cei n bii iniiali ai textului simplu conin un tipar cunoscut.
n al doilea, n bii de al sfritul mesajului conin un rezumat a mesajului. Din punct de vedere
al securitii, sunt acestea dou echivalente? Discutai rspunsul dumneavoastr.
7. n fig. 8-6, blocurile P i S alterneaz. Dei acest aranjament este agreabil, nu este mai sigur s
avem mai nti toate blocurile P i apoi toate blocurile S?
8. Proiectai un atac la DES bazat pe faptul c textul const numai din litere mari ASCII,
plus spaiu, virgul, punct i virgul, ntoarcere la capt (CR) i linie nou (LF). Nu se tie
nimic despre biii de paritate ai textului.
9. n text am calculat c o main de spart cifruri cu un miliard de procesoare ce ar putea
analiza o cheie ntr-o picosecund ar lua numai 10
10
ani pentru a sparge versiunea AES de
128 de bii. Totui, mainile curente ar putea avea 1024 de procesoare i le-ar trebui 1 ms
pentru a analiza o cheie, aa c ne trebuie un factor de mbuntire a performanei de
10
15
pentru a obine maina ce sparge AES. Dac legea lui Moore (puterea de procesare
se dubleaz la fiecare 18 luni) se menine n vigoare, de ci ani este nevoie pentru a putea
construi maina?
10. AES suport chei de 256 de bii. Cte chei are AES-256? Verificai dac gsii numere n
fizic, chimie, astronomie care au aceeai dimensiune. Folosii Internet-ul pentru a v faci-
lita cutarea de numere mari. Tragei o concluzie din cercetarea dumneavoastr.
11. S presupunem c un mesaj a fost criptat folosind DES cu nlnuirea blocurilor cifrate. Un bit
al textului cifrat n blocul C
i
este transformat accidental din 0 n 1 n timpul transmisiei. Ct de
mult text va fi deformat ca urmare a acestui fapt?
12. S considerm din nou nlnuirea blocurilor cifrate. n loc s transformm un bit 0 n 1, un bit 0
este inserat n fluxul textului cifrat dup blocul C
i
. Ct de mult text va fi deformat?
13. 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?
14. Folosind sistemul de criptare cu chei publice RSA cu a=1, b=2 etc.,
SEC. 8.12 PROBLEME 741

dac p=7 i q=11, listai 5 valori permise pentru d.
Dac p=13, q=31 i d=7, ct este e?
Folosind p=5, q=11 i d=27, gsii valoarea lui e i criptai abcdefghij.
15. S presupunem c un utilizator, Maria, descoper c cheia sa privat RSA (d1, n1) este aceeai
cu cheia public RSA (e2, n2) a altui utilizator, Frances. Cu alte cuvinte, d1 = e2 i n1 = n2. Ar
trebui s se gndeasc s-i schimbe cheile sale public i privat? Explicai rspunsul dumnea-
voastr.
16. S considerm folosirea modului contor, cum este artat n fig. 8-15, dar cu IV = 0. Folosirea lui
0 amenin securitatea cifrului n general?
17. Protocolul de semntur din fig. 8-18 are urmtoarele puncte slabe. Dac Bob se defecteaz, el
poate pierde coninutul RAM-ului propriu. Ce probleme pot aprea i cum pot fi prevenite?
18. n fig. 8-20, putem vedea cum Alice poate trimite lui Bob un mesaj semnat. Dac Trudy
nlocuiete P, Bob poate s-l detecteze. Dar ce se ntmpl dac Trudy nlocuiete ambii P
i semntura?
19. Semnturile digitale au o slbiciune potenial datorit utilizatorilor lenei. n tranzaciile
din comerul electronic, un contract poate fi redactat i utilizatorului i se cere s semneze
dispersia sa SHA-1. Dac utilizatorul nu verific dac contractul i dispersia corespund,
utilizatorul ar putea s semneze din neatenie un alt contract. S presupunem c Mafia n-
cearc s exploateze aceast slbiciune pentru a ctiga ceva bani. Vor face o pagina Web
cu plat (de exemplu, pornografie, jocuri de noroc, etc.) i va cere noilor clieni numrul
crii de credit. Apoi, ei trimit un contract n care spun c clientul dorete s foloseasc
serviciile lor i s plteasc cu carte de credit i roag clientul s semneze, tiind c cei mai
muli vor semna fr s verifice dac contractul i rezumatul corespund. Artai cum poate
Mafia s cumpere diamante de la bijutier legitim pe Internet i acestea s fie pltite de c-
tre clienii nesuspicioi.
20. O clas de matematic are 20 de studeni. Care este probabilitatea ca cel puin doi stu-
deni s aib aceeai zi de natere? Presupunei c nimeni nu s-a nscut pe 29 februarie,
astfel c sunt 365 de zile de natere posibile.
21. Dup ce Ellen s-a confesat lui Marilyn c a pclit-o n ceea ce-l privete pe Torn, Marilyn
a reuit s evite aceast problem dictnd mesajele ulterioare unei maini de dictat, i pu-
nnd noua secretar s le introduc. Marilyn a plnuit s examineze mesajele de pe termi-
nalul ei dup ce au fost introduse pentru a fi sigur c acestea conin propriile cuvinte.
Poate noua secretar s foloseasc atacul zilei de natere, ca s falsifice un mesaj i dac
da, cum? Indicaie: Poate.
22. Considerai ncercarea nereuit a lui Alice de a obine cheia public a lui Bob n fig. 8-23. Pre-
supunei c Bob i Alice au n comun o cheie secret, dar Alice tot vrea cheia public a lui Bob.
Exist un mod prin care ea poate fi obinut ntr-un mod securizat? Dac da, cum?
23. Alice dorete s comunice cu Bob, folosind criptografia cu chei publice. Ea stabilete o conexiu-
ne cu cineva spernd c acesta este Bob. Ea i cere cheia lui public i el i-o trimite n text clar
742 SECURITATEA REELELOR CAP. 8


mpreun cu un certificat X.509 semnat de ctre rdcina CA. Alice are deja cheia public a r-
dcinii CA. Ce pai trebuie s ndeplineasc Alice pentru a vedea c vorbete cu Bob? Presupu-
nei c lui Bob nu-i pas cu cine vorbete (de exemplu, Bob este un fel de serviciu public).
24. Presupunei c un sistem folosete PKI bazat pe o ierarhie cu structur de arbore de CA-uri.
Alice dorete s comunice cu Bob i primete un certificat de la Bob semnat de CA X dup ce
s-a stabilit un canal de comunicaie cu Bob. S considerm c Alice nu a auzit niciodat de X.
Ce pai trebuie urmai de Alice pentru a verifica dac vorbete cu Bob ?
25. Se poate ca IPsec cu AH s fie folosit n modul transport de una dintre mainile ce se afl n
spatele unei cutii NAT ? Explicai rspunsul.
26. Precizai un avantaj al folosirii HMAC fa de folosirea RSA pentru semnarea rezumatelor
SHA-1.
27. Dai un motiv pentru care un zid de protecie ar putea fi configurat s cerceteze traficul dinspre
exterior. Dai un motiv pentru care ar putea fi configurat s inspecteze traficul spre exterior.
Credei c aceste inspecii au anse de succes ?
28. Formatul pachetului WEP este artat n fig. 8-31. S presupunem c suma de control este de 32
de bii, calculat prin SAU ECLUSIV asupra tuturor cuvintelor de 32 de bii din ncrctura uti-
l luate mpreun. De asemenea s presupunem c problemele cu RC4 sunt corectate prin nlo-
cuirea cu un cifru-ir ce nu are slbiciuni i c toate elementele IV sunt extinse la 128 de bii.
Exist vreo cale pentru ca un intrus s spioneze sau s interfereze cu traficul fr a fi detectat?
29. S presupunem c o organizaie ce folosete VPN pentru a conecta securizat siturile sale din
Internet. Este nevoie ca un utilizator din aceast organizaie s foloseasc criptarea sau alt me-
canism de securitate pentru a comunica cu alt utilizator din cadrul organizaiei?
30. Modificai un mesaj n protocolul din fig. 8-34 pentru a-l face rezistent la atacurile prin reluare.
Explicai de ce funcioneaz modificarea.
31. Schimbul de chei Diffie-Hellman este folosit pentru stabilirea unei chei secrete ntre Alice i
Bob. Alice trimite lui Bob (719, 3, 191). Bob rspunde cu (543). Numrul secret al lui Alice este
x = 16. Care este cheia secret?
32. Dac Alice i Bob nu s-au ntlnit niciodat, nu au secrete comune, i nu au certificate, ei totui
pot s stabileasc o cheie secret comun folosind algoritmul Diffie-Hellman. Explicai de ce le
este foarte greu s se apere mpotriva unui atac omul-din-mijloc.
33. n protocolul din fig. 8-39, de ce este A trimis n clar mpreun cu cheia de sesiune criptat?
34. n protocolul din fig. 8-39, am artat c a ncepe fiecare mesaj transmis n clar cu 32 de bii zero
este riscant. S presupunem c fiecare mesaj ncepe cu un numr aleatoriu al utilizatorului, care
este practic o a doua cheie secret cunoscut doar de utilizatorul ei i de KDC. Se elimin n
acest mod atacul textului clar cunoscut? De ce?
35. n protocolul Needham-Schroeder, Alice genereaz 2 provocri, R
A
i R
A2
. Aceasta seamn cu
o exagerare. Nu ar fi fost suficient una singur?
SEC. 8.12 PROBLEME 743

36. S presupunem c o organizaie folosete Kerberos pentru autentificare. Ce se ntmpl, din
punctul de vedere al securitii i al disponibilitii serviciului, dac AS sau TGS cad?
37. n protocolul de autentificare cu chei publice din fig. 8-43, n mesajul 7, R
B
este criptat cu K
S
. Este
aceast criptare necesar, sau ar fi fost potrivit s fie trimis ca text clar? Explicai rspunsul.
38. Terminalele din punctele 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 captu-
ra i a memora toat informaia de pe cartel precum i codul PIN pentru a transmite ulterior
tranzacii suplimentare (falsificate). Urmtoarea generaie de terminale din punctele de 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-l poat sparge.
39. Enumerai dou motive pentru care PGP comprim mesajele.
40. Presupunnd c toat lumea de pe Internet folosete PGP, ar putea un mesaj PGP s fie trimis la
o adres Internet arbitrar i s fie decodificat corect de toi cei implicai? Discutai rspunsul.
41. Atacului prezentat n fig. 8-47 i lipsete un pas. Acest pas nu este necesar pentru ca atacul s
funcioneze, dar includerea lui ar putea reduce eventualele suspiciuni ulterioare. Care este pa-
sul lips?
42. S-a propus mpiedicarea pclirii DNS-ului folosind predicia identificatorilor, metod n care
serverul pune un identificator aleatoriu n loc s utilizeze un contor. Discutai aspectele legate
de securitate ale acestei abordri.
43. Protocolul de transport de date al SSL implic dou numere ad-hoc i o cheie primar. Ce rol
are folosirea numerelor ad-hoc (dac are vreunul)?
44. Imaginea fin fig. 8-55(b) conine textul ASCII a cinci piese de Shakespeare. Ar fi posibil s fie
ascuns muzic printre zebre n loc de text? Dac da, cum ar funciona i ct de mult ai putea
ascunde n acea imagine? Dac nu, de ce nu?
45. Alice era o utilizatoare fidel a unui retransmitor anonim de tip 1. Ea trimitea multe mesaje
grupului ei de tiri preferat, alt.fanclub.alice i toat lumea tia c acestea vin de la Alice pentru c
toate purtau acelai pseudonim. Presupunnd c retransmitorul funciona corect, Trudy nu pu-
tea s pretind c e Alice. Dup ce toate retransmitoarele de tip 1 au fost desfiinate, Alice s-a
mutat la unul care utilizeaz criptografia i a nceput o nou serie de mesaje n grupul ei. Imagi-
nai-v un mod de a o opri pe Trudy s trimit mesaje noi grupului, pretinznd c este Alice.
46. Cutai pe Internet nu caz interesant implicnd confidenialitatea i scriei o prezentare de
o pagin despre acesta.
47. Cutai pe Internet un caz ajuns la tribunal, implicnd dreptul de autor i utilizarea corect i
scriei o prezentare de o pagin, rezumnd ceea ce ai gsit.
48. Scriei un program care cripteaz datele de intrare, aplicndu-le operaia XOR cu un ir-cheie.
Gsii sau scriei i un generator de numere aleatorii pentru a putea genera irul-cheie. Progra-
mul ar trebui s se comporte ca un filtru, prelund text clar de la intrarea standard i producnd
744 SECURITATEA REELELOR CAP. 8


text cifrat la ieirea standard (i invers). Programul trebuie s aib un singur parametru, cheia de
la care pornete generatorul de numere aleatoare.
49. Scriei o procedur care calculeaz rezumatul unui bloc de date folosind SHA-1. Procedura
trebuie s aib doi parametri: o referin la zona tampon de intrare i o referin la o zon tam-
pon, de 20 de octei, de ieire. Pentru a vedea specificaiile exacte ale SHA-1, cutai pe Internet
FIPS 180-1, care este specificaia complet.

745
9
RECOMANDRI DE LECTUR I
BIBLIOGRAFIE
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.


9.1 SUGESTII PENTRU LECTURI VIITOARE
Exist o literatur vast despre toate aspectele reelelor de calculatoare. Trei reviste, care public
frecvent articole n acest domeniu sunt IEEE Transactions on Communications, IEEE Journal on
Selected Areas in Communications i Computer Communication Review . De asemenea, multe alte
reviste public ocazional articole cu acest subiect.
IEEE mai public i trei reviste ilustrate - IEEE Internet Computing, IEEE Network Magazine i
IEEE Communications Magazine - care conin studii, ndrumri practice, studii de caz despre reele.
Primele dou reviste se refer cu precdere la arhitectur, standarde i software, iar ultima se orien-
teaz ctre tehnologia comunicaiilor (fibr optic, satelii i aa mai departe).
746 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


n plus, exist un numr de conferine anuale sau bianuale care atrag multe lucrri despre reele
i sisteme distribuite, n particular SIGCOMM Annual Conference, The International Conference on
Distributed Computer Systems i The Symposium on Operating Systems Principles
Enumerm n continuare, n ordinea capitolelor crii, cteva sugestii de lecturi suplimentare.
Cele mai multe dintre acestea sunt ndrumri practice sau studii asupra subiectelor la care se refer.
Cteva dintre ele sunt capitole din diverse manuale.
9.1.1 Lucrri introductive i generale
Bi et. al, Wireless Mobile Communications at the Start of the 21st Century
Un nou secol, o nou tehnologie un subiect incitant. Dup un istoric al comunicaiilor fr fir,
sunt tratate aspectele de baz, inclusiv standarde, aplicaii, Internet i tehnologie.
Comer, The Internet Book
Cine caut o introducere simpl n Internet ar trebui s citeasc aceast lucrare. Comer descrie
istoria, dezvoltarea, tehnologia, protocoalele i serviciile Internet-ului n termeni pe care novicii i
pot nelege, dar datorit cantitii de material acoperite, cartea sa prezint interes i pentru cititorii
mai avansai.
Garber, Will 3G Really Be the Next Big Wireless Technology?
De la telefoanele mobile din a treia generatie se ateapt s fie capabile de transmisii de voce i
de date la rate de transfer de pn la 2 Mbps, ns startul acestei tehnologii a fost unul lent. Promisi-
unile, obstacolele, tehnologia, considerentele politice i economice ale utilizrii comunicaiei wireless
n band larg sunt tratate n acest articol uor de citit.
IEEE Internet Computing, Ianuarie Februarie 2000
Primul numr al revistei IEEE Internet Computing din noul mileniu a aprut exact n formatul pe
care l-am fi ateptat: personaliti care n mileniul precedent au contribuit la crearea Internetului au
fost invitate s-i expun viziunile asupra evoluiei Internetului in mileniul urmtor. Printre experi
se numr Paul Baran, Lawrence Roberts, Leonard Kleinrock, Stephen Crocker, Danny Cohen,
Bob Metcalfe, Bill Gates, Bill Joy. Pentru a valorifica la maxim acest material, este recomandat s
ateptai 500 de ani i apoi s citii profeiile lor.
Kipnis, Beating the System: Abuses of the Standards Adoption Process
Comisiile care se ocup cu adoptarea standardelor ncearc s menin o poziie neutr n demer-
surile lor, ns din nefericire exist companii care ncearc s abuzeze de sistem. De exemplu, s-au
nregistrat n repetate rnduri cazuri n care dup adoptarea unui standard, o anumit companie care
a participat la dezvoltarea acestuia s anune ca deine un brevet ce st la baza standardului i s
acorde licene doar anumitor companii agreate i la preuri stabilite doar dup criterii proprii. Artico-
lul este un nceput excelent n studiul prii ntunecate a procedurilor de adoptare a standardelor.
Kyas i Crawford, ATM Networks
ATM, cotat la un moment dat ca protocolul de reea al viitorului, joac nc un rol important n
cadrul sistemului telefonic. Aceast lucrare se constituie ntr-un ghid la zi, coninnd informaii
detaliate despre protocoalele ATM i despre modul de integrare al acestora cu reele bazate pe
protocolul IP.
SEC. 9.1 SUGESTII PENTRU LECTURI VIITOARE 747

Kwok, A Vision for Residential Broadband Service
Dac dorii s aflai viziunea Microsoft asupra serviciului de video la cerere n anul 1995, citii
acest articol. Cinci ani mai trziu aceast viziune era complet depit. Valoarea acestui articol con-
st n a demonstra c pn i persoane puternic motivate i cu un nivel nalt de cunotine n dome-
niu se gsesc n imposibilitatea de a estima cu precizie evoluia chiar i pe un termen de numai 5 ani.
Ar trebui s fie o lecie pentru noi toi.
Naughton, A Brief History of the Future
De fapt, cine este inventatorul Internetului? Multe persoane i asum acest merit, i pe bun
dreptate, din moment ce muli au contribuit n diferite moduri la crearea sa. Acest scurt istoric al
Internetului arat cum s-au ntmplat lucrurile ntr-o manier spiritual i plcut, presrat cu
anecdote, cum ar fi convingerea AT&T, exprimat n mod repetat, c nu exist nici un viitor n do-
meniul comunicaiilor digitale.
Perkins, Mobile Networking in the Internet
Pentru a v forma o imagine de ansamblu asupra protocoalelor din domeniul reelelor mobile, ni-
vel cu nivel, aceasta este lucrarea pe care trebuie s o consultai. Sunt examinate rnd pe rnd nivelurile
de la fizic pn la transport, precum i middleware-ul, considerente de securitate i reelele ad-hoc.
Teger i Waks, End-User Perspectives on Home Networking
Reelele pentru utilizatori individuali nu se aseamn cu cele pentru corporaii. Aplicaiile sunt
diferite (preponderent multimedia), echipamentele provin de la o gam larg de productori iar
utilizatorii au un nivel sczut de pregtire tehnic i o toleran mic la defeciuni de funcionare.
Citii aceast carte pentru a afla mai multe.
Varshney i Vetter, Emerging Mobile i Wireless Networks
Acesta este o alt introducere n domeniul comunicaiilor fr fir. Sunt discutate LAN-urile fr
fir, buclele locale fr fir, sateliii precum i unele aspecte legate de software-ul i aplicaiile aferente.
Wetteroth, OSI Reference Model for Telecommunications
Dei protocoalele stivei OSI nu mai sunt utilizate ca atare, modelul cu apte niveluri a cptat o
mare popularitate. Lucrarea ofer mai multe explicaii referitoare la modelul OSI i i propune s
aplice acest model reelelor de telecomunicaii (n contrast cu reelele de calculatoare), evideniind
unde se ncadreaz n stiva OSI diverse protocoale de telefonie i transmisie de voce.
9.1.2 Nivelul fizic
Abramson, Internet Access Using VSATs
Staiile terestre de dimensiune redus devin din ce n ce mai utilizate att pentru sistemele de te-
lefonie din mediul rural ct i pentru accesul Internet al corporaiilor din rile dezvoltate. Totui,
natura traficului difer radical n cele dou situaii, aa c sunt necesare protocoale diferite. n acest
articol, inventatorul protocolului ALOHA discut despre numeroase metode de alocare a benzii de
transmisie utilizate n sisteme VSAT.
Alkhatib et. al, Wireless Data Networks: Reaching the Extra Mile
Aceast lucrare, conceput ca un ndrumar practic, este un bun punct de pornire pentru o intro-
ducere rapid n terminologia i tehnologia utilizat de reelele fr fir.
748 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


Azzam i Ransom, Broadband Access Technologies
Sistemul de telefonie, fibrele optice, ADSL, reelele de televiziune prin cablu, satelii, chiar i li-
niile de nalt tensiune ca tehnologii de acces n reea sunt discutate n aceast lucrare. Alte subiecte
includ reele pentru utilizatori individuali, servicii, performanele reelelor i standarde. Lucrarea se
ncheie cu biografiile marilor companii din industria telecomunicaiilor i reelelor, dar lund n con-
siderare evoluia rapid a acestui domeniu, acest capitol va avea probabil o existen mai scurt de-
ct capitolele referitoare la tehnologii.
Bellamy, Digital Telephony
Aceast lucrare demn de ncredere conine tot ce ai dorit vreodat s tii despre sistemul tele-
fonic i chiar mai mult. n particular, sunt interesante capitolele despre transmisie i multiplexare,
comutare digital, fibr optic, telefonie mobil i DSL .
Berezdivin et. al, Next-Generation Wireless Communications Concepts and Technologies
Autorii sunt cu un pas naintea tuturor celorlali. Urmtoarea generaie din titlu se refer la a
patra generaie de comunicaii fr fir. De la aceste reele se ateapt s furnizeze servicii IP n orice
loc, o legtur ireproabil la Internet cu lime mare de band i o calitate excelent a serviciilor.
Aceste scopuri vor fi atinse prin alocarea inteligent a spectrului, alocarea dinamic a resurselor i
servicii adaptabile. Este o viziune relativ ndeprtat, dar acelai lucru se putea spune n 1995 i de-
spre telefonia mobil .
Dutta-Roy, An Overview of Cable Modem Technology and Market Perspectives
Televiziunea prin cablu a evoluat de la simplul sistem CATV la sisteme complexe de distribuie
pentru televiziune, Internet i telefonie. Aceste schimbri au afectat n mare msur i infrastructura
de cablu. Acest articol merit citit pentru o dezbatere asupra fabricilor de cablu, a standardelor, a
marketing-ului cu accentul cznd pe DOCSIS .
Farserotu i Prasad, A Survey of Future Broadband Multimedia Satellite Systems, Issues,
and Trends
O gam larg de satelii de comunicaii de date se afl pe orbit sau pe planele de proiectare,
incluznd Astrolink, Cyberstar, Spaceway, Skybridge, Teledesic i iSk. Acetia utilizeaz diverse teh-
nici printre care conduct curb i comutare prin satelii. Pentru o imagine de ansamblu a diferitelor
tehnici i sisteme de satelii aceast lucrare este un bun punct de pornire.
Hu i Li, Satellite-Based Internet: A Tutorial
Accesul la Internet prin satelit difer de accesul prin liniile terestre. Nu numai c apare o pro-
blem legat de ntrziere, dar i rutarea i comutarea sunt diferite. n aceast lucrare, autorii dezbat
cteva dintre problemele legate de accesul Internet prin intermediul sateliilor.
Joel, Telecommunications and the IEEE Communications Society
Acest articol ofer un istoric compact dar cuprinztor al telecomunicaiilor, ncepnd cu telegraful
i ncheind cu standardul 802.11. Totodat, sunt tratate aspecte legate de radio, telefonie, comutare
analogic i digital, cabluri submarine, transmisii digitale, ATM, staii de televiziune, televiziune prin
cablu, comunicaii prin fibr optic, telefonie mobil, comutare de pachete, ARPANET i Internet.
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
SEC. 9.1 SUGESTII PENTRU LECTURI VIITOARE 749

construiete o interfa de reea i ce se face cu ea odat ce a fost construit. El recunoate sincer ce
a fcut greit i ce a fcut corect.
Palais, Fiber Optic Communication, ediia a 3-a
Dei crile despre tehnologia fibrei optice devin din ce n ce mai specializate, aceast lucrare es-
te mai accesibil dect 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
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.
Sarikaya, Packet Mode in Wireless Networks: Overview of Transition of Third Generation
Conceptul de baz a reelelor celulare din generaia a treia const n transmisii de date fr fir.
Acest articol este foarte potrivit pentru a obine o imagine de ansamblu asupra transmisiilor de date
n reelele din generaia a doua i cum vor evolua acestea n reelele din generaia a treia. Sunt trata-
te subiecte ca GPRS, IS-95B, WCDMA si CDMA 2000.
9.1.3 Nivelul legtur de date
Carlson, PPP Design, Implementation and Debugging, editia a 2-a
Dac v intereseaz informaii detaliate despre toate protocoalele ce formeaz suita PPP, inclu-
siv CCP (compresie) si ECP (criptare), acest lucrare este de referin. Se pune un accent deosebit
pe ANU PPP-2.3, o implementare larg rspndit a PPAG.
Gravano, Introduction to Error Control Codes
Erori se strecoar n aproape toate formele de comunicaie digital; din acest motiv au fost dez-
voltate multe tipuri de coduri detectoare si corectoare de erori. Aceast lucrare descrie unele dintre
cele mai importante coduri, de la de la Codul Hammimg pn la codul Galois i codurile
convoluionale, necesitnd un volum minim de cunotine de algebr din partea cititorului.
Holzmann, Design and Validation of Computer Protocols
Cititorii interesai n aspectele mai formale ale protocoalelor legturii de date (i similare) ar tre-
bui s vad aceast carte. Sunt prezentate aici specificarea, modelarea, corectitudinea i testarea
acestor protocoale.
Peterson i Davie, Computer Networks: A System Approach
Capitolul 2 trateaz multe aspecte legate de nivelul legatur de date, inclusiv ncadrarea
(framing), protocoalele start-stop, protocoale cu fereastr glisant i LAN-urile IEEE 802.
Stallings, Data and Computer Communications
Capitolul 7 trateaz aspecte legate de nivelul legatur de date cum ar fi controlul fluxului, detec-
tarea erorilor i protocoale simple de nivel legatur de date, inclusiv start-stop i protocolul cu reve-
nire cu n pai. Sunt discutate i protocoalele de tip HDLC.
750 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


9.1.4 Subnivelul de control al accesului la mediu
Bhagwat, Bluetooth: Technology for Short-Range Wireless Apps
Lucrarea reprezint un bun punct de pornire pentru o introducere direct a sistemului
Bluetooth. Sunt discutate protocoalele i profilurile de baz, radio, picoreele i conexiuni, urmate
de o introducere a diverselor protocoale.
Bisdikian, An Overview of the Bluetooth Wireless Technology
La fel ca lucrarea precedent a lui Bhagwat, i aceasta este un bun punct de pornire pentru a
afla totul despre sistemul Bluetooth. Sunt prezentate printre altele picoreelele, stiva de protocoale
i profilurile.
Crow et. al, IEEE 802.11 Wireless Local Area Networks
Aceast lucrare este un bun punct de pornire pentru o introducere simpl n tehnologia i proto-
coalele 802.11. Accentul cade pe subnivelul MAC. Sunt discutate att controlul distribuit ct i con-
trolul centralizat. n ncheiere sunt prezentate cteva evaluri ale performanelor 802.11 n urma
simulrilor realizate n condiii diverse.
Eklund et. al, IEEE Standard 802.16: A Technical Overview of the Wireless MAN Air Interface
for Broadband Wireless Access
Standardul 802.16 adoptat de IEEE in 2002 presupune utilizarea comunicaiei fr fir pentru bu-
clele locale, ceea ce ar revoluiona serviciile telefonice, aducnd transmisia fr fir n band larg
ctre locuine. n aceast privire de ansamblu, autorii expun principalele aspecte tehnologice ce in
de acest standard.
Kapp, 802.11: Leaving the Wire Behind
Aceast scurt introducere a standardului 802.11 acoper chestiunile de baz, protocoalele i
standardele relevante.
Kleinrock, On Some Principles of Nomadic Computing and Multi-Access Communications
Partajarea canalului de transmisie in medii neghidate este o problem mai complex decat parta-
jarea canalului de transmisie in medii ghidate. n acest articol sunt expuse probleme ca topologii
dinamice, rutare, consumul de energie precum i alte aspecte legate de accesul la canalul de transmi-
sie al echipamentelor mobile fr fir.
Miller i Cummins, LAN Technologies Explained
Avei nevoie s cunoatei ct mai multe despre tehnologiile care pot fi utilizate n LAN-uri?
Aceast lucrare acoper cele mai multe dintre aceste tehnologii, inclusiv FDDI i token ring, precum
i larg rspnditul Ethernet. n timp ce primele dou sunt rar utilizate n instalrile noi de reele,
multe reele deja existente le mai utilizeaz nc, iar reelele cu topologie de inel sunt nc des ntl-
nite (de exemplu SONET).
Perlman, Interconnections, ediia a 2-a
Lucrarea reprezint o expunere demn de ncredere, dar totui distractiv, despre puni, rutere i
rutare n general. Autorul este cel care a proiectat algoritmul spanning tree utilizat de punile IEEE
802 i este una dintre autoritile de nivel mondial n ceea ce privete diverse aspecte ale reelelor.
SEC. 9.1 SUGESTII PENTRU LECTURI VIITOARE 751

Webb, Broadband Fixed Wireless Access
Aceast lucrare rspunde la ntrebrile de ce i cum n ceea ce privete transmisiile fr fir n
band larg fix. Seciunea de ce argumenteaz c utilizatorii nu doresc adrese de e-mail separate
pentru acas i pentru serviciu, numere diferite de telefon pentru acas, la serviciu sau pentru tele-
fonul mobil, un cont pentru discuii (chat) i un numr sau dou de fax. n schimb, ei prefer un sis-
tem unic, integrat, care s funcioneze pretutindeni. Accentul n seciunea referitoare la tehnologie
cade asupra nivelului fizic i sunt discutate subiecte ca numr de purttoare, comparaii ntre TDD i
FDD, ntre modulare fix i modulare adaptiv.
9.1.5 Nivelul reea
Bhatti si Crowcroft, QoS Sensitive Flows: Issues in IP Packet Handling
Una din modalitile de a obine o mai bun calitate a serviciilor ntr-o reea este planificarea ri-
guroas a plecrii pachetelor din fiecare ruter. n aceast lucrare este prezentat o serie de algoritmi
de planificare a pachetelor precum i alte detalii legate de acest subiect.
Chakrabarti, QoS Issues in Ad Hoc Wireless Networks
Rutarea n reelele ad-hoc de calculatoare portabile care se afl la distan mic unele de altele
este destul de dificil i fr a ine cont de calitatea serviciilor. Totui, utilizatorii sunt interesai de
calitatea serviciilor aa c trebuie acordat atenie acestui aspect. Particularitatea reelelor ad-hoc i
alte aspecte legate de rutare i calitatea serviciilor sunt discutate n acest articol.
Comer, Internetworking with TCP/IP, Vol.1, ediia a 4-a
Comer 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 tre-
buie. 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
Malhotra, IP Routing
Lucrarea conine foarte mult informaie, constituindu-se ntr-un ndrumar detaliat asupra
rutrii IP. Sunt discutate protocoale ca RIP, RIP-2, IGRP, EIGRP, OSPF i BGP-4 .
Metz, Differentiated Services
Garaniile oferite de conceptul de calitate a serviciilor sunt importante pentru multe aplicaii
multimedia. Serviciile integrate i serviciile difereniate sunt dou abordri posibile pentru obinerea
acestor garanii. Ambele sunt discutate aici, cu accent pe serviciile difereniate.
Metz, IP Routers: New Tool for Gigabit Networking
Majoritatea referinelor bibliografice pentru capitolul 5 se refer la algoritmi de rutare. Nu i
aceasta, care explic modul de funcionare al ruterelor. Ruterele au evoluat de la staii de lucru pen-
tru uz general pn la maini dedicate pentru rutare. Dac dorii s aflai mai multe despre rutere,
acest articol este un bun punct de pornire.
752 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


Nemeth s.a, UNIX System Administration Handbook
Pentru o schimbare de ritm, capitolul 13 din aceast lucrare abordeaz o viziune mai practic
asupra reteelor dect cele mai multe dintre celelalte referine bibliografice. n loc s discute concep-
te abstracte, ea ofer multe sfaturi despre cum se administreaz o reea real.
Perkins, Mobile Networking through Mobile IP
Pe msur ce dispozitivele mobile de calcul devin din ce n ce mai populare, noiunea de IP mo-
bil devine din ce n ce mai important. Acest ndrumar practic ofer o introducere n acest domeniu
discutnd i alte subiecte adiacente.
Perlman, Interconnections: Bridges and Routers, ediia a 2-a
n capitolele de la 12 pana la 25, Perlman expune multe probleme ce apar n proiectarea algorit-
milor de rutare unicast i multicast, att pentru WAN-uri ct i pentru LAN-uri interconectate, pre-
cum i implementrile acestor algoritmi n diverse protocoale. Cea mai interesant parte este ns
capitolul 18, n care autoarea analizeaz, ntr-o manier instructiv si amuzant, anii de experien n
protocoale de reea.
Puzmanova, Routing and Switching: Time of Convergence?
La sfritul anilor 1990, unii productori de echipamente de reea au nceput s denumeasc ori-
ce drept comutator, n timp ce administratorii de reele de mari dimensiuni afirmau c au nceput
procesul de trecere de la rutere la comutatoare. Aa cum sugereaz i titlul, lucrarea discut despre
viitorul ruterelor i comutatoarelor, ntrebndu-se dac aceste dou echipamente vor converge ctre
un punct comun.
Royer i Toth, A Review of Current Routing Protocols for Ad-Hoc Mobile Wireless Networks
Algoritmul de rutare ad-hoc AODV, prezentat in capitolul 5 nu este singurul cunoscut. O diver-
sitate de ali algoritmi, printre care DSDV, CGSR, WRP, DSR, TORA, ABR, DRP i SRP sunt
prezentai i comparai n aceast lucrare. Evident, dac v propunei s inventai un nou algoritm
de rutare ad-hoc, primul pas este alegerea unui acronim de trei litere pentru denumire.
Stevens, TCP/IP Illustrated, Vol. 1
Capitolele 3-10 furnizeaz o tratare cuprinztoare, ilustrat prin exemple, a IP-ului i a protocoa-
lelor legate de el (ARP, RARP i ICMP).
Striegel i Manimaran, A Survey of QoS Multicasting Issues
Noiunile de multicasting i calitate a serviciilor capt o importan din ce n ce mai mare pe
msur ce iau amploare servicii ca radioul i televiziunea prin internet. n acest studiu, autorii discu-
t modul n care algoritmii de rutare pot ine cont de aceti doi factori.
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 reac-
ie explicit i bucl nchis cu reacie implicit. Ei folosesc aceast taxonomie pentru a descrie i
clasifica 23 de algoritmi existeni.
SEC. 9.1 SUGESTII PENTRU LECTURI VIITOARE 753

9.1.6 Nivelul transport
Comer, Internetworking with TCP/IP, Vol. 1, ediia a 4-a
Aa cum s-a mai menionat, Comer a scris lucrarea decisiv despre suita de protocoale TCP/IP.
Capitolul 12 se refer la UDP, iar capitolul 13 la TCP.
Hall si Cerf, Internet Core Protocols: The Definitive Guide
Daca v place s obinei informaia direct de la surs, atunci acesta este locul potrivit pentru a
afla mai multe despre TCP. n fond, Cerf este unul dintre inventatorii TCP-ului. Capitolul 7 este o
prezentare exact a TCP, n care se arat cum trebuie interpretat informaia furnizat de uneltele
de analiz a protocoalelor i management al reelelor. Alte capitole expun aspecte legate de UDP,
IGMP, ICMP i ARP.
Kurose si Ross, Computer Networking: A Top-Down Approach Featuuring the Internet
Capitolul 3 se refer la nivelul transport i conine o cantitate important de informaie despre
TCP i UDP. Sunt discutate de asemenea protocoalele start-stop i cu revenire cu n pai examinate
n capitolul 3.
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.
Peterson si Davie, Computer Networks: A Systems Approach
Capitolul 5 se refer la UDP, TCP i alte cteva protocoale nrudite. Sunt tratate pe scurt i as-
pecte legate de performanele reelelor.
Stevens, TCP/IP Illustrated, Vol. 1
Capitolele 17-24 furnizeaz o tratare cuprinztoare a TCP-ului, ilustrat prin exemple.
9.1.7 Nivelul aplicaie
Bergholz, Extending Your Markup: An XML Tutorial
O introducere scurt i direct n XML pentru nceptori.
Cardellini et. al, The State-of-the-Art in Locally Distributed Web-Server Systems
Pe msur ce serviciul Web crete n popularitate, unele situri Web sunt nevoite s utilizeze un
numr mare de servere pentru a putea face fa traficului. Partea dificil n construirea unei ferme
de servere o constituie distribuirea ncrcrii ntre maini. Acest ndrumar practic acoper acest as-
pect n detaliu.
Berners-Lee et. al, The World Wide Web
O perspectiv asupra Web-ului i a direciei sale de evoluie prezentat de persoana care l-a in-
ventat i de civa colegi de la CERN. Articolul se concentreaz asupra arhitecturii Web, URL-uri,
HTTP i HTML, ct i asupra direciilor de dezvoltare viitoare.

754 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


Choudbury et. al, Copyright Protection for Electronic Publishing on Computer Networks
Dei numeroase cri i articole descriu algoritmi criptografici, puine descriu modul n care ace-
tia 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.
Collins, Carrier Grade Voice over IP
Dac ai citit lucrarea scris de Varshney et. al i doriti s aflai toate detaliile despre transmisia
de voce peste IP utiliznd protocolul H.323, acesta este locul potrivit. Dei cartea este lung i cu-
prinde multe detalii, este conceput ca un ndrumar practic i nu necesit cunotine anterioare de
ingineria sistemelor telefonice.
Davison, A Web Caching Primer
Pe msur ce Web-ul crete n dimensiuni, tehnica de ascundere (caching) devine esenial pen-
tru a obine performane bune. Lucrarea se constituie ntr-o scurt introducere n Web caching.
Krishnamurthy i Rexford, Web Protocols and Practice
Este dificil s gseti o lucrare mai cuprinztoare despre toate aspectele Web-ului dect aceasta.
Sunt tratate aspecte legate de clieni, servere, proxy-uri i ascundere. Exist de asemenea capitole
despre msurtori de trafic Web ct i despre cercetrile prezente n acest domeniu.
Rabinovich si Spatscheck, Web Caching and Replication
Lucrarea este o investiie bun pentru o tratare cuprinztoare a conceptelor de Web caching i
replicare. Proxy-uri, cache-uri, ncrcare, reele cu livrare dup coninut, selecia serverelor i multe
altele sunt prezentate n detaliu.
Shahabi et. al, Yima: A Second-Generation Continuous Media Server
Serverele multimedia reprezint sisteme complexe ce trebuie s rezolve probleme ca planificarea
procesoarelor, localizarea fiierelor pe disc, sincronizarea fluxurilor i altele. Cu trecerea timpului, s-
au fcut progrese n proiectarea lor. O imagine de ansamblu asupra arhitecturii recente a unui astfel
de sistem este prezentat n aceast lucrare.
Tittel et. al, Mastering XHTML
Dou cari ntr-un singur volum, acoperind cel mai nou standard n materie de limbaje de marcaj.
Mai nti este descris limbajul XHTML, cu accent asupra diferenelor fa de HTML, apoi este pre-
zentat un ghid cuprinztor al etichetelor, codurilor i caracterelor speciale utilizate n XHTML 1.0.
Varshney et. al, Voice over IP
Cum funcioneaz serviciul de voce peste IP i dac va nlocui aceast tehnologie reeaua comu-
tat de telefonie public putei afla citind aceast lucrare.
9.1.8 Securitatea reelelor
Anderson, R., Why Cryptosystems Fail
Dup prerea lui 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
SEC. 9.1 SUGESTII PENTRU LECTURI VIITOARE 755

numrul crii de credit i numrul de 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 sau
fraudelor clienilor.
Anderson, Security Engineering
ntr-o anumit msur, aceast carte este versiunea de 600 de pagini a lucrrii Why Cryptosys-
tems Fail. Are o abordare mai tehnic dect Secrets and Lies dar mai puin tehnic dect Network
Security (descris mai jos). Dup o introducere a tehnicilor de baz de securitate, sunt dedicate capi-
tole ntregi diverselor aplicaii, printre care aplicaii bancare, comanda i controlul instalaiilor nu-
cleare, imprimarea documentelor secrete, biometrie, securitatea fizic, rzboiul electronic securita-
tea telecomunicaiilor, comer electronic i protecia copyright-ului. A treia parte a lucrrii se refer
la politici, management i evoluia sistemului.
Artz, Digital Steganography
Steganografia i are originile n Grecia antic, unde ceara era folosit pentru a acoperi inscripii-
le fcute pe plane de lemn, asigurndu-se astfel secretul mesajelor. n prezent, sunt utilizate alte
tehnici, dar scopul rmne acelai. Exist diverse metode de a ascunde informaia n imagini, fluxuri
audio i alte purttoare despre care se vorbete n aceast lucrare.
Brands, Rethinking Public Key Infrastructures and Digital Certificates
Mai mult dect o introducere cuprinztoare n utilizarea certificatelor digitale, aceasta este i o
important lucrare de avocatur. Autorul are convingerea c documentele de identitate pe suport de
hrtie sunt depite i ineficiente i c certificatele digitale pot fi utilizate pentru aplicaii ca votul
electronic, administrarea drepturilor digitale i chiar ca nlocuitor pentru bani ghea. Autorul atrage
atenia asupra faptului c, dac nu se folosete criptarea PKI, Internetul ar putea deveni un instru-
ment de supraveghere pe scar larg.
Kaufman et. al, Network Security ediia a 2-a
Aceast carte demn de ncredere i adesea spiritual este primul loc unde trebuie s cutai in-
formaii despre securitatea reelelor, despre algoritmii si protocoalele utilizate. Se explic pe larg i
cu multe exemple algoritmi i protocoale cu chei secrete i publice, criptarea mesajelor, autentifica-
rea, Kerberos, PKI, Ipsec, SSL/TSL i securitatea potei electronice. Capitolul 26 care trateaz sub-
iecte de securitate ntr-o maniera folcloric este o adevarat nestemat. n domeniul securitii,
diavolul se ascunde n detalii. Oricine i propune s proiecteze un sistem de securitate care va fi uti-
lizat n practic are ce nva din sfaturile ancorate n realitate prezente n acest capitol.
Pohlmann, Firewall Systems
Zidurile de protecie (firewall) reprezint pentru cele mai multe reele prima (i ultima) linie de-
fensiv mpotriva atacatorilor. Aceast carte descrie cum funcioneaz i ce face un zid de protecie,
de la cele mai simple ziduri de protecie bazate pe software menite s protejeze un singur PC pn la
echipamente avansate ce sunt situate ntre o reea privat i conexiunea la Internet.
Schneier, Applied Criptography, ediia a 2-a
Acest compendiu monumental este cel mai mare comar al NSA: o singur carte care descrie fi-
ecare 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 exe-
756 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


cutate (n C). Mai mult, sunt furnizate peste 1600 de referine la literatura criptografic. Dei nu este
pentru nceptori, dac vrei cu adevrat s pstrai secrete fiierele dumneavoastr, atunci citii
aceast carte.
Schneier, Secrets and Lies
Dac citii Applied Criptography din scoar n scoar, vei afla tot ce este de tiut referitor la al-
goritmi criptografici. Dac mai citii apoi i Secrets and Lies din scoar n scoar (ceea ce nu poate
fi fcut ntr-un timp scurt), vei afla c algoritmii criptografici nu reprezint totul. Majoritatea bree-
lor de securitate nu se datoreaz unor algoritmi greiti sau cheilor de criptare prea scurte, ci scurgeri-
lor din mediul securizat. Sunt prezentate exemple fr sfrit despre ameninri, atacuri, defensiv,
contraatacuri i multe altele. Pentru o expunere non-tehnic i fascinant asupra securitii compu-
terelor n cel mai larg sens posibil, aceasta este cartea potrivit.
Skoudis, Counter Hack
Cel mai bun mod de a opri un hacker este s gndeti ca un hacker. Aceast carte descrie viziu-
nea hacker-ilor asupra reelelor i argumenteaz c securitatea ar trebui s fie parte integrant din
proiectarea unei reele i nu un adaos bazat pe o anumit tehnologie. Lucrarea acoper toate tipuri-
le uzuale de atacuri, printre care cele de tip inginerie social care profit de faptul c utilizatorii nu
sunt ntotdeauna familiari cu msurile de securitate necesare n utilizarea calculatoarelor.


9.2 BIBLIOGRAFIE N ORDINE ALFABETIC
ABRAMSON, N.: Internet Access Using VSATs, IEEE Commun. Magazine, vol. 38, pag. 60-68,
Iulie 2000.
ABRAMSON, N.: Development of the ALOHANET, IEEE Trans. on Information Theory, vol. IT-
31, pag. 119-123, Martie 1985.
ADAMS, M. i DULCHINOS, D.: OpenCable, IEEE Commun. Magazine, vol. 39, pag. 98-105,
Iunie 2001.
ALKHATIB, H.S., BAILEY, C., GERLA, M. i MCRAE, J.: Wireless Data Networks: Reaching the Extra
Mile, Computer, vol. 30, pag. 59-62, Dec. 1997.
ANDERSON, R.J.: Free Speech Online and Office, Computer, vol. 25, pag. 28-30, Iunie 2002.
ANDERSON, R.J.: Security Engineering, New York: Wiley, 2001.
ANDERSON, R.J.: The Eternity Service, Proc. First Intl Conf. on Theory and Appl. of Cryptology,
CTU Publishing House, 1996.
ANDERSON, R.J.: Why Cryptosystems Fail, Commun. of the ACM, vol. 37, pag. 32-40, Nov. 1994.
ARTZ, D.: Digital Steganography, IEEE Internet Computing, vol. 5, pag. 75-80, 2001.
AZZAM, A.A. i RANSOM, N.: Broadband Access Technologies, New York: McGraw-Hill, 1999.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 757

BAKNE, A. i BADRINATH, B.R.: I-TCP: Indirect TCP for Mobile Hosts, Proc. 15
th
Intl Conf. on
Distr. Computer Systems, IEEE, pag. 136-143, 1995.
BALAKRISHNAN, H., SESHAN, S. i KATZ, R.H.: Improving Reliable Transport and Handoff Per-
formance in Cellular Wireless Networks, Proc. ACM Mobile Computing and Networking Conf.,
ACM, pag. 2-11, 1995.
BALLARDIE, T., FRANCIS, P. i CROWCROFT, J.: Core Based Trees (CBT), Proc. SIGCOMM 93
Conf., ACM, pag. 85-95, 1993.
BARAKAT, C., ALTMAN, E. i DABBOUS, W.: On TCP Performance in a Heterogeneous Network: A
Survey, IEEE Commun. Magazine, vol. 38, pag. 40-46, Ian. 2000.
BELLAMY, J.: Digital Telephony, ediia a treia, New York: Wiley, 2000.
BELLMAN, R.E.: Dynamic Programming, Princeton, NJ: Princeton University Press, 1957.
BELSNES, D.: Flow Control in the Packet Switching Networks, Communications Networks, Ux-
bridge, England: Online, pag. 349-361, 1975.
BENNET, C.H. i BRASSARD, G.: Quantum Cryptography: Public Key Distribution and Coin Toss-
ing, Intl Conf. on Computer Systems and Signal Processing, pag. 175-179, 1984.
BEREZDIVIN, R., BREINIG, R. i TOPP, R.: Next-Generation Wireless Communication Concepts and
Technologies, IEEE Commun. Magazine, vol. 40, pag. 108-116, Martie 2002.
BERGHEL, H.L.: Cyber Privacy in the New Millennium, Computer, vol. 34, pag. 132-134, Ian. 2001.
BERGHOLZ, A.: Extending Your Markup: An XML Tutorial, IEEE Internet Computing, vol. 4, pag.
74-79, Iulie-Aug. 2000.
BERNERS-LEE, T., CAILLIAU, A., LOUTONEN, A., NIELSEN, H.F. i SECRET, A.: The World Wide
Web, Commun. of the ACM, vol. 37, pag. 76-82, Aug. 1994.
BERTSEKAS, D. i GALLAGER, R.: Data Networks, ediia a doua, Englewood Cliffs, NJ: Prentice
Hall, 1992.
BHAGWAT, P.: Bluetooth: Technology for Short-Range Wireless Apps, IEEE Internet Computing,
vol. 5, pag. 96-103, Mai-Iunie 2001.
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.
BHATTI, S.N. i CROWCROFT, J.: QoS Sensitive Flows: Issues in IP Packet Handling, IEEE Internet
Computing, vol. 4, pag. 48-57, Iulie-Aug. 2000.
BI, Q., ZYSMAN, G.I. i MENKES, H.: Wireless Mobile Communications at the Start of the 21
st
Cen-
tury, IEEE Commun. Magazine, vol. 39, pag. 110-116, Jan, 2001.
BIHAM, E. i SHAMIR, A.: Differential Cryptanalysis of the Data Encryption Standard, Proc. 17
th

Ann. Intl Cryptology Conf., Berlin: Springer-Verlag LNCS 1294, pag. 513-525, 1997.
758 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


BIRD, R., GOPAL, I., HERZBERG, A., JANSON, P.A., KUTTEN, S., MOLVA, R i YUNG, M.: Systematic
Design of a Family of Attack-Resistant Authentication Protocols, IEEE J. on Selected Areas in
Commun., vol. 11, pag. 679-693, Iunie 1993.
BIRRELL, A.D. i NELSON, B.J.: Implementing Remote Procedure Calls, ACM Trans. on Computer
Systems, vol. 2, pag. 39-59, Feb. 1984.
BIRYUKOV, A., SHAMIR, A. i WAGNER, D.: Real Time Cryptanalysis of A5/1 on a PC, Proc. Sev-
enth Intl Workshop on Fast Software Encryption, Berlin: Springer-Verlag LNCS 1978, p. 1, 2000.
BISDIKIAN, C.: An Overview of the Bluetooth Wireless Technology, IEEE Commun. Magazine,
vol. 39, pag. 86-94, Dec. 2001.
BLAZE, M.: Protocol Failure in the Escrowed Encryption Standard, Proc. Second ACM Conf. on
Computer and Commun. Security, ACM, pag. 59-67, 1994.
BLAZE, M. i BELLOVIN, S.: Tapping on My Network Door, Commun. of the ACM, vol. 43, pag.
136, Oct. 2000.
BOGINENI, K., SIVALINGAM, K.M. i DOWD, P.W.: Low-Complexity Multiple Access Protocols for
Wavelength-Division Multiplexed Photonic Networks, IEEE Journal on Selected Areas in
Commun., vol. 11, pag. 590-604, Mai 1993.
BOLCSKEI, H., PAULRAJ, A.J., HARI, K.V.S. i NABAR, R.U.: Fixed Broadband Wireless Access: State
of the Art, Challenges, and Future Directions, IEEE Commun. Magazine, vol. 39, pag. 100-108,
Ian. 2001.
BORISOV, N., GOLDBERG, I. i WAGNER, D.: Intercepting Mobile Communications: The Insecurity
of 802.11, Seventh Intl Conf. on Mobile Computing and Networking, ACM, pag. 180-188, 2001.
BRANDS, S.: Rethinking Public Key Infrastructures and Digital Certificates, Cambridge, MA: M.I.T.
Press, 2000.
BRAY, J. i STURMAN, C.F.: Bluetooth 1.1: Connect without Cables, ediia a doua, Upper Saddle River,
NJ: Prentice Hall, 2002.
BREYER, R. i RILEY, S.: Switched, Fast, and Gigabit Ethernet, Indianapolis, IN: New Riders, 1999.
BROWN, S.: Implementing Virtual Private Networks, New York: McGraw-Hill, 1999.
BROWN, L., KWAN, M., PIEPRZYK, J. i SEBERRY, J.: Improving Resistance to Differential Crypt-
analysis and the Redesign of LOKI, ASIACRYPT 91 Abstracts, pag. 25-30, 1991.
BURNETT, S. i PAINE, S.: RSA Securitys Official Guide to Cryptography, Berkeley, CA: Os-
borne/McGraw-Hill, 2001.
CAPETANAKIS, J.I.: Tree Algorithms for Packet Broadcast Channels, IEEE Trans. on Information
Theory, vol. IT-25, pag. 505-515, Sept. 1979.
CARDELLINI, V., CASALICCHIO, E., COLAJANNI, M. i YU, P.S.: The State-of-the-Art in Locally Dis-
tributed Web-Server Systems, ACM Computing Surveys, vol. 34, pag. 263-311, Iunie 2002.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 759

CARLSON, J.: PPP Design, Implementation and Debugging, ediia a doua, Boston: Addison-
Wesley, 2001.
CERF, V. i KAHN, R.: A Protocol for Packet Network Interconnection, IEEE Trans. on Commun.,
vol. COM-22, pag. 637-648, Mai 1974.
CHAKRABARTI, S.: QoS Issues in Ad Hoc Wireless Networks, IEEE Commun. Magazine, vol. 39,
pag. 142-148, Feb. 2001.
CHASE, J.S., GALLATIN, A.J. i YOCUM, K.G.: End System Optimizations for High-Speed TCP,
IEEE Commun. Magazine, vol. 39, pag. 68-75, Aprilie 2001.
CHEN, B., JAMIESON, K., BALAKRISHNAN, H. i MORRIS, R.: Span: An Energy-Efficient Coordina-
tion Algorithm for Topology Maintenance in Ad Hoc Wireless Net-works, ACM Wireless Net-
works, vol. 8, Sept. 2002.
CHEN, K.-C.: Medium Access Control of Wireless LANs for Mobile Computing, IEEE Network
Magazine, vol. 8, pag. 50-63, Sept.-Oct. 1994.
CHOUDBURY, A.K., MAXEMCHUK, N.F., PAUL, S. i SCHULZRINNE, H.G.: Copy-right Protection for
Electronic Publishing on Computer Networks, IEEE Network Magazine, vol. 9, pag. 12-20,
Mai-Iunie, 1995.
CHU, Y., RAO, S.G. i ZHANG, H.: A Case for End System Multicast, Proc. Intl Conf. on Measure-
ments and Modeling of Computer Syst., ACM, pag. 1-12, 2000.
CLARK, D.D.: The Design Philosophy of the DARPA Internet Protocols, Proc. SIGCOMM 88
Conf., ACM, pag. 106-114, 1988.
CLARK, D.D.: Window and Acknowledgement Strategy in TCP, RFC 813, Iulie 1982.
CLARK, D.D., DAVIE, B.S., FARBER, D.J., GOPAL, I.S., KADABA, B.K., SINCOSKIE, W.D., SMITH, J.M. i
TENNENHOUSE, D.L.: The Aurora Gigabit Testbed, Com-puter Networks and ISDN Systems,
vol. 25, pag. 599-621, Ian. 1993.
CLARK, D.D., JACOBSON, V., ROMKEY, J. i SALWEN, H.: An Analysis of TCP Processing Over-
head, IEEE Commun. Magazine, vol. 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.
CLARKE, A.C.: Extra-Terrestrial Relays, Wireless World, 1945.
CLARKE, I., MILLER, S.G., HONG, T.W., SANDBERG, O. i WILEY, B.: Protecting Free Expression
Online with Freenet, IEEE Internet Computing, vol. 6, pag. 40-49, Ian.-Feb. 2002.
COLLINS, D.: Carrier Grade Voice over IP, New York: McGraw-Hill, 2001.
COLLINS, D. i SMITH, C.: 3G Wireless Networks, New York: McGraw-Hill, 2001.
COMER, D.E.: The Internet Book, Englewood Cliffs, NJ: Prentice Hall, 1995.
760 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


COMER, D.E.: Internetworking with TCP/IP, vol. 1, ediia a patra, Englewood Cliffs, NJ: Pren-tice
Hall, 2000.
COSTA, L.H.M.K., FDIDA, S. i DUARTE, O.C.M.B.: Hop by Hop Multicast Routing Protocol, Proc.
2001 Conf. on Applications, Technologies, Architectures, and Proto-cols for Computer Commun.,
ACM, pag. 249-259, 2001.
CRAVER, S.A., WU, M., LIU, B., STUBBLEFIELD, A., SWARTZLANDER, B., WALLACH, D.W., DEAN, D. i
FELTEN, E.W.: Reading Between the Lines: Lessons from the SDMI Challenge, Proc. 10
th

USENIX Security Symp., USENIX, 2001.
CRESPO, P.M., HONIG, M.L. i SALEHI, J.A.: Spread-Time Code-Division Multiple Access, IEEE
Trans. on Commun., vol. 43, pag. 2139-2148, Iunie 1995.
CROW, B.P., WIDJAJA, I, KIM, J.G. i SAKAI, P.T.: IEEE 802.11 Wireless Local Area Networks,
IEEE Commun. Magazine, vol. 35, pag. 116-126, Sept. 1997
CROWCROFT, J., WANG, Z., SMITH, A. i ADAMS, J.: A Rough Comparison of the IETF and ATM
Service Models, IEEE Network Magazine, vol. 9, pag. 12-16, Nov.-Dec. 1995.
DABEK, F., BRUNSKILL, E., KAASHOEK, M.F., KARGER, D., MORRIS, R., STOICA, R. i BALAKRISH-
NAN, H.: Building Peer-to-Peer Systems With Chord, a Distributed Lookup Service, Proc. 8
th

Workshop on Hot Topics in Operating Systems, IEEE, pag. 71-76, 2001a.
DABEK, F., KAASHOEK, M.F., KARGER, D., MORRIS, R. i STOICA, I.: Wide-Area Cooperative Stor-
age with CFS, Proc. 18
th
Symp. on Operating Systems Prin., ACM, pag. 202-15 , 2001b.
DAEMEN, J. i RIJMEN, V.: The Design of Rijndael, Berlin: Springer-Verlag, 2002.
DANTHINE, A.A.S.: Protocol Representation with Finite-State Models, IEEE Trans. on Commun.,
vol. COM-28, pag. 632-643, Aprilie 1980.
DAVIDSON, J. i PETERS, J.: Voice over IP Fundamentals, Indianapolis, IN: Cisco Press, 2000.
DAVIE, B. i REKHTER, Y.: MPLS Technology and Applications, San Francisco: Mor-gan Kauf-
mann, 2000.
DAVIS, P.T. i MCGUFFIN, C.R.: Wireless Local Area Networks, New York: McGraw-Hill, 1995.
DAVISON, B.D.: A Web Caching Primer, IEEE Internet Computing, vol. 5, pag. 38-45, Iulie-Aug. 2001.
DAY, J.D.: The (Un)Revised OSI Reference Model, Computer Commun. Rev., vol. 25, pag. 39-55,
Oct. 1995.
DAY, J.D. i ZIMMERMANN, H.: The OSI Reference Model, Proc. of the IEEE, vol. 71, pag. 1334-
1340, Dec. 1983.
DE VRIENDT, J., LAINE, P., LEROUGE, C i XU, X.: Mobile Network Evolution: A Revolution on the
Move, IEEE Commun. Magazine, vol. 40, pag. 104-111, Aprilie 2002.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 761

DEERING, S.E.: SIP: Simple Internet Protocol, IEEE Network Magazine, vol. 7, pag. 16-28, Mai-
Iunie 1993.
DEMERS, A., KESHAV, S. i SHENKER, S.: Analysis and Simulation of a Fair Queue-ing Algorithm,
Internetwork: Research and Experience, vol. 1, pag. 3-26, Sept. 1990.
DENNING, D.E. i SACCO, G.M.: Timestamps in Key Distribution Protocols, Com-mun. of the
ACM, vol. 24, pag. 533-536, Aug. 1981.
DIFFIE, W. i HELLMAN, M.E.: Exhaustive Cryptanalysis of the NBS Data Encryp-tion Standard,
Computer, vol. 10, pag. 74-84, Iunie 1977.
DIFFIE, W. i HELLMAN, M.E.: New Directions in Cryptography, IEEE Trans. on Information The-
ory, vol. IT-22, pag. 644-654, Nov. 1976.
DIJKSTRA, E.W.: A Note on Two Problems in Connexion with Graphs, Numer. Math., vol. 1, pag.
269-271, Oct. 1959.
DOBROWSKI, G. i GRISE, D.: ATM and SONET Basics, Fuquay-Varina, NC: APDG Telecom
Books, 2001.
DONALDSON, G. i JONES, D.: Cable Television Broadband Network Architectures, IEEE Com-
mun. Magazine, vol. 39, pag. 122-126, Iunie 2001.
DORFMAN, R.: Detection of Defective Members of a Large Population, Annals Math. Statistics,
vol. 14, pag. 436-440, 1943.
DOUFEXI, A., ARMOUR, S., BUTLER, M., NIX, A., BULL, D., MCGEEHAN, J. i KARLSSON, P.: A Com-
parison of the HIPERLAN/2 and IEEE 802.11A Wireless LAN Standards, IEEE Commun.
Magazine, vol. 40, pag. 172-180, Mai 2002.
DURAND, A.: Deploying IPv6, IEEE Internet Computing, vol. 5, pag. 79-81, Ian.-Feb. 2001.
DUTCHER, B.: The NAT Handbook, New York: Wiley, 2001.
DUTTA-ROY, A.: An Overview of Cable Modem Technology and Market Perspectives, IEEE Com-
mun. Magazine, vol. 39, pag. 81-88, Iunie 2001.
EASTTOM, C.: Learn JavaScript, Ashburton, U.K.: Wordware Publishing, 2001.
EL GAMAL, T.: A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Loga-
rithms, IEEE Trans. on Information Theory, vol. IT-31, pag. 469-472, Iulie 1985.
ELHANANY, I., KAHANE, M. i SADOT, D.: Packet Scheduling in Next-Generation Multiterabit Net-
works, Computer, vol. 34, pag. 104-106, Aprilie 2001.
ELMIRGHANI, J.M.H. i MOUFTAH, H.T.: Technologies and Architectures for Scal-able Dynamic
Dense WDM Networks, IEEE Commun. Magazine, vol. 38, pag. 58-66, Feb. 2000.
FARSEROTU, J. i PRASAD, R.: A Survey of Future Broadband Multimedia Satellite Systems, Issues,
and Trends, IEEE Commun. Magazine, vol. 38, pag. 128-133, Iunie 2000.
762 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


FIORINI, D., CHIANI, M., TRALLI, V. i SALATI., C.: Can we Trust HDLC?, Com-puter Commun.
Rev., vol. 24, pag. 61-80, Oct. 1994.
FLOYD, S. i JACOBSON, V.: Random Early Detection for Congestion Avoidance, IEEE/ACM
Trans. on Networking, vol. 1, pag. 397-413, Aug. 1993.
FLUHRER, S., MANTIN, I. i SHAMIR, A.: Weakness in the Key Scheduling Algo-rithm of RC4,
Proc. Eighth Ann. Workshop on Selected Areas in Cryptography, 2001.
FORD, L.R., Jr. i FULKERSON, D.R.: Flows in Networks, Princeton, NJ: Princeton University
Press, 1962.
FORD, W. i BAUM, M.S.: Secure Electronic Commerce, Upper Saddle River, NJ: Prentice Hall, 2000.
FORMAN, G.H. i ZAHORJAN, J.: The Challenges of Mobile Computing, Computer, vol. 27, pag. 38-
47, Aprilie 1994.
FRANCIS, P.: A Near-Term Architecture for Deploying Pip, IEEE Network Magazine, vol. 7, pag.
30-37, Mai-Iunie 1993.
FRASER, A.G.: Towards a Universal Data Transport System, in Advances in Local Area Networks,
Kummerle, K., Tobagi, F. i Limb, J.O. (Eds.), New York: IEEE Press, 1987.
FRENGLE, N.: I-Mode: A Primer, New York: Hungry Minds, 2002.
GADECKI, C. i HECKERT, C.: ATM for Dummies, New York: Hungry Minds, 1997.
GARBER, L.: Will 3G Really Be the Next Big Wireless Technology?, Computer, vol. 35, pag. 26-32,
Ian. 2002.
GARFINKEL, S., with SPAFFORD, G.: Web Security, Privacy, and Commerce, Sebastopol, CA:
OReilly, 2002.
GEIER, J.: Wireless LANs, ediia a doua, Indianapolis, IN: Sams, 2002.
GEVROS, P., CROWCROFT, J., KIRSTEIN, P. i BHATTI, S.: Congestion Control Mechanisms and the
Best Effort Service Model, IEEE Network Magazine, vol. 15, pag. 16-25, Mai-Iunie 2001.
GHANI, N. i DIXIT, S.: TCP/IP Enhancements for Satellite Networks, IEEE Commun. Magazine,
vol. 37, pag. 64-72, 1999.
GINSBURG, D.: ATM: Solutions for Enterprise Networking, Boston: Addison-Wesley, 1996.
GOODMAN, D.J.: The Wireless Internet: Promises and Challenges, Computer, vol. 33, pag. 36-41,
Iulie 2000.
GORALSKI, W.J.: Optical Networking and WDM, New York: McGraw-Hill, 2001.
GORALSKI, W.J.: SONET, ediia a doua, New York: McGraw-Hill, 2000.
GORALSKI, W.J.: Introduction to ATM Networking, New York: McGraw-Hill, 1995.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 763

GOSSAIN, H., DE MORAIS CORDEIRO i AGRAWAL, D.P.: Multicast: Wired to Wireless, IEEE
Commun. Mag., vol. 40, pag. 116-123, Iunie 2002.
GRAVANO, S.: Introduction to Error Control Codes, Oxford, U.K.: Oxford University Press, 2001.
GUO, Y. i CHASKAR, H.: Class-Based Quality of Service over Air Interfaces in 4G Mobile Net-
works, IEEE Commun. Magazine, vol. 40, pag. 132-137, Martie 2002.
HAARTSEN, J.: The Bluetooth Radio System, IEEE Personal Commun. Magazine, vol. 7, pag. 28-
36, Feb. 2000.
HAC, A.: Wireless and Cellular Architecture and Services, IEEE Commun. Magazine, vol. 33, pag.
98-104, Nov. 1995.
HAC, A. i GUO, L.: A Scalable Mobile Host Protocol for the Internet, Intl J. of Network Mgmt, vol.
10, pag. 115-134, Mai-Iunie, 2000.
HALL, E. i CERF, V.: Internet Core Protocols: The Definitive Guide, Sebastopol, CA: OReilly, 2000.
HAMMING, R.W.: Error Detecting and Error Correcting Codes, Bell System Tech. J., vol. 29, pag.
147-160, Aprilie 1950.
HANEGAN, K.: Custom CGI Scripting with Perl, New York: Wiley, 2001.
HARRIS, A.: JavaScript Programming for the Absolute Beginner, Premier Press, 2001.
HARTE, L., KELLOGG, S., DREHER, R. i SCHAFFNIT, T.: The Comprehensive Guide to Wireless Tech-
nology, Fuquay-Varina, NC: APDG Publishing, 2000.
HARTE, L., LEVINE, R. i KIKTA, R.: 3G Wireless Demystified, New York: McGraw-Hill, 2002.
HAWLEY, G.T.: Historical Perspectives on the U.S. Telephone System, IEEE Commun. Magazine,
vol. 29, pag. 24-28, Martie 1991.
HECHT, J.: Understanding Fiber Optics, Upper Saddle River, NJ: Prentice Hall, 2001.
HEEGARD, C., COFFEY, J.T., GUMMADI, S., MURPHY, P.A., PROVENCIO, R., ROSSIN, E.J., SCHRUM,
S. i SHOEMAKER, M.B.: High-Performance Wireless Ethernet, IEEE Commun. Magazine,
vol. 39, pag. 64-73, Nov. 2001.
HELD, G.: The Complete Modem Reference, ediia a doua, New York: Wiley, 1994.
HELLMAN, M.E.: A Cryptanalytic Time-Memory Tradeoff, IEEE Trans. on Information Theory,
vol. IT-26, pag. 401-406, Iulie 1980.
HILLS, A.: Large-Scale Wireless LAN Design, IEEE Commun. Magazine, vol. 39, pag. 98-104,
Nov. 2001.
HOLZMANN, G.J.: Design and Validation of Computer Protocols, Englewood Cliffs, NJ: Prentice
Hall, 1991.
764 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


HU, Y. i LI, V.O.K.: Satellite-Based Internet Access, IEEE Commun. Magazine, vol. 39, pag. 155-
162, Martie 2001.
HU, Y.-C. i JOHNSON, D.B.: Implicit Source Routes for On-Demand Ad Hoc Network Routing,
Proc. ACM Intl Symp. on Mobile Ad Hoc Networking & Computing, ACM, pag. 1-10, 2001.
HUANG, V. i ZHUANG, W.: QoS-Oriented Access Control for 4G Mobile Multimedia CDMA
Communications, IEEE Commun. Magazine, vol. 40, pag. 118-125, Martie 2002.
HUBER, J.F., WEILER, D. i BRAND, H.: UMTS, the Mobile Multimedia Vision for IMT-2000: A
Focus on Standardization, IEEE Commun. Magazine, vol. 38, pag. 129-136, Sept. 2000. nr u 0
HUI, J.: A Broadband Packet Switch for Multi-rate Services, Proc. Intl Conf. on Commun., IEEE,
pag. 782-788, 1987.
HUITEMA, C.: Routing in the Internet, Englewood Cliffs, NJ: Prentice Hall, 1995.
HULL, S.: Content Delivery Networks, Berkeley, CA: Osborne/McGraw-Hill, 2002.
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.
HUNTER, D.K. i ANDONOVIC, I.: Approaches to Optical Internet Packet Switching, IEEE Com-
mun. Magazine, vol. 38, pag. 116-122, Sept. 2000.
HUSTON, G.: TCP in a Wireless World, IEEE Internet Computing, vol. 5, pag. 82-84, Martie-
Aprilie, 2001.
IBE, O.C.: Essentials of ATM Networks and Services, Boston: Addison-Wesley, 1997.
IRMER, T.: Shaping Future Telecommunications: The Challenge of Global Standardization,
IEEE Commun. Magazine, vol. 32, pag. 20-28, Ian. 1994.
IZZO, P.: Gigabit Networks, New York: Wiley, 2000.
JACOBSON, V.: Congestion Avoidance and Control, Proc. SIGCOMM 88 Conf., ACM, pag. 314-
329, 1988.
JAIN, R.: Congestion Control and Traffic Management in ATM Networks: Recent Advances and a
Survey, Computer Networks and ISDN Systems, vol. 27, Nov. 1995.
JAIN, R.: FDDI HandbookHigh-Speed Networking Using Fiber and Other Media, Boston: Addison-
Wesley, 1994.
JAIN, R.: Congestion Control in Computer Networks: Issues and Trends, IEEE Network Magazine,
vol. 4, pag. 24-30, Mai-Iunie 1990.
JAKOBSSON, M. i WETZEL, S.: Security Weaknesses in Bluetooth, Topics in Cryptology: CT-RSA
2001, Berlin: Springer-Verlag LNCS 2020, pag. 176-191, 2001.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 765

JOEL, A.: Telecommunications and the IEEE Communications Society, IEEE Commun. Maga-
zine, 50
th
Anniversary Issue, pag. 6-14 and 162-167, Mai 2002.
JOHANSSON, P., KAZANTZIDIS, M., KAPOOR, R. i GERLA, M.: Bluetooth: An Enabler for Personal
Area Networking, IEEE Network Magazine, vol. 15, pag. 28-37, Sept.-Oct 2001.
JOHNSON, D.B.: Scalable Support for Transparent Mobile Host Internetworking, Wireless Net-
works, vol. 1, pag. 311-321, Oct. 1995.
JOHNSON, H.W.: Fast EthernetDawn of a New Network, Englewood Cliffs, NJ: Prentice Hall, 1996.
JOHNSON, N.F. i JAJODA, S.: Exploring Steganography: Seeing the Unseen, Computer, vol. 31,
pag. 26-34, Feb. 1998.
KAHN, D.: Cryptology Goes Public, IEEE Commun. Magazine, vol. 18, pag. 19-28, Martie 1980.
KAHN, D.: The Codebreakers, ediia a doua, New York: Macmillan, 1995.
KAMOUN, F. i KLEINROCK, L.: Stochastic Performance Evaluation of Hierarchical Routing for
Large Networks, Computer Networks, vol. 3, pag. 337-353, Nov. 1979.
KAPP, S.: 802.11: Leaving the Wire Behind, IEEE Internet Computing, vol. 6, pag. 82- 85, Ian.-
Feb. 2002.
KARN, P.: MACAA New Channel Access Protocol for Packet Radio, ARRL/CRRL Amateur
Radio Ninth Computer Networking Conf., pag. 134-140, 1990.
KARTALOPOULOS, S.: Introduction to DWDM Technology: Data in a Rainbow, New York, NY:
IEEE Communications Society, 1999.
KASERA, S.K., HJALMTYSSON, G., TOWLSEY, D.F. i KUROSE, J.F.: Scalable Reliable Multicast Us-
ing Multiple Multicast Channels, IEEE/ACM Trans. on Networking, vol. 8, pag. 294-310, 2000.
KATZ, D. i FORD, P.S.: TUBA: Replacing IP with CLNP, IEEE Network Magazine, vol. 7, pag. 38-
47, Mai-Iunie 1993.
KATZENBEISSER, S. i PETITCOLAS, F.A.P.: Information Hiding Techniques for Steganography and
Digital Watermarking, London, Artech House, 2000.
KAUFMAN, C., PERLMAN, R. i SPECINER, M.: Network Security, ediia a doua, Englewood Cliffs, NJ:
Prentice Hall, 2002.
KELLERER, W., VOGEL, H.-J. i STEINBERG, K.-E.: A Communication Gateway for Infrastructure-
Independent 4G Wireless Access, IEEE Commun. Magazine, vol. 40, pag. 126-131, Martie 2002.
KERCKHOFF, A.: La Cryptographie Militaire, J. des Sciences Militaires, vol. 9, pag. 5- 38, Ian. 1883
i pag. 161-191, Feb. 1883.
KIM, J.B., SUDA, T. i YOSHIMURA, M.: International Standardization of B-ISDN, Computer Net-
works and ISDN Systems, vol. 27, pag. 5-27, Oct. 1994.
766 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


KIPNIS, J.: Beating the System: Abuses of the Standards Adoptions Process, IEEE Commun.
Magazine, vol. 38, pag. 102-105, Iulie 2000.
KLEINROCK, L.: On Some Principles of Nomadic Computing and Multi-Access Communications,
IEEE Commun. Magazine, vol. 38, pag. 46-50, Iulie 2000.
KLEINROCK, L. i TOBAGI, F.: Random Access Techniques for Data Transmission over Packet-
Switched Radio Channels, Proc. Nat. Computer Conf., pag. 187-201, 1975.
KRISHNAMURTHY, B. i REXFORD, J.: Web Protocols and Practice, Boston: Addison-Wesley, 2001.
KUMAR, V., KORPI, M. i SENGODAN, S.: IP Telephony with H.323, New York: Wiley, 2001.
KUROSE, J.F. i ROSS, K.W.: Computer Networking: A Top-Down Approach Featuring the Internet,
Boston: Addison-Wesley, 2001.
KWOK, T.: A Vision for Residential Broadband Service: ATM to the Home, IEEE Network Maga-
zine, vol. 9, pag. 14-28, Sept.-Oct. 1995.
KYAS, O. i CRAWFORD, G.: ATM Networks, Upper Saddle River, NJ: Prentice Hall, 2002.
LAM, C.K.M. i TAN, B.C.Y.: The Internet Is Changing the Music Industry, Commun. of the ACM,
vol. 44, pag. 62-66, Aug. 2001.
LANSFORD, J., STEPHENS, A i NEVO, R.: Wi-Fi (802.11b) and Bluetooth: Enabling Coexistence,
IEEE Network Magazine, vol. 15, pag. 20-27, Sept.-Oct 2001.
LASH, D.A.: The Web Wizards Guide to Perl and CGI, Boston: Addison-Wesley, 2002.
LAUBACH, M.E., FARBER, D.J. i DUKES, S.D.: Delivering Internet Connections over Cable, New York:
Wiley, 2001.
LEE, J.S. i MILLER, L.E.: CDMA Systems Engineering Handbook, London: Artech House, 1998.
LEEPER, D.G.: A Long-Term View of Short-Range Wireless, Computer, vol. 34, pag. 39-44,
Iunie 2001.
LEINER, B.M., COLE, R., POSTEL, J. i MILLS, D.: The DARPA Internet Protocol Suite, IEEE
Commun. Magazine, vol. 23, pag. 29-34, Martie 1985.
LEVINE, D.A. i AKYILDIZ, I.A.: PROTON: A Media Access Control Protocol for Optical Networks
with Star Topology, IEEE/ACM Trans. on Networking, vol. 3, pag. 158-168, Aprilie 1995.
LEVY, S.: Crypto Rebels, Wired, pag. 54-61, Mai-Iunie 1993.
LI, J., BLAKE, C., DE COUTO, D.S.J., LEE, H.I. i MORRIS, R.: Capacity of Ad Hoc Wireless Net-
works, Proc. 7
th
Intl Conf. on Mobile Computing and Networking, ACM, pag. 61-69, 2001.
LIN, F., CHU, P. i LIU, M.: Protocol Verification Using Reachability Analysis: The State Space Ex-
plosion Problem and Relief Strategies, Proc. SIGCOMM 87 Conf., ACM, pag. 126-135, 1987.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 767

LIN, Y.-D., HSU, N.-B. i HWANG, R.-H.: QoS Routing Granularity in MPLS Networks, IEEE Com-
mun. Magazine, vol. 40, pag. 58-65, Iunie 2002.
LISTANI, M., ERAMO, V. i SABELLA, R.: Architectural and Technological Issues for Future Optical
Internet Networks, IEEE Commun. Magazine, vol. 38, pag. 82-92, Sept. 2000.
LIU, C.L. i LAYLAND, J.W.: Scheduling Algorithms for Multiprogramming in a Hard Real-Time
Environment, Journal of the ACM, vol. 20, pag. 46-61, Ian. 1973.
LIVINGSTON, D.: Essential XML for Web Professionals, Upper Saddle River, NJ: Prentice Hall, 2002.
LOSHIN, P.: IPv6 Clearly Explained, San Francisco: Morgan Kaufmann, 1999.
LOUIS, P.J.: Broadband Crash Course, New York: McGraw-Hill, 2002.
LU, W.: Broadband Wireless Mobile: 3G and Beyond, New York: Wiley, 2002.
MACEDONIA, M.R.: Distributed File Sharing, Computer, vol. 33, pag. 99-101, 2000.
MADRUGA, E.L. i GARCIA-LUNA-ACEVES, J.J.: Scalable Multicasting: the Core-Assisted Mesh Pro-
tocol, Mobile Networks and Applications, vol. 6, pag. 151-165, Aprilie 2001.
MALHOTRA, R.: IP Routing, Sebastopol, CA: OReilly, 2002.
MATSUI, M.: Linear Cryptanalysis Method for DES Cipher, Advances in Cryptology Eurocrypt
93 Proceedings, Berlin: Springer-Verlag LNCS 765, pag. 386-397, 1994.
MAUFER, T.A.: IP Fundamentals, Upper Saddle River, NJ: Prentice Hall, 1999.
MAZIERES, D. i KAASHOEK, M.F.: The Design, Implementation, and Operation of an Email Pseu-
donym Server, Proc. Fifth Conf. on Computer and Commun. Security, ACM, pag. 27-36, 1998.
MAZIERES, D., KAMINSKY, M., KAASHOEK, M.F. i WITCHEL, E.: Separating Key Management
from File System Security, Proc. 17
th
Symp. on Operating Systems Prin., ACM, pag. 124-139,
Dec. 1999.
MCFEDRIES, P: Using JavaScript, Indianapolis, IN: Que, 2001.
MCKENNEY, P.E. i DOVE, K.F.: Efficient Demultiplexing of Incoming TCP Packets, Proc. SIG-
COMM 92 Conf., ACM, pag. 269-279, 1992.
MELTZER, K. i MICHALSKI, B.: Writing CGI Applications with Perl, Boston: Addison-Wesley, 2001.
MENEZES, A.J. i VANSTONE, S.A.: Elliptic Curve Cryptosystems and Their Implementation, Jour-
nal of Cryptology, vol. 6, pag. 209-224, 1993.
MERKLE, R.C.: Fast Software Encryption Functions, Advances in Cryptology CRYPTO 90 Pro-
ceedings, Berlin: Springer-Verlag LNCS 473, pag. 476-501, 1991.
MERKLE, R.C. i HELLMAN, M.: On the Security of Multiple Encryption, Commun. of the ACM,
vol. 24, pag. 465-467, Iulie 1981.
768 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


MERKLE, R.C. i HELLMAN, M.: Hiding and Signatures in Trapdoor Knapsacks, IEEE Trans. on
Information Theory, vol. IT-24, pag. 525-530, Sept. 1978.
METCALFE, R.M.: On Mobile Computing, Byte, vol. 20, p. 110, Sept. 1995.
METCALFE, R.M.: Computer/Network Interface Design: Lessons from Arpanet and Ethernet,
IEEE Journal on Selected Areas in Commun., vol. 11, pag. 173-179, Feb. 1993.
METCALFE, R.M. i BOGGS, D.R.: Ethernet: Distributed Packet Switching for Local Computer Net-
works, Commun. of the ACM, vol. 19, pag. 395-404, Iulie 1976.
METZ, C: Interconnecting ISP Networks, IEEE Internet Computing, vol. 5, pag. 74-80, Martie-
Aprilie 2001.
METZ, C.: Differentiated Services, IEEE Multimedia Magazine, vol. 7, pag. 84-90, Iulie-Sept. 2000.
METZ, C.: IP Routers: New Tool for Gigabit Networking, IEEE Internet Computing, vol. 2, pag. 14-
18, Nov.-Dec. 1998.
MILLER, B.A. i BISDIKIAN, C.,: Bluetooth Revealed, Upper Saddle River, NJ: Prentice Hall, 2001.
MILLER, P. i CUMMINS, M.: LAN Technologies Explained, Woburn, MA: Butterworth-Heine-
mann, 2000.
MINOLI, D.: Video Dialtone Technology, New York: McGraw-Hill, 1995.
MINOLI, D. i VITELLA, M.: ATM & Cell Relay for Corporate Environments, New York: McGraw-
Hill, 1994.
MISHRA, P.P. i KANAKIA, H.: A Hop by Hop Rate-Based Congestion Control Scheme, Proc.
SIGCOMM 92 Conf., ACM, pag. 112-123, 1992.
MISRA, A., DAS, S., DUTTA, A., MCAULEY, A. i DAS, S.: IDMP-Based Fast Handoffs and Paging in
IP-Based 4G Mobile Networks, IEEE Commun. Magazine, vol. 40, pag. 138-145, Martie 2002.
MOGUL, J.C.: IP Network Performance, in Internet System Handbook, Lynch, D.C. and Rose, M.T.
(eds.), Boston: Addison-Wesley, pag. 575-675, 1993.
MOK, A.K. i WARD, S.A.: Distributed Broadcast Channel Access, Computer Networks, vol. 3, pag.
327-335, Nov. 1979.
MOY, J.: Multicast Routing Extensions, Commun. of the ACM, vol. 37, pag. 61-66, Aug. 1994.
MULLINS, J.: Making Unbreakable Code, IEEE Spectrum, pag. 40-45, Mai 2002.
NAGLE, J.: On Packet Switches with Infinite Storage, IEEE Trans. on Commun., vol. COM-35,
pag. 435-438, Aprilie 1987.
NAGLE, J.: Congestion Control in TCP/IP Internetworks, Computer Commun. Rev., vol. 14, pag.
11-17, Oct. 1984.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 769

NARAYANASWAMI, C., KAMIJOH, N., RAGHUNATH, M., INOUE, T., CIPOLLA, T., SANFORD, J.,
SCHLIG, E., VENTKITESWARAN, S., GUNIGUNTALA, D., KUL-KARNI, V. i YAMAZAKI, K.: IBMs
Linux Watch: The Challenge of Miniaturization, Computer, vol. 35, pag. 33-41, Ian. 2002.
NAUGHTON, J.: A Brief History of the Future, Woodstock, NY: Overlook Press, 2000.
NEEDHAM, R.M. i SCHROEDER, M.D.: Authentication Revisited, Operating Systems Rev., vol. 21,
p. 7, Ian. 1987.
NEEDHAM, R.M. i SCHROEDER, M.D.: Using Encryption for Authentication in Large Networks of
Computers, Commun. of the ACM, vol. 21, pag. 993-999, Dec. 1978.
NELAKUDITI, S. i ZHANG, Z.-L.: A Localized Adaptive Proportioning Approach to QoS Routing,
IEEE Commun. Magazine vol. 40, pag. 66-71, Iunie 2002.
NEMETH, E., SNYDER, G., SEEBASS, S. i HEIN, T.R.: UNIX System Administration Handbook, ediia a
treia, Englewood Cliffs, NJ: Prentice Hall, 2000.
NICHOLS, R.K. i LEKKAS, P.C.: Wireless Security, New York: McGraw-Hill, 2002.
NIST: Secure Hash Algorithm, U.S. Government Federal Information Processing Standard
180, 1993.
OHARA, B. i PETRICK, A.: 802.11 Handbook: A Designers Companion, New York: IEEE Press, 1999.
OTWAY, D. i REES, O.: Efficient and Timely Mutual Authentication, Operating Systems Rev., pag.
8-10, Ian. 1987.
OVADIA, S.: Broadband Cable TV Access Networks: from Technologies to Applications, Upper Saddle
River, NJ: Prentice Hall, 2001.
PALAIS, J.C.: Fiber Optic Commun., ediia a treia, Englewood Cliffs, NJ: Prentice Hall, 1992.
PAN, D.: A Tutorial on MPEG/Audio Compression, IEEE Multimedia Magazine, vol. 2, pag.60-74,
Summer 1995.
PANDYA, R.: Emerging Mobile and Personal Communication Systems, IEEE Commun. Magazine,
vol. 33, pag. 44-52, Iunie 1995.
PARAMESWARAN, M., SUSARLA, A. i WHINSTON, A.B.: P2P Networking: An Information-Sharing
Alternative, Computer, vol. 34, pag. 31-38, Iulie 2001.
PARK, J.S. i SANDHU, R.: Secure Cookies on the Web, IEEE Internet Computing, vol. 4, pag. 36-44,
Iulie-Aug. 2000.
PARTRIDGE, C., HUGHES, J. i STONE, J.: Performance of Checksums and CRCs over Real Data,
Proc. SIGCOMM 95 Conf., ACM, pag. 68-76, 1995.
PAXSON, V.: Growth Trends in Wide-Area TCP Connections, IEEE Network Magazine, vol. 8, pag.
8-17, Iulie-Aug. 1994.
770 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


PAXSON, V. i FLOYD, S.: Wide-Area Traffic: The Failure of Poisson Modeling, Proc. SIGCOMM
94 Conf., ACM, pag. 257-268, 1995.
PEPELNJAK, I. i GUICHARD, J.: MPLS and VPN Architectures, Indianapolis, IN: Cisco Press, 2001.
PERKINS, C.E.: RTP: Audio and Video for the Internet, Boston: Addison-Wesley, 2002.
PERKINS, C.E. (ed.): Ad Hoc Networking, Boston: Addison-Wesley, 2001.
PERKINS, C.E.: Mobile IP Design Principles and Practices, Upper Saddle River, NJ: Prentice Hall, 1998a.
PERKINS, C.E.: Mobile Networking in the Internet, Mobile Networks and Applications, vol. 3, pag.
319-334, 1998b.
PERKINS, C.E.: Mobile Networking through Mobile IP, IEEE Internet Computing, vol. 2, pag. 58-
69, Ian.-Feb. 1998c.
PERKINS, C.E. i ROYER, E.: The Ad Hoc On-Demand Distance-Vector Protocol, in Ad Hoc Net-
working, edited by C. Perkins, Boston: Addison-Wesley, 2001.
PERKINS, C.E. i ROYER, E.: Ad-hoc On-Demand Distance Vector Routing, Proc. Second Ann.
IEEE Workshop on Mobile Computing Systems and Applications, IEEE, pag. 90-100, 1999.
PERLMAN, R.: Interconnections, ediia a doua, Boston: Addison-Wesley, 2000.
PERLMAN, R.: Network Layer Protocols with Byzantine Robustness, Ph.D. thesis, M.I.T., 1988.
PERLMAN, R. i KAUFMAN, C.: Key Exchange in IPsec, IEEE Internet Computing, vol. 4, pag. 50-
56, Nov.-Dec. 2000.
PETERSON, L.L. i DAVIE, B.S.: Computer Networks: A Systems Approach, San Francisco: Morgan
Kaufmann, 2000.
PETERSON, W.W. i BROWN, D.T.: Cyclic Codes for Error Detection, Proc. IRE, vol. 49, pag. 228-
235, Ian. 1961.
PICKHOLTZ, R.L., SCHILLING, D.L. i MILSTEIN, L.B.: Theory of Spread Spectrum Communica-
tionA Tutorial, IEEE Trans. on Commun., vol. COM-30, pag. 855-884, Mai 1982.
PIERRE, G., KUZ, I., VAN STEEN, M., TANENBAUM, A.S.: Differentiated Strategies for Replicating
Web Documents, Computer Commun., vol. 24, pag. 232-240, Feb. 2001.
PIERRE, G., VAN STEEN, M. i TANENBAUM, A.S.: Dynamically Selecting Optimal Distribution
Strategies for Web Documents, IEEE Trans. on Computers, vol. 51, Iunie 2002.
PISCITELLO, D.M. i CHAPIN, A.L.: Open Systems Networking: TCP/IP and OSI, Boston: Addison-
Wesley, 1993.
PITT, D.A.: BridgingThe Double Standard, IEEE Network Magazine, vol. 2, pag. 94- 95, Ian. 1988.
PIVA, A., BARTOLINI, F. i BARNI, M.: Managing Copyrights in Open Networks, IEEE Internet
Computing, vol. 6, pag. 18-26, Mai-Iunie 2002.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 771

POHLMANN, N.: Firewall Systems, Bonn, Germany: MITP-Verlag, 2001.
PUZMANOVA, R.: Routing and Switching: Time of Convergence?, London: Addison-Wesley, 2002.
RABINOVICH, M. i SPATSCHECK, O,: Web Caching and Replication, Boston: Addison-Wesley, 2002.
RAJU, J. i GARCIA-LUNA-ACEVES, J.J.: Scenario-based Comparison of Source-Tracing and Dy-
namic Source Routing Protocols for Ad-Hoc Networks, ACM Computer Communications Re-
view, vol. 31, October 2001.
RAMANATHAN, R. i REDI, J.: A Brief Overview of Ad Hoc Networks: Challenges and Directions,
IEEE Commun. Magazine, 50
th
Anniversary Issue, pag. 20-22, Mai 2002.
RATNASAMY, S., FRANCIS, P., HANDLEY, M., KARP, R. i SHENKER, S.: A Scalable Content-
Addressable Network, Proc. SIGCOMM 01 Conf., ACM, pag. 1161- 1172, 2001.
RIVEST, R.L.: The MD5 Message-Digest Algorithm, RFC 1320, Aprilie 1992.
RIVEST, R.L. i SHAMIR, A.: How to Expose an Eavesdropper, Commun. of the ACM, vol. 27, pag.
393-395, Aprilie 1984.
RIVEST, R.L., SHAMIR, A. i ADLEMAN, L.: On a Method for Obtaining Digital Signatures and Pub-
lic Key Cryptosystems, Commun. of the ACM, vol. 21, pag. 120-126, Feb. 1978.
ROBERTS, L.G.: Dynamic Allocation of Satellite Capacity through Packet Reservation, Proc. NCC,
AFIPS, pag. 711-716, 1973.
ROBERTS, L.G.: Extensions of Packet Communication Technology to a Hand Held Personal Ter-
minal, Proc. Spring Joint Computer Conference, AFIPS, pag. 295-298, 1972.
ROBERTS, L.G.: Multiple Computer Networks and Intercomputer Communication, Proc. First
Symp. on Operating Systems Prin., ACM, 1967.
ROSE, M.T.: The Simple Book, Englewood Cliffs, NJ: Prentice Hall, 1994.
ROSE, M.T.: The Internet Message, Englewood Cliffs, NJ: Prentice Hall, 1993.
ROSE, M.T. i MCCLOGHRIE, K.: How to Manage Your Network Using SNMP, Englewood Cliffs, NJ:
Prentice Hall, 1995.
ROWSTRON, A. i DRUSCHEL, P.: Storage Management and Caching in PAST, a Large-Scale, Per-
sistent Peer-to-Peer Storage Utility, Proc. 18
th
Symp. on Operating Systems Prin., ACM, pag.
188-201, 2001a.
ROWSTRON, A. i DRUSCHEL, P.: Pastry: Scalable, Distributed Object Location and Routing for
Large-Scale Peer-to-Peer Storage Utility, Proc. 18
th
Intl Conf. on Distributed Systems Platforms,
ACM/IFIP, 2001b.
ROYER, E.M. i TOH, C.-K.: A Review of Current Routing Protocols for Ad-Hoc Mobile Wireless
Networks, IEEE Personal Commun. Magazine, vol. 6, pag. 46-55, Aprilie 1999.
772 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


RUIZ-SANCHEZ, M.A., BIERSACK, E.W. i DABBOUS, W.: Survey and Taxonomy of IP Address
Lookup Algorithms, IEEE Network Magazine, vol. 15, pag. 8-23, Martie-Aprilie 2001.
SAIRAM, K.V.S.S.S.S., GUNASEKARAN, N. i REDDY, S.R.: Bluetooth in Wireless Communication,
IEEE Commun. Mag., vol. 40, pag. 90-96, Iunie 2002.
SALTZER, J.H., REED, D.P. i CLARK, D.D.: End-to-End Arguments in System Design, ACM Trans.
on Computer Systems, vol. 2, pag. 277-288, Nov. 1984.
SANDERSON, D.W. i DOUGHERTY, D.: Smileys, Sebastopol, CA: OReilly, 1993.
SARI, H., VANHAVERBEKE, F. i MOENECLAEY, M.: Extending the Capacity of Multiple Access
Channels, IEEE Commun. Magazine, vol. 38, pag. 74-82, Ian. 2000.
SARIKAYA, B.: Packet Mode in Wireless Networks: Overview of Transition to Third Generation,
IEEE Commun. Magazine, vol. 38, pag. 164-172, Sept. 2000.
SCHNEIER, B.: Secrets and Lies, New York: Wiley, 2000.
SCHNEIER, B.: Applied Cryptography, ediia a doua, New York: Wiley, 1996.
SCHNEIER, B.: E-Mail Security, New York: Wiley, 1995.
SCHNEIER, B.: Description of a New Variable-Length Key, 64-Bit Block Cipher [Blowfish], Proc.
of the Cambridge Security Workshop, Berlin: Springer-Verlag LNCS 809, pag. 191-204, 1994.
SCHNORR, C.P.: Efficient Signature Generation for Smart Cards, Journal of Cryptology, vol. 4, pag.
161-174, 1991.
SCHOLTZ, R.A.: The Origins of Spread-Spectrum Communications, IEEE Trans. on Commun.,
vol. COM-30, pag. 822-854, Mai 1982.
SCOTT, R.: Wide Open Encryption Design Offers Flexible Implementations, Cryptologia, vol. 9,
pag. 75-90, Ian. 1985.
SEIFERT, R.: The Switch Book, Boston: Addison-Wesley, 2000.
SEIFERT, R.: Gigabit Ethernet, Boston: Addison-Wesley, 1998.
SENN, J.A.: The Emergence of M-Commerce, Computer, vol. 33, pag. 148-150, Dec. 2000.
SERJANTOV, A.: Anonymizing Censorship Resistant Systems, Proc. First Intl Workshop on Peer-to-
Peer Systems, Berlin: Springer-Verlag LNCS, 2002.
SEVERANCE, C.: IEEE 802.11: Wireless Is Coming Home, Computer, vol. 32, pag. 126-127,
Nov. 1999.
SHAHABI, C., ZIMMERMANN, R., FU, K. i YAO, S.-Y.D.: YIMA: A Second-Generation Continuous
Media Server, Computer, vol. 35, pag. 56-64, Iunie 2002.
SHANNON, C.: A Mathematical Theory of Communication, Bell System Tech. J., vol. 27, pag. 379-
423, Iulie 1948; i pag. 623-656, Oct. 1948.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 773

SHEPARD, S.: SONET/SDH Demystified, New York: McGraw-Hill, 2001.
SHREEDHAR, M. i VARGHESE, G.: Efficient Fair Queueing Using Deficit Round Robin, Proc.
SIGCOMM 95 Conf., ACM, pag. 231-243, 1995.
SKOUDIS, E.: Counter Hack, Upper Saddle River, NJ: Prentice Hall, 2002.
SMITH, D.K. i ALEXANDER, R.C.: Fumbling the Future, New York: William Morrow, 1988.
SMITH, R.W.: Broadband Internet Connections, Boston: Addison Wesley, 2002.
SNOEREN, A.C. i BALAKRISHNAN, H.: An End-to-End Approach to Host Mobility, Intl Conf. on
Mobile Computing and Networking , ACM, pag. 155-166, 2000.
SOBEL, D.L.: Will Carnivore Devour Online Privacy, Computer, vol. 34, pag. 87-88, Mai 2001.
SOLOMON, J.D.: Mobile IP: The Internet Unplugged, Upper Saddle River, NJ: Prentice Hall, 1998.
SPOHN, M. i GARCIA-LUNA-ACEVES, J.J.: Neighborhood Aware Source Routing, Proc. ACM Mo-
biHoc 2001, ACM, pag. 2001.
SPURGEON, C.E.: Ethernet: The Definitive Guide, Sebastopol, CA: OReilly, 2000.
STALLINGS, W.: Data and Computer Communications, ediia a asea, Upper Saddle River, NJ: Pren-
tice Hall, 2000.
STEINMETZ, R. i NAHRSTEDT, K.: Multimedia Fundamentals. Vol. 1: Media Coding and Content
Processing, Upper Saddle River, NJ: Prentice Hall, 2002.
STEINMETZ, R. i NAHRSTEDT, K.: Multimedia Fundamentals. Vol. 2: Media Processing and Commu-
nications, Upper Saddle River, NJ: Prentice Hall, 2003a.
STEINMETZ, R. i NAHRSTEDT, K.: Multimedia Fundamentals. Vol. 3: Documents, Security, and Ap-
plications, Upper Saddle River, NJ: Prentice Hall, 2003b.
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.
STEVENS, W.R.: UNIX Network Programming, Volume 1: Networking APIs - Sockets and XTI, Upper
Saddle River, NJ: Prentice Hall, 1997.
STEVENS, W.R.: TCP/IP Illustrated, Vol. 1, Boston: Addison-Wesley, 1994.
STEWART, R. i METZ, C.: SCTP: New Transport Protocol for TCP/IP, IEEE Internet Computing,
vol. 5, pag. 64-69, Nov.-Dec. 2001.
STINSON, D.R.: Cryptography Theory and Practice, ediia a doua, Boca Raton, FL: CRC Press, 2002.
STOICA, I., MORRIS, R., KARGER, D., KAASHOEK, M.F. i BALAKRISHNAN, H.: Chord: A Scalable
Peer-to-Peer Lookup Service for Internet Applications, Proc. SIGCOMM 01 Conf., ACM,
pag. 149-160, 2001.
774 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


STRIEGEL, A. i MANIMARAN, G.: A Survey of QoS Multicasting Issues, IEEE Commun. Mag., vol.
40, pag. 82-87, Iunie 2002.
STUBBLEFIELD, A., IOANNIDIS, J. i RUBIN, A.D.: Using the Fluhrer, Mantin i Shamir Attack to
Break WEP, Proc Network and Distributed Systems Security Symp., ISOC, pag. 1-11, 2002.
SUMMERS, C.K.: ADSL: Standards, Implementation, and Architecture, Boca Raton, FL: CRC
Press, 1999.
SUNSHINE, C.A. i DALAL, Y.K.: Connection Management in Transport Protocols, Computer Net-
works, vol. 2, pag. 454-473, 1978.
TANENBAUM, A.S.: Modern Operating Systems, Upper Saddle River, NJ: Prentice Hall, 2001.
TANENBAUM, A.S. i VAN STEEN, M.: Distributed Systems: Principles and Paradigms, Upper Saddle
River, NJ: Prentice Hall, 2002.
TEGER, S. i WAKS, D.J.: End-User Perspectives on Home Networking, IEEE Commun. Magazine,
vol. 40, pag. 114-119, Aprilie 2002.
THYAGARAJAN, A.S. i DEERING, S.E.: Hierarchical Distance-Vector Multicast Routing for the
MBone, Proc. SIGCOMM 95 Conf., ACM, pag. 60-66, 1995.
TITTEL, E., VALENTINE, C., BURMEISTER, M. i DYKES, L.: Mastering XHTML, Alameda, CA: Sy-
bex, 2001.
TOKORO, M. i TAMARU, K.: Acknowledging Ethernet, Compcon, IEEE, pag. 320-325, Fall 1977.
TOMLINSON, R.S.: Selecting Sequence Numbers, Proc. SIGCOMM/SIGOPS Interprocess Com-
mun. Workshop, ACM, pag. 11-23, 1975.
TSENG, Y.-C., WU, S.-L., LIAO, W.-H. i CHAO, C.-M.: Location Awareness in Ad Hoc Wireless Mo-
bile Networks, Computer, vol. 34, pag. 46-51, 2001.
TUCHMAN, W.: Hellman Presents No Shortcut Solutions to DES, IEEE Spectrum, vol. 16, pag. 40-
41, Iulie 1979.
TURNER, J.S.: New Directions in Communications (or Which Way to the Information Age), IEEE
Commun. Magazine, vol. 24, pag. 8-15, Oct. 1986.
VACCA, J.R.: I-Mode Crash Course, New York: McGraw-Hill, 2002.
VALADE, J.,: PHP & MySQL for Dummies, New York: Hungry Minds, 2002.
VARGHESE, G. i LAUCK, T.: Hashed and Hierarchical Timing Wheels: Data Structures for the Effi-
cient Implementation of a Timer Facility, Proc. 11
th
Symp. on Operating Systems Prin., ACM,
pag. 25-38, 1987.
VARSHNEY, U., SNOW, A., MCGIVERN, M. i HOWARD, C.: Voice over IP, Commun. of the ACM,
vol. 45, pag. 89-96, 2002.
SEC. 9.2 BIBLIOGRAFIE N ORDINE ALFABETIC 775

VARSHNEY, U. i VETTER, R.: Emerging Mobile and Wireless Networks, Commun. of the ACM,
vol. 43, pag. 73-81, Iunie 2000.
VETTER, P., GODERIS, D., VERPOOTEN, L. i GRANGER, A.: Systems Aspects of APON/VDSL De-
ployment, IEEE Commun. Magazine, vol. 38, pag. 66-72, Mai 2000.
WADDINGTON, D.G. i CHANG, F.: Realizing the Transition to IPv6, IEEE Commun. Mag., vol. 40,
pag. 138-148, Iunie 2002.
WALDMAN, M., RUBIN, A.D. i CRANOR, L.F.: Publius: A Robust, Tamper-Evident, Censorship-
Resistant, Web Publishing System, Proc. Ninth USENIX Security Symp., USENIX, pag. 59-
72, 2000.
WANG, Y. i CHEN, W.: Supporting IP Multicast for Mobile Hosts, Mobile Networks and Applica-
tions, vol. 6, pag. 57-66, Ian.-Feb. 2001.
WANG, Z.: Internet QoS, San Francisco: Morgan Kaufmann, 2001.
WARNEKE, B., LAST, M., LIEBOWITZ, B. i PISTER, K.S.J.: Smart Dust: Communicating with a Cubic
Millimeter Computer, Computer, vol. 34, pag. 44-51, Ian. 2001.
WAYNER, P.: Disappearing Cryptography: Information Hiding, Steganography, and Watermarking, ediia
a doua, San Francisco: Morgan Kaufmann, 2002.
WEBB, W.: Broadband Fixed Wireless Access as a Key Component of the Future Integrated Com-
munications Environment, IEEE Commun. Magazine, vol. 39, pag. 115-121, Sept. 2001.
WEISER, M.: Whatever Happened to the Next Generation Internet?, Commun. of the ACM, vol.
44, pag. 61-68, Sept. 2001.
WELTMAN, R. i DAHBURA, T.: LDAP Programming with Java, Boston: Addison-Wesley, 2000.
WESSELS, D.: Web Caching, Sebastopol, CA: OReilly, 2001.
WETTEROTH, D.: OSI Reference Model for Telecommunications, New York: McGraw-Hill, 2001.
WILJAKKA, J.: Transition to Ipv6 in GPRS and WCDMA Mobile Networks, IEEE Commun.
Magazine, vol. 40, pag. 134-140, Aprilie 2002.
WILLIAMSON, H.: XML: The Complete Reference, New York: McGraw-Hill, 2001.
WILLINGER, W., TAQQU, M.S., SHERMAN, R. i WILSON, D.V.: Self-Similarity through High Vari-
ability: Statistical Analysis of Ethernet LAN Traffic at the Source Level, Proc. SIGCOMM 95
Conf., ACM, pag. 100-113, 1995.
WRIGHT, D.J.: Voice over Packet Networks, New York: Wiley, 2001.
WYLIE, J., BIGRIGG, M.W., STRUNK, J.D., GANGER, G.R., KILICCOTE, H. i KHOSLA, P.K.: Surviv-
able Information Storage Systems, Computer, vol. 33, pag. 61-68, Aug. 2000.
XYLOMENOS, G., POLYZOS, G.C., MAHONEN, P. i SAARANEN, M.: TCP Performance Issues over
Wireless Links , IEEE Commun. Magazine, vol. 39, pag. 52-58, Aprilie 2001.
776 RECOMANDRI DE LECTUR I BIBLIOGRAFIE CAP. 9


YANG, C.-Q. i REDDY, A.V.S.: A Taxonomy for Congestion Control Algorithms in Packet Switching
Networks, IEEE Network Magazine, vol. 9, pag. 34-45, Iulie-Aug. 1995.
YUVAL, G.: How to Swindle Rabin, Cryptologia, vol. 3, pag. 187-190, Iulie 1979.
ZACKS, M.: Antiterrorist Legislation Expands Electronic Snooping, IEEE Internet Computing, vol.
5, pag. 8-9, Nov.-Dec. 2001.
ZADEH, A.N., JABBARI, B., PICKHOLTZ, R. i VOJCIC, B.: Self-Organizing Packet Radio Ad Hoc
Networks with Overlay (SOPRANO), IEEE Commun. Mag., vol. 40, pag. 149-157, Iunie 2002.
ZHANG, L.: Comparison of Two Bridge Routing Approaches, IEEE Network Magazine, vol. 2, pag.
44-48, Ian.-Feb. 1988.
ZHANG, L.: RSVP: A New Resource ReSerVation Protocol, IEEE Network Magazine, vol. 7, pag.
8-18, Sept.-Oct. 1993.
ZHANG, Y. i RYU, B.: Mobile and Multicast IP Services in PACS: System Architecture, Prototype,
and Performance, Mobile Networks and Applications, vol. 6, pag. 81- 94, Ian.-Feb. 2001.
ZIMMERMANN, P.R.: The Official PGP Users Guide, Cambridge, MA: M.I.T. Press, 1995a.
ZIMMERMANN, P.R.: PGP: Source Code and Internals, Cambridge, MA: M.I.T. Press, 1995b.
ZIPF, G.K.: Human Behavior and the Principle of Least Effort: An Introduction to Human Ecology,
Boston: Addison-Wesley, 1949.
ZIV, J. i LEMPEL, Z.: A Universal Algorithm for Sequential Data Compression, IEEE Trans. on
Information Theory, vol. IT-23, pag. 337-343, Mai 1977.


777

INDEX
A
AAL, 57, 58, 442
ADC, 603
ALOHA, 226, 227, 228, 229, 230, 231, 232, 233,
236, 302, 303, 304
AMPS, 138, 140, 159
ANSI, 66, 67, 209
ANSNET, 50
ARP, 402, 404, 405, 414, 423, 428, 429
ARPANET, 37, 47, 48, 49, 50, 68, 84, 322, 324, 391,
511, 518, 522, 530, 536
ARQ, 187
ATM, 44, 57, 58, 71, 130, 311, 360, 376, 383, 384,
426, 429, 442, 457, 461, 499, 500
B
BGP, 411, 412, 416, 423
BOC, 110
BOOTP, 402, 405
C
CDPD, 329
CIDR, 395, 396, 415
Consiliul Arhitecturii Internet, 68
CSMA, 231, 232, 233, 235, 242, 243, 251, 254, 302,
304, 305
CSMA/CD, 232, 233, 254, 302, 304, 305
D
DCS, 533
DES, 660, 661, 662, 666, 667, 668, 671, 674, 679,
711, 716
DNS, 39, 48, 404, 416, 521, 522, 524, 525, 526, 527,
529, 533, 534, 551, 552, 558, 559
domeniu, 7, 24, 41, 67, 113, 124, 125, 160, 218, 225,
241, 242, 254, 315, 335, 336, 416, 522,
523, 524, 525, 526, 528, 571, 648, 711
DSS, 677
F
FAQ, 547
FCC, 97, 103, 138
FDDI, 403, 405
FDM, 101, 123, 124, 125, 126, 140, 159, 163, 224,
225, 238, 302
FTP, 39, 51, 478, 539, 559, 560, 694
G
Gopher, 559, 560
GSM, 304
H
HDLC, 70, 209, 211, 212, 214, 215, 217, 219, 220
HDTV, 620, 626
HTML, 538, 559, 564, 565, 566, 567, 568, 569, 570,
599
HTTP, 40, 559, 579, 580, 581, 582, 584, 585, 586,
588, 589, 592, 614, 616
I
IAB, 68, 69
778 INDEX J - R


IBM, 16, 43, 50, 64, 83, 209, 411, 660, 661, 662
ICMP, 402, 413, 416, 419, 420, 421, 423, 493
IDEA, 714, 715
IEEE, 16, 68, 69, 242, 243, 248, 288, 289, 416, 662
IEEE 802, 16, 242, 243, 288
IGMP, 413, 416
IMP, 46, 47, 49
IMTS, 138
IP, 34, 37, 38, 39, 40, 41, 42, 43, 44, 48, 50, 57, 68,
72, 74, 213, 214, 216, 220, 329, 375, 376,
380, 381, 383, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 402, 403, 404,
405, 407, 410, 412, 413, 414, 415, 416,
417, 418, 419, 422, 423, 425, 427, 428,
429, 442, 471, 477, 478, 479, 480, 481,
482, 484, 488, 495, 496, 503, 508, 509,
516, 522, 524, 525, 526, 527, 528, 551,
559, 694
IPv4, 415, 416, 417, 418, 419, 421, 422, 429
IPX, 214, 329, 375, 376
ISDN, 130
IS-IS, 329
ISO, 34, 35, 66, 67, 68, 69, 209, 329, 522, 566, 622
ITU, 65, 66, 68, 91, 622
ITU-R, 65
ITU-T, 65, 66, 68
IXC, 110, 111
J
JPEG, 538, 567, 622, 623, 624, 625, 626, 627
K
KDC, 701, 707, 708, 709, 710
Kerberos, 709, 710, 711
L
LAN, 16, 18, 21, 24, 48, 73, 89, 212, 223, 224, 225,
226, 227, 232, 238, 241, 242, 249, 250,
253, 254, 286, 287, 288, 289, 290, 291,
292, 302, 304, 305, 311, 325, 329, 335,
392, 403, 409, 413, 414, 425, 429
LAP, 209
LATA, 110
LCP, 213, 214, 215, 216
LEC, 110, 111
LLC, 287
M
MAC, 223, 224, 232, 233, 241, 248, 287, 292, 383
MACA, 242, 243, 302, 304
MACAW, 242, 243, 302
MAN, 16, 224, 225, 335, 518
MD5, 678, 679, 682, 714, 715, 716
MIME, 536, 537, 538, 585, 594, 595, 597, 598, 600,
601, 602, 610, 714
Mosaic, 51, 548, 549
MPEG, 538, 539, 622, 625, 626
MTSO, 139, 140
MTU, 480
N
NAK, 203, 219
NAP, 50
NCP, 213, 214, 215, 216, 375
NIC, 391
NIST, 68, 677, 678, 679
NNTP, 39, 560
Novell, 329, 375
NSA, 661, 662, 677, 679
NSAP, 442, 443
NSFNET, 49, 50, 52, 329
NTSC, 619, 620, 623, 625, 626
O
OAM, 130
OC, 132
OSPF, 329, 406, 407, 408, 409, 410, 411, 413, 416,
423
P
PAL, 619, 620, 623, 626
PCM, 126, 127, 130, 161
PCS, 163
PEM, 712, 716
PGP, 712, 713, 714, 715, 716
POP, 110
POP3, 543
PPP, 70, 213, 214, 215, 217, 220
PSTN, 107
PTT, 64
Q
QAM, 115
R
RARP, 402, 405, 423, 428, 500
S - X INDEX 779

RFC, 69, 214, 216, 390, 396, 404, 405, 406, 407, 412,
413, 416, 419, 471, 477, 483, 534, 535,
536, 537, 538, 539, 543, 714, 716
RSVP, 368
S
SABME, 211
SAP, 74, 442
SDH, 129, 131, 132
SDLC, 209, 211, 217
SECAM, 619, 620, 623
SGML, 538
SHA, 678, 679
SIPP, 416
SLIP, 213
Smiley, 529
SMTP, 39, 540, 541, 542, 543
SNA, 209
SNRME, 211
SONET, 44, 124, 129, 130, 131, 132, 162, 214, 215,
621
SPE, 131, 132
T
TCP, 34, 37, 38, 39, 40, 41, 42, 43, 44, 48, 50, 57, 68,
72, 74, 213, 375, 379, 381, 390, 412, 416,
418, 419, 436, 444, 471, 477, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 499, 500, 503, 508, 509, 514,
517, 522, 540, 541, 542, 551, 559, 694
TDM, 124, 129, 130, 159, 163, 225, 238, 302, 383
TPDU, 434, 435, 436, 437, 445, 446, 447, 448, 449,
450, 451, 453, 454, 455, 456, 457, 458,
460, 499, 500, 502, 503, 505, 507, 508,
509, 517
TSAP, 442, 443, 444, 445, 460, 461, 478, 481
U
UDP, 39, 74, 239, 390, 405, 416, 418, 419, 471, 496,
497, 500, 503, 516, 522, 528, 694
URI, 560
URL, 551, 558, 559, 560, 567, 585
UTP, 83
V
V.24, 65
V.32, 116
VSAT, 101, 102
W
WAN, 17, 23, 24, 168, 223, 311, 335, 381, 405, 432
WDM, 125, 126, 159
WDMA, 238, 240, 304
Web, 40, 51, 503, 521, 538, 548, 549, 550, 552, 558,
559, 560, 564, 565, 567, 568, 569, 571,
584, 585, 586, 617, 694
WWW, 51, 179, 497, 548, 551, 559, 565
X
X.400, 530, 533


DESPRE AUTOR

Andrew S. Tanenbaum este absolvent al M.I.T. i a obinut titlul de doctor la University of Cali-
fornia din Berkeley. n acest moment este profesor la Vrije Universiteit din Amsterdam, Olanda,
unde este conductor al grupului care se ocup de sistemele de calculatoare (Computer Systems
Group). De asemenea, este decan al colii Avansate de Calculatoare i Prelucrarea Imaginilor
(Advanced School for Computing and Imaging), un institut de nvmnt interuniversitar care se
ocup cu studiul sistemelor paralele, distribuite i de prelucrare a imaginilor avansate. Cu toate aces-
tea, el ncearc din rsputeri s evite s devin un birocrat.
n trecut, a efectuat cercetri n domeniul compilatoarelor, al sistemelor de operare, al reelelor
i al sistemelor distribuite locale. Domeniul n care efectueaz acum cercetri este cel al sistemelor
distribuite globale care pot fi scalate pn la un miliard de utilizatori. Aceste cercetri, efectuate
mpreun cu prof. Maarten van Steen sunt prezentate la www.cs.vu.nl/globe. mpreun, toate aceste
proiecte de cercetare au dus la scrierea a peste 100 de articole publicate n diverse reviste sau pre-
zentate la diferite conferine i la scrierea a cinci cri.
Prof. Tanenbaum a creat, de asemenea, numeroase produse software. A fost principalul arhitect
al produsului Amsterdam Compiler Kit, un set de unelte folosit pe scar larg pentru scrierea de
compilatoare portabile. De asemenea, este creatorul sistemului de operare MINIX, o clon UNIX
destinat utilizrii la orele de laborator ale studenilor. Acest sistem de operare a fost sursa de inspi-
raie i baza sistemului de operare LINUX. mpreun cu doctoranzii si i cu mai muli programa-
tori, a contribuit la proiectarea sistemului de operare distribuit Amoeba, un sistem foarte perfor-
mant bazat pe un micronucleu. MINIX i Amoeba sunt acum disponibile gratuit pe Internet.
Doctoranzii si i-au urmat drumul spre glorie dup obinerea titlurilor de doctori. E foarte
mndru de ei. n aceast privin, el se aseamn cu o cloc.
Prof. Tanenbaum este membru ACM, IEEE, precum i al Academiei Regale de Arte i tiine
din Olanda (Royal Netherlands Academy of Arts and Sciences). De-a lungul timpului a obinut nu-
meroase distincii: ACM Karl V. Karlstrom Outstanding Educator Award n 1994, ACM/SIGCSE
Award for Outstanding Contributions to Computer Science Education n 1997 i Texty n 2002.
Aceasta din urm este acordat pentru excelen n scrierea crilor. De asemenea, numele su i o
scurt prezentare apare n cartea Who's Who in the World. Pagina sa Web este disponibil la adresa
http://www.cs.vu.nl/~ast/.

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