Reti di Calcolatori

per il secondo anno della laurea triennale in Informatica
Anno Accademico 2005-2006, primo semestre

Pagina non più aggiornata

Questa pagina si riferisce a una vecchia edizione del corso e non è più aggiornata.


Orario

Le lezioni sono concluse.

Programma del corso

Ciascuno dei seguenti argomenti prevede la presentazione delle problematiche di base, la terminologia, alcuni esempi, la presentazione dei protocolli più importanti.
  1. Introduzione alle reti di calcolatori
  2. livello fisico
  3. livello data link
  4. sottolivello di accesso al mezzo
  5. livello di rete
  6. livello di trasporto
Vedere oltre il programma dettagliato.

Esame

  • I prossimi esami si riferiranno all'edizione corrente del corso.

Si ricorda l'iscrizione obbligatoria su Esse3!!


Bibliografia

Testo ufficiale

  • Andrew S. Tanenbaum - Reti di Calcolatori
    Pearson - Prentice Hall
    L'edizione di riferimento è la quarta edizione italiana, vanno bene anche la terza e le edizioni in lingua inglese.

Altri testi di riferimento

(non utilizzati, ma di contenuto pressoché equivalente, anche se con approcci diversi)
  • Douglas E. Comer - Internet e reti di calcolatori
    Pearson - Addison Wesley
  • James F. Kurose, Keith W. Ross - Reti di calcolatori e Internet
    Pearson - Addison Wesley.

Materiale disponibile sul sito


Programma svolto

I riferimenti sono relativi alla quarta edizione del Tanenbaum.

Teoria

  • 12 settembre 2005 (Brunato)
    Introduzione alle reti di calcolatori
    • Classificazione (LAN/MAN/WAN)
    • Modelli di riferimento ISO/OSI e TCP/IP
    • Distinzione tra servizi e protocolli.
    Riferimento: 1.1, 1.2, 1.3, 1.4.
  • 14 settembre 2005 (Riggio)
    Basi teoriche per le comunicazioni elettriche
    • Definizione di informazione
    • Comunicazioni digitali/analogiche
    • Modulazione di frequenza, ampiezza e fase
    • Impatto dell'ampiezza di banda sulle trasmissione dei segnali elettrici: scomposizione in serie di Fourier
    • Limitazioni teoriche: teorema di Nyquist, teorema di Shannon
    • Unità di misura della velocità di trasmissione: baud, bit per second
    Riferimento: 2.1.
  • 19 settembre 2005 (Brunato)
    Il livello Data Link
    • Descrizione delle funzioni del livello Data Link.
    • Suddivisione in pacchetti (delimitazione dei messaggi, riempimento)
    • Controllo di flusso (xon/xoff, stop and wait, finestra mobile)
    • Controllo e correzione degli errori (parità, codice di Hamilton)
    Riferimento: 3.1, 3.2.1.
  • 21 settembre 2005 (Riggio)
    Mezzi tramissivi
    • Elettricità e fili di rame (trasmissione in tensione e corrente, interferenze e deformazione del segnale, cavo coassiale e doppino ritorto)
    • Luce e fibre ottiche (principio della riflessione totale, luce monocromatica e suddivisione delle componenti cromatiche)
    • Comunicazioni senza fili (spettro elettromagnetico, decadimento del segnale, relazione frequenza/lunghezza d'onda, trasmissioni radio, riflessione da parte della ionosfera, onde di terra, microonde, infrarossi)
    • Comunicazioni Satellitari (Orbite basse e Geostazionario)
    Riferimento: 2.2, 2.3, 2.4.
  • 26 settembre 2005 (Riggio)
    Accesso condivisio e commutazione
    • Multiplazione di frequenza, di lungheza d'onda, di tempo e di spazio
    • Commutazione di circuito, messaggio e pacchetto
    Riferimento: 2.5.4, 2.5.5.
  • 28 settembre 2005 (Brunato)
    Il livello Data Link (continuazione)
    • Ripresa del codice di Hamming
    • Prova formale dell'ottimalità del codice di Hamming
    • Aritmetica dei polinomi in Z2
    • Introduzione al calcolo del CRC
    Riferimento: 3.2.1, 3.2.2.
  • 3 ottobre 2005 (Brunato)
    Il livello Data Link (continuazione)
    • Calcolo del CRC
    • Alcune proprietà dei polinomi generatori
    Il livello MAC
    • ALOHA e Slotted ALOHA
    • CSMA 1-persistente
    • CSMA non persistente.
    Riferimento: 3.2.2, 4.1, 4.2.1, 4.2.2.
  • 5 ottobre 2005 (Brunato)
    Il livello MAC (continuazione)
    • CSMA p-persistente
    • Protocolli senza collisione
    • Protocolli per reti radio (MACA, MACAW)
    Riferimento: 4.2.2, 4.2.3, 4.2.6.
  • 17 ottobre 2005 (Riggio)
    Livello 3 ISO/OSI ed Instradamento
    • Problematiche di progetto del livello rete
    • Servizi forniti al livello trasporto
    • Comunicazioni orientate alla connessione e comunicazioni senza connessione: caratteristiche e differenze
    • Instradamento (definizione di Routing/Forwarding, requisiti di un algoritmo di instradamento, Tassonomie)
    Riferimento: 5.1, 5.2.
  • 19 ottobre 2005 (Brunato)
    Il livello MAC (continuazione)
    • Ethernet
      • tipi di cablaggio e velocità
      • protocollo CSMA/CD
      • backoff binario
      • codifica Manchester
      • Intestazione del pacchetto
    Riferimento: 4.3.1, 4.3.2, 4.3.3, 4.3.4, 4.3.7, 4.3.8.
  • 24 ottobre 2005 (Riggio)
    Instradamento
    • Calcolo del percorso minimo
    • Instradamento Distance Vector: Problema del conteggio all'infinito, Split Horizon, Poissoned Reverse
    • Instradamento Link-State
    • Algoritmo di Dijkstra
    Riferimento: 5.2.
  • 26 ottobre 2005 (Brunato)
    Dispositivi per l'estensione delle LAN
    • Il concetto di dominio di collisione
    • Estensione massima di una LAN Ethernet
    • Ripetitori e hub
    • Bridge e switch
    • Gli Access Point 802.11
    Riferimento: 4.7.1, 4.7.4, 4.7.5.
  • 7 novembre 2005 (Riggio)
    Mobilità ed instradamento
    • Instradamento per dispositivi mobili, Home agent, Foreign Agent
    • Ad Hoc networks: Utilizzi, problematiche di routing
    • AODV: ROute discovery, Route Maintenance
    Riferimento: 5.2.
  • 14 novembre 2005 (Riggio)
    Internetworking
    • Concetto di Relay/Gateway
    • Problematiche (Tipologia di servizio, Protocolli, Indirizzamento, Multi/Broadcast, Packet size, Errors handling, Flow/congestion control, Parameters)
    • Frammentazione
    Riferimento: 5.5.
  • 16 novembre 2005 (Brunato)
    Introduzione a IP
    • Scelte progettuali
    • Gerarchia a due livelli e tipologie di sistemi autonomi
    • IGP ed EGP
    • Struttura dell'intestazione
    • Gestione della frammentazione
    Riferimento: 5.6 (introduzione), 5.6.1, 5.6.4 (cenni), 5.6.5.
  • 21 novembre 2005 (Brunato)
    Indirizzamento IP
    • Indirizzi IP
    • Classi di indirizzi
    • Maschere di sottorete
    • Indirizzamento senza classi (CIDR)
    Riferimento: 5.6.2.
  • 30 novembre 2005 (Brunato)
    Indirizzamento IP
    • Indirizzi privati
    • Proxy e NAT
    • Corrispondenza fra indirizzi di rete e MAC: ARP
    • Configurazione dinamica: DHCP
    Riferimento: 5.6.2, 5.6.3 (tranne ICMP).
  • 12 dicembre 2005 (Riggio)
    Livello Trasporto
    • Generalità
    • Indirizzi e porte
    • UDP (Struttura intestazione, Applicazioni)
    • TCP (Struttura intestazione, Instaurazione-Abbattimento della comunicazione)
    Riferimenti: 6.4.1, 6.5 (fino a 6.5.6 compreso)
  • 14 dicembre 2005 (Brunato)
    Livello Trasporto
    • Controllo di flusso: finestra di ricezione, algoritmo di Nagle, silly window.
    • Controllo della congestione: finestra di congestione, suo adattamento dinamico.
    Riferimenti: 6.5.8, 6.5.9.
  • 19 dicembre 2005 (Riggio)
    Livello Trasporto
    • Calcolo del round-trip timer (RTT)
    Riferimenti: 6.5.10.

Esercitazioni

  • 12 ottobre 2005 (Riggio)
    Esercizi su rilevazione e correzione d'errore
    • Calcolo del numero di bit di controllo necessari alla codifica a correzione di errore di Hamming
    • Calcolo dei bit di parità per una successione di alcune parole a 8 bit nel caso di parità pari e dispari
    • calcolo del CRC di un breve messaggio per un polinomio generatore dato
    • Verifica delle rilevazione/non rilevazione di alcuni errori dalla codifica CRC
    • Correzione di un errore su un bit trasmesso con codifica di Hamming
    Riferimento: 3.7, [ Foglio di esercizi 1 ], , [ Foglio di esercizi 2 ].
  • 9 novembre 2005 (Brunato)
    Esercizi sul routing
    • Applicazione dell'algoritmo di Dijkstra a un grafo con costi uniformi e non.
    • Esecuzione di un algoritmo a vettori di distanza con scambio di tabelle fra vicini
    • Traduzione di una rete locale in un grafo a cui applicare l'algoritmo di Dijkstra
    Riferimento: [ Foglio di esercizi ]
  • 23 novembre 2005 (Riggio)
    Esercizi su IP e routing
    • Distance Vector
    • Frammentazione
    Riferimento: [ Foglio di esercizi 3 ]
  • 28 novembre 2005 (Riggio)
    Esercizi su IP
    • indirizzamento con CIDR
    • Routing IP
    • Aggregazione di indirizzi IP
    Riferimento: Vedi foglio di esercizi 3.
  • 5 dicembre 2005 (Riggio)
    Esercitazione su livello rete
    • Indirizzamento con CIDR e broadcast
    • Assegnazione indirizzi e routing
    Riferimento: Vedi foglio di esercizi 3.
  • 19 dicembre 2005 (Riggio)
    Esercitazione su TCP
    • Evoluzione della finestra di congestione durante una trasmissione.
    Riferimento: Vedi foglio di esercizi 4.
  • 21 dicembre 2005 (Brunato)
    Esercitazione su IP e TCP
    • Traccia di una connessione TCP reale
    • Tempi di trasferimento con protocollo TCP-like e Stop-and-Wait in presenza di errori
    • Frammentazione di pacchetti IP
    Riferimento: Compiti dell'anno precedente.

Mauro Brunato