Programma delle lezioni

Capitolo 1

Capitolo 2
Breve storia dell'Internet; comitati di standardizzazione preposti alla standardizzazione dei protocolli dell'Internet. Livello applicativo: applicazioni client-server, concetto di porta. 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). 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.

Capitolo 3
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. 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 e soluzione. Problema della silly window syndrome e soluzioni. Applicazioni interattive e TCP: algoritmo di Nagle. Flag di PUSH e URGENT data in TCP. 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.