Tanenbaum - Retele de calculatoare - complet, in Romana

783
Reţele de calculatoare Ediţia a treia revizuită Andrew S. Tanenbaum Universitatea Vrijie Amsterdam, Olanda ACKRA ©1998 Computer Press AGORA http://www.agora.ro

Transcript of Tanenbaum - Retele de calculatoare - complet, in Romana

Reele de calculatoareEdiia a treiarevizuit

Andrew S. TanenbaumUniversitatea Vrijie Amsterdam, Olanda

ACKRA1998 Computer Press AGORA http://www.agora.ro

Traducere:Colectivul de coordonare: prof. dr. ing. Valentin Cristea prof. dr. ing. Irina Athanasiu prof. dr. ing. Eugenia Kalisz Colectivul de traductori: prof. dr. ing. Nicolae Tpu prof. dr. ing. Trandafir Moisa ing. Vlad Vieru prep. ing. Anca Bucur as. ing. Gavril Godza as. ing. Bogdan Costinescu prep. ing. Bogdan Panghe prep. ing. Florin Teodorescu prep. ing. Andrei Rare as. ing. Ion Bica as. ing. Matei Rpeanu prep. ing. Monica Dulgheru prep. ing. Monica Pietroanu ing. tefan Rusen ing. Florentina Popovici prep. ing. Mihaela ncu ing. Liviu Ristoscu Pregtire, design, producie: Adrian Pop Editat de Computer Press AGORA s.r.l., 1998 4300 Tg. Mure, Str. T. Vladimirescu 63/1, Tel: +40-(0)65-166516 Sub licen Prentice-Hall, Inc. dup: Computer Networks, 3rd ed. eAndrew S. Tanenbaum 1996 by Prentice-Hall PTR, Prentice-Hall, Inc., A Simon & Schuster Company, Upper Saddle River, New Jersey 07458 Tiprit n Romnia, la INFOPRESS SA, 4150 Odorheiul Secuiesc, Str. Victoriei 12, Tel: +40-(0)66-218283

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

Reele de calculatoareEdiia a treiarevizuit

Pentni Suzanne, Barbara, Maivin, i micul Bram

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

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

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

Organizarea structurat a calculatoarelor, ediia a treiaAcest text fundamental abordeaz arhitectura calculatoarelor ca pe o serie de niveluri. La baz este hardware-ul: tranzistori, pori, registre, sumatoare i alte circuite. Apoi vine nivelul microprogramat. Mai sus, este nivelul mainii convenionale, cu instruciunile sale ADD, MOVE, JUMP i altele. Deasupra acestuia este sistemul de operare, care adaug faciliti noi cum sunt gestiunea fiierelor i memoria virtual. Ultimul capitol se ocup cu dou probleme avansate: calculatoare paralele i proiectarea mainilor RISC.

CUPRINS

PREFAA 1. INTRODUCERE1.1 UTILIZRILE REELELOR DE CALCULATOARE 3 1.1.1 1.1.2 1.1.3 Reele pentru firme 3 Reele pentru oameni 4 Aspecte sociale 6

XV 1

1.2 HARDWARE-UL REELEI 7 1.2.1 1.2.2 1.2.3 1.2.4 Reele locale 8 Reele metropolitane 10 Reele larg rspndite geografic 11 Reele radio 13

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

vi

CUPRINS

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

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

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

1.7 STANDARDIZAREA REELELOR 61 1.7.1 1.7.2 1.7.3 Who's Who n lumea telecomunicaiilor 62 Who's Who n lumea standardelor internaionale 64 Who's Who n lumea standardelor Internet 65

1.8 RESTUL CRII N REZUMAT 66 1.9 REZUMAT 67

2. NIVELUL FIZIC2.1 BAZELE TEORETICE ALE COMUNICRII DE DATE 71 2.1.1 2.1.2 2.1.2 2.2 Analiza Fourier 71 Semnalele limitate de banda de frecven 72 Viteza Maxim de Transfer de Date a unui Canal 75

71

MEDIUL DE TRANSMISIE 76

CUPRINS

vii

2.2.1 2.2.2 2.2.3 2.2.4 2.2.5

Mediul Magnetic 76 Cablul Torsadat 76 Cablu Coaxial n Band de Baz 77 Cabluri coaxiale de band larg 78 Fibre optice 80

2.3 COMUNICAIILE FR FIR 86 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.4 Spectrul electromagnetic 87 Transmisia radio 89 Transmisia prin microunde 90 Undele infraroii i milimetrice 91 Transmisia de undelor luminoase 92

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

2.5 ISDN DE BANP LARG 128 2.5.1 2.5.2 2.5.3 2.5.4 Servicii ISDN 129 Arhitectura sistemului ISDN 129 Interfaa ISDN 131 Perspectivele N-ISDN 132

2.6 ISDN DE BAND LARG I ATM 133 2.6.1 2.6.2 2.6.3 Circuitele virtuale n comparaie cu circuitele comutate 133 Transmisia n reelele ATM 135 Comutatoare ATM 136

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

2.8 SATELII DE COMUNICAIE 152

viii

CUPRINS

2.8.1 2.8.2 2.8.3

Satelii geosincroni 152 Satelii de joas altitudine 155 Satelii yersus Fibre Optice 156

2.9 REZUMAT 157

3. NIVELUL LEGTUR DE DATE3.1.1 3.1.2 3.1.3 3.1.4 Servicii oferite nivelului reea 164 ncadrarea 166 Controlul erorilor 169 Controlul fluxului 170

163

3.1 ASPECTE ALE PROIECTRII NIVELULUI LEGTUR DE DATE 163

3.2 DETECTAREA I CORECTAREA ERORILOR 170 3.2.1 3.2.2 Coduri corectoare de erori 171 Coduri detectoare de erori 173

3.3 PROTOCOALE ELEMENTARE PENTRU LEGTURA DE DATE 177 3.3.1 3.3.2 3.3.3 Un protocol simplex fr restricii 180 Un protocol simplu Stop-and-Wait (pas-cu-pas) 182 Un protocol simplex pentru un canal cu zgomote 184

3.4 PROTOCOALE CU FEREASTR GLISANT 187 3.4.1 3.4.2 3.4.3 Un protocol cu fereastr glisant de un bit 189 Un protocol de revenire cu n pai (Go Back n) 192 Un protocol cu repetare selectiv 197

3.5 SPECIFICAREA I VERIFICAREA PROTOCOALELOR 202 3.5.1 3.5.2 Modele de tip automat finit 202 Modele de tip reea Petri 206

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

CUPRINS

ix

3.7 REZUMAT 220

4. SUBNIVELUL DE ACCES LA MEDIU4.1 PROBLEMA ALOCRII CANALULUI 226 4.1.1 4.1.2 Alocarea static a canalului n reelele LAN i MAN 226 Alocarea dinamic a canalului n reelele LAN i MAN 227

225

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

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

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

4.5 LANURI DE MARE VITEZ 295 4.5.1 4.5.2 4.5.3 4.5.4 FDDI295 Ethernet rapid 298 HIPPI- Interfaa paralel de mare vitez 301 Canalul de fibr optic 302

x

CUPRINS 4.6 REELE DE SATELII 303 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 Interogare 304 ALOHA.305 FDM306 TDM 306 CDMA 308

4.7 REZUMAT 309

5. NIVELUL REEA5.1 CERINELE DE PROIECTARE ALE NIVELULUI REEA 315 5.1.1 5.1.2 5.1.3 Servicii furnizate nivelului transport 315 Organizarea intern a nivelului reea 318 Comparaie ntre subretele bazate pe circuite virtuale i datagrame 319

315

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

5.3 ALGORITMI PENTRU CONTROLUL CONGESTIEI 347 5.3.1 5.3.2 5.3.4 5.3.5 5.3.6 5.3.7 5.3.8 5.3.9 Principii generale ale controlului congestiei 349 Politici pentru prevenirea congestiei 350 Specificarea fluxului 357 Controlul congestiei n subreelele bazate pe circuite virtuale 358 Pachete de oc 359 mprtierea ncrcrii 363 Controlul fluctuaiilor 364 Controlul congestiei la transmisia multicast 364

5.3.3 . Formarea traficului 352

CUPRINS

xi

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

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

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

5.7 REZUMAT 438

6. NIVELUL TRANSPORT6.1 SERVICIILE OFERITE DE NIVELUL TRANSPORT 445 6.1.1 6.1.2 Servicii furnizate nivelurilor superioare 445 Calitatea unui serviciu 447

445

xii 6.1.3

CUPRINS Primitivele serviciilor de transport 448

6.2 NOIUNI DE BAZ DESPRE PROTOCOALELE DE TRANSPORT 453 6.2.1 Adresarea 454 6.2.2 Stabilirea unei conexiuni 457 6.2.3 Eliberarea conexiunii 452 6.2.4 Controlul fluxului i memorarea temporar (buffering) 466 6.2.5 Multiplexarea 470 6.2.6 Refacerea dup cdere 471 63 UN PROTOCOL SIMPLU DE TRANSPORT 473 6.3.1 6.3.2 6.3.3 Primitivele serviciului aies ca exemplu 473 Entitatea de transport aleas ca exemplu 475 Exemplul vzut ca un automat finit 482

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

6.4.7 6.4.8 6.4.9

Administrarea contorului de timp n TCP 504 UDP 504 TCP i UDP fr fir 504

5 PROTOCOALE AAL DE NIVEL ATM 506

6.5.1

Structura nivelului de adaotare ATM 508ii.

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

6,6 ELEMENTE DE PERFORMAN 516 6.6.1 Probleme de performan n reelele de calculatoare 517 6.6.2 Msurarea performanelor reelei 519 6.6.3 Proiectarea de sistem pentru performane superioare 522

CUPRINS 6.6.4 6.6.5 Prelucrarea rapid a TPDU-urilor 525 Protocoale pentru reele gigabit 529

6.7 REZUMAT 532

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

537

7.2 DNS - SISTEMUL NUMELOR DE DOMENII 577 7.2.1 Spaiul de nume DNS 578 7.2.2 nregistrri de resurse 580 7.2.3 Servere de nume 583 73 SNMP 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 - PROTOCOL SIMPLU DE ADMINISTRARE A REELEI 585 Modelul SNMP 586 ASN.l - Notaia sintactic abstract 1 588 SMI - Structura informaiei de administrare 593 MIB - Baza de informaii de administrare 595 Protocolul SNMP 596

7.4 POTA ELECTRONIC 597 7.4.1 Arhitectur si servicii 598 7.4.2 Agentul utilizator 600 7.4.3 Formatele mesajelor 604 7.4.4 Transfer de mesaje 610 7.4.5 Confidenialitatea potei electronice 615 7.5 TIRI USENET 621 7.5.1 7.5.2 USENET din punctul de vedere al utilizatorului 621 Cum este implementat USENET 625

xiv

CUPRINS

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

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

7.8 REZUMAT 702

8. BIBLIOGRAFIE I RECOMANDRI DE LECTUR8.1 SUGESTII PENTRU LECTURI VIITOARE 7098.1.1 8.1.2 8.1.3 8.1.4 8.1.5 8.1.6 8.1.7 Lucrri introductive i generale 710 Nivelul fizic 711 Nivelul legtur de date 712 Subnivelul de control al accesului la mediu 712 Nivelul reea 713 Nivelul transport 714 Nivelul aplicaiei 714

709

8.2 BIBLIOGRAFIE N ORDINE ALFABETIC 716

DICIONAR INDEX

737 761

PREFAA

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

xvi

PREFA

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

PREFA

xvii

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

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

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

2

INTRODUCERE

CAP. 1

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

SEC. 1.1

UTILIZRILE REELELOR DE CALCULATOARE

3

1.1 UTILIZRILE REELELOR DE CALCULATOAREnainte de examinarea n detaliu a problemelor tehnice, merit s artm de ce sunt oamenii interesai de reelele de calculatoare i la ce pot fi ele folosite.1.1.1 Reele pentru firme

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

Procesu

v

j!

\

,- Reea

1 1

CerereRspuns_____

y

/

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

4

INTRODUCERE

CAP. 1

personale, cte unul pentru fiecare utilizator, datele din reea fiind pstrate pe unul sau mai multe servere de fiiere partajate. In acest model utilizatorii sunt numii clieni, iar ntregul aranjament poart numele de model client-server. Acest model este ilustrat n Fig. 1-1. n modelul client-server comunicarea ia, n general, forma unui mesaj de cerere prin care clientul solicit serverului executarea unei anumite aciuni. Serverul execut cererea i trimite rspunsul napoi clientului. n mod uzual exist un numr mare de clieni i un numr mic de servere. Un alt scop al conectrii n reele este scalabilitatea: posibilitatea ca, odat cu volumul de munc, s creasc treptat i performana sistemului prin adugarea de noi procesoare. n cazul sistemelor mari de calcul centralizate, atunci cnd sistemul este ncrcat el trebuie nlocuit cu un sistem mai mare, operaie ce presupune de obicei costuri mari i multe neplceri pentru utilizatori, n modelul client-server pot fi adugai clieni i servere noi pe msur ce este nevoie de ei. n sfrit, punerea n funciune a unei reele de calculatoare servete i unui scop care nu are de-a face aproape deloc cu tehnologia. O reea de calculatoare poate furniza un mediu de comunicare puternic ntre angajai aflai la mare deprtare unii de alii. Folosind o reea, este uor ca dou sau mai multe persoane care triesc n locuri diferite s scrie mpreun un raport. Cnd un angajat schimb ceva ntr-un document din reea, ceilali pot vedea schimbarea imediat, fr a mai atepta cteva zile o scrisoare n acest scop. Cooperarea ntre grupuri de oameni aflai la distane mari unii fa de alii - un lucru imposibil nainte - devine n acest fel simpl. Pe termen lung, utilizarea reelelor pentru a asigura comunicarea interuman se va dovedi, probabil, mai important dect scopuri tehnice de genul creterii fiabilitii. 1.1.2 Reele pentru oameni Motivaiile prezentate mai sus pentru construirea reelelor de calculatoare au o natur esenial economic i tehnologic. Dac ar fi disponibile la preuri acceptabile sisteme de calcul suficient de mari i de puternice, atunci majoritatea firmelor ar decide pur i simplu s i pstreze datele pe acestea i s pun la dispoziia angajailor terminale conectate la ele. n anii 70 i la nceputul anilor '80, cele mai multe companii lucrau n acest mod. Reelele de calculatoare au devenit populare abia cnd reelele formate din calculatoare personale au oferit un uria avantaj pre/performan asupra sistemelor mari de calcul. n anii 1990, reelele de calculatoare au nceput s furnizeze servicii la domiciliu pentru persoane particulare. Aceste servicii, ca i motivele pentru care sunt folosite, se deosebesc n mare msur de modelul eficienei colective" descris n seciunea precedent. Vom scoate acum n eviden trei dintre cele mai fascinante lucruri care au nceput s se petreac: 1. Accesul la informaie de la distan. 2. Comunicaiile interpersonale. 3. Divertismentul interactiv. Accesul informaiei la distan va lua forme multiple. O aplicaie deja actual privete accesul la instituii financiare. Muli oameni i pltesc electronic taxele i i administreaz electronic conturile bancare i investiiile. A devenit de asemenea popular practica de a face cumprturi de

SEC. 1.1

UTILIZRILE REELELOR DE CALCULATOARE

5

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

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

6

INTRODUCERE

CAP. 1

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

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

SEC. 1.2

HARDWARE-UL REELEI

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

1.2

HARDWARE-UL REELEI

A venit acum timpul s ne ndreptm atenia de la aplicaiile i problemele sociale ale interconectrii la aspectele tehnice care intervin n proiectarea reelelor. Dei nu exist o taxonomie general acceptat n care pot fi ncadrate toate reelele de calculatoare, sunt extrem de importante dou criterii: tehnologia de transmisie i scara la care opereaz reeaua. Vom examina pe rnd fiecare din aceste aspecte. n principal exist dou tipuri de tehnologii de transmisie: 1. Reele cu difuzare. 2. Reele punct-la-punct. Reelele cu difuzare au un singur canal de comunicaii care este partajat de toate mainile din reea. Orice main poate trimite mesaje scurte, numite n anumite contexte pachete, care sunt primite de toate celelalte maini. Un cmp de adres din pachet specific maina creia i este adresat pachetul. La recepionarea unui pachet, o main controleaz cmpul de adres. Dac pachetul i este adresat, maina 11 prelucreaz; dac este trimis pentru o alt main, pachetul este ignorat. S considerm, ca analogie, c cineva se afl la captul unui coridor cu multe ncperi i strig Watson, vino aici: Am nevoie de tine." Dei pachetul poate fi primit (auzit) de mult lume, numai Watson va rspunde. Ceilali pur i simplu l ignor. Un alt exemplu ar fi un aeroport unde se anun c toi pasagerii zborului 644 sunt rugai s se prezinte la poarta 12. Distana ntre procesoare 0.1 m 1m 10 m 100 m 1 km 10 km 100 km 1,000 km 10,000 km Procesoare situate n aceeai Piac de circuite j Sistem Camer Cldire Campus Ora Tar Continent Planet Reea de larg rspndire geografic intern et-ui Reea metropolitan Reea iocai ! Exempu Main de tip flux de date Muiticalculator

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

8

INTRODUCERE

CAP. 1

Sistemele cu difuzare permit n general i adresarea unui pachet ctre toate destinaiile, prin folosirea unui cod special n cmpul de adres. Un pachet transmis cu acest cod este primit i prelucrat de toate mainile din reea. Acest mod de operare se numete difuzare. Unele sisteme cu difuzare suport de asemenea transmisia la un subset de maini, operaie cunoscut sub numele de trimitere multipl. Una din schemele posibile este s se rezerve un bit pentru a indica trimiterea multipl. Restul de n -1 bii de adres pot forma un numr de grup. O main se poate abona" la orice grup sau la toate grupurile. Un pachet trimis unui anumit grup va ajunge la toate mainile abonate la grupul respectiv. Prin contrast, reelele punct-la-punct dispun de numeroase conexiuni ntre perechi de maini individuale. Pentru a ajunge de la surs la destinaie pe o reea de acest tip, un pachet s-ar putea s fie nevoit s treac prin una sau mai multe maini intermediare. Deseori sunt posibile trasee multiple, de diferite lungimi, de aceea algoritmii de dirijare joac n reelele punct-la-punct un rol important. Ca o regul general (dei exist numeroase excepii), reelele mai mici, localizate geografic, tind s utilizeze difuzarea, n timp ce reelele mai mari sunt de obicei punct-la-punct. Un criteriu alternativ pentru clasificarea reelelor este mrimea lor. n Fig. 1-2 este prezentat o clasificare a sistemelor cu procesoare multiple dup mrimea lor fizic. Prima categorie o reprezint mainile de tip flux de date, calculatoare cu grad ridicat de paralelism dispunnd de mai multe uniti funcionale care lucreaz la acelai program. Urmeaz apoi multicalculatoarele, sisteme care comunic transmind mesaje pe magistrale foarte scurte i foarte rapide. Dincolo de multicalculatoare sunt adevratele reele, calculatoare care comunic prin schimbul de mesaje pe cabluri mai lungi. Acestea pot fi mprite n reele locale, reele metropolitane i reele larg rspndite geografic. n sfrit, prin conectoreajajdQu sau mai .multe. rejtele rezul_o inter-reea. Internet-ul este un exemplu bine cunoscut de inter-reea. Distana este un criteriu de clasificare important, pentru c, la scri diferite, sunt folosite tehnici diferite. n aceast carte ne vom ocupa numai de reelele adevrate i de interconectarea lor. Prezentm mai jos o scurt introduce n subiectul echipamentelor de reea. 1.2.1 Reele locale Reelele locale (Local Area Networks), denumite n general LAN-uri, sunt reele private localizate ntr-o singur cldire sau ntr-un campus de cel mult civa kilometri. Ele sunt frecvent utilizate pentru a conecta calculatoarele personale i staiile de lucru din birourile companiilor i fabricilor, n scopul de a partaja resurse (imprimante, de exemplu) i de a schimba informaii. LANurile se disting de alte tipuri de reele prin trei caracteristici: (1) mrime, (2) tehnologie de transmisie i (3) topologie. LAN-urile au dimensiuni restrnse, ceea ce nseamn c timpul de transmisie n cazul cel mai defavorabil este limitat i cunoscut dinainte. Cunoscnd aceast limit, este posibil s utilizm anumite tehnici de proiectare care altfel nu ar fi fost posibile. Totodat, se simplific administrarea reelei. LAN-urile utilizeaz frecvent o tehnologie de transmisie care const dintr-un singur cablu la care sunt ataate toate mainile, aa cum erau odat cablurile telefonice comune n zonele rurale. LAN-urile tradiionale funcioneaz la viteze cuprinse ntre 10 i 100 Mbps, au ntrzieri mici (zeci de microsecunde) i produc erori foarte puine. LAN-urile mai noi pot opera la viteze mai mari, pn la sute de megabii/sec. n aceast carte vom pstra tradiia i

SEC. 1.2

HARDWARE-UL REELEI

vom msura vitezele de transmisie pe linii n megabii/sec (Mbps), nu n megabytes/sec 30 (MB/sec). Un megabit reprezint 1,000,000 bii, nu 1,048,576 (2 ) bii.

-Calcuiator

'Cablu(a)

Calculator

(b)

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

INTRODUCERE

CAP. 1

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

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

Magistrala A

Cecuaor -

Magistrala B

pentru fiecare calculator (a)

'

L A N i*"\ ^\ t__^. \. cablat ^ - ^ J> S

(b)

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

SEC. 1.3

PROGRAMELE DE REEA

15

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

13

PROGRAMELE DE REEA

In proiectarea primelor reele de calculatoare, s-a acordat atenie n primul rnd echipamentelor, iar programele au fost gndite ulterior. Aceast strategie nu mai este valabil. Programele de reea sunt acum foarte structurate. n seciunile urmtoare vom examina unele detalii ale tehnicii de structurare a programelor. Metoda descris aici formeaz punctul de sprijin al ntregii cri i ea va aprea mai departe n repetate rnduri.

16

INTRODUCERE

CAP.l

13.1 Ierarhiile de protocoale

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

Protocolul nivelului 5

Gazda 2 Nivel 5L

Protocolul nivelului 4

r

Nivel 4L f

Protocolul nivelului 3

- Nivel 3

Protocolul nivelului 2

Nivel 2ti

Nivel 1i 1

Protocolul nivelului 1

Nivel 1

Mediu fizic

Fig. 1-9. Niveluri, protocoale i interfee n realitate, nici un fel de date nu sunt transferate direct de pe nivelul n al unei maini pe nivelul n al altei maini. Fiecare nivel transfer datele i informaiile de control nivelului imediat inferior, pn cnd se ajunge la nivelul cel mai de jos. Sub nivelul 1 se afl mediul fizic prin care se produce

SEC. 1.3

PROGRAMELE DE REEA

17

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

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

18

INTRODUCEREAdresa A

CAP. 1Adresa B

Mesaj

Filozof

h

! J'aime ' \ \ las | | ! aoip.s I i

Informaie pentru transiatorui Translator aflat ia distant

L: Dutch; j !k hou | j van || konijnerj |

Informaie pentru secretara afiat !a distan

I Fax # Secretara !_L_Ditch

'"hoiT~^onijner! i

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

retara.

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

SEC. 1.3

PROGRAMELE DE REEA

19

Nivel 5

Protocolul nivelului 5

M

Protocolul nivelului 4 Protocolul 3 H3 H, H, M, Protocolul nivelului 2 H3 H.

M

H3 M2

2 H2 H3

H, H, M,

H2 H3 H4 M, T2

H2 H3 M 2 T2

Main surs

Main destinaie

Fig. 1-11. Exemplu de flux de informaii pentru suportul comunicrii virtuale la nivelul 5. Ceea ce este important de neles n Fig. 1-11 este 5|atia_djntt;e_ comunicaia virtual i cea efectiv i diferena ntre protocoale i interfee. De exemplu, procesele egale de la nivelul 4 i imagineaz conceptual comunicarea ca realizndu-se pe orizontal", utiliznd protocolul nivelului 4. Dei fiecare din ele are, probabil, o procedur de genul TrimitenCealaltParte i o alta PrimeteDinCealaltParte, aceste proceduri nu comunic de fapt cu cealalt parte, ci cu nivelurile inferioare prin interfaa 3/4. Abstractizarea proceselor pereche este crucial pentru proiectarea ntregii reele. Cu ajutorul ei, aceast sarcin practic imposibil poate fi descompus n probleme de proiectare mai mici, rezolvabile, i anume proiectarea nivelurilor individuale. Dei Seciunea 1-3 este intitulat Programele de reea", merit s subliniem c nivelurile inferioare dintr-o ierarhie de protocoale sunt implementate frecvent n hardware sau n firmware. Nu e mai puin adevrat c aici intervin algoritmi compleci, chiar dac ei sunt nglobai (parial sau n totalitate) n hardware. 1.3.2 Probleme de proiectare a nivelurilor O parte din problemele cheie care apar la proiectarea reelelor de calculatoare sunt prezente n mai multe niveluri. Vom meniona pe scurt unele probleme mai importante. Fiecare nivel are nevoie de un mecanism pentru a identifica emitorii i receptorii. Dat fiind c o reea cuprinde n mod normal numeroase calculatoare, iar o parte dintre acestea dein mai multe

20

INTRODUCERE

CAP. 1

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

SEC. 1.3 1.3.3 Interfee i servicii

PROGRAMELE DE REEA

21

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

Nivel N+1

Interfa

Nivel N

Antet

Fig. 1-12. Relaia dintre niveluri la o interfa.

Pentru a transfera SDU-ul, entitatea din nivelul n poate fi nevoit s l fragmenteze n cteva buci, fiecare din acestea primind cte un antet i fiind trimis sub forma unui PDU

22

INTRODUCERE

CAP. 1

(Protocol Data Unit - unitate de date a protocolului) separa, ca un pachet. Antetele PDU-urilor sunt folosite de entitile egale pentru a realiza protocolul pereche corespunztor. Ele identific ce PDU-uri conin date i ce PDU-uri conin informaii de control, furnizeaz numere de secveniere i aa mai departe.1.3.4 Servicii orientate pe conexiuni i servicii fr conexiuni

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

SEC. 1.3

PROGRAMELE DE REEA

23

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

Serviciu _ i ! Flux de mesaje siguri Orientate pe j [______ ! i-iux de octei sigur conexiuni Conexiune nesigur c C Datagram nesigur conexiuni ] '

Exemplu Secven de pagini Conectare la distan Voce digitizat Publicitate prin e-mail Scrisori cu confirmare Interogri baze de date

Fr J | ;i Datagram confirmat.. -oV, L

Cerere-rspuns

Fig. 1-13. ase tipuri diferite de servicii. 1.3.5 Primitive de serviciu Un serviciu este specificat formal printr-un_set dej)rimjtoye (operaii) puse la dispoziia utilizatorului sau a unei alte entiti care folosete serviciul. Aceste primitive comand serviciului s execute anumite aciuni sau s raporteze despre aciunile executate de o entitate pereche. Un mod de a clasifica primitivele de serviciu este mprirea lor n patru grupe, aa cum se arat n Fig. 1-14.

24

INTRODUCERE

CAP. 1

Primitiva Request Indication Response Confirm

Semnificaia

0 entitate cere serviciului s realizeze ceva. 0 entitate trebuie informat despre un eveniment. 0 entitate vrea s rspund la un eveniment. A venit rspunsul ia o cerere anterioar.

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

SEC. 1.3 5. 6. 7. 8.

PROGRAMELE DE REEA DATA.request - Solicit trimiterea datelor. DATA.indication - Semnalizeaz sosirea datelor. DISCONNECT.response - Solicit eliberarea conexiunii. DISCONNECT.indication - Semnalizeaz perechea n legtur cu cererea.

25

n acest exemplu CONNECT este un serviciu confirmat (este solicitat un rspuns explicit), n timp ce DISCONNECT este neconfirmat (fr rspuns). Pentru a vedea cum sunt folosite aceste primitive ar putea fi util o analogie cu sistemul telefonic. S considerm paii necesari pentru a-i telefona mtuii Millie i a o invita la un ceai. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. CONNECT.request - Formezi numrul de telefon al mtuii Millie. CONNECT.indication - Telefonul mtuii Millie sun. CONNECT.response - Ea ridic receptorul. CONNECT.confirm - Auzi c mtua Millie a rspuns. DATA.request - O invii la ceai. DATA.indication - Ea aude invitaia ta. DATA.request - Ea spune c ar fi ncntat s vin. DATA.indication - Tu auzi c a acceptat. DISCONNECT.request - Tu nchizi telefonul. DISCONNECT.indication - Ea aude c ai nchis telefonul si nchide si ea.t

^

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

44

5

X6 7 5 6V

46 8

7 \ 9 10

Calculator 1

Timp-

Nivel N + 1 Nivel N 2

3 \V\

48

Calculator 2

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

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

26

INTRODUCERE

CAPI

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

1.4

MODELE DE REFERIN

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

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

SEC. 1.4

MODELE DE REFERINA

27

Nivel Protocolul aplicaie

Numele unitii schimbate Aplicaie icatie APDU

7 Interfa 6

Prezentare

Protocolul prezentare

Prezentare

PPDU

Interfa 5 Sesiune Protocolul sesiune

ty

Sesiune

SPDU

4

TransportIr

Protocolul transport Limita subreelei de comunicaie Protocolul intern al subreteie\ Reeaj

-H Transport I TPDU

Reea 2 Legtur de date

Reea

~H

Reea

Pachet

1

Fizic

1

Legtur de date

Legtur de date

Legtur g de date de date

|

C a d r u

Fizic Ruer

I

Gazda A

1

Fizic Ruter

Fizic Gazda B

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

Kg. 1-16. Modelul de referin OSI. n continuare vom discuta fiecare nivel al modelului, ncepnd cu nivelul cel rnai de jos. Modelul OSI nu reprezint n sine o arhitectur de reea, pentru c nu specific serviciile i protocoalele utilizate la fiecare nivel. Modelul spune numai ceea ce ar trebui s fac fiecare nivel. ISO a produs de asemenea standarde pentru fiecare nive, ns aceste standarde nu fac parte din modelul de referin propriu-zis. Fiecare din standardele respective a fost publicat ca un standard internaional separat. Nivelul fizic Nivelul fizic se ocup de transmiterea biilor printr-un canal de comunicaie. Proiectarea trebuie s garanteze c atunci cnd unul din capete trimite un bit 1, acesta e receptat n cealalt parte ca un bit 1, nu ca un bit 0. Problemele tipice se refer la ci voli trebuie utilizai pentru a reprezenta un 1 i ci pentru un 0, dac transmisia poate avea loc simultan n ambele sensuri, cum este stabilit

28

INTRODUCERE

CAP. 1

conexiunea iniial i cum este ntrerupt cnd au terminat de comunicat ambele pri, ci pini are conectorul de reea i la ce folosete fiecare pin. Aceste aspecte de proiectare au o legtur strns cu interfeele mecanice, electrice, funcionale i procedurale, ca i cu mediul de transmisie situat sub nivelul fizic. Nlvelu legtur de date Sarcina principal a nivelului legtur de date este de a transforma un mijloc o.are.c.are_ de transmisie ntr-o linie care s fie disponibil nivelului reea fr erori de transmisie nedetectate. Nivelul legtur de date realizeaz aceast sarcin oblignd emitorul s descompun datele de intrare n cadre de.date (n mod tipic, cteva sute sau cteva mii de octei), s transmit cadrele secvenial i s prelucreze cadrele de confirmare trimise napoi de receptor. Deoarece nivelul fizic nu face dect s accepte i s transmit un flux de bii, fr s se preocupe de semnificaia sau de structura lor, responsabilitatea pentru marcarea i recunoa