Tema 1. Introducción a las redes de ordenadores
Fundamentos básicos de comunicaciones. Señales analógicas y digitales. Redes de comunicaciones y servicios. Conmutación de circuitos y paquetes. Organización del software en torres de protocolos.
Tema 2. Niveles físico y de enlace
Ancho de banda. Multiplexación. Interfaces físicos y control del enlace de datos. Corrección de errores. Protocolos de parada y espera. Ventanas deslizantes y control de flujo. Punto a punto y broadcast.
Tema 3. Redes de Area Local
Redes de broadcast. Protocolos tipo Aloha. Colisiones y resolución. Redes Ethernet. Parámetros y trama Ethernet. Otros tipos de redes de área local. Token Ring, conmutada, inalámbrica
Tema 4. IP (I)
El protocolo IP. Interconexión de redes. La cabecera IP. ARP. ICMP.
Tema 5. IP (II)
Routers. Enrutamiento estático y dinámico. Tablas de rutas. Multicast.
Tema 6. Niveles de Transporte: TCP/UDP
Servicios ofrecidos por los niveles de transporte. Cabeceras TCP/UDP. Puertos y aplicaciones/servicios. Como funciona TCP. Estados de la conexión. Establecimiento y cierre. Control de errores. Control de flujo. Control de congestión.
Tema 7. El API de sockets
El API de sockets en UNIX. Conceptos básicos y ejemplos. Sockets TCP/UDP. Ejemplos de clientes sencillos.
Tema 8. Clientes y servidores
Recordatorio de programación UNIX. Streams. Clientes y servidores TCP/UDP. Ejemplos.
Tema 9. Servidores concurrentes
Formas de concurrencia en servidores. Servidores iterativos. Servidores concurrentes con select. Servidores concurrentes con fork (o threads). Ejemplos.
Tema 10. Otros APIs para la red
Otros APIs. El API de sockets de Java y ejemplos.
Tema 11. Servicios sobre IP
Internet. Servicios bien conocidos. El sistema de nombres de dominio DNS. Utilizando DNS con el API de Sockets (y el de Java si hace falta)
Tema 12. Servicio Web
HTTP. Ejemplo de clientes y servidores. HTML.
Tema 13. Servicio Mail y otros
POP y SMTP. Ejemplo de clientes. Ejemplos de otros servicios y como utilizan los sockets.
Tema 14. IP avanzado
Opciones avanzadas con sockets. IP multicast. Ejemplos.