1) Introduzione alle reti di elaboratori
Definizione di rete di elaboratori. Usi delle reti.
1.1) Aspetti hardware delle reti
Tecnologie trasmissive (punto a punto, broadcast), scala (LAN, MAN, WAN). Le LAN: generalità, tecnologie trasmissive, topologia (bus e anello), allocazione del canale (statica e dinamica). Le MAN: generalità, cenni allo standard DQDB. Le WAN: generalità, communication subnet e relative caratteristiche generali, topologie (stella, anello, albero, magliatura). Cenni al problema della interconnessione di reti.
1.2) Aspetti software delle reti
Organizzazione a livelli. Concetti di servizio di livello n, peer entity di livello n, protocollo di livello n, interfaccia fra livelli. Relazioni fra livelli, servizi e protocolli. Caratteristiche dei servizi: orientati alla connessione e connectionless, affidabili e non affidabili. Concetti di Service Access Point (SAP), Protocol Data Unit (PDA), Protocol Control Information (PCI) e relative relazioni. Aspetti di progetto dei livelli. Concetto di architettura di rete. Tipi di architetture (proprietarie, standard de iure, standard de facto). Il modello di riferimento OSI. L'architettura Tcp/Ip. Le autorità nel mondo degli standard.
2) Il livello fisico
Generalità sulle competenze del livello.
2.1) Basi teoriche della trasmissione dati
Mezzi fisici e corrispondenti grandezze fisiche utilizzabili nella trasmissione dati. Trasmissione di segnali analogici e digitali. Cenni sull'analisi di Fourier. Relazioni fra caratteristiche del mezzo trasmissivo (banda passante, attenuazione del segnale) e velocità di trasmissione delle informazioni. Teorema di Nyquist. Teorema di Shannon.
2.2) Mezzi trasmissivi e relative caratteristiche
Doppino telefonico. Cavo coassiale (broadband e baseband). Fibre ottiche. Trasmissione senza fili.
2.3) Il sistema telefonico
Struttura gerarchica del sistema telefonico. Trasmissione dati sul local loop: modem, modulazione del segnale, relazione fra velocità di segnalazione e velocità di trasmissione, constellation pattern, gli standard V32 e V34. ADSL. Trasmissione dati sulle linee ad alta velocità: multiplazione FDM e TDM, i carrier T1 e successivi, E1 e successivi, cenni su SONET/SDH. Cenni sui dispositivi di commutazione.
3) Il livello data link
Generalità sulle competenze del livello e sui servizi offerti.
3.1) Framing
Conteggio. Caratteri di inizio e fine, con character stuffing. Sequenze di bit di inizio e fine, con bit stuffing. Violazioni della codifica.
3.2) Rilevamento e correzione di errori
Concetti di codice, codeword, distanza di Hamming. Codici per la rilevazione di errori: bit di parità, rilevazione di burst di lunghezza k, Cyclic redundancy code, standard CRC-12, CRC-16, CRC-CCITT. Codice di Hamming per la correzione di un singolo errore.
3.3) Gestione della sequenza di trasmissione e controllo del flusso
Protocollo per rete ideale, protocollo stop and wait, protocollo stop and wait per canale rumoroso. Generalità sui protocolli a finestra scorrevole. Protocolli pipeline: go back N, selective repeat.
3.4) Esempi di protocolli reali
Protocollo HDLC. Protocollo PPP.
4) Il sottolivello MAC
Generalità sulle competenze del livello e sui servizi offerti. Allocazione statica e dinamica del canale.
4.1) Protocolli multiple access
Aloha. Slotted Aloha. CSMA 1-persistent, p-persistent e nonpersistent. CSMA/CD. Le reti senza fili: i problemi della stazione nascosta e della stazione esposta; protocolli MACA e MACAW.
4.2) Lo standard IEEE 802
Descrizione delle varie componenti: Logical Link Control (802.2), protocolli MAC (802.3, 802.5, 802.11). IEEE 802.3: cablaggio, codifica dei dati, formato del frame, descrizione del protocollo MAC. IEEE 802.11: codifica dei dati, formato del frame, descrizione del protocollo MAC. IEEE 802.2: funzioni del livello, formato del frame.
4.3) Bridge
Caratteristiche generali. Differenze fra bridge e router. Caratteristiche e funzionamento del transparent bridge.
5) Il livello network
Generalità sulle competenze del livello e sui servizi offerti. Relazione fra servizi offerti e implementazione interna della subnet.
5.1) Algoritmi di routing
Routing statico e dinamico. Shortest path routing. Flooding. Distance vector routing. Link state routing. Routing gerarchico.
5.2) Controllo della congestione
Controllo con e senza controreazione. Traffic shaping: algoritmo leaky bucket, algoritmo token bucket. Choke packets. Hop-by-hop choke packets.
5.3) Internetworking
Cenni alle problematiche generali ed alle possibili soluzioni. Rete di router multiprotocollo. Tunneling.
5.4) Il livello network in Internet
Struttura di Internet. Il formato di un pacchetto IP. Principi del routing IP. Gli indirizzi IP: indirizzi classful, subnet mask, indirizzi classless. Protocolli di controllo: ICMP, ARP. Cenni ai protocolli di routing: OSFP, BGP. Cenni sul protocollo IPv6.
6) Il livello transport
Generalità sulle competenze del livello e sui servizi offerti. Primitive di definizione del servizio. Indirizzamento.
6.1) Principi dei protocolli di livello transport
Attivazione e rilascio di una connessione. Il problema dei tre eserciti. Controllo di flusso e bufferizzazione.
6.2) Il livello transport in Internet
Indirizzamento: socket e port. Il protocollo TCP: caratteristiche generali, formato del segmento, gestione della connessione, gestione della ritrasmissione, controllo del flusso, controllo della congestione. Il protocollo UDP: caratteristiche generali, formato del segmento.
7) Il livello application
Generalità sulle competenze del livello e sui servizi offerti.
7.1) Alcuni importanti protocolli di livello application in Internet
Il DNS (Domain Name System), il Word Wide Web (concetto di Url, cenni al linguaggio HTML, il protocollo HTTP).
8) La sicurezza
Generalità sulle aree di competenza della sicurezza.
8.1) Riservatezza delle comunicazioni
Introduzione alla crittografia; cenni storici; crittografia a chiave segreta; crittografia a chiave pubblica; algoritmi DES ed RSA; cenni agli algoritmi IDEA ed AES.
8.2) Autenticazione e integrità
Funzioni hash e message digest; certificati; Certificate Authority (CA).
8.3) Protocolli crittografici
Determinazione della chiave segreta di sessione; Secure Socket Layer.
8.4) Controllo dei diritti di accesso
HTTP Digest Authentication; NAT; firewall e proxy.
Testi Consigliati
Prerequisiti del corso