Corso di Reti di Calcolatori T -...

12
Corso di Reti di Calcolatori T Università degli Studi di Bologna Facoltà di Ingegneria Introduzione 1 Antonio Corradi Luca Foschini Anno accademico 2013/2014 Laurea in Ingegneria Informatica e altro … FINALIT FINALITÀ del CORSO del CORSO Si affrontano i temi di base dei sistemi in rete e distribuiti, considerando le più comuni realizzazioni, con l'obiettivo di analizzare i problemi, Introduzione 2 conoscere le strategie di soluzione, fornire una buona conoscenza operativa di strumenti e strategie di progetto dei sistemi distribuiti, eterogenei, interconnessi Sistemi Cliente/Servitore e oltre

Transcript of Corso di Reti di Calcolatori T -...

Page 1: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

Corso di

Reti di Calcolatori T

Università degli Studi di BolognaFacoltà di Ingegneria

Introduzione 1

Antonio CorradiLuca Foschini

Anno accademico 2013/2014

Laurea in Ingegneria Informatica e altro …

FINALITFINALITÀÀ del CORSOdel CORSO

Si affrontano i temi di base dei sistemi in rete e distribuiti, considerando le più comuni realizzazioni, con l'obiettivo di

– analizzare i problemi,

Introduzione 2

– analizzare i problemi, – conoscere le strategie di soluzione, – fornire una buona conoscenza operativa di

strumenti e strategie di progettodei sistemi distribuiti, eterogenei, interconnessi

Sistemi Cliente/Servitore e oltre

Page 2: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

• Conoscenze operative dei diversi ambienti(anche da rinforzare con attività in laboratorio)

• Conoscenze dei modelli e soluzioni per sistemiconcentrati, vedi concorrenza, presenza di attività molteplici

PREREQUISITI...PREREQUISITI...

Introduzione 3

• Capacità di gestire piccoli progetti• Capacità di sviluppare in modo autonomo• Competenze di ingegnerizzazione• Comprensione inglese …

COMPETENZE LATERALI in USCITACOMPETENZE LATERALI in USCITA

Lezioni ed esercitazioni molto integratePer ogni settimana (dieci centrali) si prevede una esercitazione di progetto correlata e necessaria (alla fine, prova progetto finale)

Il corso richiede sia conoscenze operative

STRUTTURA del CORSOSTRUTTURA del CORSO

Introduzione 4

Il corso richiede sia conoscenze operative di Java, Linux, sia conoscenze delle problematiche e delle soluzioniÈ considerata di base una conoscenza degli ambienti operativi: si raccomanda UNIX, delle primitive di file system e dell’I/O, oltre che unacapacità di operare in Java a livello di sistema

Page 3: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

Generalità e Concetti di base Inquadramento generale e definizioniConcetti di base e alcuni modelli di soluzioneSi presentano alcuni modelli caratteristici, come

▪ modelli a scambio di messaggi

PRELIMINARI del CORSOPRELIMINARI del CORSO

Introduzione 5

▪ modelli a scambio di messaggi▪ modello di interazione cliente/servitore▪ modelli di connessione, di stato, globali/locali,

ecc.

Esercitazione Preliminare (0):Concorrenza e processi in JAVA con i thread

Ambienti Standard e StandardizzazioneOrganizzazione a 7 livelli ISO-OSI ▪ generalità▪ livello di trasporto e di rete▪ livelli applicativi: sessione, presentazione

Il confronto con TCP/IP o Internet

PRIME CONOSCENZE STANDARDPRIME CONOSCENZE STANDARD

Introduzione 6

Il confronto con TCP/IP o Internet▪ livelli Internet▪ livello di trasporto e di rete

Esercitazione 1-2:Alcuni strumenti di comunicazione di ampio utilizzoSocket e relative primitive in Java

Page 4: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

Protocolli TCP/IP Protocolli per risolvere problemi e soluzioniSuite TCP/IP: livelli di rete IP e trasporto TCP e UDP

Gli strumenti di riferimento: Socket Le socket strumenti standard di comunicazione

CONOSCENZE OPERATIVE SOCKETCONOSCENZE OPERATIVE SOCKET

Introduzione 7

Le socket strumenti standard di comunicazione Socket e relative primitive in Java e CClienti e servitori di base ed evoluti

Esercitazione 3 e 4: Strumenti di comunicazione di ampio utilizzoSocket in C (per UNIX) per piccoli progetti C/S

Applicazioni e servizi Internet Applicazioni TCP/IP Applicazioni comuni per:▪ terminale remoto virtuale telnet▪ trasferimento di file ftp

ASSESTAMENTO CONOSCENZEASSESTAMENTO CONOSCENZE

Introduzione 8

▪ servizi asincroni mail, news, e ...Alcuni strumenti a larga diffusione in ambiente UNIX eWindows ai diversi livelli

Esercitazione 5: Sosta per assestare conoscenze per applicazioni cliente/servitore

Page 5: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

Operazioni Remote e RMI JavaChiamate di Procedura Remota come modello C/S applicativocaratteristiche e proprietàRemote Method Invocation come RPC in JAVA (RMI)

Esercitazioni 6 e 7: Progetto RMI in Java, da progetto semplice a più complesso

PROGETTI Cliente/ServitorePROGETTI Cliente/Servitore

Introduzione 9

Progetto RMI in Java, da progetto semplice a più complesso

Strumenti di comunicazione C/S: RPCChiamate di Procedura Remota o RPCUso di operazioni RPC per il supporto a NFSConfronto RPC e RMI

Esercitazione 8 e 9: Progetto RPC e strumenti ancora a due livelli di complessità

Sistemi Distribuiti e ServiziSistemi operativi distribuiti

File system più comuniNFS come esempio, Network File System di SUN

Sistemi di Nomi per identificare e ritrovare

PARTE FINALE PARTE FINALE

Introduzione 10

Sistemi di Nomi per identificare e ritrovare risorse

Problemi e possibili soluzioniAlcuni Sistemi di nomi: DNS e Directory X500

Esercitazione finale 10: Preparazione allo scritto finale in simulazione

Page 6: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

Gli esami consistono di una prova di progetto preliminare e una prova oralesvolte anche in date diverse

Prima prova - Scritto in LaboratorioLa prova Scritta si svolge in laboratoriocostituita da più parti di progetto, tutte necessarie

VALUTAZIONE VALUTAZIONE

Introduzione 11

costituita da più parti di progetto, tutte necessarie per dimostrare la preparazione pratica Ambiente C Unix e Java (Unix o Winxx)progetto funzionante

Seconda prova - oraleLa prova orale parte dallo scritto e dalle esercitazioni e si sviluppa su tutti i temi del corsoSenza dimenticare primitive progetto, ecc.

TEMPLATE PREREQUISITO PER L’ESAME ossia

SE NON SODDISFATTO NON SI PRENDE PARTE ALL’ESAMETemplate come schema di soluzione di un problema

Si devono consegnare in modo preliminare tutti i template di soluzione per le diverse parti di progettodurante le esercitazioni o in altri momenti prestabiliti

REQUISITO REQUISITO per RETI per RETI didi CALCOLATORICALCOLATORI

Introduzione 12

durante le esercitazioni o in altri momenti prestabilitiSENZA I TEMPLATE, L’ESAME NON È POSSIBILE

SI DEVONO USARE I TEMPLATE COME METODOLOGIANON si accettano sorgenti derivati da soluzioni precedenticon variabili che non c’entrano, codice commentatoestraneo, parti non necessarie, ecc. (linee utili/linee totali)FORTE PENALIZZAZIONE se non si procede correttamente

Page 7: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

I Template sono alla base per risolvere i progetti e per fornire soluzioni ordinate in tempo utile• Si devono consegnare tutti i template di soluzione prima

della prima prova di laboratorio di progetto

• I template si consegnano una volta per Anno Accademico• La loro validità formale è l’intero A.A.

TEMPLATE per TEMPLATE per RETI *RETI *

Introduzione 13

• La loro validità formale è l’intero A.A.• Si devono usare i template come base di partenza per i

sorgenti delle soluzioni di progetto

• Si devono tenere i template nella propria home

• Se si cambiano i template, non c’è bisogno di consegnarli più volte

• Familiarizziamo con i nostri template, chiave di successo

La valutazione del corso di Reti di Calcolatori T (9 crediti)si differenzia da quella di Reti di Calcolatori L-A (6 crediti)nella parte di PROGETTO

Unica prova di progetto per Reti di Calcolatori L-A su due parti che prevedono conoscenza della parte Javae della parte C

Valutazioni dei Corsi di Reti LValutazioni dei Corsi di Reti L--A A e Te T

Introduzione 14

e della parte C

Per il corso si Reti di Calcolatori T gli studenti devono anche rispondere ad una serie di domande di teoriaQuesta parte è preliminare al progetto per ogni data di esame e ne è parte integrante: chi non ottiene un giudizio sufficiente, non viene valutato della prova successiva ����

Dovete rispondere a tutte le domande

Page 8: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

La valutazione si basa su ogni elemento possibile: - Esercitazioni (consegna in laboratorio) e - Esami PARTE PROGETTO- Prova oraleAd inizio nuovo corso, scadono le prove non completate

Ogni studente è responsabile del proprio account e delle

ALGORITMO di VALUTAZIONE ALGORITMO di VALUTAZIONE

Introduzione 15

Ogni studente è responsabile del proprio account e delle prove in laboratorio: si consiglia di preparare e consegnare dei template per le prove da svolgere Si richiede la consegna dei template che può avvenire durante le ultime esercitazione o in date fissate (almaesami)

Ogni prova di progetto annulla la precedenteIl fallimento della prova orale può anche comportare l’annullamento del progetto ����

• Per ritrovare– materiale didattico (lezioni, esercizi)

– scambio informazioni

– proposte diverse di progetti / argomenti

http://lia.deis.unibo.it/Courses/RetiT/

IL SITO WEB DEL CORSOIL SITO WEB DEL CORSO

Introduzione 16

– proposte diverse di progetti / argomenti

• In laboratorio (LAB4 esercitazioni)– LAB2 in orari che non siano di lezione

ISCRIZIONE all'ANAGRAFICA del CORSO PER le ESERCITAZIONI su ALMAESAMI (da oggi)

Page 9: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

• Diapositive proiettate a lezione– consultabili sul sito Web

– disponibili al centro fotocopie della biblioteca

• TESTI di BASE– G. Coulouris, J. Dollimore, T. Kindberg, "Distributed

Systems: Concepts and Design", Addison-Wesley,

MATERIALE di RIFERIMENTOMATERIALE di RIFERIMENTO

Introduzione 17

Systems: Concepts and Design", Addison-Wesley, (quarta edizione) 2005.

– M.L. Liu, "Distributed Computing", Addison-Wesley, 2003.

Oltre ad altri …

Si assume una buona conoscenza dei meccanismi di sistemi operativi, sia in Java sia in C/UnixSi consigliano esplorazione di Internet e materiali aggiuntivi

Addizionali di interesse per parti• J.F. Kurose, K.W. Ross: "Internet e Reti", McGraw-Hill,

2001 (tradotto nel 2001 da "Computer Networking: a Top-Down Approach Featuring the Internet", 2001).

• A.S. Tanenbaum: "Computer Networks", Prentice-Hall, 1988 (tradotto in "Reti di Calcolatori", Jackson).

ANCORA TESTI di RIFERIMENTOANCORA TESTI di RIFERIMENTO

Introduzione 18

• D. Reilly, M. Reilly: "Java Network Programming and Distributed Computing", Addison-Wesley, 2002.

• R.W. Stevens: "TCP/IP Illustrated: vol.1, vol.2, vol. 3", Addison-Wesley, ed. 1994/5/6, anche edizioni successive.

• N. B. Melazzi: "Internet: Architettura, Principali protocolli e linee evolutive", Mc Graw-Hill, 2006.

• D. Flanagan: "Java in a Nutshell - A Desktop Quick Reference", terza edizione, O'Reilly, 1999.

E altri ancora… ☺

Page 10: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

PIANO LEZIONIPIANO LEZIONIAula: lunedì 15-17 esercitazioni in LAB4aula solo prime due settimane 0.5 (2 ore – 12-14)

martedì aula 5.7 (3 ore – 14-15)venerdì aula 5.7 (2 ore 12-14)

Esercitazioni:anche martedì mattina un turno di esercitazione (9-11)Potete anche lavorare in ore addizionali in LAB2

Introduzione 19

Potete anche lavorare in ore addizionali in LAB2

7 ottobre - Esercitazione 0: Multithreading in Java 14 e 21 ottobre - 1a e 2a esercitazione: Socket in Java, senza e connessione28 ottobre e 4 novembre- 3a e 4a esercitazione: Socket in C, esempi base e

gestione avanzata 11 novembre- - 5a esercitazione: riflessioni e elaborazioni18 e 25 novembre - 6a e 7a esercitazione:

RMI - Java Remote Method Invocation2 e 9 dicembre - 8a e 9a esercitazione: Remote Procedure Call - RPC16 dicembre - 10a Esercitazione finale: Preparazione esame

PRIME DUE SETTMANE di LEZIONIPRIME DUE SETTMANE di LEZIONI

Introduzione 20

Page 11: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

PIANO LEZIONIPIANO LEZIONI

Introduzione 21

BONUS BONUS -- ESERCITAZIONIESERCITAZIONI

GRANDE NOVITÀ Per chi segue le lezioni con costanza e capacità Potenziale Bonus aggiunto sul voto finale (fino a tre punti)

Chi consegna tutte le esercitazioni (almeno 80% delle 10) ha la possibilità di una valutazione dei progetti consegnati prima della prova finale che

Introduzione 22

progetti consegnati prima della prova finale che può portare al bonusOvvio per il bonus si richiede che il consegnato sia considerato accettabile per il livello del corso

Il bonus viene comunicato prima dell’orale

Page 12: Corso di Reti di Calcolatori T - lia.deis.unibo.itlia.deis.unibo.it/.../RetiT/RetiT_13-14/materiale/lezioni/iniziox2.pdf · Reti di Calcolatori T Università degli Studi di Bologna

PIANO ESAMIPIANO ESAMI

ESAMI - PROGETTI in Laboratorio Lab4Venerdì 10 Gennaio - ore 15Venerdì 31 Gennaio - ore 15Venerdì 14 Febbraio - ore 15Un turno - Reti T 15-17,30 / Reti L-A ore 15,30-17,30Si possono sostenere due prove di progetto a sessione CARICAMENTO TEMPLATE O Esercitazioni … o in LAB2

Introduzione 23

CARICAMENTO TEMPLATE O Esercitazioni … o in LAB2Venerdì 10 Gennaio - ore 10-11 Venerdì 31 Gennaio - ore 10-11 Venerdì 14 Febbraio - ore 10-11ESAMI - ORALIGiovedì 23 Gennaio - ore 9,00Giovedì 13 Febbraio - ore 9,00Giovedì 27 Febbraio - ore 9,00Un’altra prova orale possibile