Curso 2013-14
Protocolos y Aplicaciones Distribuídas
Titulación: | Código: | Tipo: |
Grado en Ingeniería Informática | 21415 | Obligatoria 2º curso |
Grado en Ingeniería Telemática | - | - |
Grado en Ingeniería en Sistemas Audiovisuales | 22671 | Optativa |
Créditos ECTS: | 4 | Dedicación: | 100 horas | Trimestre: | 3º |
Departamento: | Dpto. de Tecnologías de la Información y las Comunicaciones |
Coordinador: | Dolors Sala |
Profesorado: | Dolors Sala, Kamruddin Nur |
Idioma: | Catalán y material en castellano y en inglés |
Horario: | |
Campus: | Campus de la Comunicación - Poblenou |
La asignatura de protocolos y aplicaciones distribuidas (PAD) se enmarca dentro de la línea docente de Redes después de haber cursado la asignatura de "Redes y Servicios" (XS) de primer curso. Por tanto, a PAD se asume que los conceptos básicos de la asignatura de Redes y Servicios (XS) se han alcanzado. Aún así se hace un repaso de los conceptos más importantes para poder aplicar con fluidez y establecer la base conceptual de la asignatura.
La asignatura PAD extiende los conocimientos de las capas superiores de la torre OSI enfocándose en las aplicaciones distribuidas y en las infraestructuras de red que estas aplicaciones necesitan para operar, es decir, se centra mayoritariamente en la capa de aplicación del Modelo OSI. Más concretamente se enfoca en las aplicaciones cliente-servidor desde el punto de vista de las competencias de uso, configuración y mantenimiento de este tipo de aplicaciones. También introduce los primeros conceptos de seguridad en redes en el currículo de grado de informática.
El uso de las aplicaciones de Internet se ha convertido en parte del día a día tan profesional como personal en nuestra sociedad. Así pues, nosotros somos usuarios cotidianos de las aplicaciones que se estudian en la asignatura. Sin embargo, hay que diferenciar el conocimiento general que representa la visión de usuario y el conocimiento técnico que debe tener un profesional en el tema. Así pues, la asignatura debe servir para adquirir la nomenclatura y conocimiento especializado de estas herramientas.
El mundo de las aplicaciones en Internet está cambiando constantemente por lo tanto el objetivo de la asignatura no es conocer las aplicaciones actuales sino aprender los conocimientos necesarios de diseño de aplicaciones utilizando como ejemplo algunas tomadas desde las aplicaciones actuales más importantes. Así pues la asignatura pone especial énfasis en entender la visión de sistema para entender el contexto en el que una aplicación se mueve (opera, diseña y usa), qué infraestructura de red utiliza y cómo se relaciona y saber compaginar conceptualmente y en la práctica todos estos elementos para en un futuro extrapolar a otras aplicaciones o arquitecturas.
La parte práctica no se limita tan sólo a saber instalar y hacer funcionar las aplicaciones sino también entender el concepto de política de uso y saber implantar a partir de las opciones de configuración de la misma. Las prácticas le sitúan como el informático de una empresa responsable de las aplicaciones y servicios de Internet adquiriendo las competencias y habilidades necesarias en esta responsabilidad.
PAD tiene como continuación la asignatura "Desarrollo de aplicaciones distribuidas" (DAD) que trabaja las aplicaciones distribuidas pero en este caso las aplicaciones de tipo peer-to-peer y vistas desde el punto de vista de desarrollo para trabajar las competencias de programación. Los temas de seguridad se amplían en la asignatura optativa "Estrategias de Seguridad en Redes y Servicios" (ESXS) la cual está dedicada exclusivamente a seguridad en la red sobre todos los niveles del modelo OSI. En paralelo a la asignatura de PAD, hay la asignatura de Arquitectura de Redes (AX) que estudia las capas inferiores del modelo OSI.
No tiene.
Competencias transversales | Competencias específicas |
---|---|
Instrumentales C11 Capacidad de razonamiento y abstracción C12 Capacidad de abordar problemas / proyectos de cierta complejidad y envergadura de forma independiente Interpersonal C13 Capacidad de trabajar en equipo Sistemática C14 Iniciativa |
C1 Entender la infraestructura de redes que necesitan las aplicaciones distribuidas para funcionar C2 Entender los conceptos básicos de seguridad en las comunicaciones C3 Entender la funcionalidad del sockets y saber utilizar para poner en práctica comunicaciones en la red C4 Entender la necesidad y funcionalidad del DHCP y saberlo poner en práctica instalando y configurando un servidor DHCP C5 Entender la necesidad de dominios de nombres en la red y saber definir los sub-dominios necesarios en función de las necesidades de un entorno concreto y saberlo poner en práctica instalando y configurando un servidor DNS C6 Entender, saber instalar, saber configurar y saber definir políticas de uso de algunas aplicaciones distribuidas basadas en el modelo cliente-servidor (correo electrónico, http, ftp) C7 Saber identificar el nivel de calidad de servicio que necesita una aplicación y saber entender y saber aplicar las funcionalidades QoS adecuadas C8 Capacidad de mapear conceptos en funcionalidades prácticas de equipamientos o programas C9 Capacidad de entender manuales de usuario, instalación y/o configuración de software (y hardware) C10 Entender el papel y saber ejecutar las responsabilidades del informático de los aplicaciones y servicios de Internet de una empresa. |
La asignatura da el mismo peso a la teoría de que la parte práctica con un 50% de la nota final a cada parte. Además hay actividades adicionales que se realizan suben nota (hasta un 25% más) si la nota final es ya aprobada (> = 5).
Evaluación |
|
|
Teoria (1) |
50% |
|
Examen 1ero bloque (1) |
40% |
|
Examen 2n bloque (1) |
50% |
|
Entrega electrónica resumen de teoria (2) |
10% |
|
Prácticas |
50% |
|
Pràctica 1-6 (1) |
10% |
|
Proyecto final (1) |
20% |
|
Lab performance (individual) Proyecto final (1) |
20% |
|
Total |
100% |
|
Entrega presencial resumen de teoria (2) Actividades opcionales (para subir nota si nota final es >= 5 (3)
|
5% 20% |
125% |
|
|
|
Cada práctica valora |
|
|
Entrega práctica (grupo) (1) |
50% |
|
Examen (escrito) práctica (individual) (1) |
50% |
|
(1) Cal aprobar (mas de un 5) cada una de las partes o prácticas por separado para poder hacer media. |
|
|
(2)Entregas no obligatorias. Hay que participar al menos un 50% de las sesiones/materiales para tener la parte proporcional de esta nota. |
|
|
(3) Se propondrán/aceptarán actividades opcionales que pueden añadir hasta un 20% adicional a la nota final (sube nota sólo si la nota final es ya aprobada) o de la nota de teoría o prácticas en función de la propuesta. |
|
La teoría se evalúa con exámenes dividiendo el temario en dos bloques, y hay que superar cada bloque por separado. El primer bloque se evalúa en el examen parcial y el segundo bloque se evalúa el examen de junio. Ambos bloques tienen un oportunidad de recuperar si se suspende. El parcial se puede recuperar en junio y el examen de junio se puede recuperar en Julio. En julio no hay opción de recuperar el examen parcial ya que sería un tercer intento.
Se espera que todos estudie la teoría a medida que se va dando con el fin de sincronizar los contenidos y aprendizaje de teoría con las prácticas . Por ello se pide elaborar los resúmenes de teoría después de cada sesión y entregar electrónicamente antes de la siguiente sesión . Estos resúmenes de teoría sirven para comenzar la sesión con un repaso del día anterior y por tanto si se llevan impresos en el aula ( presencial ) se valora subiendo la nota final un 5% con el objetivo de motivar la participación de los alumnos presentes en el aula .
La evaluación de prácticas se hace con un examen de prácticas (individual) y la entrega de prácticas en grupo, y hay una valoración individual del alumno en el laboratorio. El examen de prácticas evaluará cada práctica por separado. Así pues cada práctica tendrá una nota formada por el promedio de la nota de grupo de la práctica y la nota individual del examen de la práctica. Habrá aprobar cada práctica de manera independiente para aprobar las prácticas y por tanto la asignatura. La nota de "lab performance" evalúa el conocimiento práctico en el laboratorio a nivel individual de forma oral (demo day).
El trabajo de prácticas (incluido el proyecto final) se realizan en grupo. Los resúmenes de teoría y, lógicamente, los exámenes (teoría y prácticas) se realizan individualmente. Se espera que este trabajo individual sea el resultado del esfuerzo individual de estudio sin pasarse información entre compañeros. Asimismo, se espera que todos los miembros del grupo de prácticas participen en el trabajo de equipo o si no es el caso de que sólo se ponga el nombre de las personas que hayan participado y se informe al profesor de prácticas. No se admitirá la copia de entregas individuales ni la declaración fraudulenta de participación en las entregas de equipo y se actuará de manera contundente en las dos partes (tanto en la persona que copia como la que se deja copiar y sobre todos los miembros de equipo en las entregas de equipo). En cualquiera de estos casos todas las personas involucradas perderán el derecho de nota y se abrirá un expediente.
Sólo los exámenes son pruebas recuperables en julio. El resto de componentes de evaluación es evaluación continua que no son recuperables.
La asignatura se compone de 10 temas que se pueden agrupar en 4 bloques de contenidos tal y como se listan a continuación.
Conceptos básicos de redes
- Conceptos básicos de redes (repaso)
- Modelo cliente-servidor
- Interfaz de sockets
Infraestructura de redes para las aplicaciones distribuidas
- DHCP
- DNS
Ejemplos de aplicaciones cliente-servidor
- Web: HTTP, HTTPS
- Email: SMTP, s/MIME, PGP
- FTP
Conceptos más avanzados de protocolos
- Conceptos básicos de seguridad
- Conceptos de protocolos multimedia: RSVP, RTP
El primer bloque de conceptos básicos de redes incluye un capítulo de repaso de definiciones básicas de redes, para luego entrar en el capítulo de definición del modelo cliente-servidor de aplicaciones de internet y un capítulo más práctico de definición de la interfaz de sockets que define las herramientas para hacer efectiva la comunicación entre dos dispositivos conectados físicamente con un cable y por lo tanto el primer paso para construir una red de comunicación. El segundo bloque de contenidos introduce el concepto de seguridad en red y definiciones básicas que establecen los elementos básicos de un sistema completo de seguridad. El tercer bloque define la infraestructura de internet que hay que establecer para las aplicaciones distribuidas. Esta infraestructura incluye un par de aplicaciones imprescindibles para que las demás puedan funcionar, es decir, hacen de soporte a las otras aplicaciones de usuario. Una aplicación es el DHCP, protocolo de configuración de hosts, que se encarga de encontrar la dirección de un servidor para poderse comunicar. La otra aplicación es el directorio de nombres (DNS) que traduce los nombres (de dispositivos y archivos) a direcciones (numéricas) IP. Estas dos aplicaciones forman una plataforma de apoyo para todas las demás aplicaciones de internet. El cuarto bloque de contenidos estudia un conjunto de aplicaciones distribuidas del modelo cliente-servidor que incluye: la web, el email y el ftp. Estas aplicaciones se han escogido por ser las más básicas y utilizadas pero son un ejemplo de las muchas que existen y que surgirán en un futuro. Se invita a los alumnos a estudiar otras aplicaciones como proyecto. Finalmente, el quinto bloque incorpora elementos más avanzados de protocolos para mejorar el soporte de las aplicaciones multimedia que tienen necesidades más sofisticadas de transporte.
Estos contenidos no se dan necesariamente en este orden y se introducen temas de los diferentes bloques según un orden temático y de actividades que permiten compaginar mejor las sesiones de teoría, seminarios y prácticas.
Con estos contenidos se alcanzan los siguientes conocimientos:
Conceptos |
||
Modelo OSI |
Protocolo |
Encapsulación de datos |
Sub-charcha |
Arquitecturas cliente-servidor y peer-to-peer |
Sockets |
DNS |
Amenazas, ataques |
Confianza en seguridad |
Servicios de seguridad |
Certificados y firmas digitales |
|
Web |
|
Transferencia de fitcheros |
Procedimientos |
Encaminamiento de paquetes vía establecimiento de caminos o vía datagramas |
Criptografia de clave pública y privada |
Cifrado y funciones hash
|
Autenticación |
DHCP |
HTTP(s) |
Instalar y poner en marcha el servidor de una aplicación |
Instalar y poner en marcha un cliente de una aplicación |
Saber configurar una aplicación por un escenario de uso concreto |
Actitudes |
Decisión a la hora de instalar y configurar clientes y servidores
|
Ver el conjunto de parámetros de una configuración como una estrategia pensada |
La asignatura tiene una orientación práctica al enmarcar una gran parte del trabajo independiente de la asignatura en las prácticas y proyecto final. El informe del proyecto debe demostrar el conocimiento conceptual y práctico de las responsabilitiats de un ingeniero como administrador de los servicios de internet de una empresa. Se quiere asegurar que todos adquiera las competencias prácticas aunque se trabaje en grupo.
Los contenidos de esta asignatura pueden ser aplicados de manera diaria para muchos de nosotros y varios de los alumnos pueden tener una fluidez importante en aplicaciones concretas que pueden servir igualmente de ejemplo para consolidar las competencias objetivo de la asignatura. Es por ello que la asignatura tiene una parte optativa con el intento de aglutinar el conocimiento práctico de los diferentes perfiles de los estudiantes en el aula y canalizarlo hacia conocimiento formal. Remarcar, por otra vez, que el objetivo de la asignatura es elevar el nivel de usuario en estas tecnologías a un nivel profesional de grado en ingeniería informática.
Se quiere que cada alumno se haga suya la asignatura en función de su propio perfil y por lo tanto cada uno encuentre su propio marco de cómo consolidar las competencias a alcanzar. Así pues anima a los alumnos a participar en las actividades opcionales ya proponer nuevas actividades para hacer que la asignatura sea más amena, esté al día y se adapte y aproveche las motivaciones y conocimientos previos de los alumnos en el campo objetivo de la asignatura de las aplicaciones (cliente- servidor) de Internet que es tan cotidiano para cualquier profesional hoy en día. Todos nosotros somos usuarios asiduos del correo electrónico, web y ftp y somos usuarios asiduos de otras aplicaciones más nuevas y quizá (transitoriamente) no tan populares.
La asignatura contempla el caso de que vosotros acerque la asignatura a sus intereses y coneixemnts planteando su propio proyecto u otras actividades de estudio relevantes a la asignatura. Para gestionar correctamente estas iniciativas se pone una fecha límite para hacer estas propuestas poco después del parcial (consultar aula global por fecha exacta).
La asignatura se compone de tres tipos de sesiones:
- Sesiones teóricas (T): Estas son sesiones mayoritariamente magistrales donde el profesor explica contenidos pero involucra al alumno en la construcción de los contenidos. Estas sesiones siguen los contenidos de un libro o documento de la bibliografía y se recomienda que el alumno lea estos contenidos de la bibliografía después de la sesión. Los 10 primeros minutos de la siguiente sesión se hace repaso y resolución de dudas de la sesión anterior. Este repaso se hace en base a la participación de los alumnos con sus resúmenes elaborados previamente. El nivel de comprensión es mucho más elevado cuando las propias preguntas vienen formuladas por uno mismo en el proceso de estudio. Así pues los resúmenes son en forma de preguntas y respuestas del contenido. Las dudas por tanto serán las preguntas que no se ha podido formular una respuesta adecuada. Los resúmenes convierten el material de la asignatura en una lista de preguntas (y respuestas) exhaustiva (que incluye todo el temario) y tan larga como sea posible (que englobe no sólo los conocimientos directos sino también la comprensión en diferentes perspectivas y relaciones entre ellos) y son material de estudio para el examen. Estos resúmenes se entregan electrónicamente antes de la sesión pero también se llevan impresos en el aula para comentarlos. La entrega presencial en papel en el aula se valora (sube nota final) ya que son la base de la participación e interacción de los alumnos en las sesiones de teoría. Estas sesiones son de dos horas y se realizan con grupo grande (todos los alumnos, es decir, sólo hay un grupo de teoría).
- Sesiones de prácticas (P): Estas sesiones son todas sobre ordenador o en el laboratorio de redes para poner en funcionamiento, configurar y utilizar conceptos de la asignatura sobre equipamiento o software real. Las prácticas son sesiones de dos horas con la mitad de los alumnos, así pues hay dos grupos de prácticas: P11 y P12. Se trabajan en grupos de 3 alumnos a escoger entre ellos. El enunciado de la práctica se da en una semana de antelación y los alumnos se preparan los pasos a realizar antes de llegar al aula. La práctica se realiza durante la sesión de dos horas con ordenador y se presenta el informe de grupo electrónicamente una semana más tarde (publicada en el aula global). Los anunciados de las prácticas están bastante guiadas donde se dan pautas sobre los pasos a realizar y se pide a los resultados obtenidos paso a paso. Pero también se espera una interpretación y entendimiento de la práctica a más alto nivel pidiendo razonamientos más abiertos de conclusiones. Progresivamente los anunciados intentan ser menos guiados o los apartados de interpretación más completos para llegar a la última práctica que es un proyecto final. El proyecto final tiene un anunciado general sin pasos intermedios a seguir donde los alumnos deben decidir primero el plan de trabajo (pasos a seguir) para elaborarlo. Las pautas más detalladas de trabajo de este proyecto final se dan al final de este sección.
- Sesiones de seminarios (S): Estas sesiones se plantean como sesiones de trabajo y estudio sobre los contenidos con el objetivo de consolidar los conceptos, y procedimientos que se deben adquirir haciendo uso de los resúmenes (de teoría) elaborados en su momento para las sesiones de teoría (o entregados más tarde sólo por los seminarios pero en este caso cuenta un 25% de la nota), o simplemente resolviendo dudas de los alumnos presentes.
Definición y planteamiento del proyecto final. Como se ha dicho anteriormente, el proyecto final es una práctica algo más extendida con un enunciado general sin plantilla estructurada de cómo elaborarlo. Al seguimiento del proyecto final se le dedica 4 sesiones en forma de sesión libre donde cada grupo trabaja su proyecto final y el profesor de prácticas está disponible para resolver dudas. Estas sesiones se realizarán en un aula de ordenadores (siempre que se pueda) para permitir que todos los grupos de prácticas puedan asistir a todas 4 sesiones si quieren. En principio el enunciado del proyecto final es uno e igual para todos los grupos de proyectos , pero los grupos pueden hacer una propuesta de trabajar una aplicación (cliente- servidor) diferente a la propuesta al profesor de prácticas. Es necesario que la propuesta permita trabajar las mismas competencias del proyecto propuesto pero en este caso no se contará con el apoyo de conocimiento específico de la aplicación por parte del profesor de prácticas. El profesor de prácticas informará al grupo si acepta su propuesta como sustitutoria del proyecto estándar. Si el proyecto resultante es de una muy buena calidad se podría llegar a dar una puntuación adicional del 20% respecto el proyecto estándar. Pero si el proyecto no elabora correctamente las competencias mínimas del proyecto estándar se podría tener que realizar igualmente el proyecto estándar. En cualquier caso, la nueva propuesta de proyecto podría servir para subir hasta un 20% la nota de la asignatura. La evaluación del proyecto será mediante la entrega de un informe de proyecto y una demo práctica donde se demuestra la parte práctica del proyecto y donde todos los miembros del grupo deben demostrar la participación y conocimiento del trabajo realizado. Hay que indicar el interés de hacer un proyecto diferente o un proyecto adicional para subir nota en la fecha límite (ver aula global).
Bibliografía básica
[1] Kurose, JF, 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, protocolos and architecture", 5th Edition, 2006, Ed. Prentice Hall.
[3] W. Stallings, Cryptography and Network Security: Principles and Practice, 5th Edition, 2010, Ed. Prentice Hall.
Bibliografía Complementaria
[4] Andrew Tanenbaum, "Computer Networks", 4th Edition, 2003 Pearson Education Inc..