Redes y aplicaciones Internet
Servicio: Resolución / Universidad: UOC / Curso 2025/2026 Semestre 2Encarga la Resolución de PACs o PECs UOC
Modalidad Personalizada: 100 €/PAC, 200€/Práctica
Modalidad Compartida: 70€/PAC, 140€/Práctica
Encarga Exámenes Finales
- EX o PF de 2 horas: 👉 ENCARGAR EX
- PS de 1 hora: 👉 ENCARGAR PS
- PR o Práctica Final: 👉 ENCARGAR PR
Tips para resolver tus PACs
Tips para la PAC1 de Redes y aplicaciones Internet
- Domina la estructura de Internet (Pregunta 2) El mayor error es pensar que Internet es una pirámide rígida. Para corregir el texto de marketing, ten claro esto: los Tier-1 no pagan entre sí (Peering Settlement-Free) y empresas como Netflix no dependen de ellos, usan CDNs y conectan directamente en IXPs (como ESPANIX). Analiza las gráficas de tráfico del IXP: ese volumen de datos intercambiados "cara a cara" es la prueba definitiva de que Internet es una red "plana" y malla, no una jerarquía estricta.
- El secreto de los asteriscos en Traceroute (Pregunta 9) Cuando ejecutes el tracert, es normal ver * * * en algún salto intermedio. Muchos estudiantes piensan que hay un fallo en la conexión. ¡Error! Si la traza llega al final, el router está funcionando perfectamente. Los asteriscos significan que el router está configurado para ignorar solicitudes de diagnóstico (ICMP) por seguridad o carga, pero sigue reenviando tus datos. Entender esto demuestra madurez técnica en redes.
- Distingue los retardos: No es lo mismo enviar que viajar (Pregunta 5) Al calcular los tiempos en cables submarinos, no confundas conceptos: Retardo de Transmisión: Es el tiempo para "inyectar" los datos en el tubo (Tamaño / Ancho de banda). Si mejoras la tecnología, este baja. Retardo de Propagación: Es el tiempo de viaje de la luz por el cable (Distancia / Velocidad luz). Este es inmutable a menos que acortes el cable físicamente. Entender esta diferencia es clave para justificar por qué mejorar la electrónica no reduce la latencia física.
- Antes de segmentar, identifica siempre la Dirección de Red base. En el ejercicio 4c, aunque la IP termine en .188, la red real para un prefijo /5 empieza en 16.0.0.0. ¡Si no ajustas el bit de red, toda la tabla de subredes estará mal desde el principio!
- Recuerda que el retardo de transmisión depende del "grosor del tubo" (la velocidad en Mbps/Tbps y el tamaño del archivo), mientras que el retardo de propagación depende de la "longitud del camino" (distancia en km y velocidad de la luz). Por eso, aunque mejores el láser (más Tbps), el bit no viajará más rápido físicamente por el cable.
- El rendimiento extremo a extremo siempre será igual al valor mínimo de todos los enlaces en la ruta. Para identificar el cuello de botella, busca el eslabón más débil; ese componente es el que dicta la velocidad real de la descarga, independientemente de lo rápido que sea el resto de la red.
Tips para la PAC2 de Redes y aplicaciones Internet
- En la Pregunta 3, para saber cuántos servidores ha tocado tu email, lee las líneas Received de abajo hacia arriba. La línea inferior es donde empezó el viaje (el servidor del emisor) y la superior es donde terminó (tu servidor). Analizar esto te dará la respuesta exacta sobre el recorrido del mensaje en 2026.
- Para la Pregunta 7, vincula la teoría con la práctica. Aunque el ISP debe ser neutral, necesita algoritmos como WFQ (Weighted Fair Queuing) para que tu llamada de WhatsApp no se corte mientras descargas un archivo pesado. La clave es justificar cómo se puede priorizar tráfico sin discriminar injustamente a la competencia.
- En la Pregunta 1, recuerda que el modelo iterativo es un "viaje por etapas". El servidor DNS Local no adivina la IP; siempre debe empezar preguntando al servidor Raíz (DNS Root). Si el simulador te marca error, verifica que no estés saltando niveles jerárquicos. El orden lógico es la base de todo el ejercicio.
- Para la Pregunta 10, un error común es pensar que ambos sirven para lo mismo. La clave está en la idempotencia. Pregúntate: "¿Si envío esta petición 10 veces, el resultado en el servidor es el mismo?". Si la respuesta es sí, estás ante un método PUT. Si se crean 10 registros distintos, es un POST.
- Al analizar HTTP/3 (Pregunta 9), no te quedes en que "usa UDP". El secreto para responder bien es explicar QUIC. QUIC corre sobre UDP pero añade por software lo que a UDP le falta: control de congestión y seguridad. Si capturas tráfico con Wireshark, busca el protocolo QUIC, no esperes ver mensajes HTTP planos.
Tips para la PAC3 de Redes y aplicaciones Internet
- Tu cifrado no cuadra? Revisa si estás contando los espacios." La Pista: En la pregunta 1, el enunciado especifica que los espacios y signos de puntuación se mantienen pero NO cuentan para el patrón de repetición. Muchos estudiantes fallan aquí porque avanzan el índice del patrón (C1, C2...) al encontrar un espacio. Recuerda: solo las letras minúsculas del alfabeto inglés hacen avanzar el reloj del cifrado. ¡Ignora los espacios para el patrón, pero déjalos en el texto final!
- Error 401 en tu API? Probablemente sea un carácter invisible." La Pista: Al completar los scripts token.sh, square.sh y div.sh para el DSLab, un error común es incluir caracteres extraños o comas al final de la contraseña en la autenticación básica (-u usuario:password). Si el servidor te devuelve un HTTP 401 Unauthorized, verifica minuciosamente que no haya espacios ni comas después de la contraseña TfM2023. Además, recuerda que square.sh y div.sh reciben el token como argumento ($1), ¡no lo leen directamente del archivo!
- MAC o Hash? La clave secreta lo cambia todo." La Pista: En la pregunta 5, te piden diferenciar MAC de Hash y luego combinar integridad y confidencialidad. La clave conceptual es que el MAC usa una clave compartida (S1) para garantizar autenticación de origen, mientras que el Hash solo garantiza integridad. Para el esquema gráfico, recuerda el orden MAC-then-Encrypt: primero calculas el MAC con S1 sobre el mensaje, concatena ambos, y luego cifra el conjunto completo con la clave simétrica S2. ¡Así proteges tanto el contenido como su firma!
- ¡Ojo con los espacios en el Cifrado Polialfabético! (Pregunta 1) El Tip: Al diseñar tu patrón cíclico (como [C1, C2, C1, C2]), recuerda que los espacios y signos de puntuación se mantienen intactos en el texto cifrado. La Pista: ¡Un error muy común es avanzar el patrón al encontrarse un espacio! Los espacios no consumen elementos del patrón de repetición. Si la tercera letra es un espacio, la cuarta letra del mensaje seguirá aplicando el tercer alfabeto del patrón, no el cuarto. Asegúrate de presentar el resultado final tanto con espaciado como sin él para simular un escenario criptográfico real.
- Confidencialidad vs. Autenticación: No te líes con las claves (Pregunta 2 y 3)El Tip: En criptografía asimétrica, la clave que eliges para operar lo cambia todo. Domina conceptualmente qué se firma y con qué se cifra. La Pista: Para resolver las justificaciones de la PAC, recuerda firmemente dos reglas de oro:Si buscas confidencialidad, el emisor debe cifrar con la clave pública del receptor (ya que solo el receptor posee la privada para descifrarlo). Si buscas autenticación de origen, el emisor debe firmar con su clave privada, y el receptor verificará la firma con la pública del emisor. ¡Una Autoridad de Certificación (CA) jamás firma claves privadas!.
- Desvelando el misterio de los 512 bits y el Padding en RSA (Pregunta 3)El Tip: Cuando hagas las pruebas prácticas en la web de RSA con un tamaño de clave de 512 bits, notarás dos fenómenos extraños al cifrar tu nombre. La Pista: Primero, ¿por qué la salida ocupa siempre 512 bits (88 caracteres en Base64 más el relleno ==) aunque tu nombre sea muy corto? Porque la salida del algoritmo asimétrico siempre se ajusta al tamaño del módulo $n$. Segundo, si vuelves a cifrar exactamente el mismo texto, verás que la cadena cambia por completo. Esto se debe al mecanismo de padding aleatorio (PKCS#1), diseñado para evitar patrones repetitivos que un atacante pudiera explotar. ¡Justificar esto correctamente te dará la máxima puntuación!.
Tips para la Práctica1 de Redes y aplicaciones Internet
- En la pregunta sobre TCP, identifica claramente las 3 fases: SYN → SYN-ACK → ACK para el establecimiento, y FIN-ACK para el cierre. Usa el filtro tcp.port == 443 para aislar tráfico HTTPS. Pista: Busca paquetes donde el puerto destino sea 443 y expande la cabecera TCP para ver los flags activos. Una sesión completa debe mostrar inicio Y fin de comunicación.
- Consulta RFC 7230 para cabeceras HTTP y Computer Networking (8ª ed.) capítulos 2.2 y 2.4 Para las preguntas de HTTP y DNS, estos recursos son imprescindibles. El capítulo 2.2.3 del libro explica el formato de mensajes HTTP (GET, headers, cookies) y el 2.4 detalla los registros DNS (tipo A, AAAA, IN). Pista: Cuando analices una petición GET, expande "Hypertext Transfer Protocol" en Wireshark para ver Accept-Language, Accept-Encoding y Connection.
- Usa filtros específicos de Wireshark para cada protocolo No navegues sin filtros. Para DNS usa dns, para HTTP http.request.method == "GET", para errores HTTP http.response.code >= 400, y para TLS tls. Pista: En la pregunta de estadísticas HTTP, ve a Statistics → HTTP → Packet Counter para ver códigos de error (404, 500) con Count > 0. Si no hay tráfico HTTP plano, genera tráfico local con python -m http.server 8080.
- Domina los filtros de visualización para no perderte: Wireshark captura miles de paquetes en segundos. La clave para responder ágilmente a la Parte 1, 2 y 3 es usar los filtros de visualización. Si te piden analizar DNS, escribe dns en la barra de filtro; si es HTTP, escribe http. Esto aislará el tráfico relevante y te permitirá encontrar las cabeceras específicas (como la del paquete GET o la respuesta 200 OK) sin saturarte de ruido de fondo.
- Usa el "Flow Graph" para entender TCP visualmente: La Parte 2 pregunta por el establecimiento y fin de la conexión TCP. En lugar de ir paquete por paquete, ve al menú Statistics > Flow Graph y selecciona "TCP flow". Esta herramienta dibuja un esquema visual perfecto del "Three-Way Handshake" (SYN, SYN-ACK, ACK) y el cierre de conexión (FIN, ACK). Exportar esa imagen resuelve gran parte del ejercicio de forma clara y profesional.
- La jerarquía de protocolos es tu mapa de ruta: Para la Pregunta 3 de la Parte 1, no intentes explicar la encapsulación de memoria. Ve a Statistics > Protocol Hierarchy. Ahí verás la estructura en árbol (Ethernet -> IP -> TCP -> HTTP). Usar esta captura demuestra que entiendes cómo una capa envuelve a la siguiente, que es el pilar fundamental de las comunicaciones en red.
- Distingue entre conexión segura e insegura en la Parte 4: El objetivo final es ver la diferencia. Para la primera parte de la Pregunta 4, elige una web real (HTTPS) y busca el protocolo TLS (el candado verde); notarás que los datos son ilegibles. Para la última pregunta, conecta a la web del laboratorio (gaia.cs.umass.edu...) por HTTP simple. Al filtrar por http y buscar la cabecera Authorization: Basic, verás el usuario y contraseña en texto plano. El contraste entre ambas capturas es la clave para obtener la máxima puntuación (A).
Tips para la Práctica2 de Redes y aplicaciones Internet
- Dominio de Sockets UDP (Parte 1): La clave está en el puerto. Para que el cliente construya correctamente el mapa completo, es fundamental que en el servidor (UDPservidorMain) configures bien los puertos (5836 y 5838) como parámetros de ejecución. En la clase RemoteMapUDPclient, asegúrate de que el método get abra y cierre correctamente el socket tras cada consulta para no agotar los recursos del sistema.
- Precisión en el Protocolo HTTP (Parte 2): El detalle del CRLF. Al programar el mini-cliente HTTP para la petición OPTIONS, no olvides incluir obligatoriamente las cabeceras Accept y Host; sin ellas, la petición será rechazada. Además, cada línea de la petición debe finalizar estrictamente con los caracteres CRLF (rn); de lo contrario, el corrector automático DSLab marcará el ejercicio como fallido.
- Configuración de Media Types en REST (Partes 3 y 4): Es vital diferenciar el formato de respuesta según la operación. Para la comparación de palabras (equals), el Media Type debe ser text/plain. Sin embargo, para las operaciones avanzadas como toCharArray y stats, es obligatorio devolver un application/json. Un error en el tipo de contenido impedirá que el cliente procese los datos.
- No te confundas con el CRUD básico. Para identificar los comandos, piensa en las acciones que alteran el estado del sistema (como "dar de baja un producto" o "matricularse en un curso"). Recuerda la restricción del enunciado: un producto solo se puede dar de baja si no está comprometido. Esto define una precondición crítica para tu comando. ¿Lo tienes controlado?
- Tu diseño debe tener un núcleo (dominio) aislado. Imagina que el "Servicio de Cursos" es el centro del hexágono. ¿Quiénes están en los puertos y adaptadores externos? Piensa en el LMS externo y en los alumnos. Asegúrate de definir claramente quién es el adaptador "primario" (quien llama al servicio) y el "secundario" (a quien llama el servicio).
- Evalúa si necesitas un Orquestador o una Coreografía de servicios. Si el sistema debe notificar a un administrador para aprobación antes de notificar al alumno, hay un flujo de estados que gestionar. El patrón Saga podría ser tu mejor aliado para mantener la consistencia sin bloquear el sistema.
- Para que el cliente construya correctamente el mapa final, no basta con recibir los datos. La clave está en el método get de la clase RemoteMapUDPclient.
- No olvides las cabeceras críticas en HTTP (Parte 2) Un error común en el mini-cliente HTTP es enviar una petición incompleta. Para que el servidor acepte tu petición OPTIONS, es obligatorio incorporar las cabeceras Accept y Host. Si omites alguna de estas, la petición será marcada como incorrecta por el servidor, impidiendo que visualices la respuesta por pantalla.
- Mucho ojo con el formato del protocolo HTTP. El estándar exige que cada línea de la petición (y de las cabeceras) finalice con los caracteres CRLF (rn). Si usas solo un salto de línea simple, la corrección automática en DSLab fallará, aunque el contenido de tu mensaje sea teóricamente correcto.
Tips para la Práctica3 de Redes y aplicaciones Internet
- La Importancia del Parámetro hls_path "Configurar el streaming es solo la mitad del trabajo. Una de las preguntas clave de la PAC gira en torno a definir correctamente la ruta hls_path. ¡Ojo! Asegúrate de que la carpeta especificada en el archivo nginx.conf tenga permisos de escritura, de lo contrario, el servidor no podrá guardar los segmentos de video (.ts) y tu stream fallará."
- No olvides el bloque http "¿Puedes ver el stream en VLC pero la web no carga? Probablemente te falta configuración. Muchos estudiantes activan el módulo RTMP pero se olvidan de configurar el bloque http {} en Nginx para servir los archivos. Recuerda: el cliente necesita descargar los archivos .m3u8 o .mpd vía HTTP, no solo recibir datos por el puerto 1935."
- Diferencia de Paquetes (HLS vs DASH) "Para el análisis con Wireshark, fíjate bien en el 'Campo URI'. No te confundas: Si ves peticiones GET a archivos que terminan en .m3u8, estás ante HLS. Si las solicitudes van hacia un archivo .mpd, estás ante DASH. Saber identificar estas extensiones en la captura de red es vital para responder correctamente al análisis de protocolos."
Tips para la Práctica4 de Redes y aplicaciones Internet
- En el Ejercicio 1, no basta únicamente con generar el hash ejecutando sha256sum. La clave del ejercicio reside en localizar el hash oficial publicado por el desarrollador (por ejemplo, en la web de releases de Ubuntu) y compararlo carácter por carácter con la salida de tu terminal. Si ambos coinciden, se garantiza matemáticamente que la ISO no ha sido alterada ni corrompida durante la descarga.
- Es crucial no confundir la sintaxis entre los diferentes tipos de cifrado en GnuPG. Para el cifrado simétrico (Ejercicio 2) se utiliza el parámetro -c. Sin embargo, para el cifrado asimétrico (Ejercicio 5), se debe usar --encrypt --recipient [correo].
- En el Ejercicio 8, el error más común es que el servicio web colapse al intentar reiniciarlo. La clave para evitarlo es respetar el orden de las dependencias: es obligatorio habilitar primero el motor criptográfico (sudo a2enmod ssl) antes de intentar habilitar el sitio web virtual seguro (sudo a2ensite default-ssl). Si el motor no está activo, Apache será incapaz de interpretar las directivas del certificado y fallará.
- En el Ejercicio 1, calcular el código de la ISO no es suficiente. La recomendación clave es buscar siempre en la web oficial del desarrollador el archivo SHA256SUMS. Solo si el código de tu terminal y el del desarrollador coinciden al 100%, puedes garantizar que tu archivo no está corrupto.
- Para superar los Ejercicios 5 y 6 sin atascarse, es vital recordar una regla de oro del cifrado asimétrico: siempre se encripta con la clave pública de la persona que va a recibir el archivo. Si lo cifras con la tuya propia, tu compañero nunca podrá abrirlo.
- En el Ejercicio 8, un error muy común es intentar habilitar el sitio seguro (a2ensite) y que el servidor devuelva un error. El truco está en habilitar primero el módulo de cifrado (a2enmod ssl), ya que sin ese motor activo, Apache no entiende las directivas de seguridad del archivo de configuración.