| Indice
Presentazione della terza edizione
Presentazione della prima edizione
Presentazione dell'edizione italiana
Prefazione
Capitolo 1 Principi fondamentali
Problema Costruire una rete
1.1 Applicazioni
1.2 Requisiti
1.2.1 Connessione
1.2.2 Condivisione di risorse efficiente dal punto di vista dei costi
1.2.3 Supporto di servizi comuni
1.3 Architettura di rete
1.3.1 Stratificazione e protocolli
1.3.2 L'architettura OSI
1.3.3 L'architettura Internet
1.4 Implementazione di sofware di rete
1.4.1 Interfaccia per la programmazione di applicazioni (socket)
1.4.2 Un esempio di applicazione
1.4.3 Problemi nell'implementazione di protocolli
1.5 Prestazioni
1.5.1 Ampiezza di banda e latenza
1.5.2 Prodotto ritardo x ampiezza di banda
1.5.3 Reti ad alta velocita'
1.5.4 Prestazioni richieste dalle applicazioni
1.6 Riepilogo
Problema aperto La rete pervasiva
Ulteriori letture
Esercizi
Capitolo 2 Reti a connessione diretta
Problema Connettere fisicamente i calcolatori
2.1 Elementi hardware elementari
2.1.1 Nodi
2.1.2 Linee di collegamento
2.2 Codifica (NRZ, NRZI, Manchester, 4B/5B)
2.3 Tramatura (framing)
2.3.1 Protocolli orientati ai byte (BISYNC, PPP, DDCMP)
2.3.2 Protocolli orientati ai bit (HDLC)
2.3.3 Framing basato sul clock (SONET)
2.4 Rilevazione d'errore
2.4.1 Parita' bidimensionale
2.4.2 Algoritmo di checksum di Internet
2.4.3 Verifica di ridondanza ciclica (CRC)
2.5 Trasmissione affidabile
2.5.1 Stop-and-wait
2.5.2 Sliding window
2.5.3 Canali logici concorrenti
2.6 Ethernet (802.3)
2.6.1 Proprieta' fisiche
2.6.2 Protocollo di accesso
2.6.3 L'esperienza di Ethernet
2.7 Reti token ring (802.5 e FDDI)
2.7.1 Proprieta' fisiche
2.7.2 Controllo di accesso al mezzo in reti token ring
2.7.3 Gestione di una rete token ring
2.7.4 Formato del frame
2.7.5 FDDI
2.8 Wireless (802.11)
2.8.1 Proprieta' fisiche
2.8.2 Evitare le collisioni
2.8.3 Sistemi di distribuzione
2.8.4 Formato del frame
2.9 Adattatori di rete
2.9.1 Componenti
2.9.2 Punto di vista dell'host
2.9.3 Collo di bottiglia nella memoria
2.10 Riepilogo
Problema aperto Fa parte dell'hardware?
Ulteriori letture
Esercizi
Capitolo 3 Commutazione di pacchetto
Problema Non tutte le reti sono a connessione diretta
3.1 Commutazione e inoltro
3.1.1 Datagrammi
3.1.2 Commutazione di circuito virtuale
3.1.3 Instradamento della sorgente (source routing)
3.2 Commutatori per LAN e bridge
3.2.1 Bridge ad apprendimento (learning bridge)
3.2.2 Algoritmo ad albero di copertura (spanning tree)
3.2.3 Broadcast e multicast
3.2.4 Limiti dei bridge
3.3 Commutazione di celle (ATM)
3.3.1 Celle
3.3.2 Segmentazione e ricostruzione
3.3.3 Percorsi virtuali
3.3.4 Strati fisici per ATM
3.3.5 ATM in una rete locale
3.4 Implementazione e prestazioni
3.4.1 Porte
3.4.2 Matrici di commutazione
3.5 Riepilogo
Problema aperto Il futuro di ATM
Ulteriori letture
Esercizi
Capitolo 4 Interconnessione di reti
Problema Non esiste un'unica rete
4.1 Semplice interconnessione di reti (IP)
4.1.1 Cos'e' una internetwork?
4.1.2 Modello di servizio
4.1.3 Indirizzi globali
4.1.4 Inoltro di datagrammi in IP
4.1.5 Traduzione di indirizzi (ARP)
4.1.6 Configurazione di host (DHCP)
4.1.7 Segnalazione di errori (ICMP)
4.1.8 Reti virtuali e tunnel
4.2 Instradamento (routing)
4.2.1 La rete rappresentata con un grafo
4.2.2 Vettore di distanza (RIP)
4.2.3 Stato delle linee (OSPF)
4.2.4 Metriche
4.2.5 Instradamento per host mobili
4.3 La rete Internet globale
4.3.1 Le sottoreti
4.3.2 Instradamento senza classi (CIDR)
4.3.3 Instradamento interdominio (BGP)
4.3.4 Aree di instradamento
4.3.5 La versione 6 di IP (IPv6)
4.4 Multicast
4.4.1 Multicast a stato delle linee
4.4.2 Multicast a vettore di distanza
4.4.3 Multicast indipendente dal protocollo (PIM)
4.5 MultiProtocol Label Switching (MPLS)
4.5.1 Inoltro basato sulla destinazione
4.5.2 Instradamento esplicito
4.5.3 Reti private virtuali e tunnel
4.6 Riepilogo
Problema aperto L'installazione di IPv6
Ulteriori letture
Esercizi
Capitolo 5 Protocolli di trasporto
Problema Far comunicare i processi
5.1 Semplice demultiplexing (UDP)
5.2 Flusso affidabile di byte (TCP)
5.2.1 Problemi end-to-end
5.2.2 Formato del segmento
5.2.3 Instaurazione e terminazione della connessione
5.2.4 Una rivisitazione dell'algoritmo sliding window
5.2.5 Stimolare la trasmissione
5.2.6 Ritrasmissione adattativa
5.2.7 Confini tra gruppi di dati (record)
5.2.8 Estensioni al protocollo TCP
5.2.9 Scelte di progetto alternative
5.3 Remote Procedure Call
5.3.1 Trasferimento a blocchi (BLAST)
5.3.2 Richiesta/Risposta (CHAN)
5.3.3 Smistamento (SELECT)
5.3.4 Mettere tutto insieme (SunRPC, DCE)
5.4 Prestazioni
5.5 Riepilogo
Problema aperto Protocolli per applicazioni specifiche
Ulteriori letture
Esercizi
Capitolo 6 Controllo della congestione e allocazione di risorse
Problema Allocazione di risorse
6.1.1 Modello della rete
6.1.2 Tassonomia
6.1.3 Criteri di valutazione
6.2 Politiche di gestione delle code
6.2.1 FIFO
6.2.2 Fair queueing
6.3 Controllo di congestione in TCP
6.3.1 Aumento additivo/diminuzione moltiplicativa
6.3.2 Partenza lenta
6.3.3 Ritrasmissione veloce e recupero veloce
6.4 Strategie per evitare la congestione
6.4.1 DECbit
6.4.2 Random early detection (RED)
6.4.3 Impedire la congestione alla sorgente
6.5 Qualita' di servizio
6.5.1 Requisiti delle applicazioni
6.5.2 Integrated Services (RSVP)
6.5.3 Differentated Services (EF, AF)
6.5.4 Qualita' di servizio in ATM
6.5.5 Controllo di congestione basato su equazioni
6.6 Riepilogo
Problema aperto All'interno e all'esterno della rete
Ulteriori letture
Esercizi
Capitolo 7 Rappresentazione dei dati per la rete
Problema Come si trattano i dati?
7.1 Formato di presentazione
7.1.1 Tassonomia
7.1.2 Esempi (XDR, ASN.1, NDR)
7.1.3 Linguaggi di marcatura (XML)
7.2 Compressione dei dati
7.2.1 Algoritmi di compressione senza perdita di informazione
7.2.2 Compressione di immagini (JPEG)
7.2.3 Compressione video (MPEG)
7.2.4 Trasmettere MPEG attraverso la rete
7.2.5 Compressione audio (MP3)
7.3 Riepilogo
Problema aperto Le reti di calcolatori e l'elettronica di consumo
Ulteriori letture
Esercizi
Capitolo 8 Sicurezza delle reti
Problema Rendere sicuri i dati
8.1 Algoritmi crittografici
8.1.1 Requisiti
8.1.2 Cifratura a chiave segreta (DES)
8.1.3 Cifratura a chiave pubblica (RSA)
8.1.4 Algoritmi di Message Digest (MD5)
8.1.5 Implementazione e prestazioni
8.2 Strategie di sicurezza
8.2.1 Protocolli di autenticazione
8.2.2 Protocolli per l'integrita' dei messaggi
8.2.3 Distribuzione di chiavi pubbliche (X.509)
8.3 Esempi di sistemi
8.3.1 Pretty Good Privacy (PGP)
8.3.2 Secure Shell (SSH)
8.3.3 Sicurezza nello stato di trasporto (TLS, SSL, HTTPS)
8.3.4 Sicurezza per il protocollo IP (IPSEC)
8.4 Firewall
8.4.1 Firewall basati su filtri
8.4.2 Firewall basati su proxy
8.4.3 Limitazioni
8.5 Riepilogo
Problema aperto Attacchi di tipo "Denial of Service"
Ulteriori letture
Esercizi
Capitolo 9 Applicazioni
Problema Ogni applicazione ha bisogno del proprio protocollo
9.1 Servizio per i nomi (DNS)
9.1.1 Gerarchia di nomi
9.1.2 Server per i nomi
9.1.3 Traduzione dei nomi
9.2 Applicazioni tradizionali
9.2.1 Posta elettronica (SMTP, MIME, IMAP)
9.2.2 World Wide Web (HTTP)
9.2.3 Gestione della rete (SNMP)
9.3 Applicazioni Multimediali
9.3.1 Real-time Transport Protocol (RTP)
9.3.2 Controllo di sessione e controllo di chiamata (SDP, SIP, H.323)
9.4 Reti sovrapposte (overlay networks)
9.4.1 Reti sovrapposte per l'instradamento
9.4.2 Reti tra pari (peer-to-peer)
9.4.3 Reti per la distribuzione di contenuti
9.5 Riepilogo
Problema aperto Una nuova architettura di rete
Ulteriori letture
Esercizi
Soluzioni di esercizi scelti
Glossario
Bibliografia
Indice analitico |