LABORATORIO di PROGRAMMAZIONE di RETE

a.a. 2013-2014, C. di Studio in Informatica, Univ. di Bologna
Docente: Vittorio Ghini



Annunci

Avviso 14 Settembre 2014 -
- Annuncio "RISULTATI della PROVA PRATICA di Laboratorio del 12 Settembre 2014".

Risultati Esame del 12 Settembre 2014

Avvisi
Gli Appelli della PROVA PRATICA
di LABORATORIO DI PROGRAMMAZIONE DI RETE,
per le sessioni estiva e autunnale
verranno effettuati,
nei Lab Ranzani Linux, via Ranzani 14/c,
nei seguenti giorni:
- primo appello, venerdi' 06-06-2014 dalle 10:00 alle 18:00, in piu' turni.
- secondo appello, giovedi' 26-06-2014 dalle 10:00 alle 18:00, in piu' turni.
- terzo appello, mercoledi' 23-07-2014 dalle 10:00 alle 18:00, in piu' turni.
- quarto appello, venerdi' 12-09-2014 dalle 10:00 alle 18:00, in piu' turni.


Scopo del Corso
Applicare le conoscenze apprese nel corso di "Reti di Calcolatori",
Apprendere metodologie per progettare/implementare applicazioni distribuite,
Utilizzare l'Interfaccia dei Socket TCP/IP.

Avvisi
Modalità d'esame a.a 2013/14
L'esame per l' a.a. 2013/14 consiste di una prova pratica,
riguardante tutti gli argomenti svolti a lezione,
che verra' svolta, a scelta del docente,
o su un computer dei laboratori dotato di un compilatore ANSI C
o su carta come un comune scritto
(per ora é sempre stata svolta la prova in laboratorio).
Importante:
Il voto finale del Corso di "Reti di Calcolatori" sarà calcolato come media aritmetica dei voti dello scritto di Reti
e della prova pratica. Entrambi i voti dovranno però essere almeno sufficienti.
Esiste la possibilità di svolgere, al posto della prova pratica, un progetto alternativo
di difficoltà elevata, su tematiche da concordare col docente,
generalmente su sistemi reali e mobili, ma anche su argomenti di simulazione e virtualizzazione,
eventualmente anche in gruppi numerosi, proporzionali alla difficoltà .
Il docente si riserva il diritto di non assegnare il progetto alternativo a gruppi
non dotati di sufficiente preparazione allo scopo di salvaguardarli da eccessive perdite di tempo.

Vecchie Modalità d'esame a.a 2012/13 Qui
Nota Bene: Per chi ha seguito il corso di Reti negli anni precedenti, rimane la possibilita'
di chiedere di svolgere l'esame secondo le vecchie modalità .
Ci tengo a sottolineare che l'esame con le nuove modalità è pensato per gli studenti
che stanno seguendo le lezioni del corso di questo anno accademico e, di conseguenza:
-- gli argomenti di studio sono solo lievemente diversi.
-- gli argomenti di studio sono stati presentati molto diversamente.
-- gli esercizi e le esercitazioni svolte a lezione sono progettati per facilitare
    il superamento dell'esame in questa nuova modalità .
-- il materiale di supporto e per esercitarsi a casa, è stato adattato
    e reso coerente con le nuove modalità d'esame.
Sia ben chiaro che l'esame con le nuove modalità NON risulterà più semplice o più facile
rispetto al vecchio modo con il progetto, anzi potrebbe risultare addirittura più complicato.


Appunti delle Lezioni

          Linguaggio ANSI C (da un precedente corso)
......... c.html ....................................... Richiami di Linguaggio ANSI C.
          Il problema dell'allineamento dei dati nelle strutture
......... Makefile
......... sizeof.c
......... packed.c

          Thread Posix
......... pthread_03.pdf ................................ Introduzione ai Thread Posix
......... banale_moltoerrato.c .................... esempio sbagliato di passaggio di parametri a pthread
......... banale_errato.c ............................. altro esempio sbagliato di passaggio di parametri a pthread
......... banale_quasigiusto.c ..................... esempio corretto di passaggio di parametri a pthread
......... joinable.c ....................................... esempio di restituzione di risultato da un pthread
......... detached.c .................................... esempio di non restituzione di risultato da pthread
......... cancel.c ....................................... esempio di eliminazione di un pthread
......... Makefile ...................................... il Makefile per compilare i tre esempi
......... mutex.c ....................................... esempio di protezione in mutua esclusione tra pthread
......... CondVarBroadcast.c ................... esempio di Sincronizzazione e Mutua Esclusione tra pthread
......... CondVarSignal.c ......................... altro esempio di Sincronizzazione e Mutua Esclusione tra pthread

          Richiami di "Reti di Calcolatori"
......... LPR001.pdf ............................ La strutturazione a Livelli delle Architetture di Protocolli
......... LPR002.pdf ............................ Solo accennato: Introduzione allo stack TCP/IP : cenni sul Livello Data Link
......... LPR003.pdf ............................ Solo accennato: Il livello Network dello stack TCP/IP : cenni sul Protocollo IP
......... LPR003_53-54.pdf ................ Solo accennato: Le Opzioni dei Datagram IP
......... LPR003.framm.pdf ................. Solo accennato: Un esempio di frammentazione dei datagram IP
......... LPR004.pdf ............................ Solo Ordine dey byte in rete: Un accenno al meccanismo di consegna dei Datagram IP
Modificato, aggiunte pag 81-85
......... LPR005.pdf ............................ Il livello Transport dello stack TCP/IP : cenni sui Protocolli UDP e TCP
......... LPR005_87-90.pdf ................ Solo accennato: Cenni su Instaurazione e chiusura di Connessioni TCP

          I Fondamenti dei Socket TCP/IP
......... LPR006a.pdf ........................... I Socket per TCP: Fondamenti.
......... LPR006b.pdf ........................... I Socket per TCP: I/O
......... UDP1.html .............................. Primo esempio di trasmissione datagram UDP
......... UDP1win.html ......................... Primo esempio di trasmissione datagram UDP (socket per Windows)
......... TCP1.html ............................... Primo esempio di trasmissione con stream TCP
......... TCP1win.html .......................... Primo esempio di trasmissione con stream TCP (socket per Windows)

          Server MultiProcesso e I/O Multiplexing
......... LPR007.pdf ............................ Servers Multiprocesso e I/O Multiplexing
......... usa_select.c   Makefile ........... Esempio di uso della select per I/O Multiplexing
......... usa_select_strutturato.c   Makefile ........... Esempio di uso della select per I/O Multiplexing

          Advanced I/O functions
......... Advanced_IO_functions.pdf

          Monitoraggio della Rete: Ricezione di Avvisi ICMP
......... RECV_ICMP.tgz ...................... Applicazione che trasmette/riceve datagram UDP e riceve avvisi ICMP.

          Opzioni per i Socket
......... LPR008.pdf ................................ Opzioni per i Socket: Socket Non Bloccanti, Multicast, ecc.. .
......... checkopts.c ............................. Esempio di Lettura delle Opzioni dei Socket
......... connect_noblock.html .............. Esempio di connect non bloccante
......... UDP_mcast.html ..................... Esempio di trasmissione via Multicast di datagram UDP
......... TCP_OOB.html ...................... Esempio di trasmissione Dati Fuori Banda (Out Of Band) in stream TCP

          DNS
......... querytodns.pdf ........................ Esempio di interrogazione al DNS
......... dnsquery.c .............................. Sorgente C di interrogazione al DNS

          Un accenno alle API per la gestione di shared memory
......... shared_memory.pdf ............. API per shared memory

          Comunicazioni tra processi e pthread con socket Unix: socketpair AF_UNIX
......... socketpairfork.c .................. comunicazione tra processi padre e figlio con socket unix
......... socketpairpthread.c ............. comunicazione tra pthread con socket unix
......... passaggio_fd/ .................. passaggio di connessioni tramite socketpair

          Iptables/Netfilter
......... Cenni su Iptables/Netfilter Iptables-Netfilter_Overview.pdf
......... Tutorial su Iptables/Netfilter (facoltativo) pdf html
......... Esempio passaggio pkt in userspace per ritardarli packet_engine.c README.txt sistema completo (AddDelay.tgz)

......... Esempio Intercettazione e Modifica pkt UDP in userspace addspaceudp.c sistema completo (.tgz)

          Link per ulteriori approfondimenti su system call C e Posix Thread
......... CE.html ............................... system call in C: corso sist. op. Prof. Davoli e Montresor
......... pthread: basi ........................ pthread: basi
......... pthread: attributi ................... pthread: attributi
......... pthread: sincronizzazione ...... pthread: sincronizzazione
......... pthread: esempi ................... pthread: esempi
......... pthread.html ........................ Posix thread programming


Pagina in fase di completamento!
N.B. Segnalazioni di eventuali errori sono gradite e bene accette
~