-
Lezioni
del 6 e 7 marzo 2003
Internet 'nuts and bolts': host e router;
link di comunicazione; protocollo di comunicazione; reti di accesso
e backbone di rete; topologia fisica e logica;
struttura dell'Internet: Internet Service Providers e loro
interconnessione, Neutral Access Points;applicazioni
di rete.
Servizio di trasporto connection-oriented e
connectionless;packet switching e circuit-switching; sorgenti CBR e VBR;
codifica PCM della voce; confronto tra packet switching e circuit switching;
effetto delle dimensioni del pacchetto sulle prestazioni di rete.
-
Lezioni
del 13 e 14 marzo 2003
Reti a circuito virtuale. Introduzione ai
mezzi trasmissivi: trasmissione su un canale, rapporto segnale rumore,
teorema di Shannon (es.max data rate dei modem), dB;doppino telefonico,
cavo coassiale, fibra ottica, trasmissione su mezzo radio; reti di accesso:
accesso dial-up, ADSL, tramite LAN, accesso mobile (WLAN, sistemi cellulari),
link satellitari (satelliti geostazionari e costellazioni LEO), accesso
HFC. Misure delle prestazioni di rete: banda, ritardo, perdita dei pacchetti.
Motivi della perdita dei pacchetti. Componenti del ritardo: ritardo di
processing, ritardo di coda, ritardo di trasmissione, ritardo di propagazione.
Esempi sul diverso impatto del ritardo di trasmissione e di propagazione
in diversi scenari; ritardo di coda in funzione dell'intensita' di traffico.
Architettura di comunicazione, principio del
raggruppamento e della gerarchizzazione, servizio offerto da un livello,
vantaggi di una architettura a livelli; architettura TCP/IP; livelli presenti
nei vari elementi di rete; flusso dell'informazione in rete. Standardizzazione
dei protocolli di Internet: IETF (sua organizzazione, iter di standardizzazione,
RFC utili); IANA; ISO; ITU; IEEE.
-
Lezioni
del 20 e 21 marzo 2003
20 marzo (2 ore):Colloquio tra entita' remote:
primitive di servizio, colloquio tra entita' pari livello, interfacce tra
i livelli, SAP, flusso di un pacchetto inquadrato nel modello funzionale,
multiplazione e demultiplazione, servizio connection e connection oriented.
Breve storia dell'evoluzione dell'Internet. Applicazioni client-server.
Porte e socket.
In quali campi sono contenute le informazioni
necessarie per passare un messaggio al livello superiore e perche'. Applicazioni
che richiedono un servizio connection-oriented e applicazioni che richiedono
un servizio di trasporto connectionless (e perche'). Breve storia del web
e sue componenti. Differenza tra applicazione di rete e protocollo di rete.
HTTP: web client, web servers, web proxies, HTTP v1.0 (le diverse fasi
per scaricare o caricare su un server una pagina-mapping tra indirizzo
simbolico e IP, apertura di una connessione TCP, scambio di messaggi; formati
dei messaggi HTTP, campi di tali messaggi e loro significato; motivi
del degrado delle prestazioni nel caso di HTTP non-persistent).
-
Lezioni
del 27 e 28 marzo 2003
Get condizionato in HTTP, persistent HTTP
(v1.1), tipi di proxy e loro uso, caching e caching gerarchico,
autenticazione in HTTP, cookies, pagine Web
dinamiche e pagine attive. Motori di ricerca e spiders. DNS:
organizzazione dei domini, server DNS autoritativi,
DNS primario e seocndario, protocollo DNS, formato
dei messaggi, perche' DNS usa UDP come livello
di trasporto. Uso del DNS da parte di un client web.
Problematiche di caching: vantaggi e problemi.
Cache coherency, cache replacement e varie soluzioni.
Cache gerarchiche e protocolli per il colloquio
tra cache della gerarchia (protocollo ICP). Cache busting e possibili soluzioni.
Content Delivery Networks: problematiche ed un esempio di soluzione (Akamai).
Applicazioni peer-to-peer. Modello centralizzato (Napster) e distribuito
(KazaA).
Capitolo 3
-
Lezioni
del 3 e 4 aprile 2003
TELNET (concetto di Network Virtual Terminal,
negoziazione di opzioni). Come leggere un RFC: esempio su TELNET. File
Transfer Protocol (connessione di controllo e connessione dati, comandi
FTP e risposte, esempio di interazione FTP,segnalazione in banda e fuori
banda, protocolli stateless e stateful). Posta elettronica: user agents
e mail servers; colloquio tra i mail servers: SMTP(Simple Mail Transfer
Portocol) e suo funzionamento con esempi. Formato dei messaggi di posta
elettronica. MIME (Multipurpose Internet Mail Extensions):obiettivi, codifiche
usate. Protocolli di accesso alla mailbox: POP3 e IMAP. Per tutti i protocolli:
funzionamento, formato dei messaggi, differenze rispetto ad HTTP.
Introduzione al livello di trasporto: livello
di trasporto connectionless e connection-oriented: caratteristiche. Cosa
cambia nel colloquio tra processi applicativi che utilizzano un servizio
di trasporto connection-oriented o connectionless?. Protocollo di trasporto
connectionless UDP, caratteristiche, formato dei datagrammi UDP, multiplazione
e demultiplazione, checksumming, dimensione massima di un datagramma UDP,
applicazioni a cui UDP offre il servizio di trasporto e perchè.
Utilizzo dello pseudo-header per calcolare il checksumming UDP: una anomalia
nell'architettura a livelli? Impatto di disabilitare il checksumming.
UDP e applicazioni multimediali real-time.
Servizio di trasporto connection-oriented: TCP. Sudivisione dello stream
applicativo in segmenti. Pro e contro di segmento lunghi. Differenze tra
UDP e TCP. Formato dei segmenti TCP. Ruolo dei campi porta sorgente e destinazione,
checksumming, lunghezza dell'header, opzioni, campo 'reserved'. Problematiche
di trasferimento affidabile dei dati: errori nella trasmissione e perdita
dei pacchetti, quale l'effettivo impatto e quali i motivi; Forward Error
Correction e protocolli di Automatic Repeat Request, caratteristiche ed
applicabilità dei due approcci. Automatic Repeat Request: caso di
un canale ideale senza perdita di pacchetti e senza errori. Canale con
errori: ruolo degli ACK e dei NAK. Necessità di sequence numbers
per distinguire tra trasmissioni di segmenti diversi. E' possibile eliminare
i NAK? Cosa occorre? Caso di un canale con perdita dei pacchetti: utilizzo
di timeout. Protocollo stop & wait. Necessità di sequence numbers
anche per i messaggi di riscontro. Dimensione del campo sequence number
nel caso del protocollo Stop & Wait.
-
Lezioni
del 10 e 11 aprile 2003
Protocolli di ARQ a finestra: protocollo Go-Back-N
e protocollo Selective Repeat. Come settare il numero di bit per memorizzare
i sequence number in Selective Repeat e perchè. Protocollo
per la trasmissione affidabile dei dati in TCP: trasmissione di uno stream
di byte, acknowledgment cumulativi, trasmissione di ACK con piggybacking,
delayed ACKs, effetto dei timeout. Valutazione prestazionale del throughput
nel caso di protocolli stop&wait o a finestra. Impatto del RTT, della
dimensione della finestra, del protocollo utilizzato sulle prestazioni.
Trasmissione continua sul canale: dimensionamento della finestra in funzione
del prodotto banda-ritardo.
Protocollo per la trasmissione affidabile dei
dati in TCP: un ibrido tra Go-Back-N e Selective Repeat. Opzione Selective
ACKs in TCP--> verso un Selective Repeat puro. Dimensionamento della finestra
in TCP. Perchè limitare la dimensione della finestra? controllo
di flusso. Meccanismo adottato in TCP per il controllo di flusso. Relazione
tra la dimensione del buffer di ricezione e la max dimensione della finestra
in TCP. Limite sulla dimensione della finestra: numero di bit del campo
window. Opzione per scalare di un fattore la dimmensione della finestra
di TCP. Problema del blocco della sorgente in seguito alla saturazione
del buffer di ricezione s oluzione. Problema della silly window syndrome
e soluzioni. Applicazioni interattive e TCP: algoritmo di Nagle. Flag di
PUSH e URGENT data in TCP. Retransmission Timeout (RTO): impatto sulle
prestazioni e algoritmo per calcolarlo. Problema di Karn e soluzione.
-
Lezione
del 24 aprile 2003
Instaurazione di una connessione TCP: ethree-way
handshaking, scelta dell'initial sequence numbering, scelta del maximum
segment lifetime. Problema dei due eserciti. Chiusura di una connessione
TCP. Controllo di congestione: effetto della congestione sulle prestazioni
di TCP, possibile collasso della rete. Meccanismi per l'individuazione
della congestione ed il suo controllo: slow start, congestion avoidance,
fast retransmit, fast recovery. TCP Tahoe e TCP Reno: confronto. TCP fairness.
Problema dell'unfairness tra flussi TCP e flussi UDP.
Capitolo 4
-
Lezione
del 2 maggio 2003
Funzionalità del livello di rete. Modello
datagram e a circuito virtuale pro e contro. Qualche nozione sui grafi
(modellizazione della topologia della rete con un grafo, determinazione
dei cammini minimi, del minimo albero ricoprente). Algoritmi per la determinazione
dei cammini minimi Dijkstra e Bellman-Ford. Algoritmi di routing statici
e dinamici; link state e distance vector. Funzionamento degli algoritmi
link state. Scelta delle metriche: problema dell'instabilità del
routing.
-
Lezioni
dell'8 e 9 maggio 2003
Algoritmi di routing intradomain: RIP (problema
del count-to-infinity: poison reverse, trigger updates), RIPv2, OSPF. Algoritmi
di routing interdomain: BGP. Flooding. Architettura di un router. Diverse
politiche di scheduling delle code del router: FIFO, a priorità,
WFQ; diverse politiche di discarding dei pacchetti: RED. Indirizzamento
IP.
-
Lezioni
del 14 e 15 maggio 2003
Inoltro diretto e indiretto. Submetting e
supernetting. Problema dell'esaurimento degli indirizzi IP. Soluzioni:
CIDR, NAT, IPv6. Differenze tra IPv6 e IPv4 e motivazioni. Formato dei
pacchetti IP. Protocollo ICMP. Mapping tra indirizzi IP e MAC address:
protocollo ARP. Come ottenere l'IP address associato ad un host staticamente:
protocollo RARP, BOOTP. Allocazione dinamica degli indirizzi IP: protocollo
DHCP.
OPNET
-
Esercitazione
del 13 maggio 2003
Introduzione alla simulazione di rete. Descrizione
del simulatore di rete OPNET.
VoIP
Cicli di seminari su Voce su IP (vedi slide
sul sito)
Capitolo 5
-
Lezioni
del 23, 29 e 30 maggio 2003
Funzionalita' di livello data link.
Individuazione e correzione degli errori; framing; medium access control
(MAC): protocolli di tipo 'channel partitioning' TDMA, FDMA, CDMA; random
access: ALOHA, slotted ALOHA, CSMA, CSMA/CD,CSMA/CA; 'taking turns': polling
e token passing. Ethernet. Hub, Bridge, Switch. Interconnessione di LAN.
PPP. Accesso radio Bluetooth e 802.11. Frame Relay. ATM.