Curs 2014-15

Protocols i Aplicacions Distribuides

Titulació: Codi: Tipus:
Grau en Enginyeria Informàtica 21415 Obligatòria 2n curs
Grau en Enginyeria Telemàtica - -
Grau en Enginyeria en Sistemes Audiovisuals 22671 Optativa

 

Crèdits ECTS: 4 Dedicació: 100 hores Trimestre: 3r

 

Departament: Dept. de Tecnologies de la Informació i les Comunicacions
Coordinador: Dolors Sala
Professorat:

Dolors Sala, Kamruddin Nur

Idioma:

Català i material en castellà i anglès

Horari:
Campus: Campus de la Comunicació - Poblenou

 

Presentació de l'assignatura

L’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. Per tant, a PAD s’assumeix que els conceptes bàsics de l’assignatura de Xarxes i Serveis (XS) s’han assolit. Tot i així es fa un repàs dels conceptes més importants per poder-los aplicar amb fluïdesa i establir la base conceptual de l’assignatura.

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, és a dir, es centra majoritàriament a la capa d’aplicació del Model OSI. Més concretament s’enfoca en les aplicacions client-servidor des del punt de vista de les competències d’ús, configuració i manteniment d’aquest tipus d’aplicacions. També introdueix els primers conceptes de seguretat en xarxes en el currículum de grau d’informàtica.

L’ús de les aplicacions d’internet s’ha convertit en part del dia a dia tan professional com personal en la nostra societat. Així doncs, nosaltres som usuaris quotidians de les aplicacions que s’estudien en l’assignatura. No obstant això, cal diferenciar el coneixement general que representa la visió d’usuari i el coneixement tècnic que ha de tenir un professional en el tema. Així doncs, l’assignatura ha de servir per adquirir la nomenclatura i coneixement especialitzat d’aquestes eines.

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 infraestructura 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 a 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. Les pràctiques us situen com l’informàtic d’una empresa responsable de les aplicacions i serveis d’Internet adquirint les competències i habilitats necessàries en aquesta responsabilitat.

PAD té com a continuació l’assignatura “Desenvolupament d’aplicacions distribuïdes” (DAD) que treballa les aplicacions distribuïdes però en aquest cas les aplicacions de tipus peer-to-peer i vistes des del punt de vista de desenvolupament per treballar les competències de programació. Els temes de seguretat s’amplien en l’assignatura optativa “Estratègies de Seguretat en Xarxes i Serveis” (ESXS) la qual està dedicada exclusivament a seguretat en la xarxa sobre tots els nivells del model OSI. En paral·lel a l’assignatura de PAD, hi ha l’assignatura d’Arquitectura de Xarxes (AX) que estudia les capes inferiors del Model OSI.

 

Prerequisits

No en té.

 

Competències

Competències transversalsCompetències específiques

Instrumentals

C11 Capacitat de raonament i abstracció

C12 Capacitat d’abordar problemes/projectes d’una certa complexitat i envergadura de forma independent

Interpersonal

C13 Capacitat de treballar en equip

Sistemàtica

C14 Iniciativa

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

C8 Capacitat de mapejar conceptes en funcionalitats pràctiques d’equipaments o
programes

C9 Capacitat d’entendre manuals d’usuari, instal·lació i/o configuració de software (i hardware)

C10 Entendre el paper i saber executar les responsabilitats de l’informàtic de les
aplicacions i serveis d’Internet d’una empresa.

 

Avaluació

L’assignatura dona el mateix pes a la teoria que la part pràctica amb un 50% de la nota final a cada part. A més hi ha activitats addicionals que si es realitzen pugen nota (fins un 25% més) si la nota final ja és aprovada (>= 5). 

Avaluació

 

 

Teoria (1)

50%

 

Examen 1er bloc (1)

40%

 

Examen 2n bloc (1)

50%

 

Entrega electrònica resums de teoria (2)

10%

 

Pràctiques

50%

 

Pràctica 1-6 (1)

10%

 

Projecte final (1)

20%

 

Lab performance (individual) Projecte final (1)

20%

 

Total

100%

 

Entrega presencial resums de teoria (2)

Activitats opcionals (per pujar nota si nota final és >= 5 (3)

 

5%

20%

 

125%

 

 

 

Cada pràctiques valora

 

 

Entrega pràctica (grup) (1)

50%

 

Examen (escrit) pràctiques (individual) (1)

50%

 

(1) Cal aprovar (més d’un 5) cada una de les parts o pràctica per separat per poder fer mitja.

 

(2) Entregues no obligatòries. Cal participar almenys un 50% de les sessions/materials per tenir la part proporcional d’aquesta nota.

 

(3) Es proposaran/acceptaran activitats opcionals que poden afegir fins a un 20% addicional a la nota final (puja nota només si la nota final ja és aprovada) o de la nota de teoria o pràctiques en funció de la proposta.

 


La teoria s’avalua amb exàmens dividint el temari en dos blocs, i cal superar cada bloc per separat. El primer bloc s’avalua en l’examen parcial i el segon bloc s’avalua a l’examen del juny. Tots dos blocs tenen un oportunitat de recuperar si es suspèn. El parcial es pot recuperar al juny i l’examen de juny es pot recuperar al Juliol. Al juliol no hi ha opció de recuperar l’examen parcial ja que seria un tercer intent.

S’espera que tothom estudiï la teoria a mesura que es va donant per tal de sincronitzar els continguts i aprenentatge de teoria amb les pràctiques. Per això es demana elaborar els resums de teoria després de cada sessió i entregar-los electrònicament abans de la següent sessió. Aquests resums de teoria serveixen per començar la sessió amb un repàs del dia anterior i per tant si es porten impresos a l’aula (presencialment) es valora pujant la nota final un 5% amb l’objectiu de motivar la participació dels alumnes presents a l’aula.

L’avaluació de pràctiques es fa amb un examen de pràctiques (individual) i l’entrega de pràctiques en grup, i hi ha una valoració individual de l’alumne al laboratori. L’examen de pràctiques avaluarà cada pràctica per separat. Així doncs cada pràctica tindrà una nota formada pel promig de la nota de grup de la pràctica i la nota individual de l’examen de la pràctica. Caldrà aprovar cada pràctica de manera independent per aprovar les pràctiques i per tant l’assignatura. La nota de “lab performance” avalua el coneixement pràctic al laboratori a nivell individual de forma oral (demo day).

El treball de pràctiques (inclòs el projecte final) es realitzen en grup. Els resums de teoria i, lògicament, els exàmens (teoria i pràctiques) es realitzen individualment. S’espera que aquest treball individual sigui el resultat de l’esforç individual d’estudi sense passar-se informació entre companys. Així mateix, s’espera que tots els membres del grup de pràctiques participin en el treball d’equip o si no és el cas que només es posi el nom de les persones que hagin participat i s’informi al professor de pràctiques. No s’admetrà la còpia d’entregues individuals ni la declaració fraudulenta de participació en les entregues d’equip i s’actuarà de manera contundent en les dues parts (tan a la persona que còpia com la que es deixa copiar i sobre tots els membres d’equip en les entregues d’equip). En qualsevol d’aquests casos totes les persones involucrades perdran el dret de nota i s’obrirà un expedient.

Només els exàmens són proves recuperables al juliol. La resta de components d’avaluació és avaluació continua que no són recuperables.

 

Continguts

L’assignatura es composa de 10 temes que es poden agrupar en 4 blocs de continguts tal i com es llisten a continuació. 

Conceptes bàsics de xarxes

  1. Conceptes bàsics de xarxes (repàs)
  2. Model client-servidor
  3. Interfície de sockets

 Infraestructura de xarxes per les aplicacions distribuïdes

  1. DHCP
  2. DNS

 Exemples d’aplicacions client-servidor

  1. Web: HTTP, HTTPS
  2. Email: SMTP, s/MIME, PGP
  3. FTP

Conceptes més avançats de protocols

  1. Conceptes bàsics de seguretat
  2. Conceptes de protocols multimèdia: RSVP, RTP

 

El primer bloc de conceptes bàsics de xarxes inclou un capítol de repàs de definicions bàsiques de xarxes, per després entrar en el capítol de definició del model client-servidor d’aplicacions d’internet i un capítol més pràctic de definició de la interfície de sockets que defineix les eines per fer efectiva la comunicació entre dos dispositius connectats físicament amb un cable i per tant el primer pas per construir una xarxa de comunicació. El segon bloc de continguts introdueix el concepte de seguretat en xarxa i definicions bàsiques que estableixen els elements bàsics d’un sistema complert de seguretat. El tercer bloc defineix la infraestructura d’internet que cal establir per les aplicacions distribuïdes. Aquesta infraestructura inclou un parell d’aplicacions imprescindibles perquè les altres puguin funcionar, és a dir, fan de suport a les altres aplicacions d’usuari. Una aplicació és el DHCP, protocol de configuració de hosts, que s’encarrega de trobar l’adreça d’un servidor per poder-s’hi comunicar. L’altre aplicació és el directori de noms (DNS) que tradueix els noms (de dispositius i fitxers) a adreces (numèriques) IP. Aquestes dues aplicacions formen una plataforma de suport per totes les altres aplicacions d’internet. El quart bloc de continguts estudia un conjunt d’aplicacions distribuïdes del model client-servidor que inclou: la web, l’email i el ftp. Aquestes aplicacions s’han escollit per ser les més bàsiques i utilitzades però són un exemple de les moltes que existeixen i que sorgiran en un futur. S’invita als alumnes a estudiar altres aplicacions com a projecte. Finalment, el cinquè bloc incorpora elements més avançats de protocols per millorar el suport de les aplicacions multimèdia les quals tenen necessitats més sofisticades de transport.

 Aquests continguts no es donen necessàriament en aquest ordre i s’introdueixen temes dels diferents blocs segons un ordre temàtic i d’activitats que permeten compaginar millor les sessions de teoria, seminaris i pràctiques.

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

 

Web

Email

Transferència de fitxers

 

Procediments

Encaminament de paquets via establiment de camins o via datagrames

Criptografia de clau pública i privada

Xifratge i funcions hash

Autenticació

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

 

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 pensada

 

Metodologia

L’assignatura té una orientació pràctica al emmarcar una gran part del treball independent de l’assignatura en les pràctiques i projecte final. L’informe del projecte ha de demostrar el coneixement conceptual i pràctic de les responsabilitiats d’un enginyer com a administrador del serveis d’internet d’una empresa. Es vol assegurar que tothom adquireixi les competències pràctiques encara que es treballi en grup.

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. Remarcar, per altra vegada, que l’objectiu de l’assignatura és elevar el nivell d’usuari en aquestes tecnologies a un nivell professional de grau en enginyeria d’informàtica.

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 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.  

L’assignatura contempla el cas de que vosaltres apropeu l’assignatura als vostres interessos i coneixemnts plantejant el vostre propi projecte o altres activitats d’estudi rellevants a l’assignatura.  Per tal de gestionar correctament aquestes iniciatives es posa una data límit per fer aquestes propostes a poc després del parcial (consultar aula global per data exacta).

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 es recomana 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. Aquest repàs es fa en base a la participació dels alumnes amb els seus resums elaborats prèviament. El nivell de comprensió és molt més elevat quan les pròpies preguntes venen formulades per un mateix en el procés d’estudi. Així doncs els resums són en forma de preguntes i respostes del contingut. Els dubtes per tant seran les preguntes que no s’ha pogut formular una resposta adequada. Els resums converteixen el material de l’assignatura en una llista de preguntes (i respostes) exhaustiva (que inclou tot el temari) i tan llarga com sigui possible (que englobi no tan sols els coneixements directes sinó també la comprensió en diferents perspectives i relacions entre ells) i són material d’estudi per l’examen. Aquests resums s’entreguen electrònicament abans de la sessió però també es porten impresos a l’aula per comentar-los. L’entrega presencial en paper a l’aula es valora (puja nota final) ja que són la base de la participació i interacció dels alumnes en les sessions de teoria.  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 electrònicament una setmana més tard (publicada a l’aula global). Els anunciats de les pràctiques estan força guiades on es donen pautes sobre els passos a realitzar i es demana els resultats obtinguts pas a pas. Però també s’espera una interpretació i enteniment de la pràctica a més alt nivell demanant raonaments més oberts de conclusions. Progressivament els anunciats intenten ser menys guiats o els apartats d’interpretació més complerts per arribar a la última pràctica que és un projecte final. El projecte final té un anunciat general sense passos entremitjos a seguir on els alumnes han de decidir primer el pla de treball (passos a seguir) per elaborar-ho.  Les pautes més detallades de treball d’aquest projecte final es donen al final d’aquest secció.
  3.  Sessions de seminaris (S): Aquestes sessions es plantegen com sessions de treball i estudi sobre els continguts amb l’objectiu de consolidar els conceptes, i procediments que s’han d’adquirir fent us dels resums (de teoria) elaborats en el seu moment per les sessions de teoria (o entregats més tard només pels seminaris però en aquest cas compte un 25% de la nota), o simplement resolvent dubtes dels alumnes presents.

Definició i plantejament del projecte final. Com s’ha dit anteriorment, el projecte final és una pràctica una mica més estesa amb un enunciat general sense plantilla estructurada de com elaborar-lo. Al seguiment del projecte final se li dedica 4 sessions en forma de sessió lliure on cada grup treballa el seu projecte final i el professor de pràctiques està disponible per resoldre dubtes. Aquestes sessions es faran en una aula d’ordinadors (sempre que es pugui) per permetre que tots els grups de pràctiques puguin assistir a totes 4 sessions si volen. En principi l’enunciat del projecte final é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. En qualsevol cas, la nova proposta de projecte podria servir per pujar fins a un 20% la nota de l’assignatura. L’avaluació del projecte serà mitjançant l’entrega d’un informe de projecte i una demo pràctica on es demostra la part pràctica del projecte i on tots els membres del grup han de demostrar la participació i coneixement del treball realitzat. Cal indicar l’interès de fer un projecte diferent o un projecte addicional per pujar nota dins la data límit (veure aula global).

 

Recursos

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.

Bibliografia Complementària

[4] Andrew Tanenbaum, “Computer Networks”, 4th Edition, 2003 Pearson Education Inc.