Curs 2010-11

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:

 imatge de Model OSI

 

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

Email

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

pad2

 

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.

pad3

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