RETI DI CALCOLATORI L-A

Transcript

RETI DI CALCOLATORI L-A
Programma
RETI DI CALCOLATORI L-A
Corsi di Laurea:
Ingegneria informatica
Docenti:
Antonio Corradi
Luca Foschini
1.Generalità e Concetti di Base
Generalità dei sistemi distribuiti
▪ inquadramento generale e definizioni di base
▪ sistemi distribuiti decentralizzati ed eterogenei
▪ necessità di standardizzazione delle soluzioni
(ISO/OSI ed Internet)
Concetti di base e alcuni modelli di soluzione
Si presentano alcuni modelli caratteristici, come
▪ modelli a scambio di messaggi
▪ modello di interazione cliente/servitore
▪ modelli di connessione, di replicazione, ecc.
Finalità del corso:
Il corso affronta i temi di base dei sistemi in
rete e distribuiti, delineando le più comuni
realizzazioni, con l'obiettivo di
- analizzare i problemi,
- conoscere le strategie di soluzione,
- fornire una buona conoscenza operativa di
strumenti e strategie di progetto.
Esercitazione Preliminare: JAVA processi e thread
2. Ambienti Standard
Standardizzazione
Organizzazione a livelli ISO OSI
▪ generalità
▪ livello di trasporto e di rete
▪ livelli applicativi: sessione, presentazione
Alcuni strumenti di comunicazione di ampio utilizzo
Socket e relative primitive in Java
Sistemi distribuiti
Reti di Interconnessione
Sistemi eterogenei
Cliente/Servitore e oltre
ISCRIZIONE ALL'ANAGRAFICA DEL CORSO
PER LE ESERCITAZIONI
3. Protocolli TCP/IP
TCP/IP e protocolli
Suite TCP/IP: livelli di rete e trasporto
Alcuni strumenti di comunicazione di ampio utilizzo
Socket in C (per UNIX)
http://lia.deis.unibo.it/Courses/RetiLA
vedi anche per esami e laboratorio
Reti di Calcolatori L-A
1
Reti di Calcolatori L-A
2
7. Ancora strumenti di comunicazione: RPC
Chiamate di Procedura Remota o RPC
Uso di operazioni RPC per il supporto a NFS
Confronto RPC e RMI
4. Alcuni strumenti di riferimento: Socket JAVA
Le socket strumenti standard di comunicazione
Socket e relative primitive in Java
Esercitazioni: socket in Java e in C
Clienti e servitori di base ed evoluti (select)
Esercitazione: Progetto RPC e strumenti
8. Sistemi Distribuiti e Servizi
Sistemi operativi distribuiti
Sistemi di Nomi per identificare risorse
Gestione delle risorse
File system
Alcuni problemi e possibili soluzioni
Sistemi di nomi e DNS
5. Applicazioni e servizi Internet
TCP/IP applicazioni
Applicazioni comuni per:
▪ terminale remoto virtuale telnet
▪ trasferimento di file
ftp
▪ servizi Asincroni
mail, news, e ...
Alcuni strumenti a larga diffusione in ambiente UNIX e
Windows ai diversi livelli
Esempi di interazione in sistemi UNIX e TCP/IP
Alcune applicazioni cliente servitore sviluppate nei
diversi ambienti di più comune uso
Esercitazione finale:
Preparazione allo scritto finale
6. Operazioni Remote e RMI
Chiamate di Procedura Remota
caratteristiche e proprietà
Remote Method Invocation come RPC in JAVA (RMI)
Esercitazioni: Progetto RMI in Java
Reti di Calcolatori L-A
3
Reti di Calcolatori L-A
4
Valutazione:
La valutazione si basa su
ogni elemento possibile:
- esercitazioni (consegna in laboratorio) e
- esami
Propedeuticità:
Si assume la conoscenza degli elementi di Sistemi
Operativi
Testi:
G. Coulouris, J. Dollimore, T. Kindberg:
"Distributed Systems: concepts and Design",
terza edizione, Addison-Wesley, 2000.
Gli esami consistono
di una prova scritta preliminare e
di una prova orale
svolte in date diverse
M.L. Liu:
"Distributed Computing", Addison-Wesley, 2003.
Prima prova - Scritto in Laboratorio
La prova Scritta si svolge in laboratorio
costituita da alcune parti di progetto,
tutte necessarie per dimostrare la
preparazione anche pratica
progetto funzionante
J.F. Kurose, K.W. Ross: "Internet e Reti", McGraw-Hill,
2001 (tradotto nel 2001 da "Computer Networking: a TopDown Approach Featuring the Internet", 2001).
Seconda prova - orale
La prova orale parte dallo scritto e dalle
esercitazioni e si sviluppa su tutti i temi
del corso
D. Reilly, M. Reilly: "Java Network Programming and
Distributed Computing", Addison-Wesley, 2002.
Esercitazioni di laboratorio
consentono se svolte e consegnate nei modi
specificati di abbuonare una parte dello scritto
D. Flanagan: "Java in a Nutshell - A Desktop Quick
Reference", terza edizione, O'Reilly, 1999.
Necessità di registrarsi per il corso
Sono disponibili
sia su Web sia come fotocopie
dispense sugli argomenti del corso
Reti di Calcolatori L-A
A.S. Tanenbaum: "Computer Networks", PrenticeHall, 1988 (tradotto in "Reti di Calcolatori", Jackson).
R.W. Stevens: "TCP/IP Illustrated: vol.1, vol.2, vol. 3",
Addison-Wesley, ed. 1994/5/6, anche edizioni successive.
5
Reti di Calcolatori L-A
6
Piano Lezioni
lunedì
aula 6.1, ore 9,30-12,00
martedì
aula 5.C, ore 9-12
ESAMI - PROGETTI in Laboratorio
Lunedì 12 Dicembre - ore 15
Esercitazioni: Giovedì due turni
Mercoledì 21 Dicembre - ore 9
Due turni - A: 14,30-16,30 B: 16,30-18,30
29 settembre - Esercitazione 0:
Multithreading in Java
6 ottobre - 1° esercitazione:
Socket in Java, senza connessione
13 ottobre - 2° esercitazione:
Socket in Java, con connessione
20 ottobre - 3° esercitazione:
Socket in C, esempi base
27 ottobre - 4° esercitazione:
Socket in C, gestione avanzata
3 novembre - 5° esercitazione/
10 novembre - 6° esercitazione:
Java Remote Method Invocation - RMI
Giovedì 12 Gennaio - ore 15
Due turni - A: [x ÷ x+2[ B: [x+2 ÷ x+4…
compatibili con le postazioni disponibili
Si possono sostenere due prove a sessione
per il progetto
ESAMI - ORALI
Martedì 20 Dicembre - ore 9,00
Martedì 10 Gennaio - ore 9,00
17 novembre - 7° esercitazione/
24 novembre - 8° esercitazione:
Remote Procedure Call - RPC
Venerdì 20 Gennaio - ore 9,00
1 dicembre - 9° Esercitazione finale:
Preparazione esame
Reti di Calcolatori L-A
7
Reti di Calcolatori L-A
8