taiage-jsp/apuntes/bloque4/tema8_apuntesclase.md

8.1 KiB

8. Internet: arquitectura de red. Origen, evolución y estado actual. Principales servicios. Protocolos HTTP, HTTPS y SSL/TLS.

Puerto Protocolo Función
80 HTTP Navegación web sin cifrado.
443 HTTPS Navegación web cifrada.
8080 HTTP alternativo Proxies, servidores web secundarios.

Organizaciones de internet

  • IANA: asigna números de puerto
  • ICANN: gestiona nombres de dominio
  • IETF: desarrolla protocolos de internet
  • W3C: estándares web (World Wide Web Consortium) (HTML, CSS, XML, etc.)
  • Internet Society: promoción y educación sobre internet

Modelo de interconexion entre operadores

  • Interconexión de redes: peering, transit
  • Tier:
    • Tier 1: proveedores globales (AT&T, Verizon, NTT)
    • Tier 2: proveedores regionales
    • Tier 3: proveedores locales

FQDM: Fully Qualified Domain Name (Nombre de Dominio Completamente Calificado)

  • Ejemplo: www.ejemplo.com
  • Estructura: subdominio.dominio.tld (top-level domain)
  • DNS: sistema de nombres de dominio, traduce nombres a direcciones IP

Resolvers

Intermediarios que consultan el DNS para resolver nombres de dominio a direcciones IP.

Dominios de primer nivel (TLD)

  • Genéricos (gTLD): .com, .org, .net
  • Geográficos (ccTLD): .es, .fr, .uk
  • Patrocinados (sTLD): .edu, .gov, .mil

Dominios .es: Gestión por ESNIC, registro de dominios .es, requisitos y proceso de registro.

  • Dominio especial: .arpa (Address and Routing Parameter Area), utilizado para infraestructura de red, como DNS inverso.

Servidores DNS

  • Servidores autoritativos: almacenan registros DNS para un dominio específico.
    • Primary (master): fuente principal de datos DNS.
    • Secondary (slave): copia de seguridad del servidor primario.
  • Servidores cache: almacenan temporalmente respuestas DNS para acelerar futuras consultas.
  • RR: Resource Record, registro de recursos en DNS, contiene información sobre un dominio (A, AAAA, CNAME, MX, etc.)
  • Tipos de consulta DNS:
    • Recursive: el resolver consulta a otros servidores DNS hasta obtener una respuesta definitiva.
    • Iterative: el resolver devuelve la mejor respuesta que tiene, sin consultar a otros servidores.

Servicios de internet

  • scp

  • ssh: acceso remoto seguro

    • authentication: contraseña, clave pública/privada
    • Clientes: PuTTY, OpenSSH
  • Servicios multimedia: streaming de video (YouTube, Netflix), música (Spotify), videoconferencia (Zoom, Skype)

    • Codex: H.264, VP9, AV1
  • RTP (Real-time Transport Protocol): protocolo de transporte en tiempo real para multimedia

  • SIP (Session Initiation Protocol): protocolo de señalización para establecer sesiones multimedia

  • RTSP (Real Time Streaming Protocol): protocolo para controlar la transmisión de multimedia

  • UDP (User Datagram Protocol): protocolo de transporte sin conexión, utilizado para aplicaciones en tiempo real como streaming y juegos en línea

  • VOIP (Voice over IP): tecnología para transmitir voz a través de internet, utiliza protocolos como SIP y RTP

    • SIP: protocolo de señalización para establecer, modificar y finalizar sesiones multimedia
    • RTP: protocolo de transporte para transmitir audio y video en tiempo real
  • HTTP (Hypertext Transfer Protocol): protocolo de transferencia de hipertexto, base de la web

    • Mensajes:
      • 1xx: Informativo
      • 2xx: Éxito
      • 3xx: Redirección
      • 4xx: Error del cliente
      • 5xx: Error del servidor
  • HTTPS (HTTP Secure): versión segura de HTTP, utiliza SSL/TLS para cifrado

    • SSL (Secure Sockets Layer): protocolo de cifrado obsoleto, reemplazado por TLS
    • TLS (Transport Layer Security): protocolo de cifrado actual, proporciona confidencialidad e integridad de datos
      • Handshake: proceso de establecimiento de conexión segura, intercambio de claves y autenticación
      • Certificados digitales: utilizados para verificar la identidad del servidor, emitidos por autoridades certificadoras (CA)
  • HSTS (HTTP Strict Transport Security): política de seguridad que obliga a los navegadores a usar HTTPS en lugar de HTTP para un dominio específico.

    • Man-in-the-middle (MITM): ataque donde el atacante intercepta y posiblemente altera la comunicación entre dos partes sin que estas lo sepan. HSTS ayuda a prevenir este tipo de ataques al forzar el uso de HTTPS.
      • Integridad:
        1. MAC (Message Authentication Code): código de autenticación de mensaje, utilizado para verificar la integridad y autenticidad de los datos.
        2. AEAD (Authenticated Encryption with Associated Data): cifrado que proporciona confidencialidad e integridad en un solo paso, utilizado en TLS 1.3.
    • Man-in-the-middle (MITM): ataque donde el atacante intercepta y posiblemente altera la comunicación entre dos partes sin que estas lo sepan. HSTS ayuda a prevenir este tipo de ataques al forzar el uso de HTTPS.

    Master secret: secreto compartido derivado durante el handshake de TLS, utilizado para generar claves de cifrado y autenticación.

    Claves de sesión: claves temporales generadas a partir del master secret, utilizadas para cifrar la comunicación durante una sesión TLS.

    Activar cifrado: se activa durante el handshake de TLS, después de que se han intercambiado las claves y se ha verificado la identidad del servidor.

    Versiones de HTTP:

    • HTTP/1.0: versión inicial, sin soporte para conexiones persistentes
    • HTTP/1.1: versión tradicional, utiliza conexiones persistentes y pipelining
    • HTTP/2: versión moderna, utiliza multiplexación y compresión de encabezados
    • HTTP/3: versión más reciente, utiliza QUIC como protocolo de transporte en lugar de TCP, mejora la latencia y la seguridad

Protocolo LDPA (Lightweight Directory Access Protocol): protocolo para acceder a servicios de directorio, utilizado para gestionar información sobre usuarios, grupos y recursos en una red.

Identificadores de recursos:

  • URI (Uniform Resource Identifier): identificador genérico para recursos, puede ser un URL o un URN.
  • URL (Uniform Resource Locator): tipo de URI que especifica la ubicación de un recurso en la red, incluye el esquema (http, https), el host y la ruta.
    • Protocol: http, https, ftp, etc.
    • Host: dominio o dirección IP del servidor
    • Path: ruta específica del recurso en el servidor
  • URI (Uniform Resource Identifier): identificador genérico para recursos, puede ser un URL o un URN.
  • URN (Uniform Resource Name): tipo de URI que identifica un recurso por su nombre, sin especificar su ubicación. Ejemplo: urn:isbn:0451450523

SoC (System on a Chip): integración de todos los componentes de un sistema informático en un solo chip, utilizado en dispositivos móviles y embebidos.

IoT (Internet of Things): red de dispositivos físicos conectados a internet, que pueden recopilar y compartir datos. Ejemplos: hogares inteligentes, ciudades inteligentes, salud conectada.

Servicios de transferencia de archivos:

  • FTP (File Transfer Protocol): protocolo de transferencia de archivos tradicional, utiliza puertos 20 y 21, no cifrado.
    • Codigos de respuesta FTP:
      • 1xx: Informativo
      • 2xx: Éxito
      • 3xx: Redirección
      • 4xx: Error del cliente
      • 5xx: Error del servidor
  • SFTP (SSH File Transfer Protocol): protocolo de transferencia de archivos seguro, utiliza SSH para cifrado y autenticación, puerto 22.
  • FTPS (FTP Secure): extensión de FTP que utiliza SSL/TLS para cifrado,puertos 990 (control) y 989 (datos).
  • TFTP (Trivial File Transfer Protocol): protocolo de transferencia de archivos simple, sin autenticación ni cifrado, utiliza UDP puerto 69.
  • GET: método HTTP para solicitar un recurso del servidor.
  • POST: método HTTP para enviar datos al servidor, utilizado en formularios y APIs.
  • PUT: método HTTP para actualizar o crear un recurso en el servidor.
  • DELETE: método HTTP para eliminar un recurso del servidor.
  • SCP (Secure Copy Protocol): protocolo de transferencia de archivos seguro, utiliza SSH para cifrado y autenticación, puerto 22.
    • Modo activo: el cliente abre un puerto para recibir datos del servidor.
    • Modo pasivo: el servidor abre un puerto para enviar datos al cliente, utilizado para evitar problemas de firewall.
  • Telnet: protocolo de acceso remoto sin cifrado, utiliza puerto 23, no recomendado por razones de seguridad.