Arquitectura de Redes

Grado en Ingeniería Informática

 

Curso 2020-2021

 

 

 

Actualizaciones de última hora

 

En esta sección se colocarán los avisos, materiales, notificaciones, modificaciones, etc, que no sea posible comunicar directamente en el aula o el laboratorio, o que se considere pertinente añadir una vez comenzada la asignatura.












Organización
de la asignatura

 

 

 

Profesorado

 

Raúl Durán Díaz

Despacho N244

raul.duran(arroba)uah.es

 

Juan Ignacio Pérez Sanz

Despacho E322

nacho.perez(arroba)uah.es

 

José Miguel Ruiz Delgado

Despacho N247

josemiguel.ruiz(arroba)uah.es

 

Organización de la Asignatura

 

Programa del curso

 

Bloque 1. Redes de computadoras e Internet

 

  1. Introducción a Internet.
  2. La frontera de la red.
  3. El núcleo de la red.
  4. Retardos, pérdidas y tasa de transferencia en las redes de conmutación de paquetes.
  5. Capas de protocolos y sus modelos de servicio.
  6. Ataques a las redes.
  7. Historia de Internet y de las redes de computadoras.

 

 

Bloque 2. La capa de aplicación

 

  1. Principios de las aplica ciones de red.
  2. La Web y HTTP.
  3. Transferencia de archivos: FTP.
  4. Correo electrónico en Internet.
  5. DNS: servicio de directorio de Internet.
  6. Aplicaciones P2P.
  7. Programación de sockets con TCP.
  8. Programación de sockets con UDP.

 

 

Bloque 3. La capa de transporte

 

  1. La capa de transporte y sus servicios.
  2. Multiplexación y demultiplexación.
  3. Transporte sin conexión: UDP.
  4. Principios de un servicio de transferencia de datos fiable.
  5. Transporte orientado a la conexión: TCP.
  6. Control de flujo.
  7. Principios del control de congestión.
  8. Mecanismo de control de congestión de TCP.

 

Laboratorio

 

 

 

 Evaluación

 

  1. El método de evaluación principal utilizado es el de evaluación continua. Sólo en aquellos casos que contempla la normativa vigente se aplicará el método de evaluación por prueba final. 
  2. Las pruebas que conforman la evaluación continua no serán tenidas en cuenta para aquellos alumnos que las realicen  en un grupo distinto a aquel al que han sido asignados. Esto será así tanto para las pruebas en gran grupo como para las pruebas en grupo reducido.
  3. La asignatura sigue por omisión el método de evaluación continua. Los criterios serán los siguientes:
  4. Conforme a lo establecido legalmente, el alumno puede solicitar la exención del procedimiento de evaluación continua. En caso de que al alumno se le conceda, tendrá derecho a un examen final, de acuerdo con la Normativa reguladora de los procesos de evaluación de los aprendizajes.
  5. La evaluación por prueba final, una vez aprobada la solicitud, constará de una parte teórica (70% de la nota final) y una parte de laboratorio (30% de la nota final).
  6. Las fechas reservadas para las pruebas parciales de teoría y de laboratorio serán publicadas con suficiente antelación.
  7. Con respecto a la evaluación en convocatoria extraordinaria, su estructura, contenidos y filosofía serán análogas a las de la prueba final.

 

 

Bibliografía

 

    1. J. Kurose & K.W. Ross. Redes de Computadoras: un Enfoque Descendente (7ª edición traducida). Pearson Educación, 2010.
  1. Andrew S. Tanenbaum. Redes de computadoras. 4a edición. Prentice Hall, 2003.
  2. William Stallings. Comunicaciones y Redes de Computadores. 7a edición. Prentice Hall, 2004.
  3. Dimitri Bertsekas, Robert Gallager. Data Networks. Second edition. Prentice-Hall, 2003.
  4. F. Halsall. Redes de computadoras e Internet. 5ª edición traducida. Pearson Educación, 2006.
  5. James F. Kurose, Keith W. Ross. Computer networking: a top-down approach. Seventh edition. Addison-Wesley, 2009.
  6. Andrew S. Tanenbaum. Computer networks. Fourth edition. Prentice Hall, 2003.
  7. William Stallings. Data and Computer Communications. Ninth edition. Prentice Hall, 2010.
  8. W.RichardStevens.TCP/IPIllustrated,Volume1:TheProtocols.First edition.Addison- Wesley, 1994.
  9. W. Richard Stevens. UNIX network programming, Volume 1: The Sockets Networking API. Third edition. Addison-Wesley, 2004.
  10. W. Richard Stevens. UNIX network programming, Volume 1: Networking APIs sockets and XTI. Second edition. Prentice Hall, 1998.
  11. Francisco Manuel Márquez García. UNIX programación avanzada. 3a edición. Ra-Ma, 2004.
  12. Paul Deitel, Harvey M. Deitel. C: how to program. Sixth edition. Prentice Hall, 2009.


Material Docente

Diapositivas 
   
Colecciones de ejercicios (PDF)
  1. Tema 1
  2. Tema 2
  3. Tema 3
 
 Examen tipo (PDF)
   
 Examen tipo Laboratorio (PDF)
 
 Máquina Virtual.
Se ha creado una Máquina Virtual para Virtual Box con el entorno de trabajo del laboratorio. Se trata de la distribución de Ubuntu 18.04, y es de utilidad especialmente para las prácticas 2 y 4, que requieren programación con sockets. Los pasos para instalarla en el propio equipo (con entorno Windows) son los siguientes:

  1. Descargar e instalar la aplicación VirtualBox. Se trata de una aplicación gratuita que proporciona un entorno de virtualización muy potente.

    Nota importante: Hemos visto que es imprescindible descargar e instalar también el ‘Oracle VM VirtualBox Extension Pack’ ofrecido desde la página ‘Downloads’. De lo contrario, algunas opciones no funcionarán (por ejemplo, no será accesible para la máquina virtual el puerto USB de la máquina anfitrión).

  2. Descargar esta máquina Ubuntu preparada por nosotros. Se trata de un fichero en formato ‘Open Virtualization Format’ preparada para ser importada.

  3. Arrancar la aplicación Virtual Box y en el menú de ‘Archivo’ elegir la opción de ‘Importar servicio virtualizado‘. Nos pedirá el fichero que contiene ese servicio y nosotros le diremos justo el que acabamos de bajarnos. Elegimos una carpeta para colocar la máquina virtual y aceptamos todo. Finalmente, nos crea una máquina Ubuntu que podemos iniciar desde el menú.

    Al arrancar la máquina, nos encontramos con una ventana que es completamente análoga a la que nos presentan las máquinas del laboratorio.

    • Nota para usuarios de Linux: Si vuestra máquina anfitrión tiene sistema operativo Linux, debéis hacer una operación adicional para conseguir que el puerto USB de vuestro portátil sea visible desde dentro de la máquina virtual. Esta operación consiste en añadir el usuario Linux bajo el que estéis trabajando al grupo de usuarios vboxusers. Suponiendo que vuestro usuarios es nombre_usuario_linux, debéis teclear en un terminal este comando:

            sudo usermod -a -G vboxusers nombre_usuario_linux
      
      y después reiniciar el portátil. Cuando entréis de nuevo a la máquina virtual, podéis poner un “pincho” en el puerto USB y en el menú ‘Dispositivos’ os presentará la posibilidad de activarlo (por defecto, suele estar desactivado).

      En principio, para Windows® no hay que hacer nada si se ha instalado el ‘Oracle VM VirtualBox Extension Pack’, tal como se explicó más arriba.