Protocols i Aplicacions Distribuïdes (21415)
Titulació/estudi: Grau d'Enginyeria en Informàtica
Curs: segon
Trimestre: tercer
Nombre de crèdits ECTS: 4 crèdits
Hores de dedicació de l'estudiant: 100 hores
Llengua o llengües de la docència: Català i material en castellà i anglès
Professor: Dolors Sala i Xavier Perramon
1. Presentació de l'assignatura
Aquesta assignatura de protocols i aplicacions distribuïdes (PAD) s'emmarca dins la línia docent de xarxes després d'haver cursat l'assignatura de "Xarxes i Serveis" (XS) de primer curs. Assumeix per tant que els conceptes bàsics de xarxes explicats a XS són coneguts. Tot i així es fa una sessió de repàs sobre aquests conceptes per tenir-los frescos i poder-los aplicar amb fluïdesa i estendre en les següents sessions. Aquest contingut s'extrau de la bibliografia bàsica de l'assignatura XS i és dona com a lectura obligada en aquesta assignatura PAD per tenir un punt d'inici de coneixement adequat i unificat.
L'assignatura PAD estén els coneixements de les capes superiors de la torre OSI enfocant-se en les aplicacions distribuïdes i en les infraestructures de xarxa que aquestes aplicacions necessiten per operar. Més concretament s'enfoca en les aplicacions client-servidor deixant les aplicacions peer-to-peer i altres arquitectures per l'assignatura "Desenvolupament d'aplicacions distribuïdes" (DAD). PAD s'enfoca en les competències d'ús, configuració i manteniment de les aplicacions deixant la programació de les funcionalitats de les aplicacions per l'assignatura DAD. També assenta els primers conceptes de seguretat en xarxes per poder-los estendre en un futur en una assignatura optativa dedicada exclusivament a conceptes de seguretat en la xarxa sobre tots els nivells del model OSI. En contra partida l'assignatura "Arquitectura de Xarxes" (AX) s'enfoca a les capes inferiors del Model OSI.
Així doncs l'itinerari docent que s'emmarca l'assignatura PAD és el següent:
Aquesta assignatura profunditza el coneixement de les capes superiors del model OSI enfocant-se molt concretament en les aplicacions distribuïdes i les infraestructures de xarxes necessàries pel seu funcionament (capa d'aplicació).
El món de les aplicacions a internet està canviant constantment per tant l'objectiu de l'assignatura no és conèixer les aplicacions actuals sinó aprendre els coneixements necessaris de disseny d'aplicacions utilitzant com exemple algunes des les aplicacions actuals més importants. Així doncs l'assignatura posa especial èmfasis en entendre la visió de sistema per entendre el context en què una aplicació es mou (opera, dissenya i usa), quina infrastructura de xarxa utilitza i com s'hi relaciona i saber compaginar conceptualment i a la pràctica tots aquests elements per en un futur extrapolar-los altres aplicacions o arquitectures. La part pràctica no es limita tan sols a saber instal.lar i fer funcionar les aplicacions sinó també entendre el concepte de política d'ús i saber-la implantar a partir de les opcions de configuració de la mateixa.
2. Competències que s'han d'assolir
L'assignatura es divideix en quatre blocs principals:
1. Conceptes bàsics de xarxes (repàs)
2. Conceptes bàsics de seguretat en les comunicacions
3. Infraestructura de xarxes per les aplicacions distribuïdes
4. Exemples d'aplicacions client-servidor
Les competències que s'assoleixen en aquesta assignatura són:
Competències Específiques |
|
C1 |
Entendre l'infraestructura de xarxes que necessiten les aplicacions distribuïdes per funcionar |
C2 |
Entendre els conceptes basics de seguretat en les comunicacions |
C3 |
Entendre la funcionalitat del sockets i saber-la fer servir per posar en pràctica comunicacions en la xarxa |
C4 |
Entendre la necessitat i funcionalitat del DHCP i saber-ho posar a la pràctica instal·lant i configurant un servidor DHCP |
C5 |
Entendre la necessitat de dominis de noms a la xarxa i saber definir els sub-dominis necessaris en funció de les necessitats d'un entorn concret i saber-ho posar a la pràctica instal·lant i configurant un servidor DNS |
C6 |
Entendre, saber instal·lar, saber configurar i saber definir polítiques d'ús d'algunes aplicacions distribuïdes basades en el model client-servidor (correu electrònic, http, ftp) |
C7 |
Saber identificar el nivell de qualitat de servei que necessita una aplicació i saber entendre i saber aplicar les funcionalitats QoS adequades |
Competències Transversals |
|
C8 |
Capacitat de raonament i abstracció |
C9 |
Capacitat de mapejar conceptes en funcionalitats pràctiques d'equipaments o programes |
C10 |
Capacitat d'entendre manuals d'usuari, instal·lació i/o configuració de software (i hardware) |
C11 |
Capacitat d'abordar problemes/projectes d'una certa complexitat i embargadura de forma independent |
C12 |
Capacitat de treballar en equip |
C13 |
Iniciativa |
3. Continguts
1. Conceptes bàsics de xarxes (repàs)
a. Model OSI
b. Definició de protocol
c. Conceptes d'internet
2. Interfície de sockets
3. Seguretat
a. Conceptes bàsics
i. Amenaces, mecanismes de protecció i serveis de seguretat
ii. Xifratges
iii. Criptografia de clau pública i certificats
iv. Autenticació de missatges i funcions hash
v. Protocols d'autenticació i signatures digitals
b. Protocols i aplicacions de seguretat:
i. IPsec,
ii. SSL/TLS
iii. Tallafocs
4. Infraestructura de les aplicacions
a. DHCP
b. DNS
5. Aplicacions client-servidor
a. Web: http, https
b. Email: smtp, s/MIME, PGP
c. FTP
6. Conceptes de protocols multimèdia: RSVP, RTP
Amb aquests continguts s'assoleixen els següents coneixements:
Conceptes |
||
Model OSI |
Protocol |
Encapsulació de dades |
Sub-xarxa |
Arquitectures client-servidor i peer-to-peer |
Sockets |
DNS |
Amenaces, atacs |
Confiança en seguretat |
Serveis de seguretat |
Certificats i signatures digitals |
Tallafocs |
Web |
|
Transferència de fitxers |
Procediments |
Encaminant de paquets via establiment de camins o via datagrames |
Criptografia de clau pública i privada |
Xifratge i funcions hash |
Autenticació |
IPsec, |
SSL/TLS |
DHCP |
HTTP(s) |
Instal·lar i posar en marxa un servidor d'una aplicació |
Instal·lar i posar en marxa un client d'una aplicació |
Saber configurar una aplicació per un escenari d'ús concret |
Definir polítiques d'ús d'una aplicació |
Actituds |
Decisió a l'hora d'instal·lar i configurar clients i servidors |
Veure el conjunt de paràmetres d'una configuració com una estratègia (política d'ús) pensada |
4. Avaluació
Avaluació |
|
|
Mini-projecte* |
25% |
|
Altres pràctiques* |
15% |
|
Examen teòric* |
35% |
|
Examen pràctic* |
15% |
|
Prova repàs (teoria) |
10% |
|
Total |
100% |
|
Activitats opcionals** |
20% |
120% |
* Cal aprovar (més d'un 5) totes les parts per poder fer mitja |
||
** Es proposaran/aceptaran activitats opcionals que poden afegir fins a un 20% addicional a la nota final |
5. Bibliografia i recursos didàctics
5.1. Bibliografia bàsica
[1] Kurose, J. F., Ross, K. W, "Computer Networks, A Top-Down Approach Featuring the Internet", Pearson Addison Wesley. 2010
[2] Douglas Comer, "Internetworking with TCP/IP Volume I: principles, protocols and architecture", 5th Edition, 2006, Ed. Prentice Hall.
[3] W. Stallings, Cryptography and Network Security: Principles and Practice, 5th Edition, 2010, Ed. Prentice Hall.
5.2. Bibliografia complementària
[4] Andrew Tanenbaum, "Computer Networks", 4th Edition, 2003 Pearson Education Inc.
6. Metodologia
L'assignatura té una orientació pràctica al enmarcar una gran part del treball independent de l'assignatura en el projecte. L'informe del projecte ha de demostrar el coneixement conceptual i pràctic de l'aplicació que es proposa.
Els continguts d'aquesta assignatura poden ser aplicats de manera diària per molts de nosaltres i varis dels alumnes poden tenir una fluïdesa important en aplicacions concretes que poden servir igualment d'exemple per consolidar les competències objectiu de l'assignatura. És per això que l'assignatura té una part optativa amb l'intent d'aglutinar el coneixement pràctic dels diferents perfils dels estudiants a l'aula i canalitzar-lo cap a coneixement formal.
Es vol que cada alumne es faci seva l'assignatura en funció del seu propi perfil i per tant cada un trobi el seu propi marc de com consolidar les competències a assolir. Així doncs s'anima als alumnes a participar en les activitats opcionals i a proposar noves activitats per fer que l'assignatura sigui més amena, estigui al dia i s'adapti i aprofiti les motivacions i coneixements previs dels alumnes en el camp objectiu de l'assignatura de les aplicacions (client-servidor) d'internet que és tan quotidià per qualsevol professional de la informàtica avui en dia. Tots nosaltres som usuaris assidus del correu electrònic, web i ftp i som usuaris assidus d'altres aplicacions més noves i potser (transitòriament) no tan populars.
En principi, l'assignatura contempla el cas de que vosaltres plantegeu el vostre propi projecte, estudieu de forma més teòrica una aplicació i feu lectures de continguts teòrics addicionals per tal d'anar més enllà dels continguts tan pràctics com teòrics plantejats.
L'assignatura es composa de tres tipus de sessions:
1. Sessions teòriques (T):
Aquestes són sessions majoritàriament magistrals on el professor explica continguts però s'involucra a l'alumne en la construcció dels continguts. Aquestes sessions segueixen els continguts d'un llibre o document de la bibliografia i s'espera que l'alumne llegeixi aquests continguts de la bibliografia després de la sessió. Els 10 primers minuts de la següent sessió es fa repàs i resolució de dubtes de la sessió anterior. Aquestes sessions són de dues hores i es realitzen amb grup gran (tots els alumnes, és a dir, només hi ha un grup de teoria).2. Sessions de pràctiques (P):
Aquestes sessions són totes sobre ordinador o al laboratori de xarxes per posar en funcionament, configurar i utilitzar conceptes de l'assignatura sobre equipament o software real. Les pràctiques són sessions de dues hores amb la meitat dels alumnes, així doncs hi ha dos grups de pràctiques: P11 i P12. Es treballen en grups de 3 alumnes a escollir entre ells. L'enunciat de la pràctica es dona en una setmana d'antelació i els alumnes es preparen els passos a realitzar abans d'arribar a l'aula. La pràctica es realitza durant la sessió de dues hores amb ordinador i es presenta l'informe de grup com a molt tard 3 dies després de la sessió (publicada a l'aula global). La última pràctica té un format diferent en què és un mini-projecte que es comença amb la sessió de la P5 i els alumnes l'han de treballar fins a final de curs.3. Sessions de seminaris (S):
En aquestes sessions es consoliden conceptes teòrics posant-los a la pràctica realitzant exercicis del llibre en qüestió algun d'ells com petites pràctiques sobre ordinador per materialitzar algun concepte. Els alumnes han de venir amb el material preparat per participar activament en les activitats del seminari. L'activitat corresponent es publica a moodle una setmana abans i l'alumne prepara el material i l'entrega dos dies abans del seminari. Aquestes sessions són de dues hores amb un nombre reduït d'alumnes per potenciar la interactivitat i participació dels mateixos. Es treballa amb el mateix grup d'alumnes que les pràctiques, així els grups de seminaris es formen a partir dels grups de pràctiques. Així tenim els grups de seminaris: S111, S112, S121, S122.Estem planificant també una sessió conferència d'un expert en aplicacions web i DNS perquè ens expliqui la realitat del funcionament i ús d'aquestes aplicacions que és un element clau i necessari per la realització del mini-projecte. Encara està pendent de confirmar. Es recomana l'assistència a aquesta sessió ja que no es tindrà accés a aquesta persona fora d'aquesta sessió.
L'assignatura inclou la realització d'un mini-projecte a més de les pràctiques. Aquest mini-projecte s'inicia en la última sessió de pràctiques i utilitza les 4 sessions d'un seminari per donar suport a la seva realització en forma de sessió lliure on cada grup treballa el seu mini-projecte i el professor de pràctiques està disponible per resoldre dubtes. Aquestes sessions es farà en una aula d'ordinadors i tots els grups de pràctiques poden assistir a totes 4 sessions. En principi l'enunciat del mini-projecte és un i igual per tots els grups de projectes, però els grups poden fer una proposta de treballar una aplicació (client-servidor) diferent a la proposada al professor de pràctiques. Cal que la proposta permeti treballar les mateixes competències del projecte proposat però en aquest cas no es comptarà amb el suport de coneixement específic de l'aplicació per part del professor de pràctiques. El professor de pràctiques informarà el grup si accepta la seva proposta com a substitutòria del projecte estàndard. Si el projecte resultant és d'una molt bona qualitat es podria arribar a donar una puntuació addicional del 20% respecte el projecte estàndard. Però si el projecte no elabora correctament les competències mínimes del projecte estàndard es podria tenir que realitzar igualment el projecte estàndard.
7. Programació d'activitats
El curs es divideix en tres parts. Una primera part (setmanes 1-2) intensiva de classes teòriques per avançar continguts. Una segona part (setmanes 3-7) on es combina teoria, pràctiques i seminaris seguint un ordre d'interrelació temàtica entre elles. I una tercera part (setmanes 8-10) que està pràcticament dedicada exclusivament a l'elaboració del mini-projecte i posar en pràctica tots els continguts de l'assignatura treballant-lo de forma independent en grups.
La conferència (Conf.) està pendent de confirmar.
Llistat d'activitats amb termini de lliurament i avaluació
Activitat |
Data Enunciat |
Data Lliurament |
Data de lliurament de resultats |
Prova repàs (teoria) |
Dimecres setmana 3 |
Setmana 4 |
|
Pràctica 1 |
Setmana 2 |
Setmana 3 (P12) / Setmana 4 (P11) |
Setmana 5 |
Pràctica 2 |
Setmana 4 |
Setmana 5 (P12) / Setmana 6 (P11) |
Setmana 7 |
Pràctica 3 |
Setmana 5 |
Setmana 6 (P12) / Setmana 7 (P11) |
Setmana 8 |
Pràctica 4 |
Setmana 6 |
Setmana 7 (P12) / Setmana 8 (P11) |
Setmana 9 |
Mini-projecte |
Setmana 7 |
Setmana 10 |
Juntament amb els resultats finals |
Seminari 1 |
Una setmana abans del primer grup de seminari (veure moodle) |
Dos dies abans del primer grup del seminari via moodle |
Es treballa a la sessió del seminari |
Seminari 2 |
|||
Seminari 2 |