| Indice
Gli Autori v
Presentazione dell’edizione italiana xi
Prefazione all’edizione americana xiii
1 - Reti di calcolatori e Internet
1.1 Che cos’e' Internet 2
1.1.1 Una descrizione pratica 2
1.1.2 Descrizione del servizio 5
1.1.3 Che cos’e' un protocollo? 5
1.1.4 Alcuni buoni hyperlink 8
1.2 La sezione di accesso della rete 9
1.2.1 Terminali, client e server 9
1.2.2 Servizio senza connessione e servizio orientatoalla connessione 10
1.3 La sezione interna della rete 13
1.3.1 Commutazione di circuito e commutazione di pacchetto 13
1.3.2 Inoltro dei pacchetti nelle reti di calcolatori 24
1.4 Accesso alla rete e mezzi trasmissivi 28
1.4.1 Accesso alla rete 28
1.4.2 Mezzi fisici 34
1.5 Gli ISP e la rete dorsale di Internet 37
1.6 Ritardi e perdite nelle reti a commutazione di pacchetto 40
1.6.1 Tipi di ritardo 40
1.6.2 Ritardo di coda e perdita dei pacchetti 43
1.6.3 Ritardo e router in Internet 46
1.7 Strati protocollari (pile) e loro modelli di servizio 47
1.7.1 Architettura stratificata 48
1.7.2 La pila protocollare di Internet 52
1.7.3 Entita' della rete e strati 55
1.8 Storia dell’interconnessione dei calcolatori e di Internet 55
1.8.1 Lo sviluppo della commutazione di pacchetto: 1961-1972 56
1.8.2 Reti proprietarie e interconnessione delle reti: 1972-1980 57
1.8.3 La proliferazione delle reti: 1980-1990 58
1.8.4 L’esplosione di Internet: gli anni ’90 60
1.8.5 Sviluppi recenti 61
1.9 Sommario 62
Il percorso del libro 63
Esercizi 64
Domande di riepilogo 64
Problemi 65
Proposte di approfondimento 69
2 - Strato di applicazione
2.1 Princi'pi dei protocolli dello strato di applicazione 72
2.1.1 Protocolli dello strato di applicazione 72
2.1.2 Quali servizi servono a un’applicazione? 77
2.1.3 Servizi forniti dai protocolli di trasporto Internet 79
2.1.4 Applicazioni di rete trattate in questo libro 82
2.2 Il Web e HTTP 82
2.2.1 Una panoramica di HTTP 84
2.2.2 Connessione non persistente e persistente 86
2.2.3 Formato del messaggio HTTP 89
2.2.4 Interazione user-server: autorizzazione e cookie 93
2.2.5 GET condizionato 96
2.2.6 Contenuti di HTTP 97
2.3 Trasferimento di file: FTP 98
2.3.1 Comandi e riposte in FTP 99
2.4 Posta elettronica in Internet 100
2.4.1 SMTP 103
2.4.2 Confronto con HTTP 105
2.4.3 Formati dei messaggi di posta e MIME 106
2.4.4 Protocolli di accesso alla posta 111
2.5 DNS: il servizio directory di Internet 116
2.5.1 Servizi forniti dal DNS 116
2.5.2 Uno sguardo a come funziona il DNS 118
2.5.3 Record DNS 123
2.5.4 Messaggi DNS 125
2.6 Programmazione dei socket con TCP 127
2.6.1 Programmazione dei socket con TCP 128
2.6.2 Un esempio di applicazione client/server in Java 129
2.7 Programmazione del socket con UDP 136
2.8 Costruire un semplice server Web 144
2.8.1 Funzioni del server Web 144
2.9 Distribuzione di contenuti 148
2.9.1 Le cache del Web 149
2.9.2 Reti per la distribuzione di contenuti 154
2.9.3 Condivisione di file da pari a pari 157
2.10 Sommario 164
Esercizi 165
Domande di riepilogo 165
Problemi 167
Proposte di approfondimento 170
Esercizi di programmazione 171
3 - Strato di trasporto
3.1 Introduzione e servizi dello strato di trasporto 174
3.1.1 Relazione fra gli strati di trasporto e di rete 174
3.1.2 Panoramica dello strato di trasporto in Internet 177
3.2 Multiplexing e demultiplexing 178
3.3 Trasporto senza connessione: UDP 185
3.3.1 Struttura del segmento UDP 188
3.3.2 Checksum di UDP 189
3.4 Princi'pi di un trasferimento affidabile dei dati 190
3.4.1 Costruzione di un protocollo per il trasferimento affidabile dei dati 192
3.4.2 Protocolli pipeline per il trasferimento affidabile dei dati 202
3.4.3 Go-Back-N (GBN) 204
3.4.4 Ripetizione selettiva (SR) 208
3.5 Trasporto orientato alla connessione: TCP 215
3.5.1 La connessione TCP 215
3.5.2 Struttura del segmento TCP 217
3.5.3 Stima del tempo di round trip e timeout 222
3.5.4 Trasferimento affidabile dei dati 224
3.5.5 Controllo di flusso 232
3.5.6 Gestione della connessione TCP 234
3.6 Princi'pi del controllo della congestione 239
3.6.1 Le cause e i costi della congestione 239
3.6.2 Approcci al controllo della congestione 245
3.6.3 Esempio di controllo della congestione assistito dalla rete: controllo della congestione nell’ABR dell’ATM 246
3.7 Controllo della congestione del TCP 248
3.7.1 Fairness 254
3.7.2 Modellazione del ritardo di TCP 257
3.8 Sommario 265
Esercizi 267
Domande di riepilogo 267
Problemi 268
Proposte di approfondimento 275
4 - Strato di rete e instradamento
4.1 Introduzione e modelli di servizio della rete 278
4.1.1 Modello di servizio della rete 280
4.1.2 Origine dei servizi datagram e circuito virtuale 284
4.2 Princi'pi di instradamento 285
4.2.1 Algoritmo di instradamento basato sullo stato dei link 288
4.2.2 Algoritmo di instradamento Distance Vector 292
4.2.3 Altri algoritmi di instradamento 3014.3 Instradamento gerarchico 301
4.4 Protocollo Internet (IP) 305
4.4.1 Indirizzamento IPv4 306
4.4.2 Trasporto di un datagram dalla sorgente alla destinazione: indirizzamento, instradamento e rilancio 314
4.4.3 Formato del datagram 317
4.4.4 Frammentazione del datagram IP 320
4.4.5 ICMP: protocollo dei messaggi di controllo di Internet 322
4.4.6 Protocollo di configurazione dinamica degli host 324
4.4.7 Network Address Translators (NAT) 327
4.5 Instradamento in Internet 329
4.5.1 Instradamento intra-sistema autonomo in Internet: RIP e OSPF 329
4.5.2 Instradamento inter-sistemi autonomi: BGP 336
4.6 Che cosa contiene un router? 341
4.6.1 Porte di ingresso 343
4.6.2 Dispositivo di commutazione 345
4.6.3 Porte di uscita 347
4.6.4 Dove si verifica l’accodamento? 348
4.7 IPv6 351
4.7.1 Formato del datagram IPv6 352
4.7.2 La transizione da IPv4 a IPv6 355
4.8 Instradamento multicast 358
4.8.1 Introduzione: l’astrazione multicast di Internet e i gruppi multicast 358
4.8.2 Il protocollo IGMP 361
4.8.3 Instradamento multicast: il caso generale 365
4.8.4 Instradamento multicast in Internet 371
4.9 La mobilita' e lo strato di rete 374
4.9.1 Considerazioni sulla mobilita' nel progetto dello strato di rete 374
4.9.2 Gestione della mobilita' 376
4.9.3 Mobile IP 383
4.10 Sommario 386
Esercizi 388
Domande di riepilogo 388
Problemi 390
Proposte di approfondimento 396
Esercizio di programmazione 396
5 - Strato di collegamento e reti di area locale
5.1 Lo strato di collegamento: introduzione, servizi 401
5.1.1 I servizi forniti dallo strato di collegamento 401
5.1.2 Adattatori per la comunicazione 404
5.2 Tecniche di rivelazione e correzione degli errori 405
5.2.1 Controllo di parita' 407
5.2.2 Metodi di checksum 409
5.2.3 Controllo a ridondanza ciclica (CRC) 409
5.3 Protocolli di accesso multiplo 412
5.3.1 Protocolli di suddivisione del canale 414
5.3.2 Protocolli di accesso casuale 419
5.3.3 Protocolli a turno 426
5.3.4 Reti di area locale (LAN) 427
5.4 Indirizzi LAN e ARP 428
5.4.1 Indirizzi LAN 428
5.4.2 Protocollo per la risoluzione dell’indirizzo 430
5.5 Ethernet 434
5.5.1 Le basi di Ethernet 434
5.5.2 CSMA/CD: protocollo di accesso multiplo di Ethernet 438
5.5.3 Tecnologie Ethernet 441
5.6 Hub, bridge e commutatori 445
5.6.1 Gli hub 445
5.6.2 I bridge 447
5.6.3 Commutatori 454
5.7 Link wireless 458
5.7.1 LAN wireless: IEEE 802.11b 459
5.7.2 Bleutooth 464
5.8 PPP: il protocollo punto-a-punto 466
5.8.1 Delimitazione (framing) dei dati in PPP 468
5.8.2 Protocollo di controllo del link (LCP) e protocolli di controllo di rete del PPP 470
5.9 Modo di trasferimento asincrono (ATM) 472
5.9.1 Caratteristiche principali dell’ATM 473
5.9.2 Strato fisico dell’ATM 475
5.9.3 Strato ATM 476
5.9.4 Strato di adattamento dell’ATM 477
5.9.5 IP su ATM 480
5.10 Frame relay 482
5.10.1 Il contesto storico 482
5.10.2 Frame relay 483
5.11 Sommario 487
Esercizi 489
Domande di riepilogo 489
Problemi 490
Proposte di approfondimento 496
6 - Reti per la multimedialita'
6.1 Applicazioni multimediali funzionanti in rete 498
6.1.1 Esempi di applicazioni multimediali 498
6.1.2 Ostacoli per la multimedialita' nell’Internet odierna 501
6.1.3 Come dovra' evolvere Internet per supportare meglio
le applicazioni multimediali? 502
6.1.4 Compressione audio e video 504
6.2 Lo streaming di audio e video memorizzati 506
6.2.1 Accedere ad audio e video attraverso un server Web 507
6.2.2 Invio di contenuti multimediali da uno streaming server a un’applicazione helper 510
6.2.3 Protocollo di streaming in tempo reale (RTSP) 512
6.3 Utilizzare al meglio il servizio best-effort: un esempio di telefonia Internet 516
6.3.1 Le limitazioni di un servizio best-effort 516
6.3.2 Audio: rimozione del jitter al receiver 518
6.3.3 Recupero dalla perdita di pacchetti 521
6.3.4 Lo streaming di audio e video memorizzato 524
6.4 Protocolli per applicazioni interattive in tempo reale 525
6.4.1 RTP 525
6.4.2 Protocollo di controllo di RTP (RTCP) 530
6.4.3 SIP 532
6.4.4 H.323 538
6.5 Oltre il best-effort 539
6.5.1 I scenario: un’applicazione audio a 1 Mbit/s e un trasferimento FTP 541
6.5.2 II scenario: un’applicazione audio a 1 Mbit/s e un trasferimento FTP ad alta priorita' 542
6.5.3 III scenario: un’applicazione audio che si comporta in modo scorretto e un trasferimento FTP 542
6.5.4 IV scenario: due applicazioni audio a 1 Mbit/s su un link sovraccarico a 1,5 Mbit/s 544
6.6 Meccanismi di scheduling e policing 545
6.6.1 Meccanismi di scheduling 545
6.6.2 Policing: il leaky bucket 549
6.7 Servizi integrati 552
6.7.1 Qualita' del servizio garantita 554
6.7.2 Servizio di carico controllato 555
6.8 RSVP 555
6.8.1 L’essenza di RSVP 555
6.8.2 Pochi semplici esempi 557
6.9 Servizi differenziati 560
6.9.1 Servizi differenziati: un semplice scenario 561
6.9.2 Classificazione e condizionamento del traffico 563
6.9.3 Comportamenti per-hop 565
6.9.4 Critiche ai servizi differenziati 566
6.10 Sommario 567
Esercizi 569
Domande di riepilogo 569
Problemi 569
Proposte di approfondimento 573
Esercizio di programmazione 573
7 - Sicurezza nelle reti di calcolatori
7.1 Che cos’e' la sicurezza in rete? 576
7.2 Princi'pi di crittografia 579
7.2.1 Crittografia a chiave simmetrica 581
7.2.2 Crittografia a chiave pubblica 586
7.3 Autenticazione 591
7.3.1 Protocollo di autenticazione ap1.0 592
7.3.2 Protocollo di autenticazione ap2.0 592
7.3.3 Protocollo di autenticazione ap3.0 593
7.3.4 Protocollo di autenticazione ap3.1 594
7.3.5 Protocollo di autenticazione ap4.0 594
7.3.6 Protocollo di autenticazione ap5.0 595
7.4 Integrita' 598
7.4.1 La generazione della firma digitale 599
7.4.2 Digest del messaggio 600
7.4.3 Algoritmi per la funzione hash 602
7.5 Distribuzione e certificazione delle chiavi 604
7.5.1 Il centro di distribuzione delle chiavi 606
7.5.2 Certificazione della chiave pubblica 607
7.6 Controllo dell’accesso: firewall 610
7.6.1 Filtraggio del pacchetto 611
7.6.2 Gateway delle applicazioni 614
7.7 Attacchi e contromisure 616
7.7.1 Mapping 617
7.7.2 Packet sniffing 617
7.7.3 Spoofing 618
7.7.4 Attacchi denial-of-service e distributed denial-of-service 619
7.7.5 Hijacking 620
7.8 La sicurezza in molti strati: studi di caso 621
7.8.1 Sicurezza delle e-mail 622
7.8.2 Strato dei socket sicuro (SSL) e sicurezza dello strato di trasporto (TLS) 627
7.8.3 Sicurezza dello strato della rete: IPsec 631
7.8.4 La sicurezza nella IEEE 802.11 634
7.9 Sommario 636
Esercizi 637
Domande di riepilogo 637
Problemi 638
Proposte di approfondimento 640
8 - Gestione della rete
8.1 Cos’e' la gestione della rete? 641
8.2 Le infrastrutture di gestione della rete 646
8.3 La struttura di gestione della rete in Internet 648
8.3.1 Struttura delle informazioni di gestione: SMI 650
8.3.2 Base di informazioni per la gestione: MIB 653
8.3.3 Funzionamento del protocollo SNMP e correlazioni di trasporto 655
8.3.4 Sicurezza e amministrazione 657
8.4 ASN.1 662
8.5 Sommario 666
Esercizi 667
Domande di riepilogo 667
Problemi 668
Proposte di approfondimento 668
Bibliografia 669
Indice analitico 697 |