ebook img

Andrew S. Tanenbaum PDF

800 Pages·2003·15.37 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Andrew S. Tanenbaum

Reţele 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 traducători: as.ing. Ana Vârbănescu stud. Corina Stratan prep. ing. Sabina Şerbu ing. Mihaela Negru prep. ing. Natalia Costea as. ing. Răzvan Rughiniş prep. ing. Liviu Dragomirescu stud. Octavian Udrea stud. Bogdan Vişinescu ing. Mihaela Neaţă stud. Vlad Sima stud. Cătălin Cârstoiu 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. Cătălin Coman Pregătire, design, producţie: Mihai Scorţaru, Claudiu Soroiu, Adrian Pop Editată de BYBLOS s.r.l., ©2003 Bucureşti, Str. Constantin Rădulescu Motru 13/42, Tel: +40-(0)21-3309281 Sub licenţă Pearson Education, Inc. după: Computer Networks, 4th ed. de Andrew S. Tanenbaum ©2003, 1996 by Pearson Education, Inc., Prentice-Hall PTR Upper Saddle River, New Jersey 07458 Tipărită în România, 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 cărţi nu poate fi reprodusă, într-o formă sau printr-un mijloc oarecare, fără permisiunea scrisă a editorului. Toate numele produselor menţionate aici sunt mărci înregistrate ale respectivilor proprietari. Reţele 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ă atât principiile, cât şi para- digmele sistemelor distribuite moderne. În prima parte sunt tratate în detaliu principiile de co- municare, procesele, numele, sincronizarea, consistenţa şi replicarea, toleranţa 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 fişiere, sisteme bazate pe documente şi sisteme bazate pe coordonare. Sunt discutate pe larg numeroa- se exemple. Sisteme de operare moderne, ediţia 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- mătoarele cinci capitole tratează conceptele de bază: procese şi fire de execuţie, situaţii de bloca- re, gestiunea memoriei, operaţii de intrare/ieşire. Următoarele şase capitole tratează noţiuni mai avansate, incluzând sisteme multimedia, sisteme multiprocesor, securitate. La sfârşitul cărţii sunt prezentate două studii de caz detaliate: UNIX/Linux şi Windows 2000. Organizarea structurată a calculatoarelor, ediţia a patra Această carte clasică, citită în lumea întreagă şi ajunsă acum la cea de-a patra ediţie, furnizează introducerea ideală în studiul arhitecturii calculatoarelor. Subiectul este prezentat într-o manieră uşor de înţeles începând cu prezentarea conceptelor de bază. Există un capitol dedicat începăto- rilor care prezintă logica digitală, urmat de capitole în care sunt prezentate microarhitectura, se- tul de instrucţiuni de la nivelul arhitecturii, sistemele de operare, limbajul de asamblare şi arhitecturile paralele de calculatoare. Sisteme de operare: proiectare şi implementare, ediţia a doua Acest text despre sisteme de operare, scris împreună cu Albert S. Woodhull, este singura carte ce acoperă atât principiile sistemelor de operare cât şi aplicaţiile acestora la un sistem real. Sunt tra- tate în detaliu toate subiectele tradiţionale 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 conţine un CD-ROM care conţine sistemul MINIX complet (cod binar şi sursă). Codul sursă este prezentat într-o anexă a cărţii şi este explicat în detaliu în text. v CUPRINS PREFAŢĂ XVII 1. INTRODUCERE 1 1.1 UTILIZĂRILE REŢELELOR DE CALCULATOARE 2 1.1.1 Aplicaţii comerciale 3 1.1.2 Aplicaţii domestice 5 1.1.3 Utilizatorii mobili 9 1.1.4 Aspecte sociale 11 1.2 HARDWARE-UL REŢELEI 13 1.2.1 Reţele locale 15 1.2.2 Reţele metropolitane 16 1.2.3 Reţele larg răspândite geografic 17 1.2.4 Reţele fără fir 19 1.2.5 Reţelele casnice (Home networks) 21 1.2.6 Inter-reţelele 23 vi CUPRINS 1.3 PROGRAMELE DE REŢEA 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 fără conexiuni 29 1.3.4 Primitive de serviciu 31 1.3.5 Relaţia 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 comparaţie î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 REŢELE 44 1.5.1 Internet 44 1.5.5 Reţele orientate pe conexiune 53 1.5.3 Ethernet 59 1.5.4 Reţele fără fir: 802.11 61 1.6 STANDARDIZAREA REŢELELOR 64 1.6.1 Who’s Who în lumea telecomunicaţiilor 64 1.6.2 Who’s Who în lumea standardelor internaţionale 66 1.6.3 Who’s Who în lumea standardelor Internet 68 1.7 UNITĂŢI DE MĂSURĂ 69 1.8 RESTUL CĂRŢII ÎN REZUMAT 70 1.9 REZUMAT 71 1.10 PROBLEME 72 2. NIVELUL FIZIC 77 2.1 BAZELE TEORETICE ALE COMUNICĂRII 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 COMUNICAŢIILE FĂRĂ 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 infraroşii şi milimetrice 97 2.3.5 Transmisia undelor luminoase 97 2.4 SATELIŢI DE COMUNICAŢIE 98 2.4.1 Sateliţi geostaţionari 99 2.4.2 Sateliţi de altitudine medie 103 2.4.3 Sateliţi de joasă altitudine 103 2.4.4 Sateliţii în comparaţie 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 fără 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 generaţie de telefoane mobile: Voce analogică 137 2.6.2 A doua generaţie de telefoane mobile: Voce digitală 141 2.6.3 A treia generaţie 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 Comparaţie între ADSL şi cablu 157 2.8 REZUMAT 158 viii CUPRINS 2.9 PROBLEME 159 3. NIVELUL LEGĂTURĂ DE DATE 165 3.1 ASPECTE ALE PROIECTĂRII NIVELULUI LEGĂTURĂ DE DATE 166 3.1.1 Servicii oferite nivelului reţea 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 LEGĂTURA DE DATE 179 3.3.1 Un protocol simplex fără restricţii 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 paşi (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 reţea Petri 207 3.6 EXEMPLE DE PROTOCOALE ALE LEGĂTURII DE DATE 209 3.6.1 HDLC - Controlul de nivel înalt al legăturii de date 209 3.6.2 Nivelul legăturii 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 ALOCĂRII CANALULUI 224 4.1.1 Alocarea statică a canalului în reţelele LAN şi MAN 224 4.1.2 Alocarea dinamică a canalului în reţelele LAN şi MAN 225 4.2 PROTOCOALE CU ACCES MULTIPLU 226 4.2.1 ALOHA 226 4.2.2 Protocoale cu acces multiplu şi detecţie de purtătoare 230 4.2.3 Protocoale fără coliziuni 233 4.2.4 Protocoale cu conflict limitat 235 4.2.5 Protocoale cu acces multiplu cu divizarea frecvenţei 238 4.2.6 Protocoale pentru reţele LAN fără 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 exponenţială binară 250 4.3.5 Performanţele 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 legăturilor logice 260 4.3.10 Retrospectiva Ethernetului 261 4.4 REŢELE LOCALE FĂRĂ 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 REŢELE FĂRĂ FIR DE BANDĂ LARGĂ 271 4.5.1 Comparaţie î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 Aplicaţii 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 LEGĂTURII DE DATE 285 4.7.1 Punţi de la 802.x la 802.y 287 4.7.2 Interconectarea locală a reţelelor 289 4.7.3 Punţi cu arbore de acoperire 290 4.7.4 Punţi aflate la distanţă 292 4.7.5 Repetoare, Noduri, Punţi, Comutatoare, Rutere şi Porţi 292 4.7.6 LAN-uri virtuale 295 4.8 REZUMAT 302 4.9 PROBLEME 303 5. NIVELUL REŢEA 309 5.1 CERINŢELE DE PROIECTARE ALE NIVELULUI REŢEA 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 Comparaţie între subreţele cu circuite virtuale şi subreţele datagramă 314 5.2 ALGORITMI DE DIRIJARE 315 5.2.1 Principiul optimalităţii 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 legăturilor 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 reţele AD HOC 337 5.2.11 Căutarea nodurilor în reţele 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 subreţelele bazate pe circuite virtuale 349 5.3.4 Controlul congestiei în subreţele datagramă 351 5.3.5 Împrăştierea încărcării 353 5.3.6 Controlul fluctuaţiilor 355 5.4 CALITATEA SERVICIILOR 356 5.4.1 Cerinţe 356 5.4.2 Tehnici pentru obţinerea unei bune calităţi a serviciilor 357 5.4.3 Servicii integrate 367 5.4.4 Servicii diferenţiate 370 5.4.5 Comutarea etichetelor şi MPLS 372 5.5 INTERCONECTAREA REŢELELOR 374 5.5.1 Prin ce diferă reţelele 376 5.5.2 Cum pot fi conectate reţelele 377 5.5.3 Circuite virtuale concatenate 378 5.5.4 Interconectarea reţelelor fără conexiuni 379 5.5.5 Trecerea prin tunel 380 5.5.6 Dirijarea în reţele interconectate 382 5.5.7 Fragmentarea 383 5.6 NIVELUL REŢEA Î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 porţile interioare: OSPF 406 5.6.5 Protocolul de dirijare pentru porţi 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 fişiere pentru Internet 437 6.2 NOŢIUNI 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ă cădere 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 văzut 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 administrării 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 fără fir 496 6.5.12 TCP Tranzacţional 498 6.6 ELEMENTE DE PERFORMANŢĂ 499 6.6.1 Probleme de performanţă în reţelele de calculatoare 500 6.6.2 Măsurarea performanţelor reţelei 502 6.6.3 Proiectarea de sistem pentru performanţe superioare 504 6.6.4 Prelucrarea rapidă a TPDU-urilor 507 6.6.5 Protocoale pentru reţele gigabit 510 6.7 REZUMAT 514 6.8 PROBLEME 515 7. NIVELUL APLICAŢIE 521 7.1 DNS - SISTEMUL NUMELOR DE DOMENII 521 7.1.1 Spaţiul de nume DNS 522 7.1.2 Înregistrări de resurse 524 7.1.3 Servere de nume 527 7.2 POŞTA 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 Îmbunătăţiri ale performanţei 588 7.3.6 Web-ul fără 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 REŢELELOR 645 8.1 CRIPTOGRAFIA 648 8.1.1 Introducere în criptografie 648 8.1.2 Cifrurile cu substituţie 651 8.1.3 Cifrurile cu transpoziţie 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 Alţi algoritmi cu cheie publică 674 8.4 SEMNĂTURI DIGITALE 674 8.4.1 Semnături cu cheie simetrică 675 8.4.2 Semnături cu cheie publică 676 8.4.3 Rezumate de mesaje 677 8.4.4 Atacul zilei de naştere 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 COMUNICAŢIEI 688 8.6.1 IPsec 689 8.6.2 Ziduri de protecţie 692 8.6.3 Reţele private virtuale 695 8.6.4 Securitatea în comunicaţiile fără 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 Distribuţia Cheilor 707 8.7.4 Autentificarea folosind Kerberos 709 8.7.5 Autentificarea folosind criptografia cu cheie publică 711 8.8 CONFIDENŢIALITATEA POŞTEI ELECTRONICE 712 8.8.1 PGP-Pretty Good Privacy (rom.: Confidenţialitate Destul de Bună) 712 8.8.2 PEM-Privacy Enhanced Mail (Poştă cu Confidenţialitate Sporită) 716 8.8.3 S/MIME 717 8.9 SECURITATEA WEB-ULUI 717 8.9.1 Pericole 718 8.9.2 Siguranţa numelor 718 8.9.3 SSL – Nivelul soclurilor sigure (Secure Sockets Layer) 725 8.9.4 Securitatea codului mobil 728 8.10 IMPLICAŢII SOCIALE 730 8.10.1 Confidenţialitate 731 8.10.2 Libertatea de exprimare 733 8.10.3 Dreptul de autor 736 8.11 REZUMAT 738 8.12 PROBLEME 739 9. RECOMANDĂRI DE LECTURĂ ŞI BIBLIOGRAFIE 745 9.1 SUGESTII PENTRU LECTURI VIITOARE 745 9.1.1 Lucrări introductive şi generale 746 9.1.2 Nivelul fizic 747

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.