Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Laurea in Ingegneria Informatica e altro … Antonio Corradi Luca Foschini Anno accademico 2014/2015 Introduzione 1 FINALITÀ FINALIT À del d l 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, p , – conoscere le strategie di soluzione, – fornire una buona conoscenza operativa di strumenti e strategie di progetto d i sistemi dei i t i distribuiti, di t ib iti eterogenei, t i interconnessi i t i Sistemi Cliente/Servitore / e oltre Introduzione 2 PREREQUISITI PREREQUISITI... • Conoscenze operative p dei diversi ambienti (anche da rinforzare con attività in laboratorio) • Conoscenze dei modelli e soluzioni per sistemi concentrati, t ti vedi di concorrenza, presenza di attività tti ità molteplici, filtri e modi di gestione I/O COMPETENZE LATERALI in USCITA • • • • Capacità di gestire piccoli progetti p di sviluppare pp in modo autonomo Capacità Competenze di ingegnerizzazione Comprensione inglese … Introduzione 3 STRUTTURA del CORSO Lezioni ed esercitazioni molto integrate Per ogni settimana (dieci centrali) si prevede una esercitazione di progetto correlata e necessaria (alla fine, prova progetto finale) Il corso richiede sia conoscenze operative di sistema Java / Unix, sia conoscenze delle problematiche e delle soluzioni È considerata di base una conoscenza degli ambienti operativi: si raccomanda UNIX, UNIX delle primitive di file system e dell’I/O, oltre che una capacità di operare in Java a livello di sistema Introduzione 4 PRELIMINARI del CORSO Generalità e Concetti di base Inquadramento generale e definizioni C Concetti tti di b base e alcuni l i modelli d lli di soluzione l i Si presentano alcuni modelli caratteristici, come ▪ 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 Progetto filtri e corretto uso delle risorse e API Introduzione 5 PRIME CONOSCENZE STANDARD Ambienti Standard e Standardizzazione Organizzazione a 7 livelli ISO-OSI ▪ generalità ▪ livello di trasporto e di rete ▪ livelli applicativi: sessione, presentazione Il confronto con TCP/IP o Internet ▪ livelli Internet ▪ livello di trasporto e di rete Esercitazione 1 1-2: 2: Alcuni strumenti di comunicazione di ampio utilizzo Socket e relative primitive in Java Introduzione 6 CONOSCENZE OPERATIVE SOCKET Protocolli TCP/IP Protocolli per risolvere problemi e soluzioni Suite TCP/IP: livelli di rete IP e trasporto TCP e UDP Gli strumenti di riferimento: Socket L socket Le k t strumenti t ti standard t d d di comunicazione i i Socket e relative primitive in Java e C Clienti e servitori di base ed evoluti Esercitazione 3 e 4: Strumenti di comunicazione di ampio utilizzo Socket in C (per UNIX) per piccoli progetti C/S Introduzione 7 ASSESTAMENTO CONOSCENZE Applicazioni e servizi Internet Applicazioni TCP/IP Applicazioni pp comuni per: p ▪ terminale remoto virtuale telnet ▪ trasferimento di file ftp ▪ servizi asincroni mail, news, e ... Alcuni strumenti a larga diffusione in ambiente UNIX e Wi d Windows aii di diversii lilivelli lli Esercitazione 5: Sosta per assestare conoscenze per applicazioni cliente/servitore Introduzione 8 PROGETTI Cliente/Servitore Operazioni p Remote e RMI Java Chiamate di Procedura Remota come modello C/S applicativo caratteristiche e proprietà ( ) Remote Method Invocation come RPC in JAVA (RMI) Esercitazioni 6 e 7: g RMI in Java,, da progetto p g semplice p a più p Progetto complesso Strumenti di comunicazione C/S: RPC Chiamate di Procedura Remota o RPC Uso di operazioni RPC per il supporto a NFS Confronto RPC e RMI Esercitazione 8 e 9: Progetto RPC e strumenti ancora a due livelli di complessità Introduzione 9 PARTE FINALE Sistemi Distribuiti e Servizi Sistemi operativi distribuiti File system Fil t più iù comunii NFS come esempio, Network File System di SUN Si t i di Nomi Sistemi N i per identificare id tifi e ritrovare it risorse Problemi P bl i e possibili ibili soluzioni l i i Alcuni Sistemi di nomi: DNS e Directory X500 Esercitazione finale 10: Preparazione allo scritto finale in sim simulazione la ione Introduzione 10 PREREQUISITO per RETI … TEMPLATE PREREQUISITO PER L’ESAME ossia S NON SE O SODDISFATTO SO S O NON O SI S PRENDE PARTE ALL’ESAME S Template come schema di soluzione di un problema Si devono consegnare in modo preliminare tutti i template di soluzione per le diverse parti di progetto durante le esercitazioni o in altri momenti prestabiliti SENZA I TEMPLATE, L’ESAME NON È POSSIBILE SI DEVONO USARE I TEMPLATE COME METODOLOGIA NON si accettano sorgenti derivati da soluzioni precedenti con variabili che non c’entrano, codice commentato estraneo, parti non necessarie, ecc. (linee utili/linee totali) FORTE PENALIZZAZIONE se non si procede correttamente Introduzione 11 TEMPLATE per RETI * I Template p sono alla base p per risolvere i p progetti g ep per fornire soluzioni ordinate in tempo utile • Si devono consegnare tutti i template di soluzione prima d ll prima della i prova di laboratorio l b t i di progetto tt • I template si consegnano una volta per Anno Accademico • La loro validità formale è ll’intero intero A.A. AA • Si devono usare i template come base di partenza per i g delle soluzioni di progetto p g sorgenti • Si devono tenere i template nella propria home • Se si cambiano i template, non c’è bisogno di consegnarli più volte • Familiarizziare F ili i i con i template t l t è chiave hi di successo Introduzione 12 VALUTAZIONE Gli esami possono essere svolti anche in date diverse: una prova in laboratorio preliminare e una prova orale Prima prova - Progetto in Laboratorio La prova consiste di - una sessione a domande aperte (8 domande – 30 minuti) su temi del corso - Un progetto in laboratorio (2 parti – 2ore): progetto per parti, tutte necessarie per dimostrare la preparazione progetto funzionante in Ambiente C e Java (Unix o Winxx) Seconda p prova - orale La prova orale parte dallo scritto e dalle esercitazioni e si sviluppa su tutti i temi del corso Senza dimenticare primitive, altri contenuti, ecc. Introduzione 13 Valutazioni dei Corsi di Reti LL-A e T La valutazione del corso di Reti di Calcolatori T (9 crediti) si differenzia da quella di Reti di Calcolatori L-A 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 Java e della parte C Per il corso si Reti di Calcolatori T gli studenti devono anche rispondere ad una serie di 8 domande di teoria Questa parte è preliminare al progetto per ogni data di esame e ne è parte integrante: Si deve rispondere a tutte le domande Chi non ottiene un giudizio sufficiente, non viene valutato della prova successiva Introduzione 14 ALGORITMO di VALUTAZIONE La valutazione si basa su ogni elemento possibile: - Esercitazioni (consegna in laboratorio) e - Esami PARTE PROGETTO - Prova P orale l Ad inizio nuovo corso, scadono le prove non completate Ogni studente è responsabile del proprio account e delle prove in laboratorio: si consiglia di preparare e consegnare dei p p per le p prove da svolgere g template Si richiede la consegna dei template che può avvenire durante le ultime esercitazione o in date fissate (almaesami) Ogni prova di progetto annulla la precedente Il fallimento della prova orale può anche comportare ll’annullamento annullamento del progetto Introduzione 15 PIANO LEZIONI Aula: lunedì 15-18 esercitazioni in LAB4 aula solo prime due settimane 0.5 (2 ore – 12-14) martedì dì aula l 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 6 ottobre - Esercitazione 0: Multithreading in Java 13 e 20 ottobre - 1a e 2a esercitazione: Socket in Java,, senza e connessione 27 ottobre e 3 novembre- 3a e 4a esercitazione: Socket in C, esempi base e gestione avanzata 10 novembre- - 5a esercitazione: riflessioni e elaborazioni 17e 24 novembre - 6a e 7a esercitazione: RMI - Java Remote Method Invocation a 1 e 9 dicembre - 8 e 9a esercitazione: Remote Procedure Call - RPC 15 dicembre - 10a Esercitazione finale: Preparazione esame Introduzione 16 BONUS - ESERCITAZIONI NOVITÀ IMPORTANTE Il corso richiede applicazioni e capacità di laboratorio laboratorio, Premio per chi segue le lezioni con costanza e capacità Potenziale Bonus aggiunto sul voto finale (fino a tre punti) Chi consegna le esercitazioni (almeno 80% delle 10) ha la possibilità à di una valutazione dei progetti consegnati prima della prova finale che può portare al bonus Ovvio per il bonus si richiede che il consegnato sia per il livello del corso considerato accettabile p Il bonus viene comunicato prima dell’orale Introduzione 17 IL SITO WEB DEL CORSO http://lia.deis.unibo.it/Courses/RetiT/ // / / / • Per ritrovare – materiale didattico (lezioni, esercizi) – scambio informazioni – 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) Introduzione 18 MATERIALE di RIFERIMENTO • Diapositive proiettate a lezione – consultabili l bili sull sito i W Web b – disponibili al centro fotocopie della biblioteca • TESTI di BASE – G. Coulouris, J. Dollimore, T. Kindberg, "Distributed Systems: Concepts and Design", Design , Addison Addison-Wesley, Wesley, (quarta edizione) 2005. – M.L. Liu, "Distributed Computing", Addison-Wesley, 2003. 2003 Oltre ad altri … Si assume una buona conoscenza dei meccanismi di sistemi operativi, sia in Java sia in C/Unix Si consigliano esplorazione di Internet e materiali aggiuntivi Introduzione 19 ANCORA TESTI di RIFERIMENTO Addizionali di interesse per parti • J.F. Kurose, K.W. Ross: "Internet e Reti", McGraw-Hill, 2001 (tradotto nel 2001 da "Computer Networking: a TopDown Approach Featuring the Internet" Internet , 2001). 2001) • A.S. Tanenbaum: "Computer Networks", Prentice-Hall, 1988 (tradotto in "Reti di Calcolatori", Jackson). • D. Reilly, M. Reilly: "Java Network Programming and Distributed Computing", Addison-Wesley, 2002. • R.W. R W Stevens: "TCP/IP TCP/IP Illustrated: vol vol.1, 1 vol vol.2, 2 vol vol. 3" 3, Addison-Wesley, ed. 1994/5/6, anche edizioni successive. • N. B. Melazzi: "Internet: Architettura, Principali protocolli e li linee evolutive", l ti " M Mc G Graw-Hill, Hill 2006 2006. • D. Flanagan: "Java in a Nutshell - A Desktop Quick y, 1999. Reference",, terza edizione,, O'Reilly, E altri ancora… ☺ Introduzione 20 PRIME DUE SETTMANE di LEZIONI Introduzione 21 PIANO LEZIONI Introduzione 22 PIANO ESAMI ESAMI - PROGETTI in Laboratorio Lab4 Venerdì 9 Gennaio - ore 15 Venerdì 30 Gennaio - ore 15 Giovedì 12 Febbraio - ore 15 Un turno - Reti T 15-17,30 / Reti L-A ore 15,30-17,30 Si possono sostenere due prove di progetto a sessione CARICAMENTO TEMPLATE O Esercitazioni … o in LAB2 Venerdì 9 Gennaio - ore 10-11 Venerdì 30 Gennaio - ore 10-11 Giovedì 12 Febbraio - ore 10-11 ESAMI - ORALI Giovedì 22 Gennaio - ore 9,00 9 00 Mercoledì 11 Febbraio - ore 9,00 Giovedì 26 Febbraio - ore 9,00 Un’altra prova orale possibile Introduzione 23
© Copyright 2024 ExpyDoc